介紹
音視頻領(lǐng)域的人恐怕沒有人不知道 YUV,但是 YUV 本身有好多種變種欧宜,名稱也各種各樣拴魄,本文就位大家總結(jié)一下YUV 的各種格式席镀。
在開始之前,先向大家介紹一款 YUV 圖像的查看工具---YUV Eye顶捷,大家可以使用這個工具屎篱,查看 YUV 圖像。有的時候在進行 Debug 的時候交播,有這樣一個工具會方便很多。
https://www.zzsin.com/YUVEye.html
首先先介紹一下 YUV缺厉,我們都知道隧土,YUV 是一種表示顏色的模型。但是我們常說的 YUV 辐脖,其實指的是 YCbCr皆愉,其中Y是指亮度分量艇抠,Cb指藍色色度分量炭剪,而Cr指紅色色度分量,是標(biāo)準(zhǔn) YUV 的一個翻版媒鼓,此文中错妖,我們就用 YUV 指代 YCbCr 了。
首先潮模,我們來看一下 YUV 的常見格式痴施。你一定看過很多文章介紹 YUV 格式,但是對于 YUV 到底存在哪些格式动遭,每種格式又有哪些變種神得,哪些別名,可能并沒有一個系統(tǒng)的認(rèn)識宵蕉。沒關(guān)系节榜,我們用這篇文章幫你總結(jié)分析。
首先缝左,我們對 YUV 格式先進性一下分類浓若,大家可以參考下圖。
分類標(biāo)準(zhǔn)
首先是越,我們可以將 YUV 格式按照數(shù)據(jù)大小分為三個格式碌上,YUV 420,YUV 422天梧,YUV 444。由于人眼對 Y 的敏感度遠(yuǎn)超于對 U 和 V 的敏感冕香,所以有時候可以多個 Y 分量共用一組 UV后豫,這樣既可以極大得節(jié)省空間挫酿,又可以不太損失質(zhì)量。這三種格式就是按照人眼的特性制定的惫霸。
- YUV 420葱弟,由 4 個 Y 分量共用一套 UV 分量翘悉,
- YUV 422居触,由 2 個 Y 分量共用一套 UV 分量
- YUV 444轮洋,不共用,一個 Y 分量使用一套 UV 分量
按照多個 Y 分量共用一個 UV 的方式祥楣,我們可以把 YUV 分為 420误褪,422碾褂,444 三種類型正塌,而在這三種類型之下恤溶,我們又可以按照 YUV 的排列儲存順序,將其細(xì)分為好多種格式帜羊,這些格式數(shù)量繁多咒程,又不好記憶,這為我們學(xué)習(xí)過程中造成了不少困難讼育。下面我就為大家一一介紹。
首先卖宠,我們將可以按照 YUV 的排列方式扛伍,再次將 YUV 分成三個大類词裤,Planar,Semi-Planar 和 Packed逆航。
- Planar YUV 三個分量分開存放
- Semi-Planar Y 分量單獨存放因俐,UV 分量交錯存放
- Packed YUV 三個分量全部交錯存放
按照這三種方式,我們就可以將 YUV 格式進行比較細(xì)致的分類了澳眷。
具體分類
- I420(屬于 YUV 420 Plannar)
I420 是 YUV 420 Planar 的一種,YUV 分量分別存放拓瞪,先是 w * h 長度的 Y,后面跟 w * h * 0.25 長度的 U沟堡, 最后是 w * h * 0.25 長度的 V侧但,總長度為 w * h * 1.5。
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
U U U
U U U
U U U
V V V
V V V
V V V
- YV12(屬于 YUV 420 Plannar)
YV12 是 YUV 420 Planar 的一種航罗,YUV 分量分別存放,先是 w * h 長度的 Y柏锄,后面跟 w * h * 0.25 長度的 V, 最后是 w * h * 0.25 長度的 U抬闷,總長度為 w * h * 1.5耕突。與 I420 不同的是,YV12 是先 V 后 U
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
V V V
V V V
V V V
U U U
U U U
U U U
- NV12(屬于 YUV 420 Semi-Planar)
NV12 是 YUV 420 Semi-Planar 的一種眷茁,Y 分量單獨存放,UV 分量交錯存放培遵,UV 在排列的時候登刺,從 U 開始√猎遥總長度為 w * h * 1.5晤锥。
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
U V U V U V
U V U V U V
U V U V U V
- NV21(屬于 YUV 420 Semi-Planar)
NV21 是 YUV 420 Semi-Planar 的一種,Y 分量單獨存放女轿,UV 分量交錯存放壕翩,與 NV12 不同的是蛉迹,UV 在排列的時候放妈,從 V 開始荐操。總長度為 w * h * 1.5托启。
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
V U V U V U
V U V U V U
V U V U V U
- I422(屬于 YUV 422 Plannar)
I422 是 YUV 422 Planar 的一種攘宙,YUV 分量分別存放,先是 w * h 長度的 Y蹭劈,后面跟 w * h * 0.5 長度的 U, 最后是 w * h * 0.5 長度的 V多矮,總長度為 w * h * 2祟蚀。
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
U U U U U U
U U U U U U
U U U U U U
V V V V V V
V V V V V V
V V V V V V
- YV16(屬于 YUV 422 Plannar)
YV16 是 YUV 422 Planar 的一種,YUV 分量分別存放前酿,先是 w * h 長度的 Y,后面跟 w * h * 0.5 長度的 V淹仑, 最后是 w * h * 0.5 長度的 U肺孵,總長度為 w * h * 2。與 I422 不同的是平窘,YV16 是先 V 后 U
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
V V V V V V
V V V V V V
V V V V V V
U U U U U U
U U U U U U
U U U U U U
- NV16(屬于 YUV 422 Semi-Planar)
NV16 是 YUV 422 Semi-Planar 的一種,Y 分量單獨存放是鬼,UV 分量交錯存放紫新,UV 在排列的時候,從 U 開始芒率。總長度為 w * h * 2充择。
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
U V U V U V
U V U V U V
U V U V U V
U V U V U V
U V U V U V
U V U V U V
- NV61(屬于 YUV 422 Semi-Planar)
NV61 是 YUV 422 Semi-Planar 的一種,Y 分量單獨存放聪铺,UV 分量交錯存放,UV 在排列的時候撒桨,從 V 開始键兜。總長度為 w * h * 2普气。
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
V U V U V U
V U V U V U
V U V U V U
V U V U V U
V U V U V U
V U V U V U
- YUVY(屬于 YUV 422 Interleaved)
YUVY 屬于 YUV 422 Interleaved 的一種。事實上夷磕,Interleaved 是屬于 Packed 的仔沿,但是在 422 中,用 Interleaved 更加形象一些封锉。在 Packed 內(nèi)部,YUV 的排列順序是 Y U V Y碾局,兩個 Y 共用一組 UV奴艾。
Y U V Y Y U V Y Y U V Y
Y U V Y Y U V Y Y U V Y
Y U V Y Y U V Y Y U V Y
Y U V Y Y U V Y Y U V Y
Y U V Y Y U V Y Y U V Y
Y U V Y Y U V Y Y U V Y
- VYUY(屬于 YUV 422 Interleaved)
VYUY 屬于 YUV 422 Interleaved 的一種。在 Packed 內(nèi)部蕴潦,YUV 的排列順序是 VYUY,兩個 Y 共用一組 UV埋合。
V Y U Y V Y U Y V Y U Y
V Y U Y V Y U Y V Y U Y
V Y U Y V Y U Y V Y U Y
V Y U Y V Y U Y V Y U Y
V Y U Y V Y U Y V Y U Y
V Y U Y V Y U Y V Y U Y
- UYVY(屬于 YUV 422 Interleaved)
UYVY 屬于 YUV 422 Interleaved 的一種萄传。在 Packed 內(nèi)部,YUV 的排列順序是 UYVY秀菱,兩個 Y 共用一組 UV。
U Y V Y U Y V Y U Y V Y
U Y V Y U Y V Y U Y V Y
U Y V Y U Y V Y U Y V Y
U Y V Y U Y V Y U Y V Y
U Y V Y U Y V Y U Y V Y
U Y V Y U Y V Y U Y V Y
- I444(屬于 YUV 444 Plannar)
I444 屬于 YUV 444 Plannar 的一種赶么。YUV 分量分別存放脊串,先是 w * h 長度的 Y,后面跟 w * h 長度的 U琼锋, 最后是 w * h 長度的 V,總長度為 w * h * 3怖侦。
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
U U U U U U
U U U U U U
U U U U U U
U U U U U U
U U U U U U
U U U U U U
V V V V V V
V V V V V V
V V V V V V
V V V V V V
V V V V V V
V V V V V V
- YV24(屬于 YUV 444 Plannar)
YV24 屬于 YUV 444 Plannar 的一種谜叹。YUV 分量分別存放,先是 w * h 長度的 Y艳悔,后面跟 w * h 長度的 V, 最后是 w * h 長度的 U很钓,總長度為 w * h * 3董栽。與 I444 不同的是,YV24 是先排列 V锭碳。
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
V V V V V V
V V V V V V
V V V V V V
V V V V V V
V V V V V V
V V V V V V
U U U U U U
U U U U U U
U U U U U U
U U U U U U
U U U U U U
U U U U U U
- NV24(屬于 YUV 444 Semi-Planar)
NV24 是 YUV 444 Semi-Planar 的一種擒抛,Y 分量單獨存放,UV 分量交錯存放歧沪,UV 在排列的時候,從 U 開始暖夭。總長度為 w * h * 3迈着。
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
U V U V U V U V U V U V
U V U V U V U V U V U V
U V U V U V U V U V U V
U V U V U V U V U V U V
U V U V U V U V U V U V
U V U V U V U V U V U V
- NV42(屬于 YUV 444 Semi-Planar)
NV42 是 YUV 444 Semi-Planar 的一種,Y 分量單獨存放咬清,UV 分量交錯存放奴潘,UV 在排列的時候,從 V 開始画髓。總長度為 w * h * 3杖小。
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Y
V U V U V U V U V U V U
V U V U V U V U V U V U
V U V U V U V U V U V U
V U V U V U V U V U V U
V U V U V U V U V U V U
V U V U V U V U V U V U
- YUV 444 Packed
這個就不解釋了愚墓。。浪册。
Y U V Y U V Y U V Y U V Y U V Y U V
Y U V Y U V Y U V Y U V Y U V Y U V
Y U V Y U V Y U V Y U V Y U V Y U V
Y U V Y U V Y U V Y U V Y U V Y U V
Y U V Y U V Y U V Y U V Y U V Y U V
Y U V Y U V Y U V Y U V Y U V Y U V
最后,加上一個音視頻的QQ交流群~~~
814462428