溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

視頻幀類型及區(qū)別

發(fā)布時(shí)間:2020-07-14 14:22:40 來(lái)源:網(wǎng)絡(luò) 閱讀:1149 作者:吳之恒心 欄目:開(kāi)發(fā)技術(shù)

I幀:幀內(nèi)編碼幀
I幀特點(diǎn):
1.它是一個(gè)全幀壓縮編碼幀。它將全幀圖像信息進(jìn)行JPEG壓縮編碼及傳輸;
2.解碼時(shí)僅用I幀的數(shù)據(jù)就可重構(gòu)完整圖像;
3.I幀描述了圖像背景和運(yùn)動(dòng)主體的詳情;
4.I幀不需要參考其他畫面而生成;
5.I幀是P幀和B幀的參考幀(其質(zhì)量直接影響到同組中以后各幀的質(zhì)量);
6.I幀是幀組GOP的基礎(chǔ)幀(第一幀),在一組中只有一個(gè)I幀;
7.I幀不需要考慮運(yùn)動(dòng)矢量;
8.I幀所占數(shù)據(jù)的信息量比較大。

P幀:前向預(yù)測(cè)編碼幀。
P幀的預(yù)測(cè)與重構(gòu):P幀是以I幀為參考幀,在I幀中找出P幀“某點(diǎn)”的預(yù)測(cè)值和運(yùn)動(dòng)矢量,取預(yù)測(cè)差值和運(yùn)動(dòng)矢量一起傳送。在接收端根據(jù)運(yùn)動(dòng)矢量從I幀中找出P幀“某點(diǎn)”的預(yù)測(cè)值并與差值相加以得到P幀“某點(diǎn)”樣值,從而可得到完整的P幀。
P幀特點(diǎn):
1.P幀是I幀后面相隔1~2幀的編碼幀;
2.P幀采用運(yùn)動(dòng)補(bǔ)償?shù)姆椒▊魉退c前面的I或P幀的差值及運(yùn)動(dòng)矢量(預(yù)測(cè)誤差);
3.解碼時(shí)必須將I幀中的預(yù)測(cè)值與預(yù)測(cè)誤差求和后才能重構(gòu)完整的P幀圖像;
4.P幀屬于前向預(yù)測(cè)的幀間編碼。它只參考前面最靠近它的I幀或P幀;
5.P幀可以是其后面P幀的參考幀,也可以是其前后的B幀的參考幀;
6.由于P幀是參考幀,它可能造成解碼錯(cuò)誤的擴(kuò)散;
7.由于是差值傳送,P幀的壓縮比較高。

B幀:雙向預(yù)測(cè)內(nèi)插編碼幀。
B幀的預(yù)測(cè)與重構(gòu)
B幀以前面的I或P幀和后面的P幀為參考幀,“找出”B幀“某點(diǎn)”的預(yù)測(cè)值和兩個(gè)運(yùn)動(dòng)矢量,并取預(yù)測(cè)差值和運(yùn)動(dòng)矢量傳送。接收端根據(jù)運(yùn)動(dòng)矢量在兩個(gè)參考幀中“找出(算出)”預(yù)測(cè)值并與差值求和,得到B幀“某點(diǎn)”樣值,從而可得到完整的B幀。
B幀特點(diǎn)
1.B幀是由前面的I或P幀和后面的P幀來(lái)進(jìn)行預(yù)測(cè)的;
2.B幀傳送的是它與前面的I或P幀和后面的P幀之間的預(yù)測(cè)誤差及運(yùn)動(dòng)矢量;
3.B幀是雙向預(yù)測(cè)編碼幀;
4.B幀壓縮比最高,因?yàn)樗环从潮麉⒖紟g運(yùn)動(dòng)主體的變化情況,預(yù)測(cè)比較準(zhǔn)確;
5.B幀不是參考幀,不會(huì)造成解碼錯(cuò)誤的擴(kuò)散。


例如
亮度變化 ->I B P 7 8 9
如果 B 只參考前一個(gè)畫面壓縮,則需記錄差值 1。如果以 (I + P)/2 壓縮,則差值為 0,不需記錄差值。(雖然要記錄兩個(gè)矢量,不過(guò)矢量也可以再做進(jìn)一步預(yù)測(cè)壓縮,總的來(lái)說(shuō),還是會(huì)比單獨(dú)參考前一個(gè)畫面壓縮來(lái)得小很多)如果畫面不是這樣變化怎么辦?通常來(lái)講畫面都會(huì)是這樣變化,如果不是這樣變化我們就不使用 B 幀 就算變化不是如此規(guī)則,換個(gè)方式想,B 幀可以參考的畫面還是比 P 幀多,再怎么找,也還是 B 幀可以找到誤差更小的方塊來(lái)使用的機(jī)率大(因?yàn)榭梢赃x擇、參考的對(duì)象較多),所以 B 幀還是比 P 幀的壓縮率來(lái)得高。(而且高很多,差距非常大)


除了壓縮率以外,B 幀對(duì)畫質(zhì)的影響.....是有的,因?yàn)?B 幀這種參考前后畫面的特性,等于有內(nèi)插(interpolation)的效果,所以可以減少噪訊。MPEG-4 中的 B 幀,也是非常具有威力的,除了以前的三種參考模式,還有 Direct Mode,連矢量的紀(jì)錄都省了。雖然 MPEG-4 之中有 4MV 的功能,可以記錄四個(gè)矢量,不過(guò)編碼器在壓縮的時(shí)候會(huì)判斷,到底是使用 4MV 壓出來(lái)的結(jié)果小,還是使用傳統(tǒng)的方法壓出來(lái)的結(jié)果小?如果使用傳統(tǒng)的方法壓出來(lái)的結(jié)果小,便使用傳統(tǒng)的方法記錄,如果使用 4MV 壓出來(lái)的結(jié)果小,才使用 4MV 來(lái)記錄。(ps. 4MV 不會(huì)用在 backward 預(yù)測(cè))您可以觀察 VirtualDub 壓縮時(shí)畫面上顯示的藍(lán)線,您會(huì)發(fā)現(xiàn)藍(lán)線和藍(lán)線之間通常會(huì)有很短的藍(lán)線插在中間,造成空隙,而且差距很大,這個(gè)就是夾在 P 之間的 B 在發(fā)揮壓縮威力如果是用 DivX 5 更明顯,因?yàn)?DivX 5 只能夠使用 IBPBPBPB... 這種一個(gè) B 接一個(gè) P 的形式,所以畫面上的藍(lán)線就是「一長(zhǎng)一短、一長(zhǎng)一短」這樣排列。

I 幀與IDR幀的區(qū)別

舉個(gè)例子,在一段視頻中,
存在以下幀:I P B P B P B B P I P B…
如果這段視頻應(yīng)用了多重參照幀,那么藍(lán)色的P 幀在參照他前面的I 幀(紅色)的同時(shí),還可能會(huì)參
照I 幀之前的P 幀(綠色),由于I 幀前后的場(chǎng)景可能會(huì)有很大的反差甚至根本不同,所以此時(shí)P 幀參考I
幀之前的幀不但會(huì)沒(méi)有意義,反而會(huì)造成很多問(wèn)題。
所以一種新型的幀被引入,那就是IDR 幀。如果這段視頻應(yīng)用了多重參考幀的同時(shí)采用了IDR 幀,那
么幀的順序就會(huì)變成這樣:I P B P B P B B P IDR P B…
由于IDR 幀禁止后面的幀向自己前面的幀參照,所以這回那個(gè)藍(lán)色的P 幀就不會(huì)參照綠色的P 幀了。


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI