一种三维小波等级树集合划分算法的视频压缩编码方法

文档序号:7590413阅读:324来源:国知局
专利名称:一种三维小波等级树集合划分算法的视频压缩编码方法
技术领域
本发明属视频压缩技术领域,具体涉及一种三维等级树集合划分(3D-DWT-SPIHT)视频压缩编码方法。
背景技术
由于小波变换克服了在低比特率环境下,基于分块变换编码所暴露出的方块效应和非蚊效应的缺点,近年来它在图像处理上得到了长足的发展。图2(a)给出二维的一级小波分解示意图(共4个子带LL1、LH1、HL1和HH1),LH1、HL1与HH1是第一级变换的高频部分,LL1是一级分解的低频部分。图2(b)是二维的三级小波分解示意图(共10个子带),它是对LL1进行小波分解产生LL2、LH2、HL2和HH2,再对LL2进行小波分解产生LL3、LH3、HL3与HH3。可分离的三维小波分解是在空间二维结合时间一维小波变换的结果。
经过小波变换后,图像变换域系数具有明显的统计特点,如何有效地组织这些小波变换系数进行量化和后编码是图像及视频压缩的关键。在嵌入式零树编码算法EZW(Embedded Zerotree Wavelet)[1]出现前,图像压缩,特别是有失真压缩,它的计算复杂性与编码效率是同步增长的。在1993年,J.M.Shapiro所提出的EZW算法突破了该限制,它在假设粗尺度上的系数总是大于细尺度其相应位置上系数的前提下,引入零树的概念,实现了低复杂性下的高编码效率。1996年,Amir Said和William A.Pearlman提出的等级树集合分割算法SPIHT(Set Partitioning in Hierarchical Trees)[2]改进了EZW,而且即使不加算术编码,SPIHT算法仍可与许多复杂算法的性能相当。2001年杨春玲和余英林[3]将SPIHT推广到三维SPIHT,它对于简单背景且运动较为缓慢的视频流有十分良好的压缩性能。
SPIHT编码之所以会取得较好的压缩编码效果是它充分考虑了小波系数的统计特性空-频局部化;能量压缩特性;子带内小波系数的聚类特性;子带间小波系数的相似性;小波系数幅度从低频子带到高频子带的衰减特性。纹理越简单的图像,经小波变换后其能量越集中于低频部分,高频也就是细节部分能量越少。考虑到SPIHT采用嵌入式比特平面量化编码,越平滑能量越低的图像在编码时产生的零树越多,则所需要的传输比特越少,压缩比越高。为了降低复杂图像的能量,提出了视频帧组和残差帧组交替的视频流。
下面介绍与本发明相关的一些概念1、可分离三维小波变换可分离三维小波变换是由帧内二维和帧间一维变换组成。其实现上可分为两种,一种是先作空间二维小波变换,然后将变换后的结果作时间轴的一维小波变换;另一种方法就反过来,先作时间一维变换,再作帧内二维变换。这两种方法没有本质的区别,变换结果相近。
2、SPIHT算法1)父子关系及树的构成父子关系定义为图3中箭头所指方向(箭头由父亲指向子女),以图中任意一点(i,j)为根,(i,j)及其所有子孙便构成一棵树。(i,j)的子女的寻找方法分为两种情况a、若(i,j)在LLn(n指最高分解级,如图3中的LL3),SPIHT算法将LLn分为2×2大小的块,块中左上角的点没有子女(如图3中的LL3中被黑点标记的点),其它点的子女为当前分解级中相应位置的2×2的点(如图3中LL3中一个2×2的块的右上角对应LH3、左下角对应HL3、右下角对应HH3)。
b、若(i,j)在LLn以外的子带中,则其子女为以下四个点{(2i,2j),(2i+1,2j),(2i,2j+1),(2i+1,2j+1),}2)集合及其分裂图4是SPIHT算法中集合的示意图,其中每一个圆圈代表一个点,实心表示点存在,空心代表点不存在,线条上面是父亲,下指子女。
T(i,j)是一根完整的树,C(i,j)是根结点,O(i,j)是根结点的子女,D(i,j)为所有子孙,L(i,j)为除子女以外的所有子孙。从图中可以看出T(i,j)=C(i,j)+D(i,j)(2)D(i,j)=O(i,j)+L(i,j)(3)集合分裂就是将D(i,j)分裂为O(i,j)及L(i,j),或是将L(i,j)分裂为四个D(k,1)(其中C(k,1)属于O(i,j))。在SPIHT算法中,D(i,j)被标识为A类集合,L(i,j)被标识为B类集合。
3)阈值与重要性判断SPIHT算法的初始阈值由式(4)算出,式中ci,j表示在节点(i,j)的小波系数,符号 表示对数a取整,例如 阈值Threshold是动态改变的。
对于某一点是否重要由式(5)算出,若当前节点的系数大于当前阈值,则认为是重要的,否则认为不重要。
对于一个集合是否重要由式(6)算出,意即集合中有任意一节点系数大于当前阈值,则该集合是重要的,否则不重要。
4)LSP、LIP和LIS这三个链表是SPIHT编解码过程中用到的工作链表。重要系数链表LSP(List ofsignificant pixels)存放重要系数的坐标;不重要系数链表LIP(List of insignificant pixels)存放不重要系数的坐标;不重要集合链表LIS(List of insignificant sets)存放不重要的集合(用根节点的坐标表示)。
5)SPIHT编码SPIHT编码由三部分组成初始化,排序过程和细化过程。它以三个链表实现对小波系数信息的排序。
初始化计算初始阈值;置LSP为空;将LIP初始化为小波分解最高一级的低频部分(如在图3中的三级小波分解的LL3);将LIS初始化为LIP中有子女的节点(如将图3中最低频子带分成2×2的节点单元,除打星号的节点外,其余3个点有子女),并将其设为A类集合。
排序算法首先对LIP进行扫描。然后对LIS进行扫描。排序过程见图5,图5中深浅两条线分别代表节点系数(或集合)重要与不重要,线上的比特(0、1及S)表示要输出的比特。①对于LIP中的每一节点系数,若不重要输出0,否则输出1及S(符号),然后把该节点坐标移至LSP表尾。②对于LIS中的每一集合,若重要输出1否则输出0。若重要且为A类集合则按式(2)分裂成为子女(若重要则输出1及S并添加到LSP末尾,否则输出0并添加到LIP末尾)与一个B类集合(移至LIS末尾);若重要且为B类集合,则将其分裂为四个子集合(A类集合)并添加到LIS表尾,然后删除当前集合。
细化当排序完成后,需要进行细化过程,即对除当前阈值被排序添加到LSP外的所有节点上的系数,作重要性测试并输出测试结果。然后将阈值减半,重复排序和细化过程,直到输出达到所需要的输出比特数为止。
参考文献[1]J.M.Shapiro,“Embedded image coding using zerotrees of waveletscoefficients,”IEEE Trans.Signal Processing,Vol.41,pp.3445-3462,Dec.1993. A.Said and W.A.Pearlman,“A New Fast and Efficient Image Codec Basedon Set Partitioning in Hierarchical Trees,”IEEE Trans.Circ.and Syst.forVideo Technology,Vol.6,pp.243-250,June 1996[3]Yang Chun-Ling,YU Ying-Lin.Research on Embedded Video Compression Based on3D-Wavelet Transformation.Acta Electronica Sinica,2001,29(10)1381-1383(杨春玲,余英林.基于三维小波变换嵌入式视频压缩算法的研究.电子学报,2001,29(10)1381-1383)[4]Yang Chun-Ling,YU Ying-Lin.An improved wavelet video coder using three-dimensionalset partitioning in hierarchical trees.Acta Electronica Sinica,2001,22(5)86-92(杨春玲,余英林.改进的小波域三维等级树集合分割视频编码方法.通信学报,2001,22(5)86-92)[5]Zhang Zongping,Liu Guizhong,Hou Xingsong.Improved 3D-Wavelet Video Coder.Journalof Xi’an Jiaotong University,2001,35(6)595-599.(张宗平,刘贵忠,侯兴松.一种改进的三维小波视频编码.西安交通大学学报,2001,35(6)595-599). Kin BJ,Pearlman W A.An embedded wavelet video coder using three-dimensional setpartitioning in hierarchical trees(SPIHT)[J].Proc Data Compression Conf,1997251-260. 丁文奇,时间维受限的三维SPIHT虚拟树组织方法。(中国专利申请号200410017386.3,申请日为2004.4.1)发明内容本发明的目的在于提出一种压缩效率更高的视频有损压缩编码方法,该方法使在同等压缩和视频质量条件下内存更省,延迟时间更短。
本发明提出的3D-DWT-SPIHT视频有损压缩编码方法,是一种基于三维小波等级树集合划分(3D-DWT-SPIHT)的压缩方法,具体是利用视频流的时间相关性,将视频流分成原始帧组(OFG)和残差帧组(RFG)作为编码单元处理,同时在时间域上采用Haar小波基和Daubichies9/7小波基相结合的方法。其步骤为
1、时间轴多小波基三维小波变换在现有的小波压缩方法中都采用在空间域和频率域光滑性好的Daubechies 9/7双正交小波基,在具体操作中为了减少边界效应,在空间和时间上图像必须作对称延拓处理,而9/7双正交小波基的滤波器阶数高,对于时间域,假如图像组的帧数为T,则需要在T帧图像组的头尾进行相当4帧的延拓,在分解级数高时会发生困难,如T=16时,做4级时间轴分解,第3级后只剩4帧,就无法进行延拓,因此在文献[3~5]中在空间域用Daubechies的9/7小波,而在时间域都采用Harr小波基作为时间轴上的变换,但因Harr小波基在时间域的不光滑,频率域的无限,使沿时间轴的小波分解不能达到最佳。
通过分析在时间域上的小波变换,可发现高频主要出现在帧间运动的地方,而大量的树内自相似性主要是在不运动的背景上,因此采用两种不同的小波基并不影响其相似性,同时可改善Harr小波基的不足。本发明中,在帧间一维小波变换中,当帧组内的图像帧数达于4时,采用Daubechies9/7小波基,当帧组内图像帧数小于4时,不能进行延拓时,就采用Haar小波基。具体地说,就是当T=16时,用两次Daubechies的9/7小波基,然后用Harr小波基,对T=8可用一次Daubechies的9/7小波基。实验表明这种方法在一定压缩比条件下能提高重建图像的峰值信噪比PSNR值。在帧内二维变换中(空间域内),采用Daubechies9/7小波基。
可见,时间轴多小波基三维小波变换由帧内二维和帧间一维多小波基变换联合实现。
2、视频帧组和残差帧组交替的方法从SPIHT算法本身的特点来看,小波分解的级数越高,每个树根可组织的节点数越多,树也就越大,编码效率越高,但因内存和延迟等原因,三维小波处理单元中的帧数不能太多,一般都取T=16。在文献[4]中,I3D-SPIHT取T=8编码效果有所提高。本发明提出了采用T=8作为三维小波处理单元,但用视频和残差帧交替的方法处理视频流。设残差帧是当前帧和参考帧的差值帧,主要反映两帧运动边界的信息。本发明中,将要处理的视频流划分为以8帧为编码单元的原始帧组(OFG)和残差帧组(RFG)进行压缩编码。原始帧组就是直接从视频流中取得的8个连续图像帧。残差帧组是在它前面相邻一个原始帧组的基础上得到的。具体的作法是用其相邻一个原始帧组完成一次编译码后得到的最后一个重建帧和视频流中原来的8个原始帧组的后继帧做差得到。在视频运动不大的情况下,残差帧中一定含有很多零,也就是视频帧的能量得到了降低有利于后面的SPIHT编码。(系统如图1示)具体描述如下将一个视频流划分成8帧为单位的原始帧组和残差帧组,系统框图见图1(a)。开始时在发送端首先作8帧原始图像(表示为Ii)的3D-DWT接着进行3D-SPIHT压缩编码,同时将前8帧恢复出来,保留恢复的第8帧8,后面的每一帧与恢复的第8帧做差值,可分别得到第9帧和第8帧的残差帧(表示为Ri),第10帧和第8帧的残差帧,以此类推直到得到后8帧的残差帧,可用公式描述为(1)。
Ri=Ii-8(i=9,......,16)(1)然后,对残差帧进行3D-DWT-SPIHT处理。下一次再作8I+8R,直到视频流结束为止(如图1(b)所示)。对视频流中的16帧图像分为两个特点的8帧图像帧组进行处理,本发明中的16帧是由OFG和RFG两部分组成的,去别于基本方法中16帧或8帧都是原始帧的情况。
本发明的优点时间轴多小波基的方法对有限帧条件下的视频帧组进行了充分分解、利用,提高了时间轴方向的小波变换的能量聚积性,试验表明比单独采用Haar小波基的方法[6]PSNR提高了2-4dB。交替帧组的方法所得到的结果PSNR明显优于直接以8帧进行3D-DWT-SPIHT处理的结果高1dB以上,但二者的时延是相同的;交替帧组的方法无论在存储容量,还是实时性方面都优于直接用16帧进行三维压缩,而且在相同压缩比下其重建图像的PSNR都有所提高。实验结果表明,在不影响压缩效果,甚至还对图像的PSNR有所提高的条件下,交替帧组的方法有效的减小了时延和所需要的存储单元。考虑视频流和残差帧的特点,根据变化较慢的视频流,其帧与帧之间具有一定地相似性,用残差法可以更好地去除时间冗余,提高压缩比。同时因SPIHT的码流是以位平面输出的,很容易控制,本文中视频组和残差帧组的码流的比例分配有所不同,在实验中我们分配60%给视频组40%给残差帧组,也可自适应的调整码流的分配,以取得更好的PSNR。


图1、视频和残差帧组交替的方法。其中图1(a)视频和残差帧组法3D-DWT-SPIHT流程图。
图1(b)视频和残差帧组法中视频流的划分。
图2、二维小波分解示意图[7]。
图3、SPIHT算法父子关系[7]。
图4、集合示意图[7]。
图5、排序示意图[7](图中S表示符号,0与1表示重要性)。
具体实施例方式
下面以公共中间格式CIF(Common Intermediate Format)的Salesman(352×288,30帧每秒)视频流为例说明具体的实施方式,整个实施流程与图1一致。编解码以8帧为一个OFG或一个RFG。
A视频流处理将输入视频流划分为8帧原始帧(OFG)和8帧残差帧(RFG)的形式。如果是8帧的奇数倍((2n+1)*8),即作为原始帧组传,则转到B处理。如果是8帧的偶数倍(2n*8),则要按交替帧组的方法(参见发明内容2),将第2(n-1)个视频帧组译码后的最后一帧恢复出来作为基准帧,用第2n个视频帧组中的每一帧和这个基准帧相减,得到连续的8个处理残差帧作为残差帧组,然后转到B。
B小波变换步骤1.空间域变换对于每一帧图像,用Daubechies9/7小波基对其作二维小波变换。共作3级分解。
步骤2.时间域变换对每一帧作过二维小波变换的小波系数,取每一帧相应位置的系数(共8个系数),用Daubechies9/7进行对称延拓后作1级小波分解,取分解后的低频子带,作2级Haar小波分解。
DSPIHT编码步骤1.初始化对所有的小波系数ci,j,k,求 并以2n为当前阈值Threshold,输出n;LSP初始化为空;将ROOT中的所有点添加到LIP中;将以ROOT中的节点为树根的树集合添加到LIS中。
步骤2.排序及细化步骤2.1对于LIP中的每一节点(i,j,k)的系数判断|ci,j,k|是否大于Threshold,如果大于则输出“1”(重要像素),否则输出“0”(不重要像素)。如果重要,判断ci,j,k是否大于0,如果ci,j,k大于0则输出“1”(正号)并将ci,j,k减去Threshold,否则输出“0”(负号)并加上Threshold,然后将点(i,j,k)移到LSP末尾。
步骤2.2对于LIS中的每一个集合(i,j,k)(以树根表示)
判断集合(i,j,k)中是否有一个系数大于Threshold,如果有系数大于Threshold则输出“1”(重要集合),否则输出“0”(不重要集合)。
1)如果集合重要且为A类集合,判断树根的各子女是否重要(见步骤2.1),如果重要则输出“1”,否则输出“0”。对于不重要的子女,将其移至LIP末尾。对于重要的子女,判断其系数符号,如果为正号则输出“1”,并将系数减去Threshold;否则输出“0”,并将系数加上Threshold。然后将重要子女移至LSP末尾。被移去根结点的子女的集合如果为空,则将其从LIS中删除,否则集合类型改为B类型,然后移至LIS末尾。
2)如果集合重要且为B类集合,将其分裂为以根结点子女为根的子集合,设定其集合类型为A类型,然后将这些子集合添加了LIS末尾,并删除当前集合。
步骤3.量化。对于LSP中的点(i,j,k)(除当前次排序中加入LSP的点外)判断|ci,j,k|是否大于Threshold,如果大于则输出“1”(重要像素),否则输出“0”(不重要像素)。
步骤4.更新Threshold=Threshold/2。并转向步骤2。
E压缩比控制和码率分配重复A到D进行压缩编码。在编码中,每输出一比特,均可进行一次压缩比判断,当达到所需的压缩比,即可马上停止编码。
需要指出的是,交替帧组的方法区别于最初三维小波压缩编码时采用16帧作为一个处理单元,就在于它将一个16帧处理单元化分成两部分,OFG和RFG,即8I+8R,压缩编码时相当于处理了两个8帧的处理单元,这样一来就有效的减少了时延和节省了内存量。而交替帧组优于基本的以8帧为处理单元的三维小波压缩编码在于它利用视频流帧间冗余,提高了三维小波压缩编码算法的效率。所以具体编码时由于已知压缩码流长度,就要考虑交替帧组方法中OFG和RFG各占的比特数,即要考虑码率分配问题。一般地,OFG所用的比特数在总码流中占的比例高,则解码压缩图像的PSNR高,压缩比却低。反之,RFG所占的比例高,则解码压缩图像的PSNR有所降低,大压缩比提高。经过大量实验,为了在一定压缩比条件下获得较好的16帧平均PSNR,我们分配60%给视频组40%给残差帧组。
下面以CIF格式的Salesman序列的0-47帧进行仿真实验。表1第一行是采用原始帧组和残差帧组交替的时间轴多小波基的方法,第二行是3D-DWT-SPIHT直接采用8帧作为一个编解码单元的仿真结果,第三行是3D-DWT-SPIHT直接采用16帧的结果。在不同的压缩比之下,本文的方法PSNR(峰值信造比)提高0.39~1.65dB。

权利要求
1.一种三维小波变换等级树集合划分压缩编码方法,其特征在于利用视频流的时间相关性,将视频流分成原始帧组和残差帧组,作为编码处理单元;同时在时间域上采用Haar小波基和Daubechies 9/7小波基相结合的方法,具体步骤如下(1)时间轴多小波基三维小波变换是由帧内二维和帧间一维多小波基变换联合来实现的在帧间一维变换中,当帧组内的帧图像数大于4时,采用Daubechies 9/7小波基,而当帧图像数小于4时,则采用Harr小波基滤波;在帧内二维变换中,采用Daubechies 9/7小波;(2)用视频帧组和残差帧组交替的方法处理视频流将要处理的视频流划分为以8帧为编码单元的原始帧组和残差帧组,进行压缩编码,其中,原始帧组是直接从视频流中取得的8个连续图像帧,残差帧组是在它前面相邻一个原始帧组的基础上得到的。
全文摘要
本发明为一种视频帧组和残差帧组交替的时域多小波基三维小波变换等级树集合划分压缩编码方法,是对视频图像三维小波变换压缩编码系统的重要改进。考虑到视频处理的实时性和系统的存储容量、小波变换后系数的统计特性和SPIHT编码算法的特点,本发明提出了对于纹理比较复杂运动不太剧烈的视频流图像,进一步利用了视频流的时间相关性,将视频流划分成原始帧组(OFG)和残差帧组(RFG)作为编码单元进行处理,同时在时间域采用Haar小波基和Daubechies 9/7小波基相结合的方法。本发明明显提高了三维小波变换等级树集合划分压缩编码算法系统的性能。
文档编号H04N7/26GK1585482SQ20041002471
公开日2005年2月23日 申请日期2004年5月27日 优先权日2004年5月27日
发明者胡佳, 张立明, 胡波 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1