嵌入式零树小波编码方法和装置的制作方法

文档序号:6580406阅读:244来源:国知局
专利名称:嵌入式零树小波编码方法和装置的制作方法
技术领域
本发明涉及图像编码领域,更具体地涉及一种嵌入式零树小波编码方法和装置。
背景技术
图像编码算法是一种以可接受的失真为代价来降低数字图像的数据量以进一步 对图像进行处理、存储和传输等的技术。由于小波变换在时域和频域都具有良好的局部 特性,所以基于这种变换的图像编码算法近几年大获成功。作为基于小波变换的图像编 码技术的里程碑,嵌入式小波编码算法(EZW)已经实现了设计时的最佳目标和视觉编码 性能。通过利用小波变换的能量打包特性和小波子带系数间位置的相似性,EZW获得 了非常好的客观和主观编码性能。由于EZW算法采用逐位平面编码的方式,所以在每个 位平面的主控程就存在一个对以前位平面的重要系数(前大系数)的处理方法问题。原 始的EZW算法对这些系数都采用了跳过处理的方式,即如果一个系数在某一位平面一旦 变成重要的,则在以后的位平面的主控程中就对该系数做跳过处理,不再编码。这种方 法会导致较多小的零树产生,降低编码效率,同时不适用于自底向上扫描顺序的硬件实 现。例如,如果某个前大系数的4个子节点都是零树根,那么由于这个前大系数被跳过 处理,所以就需要用4个零树根符号来表示这四棵零树。

发明内容
鉴于以上所述的一个或多个问题,本发明提供了一种新颖的嵌入式零树小波编 码方法和装置。根据本发明实施例的嵌入式零树小波编码方法包括将输入图像分解为多个小 波分解子带;将所述多个小波分解子带中的所有小波系数添加到主小波系数表中,并将 辅小波系数表设置为空;以及分主控程和辅控程两个阶段、按照从最高位平面到最低位 平面的顺序逐位平面地对所述多个小波分解子带中的所有小波系数进行编码,其中在位 平面η中逐一对所述多个小波分解子带中的所有小波系数进行处理,η为不小于零的整 数。在主控程阶段,判断主小波系数表中的一个小波系数的绝对值是否大于或等于2η, 如果是,则根据所述一个小波系数的符号位生成“正重要系数”或“负重要系数”符 号,将所述一个小波系数添加至辅小波系数表中,并在主小波系数表中将所述一个小波 系数设置为零,否则,在所述一个小波系数已经被标记为零树节点的情况下,不对所述 一个小波系数进行处理,在所述一个小波系数未被标记为零树节点的情况下,判断相对 于所述一个小波系数所在的小波分解子带的更高频的小波分解子带中的与所述一个小波 系数相关联的小波系数的绝对值是否都小于2η,如果是,则将所述更高频的小波分解子 带中的与所述一个小波系数相关联的小波系数标记为零树节点,并生成“零树根”符 号,否则生成“孤零”符号。在辅控程阶段,生成所述一个小波系数在位平面η-1中的细化位。
根据本发明实施例的嵌入式零树小波编码装置包括小波分解单元,被配置为 将输入图像分解为多个小波分解子带;表初始化单元,被配置为将所述多个小波分解子 带中的所有小波系数添加到主小波系数表中,并将辅小波系数表设置为空;以及编码执 行单元,被配置为分主控程和辅控程两个阶段、按照从最高位平面到最低位平面的顺序 逐位平面地对所述多个小波分解子带中的所有小波系数进行编码,其中在位平面η中逐 一对所述多个小波分解子带中的所有小波系数进行处理,η为不小于零的整数。具体地, 在主控程阶段,判断主小波系数表中的一个小波系数的绝对值是否大于或等于2η,如果 是,则根据所述一个小波系数的符号位生成“正重要系数”或“负重要系数”符号,将 所述一个小波系数添加至辅小波系数表中,并在主小波系数表中将所述一个小波系数设 置为零,否则,在所述一个小波系数已经被标记为零树节点的情况下,不对所述一个小 波系数进行处理,在所述一个小波系数未被标记为零树节点的情况下,判断相对于所述 一个小波系数所在的小波分解子带的更高频的小波分解子带中的与所述一个小波系数相 关联的小波系数的绝对值是否都小于2η,如果是,则将所述更高频的小波分解子带中的 与所述一个小波系数相关联的小波系数标记为零树节点,并生成“零树根”符号,否则 生成“孤零”符号。在辅控程阶段,生成所述一个小波系数在位平面η-1中的细化位。由以上所述可以看出,通过在主控程阶段在当前位平面η上的处理过程中将绝 对值小于2η且其相关联的小波系数的绝对值也都小于2η的小波系数编码为零树根符号, 可以简化编码的复杂性并提高编码效率。另外,通过在随后的位平面上的处理过程中将 当前位平面η上的绝对值大于或等于2η的小波系数当作0小波系数进行编码,可以进一 步简化编码的复杂性、提高编码效率。


从下面结合附图对本发明的具体实施方式
的描述中可以更好地理解本发明,其 中图1示出了根据本发明实施例的嵌入式零树小波编码装置的框图;图2示出了根据本发明实施例的嵌入式零树小波编码方法的流程图;图3示出了对输入图像示例性地进行3级小波分解得出的10个小波分解子带的 示意图;图4示出了对于图3中所示的10小波分解子带的扫描顺序的示意图;图5示出了对于图3中所示的每个小波分解子带中的小波系数的扫描顺序的示意 图;图6示出了示例性的小波系数集合中的各整数的位平面的示意图;图7示出了根据本发明实施例的用于对所有小波系数进行编码处理的流程图;图8示出了根据本发明实施例的用于在一个位平面上对所有小波系数进行主控 程处理的流程图;以及图9示出了根据本发明实施例的用于在一个位平面上对所有小波系数进行辅控 程处理的流程图。
具体实施例方式下面将详细描述本发明各个方面的特征和示例性实施例。下面的描述涵盖了许 多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说显而易见 的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的 描述仅仅是为了通过示出本发明的示例来提供对本发明更清楚的理解。本发明绝不限于 下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了相关元 素、部件和算法的任何修改、替换和改进。 图1示出了根据本发明实施例的嵌入式零树小波编码装置的框图。如图1所示, 该嵌入式零树小波编码装置包括小波分解单元102、表初始化单元104以及编码执行单元 106。小波分解单元102将输入图像分解为多个小波分解子带。表初始化单元104将所 述多个小波分解子带中的所有小波系数添加到主小波系数表中,并将辅小波系数表设置 为空。编码执行单元106分主控程和辅控程两个阶段、按照从最高位平面到最低位平面 的顺序逐位平面地对所述多个小波分解子带中的所有小波系数进行编码。其中,小波分 解单元还可以通过例如四级树结构将所述多个小波分解子带中的所有小波系数进行相互 关联。图2示出了根据本发明实施例的嵌入式零树小波编码方法的流程图。如图2所 示,该嵌入式零树小波编码方法包括S202,将输入图像分解为多个小波分解子带; S204,将所述多个小波分解子带中的所有小波系数添加到主小波系数表中,并将辅小波 系数表设置为空;以及S206,分主控程和辅控程两个阶段、按照从最高位平面到最低位 平面的顺序逐位平面地对所述多个小波分解子带中的所有小波系数进行编码。其中,步 骤S204例如可以由小波分解单元102完成,步骤S204例如可以由表初始化单元104完 成,步骤S206例如可以由编码执行单元106完成。下面结合图3至图9来详细说明根据本发明实施例的嵌入式零树小波编码方法和 装置的具体处理过程。图3示出了对输入图像示例性地进行3级小波分解得出的10个小波分解子带的 示意图。如图3所示,分解等级N = 3,从输入图像总共分解出3N+1 (即,10)个小波 分解子带。在图3中,LL3块是最低频率的小波分解子带,HL3和HH3块是第二低频率 的小波分解子带,HL2、LH2和HH2块是第三低频率的小波分解子带,并且HL1、LHl 和HHl块是最高频率的小波分解子带。另外,图3中还示出了各小波分解子带中的小波 系数之间的四级树结构。从图3可以看出,对于LL3子带中的每个小波系数,存在三个 分别位于HL3、LH3和HH3子带中的与其具有关联关系的系数(这里称为LL3中的小波 系数的子系数或后代系数);对于这三个子系数中的每一个,都存在分别位于HL2、LH2 和HH2子带中的四个与其具有关联关系的系数(这里称为HL2、LH2和HH2中的小波系 数的子系数或后代系数)。这里,可以将HL3 1、LH3 1以及HH3 1子带中的与 LL3中的小波系数相关联的小波系数统称为该LL3中的小波系数的后代系数。可以从最 低频率的小波分解子带到最高频率的小波分解子带连续限定父子关系(即,关联关系), 并且最高频率的小波分解子带中的小波系数没有任何子系数。假设Ω是所有小波分解子带中的所有小波系数的集合,则可以通过以下等式来 确定这些小波系数的最高位平面
"max=[log2(max(.y)en|c(J|)|其中,Cq是处于位置(i,j)的Ω中的小波系数。另外,最低位平面η· = 0。 对于当前位平面η,如果|Cl,#2n,则小波系数Cq相对于当前位平面η是重要的,否则是 不重要的。在EZW算法中,在当前位平面的主控程中,如果当前小波系数相对于当前位平 面不重要且其所有后代系数相对于当前位平面也都不重要,则将当前小波系数称为零树 根,将其位于最高频率以外的小波分解子带中的后代系数称为零树节点,并将其位于最 高频率的小波分解子带中的后代系数称为叶节点。另外,将以当前小波系数为根、以其 后代系数为节点的树称为零树。在当前零树中,除了零树根以外,所有其他节点都是零 树节点。在对当前小波系数进行编码时,可以产生编码符号“零树根”。在四级树结构 中,如果小波系数不是叶节点,则包括其子系数的子系数在内的所有子系数都被称为这 个小波系数的后代系数。在表初始化单元104中,对主小波系数表和辅小波系数表进行初始化(即,执行 步骤S204)。具体地,将主小波系数表初始化为包括从最低频率的小波分解子带到最高 频率的小波分解子带中的所有小波系数。将辅小波系数表初始化为空(即,辅小波系数 表中最初不存在任何小波系数)。为了初始化主小波系数表,可以例如按照一定的顺序逐一将小波系数添加到主 小波系数表中。图4示出了对于图3中所示的10小波分解子带的扫描顺序的示意图。如图4所 示,首先将LL3子带中的小波系数添加到主小波系数表中,然后按照HL3 —LH3 —ΗΗ3 的顺序将HL3、LH3和ΗΗ3子带中的小波系数添加到主小波系数表中。接着,按照 HL2 — LH2 — ΗΗ2的顺序,依次将HL2、LH2和ΗΗ2子带中的小波系数添加到主小波 系数表中。对于最高频率的小波分解子带,首先将HLl子带的小波系数添加到主小波系 数表中,然后将LHl子带的小波系数、最后将HHl子带的小波系数添加到主小波系数表 中。也就是说,按照从左到右、从上到下的顺序,逐子带地将各小波分解子带中的小波 系数添加到主小波系数表中。图5示出了对于图3中所示的每个小波分解子带中的小波系数的扫描顺序的示意 图。如图5所示,对于每个小波分解子带,该子带的小波系数被逐行添加至主小波系数 表。当所有小波分解子带中的所有小波系数都被添加至主小波系数表中之后,主小波系 数表的初始化结束。在编码执行单元106中,分主控程和辅控程两个阶段、按照从最高位平面到最 低位平面的顺序逐位平面地对多个小波分解子带中的所有小波系数进行编码。其中,在 进行一个位平面的编码之前,首先判断是否达到了目标比特率R或是否完成了最低位平 面的编码,如果是,则编码处理结束,否则进行该位平面的编码。对于每个位平面,首 先在主控程阶段,扫描主小波系数表并输出四种编码符号零树根(ZTR)、正重要系数 (POS)、负重要系数(NEG)以及孤立零(IZ);然后在辅控程阶段,扫描辅小波系数表并 输出辅小波系数 表中的每个小波系数的细化比特(即,每个小波系数在下一位平面中的 0/1 位)。
图6示出了示例性的小波系数集合中的各整数的位平面的示意图。如图6所示, 对于整数集合丨88,-126,76,25,112,-36,2,_4丨而言,最高位平面nmax = 6,最低 位平面nmm = 0。图7示出了根据本发明实施例的用于对所有小波系数进行编码处理的流程 图。如图7所示,在开始编码处理后,首先计算对于所有小波系数而言的最高位平面 Iimax(S702);然后通过步骤S704 S712的步骤的循环,按照从最高位平面到最低位平面 的顺序完成对所有小波系数的编码处理。其中,在步骤S704,在位平面η上执行主控 程阶段的处理;在主控程阶段的处理完成后,在步骤S706,判断是否达到了目标位速率 R;如果是,则结束编码处理,否则在步骤S708,在位平面η上执行辅控程阶段的处理; 在辅控程阶段的处理完成后,在步骤S710判断是否达到目标位速率R ;如果是,则结束 编码处理,否则在步骤S712,判断是否到达最低位平面;如果是,则结束编码处理,否 则进行位平面η-1上的编码处理。图8示出了根据本发明实施例的用于在一个位平面上对所有小波系数进行主控 程处理的流程图。从图8可以看出,在主控程阶段,依次对主小波系数表中的每个小波 系数进行处理。对于当前系数C1,"如果其对于η是重要的,则根据其符号位生成符号 POS(2比特,10)或NEG(2比特,11),将当前系数Cy添加到辅小波系数表中,并在主 小波系数表中将当前系数C1, j设置为零。如果当前系数C1, j对于η不重要,则如果其已 经被标记为零树节点,则跳过该系数,并不生成符号(因为它可以从其前辈系数预见)。 如果当前系数Cy不重要且未被标为零树节点,则需要对它的所有后代系数进行检测。如 果这些后代系数对于η都是不重要的,则将所有这些后代系数标记为零树节点,并且生 成符号ZTR(2比特,01),否则生成符号IZ(2比特,00)。在对当前系数进行处理 后,检测是否满足目标位速率R。如果是,则编码处理结束,否则继续到下一个小波系 数(如果当前系数不是主小波系数表中的最后一个小波系数),并继续上述处理。在当前 位平面中对主小波系数表中的所有小波系数都进行处理后,清除所有零树节点的标记, 并继续进行对于当前位平面的辅控程阶段的处理。图9示出了根据本发明实施例的用于在一个位平面上对所有小波系数进行辅控 程处理的流程图。从图9可以看出,在辅控程阶段,对辅小波系数表中的每个小波系数 进行处理。对于当前系数生成其细化位(1比特,0或1),即生成其在位平面η-1 中的|Cl,」比特。由于对于最低位平面nmm = 0,不存在下一位平面中的任何细化位,所以 对于最低位平面,辅控程阶段不进行任何处理。注意,在辅控程阶段,在生成了每个细 化位之后,检测是否达到目标比特率R,如果是,则编码处理结束,否则继续对辅小波 系数表中的下一个小波系数(如果存在)进行处理。如果辅小波系数表中的所有小波系 数都已经被细化,则编码处理进行到下一个位平面(η = η-1)并继续以上两个编码过程。 综上所述,根据本发明实施例的方法和装置与现有的零树小波编码方法之间的 不同至少在于主控程的不同,即在如何处理较高位平面中的重要小波系数方面不同在 当前位平面中,EZW算法需要判断当前系数是否是来自较高位平面的重要系数,如果 是,则略过该系数;而根据本发明实施例所提出的方法不需要进行判断,而只是将其作 为零系数进行编码。另外,通过将重要系数编码为零,简化了由于以上原因导致的编码 复杂性。由于利用一个符号来对不重要的小波系数进行编码,所以在较低比特率的情况下所提出的编码效率更高。以上已经参考本发 明的具体实施例来描述了本发明,但是本领域技术人员均了 解,可以对这些具体实施例进行各种修改、组合和变更,而不会脱离由所附权利要求或 其等同物限定的本发明的精神和范围。根据需要可以用硬件或软件来执行步骤。注意,在不脱离本发明范围的前提 下,可向本说明书中给出的流程图添加步骤、从中去除步骤或修改其中的步骤。一般来 说,流程图只是用来指示用于实现功能的基本操作的一种可能的序列。本发明的实施例可利用编程的通用数字计算机、利用专用集成电路、可编程逻 辑器件、现场可编程门阵列、光的、化学的、生物的、量子的或纳米工程的系统、组件 和机构来实现。一般来说,本发明的功能可由本领域已知的任何手段来实现。可以使用 分布式或联网系统、组件和电路。数据的通信或传送可以是有线的、无线的或者通过任 何其他手段。还将意识到,根据特定应用的需要,附图中示出的要素中的一个或多个可以按 更分离或更集成的方式来实现,或者甚至在某些情况下被去除或被停用。实现可存储在 机器可读介质中的程序或代码以允许计算机执行上述任何方法,也在本发明的精神和范 围之内。此外,附图中的任何信号箭头应当被认为仅是示例性的,而不是限制性的,除 非另有具体指示。当术语被预见为使分离或组合的能力不清楚时,组件或者步骤的组合 也将被认为是已经记载了。
权利要求
1.一种嵌入式零树小波编码方法,包括将输入图像分解为多个小波分解子带;将所述多个小波分解子带中的所有小波系数添加到主小波系数表中,并将辅小波系 数表初始化为空;以及分主控程和辅控程两个阶段、按照从最高位平面到最低位平面的顺序逐位平面地对 所述多个小波分解子带中的所有小波系数进行编码,其中在位平面η中逐一对所述多个 小波分解子带中的所有小波系数进行处理,η为不小于零的整数在所述主控程阶段,判断所述主小波系数表中的一个小波系数的绝对值是否大于或 等于2η,如果是,则根据所述一个小波系数的符号位生成“正重要系数”或“负重要系数”符号,将 所述一个小波系数添加至所述辅小波系数表中,并在所述主小波系数表中将所述一个小 波系数设置为零,否则,在所述一个小波系数已经被标记为零树节点的情况下,不对所述一个小波系 数进行处理,在所述一个小波系数未被标记为零树节点的情况下,判断相对于所述一个 小波系数所在的小波分解子带的更高频的小波分解子带中的与所述一个小波系数相关联 的小波系数的绝对值是否都小于2η,如果是,则将所述更高频的小波分解子带中的与所 述一个小波系数相关联的小波系数标记为零树节点,并生成“零树根”符号,否则生成 “孤零”符号,在所述辅控程阶段,生成所述一个小波系数在位平面η-1中的细化位。
2.根据权利要求1所述的嵌入式零树小波编码方法,其特征在于,所述多个小波分解 子带中的所有小波系数是根据四级树结构相互关联的。
3.根据权利要求1所述的嵌入式零树小波编码方法,其特征在于,按照从左到右、从 上到下的顺序逐子带地将所述多个小波分解子带中的小波系数添加到所述主小波系数表 中。
4.根据权利要求3所述的嵌入式零树小波编码方法,其特征在于,按照从左到右、从 上到下的顺序逐小波系数地将各所述小波分解子带中的小波系数添加到所述主小波系数 表中。
5.根据权利要求1所述的嵌入式零树小波编码方法,其特征在于,在结束一个位平面的编码处理之后或者在结束一个位平面上的主控程处理之后,判 断是否达到了目标位速率,如果是,则结束编码,否则进行下一个位平面的编码处理或 进行所述一个位平面上的辅控程处理;以及在结束最低位平面的编码处理后,结束编码。
6.根据权利要求1所述的嵌入式零树小波编码方法,其特征在于,每当完成一个位平 面上的编码处理后,清除在所述一个位平面上被标记为所述零树节点的小波系数的零树 节点标记。
7.根据权利要求1所述的嵌入式零树小波编码方法,其特征在于,根据以下 等式确定用于对所述多个小波分解子带中的所有小波系数进行编码的最高位平面 max =IjOg2Onaxkij |)_|,其中,Ilmax表示最高位平面,Cy表示处于所述输入图像的位置(i,j)处的小波系数,并且用于对所述多个小波分解子带中的所有小波系数进行编码的最 低位平面为位平面nmm = 0。
8.一种嵌入式零树小波编码装置,包括小波分解单元,被配置为将输入图像分解为多个小波分解子带;表初始化单元,被配置为将所述多个小波分解子带中的所有小波系数添加到主小波 系数表中,并将辅小波系数表初始化为空;以及编码执行单元,被配置为分主控程和辅控程两个阶段、按照从最高位平面到最低位 平面的顺序逐位平面地对所述多个小波分解子带中的所有小波系数进行编码,其中在位 平面η中逐一对所述多个小波分解子带中的所有小波系数进行处理,η为不小于零的整 数在所述主控程阶段,判断所述主小波系数表中的一个小波系数的绝对值是否大于或 等于2η,如果是,则根据所述一个小波系数的符号位生成“正重要系数”或“负重要系数”符号,将 所述一个小波系数添加至所述辅小波系数表中,并在所述主小波系数表中将所述一个小 波系数设置为零,否则,在所述一个小波系数已经被标记为零树节点的情况下,不对所述一个小波系 数进行处理,在所述一个小波系数未被标记为零树节点的情况下,判断相对于所述一个 小波系数所在的小波分解子带的更高频的小波分解子带中的与所述一个小波系数相关联 的小波系数的绝对值是否都小于2η,如果是,则将所述更高频的小波分解子带中的与所 述一个小波系数相关联的小波系数标记为所述零树节点,并生成“零树根”符号,否则 生成“孤零”符号,在所述辅控程阶段,生成所述一个小波系数在位平面η-1中的细化位。
9.根据权利要求8所述的嵌入式零树小波编码装置,其特征在于,所述小波分解单元 还根据四级树结构对所述多个小波分解子带中的所有小波系数进行相互关联。
10.根据权利要求8所述的嵌入式零树小波编码装置,其特征在于,所述表初始化单 元按照从左到右、从上到下的顺序逐子带地将所述多个小波分解子带中的小波系数添加 到所述主小波系数表中。
11.根据权利要求10所述的嵌入式零树小波编码装置,其特征在于,所述表初始化单 元按照从左到右、从上到下的顺序逐小波系数地将各所述小波分解子带中的小波系数添 加到所述主小波系数表中。
12.根据权利要求8所述的嵌入式零树小波编码装置,其特征在于,所述嵌入式零树 小波编码装置在结束一个位平面的编码处理之后或者在结束一个位平面上的主控程处理之后,判 断是否达到了目标位速率,如果是,则结束编码,否则进行下一个位平面的编码处理或 进行所述一个位平面上的辅控程处理,在结束最低位平面的编码处理后,结束编码。
13.根据权利要求8所述的嵌入式零树小波编码装置,其特征在于,所述嵌入式零树 小波编码装置每当完成一个位平面上的编码处理后,清除在所述一个位平面上被标记为 所述零树节点的小波系数的零树节点标记。
14.根据权利要求8所述的嵌入式零树小波编码装置,其特征在于,所述编码执行单 元根据以下等式确定用于对所述多个小波分解子带中的所有小波系数进行编码的最高位平面《max=^>g2(maxk_,y|)_|,其中,Iimax表示最高位平面,Cy表示处于所述输入图像的位置(i,j)处的小波系数,并且用于对所述多个小波分解子带中的所有小波系数进行编 码的最低位平面为位平面nmm = 0。
全文摘要
公开了一种嵌入式零树小波编码方法和装置。该方法包括将输入图像分解为多个小波分解子带;将多个小波分解子带中的所有小波系数添加到主小波系数表中,并将辅小波系数表设置为空;以及分主控程和辅控程两个阶段、按照从最高位平面到最低位平面的顺序逐位平面地对多个小波分解子带中的所有小波系数进行编码,其中在位平面n中逐一对多个小波分解子带中的所有小波系数进行处理。在主控程阶段,判断主小波系数表中的一个小波系数的绝对值是否大于或等于2n,如果是,根据该小波系数的符号位生成“POS”或“NEG”符号,将该小波系数添加至辅小波系数表中,并在主小波系数表中将该小波系数设置为零。
文档编号G06T9/00GK102024265SQ20091017384
公开日2011年4月20日 申请日期2009年9月14日 优先权日2009年9月14日
发明者杨永明 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1