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 幀,B幀,P幀,IDR幀的區別
i幀 幀內編碼幀 i幀特點 1.它是乙個全幀壓縮編碼幀。它將全幀影象資訊進行jpeg壓縮編碼及傳輸 2.解碼時僅用i幀的資料就可重構完整影象 3.i幀描述了影象背景和運動主體的詳情 4.i幀不需要參考其他畫面而生成 5.i幀是p幀和b幀的參考幀 其質量直接影響到同組中以後各幀的質量 6.i幀是幀組g...
idr幀 i幀 p幀 H264中I幀與IDR幀區別
h264中i幀與idr幀區別分類 i和idr幀都是使用幀內 的。它們都是同乙個東西而已,在編碼和解碼中為了方便,要首個i幀和其他i幀區別開,所以才把第乙個首個i幀叫idr,這樣就方便控制編碼和解碼流程。idr幀的作用是立刻重新整理,使錯誤不致傳播,從idr幀開始,重新算乙個新的序列開始編碼。而i幀不...
什麼是I幀,P幀,B幀
i幀表示關鍵幀,你可以理解為這一幀畫面的完整保留 解碼時只需要本幀資料就可以完成 因為包含完整畫面 p幀表示的是這一幀跟之前的乙個關鍵幀 或p幀 的差別,解碼時需要用之前快取的畫面疊加上本幀定義的差別,生成最終畫面。也就是差別幀,p幀沒有完整畫面資料,只有與前一幀的畫面差別的資料 b幀是雙向差別幀,...