idr(instantaneous decoding refresh)--即時解碼重新整理。
i幀
:幀內編碼幀幀。
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)
重構影象並濾波,得到的影象作為其它幀的參考幀。
多參考幀情況下, 舉個例子 :有如下幀序列: ipppp
ipppp ……。按照 3 個參考幀編碼。
因為「按照 3 個參考幀編碼」,所以參考幀佇列長度為 3 。
遇到綠色的 i 時,並不清空參考幀佇列,把這個 i 幀加入參考幀佇列(當然 i 編碼時不用參考幀。)。再檢測到紅色的 p 幀時,用到的就是 ppi 三幀做參考了。
p幀
:前向**編碼幀
在針對連續動態影象編碼時,將連續若干幅影象分成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幀時,它根據相鄰的前一幀、本幀以及後一幀資料的不同點來壓縮本幀,也即僅記錄本幀與前後幀的差值。只有採用
b幀壓縮才能達到
200:
1的高壓縮。
b幀是以前面的i或
p幀和後面的
p幀為參考幀,找出b幀
「某點」的**值和兩個運動向量,並取**差值和運動向量傳送。接收端根據運動向量在兩個參考幀中。
I,P,B幀和PTS,DTS的關係
基本概念 p frame 前向 編碼幀 又稱predictive frame,通過充分將低於影象序列中前面已編碼幀的時間冗餘資訊來壓縮傳輸資料量的編碼影象,也叫 幀 b frame 雙向 內插編碼幀 又稱bi directional interpolated prediction frame,既考慮...
I,P,B幀和PTS,DTS的關係
基本概念 p frame 前向 編碼幀 又稱predictive frame,通過充分將低於影象序列中前面已編碼幀的時間冗餘資訊來壓縮傳輸資料量的編碼影象,也叫 幀 b frame 雙向 內插編碼幀 又稱bi directional interpolated prediction frame,既考慮...
I,P,B幀和PTS,DTS的關係
基本概念 p frame 前向 編碼幀 又稱predictive frame,通過充分將低於影象序列中前面已編碼幀的時間冗餘資訊來壓縮傳輸資料量的編碼影象,也叫 幀 b frame 雙向 內插編碼幀 又稱bi directional interpolated prediction frame,既考慮...