第五讲 数据压缩技术基础
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五讲数据压缩技术基础
5.1数据压缩的技术指标是什么?
1.数据压缩的目的
通过压缩手段把数据量压下来以压缩形式存储和传输,这样既节约了空间,又提高了传输速率,同时也使计算机可实时处理音频视频信息,以保证播放出高质量的音频、视频节目称为可能。
对图像的压缩编码有多种方法。
如亚采样编码思想:一组像素可用一个像素表示以达到压缩图像存储容量。
又如游程编码思想:对黑白图像的编码,可将每行的像素分为白段、黑段、白段、黑段、白段…后,每段像素采用其长度(计数)表示:计数1,计数2,计数3,计数4,计数5,计数6…。
实际上,一个好的编码系统都是采用多种算法、多次处理而成的。
2.数据压缩的基本理论
数据压缩是通过去除多媒体中冗余数据可大大减少原始数据量,从而使数据量得到压缩。
信息论认为:若信源编码的熵(entropy)大于信源的实际熵,则该信源一定存在冗余。
去除冗余不会减少信息量,仍可原样恢复数据;但若减少了熵,则数据不能完全恢复。
不过在允许的范围内损失一定的熵,数据可得到近似的恢复。
所谓“熵”,原指热能除以温度所得的商,即热量转化为功的程度。
这里是指信源发
出任意一个随机变量的平均信息量。
所谓“信息量”是指从N个相等可能事件中选出一
个事件所需的信息度量。
3.原始数据的冗余类型
(1)空间冗余:同一帧画面中,规则景物和规则背景的表面各采样点的颜色之间存在
空间连贯性。
(2)时间冗余:在图像序列中,相邻帧图像之间同一场景所包含背景和移动物体具有
共同性。
(3)结构冗余:图像的像素值存在明显的分布模式结构产生的数据冗余。
(4)知识冗余:某些规律性结构可通过先验知识和背景知识得到的冗余。
(5)视觉冗余:人眼的视觉系统对图像场视觉的敏感和不敏感同等对待而产生了更多
数据冗余。
(6)区域相似性冗余:图像中的两个或多个区域所对应的像素值具有相似性使产生的
数据重复存储
(7)纹理的统计冗余:图像纹理在统计上服从某一分布规律的冗余。
4.压缩比
压缩比(%)=压缩后的图像数据量/ 压缩前的图像数据量
若原数字文件数据容量为100MB,经压缩后的数据容量为50MB,则图像压缩比为50%。
显然,压缩比越小,压缩后的图像文件数据量也越小,图像的质量有可能损失越多。
实际
上,图像的压缩效果不但与压缩前的图像效果有关,也与采用的压缩方法有关。
5.数据压缩的技术指标
(1)压缩比:压缩前、后所需的信息存储量之比要大。
(2)压缩和解压速度:实现数据压缩的算法要简单,压缩解压的速度要快。
(3)恢复效果:解压后的恢复效果要好,要尽可能地恢复原始数据。
5.2数据压缩编码方法如何分类?
1.根据熵有无损失分类
(1)无损压缩
无损压缩也称为不失真压缩,是去掉或减少数据的冗余进行压缩。
这些冗余值可重新插入数据中来实现原始数据的完全恢复而不失真。
但这种压缩方法的压缩比受到统计冗余度的理论限制,一般为2:1-5:1。
该压缩方法适用于文本、数据、程序和应用场合的图像数据的压缩。
常用无损压缩的编码方案有:游程编码、Huffman编码、算术编码及LZW 编码等。
(2)有损压缩
有损压缩也称为有失真压缩,是减少信息量(压缩熵)来进行压缩。
这些损失是不能再恢复的,因此这种压缩是不可逆的。
一般利用人的视觉和听觉对图像或声音中的不敏感性进行压缩,虽损失一息且不能完全恢复原始数据,但换取了高的压缩比。
该压缩方法适用于语音数据、图像数据和视频数据的压缩。
常用有损压缩的编码方案有:PCM、预测编码、变换编码、插值及外推法编码等。
2.根据数据压缩算法分类
(1)统计编码
统计编码也称信息熵编码,是根据信源所含有的平均信息量(熵)即无失真编码的极限的无失真编码定理进行编码。
统计编码常用的是Huffman编码(利用信源概率分布)、游程编码(利用相关性)和算术编码(利用信源概率分布)等。
(2)预测编码
预测编码是根据某一数据模型利用以往样本值对新样本值进行预测,再将样本实际值与预测值的差进行编码。
若模型足够好,且样本序列的时间相关性较强,则误差信号幅度将远小于原始信号,即可用较少的值对其差值进行量化,得到较大压缩的效果。
预测编码常用的是差分脉冲编码调制(DPCM)和自适应的差分脉冲编码调制(ADPCM)。
(3)变换编码
变换编码将通常在空间域描写的图像信号变换到另外一些正交矢量空间(即变化域)中进行描写。
选择合适的变换关系使变换域中描写的各信息分量之间的相关性很小或互不相关,从而达到数据压缩的目的。
(4)分析合成编码
分析合成编码是通过对原始数据的分析,将其分解为一系列更适合表示的基元或从中提取若干具有更本质意义的参数,编码仅针对这些基本单元或特征参数进行。
解压时则借助一定的规则或模型按一定的算法将这些基元或参数再合成逼近原始数据的数据。
常用的编码有子带编码、小波变换编码以及分析图形编码等。
5.3统计编码的基本原理是什么?
1.统计编码基本理论(P120~129)
2.统计编码基本思想
统计编码也称熵编码,是根据消息出现概率的分布特性进行的压缩编码。
其编码基本思想是:识别一个给定的数据流中出现概率最高的比特或字节模式,用比原始比特更少的比特数来对其进行编码,即出现概率越低的模式编码位数就越多;而出现概率越高的模式编码位数就越少。
若码流中所有模式出现的概率相等,平均信息量最大,则信源没有冗余。
统计编码的基本方法是:在消息和码字之间找到明确的一一对应关系,以便在恢复时能准确无误地再现出来,或相似地找到相当对应关系,并把这种失真或不对应概率限制在可容忍的范围(如运动图像的数据压缩)。
变长码是最常使用的方法,该编码的原始思想起源于Morse电报码及速记法。
例如Morse码中e是最常出现的,编码为“.”;而q最少出现,则编码为“..—”。
其信源符号与码字一一对应,因此可准确无误地再现。
且在编译码过程中不损失任何信息,属于冗余压缩法。
变长码的最佳编码定理:在变长码中,对出现概率大的信息符号以短字长编码,对出现概率小的信息符号以长字长编码。
若码字长度严格按符号概率大小的相反顺序排列,则平均码字长度一定小于按任何其他符号顺序排列方式得到的码字长度。
3.常用的编码方案
(1)游程编码
将数据流中连续出现的字符(即游程)用单一的记号来表示。
如字符串abacccbbaaaa,可压缩为aba3c2b4a。
该编码的压缩效果不太好,但编码解码的速度快,因此仍得到广泛应用。
许多图像视频文件(BMP、TIF及A VI等)采样该压缩。
(2)哈夫曼编码
将信源符号按概率的大小排序,概率大的为短码,概率小的为长码。
其编码过程如下:
a.将信源符号按概率递减顺序排列;
b.把两个最小的概率相加,作为新符号的概率;
c.重复A、B,直到概率和达到1为止;
e.在每次合并消息时,将被合并的消息赋予1和0或0和1;
f.寻找从每一信源符号到概率为1的路径,记录下路径上的0和1;
g.对每个符号写出从码树的根到终结点1、0序列。
例:
信息符号概率
x1 0.35 0 00
x2 0.20 00.60 0 10
x3 0.15 00.25 1 1.00 根010
x4 0.10 10.40 1 011
x5 0.10 0 1 110
x6 0.06 00.10 0.20 1110
x7 0.04 1 1 1111
(3)算术编码
将一个信源集合表示为实线上的0到1之间的一个区间。
这个集合中的每个元素都要用来缩短这个区间。
信息集合的元素越多,所得区间则越小。
当区间变小时,就需要更多的数位来表示这个区间。
算术编码初级阶段预设一个大概率为Pe,小概率为Qe。
其编码过程如下:
a.设编码初始化子区间为[0,1],Qe从0算起,则Pe=1-Qe。
随着被编码数据量符号
的输入,子区间逐渐缩小;
b.新子区间的起始位置= 前子区间的起始位置+当前符号的区间左端*前子区间长度;
新子区间的长度= 前子区间的长度*当前符号的概率(即范围长度);
c.最后得到的子区间的长度决定了该区域内的某一个数所需位置。
△已知符号串(信源)符号由0,1组成,0出现的概率为1/4,1出现的概率为3/4。
按以上算术编码规则对符号串1011进行编码:
这里,Qe=1/4,Pe=3/4,初始子区间为[0,1]
序号 符号 子区间起始位置 子区间长度
1 1 1/4 3/4
2 0 1/4 3/16
3 1 19/6
4 9/64
4 1 85/256 27/256
最后的子区间起始位置=85/256=0.01010101B ,子区间长度=27/256=0.00011011B ,子区间尾=85/256+27/256=0.01010101B+0.00011011B=0.0111。
因此编码输出应落在子区间的头尾之间[0.0101~0.0111]。
可在此范围内选取一个码字较短的作为输出,如0.011。
传送时只传送011即可,该码字即为符号串1011的编码输出。
在算术编码中,出现概率相同的串区间长度相同;出现概率大的串码长较短。
5.4预测编码的基本原理是什么?
1.预测编码基本理论
基于现代统计学和现代控制论,是数据压缩理论的一个重要分支。
它指出离散信号之间存在着一定相关性,即数据在时间和空间上具有相关性的特点。
2.预测编码基本思想
预测编码是利用相邻像素的相关性预测当前像素的值进行的编码。
其编码思路是:利用前面的一个或多个信号对下一个信号进行预测,然后对实际值和预测值的差(预测误差)进行量化编码。
如果预测比较准确,那么误差信号就会很小。
因此,在同等精度要求的条件下,可用较少的数码表示差值,从而达到了压缩数据的目的。
预测编码常用的是差分脉冲编码调制(DPCM )和自适应的差分脉冲编码调制(ADPCM )。
由于声音和图像数据均由采样得到,且相邻值之间的差不会很大,可以用较少的位数来表示差值,因此适用于声音和图像数据的压缩。
3.常用的编码方案
(1)DPCM 编码
PCM (脉冲调制)编码是将原始信号先经过时间采样,然后对每一个样值进行量化后作为数字信号的输出;而在DPCM (差分脉冲调制)编码中,为了压缩传输的数码,可不对每一个样值都进行量化,而是预测下一样值,并量化实际值与预测值之间的差。
解压缩时使用同样的预测器,将这一预测值与存储的已量化的差值相加,产生出近似的原始信号,从而基本恢复原始数据。
一般该编码每样值可压缩到2~4bit 。
其编码过程如下: a.测出像素(i ,j )及相邻像素的样值;
b.由以往3个相邻像素的样值相加得到当前像素的预测值:
),1()1,1()1,(),(321j i f a j i f a j i f a j i f -+--+-=∧
其中,1a 2a 3a 为预测系数,为待定值。
若系数为常量,则为线性预测。
c.求出预测误差,并进行量化:
)],1()1,1()1,([),(),(),(),(321j i f a j i f a j i f a j i f j i f j i f j i e -+--+--=-=∧ d.由均方误差函数求出预测系数1a 2a 3a ,以得到最佳线性预测系数:
23212
2)],1()1,1()1,([),([)],(),([(j i f a j i f a j i f a j i f E j i f j i f E e -+--+--=-=∧
其中,E 是数学期望,e 2对1a 2a 3a 求偏导并令其为0,解方程得预测系数。
(2)ADPCM 编码
ADPCM (自适应差分脉冲调制)编码是根据信号分布不均匀的特点,系统具有随输入信号的变化而自动改变量化区间的大小并选择预测参数。
任何一种采用自适应方法都称为ADPCM 。
系统对输入信号的变化采用不同的量化区间(自适应量化):对于能量分布较大的系数分配较多的比特数,采用较小的量化步长;反之分配较小的比特数,采用较大的量化步长,从而达到压缩的目的。
(3)帧间预测编码
利用帧间的时间相关性进一步消除图像的冗余度,基于预测技术来提高动态图像的压缩比。
常用的方法有运动补赏法和条件补充法。
a.运动补赏预测法:动态图像画面上运动部分在帧与帧之间必然有连续性。
预测法根据这一特性,将当前的图像画面看作是前面某时刻图像的位移,位移的幅度和方向在画面上各处可不同。
因此,可利用反映运动的位移信息和前面某时刻的图像来预测当前的图像。
b.运动补偿插值法:在时域中利用插值的方法进行运动的补偿是一个多分辨率技术。
先以1/10s 或1/15s 时间间隔获取参考子图,然后对这两个参考子图之间的图像,按照运动的规律获得1/30s 时间间隔的各个插补子图。
只要对参考子图及反映运动规律的信息进行编码,就可以得到帧频为30帧/s 的全运动视频图像。
由于视频信号时域冗余度高,需要传送的附加运动校正信息非常少,因此插补运动补偿可大幅度压缩数据。
5.5变换编码的基本原理是什么?
1.变换编码基本思想
先将信号进行变换(正交矢量空间),再进行编码。
如将时域信号变换到频域信号,只需振幅和频率两个参数,数据相关性减少(样值更具独立);此外,因声音、图像的大部分信号都是低频信号,在频域中信号的能量较集中,因此再对这些变换参数进行采样、量化、编码处理即可以压缩数据。
可以看出,预测编码主要是在时域进行,而变换编码则主要是在变换域上进行。
变换编码只最典型的例子就是傅立叶变换,它将时域函数变换成频谱函数。
变换编码常用的变换有:傅立叶变换、余弦变换、离散余弦变换(DCT )、K-L 变换、沃尔什变换等。
2.变换编码的基本过程
(1)变换:将时域信号映射到另一个变换域。
(2)变换域采样:变换后的样值具有有序性和独立性。
(3)量化编码:使数据量尽可能减少、量化失真也最小。
3.常用的编码方案
(1)K-Z 变换编码
K-Z 变换编码也称最佳变换编码。
K-Z 变换是在已知输入信号矩阵的条件下,根据其协方差矩阵去寻找另一种正交变换,使变换后的协方差矩阵满足或接近为一个对角矩阵。
(2)离散余弦变换编码
离散余弦变换(DCT )编码是从快速傅立叶变换(FFT )中取实部,再利用余弦正交变换算法对不同的信号进行压缩。
离散余弦变换广泛地应用在图像压缩中。
5.6分析合成编码的基本原理是什么?
1.分析合成编码基本思想
分析合成编码是通过对原始数据的分析,将其分解为一系列更适合表示的基元或从中提取若干具有更本质意义的参数,编码仅针对这些基本单元或特征参数进行。
解压时则借助一定的规则或模型按一定的算法将这些基元或参数再合成逼近原始数据的数据。
常用的编码量化编码、有子带编码、小波变换编码以及分析图形编码等。
2.常用的编码方案
(1)量化编码
所谓量化是把一个变量的取值范围分成有限个不重叠的、大小不一定相等的区间,并给每个区间指定一个属于该区间内的值。
量化编码的基本思路是:对经过PCM数字化后的数据的多比特数表示的样本值,用较小的比特数再进行量化的过程。
量化的目的是减少比特数,压缩数据量。
量化处理是一个多对一的处理过程,是不可逆的过程。
在量化过程中会引起量化误差(信息)的丢失。
量化的方法有标量量化和矢量量化。
a.标量量化:在随机变量出现概率较高的间隔内,选取较小的间区,而在其他区域选取较大的间区,这样可以以较小的量化均方误差进行量化。
量化还可根据人眼视觉特性进行,对较敏感信号分量采用较多的量化级数进行细量化,而对较迟钝的信号分量采用粗量化,这样既保证了重建图像的质量,又可大大降低压缩后的信息码率。
JPEG、MPEG以及H.261中采用的都是基于视觉特性的标量量化。
b.矢量量化:是基于语意的编码。
其基本思想是采用非线性量化器,对空间频率及能
量分布较大的系数分配较多的比特数,即采用较小的量化步长;反之,分配较少的比特数,即采用较大的步长,从而达到压缩的目的。
(2)子带编码
子带编码是利用带通滤波器组把信号频带分割成若干子频带,然后通过调制将各个子带搬移到零频率近似得到低通表示后,再以奈奎斯特速率分别对各子带输出采样,并将采样值进行数字编码。
恢复时将各子带信号解码并重新调制回原始位置,再将所有子带输出相加就可得到接近于原始信号的波形。
子带编码最早应用于音频的压缩,后来应用于图像的压缩编码。
5.7图像和视频压缩标准是什么?
1. 静态图像压缩标准
(1)JPEG标准
JPEG是联合图像专家小组(Joint Photographic Experts Group)简称,是一个面向连续色调、多级灰度、彩色或单色静态图像的国际通用压缩标准。
其中,它定义了两种基本的压缩算法:一种是基于差分脉冲码调制(DPCM)的无损压缩算法;另一种是基于离散余弦(DCT)的有损算法。
前者不会产生失真,但压缩比小;后者信息虽有损失,但压缩比大。
该标准适用于静态图像和电视图像序列的帧内图像的压缩编码。
(2)JPE G的基本要求:
a.达到或接近当前压缩比与图像保真度的技术水平,能覆盖一个较宽的图像质量等级范围,达到“很好”到“极好”的评估。
与原始图像相比,人的视觉难以区分;
b.适用于任何种类的连续色调的图像,长宽比步受限制,也不受限于景物内容、图
像复杂长度和统计特征;
c.算法的复杂程度是可控制的,其软件可在各种CPU完成,也可由硬件实现。
(3)J PEG的基本算法
a.无损压缩处理过程:采用DPCM算法
压缩后图像数据
b.有损压缩处理过程:采用DCT算法
2.动态图像压缩编码标准
(1)MPEG标准
MPEG是运动图像专家小组(Moving Pictures Experts Group)简称。
是一个面向MPEG 视频(1.5Mbps)、MPEG音频(64kbps、128kbps和192Mbps)MPEG系统的国际标准。
该标
准包括:
a.MPEG-1标准(
b.MPEG-2标准
c.MPEG-4标准
d.MPEG-7标准
e.MPEG-21标准(多媒体框架)
(2)MPEG的基本算法
MPEG视频是MPEG压缩标准的核心。
MPEG视频压缩算法包括两种基本技术:一种是基于16*16子块的运动补赏(利用运动位移信息与前某时刻的图像对当前图像进行预测的方
法),以减少帧序列的时域冗余;另一种是基于DCT空间变换压缩,以减少帧序列的空间
冗余。
(3)H.261标准
是一个面向视频通信(电视电话、会议电视))的国际标准。
该标准常称为p*64K标准,p是一个可变参数,其取值为1~30。
其中p=1或p=2只能支持桌面上的面对面直观
通信,p>6时支持每秒帧数较高的活动图像的电视会议。
该编码采用混合编码方案,即基于DCT的离散余弦编码算法和带有运动预测的DPCM算法。
该标准的压缩算法与MPEG压缩算法有许多共同之处,其区别仅在于:前
者的目的是适应各种信道容量的传输;而后者的目的是在狭窄的频道上实现高质量的图像
和高保真声音的传输。
5.8常用的压缩软件有哪些?
1.文件压缩软件
(1)Winzip:知名度最高、使用率最高的压缩软件。
该软件界面简洁友好,特别是鼠标
右键的直觉式压缩是一大特色。
(2)WinArj:方便实用,其压缩比高于Winzip。
(3)WinRAR:也与Winzip、WinArj齐名,3种软件中压缩比最高的一种文件压缩软件。
(4)Win Pack:集各家软件之大成的全方位的压缩软件。
该软件可压缩出zip、Arj、RAR
等压缩文件格式,还可将这些文件格式进行互换。
2.声音压缩软件
(1)Windows系统附件中的“录音机”:可通过设定采样频率压缩出3种不同的PCM文件。
文件量最小的适合压缩说话声音。
(2)MP3 Compressor:该软件界面友好,操作简便,压缩时间短,其最大的特色是将WAV文件压缩成MP3文件后可直接在附件的“录音机”中播放。
(3)Real Encoder:可将WAV或MP3等声音文件压缩成RA(Real Audio)网上即时传输文件,需要Real Player播放。
(4)超级解霸:将WAV、MPEG文件压缩为MP3文件。
3.图像压缩软件
(1)JPGE SmartSaver:可将其他格式的图像文件压缩成最佳化的文件量较小的JPEG 文件。
(2)GIF SmartSaver:可将其他格式的图像文件压缩成最佳化的文件量较小的GIF文件。
(3) Animation SmartSaver:可将动态的GIF格式的图像文件最佳化成文件量较小的同格式文件。
4.视频压缩软件
(1)Ulead Mediostudio:可将一个未压缩的AVI文件压缩成具有压缩格式的AVI文件。
当其压缩比达到1/18时,画质没有太明显的差别。
(2) Ulead MPEG Converter:可将一个AVI文件压缩成MPEG文件。
当其压缩比达到1/20时画质还相当不错,但压缩时间较长。
(3)XingMPEG Encoder:可将一个AVI文件压缩成MPEG文件。
(4) Real Encoder:可将AVI视频文件压缩成RM(Real Video)网上即时传输文件,需要Real Player播放。
(5)超级解霸:可将AVI文件压缩为MPEG文件。