- 有统计结果表明:在连续的几帧图像中,一般只有 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)帧间编码,处理的是时间冗余。