多媒体技术基础及应用
Sponsored Links
This presentation is the property of its rightful owner.
1 / 69

多媒体技术基础及应用 PowerPoint PPT Presentation


  • 211 Views
  • Uploaded on
  • Presentation posted in: General

多媒体技术基础及应用. 北京广播电视大学 吕小星 副教授. 第 4 章 多媒体数据压缩编码技术. 4.1 多媒体 数据压缩编码的重要性和分类 4.2 量化 4.3 统计编码 4.4 预测编码 4.5 变换编码 4.6 多媒体数据压缩编码的国际标准. 第 4 章 多媒体数据压缩编码技术. 本章讲课思路 :. 静态图像压缩编码的国际标准 (JPEG). 预测编码. 统计编码. 变换编码. 数据压缩的基本概念. 第二部分 (一)统计编码. 4.3 统计编码. 本节的讲课思路:. 信息熵的概念 最大信息熵定理 数据压缩的理论极限

Download Presentation

多媒体技术基础及应用

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


多媒体技术基础及应用

北京广播电视大学 吕小星 副教授


第4章 多媒体数据压缩编码技术

4.1 多媒体数据压缩编码的重要性和分类

4.2 量化

4.3 统计编码

4.4 预测编码

4.5 变换编码

4.6 多媒体数据压缩编码的国际标准


第4章 多媒体数据压缩编码技术

本章讲课思路:

静态图像压缩编码的国际标准(JPEG)

预测编码

统计编码

变换编码

数据压缩的基本概念


第二部分(一)统计编码


4.3 统计编码

本节的讲课思路:

信息熵的概念

最大信息熵定理 数据压缩的理论极限

统计编码算法的设计 变字长定理

哈夫曼编码、算术编码


4.3.1 统计编码原理—信息量和信息熵

1.信息:是用不确定性的量度定义的。

2.信息量:从N个相等可能事件中选出

一个事件所需要的信息度量或含量。

3.熵:如果将信源所有可能事件信息量

进行平均就得到信息的熵(熵就是平

均信息量)。


信息

也就是说信息被假设为由一系列的随机变量所代表,它们往往用随机出现的符号来表示。


一般地说,信源发出的消息是一个随机过程,它是时间与空间的函数。

例如:

语音信号——时间函数X(t);

静止平面图像——空间函数X(x,y);

电视信号——时空(间)函数X(x,y,t);

电报信号——时间离散信号;

书信——空间上离散的符号序列——文字。


信息

要注意理解这个概念中的“不确定性”、“随机”性、“度量”性,也就是说当你收到一条消息(一定内容)之前,某一事件处于不确定的状态中,当你收到消息后,分解除不确定性,从而获得信息,因此去除不确定性的多少就成为信息的度量。


信息

一个消息的可能性愈小,其信息含量愈大;反之,消息的可能性愈大,其信息含量愈小。


4.3.1 统计编码原理—信息量和信息熵

1.信息:是用不确定性的量度定义的。

2.信息量:从N个相等可能事件中选出

一个事件所需要的信息度量或含量。

3.熵:如果将信源所有可能事件信息量

进行平均就得到信息的熵(熵就是平

均信息量)。


信息量

例如:从64个数(1-64的整数)中选定某一个数(采用折半查找算法),提问:“是否大于32?”,则不论回答是与否,都消去半数的可能事件,如此下去,只要问6次这类问题,就可以从64个数中选定一个数,则所需的信息量是 =6(bit)


信息量

设从N中选定任一个数X的概率为P(xi),假定任选一个数的概率都相等,

即 ,则信息量I(xi)可定义为:


信息量

设底取大于1的整数α,

当 ,相应的信息量单位为比特(bit);

当 ,相应的信息量单位为奈特(Nat);

当 ,相应的信息量单位为哈特(Hart);


4.3.1 统计编码原理—信息量和信息熵

1.信息:是用不确定性的量度定义的。

2.信息量:从N个相等可能事件中选出

一个事件所需要的信息度量或含量。

3.熵:如果将信源所有可能事件信息量

进行平均就得到信息的熵(熵就是平

均信息量)。


信息熵

在信息论中称为信源的“熵”(Entropy) ,它的含义是信源发出任意一个随机变量的平均信息量。


信息熵的概念

信息量:

信息熵:


信息熵的概念

  • 信源X中有16个随机事件,即n=16。每一个随机事件的概率分别为:

  • X1--X8=1/32 ; X9--X12=1/16;

  • X13--X16=1/8,

  • 请写出信息熵的计算公式并计算信源X的熵。


信息熵的概念


解释和理解信息熵有4种样式:

(1)当处于事件发生之前,是不确定性的度量;

(2)当处于事件发生之时,是一种惊奇性的度量;

(3)当处于事件发生之后,是获得信息的度量;

(4)还可以理解为是事件随机性的度量。


统计编码的理论基础

最大离散熵定理:所有概率分布P(Xi)所构成的熵,以等概率时为最大。


最大离散熵定理

以信源X中有8个随机事件,即n=8。

  • 每一个随机事件的概率都相等,信源X的熵为: 即

  • 当 时,信源X的熵


统计编码的理论基础

熵的范围:

只要信源不是等概率分布,就存在着数据压缩的可能性。这就是统计编码的理论基础。


熵编码

  • 如果要求在编码过程中不丢失信息量,即要求保存信息熵,这种信息保持编码又叫做熵保存编码,或者叫熵编码。

  • 特性:熵编码是无失真数据压缩,用这种编码结果经解码后可无失真地恢复出原图像。


统计编码的理论基础

熵的范围:

只要信源不是等概率分布,就存在着数据压缩的可能性。这就是统计编码的理论基础。


4.3.2 赫夫曼(Huffman)编码

Huffman编码方法于1952年问世, 是D.A.Huffman在他的论文“最小冗余度代码的构造方法(A Method for the Construnction of Minimum Redundancy Codes)”中提出来的。迄今为止, 仍经久不衰, 广泛应用于各种数据压缩技术中, 且仍不失为熵编码中的最佳编码方法。


1、变字长编码定理

在变字长编码中,对于出现概率大的信息符号,编以短字长的码,对于出现概率小的信息符号编以长字长的码,如果码字长度严格按照符号概率的大小的相反顺序排列,则平均码字长一定小于按任何其他符号顺序排列方式得到的码字长度。


英文字母出现的概率按大小排列

概率大

该英文字母编码的码长按大小排列

码长短


证明:

最佳的平均码字长度:

其中:P(ai)是信源符号ai出现的概率;ni是符号ai的编码长度。


根据编码方法定义规定:

P(ai)>=P(as) ni<ns

如果将ai 的码字与as的码字互换,则:


2、哈夫曼编码

Huffman 编码就是利用变字长最佳编码,实现信源符号按概率大小顺序排列。


信源符号按概率大小顺序排列

(1) 出现概率最小的两个符号概率相加合成一个概率。


(2) 将合成概率看成一个新组合符号概率,重复上述做法,直到最后只剩下两个符号概率为止。


(3) 反过来逐步向前编码,每一步有两个分支各赋予一个二进制码,可以对概率大的编码为1。


例如:

1

a1 0.20 01

a2 0.19 00

a3 0.18 111

a4 0.17 110

a5 0.15 101

a6 0.10 1001

a7 0.01 1000

0.39

0

0

1

1

0

0.35

0.61

1

1

1

0.26

0

0

0

0.11


a1 0.20

a2 0.19

a3 0.18

a4 0.17

a5 0.15

a6 0.10

a7 0.01

0.39

0.35

0.61

0.26

0.11


a1 0.20

a2 0.19

a3 0.18

a4 0.17

a5 0.15

a6 0.10

a7 0.01

1

0.39

0

0

1

1

0.35

0

0.61

1

1

0.26

1

0

0

0

0.11


a1 0.20

a2 0.19

a3 0.18

a4 0.17

a5 0.15

a6 0.10

a7 0.01

1

01

0.39

0

0

1

1

0.35

0

0.61

1

1

0.26

1

0

0

0

0.11


a1 0.20

a2 0.19

a3 0.18

a4 0.17

a5 0.15

a6 0.10

a7 0.01

1

01

0.39

0

00

0

1

1

0.35

0

0.61

1

1

0.26

1

0

0

0

0.11


a1 0.20

a2 0.19

a3 0.18

a4 0.17

a5 0.15

a6 0.10

a7 0.01

1

01

0.39

0

00

0

111

1

1

0.35

0

0.61

1

1

0.26

1

0

0

0

0.11


a1 0.20

a2 0.19

a3 0.18

a4 0.17

a5 0.15

a6 0.10

a7 0.01

1

01

0.39

0

00

0

111

1

1

0.35

110

0

0.61

1

1

0.26

1

0

0

0

0.11


a1 0.20

a2 0.19

a3 0.18

a4 0.17

a5 0.15

a6 0.10

a7 0.01

1

01

0.39

0

00

0

111

1

1

0.35

110

0

0.61

1

101

1

0.26

1

0

0

0

0.11


a1 0.20

a2 0.19

a3 0.18

a4 0.17

a5 0.15

a6 0.10

a7 0.01

1

01

0.39

0

00

0

111

1

1

0.35

110

0

0.61

1

101

1

0.26

1

1001

0

0

0

0.11


a1 0.20

a2 0.19

a3 0.18

a4 0.17

a5 0.15

a6 0.10

a7 0.01

1

01

0.39

0

00

0

111

1

1

0.35

110

0

0.61

1

101

1

0.26

1

1001

0

0

1000

0.11

0


需要讨论的问题:

(1)霍夫曼编码方法构造程序是一致的,但构造出来的码显然是不唯一的。

(2)霍夫曼编码的码字字长参差不齐,硬件实现不易,译码电路复杂。

(3)需要知道信源符号的概率分布。在信源概率分布不均匀时,霍夫曼编码效率高。

(4)霍夫曼编码表缺省


解决的办法是双字长编码。

双字长是只采用两种字长(短码字和长码字)的码字。出现概率值高的符号用短码字,出现概率值低的符号用长码字,短码字中的一个码不用,用来做长码字的前缀。例如:短码字长为2位(00 01 10 11)其中的“11”可以不用来做短码字,而是用来做长码字的前缀 。


信源为x1 x2 x3 x4 x5 x6 x7七个符号,编码如下:

x1 x2 x3 x4 x5 x6 x7

00 10 01 1100 1101 1110 1111

这种方法称为2/4编码法,最多只对应7个符号。还有3/6编码法,最多只对应15个符号;4/8编码法,最多只对应31个符号


多媒体技术基础及应用

吕小星 副教授

北京广播电视大学理工教学部

E-Mail: [email protected]

Tel: 62123648

2007.9


4.3.3 算术编码

原理:

算术编码方法是将被编码的信息表示成实数0和1之间的一个间隔。信息越长编码表示它的间隙就越小,表示这一间隙所须二进位就越多,大概率符号出现的概率越大对应于区间愈宽,可用长度较短的码字表示;小概率符号出现概率越小层间愈窄,需要较长码字表示。


初始化子区间为[0,1]

MPS为大概率符号, LPS为小概率符号

设 大概率:Pe 小概率: Qe

设置两个专用寄存器(C,A)

C 寄存器的值为子区域的起始位置

A 寄存器的值为子区域的宽度

Qe

Pe


Qe

Pe

1

0

算术编码实现步骤

第一步:跟据概率Qe和Pe值,将半开区间[0, 1]分割成两个子区间。如图


第二步:当编码输入符号流中,

  • 第一个来的是“LPS”其输出码字应落在0--Qe子区间内;

  • 第一个符号来的是“MPS”,其输出码字应落在Qe--1子区间内

Qe

Pe

0

1


第三步:当第二符号来临后,这时相当于对两个符号编码。

  • 对第一次分割结果的两个子区间,依Qe和Pe概率进行再分割,得到四个子区间。

  • 第一个子区间是0-QeQe,

  • 第二个子区间是QeQe-Qe,

  • 第三个子区间是Qe-Qe+QePe,

  • 第四个子区间是(Qe+QePe)-1。

Qe

Qe+QePe

0

1

QeQe


第四步:第三个符号来临后,要区别以下情况,

当第二个符号为“LPS”第三个符号也是“LPS”,则对0-QeQe段依概率Qe、Pe分割,

当第二个符号为“LPS”第三个符号为“MPS ”,则对QeQe-Qe段分割;

当第二个符号为“MPS”第三个符号为“LPS”,则对Qe-(Qe+QePe)段分割,

当第二个符号为“MPS”第三个符号为“MPS”,则对(Qe+QePe)-1最后一段分割。


  • 第五步:以此类推,直到一组符号结束为止。

  • 第六步:在最后分割得到的区间内,找一个最小的二进制小数,小数点后的二进制码字就是所得到的算术编码。


初始化时:C=0 A=1

当小概率符号LPS到来时:

C=C

A=AQe

当大概率符号MPS到来时:

C=C+AQe

A=APe=A(1-Qe)


例题:已知信源符号为1011,对其进行算术编码。

解:

符号“0”为小概率符号,其概率Qe=1/4

符号“1”为大概率符号,其概率Pe=3/4


A=1

Qe=1/4

Pe=3/4

初始化:

C=0, A=1 Qe=1/4 Pe=3/4

“1”, C=C+A×Qe=0+1×1/4=1/4

A=A×Pe=1×3/4=3/4

C=0


“10”,

C=C=1/4

A=A Qe=3/4×1/4=3/16”

A=3/4

Qe=1/4

C

Pe=3/4

“10”


101

“101”, C=C+A×Qe=1/4+3/16×1/4=19/64

A=A×Pe=3/16×3/4=9/64”


A=9/64

1011

Qe=1/4

C=19/64

“1011”, C=C+A×Qe=19/64+9/64×1/4=85/256

A=A×Pe=9/64×3/4=27/256


C = 85/256 =(0.01010101)b

A = 27/256 = (0.00011011)b

子区间的尾 =C+A = (0.0111)b

在子区间中取一个最小的数为:(0.011)b

取小数点后面的数为:“011”,“011”就是所得的算术编码。


例: 对11011111进行算术编码

0 为LPS Qe= 1/8 =(0.001)b

1 为MPS Pe= 7/8 =(0.111)b

初始状态:

C=0 子区间起始位置

A=1 子区域宽度


头 0.010001111110111100000001

间隔 0.000011001001000010111111

尾 0.010101000111111111000000

+

头 <0.0101<尾

传送码字为 0101

解码:

按 Qe Pe分成两个子区间,判断被解码的码字落在哪个区间,并赋予对应符号:


算术解码实现步骤

设 c’是被解码的值

当c’落在0-QeA之间,解码符号为 D=0;

C’=C’

A=QeA ;

当c’落在Qe A -A之间,解码符号为D=1;

C’=C’-QeA;

A=A(1-Qe)


设 c’=(0.0101)b 是被解码的值

初始值 A=1 Qe=0.001

1)C’=0.0101 落在QeA-A之间,解码符号为D=1

C’=C’-QeA=0.0101-0.001=0.0011

A=A(1-Qe)=0.111

2)C’= 0.0011 落在QeA-A之间,解码符号为D=1

C’=C’-QeA= 0.0011 -0.000111=0.000101

A=A(1-Qe)=0.1110.111=0.110001


算术解码原理图


算术编码的特点:

(1)不需要码表;

(2)当信源概率比较接近时,建议使用算术编码。

(3)JPEG成员对多幅图进行算术编码效率可以提高5%。JPEG扩展系统用算术编码代替Huffman。


  • Login