DR(Instantaneous Decoding Refresh)--即時解碼刷新。編碼
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幀來講,在IDR幀以後的全部幀都不能引用任何IDR幀以前的幀的內容,與此相反,對於普通的I-幀來講,位於其以後的B-和P-幀能夠引用位於普通I-幀以前的I-幀。從隨機存取的視頻流中,播放器永遠能夠從一個IDR幀播放,由於在它以後沒有任何幀引用以前的幀。可是,不能在一個沒有IDR幀的視頻中從任意點開始播放,由於後面的幀老是會引用前面的幀。code