第四章图像压缩第四节压缩标准数字图像处理北京大学计算机研究所 陈晓鸥第四章图像压缩第四节压缩标准第四节 压缩标准
4.4.1 压缩标准简介
4.4.2 连续调图像压缩标准
4.4.3 二值图像压缩标准第四章图像压缩第四节压缩标准
4.4.1 压缩标准简介
制定图像标准的国际组织:
– ISO(国际标准化组织)
– CCITT(国际电报电话咨询委员会)
联合组织下进行制定的
标准的类型 ( 三类 ),
– (1) 二值图像压缩标准:面向传真而设计
– 连续调图像压缩标准:
(2) 静止帧黑白,彩色压缩:面向静止的单幅图像
(3) 连续帧黑白,彩色压缩:面向连续的视频影像第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
连续调图像压缩标准
– 静止帧黑白、彩色压缩( JPEG)
– 连续帧单色、彩色压缩( MPEG)
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
– 静止帧黑白、彩色压缩( JPEG)
JPEG标准简述
JPEG压缩流程
JPEG压缩算法的实现
– 颜色变换 零偏置转换
– 频域变换 系数量化
– 符号编码
JPEG压缩举例第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
– JPEG标准简述有三种压缩系统:
( 1) 基线编码系统,面向大多数有损压缩的应用,
采用 DCT变换压缩。
( 2) 扩展编码系统,面向递进式应用,从低分辨率到高分辨率逐步递进传递的应用
( 3) 独立编码系统,面向无损压缩的应用,采用无损预测压缩,符号编码采用哈夫曼或算术编码一个产品或系统必须包括对基线系统的支持第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
– JPEG压缩流程符号解码器
DCT
逆向变换量化器DCT正向变换构造 8x8的子图输入图像 NxN
符号编码器压缩图像压缩的图像合成 8x8
的子图解压图像颜色空间转换零偏置转换颜色空间转换零偏置转换第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
构造子图像 子图像尺寸,8 x 8
颜色空间转换人眼对亮度更敏感,提取亮度特征,将 RGB转换为 YCbCr
模型,编码时对亮度采用特殊编码:
Y = 0.299R + 0.5870G + 0.1140B
Cb = –0.1787R – 0.3313G +0.5000B +128
Cr = 0.5000R – 0.4187G – 0.0813B + 128
颜色解码:
R = Y + 1.40200(Cr – 128)
G = Y – 0.34414(Cb – 128) – 0.71414(Cr – 128)
B = Y + 1.77200(Cb –128)
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
零偏置转换
– 对于灰度级是 2n的像素,通过减去 2n-1,替换像素本身
– 对于 n=8,即将 0~255的值域,通过减去 128,
转换为值域在 -128~127之间的值
– 目的:使像素的绝对值出现 3位 10进制的概率大大减少第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩用 8x8的 JEPG基线标准,压缩并重构下列子图
52 55 61 66 70 61 64 73
63 59 66 90 109 85 69 72
62 59 68 113 144 104 66 73
63 58 71 122 154 106 70 69
67 61 68 104 126 88 68 70
79 65 60 70 77 68 58 75
85 71 64 59 55 61 65 83
87 79 69 68 65 76 78 94
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
0偏置转换后
-76 -73 -67 -62 -58 -67 -64 -55
-65 -69 -62 -38 -19 -43 -59 -56
-66 -69 -60 -15 16 -24 -62 -55
-65 -70 -57 -6 26 -22 -58 -59
-61 -67 -60 -24 -2 -40 -60 -58
-49 -63 -68 -58 -51 -65 -70 -53
-43 -57 -64 -69 -73 -67 -63 -45
-41 -49 -59 -60 -63 -52 -50 -34
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
频域变换
– 频域变换产生 64个系数
1,第一个系数称为 直流系数 ( DC系数)
2,其余的 63个系数称为 交流系数 ( AC系数)
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩正向 DCT变换( N = 8)后变成
-415 -29 -62 25 55 -20 -1 3
7 -21 -62 9 11 -7 -6 6
-46 8 77 -25 -30 10 7 -5
-50 13 35 -15 -9 6 0 3
11 -8 -13 -2 -1 1 -4 1
-10 1 3 -3 -1 0 2 -1
-4 -1 2 -1 2 -3 1 -2
-1 -1 -1 -2 -1 -1 0 -1
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
系数量化
– 采用阈值作为子图系数位置函数的量化方式所有子图使用同一个全局阈值模板,
但阈值的取值,与系数的位置相关,阈值模板给出了,不同位置上系数的相应阈值。
– 对于亮度和颜色使用不同的量化阈值模板,
并取整第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
系数量化
1) 正向量化:
Squv = round(Suv / Quv)
其中,Suv是 DCT系数,Quv量化模板系数
2) 逆向量化:
Ruv = Squv Quv
例,Sq(0,0) = round[-415/16]
= round[-25.9]=-26
Ruv(0,0) = -26 * 16 = -416
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩亮度的量化模板系数
16 11 10 16 24 40 51 61
12 12 14 19 26 58 60 55
14 13 16 24 40 57 69 56
14 17 22 29 51 87 80 62
18 22 37 56 68 109 103 77
24 35 55 64 81 104 113 92
49 64 78 87 103 121 120 101
72 92 95 98 112 100 103 99
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩颜色的量化模板系数
17 18 24 47 99 99 99 99
18 21 26 66 99 99 99 99
24 26 56 99 99 99 99 99
47 66 99 99 99 99 99 99
99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩量化变换后的数组,比例化并消去系数
-26 -3 -6 2 2 0 0 0
1 -2 -4 0 0 0 0 0
-3 1 5 -1 -1 0 0 0
-4 1 2 -1 0 0 0 0
1 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
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
符号编码
– 将量化后的系数,按之字形重新排序成矢量,
全零结尾用特殊符号 EOB
[-26 -3 1 -3 -2 -6 2 -4 1 -4 1 1 5 0 2 0 0 -1
2 0 0 0 0 0 -1 -1 EOB]
– DC和 AC用不同的方式分别编码
– DC的编码方式 ( 预测 +统计 ),
编码由两部分组成:
区间号编码 (SSSS) + 系数预测误差本身编码 (VVVV)
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
– DC的编码方式(预测 +统计)
第一步:求 DPCM (差分脉冲调制码 ),用当前的 DC,
减去前一个子图的 DC
VVVV,DIFF = DC – PRE_DC
第二步:根据 DIFF求出区间号,SSSS
– 通过 DIFF查区间编号表得出区间号 SSSS
– 根据 SSSS查哈夫曼编码表得出 SSSS的哈夫曼编码
第三步:对 VVVV编码,正数是自己,负数用补码 ( 求反 )
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
– DC的编码方式(预测 +统计)
区间表范围 DC差区间 AC区间
0 0 N/A
-1,1 1 1
-3,-2,2,3 2 2
-7,…,-4,4,…,7 3 3
-15,…,-8,8,…,15 4 4
-31,…,-16,16,…,31 5 5
-63,…,-32,32,…,63 6 6
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
– DC的编码方式(预测 +统计)
区间 DC哈夫曼编码表区间 编码 长度 区间 编码长度
0 010 3 6 1110 10
1 011 4 7 11110 12
2 100 5 8 111110 14
3 00 5 9 1111110 16
4 101 7 A 11111110 18
5 110 8 B 111111110 20
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
– DC的编码方式(预测 +统计)
例子,DC = -26
PRE_DC = -17
DIFF = -26 - ( -17) = -9
用 -9查区间表得,SSSS = 4
用 4查哈夫曼编码表得:哈夫曼编码,101
VVVV = -9 二进制编码为,1001
求反,1001 = 0110
最后的编码为,101+0110= 1010110 长度为 7位
解码时如果 VVVV部分首位为 0为负数
PreDC
-17
DC
-26
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
符号编码
– AC的编码方式编码由两部分组成:
区间号编码 (RRRR/SSSS)+系数本身 (VVVV)
第一部分:
SSSS,区间号
RRRR,该系数前值为 0的系数的个数 。
第二部分:
VVVV,系数本身编码第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
– AC的编码方式区间 AC哈夫曼编码表行程 /区间 编码 长度 行程 /区间 编码长度
0/0 1010(=EOB) 4 0/6 111000 12
0/1 00 3 0/7 1111000 14
0/2 01 4 0/8 1111110110 18
0/3 100 6 0/9 1111111110000010
0/4 1011 8 0/A 1111111110000011
0/5 11010 10 1/1 1100 5
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
– AC的编码方式举例,0 –7
RRRR = 1
查表得区间号,SSSS = 3
RRRR/SSSS = 1/3 查表得,1111001
编码长度 10位
VVVV = -7 111 求反得,000
最后编码,1111001000
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
符号编码完成后的编码数组 ( 重排的 ) 是:
1010110 0100 001 0100 0101 100001 0110
100011 001 100011 001 001 100101
11100110 110110 0110 11110100 000 1010
– 其中空格是为了可阅读性而插入的
– 完成编码的重排数组的总位数是 92,不压缩需要
8x8x8=512位 。 结果的压缩率是 512/92,或 5.6:1。
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
– 连续帧单色、彩色压缩
连续帧图像的定义
连续帧图像压缩的基本思想
帧间运动补偿预测 编码技术
H.261标准
MPEG1/2/4/7标准第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
连续帧图像的定义
– 由多幅尺寸相同的静止图像组成的图像序列,被称为 连续帧图像 。
– 与静止帧图像相比,连续帧图像 多了一个时间轴,成为三维信号,因此 连续帧图像 也被称为 三维图像 。
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
连续帧图像压缩的基本思想
– 基于如下基本假设:
在各连续帧之间存在简单的相关性平移运动。
一个特定画面上的像素量值:
1)可以根据 同帧 附近像素来加以预测,被称为:
帧内 编码技术
2)可以根据 附近帧 中的像素来加以预测,被称为:
帧间 编码技术第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
连续帧图像压缩的基本思想
– 通过减少 帧间图像数据冗余,来达到减少数据量、压缩连续帧图像体积的目的
– 将连续帧图像序列,分为 参考帧 和 预测帧,参考帧用静止图像压缩方法进行压缩,预测帧对 帧差图像 进行压缩
– 由于 帧差图像 的数据量大大小于 参考帧 的数据量,从而可以达到很高的压缩比第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
帧间运动补偿预测 编码技术
– 帧间预测编码
+?
- 熵编码帧间预测器运动补偿压缩图像块输入图像块 enfn
fn
运动补偿预测帧间误差图像运动补偿预测图像第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
帧间运动补偿预测 编码技术
– 帧间预测编码
向前预测
双向预测前一帧 当前帧前一帧 当前帧 下一帧第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
帧间运动补偿预测 编码技术
– 帧间预测编码
I 帧
– 不进行预测、进行帧内编码的编码帧(参考帧)
P帧
– 通过向前预测得到的误差编码帧
B帧
– 通过双向预测得到的误差编码帧
– 因图像序列存放在存储器中,可以使用下一帧第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
帧间运动补偿预测 编码技术
– 编码中的运动补偿
运动补偿概念是以对帧间运动的估算为基础的,若物体均在空间上有一位移,那么用有限的运动参数来对帧间的运动加以描述,如对于像素的平移运动,可用运动矢量来描述
一个来自前一编码帧的运动补偿预测像素,就能给出一个当前像素的最佳预测。预测误差和运动矢量一同参与编码第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
帧间运动补偿预测 编码技术
– 编码中的运动补偿
由于一些运动矢量之间的空间相关性通常较高,因此,一个像素的运动矢量,可以代表一个相邻像素块的运动
实现中,画面一般划分成一些不连接的像素块 (在
MPEGl和 MPEG2标准中一个像素块为 16× 16像素 ),对于每一个这样的像素块,只估算一个运动矢量第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
帧间运动补偿预测 编码技术
– 编码中的运动补偿
举例:常用的基于块的运动估算和补偿 ——块匹配法
K帧
K+l 帧块查找窗口第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
– H.261\263标准
H.261\263标准是由 CCITT制定的
ccitt 国际电话与电报咨询委员会,它现在被称为 itu-t (国际标准化组织电讯标准化分部),
是世界上主要的制定和推广电讯设备和系统标准的国际组织,它位于瑞士的 geneva.
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
– H.261标准
应用范围,ISDN的视频会议
主要编码技术:
– DCT变换
– 向前运动补偿预测
– Zig-zag排序
– 霍夫曼编码
IPPPPPPIPPP.....
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
– H.263标准
应用范围:可视电话
主要编码技术:
– DCT变换
– 双向运动补偿预测
– Zig-zag排序
– 霍夫曼编码
IBBPBBPBBIBBP,,,,
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
– MPEG1/2/4/7标准
MPEG1/2/4/7标准由 ISO/IEC制定的
ISO是国际标准化组织
IEC是 国际电工委员会,是非政府性国际组织,是世界上成立最早的专门国际标准化机构。正式成立于 1906 年。
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
– MPEG1标准
应用范围:视频 CD_ROM存储、视频消费
主要编码技术:
– DCT变换
– 前向、双向运动补偿预测
– Zig-zag排序
– 霍夫曼编码、算术编码
– 每 15帧至少要有一个 I帧
IBBPBBPBBIBBP,,,,
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
– MPEG2标准
应用范围:数字电视、高质量视频、有线电视、视频编辑、视频存储
主要编码技术:
– DCT变换
– 前向、双向运动补偿预测
– Zig-zag排序
– 霍夫曼编码、算术编码
– 每 15帧至少要有一个 I帧
IBBPBBPBBIBBP,,,,
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
– MPEG4标准
应用范围:互联网、交互视频、移动通信
主要编码技术:
– DCT变换、小波变换
– 前向、双向运动补偿预测
– Zig-zag排序
– 脸部动画、背影编码
– 霍夫曼编码、算术编码
– 每 15帧至少要有一个 I帧
IBBPBBPBBIBBP,,,,
第四章图像压缩第四节压缩标准
4.4.2 压缩标准,连续调图像压缩
– MPEG7标准
下节课介绍第四章图像压缩第四节压缩标准
4.4.3 压缩标准:二值图像压缩
二值图像压缩标准
– 基本思想
– 一维压缩
– 二维压缩
– CCITT Group3
– CCITT Group4
第四章图像压缩第四节压缩标准
4.4.3 压缩标准:二值图像压缩
– 基本思想:
采用 行程编码 与 静态的哈夫曼编码 相结合
由于是二值图像,不用为灰度值编码 。
只给行程长度编码,且 黑和白的长度分别使用不同的编码 。
按行压缩
CCITT Group3采用一维编码与二维编码结合
CCITT Group4采用二维编码第四章图像压缩第四节压缩标准
4.4.3 压缩标准:二值图像压缩
– 一维压缩 基本思想:
1)每一行行首、尾编码
行首,用一个白行程码开始 。 如果行首是黑像素,则用零长度的白 00110101开始 。
行尾,用行尾编码字 (EOL)000000000001结束 。
2) 图像首,尾编码
图像首行,用一个 EOL开始 。
图像结尾:用连续 6个 EOL结束 。
3) 图像内部编码
内部编码:长度小于 63的用哈夫曼编码,大于 63的用组合编码:大于 63的长度编码 + 小于 63的余长度编码第四章图像压缩第四节压缩标准
4.4.3 压缩标准:二值图像压缩长度小于 63的哈夫曼编码行程长度 白编码 黑编码
0 00110101 0000110111
1 000111010
2 0111 11
3 1000 10
4 1011 011
5 1100 0011
61 00110010 000001011010
62 00110011 000001100110
63 00110100 000001011011
第四章图像压缩第四节压缩标准
4.4.3 压缩标准:二值图像压缩长度大于 63的组合编码行程长度 白编码 黑编码
64 11011 0000001111
128 10010 000011001000
192 010111000011001001
256 0110111 000001011011
320 00110110 000000110011
384 00110111 000000110100
1600 010011010 0000001011011
1664 0110000000001100100
1728 010011011 0000001100101
第四章图像压缩第四节压缩标准
4.4.3 压缩标准:二值图像压缩
– 二维压缩
1) 基本思想:
利用上一行相同 改变元素 的位置,来为当前行编码
假设相临两行改变元素位置相似的情况很多
且上一行改变元素距当前行改变元素的距离,小于行程的长度,
从而可以降低编码长度
a0
b1 b2
a1 a2
参考行当前行第四章图像压缩第四节压缩标准
4.4.3 压缩标准:二值图像压缩
2) 定义几个重要符号:
参 考 行,当前处理行的前一行 。
改变元素,与前一个像素值不同的像素参考元素,一共有 5个 ( 当前行 3个,参考行 2个 ),
1,a0:当前处理行上,与前一个像素值不同的像素 。
行首元素是本行的第一个 a0
2,a1,a0右边下一个改变元素 。
3,a2,a1右边下一个改变元素 。
4,b1:参考行上在 a0右边,且与 a0值相反的改变元素
5,b2,b1右边下一个改变元素 。
a0
b1 b2
a1 a2
参考行当前行第四章图像压缩第四节压缩标准
4.4.3 压缩标准:二值图像压缩
3) 编码方法:对三种情况的三种编码方式:
( 1) 通过编码 方式:
条件,b2在 a1的左边,排除参考行两个改变元素都在
a1左边的情况
编码,0001,
动作:把 a0移到 b2的下面
b1 b2
a1 a2a0 新 a0
第四章图像压缩第四节压缩标准
4.4.3 压缩标准:二值图像压缩
3) 编码方法:对三种情况的三种编码方式:
( 2) 水平编码 方式:
条件,a1到 b1之间的距离大于 3,放弃利用上一行编码
编码,001+M(a0a1)+M(a1a2),M:一维行程编码
动作:把 a0移到 a2。
a0
b1 b2
a1 a2
a1 b1
第四章图像压缩第四节压缩标准
4.4.3 压缩标准:二值图像压缩
3)编码方法:对三种情况的三种编码方式:
( 3) 垂直编码 方式:
条件,a1到 b1之间的距离小于等于 3,利用上一行编码。
编码:见 CCITT二维编码表 ( 下页 )
动作:把 a0移到 a1
a0
b1 b2
a1 a2
a1b1
第四章图像压缩第四节压缩标准
4.4.3 压缩标准:二值图像压缩
4) CCITT二维编码表
a1与 b1的距离 编码:
a1在 b1下面,1
a1在 b1右边 1个 001
a1在 b1右边 2个 000011
a1在 b1右边 3个 0000011
a1在 b1左边 1个 010
a1在 b1左边 2个 000010
a1在 b1左边 3个 0000010
第四章图像压缩第四节压缩标准
4.4.3 压缩标准:二值图像压缩开始新行水平方式编码
a0置于 a2a0置于 b2下
a0置于首像素前检测 a1,b1,b2
b2在 a1左边
a0置于 a1
|b2a1|? 3
否垂直方式编码是否通过方式编码是 检测 a2
否结束编码行是行尾第四章图像压缩第四节压缩标准
4.4.3 压缩标准:二值图像压缩
– CCITTGroup3
基本思想:
– Group3标准应用了一种非适应的,一维和二维混合的行程编码技术
– 在该编码中,每一个 K行组的最后 K-1行 ( K
= 2或 4),有选择地用二维编码方式 。
第四章图像压缩第四节压缩标准
4.4.3 压缩标准:二值图像压缩
– CCITTGroup4
基本思想:
– Group4标准是 Group3标准简化或改进版本
– 只用二维压缩编码 。 且为非适应二维编码方法
– 每一个新图像的第一行的参考行是一个虚拟的白行第四章图像压缩第四节压缩标准请提问