可变比特率视频压缩如何平均每帧?

时间:2010-12-17 05:01:58

标签: compression video-encoding bitrate

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

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

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

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

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

2 个答案:

答案 0 :(得分:1)

你可以谷歌的术语 - 多通道编码&率预测。

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

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

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

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

答案 1 :(得分:1)

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

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

VBR允许更高比特率的部分需要它,因为更高的颜色深度,数量,边缘数量等(或音频 - 大量的复音,混合频率等)和较低的“平坦”部分的速率较少的那些品质(音频:单个声音,只有节奏的部分等),这是一个纯色或接近它的整个帧(沉默)的极端。基本上是影响静止图像压缩的标准。

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

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

至于谷歌的条款 - 尝试多次传递编码和AVR。像往常一样,维基百科勾勒出一幅非常好的粗略图片,足以让你知道去哪里继续阅读http://en.wikipedia.org/wiki/Variable_bitrate#Multi-pass_encoding_and_single-pass_encoding