1.55k likes | 1.88k Views
第10章 多媒体数据压缩与编码. 多媒体计算机要处理的信息主要有文字、声音、图形、图像等。其中需要处理的图形与图像信息约占总信息量的85%。 对多媒体信息进行压缩的目的是减小存储容量和降低数据传输率,使得现有的 PC 机的指标与性能达到能够处理声音与图像信息的要求,这是多媒体计算机硬件支撑平台所必须具备的功能。在这个过程中,声音与图像信息都需要进行压缩处理。但其中矛盾最突出和最困难的是图像信息压缩,这是因为数字化后图像信息数据量非常大,使得存储与处理都十分困难。数据压缩技术的重要作用在图像信息的压缩方面表现得尤为明显。. 10.1 数据压缩编码技术概述
E N D
第10章 多媒体数据压缩与编码 多媒体计算机要处理的信息主要有文字、声音、图形、图像等。其中需要处理的图形与图像信息约占总信息量的85%。 对多媒体信息进行压缩的目的是减小存储容量和降低数据传输率,使得现有的PC机的指标与性能达到能够处理声音与图像信息的要求,这是多媒体计算机硬件支撑平台所必须具备的功能。在这个过程中,声音与图像信息都需要进行压缩处理。但其中矛盾最突出和最困难的是图像信息压缩,这是因为数字化后图像信息数据量非常大,使得存储与处理都十分困难。数据压缩技术的重要作用在图像信息的压缩方面表现得尤为明显。
10.1 数据压缩编码技术概述 • 10.1.1 信息的度量讨论数据压缩,就要涉及现代科学领域的一个重要分支—信息论。信息论有关信息熵的概念对数据压缩有着重要的指导意义,它一方面给出了数据压缩的理论极限,另一方面又指明了数据压缩的技术途径。 信息论的创始人香农(C.E Shannon)在他的著名论文《通信的数学理论》中,从研究通信系统传输的实质出发,对信息作了科学定义,进行了定性和定量的描述。 香农认为:信息是有秩序的量度,是人们对事物了解的不确定性的消除或减少。信息是对组织程度的一种测度,信息能使物质系统有序性增强,减少破坏、混乱和噪音。
香农提出:信息的传播过程是“信源”(信息的发送者)把要提供的信息经过“信道”传递给“信宿”(信息的接收者),信宿接收这些经过“译码”(即解释符号)的信息符号的过程。并由此建立了通信系统模型。我们从一则消息中获得了信息,但获得的信息有多少呢?量度信息多少的测度就是信息量。信息的度量反映了人们对于信息的定量认识。根据香农有关信息的定义,信息如何测度呢?显然,信息量与不确定性消除程度有关。消除多少不确定性,就获得多少信息量。用数学语言来讲,不确定就是随机性。不确定性的大小可以直观地看成是事先猜测某随机事件是否发生的难易程度。
按照香农的定义,信息量的度量公式可描述为: (10.1) 它实际上就是后验概率和先验概率之比。在信道无干扰情况下,由信源传来的消息告诉信宿某事件已经发生,则某事件必然发生了。按照概率的定义,对于确定发生的必然事件,其概率为1。这时公式的后验概率为1。
(10.3) 第i个消息可能有n种状态,那么输出这个消息的总信息量的期望值(即平均信息量)为: 借用热力学的名词,把H叫做熵。它代表接收一个符号所获得的平均信息量。熵是在平均意义上表征信源总体特性的一个物理量。公式(10.3)中,对数的底数理论上可取任何数。当底数为2时,信息的计量单位为比特(bit),即二进制单位。 以上就是香农关于信息的度量。通常也称为概率信息。它是一个科学的定义,有明确的数学模型和定量计算。
香农公式与日常用语中信息的含义一致。如,设某一事件是在预料中一定会发生的必然事件,若该事件果然发生了,收信者将不会得到任何信息。因为根据公式(10.2),Pi=1,得:香农公式与日常用语中信息的含义一致。如,设某一事件是在预料中一定会发生的必然事件,若该事件果然发生了,收信者将不会得到任何信息。因为根据公式(10.2),Pi=1,得: (10.4) 反之,若某一事件发生的概率很小,即猜测它是否发生的不确定性很大,一旦这个事件发生了,收信者会觉得很意外,感到获得信息量很大。根据公式(10.2),因为Pi<<1(表示概率远小于1),故得: (10.5)
只有当事件发生与不发生的概率相同时,其信息量才达到最大。香农的信息度量公式排除了对信息的主观含意。根据上述公式,同样一个消息对任何一个收信者来说,所得到的信息量都是一样的。
10.1.2 信息的压缩 压缩编码的理论基础是信息论。香农把信息定义为熵的减少。即,信息可定义为用来消除不确定性的东西。从信息论的角度来看,压缩就是去掉信息中的冗余,即保留不确定的信息,去除确定的信息,也就是用一种更接近信息本质的描述来代替原有冗余的描述。所以,将香农的信息论观点运用到图像信息的压缩,所要解决的问题就是如何将图像信息压缩到最小,但仍携有足够信息以保证能复制出与原图近似的图像。
图像信息之所以能进行压缩是因为其本身通常存在很大冗余,以视频连续画面为例,每一帧画面由若干个像素组成,因为动态图像通常反映一个连续的过程,相邻帧之间存在很大相关性,从一幅画面到下一幅画面,背景与前景可以没有太多的变化。这些相似的信息为数据压缩提供了基础。另一原因是人的视觉和听觉对某些信号(如颜色,声音)不敏感,致使信息被压缩之后还不知不觉,也不致对压缩后的信息产生误解。正因如此,可在允许保真度的条件下压缩待存储的图像数据,以节省存储空间,图像传输时也大大减少信道的容量,光盘技术和数据压缩技术的发展为各种形式数据的存储和传输提供了技术保证。CPU性能不断提高也为数据压缩提供了有利条件。
10.1.3 有损压缩与无损压缩 多媒体数据压缩分为有损压缩和无损压缩。 无损压缩算法是为保留原始多媒体对象(包括图像、语音和视频)而设计的。无损压缩中,数据在压缩过程中不会改变或损失,解压缩产生的数据是对原始对象的完整复制。当图像冗余度很少(同类像素重复性很小)时,无损压缩技术得不到可接受的结果。 有损压缩会造成一些信息的损失,关键问题是看这种损失对图像质量带来的影响。只要这种损失被限制在允许范围内,有损压缩就是可接受的。有损压缩技术主要应用领域是在影像节目、可视电话会议和多媒体网络这样的由音频、彩色图像和视频组成的多媒体应用中。
10.1.4 对称压缩和不对称压缩压缩技术的基本方式有两种:即对称压缩和不对称压缩。在对称压缩中,压缩算法和解压缩算法是一样的。是一种可逆操作。对称压缩的优点在于双方都以同一种速度进行操作,例如视频会议这种实时传递的系统便采用对称压缩技术。发送方将实况视频信号用某种算法加以压缩,然后通过通信介质进行传输。接收端收到信号后,再使用同样的算法按逆运算解压缩,使图像解码后重现。 不对称压缩,是指压缩和解压缩的运算速率是不相同的。例如VCD的制作与播放便是典型的不对称压缩。在制作VCD时,将一部电影压缩到VCD盘片上可能需要花费十几个小时或更多时间,而播放VCD时,为保证视频的流畅,其解压缩的速度却很快。
10.1.5 影响数据压缩的几个要素一个好的压缩方法对多媒体信息的存储和传输是至关重要的,影响压缩性能的主要指标有: • 压缩比对压缩前后的文件大小和数据量进行比较,作为压缩率的衡量指标。人们普遍希望压缩的倍数越高越好,压缩的速度越快越好。但同时人们又希望确保数据压缩的精度,即解压缩的数据和原来的数据最好没有差别,没有数据损失。然而追求压缩比率和追求精度往往是矛盾的,因此就需要在这两者之间权衡取舍。
图像质量 图像的清晰程度反映出图像的质量。有损压缩可获得较大压缩比,但压缩比过高,还原后的图像质量可能降低。图像质量的评估常采用客观和主观评估两种方法。客观评估是通过一种具体算法来统计多媒体数据压缩结果的损失。如采用纯误差测度,即原始图像与恢复图像之间的简单数学统计。尽管这种方法将误差量化表达,但并不能反映观察者对误差的视觉感知。 主观评估基于人的视觉感知,因为观察者作为最终视觉信宿,他们能对恢复图像的质量作出直观的判断。方法之一是进行主观测试,让观察者通过观测一系列恢复图像,并与原图像进行比较,再根据损伤的可见程度进行评级,以判断哪种压缩方法的失真少。
传统的客观评价方法由于只对恢复图像和原始图像的纯误差做数学统计,难以反映图像的视觉差别。如果能在客观评估中引入简单的视觉模型,或者误差的结构特性,便能导致与主观测试更符合的结果。主观评估的好处就是使人一目了然,但是主观评判的结果往往和客观评判并不是一一对应的,有的结果相差很大。然而这种方法容易受观察者背景知识、观测动机、观测环境等等因素的限制和影响。所以,在图像处理技术和压缩编码技术飞速发展的今天,能够准确地对图像质量进行主观评估的客观评估(即数学算法)是亟待解决的难题。传统的客观评价方法由于只对恢复图像和原始图像的纯误差做数学统计,难以反映图像的视觉差别。如果能在客观评估中引入简单的视觉模型,或者误差的结构特性,便能导致与主观测试更符合的结果。主观评估的好处就是使人一目了然,但是主观评判的结果往往和客观评判并不是一一对应的,有的结果相差很大。然而这种方法容易受观察者背景知识、观测动机、观测环境等等因素的限制和影响。所以,在图像处理技术和压缩编码技术飞速发展的今天,能够准确地对图像质量进行主观评估的客观评估(即数学算法)是亟待解决的难题。
压缩与解压缩的速度压缩和解压缩的速度是压缩系统的两项单独的性能度量。在有些应用中,压缩和解压缩都需要实时进行,如电视会议的图像传输。在有些应用中,压缩可以用非实时压缩,而只要解压缩是实时的,如多媒体CD-ROM的节目制作。从目前开发的压缩技术来看,一般压缩的计算量比解压缩要大。压缩速度不仅与采用的压缩方法有关,而且与快速算法的计算量有关,若在算法上有较大突破,无疑将对多媒体的开发与应用产生很大影响。压缩与解压缩的速度压缩和解压缩的速度是压缩系统的两项单独的性能度量。在有些应用中,压缩和解压缩都需要实时进行,如电视会议的图像传输。在有些应用中,压缩可以用非实时压缩,而只要解压缩是实时的,如多媒体CD-ROM的节目制作。从目前开发的压缩技术来看,一般压缩的计算量比解压缩要大。压缩速度不仅与采用的压缩方法有关,而且与快速算法的计算量有关,若在算法上有较大突破,无疑将对多媒体的开发与应用产生很大影响。
执行的硬件与软件采用什么样的硬件与软件去执行压缩/解压缩,与采用压缩方案和算法的复杂程度有着密切的关系。设计精巧的简单算法可以在简单的硬件上执行,且执行速度很快。而设计复杂的算法需要在功能强大的软硬件支持下才能运行。但仅靠算法来提高压缩/解压缩的速度还是有限的。在多数情况下,不得不依靠硬件本身提供的功能去完成,例如采用专用多媒体处理芯片。因此在压缩/解压缩系统中,速度和硬件之间的选择显得十分重要。执行的硬件与软件采用什么样的硬件与软件去执行压缩/解压缩,与采用压缩方案和算法的复杂程度有着密切的关系。设计精巧的简单算法可以在简单的硬件上执行,且执行速度很快。而设计复杂的算法需要在功能强大的软硬件支持下才能运行。但仅靠算法来提高压缩/解压缩的速度还是有限的。在多数情况下,不得不依靠硬件本身提供的功能去完成,例如采用专用多媒体处理芯片。因此在压缩/解压缩系统中,速度和硬件之间的选择显得十分重要。
10.1.6 图像编码技术的发展 • 经典编码技术 1948年,Oliver提出了第一个编码理论——脉冲编码调制PCM(Pulse Coding Modulation);同年,Shannon的经典论文——“通信的数学原理”首次提出并建立了信息率失真函数概念;1959年,Shannon进一步确立了码率失真理论,奠定了信息编码的理论基础。 编码方法主要有预测编码、变换编码和统计编码,也称为三大经典编码方法。经典编码技术又称为“第一代”编码技术。
“第一代”视频(图像)编码技术是非常优秀的纹理编码方案,它们能够在中等压缩率的情况下,提供非常好的图像质量,但在非常低的位率情况下,无法为一般的序列提供令人满意的质量。20世纪80年代初,“第一代”编码技术达到了顶峰,这类技术去除客观和视觉冗余信息的能力已接近极限。究其原因是由于这些技术都没有利用图像的结构特点,因此它们也就只能以像素或块作为编码对象,另外,这些技术在设计编码器时也没有考虑人类视觉系统的特性。“第一代”视频(图像)编码技术是非常优秀的纹理编码方案,它们能够在中等压缩率的情况下,提供非常好的图像质量,但在非常低的位率情况下,无法为一般的序列提供令人满意的质量。20世纪80年代初,“第一代”编码技术达到了顶峰,这类技术去除客观和视觉冗余信息的能力已接近极限。究其原因是由于这些技术都没有利用图像的结构特点,因此它们也就只能以像素或块作为编码对象,另外,这些技术在设计编码器时也没有考虑人类视觉系统的特性。
“第二代”编码方法“第一代”编码技术以信息论和数字信号处理技术为理论基础,旨在去除图像数据中的线性相关性。其压缩比不高,大约在10∶1左右。为了克服“第一代”视频(图像)编码技术的局限性,Kunt等人于1985年提出“第二代”视频(图像)编码技术。“第二代”编码技术不局限于信息论的框架,而是充分利用人的视觉生理、心理和图像信源的各种特征,实现从“波形”编码到“模型”编码的转变,以便获得更高压缩比。其压缩比在30:1至70:1之间。“第二代”编码方法主要有:基于分形的编码、基于模型的编码、基于区域分割的编码和基于神经网络的编码等。“第二代”编码方法“第一代”编码技术以信息论和数字信号处理技术为理论基础,旨在去除图像数据中的线性相关性。其压缩比不高,大约在10∶1左右。为了克服“第一代”视频(图像)编码技术的局限性,Kunt等人于1985年提出“第二代”视频(图像)编码技术。“第二代”编码技术不局限于信息论的框架,而是充分利用人的视觉生理、心理和图像信源的各种特征,实现从“波形”编码到“模型”编码的转变,以便获得更高压缩比。其压缩比在30:1至70:1之间。“第二代”编码方法主要有:基于分形的编码、基于模型的编码、基于区域分割的编码和基于神经网络的编码等。
“第二代”编码方法充分利用了计算机图形学、计算机视觉、人工智能与模式识别等相关学科的研究成果,为视频压缩编码开拓出了广阔前景。但由于“第二代”编码方法增加了分析的难度,所以大大增加了实现的复杂性。从当前发展情况看,“第二代”编码方法仍处于深入研究阶段。如,分形法由于图像分割、迭代函数系统代码的获得非常困难,因而实现起来时间长,算法非常复杂。模型法则仅限于人头肩像等基本的视频上,进一步的发展有赖于新的数学方法和其他相关学科的发展。神经网络的工作机理至今仍不清楚,硬件研制不成功,所以在视频编码中的应用研究进展缓慢,目前多与其他方法结合使用。但由于巨大压缩性能潜力,人们正致力于这些新方法研究之中。“第二代”编码方法充分利用了计算机图形学、计算机视觉、人工智能与模式识别等相关学科的研究成果,为视频压缩编码开拓出了广阔前景。但由于“第二代”编码方法增加了分析的难度,所以大大增加了实现的复杂性。从当前发展情况看,“第二代”编码方法仍处于深入研究阶段。如,分形法由于图像分割、迭代函数系统代码的获得非常困难,因而实现起来时间长,算法非常复杂。模型法则仅限于人头肩像等基本的视频上,进一步的发展有赖于新的数学方法和其他相关学科的发展。神经网络的工作机理至今仍不清楚,硬件研制不成功,所以在视频编码中的应用研究进展缓慢,目前多与其他方法结合使用。但由于巨大压缩性能潜力,人们正致力于这些新方法研究之中。
近来,出现了充分利用人类视觉特性的“多分辨率编码”方法,如子带编码和基于小波变换的编码。这类方法使用不同类型的一维或二维线性数字滤波器,对视频进行整体分解,然后根据人类视觉特性对不同频段的数据进行粗细不同的量化处理,以达到更好的压缩效果。这类方法原理上仍属于线性处理,属于“波形”编码,可归入经典编码方法,但它们又充分利用了人类视觉系统特性,因此可被看作是“第一代”编码技术向“第二代”编码技术的过渡。 • 用信息熵H来评价压缩编码在压缩编码中,信息熵H可用于用熵衡量压缩方法的效果,如果信号序列经压缩后,熵H不变,则表明信息量没有下降,这种压缩方法是无损的编码方法,所以无损编码又称为熵(不变)编码。
用熵衡量压缩是否为最佳码 如以N表示编码器输出码字的平均码长, 则当: N>>H(X)时,有冗余,不是最佳,有进一步压缩的潜力; N<H(X)不可能; N稍大于H(X)时是最佳码。熵值是平均码长N的下限。 • 10.1.7 图像编码技术的标准化图像编码的研究内容是图像数据压缩,其主要应用领域是图像信息通信和存储。当需要对所传输或存储的图像信息进行高比率压缩时,必须采取复杂的图像编码技术。但是,如果没有一个共同的标准,不同系统间不能兼容。除非每一编码方法的各个细节完全相同,否则各系统间的联结十分困难。
鉴于这一情况,20世纪90年代后,国际电信联盟ITU、国际标准化组织ISO和国际电工委员会IEC在全世界范围内积极工作,制定了一系列静止和活动图像编码的国际标准,现已批准的主要有:JPEG标准、MPEG标准、H.261标准等。这些标准和建议是在相应领域工作的各国专家合作研究的成果和经验总结。由于这些国际标准的出现,图像编码尤其是视频图像编码压缩技术得到了飞速发展。目前,按照这些标准做的硬件、软件产品和专用集成电路在市场上大量涌现,对现代图像通信的迅速发展及开拓图像编码新应用领域(如多媒体通信、数字高清晰度电视传输等)发挥了重要作用。随着研究不断深入,还将有新的数据压缩编码标准不断推出。鉴于这一情况,20世纪90年代后,国际电信联盟ITU、国际标准化组织ISO和国际电工委员会IEC在全世界范围内积极工作,制定了一系列静止和活动图像编码的国际标准,现已批准的主要有:JPEG标准、MPEG标准、H.261标准等。这些标准和建议是在相应领域工作的各国专家合作研究的成果和经验总结。由于这些国际标准的出现,图像编码尤其是视频图像编码压缩技术得到了飞速发展。目前,按照这些标准做的硬件、软件产品和专用集成电路在市场上大量涌现,对现代图像通信的迅速发展及开拓图像编码新应用领域(如多媒体通信、数字高清晰度电视传输等)发挥了重要作用。随着研究不断深入,还将有新的数据压缩编码标准不断推出。
图10.1 是图像压缩编码分类的一般方法 图10.1 图像压缩编码分类的一般方法
10.2 预测编码 • 10.2.1 预测编码的基本概念预测编码是数据压缩理论的一个重要分支,它是根据离散信号之间存在着一定的相关性,利用前面的一个或多个信号对下一信号进行预测,然后对实际值和预测值的差进行编码。就图像压缩而言,预测编码可分为帧内预测和帧间预测两种类型。
帧内预测编码反映了同一帧图像内,相邻像素点之间的空间相关性较强,因而任何一个像素点的亮度值,均可由它相邻的已被编码的像素点的编码值来进行预测。如果能够准确地预测作为时间函数的数据源的下一个输出将是什么,或者数据源可以准确地被一个数据模型表示,则可以准确地预测数据,然而,实际信号源是不可能满足这两个条件的,因此,只能用一个预测器,预测下一个样值,允许它有些误差。通常使用的误差函数是均方误差(mse):帧内预测编码反映了同一帧图像内,相邻像素点之间的空间相关性较强,因而任何一个像素点的亮度值,均可由它相邻的已被编码的像素点的编码值来进行预测。如果能够准确地预测作为时间函数的数据源的下一个输出将是什么,或者数据源可以准确地被一个数据模型表示,则可以准确地预测数据,然而,实际信号源是不可能满足这两个条件的,因此,只能用一个预测器,预测下一个样值,允许它有些误差。通常使用的误差函数是均方误差(mse):
其中:E是数学期望;So是下一样值的实际值;^So是下一样值的预测值。若预测根据某一预测模型进行,且模型表达足够好,则只需存储或传输某些起始像素点和模型参数就可以代表整个一幅图像了。这时只要编码很少的数据量,这是极端理想的情况。实际上预测不会百分之百准确,此时可将预测的误差值(实际值与预测值之差值)存储或传输,一般来讲,误差值要比实际值小得多,这样在同等条件下,就可减少数据编码的比特数,从而也减少了存储和传输的数据量,实现了数据的压缩。
帧内预测编码典型的压缩方法有差分脉冲编码调制DPCM和自适应差分脉冲编码调制ADPCM等,它们比较适合图像与声音数据的压缩。因为这些媒体的数据均由采样得到,相邻采样值之间的差值都不太大,可用较少的比特数表示差值。帧内预测编码典型的压缩方法有差分脉冲编码调制DPCM和自适应差分脉冲编码调制ADPCM等,它们比较适合图像与声音数据的压缩。因为这些媒体的数据均由采样得到,相邻采样值之间的差值都不太大,可用较少的比特数表示差值。 预测器是DPCM的核心,预测器越好,能使差值越小,数据压缩就越多,预测器可采用线性预测或非线性预测,通常采用线性预测作为预测器的设计。
在MPEG压缩标准中还采用了帧间预测编码。这是由于运动图像各帧之间有很强的时间相关性。例如,在电视图像传送中,相邻帧的时间间隔只有1/30秒,大多数像素的亮度信号在帧间的变化是不大的,利用帧间预测编码技术就可减少帧序列内图像信号的冗余度。此外,电视图像的相邻帧间的内容在一般情况下(除场景切换外)实际上没有太大变化,所以相邻帧间有较大相关性,这种相关性称为时域相关性。运动补偿的目地就是要将这种时域相关性尽可能地去除。在MPEG压缩标准中还采用了帧间预测编码。这是由于运动图像各帧之间有很强的时间相关性。例如,在电视图像传送中,相邻帧的时间间隔只有1/30秒,大多数像素的亮度信号在帧间的变化是不大的,利用帧间预测编码技术就可减少帧序列内图像信号的冗余度。此外,电视图像的相邻帧间的内容在一般情况下(除场景切换外)实际上没有太大变化,所以相邻帧间有较大相关性,这种相关性称为时域相关性。运动补偿的目地就是要将这种时域相关性尽可能地去除。
10.2.2 差分脉冲编码-DPCM差分脉冲编码调制DPCM与PCM不同,它编码的不是采样样本值,而是样本值及其预测值的差分,即量化的是已知的样本值与预测值之间的差值。DPCM是从过去的几个采样值的线性组合来预测推断现在的采样值,进而用实际采样值与预测采样值之差(称作预测误差)及线性预测系数进行编码,从而达到信息压缩的一种方法。
差分脉冲编码调制的概念如图10.2。差分信号 是离散输入信号 和预测器输出的估算值 之差。注意 是对是 预测值,而不是过去样本的实际值。DPCM系统实际上就是对这个差值 进行量化编码,用来补偿过去编码中产生的量化误差。它实际上是一个负反馈系统,采用这种结构可以避免量化误差的积累。
重构信号 是由逆量化器产生的量化差分信号 ,与对过去样本信号的估算值 求和得到。以作为预测器确定下一个信号估算值的输入信号。由于在发送端和接收端都使用相同的逆量化器和预测器,所以收发两端可从同一个传送信号 获得相同的量化差分信号 和重构信号 。
若预测误差不经量化精确地传到接收端,可无失真地复原原始PCM信号。但主观实验表明,对于人眼观看的电视图像来讲,预测误差没必要绝对精确地传到接收方,可以对它再经过一次量化,适当降低精确度,从而获得进一步的码率压缩。这样,虽然由于量化误差的引入造成图像一定程度失真,但若把量化误差限制到主观视觉不能察觉的程度,并不影响图像主观质量。所以,量化器是利用主观视觉特点,挖掘压缩潜力的工具。若预测误差不经量化精确地传到接收端,可无失真地复原原始PCM信号。但主观实验表明,对于人眼观看的电视图像来讲,预测误差没必要绝对精确地传到接收方,可以对它再经过一次量化,适当降低精确度,从而获得进一步的码率压缩。这样,虽然由于量化误差的引入造成图像一定程度失真,但若把量化误差限制到主观视觉不能察觉的程度,并不影响图像主观质量。所以,量化器是利用主观视觉特点,挖掘压缩潜力的工具。
10.2.3 自适应差分脉冲编码-ADPCMADPCM是自适应量化和自适应预测方法的总称。ADPCM是在DPCM方法上的进一步改进,通过调整量化步长,对不同频段所设置的量化字长不同,使数据得到进一步的压缩。
自适应量化是使量化间隔大小的变化自动地适应输入信号大小变化。它根据信号分布不均匀的特点,使系统具有随输入信号变化而改变量化区间大小,以保持输入量化器的信号基本均匀的能力。自适应量化必须具有对输入信号的幅值进行估计的能力,有了估值才能确定相应的改变量。若估值在信号的输入端进行,称前馈自适应;若在量化输出端进行,称反馈自适应。预测参数的最佳化依赖于信源的统计特性,而按DPCM采用固定的预测参数往往得不到好的性能。自适应预测不是对输入信号幅度绝对值进行编码,而是对样本之间的差值进行编码。差值不是简单地用样本的绝对值之差,而是通过预测技术使求出的预测值与实际值的均方差尽可能地小(如图10.3)。自适应量化是使量化间隔大小的变化自动地适应输入信号大小变化。它根据信号分布不均匀的特点,使系统具有随输入信号变化而改变量化区间大小,以保持输入量化器的信号基本均匀的能力。自适应量化必须具有对输入信号的幅值进行估计的能力,有了估值才能确定相应的改变量。若估值在信号的输入端进行,称前馈自适应;若在量化输出端进行,称反馈自适应。预测参数的最佳化依赖于信源的统计特性,而按DPCM采用固定的预测参数往往得不到好的性能。自适应预测不是对输入信号幅度绝对值进行编码,而是对样本之间的差值进行编码。差值不是简单地用样本的绝对值之差,而是通过预测技术使求出的预测值与实际值的均方差尽可能地小(如图10.3)。
10.3 变换编码 • 10.3.1 变换编码的基本方法变换编码先对信号进行某种函数变换,从信号的一种表示空间变换到信号的另一种表示空间,然后在变换后的域上,对变换后的信号进行编码,其过程如图10.4所示。 图10.4 变换编码的工作过程
变换编码的基本方法是将数字图像分成一定大小的子图像块,用某种正交变换对子像块进行变换,得到变换域中的系数矩阵,然后选用其中的主要系数进行量化编码,由于在变换域中信号的能量比较集中,例如图像信号的能量主要集中在低频部分,若只对主要的低频分量进行编码并作合理的比特分配,则可大大压缩数据量。
变换编码不是直接对原图像信号压缩编码,而是首先将图像信号进行某种函数变换,从一种信号(空间)映射(变换)到另一个域中,产生一组变换系数,然后对这些系数量化、编码、传输。在空间上具有强相关性的信号、反映在频域上,是某些特定的区域内能量常常被集中在一起,或是变换系数矩阵的分布具有规律性。我们可利用这些规律,在不同的频域上分配不同的量化比特数,从而达到压缩数据的目的。变换编码不是直接对原图像信号压缩编码,而是首先将图像信号进行某种函数变换,从一种信号(空间)映射(变换)到另一个域中,产生一组变换系数,然后对这些系数量化、编码、传输。在空间上具有强相关性的信号、反映在频域上,是某些特定的区域内能量常常被集中在一起,或是变换系数矩阵的分布具有规律性。我们可利用这些规律,在不同的频域上分配不同的量化比特数,从而达到压缩数据的目的。
我们知道,模拟图像经采样后,成为离散化的亮度值。假如把整幅图像一次进行变换,则运算比较复杂,所需时间较长。通常把图像在水平方向和垂直方向上分为若干子区, 以子区为单位进行变换。每个子区通常有8×8个像素点,每个子区的全部像素值构成一个空间域矩阵。
变换编码是一种有损编码方法,采用不同的变换方式,压缩的数据量和压缩速度都不一样。典型的变换编码有离散余弦变换、KL变换以及近来流行的小波变换等。实践证明,无论对单色图像、彩色图像、静态图像还是运动图像,变换编码都是非常有效的方法,变换编码抗干扰性较好,有比预测编码更高的压缩比,其缺点是易于产生方块效应。
10.3.2 变换编码的数学表示 离散变换可以用矩阵表示,设信源序列是一个n行k列的矩阵X,例如,对一幅图像进行扫描,从上到下共n行,从左到右取k个样值。这样形成n个k维的采样向量序列(x1,x2,…,xn),其中,xi=(xi1,xi2,…xik)是一个k维向量。
这n个向量构成n行k列的矩阵X,xij表示第i行第j个样值。假设采用一维变换,设变换后输出序列为Y,变换矩阵为A,则它们之间的关系是:这n个向量构成n行k列的矩阵X,xij表示第i行第j个样值。假设采用一维变换,设变换后输出序列为Y,变换矩阵为A,则它们之间的关系是: Y=AX如果所采取的变换为正交变换,变换矩阵为正交变换矩阵,即ATA=A-1A=I,其中AT为A的转置矩阵,T-1为T的逆矩阵,I为单位矩阵,那么: X=ATY在接收端用变换矩阵的转置矩阵AT与接收序列Y相乘便可恢复源序列X。公式的意义在于:在变换中,空间域中能量全部转移到变换域中。在反变换中,变换域的能量又能全部转移到空间域中。
经过变换之后,变换域中总能量不变,但能量将会重新分布。在空间域中,能量分布具有一定的随机性。由于图像有一定的相关性,变换域中能量在大部分情况下,集中于零空间频率或低空间频率对应的变换系数,从而使具有相关性图像的相关性减少。同时由于能量集中于零空间频率和低空间频率所对应的变换域矩阵元素中,我们对这些元素分配较多的比特数,而对能量较少的元素分配较少的比特数或不分配比特数,由于相关性的减少,变换域中分配的总比特数可以比原图像的总比特数少,这样就可以使图像所需传送的比特数减少,达到压缩的目的。经过变换之后,变换域中总能量不变,但能量将会重新分布。在空间域中,能量分布具有一定的随机性。由于图像有一定的相关性,变换域中能量在大部分情况下,集中于零空间频率或低空间频率对应的变换系数,从而使具有相关性图像的相关性减少。同时由于能量集中于零空间频率和低空间频率所对应的变换域矩阵元素中,我们对这些元素分配较多的比特数,而对能量较少的元素分配较少的比特数或不分配比特数,由于相关性的减少,变换域中分配的总比特数可以比原图像的总比特数少,这样就可以使图像所需传送的比特数减少,达到压缩的目的。
10.3.3 离散余弦变换离散余弦变换DCT(Discrete Cosine Transformation)具有运算速度快、易于实现等优点,它的快速算法已可由专用芯片来实现,因而被广泛采用。离散余弦变换方法研究较早,技术成熟,图像压缩实践证明DCT是许多图像的最佳变换,它允许将88图像的空间表达式转换为频率域,只需要少量的数据点来表示图像。另外,DCT算法的性能很好,可以进行高效的运算,因此使它在硬件和软件中都容易实现。目前国际上已经制订了基于离散余弦变换的静止图像压缩标准JPEG和运动图像压缩标准MPEG。
DCT压缩过程中最关键的步骤是一个称为DCT的数学变换。DCT和著名的快速傅立叶变换(FFT)属于同一类数学运算,这类变换的基本运算是将信号从一种表达形式变成另一种表达形式,并且这种变换过程是可逆的,即在两个变换过程中除开舍入误差和截断误差,本质是无损失的。DCT变换过程相当复杂,对其原理的理解很大程度上取决于对数学理论知识的了解。这里我们不讨论深奥的数学概念,只通过举例说明这个问题。源图像在进行DCT变换之前,首先把源图像划分为若干个8×8像素的子块,然后对8×8像素块逐一进行DCT(如图10.5)变换。例如,如果源图像为640480的分辨率(即由640480像素组成),则划分后的图像将包含8060这样多的子块。DCT压缩过程中最关键的步骤是一个称为DCT的数学变换。DCT和著名的快速傅立叶变换(FFT)属于同一类数学运算,这类变换的基本运算是将信号从一种表达形式变成另一种表达形式,并且这种变换过程是可逆的,即在两个变换过程中除开舍入误差和截断误差,本质是无损失的。DCT变换过程相当复杂,对其原理的理解很大程度上取决于对数学理论知识的了解。这里我们不讨论深奥的数学概念,只通过举例说明这个问题。源图像在进行DCT变换之前,首先把源图像划分为若干个8×8像素的子块,然后对8×8像素块逐一进行DCT(如图10.5)变换。例如,如果源图像为640480的分辨率(即由640480像素组成),则划分后的图像将包含8060这样多的子块。
图10.5 JPEG将源图像划分为若干个子块,每个子块包含8×8个像素
现在我们来理解在DCT处理前后数据发生了哪些变化。图像一般可以用灰度(或彩色)来表示,为讨论问题方便,我们取图像中一个被放大了的8×8个像素的子块作为示例,如图10.6所示。假设每个像素的灰度值(或颜色值)用8比特来表示,那么共有256个灰度等级(或256种颜色)。这样,我们可以定义一个8行×8列的二维数组来表示图像子块中各像素的灰度值和颜色值。于是可得到二维数组矩阵。 不失一般性,如果图像是真彩色图像,即每个像素的颜色值需用24比特表示,需要用3个8行×8列的数组来表示这个子块。每一个数组表示其中一个8比特组合的像素值。离散余弦变换作用于每一个数组。