我试图理解视频编解码器的工作原理,其中一个是H.264
。
我已经浏览了一些关于H.264
工作的网上文章,我希望对此有一些了解。
在阅读相同内容时,我了解了I-Frame
,P-Frame
和B-Frame
等不同类型的帧,这些帧在使用{{1 }}
我无法理解的是,原始视频显然在框架方面存在数据,网络上的文献说H.264
是原始框架,因为它是I-Frame
的位置是根据之前的P-Frame
或I-Frame
进行预测的,此处如果P-Frame
预测来自另一个P-Frame
,当同样不存在P-Frame
时,如何预测{。}}。
让我感到困惑的是对P-Frame
的预测。
请帮助理解相同或参考解释相同的文献。
答案 0 :(得分:4)
考虑您对B帧的最新评论。视频编码器有一个缓冲区,可以保留一定数量的帧。
让我们考虑一个示例,其中您的前4帧将使用以下结构进行编码:IBBP。
第一帧被编码为I帧(帧内)。第2帧和第3帧是B帧,不能立即编码,因为它们正在等待未来"帧P.所以它们被放入缓冲区。当帧4到达编码器时,它被帧间编码(单向),第一帧(I帧)作为参考。既然已经对P帧进行了编码,那么双向的帧2和3可以进行编码(帧间,双向)。
是双向的,因此需要过去和未来的参考。所以编码顺序是:I P B B.这与显示顺序的顺序不同。
正如您所看到的,B帧会在编码过程中引入延迟,因此通常不会用于视频会议等低延迟应用。