520 likes | 673 Views
第 8 章 有损压缩算法. 图像的有损压缩. 变换编码 离散余弦变换 小波变换 嵌入零树小波系数. 变换编码. Y1. X2. Y2. X1. 变换编码例. ( A 1 A 2 ) ( B 1 B 2 ) ( C 1 C 2 ) ( D 1 D 2 ) ( E 1 E 2 ) …. ( o 1 o 2 α ) ( A’ 1 0 ) ( B’ 1 0 ) ( C’ 1 0 ) ( D’ 1 0 ) ( E’ 1 0 ) …. 什么是变换编码.
E N D
图像的有损压缩 • 变换编码 • 离散余弦变换 • 小波变换 • 嵌入零树小波系数
Y1 X2 Y2 X1 变换编码例 (A1A2) (B1B2) (C1C2) (D1D2) (E1E2) … (o1o2 α) (A’10) (B’10) (C’10) (D’10) (E’10) …
什么是变换编码 • 原始图象从空间域(图象)变换到频率域,使得信号中最重要的部分(例如包含最大能量的一些系数)在变换域中易于识别,并集中出现,从而可以重点处理;使能量较少的部分可以进行粗略的处理,达到压缩数据的目的。 设: 原始图象为X, 变换矩阵为T, 则: Y = T * X, Y就是变换后的图象. • 变换编码是一种有失真的编码,常用的有DCT、K-L等。
正交变换 设: 原始图象为X, 变换矩阵为T, 均为方阵. 则: Y = T * X, Y就是变换后的图象. 若 变换矩阵T满足: T’ * T = I, 即 T’ = T-1, 则 变换T称为正交变换. 由Y还原出原始图象X的方法是: X= T’ * Y
离散余弦变换(DCT) (其中, 当u=0时, C(u)=√2 / 2, 否则, C(u)= 1) F(0) = ( 1 1 1 1 1 1 1 1 ) · (f (0) f (1) … f (7)) F(1) = ( ) · (f (0) f (1) … f (7) ) F(2) = ( ) · (f (0) f (1) … f (7)) …
离散余弦变换的特性 • DCT后的信号是原信号的频谱,其中F(0)是直流系数,其它为交流系数. F(0)与原始信号的平均强度成正比。 • DCT变换是标准正交变换 • DCT变换是线性变换,即满足:
离散余弦逆变换(IDCT) (其中, 当u=0时, C(u)=√2 / 2, 否则, C(u)= 1)
2D离散余弦变换(DCT) f0,0 ……f0,7 f7,0 ……f7,7 设 f(i, j) = 是64个象素的子图象块, 则DCT变换为: IDCT变换为: (其中, 当u=0,v=0 时, C(u)=C(v)=√2 / 2, 否则, C(u)= C(v)=1)
Fu,v称为DCT系数,其中F0,0是直流系数,其它为交流系数. F0,0与原始图象的平均亮度成正比。 (u+v)较小的系数代表低频成分,(u+v)较大的系数代表高频成分. 多数情况下高频成分数值很小,甚至有许多“0”. 8x8的块大小比较适中. 低频成分 F0,0 ……F0,7 F7,0 ……F7,7 高频成分 设频域图像表示为 F(u,v) = 频域图象F(u,v)的解释
原始图像块 f(i, j) DCT变换举例 频域图像块 F(u,v)
DCT与DFT的比较 DFT: DCT:
DCT的不足 • 余弦变换考察的是整个时域过程的频域特征,因此对于平稳过程有很好的效果,但对非平稳过程不合适。 • 由于对原始图像进行了分块的DCT变换和量化,所以 在高压缩比场合,重建图像在水平和垂直方向会出现晕圈、幻影,产生“方块”效应。 • 如果不分块或分块很大,那么图像块中像素能量集中到少量系数的效果将变得不明显,不利于对数据进行压缩,同时还使得计算复杂度增加。
什么是小波 • 一种函数:具有有限的持续时间、突变的频率和振幅波形可以是不规则的,也可以是不对称的在整个时间范围里的幅度平均值为零
发展史 • 1807: Joseph Fourier:一个信号可表示成一系列正弦和余弦函数之和,叫做傅里叶展开式。 • 1910: Alfred Haar发现Haar小波 • 1945: Gabor提出STFT(short time Fourier transform) • 1980: Morlet提出了CWT (continuous wavelet transform)
发展史(续) • 1986年,法国科学家Y.Meyer创造性地构造出具有一定衰减性的光滑函数,他用缩放(dilations)与平移(translations)均为 2的j次幂的倍数构造了平方可积的实空间L2(R)的规范正交基,使小波得到真正的发展 • 1988年,S.Mallat在构造正交小波基时提出了多分辨率分析(multiresolution analysis)的概念, 从空间上形象地说明了小波的多分辨率的特性;提出了正交小波的构造方法和快速算法,叫做Mallat算法。该算法统一了在此之前构造正交小波基的所有方法,它的地位相当于快速傅里叶变换在经典傅里叶分析中的地位。
什么是小波变换 • 傅立叶变换 • 小波变换
Example of 1D Haar DWT {xn,i}={10,13,25,26,29,21,7,15} {xn-1,i, dn-1,i}={11.5,25.5,25,11,-1.5,-0.5,4,-4} {xn-2,i , dn-2,i, dn-1,i}={18.5,18,-7,7,-1.5,-0.5,4,-4} {xn-3,i ,dn-3,i, dn-2,i, dn-1,i}={18.25,0.25,-7,7,-1.5,-0.5,4,-4}
低通滤波器保留信号中的低频成分,消除高频成分,其结果是得到一个模糊的信号低通滤波器保留信号中的低频成分,消除高频成分,其结果是得到一个模糊的信号 Y(2n) 低通滤波器 h0(n)=(-1 2 6 2 -1)/8 X(n) 小波系数 Y(2n+1) 高通滤波器消除低频成分,保留信号中的高频成分(如边缘、纹理和细节) 输入信号: X(n) ; 输出信号: Y(n) Y(2n) 为X(n) 中的低频成分; Y(2n+1) 为X(n) 中的高频成分。 高通滤波器 h1(n)=(-1 2 -1)/2 1D DWT • 正向1维DWT 可以理解为一对低通和高通滤波器,(称为分析滤波器组)以及紧随着的2:1的亚取样器。
整数(5,3)双正交滤波器组 低通滤波器 h0(n)=(-1 2 6 2 -1)/8 h0(n)=(1 2 1)/2 高通滤波器 h1(n)=(-1 2 -1)/2 h1(n)=(-1 -2 6 –2 -1)/8 n Low-pass, h0(n) h0(n)n High-pass, h1(n)n h1(n) 03/4 +1 -1 +1 1 +3/4 ±1 1/4 +1/2 -2, 0 -1/2 0, 2 -1/4 ±2 -1/8 -1, 3 -1/8
原始信号: 0 0 0 0 1 0 0 0 1 0 0 0 0 0 低频小波系数: 0¼ ¼ ¼ ¼ 0 0 高频小波系数: 0 0 1 0 1 0 0 (5,3) 滤波器组应用举例(小波分解) h0(n)=(-1 2 6 2 -1)/8 低通滤波器输出: 0 0-1/8 ¼ ¾ ¼ -¼ ¼ ¾ ¼ -1/8 0 0 0 h1(n)=(-1 2 -1)/2 高通滤波器输出: 0 0 0 0-½ 1 -½ 0 -½ 1 -½ 0 0 0
合成滤波器组 分析滤波器组 小波系数 1D DWT的信号重建 • 小波系数的数目与原始样本数目相同 • (h0, h1) 滤波器组的设计应使得小波系数仍包含原始信号的所有信息,这就称为具有完全重建 (perfect reconstruction,PR)的性质 • 向上取样(插入样本) • 使用一对合成滤波器组(g0, g1) 分别进行低通和高通滤波 • 将滤波器的输出相加
低频小波系数: 0¼ ¼ ¼ ¼ 0 0 高频小波系数: 0 0 1 0 1 0 0 重建信号: 0 0 0 0 1 0 0 0 1 0 0 0 0 0 (5,3) 滤波器组应用举例(小波合成) h0(n)=(1 2 1)/2 插值: 000¼0¼0¼0¼0000 低通滤波器输出: 0 01/8 ¼¼¼ ¼ ¼ ¼ ¼ 1/8 0 0 0 h1(n)=(-1 -2 6 -2 -1)/8 插值:0 0 0 0 0 1 0 0 0 1 00 0 0 高通滤波器输出: 0 0 -1/8 -¼3/4-¼-¼-¼3/4-¼-1/80 0 0
浮点Daubechies(9,7)双正交滤波器组 n Low-pass, h0(n)Low-pass, h0(n) 0 +0.602949018236360 +1.115087052457000 ±1 +0.266864118442875 +0.591271763114250 ± 2 -0.078223266528990 -0.057543526228500 ± 3 -0.016864118442875 -0.091271763114250 ± 4 +0.026748757410810 n High-pass, h1(n) n High-pass, h1(n) -1 +1.115087052457000 1 +0.602949018236360 -2, 0 -0.591271763114250 0, 2 -0.266864118442875 -3, 1 -0.057543526228500 -1, 3 -0.078223266528990 -4, 2 +0.091271763114250 -2, 4 +0.016864118442875 -3, 5 +0.026748757410810
2 2 h000 2 h00 h0 h001 2 X(n) h01 一级分解 二级分解 三级分解 2 h1 2 多级1D小波分解
L 列 行2取1 行 列2取1 图象 对图象的每一行进行1-D DWT和亚取样,得到2个子带图象。 对子带图象的每一列进行1-D DWT和亚取样,得到4个子带图象。 H 图像的小波分解2D DWT
原始图像与一级小波分解后图像的比较 • 从变换图像的HL和LH频带图像可以看出,HL频带较为集中地反映了原图象水平方向的低频成分位置,而LH频带则反映了原图象的垂直方向的低频成分位置。
水平方向 垂直方向 3LL 3LH 3HL 3HH 2LL 2HL 2HL 1LL 1HL 1HL 1HL 2LH 1HH 2LH 1HH 1HH 1LH 1HH 1HH 1LH 1LH (一级小波分解) (二级小波分解) (三级小波分解) 图像的多级DWT 得到4个图像(子带) • 对图像的每一行进行1-D DWT, 亚取样; • 对结果图像的每一列进行1-D DWT,亚取样
小结:DWT 的优点 • 具有多分辨率(multi-resolution)图象表示的性质. • 变换是针对整幅图象进行的,能在大范围内消除图象的相关性,高倍压缩时也不产生块状效应. • 整数DWT滤波器的使用,允许在单一的码流中既有无损压缩又有有损压缩 • 小波变换把图象分解为若干子频带,因而能利用人的视觉特性,对不同子带的数据进行粗细不同的量化处理,大大提高了效率。
1993年Shapiro提出: Embedded Zerotree Wavelet(EZW) 1996,Said and Pearlman, SPIHT 2000,Taubman,EBCOT,被Jpeg2000采用 张亚勤 MZW 解决的问题 如何对小波系数进行编码 在码率一定下,如何获得最佳质量 如何实现嵌入形式的编码 简介
零树结构 • 基于位平面的编码 • 父子结构 • 所有的系数可分为4类: • 零树根t • 孤独零z • 正大系数p • 负大系数n
数据结构用到两个表: 主表:编码中的不重要系数,其输出信息起到了恢复各重要值的空间位置结构的作用 辅表:编码中的重要系数,输出值为重要系数的二进制值。 编码分为主、辅两个过程: 主过程中,设定阀值为Ti,按顺序对主表进行扫描编码,若是重要系数,则将其加入辅表中,然后将该系数置零。 辅过程中,对辅表中的重要系数进行细化,若系数为于[Ti,3Ti/2],则用0表示,否则用1表示 逐次逼近量化(SAQ)