YUV(YCbCr)格式简介 VisionEye

技術(shù)方案

/Technical Scheme

(转载)YUV(YCbCr)格式简介 交通专区

一、YUVYCbCr的關(guān)系

       正如幾何上用坐標(biāo)空間來描述坐標(biāo)集合,色彩空間用數(shù)學(xué)方式來描述顏色集合。常見的3個(gè)基本色彩模型是RGBCMYKYUV

       YCbCr則是在世界數(shù)字組織視頻標(biāo)準(zhǔn)研制過程中作為ITU - R BT.601建議的一部分,其實(shí)是YUV經(jīng)過縮放和偏移的翻版。其中YYUV中的Y含義一致,CbCr同樣都指色彩,只是在表示方法上不同而已。在YUV家族中,YCbCr是在計(jì)算機(jī)系統(tǒng)中應(yīng)用最多的成員,其應(yīng)用領(lǐng)域很廣泛,JPEGMPEG均采用此格式。一般人們所講的YUV大多是指YCbCrYCbCr有許多取樣格式,如4:4:44:2:24:1:14:2:0

1.1 YUV

       YUV,是一種顏色編碼方法。常使用在各個(gè)視頻處理組件中。 YUV在對(duì)照片或視頻編碼時(shí),考慮到人類的感知能力,允許降低色度的帶寬。

       YUV是編譯true-color顏色空間(color space)的種類,Y'UV, YUV, YCbCrYPbPr等專有名詞都可以稱為YUV,彼此有重疊。“Y”表示明亮度(LuminanceLuma),也就是灰階值,“U”“V”表示的則是色度(ChrominanceChroma),作用是描述影像色彩及飽和度,用于指定像素的顏色。

       Y′UV,YUV,YCbCr,YPbPr所指涉的范圍,常有混淆或重疊的情況。從歷史的演變來說,其中YUVY'UV通常用來編碼電視的模擬信號(hào),而YCbCr則是用來描述數(shù)字的視頻信號(hào),適合視頻與圖片壓縮以及傳輸,例如MPEGJPEG。但在現(xiàn)今,YUV通常已經(jīng)在電腦系統(tǒng)上廣泛使用。

1.2 YCbCr

       YCbCr其中Y是指亮度分量,Cb指藍(lán)色色度分量,而Cr指紅色色度分量。人的肉眼對(duì)視頻的Y分量更敏感,因此在通過對(duì)色度分量進(jìn)行子采樣來減少色度分量后,肉眼將察覺不到的圖像質(zhì)量的變化。主要的子采樣格式有 YCbCr 4:2:0YCbCr 4:2:2  YCbCr 4:4:4

       4:2:0表示每4個(gè)像素有4個(gè)亮度分量、2個(gè)色度分量 (YYYYCbCr),僅采樣奇數(shù)掃描線,是便攜式視頻設(shè)備(MPEG-4)以及電視會(huì)議(H.263)最常用格式;4:2:2表示每4個(gè)像素有4個(gè)亮度分量、4個(gè)色度分量(YYYYCbCrCbCr),是DVD、數(shù)字電視、HDTV以及其它消費(fèi)類視頻設(shè)備的最常用格式;4:4:4表示全像素點(diǎn)陣(YYYYCbCrCbCrCbCrCbCr),用于高質(zhì)量視頻應(yīng)用、演播室以及專業(yè)視頻產(chǎn)品。

二、主要采樣格式

       主要的采樣格式有YCbCr 4:2:0YCbCr 4:2:2YCbCr 4:1:1YCbCr 4:4:4。其中YCbCr 4:1:1比較常用,其含義為:每個(gè)點(diǎn)保存一個(gè)8bit的亮度值(也就是Y),每2x2個(gè)點(diǎn)保存一個(gè)CrCb值,圖像在肉眼中的感覺不會(huì)起太大的變化。所以,原來用RGB(R,G,B 都是8bit unsigned)模型,每個(gè)點(diǎn)需要8x3=24bits,而僅需要8+(8/4)+(8/4)=12bits,平均每個(gè)點(diǎn)占12bits,這樣就把圖像的數(shù)據(jù)壓縮了一半。

       上邊僅給出了理論上的示例,在實(shí)際數(shù)據(jù)存儲(chǔ)中是有可能是不同的,下面給出幾種具體的存儲(chǔ)形式:

1YUV 4:4:4

       YUV三個(gè)信道的抽樣率相同,因此在生成的圖像里,每個(gè)象素的三個(gè)分量信息完整(每個(gè)分量通常8比特),經(jīng)過8比特量化之后,未經(jīng)壓縮的每個(gè)像素占用3個(gè)字節(jié)。

       下面的四個(gè)像素為:[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]

       存放的碼流為:Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3

2YUV 4:2:2

       每個(gè)色差信道的抽樣率是亮度信道的一半,所以水平方向的色度抽樣率只是4:4:4的一半。對(duì)非壓縮的8比特量化的圖像來說,每個(gè)由兩個(gè)水平方向相鄰的像素組成的宏像素需要占用4字節(jié)內(nèi)存。

       下面的四個(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]

3YUV 4:1:1

       4:1:1的色度抽樣,是在水平方向上對(duì)色度進(jìn)行4:1抽樣。對(duì)于低端用戶和消費(fèi)類產(chǎn)品這仍然是可以接受的。對(duì)非壓縮的8比特量化的視頻來說,每個(gè)由4個(gè)水平方向相鄰的像素組成的宏像素需要占用6字節(jié)內(nèi)存。

       下面的四個(gè)像素為:[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]

       存放的碼流為:Y0 U0 Y1 Y2 V2 Y3

       映射出像素點(diǎn)為:[Y0 U0 V2] [Y1 U0 V2] [Y2 U0 V2] [Y3 U0 V2]

4YUV 4:2:0

       4:2:0并不意味著只有YCb而沒有Cr分量。它指得是對(duì)每行掃描線來說,只有一種色度分量以2:1的抽樣率存儲(chǔ)。相鄰的掃描行存儲(chǔ)不同的色度分量,也就是說,如果一行是4:2:0的話,下一行就是4:0:2,再下一行是4:2:0...以此類推。對(duì)每個(gè)色度分量來說,水平方向和豎直方向的抽樣率都是2:1,所以可以說色度的抽樣率是4:1。對(duì)非壓縮的8比特量化的視頻來說,每個(gè)由2x2個(gè)22列相鄰的像素組成的宏像素需要占用6字節(jié)內(nèi)存。

       下面八個(gè)像素為:[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]

                                  [Y5 U5 V5] [Y6 U6 V6] [Y7 U7 V7] [Y8 U8 V8]

       存放的碼流為:Y0 U0 Y1 Y2 U2 Y3 

                               Y5 V5 Y6 Y7 V7 Y8

       映射出的像素點(diǎn)為:[Y0 U0 V5] [Y1 U0 V5] [Y2 U2 V7] [Y3 U2 V7]

                                     [Y5 U0 V5] [Y6 U0 V5] [Y7 U2 V7] [Y8 U2 V7]