close


YUV,是一種顏色編碼方法。

YUV是編譯true-color顏色空間(color space)的種類,Y'UV, YUV, YCbCr,YPbPr等專有名詞都可以稱為YUV,彼此有重疊。
「Y」表示明亮度(Luminance、Luma)。
「U」和「V」則是色度、濃度(Chrominance、Chroma)。
Y'UV, YUV, YCbCr, YPbPr 常常有些混用的情況,其中 YUV 和 Y'UV 通常用來描述類比訊號。
而相反的 YCbCr 與 YPbPr 則是用來描述數位的影像訊號,
例如在一些壓縮格式內 MPEG、JPEG 中,但在現今,YUV 通常已經在電腦系統上廣泛使用。

YUV Formats分成兩個格式:
緊縮格式(packed formats):將Y、U、V值儲存成Macro Pixels陣列,和RGB的存放方式類似。
平面格式(planar formats):將Y、U、V的三個份量分別存放在不同的矩陣中。

緊縮格式(packed format)中的YUV是混合在一起的,對於YUV4:4:4格式而言,用緊縮格式很合適的,因此就有了UYVY、YUYV等。

平面格式(planar formats)是指每Y份量,U份量和V份量都是以獨立的平面組織的,
也就是說所有的U份量必須在Y份量後面,而V份量在所有的U份量後面,此一格式適用於採樣(subsample)。
平面格式(planar format)有I420(4:2:0)、YV12、IYUV等。

Y'UV 的發明是由於彩色電視與黑白電視的過渡時期。
黑白視訊只有 Y(Luma,Luminance)視訊,也就是灰階值。
到了彩色電視規格的制定,是以 YUV/YIQ 的格式來處理彩色電視圖像,把 UV 視作表示彩度的 C(Chrominance或Chroma),
如果忽略 C 訊號,那麼剩下的 Y(Luma)訊號就跟之前的黑白電視訊號相同,這樣一來便解決彩色電視機與黑白電視機的相容問題。
Y'UV 最大的優點在於只需佔用極少的頻寬。

彩色圖像記錄的格式,常見的有 RGB、YUV、CMYK等。
彩色電視最早的構想是使用RGB三原色來同時傳輸。
這種設計方式是原來黑白頻寬的3倍,在當時並不是很好的設計。
RGB 訴求於人眼對色彩的感應,YUV則著重於視覺對於亮度的敏感程度,
Y 代表的是亮度,UV 代表的是彩度(因此黑白電影可省略UV,相近於RGB),
分別用Cr和CB來表示,因此YUV的記錄通常以 Y:UV 的格式呈現。

常用的YUV格式
為節省頻寬起見,大多數 YUV 格式平均使用的每像素位數都少於24位元。
主要的採樣(subsample)格式有YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和 YCbCr 4:4:4。

YUV的表示法稱為 A:B:C 表示法:
4:4:4 表示完全取樣。
4:2:2 表示 2:1 的水平取樣,沒有垂直下採樣。
4:2:0 表示 2:1 的水平取樣,2:1 的垂直下採樣。
4:1:1 表示 4:1 的水平取樣,沒有垂直下採樣。
最常用Y:UV記錄的比重通常 1:1 或 2:1,DVD-Video 是以 YUV 4:2:0 的方式記錄,也就是我們俗稱的I420,YUV4:2:0並不是說只有U(即 Cb), V(即 Cr)一定為 0,而是指U:V互相援引,時見時隱,也就是說對於每一個行,只有一個U或者V份量,如果一行是4:2:0的話,下一行就是4:0:2,再下一行是4:2:0...以此類推。
至於其他常見的YUV格式有YUY2、YUYV、YVYU、UYVY、AYUV、Y41P、Y411、Y211、IF09、IYUV、YV12、YVU9、YUV411、YUV420等。

YUY2
YUY2(和YUYV)格式為像素保留 Y,而 UV 在水平空間上相隔二個像素採樣一次。
YVYU, UYVY格式跟YUY2類似,只是排列順序有所不同。
Y211格式是Y每2個像素採樣一次,而UV每4個像素採樣一次。
AYUV格式則有一 Alpha通道。

YV12
YV12格式與IYUV類似,每個像素都提取Y,在UV提取時,將圖像2 x 2的矩陣,每個元素中提取一個U和一個V。
YV12格式和I420格式的不同處在V平面和U平面的位置不同。
在I420格式中,U平面緊跟在Y平面之後,然後才是V平面(即:YUV);
但YV12則是相反(即:YVU)。

NV12與YV12類似,效果一樣,YV12中 U 和 V 是連續排列的,而在NV12中,U 和 V 是交錯排列的。


轉換公式眾多分歧
(隨便節錄一個)
YUV與RGB相互轉換的公式如下(RGB取值範圍均為0-255)

R = Y + (1.4075 * (V - 128));
G = Y - (0.3455 * (U - 128) - (0.7169 * (V - 128));
B = Y + (1.7790 * (U - 128);

Y = R * 0.299 + G * .587 + B *0.114;
U = R * -0.169 + G * -0.332 + B * 0.500 + 128;
V = R * 0.500 + G * -0.419 + B * -0.0813 + 128;

REF://http://zh.wikipedia.org/zh-tw/YUV

arrow
arrow
    全站熱搜

    BB 發表在 痞客邦 留言(0) 人氣()