定义
可变比特率(VBR)是在电信和计算机中使用的涉及声音或视频编码中使用的比特率的术语。 与恒定比特率(CBR)相反,VBR文件改变每个时间段的输出数据量。 VBR允许将较高的比特率(因此需要更多的存储空间)分配给更复杂的媒体文件段,而将较少的空间分配给较不复杂的段。 可以计算这些速率的平均值,以产生文件的平均比特率。1
适用文件Opus,Vorbis,MP3,WMA和AAC音频文件可以选择在VBR中编码。可变比特率编码也通常用于MPEG-2视频,MPEG-4第2部分视频(Xvid,DivX等),MPEG-4 Part 10 / H.264视频,Theora,Dirac和其他视频压缩格式。 另外,可变速率编码是无损压缩方案中固有的,例如FLAC和Apple Lossless。
优缺点优点VBR的优点是与相同数据的CBR文件相比,它产生更好的质量 - 空间比。可用的位更灵活地用于更准确地编码声音或视频数据,在较少要求的通道中使用较少的位,并且在难以编码的段落中使用更多的位。
缺点缺点是,因为过程更复杂,并且某些硬件可能不兼容VBR文件。当瞬时比特率超过通信路径的数据速率时,VBR也可能在传输期间造成问题。通过在编码期间限制瞬时比特率或通过扩大播放缓冲器(以增加的等待时间为代价)可以避免这些问题。
此外,VBR编码的语音(或包括视频的其他信号)的加密仅提供有限的隐私,因为比特率的变化的模式可以揭示正在使用的语言。
在过去,许多硬件和软件播放器不能正确地解码可变比特率文件,部分是因为使用的各种VBR编码器开发出现问题。为了兼容性,这导致CBR在VBR上的共同使用。截至2006年12月,仅支持CBR编码文件的设备大部分已经过时,因为绝大多数现代便携式音乐设备和软件支持VBR编码文件。
在大多数现代数字音频播放器(包括Apple,Microsoft,Creative Technology和SanDisk发布的音频播放器)中都可以找到支持AAC和MP3文件中的VBR。早期VBR算法在编码单调或最小音调(例如有声读物和声学音乐)时偶尔引入可听到的伪影。随着VBR编码算法的改进,这些问题在VBR标准的后续版本中得到了解决。
编码方式可变比特率(VBR)方法的选择仅影响编码过程。在所有情况下,都执行VBR流的解码,而不管编码器如何选择分配比特。
多通道编码和单通道编码使用所谓的单遍编码或多遍编码来创建VBR。
单通道编码分析和“即时”编码数据,并且它也用于恒定比特率编码。当编码速度最重要时使用单遍编码,用于实时编码。单通VBR编码通常由固定质量设置或位速率范围(最小和最大允许位速率)或平均位速率设置控制。
当编码质量最重要时,使用多遍编码。多通道编码不能用于实时编码,实时广播或实况流。多通道编码比单通道编码需要更长的时间,因为每个通道意味着一次通过大量的输入数据(通常是通过整个输入文件)。多通道编码仅用于VBR编码,因为CBR编码不提供任何灵活性来改变比特率。最常见的多遍编码是两遍编码。在两遍编码的第一遍中,分析输入数据,并且将结果存储在日志文件中。在第二遍中,使用来自第一遍的收集的数据来实现最佳编码质量。在视频编码中,双通道编码通常由平均位速率设置或位速率范围设置(最小和最大允许位速率)或目标视频文件大小设置控制。2
固定质量VBR编码的一种手段是固定量化器或固定质量编码。它通常是单次通过编码。用户指定给定的主观质量值,并且编码器根据需要分配比特以实现给定的质量水平。这确保输出流将具有一致的质量。质量水平通常具有相关联的比特率范围。该编码方法的缺点是平均比特率(以及因此的文件大小)不会提前知道,并且达到一定的平均比特率需要尝试和错误。这通常比视频更关心音频,因为文件大小更大,编码可能需要更长的时间。
比特率范围这种VBR编码方法允许用户指定比特率范围 - 最小和/或最大允许比特率。一些编码器以平均比特率扩展该方法。最小和最大允许的比特率集合边界,其比特率可能变化。这种方法的缺点是平均比特率(以及文件大小)不会提前获取。比特率范围也用于某些固定质量编码方法中,但通常没有改变特定比特率。3
平均比特率平均位速率(ABR)编码可用于确保输出流实现可预测的长期平均位速率。这通常使用多通道编码来实现,其中使用一个或多个初始通过的流上收集数据,并且最终通过使用该数据来以指定的平均位速率实现均匀的质量。
或者可以通过输出的较小块执行ABR,或通过增加或减少总体质量对ABR中的波动做出反应来使用周期性平均。这些可以在单程中实现ABR,但是不产生与多程ABR相同程度的均匀性。一些编码器使用“ABR编码”和“多通道编码”来分别指代单通道和多通道ABR编码。
一些编码器还允许用户指定最大允许的比特率或最大质量值。这有时被称为约束可变比特率(CVBR),并且通常应用于ABR算法。
单通ABR编码(具有或不具有CVBR)的缺点是与固定量化器VBR相反 - 输出的大小是提前知道的,但是所得到的质量是未知的,尽管仍然优于CBR。指定较高的平均值或最大值可能只是使文件更大,没有可辨别的质量效果,并且增加的最大比特率可能在流传输文件时引入噪声。然而,将这些标准降低太低将最终导致相当严重的质量损失。对视频的影响通常是增加的块效应,因为帧在其渲染中不再是完全详细的状态。
多通道ABR编码更类似于固定量化器VBR,因为更高的平均值将大幅度提高质量。[9]
在视频编码中,ABR没有理想的“一刀切”的设置。对于使用MPEG-1或MPEG-2编码的低分辨率(320或640行)视频,平均位速率可低至1000 kbit / s,并仍可实现结果。对于诸如1080的高分辨率视频,该平均值可能需要为6000kbit / s或更高。确定最小视频比特率的主要因素是视频的编码效率。使用更高效的视频编码(例如MPEG-4)将有助于提高较低的比特率,而大量的运动或白噪声将需要较高的比特率来编码而没有可见的伪像。最后,用户可能必须通过以给定比特率编码然后观看结果使用试错法来实现给定视频流的最小文件大小。
文件大小使用文件大小设置的VBR编码通常是多遍编码。它允许用户指定特定的目标文件大小。在第一遍中,编码器分析输入文件并自动计算可能的比特率范围和/或平均比特率。在最后一遍,编码器分配整个视频中的可用比特以实现均匀的质量。