多媒体技术与网页设计 主 编 : 陈 新 龙
第四章 多媒体数据压缩与存储技术 读者学习本章应重点掌握数据压缩的含义、基本途径与方法;理解熵函数的概念,Huffman编码、预测编码的基本理论;理解JPEG、MPEG的含义及其编码过程;理解CD-ROM中二进制数据的表示方法,物理格式与逻辑格式;理解CD-ROM与DVD-ROM的异同,能利用刻录软件制作光盘。 本章建议学时数:8学时。学时数较少时可适当调整本章内容。
第1 课 在本次课中,我们将介绍多媒体数据压缩的一般知识及其实现压缩的一般途径。
一、数据压缩的含义 我们先来看一个典型的数字传输系统模型:
如图示,一个数字传输系统包括信源编码、信道编码、调制、传输、解调、信道解码、信源解码几个过程。 信源编码主要解决有效性问题。 信道编码主要是解决可靠性问题。 信源编码的目的便是数据压缩,它构成了数据压缩的基础。 什么是数据压缩呢? 数据压缩就是以最少的数码表示信源所发出的信号,减少容纳给定消息集合或数据采样集合的信号空间。
二、数据压缩的必要性 从传输的角度来看: 数字电话传输率最低,按μ律或A律PCM编码,其数码率为64kbps;一路PAL制式彩色电视信号经数字化以后,其数码率大于100Mbps,若要实现实时传输,至少需要占用上述的数字话路1600个以上;采用电信新业务,宽带ISDN(2M带宽)传输,至少需要占用上述的数字话路50个以上。 从存储的角度来看: 一张CD-ROM光盘仅能保存不到一分钟的数字视频,多媒体数据其数据量之大可见一斑。
三、数据压缩的可能性 1. 空间冗余 2. 时间冗余 3. 结构冗余 4. 知识冗余 5. 视觉冗余 6. 图像区域相同性冗余 7. 纹理的统计冗余
四、数据压缩的历史 数据压缩技术几乎是与通信系统的发展同时发展。 1948年,香侬的经典论文“通信的数学原理”中首次提到信息率-失真函数概念,1959年他又进一步确立了率失真理论,从而奠定了信源编码的理论基础。
五、数据压缩的过程 对模拟信号进行压缩可分为采样、量化、编码三个过程。 1.采样 多媒体数据压缩是指数字信号压缩,对模拟信号进行压缩的第一步是采样,采样完成模拟信号的离散化。 如果采样满足采样定律,那么,数据率和信噪比取决于代表每个样值的比特位数,这便是量化问题。
2.量化 用有限个数字0和1表示某一电平范围的模拟离散电压信号称为量化。 以有限个离散值近似表示无限个连续值一定会产生误差,这种误差称为量化误差,由此造成的失真称为量化失真。 对于给定取样数据,进行量化并设计量化器时主要考虑两个因素: 给定量化电平数J,希望量化失真最小; 给定量化噪声或失真要求,,希望量化电平数J最少。 量化器可分为标量量化和矢量量化两大类。
3.标量量化 标量量化(Scale Quantization,SQ)也称无记忆量化、零记忆量化,它每次只量化一个模拟取样值且本次量化结果不影响下一次量化。 (1) 均匀量化 设x∈[aL,am]为量化器输入信号幅值,p(x)为其概率密度函数,则有:
均匀量化为非最佳量化 (2)最佳量化 最佳量化可按均方误差最小来定义 4.矢量量化 大多数实际信号各样值之间总是相互关联、彼此不独立。如果能进一步利用这些相关性,无疑能进一步提高压缩效率。这种量化器称为带记忆的量化器,如DPCM。带记忆的量化器也称矢量量化(Vector Quantization,简写VQ)。
给定N•K个信号样值组成信源序列{xi},每K个数据分为一组,N•K个信号样值分为N个K维随机矢量,构成信源空间X X ={ X1 ,X2 ,...,XN }(X在K维欧几里德空间RK中)。 再把RK 无遗漏地划分成J= 2 n 个互不相交的子空间R1 ,R2 ,...,RN 在每一个子空间Ri中找一个代表矢量Yi,令恢复矢量集Y={ Y1 ,Y2 ,...,YJ }
Y也叫输出空间,码书或码本,Yi 称为码矢(code vector)或码字(code word),Y内矢量的数目J,则叫码书长度。 当矢量量化器输入任意矢量Xj ∈RK时,它首先判断Xj 属于哪个子空间,然后输出该子空间Ri 的代表矢量Yi [Yi ∈YRK ,i=1,2,...,J]。一句话,矢量量化过程就是用Yi 代表Xi 。 矢量量化原理如图4-2示:
六、数据压缩的的种类 多媒体数据压缩方法的分类方法有: 依有无失真可分为: 有损压缩和无损压缩 依其作用域在空间域或频率域可分为: 空间方法、变换方法和混合方法。 依是否自适应可分为: 自适应压缩编码和非自适应压缩编码
另外,还有一种分类方法广为人们接受,那便是按照多媒体数据压缩算法的分类方法。按照多媒体数据压缩算法的不同多媒体数据压缩可分为以下几类: PCM编码:固定、自适应; 预测编码:DPCM、△M; 变换编码:傅里叶、离散余弦(DCT)、离散正弦(DST)、小波变换等; 统计编码:哈夫曼、算术、LZW、游程长度 电视编码:帧内编码、帧间编码; 其他编码:矢量量化、子带编码。
七、压缩系统性能的评估 一般情况下,压缩系统的性能可从以下几个方面进行评估: 1. 信号质量 2. 比特率 3. 编码解码速度
八、数据压缩的基本途径 1、自信息函数 一个离散信源的输出可用序列集合 {Xt;t=0,±1,±2,...}来表示,集合中每个元素Xt取自有限符号集合Am ={ A1,A2 ,...,Am }中的一个。我们假定符号Aj 出现的概率为: P(Aj )=pj j=1,2,...,m 那么,必有 0≤pj≤1 ∑pj=1 则符号Aj的自信息量(也称自信息函数)定义为: I(Aj)=-logrpj
r=2时相应的单位称为比特(bit); r=e时相应的单位称为奈特(Nat); r=10时相应的单位称为哈特(Hart) 2、自信息函数的含义 自信息函数是度量信息不确定性的多少的函数。必然发生的事件概率为1,自信息函数值为0,小概率事件自信息函数值大,这就是因为它们在信息不确定性上的差异。 3、熵函数的含义 我们把自信息量的概率平均值,即随机变量I(Aj)的数学期望值,叫作信息熵或简称熵(Entropy)。
单位为bit/字符。通常,公式4-10所定义的H(X)也称一阶熵。
4.实例: 【例4.2.1】某信源有以下五个符号,其出现概率如下: 求其其信息熵 ?
5、数据压缩的途径 数据压缩的途径之一: 设法改变信源的概率分布使其尽可能地非均匀,再用最佳编码方法使平均码长逼近信源的熵。 数据压缩的途径之二: 联合信源的冗余度也寓于信源间的相关性之中。去除它们之间的相关性,使之成为或差不多成为不相关信源,是数据压缩的又一途径。
九、本课重点、难点 重点:熵函数的定义及数据压缩的途径 难点:矢量量化、最佳量化 思考练习 请解释标量量化与矢量量化的本质区别? 请解释信息熵的本质为何?
下 课!
第 2 课 在本次课中,我们将介绍JPEG基本系统的实现。
一、JPEG概述 JPEG是Joint Photographic Experts Group的英文缩写,中文翻译“联合图像专家组”, 该专家组研制开发的“连续色调、多级灰度、静止图像的数字图像压缩算法”(JPEG算法)。1991年,JPEG算法被确定为国际标准,全称为“多灰度连续色调静止图像的数字压缩编码”标准(简称为JPEG标准)。
二、JPEG标准的主要内容 1、JPEG的目的: (1)开发的算法在图像压缩率方面达到或接近当前的科学水平。 (2)开发的算法可实际应用于任何一类数字图像源。 (3)对开发的算法,其计算复杂程度可调。 2、JPEG算法要点如下: (1)基本系统(baseline system) (2)扩展系统(extended system) (3)独立的信息保持型(lossless)压缩
三、JPEG基本系统涉及的几种编码方法 (1)DCT变换 DCT变换便是通过变换改变信源的概率分布使其尽可能地非均匀,再结合最佳编码方法进行编码从而达到压缩的目的。 离散余弦变换是傅里叶变换的一种特殊情况。包括一维离散余弦变换和二维离散余弦变换两种形式。 二维离散偶余弦正变换(FDCT)公式定义见P90页4-2-6 DCT变换参考实例
(2)Huffman编码 1.理论 定理:在变长编码中,对出现概率大的信源赋予短码字,对出现概率小的信源赋予长码字。如果码字长度严格按照所对应符号出现概率大小的逆序排列,则编码结果平均码字长度一定小于其它排列方式。
2.编码步骤: 将信源符号出现概率依大小按递减顺序排列; 将两个最小的概率进行组合相加,并继续这一步骤,始终将较高的概率分支放在上部,直到概率达到1.0为止; 对每对组合中的上边一个指定为1,下边一个指定为0(或相反,上边一个指定为0,下边一个指定为1); 画出由每个信源符号概率到1.0处的路径,记下沿路径的1和0; 对于每个信源符号都写出1、0序列,则从右到左就得到Huffman编码。
3.编码实例: 【例4.2.2】某信源有以下五个符号,其出现概率如下: 求其Huffman编码?
四、JPEG基本系统编码原理 JPEG基本系统编码框图(单个分量)如图4-10所示:
(1)图像变换 首先应对图像进行变换,将整个图像分成若干个8×8的子块。 (2)FDCT变换 对上一步的各8×8的子块单独进行FDCT变换,将空间域的图像数据变换到频率域。 (3)根据视觉特性设计的自适应量化 一个8×8的子块经过FDCT变换后,空间域的图像数据变成了频率域的系数。根据人的视觉特性,人眼对不同的频率分量具有不同的视觉敏感性,所以,可对不同的频率分量进行不同粗造程度的量化。JPEG推荐了两个量化表,具体如P97
“SSSS” 表示DC系数差值的幅度范围,共分为16类,见表4.3;由DC系数原始值,可查出其分类,由其分类,可从表4.4中查出其变长编码 (4)“Z”型展开 (5)熵编码 D= “SSSS”+附加位 对DC系数,其编码方法如下: “SSSS” 表示DC系数差值的幅度范围,共分为16类,见表4.3;由DC系数原始值,可查出其分类,由其分类,可从表4.4中查出其变长编码 附加位用于唯一地规定该类中一个具体的差值幅度,对原始值>0,附加位=原始值。对原始值<0,附加位=原始值-1的最低B位。
对每一个非零的AC系数,D中的“SSSS”由T确定表示,附加位同DC系数: T=二进制“NNNNSSSS” 低四位“SSSS”表示非零AC系数幅值范围分类,高四位“NNNN”表示前后两个非零AC系数之间连续零的个数。 由原始数据可确定T,根据T查表可获得该AC系数的变长编码。
五、JPEG基本系统编码实例 为帮助理解JPEG熵编码原理,下面我们结合实例介绍JPEG熵编码方法的实现 【例4.3.1】设某亮度子块按Z序排列的系数如下: k 0 1 2 3 4 5 6--63 系数: 12 4 1 0 0 -1 0
六、JPEG基本系统解码
七、本课重点、难点 重点:JPEG基本系统的实现过程 难点:Huffman编码在JPEG标准中的应用 八、思考练习
下 课!
第 3 课 在本次课中,,我们将介绍JPEG扩展系统与MPEG。
一、JPEG扩展系统 JPEG标准是一个很灵活的图像压缩国际标准,定义了基本系统、扩展系统、无失真编码等各种压缩算法,适应范围很广。 扩展系统是基本系统的扩展与增强,它必须包括基本系统。 在JPEG扩展系统中,可采用基于DCT的累进编码或分层编码两种操作模式。分层编码的步骤如下:
1.把原始图像的空间分辨率按2的倍数降低; 2.对已降低了分辨率的“小”图像可采用基于DCT的顺序方式、累进方式或无失真编码中的任何一种方式进行编码; 3.对压缩数据解码,重建低分辨率图像,使用插值滤波器对其内插,恢复原图像的水平与垂直分辨率; 4.把相同分辨率的插值图像作为原始图像的预测值,对二者的差值采用基于DCT的顺序方式、累进方式或无失真编码中的任何一种方式进行编码; 5.重复3、4直至达到完整的图像分辩率编码。
二.预测编码原理 预测编码(predictive coding)是统计冗余数据压缩理论的三大重要分支之一,广泛应用于图像编码、数字通信等领域。 预测编码方法包括线性预测和非线性预测两大类。线性预测编码方法,也称差值脉冲编码调制法,简称DPCM,是应用最广泛的预测编码方法之一。 DPCM编码方法原理见图4-6。
三.预测编码预测器的设计 DPCM系统包括预测器、量化器两个主要部分。预测器是实现压缩的关键。 我们以N点预测器为例讨论预测器的设计。 JPEG三点预测器如下: JPEG三点预测器用A、B、C三点预测Y,其预测系数为: a1=1 a2= 0.5 a3=-0.5 即: En=Y-(A+(B-C)/2) 显然,对第一行、第一列,无法采用三点预测器,因此,对第一列采用Y-B预测,对第一行采用Y-A预测。
四、无失真编码压缩系统 JPEG建议的独立的信息保持型压缩系统框图如下:
五、MPEG概述 MPEG(Moving Picture Experts Group)是1988年成立的一个专家组,中文翻译“动态图像专家组”。 MPEG专家组1991年提出草案,1992年正式通过,通常称之为MPEG标准(运动图像及其伴音的压缩编码标准),标准编号为ISO/IEC 11172。此后,更名为MPEG-1标准,它便是广为人知的VCD节目的压缩算法。 此后,为适应更高的应用要求,MPEG专家组又相继推出了MPEG-2、MPEG-4、MPEG-7、MPEG-21。
六、MPEG-1标准 1.概述 MPEG标准包括四部分:ISO/IEC11172-1(MPEG系统)、ISO/IEC11172-2(MPEG视频)、ISO/IEC11172-3(MPEG音频)、ISO/IEC11172-4(测试和验证)。 2.运动补偿编码技术 运动补偿编码技术是基于16×16子块的算法,每个子块可作为一个二维的运动矢量处理。运动补偿编码技术把当前16×16子块看作先前某一时刻图像子块的位移,并用这个子块来预测当前子块。可获得很高的压缩比,是减少帧序列冗余有效方法。
3.编码图像的类型 定义了三种类型图像:帧内图(Intra Pictures ,I)、预测图(Predicted Pictures,P)和插补图,即双向预测图(Bidirectional Predicted,B)。 帧内图(Intrapictures ,I)采用JPEG压缩技术,直接对原始图像数据压缩,可提供随机存取的存取位置,但压缩比不大; 预测图(Predicted Pictures,P)、双向预测图(Bidirectional Predicted,B)采用运动补偿编码技术,可获得很高的压缩比。
预测图(P帧)采用运动补偿编码技术,用过去的(最靠近的)I帧或P帧进行预测,因此,也称为前向预测帧,其示意图如图4-18。P帧是预测的基础帧,可用来预测B-帧或下一个P帧。
双向预测图(B-帧)采用运动补偿编码技术,利用前、后帧图像作为预测参考,其示意图如图4-18。B-帧不作为预测参考帧,因此,B-帧不仅图像压缩比高,而且误差不会传播。
4. 视频流的组成 MPEG并未规定三种类型图像的数量、排列顺序,但根据三种类型图像特性为保证图像恢复质量,对大多数景物,在参考图像之间插入两帧B-帧图像较为合适,最好每16帧图像至少有一个帧内图(I帧)。 一个典型的MPEG-1的视频流组成如图4-20。
5.MPEG音频编码 七、MPEG-4标准 MPEG-4标准与MPEG-1、MPEG-2标准最根本的区别在于MPEG-4是基于内容的压缩编码方法,它突破了传统的以矩形/方形块处理图像的方法。它将图像按内容分割成块,如图像的场景、画面上的物体(物体1、物体2、┅)被分割成不同的子块,将感兴趣的物体从场景中截取出来,进行编码处理。由于基于内容或物体截取的子块内信息相关性强,因而可以产生更高的压缩比。
5.MPEG音频编码
七、MPEG-2标准 MPEG-2草案由MPEG专家组1992年提出,1993年正式通过。与MPEG-1类似,MPEG-2标准(ISO/IEC13813)也包括MPEG系统、MPEG视频、MPEG音频等部分内容,它是DVD所采用的核心算法。
八、MPEG-4标准 MPEG-4标准与MPEG-1、MPEG-2标准最根本的区别在于MPEG-4是基于内容的压缩编码方法,它突破了传统的以矩形/方形块处理图像的方法。它将图像按内容分割成块,如图像的场景、画面上的物体(物体1、物体2、┅)被分割成不同的子块,将感兴趣的物体从场景中截取出来,进行编码处理。由于基于内容或物体截取的子块内信息相关性强,因而可以产生更高的压缩比。
九、MPEG-7标准 MPEG-7标准于1998年10月提出, 2001年最终完成并公布,正式名称为“多媒体内容描述接口”,扩展了现有内容识别专用解决方案的有限的能力,规定了一个用于描述各种不同类型多媒体信息的描述符的标准集合。
十、MPEG-21标准 开展MPEG-21研究工作的目的是: (1)是否需要和如何将不同的协议、标准、技术等有机地融合在一起; (2)讨论是否需要制定新的标准; (3)如果具备了前面两个条件,如何将这些不同的标准集成在一起。
下 课!
第 4 课 在本次课中,我们将介绍多媒体计算机存储技术。
一、CD-ROM概述 1.CD-ROM的起源 20世纪70年代初期→“镭射” 1978年开始,Philips公司和Sony公司→“CD”。 探索存储设备应用到计算机中,两个重要问题需要解决: 计算机如何寻找数据;误码率及错误校正技术; → 只读光盘CD-ROM(Compact Disc- Read Only Memory)黄皮书标准→解决了硬件生产厂家的制造标准问题 。 1985年制定了一个文件交换标准(ISO 9660标准)
2. 光盘结构 激光唱盘、CD-ROM、数字激光视盘等等统称为光盘。一片光盘是由三层材料组成的圆盘,盘片厚度为1.2mm,盘片外沿直径12cm,中间有一个直径为1.5cm的圆孔,平均盘重18g。 光盘的底层为聚碳酸酯(Polycarbonate)或丙烯树压制出的一种极坚硬的塑料透明衬底,中间层是用铝(或其它合金)制成的一种很薄的金属反射层,顶层是涂漆的保护层。 3.CD-ROM的含义 只读“紧凑式”光盘
二、CD-ROM中数据的表示 1.计算机中数据: 二进制字节数据 2.光盘数据特点 用凹坑和非凹坑之间机械性的跳变边沿代表“1”,而凹坑和非凹坑的平坦部分代表“0”,参考实例如图4-5-2所示
理论分析和实验证明,把“0”的游程最小长度限制在2个,而最长限制在10个,光盘上的信息就能可靠读出。这便是“0”游程规则 3.计算机中数据到光盘数据的转换 (1)通道编码 多媒体信息内容,是以“1”和“0”的二进制数据存放在磁盘中的,在存储到光盘之前,需要将磁盘中的二进制多媒体数据信息进行变换处理,这种处理过程称为通道编码。 实现计算机中数据到光盘数据的转换采用了8到14位的调制编码方案,简称为EFM(Eight to Fourteen Modulation)编码方案。
具体说,在214=16384种通道码中,通过计算机的计算,有267种码能满足两个“1”之间至少2个“0”、最多10个“0”的要求。舍去高位为1的11种编码,可得到与8位数据相对应的28=256种通道码。 (2)通道合并位 此外当连续两个通道码合并时,可能会出现合并后不能满足“0”的游程长度至少为2的要求,因此,在每两个通道码之间又增加了3位通道合并位,这样一来,原来的8位数据实际上编码后变成了17位的信息了。
三、CD-ROM物理格式 1.概述 光盘上的数据按从外向内的螺旋线的光道排列,光道上可进一步划分为扇区。 2.CD数据格式 光盘扇区的物理长度是固定的,每个扇区由2352个字节组成。每个扇区开头含一个12字节的同步段和一个4字节的起始段(或称扇区头)。 常用格式有两种:Mode 1 和Mode 2。
(1) Mode 1 扇区格式 Mode 1 扇区格式用于存放要求误码率很低的数据或者说对错误极为敏感的数据如计算机程序、企业或金融数据等 除同步信息和扇区头外,在用户数据区之后用4个字节存放EDC(Error Detection Code)码,用172个字节存放P校验码,用104个字节存放Q校验码,两种校验码合称ECC(Error Correction Code)码 用于存放用户数据的区域只有2048个字节
(2) Mode 2 扇区格式 Mode 2 扇区格式用于存放对误码率要求不太高的数据或者说对错误不太敏感的数据,如声音、图像数据等。12个字节的同步信息和4个字节的扇区头信息共占用16个字节,其余2336个字节为用户实际存放区域。 4.光盘倍速的含义
四、CD-ROM逻辑格式 1.磁盘逻辑格式 树型结构 FAT FCB 可方便读写,但需多次定位 2.光盘逻辑格式 一次定位 卷描述符、路径表、目录文件 只读光盘的逻辑格式由1988年公布的ISO 9660标准规定。 MSCDEX.EXE
五、光盘的读写原理 1、只读光盘读写原理 (1)只读光盘怎样存储数据 只读光盘是通过制作母盘复制而来,在制作母盘时,数字信息必须经过EFM调制编码和插入EFM通道合并位,再使用专用光盘记录器,经过制模形成凹坑和非凹坑,将二进制数据记录到光盘上。 (2)只读光盘怎样读取数据 光学头根据光盘表面凹坑和非凹坑反射回来的光强,把光信号转换成电信号,经处理后变成EFM通道码,再经EFM反变换还原成写入的数据,如果出错,则进行纠正,如果校验无错,则将数据送给计算机作进一步处理。
2、CD-R盘的读写原理 (1)将数据写入CD-R盘的原理 将数据写入CD-R盘需要使用光盘刻录机。通过光盘刻录软件的处理将需要写入到CD-R盘的数据,通过EFM编码后,根据串行数据流中的“1”和“0”信息翻译成凹坑和非凹坑的通道数据。利用激光的单色性和干涉性,将光束聚焦成直径为1微米左右的微小光点,使能量高度集中,在CD-R盘上金属簿膜层产生物理化学变化,产生凹坑,这就是数据写入CD-R盘的原理。 (2)将数据从CD-R盘读出的原理 CD-R盘中读出数据的原理和从只读光盘中读出数据的原理是相似的。
六、CD-ROM驱动器的系统结构 CD-ROM驱动器的主要部件和结构有: 光头旋转马达 聚焦跟踪定位系统 数字信号处理系统 反变频及驱动控制系统等。
七、光盘与磁盘的比较 下面就光盘和磁盘作一简要对比。 (1)密度 (2)数据记录方式 (3)扇区 (4)旋转速度 (5)使用方式 (6)使用环境
八、CD-ROM驱动器的性能指标 1.数据传输速率 (Data Transfer Rate) 2.平均访问时间 (Average Access Time) 3.CPU占用时间(CPU Loading) 4.缓冲器容量
十、CD家族 九、CD-ROM的制做 CD-R;大批量制作CD-ROM盘。 (1)刻写CD-R盘 (2)批量制作只读光盘 1)数据准备: 2)光盘预制作: 3)母盘制作: 4)子盘复制: 十、CD家族
十一、DVD光盘 DVD原名digital video disc,中文翻译“数字视盘”。由于DVD不仅可以存储电视、电影节目,在计算机数据存储方面也具有CD-ROM无法比拟的容量和灵活性,因此,又把digital video disc更改为digital versatile disc,所写依旧为DVD。 DVD光盘有着不同的分类。 按单/双面与单/双层结构的各种组合,DVD可以分为单面单层、单面双层、双面单层和双面双层四种物理结构。
按照DVD光盘的不同用途,可以把它分为: DVD-ROM——电脑软件只读光盘,用途类似CD-ROM; DVD-Video——家用的影音光盘; DVD-Audio——音乐盘片; DVD-R(或称DVD-Write-Once)——限写一次的DVD; DVD-RAM(或称DVD-Rewritable)——可多次读写的光盘
由于格式和版权等问题,DVD-Audio目前尚未正式投产使用。DVD-R、DVD-RAM成本较高,也未大范围普及。 目前DVD光盘的主流应用为DVD-ROM和DVD-Video。 DVD具有高存储容量原因 DVD-Video
下 课!