知道RGB 那YUV、YPbPr、YCbCr又是什麼?

  • 2019 年 12 月 28 日
  • 資訊

本文轉載自超能網,其他媒體轉載需經超能網同意。

說到用來表達顏色的系統,大家或許第一個會想到的就是RGB。是的,在數字時代,螢幕上每一個像素點都是由紅綠藍三種顏色混合而成的,它可以用RGB值來描述。不過有時我們還是會看到或聽聞所謂的YUV,那麼它又是什麼呢?

首先說說色彩模型(Color Model),你可以將其簡單理解為是色彩編碼方式,比如RGB就是其中常用的一種。每一種色彩模型都有自己對顏色的定義,我們看到的同一種顏色在不同的顏色模型中有著不一樣的“值”。YUV就是與RGB平行的一套色彩模型系統,它並不像RGB那樣使用基色混合的辦法來描述顏色,而是用了另外一套截然不同的描述辦法。

YUV模型首先將亮度這一人眼最為敏感的要素抽離了出來,形成一個只有亮度資訊的平面,然後才是描述具體色彩的U和V平面,分別具有色度(Chrominance)和濃度(Chroma)資訊。下圖就是一個比較好的例子:

知道RGB 那YUV、YPbPr、YCbCr又是什麼?
YUV三個通道的不同資訊從上到下分別為Y、U、V圖片來自於Wikipedia

那麼為什麼有了RGB我們仍然需要YUV呢?我們要回到人類剛擁有彩色電視的時候,在那段從黑白電視向彩色電視的過渡期,電視系統需要提供對黑白電視的兼容性,另外還要考慮到電視廣播系統那有限的頻寬,如果使用RGB顏色模型,那麼傳輸頻寬就是原來的三倍。主要是以上兩個原因,能夠兼容黑白電視系統和更為節省頻寬的YUV色彩模型就被發明了出來,它與RGB之間是無損轉換的。

亮度資訊與色彩資訊相分離的設計使得YUV可以減少一些色彩資訊以達到節省傳輸頻寬和保存體積的目的。因為相較於色彩,人眼對於亮度資訊更為敏感,所以可以在色彩資訊上面進行取捨來達到節約大小的目的,通過引入取樣的方式,YUV對原始的RGB資訊進行重編碼,目前在影片中最常見的就是YUV420式編碼,Y平面的資訊完全保留,而UV這兩個色度平面的資訊交錯保留,並且精度只有Y平面的一半,最終影像、影片的體積也就少了很多,而畫質損失實際是被控制在一個合理的範圍內。

知道RGB 那YUV、YPbPr、YCbCr又是什麼?

YUV下還有很多不同的具體編碼方式,比如影片中常見的NV12、YV12等,而JPEG這個常見的圖片壓縮編碼也使用了YUV作為處理和存儲影像時使用的色彩模型,可以說,我們雖然沒有直接接觸到YUV色彩模型,但是幾乎是時時刻刻都在用它。而YPbPr、YCbCr只是YUV在不同領域中的具現化罷了,其實就是一個東西。

知道RGB 那YUV、YPbPr、YCbCr又是什麼?