音視頻 day26 H264 的編碼過程與原理
1. GOP出現的背景是什麼?GOP 的全稱是什麼?
- 有統計結果代表:在連續的幾幀圖像中,通常只有 10% 之內的像素有差異,亮度的差值變化不超過 2%,而色度的差值變化只在 1%之內。
- 能夠將一串連續的類似的幀歸到一個圖像羣組(Group Of Pictures,GOP)。
2. GOP 中的 I 幀
是什麼?一個 GOP 能夠有幾個 I 幀?怎麼編碼?怎麼解碼?
- I 幀(I Picture、I Frame、 Intra Coded Picture),譯爲:
幀內編碼圖像
,也叫關鍵幀(Keyframe)
- 它是視頻的第一幀,也是 GOP 的第一幀,一個 GOP 只有一個 I 幀?
編碼:
對整幀圖片數據進行編碼
解碼:
僅用當前 I 幀的編碼數據就能夠解碼出完整的圖像
- 是一種自帶所有信息的獨立幀,無需參考其餘圖像即可以獨立進行解碼,能夠簡單理解爲一張靜態圖像。
3. GOP 中的 P 幀
是什麼?怎麼編碼?怎麼解碼?
- P 幀(P Picture、P Frame、Predictive Coded Picture),翻譯爲:
預測編碼圖像
編碼:
①並不會對整幀圖像數據進行編碼 ②之前面
的 I 幀或 P 幀
做爲參考幀,只編碼當前 P 幀與參考幀的差別數據
解碼:
須要先解碼出前面的參考幀,再結合差別數據解碼出當前 P 幀完整的圖像
4. GOP 中的 B 幀
是什麼?怎麼編碼?怎麼解碼?
- B 幀(B Picture、B Frame、Bipredictive Coded Picture),翻譯爲:
先後預測編碼圖像
編碼:
①並不會對整幀圖像數據進行編碼 ②同時之前面、後面
的 I 幀或 P 幀
做爲參考幀,只編碼當前 B 幀與先後參考幀的差別數據
③由於可參考的幀變多了,因此只須要存儲更好的差別數據
解碼:
須要先解碼出前面、後面的參考幀,再結合差別數據解碼出當前 B 幀完整的圖像
5. GOP 中,一般狀況下,I 幀、P 幀、B 幀數據大小是怎麼排列的?再結合下圖,理解一下爲何編碼順序不等於顯示順序
?
6. GOP 的長度是什麼意思?GOP 長度是越長越好嗎(舉出兩方面便可)?
- GOP的長度表示 GOP 的幀數。
- GOP 過長的缺點:加大GOP長度有利於減少視頻文件大小,但也不宜設置過大,太大則會致使GOP後部幀的畫面失真,影響視頻質量
- GOP 過長的缺點:因爲P、B幀的複雜度大於I幀,GOP值過大,過多的P、B幀會影響編碼效率,使編碼效率下降
- GOP 過長的缺點:GOP長度也是影響視頻seek響應速度的關鍵因素,seek時播放器須要定位到離指定位置最近的前一個I幀,若是GOP太大意味着距離指定位置可能越遠(須要解碼的參考幀就越多)、seek響應的時間(緩衝時間)也越長
7.哪些幀是幀內編碼?哪些幀是幀間編碼?
- I 幀採用的是幀內(Intra Frame)編碼,處理的是空間冗餘。
- P 幀、B 幀採用的是(Inter Frame)幀間編碼,處理的是時間冗餘。
歡迎關注本站公眾號,獲取更多信息