2024年6月15日发(作者:)

视频编解码器,是指一个能够对数字视频进行压缩或者解压缩的程序或者设备。通常这种压

缩属于有损数据压缩。历史上,视频信号是以模拟形式存储在磁带上的。随着Compact Disc

的出现并进入市场,音频信号以数字化方式进行存储,视频信号也开始使用数字化格式,一

些相关技术也开始随之发展起来。

简介

音频和视频都需要可定制的压缩方法。工程师和数学家们尝试了很多种不同的办

法来试图解决这个问题。

一个复杂的平衡关系存在于以下因素之间:视频的质量、用来表示视频所需要的

数据量(通常称之为码率)、编码算法和解码算法的复杂度、针对数据丢失和错误的鲁

棒性(Robustness)、编辑的方便性、随机访问、编码算法设计的完美性、端到端的延

时以及其它一些因素。

编辑本段

应用

在日常生活中,视频编解码器的应用非常广泛。例如在DVD(MPEG-2)中,在

VCD(MPEG-1)中,在各种卫星和陆上电视广播系统中,在互联网上。在线的视频素

材通常是使用很多种不同的编解码器进行压缩的,为了能够正确地浏览这些素材,用

户需要下载并安装编解码器包--一种为PC准备的编译好的编解码器组件。

由用户自己来进行视频的压缩已经随着DVD刻录机的出现而越来越风行。由于

商店中贩卖的DVD通常容量比较大(双层)而目前双层DVD刻录机还不太普及,所以

用户有时候会对DVD的素材进行二次压缩使其能够在一张单面DVD上完整地存储。

编辑本段

视频编解码器设计

一个典型的数字视频编解码器的第一步是将从摄像机输入的视频从RGB色度空

间转换到YCbCr色度空间,而且通常还伴有色度抽样来生成4:2:0格式的视频(有时

候在隔行扫描的情况下会采用4:2:2的抽样方式)。转换到YCbCr色度空间会带来两

点好处:1)这样做部分的解除了色度信号中的相关性,提高了可压缩能力。2)这样做

将亮度信号分离出来,而亮度信号对视觉感觉是最重要的,相对来说色度信号对视觉

感觉就不是那么重要,可以抽样到较低的分辨率(4:2:0或者4:2:2)而不影响人观看的

感觉。

在真正的编码之前,对空域或者时域抽样可以有效地降低原始视频数据的数据

量。

输入的视频图像通常被分割为宏块分别进行编码,宏块的大小通常是16x16的亮

度块信息和对应的色度块信息。然后使用分块的运动补偿从已编码的帧对当前帧的数

据进行预测。之后,使用块变换或者子带分解来减少空域的统计相关性。最常见的变

换是8x8的离散余弦变换(DCT fordiscrete cosine transform)。变换的输出系数接下

来被量化,量化后的系数进行熵编码并成为输出码流的一部分。实际上在使用DCT

变换的时候,量化后的二维的系数通常使用Zig-zag扫描将系数表示为一维的,再通

过对连续0系数的个数和非0系数的大小(Level)进行编码得到一个符号,通常也有特

殊的符号来表示后面剩余的所有系数全部等于0。这时候的熵编码通常使用变长编码。

解码基本上执行和编码的过程完全相反的过程。其中不能被完全恢复原来信息的

步骤是量化。这时候,要尽可能接近的恢复原来的信息。这个过程被称为反量化,尽

管量化本身已经注定是个不可逆过程。

视频编解码器的设计通常是标准化的,也就是说,有发布的文档来准确的规范如

何进行。实际上,为了使编码的码流具有互操作性(即由A编码器编成的码流可以由

B解码器解码,反之亦然),仅仅对解码器的解码过程进行规范就足够了。通常编码的

过程并不完全被一个标准所定义,用户有设计自己编码器的自由,只要用户设计的编

码器编码产生的码流是符合解码规范的就可以了。因此,由不同的编码器对同样的视

频源按照同样的标准进行编码,再解码后输出图像的质量往往可能相差很多。

编辑本段

常用的视频编解码器

很多视频编解码器可以很容易的在个人计算机和消费电子产品上实现,这使得在

这些设备上有可能同时实现多种视频编解码器,这避免了由于兼容性的原因使得某种

占优势的编解码器影响其它编解码器的发展和推广。最后我们可以说,并没有那种编

解码器可以替代其它所有的编解码器。下面是一些常用的视频编解码器,按照它们成

为国际标准的时间排序:

MPEG-1第二部分

MPEG-1第二部分主要使用在VCD上,有些在线视频也使用这种格式。该编解

码器的质量大致上和原有的VHS录像带相当,但是值得注意的是VCD属于数字视频

技术,它不会像VHS录像带一样随着播放的次数和时间而逐渐损失质量。如果输入

视频源的质量足够好,编码的码率足够高,VCD可以给出从各方面看都比VHS要高

的质量。但是为了达到这样的目标,通常VCD需要比VHS标准要高的码率。实际上,

如果考虑到让所有的VCD播放机都可以播放,高于1150kbps的视频码率或者高于

352x288的视频分辨率都不能使用。大体来说,这个限制通常仅仅对一些单体的VCD

播放机(包括一些DVD播放机)有效。MPEG-1第三部分还包括了目前常见的*.mp3音

频编解码器。如果考虑通用性的话,MPEG-1的视频/音频编解码器可以说是通用性

最高的编解码器,几乎世界上所有的计算机都可以播放MPEG-1格式的文件。几乎

所有的DVD机也支持VCD的播放。从技术上来讲,比起H.261标准,MPEG-1增

加了对半像素运动补偿和双向运动预测帧。和H.261一样,MPEG-1只支持逐行扫描

的视频输入。

MPEG-2第二部分

MPEG-2第二部分等同于H.262,使用在DVD、SVCD和大多数数字视频广播系

统和有线分布系统(cable distribution systems)中。当使用在标准DVD上时,它支持

很高的图像质量和宽屏;当使用在SVCD时,它的质量不如DVD但是比VCD高出

许多。但是不幸的是,SVCD最多能在一张CD光盘上容纳40分钟的内容,而VCD