教学目标
通过本模块的学习,学生能了解音视频信号压缩编码的必要性、可行性,理解并掌握差值编码、预测编码、变换编码、统计编码等视频压缩编码的基本原理和方法,以及MUSICAM编码、AC-3编码等音频压缩编码的基本原理和方法,为以后的学习打下基础。
教学重点
1.常用的数字电视视频压缩编码:差值编码、预测编码、变换编码、统计编码。
2.两种数字电视音频压缩编码:MUSICAM编码和AC-3编码。
教学难点
1.变换编码的物理意义。
2.统计编码的计算。
数字电视具有诸多优点:可以中继传输和多次复制而不会造成噪声和非线性失真的累积;便于进行加密;便于借助超大规模集成电路(VLSI)实现功能,设备制造方面成本低、可靠性高;便于和计算机联网等。数字摄像机进行图像采集后,生成不压缩的或压缩比不高的基带信号,输出一个亮度信号和两个色差信号。根据数字电视演播室标准,亮度信号分量和色度信号分量采用4∶2∶2格式采样,即对亮度信号( Y )进行四个采样,对相应的色度信号,即红蓝两个色差信号( C R , C B )各进行两个采样;采用10比特量化时,高清晰度数字电视信号的基带码率是1485Mbps(亮度信号的取样频率×量化比特数+2个色差信号的取样频率×量化比特数=74.25MHz×10bit+2×37.125MHz×10bit)。这个速率在传输和存储时对硬件的要求比较高,不仅要求硬盘有较大的容量,还要求有较快的读写速度即吞吐能力,编解码设备也要具有较强的运算能力和较宽的传输带宽。
从以上例子可以看出,数字化后的视频数据量十分巨大,因此非常有必要将视频信号进行编码压缩,减少视频在存储和传输时的数据量,既节约存储空间,又提高信道的传输效率。
数据压缩不仅是必要的,而且也是可行的。对信源进行编码是对原始图像或声音信息的编码数据“减肥”的过程,这个过程要保证接收端解码信号后能得到满足要求的图像和声音质量,也就是用尽量少的带宽传输高质量的音视频信号。压缩数据率的信源编码过程通常会带来损伤,数字电视用的信源编码技术和设备,要能实现压缩后的数据流到达接收端并经过解码后,重建的图像、声音和数据等达到符合标准的质量要求,这样就需要对画面和声音进行分析,找出可以去除的重复信息和无效信息,将数据量尽可能地压缩。图像中的视频数据存在着极强的相关性,也就是说,存在着大量的冗余信息。采用各种方法去除冗余信息,用尽量短的数据来传送有用的信息,也就达到了数据压缩的目的。压缩编码就好像把牛奶中的水分挤掉制成奶粉一样,在接收端可以通过解码将视频图像信号恢复,就好像将水冲入奶粉又变成牛奶。在一般的图像和视频数据中,主要存在以下几种形式的冗余:
以静态图像为例,图像像素点在空间域中的亮度值和色差信号值,除了边界轮廓外,都是缓慢变化的,小区域的像素值存在相似性,且这样的区域大量存在。比如,图3-1是建党百年庆祝大会时飞行编队的截图,里面的蓝天背景、直升机、标语等处的亮度、颜色都是渐变的,相邻像素的亮度、色差信号值比较接近,具有极强的相关性,如果先去除冗余数据,可降低单幅图像的数据量(即通常所说的电视图像的帧内编码),这就是减少空间冗余进行数据压缩。
图3-1 空间冗余举例
从信息论的观点来看,描述信源的数据是信息和数据冗余之和,即:数据=信息+数据冗余。时间冗余是序列图像和语音数据中经常包含的一种数据冗余,这种冗余的产生跟时间紧密相关。在视频、动画图像中,相邻帧之间往往存在着时间和空间的相关性。例如,人们在会议室中开会,随着会议的进行,时间在改变,但是背景(房间、家具等)一直是相同的,而且没有移动,变化的只是人们的动作和位置。这里的背景就表现为时间冗余。要减少时间冗余,可以采用具有运动补偿的帧间编码进行数据压缩编码。
同样以建党百年庆祝大会的视频为例,如图3-2所示,在直升机编队飞行时,连续几秒钟的画面里,相邻两幅图像的内容基本没有变化。这样只需要记录变化的部分,就可以减少因为时间因素造成的相似数据的冗余。
图3-2 时间冗余举例
统计表明,在相邻的两帧视频图像中,其亮度信号平均只有7.5%的像素发生变化,而色度信号只有不超过4.5%的像素发生变化。这就是说视频信号中存在着大量的时间冗余和空间冗余。时间冗余和空间冗余是视频图像结构中的主要冗余。
符号冗余也称编码表示冗余。由信息论的有关原理可知,表示图像数据的一个像素点,只要按其信息熵的大小分配相应的数据位数即可。然而,对于视频画面的每个像素,很难得到它的信息熵。因此在对一幅图像数字化时,把每个像素用相同的数据位数表示,没有区分信息出现的概率,这样必然存在冗余。也就是说,若用相同码长表示出现概率不同的符号,则会造成数据位数的浪费。如果采用可变长编码技术,对出现概率大的符号用短码字表示,对出现概率小的符号用长码字表示,就可以减少符号冗余,提高码字效率,节约码字。
符号冗余、空间冗余和时间冗余统称为统计冗余,因为它们都取决于图像数据的统计特性,都可用统计编码进行数据压缩。
一些图像的部分区域有着很相似的纹理结构,或是图像的各个部分之间存在着某种关系,例如自相似性等(譬如一幅花朵的图像,花瓣具有对称性和相似性),这些都是结构冗余的表现。分形图像编码的基本思想就是利用了结构冗余,分形图像编码是用一种变换来代替原图像,如果这种变换复杂度低于原图像,或者变换后去除里面权重较低的信息还能与原图像保持较高的相似性,就可以实现数据压缩。
在某些特定的应用场合,编码对象中包含的信息与某些先验的基本知识有关。比如,在电视电话中编码对象是人的面部图像,其中头、眼、鼻和嘴的相互位置等信息就是常识。这时,可以利用这些先验知识为编码对象建立模型。通过提取模型参数对参数进行编码而不是对图像像素值直接进行编码,可以达到非常高的压缩比。这是模型基编码(或称知识基编码、语义基编码)的基本思想。
为了达到较高的压缩比,还可以利用人类视觉系统的生理和心理特性。人类的视觉系统对于图像的注意通常是非均匀非线性的,并不是对图像中的任何变化都能感知。所以,在许多应用场合不要求经压缩及解码后的重建图像和原始图像完全相同,允许有少量的失真,只要这些失真不被人眼察觉就可以。
人眼的视觉特性主要表现在以下几个方面:
1.与色彩信号相比,人眼对亮度信号的变化更敏感。在CCIR601标准中, Y ∶ U ∶ V 选用4∶2∶2就是利用了这个特性,将色差信号的空间分辨率减半,仍可得到很好的图像主观质量,但数据量却是4∶4∶4格式的2/3。
2.人眼对亮度的细小变化存在阈值,而且此阈值随着图像内容的变化而变化。在平坦区,阈值低,对失真较敏感;在边缘和纹理区,阈值高,对失真不敏感,这就是视觉掩蔽效应。这种特性可被用来提高压缩比。
3.人眼对画面静止部分的空间分辨力高于对运动部分的空间分辨力。所以,对静止图像或慢速运动图像可充分利用其时间轴的较强相关性,降低采样率(帧频)或进行帧间编码;对快速运动图像,利用人眼的空间分辨力下降的特点,可以降低空间采样率,以达到数据压缩的目的。
4.人眼对屏幕中心区的失真敏感,对屏幕四周的失真不敏感。因此,对四周的粗量化也可以节约码字。
上述各种形式的冗余,是压缩图像与视频数据的出发点。图像与视频压缩编码方法就是要尽可能地去除这些冗余,以减少表示图像与视频所需要的数据量。综上所述,图像/视频压缩编码的目的,是在保证重建一定的图像质量的前提下,以尽量少的比特数来表征图像/视频信息。在数字电视系统中,压缩编码直接决定了电视的基本格式与信号编码效率,它决定了数字电视最终如何在实际系统中实现,因而信源编码是数字电视技术的核心与关键技术。表3-1列出在多种应用情形下视频压缩前后的码率对比。
表3-1 视频压缩前后的码率(8比特/像素)
如上所述,电视图像在空间和时间上有很强的相关性,即内容相同或相近部分(如蓝天、大地)的相邻像素的取值相同或相近,只有跃变部分相对应的像素取值才有较大的区别,但跃变部分只占整幅图像的很小一部分。画面的大部分内容帧间相同的概率就更大了,静止图像相邻帧间的对应位置的像素完全一样。这就是说,电视图像一行中前后像素取值之差或前后帧间对应位置像素取值之差为零或差值很小的概率大,而其差值大的概率小。显然,若只传送图像中相邻像素取值的差值,便能压缩码率,这就是差值编码的基本想法,其原理框图如图3-3(a)所示。图中T为延时器,其延迟时间为一个像素的传输时间,即传输相邻两个像素的时间间隔。其工作过程是,发送端将当前样值和前一个样值相减所得差值经量化后进行传输,接收端将收到的差值与前一个样值相加得到当前样值。显然,该过程会造成量化误差的积累。一种能够克服量化误差积累的电路如图3-3(b)所示,图中输入的当前样值不是与输入的前一个样值相减,而是与输出的前一个样值相减。在接收端,由于在差值中已经包含了前一个样值的量化误差的负值,在与输出的前一个样值相加时,这部分量化误差被抵消,只剩下当前的量化误差,从而避免了量化误差的积累。
图3-3 差值编码系统框图
在信息理论中,预测就是从已知的信息推测未来的信息。未知信息出现的概率越小,其包含的信息量即信息熵越大。通信包括图像通信,只有最大程度传送未知信息时才具有更大的实际意义,所以在图像的预测编码中,人们力求根据图像或信息存在的相关性来推测未来图像或像素可能的值。实践中的统计数据表明,一般视频的相邻两帧,只有10%以下的像素亮度值的变化超过2%,色度变化低于1%。毫无疑问,预测编码技术应用到图像处理中是非常正确的,当然,预测编码仅对非独立信源起作用,这一点很重要。预测编码系统的框图如图3-4所示。
图3-4 预测编码系统框图
差分脉冲编码调制(Differential Pulse Code Modulation,DPCM)是预测编码的一种基本方式。DPCM不直接传送图像样值本身,而是对实际样值 X n 与其预测值 X n ' 之间的差值,即预测误差( E n = X n '- X n )进行再次量化和编码。这种方法用来消除图像信号的空间冗余(帧内预测)和时间冗余(帧间预测)。DPCM系统的输入信号 X n 是脉冲编码调制(Pulse Code Modulation,PCM)图像信号。对于每一个输入样值 X n ,预测器产生一个预测值 X n '。预测值是根据已传出的相邻像素数值估算(预测)出来的。如果所选的参考样值(在 X n 前已传出的样值)与 X n 处在同一扫描行内,就叫作一维预测;如果所选取的参考样值除了本行的,还有前一行或前几行的,就叫作二维预测;若除此以外还选择处于前一帧图像上的样值作为参考样值,则称为三维预测。采用一维、二维预测叫作帧内预测,三维预测属于帧间预测。从图3-4可看出,预测编码的基本原理是:利用图像数据的相关性,用已传输的一些像素值对当前像素值进行预测,然后对当前像素实际值与预测值的差值(预测误差)进行编码传输,而不是对当前像素值本身进行量化编码。当预测比较准确的时候,预测误差接近于零,预测误差方差比原始图像序列的方差小。因此对预测误差进行编码所需传送的数据位数要比对原始图像像素值本身进行编码所需传送的数据位数小得多,从而达到压缩的目的。在接收端将收到的预测误差的码字解码后,再与预测值相加,即可得到当前像素值。
变换编码是利用图像在空间分布上的规律性来消除图像冗余的另一种编码方法,它的基本思想是把原来在几何空间(空间域)描写的图像信号,变换到另一个正交矢量空间(变换域)进行描述。预测编码是对像素点进行处理,变换编码是对像素块进行处理。空间域的一个 N × N 个像素点组成的像素块经过正交变换后,在变换域变成同样大小的变换系数块。变换前后存在明显差别是由于空间域的像素块中像素点之间存在很多强相关性,能量分布比较均匀。在经过正交变换后,变换域的变换系数近似是独立统计的,相关性基本解除,并且能量主要集中在直流和少数低频率谐波分量的变换系数上,这样一个解相关过程就是冗余压缩过程。经过正交变换后,再在变换域进行滤波,进行与视觉特征匹配的量化和统计编码,就可以去除图像的空间冗余度,这个过程叫作变换编码。变换编码的系统框图如图3-5所示。
图3-5 变换编码的系统框图
变换编码的一个最典型例子是离散余弦变换(Discrete Cosine Transform,DCT)。在傅立叶级数展开式中,如果被展开的函数是实偶函数,那么其傅立叶级数中只包含余弦项,再将其离散化(DFT)可导出余弦变换,因此称之为离散余弦变换。DCT用于图像和语音处理比较多,它是国际标准建议采用的编码方式之一,下面重点介绍DCT编码。
如上所述,图像信号的能量主要集中在直流分量和各低频分量上,高频分量的能量随频率的增加而迅速衰减,如果有选择地去除高频分量,再经过逆变换后的图像质量可以接受,那么这种压缩方法就是可行的。通过频域变换,可以将原图像信号用直流分量及少数低频交流分量的系数来表示,这就是变换编码中离散余弦变换(DCT)编码的方法。
DCT编码和解码的系统框图如图3-6所示,其编码实现过程如下:
1.将整幅图像划分为 N × N 个像素块以方便进行DCT。
N × N 个像素单元中的每一个像素用8比特进行量化,即每一个像素对应一个0~255的数值,这些数值可以看作一个 N 行 N 列的二维数组,然后对这个数组进行DCT。需要指出的是,像素块单元的选择可以是逐行选择,也可以是隔行选择,要根据画面的活动情况选用。
图3-6 DCT编码和解码的系统框图
2.对 N 行 N 列的二维数组进行DCT——将空间域信号变换到频率域,以达到能量向直流和低频分量集中的目的。
二维正、反离散余弦变换的计算如下:
式中 f ( x , y )表示二维数组中 x 行、 y 列的像素样值;
F ( u , v )表示二维数组经DCT后新二维数组中 u 行、 v 列的系数值;
常取 N =8;
当u=v=0时,
;当u=v=其他数值时,C(u)=C(v)=1
一般来说,DCT每次取8×8共64个像素作为一个单元进行变换,原因一是相邻的像素点亮度和颜色相似的概率较大,原因二是过大的单元格像素数会大幅增加DCT运算量,过小又会导致分组过多降低精度,所以选择8×8个像素较为合适。经过DCT,像素点数值或帧间差值就变换为相同个数的系数,这里称为DCT系数,如图3-7所示。
图3-7 DCT系数
图3-8 DCT过程举例
严格地讲,DCT本身并不能进行码率的压缩,因为原来的8×8的二维矩阵经过DCT后还是8×8的二维矩阵,甚至有些系数值还增大了,如图3-8(a)(b)。但是,这些系数有明确的物理意义。例如:其左上角( u =0, v =0的位置)即 F (0,0)的系数为直流成分或称为直流分量,其余的 F ( u , v )均表示交流成分或称为交流分量;右下角 F (7,7)的系数表示高次谐波分量;在右上角的系数 F (7,0)表示水平方向频率最高,垂直方向频率最低的交流分量;左下角的系数 F (0,7)表示垂直方向频率最高,水平方向频率最低的交流分量。空间频率的数值随着 u 或 v 的增大而增大,相应的系数分别代表逐步增加的水平方向频率和垂直方向频率的能量。进行DCT后,左上角的直流分量和低频交流分量所含的能量高,右下角高频交流分量所含的能量低,适当忽略掉偏右下角能量低的高频部分,不会影响画面还原,即对画质的影响在可接受范围内,这就达到了压缩的目的。
3.DCT系数的不均匀量化——数据压缩,去除视觉冗余。
DCT虽然本身并不能进行码率压缩,但它为去除视觉冗余提供了前提条件。如前所述,人眼对信号的细微差别不敏感,因此可以设定一个量化阈值,舍弃阈值以下的信号。简单地将64个二维DCT系数除以同一个常数会导致有用信息损失过多,较为理想的做法是尽可能多地保留数组中左上位置的信息,因为它们表示图像中对视觉影响更大的部分。通过大量实验并根据主观评价效果确定了表3-2亮度量化表和表3-3色度量化表,其值随DCT系数的位置而改变,量化表的尺寸为64,与64个变换系数一一对应。在量化表中,左上角及其附近区域的数值较小,而右下角及其附近区域的数值较大。同一像素的亮度量化表和色度量化表不同,色度量化步长比亮度量化步长要大,这符合人眼的视觉特性,因为人的视觉对高频分量不太敏感,而且对色度信号的敏感度比亮度信号的敏感度低。
表3-2 亮度量化表
表3-3 色度量化表
经过量化,右下角部分的高频交流分量的权重可以大大减小,取整后很多数值都变为0,也就是去掉了高频成分,再结合游程长度编码实现码率压缩。
为了突出问题和便于理解,图3-8(b)到图3-8(c)的过程是个均匀量化的过程,即每个系数除以4再向零取整。
4.按之字形扫描方式读出数据,形成右下部分连续的0,为使用游程长度编码创造条件。
变换后的二维矩阵,左上角部分数值最大,越往右下方向数值越小,右下角部分很多数值都为0,如图3-8(c)。用图3-8(d)的方式从左上方开始,之字形读取系数(Zig-Zag),可以得到如图3-8(e)的一组数值。可以看到,二维数组简化为一维数组,且开始的数值较大(第一个数值为直流分量),后面数值趋势性变小(低频交流分量),最后面会出现多个连续的0。这就为使用游程长度编码创造了条件。
5.进行游程长度编码(Runlength Encoding),进一步压缩码率。
游程长度编码中的一种方案是,非0数值顺序读取,遇到0的时候记录0的个数,如果数据后面全为0,则用结束符(EOB)结尾。游程长度编码应用于上述之字形扫描读出64个量化后的系数,其优点显而易见。因为之字形扫描,读出的数据在大多数情况下出现连续为0的机会比较多。尤其在最后,如果都是0,在读到最后一个非0数值后,只要给出“像素块结束”(EOB)码,就可以结束传输,从而大大降低了码率。对图3-8(d)所示的数据序列进行的游程长度编码如图3-8(e)所示,减少了数据,实现了码率压缩。
DCT反变换按照以上过程反向进行,如图3-6。
统计编码又称熵编码,它是用不同长度的码字对应不同概率的事件(符号),即用短的码字对应概率大的事件(符号),用长的码字对应概率小的事件(符号),从而使平均码长最短。统计编码实现了码字长度与事件出现频率的最佳匹配。下面通过实例来了解统计编码技术和原理。变字长编码,即霍夫曼(Huffman)编码的步骤如下。
1.先将 K 个信源符号按出现的概率由大到小顺序排列,如图3-9所示。
图3-9 统计编码示意图
2.将最小的两个概率相加,可将其中概率大者赋予“1”,概率小者赋予“0”;当然,也可以反过来,将概率大者赋予“0”,概率小者赋予“1”。应注意赋值方法须始终保持一致,这里采用前者编排。
3.把相加求出的和作为一个新的概率集合,再按第2步方法重排。如此重复,直到剩下最后两个概率值。
4.分配码字。码字分配从最后一步开始反向进行。对最后两个概率值(0.40和0.60)赋值,一个赋予“0”码,另一个赋予“1”码。由图3-9可以看出,这个编码过程实际上是一个二叉树遍历的过程。树的 K 个端点对应 K 个信源符号。每个节点的两个分支用二进制码的两个码元符号“1”和“0”标志。从根开始,沿着图中所示的路径,经过一个或几个节点到端点,将一路上遇到的二进制码元符号按顺序排列起来,就是这个端点所对应的信源符号的码字。概率大的符号分配较短的码字,如概率为0.21的a 1 分配为01;而概率小的比如概率为0.02的a 7 则分配较长的码字1000,这样就提高了编码效率。
统计编码已被广泛地应用到各种静止和活动图像的编码中。它可以用来对一维信源符号编码,也可以用来对多维信源符号编码(一维信源符号用变字长编码,二维信源符号用游程长度编码)。但是统计编码要求事先知道各信源符号出现的概率,否则编码效率会明显下降。总而言之,统计编码的基本原理就是去除图像信源像素值概率分布的不均匀性,使编码后的图像数据接近于其信息熵而不产生失真,基于图像概率分布特性的主要编码方法有霍夫曼编码、算术编码、游程长度编码。
目前,声音的采集和重放这两个环节还必须对模拟音频信号进行处理,在中间的传输和存储环节已经广泛地使用数字处理技术。声音信号的数字化具有诸多优点:传输稳定差错少,声音动态范围大,声音还原度高,信噪比高串音小,容易复制编辑等。把模拟音频信号转换为数字音频,同样经过抽样、量化与编码三大步骤。与数字图像信号的压缩编码相同,数字声音信号压缩编码的目的是降低声音信号中的冗余,将数字声音的信息量减到最小程度,但又能得到接近原声音的质量。
对数字音频信号进行压缩是很有必要的。例如常见的CD音质:采样频率为44.1kHz,16比特量化,共两个声道,其数据传输率为44.1×16×2=1.411Mbps;每分钟需要的存储空间为1.411÷8×60=10.584MB。如果传输5.1声道的声音:采样频率48kHz,16比特量化,6个声道,其数据传输率为48×16×6=4.608Mbps,每分钟需要的存储空间为4.608÷8×60=34.56MB。由上可以看出,音频信号数字化后产生的数据量显然比视频小得多,但和文本信息相比,仍然显得比较庞大。为了节约传输带宽和存储空间,很有必要对音频信号进行压缩。
数字声音信号压缩编码的依据,是人耳的听觉特性及声音本身存在的冗余信息。
响度,又称声强或音量,它表示的是声音能量的强弱程度,主要取决于声波振幅的大小。声音的响度一般用声压(达因/平方厘米)或声强(瓦特/平方厘米)来计量,声压的单位为帕(Pa),它与基准声压比值的对数值称为声压级,单位是分贝(dB)。对于响度的心理感受,一般用单位宋(Sone)来度量,并定义频率为lkHz、声压级为40dB的纯音的响度为1宋。响度的相对量称为响度级,它表示的是某响度与基准响度比值的对数值,单位为方(phon),即当人耳感到某声音与1kHz单一频率的纯音同样响时,该声音声压级的分贝数即其响度级。不同频率、相同响度级的点连成的曲线称为等响度曲线,它实际上反映了响度级、声压级与频率三者之间的关系。由等响度曲线可以看出,人耳对不同频率的声音的敏感程度不一样。利用人耳的这种特性有选择地忽略一部分频率或者响度的声音,可以达到减少数据量的目的。
利用与基准音比较的方法,测出整个可听范围的纯音响度级,这就是著名的弗莱切—芒森等响度曲线,见图3-10(坐标横轴为常用对数值)。
图3-10 弗莱切—芒森等响度曲线
声学方面的一些结论可以作为压缩编码的依据:
1.人耳的正常听觉频率范围为20Hz~20kHz,强度范围为-5dB~130dB,但人耳对于16kHz以上的高频声的响应很不敏感。
2.语音的动态范围为30dB~70dB,音乐的动态范围更大一些,约20dB~100dB。
3.人耳感受声音刺激的响度,并不与声音震动的振幅一致。响度的大小与声音的频率有关,在低声强时,人耳对中频段1kHz~3kHz的声音最为灵敏,对高、低频段的声音,特别是低频声变得迟钝。另外,对于高声强级的声音信号,人耳感觉其响度与频率的关系不大,相同振幅的各频率声音,听起来感觉响度差不多;对于低声强级的声音则与频率关系较大。对于振幅相同的信号,人耳感到高、低频的声音比中频声音小得多,而且这种现象随着声音振幅的减小更为明显,也就是人耳对中频声音更为敏感。
4.掩蔽:一个较强声音的存在可以掩蔽另一个较弱声音的存在,即人耳具有掩蔽特性。人耳的掩蔽特性是一个较为复杂的心理学和生理声学现象,主要表现为频谱(域)掩蔽和时间(域)掩蔽。频谱掩蔽,即在人耳敏感听阈范围内,某一频率的高响度声音可以掩蔽它相邻频率的声音。响度差别越大,对周围频率的掩蔽作用越强。时间掩蔽是指时间相近的两个声音,强音掩蔽弱音。这种特性在相差时间越短和响度差别越大的情况下越明显。
5.人耳的方向特性,即人耳对于特定频率范围内的声音可以辨别方向,对超出这段频率范围的声音无法辨明方向。在声音编码中,可利用此特性把多个声道的辨向频率以外的声音耦合到一个公共声道以达到压缩编码的目的。
上面从人耳的听觉特性上分析了数字音频信号压缩的可行性,从声音信息本身的角度出发,还有多种冗余可供压缩,这些冗余主要有以下几种:
1.小幅度样值比大幅度样值出现的概率大,且在通话间隔会再现大量低电平样值。
2.当抽样频率为8kHz时,相邻样值间的相关系数大于0.85,甚至在相距10个样值时相关系数还可达0.3。抽样频率越高,样值间的相关性越强,故采用预测编码,可有效地压缩数据。
3.当声音中只存在几个基本频率时,其波形呈现出周期振荡,即多周期之间存在着相关性。利用周期之间的相关性,可以压缩码率。
4.声音通常分为浊音及清音,清音又分为摩擦音和爆破音两种。可以通过对语音进行分析,利用音调周期的相关性压缩码率。
5.讲话时,字、词、句之间均有停顿。根据统计,由于话音间隙使得全双工话路的典型效率约为通话时间的40%(或静止系数为0.6)。话音间因停顿造成的时间间隙是一种很大的冗余。
6.对语音信号,还存在着频域信息的冗余。研究发现,声音信号变换到频域后,低频谱的能量大,高频谱的能量较小。若对频谱分频段进行编码,也可以提高编码效率。
7.随着硬件运算能力的提高,可以做到一定程度的语义预测以达到节约码字的目的。
下面介绍的MUSICAM编码和AC-3编码是数字电视和数字音频系统中最常用的压缩编码方法。
MUSICAM编码的全称叫掩蔽型自适应通用子频带集成编码与复用,它利用了人耳的掩蔽效应,采用快速MDCT(改进的离散余弦变换)技术,可以达到CD级的声音质量。针对不同的应用,MUSICAM设计了三个不同的层次,称为层(layer)。简单版本Layer1:在CD质量下,比特率为384Kbps,压缩比为1∶4;主要用于数字盒式录音磁带、VCD。标准版本Layer2:编码器的复杂度属中等;在CD质量下,比特率为192Kbps左右,压缩比为1∶8;主要用于数字演播室、DAB、DVB、电缆和卫星广播、计算机多媒体等数字节目的制作、交换、存储、传送。复杂版本Layer3,它是MUSICAM和ASPEC[自适应(音频)频谱感知熵编码]的混合编码,声音质量最佳,在CD质量下,比特率为128Kbps,压缩比为1∶12;主要用于通信,尤其适用于ISDN(综合业务数据网)上传送广播节目、网络声音点播、MP3光盘存储等。
MUSICAM编码的编解码器的结构和主要工作步骤如图3-11:
图3-11 MUSICAM编解码器的结构
MUSICAM的压缩编码过程可粗略地分为4个步骤:
1.时间/频率映射。
数字式多相正交分解滤波器组将输入的768Kbps双声道音频信号PCM分割成相邻的等带宽的多个子带信号(Layer1、Layer2带宽为750Hz、子带数目为32个,Layer3子带数目为6×32个或18×32个),即对PCM信号完成时间频率映射;在这一步骤中,还同时对PCM信号进行FFT(快速傅里叶变换)计算,得到其精确的频谱结构。
2.求出各子带的掩蔽门限的估值。
在对PCM信号进行快速傅里叶变换计算的基础上,进行心理声学模型计算。MUSICAM有两个心理声学模型,其中模型1用于Layer1、Layer2,模型2用于Layer3。根据实际要求,得到每个子带的最佳掩蔽阈值。最后将各子带的最大信号电平和最佳掩蔽阈值传输给量化编码器。
3.对各子带进行量化编码。
根据各子带的掩蔽阈值及分配的量化比特数进行量化编码。虽然各子带分配的量化比特数不同,但对于各子带而言,是均匀量化的。由于根据人耳的掩蔽特性进行了码率压缩,从而使量化比特数大大减少。
4.量化编码器输出的码流按帧打包。
MPEG-1标准中处理的最小单元是帧,量化编码器的输出码流按帧打包。每一帧的开始都有一个同步的信息码及CRC循环冗余校验码。一帧信号处理384个PCM的样值。因为要检测每个样值的大小后才能开始处理,所以延时时间为384/48(kHz)=8ms。
MUSICAM的解码过程与上述编码过程相反,即其逆过程。首先将输入的压缩码流去复用后进行解码(解压缩),恢复成压缩前的码流,再通过数字多相正交滤波器组进一步恢复成768Kbps的PCM数字音频信号。
杜比AC-3是1994年由美国杜比(DOLBY)实验室与日本先锋公司合作研制出的一种环绕声系统。该系统利用心理声学原理对音频信号进行压缩编码,采样频率有32kHz、44.1kHz、48kHz等,其中48kHz取样频率比较常用。杜比AC-3可同时对6个音频声道进行编码和传输,即左(Left)、中心(Middle)、右(Right)、左环绕(Left Surround)、右环绕(Right Surround)和低频效果(Low Frequency Effect,LFE)。其中5个声道带宽限于20kHz,LFE声道带宽限于20Hz~120Hz。HDTV标准中杜比AC-3可对1~5.1声道的音频源进行编码,其中.1声道是指传送LFE的声道,其动态范围可达100dB。杜比AC-3环绕声播放系统如图3-12所示。
图3-12 杜比AC-3环绕声播放系统
AC-3编码器接收标准PCM码流,通过时间窗和分析滤波器组的处理,把时间域内的PCM样值变换为频域内成块的一系列系数。每块包含512个样值点,其中256个样值在连续的两块中是重叠的。即每一个输入样值出现在前后连续的两个变换块内。因此,变换后的变换系数可以去掉一半而变成每块包含256个单值变换系数。每个变换系数以二进制指数形式表示,也就是说,每个变换系数对应一个二进制指数和一个尾数。指数的集合反映了信号的频谱包络信息,对其进行编码后可以粗略地代表信号的频谱,称为频谱包络。核心比特指派例行程序用此频谱包络决定分配给每个尾数用多少比特进行编码。另外,如果最终信道传输码率很低而导致AC-3编码器溢出,编码器自动采用高频系数耦合技术,以进一步降低码率。最后把连续的6块(共1536个新声音样值)频谱包络编码、量化的尾数以及其他数据格式化后组成AC-3数据同步帧,连续的同步帧汇成AC-3码流并传输出去。AC-3编码原理见图3-13。
图3-13 AC-3编码原理框图
对多声道音频节目进行编码时,利用信道组合技术可进一步降低码率。这是因为人耳对高频区域的声音信号的相位不敏感,因此可以将几个信道的高频部分的频域系数加以平均,从而降低码率。与此同时,给各个被组合的信道分配一个特有的组合系数,以便解码时用它恢复各个声道的信号。此外,对于具有高相关性的声道,如左右声道,AC-3并不直接对原始声道本身进行编码,而是对它们的和与差进行编码。显然,若两声道很相近,则它们的和信号较大,而差信号近似为零,这样可以用较少的比特对两声道进行编码。
图3-14 AC-3解码原理框图
AC-3解码器的工作过程是其编码的反过程,原理如图3-14所示。AC-3解码器首先与压缩编码的AC-3数据流同步,经误码纠错后对码流进行解格式化处理,分离出各种类型的数据,如控制参数、系数配置参数、编码后的频谱包络以及量化后的尾数等。然后根据声音的频谱包络产生比特分配信息,对尾数部分进行反量化,恢复变换系数的指数和尾数,再经过合成滤波器组由频域表示变换到时域表示,最后输出重建的5.1声道的PCM样值信号。
1.本模块从分析视频图像信号和声音信号的特点入手,结合视觉和听觉特性,认识到视频信号和声音信号中存在大量冗余,然后介绍了几种常用的音视频编解码技术。使用这些编解码技术的目的都是以尽量小的码率,重建较好的视频画面和声音质量。在数字电视系统中,编解码的效率直接影响了数字电视音视频信号的还原质量,因而信源编码技术是数字电视的关键与核心技术之一。
2.除了本模块介绍的预测编码、变换编码、统计编码,常用的数字电视视频压缩技术还有小波变换编码技术、具有运动补偿的帧间编码技术、具有运动模型基编码技术补偿的帧间内插编码技术、矢量量化编码技术、分级编码技术、分形编码技术等。
3.常用的数字电视声音压缩编码技术有MUSICAM编码、AC-3编码等。
思考与练习
1.为什么说将数字电视视频信号进行压缩很有必要?
2.说说视频信号有些什么特点,在哪些方面可以减少码率?
3.说说人眼的视觉特点。
4.什么是差值编码?
5.简述预测编码的基本原理。
6.通过图3-8,说说DCT编码的主要步骤,分析变换编码的原理。
7.简述霍夫曼编码的原理。
8.人耳有哪些听觉特性?
9.MUSICAM编码分几层?分别适合于什么样的应用?
10.杜比AC-3的5.1环绕声系统都由哪些声道组成?