telephone code

62
从电话区号到 DVD图像播放工具 郭田德

Upload: starlviola

Post on 24-Jul-2015

1.038 views

Category:

Business


6 download

TRANSCRIPT

Page 1: Telephone Code

从电话区号到 DVD图像播放工具

郭田德

Page 2: Telephone Code

国家或地区代码

1开头的国家:1个(代码为1位数)

1 美国

7开头的国家:1个(代码为1位数)

7 俄罗斯

Page 3: Telephone Code

国家或地区代码

212 摩洛哥 213 阿尔及利亚

216 突尼斯 218 利比亚

227 尼日尔

228 多哥

230 毛里求斯

231 利比里亚

234 尼日利亚

237 喀麦隆

代码为3位数19个:

242 刚果 243 扎伊尔

249 苏丹

2开头的国家:19个代码为2位数1个:20 埃及

252 索马里 254 肯尼亚 255 坦桑尼亚

260 赞比亚 261 马达加斯加 263 津巴布韦

Page 4: Telephone Code

国家或地区代码

30 希腊

31 荷兰

32 比利时

33 法国

34 西班牙

36 匈牙利

38 南斯拉夫

39 意大利

350 直布罗陀 351 葡萄牙 352 卢森堡 353 爱尔兰 354 冰岛 355 阿尔巴尼亚 357 塞浦路斯 358 芬兰 359 保加利亚

376 安道尔

3开头的国家:18个代码为2位数8个 代码为3位数10个:

Page 5: Telephone Code

国家或地区代码

4开头的国家:9个40 罗马尼亚 41 瑞士 43 奥地利 44 英国 45 丹麦 46 瑞典 47 挪威 48 波兰 49 德国

Page 6: Telephone Code

国家或地区代码

51 秘鲁 52 墨西哥 53 古巴 54 阿根廷 55 巴西 56 智利 57 哥伦比亚 58 委内瑞拉

501 伯利兹 504 洪都拉斯 506 哥斯达黎加

507 巴拿马 509 海地

5开头的国家:17个代码为2位数8个 代码为3位数9个:

591 玻利维亚

592 圭亚那 595 巴拉圭 598 乌拉圭

Page 7: Telephone Code

国家或地区代码的编码特点

1位数的国家只有两个:美(1)、苏(7)两个超

级大国;

2开头的国家代表非洲:2位数只有一个非洲大国 —— 埃及,其余都为3位数;

3和4开头的国家代表欧洲:2位数有17个欧洲大国 ,3位数有10个欧洲小国;

5开头的国家代表美洲:2位数有8个美洲大国 ,3位数有9个美洲小国;

Page 8: Telephone Code

国家或地区代码的编码特点

国家(或地区)政治地位、国际影响力越大,被别国使用频率越高,代码的位数越少, 1-3位;

从少位到多位,代码的前 都不相同。

全世界所拨的号码数 少;

达到的效果:

从少位到多位拨号时,能即时解码,且解码唯一。

Page 9: Telephone Code

排字与键盘设计

不同的符号、字母有不同的使用频率,多铸造一些使用频率高的符号和字母,并放在方便的位置;

在设计打字机和键盘时,将使用频率高的符号和字母排在较灵活的指头能按到的位置,加快打字速度;

Page 10: Telephone Code

摩斯(Morese)电码

摩斯电码用点——线来表示当时通用字母与符

号,从而建立一套电报码系统;

摩斯打算将点——线 简单的组合分配给使用频

率 高的字母;

摩斯从一份报纸上统计各个字母的使用频率:e出现12000次,t出现9000次,a出现8000次,o、m、i、s约为6400次,等等;

摩斯将“一点”分配给字母e, “一点一线”分配给字母a,将点——线组合越长的组合分配给出现频

率越低的符号;

比平均分配,摩斯电码约节约23%的传输时间。

Page 11: Telephone Code

数据压缩的基本概念

重复性的数据才有可能被压缩;

任何一段有意义的数据都会有相当的重复片断;

计算机中存储 小单元为字节(1byte=8bits),1位(1bit)有0或1两种取值,1个字节可以 多表示256种不同的字符;

两个字节表示一个汉字( 多能表示多少个汉字?)

以有限的符号描述一段有意义的数据,必然会产生许多重复;

重复性越大的符号用越短的码来编排——数据压缩的

基本精神!

Page 12: Telephone Code

数据压缩的基本概念

存储一段有意义的数据(如一篇文章),所用的字符集合共256个,每一个字符都有一个二进制编码(就是通常说的ASCII编码),每一个字符编码的存储空间为1个字节(1byte = 8 bits);

如果所有字符都用ASCII编码存储,那么每个字符需要的存储空间都是1个字节。若某段有意义的数据共用了N个字符,则共需要的存储空间为:

N( 1byte )= 8N( bit)

问题:是否一定需要上述这么多存储空间?

回答:否。我们可以用WinRAR进行压缩!

Page 13: Telephone Code

无损压缩编码

数据压缩=建立模型+编码

建立模型:构造一种数学变换

输入一段

有意义的数据

数学变换 编码后的数据流

生成码本

编码

Page 14: Telephone Code

霍夫曼编码算法

例如:Little Women 中的第一段话:

C E M T a b c d e f g h i m n o r s t u v w .1 1 2 1 9 1 2 1 11 3 2 6 9 4 3 5 14 6 6 3 1 4 2 23

共用了24个不同的字符,字符数为120个

It was Christmas Eve and warm fire was burning in the March home. The four March sisters were waiting for their mother to arrive.

Page 15: Telephone Code

霍夫曼编码算法

按照字符出现的频率(概率)由低到高排列如下:

Page 16: Telephone Code

每次挑出两个出现频率 小的相加得:

C

E

T

b

d

v

M

c

g

1/120

1/120

1/120

1/120

1/120

1/120

2/120

2/120

2/120

2

2

2

4

4

4

Page 17: Telephone Code

每次挑出两个出现频率 小的相加得:

4

4

42/120

3/120

3/120

3/120

4/120

4/120

5/120

.

f

n

u

m

w

o

5

6

8

8

9

11

Page 18: Telephone Code

每次挑出两个出现频率 小的相加得:

h

s

t

a

i

e

8

8

9

116/120

6/120

6/120

9/120

9/120

11/120

12

14

17

18

22

Page 19: Telephone Code

每次挑出两个出现频率 小的相加得:

r

空格

14/120

23/120

17

14

12

22

18

26

31 4049

71

120

00

10

01

11

010

011

000

100

110

Page 20: Telephone Code

码本的产生:

120

71 0

1

31 00

01

26 10

11

17 000

00114

22 010

01118

14

12

100

101

8

9

0000

0001

49

40

23

11

11

0100

01019

9

空格

0110

0111

a

i

86

1000

1001t

66

1010

1011

hs

r

4

4m

00000

000015

4w

00010

00011

e

65o

0100001001

4

4

10000

10001

Page 21: Telephone Code

码本的产生:

4 00000

5 00010

6 01000

4

4

10000

10001

2

2

000000

000001

2

22

2

100000

100001

100010

100011

c

g

M

1

1

d

v

1000000

1000001

11

TB

0000010

0000011

11

CE

0000000

0000001

2

3

.f

000100

000101

n

u

010000

010001

3

3

Page 22: Telephone Code

码本:

7个bits的字母 6个bits的字母 5个bits的字母 4个bits的字母

C: 0000000; . : 000100; m: 00001; e: 0101; E: 0000001; f: 000101; w: 00011; a: 0110;T: 0000010; n: 010000; o: 01001; i: 0111;B: 0000011; u: 010001; t: 1001;d: 1000000; M: 100001; h: 1010;v: 1000001; c: 100010 ; s: 1011;

g: 100011;

3个bits的字母

r: 001;2个bits的字母

空格: 11;

Page 23: Telephone Code

Huffman的编码过程

将所有符号以出现概率的高低重新排列;

依次将出现概率 低的两个符号结合形成新的符号,此新符号称为节点,节点那含两个符号的出现概率和,这个新节点也可以和尚为结合成节点的符号相结合,形成另一个新节点;

后得到一个树状结构,其中每个节点内含该节点两个子节点的符号之和;

依次由树根出发,前进到每一个叶片(也就是每一个符号),每遇到一个节点,上(左)边的分支分配一个0,下(右)边的分支分配一个1。把由树根到叶片的路径中所遇到的0与1串连起来便得到该符号的码子。

Page 24: Telephone Code

数据压缩的两个家族

无损压缩:保证在解压缩后能够精确恢复原来的数据,没有任何损失的压缩方法。

主要用途:存储数据库记录、电子表格或字处理程序

文件等;如: WinRAR 压缩工具等。

主要方法:Huffman编码、游程编码、算术编码等。

有损压缩:允许一定精度损失来换取大大增加的压缩。

主要用途:静态图像压缩、序列图像压缩等;如:

JPEG图像压缩工具、各种播放器中的

核心技术等。

主要方法:数学变换法。

Page 25: Telephone Code

图像压缩 (Image Compression)

图像压缩所解决的问题是尽量减少表示数字图像时需要的数据量。减少数据量的基本原理是除去其中多余的数据。

人们对图像压缩开始感兴趣大概在35年前。最初在这一领域研究的焦点集中在建立一种模拟的方法以便减少视频传输所需的带宽,这一过程称为带宽压缩。随着计算机技术的发展,这方面的研究重点从模拟方式转移到数字压缩方法上来。

Page 26: Telephone Code

有损压缩

人的视觉特性:人的眼睛的分辨率有限;人的眼睛对亮度更敏感,而对色度敏感程度相对较差。

图像压缩

数字图像的特性:一幅图像内部的空间冗余;序列图像之间的时间冗余。

Page 27: Telephone Code

几种数据相关性

空间相关性:可以根据图像中某一点的像素值推断出其相邻点的像素值;

频率相关性:一个信号的傅立叶变换通常是光滑的,这意味着可以根据某一部分的频率来推断其相邻部分的频率;

时间相关性:在数字视频中,在时间上相邻两帧图像的大部分像素的值变化很小。

Page 28: Telephone Code

静态图像的压缩

输入图像

数学变换 量化

编码

压缩数据流

静态图像压缩的一般过程

有损压缩

Page 29: Telephone Code

静态图像的解压缩

压缩数据流

解码逆量化

逆变换

恢复图像

静态图像解压缩的一般过程

有损压缩

Page 30: Telephone Code

关于数字图像

在计算机术语中,信息的 小单位是1“位”(bit),而这1位的值就是0或者1。位数和二进制的结合,使电脑就像被数以百万个“开关”所控制。

假如某幅图像位数为1位,则这二进制中的1位只可以记录两个信号:黑(0)和白(1)。

假如图像变成2位,这2位便能记录(2*2)4个色调:00 (黑), 01 (灰), 10 (灰), and 11 (白)。当图像位数为8位时,图像便可记录从00000000 (0)至11111111 (255)一共(2*8)256个色调。

Page 31: Telephone Code

关于数字图像

8位(bit)256灰度级的灰度图像:通过成像、模-数转换、采样,一幅256灰度级的图像就变成了一个矩阵:

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

MNMM

N

N

aaa

aaaaaa

L

MLMM

L

L

21

21221

11211

其中矩阵中的元素称位象素值,表示该点的灰度值,取值范围0-255,表示由黑到白,0表示纯黑色,255表示纯白色。

Page 32: Telephone Code

两幅灰度图像

Page 33: Telephone Code

两幅灰度图像

Page 34: Telephone Code

彩色图像

24位(bit)真彩色图像有红(R)绿(G)蓝(B)三基色组成,每中颜色有256种取值0-255。因此, 24位真彩色图像共有256×256×256=16,777,216种颜色。

每一幅24位真彩色图像由三个矩阵构成,每个

矩阵代表一种基色的取值。

每一幅24位真彩色图像相当于三副灰度图像。

Page 35: Telephone Code

两幅彩色图像

Page 36: Telephone Code

两幅彩色图像

Page 37: Telephone Code

静态图像压缩国际标准-JPEG

JPEG (Joint Photograph Experts Group ):在三个国际化组织——国际标准化组织(ISO)、国际电报电话咨询委员会(CCITT)、国际电工委员会(IEC)主持下开发的用于彩色图像压缩的国际标

准;

压缩过程的核心技术是:被称为离散余弦变换(Discrete Cosine Transform, DCT)的数学变换,它是一种特殊的 快速Fourier 变换(FFT);DCT将图像的空间信息转变成“频率”信息或“频谱”信息;

Page 38: Telephone Code

Fourier变换

Fourier 变 换 (FT) 是 利 用 积 分 将 一 个 函 数

))(( +∞<<−∞ ttf 变为另一个函数 )(ωF 。设函数 )(tf

满足 +∞<∫+∞

∞−dttf |)(| ,定义 FT 如下:

FT: ∫+∞

∞−

−= dtetfFtf tiωω )()()( a .

当 )(tf 满足适当条件时,它具有逆变换 (IFT):

IFT: ∫+∞

∞−= ωω

πω ω deFtfF ti)(

21)()( a

Page 39: Telephone Code

二维DCT与IDCT

∑∑−

=

=⎥⎦⎤

⎢⎣⎡ +

⎥⎦⎤

⎢⎣⎡ +

=1

0

1

0 2)12(cos

2)12(cos),()()(

21),(

N

x

N

y Njy

NixyxIjCiC

NjiDCT ππ

∑ ∑−

=

=⎥⎦⎤

⎢⎣⎡ +

⎥⎦⎤

⎢⎣⎡ +

=1

0

1

0 2)12(cos

2)12(cos),()()(

21),(

N

x

N

y Njy

NixjiDCTjCiC

NyxI ππ

其中 else,1

0 if,2

1)(

⎪⎩

⎪⎨⎧ == xxC

),( yxI 表示图像在 ),( yx 点的象素值, ),( yxDCT 表示变换后的

频率系数。

Page 40: Telephone Code

为什么要用DCT?

把象素变换成频率系数后,得到的仍然是同以前一样多的点。

如果不考虑计算精度的损失,DCT是可逆变换。

DCT在变换数据时实现了在N×N的矩阵中 :

第0行中的所有元素表示信号在某个方向上频率分量0,第k行中的所有元素表示信号在某个方向上频率分量k;第0列中的所有元素表示信号在另一个方向上频率分量0,第k列中的所有元素表示信号在另一个方向上频率分量k;随着行和列移出原点, DCT变换后的矩阵中的系数表示

越来越高的频率, 高的频率在矩阵的(N-1)的位置上。

Page 41: Telephone Code

为什么要用DCT?

大多数图像是由低频信息组成。

在0行0列中的分量(直流分量)比起较高分量带

有更多的图像的有用信息。

进一步远离图像的直流分量时,系数不仅是值趋于变小,而且对于描述图像变得越来越不重要。

DCT变换确定了信号中信息片段,有些信息片段可以“扔掉”,而对图像的质量损失甚微。

JPEG要处理的真正困难:如何“扔掉”图像中不

重要的部分。

Page 42: Telephone Code

实现DCT

实现DCT的计算量为O(N^2),在256×256灰度图像上对整幅图像做 DCT所需要的计算量太大,

计算无法实现;

JPEG将图像分成8×8的块进行DCT变换;

用矩阵相乘操作代替双层嵌套循环以减少DCT的计算量;

使用缩放的整数运算来代替浮点运算;

可采用并行的硬件运算器。

Page 43: Telephone Code

DCT输出例子

Input Pixel Matrix:

140 144 147 140 140 155 179 175

144 152 140 147 140 148 167 179

152 155 136 167 163 162 152 172

168 145 156 160 152 155 136 160

162 148 156 148 140 136 147 162

147 167 140 155 155 140 136 162

136 156 123 167 162 144 140 147

148 155 136 155 152 147 147 136

Page 44: Telephone Code

DCT输出例子

Output DCT Matrix:

186 -13 15 -9 23 -9 -14 19

21 -34 26 -9 -11 11 14 7

-10 -24 -2 6 -18 3 -20 -1

-8 -5 14 -15 -8 -3 -3 8

-3 10 8 1 -11 18 18 15

4 -2 -18 8 8 -4 1 -7

9 1 -3 4 -1 -7 -1 -2

0 -8 -2 2 1 4 -6 0

Page 45: Telephone Code

DCT输出的频谱压缩特性

“直流系数”位于矩阵左上角的位置(0,0)处,这个

值表示的是输入矩阵的所有幅度的一个平均,它代表了X和Y坐标轴上的 DC分量;

“直流系数”比DCT矩阵中任意值大至少一个数量

级;

DCT矩阵中通常趋势:随着元素离直流系数越

远,这些元素在幅度上也变得越来越小;

通过对输入数据进行DCT,已经将图像死亡表达集中在DCT矩阵的左上角的系数上,而DCT矩阵

的右下角部分包含的是没有多少有用的信息。

Page 46: Telephone Code

量化与量化矩阵

减少DCT矩阵的方法是“量化”(quantization)-通过减少

整数的精度来减少存储所需要的位数,量化的公式为:

其中q(i,j)表示量化因子。

离(0,0)点越远,对图像的贡献越小,可以随着离(0,0)点处的

直流系数越远,越来越多地减少系数的精度;

JPEG算法选择的量化因子用量化矩阵。

⎥⎦

⎤⎢⎣

⎡=

),(),(),(

jiqjiDCTjiDCTq

Page 47: Telephone Code

量化矩阵

3 5 7 9 11 13 15 175 7 9 11 13 15 17 197 9 11 13 15 17 19 219 11 13 15 17 19 21 2311 13 15 17 19 21 23 2513 15 17 19 21 23 25 2715 17 19 21 23 25 27 2917 19 21 23 25 27 29 31

Page 48: Telephone Code

量化结果

质量因子(1-25)为2时的量化结果:

31 -1 1 0 1 0 0 0

2 -2 1 0 0 0 0 0

-1 -1 -2 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

注:虽然当质量因子为2时,图像

数据发生了很大的变化,但是眼睛几乎觉察不出来。

Page 49: Telephone Code

编码

将(0,0)处的直流系数由绝对值变成相对值:与

前一个直流元素的差来编码,会产生一个非常小的数值;

将图像系数安排成“zig-zag”序列;

编码:游程编码或熵编码(Huffman编码或算

术编码)。

Page 50: Telephone Code

基于小波变换的图像压缩方法

Page 51: Telephone Code

指纹图像数据压缩

我们开发的指纹图像数据压缩软件

较好的压缩效率

准确的压缩倍数

图像数据按“重要程度”排列,能够在要求

的压缩倍数下随时截断数据流,而得到恢复质量“ 好”的压缩数据流。

Page 52: Telephone Code

序列图像压缩

数字电视图像:SIF(Source Input Format)格式,NTSC制、彩色、4:4:4采样

每帧数据量352×240×3 = 253KB每秒数据量(位率)253×30 = 7.603MB/s一片CD-ROM可存帧数650÷0.253 = 1.226K帧

一片CD-ROM节目时间(650÷7.603)/60 = 1.42分钟

CCIR(International Consultative Committee for Radio)格式,PAL制、彩色、4:4:4采样

每帧数据量720×576×3 = 1.24KB每秒数据量(位率)1.24×25 = 31.3MB/s一片CD-ROM可存帧数650÷1.24 = 0.524K帧

一片CD-ROM节目时间(650÷31.3) = 20.9秒

Page 53: Telephone Code

序列图像压缩

Page 54: Telephone Code

序列图像压缩

Page 55: Telephone Code

序列图像压缩-MPEG

MPEG(Moving Picture Expert Group): 1988年由ISO、IEC联合成立的专家组,负责开发电视

图像数据和声音数据的编码、解码和它们的同步标准。

MPEG视频编码中的核心技术:

(1)采用三种类型图像:帧内图、预测图、

插补图(双向预测图)

(2)时域冗余量的减少——帧间编码

(3)空域冗余量的减少——帧内编码

Page 56: Telephone Code

视频图像压缩利用的各种冗余

种类 内容 主要数学方法

空间冗余 象素间的相关性 变换编码、预测编码 统计

特性 时间冗余 时间方向上的相

关性 帧间预测、运动补偿

图像构造冗余 图像本身的构造 轮廓编码、区域分割

知识冗余 收发两端对图像

的共有认识 基于知识的编码

视觉冗余 人的视觉特性 非线性量化、位分配

其它 不确定因素

Page 57: Telephone Code

时域冗余量的减少——帧间编码

运动补偿:基于16×16子块的算法,每

个子块作为一个二维运动矢量处理;

运动表示:基于16×16块为单元表示;

运动估算:从视频序列中抽取运动信息,按照尽量减少匹配误差的方法来获得运动矢量;

预测误差再进行DCT变换编码。

Page 58: Telephone Code

运动补偿

视频的相邻帧间的运动部分具有连续性,即当前画面上的图像可以看成是前画某时刻画面上图像的位移,位移的幅度值和方向在画面各处可以不同。利用运动位移信息与前面某时刻的图像对当前画面图像进行预测的方法,称为前向预测。反之,根据某时刻的图与位移信息预测该时刻之前的图像,称为后向预测。

MPEG的运动补偿将画面分成若干16×16的子图像

块(称为补偿单元或宏块),并根据一定的条件分别进行帧内预测、前后预测、后向预测及平均预测。

Page 59: Telephone Code

运动补偿插值

以插补方法补偿运动信息是提高视频压缩比的有效措施之一。在时域中插补运动补偿是一种多分辨率压缩技术。例如1/15秒或1/10秒时间隔选取参考子

图,对时域较低分辨率子图进行编码,通过低分辨子图反映运动趋势的附加校正信息(运动矢量)进行插值,可得到满分辨率(帧率1/30秒)的视频信号。插

值运动补偿也称为双向预测,因为它既利用了前面帧的信息又利用了后面帧的信息。

Page 60: Telephone Code

空域冗余量的减少——帧内编码

DCT量化(包括量化、Z字扫描、游程编码)

熵编码-Huffman编码或算术编码

Page 61: Telephone Code

总 结

数据压缩技术的核心是“数学变换”、“量化”和“熵编码”;数学变换:Fourier变换、离散COS变换、小波变换——函数论中“调和分析”的主要研究内容之一;

熵编码:主要用到概率统计的模型;

总之,我们现在常用的压缩软件,包括文本压缩软件(WinRAR)和图像压缩软件(各种 DVD图像播放器),其中的核心技术是数学技术!

Page 62: Telephone Code

END

谢 谢