HEVC I幀 P幀及B幀

2021-09-10 18:33:56 字數 1263 閱讀 6620

i和idr幀都是使用幀內**的。它們都是同乙個東西而已,在編碼和解碼中為了方便,要首個i幀和其他i幀區別開,所以才把第乙個首個i幀叫idr,這樣就方便控制編碼和解碼流程。 idr幀的作用是立刻重新整理,使錯誤不致傳播,從idr幀開始,重新算乙個新的序列開始編碼。而i幀不具有隨機訪問的能力,這個功能是由idr承擔。 idr會導致dpb(decodedpicturebuffer 參考幀列表——這是關鍵所在)清空,而i不會。idr影象一定是i影象,但i影象不一定是idr影象。乙個序列中可以有很多的i影象,i影象之後的影象可以引用i影象之間的影象做運動參考。乙個序列中可以有很多的i影象,i影象之後的圖象可以引用i影象之間的影象做運動參考。 

收到 idr 幀時,解碼器另外需要做的工作就是:把所有的 pps 和 sps 引數進行更新。

對idr幀的處理(與i幀的處理相同):

(1) 進行幀內**,決定所採用的幀內**模式。

(2) 畫素值減去**值,得到殘差。

(3) 對殘差進行變換和量化。

(4) 變長編碼和算術編碼。

(5) 重構影象並濾波,得到的影象作為其它幀的參考幀。

因為「按照 3 個參考幀編碼」,所以參考幀佇列長度為 3 。

遇到綠色的 i 時,並不清空參考幀佇列,把這個 i 幀加入參考幀佇列(當然 i 編碼時不用參考幀。)。再檢測到紅色的 p 幀時,用到的就是 ppi 三幀做參考了。

在針對連續動態影象編碼時,將連續若干幅影象分成p,b,i三種型別,p幀由在它前面的p幀或者i幀**而來,它比較與它前面的p幀或者i幀之間的相同資訊或資料,也即考慮運動的特性進行幀間壓縮。p幀法是根據本幀與相鄰的前一幀(i幀或p幀)的不同點來壓縮本幀資料。採取p幀和i幀聯合壓縮的方法可達到更高的壓縮且無明顯的壓縮痕跡。

p幀的**與重構:p幀是以i幀為參考幀,在i幀中找出p幀「某點」**值和運動向量,取**差值和運動向量一起傳送。在接收端根據運動向量從i幀中找出p幀「某點」的**值並與差值相加以得到p幀某點樣值,從而可得到完整的p幀。

b幀的**與重構

b幀法是雙向**的幀間壓縮演算法。當把一幀壓縮成b幀時,它根據相鄰的前一幀本幀以及後一幀資料的不同點來壓縮本幀,也即僅記錄本幀與前後幀的差值。只有採用b幀壓縮才能達到200:1的高壓縮。

b幀是以前面的i或p幀和後面的p幀為參考幀,找出b幀「某點」的**值和兩個運動向量,並取**差值和運動向量傳送。接收端根據運動向量在兩個參考幀中。

--------------------- 

原文: 

I幀 B幀 p幀 IDR幀的區別

idr instantaneous decoding refresh 即時解碼重新整理。i幀 幀內編碼幀幀。i和idr幀都是使用幀內 的。它們都是同乙個東西而已,在編碼和解碼中為了方便,要首個i幀和其他i幀區別開,所以才把第乙個首個i幀叫idr,這樣就方便控制編碼和解碼流程。idr幀的作用是立刻重新...

I 幀,B幀,P幀,IDR幀的區別

i幀 幀內編碼幀 i幀特點 1.它是乙個全幀壓縮編碼幀。它將全幀影象資訊進行jpeg壓縮編碼及傳輸 2.解碼時僅用i幀的資料就可重構完整影象 3.i幀描述了影象背景和運動主體的詳情 4.i幀不需要參考其他畫面而生成 5.i幀是p幀和b幀的參考幀 其質量直接影響到同組中以後各幀的質量 6.i幀是幀組g...

什麼是I幀,P幀,B幀

i幀表示關鍵幀,你可以理解為這一幀畫面的完整保留 解碼時只需要本幀資料就可以完成 因為包含完整畫面 p幀表示的是這一幀跟之前的乙個關鍵幀 或p幀 的差別,解碼時需要用之前快取的畫面疊加上本幀定義的差別,生成最終畫面。也就是差別幀,p幀沒有完整畫面資料,只有與前一幀的畫面差別的資料 b幀是雙向差別幀,...