圖像基礎知識之YUV


 一、YUV常用格式

  YUV是編譯true-color顏色空間(color space)的種類,Y'UV, YUV, YCbCr,YPbPr等專有名詞都可以稱為YUV,彼此有重疊。“Y”表示明亮度(Luminance、Luma),“U”和“V”則是色度與濃度(Chrominance、Chroma)

  YUV格式有兩大類:packedplanar。注:planar還分平面存儲平面打包格式。

  • 對於packed的YUV格式,每個像素點的Y,U,V是連續交錯存儲的。
  • 對於planar的YUV格式,先連續存儲所有像素點的Y,緊接着存儲所有像素點的U,然后是所有像素點的V(平面存儲格式),或者 緊接着UV交錯存儲(平面打包格式)。

  常用的CODEC格式-planar,如圖:

                                  YV12

   

     

                              NV12

                               

    W即圖像的寬度,H即圖像的高度,Stride表示圖像行的跨度,超出W部分為填充數據,主要目的是為了字節對齊,一般以16字節或者或者32字節對齊居多。

    從左側數據存儲結構圖看出高度(H)是分層次的,YV12三層和NV12兩層,這個層次結構稱為 Plane,即YV12在代碼中用 Plane[0]表示Y數據的起始地址,Plane[1]表示V數據的起始地址,Plane[1]表示U數據的起始地址。
    而NV12的UV是在一個Plane中交錯存放,因此用兩個Plane表示即可。

    從右側的數據排布圖可見YV12和NV12都是YUV 4:2:0采樣,每四個Y共用一組UV分量,已用顏色標明Y1、Y2、Y7、Y8共用U1、V1,並且在內存中連續排布。

 

二、YUV拓展知識

    YUV格式主要的采樣格式有YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和 YCbCr 4:4:4。
  用三個圖來直觀地表示采集的方式,黑點表示采樣該像素點的Y分量,以空心圓圈表示采樣該像素點的UV分量:

   

    YUV 4:4:4采樣,每一個Y對應一組UV分量。
    YUV 4:2:2采樣,每兩個Y共用一組UV分量。
    YUV 4:2:0采樣,每四個Y共用一組UV分量。

 

(1) YUVY 格式 (屬於YUV422)

  
  YUYV為YUV422采樣的存儲格式中的一種,相鄰的兩個Y共用其相鄰的兩個Cb、Cr,分析,對於像素點Y'00、Y'01 而言,其Cb、Cr的值均為 Cb00、Cr00,其他的像素點的YUV取值依次類推。

 
(2) UYVY 格式 (屬於YUV422)
 
  UYVY格式也是YUV422采樣的存儲格式中的一種,只不過與YUYV不同的是UV的排列順序不一樣而已,還原其每個像素點的YUV值的方法與上面一樣。
 
(3) YUV422P(屬於YUV422)
 
  YUV422P也屬於YUV422的一種,它是一種Plane模式,即平面模式,並不是將YUV數據交錯存儲,而是先存放所有的Y分量,然后存儲所有的U(Cb)分量,最后存儲所有的V(Cr)分量,如上圖所示。其每一個像素點的YUV值提取方法也是遵循YUV422格式的最基本提取方法,即兩個Y共用一個UV。比如,對於像素點Y'00、Y'01 而言,其Cb、Cr的值均為 Cb00、Cr00。
 
(4)YV12,YU12格式(屬於YUV420)

YU12和YV12屬於YUV420格式,也是一種Plane模式,將Y、U、V分量分別打包,依次存儲。其每一個像素點的YUV數據提取遵循YUV420格式的提取方式,即4個Y分量共用一組UV。注意,上圖中,Y'00、Y'01、Y'10、Y'11共用Cr00、Cb00,其他依次類推。

(5)NV12、NV21(屬於YUV420)

NV12和NV21屬於YUV420格式,是一種two-plane模式,即Y和UV分為兩個Plane,但是UV(CbCr)為交錯存儲,而不是分為三個plane。其提取方式與上一種類似,即Y'00、Y'01、Y'10、Y'11共用Cr00、Cb00

 

注:

YUV420P,Y,U,V三個分量都是平面格式,分為I420和YV12。I420格式和YV12格式的不同處在U平面和V平面的位置不同。在I420格式中,U平面緊跟在Y平面之后,然后才是V平面(即:YUV);但YV12則是相反(即:YVU)。
YUV420SP, Y分量平面格式,UV打包格式, 即NV12。 NV12與NV21類似,U 和 V 交錯排列,不同在於UV順序。
I420: YYYYYYYY UU VV    =>YUV420P
YV12: YYYYYYYY VV UU    =>YUV420P
NV12: YYYYYYYY UVUV     =>YUV420SP
NV21: YYYYYYYY VUVU     =>YUV420SP


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM