精通网络视频核心开发技术
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.2 视频数据的编码、解码

所谓视频编码方式就是指通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的方式。目前视频流传输中最为重要的编码与解码标准有国际电联的H.261、H.263,运动静止图像专家组的M-JPEG,以及国际标准化组织运动图像专家组的MPEG系列标准,此外在互联网上被广泛应用的还有Real-Networks的RealVideo、Microsoft公司的WMV及Apple公司的QuickTime等。

视频压缩的目标是在尽可能保证视觉效果的前提下减少视频数据率。视频压缩比一般指压缩后的数据量与压缩前的数据量之比。由于视频是连续的静态图像,因此其压缩编码算法与静态图像的压缩编码算法有某些共同之处,但是运动的视频还有其自身的特性,因此在压缩时还应考虑其运动特性才能达到高压缩的目标。

1.无损压缩和有损压缩

无损压缩和有损压缩是数码图像文件压缩的两种类型。无损压缩是对文件本身的压缩,和其他数据文件的压缩一样,是对文件的数据存储方式进行优化,采用某种算法表示重复的数据信息,文件可以完全还原,不会影响文件内容,对于数码图像而言,也就不会使图像细节有任何损失。而有损压缩是对图像本身的改变,在保存图像时保留了较多的亮度信息,将色相和色纯度的信息和周围的像素进行合并。合并的比例不同,压缩的比例也不同,由于信息量减少了,所以压缩比可以很高,图像质量也会相应下降。

2.帧内和帧间压缩

帧内(Intraframe)压缩也称为空间压缩(Spatial Compression)。当压缩一帧图像时,仅考虑本帧的数据而不考虑相邻帧之间的冗余信息,这实际上与静态图像压缩类似。帧内一般采用有损压缩算法,由于帧内压缩时各个帧之间没有相互关系,所以压缩后的视频数据仍可以以帧为单位进行编辑。帧内压缩一般达不到很高的压缩。

采用帧间(Interframe)压缩是基于许多视频或动画的连续前后两帧具有很大的相关性,或者说前后两帧信息具有变化很小的特点。也即连续的视频其相邻帧之间具有冗余信息,根据这一特性,压缩相邻帧之间的冗余量就可以进一步提高压缩量,减小压缩比。帧间压缩也称为时间压缩(Temporal Compression),它通过比较时间轴上不同帧之间的数据进行压缩,压缩一般是无损的。帧差值(Frame Differencing)算法是一种典型的时间压缩法,它通过比较本帧与相邻帧之间的差异,仅记录本帧与其相邻帧的差值,这样可以大大减少数据量。

3.对称和不对称编码

对称性(Symmetric)是压缩编码的一个关键特征。对称意味着压缩和解压缩占用相同的计算处理能力和时间。对称算法适合于实时压缩和传送视频,如视频会议应用就以采用对称的压缩编码算法为好。而在电子出版和其他多媒体应用中,一般是把视频预先压缩处理好,之后再播放,因此可以采用不对称(Asymmetric)编码。不对称或非对称意味着压缩时需要花费大量的处理能力和时间,而解压缩时则能较好地实时回放,也即以不同的速度进行压缩和解压缩。一般地说,压缩一段视频的时间比回放(解压缩)该视频的时间要多得多。例如,压缩一段3分钟的视频片断可能需要10多分钟的时间,而该片断实时回放时间只有3分钟。

注意

如果使用数字视频,需要考虑的一个重要因素是文件大小,因为数字视频文件往往会很大,这将占用大量的硬盘空间。解决这些问题的方法是压缩——让文件变小。使用文本文件,大小问题就显得不那么重要了,因为这样的文件充满了“空格”,可以大幅度压缩——一个文本文件至少可以压缩90%,压缩率是相当高的(压缩率是指已压缩数据与未压缩数据之比值)。其他类型的文件,如MPEG视频或JPEG照片几乎无法压缩,因为它们是用非常紧密的压缩格式制成的。