YUV顏色編碼格式


 

YUV 顏色編碼采用的是 明亮度色度 來指定像素的顏色,而色度又定義了顏色的兩個方面:色調和飽和度。

其中:

  • Y 表示明亮度(Luminance、Luma)
  • U 和 V 表示色度(Chrominance、Chroma)(U,V 分別是藍色通道和紅色通道

 

其中:

  • Y 通道數值越高,圖片則越亮
  • U 通道數值越高,顏色就越接近藍色
  • V 通道數值越高,顏色就越接近紅色

 

其歷史來源是歐洲的電視系統采用的一種顏色編碼方式,主要是為了讓信號支持新的彩色電視,但也繼續支持黑白電視。如果是黑白電視,只使用 Y 通道信號就足夠。

 

 

 

YUV色彩編碼格式由其色度抽樣方式 + 存儲方式決定。

 

1. 色度抽樣方式

色度抽樣方式用 J:A:B 表示

  • J:最小水平抽樣的的寬度,一般為4
  • A:最小水平抽樣區域第一行的色度抽樣
  • B:最小水平抽樣區域第二行的色度抽樣

 

下圖是常見的抽樣方式:

 

注意:

  • 4:2:0並不是只抽樣第一行的色度,是第一行和第二行輪番抽樣的:4:2:0 -> 4:0:2 -> 4:2:0
  • 不管是哪種抽樣方式,亮度Y都是全抽樣的,不同之處在於U、V分量的抽樣率
  • 常用的4:2:0的U、V都是半抽樣,所以抽樣后的數據量是RGB24一半。(RGB24相當於全抽樣)

 

2. YUV存儲方式

YUV存儲方式主要分為兩種:PacketedPlanar

  • planar 平面格式:將YUV分量分別存儲到矩陣,每一個分量矩陣稱為一個平面。
  • packed 打包模式 :每個像素點的 Y、U、V 分量是連續交替存儲的。

 

 

於是根據采樣方式和存儲格式的不同,就有了多種 YUV 格式。

以下鏈接包含了常見的YUV格式信息:

https://www.fourcc.org/yuv.php

 

3.常見格式

3.1 基於 YUV 4:2:0 采樣的格式

基於 YUV 4:2:0 采樣的格式主要有 YUV 420P 和 YUV 420SP 兩種類型

YUV 420P 和 YUV 420SP 都是基於 Planar 平面模式進行存儲的,兩者都是先存儲所有的 Y 分量后,

  • YUV420P 類型會再存儲所有的 U 分量或者 V 分量,采用的是三平面方式進行存儲

  • YUV420SP 則是按照 UV 或者 VU 的交替順序進行存儲,采用的是兩平面方式進行存儲

 

YUV 420P 類型又對應其它具體格式:

  • YU12 格式(又稱作 I420 格式,先 Y 再 U 后 V)

  • YV12 格式(先 Y 再 V 后 U)

 

YUV 420SP 類型又對應其它具體格式:

  • NV12 格式(IOS 中有的模式,先Y,再UV 進行交替存儲)
  • NV21 格式(Android 中有的模式,先Y,再VU 進行交替存儲)

 

3.2 基於 YUV 4:2:2 采樣的格式

YUV 4:2:2 采樣規定了 Y 和 UV 分量按照 2: 1 的比例采樣,兩個 Y 分量公用一組 UV 分量。

基於 YUV 4:2:2 采樣的格式主要有 YUYV 格式、UYVY 格式 和 YUV 422P 格式三種類型:

  • YUYV 格式是采用Packed格式進行存儲的,指每個像素點都采用 Y 分量,但是每隔一個像素采樣它的 UV 分量。

  • UYVY 格式是采用Packed格式進行存儲,它的順序和 YUYV 相反,先采用 U 分量再采樣 Y 分量

  • YUV 422P 格式,又叫做 I422,采用的是Planar格式、三平面進行存儲,先存儲所有的 Y 分量,再存儲所有的 U 分量,再存儲所有的 V 分量。

 


免責聲明!

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



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