H.264解码:构成完整YUV/RGB帧最少需多少I/P/B帧?
H.264解码生成完整可保存帧的最少帧需求
直接拆解不同帧类型的核心需求:
I帧
- 仅需1个完整的I帧(必须配套对应的SPS、PPS NALU)。I帧是帧内编码,自身包含重构整个图像的全部信息,不依赖任何其他帧,解码后直接得到完整的YUV/RGB帧,可直接转为Numpy数组或用OpenCV保存。
P帧
- 最少需要1个已解码完成的参考帧(I帧或更早的P帧) + 当前P帧。P帧是向前预测编码,必须依靠前面的参考帧补全预测缺失的数据,没有参考帧无法解码出完整画面。
B帧
- 最少需要前后两个已解码的参考帧(前面的I/P帧 + 后面的I/P帧) + 当前B帧。B帧是双向预测编码,同时依赖前后帧的信息做运动补偿,缺少任意一个方向的参考帧都无法正确还原出完整帧。
注意:无论处理哪种帧,解码前必须先获取对应的SPS(序列参数集)和PPS(图像参数集)NALU,这是解码的基础配置,没有它们即使有帧数据也无法完成解码。
内容的提问来源于stack exchange,提问作者ald2000
相关产品推荐
相关产品推荐

