H.264中I幀和IDR幀的區別
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幀的視頻中從任意點開始播放,因爲後面的幀總是會引用前面的幀。
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幀的視頻中從任意點開始播放,因爲後面的幀總是會引用前面的幀。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
JAVA音視頻解決方案----視頻基礎知識
cuiyaonan2000
2020-07-08 12:24:18
FLV結構與相關信息------以1078終端推送的音視頻爲使用場景
cuiyaonan2000
2020-07-08 12:24:18
JAVA音視頻解決方案----搭建RTMP流服務(放棄NGINX-RTMP,換成SRS)
cuiyaonan2000
2020-07-08 12:24:18
JAVA音視頻解決方案----音頻基礎知識
cuiyaonan2000
2020-07-08 12:24:18
JAVA音視頻解決方案--- SRS Edge 2.0version 延遲調優
cuiyaonan2000
2020-07-08 12:24:18
ICE協議下NAT穿越的實現(STUN&TURN)
fdsafwagdagadg6576
2020-07-07 00:33:35
ice 筆記
fdsafwagdagadg6576
2020-07-07 00:33:35
rfc5245 筆記
fdsafwagdagadg6576
2020-07-07 00:33:35
實現簡易webrtc 網關
fdsafwagdagadg6576
2020-07-07 00:33:35
FFmpeg開源框架及重要結構體簡紹
Fireworks_light
2020-07-06 22:04:10
codec硬件音頻通路
Fireworks_light
2020-07-06 22:04:10
Linux audio 音頻
Fireworks_light
2020-07-06 22:04:10
slimbus簡紹
Fireworks_light
2020-07-06 22:04:10
ffmpeg命令參數詳解
Fireworks_light
2020-07-06 22:04:10