Transcript Document

多媒体数据压缩与编码
2005年fall
1 概述




多媒体计算机要处理的信息主要有文字、声音、图
形(矢量图、动画)、图像(位图形式的静态图像、
动态图像,包括视频)等,需要处理的图形与图像
信息约占总信息量的85%
连续媒介(音频、视频)需要处理和传送的数据量
大的惊人
多媒体系统必须采用压缩过的音频和视频数据流
压缩的目的是减小存储容量和降低数据传输率,使
得现有的PC机和通信网络的指标与性能方面达到要
求。
数据存储和带宽需求举例






文本
矢量图像
位图
语音
声音
视频
多媒体信息的数据量
● 文本
若1024×768显示分辨率、16×16点阵文字、4 Byte/字,则一屏
汉字的总数据量为:
(1024/16)×(768/16)×4 = 12288 Byte (12KB)
● 图像
若采用1024×768显示分辨率,1Byte/象素,则满屏图像的总
数据量为:
1024×768×1 = 786432 Byte (768 KB)
● 音频
若采样频率为44100Hz,16bit (2Byte),立体声 (2声道),
则1分钟的总数据量为:
44100×2 Byte×2 (STEREO) ×60s = 10336 KB (10MB)
彩色视频信息
对于电视画面的分辨率640*480的彩色图像,每秒30帧,则一秒钟
的数据量为:
640*480*24*30 = 221.12Mbits
所以播放时,需要221Mbps的通信线路。
参考数据:宽带网为512K,电话线为56K。
存储时,1张CD可存640MB,则仅可以存放23秒的数据。
传真数据
如果只传送2值图像,以200dpi的分辨率传输,一张A4
(210mm*297mm=8.27inch*11.7inch)稿纸的内容的数据量为:
1654*2337*1=3865398bits
按目前14.4Kbs的电话线传输速率,需要传送的时间是:270秒(4.5
分),按每分钟4元计算:18元
正在使用的重要的压缩技术



JPEG
H.263
MPEG
信息的度量




在讨论数据压缩的时候,需要涉及现代科学领域的一个重要
分支-信息论。
信息论有关信息熵的概念对数据压缩有着重要的指导意义,
一方面给出了数据压缩的理论极限,另一方面又指明了数据
压缩的技术途径。
现代信息论的创始人香农(C.E Shannon)在他发表的著名论
文《通信的数学理论》中,从研究通信系统传输的实质出发,
对信息作了科学的定义,并进行了定性和定量的描述。
香农认为:信息是有秩序的量度,是人们对事物了解的不确
定性的消除或减少。信息是对组织程度的一种测度,信息能
使物质系统有序性增强,减少破坏、混乱和噪音。




香农提出信息的传播过程是“信源”(信息的发送者)把要
提供的信息经过“信道”传递给“信宿”(信息的接收者)、
信宿解释信息符号的过程,并由此建立了通信系统模型。
我们从一则消息中获得信息,那么获得的信息有多少呢?量
度信息多少的测度就是信息量。信息的度量反映了人们对于
信息的定量认识。
根据香农的有关信息的定义,信息量与不确定性消除程度有
关。消除多少不确定性,就获得多少信息量。
在数学上,不确定就是随机性。不确定性的大小可以直观地
看成是事先猜测某随机事件是否发生的难易程度。
按照香农的定义,信息量的度量公式可描述为:
I  log
后验概率
先验概率
它实际上就是后验概率和先验概率之比。在信道无干扰情
况下,由信源传来的消息告诉信宿某事件已经发生,则某
事件必然发生了。按照概率的定义,对于确定发生的必然
事件,其概率为1。这时后验概率为1。假设Pi是第i个消
息出现的先验概率,则第i个消息的信息量为:
1
I i  log   log Pi
Pi

一个消息可能有n个状态,那么这个消息的总信息
量的期望值(即平均信息量)为:
n
H   Pi log Pi
i 1


借用热力学的名词,我们把H叫做熵。它代表接收
一个符号所获得的平均信息量。熵是在平均意义
上表征信源总体特性的一个物理量。
对数的底数从理论上而言可以取任何数。当底数
为2时,信息的计量单位为比特(bit),即二进
制单位。
以上就是香农关于信息的度量。通常也称为概率
信息。它是一个科学的定义,有明确的数学模型
和定量计算。
香农公式与日常用语中的信息的含义是一致的。
例如,设某一事件是在预料中一定会发生的必然
事件,如果该事件果然发生了,收信者将不会得
到任何信息。这时Pi=1,所以:
1
I i  log   log1  0
Pi
反之,如果某一事件发生的概率很小,即猜测它
是否发生的不确定性很大,一旦这个事件发生了,
收信者就会觉得很意外的惊讶,感到获得信息量
很大。因为Pi<<1(表示概率远小于1),故得:
I i  log
1
 1
Pi

Maximum entropy
- 只有当事件发生与不发生的概率相同时,其信息
量才达到最大(为什么?)

香农的信息度量公式排除了信息主观上的含意。
根据上述公式,同样一个消息对任何一个收信
者来说,所得到的信息量都是一样的。
信息为什么能压缩
压缩编码的理论基础是信息论。从信息论的角
度来看,压缩就是去掉信息中的冗余,即保留
不确定的信息,去除确定的信息(可推知的),
也就是用一种更接近信息本质的描述来代替原
有冗余的描述。
 将香农的信息论观点运用到图像信息的压缩,
就是如何将图像信息压缩到最小,但仍携有足
够信息以保证能复制出与原图近似的图像。




图像信息之所以能进行压缩是因为信息本身通常存在很大的
冗余量,以视频连续画面为例,它的每一帧画面是由若干个
像素组成的,因为动态图像通常反映的是一个连续的过程,
它的相邻的帧之间存在着很大的相关性,从一幅画面到下一
幅画面,背景与前景就可以没有太多的变化。也就是说,连
续多帧画面在很大程度上是相似的,这些相似的信息(或称作
冗余信息)为数据的压缩提供了基础。
人的视觉和听觉具有对某些信号(如颜色,声音)不那么敏感
的生理特性,至使信息被压缩之后不会感觉到,也不至对压
缩后的信息产生误解。
因此,可以在允许保真度的条件下压缩待存储的图像数据,
以大大节省存储空间,在图像传输时也大大减少信道的容量。
CPU性能不断提高,也为数据压缩提供了有利条件。
数据压缩条件
● 数据存在冗余 (重复数据、可忽略数据)
重复数据
可忽略数据
● 不敏感因素 (颜色、亮度、频率、细节)
224 颜色 (16,777,216色)
28 颜色 (256色)
■ 45.1kHz / Stereo 1.3MB
■ 22.0kHz / Nomo 0.3MB
■ Stop
数据冗余
● 冗余基本概念
● 冗余 —— 信息所具有的各种性质中多余的无用空间
● 冗余度 —— 多余的无用空间的程度
● 信息量与冗余的关系
I = D - du
I — 信息量 D — 数据量 du — 冗余量,包含在D中
● 冗余举例
播音员—— 180字/分钟,2Byte一个字,360Byte (合0.35KB/分钟)
音频数据——8kHz采样×8bit×60秒 = 3840KBit (合480KB/分钟)
数据冗余的例子
你的妻子,Helen,将于明天晚上6点零5分在上海的虹桥
机场接你。
(23*2+10=56个半角字符)
你的妻子将于明天晚上 6点零5分在虹桥机场接你。
(20*2+3=43个半角字符)
Helen将于明晚6点在虹桥接你。
(10*2+7=27个半角字符)
结论:只要接收端不会产生误解,就可以减
少承载信息的数据量。
图像中的数据冗余的例子


描述语言
1)“这是一幅 2*2的
图像,图像的第一个像
素是红的,第二个像素
是红的,第三个像素是
红的,第四个像素是红
的”。
由此我们知道,整理图
像的描述方法可以达到
压缩的目的。
2)“这是一幅2*2的图
像,整幅图都是红色的”。
● 冗余分类
[1] 空间冗余—— 规则物体的物理相关性
[2] 时间冗余—— 视频与动画画面间的相关性
224色
声音频率
[3] 统计冗余—— 具有空间冗余和时间冗余
1011 0001 1100
文字组句
[4] 结构冗余—— 规则纹理、相互重叠的结构表面
[5] 信息熵冗余—— 编码冗余,数据与携带的信息
色彩渐变
1011 0001 1100
28色
0101 1010 1010
主观意识
[6] 视觉冗余—— 视觉、听觉敏感度和非线性感觉
[7] 知识冗余—— 凭借经验识别
[8] 其他冗余—— 上述7种以外的冗余
:
1011 1100
:
0101 1111 1010
时间冗余

不变化的只传送一次,传送一个运动矢量
有损压缩与无损压缩



多媒体数据压缩可分为有损压缩和无损压缩两类。
无损压缩算法是为保留原始多媒体对象(包括图像、语音和
视频)而设计的。在无损压缩中,数据在压缩或解压缩过程
中不会改变或损失,解压缩产生的数据是对原始对象的完整
复制。但是当图像的冗余度很少(即同类像素重复性很小)
时,用无损压缩技术不能得到可接受的结果。
有损压缩会造成一些信息的损失,关键问题是看这种损失对
图像质量带来的影响。只要这种损失被限制在允许的范围内,
有损压缩就是可接受的。
有损压缩技术主要的应用领域是在影像节目、可视电话会议
和多媒体网络这样由音频、图像和视频组成的多媒体应用中,
并且得到了广泛的应用。
对称压缩和不对称压缩



压缩技术的基本方式有两种:即对称压缩和不对称压缩。
在对称压缩中,压缩的算法和解压缩的算法是一样的,是一
种可逆操作。对称压缩的优点在于双方都以同一种速度进行
操作,例如在视频会议这种实时传递的系统便采用对称压缩
技术。发送方将实况视频信号用某种算法加以压缩,然后通
过通信介质进行传输。接收端收到信号后,再使用同样的算
法按逆运算进行解压缩,使图像解码后重现出来。
不对称压缩是指压缩和解压缩的运算速率是互不相同的。例
如VCD的制作与播放便是典型的不对称压缩的例子。在制作
VCD时,将一部电影压缩到VCD盘片上可能需要花费十几个小
时或更多的时间,而在播放VCD时,为保证视频的流畅,其解
压缩的速度却很快。
影响数据压缩的几个要素

一个好的压缩方法对多媒体信息的存储和传输是至关重要的,
影响压缩性能的主要指标有:
 压缩比
对压缩前后的文件大小和数据量进行比较,作为压缩率的
衡量指标。人们普遍希望压缩的倍数越高越好,压缩的速
度越快越好,并且希望压缩所耗费的资源、时间对用户来
讲是透明的。但同时人们又希望确保数据压缩的精度,即
压缩完了以后,解压缩的数据和原来的数据最好没有什么
差别,没有什么数据损失。然而追求压缩比率和追求精度
往往是矛盾的,因此就需要在这两者之间权衡取舍。

图像质量
虽然有损压缩可获得较大的压缩比,但压缩比过高,还原
后的图像质量就可能降低。图像质量的评估法常采用客观
评估和主观评估两种方法。
客观评估是通过一种具体的算法来统计多媒体数据压缩结
果的损失。例如采用纯误差测度,即原始图像与恢复图像
之间的简单数学统计差别。尽管这种方法将误差量化表达,
但并不能反映观察者对误差的视觉感知。
主观评估基于人的视觉感知,因为观察者作为最终视觉信
宿,他们能对恢复图像的质量作出直观的判断。一种方法
是进行主观测试,让观察者通过观测一系列恢复图像,并
与原图像进行比较,再根据损伤的可见程度进行评级,以
判断哪种压缩方法的失真少。
传统的客观评价方法由于只对恢复图像和原始图像的纯误差数
学统计,难以反映图像的视觉差别。如果能在客观评估中引入
简单的视觉模型,或者误差的结构特性,便能导致与主观测试
更符合的结果。
主观评估的好处就是使人一目了然,但是主观评判的结果往往
和客观评判并不是一一对应的,有的结果相差很大。然而这种
方法容易受观察者背景知识、观测动机、观测环境等等其他因
素的限制和影响。
所以,在图像处理技术和压缩编码技术飞速发展的今天,能够
准确地对图像质量进行主观评估的客观评估(即数学算法)是
亟待解决的难题。

用信息熵H来评价压缩编码
- 用熵衡量压缩方法的效果
如果信号序列经压缩后,熵H不变,则表明信息量没有下降,
这种压缩方法是无损的编码方法,所以无损编码又称为熵
(不变)编码。
- 用熵衡量压缩是否为最佳码
如以N表示编码器输出码字的平均码长, 则当:
N>>H(X)时,有冗余,不是最佳,有进一步压缩的潜力;
而N<H(X)不可能;
当N稍大于H(X)最佳码。熵值是平均码长N的下限。

压缩与解压缩的速度
压缩和解压缩的速度是压缩系统的两项单独的性能度量。
在有些应用中,压缩和解压缩都需要实时进行,如电视会
议的图像传输。在有些应用中,压缩可以用非实时压缩,
而只要解压缩是实时的,如多媒体CD-ROM的节目制作。从
目前开发的压缩技术来看,一般压缩的计算量比解压缩要
大。
压缩的速度不仅与采用的压缩方法有关,而且与快速算法
的计算量有关,如果在算法上有较大的突破,无疑将对多
媒体的开发与应用产生很大的影响。

执行的硬件与软件
采用什么样的硬件与软件去执行压缩/解压缩,与采用压
缩方案和算法的复杂程度有着密切的关系。设计精巧的简
单算法可以在简单的硬件上执行,且执行速度很快。而设
计复杂的算法需要在功能强大的硬件和软件的支持下才能
运行。但仅靠算法来提高压缩/解压缩的速度还是有限的。
在大多数情况下,不得不依靠硬件本身提供的功能去完成,
例如采用专用多媒体处理芯片。因此在压缩/解压缩系统
中,速度和硬件之间的选择就显得十分重要。
“dialogue” mode applications



videoconferencing or picture transmission
The end-to-end delay for a technique used in
a dialogue system should not exceed 150ms
for compression and decompression alone.
To support an easy, natural dialogue, ideally
compression or decompression by itself
should introduce an additional delay of no
more than 50ms.
“retrieval” mode applications





audiovisual information systems, where a human user
retrieves information from a multimedia database
Fast forward and fast rewind with simultaneous display (or
playback) of the data should be possible, so that individual
passages can be sought and found quicker.
Random access to single images or audio passages in a
data stream should be possible in less than half a second.
Decompression of images, video, or audio passages should
be possible without
interpreting all preceding data. This allows random access
and editing.
Common requirements



To support display of the same data in different
systems, it is necessary to define a format that is
independent of frame size and video frame rate.
Audio and video compression should support
different data rates (at different quality) so that the
data rate can be adjusted to specific system
conditions.
It should be possible to precisely synchronize
audio and video. It should also be possible for a
system program to synchronize with other media.
Common requirements


It should be possible to implement an economical
solution today either in software or using at most
a few VLSI chips.
The technique should enable cooperation among
different systems. It should be possible for data
generated on a local multimedia system to be
reproduced on other systems. The compression
techniques must be compatible. This can be
assured with de jure (e.g. ITU, ISO, or ECMA)
and/or de facto standards.
Source, Entropy, and Hybrid Coding
Entropy Coding



Entropy coding can be used for different media
regardless of the medium’s specific characteristics.
The data to be compressed are viewed as a
sequence of digital data values, and their semantics
are ignored.
It is lossless because the data prior to encoding is
identical to the data after decoding; no information
is lost.
Thus run-length encoding, for example, can be
used for compression of any type of data in a file
system, for example, text, still images for facsimile,
or as part of motion picture or audio coding.
Source Coding




Source coding takes into account the
semantics of the information to be encoded
The degree of compression attainable with
this often lossy technique depends on the
medium.
transforming the signal into another domain
content prediction technique
Major Steps of Data Compression




The preparation step
The processing step
Quantization
Entropy coding
A General Data Compression Scheme
2 基本的压缩技术






游程编码
零抑制
矢量量化
模式置换
二元编码
统计编码








哈夫曼编码
算术编码
变换编码
子带编码
预测或者相对编码
增量调制
自适应压缩技术
其他基本技术
游程编码Run-Length Coding



现实中有许多这样的图像,在一幅图像中具有许多颜色相同
的图块。在这些图块中,许多行上都具有相同的颜色,或者
在一行上有许多连续的像素都具有相同的颜色值。在这种情
况下就不需要存储每一个像素的颜色值,而仅仅存储一个像
素的颜色值,以及具有相同颜色的像素数目即可,或者存储
一个像素的颜色值,以及具有相同颜色值的行数。这种压缩
编码称为行程长度编码(RLE),具有相同颜色并且是连续的像
素数目称为行程长度。
译码时按照与编码时采用的相同规则进行,还原后得到的数
据与压缩前的数据完全相同,由此可见,RLE是一种无损压缩
技术。
RLE的压缩比主要取决于图像本身的特点。如果图像中具有相
同颜色的图像块越大,图像块数目越少,则获得的压缩比就
越高。反之,压缩比就越小。



RLE编码方法特别适用于由计算机生成的图像,对于
减少图像文件的存储空间非常有效。许多图形文件
和视频文件,如.BMP,.TIF等都使用了这种压缩。
RLE对颜色丰富的自然图像就显得力不从心。因为在
彩色图像中,同一行上具有相同颜色的连续像素往
往很少,而连续几行都具有相同颜色值的情况就更
少。如果用RLE编码方法,不仅不能压缩图像,反而
可以使原来的图像数据变得更大。
但这并不是说RLE编码方案不能用于自然图像的压缩,
而是不能单纯使用RLE一种编码方法,需要和其他的
压缩编码技术联合使用。



A special marker M is needed in the data that
does not occur as part of the data stream
itself.
The M-byte can thus be used to mark the
beginning of a run-length coding.
Uncompressed data: ABCCCCCCCCDEFGGG
Run-length coded: ABC!4DEFGGG
Zero Suppression



Run-length coding is a generalization of zero
suppression, which assumes that just one symbol
appears particularly often in sequences.
Starting with sequences of three bytes, they are
replaced by an M-byte and a byte specifying the
number of blanks in the sequence.
Further variations are tabulators used to replace a
specific number of null bytes and the definition of
different M-bytes to specify different numbers of
null bytes.
Vector Quantization






In the case of vector quantization, a data stream is divided
into blocks of n bytes each (n>1).
A predefined table contains a set of patterns.
Each pattern in the table is associated with an index.
For each block, the table is consulted to find the most
similar pattern (according to a fixed criterion). Thus, each
block can be assigned an index.
Such a table can also be multidimensional, in which case the
index will be a vector.
The corresponding decoder has the same table and uses the
vector to generate an approximation of the original data
stream.



矢量量化编码利用相邻图像数据间的高度相关性,
将输入图像数据序列分组,每一组m个数据构成一
个m维矢量,一起进行编码,即一次量化多个点。
根据香农率失真理论,对于无记忆信源,矢量量化
编码总是优于标量量化编码。
编码前,先通过大量样本的训练或学习或自组织特
征映射神经网络方法,得到一系列的标准图像模式,
每一个图像模式就称为码字或码矢,这些码字或码
矢合在一起称为码书,码书实际上就是数据库。



输入图像块按照一定的方式形成一个输入矢量。编
码时用这个输入矢量与码书中的所有码字计算距离,
找到距离最近的码字,即找到最佳匹配图像块。输
出其索引(地址)作为编码结果。
解码过程与之相反,根据编码结果中的索引从码书
中找到索引对应的码字(该码书必须与编码时使用
的码书一致),构成解码结果。
由此可知,矢量量化编码是有损编码。
Pattern Substitution




A technique that can be used for text compression
substitutes single bytes for patterns that occur frequently.
This pattern substitution can be used to code, for example,
the terminal symbols of high-level languages (begin, end, if).
By using an M-byte, a larger number of words can be
encoded–the M-byte indicates that the next byte is an index
representing one of 256 words.
The same technique can be applied to still images, video,
and audio. In these media, it is not easy to identify small
sets of frequently occurring patterns. It is thus better to
perform an approximation that looks for the most similar
(instead of the same) pattern. This is the above described
vector quantization.
Diatomic Encoding




Diatomic encoding is a variation based on
combinations of two data bytes.
This technique determines the most frequently
occurring pairs of bytes.
Studies have shown that the eight most frequently
occurring pairs in the English language are “E,” “T,”
“TH,” “A,” “S,” “RE,” “IN,” and “HE.”
Replacing these pairs by special single bytes that
otherwise do not occur in the text leads to a data
reduction of more than 10%.
Statistical Coding




There is no fundamental reason that different characters
need to be coded with a fixed number of bits.
Morse code is based on this: frequently occurring characters
are coded with short strings, while seldom-occurring
characters are coded with longer strings.
Such statistical coding depends how frequently individual
characters or sequences of data bytes occur.
There are different techniques based on such statistical
criteria, the most prominent of which are Huffman coding
and arithmetic coding.

统计编码就是根据消息出现概率的分布特性而进
行的压缩编码。这种编码的宗旨在于,在消息和
码字之间找到明确的一一对应关系,以便在恢复
时能够准确无误地再现出来,或者至少是极相似
地找到相当的对应关系,并把这种失真或不对应
概率限制到可容忍的范围内。但不管什么途径,
它们总是要使平均码长或码率压低到最低限度。
统计编码主要针对无记忆信源(是指信源在不同时刻发出
的符号之间是无依赖的,彼此统计独立的),根据信息码
字出现概率的分布特征而进行压缩编码,寻找概率与码字
长度间的最优匹配。统计编码又可分为定长码和变长码。
给单个符号或者定长符号组赋相同长度的码字,这就是所
谓的定长编码。如果根据符号出现概率的不同赋予长短不
一的码字,这是变长编码(VLC)方案。
常用的统计编码有huffman编码、算术编码和行程编码三
种。

统计编码模型
要压缩一条信息,首先要分析清楚信息中每个符号出现的
概率。不同的压缩程序通过不同的方法确定符号的出现概
率,对符号的概率计算得越准确,也就越容易得到好的压
缩效果。在压缩程序中,用来处理输入信息,计算符号的
概率并决定输出哪个或哪些代码的模块叫做模型。
我们可以预先扫描文件中的所有字符,统计出每个字符出
现的概率,这种方法在压缩术语里叫做“静态统计模型”。
但是,不同的文件中,字符有不同的分布概率,我们要么
先花上大量的时间统计我们要压缩的所有文件中的字符概
率,要么为每一个单独的文件保存一份概率表以备解压缩
时需要。糟糕的是,不但扫描文件要消耗大量时间,而且
保存一份概率表也使压缩后的文件增大了不少。所以,在
实际应用中,“静态统计模型”应用的很少。
真正的压缩程序中使用的大多是一种叫“自适应模型”的
东西。自适应模型可以说是一台具有学习功能的自动机。
它在信息被输入之前对信息内容一无所知并假定每个字符
的出现概率均等,随着字符不断被输入和编码,他统计并
记录已经出现过的字符的概率并将这些概率应用于对后续
字符的编码。也就是说,自适应模型在压缩开始时压缩效
果并不理想,但随着压缩的进行,会越来越接近字符概率
的准确值,并达到理想的压缩效果。自适应模型还可以适
应输入信息中字符分布的突然变化,可以适应不同的文件
中的字符分布而不需要保存概率表。
Huffman 编码、算术编码可以采用自适应模型,根据已经
编码的符号频率决定下一个符号的编码。这时,我们无需
为解压缩预先保存任何信息,整个编码是在压缩和解压缩
过程中动态创建的,而且自适应编码由于其符号频率是根
据信息内容的变化动态得到的,更符合符号的局部分布规
律,因此在压缩效果上比静态模型好许多。但是,采用自
适应模型必须考虑编码表的动态特性,即编码表必须可以
随时更新以适应符号频率的变化。
Huffman Coding



Given the characters that must be encoded, together with
their probabilities of occurrence, the Huffman coding
algorithm determines the optimal coding using the minimum
number of bits.
Hence, the length (number of bits) of the coded characters
will differ. The most frequently occurring characters are
assigned to the shortest code words.
A Huffman code can be determined by successively
constructing a binary tree.
- the leaves represent the characters that are to be encoded.
- Every node contains the relative probability of occurrence of the
characters belonging to the subtree beneath the node.
- The edges are labeled with the bits 0 and 1.
example

w(A)=001, w(B)=1, w(C)=011, w(D)=000, w(E)=010
Huffman 编码-举例

aaaa bbb cc d eeeee fffffff
4
3
2 1
5
7
(共22*8=176 bits)
经过Huffman编码之后的数据为:
1010101010001001001000100010000111
111111101010101010101
(共 7*2+5*2+4*2+3*3+2*4+1*4=53 bits)
f
e
1
7/22
1
5/22
a
4/22
b
3/22
c
2/22
d
1/22
1
9/22
0
13/22
0
22/22
1
6/22
1
3/22
0
0
0
f=01 e=11 a=10 b=001
c=0001 d=0000



0 and 1 assignment is arbitrary; thus, different
Huffman codes can result from the same data.
If root nodes of different trees have the same
probability, then trees having the shortest maximal
path between their root and their nodes should be
combined first. This keeps the length of the code
words roughly constant.
The same table must be available for both encoding
and decoding.


大多数存储数字的信息编码系统都采用位数固
定的定长码,就是使用相同的位数对数据进行
编码。
如我们常用的ASCII码,用8位二进制数表示一
个英文字符。正如同在一篇文章中,每个字符
出现的频度是不同的。有些字符出现的频率高,
而有些字符出现的频率低。同样,在一幅图像
中,有些图像数据出现的频率高,有些图像数
据出现的频率低。


如果对那些出现频率高的数据用较少的比特数
来表示,而出现频率低的数据用较多的比特数
来表示,这样从总的效果来看还是节省了存储
空间。采用这种办法对数据进行编码时,代码
的位数是不固定的,这种码称为变长码
(variable-length code)。
这种编码思想首先由香农(Shannon)提出,哈
夫曼后来对它提出了一种改进的编码方法,用
这种方法得到的编码称为哈夫曼码。
哈夫曼压缩算法的编码思想如下:
⑴将信源符号按概率递减顺序排列;
⑵把两个最小的概率加起来,作为新符号的概率;
⑶重复步骤⑴与⑵,直到概率和等于1为止;
⑷完成上述步骤后,再沿路径返回进行编码。寻
找从每一信源符号到概率为1处的路径,每层有
两个分支,分别赋予0和1(对概率大的赋予编码
0,概率小的赋予编码1,反之亦可,但同一过程
中赋值的方法必须一致),从而得到每个符号的
编码。
Huffman编码在图像压缩中的实现

我们知道,对一幅图像进行编码时,如果图像
的大小大于256时,这幅图像的不同的码字就
有可能是很大,例如极限为256个不同的码字。
对整幅图直接进行Huffman编码时,小分
布的灰度值,就有可能具有很长的编码。如:
100位以上,这样不但达不到压缩的效果反而
会使数据量加大,应该如何处理?

常用的且有效的方法是:
将图像分割成若干的小块,对每块
进行独立的Huffman编码。例如:分成
8X8 的子块,就可以大大降低不同灰
度值的个数(最多是64而不是256)。
对信源进行编码后,形成了一个哈夫曼编
码表。在信源的存储与传输过程中必须首先
存储或传输哈夫曼编码表。解码时,必须参
照这个表才能正确译码。
使用哈夫曼编码方法,要精确地统计出每个
信源出现的概率,如果没有这个精确统计最
终的编码文件就不会太小。所以哈夫曼方法
通常要进行两次扫描:第一遍扫描产生统计
结果,第二遍扫描完成编码。
算术编码


Huffman 编码使用整数个二进制位对符号进行编码,这种方
法在许多情况下无法得到最优的压缩效果。假设某个字符的
出现概率为80%,该字符事实上只需要-log2(0.8) = 0.322 位
编码,但Huffman编码一定会为其分配一位 0 或一位 1 的编
码。可以想象,整个信息的80%在压缩后都几乎相当于理想
长度的3倍左右,压缩效果可想而知。
难道真的能只输出 0.322 个 0 或 0.322 个 1 吗?是用剪刀
把计算机存储器中的二进制位剪开吗?


算术编码对整条信息(无论信息有多么长),
其输出仅仅是一个数,而且是一个介于 0 和 1
之间的二进制小数。
例如算术编码对某条信息的输出为
1010001111,那么它表示小数 0.1010001111,
也即十进制数 0.64。
Arithmetic Coding




Like Huffman coding, arithmetic coding is optimal from an
information theoretical point of view
Unlike Huffman coding, arithmetic coding does not code
each symbol separately. Each symbol is instead coded by
considering all prior data.
Thus a data stream encoded in this fashion must always be
read from the beginning. Consequently, random access is
not possible.
This is always the case if symbols occur in the input data
stream with such a frequency that they have a very small
information content. These can be encoded using less than
one bit, whereas in Huffman coding each symbol requires at
least one bit.



算术编码是Rissomen提出的一种编码方法,它把信
源集合映射到[0,1]区间之间的一个小区间,用这个
小区间里的一个实数表示此信源符号。
在不知信源统计的情况下,只要能监视一小段时间
内码符号出现的频度,不管是平稳的还是非平稳的
信号,编成的码率总能趋近于信源熵值。
虽然比Huffman编码复杂,但它不需要传送像
Huffman码的码表,具有可构造性,即可以使用迭代
方法每次处理一个数据符号且只有算术运算,同时
算术编码还有自适应能力的优点,所以是一种很有
前途的编码方法,在国际标准JPEG扩展系统中,建
议使用算术编码。


算术编码可以是静态的或者自适应的。
在静态算术编码中,信源符号的概率是固定的。在
自适应算术编码中,信源符号的概率根据编码时符
号出现的频繁程度动态地进行修改,在编码期间估
算信源符号概率的过程叫做建模。需要开发动态算
术编码的原因是因为事先知道精确的信源概率是很
难的,而且是不切实际的。当压缩消息时,我们不
能期待一个算术编码器获得最大的效率,所能做的
最有效的方法是在编码过程中估算概率。因此动态
建模就成为确定编码器压缩效率的关键。
Transformation Coding





Transformation coding pursues a different approach. Data is
transformed into another mathematical domain that is more
suitable for compression.
An inverse transformation must exist.
The simplest example is the Fourier transform, which
transforms data from the time domain into the frequency
domain.
Other examples include the Walsh, Hadamard, Haar, and
Slant transforms. However, the transformed data have no
major advantages with respect to a subsequent compression.
The most effective transformations for data reduction are
the Discrete Cosine Transform (DCT) and the Fast Fourier
Transform (FFT).

变换编码的基本方法
变换编码先对信号进行某种函数变换,从信号的一种表示
空间变换到信号的另一种表示空间,然后在变换后的域上,
对变换后的信号进行编码,其过程如下图所示。
输入信号

映射变换量化编码存储或传输解码逆变换
恢复数据
变换编码的基本方法是将数字图像分成一定大小的子图像
块,用某种正交变换对子像块进行变换,得到变换域中的
系数矩阵,然后选用其中的主要系数进行量化编码,由于
在变换域中信号的能量比较集中,例如图像信号的能量主
要集中在低频部分,若只对主要的低频分量进行编码并作
合理的比特分配,则可大大压缩数据量。
变换编码不是直接对原图像信号压缩编码,而是首先将图
像信号进行某种函数变换,从一种信号(空间)映射到(变换
到)另一个域中,产生一组变换系数,然后对这些系数量化、
编码、传输。在空间上具有强相关性的信号、反映在频域
上是某些特定的区域内能量常常被集中在一起,或是变换
系数矩阵的分布具有规律性。我们可利用这些规律,在不
同的频域上分配不同的量化比特数,从而达到压缩数据的
目的。
模拟图像经采样后,成为离散化的亮度值。假如把整幅图像
一次进行变换,则运算比较复杂,所需时间较长。通常把图
像在水平方向和垂直方向上分为若干子区, 以子区为单位
进行变换。每个子区通常有8×8个像素点,每个子区的全
部像素值构成一个空间域矩阵。
变换编码是一种有损编码方法,采用不同的变换方式,压
缩的数据量和压缩速度都不一样。典型的变换编码有离散
余弦变换、KL变换,以及近来流行的小波变换等。实践证
明,无论对单色图像、彩色图像、静态图像还是运动图像,
变换编码都是非常有效的方法,变换编码抗干扰性较好,
有比预测编码更高的压缩比,其缺点是易于产生方块效应。

变换编码的数学表示
离散变换可以用矩阵表示,设信源序列是一个n行k列的矩
阵X,例如,对一幅图像进行扫描,从上到下共n行,从左
到右取k个样值。这样形成n个k维的采样向量序列
(x1,x2,…,xn),其中,xi=(xi1,xi2,…xik)是一个k维向量。
这n个向量构成n行k列的矩阵X,xij表示第i行第j个样值。
假设采用一维变换,设变换后输出序列为Y,变换矩阵为A,
则它们之间的关系是:
Y=AX
如果所采取的变换为正交变换,变换矩阵为正交变换矩阵,
即ATA=A-1A=I,其中AT为A的转置矩阵,T-1为T的逆矩阵,I
为单位矩阵,那么:
X=ATY
在接收端用变换矩阵的转置矩阵AT与接收序列Y相乘便可
恢复源序列X。
公式的意义在于:空间域中能量全部转移到变换域中,而
在反变换中,变换域的能量又能全部转移到空间域中。
经过变换之后,变换域中总能量不变,但能量将会重新分
布。在空间域中,能量分布具有一定的随机性。由于图像
有一定的相关性,变换域中能量在大部分情况下,集中于
零空间频率或低空间频率对应的变换系数,从而使具有相
关性图像的相关性减少。同时由于能量集中于零空间频率
和低空间频率所对应的变换域矩阵元素中,我们对这些元
素分配较多的比特数,而对能量较少的元素分配较少的比
特数或不分配比特数,由于相关性的减少,变换域中分配
的总比特数可以比原图像的总比特数少,这样就可以使图
像所需传送的比特数减少,达到压缩的目的。
Subband Coding



Unlike transformation coding, which transforms all
data into another domain, selective frequency
transformation (subband coding) considers the
signal only in predefined regions of the spectrum,
such as frequency bands.
The number of bands is a crucial quality criterion.
This technique is well suited for the compression of
speech.



子带编码技术是一种高质量、高压缩比的图像编码方法。
早已在语音信号压缩编码中获得了广泛的应用。其基本依
据是,语音和图像信号可以划分为不同的频域段,人眼对
不同频域段的敏感程度不同。例如图像信号的主要能量集
中在低频区域,它反映图像的平均亮度,而细节、边缘信
息则集中在高频区域。
子带编码的基本思想是利用一滤波器组,通过重复卷积的
方法,经取样将输入信号分解为高频分量和低频分量,然
后分别对高频和低频分量进行量化和编码。解码时,高频
分量和低频分量经过插值和共轭滤波器而合成原信号。
进行子带编码的一个关键问题,是如何设计共轭滤波器组,
除去混叠频谱分量。
Prediction or Relative Coding


Instead of compressing single bytes or
sequences of bytes, differential encoding can
be used. This is also known as prediction or
relative coding.
For example, if characters in a sequence are
clearly different from zero, but do not differ
much amongst themselves, then calculating
differences from the respective previous
value could be profitable for compression.


still images: areas with similar luminance and
chrominance yield small values
Video:
- the background of successive images does not
change very often.
- Motion compensation

Audio: represent the first PCM-coded sample
as a whole and all following samples as the
difference from the previous one.
Delta Modulation




Delta Modulation is a modification of DPCM where
difference values are encoded with exactly one bit,
which indicates whether the signal increases or
decreases.
This leads to an inaccurate coding of steep edges.
This technique is particularly profitable if the coding
does not depend on 8-bit grid units.
If the differences are small, then a much smaller
number of bits is sufficient.


预测编码是数据压缩理论的一个重要分支,是根据离散信
号之间存在着一定的相关性,利用前面的一个或多个信号
对下一信号进行预测,然后对实际值和预测值的差进行编
码。
就图像压缩而言,预测编码可分为帧内预测和帧间预测两
种类型。帧内预测编码反映了同一帧图像内,相邻像素点
之间的空间相关性较强,因而任何一个像素点的亮度值,
均可由它相邻的已被编码的像素点的编码值来进行预测。
如果能够准确地预测作为时间函数的数据源的下一个输出
将是什么,或者数据源可以准确地被一个数据模型表示,
则可以准确地预测数据,然而,实际信号源是不可能满足
这两个条件的,用一个预测器预测下一个样值,允许它有
些误差。通常使用的误差函数是均方误差mse:
2
ˆ
mse  E[(S0  S0 ) ]
其中:E是数学期望;另外两个分别是下一样值的
实际值和下一样值的预测值。
如果预测是根据某一预测模型进行的,且模型表
达的足够好,则只需存储或传输某些起始像素点
和模型参数就可以代表整个一幅图像了。这时只
要编码很少的数据量,这当然是一种极端理想的
情况。
但实际上预测不会百分之百准确,此时可将预测
的误差值(实际值与预测值之差值)存储或传输,
一般来讲,实际误差值要比实际值小得多,这样
在同等条件下,就可以减少数据编码的比特数,
从而也减少了存储和传输的数据量,实现了数据
的压缩处理。


帧内预测编码典型的压缩方法有DPCM(差分
脉冲编码调制)和ADPCM(自适应差分脉冲编
码调制)等,它们比较适合图像与声音数据
的压缩。因为这些媒体的数据均由采样得
到,相邻采样值之间的差值都不太大,可
用较少的比特数表示差值。
预测器是DPCM的核心,预测器越好,能使
差值越小,数据就压缩的越多,预测器可
采用线性预测或非线性预测,但通常采用
线性预测作为预测器的设计。
在MPEG压缩标准中还采用了帧间预测编码。这是由于运动
图像各帧之间有很强的时间相关性。例如,在电视图像传
送中,相邻帧的时间间隔只有1/30秒,大多数像素的亮度
信号在帧间的变化是不大的,利用帧间预测编码技术就可
减少帧序列内图像信号的冗余度。此外,电视图像的相邻
帧间的内容在一般情况下(除在场景切换时)实际上没有
太大的变化,所以相邻帧间有较大的相关性,这种相关性
称为时域相关性。运动补偿的目地就是要将这种时域相关
性尽可能地去除。



DPCM(Differential Pulse Code Modulation,差分脉冲
编码调制)与PCM不同,它编码的不是采样样本值,而是
样本值及其预测值的差分,即量化的是已知的样本值与预
测值之间的差值。DPCM是从过去的几个采样值的线性组合
来预测推断现在的采样值,进而用实际采样值与预测采样
值之差(称作预测误差)及线性预测系数进行编码,从而
达到信息压缩的一种方法。
它实际上是一个负反馈系统,采用这种结构可以 避免量
化误差的积累。
由于在发送端和接收端都使用相同的逆量化器和预测器,
所以收发两端可以从同一个传送信号获得相同的量化差分
信号和重构信号
DPCM工作原理方框图
S (k )
8位
PCM
样本k
+
–
d (k )
S e ( k  1)
量化器
逆量化器
PCM
样本k-1
I (k )
S e ( k  1)
+ d q (k )
+
S r (k )
预测器


如果把预测误差不经量化,精确地传到接收端,
可以无失真地复原原始PCM信号,在图像压缩过程
中并不丢失任何信息。但是,主观实验表明,对
于人眼观看的电视图像来讲,预测误差没有必要
绝对精确地传到接收方,可以对它再经过一次量
化,适当降低精确度,从而获得进一步的码率压
缩。
这样,虽然由于量化误差的引入造成图像一定程
度的客观失真,但是,如果能够把量化误差限制
到主观视觉不能察觉的程序,则并不影响图像的
主观质量。所以,量化器是利用主观视觉特点,
挖掘压缩潜力的工具。

自适应差分脉冲编码-ADPCM
ADPCM是自适应量化和自适应预测方法的总
称。ADPCM是在DPCM方法上的进一步改进,
通过调整量化步长,对不同频段所设置的量
化字长不同,使数据得到进一步的压缩。
 自适应量化就是使量化间隔大小的变化自动
地去适应输入信号大小的变化。它根据信号
分布不均匀的特点,使系统具有随输入信号
的变化而改变量化区间的大小,以保持输入
量化器的信号基本均匀的能力。
自适应量化必须具有对输入信号的幅值进行估计的
能力,有了估值才能确定相应的改变量。若估值在
信号的输入端进行,称前馈自适应;若在量化输出
端进行,称反馈自适应。
预测参数的最佳化依赖于信源的统计特性,而按
DPCM采用固定的预测参数往往不能得到较好的性能。
自适应预测是不对输入信号幅度的绝对值进行编码,
而是对样本之间的差值进行编码。差值不是简单地
用样本的绝对值之差,而是通过预测技术使得求出
的预测值与实际值的均方差尽可能地小。
PCM
样本
ADPCM差值
+
–
量化器
量化阶调整
预测PCM样本
预测器
+
+
逆量化器
ADPCM编码框图
Adaptive Compression Techniques


Most of the compression techniques
described so far take advantage of already
known characteristics of the data to be
compressed (e.g., frequently occurring
sequences of bytes or the probability of
occurrence of individual bytes).
An atypical sequence of characters results in
a poor compression.




a coding table has been generated in
advance
For each symbol to be encoded, the table
contains the corresponding code word and,
in an additional column, a counter.
The symbols and their respective counters
are then sorted in decreasing order by
counter value.
The order of the code words is not changed.
Adaptive DPCM (ADPCM)


difference values are encoded using only a
small number of bits.
ADPCM adapts to the significance of the data
stream. The coder divides the DPCM sample
values by an appropriate coefficient and the
decoder multiplies the compressed data by
the same coefficient, thus changing the step
size of the signal.
Other Basic Techniques



Video compression techniques often use Color
Look-Up Tables
A simple technique for audio is silence suppression,
whereby data is only encoded if the volume
exceeds a certain threshold.
ITU incorporates some of the basic audio coding
techniques in the G.700 series of standards:
- G.721 defines PCM coding for 3.4kHz quality over
64Kbit/s channels
- G.728 defines 3.4kHz quality over 16Kbit/s channels.
图像编码技术的发展

经典编码技术
- 1948年,Oliver提出了第一个编码理论——脉冲
编码调制(Pulse Coding Modulation,PCM);
- 同年,Shannon的经典论文——“通信的数学原理”
首次提出并建立了信息率失真函数概念;
- 1959年,Shannon进一步确立了码率失真理论。
以上工作奠定了信息编码的理论基础,主要编码
方法有预测编码、变换编码和统计编码,也称为
三大经典编码方法。经典编码技术可以称为“第
一代”编码技术。
图像编码技术的发展


第一代视频(图像)编码技术都是非常优秀的编码
方案,能够在中等压缩率的情况下,提供非常好的
图像质量,但在非常低的位率情况下,无法为一般
的序列提供令人满意的质量。
20世纪80年代初期,“第一代”编码技术已经达到
了顶峰,这类技术去除客观和视觉冗余信息的能力
已接近极限。究其原因是由于这些技术都没有利用
图像的结构特点,因此它们也就只能以像素或块作
为编码的对象,另外,这些技术在设计编码器时也
没有考虑人类视觉系统的特性。
“第二代”编码方法



第一代编码技术只是以信息论和数字信号处理技术为理论基
础,旨在去除图像数据中的线性相关性的一类编码技术。其
压缩比不高,大约在10∶1左右。为了克服“第一代”视频
(图像)编码技术的局限性,Kunt等人于1985年提出了“第
二代”视频(图像)编码技术。
“第二代”编码技术不局限于信息论的框架,而是要充分利
用人的视觉生理、心理和图像信源的各种特征,实现从“波
形”编码到“模型”编码的转变,以便获得更高压缩比。其
压缩比多在30:1至70:1之间,甚至更高。
“第二代”编码方法主要有:基于分形的编码、基于模型的
编码、基于区域分割的编码和基于神经网络的编码等。


“第二代”编码方法充分利用了计算机图形学、计算机视觉、
人工智能与模式识别等相关学科的研究成果,为视频(图像)
压缩编码开拓出了广阔的前景。但是由于“第二代”编码方
法增加了分析的难度,所以大大增加了实现的复杂性。
从当前发展情况来看,“第二代”编码方法仍处于深入研究
的阶段。例如,分形法由于图像分割、迭代函数系统代码的
获得是非常困难的,因而实现起来时间长,算法非常复杂。
模型法则仅限于人头肩像等基本的视频(图像)上,进一步
的发展有赖于新的数学方法和其他相关学科的发展。神经网
络的工作机理至今仍不清楚,硬件研制不成功,所以在视频
(图像)编码中的应用研究进展缓慢,目前多与其他方法结
合使用。但由于巨大压缩性能的潜力,人们都在致力于这些
新方法的研究之中。


近年来,出现了一类充分利用人类视觉特性的“多
分辨率编码”方法,如子带编码和基于小波变换的
编码。
这类方法使用不同类型的一维或二维线性数字滤波
器,对视频(图像)进行整体的分解,然后根据人
类视觉特性对不同频段的数据进行粗细不同的量化
处理,以达到更好的压缩效果。这类方法原理上仍
属于线性处理,属于“波形”编码,可归入经典编
码方法,但它们又充分利用了人类视觉系统的特性,
因此可以被看作是“第一代”编码技术向“第二代”
编码技术过渡的桥梁。
图像编码技术的标准化



图像编码的研究内容是图像数据压缩,其主要
应用领域是图像通信和图像信息存储。
当需要对所传输或存储的图像信息进行高比率
压缩时,必须采取复杂的图像编码技术。
但是,如果没有一个共同的标准做基础,不同
系统间不能兼容,除非每一编码方法的各个细
节完全相同,否则各系统间的联结十分困难。


鉴于这一状况,20世纪90年代后,国际电信联盟
(International Telecommunications Union)、国
际标准化组织ISO和国际电工委员会IEC近年来在全
世界范围内积极工作,已经制定并在继续制定一系
列静止和活动图像编码的国际标准,现已批准的标
准主要有:JPEG标准、MPEG标准、H.261标准。
这些标准和建议是在相应领域工作的各国专家合作
研究的成果和经验的总结。由于这些国际标准的出
现,图像编码尤其是视频图像编码压缩技术得到了
飞速发展。


目前,按照这些标准做的硬件、软件产品和专
用集成电路已经在市场上大量涌现,对现代图
像通信的迅速发展及开拓图像编码新的应用领
域(如多媒体通信、数字高清晰度电视传输等)
发挥了重要作用。
随着这一领域研究的不断深入,还将有新的数
据压缩编码标准不断地推出。
the standardization bodies concerning image and video coding




JPEG (Joint Photographic Experts Group), working
on coding of still images
JBIG (Joint Bi-Level Image Experts Group), working
on the progressive processing of bi-level coding
algorithms
CGEG (Computer Graphics Experts Group), working
on coding principles
MPEG (Moving Picture Experts Group), working on
the coded representation of motion video.
图像压缩编码分类的一般方法
预测编码
差分脉冲调制编码(DPCM)
自适应差分脉冲调制编码(ADPCM)
帧间预测编码
变换编码
离散余弦变换(DCT)
K-L变换
小波变换
统计编码
其他编码
图像压缩标准
哈夫曼编码
游程长度编码
算术编码
LZW编码
矢量量化编码
子带编码
分形编码
JPEG
MPEG
H.261
LZW编码



1977年,两位以色列教授发明Lempel-Zev压缩技术,介绍了
查找冗余字符串和将此字符器用较短的符号标记替代的技术,
并作了实验性的工作。
1985年,美国的Wekch将此技术实用化,取得了LZW专利。
哈夫曼编码要求事先编写出一本码簿,但在许多情况下并不
知道或是无法取得被压缩数据的统计特性。LZW是基于“词典
编码”的另一种编码方案。它的基本思想是用符号代替一串
字符,这一串字符可以是有意义的,也可以无意义的。用8位
代码表示的图像数据组合起来的一串字符很难说代表什么意
义。因此,在词典编码中仅仅把字符串看成是一个号码,而
不去管它代表什么意思。
LZW 压缩编码


将已经编码过的信息作为字典,如果要编码的字符
串曾经出现过,就输出该字符串的出现位置及长度,
否则输出新的字符串。
你能从下面这幅图中读出其中包含的原始信息吗?
图像数据实际上也是由字符串组成的,在对一幅图像数据进行编
码之前首先设置一个编码码表,这个码表可以是已知的256个字
符组成的码表,表的每一栏可看成是由单个字符组成的字符串,
并且给每一栏都编一个号码。
在编码图像数据过程中,每读一个字符(即图像数据),就与以前
读入的字符串拼接成一个新的字符串,并且查看码表中是否已经
有相同的字符串,如果有就用这个字符串的号码来代替这一个字
符,如果没有,则把这个新的字符串放到码表中,并且给它编上
一个新的号码。编码就变成一边生成码表一边新字符串的号码。
在数据存储或传输时,只存储或传输号码,而不存储和传输码表
本身。在译码时,按照编码时的规则一边生成码表一边还原图像
数据。
LZW压缩编码也是一种无损压缩编码,经过
多年努力,现在已经把这种压缩技术成功
地集成到Windows系统中,用于压缩硬盘上
的数据。现在市场上流行的许多图像处理
软件都采用了LZW算法,用于减少图像所需
要的存储空间。
分形编码Fractal Compression


分形最早是由IBM研究中心的数学家Benoit
Mandelbrot于1967年在研究海岸线长度时提出
来的。海岸线的长度实际上是不确定的,因为
其长度取决于测量的尺度。随着尺度的减小,
量到的弯曲越多,海岸线将越长。Mandelbrot
把这种图形叫作分形(fraction),意味不规
则。
分形编码与分形几何相关。什么是分形几何?
通俗一点说就是研究无限复杂但具有一定意义
下的自相似图形和结构的几何学。

什么是自相似呢?例如一棵苍天大树与它自身上的树枝及树
枝上的枝杈,在形状上没什么大的区别,大树与树枝这种关
系在几何形状上称之为自相似关系;我们再拿来一片树叶,
仔细观察一下叶脉,它们也具备这种性质。这些例子在我们
的身边到处可见。分形几何揭示了世界的本质,分形几何是
真正描述大自然的几何学。
分形几何不同于传统的欧氏几何之处在于它更适于描绘自然
界复杂的,具有无穷细节的自然景物。如绚丽多姿的云彩,
层峦起伏的山脉,弯曲绵延的海岸线等。它的两大工具即是
自相似原理及分数维。自相似可以把复杂的景物用极其简单
的规则来描述,分数维则用来刻画该物的复杂程度。如一条
平直的直线,它的维数是1;而对于复杂的曲折的曲线,它的
维数却是介于12之间的分数维,如果1.2,1.3维等。
分形编码正是利用了分形几何中自相似的原理来实现的。
首先对图像进行分块,然后再去寻找各块之间的相似性,
这里相似性的描述主要是依靠仿射变换来确定的,一旦找
到了每块的仿射变换,于是就保存下这个仿射变换的系数,
由于每块的数据量远大于仿射变换的系数,因而图像得以
大幅度的压缩。
10多年来,虽然分形图像编码和解码不断改进,但仍然不够
成熟,产生的压缩比不够高,压缩效果还不十分理想,在当
前图像压缩编码中还不能占据主导地位。但我们应该看到
分形图像压缩方法的优势和巨大潜力。



the decoding process is progressive and the
decoding efficiency is scalable, since the
quality of the decoded image increases with
each iteration step.
Additionally, the process is independent of
the resolution. The mapping function can be
applied repeatedly in order to get more detail.
The third attribute is an asymmetry between
the encoding and decoding processes.