I帧、P帧、B帧
From:?http://xiaoq169.blog.sohu.com/66865917.html
1. I幀:幀內(nèi)編碼幀?
I幀特點(diǎn):
①它是一個(gè)全幀壓縮編碼幀。它將全幀圖像信息進(jìn)行JPEG壓縮編碼及傳輸。
②解碼時(shí)僅用I幀的數(shù)據(jù)就可重構(gòu)完整圖像。
③I幀描述了圖像背景和運(yùn)動(dòng)主體的詳情。
④I幀不需要參考其他畫面而生成。
⑤I幀是P幀和B幀的參考幀(其質(zhì)量直接影響到同組中以后各幀的質(zhì)量)。
⑥I幀是幀組GOP的基礎(chǔ)幀(第一幀),在一組中只有一個(gè)I幀。
⑦I幀不需要考慮運(yùn)動(dòng)矢量。
⑧I幀所占數(shù)據(jù)的信息量比較大。
2. P幀:前向預(yù)測(cè)編碼幀。
(1)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幀。?
(2)P幀特點(diǎn)
①P幀是I幀后面相隔1~2幀的編碼幀。
②P幀采用運(yùn)動(dòng)補(bǔ)償?shù)姆椒▊魉退c前面的I或P幀的差值及運(yùn)動(dòng)矢量(預(yù)測(cè)誤差)。
③解碼時(shí)必須將I幀中的預(yù)測(cè)值與預(yù)測(cè)誤差求和后才能重構(gòu)完整的P幀圖像。
④P幀屬于前向預(yù)測(cè)的幀間編碼。它只參考前面最靠近它的I幀或P幀。
⑤P幀可以是其后面P幀的參考幀,也可以是其前后的B幀的參考幀。
⑥由于P幀是參考幀,它可能造成解碼錯(cuò)誤的擴(kuò)散。
⑦由于是差值傳送,P幀的壓縮比較高。?
B幀:雙向預(yù)測(cè)內(nèi)插編碼幀。
(1)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幀。?
2)B幀特點(diǎn)
①B幀是由前面的I或P幀和后面的P幀來進(jìn)行預(yù)測(cè)的。
②B幀傳送的是它與前面的I或P幀和后面的P幀之間的預(yù)測(cè)誤差及運(yùn)動(dòng)矢量。
③B幀是雙向預(yù)測(cè)編碼幀。
④B幀壓縮比最高,因?yàn)樗环从潮麉⒖紟g運(yùn)動(dòng)主體的變化情況,預(yù)測(cè)比較準(zhǔn)確。
⑤B幀不是參考幀,不會(huì)造成解碼錯(cuò)誤的擴(kuò)散。
注:I、B、P各幀是根據(jù)壓縮算法的需要,是人為定義的,它們都是實(shí)實(shí)在在的物理幀,至于圖像中的哪一幀是I幀,是隨機(jī)的,一但確定了I幀,以后的各幀就嚴(yán)格按規(guī)定順序排列。
總結(jié)
- 上一篇: 安装kernel API的man手册
- 下一篇: 产品经理应该懂得的一点技术