层次树集合划分图像编码的初始化方法

文档序号:6420067阅读:115来源:国知局
专利名称:层次树集合划分图像编码的初始化方法
技术领域
本发明涉及一种层次树集合划分图像编码方法,尤其涉及一种层次树集合划分图像编码的初始化方法。
背景技术
小波变换作为一种变换编码,对图像具有很好的压缩性能,已经作为JPEG2000的国际标准,广泛应用于JEPG2000、MPEG4的静态纹理信息压缩和医学图像压缩等领域。图像经小波变换后,其系数主要有两个特点第一个特点是能量集中图像的大部分能量集中在低频子带,其余频带之中的能量主要集中在与图像的亮度突变边缘对应的子带系数处,而且一般相应的高层系数比低层系数的绝对值大。
第二个特点是自相似同一类子带的不同层间,通常具有自相似性的特点。这种层间的自相似,一方面,反映在对应于边缘的各层大系数的位置间的相似;另一方面,也反映在小系数的层间关系上,与一个小系数相应的低层的系数一般也比较小。
基于小波系数的以上特点,层次树集合划分(Set Partitioning inHierarchical Trees,SPIHT)图像编码是一种有效的方法,其利用不同尺度之间图像小波变换系数之间的自相似性进行编码。一个小波系数关于一个给定阈值是重要的和非重要的,取决于该小波系数是否超过该阈值。图像小波变换系数与一组递减阈值进行比较,从而将小波变换系数按系数幅值大小组织成一种有序子集。编码后的码流(或压缩文件)完全是嵌入式的,编码算法能在任意一点截断码流(或压缩文件),可得到任意高精度的恢复图像,直到接近无损压缩图像。
SPIHT编码中使用了三个表不重要系数表LIP(the list of insignificantpixels)、重要系数表LSP(the list of significant pixels)和不重要集合表LIS(the list of insiginificant sets)。LSP初始化为空表,LIP用最高层小波系数(如图1所示四层小波变换频带分布中的LL4、LH4、HL4、HH4中的系数)初始化,LIS用每一个空间方向树的根结点(如图1所示的LH4、HL4、HH4中的系数位置)来初始化。
传统SPIHT编码方法的初始化过程是将最高层小波系数全部装载(Load)入LIP中,在编码过程中,每个系数,不管是重要系数还是非重要系数都要用1bit(“0”或“1”)来表示。在解码端恢复小波系数的幅值时,“1”是有效的;“0”是无效的,但是“0”和“1”的排序表示了各系数的位置信息。实际上,在解码端,只需得到重要系数的位置信息即可。大量统计表明,在位平面较高时,重要系数较少,“0”值较多,用大量的“0”来表示重要系数的位置冗余太大。同样,这种装载方法对LIS的初始化也存在类似的冗余信息。

发明内容
本发明所要解决的技术问题在于提供一种层次树集合划分图像编码的初始化方法,在准确记载了重要系数位置信息的同时,减少了图像编码初始化过程中的冗余信息,大大节省了码流。
本发明提供一种层次树集合划分图像编码的不重要系数表初始化方法,包括如下步骤(1)将小波变换后的最高层像素点按频带划分为LL、HL、LH和HH四个元素组;(2)将每一组中的元素划分为多个元素块,并将每一组中每一行的所有元素块作为一个元素段;
(3)搜索当前元素组,判断其中是否有大于当前位平面阈值的像素点,如果没有,则输出“0”,并将下一元素组作为当前组,重复步骤(3),如果有,则输出“1”;(4)搜索该当前元素组中的当前元素段,判断其中是否有大于当前位平面阈值的像素点,如果没有,则输出“0”,并将下一元素段作为当前段,重复步骤(4),如果有,则输出“1”;(5)搜索该当前元素段中的当前元素块,判断其中是否有大于当前位平面阈值的像素点,如果没有,则输出“0”,并将下一元素块作为当前块,重复步骤(5),如果有,则输出“1”,并将该元素块中的像素点装入到不重要系数表中,同时删除该元素块中的元素值;(6)将下一元素块作为当前元素块,重复步骤(5),直至搜索完当前元素段中的全部元素块;(7)将下一元素段作为当前元素段,重复步骤(4),直至搜索完当前元素组中的全部元素段;(8)将下一元素组作为当前组,重复步骤(3),直至搜索完全部元素组。
其中上述的多个元素块的大小可以是相同的,每个元素块的行数与列数可以相同,也可以不同。
本发明还提供一种层次树集合划分图像编码的不重要集合表初始化方法,包括如下步骤(1)将小波变换后的最高层像素点按频带划分为HL、LH和HH三个元素组;(2)将每一组中的元素划分为多个元素块,并将每一组中每一行的所有元素块作为一个元素段;(3)搜索当前元素组,判断其中每一点的子孙中是否有大于当前位平面阈值的像素点,如果没有,则输出“0”,并将下一元素组作为当前组,重复步骤(3),如果有,则输出“1”;(4)搜索该当前元素组中的当前元素段,判断其中每一点的子孙中是否有大于当前位平面阈值的像素点,如果没有,则输出“0”,并将下一元素段作为当前段,重复步骤(4),如果有,则输出“1”;(5)搜索该当前元素段中的当前元素块,判断其中每一点的子孙中是否有大于当前位平面阈值的像素点,如果没有,则输出“0”,并将下一元素块作为当前块,重复步骤(5),如果有,则输出“1”,并将该元素块中的像素点装入到不重要集合表中,删除该元素块中的元素值。
(6)将下一元素块作为当前元素块,重复步骤(5),直至搜索完当前元素段中的全部元素块;(7)将下一元素段作为当前元素段,重复步骤(4),直至搜索完当前元素组中的全部元素段;(8)将下一元素组作为当前组,重复步骤(3),直至搜索完全部元素组。
其中上述的多个元素块的大小可以是相同的,每个元素块的行数与列数可以相同,也可以不同。
本发明通过对最高层像素点元素的逐级划分,并逐级搜索,准确记载了重要系数的位置信息,同时减小了图像编码初始化过程中的冗余信息,大大节省了码流。


图1为四层小波变换频带分布示意图;图2为本发明对层次树集合划分图像编码的不重要系数表LIP的初始化流程图;图3为本发明对层次树集合划分图像编码的不重要集合表LIS的初始化流程图;图4为本发明之具体实施例中当前元素组中的系数分布示意图。
具体实施例方式
如图1所示,假设图像作了四层小波变换,传统的SPIHT编码首先是对不重要系数表LIP和不重要集合表LIS的初始化,一次性的将LL4、HL4、LH4和HH4作为非重要像素点装入到不重要系数表LIP中,将HL4、LH4和HH4中像素点装入到非重要集合表LIS,然后再进行排序过程,对LIP和LIS中的元素进行编码,每一个像素点用1个bit来表示,在编码过程中只有一次初始化过程,每一个位平面都经历排序和细化过程。其中,排序过程和细化过程目前都已经很完善,但初始化过程有很多的冗余信息存在。
本发明主要是针对传统SPIHT编码的初始化部分进行了改进。首先对最高层像素点进行划分,将小波变换的最高层像素点LL4、HL4、LH4、HH4划分为4个组(Group),LL4为Group0、HL4为Group1、LH4为Group2、HH4为Group3,再分别对每一个组划分n个2×2(或3×3,或2×1或1×2等)的块(Block),在每一组中每一行的所有元素块作为一个元素段(Slice)。
在LIP的装载(Load)过程之前先要判断每一Group中是否有大于当前位平面阈值的像素点,如果有再搜索此Group中m个Slice中是否有大于当前位平面阈值的像素点,如果有再搜索此Slice中的每一个Block,如果某Block有大于当前位平面阈值的像素点就将此Block中的像素点作为非重要的像素点装入到LIP中,并在此Block中去除这些点,表明这些点已经被装入到LIP中。经过判断那些小于当前位平面阈值的像素点就没有装入到LIP中,在排序过程中就可以不用对这些小于当前阈值的像素点进行编码。
对LIS也是先判断Group中的每一元素的子孙中是否有大于当前阈值的点,如果有将继续搜索,搜索过程与LIP的搜索过程一样,最后找到相应的Block,并将Block中的点装入到LIS中。
完成以上LIP和LIS的装载之后再进行排序过程和细化过程,在传下一个位平面时,回到LIP和LIS的装载过程,找到大于当前阈值的像素点并加入到LIP和LIS中。
如图2所示,为本发明层次树集合划分图像编码的不重要系数表LIP初始化过程的流程图,包括如下步骤步骤201将小波变换后的最高层像素点按频带划分为LL、HL、LH和HH四个元素组;步骤202将每一组中的元素划分为多个元素块,并将每一组中每一行的所有元素块作为一个元素段;步骤203搜索当前元素组,判断其中是否有大于当前位平面阈值的像素点,如果没有,则输出“0”,并将下一元素组作为当前组,重复步骤203,如果有,则输出“1”;步骤204搜索该当前元素组中的当前元素段,判断其中是否有大于当前位平面阈值的像素点,如果没有,则输出“0”,并将下一元素段作为当前段,重复步骤204,如果有,则输出“1”;步骤205搜索该当前元素段中的当前元素块,判断其中是否有大于当前位平面阈值的像素点,如果没有,则输出“0”,并将下一元素块作为当前块,重复步骤205,如果有,则输出“1”,并将该元素块中的像素点装入到不重要系数表中,同时删除该元素块中的元素值;步骤206将下一元素块作为当前元素块,重复步骤205,直至搜索完当前元素段中的全部元素块;步骤207将下一元素段作为当前元素段,重复步骤204,直至搜索完当前元素组中的全部元素段;步骤208将下一元素组作为当前组,重复步骤203,直至搜索完全部元素组。
如图3所示,为本发明层次树集合划分图像编码的不重要集合表初始化方法,包括如下步骤步骤301将小波变换后的最高层像素点按频带划分为HL、LH和HH三个元素组;步骤302将每一组中的元素划分为多个元素块,并将每一组中每一行的所有元素块作为一个元素段;步骤303搜索当前元素组,判断其中每一点的子孙中是否有大于当前位平面阈值的像素点,如果没有,则输出“0”,并将下一元素组作为当前组,重复步骤303,如果有,则输出“1”;步骤304搜索该当前元素组中的当前元素段,判断其中每一点的子孙中是否有大于当前位平面阈值的像素点,如果没有,则输出“0”,并将下一元素段作为当前段,重复步骤304,如果有,则输出“1”;步骤305搜索该当前元素段中的当前元素块,判断其中每一点的子孙中是否有大于当前位平面阈值的像素点,如果没有,则输出“0”,并将下一元素块作为当前块,重复步骤305,如果有,则输出“1”,并将该元素块中的像素点装入到不重要集合表中,删除该元素块中的元素值。
步骤306将下一元素块作为当前元素块,重复步骤305,直至搜索完当前元素段中的全部元素块;步骤307将下一元素段作为当前元素段,重复步骤304,直至搜索完当前元素组中的全部元素段;步骤308将下一元素组作为当前组,重复步骤303,直至搜索完全部元素组。
假设对Group的搜索顺序是0-1-2-3,对Slice的搜索顺序是从上到下,对Block的搜索顺序是从左到右,下面以一具体实施例来说明本发明的实现。根据统计表明,当位平面较高时,每个元素组中的大系数的数量较少,如图4所示,假设整个方框为一个当前Group的小波系数,Block的大小为2行×1列,每一行作为一个Slice,每一行的两个相邻系数作为一个系数对,“×”表示大系数。按照本发明的方法,先搜索当前本Group,由于本Group中有大系数,因此先输出“1”,然后搜索各个Slice,则前三个Slice的输出为“000”,第四个Slice的输出为“1”,然后搜索每个Block,前7个Block的输出为“0000000”,第8个Block含有大系数,因此输出为“1”,并将该Block的系数放到LIP中,该Slice中的第9,10,11个Block的输出仍然是“000”,这样,前4行的系数输出为“1000100000001000”,加上放到LIP中的2个系数的输出,共18bits。若按照传统的SPIHT方法,则是将所有的系数放到LIP中,这样在编码时的输出为198bits。后边的Slice的编码方法同上,从前4个Slice的编码举例就可以看出,本发明在位平面较高时可以大大节省码流。
同理,对LIS的初始化过程同上述相同。
权利要求
1.一种层次树集合划分图像编码的不重要系数表初始化方法,其特征在于包括如下步骤(1)将小波变换后的最高层像素点按频带划分为LL、HL、LH和HH四个元素组;(2)将每一组中的元素划分为多个元素块,并将每一组中每一行的所有元素块作为一个元素段;(3)搜索当前元素组,判断其中是否有大于当前位平面阈值的像素点,如果没有,则输出“0”,并将下一元素组作为当前组,重复步骤(3),如果有,则输出“1”;(4)搜索该当前元素组中的当前元素段,判断其中是否有大于当前位平面阈值的像素点,如果没有,则输出“0”,并将下一元素段作为当前段,重复步骤(4),如果有,则输出“1”;(5)搜索该当前元素段中的当前元素块,判断其中是否有大于当前位平面阈值的像素点,如果没有,则输出“0”,并将下一元素块作为当前块,重复步骤(5),如果有,则输出“1”,并将该元素块中的像素点装入到不重要系数表中,同时删除该元素块中的元素值;(6)将下一元素块作为当前元素块,重复步骤(5),直至搜索完当前元素段中的全部元素块;(7)将下一元素段作为当前元素段,重复步骤(4),直至搜索完当前元素组中的全部元素段;(8)将下一元素组作为当前组,重复步骤(3),直至搜索完全部元素组。
2.如权利要求1所述的方法,其特征在于所述多个元素块的大小相同。
3.如权利要求1所述的方法,其特征在于所述元素块的行数与列数相同。
4.如权利要求1所述的方法,其特征在于所述元素块的行数与列数不同。
5.一种层次树集合划分图像编码的不重要集合表初始化方法,其特征在于包括如下步骤(1)将小波变换后的最高层像素点按频带划分为HL、LH和HH三个元素组;(2)将每一组中的元素划分为多个元素块,并将每一组中每一行的所有元素块作为一个元素段;(3)搜索当前元素组,判断其中每一点的子孙中是否有大于当前位平面阈值的像素点,如果没有,则输出“0”,并将下一元素组作为当前组,重复步骤(3),如果有,则输出“1”;(4)搜索该当前元素组中的当前元素段,判断其中每一点的子孙中是否有大于当前位平面阈值的像素点,如果没有,则输出“0”,并将下一元素段作为当前段,重复步骤(4),如果有,则输出“1”;(5)搜索该当前元素段中的当前元素块,判断其中每一点的子孙中是否有大于当前位平面阈值的像素点,如果没有,则输出“0”,并将下一元素块作为当前块,重复步骤(5),如果有,则输出“1”,并将该元素块中的像素点装入到不重要集合表中,删除该元素块中的元素值。(6)将下一元素块作为当前元素块,重复步骤(5),直至搜索完当前元素段中的全部元素块;(7)将下一元素段作为当前元素段,重复步骤(4),直至搜索完当前元素组中的全部元素段;(8)将下一元素组作为当前组,重复步骤(3),直至搜索完全部元素组。
6.如权利要求5所述的方法,其特征在于所述多个元素块的大小相同。
7.如权利要求5所述的方法,其特征在于所述元素块的行数与列数相同。
8.如权利要求5所述的方法,其特征在于所述元素块的行数与列数不同。
全文摘要
一种层次树集合划分图像编码的初始化方法,首先将最高层像素点划分为多个元素组、元素段及元素块,然后分别逐级搜索每一元素组、组中的元素段以及段中的元素块,如果没有找到大系数,则输出“0”,否则输出“1”,并将相应元素块中的像素点装入不重要系数表或不重要集合表,同时删除该元素,本发明在准确记载了重要系数位置信息的同时,减少了图像编码初始化过程中的冗余信息,大大节省了码流。
文档编号G06T9/40GK1540588SQ20031010340
公开日2004年10月27日 申请日期2003年10月31日 优先权日2003年10月31日
发明者柴鑫刚, 庞潼川, 陈小敬, 荣芳 申请人:大唐微电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1