0

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

编解码器是否查看视频的第一秒(25 帧),确定如何将这 25 帧压缩为 2000 千比特,然后移动到视频的下一秒(25 帧)?

还是它会分析整个视频(可能前 10 秒是纯黑色的)并计算出它可以在最后 50 秒内使用超过 2000 千比特,但仍然保持整个视频平均 2000 千比特?

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

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

4

2 回答 2

1

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

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

由于更高的颜色深度、数量、边缘数量等(或在音频中 - 大量复音、混合频率等),VBR 允许对需要它的部分使用更高的比特率,而对于那些较少的“普通”部分,比特率则更低品质(音频:单声部,只有节奏的部分等) 极端情况是整个帧都是纯色或接近它(沉默)。基本上与影响静止图像压缩的标准相同。

因此,在我看来,编码器坚持指定平均值的最有效方法是在整个文件中以某个周期性频率对单个帧进行采样。比如说,整个视频每秒两次。(我不知道这是否在现实估计的范围内,但你明白了)。希望这可以很好地估计视频字符(因为没有更好的词),并允许最有效地分配这些宝贵的资源。

还应注意,有时可以采用最小和最大比特率范围,因此比特率在任何时候都不能小于 X 或大于 Y。选择合适的范围显然取决于分辨率。

至于谷歌的条款 - 尝试多通道编码和 AVR。和往常一样,维基百科勾勒出一张相当不错的粗略图片,足以让你知道去哪里进一步阅读http://en.wikipedia.org/wiki/Variable_bitrate#Multi-pass_encoding_and_single-pass_encoding

于 2010-12-17T05:28:33.290 回答
1

你可以用谷歌搜索的一个术语——多通道编码和速率预测。

它的作用(除了提供最佳质量编码之外)是编解码器有效地对视频进行两次编码,第一次记录由固定比特率导致的质量损失,第二次结合该信息以保持相同的质量水平,无论视频中的变化量。

速率预测/速率控制,是一个非常引人入胜的话题,尤其是对于实时、单遍编码。编解码器必须对未来场景的复杂性做出良好的估计,以使整体比特率保持在目标上。

通道允许的最大比特率的限制(例如,您可能需要 1MBit/s 的平均比特率,但内容不能超过 2MBit/s 超过 5 秒,因为播放器中的缓冲)使这项任务更具挑战性。

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

于 2010-12-17T05:19:35.833 回答