- 有統計結果表明:在連續的幾幀圖像中,一般隻有 10% 以内的像素有差别,亮度的差值變化不超過 2%,而色度的差值變化隻在 1%以内。
- 可以将一串連續的相似的幀歸到一個圖像群組(Group Of Pictures,GOP)。
- I 幀(I Picture、I Frame、 Intra Coded Picture),譯為:幀内編碼圖像,也叫關鍵幀(Keyframe)
- 它是視頻的第一幀,也是 GOP 的第一幀,一個 GOP 隻有一個 I 幀?
- 編碼:對整幀圖片數據進行編碼
- 解碼:僅用當前 I 幀的編碼數據就可以解碼出完整的圖像
- 是一種自帶全部信息的獨立幀,無需參考其他圖像便可以獨立進行解碼,可以簡單理解為一張靜态圖像。
- P 幀(P Picture、P Frame、Predictive Coded Picture),翻譯為:預測編碼圖像
- 編碼: ①并不會對整幀圖像數據進行編碼 ②以前面的 I 幀或 P 幀作為參考幀,隻編碼當前 P 幀與參考幀的差異數據
- 解碼:需要先解碼出前面的參考幀,再結合差異數據解碼出當前 P 幀完整的圖像
C 音視頻開發學習資料:點擊領取→音視頻開發(資料文檔 視頻教程 面試題)(FFmpeg WebRTC RTMP RTSP HLS RTP)
4. GOP 中的 B 幀是什麼?怎麼編碼?怎麼解碼?
- B 幀(B Picture、B Frame、Bipredictive Coded Picture),翻譯為:前後預測編碼圖像
- 編碼: ①并不會對整幀圖像數據進行編碼 ②同時以前面、後面的 I 幀或 P 幀作為參考幀,隻編碼當前 B 幀與前後參考幀的差異數據 ③因為可參考的幀變多了,所以隻需要存儲更好的差異數據
- 解碼:需要先解碼出前面、後面的參考幀,再結合差異數據解碼出當前 B 幀完整的圖像
- 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響應的時間(緩沖時間)也越長
- I 幀采用的是幀内(Intra Frame)編碼,處理的是空間冗餘。
- P 幀、B 幀采用的是(Inter Frame)幀間編碼,處理的是時間冗餘。