YUV基礎知識(轉)

本文均為原文截取片段。文中我在原文作者的內容上再補充一些注釋,對重點也會以紅色字體標記出來。


四,視頻編碼

4.1,顏色空間

YCbCr色彩空間和它的變形(有時被稱為YUV)是最常用的有效的表示彩色圖像的方法。Y是圖像的亮度(luminance/luma)分量,使用以下公式計算,為R,G,B分量的加權平均值:

Y = kr R + kgG + kbB

其中k是權重因數(shù)。

其中每個色差分量為R,G,B值和亮度Y的差值:

Cb = B -Y(注釋:藍色的色差)

Cr? = R -Y

Cg = G- Y

其中,Cb+Cr+Cg是一個常數(shù)(其實是一個關于Y的表達式),所以,只需要其中兩個數(shù)值結合Y值就能夠計算出原來的RGB值。所以,我們僅保存亮度和藍色、紅色的色差值,這就是(Y,Cb,Cr)。

相比RGB色彩空間,YCbCr色彩空間有一個顯著的優(yōu)點。Y的存儲可以采用和原來畫面一樣的分辨率,但是Cb,Cr的存儲可以使用更低的分辨率。

在RGB格式中,對于寬度為w,高度為h的畫面,需要w*h*3個字節(jié)(注釋:一個像素用1個字節(jié))來存儲其每個像素的rgb信息,畫面的像素數(shù)據(jù)是連續(xù)排列的.

在YUV格式中,以YUV420格式為例。寬度為w高度為h的畫面,其亮度Y數(shù)據(jù)需要w*h個字節(jié)來表示(每個像素點一個亮度)。而Cb和Cr數(shù)據(jù)則是畫面中4個像素共享一個Cb,Cr值。這樣Cb用w*h/4個字節(jié),Cr用w*h/4個字節(jié)。

YUV的優(yōu)點:

1、YUV表示法的重要性是它的亮度信號(Y)和色度信號(U、V)是相互獨立的 。

2、YUV表示法的另一個優(yōu)點是可以利用人眼的特性來降低數(shù)字彩色圖像所需要的存儲容量。

————————————————

版權聲明:本文為CSDN博主「~HardBoy~」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權協(xié)議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/fanzonghao/article/details/89702742


4.yuv采樣

yuv的采樣是uv的采樣率比y低,但又不會降低視覺質量,因為人眼對于亮度會敏感度較高,對于彩色信息的敏感度較低,色度信號并不是用全分辨率存儲的,所以沒必要全采樣。

目前有YUV444,YUV422,YUV420,YUV411等采樣方式。

YUV444:表示每4點Y采樣(注釋:我理解采樣就是對一幀畫面的像素做采樣),就有4點Cb和4點Cr,每個象素都有與之對應的色度和亮度采樣信息;

YUV422:表示每4點Y采樣,就有2點Cb和2點Cr,當4:2:2信號被解碼的時候,“缺失”的色度采樣,通常由一定的內插補點算法通過它兩側的色度信息運算補充;

YUV420:按照字面上理解,4:2:0應該是每4點Y采樣,就有2點Cb和0點Cr,但事實上完全不是 這樣。事實上,4:2:0的意思是,色度采樣在每條橫向掃描線上只有亮度采樣的一半,掃描線的條數(shù)上,也只有亮度的一半!換句話說,無論是橫向還是縱向, 色度信號的分辨率都只有亮度信號的一半。舉個例子,如果整張畫面的尺寸是720*480,那么亮度信號是720*480,色度信號只有360*240。在 4:2:0中,“缺失”的色度采樣不單單要由左右相鄰的采樣通過內插補點計算補充,整行的色度采樣也要通過它上下兩行的色度采樣通過內插補點運算獲得

YUV411:表示每4點Y采樣,就有1點Cb和1點Cr,但不是主流的采樣方式,這里不祥解;

————————————————

版權聲明:本文為CSDN博主「異界工程師」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權協(xié)議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/huayu_huayu/article/details/82189324


4:4:4

表示色度沒有下采樣, 每一個Y對應一組UV分量 即每一個像素都有 y u v 分量, 沒有下采樣, 跟rgb一樣,用的較少。

如圖, 圓圈為uv分量,叉為y分量, 它們的對應關系為一對一, 這圖好多博客里有, 源自微軟對yuv的官方說明, 我看這圖也蒙了好久, 這是怎么存的呢, 想了好久這圖跟存儲沒有任何關系,就是代表對應關系,如何存儲就是看FOURCC和packed、planar。

4:2:2

表示2:1的水平下采樣,沒有豎直下采樣。每條掃描線包含4個y對應2個u或者v。即每兩個Y共用一組UV分量

4:2:0

表示2:1的水平下采樣, 2:1的豎直下采樣,每四個Y共用一組UV分量, 這4個y不是一條線上的4個是一個正方形的4個,

它有兩種對應關系, 一種是mpeg1 一種是mpeg2

上圖為mpeg1規(guī)定的對應方式

上圖為mpeg2規(guī)定的對應方式

————————————————

版權聲明:本文為CSDN博主「劉長?!沟脑瓌?chuàng)文章,遵循CC 4.0 BY-SA版權協(xié)議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/u012618915/article/details/102822917

注釋:

視頻原文件每一幀每一個像素其實就用顏色,而且就是由RGB三種顏色的混合。由于人眼對亮度比較敏感,對色度并不是那么敏感,因此可以對RGB做編碼,計算出亮度Y,然后色度只需計算出色差就行,反正將來解碼時可以根據(jù)色差還原出原色。把RGB換算成YUV后,每一幀畫面的大小就大大減小了。

對于YUV4:2:0而言,轉換為YUV格式時,一幀的所有像素點都要采樣亮度,而且是每采樣4個像素點,這4個像素點是2 X 2的正方形,也就是水平上采樣2個像素點,垂直上采樣2個像素點,U和V采樣個數(shù)是水平和垂直上的Y的一半,這么一算在這個正方形中就只有一個U分量和一個V分量。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容