第三章-多媒体数据压缩技术2014_第1页
第三章-多媒体数据压缩技术2014_第2页
第三章-多媒体数据压缩技术2014_第3页
第三章-多媒体数据压缩技术2014_第4页
第三章-多媒体数据压缩技术2014_第5页
已阅读5页,还剩126页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

多媒体技术及应用第三章多媒体数据压缩编码技术本章主要内容数据压缩基本原理常用数据压缩编码方法量化统计编码预测编码变换编码JPEG图像编码标准MPEG视频编码标准3.1数据压缩基本原理多媒体数据压缩编码的必要性信息时代信息爆炸多媒体计算机系统的研究对象

三维图形立体声彩色全屏幕运动画面数字计算机处理的信息种类

数值、文字、语言、音乐、图形、动画、静图像、电视视频图像数字化后的视频和音频信号数据量惊人!

3.1数据压缩基本原理多媒体数据压缩的必要性——几个例子例1:用300dpi分辨率扫描一张B5纸(180mm×255mm),数据量为6.61MB/页一个650MB的CD-ROM,仅能保存98页!例2:双声道立体声激光唱盘(CD-A),采样频率44.1kHz,采样精度16bit/样本,则1秒中采样位数:

(44100×16×2)/8=0.1764MB/s一张CD-ROM,仅能保存约1小时数据。

3.1数据压缩基本原理多媒体数据压缩的必要性——几个例子例3:数字电视图像(1)源输入格式(SourceInputFormat,SIF),NTSC制彩色、4:4:4采样每帧数据量:353×240×3=253KB

每秒数据量:253×30=7.603MB/s

一片CD-ROM可存节目时间:

(650/7.603)/60=1.42分/片3.1数据压缩基本原理多媒体数据压缩的必要性——几个例子(2)国际无线电咨询委员会格式,PAL制,4:4:4采样每帧数据量:720×576×3=1.24416MB

每秒数据量:1.24416×25=31.1MB/s

一片CD-ROM可存节目时间:

650/31.1=20.9秒/片3.1数据压缩基本原理多媒体数据压缩的必要性——几个形象的例子1秒钟语音8位8kHz采样88.2KB数据量16位44.1kHz采样64kbit数据量(650M的标准光盘中,约2小时)

庞大的数据量给存储器的存储容量、通信干线的信道传输率以及计算机的速度都增加了极大的压力!

数据压缩技术是行之有效的方法!3.1数据压缩基本原理多媒体数据压缩的可行性——数据冗余数据冗余基本概念大数据量大信息量不等于180汉字文本数据360B语音480kB(1分钟)约1300倍信息量数据量冗余量3.1数据压缩基本原理多媒体数据压缩的可行性——数据冗余语音信息的冗余(Review)时域信息的冗余

幅度的非均匀分布(小幅度样本出现概率高)样本间的相关性周期之间的相关性基音之间的相关性静止系数

人的听觉感觉机理人的听觉具有掩蔽性人耳对不同频段的敏感程度不同人耳对语音信号相位变化不敏感

3.1数据压缩基本原理多媒体数据压缩的可行性——数据冗余图像信息的冗余(Redundance)空间冗余——静态图像存在的最主要的数据冗余

同一景物表面上各采样点之间存在空间连贯性

然而,基于离散像素采样来表示物体颜色的方式,通常不利用这种连贯性,造成空间冗余3.1数据压缩基本原理多媒体数据压缩的可行性——数据冗余图像信息的冗余(Redundance)时间冗余——序列图像包含时间冗余。序列图像一般为位于一时间轴区间内的一组连续画面。相邻帧包含相同的背景和移动物体请欣赏:精彩电影片段——上海世博会宣传片体会图像信息的时间冗余3.1数据压缩基本原理多媒体数据压缩的可行性——数据冗余图像信息的冗余(Redundance)结构冗余

在有些图像的纹理区,图像的像素值存在着明显的分布模式。3.1数据压缩基本原理多媒体数据压缩的可行性——数据冗余图像信息的冗余知识冗余:由图像的记录方式与人对图像的知识之间的差异所产生的冗余有些图像的理解与某些知识有相当大的相关性比如人脸的图像有固定的结构。这类规律性的结构可由先验知识和背景知识得到知识冗余构造基本模型创建对应各种特征的图像库只保存特征参数减少数据量3.1数据压缩基本原理多媒体数据压缩的可行性——数据冗余图像信息的冗余图像区域的相同性冗余在图像中的两个或多个区域所对应的所有像素值相同或相近,从而产生的数据重复性存储。因此,只需要记录一个区域内的各像素的颜色值。分形:FractalGeometry3.1数据压缩基本原理多媒体数据压缩的可行性——数据冗余图像信息的冗余视觉冗余

人类的视觉系统对图像场的敏感性是非均匀和非线性的。然而,在记录原始的图像数据时,通常假定视觉系统是线性和均匀的,对视觉敏感与不敏感的部分同等对待。从而产生比理想编码更多的数据,造成视觉冗余。

3.1数据压缩基本原理多媒体数据压缩的可行性——数据冗余图像信息的冗余视觉非均匀性体现在:

视觉系统对图像的亮度和色彩度的敏感性相差很大。随着亮度的增加,视觉系统对量化误差的敏感度降低,这是由于人眼的辨别能力与物体周围背景亮度成反比。视觉系统将图像的边缘和非边缘分开处理。即:

人眼对灰度变化敏感于灰度值本身。3.1数据压缩基本原理多媒体数据压缩方法分类脉冲编码调制(PCM)固定PCM,自适应PCM

预测编码

固定预测编码、自适应预测编码,如DPCM

编码器记录与传输的不是样本的真实值,而是它与预测值的差。预测值由欲编码图像信号的过去信息决定。

预测不仅可以在相邻像素值之间进行,也可以在行间进行。

差值的变化范围小于真实值的变化范围。3.1数据压缩基本原理多媒体数据压缩方法分类变换编码

主要思想:利用图像块内像素值之间的相关性,把图像变换到一组新的基上,使得能量集中到少数几个变换系数上,通过存储这些变换系数达到压缩的目的。常用的变换有:

DFT——离散傅立叶变换

DCT——离散余弦变换:消除相关性速度接近KLT,但速度快

KLT——Karhunen-Loeve变换:消除相关性最有效

WHT——Walsh-Hadamard变换3.1数据压缩基本原理多媒体数据压缩方法分类统计编码(重点讲解内容)

Huffman编码:大概率用短编码,小概率用长编码

算术编码:将编码的符号变换到[0,1]的一个小区间,适用于自适应编码

游程编码:一维信号的分段常数逼近。混合编码

合并变换编码和预测编码的方法。3.1数据压缩基本原理多媒体数据压缩方法分类其他编码矢量量化、子带编码、轮廓编码、二值图像、…

矢量量化:对采样量化数据进行分组,构成矢量后,以矢量为单位,逐个进行量化的方法。

子带编码:将图像数据变换到频域后,按频率分带,然后用不同的量化器量化,得到最优组合。低频带能量集中,用高码率,高频带反应细节变化,用低码率。3.1数据压缩基本原理数据压缩类型无损压缩(重构后的数据与原来数据完全相同,如磁盘文件)有损压缩(重构后的数据与原来数据不完全相同,如图像、声音的压缩)3.1数据压缩基本原理压缩算法综合评价指标压缩倍数(压缩率)压缩前与压缩后的数据量之比例:512×480像素真彩色图像(24bit/pixel)若:输出数据15000byte输入数据737280byte则压缩比=737280/15000=49每个象素的平均比特数(Bitperdisplayedpixel)3.1数据压缩基本原理压缩算法综合评价指标图像质量信噪比SNR(SignalNoiseRatio)指标一:指标二:3.1数据压缩基本原理压缩算法综合评价指标图像质量主观评定标准(国家电联CCIR500标准)由若干人对重建图像质量按:很好、好、尚可、不好、坏五级评分,然后计算MOS3.1数据压缩基本原理压缩算法综合评价指标压缩和解压缩速度对称压缩压缩和解压缩都需要实时运行(如电视会议)非对称压缩要求解压实时(多媒体节目制作)压缩计算量(一般压缩计算量大于解压)3.1数据压缩基本原理小结数据压缩编码的必要性

数据压缩编码的可行性空间冗余、时间冗余、结构冗余、知识冗余、视觉冗余图像区域的相同性冗余数据压缩编码的种类

PCM、预测编码、变换编码、统计编码、混合编码压缩算法综合评价指标压缩率、图像质量、压缩与解压缩速度

3.2量化量化的基本概念何谓量化?量化(quantization)是指模拟信号到数字信号的映射;它是模拟量转化为数字量必不可少的步骤;其实质是用有限的离散量代替无限的连续模拟量的多对一映射。3.2量化我们可以用log2(256)=8位,来为一个像素点的灰度值进行量化编码。再考虑一个256级灰度图像的例子3.2量化量化输出只能取有限个等级,称为量化级;每个量化输入被强行归一到与其接近的某个输出,即量化到某个级。量化器xy量化误差:量化器输出幅度与输入幅度之差

其均方误差为x量化过程

量化是多对一的过程,是不可逆的。3.2量化b=wavrecord(10000,8000,’double’);wavwrite(b,8000,16,’b’)wavplay(b);plot(b);SizeBytes10000×180000举例3.2量化量化过程中的压缩基本方法(Review)分为:均匀量化和非均匀量化均匀量化是指采用相等的量化间隔对采样得到的信号作量化的方法,也称为线性量化。非均匀量化是指采用不等的量化间隔对采样得到的信号作量化的方法,也称为非线性量化。

3.2量化矢量量化何谓矢量量化?是量化过程中的另一种压缩方法,广泛应用于图像和语音信号的压缩编码过程中。对采样量化数据进行分组,构成矢量后,以矢量为单位,逐个进行量化的方法。可有效提高压缩比。3.2量化矢量量化下标i码字0(6,9,14,22)1(4,6,4,12)2(17,1,2,50)......46412输入矢量搜索编码码本C码本C传输矢量下标ii查表输出矢量发送端接收端矢量量化编码解码框图【码本C】Bmn×nB1B2i=1解码3.2量化矢量量化将图像分割成m个方块,每个方块尺寸为nn=K;每个方块按行(或列)堆叠成K维矢量,作为编码输入矢量码本C具有N个K维矢量的集合,C={yi},i=1,2,…,N.,每个分量称为

码字。在接收端有一个与发送端完全相同的码本C。矢量量化的编码就是搜索最接近码字yi。当找到误差最小的码字时,用该码字yi代表输入矢量,只传下标i传输下标所需的比特数为log2N,一个象素平均为(log2N)/K【矢量量化过程】3.2量化矢量量化矢量量化举例12345678码本原始图分块,矢量量化图66666666666666666

77

6666666666

77

66666888887888888矢量量化的关键:设计一个良好的码本!

码字数量多,则误差小,压缩率也小

码字数量少,则误差大,压缩率也大矛盾3.2量化小结提高压缩率与减小误差是一对矛盾。

提高压缩率仅仅使用量化处理是远远不够的。量化处理常常是其他所有压缩方法的基础,它能有效的减少原始数据的信息量。3.3统计编码统计编码理论基础信息论中的几个概念信息量就是信息的不确定性的量度。一个消息出现的可能性越小,则其所含信息量越大,反之亦然。信息量大(↑)——小概率(↓)信息量小(↓)——大概率(↑)长码字(↑)——小概率(↓)短码字(↓)——大概率(↑)码长←→信息量3.3统计编码信息量的计算

其中:为信源X

发出的先验概率表示信源X发出后,接收端收到信息量的量度,或接收端收到该消息的不确定性。越大,信息量越小!先验概率

由于码长与信息量的对应关系,当信息量对数的底取2时,该式还可以用来表征编码xj所需要的位(bit)数,即:码长3.3统计编码信息论中的几个概念信息熵是指信源X发出任意一个随机变量的平均信息量。信息熵的计算数据压缩的理论极限是信息熵?3.3统计编码平均码长与信息熵的关系信息熵是平均码长的下限【证明】对于计算机编码而言,D=2,即:0,1【引理】(Kraft不等式):设一编码的码元为,对应于信源符号的码字长度分别为。如果该码是异前缀码,则必须有。反之当上式成立时,总可找到一相应的异前缀码。3.3统计编码平均码长与信息熵的关系信息熵是平均码长的下限【证明】对于计算机编码,取,证明证毕。3.3统计编码指导意义:评价编码方法的优劣和适用范围。平均码长与信息熵的关系若以表示编码器输出码字的平均码长,则:当有冗余,不是最佳;,不可能;为最佳编码。思考:第三种情况何时出现?3.3统计编码信息熵性质的进一步分析??等概率事件的信息熵最大,熵的范围为:【证明】3.3统计编码信息论中的几个概念熵编码:编码过程不丢失信息量的编码方法。熵编码方法是无失真数据压缩方法,即:这种编码结果经解码后,可无失真地恢复原始信号。Huffman编码和算术编码都是熵编码方法。3.3统计编码多媒体信息的数字化会带来——科研工作:海量交通信息的压缩信息爆炸3.3统计编码多媒体信息的数字化会带来——科研工作:海量交通信息的压缩信息爆炸中关村大街与知春路交叉口晚高峰(2009年4月30日)信号配时排队长度流量速度占有率等等交通信息3.3统计编码多媒体信息的数字化会带来——科研工作:海量交通信息的压缩北四环主路晚高峰(2009年4月30日)断面流量平均速度密度交通拥堵交通事故等交通信息信息爆炸信息爆炸3.3统计编码交通永不停息、交通信息时刻产生形成海量交通信息北京出租车GPS调度系统通过车载GPS获取车辆的位置和速度、运行方向等信息,并利用多辆车的信息估算路段和路网的交通状况。原理3.3统计编码通常每秒钟车载GPS设备回传一条文本数据。出租车调度中心每年需要保存的文本文件的数据量高达80T!目前,北京市安装GPS的出租车约有4万辆。3.3统计编码本节课程:海量文本数据的压缩方法重要任务之一——实现海量交通数据压缩

信息的海量特性给存储、管理、传输和信息处理等各个方面都带来了巨大的挑战。3.3统计编码你经常使用哪种软件进行文件压缩?

WinZipWinRAR统计编码(StatisticalCoding)这些软件采用什么技术进行压缩的?3.3统计编码什么是信源?统计编码是根据被编码对象的概率分布进行编码的方法统计编码:根据信源的统计特性进行编码的方法被编码对象。——源自《CNKI中国知网概念知识元库》统计特性(statisticalcharacteristic/statisticalproperty):即信源的概率分布,在一定长度范围内序列具有预先不可确定性和不可重复实现性,序列的码位越长,这种随机特性越明显。什么是统计特性?适用范围:主要是文本文件的编码压缩。3.3统计编码以一个简单文本文件为例,介绍统计编码原理和过程3.3统计编码文章来源:"ABPCAbasedmissingvalueestimationmethodfortrafficflowvolumedata",ProceedingsofIEEEIntelligentVehicleSymposium,Eindhoven,Holland,2008,pp.733-7383.3统计编码容易想到和实现的编码方法等长编码

“文本”这种多媒体形式,对基于编码的压缩方法有何要求?无损压缩高压缩比等长编码的缺点是什么?没有考虑信源的统计特性,压缩比低,浪费存储空间!每个信源符号编以等长的二进制码字!——向上取整;单位:比特3.3统计编码分析文本中字符出现概率的特点3.3统计编码这段文字中有37个字符出现,其中:出现次数最多的是“空格”,为178次出现次数最少的字符有5个,均只出现1次,分别为:z,M,U,R,K变长编码3.3统计编码最佳编码定理

在变长编码中,对于出现概率大的信源符号编以短码字,对于出现概率小的信源编以长码字。如果码字长度严格按照信源概率的大小的相反顺序排列,则平均码字长度一定小于按其他排列方式得到的码字长度。3.3统计编码最佳编码定理证明最佳排列方式的码字平均长度为,则有【证明】为信源符号出现的概率,为其编码长度设,,若将与的码字互换,则互换后的平均码字长度变为,即:设:证毕。3.3统计编码哈夫曼(Huffman)编码

DavidA.Huffman(美国,1925.8.9–1999.10.7)于1952年提出

报文中各字符出现的概率不同,a,i,e等大,z,q等小

目的:减少报文长度,节约传送时间。第一台电报机(莫尔斯:1837年发明)

用于电报报文编码麻省理工学院(MIT)ClaudeElwoodShannon(美国,1948年创立信息论)3.3统计编码

Huffman编码步骤计算信源符号概率将概率排序只剩下两个概率?最小的两个概率相加等到一个新的概率值以二进制码元赋值编码结束是否3.3统计编码举例输入信息符号X1X2X3X4X5X6X7输入概率0.350.200.150.100.100.060.04步骤10.350.200.150.100.100.10步骤20.350.200.200.150.10步骤30.350.250.200.20步骤40.400.350.25步骤50.600.403.3统计编码输入X1X2X3X4X5X6X7步骤10.35000.20100.150100.100110.101100.061110.04步骤30.35000.20010.20100.15110.10步骤40.3510.25000.20010.20步骤50.4000.3510.250.600.40码长2233344哈夫曼码001001001111011101111步骤20.35000.20100.15110.100100.100110.10Huffman编码结果不唯一3.3统计编码哈夫曼树01X7X5X60.200.100.060.040.10010101100100010011111111010信源X1X2X3X4X5X6X7概率0.350.200.150.100.100.060.0410.25X10.600.350.40X20.200.150.10X3X41110什么是树?二叉树无环、无回路的图一种拓扑结构3.3统计编码短码字不构成长码字的前缀(异前缀码);保证解码的唯一性。无损压缩高压缩比实现!实现!平均码长比较Huffman等长编码?平均码长小于等长编码码长。回顾前面异前缀码的性质3.3统计编码3.3统计编码出现概率最大的是空格最终的Huffman树出现概率最小的字符M:10000000000U:10000000001(11位)……Huffman编码:001空格Huffman编码有效节约存储资源,大大提高了压缩比!平均码长为4.34bit等长编码为:6bit(37个字符)3.3统计编码用VC++语言实现Huffman编码Huffman编码是一种无损压缩编码方法。3.3统计编码数据特点分析(2)强周期性、强相关性、强相似性。(1)信息海量,包含冗余信息海量文本数据压缩(工程问题)解决方案用主成分分析(PCA)方法提取主要信息——有损压缩对压缩后数据用统计编码(如:WinZip)压缩——无损压缩有损、无损结合工程应用:海量文本交通数据压缩3.3统计编码第一主成分贡献率就高达80.97%(只保留第一主成分就能保存约81%的信息量)。

在保证较高数据精度的同时,尽可能提高压缩比!主成分分析结果最终压缩结果保留93%信息量的同时,压缩比达到62:1。成果简介80T1.3T3.3统计编码海量数据压缩软件演示本软件已申请软件著作权保护3.3统计编码用MATLAB语言实现Huffman编码(DEMO)D:\Chapter3\huff_new_2.mDemo:huff('adfsdfedfasdfsegg')3.3统计编码用VC++语言实现Huffman编码(DEMO)D:\Chapter3\huffman.exe3.3统计编码哈夫曼(Huffman)编码Huffman编码特点码长是变化的,编码间无间隔,无损编码编码方式不唯一,需要规则(哈夫曼编码表)编码字长不统一,硬件实现有困难不同信源压缩比差别大,信源概率相差大时压缩比大哈夫曼编码表也需要保存和传送3.3统计编码哈夫曼(Huffman)编码Huffman编码优点

当信源符号概率是2的负幂次方时,Huffman编码法编码效率达到100%。一般情况下,它的编码效率要比其它编码方法的效率高,是最佳变长码。Huffman编码缺点依赖于信源的统计特性,必须先统计得到信源的概率特性才能编码,这就限制了实际的应用。通常可在经验基础上预先提供Huffman码表,此时性能有所下降。3.3统计编码算术编码(ArithmeticCoding)起源20世纪60年代初期,Elias提出了算术编码的概念;1976年,Rissanen和Pasco首次将其应用到实际。基本原理将编码的信息表示成实数0和1之间的间隔(Interval)信息越长,编码表示它的间隔越小,表示这一间隔所需的二进制位就越多。3.3统计编码算术编码(ArithmeticCoding)举例设英文元音字母采用固定模式符号概率分配如下表所示,用算术编码方法编码数据串“eai”

令high为编码间隔的高端,low为编码间隔的低端,range

为编码间隔的长度,rangelow为编码字符分配的间隔低端,rangehigh为编码字符分配的间隔高端字符aeiou概率0.20.30.10.20.2范围[0.0.2)[0.2,0.5)[0.5,0.6)[0.6,0.8)[0.8,1)

初始high=1,low=0,range=high-low,一个字符编码后,low和high按下式更新low’=low+range×rangelowhigh’=low+range×rangehigh3.3统计编码算术编码(ArithmeticCoding)Step1:

对第一个字符“e”进行编码,“e”的rangelow=0.2,

rangehigh=0.5

low’=0+(1-0)×0.2=0.2high’=0+(1-0)×0.5=0.5range’=high’-low’=0.3

此时,分配给“e”的范围为[0.2,0.5)Step2:

对第二个字符“a”进行编码时,使用新生成范围[0.2,0.5),“a”的rangelow=0,

rangehigh=0.2low’=0.2+(0.5-0.2)×0=0.2high’=0.2+(0.5-0.2)×0.2=0.26range’=high’-low’=0.06

此时,分配给“ea”的范围为[0.2,0.26)3.3统计编码算术编码(ArithmeticCoding)Step3:

对第一个字符“i”进行编码,“i”的rangelow=0.5,

rangehigh=0.6

low’=0.2+(0.26-0.2)×0.5=0.23high’=0.2+(0.26-0.2)×0.6=0.236最后输出[0.23,0.236)区间的任何一个数

作为该字符串“eai”的编码。输出0.232

解码步骤间隔译码符号译码判决1[0.2,0.5)e0.232在间隔[0.2,0.5)2[0.2,0.26)a0.232在间隔[0.2,0.5)的第2个1/103[0.23,0.236]i0.232在间隔[0.2,0.26)的第5个1/103.3统计编码算术编码(ArithmeticCoding)

特点

信源符号概率接近时,建议使用算术编码,这种情况下其效率高于Huffman编码;注意事项

对整个信息只产生一个码字,这个码字是在间隔[0,1)中的一个实数,因此,译码器在接受到表示这个实数的所有位之前不能进行译码;

算术编码也是一种对错误很敏感的编码方法,如果有一个错误发生就会导致整个消息译错。

3.3统计编码算术编码(ArithmeticCoding)

注意事项

必须假定编码器和译码器都知道消息的长度,否则译码过程会无限制地运行下去。实际上,在译码器中需要增加一个专门的

终止符,当译码器看到终止符时就停止译码。算术编码分为静态和自适应的两种。静态算术编码中,信源符号概率是固定的,这往往是很难的,或不切实际的。因此,我们要在编码时,估算信源概率。这个过程称为“建模”。动态建模是确定编码起压缩效率的关键所在。3.3统计编码用MATLAB语言实现算术编码(DEMO)D:\2005春季多媒体课程\2005春季多媒体课件\Chapter3\ssbm.m演示:ssbm('abcdacdedeabc')3.3统计编码ArithmeticcodingcanbeviewedasageneralizationofHuffmancoding.AlthougharithmeticcodingoffersbettercompressionperformancethanHuffmancoding,Huffmancodingisstillinwideusebecauseofitssimplicity,highspeed.Huffmancodingtodayisoftenusedasa“back-end”tosomeothercompressionmethod.DEFLATE(PKZIP‘salgorithm)andmultimediaCODECS(多媒体数字信号编解码器)suchasJPEGandMP3haveafront-endmodelandquantizationfollowedbyHuffmancoding.APPLICATIONS3.3统计编码游程编码(Runlengthcode)采样图片、视频流常有包含许多相同字节的信号序列利用最简单、最古老的压缩技术,检测重复的比特或字符序列,并用它们的出现次数取而代之。该方法有两大模式:消零(消空白)行程编码3.3统计编码游程编码消零(消空白)将数字中连续的“0”或文本中连续的空白用标识符(或特殊字符)后跟数字N(连续“0”的个数)来代替。如数字序列:742300000000000000000055编码为:7423Z18553.3统计编码游程编码行程编码任何重复的字符序列可被一个短格式取代。该算法适合于任何重复的字符。一组

n个连续的字符

c

将被

c

和一个特殊的字符取代。当然,若给定字符仅重复两次就不要用此方法。任何重复4次或4次以上的字符由“该字符+记号(M)+重复次数”代替。例如数字序列:Name:..........CR编码为:Name:

.M10CR3.3统计编码小结统计编码的理论基础——信息论信息量与信息熵的基本概念

Huffman编码编码原理,编码方法,Demo算术编码编码原理,编码方法,Demo游程编码消零、行程编码3.4预测编码预测编码(PredictiveCoding)基本原理是统计冗余数据压缩理论的重要分支理论基础是现代统计学和控制论其核心思想是:减少数据在时间和空间上的相关性,适用于时间序列数据预测编码是根据某一模型利用以往的样本值对于新样本值进行预测,然后将样本的实际值与预测值相减得到差值,对差值进行编码模型足够好样本序列相关性强误差信号幅度远小于原始信号较大的压缩比3.4预测编码预测编码基本原理——图像压缩

PCM编码在对图像编码时存在的问题

PCM是8位等长二进制编码,编码率高。例如:灰度图像8bit/pel;彩色图像24bit/pel

数据量过于庞大!

预测编码如何解决此问题?

当前像素的灰度或颜色信号,可用前面已经出现的像素的值进行预测,得到预测值。然后将实际值与预测值求差,对差值进行编码和传送。3.4预测编码DPCM基本原理采用DPCM对一幅二维静止图像进行编解码

由于图像像素之间的相关性,该误差很小设空间坐标(i,j)像素点的实际灰度为为预测值。则:预测误差:不是对灰度值直接编码,而是对差值进行量化、编码和发送,因此称为差分DPCM。3.4预测编码DPCM基本原理DPCM编解码原理图注意:如果发送端不带量化器,直接对预测误差进行编码传送,则这是可逆的无失真DPCM编码。然而量化导致了不可逆的信息损失,因此,输出端用f’(i,j)表示。是由已出现的先前相邻像素点的灰度值对该像素点的预测灰度值。坐标(i,j)像素点的实际灰度值3.4预测编码DPCM基本原理DPCM预测器量化器对图像质量影响斜率过载(灰度发生较大变化的物体边缘,预测误差超出量化编码的大小)

颗粒噪声(在灰度缓变区,量化器不能分辩误差,导致振荡3.4预测编码DPCM预测编码实例DPCM实例1一步延迟预报编码方式:采样数据x(n):0121123344..x(n)的一步延迟预报值x(n)0012112334d(n)=x(n)-x(n.

d(n)值的幅度变化变小,可用短码编码,从而减少了传输的数据量,达到了压缩的目的。3.4预测编码DPCM预测编码实例DPCM实例2图像预测编码一维预测二维预测三维预测xnx1x2x3x4x5xnx1x2x3x4x53.4预测编码最佳线性预测预测域预测域示意图其中:a1,a2,a3为预测系数,是待定参数,若预测参数是常数,则称之为线性预测。预测值的计算:预测误差的计算:3.4预测编码最佳线性预测三阶DPCM线性预测框图三阶DPCM线性预测框图

当a1,a2,a3满足预测误差最小,且保持固定不变时,称为最佳线性预测。3.4预测编码最佳线性预测求解最佳线性预测系数

应用均方误差最小准则:均方误差的表达式为分别对a1,a2,a3求偏导数,令其为0,求解方程,求得a1,a2,a3,即为最佳线性预测系数。3.4预测编码自适应预测编码ADPCMDPCM的缺点:预测系数和量化器参数设计好后,整幅图都用相同的值,致使噪声增加!ADPCM预测器的预测系数和量化器的量化参数,能够根据图像的局部区域分布特点而自动调整

ADPCM既能改善恢复图像的评测质量和视觉效果,同时还能进一步压缩数据。ADPCM包括自适应预测自适应量化3.4预测编码自适应预测编码ADPCM自适应预测

在DPCM三阶预测器预测值计算公式中增加可变参数“m”,则有

m的取值根据量化误差的大小自适应调整。设量化器最大输出为,最小输出为,对于某个预测误差的量化输出,我们有:m不变m自动增大m自动减小m自动增大(即此时误差过大,出现斜率过载现象),预测值变大,预测误差减小,斜率过载尽快收敛;m自动减小(即此时误差过小,出现颗粒噪声现象),预测值变小,预测误差加大,量化器不致正负跳变,减轻颗粒噪声3.4预测编码自适应预测编码ADPCM自适应量化

根据图像局部区域的特点,自适应地修改和调整量化器的参数,包括量化器输出的动态范围和量化器步长。f像素的相邻像素定义:视觉掩盖函数M

当四个差值e1,…,e4中有一个较大数值,那么对于“预测f时形成的量化误差”具有“掩盖效应”,即掩盖量化噪声,使人眼难以察觉。根据M的大小,改变量化器的步长,实现自适应量化。3.4预测编码帧间预测编码研究对象:序列图像(运动图像)技术基础:预测技术采用狭义帧间预测,设,预测误差为采用复合差值预测,预测误差为当后帧相对于前帧亮度变化相同时(即没有亮度变化),此时A可以用任意的帧内预测函数f(A,B,…)来代替,如

f(A,B,C)=A+B-C时间3.4预测编码帧间预测编码——条件补充法原理

若帧间各对应像素的亮度差超过阈值,则把这些像素存在缓冲存储器中,并以恒定传输速度传送;

阈值以下的像素则不传送,在接收端用上一帧相应像素值来代替。这样,一幅图像只需传送较少的像素,而且只传送帧间差值,可得到较好的压缩比。在可视电话中,需要传送的像素,只占全部像素的6%!3.4预测编码帧间预测编码——运动补偿(MotionCompensation)是MPEG中运用的主要技术对于运动部分只占整个画面很小部分的情况(电视会议或可视电话),压缩比很高。原理:跟踪画面内的运动情况,对其加以补偿之后再进行帧间预测。算法核心是:运动向量的计算。3.4预测编码帧间预测编码——运动补偿(MotionCompensation)块匹配位移估计算法计算:最小MSE(均方误差)或最小MAD(帧间绝对差)对应的i,j值就是水平和垂直偏移量。

当MSE或MAD达到最小时,即认为子块已经匹配。则当前帧M×N子块的任意位置(m,n)的像素值可以用K-Ns帧的位置的像素值来预测。一个宏块为16*163.5变换编码变换编码的基本原理

首先将图像信号映射变换到另一个正交矢量空间(变换域或频域),产生一批变换系数,进行编码处理。一个block为8*8的块,是基础块。举例:变换到频域空间只需保存振幅A和频率f两个值。变换编、解码过程示意图3.5变换编码变换编码的基本原理两个相邻数据样本x1,x2,每个样本采用3bit编码,共有64种可能性,可用二维平面坐标表示。对于慢变信号,两样本出现相近幅度等级的可能性较大。称阴影区边界为相关圈。信源的相关性愈强,相关圈愈加扁长。反之,相关性愈弱,相关圈愈加方圆。说明x1处于某幅度等级时,x2可能出现在任意不相同的幅度等级上。y1y23.5变换编码变换编码的基本原理相关圈恰好处于y1轴上下,且该圈愈扁长,其在y1上的投影就愈大,而在y2上的投影愈小。因此,从y1,y2坐标来看,任凭y1在较大范围内变化,而y2却变化很小或不动。这意味着变量y1和y2之间的统计上更加相互独立。y2y1结论:通过坐标系旋转变换,可以得到一组去除大部分甚至全部统计相关性的另一种输出样本。3.5变换编码离散K-L变换的变换核矩阵

离散K-L变换的变换核矩阵随原始输入的图像而改变。一般是针对不同批图像、不同类型图像或者是针对某幅特定图得到变换核矩阵。

假设对某幅N×N的图像f(x,y)(x,y=0,1,…,N-1)在通信干线上做M次传送,设接收端所接收的图像集合为{f1(x,y),f2(x,y),…,fM(x,y)}。K-L变换基于此图像集合确定变换核矩阵。最佳正交变换——K-L变换

离散K-L变换是以图像的统计特性为基础的一种正交变换,亦称为特征向量变换或主分量变换。3.5变换编码最佳正交变换——K-L变换离散K-L变换的变换核矩阵

将M个传送的图像集合写成M×N2维的向量。3.5变换编码最佳正交变换——K-L变换离散K-L变换的变换核矩阵

对于原始图像是单幅图的情况,可以切分成块,然后堆叠成向量。例如:一个256×256(216)的图像,可切分成1024(210)个(M=1024)1×64(n=64)向量。256642563.5变换编码最佳正交变换——K-L变换离散K-L变换的变换核矩阵X向量的协方差矩阵定义为其中:则:式中:平均向量是N2向量。协方差矩阵是N2×N2方阵。令和,是协方差矩阵的特征值和对应的特征向量。将特征值按减序排列,即有:3.5变换编码最佳正交变换——K-L变换离散K-L变换的变换核矩阵与每个特征值对应的特征向量为:以特征向量e作为K-L变换的基向量,令其作为K-L变换核矩阵的行,共N2个基向量,构成N2×N2方阵,称之为K-L变换核矩阵。3.5变换编码最佳正交变换——K-L变换离散K-L变换表达式K-L变换结果:式中:是中心化图像向量。Y的协方差矩阵为:式中可见:经K-L变换后,所得Y向量是一个平均向量为零的向量集,其坐标原点已移到中心位置。则:3.5变换编码最佳正交变换——K-L变换离散K-L变换表达式A矩阵由协方差矩阵特征向量的转置构成。即:且有:由于A矩阵是正交矩阵,所以有同时,矩阵与其特征值和特征向量符合则有:3.5变换编码最佳正交变换——K-L变换离散K-L变换表达式可见:Y向量的协方差矩阵CY是对角矩阵。CY对角线上的元素是Y向量方差,其值为CX矩阵的特征值,且按从大到小排列。非对角线元素是协方差,均为零。说明Y向量之间无相关性。而原始图像向量的协方差矩阵CX非对角线元素不为零,说明其相关性强,这就是采用K-L变换进行编码,压缩比大的原因。3.5变换编码最佳正交变换——K-L变换离散K-L变换表达式将K-L正交变换式等号两端左乘A-1,且有A-1=AT,则可推导离散K-L逆变换公式:使用上式可无误差重建原图向量X。如果我们只取前m个特征值所对应的特征向量,构成一个m×N2的变换矩阵Am,即:

Ym向量维数为m,且m<N2,作逆变换,得到原图向量的近似值3.5变换编码最佳正交变换——K-L变换均方误差与之间的均方误差:由于是按单调递减顺序排列,通常值很小,或近似为零,则与之间的均方误差达到最小。

K-L变换在最小均方误差的意义上讲,是最优的。3.5变换编码最佳正交变换——K-L变换

K-L变换的计算步骤回顾(1)计算期望向量mx,;(2)求(3)计算(4)求协方差矩阵的特征值及特征向量(5)求K-L变换核矩阵(6)计算K-L变换表达式(7)计算协方差矩阵(8)K-L逆变换检验。3.5变换编码离散余弦变换(DiscreteCosineTransform)余弦变换是傅立叶变换的一种特殊情况在傅立叶级数展开式中,如果被展开的函数是实偶函数,则其傅立叶级数中只包含余弦项,再将其离散化,即可导出离散余弦变换。离散余弦变换,在数字图像数据压缩编码技术中,压缩性能与误差和K-L变换相近,属于次最优方法。计算复杂度适中,计算迅速。广泛应用于JPEG、MPEG、H.261等压缩标准中。3.5变换编码离散余弦变换(DiscreteCosineTransform)一维离散余弦变换设一维离散函数f(x),x=0,1,…,N-1,把f(x)扩展成偶函数的方法有两种,以N=4为例,(a)称为偶对称,(b)称为奇对称,从而有偶离散余弦变换(EDCT)和奇离散余弦变换(ODCT)(b)(a)3.5变换编码离散余弦变换(DiscreteCosineTransform)一维离散余弦变换偶对称扩展,对称轴在x=-1/2处;采样点数增至2N。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论