版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、,第6章变换编码,6.1变换编码的基本概念和原理 6.2KLT编码 6.3DCT编码 6.4时-频局部化对变换的要求 6.5小波变换 6.6DCT与小波变换的性能比较 习题与思考题,6.1变换编码的基本概念和原理6.1.1变换编码的概念与历史20世纪70年代后,科学家们开始探索比预测编码效率更高的编码方法,这就是变换编码。变换编码是指先对信号进行某种函数变换(一般采用正交变换),从一种信号空间变换到另一种信号空间,然后再对变换后的信号进行编码。如将时域信号变换到频域,因为声音、图像大部分信号都是低频信号,在频域中信号的能量较集中,再进行采样、编码,那么就能够压缩数据。以大家熟悉的傅里叶变换为例
2、,时域的单频正弦信号经过傅里叶变换后,成为频域的单根谱线,在频域描述单根谱线所需要的比特数显然少于在时域描述正弦信号的比特数,从而实现数据压缩。,变换编码的通用模型如图6-1所示,它一般经过映射变换、变换域系数二次量化、量化系数的统计编码(熵编码)三个步骤。映射变换的作用是把信号从一个域变换到另一个域,使信号在变换域容易进行压缩,变换后的样值更独立和有序。在采用实数变换的情况下,变换编码一般为可逆变换,即变换前和变换后的数据是一一对应的,变换编码的数据压缩作用主要是依靠二次量化和统计编码实现。广义上说,预测编码、游程编码等都可以纳入图6-1所示模型,只是根据实用技术上的习惯,未将其归入变换编码
3、范畴。,图6-1变换编码通用模型,原始图像及其幅度谱,33 percent coefficients containing 99 percent of total energy (not including DC component),10 percent coefficients containing 97 percent energy,5 percent coefficients containing 95 percent energy,2 percent coefficients containing 92 percent energy,6.1.2正交变换与正交矩阵首先,根据矩阵代数理论
4、,线性变换可以定义为Y=AX (6-1)其中, X为矢量信号,X=(x1, x2, , xN)T是由N个分量组成的列向量;A是一个NN 的矩阵,称为此变换的核矩阵;变换结果Y=(y1, y2, , yN)T也是由N个分量组成的列向量,称为X的像。式(6-1)反映了Y坐标系与X坐标系的基矢量之间的关系。如果线性变换能保持N维矢量信号X的模X不变,则称此变换为正交变换,此时A为正交矩阵。A为正交矩阵的充要条件为AAT=ATA=I (6-2),其中, I为单位阵,AT为A的转置。又AA1=I,因此正交矩阵为满秩阵,其逆矩阵A1等于它的转置矩阵AT,即A1=AT。由于逆矩阵的存在,保证了可用反变换得到
5、唯一确定的复原信号X,即正交变换保证了X与Y的一一对应关系,如式(6-3)所示。这是一个能使正交变换在媒体信号压缩编码中得到应用的重要性质。X=ATY=ATAX=X (6-3)其次,根据矩阵代数理论,一个实对称矩阵,必然存在一个正交矩阵Q及其转置矩阵QT,使得: QQT= (6-4)式中,为对角阵,即,l1, l2, , lN为实对称矩阵F的N个特征根,而矩阵QT=q1q2qNT的第i个列向量qi(称为矩阵F的特征向量)和F的特征根li满足,(6-5),(6-6),(6-7),(6-8),6.1.3正交变换的压缩原理现在以一个简单的例子说明变换编码实现数据压缩的基本原理。设对一个缓变均匀分布的
6、信号的采样值采用3比特进行编码,每个样本有23=8个幅度等级,则相邻两个样值x1和x2的联合事件x1x2共有88=64种可能性,可以用图6-2所示的二维平面坐标表示,其中x1轴和x2轴分别表示相邻两样本的可能取值。由于信号缓慢变化,那么相邻两个样值的幅度等级变化差异不大,那么联合事件x1x2出现在图6-2所示的阴影区内的概率就很大。或者说,绝大多数的x1x2联合事件位于图6-2所示的阴影区内。不妨将此阴影区称为x1和x2相关区,x1和x2越相关,此阴影区越扁;x1和x2越不相关,此相关区就越加“方圆”。如果相邻两个样值幅度等级最多差1,那么x1x2联合事件全部出现在此阴影区内。,图6-2正交变
7、换示意图,6.2KLT编码KLT可使变换后的各个分量之间在统计上互不相关。离散KLT有时也称为霍特林(Hoteling)变换,经霍特林变换后离散信号的各分量不再具有相关性。下面讨论KLT及其性质。对于一个离散信号序列,若每一个信号由n个样点组成,那么就可以将该信号视作一个n维空间的点,而每个样值代表n维信号矢量空间的一个分量,记作X=(x1,x2,xN)T。矢量X的协方差矩阵X可以表示为,(6-9),由于X为实对称阵,由式(6-4)可知,必存在一个与协方差矩阵X相对应的正交矩阵Q,其列向量是矢量信号X的协方差矩阵X的特征向量。我们用正交矩阵Q对信号X作正交变换,即Y=QX (6-10)这个变换
8、的基本思想是Karhunen和Loeve分别在1947年和1948年提出来的,因此被称为KLT,Q为KLT矩阵,其主要性质如下所述。1. 去相关性KLT使变换后的矢量信号Y的各分量互不相关。要证明矢量信号Y的各分量互不相关,也就是要证明Y的协方差矩阵为对角型。根据协方差矩阵的定义,可以得到,Y =EYE(Y)YE(Y)T (6-11)将式(6-10)代入式(6-11),有由此可以得出结论, Y为对角阵,Y的各分量之间不存在统计相关性。这也就是说,X各分量的相关性被完全去除,这正是采用正交变换编码所希望得到的结果。,(6-12),2. 能量集中性KL变换的能量集中性体现在两个方面:一方面,变换后
9、Y矢量的协方差矩阵Y只在主对角线上值不为零;另一方面,主对角线上的元素的大小按左上角到右下角的顺序依次排列,这也就是说,最大的方差将集中在前m个分量之中。3. 最佳性在最小均方误差准则下,KLT是失真最小的变换。它是从数据压缩角度提出的。首先,正交变换是“模”保持变换,因此变换域信号Y的能量与原始信号X的能量是相等的,变换本身一般是可逆变换,它不牵涉到数据失真,只是使信号易于压缩编码。其,次,为实现更高性能的数据压缩,必须删除部分能量,这就带来了失真。设只保留前m n个分量(n为信号维数),则解码时也只能恢复m个分量。最后,若删除的nm个信号分量的均值为零,则理论上可以证明KLT可使恢复信号的
10、均方误差最小,且这个最小值等于变换域被删除的最小nm个矢量信号的方差之和,即本性质对在一定保真度要求下,应用KLT进行媒体信号压缩编码具有指导意义。该性质指出,对于零均值信号,KLT以后,用“省略”较小的对角线分量的方法进行数据压缩编码,可使均方误差最小。,(6-13),但在实践中,使用KLT还是受到很大限制,原因在于两方面: KLT的变换矩阵随数据集的不同而不同,它需要知道信源的协方差矩阵并求出特征值和特征向量,而求特征值和特征向量非常困难,有时连信源的协方差矩阵都得不到。 即使借助于计算机能求解出特征值和特征向量,也很难满足实时编码的要求;而且还需要将这些信息传输给解码端,这反过来又不利于
11、压缩码率。,在早期的编码实践中,用KLT在13.5 kb/s下得到的语音质量与56 kb/s的PCM语音质量接近;在2比特/像素编码下的图像质量与7比特/像素的PCM质量相当。在当代的编码实践中,人们更多的是寻求一些不是“最佳”,但也有较好去相关和能量集中性能,而实现容易得多的变换编码算法,如离散余弦变换、小波变换、改进余弦变换等,而KLT就常常作为这些变换性能的评价标准。,6.3DCT编码6.3.1DCT概述 图像的正交变换编码始于1968年。当时, H.C.Andrews等人基于大多数自然图像的高频分量相对幅度较低,可完全舍弃或者只用少量码字编码而失真不大的认识,提出不对图像的空域样点进行
12、编码,而对其二维DFT系数进行编码和传输。 DFT是一种复变换,运算量大,不易实时处理。 1969年,他们发现利用Walsh-Hadamard变换(WHT)取代DFT可使运算量大大减少。后来又提出了比WHT更快速的Haar变换(HRT)和能匹配图像亮度线性变化的斜变换(SLT)等。更有意义的是, N.Ahmed等人于1974年提出了离散余弦变换(DCT),它,的变换矩阵的基向量近似于Toeplitz矩阵的特征向量,而Toeplitz矩阵又体现了信号的相关特征。因此, DCT被认为是对语音和图像信号的准最佳变换,其性能接近KLT。自从提出DCT以后,DCT已被广泛应用于语音及图像数据压缩领域。D
13、CT在理论上是次最佳正交变换,但是它在去相关与能量集中性上仅次于KLT,具有快速算法且算法结构具有很强的规律性,实现上非常高效,这些使得DCT在图像编码中占有重要的地位。,DCT的基本原理如下:它先将图像分成NN像素块,然后对NN像素块逐一进行二维DCT(2D-DCT)。由于大多数图像的高频分量较小,相应于图像高频分量的系数经常为零,加上人眼对高频成分的失真不太敏感,所以可用更粗的量化。因此,传送变换系数的数码率要大大小于传送图像像素所用的数码率。到达接收端后通过反离散余弦变换(IDCT)恢复到初始样值,虽然会有一定的失真,但人眼是可以接受的。,DCT矩阵的元素都是小数,实际应用中用浮点表示不
14、利于降低应用成本,若改用定点表示就可能在精度损失不多的情况下采用定点器件实现。另外,对变换后的数据一般也会进行二次量化,而量化本身就会带来失真,所以变换环节有一点失真也是可以接受的。所以,变换编码一般为有失真压缩编码。另外,在新的视频编码标准H.264中,也开始直接采用整数变换(近似DCT)。,6.3.2DCT定义长度为M的一维序列x(m)|m=0,1,M1的一维离散余弦变换(1D-DCT)定义为反变换(IDCT)定义为其中, 。,(6-15),(6-14),可见,1D-DCT正反变换的变换核都是a(k, m),k =0,1,M1称为DCT的基向量元素组,它满足如下正交条件:,(6-16),(
15、6-17),根据式(6-14)可以得到1D-DCT的矩阵表示形式为,(6-18),数字图像x(m,n)实际是一个MN的数据矩阵,为了减弱或去除图像数据的空间相关性,可以用二维DCT将图像从空间域(MN平面),转换到DCT域(KL平面)。二维DCT(2D-DCT)定义为其中,K=0, 1, 2, , M1;L=0, 1, 2, ,N1;,(6-19),变换核为,(6-20),令上式可以分离成g(m, n, K, L)=U(m, k)V(n, L)所以可改写成,(6-21),令则这样, 二维DCT实际上就已分解成双重一维DCT了。,(6-22),2D-DCT的反变换2D-IDCT的定义为由此可知,
16、二维DCT和IDCT的计算过程都可以采用先后进行两次一维DCT和IDCT,这种方法被称为行、列分离算法。,(6-23),【例6-1】试对协方差矩阵X作DCT,其中【解】由X可知,M=4。根据式(6-16),可知4点DCT的变换核为其中,,对FX作变换,变换后的矩阵记为FY,得可以看到,本例中FX满足Toeplitz矩阵的条件,即沿对角线方向的元素都相同。由变换结果可知,它与KLT的结果一样。,6.3.3快速算法按照式(6-14)计算N点1D-DCT需要N2次乘法和N(N1)次加法,而计算一个NN的图像块的2D-DCT在采用行列分离后需要2N3次乘法和2N2(N1)次加法。对于常用的88图像块,
17、这需要1024次乘法和896次加法。为大幅度降低计算量,许多学者从多方面进行研究,提出许多快速离散余弦变换FDCT算法,包括利用FFT、代数分解、矩阵分解等方法。这里将重点介绍利用代数分解的FDCT算法。下面以N=8为例,首先介绍一种比较简单的1D-DCT算法。这类算法尽量利用DCT定义式中的对称性,以减少运算过程中的加法和乘法次数。先作如下符号定义:,以上符号中,Ck和Sk代表DCT的系数, sjk代表样值的和,djk代表样值的差。于是,8点1D-DCT的变换系数Y(k)|k=0,1,7可写成如下的形式:2Y(0)=C4(s0734+s1625),其中s0734=s07+s34,s1625=
18、s16+s25;2Y(1)=C1d07+C3d16+C5d25+C7d34;2Y(2)=C2d0734+C6d1625,其中d0734=s07s34,d1625=s16s25;2Y(3)=C3d07C7d16C1d25C5d34;2Y(4)=C4(s0734s1625);2Y(5)=C5d07C1d16+C7d25+C3d34;,2Y(6)=C6d0734C2d1625;2Y(7)=C7d07C5d16+C3d25C1d34。从上面的式子可以看出,现在计算一个8点1D-DCT只需22次乘法和28次加法, 只是简单地利用系数的对称性,然后反复地在运算中使用样值的和、差,就可以使计算量大幅度的下降
19、。Ligtenberg和Vetterli改进了上述代数分解方法,用更加复杂的快速算法进一步减少了计算量,其FDCT算法的流程图如图6-3所示。,图6-3Ligtenberg和Vetterli的FDCT算法流程17,在图6-3中,运算流从左至右,相互交于一节点的线彼此相加或相减。小方块中的C4表示用C4乘以该信号。标注“ROT”的单元为旋转运算单元,此运算单元输入端子如果标注“+”,则经此端子进入运算单元的信号极性不变;如果标注“”,则经此端子进入运算单元的信号极性发生改变(乘以-1)。旋转运算单元定义如下:,(6-24),从式(6-24)中可以看到,一次旋转需要4次乘法和2次加法。此式还可以通
20、过变换表示成式(6-25)所示的3次乘法和3次加法的形式。由此可以统计图6-3中的运算量为13次乘法和29次加法。需要指出的是,随着微处理器性能的不断提高,许多处理器都能完成单周期的乘法运算和加法运算,因此有些FDCT算法虽然具有较少的乘法和加法次数,但由于其复杂的取址方式,在现代处理器条件下,实际计算复杂度不一定是最优的。,(6-25),6.3.4基于DCT的图像编码基于DCT的图像编解码框图如图6-4所示,其关键模块为:DCT、量化、熵编码。该过程一般为有损压缩编码。,图6-4基于DCT的图像编解码框图,1. DCT经过大量图像信号在DCT域的统计分析发现,图像数据经DCT后,频谱系数主要
21、成分集中在比较小的范围,且主要位于低频部分。进行图像的DCT时,并不是对整幅图像进行一次DCT,而是将图像划分成尺寸相同的块(例如88、1616或3232的块),然后再对每个块分别进行DCT,其原因在于:一方面,小块图像的DCT的计算更容易;另一方面,距离较远的像素之间相关性比距离较近的像素之间相关性小。 下面举例介绍图6-4所示的基于DCT的图像压缩编码过程。【例6-2】表6-1所示为一个88图像块在空间域的亮度采样值,试对它进行基于DCT的图像编码。,表6-1空间域的88图像块,表6-2是对表6-1数据进行二维DCT且经过取整后得到的88变换域系数。从表6-1可以看出,在空间域相邻像素间的
22、相关性强,采样值比较接近。从表6-2可以看出,经过变换和取整后,大部分系数为0,只有少数系数不为0。数值较大的系数主要集中在变换系数矩阵的左上角,数值较小的系数位于矩阵的右下角处。,表6-2DCT域取整的88图像块,2. 量化量化的目的是减小非0系数的幅度以及增加0值系数的数目。在DCT图像编码中,可以采用均匀量化或非均匀量化进行标量量化。当采用非均匀量化时,量化步长是按照系数所在的位置和性质来确定。首先,由于人眼对亮度信号和色度信号的敏感程度不同(人眼对亮度更敏感),亮度信号和色度信号使用不同的量化表,亮度系数的量化步长一般小于色度系数的量化步长;其次,低频系数和高频系数的量化步长也不一样,
23、一般低频系数反映图像的整体情况,高频系数反映图像的边缘细节,低频系数更重要,因此低频系数的量化步长要小于高频系数的量化步长。,JPEG标准采用非均匀量化,其量化系数表Q(k,l)如表6-3所示。量化过程就是简单地将变换系数除以相应的量化步长,然后四舍五入进行取整,即反量化过程则表示为X(k, l)=c(k, l)Q(k, l) (6-27),(6-26),表6-3JPEG的标准量化表,表6-2的数据经过量化后,得到的数据如表6-4所示。从表6-4中的数据可以看出,图像数据经过DCT和量化后,其绝大部分数据都已经变为0,因而编码传输DCT变换域的系数比编码传输图像空域的系数所需要的码率要小很多。
24、,表6-4采用JPEG量化表量化后的88图像块,3. 熵编码熵编码就是要使编码后的图像平均比特数R尽可能接近图像熵H,达到进一步减少图像数据编码码率的目的,其基本原理在第4章已经介绍过。图像中常用的熵编码是Huffman编码,它在输入符号概率空间已知的情况下,是最佳变长编码,并且是可逆编码,即熵解码后的数据可以无失真地恢复。这就是说,在对表6-4所示数据进行熵编码后(在第4章例4-5有详细介绍),在解码端可以无失真地恢复出表6-4的数据,但由于DCT编码过程中的取整和量化的影响,最后在解码端恢复的数据是不同于原始数据的,是有失真的,如表6-5所示。,表6-5经反量化和反变换后恢复出的空间域的数
25、据,4. 基于块的图像DCT编码的缺点目前采用的图像DCT编码都是基于块的,即首先将图像分成88的像素块,然后对每块进行DCT得到64个DCT系数。这样虽然大大减少了运算量,但是由于对每块进行DCT,块与块之间的相关性就被忽略了;另外, 在对每块的DCT系数进行量化时,是将DCT系数除以量化步长后取整,丢弃一些对图像影响不大的高频分量,以达到降低码率的目的,但是如果量化比较粗糙,就会丢失边缘的大量高频信息,这两方面的原因会造成:(1) 重建图像质量的较大损失会使图像变得模糊,重建图像总体效果会呈现一种被平滑的感觉。,(2) 重建图像中块的边界处出现不连续的跳变,形成“块效应”, 特别是在低比特
26、率时,解码恢复出的图像的块边界上会出现明显可见的方块效应,从而降低了图像的视觉质量。以上这两点均在图6-5中得到反映。,图6-5DCT域的图像处理,6.3.5修正离散余弦变换(MDCT)我们知道,正交变换通常分块进行,而每块的变换系数一般独立编码,相继块的量化误差未必相同,因此分块正交变换在边界处存在着固有的不连续性。在图像编码中,这种不连续性可能在块边界处产生较明显的幅度差异,从而造成人眼非常敏感的“方块效应”。为降低这种影响,最方便的方法就是利用各种滤波器来平滑块边界处的不连续性。这种方法的缺点在于会或多或少地模糊图像的细节。另一种思路是设法重叠相邻分块的部分数据样点再做变换:首先利用本块
27、M个采样和两个相邻块各K/2个采样构成M+K个样本,加窗后做M+K点DCT,得到M+K个独立的变换系数;解码恢复后再把这K个样本叠加,,以减少块间数据的不连续性。这种方法由于对K个重叠点变换了两次,因而导致了DCT编码效率的降低。为克服这一不足,Prencen和Bradly提出一种修正离散余弦变换(Modified DCT, MDCT),利用时域混叠消除(Time Domain Aliasing Cancellation, TDAC)来减轻“边界效应”。MDCT的正、反变换示意图如图6-6所示。,图6-6MDCT的正、反变换重叠示意图,首先对于输入序列x(m),用一个长为2M的窗函数h(m)截
28、取2M点,并将截取的数据段h(m)x(m)进行MDCT。MDCT定义为式中,m0=(M+1)/2,为一固定的时间偏移。然后将“窗口”移动M点,继续上述工作,使得各块窗口数据有50%重叠(即本块的M个采样和前块的M个采样相重叠)。通过这种MDCT算法完成从时域数据到频域数据的变换。显然,对每一个输入样本需要进行两次变换,变换数据量扩大一倍。但由式(6-28)可知,变换系数X(k)具有如下对称性:,(6-28),因此,2M个变换系数只有M个是独立的,50%重叠变换的编码性能并未降低(输入M个新样点,变换后输出M个独立系数)。,(6-29),X(k)的反变换,即反修正离散余弦变换(IMDCT)定义为
29、由于式(6-30)是用M个独立系数恢复2M个独立数据,因此必有 ,即由式(6-30)无法精确恢复原始的2M个数据。但数学上可证明,如果窗函数h(m)满足如下的对称性条件:h(i)h(i)+h(i+M)h(i+M)=1 (6-31),(6-30),则可按下式将变换域的混叠在时域抵消,从而精确地恢复出原始数据。 其中, 为前一个分块样本的反变换。由于MDCT性能优于DCT,也有快速算法,因此被广泛应用于宽带音频编码,比如著名的MP3、AAC音频编码都使用了MDCT。,(6-32),6.4时-频局部化对变换的要求1. 傅里叶变换的不足以传统傅里叶变换为例,我们分析其不能给出信号时-频局部化特性的原因
30、。对于一个能量有限的时域信号f(t),其傅里叶变换定义为,(6-33),由式(6-33)可以看出,为了得到信号f(t)的频谱特性,需要用其在整个定义域的全部信息。另外,如果信号f(t)仅在某个时刻的一个小邻域发生变化,那么整个频谱特性F(w)都会受到影响。如冲激函数d(tt0)的定义为,(6-34),2. Gabor变换为了克服上述傅里叶变换的不足,1946年, D.Gabor提出一种加窗傅里叶变换,又称Gabor变换。在Gabor变换中引入了一个局部化函数g(tb),称之为窗函数,用来截取一段时域信号进行傅里叶变换,然后利用参数b在时域上移动窗口。设窗函数g(tb)满足绝对可积条件则Gabo
31、r变换定义为,(6-35),一般选择窗函数g(tb)在|t|b时迅速趋于零的所谓“钟形”函数,如Gabor用的窗函数为高斯函数。这样,滑动窗g(tb)在乘以信号f(t)后,便可以有效抑制t=b邻域以外的信号,所以式(6-35)反映的是t=b时刻附近的局部信号的频谱信息,从而达到时域局部化的目的。再分析Gabor变换在频域局部化方面的作用。由于f(t)和F(w)、g(t)和G(w)为傅里叶变换对,根据傅里叶变换的性质,加窗后的信号f(t)g(tb)的傅里叶变换为,(6-36),3. 时-频窗与窗函数条件设g(t)是窗函数,称为时窗中心,称为时窗半径。,(6-38),(6-37),在此定义下,时窗
32、函数g(t)的窗口为t*Dt, t*+Dt,窗口宽度为2Dt。依本定义,可得到窗函数g(tb)的时窗中心为t*+b,窗口宽度仍为2Dt。类似地,可定义频窗中心和频窗半径。设g(t)是窗函数,则其傅里叶变换G(w)为频窗函数,称,(6-39),为频窗中心,称为频窗半径。在此定义下,频窗函数G(w)的窗口为w*Dw, w*+ Dw,窗口宽度为2Dw。依本定义,可得到窗函数G(wh)的频窗中心为w*+h,窗口半径和宽度不变,分别为Dw和 2Dw。,(6-40),由以上两个定义可知,g(t)和G(w)分别起时窗和频窗的作用。在时间-频率平面上,时窗和频窗共同作用的结果就形成了时-频窗(分辨率单元),它
33、是时-频局部变化的几何直观描述,如图6-7所示。时间-频率平面又简称“相平面”,它在非平稳信号、突变信号的分析和处理中起着非常重要的作用。,图6-7时间-频率平面上的时-频窗,时窗和频窗的条件如下:这也是说,若选用一个函数g(t)作为时窗,其傅里叶变换G(w)作为频窗,则g(t)和G(w)应同时具有较强的衰减特性,它们要同时满足式(6-41)的要求。从局部化要求的角度出发,为提高时间分辨率和频率分辨率,则希望Dt和Dw越小越好。但实际上它们之间存在着相互制约的关系,必须服从信号的海森堡测不准原理,即,(6-40),(6-41),4. Gabor变换的局限从式(6-37)和式(6-38)可以看出
34、,对于给定的窗函数g(t),Gabor变换的时间窗的窗宽度是不变的;同理,其频域窗的宽度也是不变的。对于任意时刻b和任意频率w ,Gabor变换的时频窗固定以(b,w)为中心,窗宽为2Dt,窗高为2Dw,如图6-7所示。但在实际应用中,由于信号的频率与其持续时间成反比,因此对高频信号检测时,因其持续时间较短,需要较窄的时间窗,以保证一定的精度;对低频信号检测时,因其持续时间较长,需要较宽的时间窗,以便获得足够多的信息。这也就是说,需要一个灵活可变的分辨率单元,使其面对高频成分时,时间窗口自动变窄,具有“显细,节”的功能;而面对低频成分时,时间窗口自动变宽,具有“显概貌”的功能。这种理想的时-频
35、窗如图6-8所示。显然,Gabor 变换不能满足实际问题的这种要求,这就导致了下一节要讨论的小波变换的提出。,图6-8时间-频率平面上的时-频窗,6.5小波变换6.5.1连续小波变换1. 连续小波变换的定义连续小波变换(Continuous Wavelet Transform, CWT)的定义为其中,a为缩放因子(对应于频率信息),b为平移因子(对应于时空信息),y(x)为小波函数(又叫基本小波或母小波),为y(x)的复共轭。连续小波变换的过程如图6-9所示。,(6-43),图6-9连续小波变换的过程,小波变换与傅里叶变换比较,它们的变换核不同:傅里叶变换的变换核为固定的虚指数函数(复三角函数
36、)ejwx,而小波变换的变换核为任意的母小波y(x)。 前者是固定的,后者是可选的。实际上可选母小波有无穷多种,只要y(x)满足下列条件即可:(1) 绝对可积且平方可积,即yL1L2;(2) 正负部分相抵,即(3) 满足允许条件(admissible condition),即 (广义积分收敛),其中, 为y(x)的傅里叶变换。,连续小波变换的定义式(6-43)也可以用内积形式表示为即函数f(x)的小波变换是其在小波基函数上的投影。,(6-44),2. 小波变换的时-频窗可以证明,如果母小波y (x)对应的时窗中心和半径分别为 和Dty,则ya, b(x)对应的时窗中心和半径分别为类似地,ya,
37、 b(x)对应的频窗中心和半径为( 和Dwy为母小波频窗中心和半径),(6-45),(6-46),3. 常见的小波函数(1) Haar小波(Alfred Haar,1910年),其母小波函数为Haar小波函数的时域波形和其傅里叶变换后的信号波形如图6-10所示。,(6-47),图6-10Haar小波函数及其傅里叶变换后的信号波形,(2) 墨西哥草帽(Mexican hat)小波,其母小波函数为后墨西哥草帽小波函数的时域波形和其傅里叶变换后的信号波形如图6-11所示。,(6-48),图6-11墨西哥草帽小波函数及其傅里叶变换后的信号波形,(3) Morlet小波(Jean Morlet,1984
38、年),其母小波函数为Morlet小波函数的时域波形和其傅里叶变换后的信号波形如图6-12所示。,(6-49),图6-12Morlet小波函数(C=5)及其傅里叶变换后的信号波形,6.5.2离散小波变换1. 二进小波变换与滤波器为了适应数字信号处理的要求,需要将小波变换离散化。可以先进行缩放因子a的离散。若小波函数y满足:则称y为基本二进小波。在连续小波变换中,若y为基本二进小波,则令a =2k,得到二进小波变换:,(6-51),(6-50),为了构造基本二进小波,可设f满足:可推出,则f 大体上相当于一个低通滤波器,因此f (2x)的通带比f (x)的宽。可设f 满足如下的双尺度方程:其傅里叶
39、变换为,(6-54),(6-53),(6-52),若设|G(w)|2=1|H(w)|2,其中,则G为高通滤波器,取其傅里叶变换为,(6-55),(6-56),2. 离散小波变换下面再将二进小波变换中的平移因子也离散化:令b = n2k,则可得离散小波变换为可将上式用前面所讲的滤波器系数改写成如下循环形式:,(6-57),(6-58),可以写出如下正反离散小波变换的具体算法:(1) 正变换(分解)(保存和所有),(2) 逆变换(重构)(利用正变换所保存下来的和所有),3. 小波分解执行离散小波变换的有效方法是使用滤波器。该方法是Mallat在1988年提出的,叫Mallat算法。该算法实际上是一
40、种信号的分解方法,在数字信号处理中称为双通道子带编码。用滤波器实现离散小波变换的框图如图6-13所示。,图6-13双通道滤波过程,图6-13中,S表示原始的输入信号,通过两个互补的滤波器产生A和D两个信号,A表示信号的近似值(Approximations),D表示信号的细节值(Detail);近似值对应信号的低频部分,细节值对应信号的高频部分。在许多应用中,信号的低频部分是最重要的,而高频部分起一个“添加剂”的作用。犹如声音那样,把高频分量去掉之后,听起来声音确实是变了,但还能够听清楚说的是什么内容。相反,如果把低频部分去掉,声音听起来就莫名其妙。在小波分析中,近似值是大的缩放因子产生的系数,
41、表示信号的低频分量,而细节值是小的缩放因子产生的系数,表示信号的高频分量。,由此可见,离散小波变换可以被表示成由低通滤波器和高通滤波器组成的一棵树。原始信号通过这样的一对滤波器进行的分解叫做一级分解。信号的分解过程可以迭代,也就是说可进行多级分解。如果对信号的高频分量不再分解,而对低频分量连续进行分解,就得到许多分辨率较低的低频分量,形成如图6-14所示的一棵比较大的树。这种树叫做小波分解树,分解级数的多少取决于要被分析的数据和用户的需要。另外,小波分解树一般只对信号的低频分量进行连续分解。,图6-14小波分解树,需要指出的是,在使用滤波器对真实的数字信号进行小波变换时,得到的数据将是原始数据
42、的两倍。例如, 如果原始信号的数据样本为1000个,通过滤波之后每一个通道的数据均为1000个,总共为2000个。可根据奈奎斯特(Nyquist)采样定理提出的降采样(Down Sampling)方法,在每个通道中每两个样本数据取一个,得到的离散小波变换的系数分别用cD和cA表示,如图6-15所示(图中的符号 表示降采样)。只有这样,经过滤波器分解后的输出系数才仍为1000个。,图6-15降采样过程,4. 小波重构离散小波变换正变换过程叫做分解或者分析;把分解的系数还原成原始信号的过程叫做小波重构(Wavelet Reconstruction)或者合成(Synthesis),数学上叫做逆离散小
43、波变换(Inverse Discrete Wavelet Transform, IDWT)。在使用滤波器做小波正变换时包含滤波和降采样两个过程,在小波重构时要包含升采样(Up Sampling)和逆滤波过程,如图6-16所示,图中的符号 表示升采样。,图6-16小波重构方法,升采样是在两个样本数据之间插入“0”,目的是把信号的分量恢复成原始长度。升采样的过程如图6-17所示。,图6-17升采样的方法,6.5.3第二代小波变换1. 提升原理小波提升是一种构造紧支集双正交小波的新方法。由提升构成第二代小波变换的过程分为如下三个步骤:1) 分裂分裂(Split)是将原始信号sj = sj,k 分为两
44、个互不相交的子集和。每个子集的长度是原子集的一半。通常是将一个数列分为偶数序列ej1和奇数序列oj1,即Split(sj)=(ej1,oj1 ) (6-59)其中,ej1=ej1,k=sj,2 k,oj1=oj1,k=sj,2 k +1。,2) 预测预测(Predict)是利用偶数序列和奇数序列之间的相关性,由其中一个序列(一般是偶序列ej1)来预测另一个序列(一般是奇序列oj1)。实际值oj1与预测值P(ej1)的差值dj1反映了两者之间的逼近程度,称之为细节系数或小波系数,对应于原信号sj的高频部分。一般来说,数据的相关性越强,则小波系数的幅值就越小。若预测是合理的,则差值数据集dj1所包
45、含的信息比原始子集oj1包含的信息要少得多。预测过程如下:dj1 =oj1P(ej1) (6-60),其中,预测算子P可用预测函数Pk来表示,函数Pk可取为ej1中的对应数据本身:Pk (ej1,k )=ej1,k=sj,2k(6-61)或ej1中的对应数据的相邻数据的平均值:或其他更复杂的函数。,(6-62),3) 更新经过分裂步骤产生子集的某些整体特征 (如均值)可能与原始数据并不一致,为了保持原始数据的这些整体特征,需要一个更新(Update)过程。更新过程用算子U来代替,具体如下:sj1=ej1+U(dj1) (6-63)其中,sj1为sj的低频部分;与预测函数一样,更新算子也可以取不
46、同函数,如,(6-64),或若P与U取不同的函数,可构造出不同的小波变换。,(6-65),2. 分解与重构经过小波提升,可将信号sj分解为低频部分sj1和高频部分dj1;对于低频数据子集sj1可以再进行相同的分裂、预测和更新,把sj1进一步分解成dj2和sj2; 如此下去,经过n次分解后,原始数据sj的小波表示为 sjn,djn,djn+1,dj1。其中,sjn代表了信号的低频部分,而djn,djn+1,dj1则是信号的从低到高的高频部分系列。每次分解对应于上面的三个提升步骤,即分裂、预测和更新。Split(sj)=(ej1,oj1),dj1=oj1P(ej1),sj1=ej1+U(dj1)(
47、6-66),小波提升是一个完全可逆的过程,其反变换的步骤如下:ej1=sj1U(dj1),oj1=dj1+P(ej1),sj=Merge(ej1,oj1 ) (6-67)分解的三个步骤可以用替代的方式来计算:先将奇数序列更新 (用偶数序列预测奇数序列),然后用更新的奇数序列更新偶数序列。大致过程如下:Split(sj)=(ej1,oj1),oj1=P(ej1),ej1+=U(oj1) (6-68)其反变换过程也可以用替代的方式来计算:ej1=U(oj1),oj1+=P(ej1),sj =Merge(ej1,oj1) (6-69)用提升方法进行小波分解和重构的示意图如图6-18所示。,图6-18
48、提升方法分解和重构,3. 特点第二代小波变换是由第一代小波变换的提升实现的。与第一代小波相比,第二代小波变换具有以下优点:(1) 本位操作:所有运算可做本位操作,节省内存;(2) 效率高:利用复合赋值,减少了浮点运算量;(3) 并行性:一个上升步骤中的所有操作是并行的,而多个上升步骤之间是串行的;(4) 逆变换:逆变换只需简单地改变代码执行的先后顺序,具有与正向变换相同的计算复杂性;(5) 通用性:由于变换过程中不必依赖傅里叶分析,因此很容易推广到一般性应用领域;,(6) 非线性:易于构造非线性小波变换(如整数变换);(7) 自适应:支持自适应性小波变换。函数的分析由粗到细逐步进行,细化过程可
49、仅限于感兴趣的区域。6.5.4图像的小波变换正因为第二代小波变换具有计算速度快、占用内存少、可以实现整数变换等特点,它成为JPEG 2000推荐的小波变换,是JPEG 2000中的核心算法。与传统的Mallat构造方法相比,第二代小波变换的提升格式完全是基于时(空)域的构造方法,它不依赖于平移和伸缩,也不需要频谱分析工具,因此适用于有限区域、曲面以及非均匀采样等领域中小波的构造。第二代小波变换的基本思想是建立在双正交小波和完,全可恢复滤波器组的理论基础上的,在保持小波双正交特性的条件下,通过所谓的提升和对偶提升过程,来改善小波及其对偶的性能,以满足各种应用的需要。对于二维数字图像信号,提升小波
50、变换可以通过在水平和垂直方向上分别应用h、g滤波器(行变换和列变换)进行一维滤波来实现,分解过程如图6-19所示。,图6-19图像的提升小波分解,对二维图像数据进行行方向与列方向上的一维滤波,得到相应 LL、HL、LH和 HH 子带。行变换过程和列变换过程是对称的,其顺序可以交换。其中,LL 子带代表原图像水平方向和垂直方向上均为低频的子带,HL 代表了原图像垂直方向上为低频而水平方向上为高频子带;LH 代表了原图像水平方向上的低频子带,而垂直方向上的高频子带;HH 代表了水平方向和垂直方向均为高频的子带。LL 代表了原图像的低频分量,是原图像的概貌成分,对人眼是最重要的,压缩时这部分信息不可
51、损失过多;而其他三个高频子带代表了原图像的细节分量,这部分信息对人眼的显著性较小,图像压缩主要是针对这部分高频分量进行压缩。若进行图像的多级小波分解,则在每次分解后的 LL 子带上重复上述过程,对其余三个高频子带不再进行分解。,在 JEPG 2000 的具体实现中用小波提升的方法来避免直接对系数进行卷积计算,其中采用了两种小波变换,分别是用于有损压缩的9/7浮点型小波变换和既可以无损也可以用于有损压缩的5/3整数小波变换。x(n)表示输入的图像数据,y(n)表示经提升后的小波系数,有如下的计算公式。(1) 5/3小波实现算法:,(6-70),(2) 9/7小波实现算法:最后,给出一个图像小波变
52、换的实例,展示如何用小波变换进行图像压缩编码。,(6-71),【例6-3】设一个空间域图像的数据如下式所示,试对它进行非规范哈尔小波变换。,【解】一个图像块是一个二维的数据阵列,可以先对阵列的每一行进行一维小波变换,然后再对行变换之后的阵列的每一列进行一维小波变换,最后对经过变换之后的图像数据阵列进行编码。(1) 求均值与差值。利用一维的非规范化哈尔小波变换对图像矩阵的每一行进行变换,即求均值与差值。在图像块矩阵A中,第一行的像素值为 R0:642361606757步骤1:在R0行上取每一对像素的平均值,并将结果放到新一行N0的前4个位置,其余的4个数是R0行每一对像素的差值的一半(细节系数)
53、:N0:3332333231292725,步骤2:对行N0的前4个数使用与第一步相同的方法,得到两个平均值和两个细节系数,并放在新一行N1的前4个位置,其余的4个细节系数直接从行N0复制到N1的相应位置上:N1:32.532.50.50.531292725步骤3:用与步骤1和2相同的方法,对剩余的一对平均值求平均值和差值:N2:32.500.50.531292725其中,第一个元素是该行像素值的平均值,其余的是这行的细节系数。需要指出的是,上述过程是可逆的。,(2) 计算图像矩阵。使用上步对R0行处理的方法,对矩阵的每一行进行计算,得到行变换后的矩阵为,其中,每一行的第一个元素是该行像素值的平
54、均值,其余的是这行的细节系数。使用与行处理相同的方法,再对每一列进行计算,得到:,上式中,左上角的元素表示整个图像块的像素值的平均值,其余是该图像块的细节系数。可以看到: 变换过程到此没有丢失信息,由于整个变换过程是可逆的,因此能够从最后得到的数据中无失真地重构出原始数据。 对这个给定的变换,我们可以从所记录的数据中重构出各种分辨率的图像。例如,在分辨率为1(此例88)的图像基础上重构出分辨率为2(此例44)的图像,在分辨率为2的图像基础上重构出分辨率为4(此例22)的图像。, 通过变换之后产生的细节系数的幅度值比较小,这就为图像压缩提供了一种途径,例如去掉一些微不足道的细节系数而不影响对重构
55、图像的理解,这时是不可逆过程。一种做法是设置一个阈值,例如设置阈值为5,对细节系数小于等于5时就把它当做“0”看待,这样有矩阵:,与ARC相比,Ad 中“0”的数目增加了18个,也就是去掉了18个细节系数。这样做的好处是可提高图像小波变换编码的效率。对矩阵进行逆变换,得到了重构的近似矩阵。,将此式的结果和原始数据相比,可看到数据有失真。利用小波变换,用户可以按照应用要求获得不同分辨率的图像。如图6-20所示,其中,(a)表示原始的Lena图像,(b)表示通过一级(level)小波变换可得到1/4分辨率的图像,(c)表示通过二级小波变换可得到1/8分辨率的图像,(d)表示通过三级小波变换可得到1
56、/16分辨率的图像。阈值处理可用于去除图像中的噪声和控制编码后图像的数据量。在取不同阈值的情况下重构图像,可观察到图像质量发生的变化,如图6-21所示。其中,(a)表示原始的Lena图像,(b)表示阈值5的重构图像,(c)表示阈值10的重构图像,(d)表示阈值20的重构图像。从图中可以看到,随着阈值的增大,图像质量也随之降低。,图6-20使用小波分解产生多种分辨率图像,图6-21不同阈值下的Lena图像,6.6DCT与小波变换的性能比较DCT和小波变换作为在媒体信号编码中最常用的两种变换,它们之间的比较如下14-15:1. 变换核DCT 的变换核是固定的,它满足绝对可积条件,因此它是可逆变换。
57、任何一个经过DCT 后的信号都存在逆变换,且物理意义明确。小波变换的变换核是非固定的,存在着各种各样的变换核,而且只有在所采用小波满足“可容许条件”下,逆变换才存在。,2. 能量集中是这两种变换共同的特点变换域编码的作用就是将时域(或空域)中的信号变换到另外一个正交矢量空间(即变换域),并使变换域中各信号分量之间相关性很小或互不相关,从而与变换前相比,其能量更加集中。DCT是先将图像分成NN像素块(N一般等于8),然后对NN像素块逐一进行DCT 。由于大多数图像的高频分量较小,相应于图像高频成分系数经常为零,因此DCT 使实际信号的能量主要集中在低频段,在允许一定误差的条件下,对其进行编码时,
58、可以忽略能量小于某值的频率分量,使数码率降低,但数码率很低时要产生令人眼无法忍受的方块效应。,小波变换并不需要将图像强制分成88的小块。但为了降低对内存的需求和方便压缩域中可能的分块处理,可以将图像分割成若干互不重叠的矩形块(tile)。分块的大小任意,既可以整个图像是一个块,也可以一个像素是一个块。一般分成26102610(即 641024 像素宽)的等大方块,不过边缘部分的块可能小一些,而且不一定是方的。图像分块的大小会影响重构图像的质量。一般来说,分块大比分块小的质量要好一些。小波变换具有很好的时-频局部化特性,信号经小波变换后的能量也集中在少数变换系数上,合理利用其变换系数分布特点,可
59、克服DCT 编码产生的方块效应,获得较好的压缩效果。,3. 图像压缩后性能比较在对图像编码中的DCT和小波变换进行比较时,如果允许改变变换方式,则应固定量化器和熵编码器,这是在比较小波和DCT编码性能时能提供客观比较的唯一方法。Xiong等人在相同的编码器框架下,只改变相应的变换方法对小波编码与DCT编码的性能进行了比较。,1) 基于基本等级的JPEG编码器在JPEG基本等级编码器中,使用的是DCT。为进行性能比较,只需要DCT部分改为3层的DWT,并按照图6-22(a)所示的父子关系构成小波变换系数块,然后根据小波系数频率变化规律以图6-22(b)扫描次序代替原来的ZigZag扫描,其余部分保持不变。通过对Lena图像和Barbara图像的实验,发现小波变换代替DCT后峰值信噪比PSNR改进了1 dB左右,如表6-6所示。表中码率的单位b/p指的是每像素比特数(bit per pixel)。,图6-22在JPEG基本编码器中用3层DWT代替DCT后的系数组块 和扫描方式,表6-6DCT和DWT的基本JPEG编码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服务协议2026年环保科技污染治理服务合同
- 胸痹患者护理风险评估与防范
- 2026年幼师转岗到小学任教准备
- 2026年中医诊断学实训课中症状与体征的识别
- 2026年勘察设计企业质量管理体系认证指南
- 2026年高层建筑外墙保温材料防火检测
- 手工艺品设计开发合同2026年全新
- 规模经济旅游产业发展合同
- ISOHACCP质量安全管理手册
- 2026年烟花爆竹安全标准化培训
- 2024年全国初中数学竞赛试题含答案
- 2023年四川省绵阳市中考化学试卷真题(含答案与解析)
- 危重症患者并发症的预防及护理
- 医院培训课件:《急性阑尾炎》
- 连云港职业技术学院招聘真题
- 语文说课课件全国创新杯大赛一等奖
- 平改坡规范参考教学课件
- 国际救生设备规则
- 2023年中医医师定期考核专业理论知识考试题库及答案(共600题)
- 隧道工程施工日常安全检查清单
- PLC流水线产品检测与分选控制课程设计(文末附梯形图)
评论
0/150
提交评论