【发布时间】:2019-06-20 10:16:31
【问题描述】:
据我了解,I 帧是包含实际像素值的帧,而 P&B 帧只包含一些关于如何从已解码的帧构造下一帧的指标。
话虽如此,如果我只是将 I 帧更改为完全蓝色的图片,我不应该得到一个完全蓝色的视频吗?
谢谢!
【问题讨论】:
标签: video ffmpeg h.264 codec keyframe
据我了解,I 帧是包含实际像素值的帧,而 P&B 帧只包含一些关于如何从已解码的帧构造下一帧的指标。
话虽如此,如果我只是将 I 帧更改为完全蓝色的图片,我不应该得到一个完全蓝色的视频吗?
谢谢!
【问题讨论】:
标签: video ffmpeg h.264 codec keyframe
没有帧包含像素值。在 DCT 之后,图像在频域进行变换和记录。 B/P 框架必须引用一些东西。即使它没有启动记忆。这种情况下的解码结果将由该内存中的值决定,称为解码图像缓冲区。归零的 DPB 将显示为绿色(假设为 YUV)。应用帧内残差后,它不会完全变绿,您会看到帧信息的一些元素。
【讨论】:
没有。在解码 P 帧和 B 帧时,解码首先根据较早的帧进行预测,但在此之上,它添加了一个所谓的残差,该残差被编码在 P 和 B 帧中。这不是普通的像素值,而是预测和预期图片之间的差异。
如果将参考帧更改为纯色,则残差仍会改变像素的颜色。不过,它不一定与原始图片非常相似,因为它只是与原始预期预测的差异。
【讨论】: