1. 程式人生 > >h264 I幀, IDR幀筆記

h264 I幀, IDR幀筆記

IDR (Instantaneous Decoding Refresh)全稱:即時解碼重新整理,

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

     對於IDR幀來說,在IDR幀之後的所有幀都不能引用任何IDR幀之前的幀的內容,與此相反,對於普通的I-幀來說,位於其之後的B-和P-幀可以引用位於普通I-幀之前的I-幀。從隨機存取的視訊流中,播放器永遠可以從一個IDR幀播放,因為在它之後沒有任何幀引用之前的幀。但是,不能在一個沒有IDR幀的視訊中從任意點開始播放,因為後面的幀總是會引用前面的幀。