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