1、2019/3/9,1,第四章 多媒体数据压缩编码技术,4.1 多媒体数据压缩概述 4.2 静态图像压缩编码 4.3 基本视频压缩 4.4 静态图像压缩编码国际标准(JPEG) 4.5 视频压缩国际标准ITU H.261、H.262、H.263、MPEG等 4.6 图像文件格式,2019/3/9,2,第四章 多媒体数据压缩编码技术,4.1 多媒体数据压缩概述 一、为什么要进行数据压缩(压缩的重要性) 原始采样的静态和视频图象的数据量巨大多媒体信息包括了文本、数据、声音、动画、图形、图像以及视频等多种媒体信息。经过数字化处理后其数据量非常大,如果不进行数据压缩处理,计算机系统就无法对它进行存储和交
2、换。,2019/3/9,3,第四章 多媒体数据压缩编码技术,2. 有效利用存储器存储容量目前主流的移动存储介质CDROM单片容量为650MB840MB最近的将来DVDROM或者其它光存储技术单片容量可达816GB但是都几乎很难以非压缩格式容纳一部完整的商业影片,2019/3/9,4,第四章 多媒体数据压缩编码技术,3. 提高通信线路的传输效率目前,局域网、internet的访问速度都不可能以非压缩格式实时传输和播放视频节目。目前CD-ROM数据传输率、存储容量都有限。多媒体的大数据量不仅超出了计算机的存储和处理能力,更是当前通信信道的传输速率所不及的。因此,为了存储、处理和传输这些数据,必须进
3、行压缩。,2019/3/9,5,第四章 多媒体数据压缩编码技术,4. 消除计算机系统处理视频I/O瓶颈 PCI总线频率为3366MHz,传输速率是133266MB/s 目前CDROM接口传输率为40150KB/s=6MB/s PC硬盘接口(UDMA)传输率为(cache到总线)3366MB/s 但是就总线频率和外存储器的寻道性能来说,很难以非压缩格式实时地将视频节目从CDROM或者硬盘中持续传送到显示子系统。,2019/3/9,6,第四章 多媒体数据压缩编码技术,二、为什么能压缩(压缩的可能性)图像、音频和视频数据中,存在着大量冗余,通过去除这些冗余信息可以使原始数据极大减少,从而解决图象和视
4、频数据量巨大的问题。 什么是冗余? 相同或者相似信息的重复 可以在空间范围重复,也可以在时间范围重复 可以是严格重复,也可以是以某种相似性重复 分为统计冗余和心理视觉冗余两大类它们为数据压缩技术的应用提供了可能的条件。因此在多媒体系统中必须采用数据压缩技术,它是多媒体技术中一项十分关键的技术。,2019/3/9,7,第四章 多媒体数据压缩编码技术,空间冗余 静态图象中存在的最主要的一种数据冗余 同一景物表面上采样点的颜色之间往往存在着空间连贯性 但是基于离散象素采样来表示物体颜色的方式通常没有利用这种连贯性 例如:图象中有一片连续的区域,其象素为相同的颜色,空间冗余产生,2019/3/9,8,
5、第四章 多媒体数据压缩编码技术,2. 时间冗余 运动图象中经常包含的冗余 一组连续的画面之间往往存在着时间和空间的相关性 但是基于离散时间采样来表示运动图象的方式通常没有利用这种连贯性 例如:房间里的两个人在聊天,在这个聊天的过程中,背景(房间和家具)一直是相同的,同时也没有移动,而且是同样的两个人在聊天,只有动作和位置的变化。,2019/3/9,9,第四章 多媒体数据压缩编码技术,3. 结构冗余 在某些场景中,存在着明显的图象分布模式,这种分布模式称作结构 图象中重复出现或相近的纹理结构 结构可以通过特定的过程来生成 例如:方格状的地板,蜂窝,砖墙等,2019/3/9,10,第四章 多媒体数
6、据压缩编码技术,4. 知识冗余 有些图象的理解与某些知识有相当大的相关性 这类规律性的结构可以由先验知识和背景知识得到 例如:人脸的图象有固定的结构,嘴的上方是鼻子,鼻子的上方是眼睛,鼻子位于正脸图象的中线上 知识冗余是模型编码的基础,2019/3/9,11,第四章 多媒体数据压缩编码技术,5. 视觉冗余 人类的视觉系统对图象场的敏感性是非均匀和非线性的 对亮度变化敏感,而对色度的变化相对不敏感 在高亮度区,人眼对亮度变化敏感度下降 对物体边缘敏感,内部区域相对不敏感 对整体结构敏感,而对内部细节相对不敏感 可以根据这些视觉特性对图象信息进行取舍,2019/3/9,12,第四章 多媒体数据压缩
7、编码技术,6. 图象区域的相同性冗余 图象中的两个或者多个区域所对应的所有象素值相同或者相近,从而产生数据重复性存储。 这种冗余是矢量量化的基础,2019/3/9,13,第四章 多媒体数据压缩编码技术,7. 纹理的统计冗余 有些图象纹理尽管不严格服从某个分布规律,但是在统计意义上服从这种规律 在统计意义上的重复,2019/3/9,14,第四章 多媒体数据压缩编码技术,三、如何压缩?(压缩的现实性) 图像压缩系统的组成 变换器:把输入的图像数据加上一对一的变换,经过变换以后所形成的图像数据比原始图像数据更有利于压缩。 线性预测映射:将象素值映射到它和预测值之间的差 单映射:如离散余弦变换(DCT
8、),把图像映射到若干个系数 多映射:如子带分解和小波变换,2019/3/9,15,第四章 多媒体数据压缩编码技术,量化器:生成一组有限个符号用来表示压缩的图像。量化是多到一的映射,是丢失信息和不可逆的。 标量量化:对象素逐个量化 矢量量化:多个象素为一组同时量化,2019/3/9,16,第四章 多媒体数据压缩编码技术,编码器:给量化器输出的每个符号指定一个码字,即生成二进制位流。 定长编码:每个符号指定的码字具有相同的长度 变长编码(熵编码):根据符号出现的频率来决定为其指定码字的长度,频率高则码字短,反之则长。,2019/3/9,17,第四章 多媒体数据压缩编码技术,说明: 视频压缩与语音相
9、比,语音的数据量较小,且基本压缩方法已经成熟,目前的数据压缩研究主要集中于图像和视频信号的压缩。 数据压缩是以一定的质量损失为代价,按照某种方法从给定的信源中推出已简化的数据表述。质量损失一般都是在人眼允许的误差范围之内,压缩前后的图像如果不做非常细致的对比是很难觉察出两者的差别。 3. 压缩处理过程: 编码过程:将原始数据经过编码进行压缩,以便存储与传输 解码过程:对编码数据进行解码,还原为可以使用的数据,2019/3/9,18,第四章 多媒体数据压缩编码技术,四、衡量数据压缩技术的指标 1. 压缩比要大即压缩前后所需要的信息存储量之比要大。 2. 实现压缩的算法简单,压缩、解压速度快,尽可
10、能地做到实时压缩解压 3. 恢复效果好,要尽可能地恢复原始数据,2019/3/9,19,第四章 多媒体数据压缩编码技术,五、数据压缩方法的分类 目前常用的压缩编码方法可以分为两大类: 冗余压缩法:也称无损压缩法,无失真压缩指使用压缩后的数据进行重构(还原,解压缩),重构后的数据与原来的数据完全相同。利用数据的统计冗余进行压缩,可完全恢复原始数据而不引入任何失真,但压缩率受到数据统计冗余度的理论限制,一般为2:1到5:1。例如:磁盘文件的压缩,2019/3/9,20,第四章 多媒体数据压缩编码技术,目标:在图象没有任何失真的前提下使比特率达到最小。 常用编码:游程长度编码;哈夫曼编码;算术编码等
11、 无损压缩编码方案不采用量化器,而是由变换器后加上一个熵编码器组成,2019/3/9,21,第四章 多媒体数据压缩编码技术,说明: 冗余压缩法不可能解决图像和数字视频的存储和传输问题 冗余压缩法去掉或减少了数据中的冗余,但这些冗余值是可以重新插入到数据中的,因此,冗余压缩是可逆的过程。 应用场合:用于文本数据、程序和特殊应用场合的图像数 据(如指纹图像、医学图像等)的压缩。,2019/3/9,22,第四章 多媒体数据压缩编码技术,2. 熵压缩法:也称有损压缩法,有失真压缩指使用压缩后的数据进行重构,重构后的数据与原来的数据有所不同,但不会让人对原始资料表达的信息造成误解。例如:图像和声音的压缩
12、就可以采用有损压缩,因为其中包含的数据往往多于我们的视觉系统和听觉系统所能接收的信息,丢掉一些数据而不至于对声音或者图像所表达的意思产生误解,但可大大提高压缩比。,2019/3/9,23,第四章 多媒体数据压缩编码技术,目标:在给定的比特率下,使图象获得最逼真的效果或者为了达到一个给定的逼真度,使比特率达到最小 常用编码:预测编码;变换编码;特征抽取编码等,2019/3/9,24,第四章 多媒体数据压缩编码技术,说明: 有损压缩方法利用了人类视觉对图像中的某些频率成分不敏感的特性,允许压缩过程中损失一定的信息。 虽然不能完全恢复原始数据,但是所损失的部分对理解原始图像的影响较小,却换来了大得多
13、的压缩比。 有损压缩广泛应用于语音、图像和视频数据的压缩。 有损压缩法压缩了熵,会减少信息量,因为熵定义为平均信息量,而损失的信息是不可能再恢复的,因此这种压缩法是不可逆的。,2019/3/9,25,第四章 多媒体数据压缩编码技术,例如: 采用混合编码的JPEG标准,对自然景物的灰度图像,一般可压缩几到十几倍,而对自然景物的彩色图像,压缩比将达到几十倍甚至上百倍。 采用ADPCM编码的声音数据,压缩比通常为: 4:18:1。 压缩比最为可观的是动态视频数据,采用混合编码的DVI多媒体系统,压缩比通常可达100 :l到200:1。数据压缩技术已经处于成熟的应用阶段。 数据压缩研究中应注意的问题是
14、:首先,编码方法必须能用计算机或VLSI硬件电路高速实现其次,要符合当前的国际标准。,2019/3/9,26,说明: 在图象压缩系统组成中,变换和编码是无损耗的,而量化是有损耗的。 无损压缩方法仅利用了统计冗余,而没有利用量化器。 有损压缩方法既利用了统计冗余又采用了量化器,利用了心理视觉冗余。,2019/3/9,27,第四章 数据压缩编码技术静态图像压缩,4. 2 静态图像压缩 4.2.1 有关概念 一、图像和静态图像 图像能被人类视觉系统所感知的信息形式或人们心中的有形想象统称为图像。 图(Picture):指用描绘等方法得到的与外在景物的相似物; 像(Image):指直接或间接(拍照)得
15、到的人、物的视觉印象 一般包括:静态图像(位图图像和矢量图形)、动态图像(动态视频和动画)、符号(对信息的抽象)及其它需要转换成视频形式的媒体(如音乐转换为乐谱)。,2019/3/9,28,第四章 数据压缩编码技术静态图像压缩,二、位图图像文件和矢量图形文件 1. 位图图像(bit image):一个像素的颜色、亮度和位置由若干个位(点阵)描述,并将一幅图像的全部像素信息转换而成的数据文件。该文件是对视觉信号的直接量化的媒体形式,反映信号的原始形式。 产生位图的方法: 用画图程序得出; 用荧光屏抓取程序从荧光屏上直接抓取; 用扫描仪扫描照片、艺术品等; 用视频抓取设备/抓取软件从电视图象中抓取
16、。,2019/3/9,29,第四章 数据压缩编码技术静态图像压缩,位图图象与分辨率有关。它包含固定数量的象素,代表图象数据。因此,如果在屏幕上以较大的倍数放大显示,或以过低的分辨率打印,位图图象会出现锯齿边缘,且会遗漏细节。在表现阴影和色彩(如在照片或绘画图象中)的细微变化方面,位图图象是最佳选择。 常见文件存储格式:BMP,TIF,GIF,JPE,PCD,PNG等。,2019/3/9,30,第四章 数据压缩编码技术静态图像压缩,2.矢量图形(vector graphics):一个由数学方法描述的、只记录生成图形的算法和图形特征的数据文件。该文件是对图像抽象化即矢量化的结果。其最重要的特征是通
17、过点、线、面来反映图像中的实体。抽象化过程可由计算机自动完成或人工进行。 图形三元素: 点 一个坐标点对(x,y); 线 一系列坐标点对(x1,y1,x2,y2,); 面 一系列坐标点对组成的线围绕的区域。,2019/3/9,31,第四章 数据压缩编码技术静态图像压缩,矢量图形与分辨率无关。可以将它缩放到任意大小和以任意分辨率在输出设备上打印出来,都不会遗漏细节或清晰度。因此,矢量图形是文字(尤其是小字)和粗图形的最佳选择,这些图形(比如徽标)在缩放到不同大小时必须保持清晰的线条。 常见文件存储格式:WMF,DRW,CDR,DXF,EPS,CGM,PIG等。,2019/3/9,32,第四章 数
18、据压缩编码技术静态图像压缩,3.位图与矢量图的比较 存储容量位图文件:由大量像素点的组成,其大小取决于颜色数、亮度变化以及图像大小等,数据量大,故占空间较大;矢量图文件:只保存算法和特征点,数据量少,占空间较小。 处理方法:位图文件:适合表示自然景物,一般是通过数码相机实拍或对照片通过扫描得到,处理侧重于获取和复制。故常使用的编辑软件是图像处理软件,如:Photoshop等;矢量图文件:一般是通过画图得到的,处理侧重于绘制和创建。一般使用的编辑软件是绘图软件,如:CorelDraw、AutoCAD等。,2019/3/9,33,第四章 数据压缩编码技术静态图像压缩, 显示速度:位图文件:显示时只
19、是将像素点影射到屏幕上,显示速度快矢量图文件:显示时需重新运算和变换,速度较慢。 说明:随着现代信息技术的发展,图像和图形的区别也越来越小。位图和矢量图可相互转换。在实际应用中,人们感兴趣的是画面的本身质量和表现力以及两者之间的联系,而不是区分这些画面究竟是图像还是图形。因为计算机显示器通过在网格上的显示来呈现图像,因此矢量和点阵图像在屏幕上都是以象素显示的。从矢量到位图的转换称为扫描转换,是计算机图形学的研究内容。,2019/3/9,34,第四章 数据压缩编码技术静态图像压缩,三、动画(Animation )和视频(Video ) 若干幅“图像”块速地连续播放就构成了“视频”,而“图形”连续
20、变化就构成了 “动画”。,2019/3/9,35,第四章 数据压缩编码技术静态图像压缩,说明:在实际工作中,这两个词语有时并没有严格区分,比如说如果用Flash制作的动画通常不会说是视频,但是如果使用3D Max等软件制作出的三维动画,实际上并不是矢量的,而是已经逐帧渲染为位图了,但是通常不会把它称为“三维视频”,而称为“三维动画”,因此,对于这一组概念,不能太严格地区分它们。,2019/3/9,36,第四章 数据压缩编码技术静态图像压缩,4.2.2 多媒体数据压缩编码分类 根据解码后的数据与原始数据是否一致,数据压缩方法可分为两类: 可逆编码:其压缩是完全可恢复的或没有偏差的,解码图像与原始
21、图像严格相同,也称为无损编码。(冗余压缩、无损压缩法、无失真压缩) 不可逆编码方法:其还原图像较之原始图像存在一定误差,但视觉效果可以接受,也称为有损编码。(熵压缩、有损压缩、有失真压缩),2019/3/9,37,第四章 数据压缩编码技术静态图像压缩,根据压缩方法的原理,可将其划分为以下7种: 预测编码(适用于空间冗余和时间冗余) 预测编码的方法是从相邻象素之间有较强的相关性特点考虑,比如当前象素的灰度或颜色信号,数值上与其相邻象素总是比较接近,除非处于边界状态,那么,当前象素的灰度或颜色信号的数值,可用前面已出现的象素的值进行预测(估计),得到一个预测值(估计值),将实际值与预测值求差,对这
22、个差值信号进行编码、传送,这种编码方法称为预测编码方法。 预测编码方法分线性预测和非线性预测编码两种。,2019/3/9,38,第四章 数据压缩编码技术静态图像压缩, 变换编码 变换编码不是直接对空域图像信号进行编码,而是首先将空域图像信号映射变换到另一个正交矢量空间(变换域或频域),产生一批变换系数,然后对这些变换系数进行编码处理。其中关键问题是在时域或空域描述时,数据之间相关性大,数据冗余度大,经过变换在变换域中描述,数据相关性大大减少,数据冗余量减少,参数独立,数据量少,这样再进行量化,编码就能得到较大的压缩比。 目前常用的正交变换有:傅立叶 (Fouries)变换、沃尔什(Walsh)
23、变换、哈尔(Haar)变换、斜(Slant)变换、余弦变换、正弦变换、K-L(Karhunen-Loeve)变换等。,2019/3/9,39,第四章 数据压缩编码技术静态图像压缩, 量化与向量量化编码 量化过程就是将连续的模拟量通过采样,离散化为数字量的过程。对像素进行量化时,可以一次量化多个点,这种方法就是向量量化。例如,可以每次量化相邻的两个点,这样就可将这两点用一个量化码字表示,达到数 据压缩的目的。其数据压缩能力与预测编码方法相近,本质上也是针对统计冗余的压缩。 信息熵编码 信息熵编码就是利用信息的相关性压缩冗余度。它根据信息熵原理,对出现概率大的用短的码字表示,反之用较长的码字表示,
24、目的是减少符号序列的冗余度,提高码字符号的平均信息量。最常见的方法有哈夫曼编码、行程编码和算术编码。,2019/3/9,40,第四章 数据压缩编码技术静态图像压缩, 分频带编码 将图像数据变换到频域后,按频率分段,之后用不同的量化器进行量化,从而达到最优的组合。或者采用分步渐近编码。开始时,对某一频带的信号进行解码,逐渐扩展到所有的频带。随着解码数据的增加,解码图像也就逐渐清晰。 这种方法对于远地图像模糊查询与检索的应用比较有效。 结构编码 编码时首先将图像中的边界轮廓、纹理等结构特征求出,然后保存这些参数信息。解码时根据结构和参数信息进行合成,恢复出原图像。,2019/3/9,41,第四章
25、数据压缩编码技术静态图像压缩, 基于知识的编码 对于像人脸等可用规则描述的图像,可利用人们已知的知识形成一个规则库,据此将人脸等的变化用一些参数进行描述。这些参数和模型一起就可实现图像的编码和解码。 注: 、两种利用空间结构模型和知识模型的编码方法均属于模型编码,是宏观性的编码方法,称为第二代编码,有相当高的压缩比。,2019/3/9,42,第四章 数据压缩编码技术静态图像压缩,多媒体数据压缩编码分类:,2019/3/9,43,第四章 数据压缩编码技术静态图像压缩,4.2.3 常用无损压缩算法(Lossless Compression Methods) 一、哈夫曼(Huffman)编码(熵编码
26、) 1. 香农-范诺编码算法 . Entropy(熵)的概念熵是信息量的度量方法,它表示某一事件出现的消息越多,事件发生的可能性就越小,数学上就是概率越小。注意区分:熵编码、熵压缩,2019/3/9,44,第四章 数据压缩编码技术静态图像压缩,.信源 S 的熵的定义 按照香农(Shannon)理论,信源 S 的熵定义为 其中Pi是符号Si在 S 中出现的概率; 表示包含在Si中的信息量,即编码Si所需要的位数。 例如,一幅用256级灰度表示的图像,如果每一个象素点灰度的概率均为 ,编码每一个象素点就需要8位。,2019/3/9,45,第四章 数据压缩编码技术静态图像压缩,例如:一幅40个象素组
27、成的灰度图像,灰度共有5级,分别用A、B、C、D和E表示,40个象素中出现灰度A的象素数有15个,出现灰度B的象素数有7个,出现灰度C的象素数有7个等等,如表所示。如果用3个位表示5个等级的灰度值,也就是每个象素用3位表示,编码这幅图像总共需要120位。 按照仙农理论,这幅图像的熵为: Hs=(15/40)2 (40/15)+(7/40)2 (40/7) + (5/40) 2 (40/5)= 2.196 即:每个符号用2.196位表示,40个象素需用87.84位。,2019/3/9,46,第四章 数据压缩编码技术静态图像压缩,采用从上到下的方法进行编码。 首先按照符号出现的频度或概率排序,例如
28、:A,B,C,D和E,然后使用递归方法分成两个部分,每一部分具有近似相同的次数。,按照这种方法进行编码得到的总位数为91(2*15+7*2*2+3*6+3*5) 压缩比约为120/91=1.3 : 1。,2019/3/9,47,第四章 数据压缩编码技术静态图像压缩,按照这种方法进行编码得到的总位数为93(15*2+7*2+7*3+6*3+5*2)。 压缩比约为120/931.29。每一部分具有近似相同的次数:A、E相差太大,2019/3/9,48,第四章 数据压缩编码技术静态图像压缩,2. 霍夫曼编码(Huffman)霍夫曼在1952年提出的另一种编码方法,即从下到上的编码方法。 原理:把信源
29、符号按概率大小顺序排列,并设法按逆次序分配码字的长度。在分配码字长度时,首先将出现概率最小的两个符号的概率相加合成一个概率,再把这个合成的概率看成是一个新符号的概率,重复上述做法,直到最后只剩下两个符号的概率为止。 如:字符串AABCCDA出现概率:A3/7,B1/7,2019/3/9,49,第四章 数据压缩编码技术静态图像压缩,初始化,根据符号概率的大小按由大到小顺序对符号进行排序。 把概率最小的两个符号组成一个节点。 重复步骤2,得到新节点,形成一棵“树” 。 从根节点开始到相应于每个符号的“树叶”,从上到下标上“0” 或 “1”。 从根节点开始顺着树枝到每个叶子分别写出每个符号的代码。,
30、2019/3/9,50,第四章 数据压缩编码技术静态图像压缩,按照仙农理论,这幅图像的熵为: H(S) = (15/39)log2 (39/15) + (7/39) log2 (39/7) + + (5/39) log2 (39/5) = 2.186 压缩比:393/(15+21+18+18+15)=117/87=1.35:1,2019/3/9,51,第四章 数据压缩编码技术静态图像压缩, 哈夫曼编码的特点 哈夫曼方法构造出来的码不唯一 原因: 一是在给两个分支赋值时,可以是左支(或上支)为0,也可以是右支(或下支)为0,造成编码的不唯一; 二是当两个消息的概率相等时,谁前谁后也是随机的,构造
31、出来的码字也不唯一。 哈夫曼编码码字字长参差不齐,硬件实现起来不方便。,2019/3/9,52,第四章 数据压缩编码技术静态图像压缩, 哈夫曼编码对不同信源的编码效率不同何时效率最高?何时效率最低?,当信源概率是2的负幂时,哈夫曼码的编码效率达到100; 当信源概率相等时,其编码效率最低。 因此,只有在概率分布很不均匀时,哈夫曼编码才会收到显著的效果,而在信源分布均匀的情况下,一般不使用哈夫曼编码。,2019/3/9,53,第四章 数据压缩编码技术静态图像压缩, 对信源进行哈夫曼编码后,形成了一个哈夫曼表。解码时,必须参照这一哈夫曼编码表才能正确译码。 在信源的存储与传输过程中必须首先存储或传
32、输这一哈夫曼编码表,在实际计算压缩效果时,必须考虑哈夫曼编码表占有的比特数。,2019/3/9,54,第四章 数据压缩编码技术静态图像压缩, 哈夫曼编码表的缺省使用 在某些应用场合,信源概率服从于某一分布或存在一定规律(这主要由大量的统计得到),这样就可以在发送端和接收端先固定哈夫曼编码表,在传输数据时就省去了传输哈夫曼编码表,这种方法称为哈夫曼编码表的缺省使用。 使用缺省的哈夫曼编码表的好处: 降低了编码的时间,改变了编码和解码的时间不对称性; 编码和解码的硬件实现电路相对简单。这种方法适用于实时性要求较强的场合。,2019/3/9,55,第四章 数据压缩编码技术静态图像压缩, 采用霍夫曼编
33、码时应注意的问题: 霍夫曼码没有错误保护功能,在译码时,如果码串中没有错误,那么就能一个接一个地正确译出代码。但如果码串中有错误,哪怕是1位出现错误,不但这个码本身译错,更糟糕的是一错一大串,全乱了套,这种现象称为错误传播(error propagation)。计算机对这种错误也无能为力,说不出错在哪里,更谈不上去纠正它。 霍夫曼码是可变长度码,因此很难随意查找或调用压缩文件中间的内容,然后再译码,这就需要在存储代码之前加以考虑。 尽管如此,霍夫曼码还是得到广泛应用。,2019/3/9,56,第四章 数据压缩编码技术静态图像压缩,二、 算术编码(熵编码)算术编码在图像数据压缩标准(如JPEG,
34、JBIG)中扮演了重要的角色。 1、原理:算术编码不是将单个信源符号映射成一个码字,而是把真个信源表示为实数线上的0到1之间的一个区间,其长度等于该序列的概率,再在该区间内选择一个代表性的小数,转化为二进制作为实际的编码输出。消息序列中的每个元素都要用来缩短这个区间。消息序列中元素越多,所得到的区间就越小,当区间变小时,就需要更多的数位来表示这个区间。算术编码后,形成一个唯一的浮点数。,2019/3/9,57,第四章 数据压缩编码技术静态图像压缩,2、两个基本参数: 符号的概率、编码间隔:信源符号的概率决定压缩编码的效率,也决定编码过程中信源符号的间隔,而这些间隔包含在0到1之间。编码过程中的
35、间隔决定了符号压缩后的输出。 如:信源符号为BACAA信源符号的概率:A、B、C分别为 0.6, 0.2, 0.2 这些概率把间隔0, 1)分成3个子间隔:0, 0.6), 0.6, 0.8), 0.8, 1.0),其中x,y) 表示半开放间隔,即包含x,但不包含y 。,2019/3/9,58,第四章 数据压缩编码技术静态图像压缩,举例假设信源符号为00,01,10,11,这些符号的概率分别为 0.1, 0.4, 0.2 , 0.3 ,根据这些概率可把间隔0, 1)分成4个子间隔:0, 0.1), 0.1, 0.5), 0.5, 0.7), 0.7, 1.0),其中x,y) 表示半开放间隔,即
36、包含x,但不包含y 。,二进制消息序列的输入为:10 00 11 00 10 11 01,2019/3/9,59,新子区间左端前子区间左端当前子区间左端前子区间长度; 新子区间长度前子区间长度当前子区间的长度,3、编码过程,2019/3/9,60,输出:0.5143876,2019/3/9,61,第四章 数据压缩编码技术静态图像压缩,4. 解码过程 解码过程是编码过程的逆过程,首先将区间1,0),分割成两个子区间,判断被解码字落在哪个子区间,而赋予对应符号。,2019/3/9,62,第四章 数据压缩编码技术静态图像压缩,5. 算术编码的特点 算术编码的模式选择直接影响编码效率,有固定模式,也有
37、自适应模式。 算术编码的自适应模式无需先定义概率模型,对无法进行 概率统计的信源合适,在这点上优越于哈夫曼编码。 在信源符号概率接近时,算术编码比哈夫曼编码效率高。 算术编码的硬件实现比哈夫曼编码要复杂些。 算术编码在JPEG的扩展系统中被推荐代替哈夫曼编码。,2019/3/9,63,第四章 数据压缩编码技术静态图像压缩,6. 算术编码中需要注意的几个问题: 由于实际的计算机的精度不可能无限长,运算中出现溢出是一个明显的问题,但多数机器都有16位、32位或者64位的精度,因此这个问题可使用比例缩放方法解决。 算术编码器对整个消息只产生一个码字,这个码字是在间隔0, 1)中的一个实数,因此译码器
38、在接受到表示这个实数的所有位之前不能进行译码。 算术编码也是一种对错误很敏感的编码方法,如果有一位发生错误就会导致整个消息译错。,2019/3/9,64,第四章 数据压缩编码技术静态图像压缩,三、游程编码RLE(Run-Length Encoding)(熵编码) 现实中的图像 一幅图像中具有许多颜色相同的图块 在这些图块中,一行上有许多连续的象素都具有相同的颜色值。 存储时,不需要存储每一个象素的颜色值,而仅存储一个象素的颜色值,以及具有相同颜色的象素数目即可。 这种压缩编码称为行程编码 具有相同颜色并且是连续的象素数目称为行程长度。,2019/3/9,65,第四章 数据压缩编码技术静态图像压
39、缩,1、游程编码(RLE):通过将信源中相同符号序列转换成一个计数字段再加上一个重复字符标志实现压缩。 例如:RTTTTTTTTABBCDG被转换为:R#8TABBCDG,其中“”作为转义字符,表明其后所跟的字符表示长度。 再如:字符串:a b a C C C b b a a a a 可以压缩为:a b a 3c 2b 4a 应用:多用于黑白二值图像的压缩中。,2019/3/9,66,第四章 数据压缩编码技术静态图像压缩,2、实现方法 只在各行(或列)数据的代码发生变化时,依次记录该代码以及相同的代码重复的个数,从而实现数据的压缩。,2019/3/9,67,第四章 数据压缩编码技术静态图像压缩
40、,此数据游程长度编码: (0,1),(4,2),(7,5);(4,5),(7,3);(4,4),(8,2),(7,2);(0,2),(4,1),(8,3),(7,2);(0,2),(8,4),(7,1),(8,1);(0,3), (8,5), (0,4), (8,4);(0,5), (8,3)。用44个整数表达了原始数据中的64个栅格。,2019/3/9,68,第四章 数据压缩编码技术静态图像压缩,优点 压缩效率较高,且易于进行检索,叠加合并等操作,运算简单,适用于机器存储容量小,数据需大量压缩,而又要避免复杂的编码解码运算增加处理和操作时间的情况。 缺点 对于图斑破碎,属性和边界多变的数据压
41、缩效率较低,甚至压缩后的数据量比原始数据还大。,2019/3/9,69,第四章 数据压缩编码技术静态图像压缩,说明: RLE压缩编码尤其适用于计算机生成的图像,对减少图像文件的存储空间非常有效。 RLE对颜色丰富的自然图像显得力不从心,在同一行上具有相同颜色的连续象素往往很少,而连续几行都具有相同颜色值的连续行数就更少。如果仍然使用RLE编码方法,不仅不能压缩图像数据,反而可能使原来的图像数据变得更大。 在自然图像的压缩中,不能单纯使用RLE一种编码方法,需要和其它的压缩编码技术联合应用。,2019/3/9,70,第四章 数据压缩编码技术静态图像压缩,4.2.4 常用有损压缩算法(Lossy
42、Compression Methods) 一、预测编码 1、预测编码的基本原理根据某一种模型,利用以前的(已收到)一个或几个样本值,对当前的(正在接收的)样本值进行预测,将样本实际值和预测值之差(差值)进行编码。显然如果模型足够好,图像样本时间上相关性很强,一定可以获得较高的压缩比。,2019/3/9,71,第四章 数据压缩编码技术静态图像压缩,具体说: 相邻像素之间有很强的相关性,比如当前像素的灰度或颜色信号,数值上与其相邻像素总是比较接近,除非处于边界状态。那么,当前像素的灰度或颜色信号的数值,可用前面已出现的像素的值,进行预测(估计),得到一个预测值(估计值),将实际值与预测值求差,对这
43、个差值信号进行编码、传送,这种编码方法称为预测编码方法。 预测编码是一种只能针对空间冗余进行压缩的方法,2019/3/9,72,第四章 数据压缩编码技术静态图像压缩,2、预测编码方法的特点 算法简单,速度快,易于硬件实现。 编码压缩比不太高。 误码易于扩散,抗干扰能力差。 3、预测编码的分类 线性预测编码(也称差值脉冲编码调制法(DPCM) 非线性预测编码,2019/3/9,73,第四章 数据压缩编码技术静态图像压缩,4、差分脉码调制(DPCM)(帧内预测编码) 脉码调制(PCM)是常用的一种数字图像表示方法,它对每一个像素的灰度(颜色值)单独进行量化,而忽略了相邻像素间的空间关联。 DPCM
44、利用了固有空间冗余:首先以相邻象素为基础预测下一个像素灰度(颜色值) ,然后对实际密度和预测密度的差值进行量化和编码。,2019/3/9,74,若S取自同一帧帧内预测编码 若S取自不同帧帧间预测编码,2019/3/9,75,第四章 数据压缩编码技术静态图像压缩,二、变换编码 (Transform Coding) 变换编码是一种有效的图像压缩方法,是迄今为止所有有损压缩国际标准的基础。 变换编码技术经近30年的发展,技术已比较成熟,理论也较完备。,2019/3/9,76,第四章 数据压缩编码技术静态图像压缩,1、基本思路 首先将空域图像信号分割成若干个小方块,对每个方块做二维正交变换,变换到另一
45、个正交矢量空间(变换域或频域),获得一系列的变换系数,然后对这些变换系数各自单独进行量化和编码。 能量最高的系数被量化最细,而能量低的系数就被粗略量化或者被简单地舍去。,2019/3/9,77,编码器把量化后的系数当作符号处理,对它们进行熵编码(VLC) 解码器则从收到的位流中在逐块的基础上按相反的操作顺序重构图像,2019/3/9,78,第四章 数据压缩编码技术静态图像压缩,说明: 正交变换能够压缩数据量,主要是通过变换去掉原有图像数据中存在的空间域上的强相关性。 正交变换产生一些互不相关的系数来描述原有图像数据,而对这些系数就可以根据它们所包含的能量分别进行不同细致程度的量化。这样,就可以
46、同时获得最小的比特率和最小的失真。 压缩数据的三个步骤:变换、变换域采样和量化。变换本身并不进行数据压缩,它只把信号映射到另一个域,使信号在变换域里容易进行压缩,变换后的样值更独立和有序。这样,量化操作通过比特分配可以有效地压缩数据。,为什么?,2019/3/9,79,第四章 数据压缩编码技术静态图像压缩,正交变换举例(最简单的正交变换) 时间域上的三角函数y(t)=Asin(2ft),当t从-到+变化时,y(t)是一个正弦波,也就是说,在时间域上描述y(t)需要整个周期的采样。 而如果将y(t)变换到频率域表示,则只需要振幅A和频率f 两个系数就可以了。 可见,y(t)在时间域上描述,数据之
47、间的相关性大,数据冗余大;而转换到频率域描述,数据相关性大大减少,数据冗余量减少,参数独立,数据量也就减少了。,2019/3/9,80,第四章 数据压缩编码技术静态图像压缩,另一个例子: 设有两个相邻的数据样本x1和x2,每个样本采用3位编码,因此有8个幅度等级,而两个样本的联合事件共有88=64种可能。 但是如果x1和x2 属于慢变信号,也就是出现相近幅度等级的可能性较大,相关性较强的话,它们的取值就大部分集中在图1中阴影区域内。,2019/3/9,81,第四章 数据压缩编码技术静态图像压缩,如果做一个相当于坐标系旋转45度的正交变换,如图2,变换后的两个系数y1和y2就几乎没有任何相关性了
48、,而且y1包含了大多数能量,可以对y2进行较粗略的量化又获得较低的失真度。,2019/3/9,82,第四章 数据压缩编码技术静态图像压缩,2、变换编码分类 按正交变换的形式,变换编码有: 傅里叶(Fouries)变换、哈尔(Haar)变换、沃尔化 (Walsh)变换、斜变换、余弦变换、正弦变换及 K- L 变换等其中: K- L(KarhunenLoeve)变换相关性最好,但实现困难。 离散余弦变换(DCT)接近于K- L 变换性能,也容易实现,因此将它作为多媒体几种编码技术标准的应用算法。,2019/3/9,83,第四章 数据压缩编码技术静态图像压缩,3、离散Karhunen-Loeve(K
49、-L)变换(最佳正交变换) KL (Karhunen-Loeve)是以统计特性为基础的最佳正交变换,也称为特征向量或主分量变换。 1933年霍特林(Hotelling)首先发现主分量变换技术,并对这种正交变换作了深入研究。所以有人称KL变换为霍特林变换。,2019/3/9,84,第四章 数据压缩编码技术静态图像压缩,KL变换的优点是: (1)经过KL变换后,所得Y向量,其平均向量为0,说明Y向量坐标系已移至直流分量为零的位置 (2)Y向量的协方差矩阵为对角矩阵,对角线上的元素是Y向量的方差,左上角的值最大,右上角值最小。非对角线上的元素是协方差,而协方差值均为零,说明Y向量之间的相关性很小。 KL变换的缺点是:计算过程复杂,变换速度慢。,2019/3/9,85,第四章 数据压缩编码技术静态图像压缩,K-L变换由于将图象从空间域变换到KLT域,能量大部分集中在某个系数(主分量)附近,因而仅需要保存较少的变换系数就可以恢复出质量不错的图象,具有压缩效率高,均方误差小,最小失真等特点。 K-L变换对不同的输入图像都要求相应的变换矩阵,求解方程也比较困难,并且没有快速算法,这影响了K-L变换的普及。,