在处理原始视频时如何在H.264编解码器中构建P帧

时间:2015-11-20 12:24:37

标签: video encoding video-streaming h.264 video-processing

我试图理解视频编解码器的工作原理,其中一个是H.264

我已经浏览了一些关于H.264工作的网上文章,我希望对此有一些了解。

在阅读相同内容时,我了解了I-FrameP-FrameB-Frame等不同类型的帧,这些帧在使用{{1 }}

我无法理解的是,原始视频显然在框架方面存在数据,网络上的文献说H.264是原始框架,因为它是I-Frame的位置是根据之前的P-FrameI-Frame进行预测的,此处如果P-Frame预测来自另一个P-Frame,当同样不存在P-Frame时,如何预测{。}}。

让我感到困惑的是对P-Frame的预测。

请帮助理解相同或参考解释相同的文献。

1 个答案:

答案 0 :(得分:4)

考虑您对B帧的最新评论。视频编码器有一个缓冲区,可以保留一定数量的帧。

让我们考虑一个示例,其中您的前4帧将使用以下结构进行编码:IBBP。

第一帧被编码为I帧(帧内)。第2帧和第3帧是B帧,不能立即编码,因为它们正在等待未来"帧P.所以它们被放入缓冲区。当帧4到达编码器时,它被帧间编码(单向),第一帧(I帧)作为参考。既然已经对P帧进行了编码,那么双向的帧2和3可以进行编码(帧间,双向)。

是双向的,因此需要过去和未来的参考。

所以编码顺序是:I P B B.这与显示顺序的顺序不同。

正如您所看到的,B帧会在编码过程中引入延迟,因此通常不会用于视频会议等低延迟应用。