本文均為原文截取片段。文中我在原文作者的內(nèi)容上再補(bǔ)充一些注釋,對(duì)重點(diǎn)也會(huì)以紅色字體標(biāo)記出來(lái)拨黔。
四,視頻編碼
4.1,顏色空間
YCbCr色彩空間和它的變形(有時(shí)被稱為YUV)是最常用的有效的表示彩色圖像的方法。Y是圖像的亮度(luminance/luma)分量,使用以下公式計(jì)算搁拙,為R,G,B分量的加權(quán)平均值:
Y = kr R + kgG + kbB
其中k是權(quán)重因數(shù)。
其中每個(gè)色差分量為R,G,B值和亮度Y的差值:
Cb = B -Y(注釋:藍(lán)色的色差)
Cr? = R -Y
Cg = G- Y
其中,Cb+Cr+Cg是一個(gè)常數(shù)(其實(shí)是一個(gè)關(guān)于Y的表達(dá)式)箕速,所以酪碘,只需要其中兩個(gè)數(shù)值結(jié)合Y值就能夠計(jì)算出原來(lái)的RGB值。所以盐茎,我們僅保存亮度和藍(lán)色兴垦、紅色的色差值,這就是(Y,Cb,Cr)字柠。
相比RGB色彩空間探越,YCbCr色彩空間有一個(gè)顯著的優(yōu)點(diǎn)。Y的存儲(chǔ)可以采用和原來(lái)畫面一樣的分辨率募谎,但是Cb,Cr的存儲(chǔ)可以使用更低的分辨率心墅。
在RGB格式中咽白,對(duì)于寬度為w,高度為h的畫面冰悠,需要w*h*3個(gè)字節(jié)(注釋:一個(gè)像素用1個(gè)字節(jié))來(lái)存儲(chǔ)其每個(gè)像素的rgb信息操灿,畫面的像素?cái)?shù)據(jù)是連續(xù)排列的.
在YUV格式中,以YUV420格式為例拐纱。寬度為w高度為h的畫面铜异,其亮度Y數(shù)據(jù)需要w*h個(gè)字節(jié)來(lái)表示(每個(gè)像素點(diǎn)一個(gè)亮度)。而Cb和Cr數(shù)據(jù)則是畫面中4個(gè)像素共享一個(gè)Cb,Cr值秸架。這樣Cb用w*h/4個(gè)字節(jié)揍庄,Cr用w*h/4個(gè)字節(jié)。
YUV的優(yōu)點(diǎn):
1东抹、YUV表示法的重要性是它的亮度信號(hào)(Y)和色度信號(hào)(U蚂子、V)是相互獨(dú)立的 。
2缭黔、YUV表示法的另一個(gè)優(yōu)點(diǎn)是可以利用人眼的特性來(lái)降低數(shù)字彩色圖像所需要的存儲(chǔ)容量食茎。
————————————————
版權(quán)聲明:本文為CSDN博主「~HardBoy~」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議馏谨,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明别渔。
原文鏈接:https://blog.csdn.net/fanzonghao/article/details/89702742
4.yuv采樣
yuv的采樣是uv的采樣率比y低,但又不會(huì)降低視覺(jué)質(zhì)量惧互,因?yàn)槿搜蹖?duì)于亮度會(huì)敏感度較高哎媚,對(duì)于彩色信息的敏感度較低,色度信號(hào)并不是用全分辨率存儲(chǔ)的喊儡,所以沒(méi)必要全采樣拨与。
目前有YUV444,YUV422艾猜,YUV420截珍,YUV411等采樣方式攀甚。
YUV444:表示每4點(diǎn)Y采樣(注釋:我理解采樣就是對(duì)一幀畫面的像素做采樣),就有4點(diǎn)Cb和4點(diǎn)Cr岗喉,每個(gè)象素都有與之對(duì)應(yīng)的色度和亮度采樣信息;
YUV422:表示每4點(diǎn)Y采樣炸庞,就有2點(diǎn)Cb和2點(diǎn)Cr钱床,當(dāng)4:2:2信號(hào)被解碼的時(shí)候,“缺失”的色度采樣埠居,通常由一定的內(nèi)插補(bǔ)點(diǎn)算法通過(guò)它兩側(cè)的色度信息運(yùn)算補(bǔ)充查牌;
YUV420:按照字面上理解,4:2:0應(yīng)該是每4點(diǎn)Y采樣滥壕,就有2點(diǎn)Cb和0點(diǎn)Cr纸颜,但事實(shí)上完全不是 這樣。事實(shí)上绎橘,4:2:0的意思是胁孙,色度采樣在每條橫向掃描線上只有亮度采樣的一半,掃描線的條數(shù)上称鳞,也只有亮度的一半涮较!換句話說(shuō),無(wú)論是橫向還是縱向冈止, 色度信號(hào)的分辨率都只有亮度信號(hào)的一半狂票。舉個(gè)例子,如果整張畫面的尺寸是720*480熙暴,那么亮度信號(hào)是720*480闺属,色度信號(hào)只有360*240。在 4:2:0中周霉,“缺失”的色度采樣不單單要由左右相鄰的采樣通過(guò)內(nèi)插補(bǔ)點(diǎn)計(jì)算補(bǔ)充掂器,整行的色度采樣也要通過(guò)它上下兩行的色度采樣通過(guò)內(nèi)插補(bǔ)點(diǎn)運(yùn)算獲得
YUV411:表示每4點(diǎn)Y采樣,就有1點(diǎn)Cb和1點(diǎn)Cr,但不是主流的采樣方式诗眨,這里不祥解唉匾;
————————————————
版權(quán)聲明:本文為CSDN博主「異界工程師」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議匠楚,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明巍膘。
原文鏈接:https://blog.csdn.net/huayu_huayu/article/details/82189324
4:4:4
表示色度沒(méi)有下采樣, 每一個(gè)Y對(duì)應(yīng)一組UV分量 即每一個(gè)像素都有 y u v 分量芋簿, 沒(méi)有下采樣峡懈, 跟rgb一樣,用的較少与斤。
如圖肪康, 圓圈為uv分量荚恶,叉為y分量, 它們的對(duì)應(yīng)關(guān)系為一對(duì)一磷支, 這圖好多博客里有谒撼, 源自微軟對(duì)yuv的官方說(shuō)明, 我看這圖也蒙了好久雾狈, 這是怎么存的呢廓潜, 想了好久這圖跟存儲(chǔ)沒(méi)有任何關(guān)系,就是代表對(duì)應(yīng)關(guān)系善榛,如何存儲(chǔ)就是看FOURCC和packed辩蛋、planar。
4:2:2
表示2:1的水平下采樣移盆,沒(méi)有豎直下采樣悼院。每條掃描線包含4個(gè)y對(duì)應(yīng)2個(gè)u或者v。即每?jī)蓚€(gè)Y共用一組UV分量
4:2:0
表示2:1的水平下采樣咒循, 2:1的豎直下采樣据途,每四個(gè)Y共用一組UV分量, 這4個(gè)y不是一條線上的4個(gè)是一個(gè)正方形的4個(gè)剑鞍,
它有兩種對(duì)應(yīng)關(guān)系昨凡, 一種是mpeg1 一種是mpeg2
上圖為mpeg1規(guī)定的對(duì)應(yīng)方式
上圖為mpeg2規(guī)定的對(duì)應(yīng)方式
————————————————
版權(quán)聲明:本文為CSDN博主「劉長(zhǎng)福」的原創(chuàng)文章蚁署,遵循CC 4.0 BY-SA版權(quán)協(xié)議便脊,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u012618915/article/details/102822917
注釋:
視頻原文件每一幀每一個(gè)像素其實(shí)就用顏色光戈,而且就是由RGB三種顏色的混合哪痰。由于人眼對(duì)亮度比較敏感,對(duì)色度并不是那么敏感久妆,因此可以對(duì)RGB做編碼晌杰,計(jì)算出亮度Y,然后色度只需計(jì)算出色差就行筷弦,反正將來(lái)解碼時(shí)可以根據(jù)色差還原出原色肋演。把RGB換算成YUV后,每一幀畫面的大小就大大減小了烂琴。
對(duì)于YUV4:2:0而言爹殊,轉(zhuǎn)換為YUV格式時(shí),一幀的所有像素點(diǎn)都要采樣亮度奸绷,而且是每采樣4個(gè)像素點(diǎn)梗夸,這4個(gè)像素點(diǎn)是2 X 2的正方形,也就是水平上采樣2個(gè)像素點(diǎn)号醉,垂直上采樣2個(gè)像素點(diǎn)反症,U和V采樣個(gè)數(shù)是水平和垂直上的Y的一半辛块,這么一算在這個(gè)正方形中就只有一個(gè)U分量和一個(gè)V分量。