RGB/YUV/YCbCr--关于显示,颜色你需要了解的一些事
工作中常聽說RGB/YUV/YCbCr 這樣一些名詞,概念上似乎很混淆?這里是一個(gè)簡(jiǎn)介,部分內(nèi)容來自wiki,理解不對(duì)的地方歡迎指正。
?
?
A:首先兩個(gè)基本概念:
Color model和Color Space.
1.?Color Model: 為了表達(dá)人眼觀察到的顏色,人們從數(shù)學(xué)模型上定義了一系列不同的color model,我們常見的有RGB,CMYK,YUV,YPbPr/YCbCr。
2.?Color ?Space:為了把這樣的Color Model數(shù)學(xué)模型投射到相應(yīng)的數(shù)學(xué)表達(dá),根據(jù)對(duì)于顏色數(shù)據(jù)的不同處理方式,存儲(chǔ)格式等等,產(chǎn)生了不同的Color Space。
本文主要介紹Color Model。Color Space常常涉及到許多具體的數(shù)學(xué)操作。兩者在概念上有時(shí)候也會(huì)混淆一談,倒也無所謂,基本上只有行業(yè)內(nèi)人士才需要嚴(yán)格區(qū)分概念。
詳細(xì)可以參考wiki:?http://en.wikipedia.org/wiki/Color_space
?
?
B: 常用的Color Model簡(jiǎn)介:
http://en.wikipedia.org/wiki/Color_models
- RGB在計(jì)算機(jī)顯示中廣泛采用(比如LCD,LED),其原色(Primary color)為RGB,是一種加性color model。意思是它是用哪幾種光源來投射合成顏色的。幾種光源(在純黑背景上)被混合在一起。也有采用RGBA格式(GPU里面), Alpha代表透明度。
- CMYK在印刷工業(yè)中廣泛使用,其原色(Primary color)為?cyan,?magenta,?yellow,?key?(black)。是一種減性color model。意思是它是用幾種墨水混合來表達(dá)被(白色背景)反射出來的顏色,以合成人眼需要識(shí)別的顏色。
- YIQ在?NTSC?電視系統(tǒng)里面廣泛使用。Y為亮度信息,IQ為色度信息。
- YUV在PAL電視系統(tǒng),以及很多Video 捕捉系統(tǒng)里面使用。Y為亮度信息,UV為色差(Chroma)信息。U/V分別等于blue–luminance/red–luminance。
注:Y’UV vs YUV
(1)Y表示輝度信息(luminance)—或者說是亮度的感知信息
(2)Y’ 表示亮度(Luma)信息—或者說是電子化的亮度信息(和顯示系統(tǒng)的硬件信號(hào),比如電壓直接相關(guān)),
(3)因?yàn)槿搜蹖?duì)于亮度的感知與實(shí)際的顯示亮度不是成正比關(guān)系的,并不是說亮度增加一倍,人眼感知的亮度就會(huì)增加一倍,二者之間有非線性的關(guān)系。這個(gè)裝換就是Gamma矯正。http://en.wikipedia.org/wiki/Gamma_compression
- YPbPr/YCbCr: 是YUV坐標(biāo)歸一化后的一種color model,視頻系統(tǒng)里面廣泛采用。YPbPr是YCbCr的模擬版本,二者實(shí)際上是一回事,只是用于模擬和數(shù)字格式而已。
?
C:各種顏色模式之間的恩恩怨怨:
- YIQ和YUV之間的關(guān)系:?YIQ color space 相對(duì)YUV color space旋轉(zhuǎn) 33°。
- YUV與YPbPr/YCbCr:歷史上,YUV被用于電視系統(tǒng)PAL (NTSC里面使用YIQ,是YUV color space的變種,見上文 )的顏色信號(hào)的模擬編碼;YPbPr/YCbCr 則被用于視頻和靜態(tài)圖像處理系統(tǒng)中的顏色編碼(例如MPEG/JPEG)。如今,隨著兩種系統(tǒng)在網(wǎng)絡(luò)時(shí)代的融合,YUV常常被混用于描述被YCbCr編碼之后的文件格式 (比如,從ISP輸出的數(shù)據(jù)格式)。
- 在DVD時(shí)代,很多DVD廠商拿YPbPr來表達(dá)“逐行掃描”,YCbCr來表達(dá)“隔行掃描”,這里無論YPbPr還是YCbCr都是和CRT的掃描方式有關(guān),都是模擬信號(hào)--其實(shí)和Color model完全不是一碼事。屬于偷換概念。
?
D:實(shí)際應(yīng)用舉例
現(xiàn)在移動(dòng)終端中常用到的Camera Sensor,Spec.一般會(huì)指明支持哪些Color format.常常看到類似RGB,或者RGB888,YUV,或者YUV422,YUV420之類的輸出格式表示:
RGB888:指的是輸出信號(hào)用RGB格式,RGB的顏色深度均為8(即一個(gè)Pixel的顏色需要3X8=24bit來表示)。傳統(tǒng)上有人稱為RGB接口,并口,PPI口(輸出簡(jiǎn)單,就是8或者16或者24根信號(hào)線)等等。不過MIPI口也是可以支持的。
RGB 格式的缺點(diǎn)是三種顏色的權(quán)重是類似的,因此信息很難壓縮也不適合在帶寬受限系統(tǒng)中傳輸—但是很適合pixel-by-pixel的畫圖板式操作,所以在顯示系統(tǒng)里面被大量使用—比如Mobile display。對(duì)于
YUV422: 比較傳統(tǒng)的YUV格式是YUV444,表示每個(gè)YUV分量均由4bit來表示。不過,猶豫人眼對(duì)于亮度信息(Y)的敏感度大于對(duì)于色度信息(UV)的敏感度,因此為了減少信息帶寬,在對(duì)于視覺要求不高的應(yīng)用中,部分色度信息可以被減少—稱為色度抽樣(Chroma subsampling),這樣就有了YUV422,甚至是YUV420。
http://en.wikipedia.org/wiki/Chroma_subsampling
RAW data:
RAW data在影像學(xué)上只是一種概念,沒有統(tǒng)一的標(biāo)準(zhǔn),其基本思想是把原始的圖像數(shù)據(jù)用盡可能靠近sensor感光輸出的信號(hào)儲(chǔ)存起來供后續(xù)處理。相對(duì)比較通用的RAW格式為DNG (Adobe). 對(duì)于移動(dòng)設(shè)備中常用的CMOS sensor,多數(shù)不提供RAW data的輸出(這一般是單反的feature)。一般會(huì)用Bayer格式,這個(gè)名字來自Bayer 濾鏡,指的是一束光線投射到sensor上并產(chǎn)生相應(yīng)的輸出信號(hào)的透鏡。輸出的格式通是RGBG,GRGB or?RGGB.之所以有兩個(gè)G分量,一方面最小的感光面用矩形在幾何上比較好安排(因此有4個(gè)感光分量),另一方面人眼對(duì)于綠色的敏感度更高一些。
http://en.wikipedia.org/wiki/Bayer_filter
http://en.wikipedia.org/wiki/Raw_image_format
總結(jié)
以上是生活随笔為你收集整理的RGB/YUV/YCbCr--关于显示,颜色你需要了解的一些事的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mybatis-代码走查问题整理
- 下一篇: 算法九——回溯算法