YUV格式總結

視頻數據總要跟YUV打交道,由於不同公司組織基於對各自產品格式的定義不同,派生出各種各樣不同的YUV格式。
總的來說,YUV從像素組織形式上來分有兩種:1.planer模式,2.packet模式。
planar模式舉例: Y0Y1....Yn  U0U1...Um  V0V1..Vm,YUV三個通道分別連續存儲;
packet模式舉例: Y0U0V0 + Y1U1V1 + ... + YnUnVn,YUV三個通道混合存儲。
planar模式有利於編解碼的輸入輸出;packet模式有利於視頻數據採集輸入與顯示輸出。

由於人眼對於色度不敏感,因此可以降低色度採樣,這樣可以降低處理數據量,也減少存儲空間。
根據UV採樣的不同,YUV格式又可以分爲400,420,422,444等格式。
400 灰度數據,沒有色度數據;
420 色度在水平和垂直兩個方向上,採樣率都減半。這樣每相鄰的4個Y公用一個U,V數據,U,V的數據量都爲Y的1/4. (420這個名字起的非常不好,令人產生誤解,但是約定俗成就這個延續下來了。)
422 色度在水平方向上採樣率減半,這樣每行相鄰的2個Y公用一個U,V數據,U,V的數據量都爲Y的1/2.
444 色度採樣率和亮度一樣,每個Y都有各自的U,V數據,U,V的數據量都和Y相同。
還有種411格式,不常用,就不關注了。
一般稱400用8bit來表徵一個像素點,420是12比特,422是16比特,444是24比特。

用總的數據量/像素個數 就是這個比特數。例如420格式 總數據量是(w*h + w*h/4 + w*h/4)*8比特 = 12*w*h比特。

                                                             YUV常用格式

  格式 Mode 通道 比特 示例
  GRAY Planar 1 8 400. Y0Y1...Y15
  I420 Planar 3 12 420. Y0Y1..Y15  U0U1U2U3 V0V1V2V3   * 常用 理解爲YU12
  IYUV Planar 3 12 同I420
  YUV420P Planar 3 12 同I420
  YUVJ420P Planar 3 12 同I420,不同的是色彩轉換公式,YUVJ使用  JPEG 公式, 輸出數據範圍[0..255], I420的範圍是 [16-240]
  YV12 Planar 3 12 420. Y0Y1..Y15  V0V1V2V3 U0U1U2U3   * 常用 很多編解碼器都用這個格式輸入輸出
  YVU420P Planar 3 12 同YV12
  NV12 Planar 2 12 420. Y0Y1..Y15  U0V0U1V1.....U3V3 *常用
  NV21 Planar 2 12 420. Y0Y1..Y15  V0U0V1U1.....V3U3
  YV16 Planar 3 16 422. Y0Y1..Y15  V0V1..V7 U0U1..U7
  YUV422P Planar 3 16 同YV16
  I422 Planar 3 16 同YV16
  UYVY Packed 1 16 422. U0Y0V0Y1|U1Y2V1Y3|...
  Y422 Packed 1 16 同UYVY
  YUY2 Packed 1 16 422. Y0U0Y1V0|Y2U1Y3V1|...  *很多攝像機的輸出格式
  YUV422 Packed 1 16 同YUY2
  YUYV Packed 1 16 同YUY2
  YVYU Packed 1 16 422. Y0V0Y1U0|Y2V1Y3U1|...
  YU16 Planar 3 16 422. Y0Y1..Y15 U0U1..U7 V0V1..V7
  NV16 Planar 2 16 422. Y0Y1..Y15  U0V0U1V1..U7V7
  YV24 Planar 3 24 444. Y0Y1..Y15  V0V1..V15 U0U1..U15
  I444 Planar 3 24 同YV24
  IYU2 Packed 1 24 444. U0Y0V0|U1Y1V1|...


參考:
http://www.fourcc.org/yuv.php
http://www.cnblogs.com/azraelly/archive/2013/01/01/2841269.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章