在处理 MPEG 压缩时,以下图像组(GOP(I 帧、P 帧和 B 帧))按以下顺序进行编码和传输:
I P B B P P B B P B B P P
但是,显示顺序是:
I P P B B P P B B P B B P
有人可以解释一下这个特定的顺序是如何确定的(我知道它不是随机的,但不确定重新排序帧时使用什么指南/逻辑)?
非常感谢。
最佳答案
您的帧序列不太正确:
显示顺序:I(1) B(2) B(3) P(4) B(5) B(6) P(7)
传输顺序:I(1) P(4) B(2) B(3) P(7) B(5) B(6)
简单回答一下为什么会这样:由于 B 帧预测的双向性质,解码器必须首先处理前一个和下一个引用帧。例如,要解码 B(2),解码器必须首先具有 I(1) 和 P(4)。
对帧从传输到显示进行重新排序的简单方法(对于大多数序列)是查看图片标题中的temporal_reference,它为您提供帧在显示顺序中的位置。
希望这有帮助!
关于compression - GOP 重组/显示顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10315892/