1.2 眼球上的格式——YUV圖像格式
與RGB視頻信號(hào)傳輸相比,YUV最大的優(yōu)點(diǎn)在于只需占用極少的帶寬(RGB要求三個(gè)獨(dú)立的視頻信號(hào)同時(shí)傳輸),兩種格式對(duì)帶寬的占用量噸位差異如下圖一般,RGB占用的帶寬要大得多。
圖2
所以我們存儲(chǔ)的時(shí)候?yàn)榱斯?jié)約空間(偷工解料?)、方便打包就用了亮度信號(hào)Y和兩個(gè)色差信號(hào)R-Y(紅色-亮度,即U)、B-Y(藍(lán)色-亮度,即V)分別進(jìn)行編碼,然后發(fā)出去,到了顯示終端再轉(zhuǎn)換回RGB格式,這種色彩的表示方法就是所謂的YUV色彩空間表示。這時(shí)候也許你會(huì)問(wèn)“咦,G(綠色)哪去了”,其實(shí)兩種顏色加亮度也能通過(guò)算法大致表達(dá)出原本的顏色(果然偷工減料),所以就算是融合進(jìn)R和B里了。
難道只為了省點(diǎn)帶寬所以我們就義無(wú)反顧選擇了YUV格式嗎?
當(dāng)然不是!好吧,雖然低帶寬也很重要。
采用YUV色彩空間更重要在于它的亮度信號(hào)Y和色度信號(hào)U、V是分離的,這樣分開(kāi)的好處就是不但可以避免相互干擾,還可以降低色度的采樣率而不會(huì)對(duì)圖像質(zhì)量影響太大。如果U、V為零,就沒(méi)有顏色,變成黑白電視了。當(dāng)然,Y也是一個(gè)重要參數(shù),其實(shí)平時(shí)我們看一個(gè)顏色深淺是很不一樣的,而深淺取決于亮度Y,Y的影響如下圖示。
圖3
下面只介紹一種YUV格式,大家觸類(lèi)旁通。
1) YUV 4:2:2
4代表存放流碼中有4個(gè)Y,2表示存放流碼中有2個(gè)U色差值,第二個(gè)2表示存放流碼中有2個(gè)V色差值。
下面的四個(gè)像素為:[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)則用圈表示。每個(gè)點(diǎn)都有叉,而圈只有一半,所以這就是為什么上面的存放流碼四個(gè)Y齊全,而U、V只有一半。
1.3 RGB/YUV格式轉(zhuǎn)換
由此可見(jiàn),兩種兵器各有所長(zhǎng),YUV長(zhǎng)于處理和傳輸,RGB長(zhǎng)于表達(dá),都愛(ài)不釋手怎么辦?下附兩者鍛造秘籍!
YUV(YCrCb)與RGB的轉(zhuǎn)化關(guān)系,可用公式 1.2來(lái)描述。
公式 1.2 YUV與RGB轉(zhuǎn)化關(guān)系