视频压缩通过减少和去除冗余视频数据的方式,达到有效发送和存储数字视频文件的目的。在压缩过程中,需要应用压缩算法对源视频进行压缩以创建压缩文件,以便进行传输和存储。要想播放压缩文件,则需要应用相反的解压缩算法对视频进行还原,还原后的视频内容与原始的源视频内容几乎完全相同。压缩、发送、解压缩和显示文件所需的时间称为延时。在相同处理能力下,压缩算法越高级,延时就越长。
视频编解码器(编码器/解码器)是指两个协同运行的压缩-解压算法。使用不同标准的视频编解码器通常彼此之间互不兼容;也就是说,使用一种标准进行压缩的视频内容无法使用另外一种标准进行解压缩。例如,MPEG-4Part2解码器就不能与H.264编码器协同运行。这是因为一种算法无法正确地对另外一个算法的输出信号进行解码,然而我们可以在同一软件或硬件中使用多种不同的算法,以支持对多种格式的文件进行压缩。
由于不同的视频压缩标准会使用不同的方法来减少数据量,因此压缩结果在比特率、质量和延时方面也各不相同。
此外,由于编码器的设计者可能会选择使用某个标准所定义的不同工具集,因此,即使是使用相同压缩标准的编码器之间,其压缩结果也可能会存在差异。不过,只要编码器的输出信号符合标准的格式以及解码器的要求,就可以采用不同的实施方式。这是非常有利的,因为不同的实施方式可实现不同的目标,满足不同的预算要求。对用于管理光介质存储的非实时专业软件编码器来说,应该能够比用于视频会议的集成在手持设备中的实时硬件编码器提供质量更高的编码视频。因此,即使是某个指定的标准也无法保证提供指定的比特率或质量。而且,如果不事先确定实施方式,一个标准就无法与其它标准进行正确的性能对比,甚至也无法与同一标准的其它实施方式进行正确的性能对比。
与编码器不同,解码器必须实施某个标准的所有必需部分,才能对符合标准的比特流进行解码。这是因为标准中明确规定了解压缩算法应如何对压缩视频的每个比特进行还原。
下图是在相同图像质量水平下,采用下列视频标准的比特率对比:M-JPEG,MPEG-4Part2(无运动补偿)、MPEG-4Part2(有运动补偿)和H.264(基准类)。
图1.对于视频序列样本来说,使用H.264编码器能够比使用有运动补偿的MPEG-4编码器降低50%的比特率(bps)。在没有运动补偿的情况下,H.264编码器的效率至少比MPEG-4编码器高3倍,比M-JPEG编码器高6倍。
上图文字:
Doorway scene | 入口场景 |
H.264 (Baseline profile) | H.264(基线类) |
MPEG-4 Part 2 (With motion compensation) | MPEG-4 Part 2(有运动补偿) |
MPEG-4 Part 2 (No motion compensation) | MPEG-4 Part 2(无运动补偿) |
Motion JPEG | M-JPEG |
Bit rate (kbit/s) | 比特率(kbit/秒) |
Time (s) | 时间(秒) |