音视频编解码: YUV采样格式中的YUV444,YUV422,YUV420理解
YUV各種采樣格式的說明
通常我們用RGB表示一種彩色。計算機系統里的LCD顯示的數據就是RGB來表示每個像素的顏色。
而在我們生活里,有黑白電視機與彩色電視機兩種,拍攝節目源時不可以用兩種不同的攝像機來存放兩種圖像數據。
所以為了兼容兩種電視機,專家就引入YUV格式代替RGB,其中Y表示亮度, U和V表示色差。 黑白電視機只用Y信號, 而彩色電視機可由YUV轉換成RGB再顯示顏色。
通常我們所用的YUV格式是 ITU-R 的標準 , 也叫YCbCr.
YUV是由RGB格式的數據轉換得來。
Y Y = 0.299 x R + 0.587 x G + 0.114 x B + 0 U Cb = -0.169 x R - 0.331 x G + 0.499 x B + 128 V Cr = 0.499 x R - 0.418 x G - 0.0813 x B + 128 Y Y = 0.299 x R + 0.587 x G + 0.114 x B + 0 U Cb = -0.169 x R - 0.331 x G + 0.499 x B + 128 V Cr = 0.499 x R - 0.418 x G - 0.0813 x B + 128///
YUV4:4:4?
其實就是YUV的數據各占用8位, 每個像素都由YUV組成
?
//
YUV4:2:2
其實絕大部分相鄰的兩個像素,數據差異應不大。所以為了節點空間便于存儲,丟失每個像素的部分數據。
專家研究表明我們人對亮度比較敏感,而對色彩不怎么敏感。所以每個像素的亮度Y數據是絕對不動的,而色差數據可以進行丟棄。
?
/
YUV4:2:0
專家們進一步研究表示,每一行的相鄰兩個像素與下一行同位置的兩個像素數據差異不大,可以進一步的丟數據。
YUV各種采樣格式的比較?
我們以一張大小為1280*720的圖像為例:
在RGB 圖像中,每個像素點都有紅、綠、藍三個原色,其中每種原色都占用 8 bit,也就是一個字節,那么一個像素點也就占用 24 bit,也就是三個字節。
一張 1280 * 720 大小的圖片,就占用 1280 * 720 * 3 / 1024 / 1024 = 2.63 MB 存儲空間。
【使用YUV4:4:4格式采樣的大小】
YUV4:4:4格式意味著Y、U、V三個分量的采集比例相同,因此在生成的圖像里,每個像素的三個分量信息完整,都是8bit,也就是一個字節。
那么它的采樣大小為
3 * 1280 * 720 / 1024 / 1024 = 2.63MB
與原始RGB圖像相比大小是一樣的。
【使用YUV4:2:2格式采樣的大小】
YUV4:2:2格式的采樣特征是在每相臨的兩個像素,一個丟棄U分量,一個丟棄V分量,那么它的采樣大小為:
(8 + 8) * 1280 * 720 / 8 / 1024 / 1024 = 1.76MB
可以看到 YUV 4:2:2 采樣的圖像比 RGB 模型圖像節省了三分之一的存儲空間,在傳輸時占用的帶寬也會隨之減少。
【使用YUV4:2:0格式采樣的大小】
YUV4:2:0格式的采樣特征是所有像素都保留Y分量,同一行的像素只保留U分量,或者是V分量,同一行中相臨的兩個像素只保留同一個Y分量或者U分量。
那么它的采樣大小為:
(8 * 1280 * 720 + 8 * 1280 * 720 / 2 / 2 + 8 * 1280 * 720 / 2 / 2) / 8 / 1024 / 1024 = 1.32MB
可以看到 YUV 4:2:0 采樣的圖像比 RGB 模型圖像節省了一半的存儲空間,因此它也是比較主流的采樣方式。
?
參考鏈接:
1.一文讀懂 YUV 的采樣與格式
2.最簡單解釋 YUV444,YUV422,YUV420中的4,2,0
?
轉載于:https://www.cnblogs.com/yongdaimi/p/10647005.html
總結
以上是生活随笔為你收集整理的音视频编解码: YUV采样格式中的YUV444,YUV422,YUV420理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过sort()方法实现升序和降序排列
- 下一篇: 给web请求加遮罩动画