H264 P&B帧是否包含像素值?

时间:2019-01-27 02:28:26

标签: video ffmpeg h.264 codec keyframe

据我了解,I帧是包含实际像素值的帧,而P&B帧仅包含某种指示符,用于指示如何从已解码的帧构造下一个帧。

话虽如此,如果我仅将I帧更改为完全蓝色的图片,我是否应该获得完全蓝色的视频?

谢谢!

2 个答案:

答案 0 :(得分:1)

没有帧包含像素值。在DCT之后,图像被变换并记录在频域中。 B / P帧必须引用某些内容。即使它没有启动内存。在这种情况下,解码的结果将由该存储器中的值确定,该值称为解码图像缓冲区。调零的DPB将显示为绿色(假定YUV)。在应用了帧内的残差后,它不会完全变为绿色,您会看到帧信息的某些元素。

答案 1 :(得分:0)

不。在解码P帧和B帧时,解码首先基于较早的帧进行预测,但是在此之上,它会添加一个所谓的残差,该残差会在P帧和B帧中进行编码。它不是普通的像素值,而是预测值与预期图片之间的差异。

如果将参考帧更改为纯色,则残差仍会更改像素的颜色。不过,它不一定与原始图片非常相似,因为它只是与原始预期预测的差异。