摘要:先來個小測試,,您看封面圖的數(shù)字是5還是2?這個是色盲測試的題目,。其原理在于我們的眼中用來分辨顏色的錐狀細(xì)胞的差異,,錐狀細(xì)胞通過對三原色的感知來識別萬色萬物,,而機(jī)器中是怎么樣識別的呢?
我們這樣看著世界
人們都知道,,把大象放進(jìn)冰箱需要三步,,而人眼把世界放進(jìn)大腦也可簡單分為三步:眼球感應(yīng)到像(傳感器采集并轉(zhuǎn)換成數(shù)字信號)——轉(zhuǎn)成神經(jīng)信號傳到大腦(通過通訊系統(tǒng)將信號傳到處理器)——大腦處理并存放(處理器轉(zhuǎn)化成屏幕可顯示與存儲的格式)。
所以,,人眼開始看到的圖像格式由光信號轉(zhuǎn)化成了神經(jīng)中的電信號與化學(xué)信號,,傳播格式已經(jīng)不同了!
機(jī)器也是要轉(zhuǎn)換的,。
1.1 大腦里的格式——RGB圖像格式
首先,,屏幕是由一個個像素點(diǎn)組成的,里面絢麗的色彩也就只是出自像素點(diǎn)上紅(Red),、綠(Green),、藍(lán)(Blue)三原色而已,這種色彩的表示方法稱為RGB色彩空間表示(它也是多媒體計(jì)算機(jī)技術(shù)中用得最多的一種色彩空間表示方法),,如下圖所示:
圖1
根據(jù)三基色原理,,任意一種色光F都可以用不同分量的R、G,、B三色相加混合而成,。如公式 1.1所示。
公式 1.1 三基色原理
白光是多種光的混合,,所以當(dāng)三基色系數(shù)最大時為白色,,零時為黑色,而介于兩者間的就是世間百色了,。
每個像素點(diǎn)就像一個顏料盒,,盒子越大,裝的色彩種類越多,,則這個像素點(diǎn)能表達(dá)的色彩越豐富,,而這個盒子的大小在電腦里叫做存儲空間,調(diào)色的方式則是改變?nèi)?,下面的表越往下,,所需要的存儲空間越大,但每個像素點(diǎn)能描述的顏色越準(zhǔn)確,,屏幕的畫面也就越逼真,。
RGB常見的格式如表 1.1所示,不用詳細(xì)看,,留著以后查就好,。
1.2 眼球上的格式——YUV圖像格式
與RGB視頻信號傳輸相比,,YUV最大的優(yōu)點(diǎn)在于只需占用極少的帶寬(RGB要求三個獨(dú)立的視頻信號同時傳輸),兩種格式對帶寬的占用量噸位差異如下圖一般,,RGB占用的帶寬要大得多,。
圖2
所以我們存儲的時候?yàn)榱斯?jié)約空間(偷工解料?),、方便打包就用了亮度信號Y和兩個色差信號R-Y(紅色-亮度,,即U)、B-Y(藍(lán)色-亮度,,即V)分別進(jìn)行編碼,,然后發(fā)出去,到了顯示終端再轉(zhuǎn)換回RGB格式,,這種色彩的表示方法就是所謂的YUV色彩空間表示,。這時候也許你會問“咦,G(綠色)哪去了”,,其實(shí)兩種顏色加亮度也能通過算法大致表達(dá)出原本的顏色(果然偷工減料),,所以就算是融合進(jìn)R和B里了。
難道只為了省點(diǎn)帶寬所以我們就義無反顧選擇了YUV格式嗎,?
當(dāng)然不是,!好吧,雖然低帶寬也很重要,。
采用YUV色彩空間更重要在于它的亮度信號Y和色度信號U,、V是分離的,這樣分開的好處就是不但可以避免相互干擾,,還可以降低色度的采樣率而不會對圖像質(zhì)量影響太大,。如果U、V為零,,就沒有顏色,,變成黑白電視了。當(dāng)然,,Y也是一個重要參數(shù),,其實(shí)平時我們看一個顏色深淺是很不一樣的,而深淺取決于亮度Y,,Y的影響如下圖示,。
圖3
下面只介紹一種YUV格式,大家觸類旁通,。
1) YUV 4:2:2
4代表存放流碼中有4個Y,,2表示存放流碼中有2個U色差值,第二個2表示存放流碼中有2個V色差值。
下面的四個像素為:[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
存放的碼流為:Y0 U0 Y1 V1 Y2 U2 Y3 V3
映射出像素點(diǎn)為:[Y0 U0 V1] [Y1 U0 V1] [Y2 U2 V3] [Y3 U2 V3]
圖4
上圖是YUV4:2:2的采樣網(wǎng)絡(luò),,燈光樣例(Y)用叉表示,,色度樣例(U、V)則用圈表示,。每個點(diǎn)都有叉,而圈只有一半,,所以這就是為什么上面的存放流碼四個Y齊全,,而U、V只有一半,。
1.3 RGB/YUV格式轉(zhuǎn)換
由此可見,,兩種兵器各有所長,YUV長于處理和傳輸,,RGB長于表達(dá),,都愛不釋手怎么辦?下附兩者鍛造秘籍,!
YUV(YCrCb)與RGB的轉(zhuǎn)化關(guān)系,,可用公式 1.2來描述
公式 1.2 YUV與RGB轉(zhuǎn)化關(guān)系
進(jìn)行轉(zhuǎn)化得公式 1.3。
公式 1.3 YUV與RGB簡化轉(zhuǎn)換
其中RGB取值范圍均為0-255,。