知道RGB 那YUV、YPbPr、YCbCr又是什么?
本文轉(zhuǎn)載自超能網(wǎng),其他媒體轉(zhuǎn)載需經(jīng)超能網(wǎng)同意。
說到用來表達(dá)顏色的系統(tǒng),大家或許第一個會想到的就是RGB。是的,在數(shù)字時代,屏幕上每一個像素點(diǎn)都是由紅綠藍(lán)三種顏色混合而成的,它可以用RGB值來描述。不過有時我們還是會看到或聽聞所謂的YUV,那么它又是什么呢?
首先說說色彩模型(Color Model),你可以將其簡單理解為是色彩編碼方式,比如RGB就是其中常用的一種。每一種色彩模型都有自己對顏色的定義,我們看到的同一種顏色在不同的顏色模型中有著不一樣的“值”。YUV就是與RGB平行的一套色彩模型系統(tǒng),它并不像RGB那樣使用基色混合的辦法來描述顏色,而是用了另外一套截然不同的描述辦法。
YUV模型首先將亮度這一人眼最為敏感的要素抽離了出來,形成一個只有亮度信息的平面,然后才是描述具體色彩的U和V平面,分別具有色度(Chrominance)和濃度(Chroma)信息。下圖就是一個比較好的例子:
YUV三個通道的不同信息從上到下分別為Y、U、V圖片來自于Wikipedia
那么為什么有了RGB我們?nèi)匀恍枰猋UV呢?我們要回到人類剛擁有彩色電視的時候,在那段從黑白電視向彩色電視的過渡期,電視系統(tǒng)需要提供對黑白電視的兼容性,另外還要考慮到電視廣播系統(tǒng)那有限的帶寬,如果使用RGB顏色模型,那么傳輸帶寬就是原來的三倍。主要是以上兩個原因,能夠兼容黑白電視系統(tǒng)和更為節(jié)省帶寬的YUV色彩模型就被發(fā)明了出來,它與RGB之間是無損轉(zhuǎn)換的。
亮度信息與色彩信息相分離的設(shè)計使得YUV可以減少一些色彩信息以達(dá)到節(jié)省傳輸帶寬和保存體積的目的。因?yàn)橄噍^于色彩,人眼對于亮度信息更為敏感,所以可以在色彩信息上面進(jìn)行取舍來達(dá)到節(jié)約大小的目的,通過引入采樣的方式,YUV對原始的RGB信息進(jìn)行重編碼,目前在視頻中最常見的就是YUV420式編碼,Y平面的信息完全保留,而UV這兩個色度平面的信息交錯保留,并且精度只有Y平面的一半,最終圖像、視頻的體積也就少了很多,而畫質(zhì)損失實(shí)際是被控制在一個合理的范圍內(nèi)。
YUV下還有很多不同的具體編碼方式,比如視頻中常見的NV12、YV12等,而JPEG這個常見的圖片壓縮編碼也使用了YUV作為處理和存儲圖像時使用的色彩模型,可以說,我們雖然沒有直接接觸到Y(jié)UV色彩模型,但是幾乎是時時刻刻都在用它。而YPbPr、YCbCr只是YUV在不同領(lǐng)域中的具現(xiàn)化罷了,其實(shí)就是一個東西。