H.264 I幀,IDR幀筆記

       I和IDR幀都是使用幀內預測的。在編碼和解碼中爲了方便,要首個I幀和其他I幀區別開,所以才把首個I幀叫做IDR幀,這樣就方便控制編碼和解碼流程。IDR幀的作用是立刻刷新,使錯誤不致傳播,從IDR幀開始,重新算一個新的序列開始編碼。而I幀不具有隨機訪問的能力,這個功能是由IDR承擔。IDR會導致DPB(參考幀列表——這是關鍵所在)清空,而I幀不會。

       IDR圖像一定是I圖像,但是I圖像不一定是IDR圖像。一個序列中可以有很多的I圖像,I圖像之後的圖像課引用I圖像之間的圖像做運動參考。

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

        IDR圖像的標識:idr_pic_id。不同的IDR圖像有不同的idr_pic_id值。只有在作爲IDR圖像的I幀纔有這個句法元素。在場模式下,IDR的兩個場有相同的idr_pic_id值。idr_pic_id的取值範圍是[0,65535],和frame_num類似,當它的值超過這個範圍時,它會以循環的方式重新開始計數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章