一文讀懂 YUV 的採樣與格式(僅供個人閱讀-格式較醜)

    <p>YUV 是一種顏色編碼方法,和它等同的還有 RGB 顏色編碼方法。</p>

RGB 顏色編碼

RGB 三個字母分別代表了 紅(Red)、綠(Green)、藍(Blue),這三種顏色稱爲 三原色,將它們以不同的比例相加,可以產生多種多樣的顏色。

在圖像顯示中,一張 1280 * 720 大小的圖片,就代表着它有 1280 * 720 個像素點。其中每一個像素點的顏色顯示都採用 RGB 編碼方法,將 RGB 分別取不同的值,就會展示不同的顏色。

RGB 圖像中,每個像素點都有紅、綠、藍三個原色,其中每種原色都佔用 8 bit,也就是一個字節,那麼一個像素點也就佔用 24 bit,也就是三個字節。

一張 1280 * 720 大小的圖片,就佔用 1280 * 720 * 3 / 1024 / 1024 = 2.63 MB 存儲空間。

YUV 顏色編碼

YUV 顏色編碼採用的是 明亮度色度 來指定像素的顏色。

其中,Y 表示明亮度(Luminance、Luma),而 U 和 V 表示色度(Chrominance、Chroma)。

而色度又定義了顏色的兩個方面:色調和飽和度。

使用 YUV 顏色編碼表示一幅圖像,它應該下面這樣的:

和 RGB 表示圖像類似,每個像素點都包含 Y、U、V 分量。但是它的 Y 和 UV 分量是可以分離的,如果沒有 UV 分量一樣可以顯示完整的圖像,只不過是黑白的。

對於 YUV 圖像來說,並不是每個像素點都需要包含了 Y、U、V 三個分量,根據不同的採樣格式,可以每個 Y 分量都對應自己的 UV 分量,也可以幾個 Y 分量共用 UV 分量。

RGB 到 YUV 的轉換

對於圖像顯示器來說,它是通過 RGB 模型來顯示圖像的,而在傳輸圖像數據時又是使用 YUV 模型,這是因爲 YUV 模型可以節省帶寬。因此就需要採集圖像時將 RGB 模型轉換到 YUV 模型,顯示時再將 YUV 模型轉換爲 RGB 模型。

RGB 到 YUV 的轉換,就是將圖像所有像素點的 R、G、B 分量轉換到 Y、U、V 分量。

有如下公式進行轉換:

此時的轉換結束後,每個像素點都有完整的 Y、U、V 分量。而之前提到 Y 和 UV 分量是可以分離的,接下來通過不同的採樣方式,可以將圖像的 Y、U、V 分量重新組合。

接下來的不同採樣格式都是在一張圖像所有像素的 RGB 轉換到 YUV 基礎上進行的。

YUV 採樣格式

YUV 圖像的主流採樣方式有如下三種:

  • YUV 4:4:4 採樣
  • YUV 4:2:2 採樣
  • YUV 4:2:0 採樣

YUV 4:4:4 採樣

YUV 4:4:4 採樣,意味着 Y、U、V 三個分量的採樣比例相同,因此在生成的圖像裏,每個像素的三個分量信息完整,都是 8 bit,也就是一個字節。

如下圖所示:

其中,Y 分量用叉表示,UV 分量用圓圈表示。

舉個例子 :

假如圖像像素爲:[Y0 U0 V0][Y1 U1 V1][Y2 U2 V2][Y3 U3 V3]

那麼採樣的碼流爲:Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3 

最後映射出的像素點依舊爲 [Y0 U0 V0][Y1 U1 V1][Y2 U2 V2][Y3 U3 V3] 

可以看到這種採樣方式的圖像和 RGB 顏色模型的圖像大小是一樣,並沒有達到節省帶寬的目的,當將 RGB 圖像轉換爲 YUV 圖像時,也是先轉換爲 YUV 4:4:4 採樣的圖像。

YUV 4:2:2 採樣

YUV 4:2:2 採樣,意味着 UV 分量是 Y 分量採樣的一半,Y 分量和 UV 分量按照 2 : 1 的比例採樣。如果水平方向有 10 個像素點,那麼採樣了 10 個 Y 分量,而只採樣了 5 個 UV 分量。

如下圖所示:

其中,Y 分量用叉表示,UV 分量用圓圈表示。

 舉個例子 :
  
 假如圖像像素爲:[Y0 U0 V0][Y1 U1 V1][Y2 U2 V2][Y3 U3 V3]

 那麼採樣的碼流爲:Y0 U0 Y1 V1 Y2 U2 Y3 V3 

 其中,每採樣過一個像素點,都會採樣其 Y 分量,而 UV 分量就會間隔一個採集一個。

 最後映射出的像素點爲 [Y0 U0 V1][Y1 U0 V1][Y2 U2 V3][Y3 U2 V3]

採樣的碼流映射爲像素點,還是要滿足每個像素點有 Y、U、V 三個分量。但是可以看到,第一和第二像素點公用了 U0、V1 分量,第三和第四個像素點公用了 U2、V3 分量,這樣就節省了圖像空間。

一張 1280 * 720 大小的圖片,在 YUV 4:2:2 採樣時的大小爲:

(1280 * 720 * 8 + 1280 * 720 * 0.5 * 8 * 2)/ 8 / 1024 / 1024 = 1.76 MB 。

可以看到 YUV 4:2:2 採樣的圖像比 RGB 模型圖像節省了三分之一的存儲空間,在傳輸時佔用的帶寬也會隨之減少。

YUV 4:2:0 採樣

YUV 4:2:0 採樣,並不是指只採樣 U 分量而不採樣 V 分量。而是指,在每一行掃描時,只掃描一種色度分量(U 或者 V),和 Y 分量按照 2 : 1 的方式採樣。比如,第一行掃描時,YU 按照 2 : 1 的方式採樣,那麼第二行掃描時,YV 分量按照 2:1 的方式採樣。對於每個色度分量來說,它的水平方向和豎直方向的採樣和 Y 分量相比都是 2:1 。

如下圖所示:

其中,Y 分量用叉表示,UV 分量用圓圈表示。

假設第一行掃描了 U 分量,第二行掃描了 V 分量,那麼需要掃描兩行才能夠組成完整的 UV 分量。

舉個例子 :
 
假設圖像像素爲:
 
[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
 
其中,每採樣過一個像素點,都會採樣其 Y 分量,而 UV 分量就會間隔一行按照 2 : 1 進行採樣。
 
最後映射出的像素點爲:

[Y0 U0 V5][Y1 U0 V5][Y2 U2 V7][Y3 U2 V7]
[Y5 U0 V5][Y6 U0 V5][Y7 U2 V7][Y8 U2 V7]

從映射出的像素點中可以看到,四個 Y 分量是共用了一套 UV 分量,而且是按照 2*2 的小方格的形式分佈的,相比 YUV 4:2:2 採樣中兩個 Y 分量共用一套 UV 分量,這樣更能夠節省空間。

一張 1280 * 720 大小的圖片,在 YUV 4:2:0 採樣時的大小爲:

(1280 * 720 * 8 + 1280 * 720 * 0.25 * 8 * 2)/ 8 / 1024 / 1024 = 1.32 MB 。

可以看到 YUV 4:2:0 採樣的圖像比 RGB 模型圖像節省了一半的存儲空間,因此它也是比較主流的採樣方式。

YUV 存儲格式

說完了採樣,接下來就是如何把採樣的數據存儲起來。

YUV 的存儲格式,有兩種:

  • planar 平面格式
  • 指先連續存儲所有像素點的 Y 分量,然後存儲 U 分量,最後是 V 分量。
  • packed 打包模式
    • 指每個像素點的 Y、U、V 分量是連續交替存儲的。

    根據採樣方式和存儲格式的不同,就有了多種 YUV 格式。這些格式主要是基於 YUV 4:2:2 和 YUV 4:2:0 採樣。

    常見的基於 YUV 4:2:2 採樣的格式如下表:

    YUV 4:2:2 採樣
    YUYV 格式 UYVY 格式 YUV 422P 格式

    常見的基於 YUV 4:2:0 採樣的格式如下表:

    YUV 4:2:0 採樣 YUV 4:2:0 採樣
    YUV 420P 類型 YV12 格式 YU12 格式 YUV 420SP 類型 NV12 格式 NV21 格式

    更多的 YUV 格式信息參考這裏:YUV pixel formats

    基於 YUV 4:2:2 採樣的格式

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

    YUYV 格式

    YUYV 格式是採用打包格式進行存儲的,指每個像素點都採用 Y 分量,但是每隔一個像素採樣它的 UV 分量,排列順序如下:

    Y0 UO Y1 V0 Y2 U2 Y3 V2

    Y0 和 Y1 公用 U0 V0 分量,Y2 和 Y3 公用 U2 V2 分量….

    UYVY 格式

    UYVY 格式也是採用打包格式進行存儲,它的順序和 YUYV 相反,先採用 U 分量再採樣 Y 分量,排列順序如下:

    U0 Y0 V0 Y1 U2 Y2 V2 Y3

    Y0 和 Y1 公用 U0 V0 分量,Y2 和 Y3 公用 U2 V2 分量….

    根據 UV 和 Y 的順序還有其他格式,比如,YVYU 格式,VYUY 格式等等,原理大致一樣了。

    YUV 422P 格式

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

    基於 YUV 4:2:0 採樣的格式

    基於 YUV 4:2:0 採樣的格式主要有 YUV 420P 和 YUV 420SP 兩種類型,每個類型又對應其他具體格式。

    • YUV 420P 類型
    • YU12 格式
    • YV12 格式
  • YUV 420SP 類型
    • NV12 格式
    • NV21 格式

    YUV 420P 和 YUV 420SP 都是基於 Planar 平面模式 進行存儲的,先存儲所有的 Y 分量後, YUV420P 類型就會先存儲所有的 U 分量或者 V 分量,而 YUV420SP 則是按照 UV 或者 VU 的交替順序進行存儲了,具體查看看下圖:

    YUV420SP 的格式:

    YUV420P 的格式:

    YU12 和 YV12 格式

    YU12 和 YV12 格式都屬於 YUV 420P 類型,即先存儲 Y 分量,再存儲 U、V 分量,區別在於:YU12 是先 Y 再 U 後 V,而 YV12 是先 Y 再 V 後 U 。

    YV 12 的存儲格式如下圖所示:

    YU 12 又稱作 I420 格式,它的存儲格式就是把 V 和 U 反過來了。

    NV12 和 NV21 格式

    NV12 和 NV21 格式都屬於 YUV420SP 類型。它也是先存儲了 Y 分量,但接下來並不是再存儲所有的 U 或者 V 分量,而是把 UV 分量交替連續存儲。

    NV12 是 IOS 中有的模式,它的存儲順序是先存 Y 分量,再 UV 進行交替存儲。

    NV21 是 安卓 中有的模式,它的存儲順序是先存 Y 分量,在 VU 交替存儲。

    小結

    以上就是關於 YUV 的知識總結,你有看明白了嘛?

    參考

    1. https://blog.csdn.net/grow_mature/article/details/9004548
    2. http://www.cnblogs.com/azraelly/archive/2013/01/01/2841269.html
    3. https://blog.csdn.net/MrJonathan/article/details/17718761
    4. https://blog.csdn.net/wudebao5220150/article/details/13295603
    5. https://msdn.microsoft.com/zh-cn/library/ms867704.aspx
    6. https://www.fourcc.org/yuv.php
          <div class="entry-shang text-center">
    <p>「真誠讚賞,手留餘香」</p>
    <button class="zs show-zs btn btn-bred">讚賞</button>
    
    × Glumes

    請我喝杯咖啡?

    2元 5元 10元 50元 100元 任意金額
    2元

    使用微信掃描二維碼完成支付

                  <h4>歡迎掃碼關注微信公衆號:【音視頻開發進階】,獲得最新文章推送~~~</h4>
    
                  <img src="https://ae01.alicdn.com/kf/U208b714bc7734ca99a743cf8c49a9b951.png">
    
                  <br>
    
                
    
    
                
    
                原創文章,轉載請註明來源: &nbsp;&nbsp; <a href="https://glumes.com/post/ffmpeg/understand-yuv-format/">一文讀懂 YUV 的採樣與格式</a>
    
                
    
                
    
    
        
        <div class="social-share share-component" data-initialized="true" style="margin-bottom: 20px;margin-top:20px;">
    <center>
    <a href="http://service.weibo.com/share/share.php?url=https%3A%2F%2Fglumes.com%2Fpost%2Fffmpeg%2Funderstand-yuv-format%2F&amp;title=%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%20YUV%20%E7%9A%84%E9%87%87%E6%A0%B7%E4%B8%8E%E6%A0%BC%E5%BC%8F&amp;pic=https%3A%2F%2Fimage.glumes.com%2Fimages%2F2019%2F04%2F27%2Fbc32fd77gy1fvf996wfvaj20l00gy772.jpg&amp;appkey=" class="social-share-icon icon-weibo" target="_blank"></a>
    <a href="javascript:" class="social-share-icon icon-wechat"><div class="wechat-qrcode"><h4>微信掃一掃:分享</h4><div class="qrcode" title="https://glumes.com/post/ffmpeg/understand-yuv-format/"><canvas width="100" height="100" style="display: none;"></canvas><img alt="Scan me!" src="data:image/png;base64,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" style="display: block;"></div><div class="help"><p>微信裏點“發現”,掃一下</p><p>二維碼便可將本文分享至朋友圈。</p></div></div></a>
    <a href="https://twitter.com/intent/tweet?text=%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%20YUV%20%E7%9A%84%E9%87%87%E6%A0%B7%E4%B8%8E%E6%A0%BC%E5%BC%8F&amp;url=https%3A%2F%2Fglumes.com%2Fpost%2Fffmpeg%2Funderstand-yuv-format%2F&amp;via=https%3A%2F%2Fglumes.com" class="social-share-icon icon-twitter" target="_blank"></a>
    <a href="http://www.linkedin.com/shareArticle?mini=true&amp;ro=true&amp;title=%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%20YUV%20%E7%9A%84%E9%87%87%E6%A0%B7%E4%B8%8E%E6%A0%BC%E5%BC%8F&amp;url=https%3A%2F%2Fglumes.com%2Fpost%2Fffmpeg%2Funderstand-yuv-format%2F&amp;summary=YUV%20%E6%98%AF%E4%B8%80%E7%A7%8D%E9%A2%9C%E8%89%B2%E7%BC%96%E7%A0%81%E6%96%B9%E6%B3%95%EF%BC%8C%E5%92%8C%E5%AE%83%E7%AD%89%E5%90%8C%E7%9A%84%E8%BF%98%E6%9C%89%20RGB%20%E9%A2%9C%E8%89%B2%E7%BC%96%E7%A0%81%E6%96%B9%E6%B3%95%E3%80%82&amp;source=%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%20YUV%20%E7%9A%84%E9%87%87%E6%A0%B7%E4%B8%8E%E6%A0%BC%E5%BC%8F&amp;armin=armin" class="social-share-icon icon-linkedin" target="_blank"></a>
    <a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fglumes.com%2Fpost%2Fffmpeg%2Funderstand-yuv-format%2F" class="social-share-icon icon-facebook" target="_blank"></a>
    <a href="http://connect.qq.com/widget/shareqq/index.html?url=https%3A%2F%2Fglumes.com%2Fpost%2Fffmpeg%2Funderstand-yuv-format%2F&amp;title=%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%20YUV%20%E7%9A%84%E9%87%87%E6%A0%B7%E4%B8%8E%E6%A0%BC%E5%BC%8F&amp;source=%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%20YUV%20%E7%9A%84%E9%87%87%E6%A0%B7%E4%B8%8E%E6%A0%BC%E5%BC%8F&amp;desc=YUV%20%E6%98%AF%E4%B8%80%E7%A7%8D%E9%A2%9C%E8%89%B2%E7%BC%96%E7%A0%81%E6%96%B9%E6%B3%95%EF%BC%8C%E5%92%8C%E5%AE%83%E7%AD%89%E5%90%8C%E7%9A%84%E8%BF%98%E6%9C%89%20RGB%20%E9%A2%9C%E8%89%B2%E7%BC%96%E7%A0%81%E6%96%B9%E6%B3%95%E3%80%82&amp;pics=https%3A%2F%2Fimage.glumes.com%2Fimages%2F2019%2F04%2F27%2Fbc32fd77gy1fvf996wfvaj20l00gy772.jpg" class="social-share-icon icon-qq" target="_blank"></a>
    <a href="http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=https%3A%2F%2Fglumes.com%2Fpost%2Fffmpeg%2Funderstand-yuv-format%2F&amp;title=%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%20YUV%20%E7%9A%84%E9%87%87%E6%A0%B7%E4%B8%8E%E6%A0%BC%E5%BC%8F&amp;desc=YUV%20%E6%98%AF%E4%B8%80%E7%A7%8D%E9%A2%9C%E8%89%B2%E7%BC%96%E7%A0%81%E6%96%B9%E6%B3%95%EF%BC%8C%E5%92%8C%E5%AE%83%E7%AD%89%E5%90%8C%E7%9A%84%E8%BF%98%E6%9C%89%20RGB%20%E9%A2%9C%E8%89%B2%E7%BC%96%E7%A0%81%E6%96%B9%E6%B3%95%E3%80%82&amp;summary=YUV%20%E6%98%AF%E4%B8%80%E7%A7%8D%E9%A2%9C%E8%89%B2%E7%BC%96%E7%A0%81%E6%96%B9%E6%B3%95%EF%BC%8C%E5%92%8C%E5%AE%83%E7%AD%89%E5%90%8C%E7%9A%84%E8%BF%98%E6%9C%89%20RGB%20%E9%A2%9C%E8%89%B2%E7%BC%96%E7%A0%81%E6%96%B9%E6%B3%95%E3%80%82&amp;site=%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%20YUV%20%E7%9A%84%E9%87%87%E6%A0%B7%E4%B8%8E%E6%A0%BC%E5%BC%8F" class="social-share-icon icon-qzone" target="_blank"></a>
    </center>
    
      </article>
    
    發表評論
    所有評論
    還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
    相關文章