2010-12-17 82 views
0

可变比特率在什么时间范围内用于平均?例如,假设我想以每秒2000千比特编码60秒的640 x 280 25 fps视频。可变比特率视频压缩如何平均每帧?

编解码器是否会查看视频的第一秒(25帧),确定如何将这25帧压缩到2000千比特,然后移动到下一秒的视频(25帧)?或者是否分析整个视频(也许前10秒是纯黑色),并计算出它可以在过去的50秒内使用超过2000千比特,但在整个视频中仍然保持2000千比特的平均值?

或者它是基于特定编解码器的关键帧间隔。如果我将关键帧间隔设置为250(视频10秒),那么编解码器是否会在10秒内分配20,000千比特?

我确定它对于所有不同的编解码器实际上是不同的,但我认为必须有一个最佳实践(或至少一个术语,我可以谷歌)。

回答

1

我不知道任何特定的编解码器的定义或编码器的实现,但我很熟悉的理性和动机背后VBR(更因为它涉及音频,但我相信这个概念是一样的)。

这里有两个主要类别:单程和多程。单程(即时)编码速度更快。它只是通过视频一次并编码。它可以实时进行广播和其他情况,整个视频不可用于事先分析。你的问题似乎主要涉及多通道。虽然它被称为多次通过,但通常意味着只有两次。更重要的是,您似乎在询问关于多路VBR编码,其中指定了平均值(ABR)并且必须遵守。

对于需要更高比特率的部分,由于颜色深度,边缘数量等(或者在音频 - 大量复调音,混合频率等)以及较低比率的“平坦”部分与这些品质(音频:单一的声音,只有节奏的部分等)相比,其中极端的是整个纯色或接近它(静音)的帧。基本上影响静止图像压缩的相同标准。因此,在我看来,编码器坚持指定平均值的最有效方法是在整个文件中以特定周期频率对单个帧进行采样。对于整个视频来说,每秒两次。 (我不知道这是否是一个现实的估计,但你明白了)。这有希望能够对视频特征进行很好的估计(因为缺乏更好的词),并且可以最有效地分发这些宝贵的资源。

还应该注意的是,有时可以使用一定范围的最小和最大比特率,使得比特率在任何时候都不能小于X或大于Y.良好选择的范围显然取决于决议。

至于条款谷歌 - 尝试多通编码和AVR。和往常一样,维基百科描绘了一幅相当不错的粗略画面,足以让您知道去哪里寻找更多的信息http://en.wikipedia.org/wiki/Variable_bitrate#Multi-pass_encoding_and_single-pass_encoding

1

一个术语,你可以谷歌 - 多通编码&率预测。

它的功能(除了提供最佳质量编码之外)是编解码器有效地对视频进行两次编码,第一次记录由固定比特率导致的质量损失,第二次将该信息合并以维持相同的电平的质量,而不管视频中的变化量如何。

速率预测/速率控制,是一个非常吸引人的话题,特别是对于实时单通编码。编解码器必须对未来的场景复杂性做出很好的估计,以保持整体比特率的目标。

限制通道允许的最大比特率(例如,您可能需要1MBit/s的平均比特率,但由于播放器中的缓冲区,内容不能超过2MBit/s超过5s,因此会使此任务更加复杂具有挑战性的。

看看这里更多提示: http://www.pixeltools.com/rate_control_paper.html