首页 / 专利库 / 信号处理 / 小波变换 / 小波变换编码/解码方法和装置

小波变换编码/解码方法和装置

阅读:415发布:2020-05-13

专利汇可以提供小波变换编码/解码方法和装置专利检索,专利查询,专利分析的服务。并且系数编码单元从通过对二维 信号 执行 小波变换 已经生成的多个高频子带中提取在空间上位于相同 位置 处的多个系数(小波变换系数)的组,作为系数组,并对该组进行编码。系数编码单元具有:多维系数编码单元,其共同地对被包含在系数组中的多个小波变换系数进行编码;单独系数编码单元,其执行单独编码;模式确定参考系数提取单元,其提取在空间上 定位 在将被编码的系数组附近的已被编码的多个系数的组,作为模式确定参考系数组;和编码方法确定单元,其将被包含在模式确定参考系数组中的多个系数的绝对值的总和与预定的 阈值 进行比较,并确定多维系数编码单元和单独系数编码单元中的哪一个用来对被包含在将被编码的系数组中的多个系数进行编码。,下面是小波变换编码/解码方法和装置专利的具体信息内容。

1.一种小波变换编码装置,包括:
小波变换单元,用于将二维信号分解为子带,所述子带是多个频率范围;以及系数编码单元,用于对所述子带的小波变换系数编码;
其中所述系数编码单元包括:
系数组提取单元,用于从属于相同层级的LH、HL和HH子带提取在空间上位于相同位置处的多个小波变换系数的组,作为系数组;
多维系数编码单元,用于共同地对被包含在提取的所述系数组中的所述多个小波变换系数编码;
单独系数编码单元,用于单独地对被包含在提取的所述系数组中的所述多个小波变换系数编码;
模式确定参考系数提取单元,用于从属于所述相同层级的LH、HL和HH子带提取在空间上位于提取的所述系数组附近的多个已经被编码的小波变换系数的组,作为模式确定参考系数组;以及
编码方法确定单元,用于将被包含在提取的所述模式确定参考系数组中的所述多个小波变换系数的绝对值的总和与预定的第一阈值比较,并且确定是使用所述多维系数编码单元还是所述单独系数编码单元来对被包含在提取的所述系数组中的所述多个小波变换系数编码。
2.根据权利要求1所述的小波变换编码装置,其中所述编码方法确定单元将被包含在提取的所述模式确定参考系数组中的所述多个小波变换系数的所述绝对值的所述总和与被设置为小于所述第一阈值的值的第二阈值比较,确定是否进入游程长度模式,并且当确定不进入所述游程长度模式时、以及当退出所述游程长度模式时,执行是使用所述多维系数编码单元还是所述单独系数编码单元来编码的所述确定;
所述小波变换编码装置进一步包括:游程长度编码单元,用于在所述游程长度模式中,对被包含在系数组中的所有所述小波变换系数都为0的组的连续出现的频率计数,作为游程长度,并且当被包含在所述系数组中的所述小波变换系数中的任一小波变换系数变成非零时,对所述游程长度编码并从所述游程长度模式退出。
3.根据权利要求2所述的小波变换编码装置,其中所述多维系数编码单元具有不同类型的多个可变长度码表,基于编码是否将在退出所述游程长度模式之后立即被执行而从所述多个可变长度码表选择一个可变长度码表,并通过使用选择的所述可变长度码表来执行编码。
4.根据权利要求1所述的小波变换编码装置,其中假设编码目标的小波变换系数LH、HL和HH的坐标为(i,j),所述模式确定参考系数提取单元提取:
(1)坐标值(i,j-1)的小波变换系数LH;
(2)坐标值(i,j-1)的小波变换系数HL;
(3)坐标值(i,j-1)的小波变换系数HH;
(4)坐标值(i-1,j)的小波变换系数LH;
(5)坐标值(i-1,j)的小波变换系数HL;和
(6)坐标值(i-1,j)的小波变换系数HH。
5.根据权利要求1所述的小波变换编码装置,其中所述多维系数编码单元包括:
多维系数向量编码单元,用于将所述多个小波变换系数中的每个小波变换系数分类到总共N个类别中的任一类别中,其中N≥3,并且执行对如下向量的可变长度编码,所述向量是所述多个小波变换系数所属于的所述类别的类别编号的组合,所述N个类别包括:其中绝对值是0,1,…N-2并且在相邻类别之间的绝对值的差是1的N-1个类别,以及其中绝对值是N-1或者更大的类别;
多维系数正和负编码单元,用于对具有非零的绝对值的所述小波变换系数的正和负的信息编码;
多维系数振幅编码单元,用于对于具有N-1或者更大的绝对值的所述小波变换系数,执行对通过从所述绝对值减去N-1而得到的值的可变长度编码。
6.根据权利要求5所述的小波变换编码装置,其中所述多维系数振幅编码单元基于属于相同层级的多个高频子带内的多个已经被编码的邻近小波变换系数来计算编码目标的小波变换系数的编码参数,并且通过使用计算出的所述编码参数来执行所述可变长度编码。
7.根据权利要求6所述的小波变换编码装置,其中当所述系数组包括具有N-1或者更大的绝对值的多个小波变换系数时,所述多维系数振幅编码单元在所述系数组中对小波变换系数LH、小波变换系数HL以及小波变换系数HH按此顺序编码。
8.根据权利要求1所述的小波变换编码装置,其中所述单独系数编码单元包括:
系数振幅编码单元,用于基于属于相同层级的多个高频子带内的多个已经被编码的邻近小波变换系数来计算编码目标的所述小波变换系数的编码参数,并且通过使用计算出的所述编码参数来执行可变长度编码;以及
系数正和负编码单元,用于对编码目标的所述小波变换系数中的具有非零的绝对值的所述小波变换系数的正和负的信息编码。
9.根据权利要求8所述的小波变换编码装置,其中所述单独系数编码单元在所述系数组内对小波变换系数LH、小波变换系数HL以及小波变换系数HH按此顺序编码。
10.根据权利要求6所述的小波变换编码装置,其中在对所述编码参数的计算中,假设编码目标的小波变换系数LH、HL和HH的坐标是(i,j):
针对所述小波变换系数LH:
坐标值(i,j-1)的小波变换系数LH;
坐标值(i,j-1)的小波变换系数HL;
坐标值(i,j-1)的小波变换系数HH;以及
坐标值(i-1,j)的小波变换系数LH被参考;
针对所述小波变换系数HL:
坐标值(i,j-1)的小波变换系数HL;
坐标值(i-1,j)的小波变换系数HL;
坐标值(i-1,j)的小波变换系数HH;以及
坐标值(i,j)的小波变换系数LH被参考;并且
针对所述小波变换系数HH:
坐标值(i,j-1)的小波变换系数HH;
坐标值(i-1,j)的小波变换系数HH;
坐标值(i,j)的小波变换系数LH;以及
坐标值(i,j)的小波变换系数HL被参考。
11.根据权利要求2所述的小波变换编码装置,其中所述多维系数编码单元包括:
多维系数向量编码单元,用于将所述多个小波变换系数中的每个小波变换系数分类到其中绝对值是0、1、和2或者更大的三个类别中的任一类别中,并且执行对如下向量的可变长度编码,所述向量是所述多个小波变换系数所属于的所述类别的类别编号的组合;
多维系数正和负编码单元,用于对具有1或者更大的绝对值的所述小波变换系数的正和负的信息编码;
多维系数振幅编码单元,用于对于具有2或者更大的绝对值的所述小波变换系数,执行对通过从所述绝对值减去2而得到的值的可变长度编码。
12.一种小波变换编码方法,包括:
将二维信号分解为子带,所述子带是多个频率范围;以及
对所述子带的小波变换系数编码;
其中对所述子带的所述小波变换系数的所述编码包括:
从属于相同层级的LH、HL和HH子带提取在空间上位于相同位置处的多个小波变换系数的组,作为系数组;
从属于所述相同层级的所述LH、HL和HH子带提取在空间上位于提取的所述系数组附近的多个已经被编码的小波变换系数的组,作为模式确定参考系数组;
将被包含在提取的所述模式确定参考系数组中的所述多个小波变换系数的绝对值的总和与预定的第一阈值比较,并且确定是使用多维系数编码方法还是单独系数编码方法来对被包含在提取的所述系数组中的所述多个小波变换系数编码;
当确定通过所述多维系数编码方法编码时,共同地对被包含在提取的所述系数组中的所述多个小波变换系数编码;
当确定通过所述单独系数编码方法编码时,单独地对被包含在提取的所述系数组中的所述多个小波变换系数编码。
13.一种非瞬态计算机可读介质,存储包括指令的程序,所述指令用于使得计算机执行操作,所述操作包括:
将二维信号分解为子带的步骤,所述子带是多个频率范围;以及
对所述子带的小波变换系数编码的步骤;
其中对所述子带的所述小波变换系数编码的所述步骤包括:
从属于相同层级的LH、HL和HH子带提取在空间上位于相同位置处的多个小波变换系数的组作为系数组的步骤;
从属于所述相同层级的所述LH、HL和HH子带提取在空间上位于提取的所述系数组附近的多个已经被编码的小波变换系数的组,作为模式确定参考系数组的步骤;
将被包含在提取的所述模式确定参考系数组中的所述多个小波变换系数的绝对值的总和与预定的第一阈值比较,并且确定是使用多维系数编码方法还是单独系数编码方法来对被包含在提取的所述系数组中的所述多个小波变换系数编码的步骤;
当确定通过所述多维系数编码方法编码时,共同地对被包含在提取的所述系数组中的所述多个小波变换系数编码的步骤;以及
当确定通过所述单独系数编码方法编码时,单独地对被包含在提取的所述系数组中的所述多个小波变换系数编码的步骤。

说明书全文

小波变换编码/解码方法和装置

技术领域

[0001] 本发明涉及二维信号的编码和解码。具体地,本发明涉及一种用于通过使用小波变换来对二维信号编码和解码的方法和装置,并且还涉及其计算机程序

背景技术

[0002] 小波变换编码方法被公认为对图像信号所表示的二维信号进行高效编码的方法中的一种。
[0003] 在小波变换编码方法中,首先小波变换被应用到二维信号。小波变换是一种子带编码,其通过在平和垂直方向上针对频带分割在低频侧重复子带分割而产生N-层级(hierarchy)频带分割。这种频带分割被称为倍频(octave)分割。在分割达3个层级的情形中,如图19所示会有10个子带可用。
[0004] 在图19中,F0到F3是最低层级的子带;F4到F6是其上层级的子带;并且F7到F9是最高层级的子带。进一步地,F1、F4和F7是在水平方向上经低通滤波器滤波并且在垂直方向上经高通滤波器滤波的子带;F2、F5和F8是在水平方向上经高通滤波器滤波并且在垂直方向上经低通滤波器滤波的子带;并且F3、F6和F9是在水平方向上和垂直方向上都经高通滤波器滤波的子带。进一步地,F0被称为最低频子带,而除了F0,F1到F9被称为高频子带。
[0005] 小波变换系数被包含在子带F0到F9中的每一个中。在本说明书中,被称为LH的小波变换系数被包含在例如F1、F4和F7的子带中,其中子带F1、F4和F7是在水平方向上经低通滤波器滤波并且在垂直方向上经高通滤波器滤波的子带。进一步地,被称为HL的小波变换系数被包含在例如F2、F5和F8的子带中,其中F2、F5和F8是在水平方向上经高通滤波器滤波并且在垂直方向上经低通滤波器滤波的子带。进一步地,被称为HH的小波变换系数被包含在例如F3、F6和F9的子带中,其中F3、F6和F9是在水平方向上和垂直方向上都经高通滤波器滤波的子带。进一步地,被称为LL的小波变换系数被包含在最低频子带F0中。而且,相同的坐标被分配给相同层级的多个高频子带中具有相同空间坐标的小波变换系数LH、HL和HH,其例如将被表达为LH(i,j)、HL(i,j)和HH(i,j)。因此,x表示水平方向,y表示垂直方向;因此所述坐标被表达为(x,y)。
[0006] 当小波变换以上述方式被实施时,电功率趋向于被包含在最低频子带中的小波变换系数LL,并且被包含在高频子带中的小波变换系数LH、HL和HH在数值上变得大约为0。因此,有可能通过使用可变长度码来压缩信息量,以对被包含在高频子带中的小波变换系数LH、HL和HH进行编码,可变长度码的码长度随着数值越接近0而变得越短。进一步地,因为对小波变换系数LH、HL和HH的量化增加了为0的小波变换系数的数量,所以有可能通过同时使用游程长度(run length)压缩或编码来进一步大幅地压缩信息量。
[0007] 这里,作为用于对被包含在高频子带中的小波变换系数进行编码的方法,存在诸如JPEG2000(ISO-15444-1/ITU-T Rec.800)那样分别对LH、HL和HH进行编码的方法,以及如在专利文献1和专利文献2以及非专利文献1中所示出的对属于相同层级的多个子带内的在空间上位于相同位置处的LH、HL和HH进行分组以及针对每个组进行编码的方法。本发明涉及对于后面那种方法的改进。
[0008] 在另一方面,在小波变换解码中,原始的二维信号是通过输入由小波变换编码所产生的码串并进行后续的与编码相反的进程而生成的。
[0009] 通过对属于相同层级的LH子带、HL子带和HH子带内的在空间上位于相同位置处的LH、HL和HH进行分组来进行编码的方法被进一步粗略划分为:单独地(individually)对被包含在组中的多个小波变换系数进行编码的方法(以下,称为单独系数编码方法);以及共同地对被包含在组中的多个小波变换系数进行编码的方法(以下,称为多维系数编码方法)。
[0010] 在专利文献2中描述了单独系数编码方法的一个示例。在专利文献2中,在空间上位于相同位置处的LH、HL和HH的组从LH子带、HL子带和HH子带中被提取,并且LH、HL和HH以该顺序通过使用Golomb-Rice码而被单独地编码为可变长度码。
[0011] 在专利文献1中描述了多维系数编码方法的一个示例。在专利文献1中,在空间上位于相同位置处的LH、HL和HH的组从LH子带、HL子带和HH子带中被提取,并且三个系数LH、HL和HH被共同地编码为一个码。具体地,确定LH、HL和HH是否为0,并且产生针对每个系数的1个比特的鉴别信息。接着,该鉴别信息被结合用于每个组,以产生具有多个比特长度的标记信息,并且该标记信息被编码为可变长度码。因此,当被包含在一个组中的所有系数在数值上都等于0时,压缩率增加。然而,就非0系数而言,系数值分别地被编码为可变长度码。
[0012] 在非专利文献1中描述了多维系数编码方法的另一个示例。在非专利文献1中,相同层级中的在空间上邻近的LH、HL和HH系数被收集以生成一个多维向量,并对该多维向量进行编码。具体地,通过根据所述向量的电功率进行分类,并根据类别应用向量量化,增加了系数的压缩率。进一步地,通过将其中所有系数值为零的向量作为非有效向量而从编码目标中消除,增加了具有许多零系数的高压缩的压缩率。
[0013] 专利文献1:日本专利:No.4424522
[0014] 专利文献2:日本专利:No.4650592
[0015] 非专利文献1:Matsumura等的“Method for Vector Quantization of Wavelet Transform Image by Subband Hierarchy and Electric Power Class”,日本第十届图片编码讨论会(PCSJ95)的第121-122页。

发明内容

[0016] 如前所述,作为对属于相同层级的LH子带、HL子带和HH子带中的在空间上位于相同位置的LH、HL和HH进行编码的方法,存在两种方法,即单独系数编码方法和多维系数编码方法。存在一种二维信号,其中在该信号被以多维系数编码方法进行编码时压缩率变高,但是也存在一种二维信号,其中在该信号被以单独系数编码方法编码时压缩率变高。进一步地,存在一种二维信号,其在一个二维信号中包含当该信号被以多维系数编码方法编码时压缩率变高的部分以及当该信号被以单独系数编码方法编码时压缩率变高的部分二者。因此,仅仅通过其中针对整个二维信号定义了是对编码目标的多个小波变换系数进行共同地编码还是单独地编码的方法,难于以良好的压缩率来进行编码。
[0017] 本发明的目的在于提供一种解决上述问题的小波变换编码装置,上述问题即难于通过如下方法来以良好的压缩率进行编码的问题,在该方法中针对整个二维信号定义了是对在空间上位于相同位置的多个小波变换系数进行共同地编码还是单独地编码。
[0018] 作为本发明的一个方面的小波变换编码装置,包括:
[0019] 小波变换单元,用于将二维信号分解为子带,该子带是多个频率范围;和[0020] 系数编码单元,用于对子带的小波变换系数编码;
[0021] 其中,系数编码单元包括:
[0022] 系数组提取单元,用于从属于相同层级的LH、HL和HH子带中提取在空间上位于相同位置处的多个小波变换系数的组作为系数组;
[0023] 多维系数编码单元,用于共同地对被包含在所提取的系数组中的多个小波变换系数编码;
[0024] 单独系数编码单元,用于单独地对被包含在所提取的系数组中的多个小波变换系数编码;
[0025] 模式确定参考系数提取单元,用于从属于相同层级的LH、HL和HH子带中提取在空间上位于提取的系数组附近的多个已被编码的小波变换系数的组,作为模式确定参考系数组;和
[0026] 编码方法确定单元,用于将被包含在提取的模式确定参考系数组中的多个小波变换系数的绝对值的总和与预定的第一阈值进行比较,并确定是使用多维系数编码单元还是单独系数编码单元来对被包含在提取的系数组中的多个小波变换系数进行编码。
[0027] 作为本发明的另一方面的小波变换解码装置是这样的一种解码装置,在该装置中输入是通过对经小波变换而获得的多个子带的小波变换系数的可变长度编码而获得的码串,
[0028] 小波变换解码装置包括系数解码单元,该系数解码单元用于针对如下每个组从上述码串解码小波变换系数,所述每个组包括属于相同层级的多个高频子带内的、在空间上位于相同位置处的多个小波变换系数,
[0029] 其中所述系数解码单元包括:
[0030] 多维系数解码单元,用于共同地对被包含在所述组中的多个小波变换系数解码;
[0031] 单独系数解码单元,用于单独地对被包含在所述组中的多个小波变换系数解码;
[0032] 模式确定参考系数提取单元,用于从属于相同层级的LH、HL和HH子带中提取在空间上位于解码目标的组附近的多个已被解码的小波变换系数的组,作为模式确定参考系数组;和
[0033] 解码方法确定单元,用于将被包含在提取的模式确定参考系数组中的多个小波变换系数的绝对值的总和与预定的第一阈值进行比较,并确定是使用多维系数解码单元还是单独系数解码单元来对被包含在解码目标的组中的多个小波变换系数进行解码。
[0034] 作为本发明的另一方面的小波变换编码方法,包括:
[0035] 将二维信号分解为子带,所述子带是多个频率范围;以及
[0036] 对所述子带的小波变换系数编码;
[0037] 其中对子带的小波变换系数编码包括:
[0038] 从属于相同层级的LH、HL和HH子带中提取在空间上位于相同位置处的多个小波变换系数的组,作为系数组;
[0039] 从属于相同层级的LH、HL和HH子带中提取在空间上位于提取的系数组附近的多个已被编码的小波变换系数的组,作为模式确定参考系数组;
[0040] 将被包含在提取的模式确定参考系数组中的多个小波变换系数的绝对值的总和与预定的第一阈值进行比较,并确定是使用多维系数编码方法还是单独系数编码方法来对被包含在提取的系数组中的多个小波变换系数编码;
[0041] 当确定以多维系数编码方法编码时,共同地对被包含在所提取的系数组中的多个小波变换系数进行编码;
[0042] 当确定以单独系数编码方法编码时,单独地对被包含在所提取的系数组中的多个小波变换系数编码。
[0043] 作为本发明的另一方面的小波变换解码方法,包括:
[0044] 针对如下每个组从通过对经小波变换而获得的多个子带的小波变换系数的可变长度编码而获得的码串中解码小波变换系数,所述每个组包括属于相同层级的多个高频子带内的、在空间上位于相同位置处的多个小波变换系数;
[0045] 其中针对每个组解码小波变换系数包括:
[0046] 从属于相同层级的LH、HL和HH子带中提取在空间上位于解码目标的组附近的多个已被解码的小波变换系数的组,作为模式确定参考系数组;
[0047] 将被包含在提取的模式确定参考系数组中的多个小波变换系数的绝对值的总和与预定的第一阈值进行比较,并确定是使用多维系数解码方法还是单独系数解码方法来对被包含在解码目标的组中的多个小波变换系数解码;
[0048] 当确定通过多维系数解码方法解码时,共同地对被包含在所述组中的多个小波变换系数解码;
[0049] 当确定通过单独系数解码方法解码时,单独地对被包含在所述组中的多个小波变换系数解码。
[0050] 通过前述的结构,本发明允许以良好的压缩率对各种二维信号编码,这些二维信号例如是针对其期望对在空间上位于相同位置处的多个小波变换系数共同地进行编码的二维信号、针对其期望进行单独编码的二维信号、以及包含针对其期望共同地进行编码的部分以及针对其期望单独地进行编码的部分二者的二维信号。附图说明
[0051] 图1是根据本发明的第一示例性实施例的小波变换编码装置的方框图
[0052] 图2是在空间上位于相同位置的小波变换系数LH、HL和HH的组,以及在对该组进行编码时提取的模式确定参考系数的说明性示图;
[0053] 图3是其他的多个小波变换系数的说明性示图,这些小波变换系数被参考以在将小波变换系数LH编码为可变长度码时寻找编码参数;
[0054] 图4是其他的多个参考小波变换系数的说明性示图,这些参考小波变换系数用于在将小波变换系数HL编码为可变长度码时寻找编码参数;
[0055] 图5是其他的多个参考小波变换系数的说明性示图,这些参考小波变换系数用于在将小波变换系数HH编码为可变长度码时寻找编码参数;
[0056] 图6是示出根据本发明的第一示例性实施例的小波变换编码装置的操作的流程图
[0057] 图7是示出根据本发明的第一示例性实施例的小波变换编码装置中的多维系数编码过程的一个示例的流程图;
[0058] 图8是示出根据本发明的第一示例性实施例的小波变换编码装置中的单独系数编码过程的一个示例的流程图;
[0059] 图9是根据本发明的第二示例性实施例的小波变换解码装置的方框图;
[0060] 图10是示出根据本发明的第二示例性实施例的小波变换解码装置的操作的流程图;
[0061] 图11是示出根据本发明的第二示例性实施例的小波变换解码装置中的多维可变长度解码行为的流程图;
[0062] 图12是示出根据本发明的第二示例性实施例的小波变换解码装置中的单独系数解码行为的流程图;
[0063] 图13是根据本发明的第三示例性实施例的小波变换编码装置的方框图;
[0064] 图14是示出根据本发明的第三示例性实施例的小波变换编码装置的操作的流程图;
[0065] 图15是示出根据本发明的第三示例性实施例的小波变换编码装置中的多维系数编码过程的一个示例的流程图;
[0066] 图16是根据本发明的第四示例性实施例的小波变换解码装置的方框图;
[0067] 图17是示出根据本发明的第四示例性实施例的小波变换解码装置的操作的流程图;
[0068] 图18是示出根据本发明的第四示例性实施例的小波变换解码装置中的多维可变长度解码行为的流程图;以及
[0069] 图19是三层级小波变换的说明性示图。

具体实施方式

[0070] 接下来,将参照附图详细地描述本发明的示例性实施例。
[0071] [第一示例性实施例]
[0072] 参见图1,本发明的第一示例性实施例包括图像输入设备11、数据存储设备12、在程序控制下操作的数据处理设备13以及码输出设备14。
[0073] {结构的说明}
[0074] 图像输入设备11是用于将图像作为二维信号进行输入的设备,并且该设备包括例如:相机、通信设备等。
[0075] 数据存储设备12包括:图像存储器121、水平分解系数存储器122、水平和垂直分解系数存储器123以及游程长度存储器124。
[0076] 图像存储器121存储从图像输入设备11输入的图像。
[0077] 水平分解系数存储器122存储通过将水平小波分解施加到图像存储器121中所存储的输入图像而获取的水平分解系数。
[0078] 水平和垂直分解系数存储器123存储通过将垂直小波分解施加到水平分解系数存储器122中所存储的水平分解系数而获取的水平和垂直分解系数。
[0079] 数据处理设备13包括小波变换单元131和系数编码单元132。
[0080] 小波变换单元131包括水平小波分解单元1311和垂直小波分解单元1312。
[0081] 水平小波分解单元1311通过5-3整数型滤波器、9-7整数型滤波器或相似物来构造。通过在水平方向中以光栅扫描顺序按行读出存储在图像存储器121中的输入图像,并对读出的输入图像进行处理,水平小波分解单元1311生成水平分解系数并将其存储到水平分解系数存储器122中。如水平分解系数存储器122中所示,“H”指示在高频侧的水平分解系数,而“L”指示在低频侧的水平分解系数。
[0082] 与水平小波分解单元1311一样,垂直小波分解单元1312通过5-3整数型滤波器、9-7整数型滤波器或者相似物来构造。通过在垂直方向中按行读出存储在水平分解系数存储器122中的水平分解系数,并对读出的水平分解系数进行处理,垂直小波分解单元1312生成LH、HL、HH和LL并将其存储到水平和垂直分解系数存储器123中。
[0083] 因此,水平小波分解单元1311和垂直小波分解单元1312构成了小波变换单元131。于此,在水平小波分解被施加到整个输入图像之后,所有的水平分解系数可以一次性地被存储到水平分解系数存储器122中,并且然后被从水平分解系数存储器122中读出以进行垂直小波分解。但是,为了加快处理并减少存储器的量,小波变换系数LL、LH、HL和HH也可以通过在水平小波分解单元1311获取到几行水平分解系数时就开始垂直小波分解单元1312的操作而相继地探求到。
[0084] 进一步地,在该示例性实施例中,实现了1层级的小波变换。但是,显然本发明也适用于实现2或者多层级的小波变换的情况。随后,在2或者多层级小波变换的情况中,各个层级的小波变换系数可以被相继地探求到。
[0085] 因为在本示例性实施例中实现了1层级的小波变换,所以存储在水平和垂直分解系数存储器123中的小波变换系数LL被以例如LZW的编码方法通过使用用于LL的编码单元(未示出)来进行编码,然后被输出到码输出设备14。进一步地,在2或者多层级的小波变换情形中,存储在水平和垂直分解系数存储器123中的小波变换系数LL被递归地应用到小波分解。然后,所生成的高频子带的小波变换系数LH、HL和HH通过使用系数编码单元132以与下述相同的方式被编码。另一方面,最后剩下的最低频子带的小波变换系数LL通过使用用于LL(未示出)的编码单元以例如LZW的编码方法而被编码,然后被输出到码输出设备14。
[0086] 进一步地,本示例性实施例描述了一种对LH、HL和HH系数编码的模式,这些系数作为小波变换的结果而被原样输出,但是高频子带的系数在经历了量化处理后可以被编码。结果是,有可能进一步地增加压缩率。
[0087] 系数编码单元132对在水平和垂直分解系数存储器123中所存储的小波变换系数当中的被包含在高频子带中的小波变换系数LH、HL和HH进行编码。此时,系数编码单元132以光栅扫描顺序提取多个组作为系数组,每个组包含在属于相同层级的多个高频子带内在空间上位于相同位置处的小波变换系数LH、HL和HH,并对每一个系数组进行编码。
[0088] 系数编码单元132包括模式确定参考系数提取单元1321、游程长度模式确定单元1322、游程长度编码单元1323、多维编码模式确定单元1324、系数组提取单元1325、多维系数编码单元1326、参考系数提取单元1327和单独系数编码单元1328。游程长度模式确定单元1322和多维编码模式确定单元1324构成编码方法确定单元。
[0089] 系数组提取单元1325以光栅扫描顺序,提取相同层级的和相同空间坐标的系数LH、HL和HH作为将按组被编码的系数组。
[0090] 模式确定参考系数提取单元1321提取将被参考的小波变换系数以用于编码模式的辨别。具体地,当接下来将要被编码的小波变换系数LH、HL和HH的组是被图2中的粗实线所包括的部分时,模式确定参考系数提取单元1321提取下面6个小波变换系数作为参考系数,如图2中的全部阴影所示:
[0091] (1)坐标值(i,j-1)的小波变换系数LH;
[0092] (2)坐标值(i,j-1)的小波变换系数HL;
[0093] (3)坐标值(i,j-1)的小波变换系数HH;
[0094] (4)坐标值(i-1,j)的小波变换系数LH;
[0095] (5)坐标值(i-1,j)的小波变换系数HL;和
[0096] (6)坐标值(i-1,j)的小波变换系数HH。
[0097] 这里,假设由粗实线所包括的编码目标系数组的坐标值是(i,j)。但是,对于没有对等坐标值的小波变换系数,预先确定的值(例如,0)被使用。
[0098] 游程长度模式确定单元1322确定是否在当前进入游程长度模式,并且在进入游程长度模式的情况下,由游程长度编码单元1323执行游程长度编码处理。在未进入游程长度模式的情况下,游程长度模式确定单元1322将由模式确定参考系数提取单元1321所提取的参考系数的绝对值的总和S与预定阈值A进行比较。然后,在S小于A的情况下,游程长度模式确定单元1322确定进入游程长度模式,并且由游程长度编码单元1323执行游程长度编码处理。另一方面,在S不小于A的情况下,由多维编码模式确定单元1324执行模式确定。
[0099] 在游程长度模式下,在所有的由系数组提取单元1325所提取的系数组都是0的情况下,游程长度编码单元1323递增存储在游程长度存储器124中的游程长度(初始值是1)。该游程长度的递增使得对此次提取的系数组的处理结束。在另一方面,在任何一个小波变换系数LH、HL和HH变为非0的情况下,游程长度编码单元1323例如利用Gamma码对存储在游程长度存储器124中的游程长度进行编码,将结果输出到码输出设备14,并退出游程长度模式,以便多维编码模式确定单元1324的处理被执行。
[0100] 多维编码模式确定单元1324将由模式确定参考系数提取单元1321所提取的参考系数的绝对值的总和与被设置为大于A的值的阈值B进行比较。在总和S小于B的情况下,多维编码模式确定单元1324使得多维系数编码单元1326执行多维可变长度编码处理。在S不小于B的情况下,多维编码模式确定单元1324使得单独系数编码单元1328执行单独系数可变长度编码处理。
[0101] 在逐一对系数LH、HL和HH进行编码时,参考系数提取单元1327提取参考系数以用于获得每一个所述系数的编码参数。
[0102] 在图3到图5中,带阴影的系数代表了在对由粗实线所包含的相应系数LH、HL和HH进行编码时由参考系数提取单元1327所提取的参考系数。参考系数提取单元1327从编码目标的小波变换系数所属的子带中提取参考系数,并且也从相同层级中的另一子带中提取参考系数。以下示出一个具体的示例。
[0103] 假设(i,j)是在对系数LH进行编码时,编码目标小波变换系数LH的坐标值,图3所示的下述四个小波变换系数被参考:
[0104] (1)坐标值(i,j-1)的小波变换系数LH;
[0105] (2)坐标值(i,j-1)的小波变换系数HL;
[0106] (3)坐标值(i,j-1)的小波变换系数HH;和
[0107] (4)坐标值(i-1,j)的小波变换系数LH。
[0108] 然而,预定值(例如零)被用于没有对应坐标值的小波变换系数。
[0109] 假设(i,j)是在对系数HL进行编码时,编码目标小波变换系数HL的坐标值,图4所示的下述四个小波变换系数被参考:
[0110] (1)坐标值(i,j-1)的小波变换系数HL;
[0111] (2)坐标值(i-1,j)的小波变换系数HL;
[0112] (3)坐标值(i-1,j)的小波变换系数HH;和
[0113] (4)坐标值(i,j)的小波变换系数LH。
[0114] 然而,预定值(例如零)被用于没有对应坐标值的小波变换系数。
[0115] 假设(i,j)是在对系数HH进行编码时编码目标小波变换系数HH的坐标值,图5所示的下述四个小波变换系数被参考:
[0116] (1)坐标值(i,j-1)的小波变换系数HH;
[0117] (2)坐标值(i-1,j)的小波变换系数HH;
[0118] (3)坐标值(i,j)的小波变换系数LH;和
[0119] (4)坐标值(i,j)的小波变换系数HL。
[0120] 然而,预定值(例如零)被用于没有对应坐标值的小波变换系数。
[0121] 多维系数编码单元1326对由系数组提取单元1325所提取的系数组实施多维可变长度编码。多维系数编码单元1326包括多维系数向量编码单元13261、多维系数正/负编码单元13262和多维系数振幅编码单元13263。而且,多维系数向量编码单元13261包括码表切换单元132611;并且多维系数振幅编码单元13263包括编码参数计算单元132631。
[0122] 多维系数向量编码单元13261对于由系数组提取单元1325所提取的系数组,将系数LH、HL和HH的绝对值分类为总共N个类别(N≥3),包括0,1…和N-1或者更大,通过使用可变长度码表对包括LH、HL和HH的类别编号的三维向量进行可变长度编码,并输出结果到码输出设备14。N个类别包括其中绝对值是0,1,…,和(N-2)且相邻类别之间的绝对值的差是1的(N-1)个类别,以及其中绝对值是N-1或者更大的类别。多维系数向量编码单元13261具有不同种类的多个可变长度码表。在游程长度模式退出后,码表切换单元13261基于编码是否将被立即执行而从可变长度码表中选择一个可变长度码表。具体地,紧接在游程长度模式退出后,码表切换单元132611选择如下可变长度码表(第二可变长度码表),该可变长度码表不将可变长度码分配到其所有系数值都为0的向量;否则码表切换单元132611选择如下可变长度码表(第一可变长度码表),该可变长度码表将可变长度码分配到其所有系数值都为0的向量。多维系数向量编码单元13261通过使用由码表切换单元132611选择的可变长度码表来执行可变长度编码。
[0123] 在多维系数向量编码单元13261进行编码之后,对于其绝对值是非零的系数,多维系数正/负编码单元13262输出正/负符号到码输出设备14。
[0124] 在多维系数向量编码单元13261进行了编码之后,对于其绝对值是N-1或者更大的系数值,多维系数振幅编码单元13263对于通过从绝对值中减去N-1而获得的值进行可变长度编码,并输出结果到码输出设备14。通过从绝对值中减去N-1,将被编码的值变成接近0的值。当存在其绝对值是N-1或者更大的多个小波变换系数时,多维系数振幅编码单元13263在系数组中按LH、HL和HH的顺序进行编码。作为可变长度码,使用其码长度随着值更接近于0而变得更短的码,例如Golomb-Rice码。
[0125] 在Golomb-Rice编码中,信号值被输出为“一元码”+“k比特固定长度码”,其中k表示编码参数,该参数给出了有效位数的估计值。在通过使用Golomb-Rice码进行编码时,编码目标的二进制数被划分为低位k比特和剩下的高位比特,并且剩下的高位比特被一元码所替换。例如,在对于信号00010011(二进制表示)的编码中,其中k=3,除去低位3个比特,高位5个比特(00010)被一元码替换,并且因此低位3个比特被原样输出。当其中由一个比特串表达的数中为“1”的比特被添加到为“0”的比特的码被使用为一元码时,在上述的示例中,高位5个比特的数值是2,并且因此为0的2个比特被输出且该串以“1”终止。该串被添加到低位3个比特,并最终输出“001011”作为码。在进行Golomb-Rice码的解码中,通过使用与在编码中使用的相同k值,解码目标的二进制数被划分为低位k比特和剩下的高位比特,并且剩下的高位比特被还原为在一元编码之前的状态。例如,在对上述示例中k=3情形下进行编码而获取的“001011”码进行解码时,首先数值2被从一元码“001”中获取到,并且“00010”被输出为高位5个比特,接着随后的“011”被输出为低位3个比特。结果是,所获取到的信号00010011完全与原信号相同。相应地,Golomb-Rice码是一种无损压缩编码。
[0126] 当将要编码的信号值的有效位数与值k一致时,Golomb-Rice码是在码长度上最短的。在上述示例中的信号00010011具有5个有效位。因此,当k=5时输出码是110011,其在码长度上是最短的。编码参数计算单元132631是用于获取该k值的单元。
[0127] 对于将经受由多维系数振幅编码单元13263进行的Golomb-Rice编码的系数,编码参数计算单元132631从参考系数提取单元1327获取参考系数并计算编码参数k。具体地,当LH是将经受由多维系数振幅编码单元13263进行的Golomb-Rice编码的系数时,编码参数计算单元132631将图3中所示的4个小波变换系数的绝对值的总和除以一个预定值,或者通过例如右移的操作而量化所述总和,由此计算编码参数k。进一步地,当HL或者HH是将经受由多维系数振幅编码单元13263进行的Golomb-Rice编码的系数时,编码参数计算单元132631基于图4或图5中所示的四个小波变换系数的值,而通过与所述LH情形中相同的方法来计算编码参数k。
[0128] 单独系数编码单元1328单独地对由系数组提取单元1325所提取的系数组中的系数LH、HL和HH进行编码。单独系数编码单元1328包括目标系数提取单元13281、系数振幅编码单元13282、和系数正/负编码单元13283。而且,系数振幅编码单元13282具有编码参数计算单元132821。
[0129] 目标系数提取单元13281从系数组中以预定顺序提取编码目标系数。例如,对于在图2中由粗线所包含的系数组,目标系数提取单元13281首先从该组中提取LH,接着提取HL,并且最后提取HH。
[0130] 系数振幅编码单元13282对目标系数提取单元13281所提取的系数LH、HL和HH中的每一个的绝对值执行Golomb-Rice编码,并输出结果到码输出设备14。
[0131] 对于将经受由系数振幅编码单元13282进行的Golomb-Rice编码的系数LH、HL和HH,编码参数计算单元132821从参考系数提取单元1327获取参考系数,并计算编码参数k。由编码参数计算单元132821计算编码参数k的方法与编码参数计算单元132631所使用的方法相同。
[0132] 当由目标系数提取单元13281所提取的系数LH、HL、HH是非零时,系数正/负编码单元13282输出其正/负符号到码输出设备14。
[0133] 码输出设备14由存储设备,例如存储所生成的码的磁盘设备,所构成,通信设备发送所生成的码到一个远程的地方或者相似处。{行为的说明}
[0134] 将参考图1的方框图和图6中的流程图详细地描述本示例性实施例的完整行为。
[0135] 一旦从图像输入设备11输入图像到图像存储器121,水平小波分解单元1311便对该输入图像进行水平小波分解,并将所获取到的水平分解系数L和H存储到水平分解系数存储器122中(S101)。接着,垂直小波分解单元1312对于在水平分解系数存储器122中存储的水平分解系数进行垂直小波分解,并将所获取的小波变换系数LL、LH、HL和HH存储到水平和垂直分解系数存储器123中(S102)。
[0136] 接着,系数编码单元132初始化系数提取坐标为(0,0)(S103)。接着,系数编码单元132将存储在所述游程长度存储器124中的游程长度L初始化为0(S104)。
[0137] 接着,系数组提取单元1325提取位于相同小波层级中的系数提取坐标处的系数LH、HL和HH(S105)。
[0138] 接着,游程长度模式确定单元1322取回存储在游程长度存储器124中的值L,并确定是否该值大于0(S106)。如果该值大于0(在步骤S106中的“是”),游程长度模式确定单元1322确定当前要进入游程长度模式,并且处理前进到步骤S109。如果该值不大于0(在步骤S106中的“否”),则处理前进到步骤S107。
[0139] 在步骤S107中,模式确定参考系数提取单元1321提取将被参考用于编码模式的辨别的小波变换系数。接着,游程长度模式确定单元1322获得由模式确定参考系数提取单元1321提取的参考系数的绝对值的总和S。接着,游程长度模式确定单元1322确定是否S小于A(S112)。在S小于A的情况下(步骤S112处的“是”),进入游程长度模式,并且处理前进到步骤S113。如果S不小于A(步骤S112处的“否”),则处理前进到步骤S114。
[0140] 在步骤S113中,游程长度编码单元1323将1作为初始值写入到游程长度存储器124中存储的游程长度L中,并且处理前进到步骤S109。在步骤S109处,游程长度编码单元1323确定是否由系数组提取单元1325所提取的系数组中的所有系数都是0。在所有的系数都是0(步骤S109处的“是”)的情况下,游程长度编码单元1323递增存储在游程长度存储器123中的游程长度L(S110)。接着,处理前进到步骤S118。在另一方面,在小波变换系数LH、HL和HH中的任何一个非零的情况下(步骤S109处的“否”),游程长度编码单元1323以Gamma码对存储在游程长度存储器124中的游程长度L进行编码,并输出结果到码输出设备14(S111)。此后,退出游程长度模式,并且处理前进到步骤S114。在沿着步骤S106→S109→S111朝向步骤S114的路径的情况下,与步骤S107和S108中相同的处理被执行,接着处理跳转到步骤S114。
[0141] 在步骤S114中,多维编码模式确定单元1324将由模式确定参考系数提取单元1321所提取的参考系数的绝对值的总和S与被设置为比A更大的值的阈值B进行比较。在S小于阈值B的情况下(在步骤S114处的“是”),处理前进到步骤S115,并且多维系数编码单元1326执行多维编码处理。如果S不小于阈值B(在步骤S114处的“否”),处理前进到步骤S116,并且执行由单独系数编码单元1328进行的单独编码处理。对于上述处理中的任一个,编码处理的结果被输出到码输出设备14,并且处理前进到步骤S117。
[0142] 当多维可变长度编码处理或者单独编码处理结束时,系数编码单元132将游程长度存储器124中的游程长度L清零(S117)。接着,系数编码单元132按光栅扫描顺序对下一个系数提取坐标进行扫描(S118),并确定对于高频子带的所有的小波变换系数LH、HL和HH的组是否结束了编码处理(S119)。如果没有(步骤S119处的“否”),则处理移回步骤S105以重复在前所描述的相同处理以用于相应高频子带中的在空间上位于相同坐标的下一组小波变换系数LH、HL和HH。如果对于小波变换系数LH、HL和HH的所有组的编码处理结束(步骤S119处的“是”),则处理前进到步骤S120。
[0143] 当对于所有的空间坐标的处理结束且处理前进到步骤S120时,游程长度编码单元1323确定存储在游程长度存储器124中的游程长度L是否大于0。如果不大于0(步骤S120处的“否”),则游程长度编码单元1323结束该处理。如果大于0(步骤S120处的“是”),则游程长度编码单元1323通过Gamma编码对游程长度存储器124中的游程长度L进行编码,输出结果到码输出设备14(步骤S121),并结束所述处理。
[0144] 接着,参见图1中的方框图和图7中的流程图,本示例性实施例中的多维可变长度编码处理的行为将被详细说明。
[0145] 多维系数向量编码单元13261将由系数组提取单元1325所提取的系数组中的系数LH、HL和HH的绝对值分类为总共N个类别(N≥3),包括0,1,…和N-1或者更大(SA101)。进一步地,多维系数向量编码单元13261结合LH、HL和HH的类别编号并生成一个三维向量(SA102)。
[0146] 接着,码表切换单元132611基于存储在游程长度存储器124中的游程长度L是否大于0,确定是否将在游程长度模式退出后立即执行编码(SA103)。在L不大于0的情况下(步骤SA103处的“否”),在游程长度模式退出后立即执行,并且因此多维系数向量编码单元13261通过使用第一编码表对该三维向量进行编码(SA104)。在L大于0的情况下(步骤SA103处的“是”),在游程长度模式退出后立即执行并因此多维系数向量编码单元13261通过使用第二编码表对该三维向量进行编码,并输出结果到码输出设备14(SA105)。
[0147] 接着,多维系数振幅编码单元13263确实LH的绝对值是否等于或者大于N-1(SA106)。在该值不等于或者大于N-1的情况下(步骤SA106处的“否”),处理前进到步骤SA111。在该值等于或者大于N-1的情况下(步骤SA106处的“是”),处理前进到步骤SA107。
[0148] 在步骤SA107中,参考系数提取单元1327提取用于系数LH的参考系数。接着,编码参数计算单元132631将该参考系数的绝对值相加,以获得其总和(SA108),并对获得的总和进行量化以计算编码参数k(SA109)。接着,通过使用由编码参数计算单元132631所计算的编码参数k,多维系数振幅编码单元13263对通过从系数LH的绝对值减去N-1而获得的值执行Golomb-Rice编码,并输出结果到码输出设备14(SA110)。接着,处理进行到步骤SA111。
[0149] 在步骤SA111中,多维系数正/负编码单元13262确定是否LH系数为0。如果不为0(步骤SA111处的“否”),则多维系数正/负编码单元13262输出系数LH的正/负符号到码输出设备14(SA112),并且处理前进到步骤SA113。如果为0(步骤SA111处的“是”),则处理跳过步骤SA112并且前进到步骤SA113。
[0150] 接着,在步骤SA113处,多维系数振幅编码单元13263确定是否HL的绝对值等于或者大于N-1。在该值不等于或者大于N-1的情况下(步骤SA113处的“否”),处理前进到步骤SA118。在该值等于或者大于N-1的情况下(步骤SA113处的“是”),处理前进到步骤SA114。
[0151] 在步骤SA114处,参考系数提取单元1327提取用于系数HL的参考系数。接着,编码参数计算单元132631将该参考系数的绝对值相加以获得其总和(SA115),并量化所获得的总和以计算编码参数k(SA116)。接着,通过使用由编码参数计算单元132631所计算出的编码参数k,多维系数振幅编码单元13263对通过从系数HL的绝对值减去N-1而获得的值执行Golomb-Rice编码,并输出结果到码输出设备14(SA117)。接着,处理前进到步骤SA118。
[0152] 接着,在步骤SA118处,多维系数正/负编码单元13262确定是否系数HL为0。如果不为0(步骤SA118处的“否”),则多维系数正/负编码单元13262输出系数HL的正/负符号到码输出设备14(SA119),并且处理前进到步骤SA120。如果为0(步骤SA118处的“是”),则处理跳过步骤SA119并且前进到步骤SA119。
[0153] 接着,在步骤SA120处,多维系数振幅编码单元13263确定是否HH的绝对值等于或者大于N-1。在该值不等于或者大于N-1的情况下(步骤SA120处的“否”),处理前进到步骤SA125。在该值等于或者大于N-1的情况下(步骤SA120处的“是”),处理前进到步骤SA121。
[0154] 在步骤SA121中,参考系数提取单元1327提取用于系数HH的参考系数。接着,编码参数计算单元132631将参考系数的绝对值相加,以获得其总和(SA122),并对获得的总和进行量化以计算编码参数k(SA123)。接着,通过使用由编码参数计算单元132631所计算出的编码参数k,多维系数振幅编码单元13263对通过从系数HH的绝对值减去N-1而得到的值执行Golomb-Rice编码,并输出结果到码输出设备14(SA124)。接着,处理前进到步骤SA125。
[0155] 在步骤SA125中,多维系数正/负编码单元13262确定是否HH系数为0。在该系数不为0的情况下(步骤SA125处的“否”),多维系数正/负编码单元13262输出系数HL的正/负符号到码输出设备14(SA126),并且结束多维可变长度编码的处理。在该系数为0的情况下(步骤SA125处的“是”),跳过步骤SA126,并且结束多维可变长度编码的处理。
[0156] 接着,将参见图1中的方框图和图8中的流程图来详细说明本示例性实施例中的单独系数编码处理(图6中的S116)的行为。
[0157] 目标系数提取单元13281从系数组提取单元1325所提取的系数组中提取系数LH(SB101)。接着,参考系数提取单元1327提取用于系数LH的参考系数(SB102)。接着,编码参数计算单元132821将所述参考系数的绝对值相加以获得总和(SB103),并量化所获得的总和以计算编码参数k(SB104)。接着,系数振幅编码单元13282通过使用由编码参数计算单元132821所计算出的编码参数k,对系数LH的绝对值执行Golomb-Rice编码,并输出结果到码输出设备14(SB105)。
[0158] 接着,系数正/负编码单元13283确定是否系数LH为0(SB106)。如果不为0(步骤SB106处的“否”),则系数正/负编码单元13283输出系数LH的正/负符号到码输出设备14(SB107),并且处理前进到步骤SB108。如果为0(步骤SB106处的“是”),则步骤跳过步骤SB107并且前进到步骤SB108。
[0159] 在步骤SB108中,目标系数提取单元13281从由系数组提取单元1325提取的系数组中提取系数HL。接着,参考系数提取单元1327提取用于系数HL的参考系数(SB109)。接着,编码参数计算单元132821将所述参考系数的绝对值相加以获得总和(SB110),并量化所获得的总和以计算编码参数k(SB111)。接着,系数振幅编码单元13282通过使用由编码参数计算单元132821所计算出的编码参数k,对系数HL的绝对值执行Golomb-Rice编码,并输出结果到码输出设备14(SB112)。
[0160] 接着,系数正/负编码单元13283确定是否系数HL为0(SB113)。如果不为0(步骤SB113处的“否”),则系数正/负编码单元13283输出系数HL的正/负信号到码输出设备14(SB114),并且处理前进到步骤SB115。如果为0(步骤SB113处的“是”),则处理跳过步骤SB114并且前进到步骤SB115。
[0161] 在步骤SB115中,目标系数提取单元13281从由系数组提取单元1325提取的系数组中提取系数HH。接着,参考系数提取单元1327提取用于系数HH的参考系数(SB126)。接着,编码参数计算单元132821将所述参考系数的绝对值相加而获得总和(SB117),并量化所获得的总和以计算编码参数k(SB118)。
[0162] 接着,系数振幅编码单元13282通过使用由编码参数计算单元132821所计算出的编码参数k对系数HH的绝对值执行Golomb-Rice编码,并输出结果到码输出设备14(SB119)。接着,系数正/负编码单元13283确定是否系数HH为0。如果不为0(步骤SB120处的“否”),则系数正/负编码单元13283输出系数HH的正/负符号到码输出设备14(SB121),并且单独系数编码处理结束。如果为0(步骤SB120处的“是”),则处理跳过步骤SB121,并且结束单独系数编码处理。
[0163] 接着,本示例性实施例的效果将被描述。
[0164] 根据本示例性实施例,有可能对各种二维信号执行具有高压缩比率的编码,这些二维信号例如是针对其期望对在空间上位于相同位置处的多个小波变换系数共同地进行编码的二维信号、针对其期望单独地进行编码的二维信号、以及包含针对其期望共同地进行编码的部分和针对其期望单独地进行编码的部分的二维信号。这是因为对于在空间上位于相同位置处的多个小波变换系数的每个组,基于在空间上位于编码目标系数组附近的多个小波变换系数的绝对值的总和,确定对多个小波变换系数是共同地编码还是单独地编码,并且因此其是与编码目标系数组相关的。
[0165] 进一步地,根据本示例性实施例,当S小于阈值A时,可以预计的是被注意的系数组可能采用全部0值,并且进入游程长度模式。在多维可变长度编码模式中,一个比特或者更多比特的码针对每个系数组而被输出。但是,在游程长度模式下,有可能共同地对多个系数组进行编码,其中每个系数组采用全部0值,因此有可能使得每个组的码大小小于1个比特。结果是,有可能进一步地提高压缩率。而且,一旦进入游程长度模式,只要每个都采用全部0值的系数组继续,就不必在处理系数组时参考外围的系数LH、HL和HH。结果是,有可能实现更高速的编/解码处理。
[0166] 进一步地,在本示例性实施例中,提供了两个用于向量的可变长度码表,而且根据是否在游程长度模式退出之后立即执行而切换将被使用的可变长度码表。在游程长度模式退出之后立即执行的这种状态为游程长度确定已经被执行并且游程长度还没有被建立的状态,所有系数LH、HL和HH没有变为0。在这种情形下,通过切换到其没有将可变长度码分配到其所有系数值都为0的向量的可变长度码表,有可能使得平均的码长度变短,并且压缩效率提高。
[0167] 进一步地,在上述的描述中,假设值N是3或者更大,但是随着N变得更大需要的可变长度码表也变得更大。对于多数图像,N=3在可变长度码表的尺寸和压缩率方面是有效的。而且,对于多数图像,最好的压缩率可以在阈值A被设置为3并且阈值B被设置为6时而被获取到。
[0168] 仅仅在所有的系数LH、HL和HH都为0的情况经常出现的条件下,游程长度模式才会产生效果。所以,当低压缩率很突出而且对于系数没有执行量化时,也就是说,当假定了进入游程长度模式的可能性低的时候,在游程长度模式下的处理可以被忽略。
[0169] [第二示例性实施例]
[0170] 接下来,本发明的第二示例性实施例将参考附图而进行描述。
[0171] 本示例性实施例对应于其解码在第一示例性实施例中被编码的数据的设备。参见图9,本发明的第二示例性实施例包括图像输出设备21、数据存储设备22、由程序控制操作的数据处理设备23以及码输入设备24。
[0172] {结构的说明}
[0173] 码输入设备24是输入解码目标的码的设备。例如,码输入设备24由磁盘设备、通信设备等所构成。
[0174] 数据存储设备22包括图像存储器221、水平分解系数存储器222、水平和垂直分解系数存储器223以及游程长度存储器224。
[0175] 水平和垂直分解系数存储器223存储由数据处理设备23所解码的高频子带的小波变换系数LH、HL和HH,以及最低频子带的小波变换系数LL。
[0176] 水平分解系数存储器222存储由数据处理设备23所解码的水平分解系数。
[0177] 图像存储器221存储由数据处理设备23所解码的图像。
[0178] 数据处理设备23包括逆小波变换单元231和系数解码单元232。
[0179] 系数解码单元232针对属于相同层级的多个高频子带内的在空间上位于相同位置处的多个小波变换系数的每个组,从自码输入设备24所输入的码串中解码小波变换系数,并将结果存储在水平和垂直分解系数存储器223中。
[0180] 系数解码单元232包括模式确定参考系数提取单元2321、游程长度模式确定单元2322、游程长度解码单元2323、多维编码模式确定单元2324、系数输出单元2325、多维系数解码模式单元2326、参考系数提取单元2327、和单独系数解码单元2328。游程长度模式确定单元2322和多维编码模式确定单元2324构成了解码方法确定单元。
[0181] 模式确定参考系数提取单元2321提取小波变换系数,该小波变换系数被参考以用于辨识解码模式。将被参考的小波变换系数与在编码中的那些系数相同。具体地,当下一步将要被解码的小波变换系数LH、HL和HH的组是图2中粗实线所包含的部分时,模式确定参考系数提取单元2321提取图2中的阴影中的以下总共6个小波变换系数作为参考系数:
[0182] (1)坐标值(i,j-1)的小波变换系数LH;
[0183] (2)坐标值(i,j-1)的小波变换系数HL;
[0184] (3)坐标值(i,j-1)的小波变换系数HH;
[0185] (4)坐标值(i-1,j)的小波变换系数LH;
[0186] (5)坐标值(i-1,j)的小波变换系数HL;和
[0187] (6)坐标值(i-1,j)的小波变换系数HH。
[0188] 这里,假设由粗实线所包含的解码目标系数组的坐标值是(i,j)。然而,对于没有等效坐标值的小波变换系数,预定值(例如,0)被使用。
[0189] 游程长度模式确定单元2322确定是否当前进入游程长度模式。在进入游程长度模式的情况下,由游程长度解码单元2323所进行的游程长度解码处理被执行。在不进入游程长度模式的情况下,游程长度模式确定单元2322获得由模式确定参考系数提取单元2321提取的参考系数的绝对值的总和S,并将该总和S与预定阈值A进行比较。在S小于A的情况下,进入游程长度模式,并且由游程长度解码单元2323所进行的游程长度解码处理被执行。另一方面,在S不小于A的情况下,由多维编码模式确定单元2324进行的模式确定被执行。
[0190] 游程长度解码单元2323从码输入设备24取回Gamma码的码数据以解码游程长度L,并输出结果到游程长度存储器224。进一步地,当存储在游程长度存储器224中的游程长度L大于1时,游程长度解码单元2323递减游程长度L并将结果写回到游程长度存储器224,并且将解码目标系数组中的系数LH、HL和HH的所有值设置为0。当游程长度L变为1或者更小时,游程长度解码单元2323将游程长度存储器224初始化为0,并且退出游程长度模式。
[0191] 多维编码模式确定单元2324获得由模式确定参考系数提取单元2321所提取的参考系数的绝对值的总和S,并将该结果与被设置为比A更大的值的阈值B进行比较。在S小于B的情况下,多维系数解码单元2326进行的多维可变长度解码处理被执行。另一方面,在S不小于B的情况下,单独系数解码单元2328进行的单独系数解码处理被执行。
[0192] 参考系数提取单元2327提取用于获得编码参数的参考系数,该编码参数将在由多维系数解码单元2326和单独系数解码单元2328逐一对系数LH、HL和HH进行解码的时候被使用。图3到图5中的阴影所示的系数表示由参考系数提取单元2327在对图3到图5中的粗线所包含的系数LH、HL和HH进行解码时所提取的参考系数。参考系数提取单元2327从解码目标小波变换系数所属的子带中提取参考系数,并且在相同系数中也从其他子带进行提取。将被参考的小波变换系数与在编码时参考的那些相同。
[0193] 具体地,假设(i,j)是解码目标小波变换系数LH的坐标值,在对系数LH的解码中,图3中所示的下述四个小波变换系数被参考:
[0194] (1)坐标值(i,j-1)的小波变换系数LH;
[0195] (2)坐标值(i,j-1)的小波变换系数HL;
[0196] (3)坐标值(i,j-1)的小波变换系数HH;和
[0197] (4)坐标值(i-1,j)的小波变换系数LH。
[0198] 然而,预定值(例如,0)被用于没有对应坐标值的小波变换系数。
[0199] 进一步地,假设(i,j)是解码目标小波变换系数HL的坐标值,在对系数HL的解码中,图4中所示的下述四个小波变换系数被参考:
[0200] (1)坐标值(i,j-1)的小波变换系数HL;
[0201] (2)坐标值(i-1,j)的小波变换系数HL;
[0202] (3)坐标值(i-1,j)的小波变换系数HH;和
[0203] (4)坐标值(i,j)的小波变换系数LH。
[0204] 然而,预定值(例如,0)被用于没有对应坐标值的小波变换系数。
[0205] 进一步地,假设(i,j)是解码目标小波变换系数HH的坐标值,在对系数HH的解码中,图5中所示的下述四个小波变换系数被参考:
[0206] (1)坐标值(i,j-1)的小波变换系数HH;
[0207] (2)坐标值(i-1,j)的小波变换系数HH;
[0208] (3)坐标值(i,j)的小波变换系数LH;和
[0209] (4)坐标值(i,j)的小波变换系数HL。
[0210] 然而,预定值(例如,0)被用于没有对应坐标值的小波变换系数。
[0211] 多维系数解码单元2326共同地解码被包含在解码目标系数组(实施了多维可变长度解码)中的多个小波变换系数。多维系数解码单元2326包括多维系数向量解码单元23261、多维系数正/负解码单元23262、和多维系数振幅解码单元23263。而且,多维系数向量解码单元23261包括码表切换单元232611,并且多维系数振幅解码单元23263包括编码参数计算单元232631。
[0212] 多维系数向量解码单元23261,对于解码目标的系数组,将系数LH、HL和HH的绝对值分类为总共N(N≥3)个类别,包括0,1,…和N-1或者更大,并通过使用可变长度码表对包括LH、HL和HH的类别编号的三维向量实施可变长度解码。N个类别包括其中绝对值是0,1,…和(N-2)且相邻类别的绝对值的差是1的(N-1)个类别,以及其中绝对值是N-1或者更大的类别。
[0213] 码表切换单元232611,基于是否将在退出游程长度模式之后立即执行解码来改变将由多维系数向量解码单元23261参考的可变长度码表。
[0214] 在多维系数向量解码单元23261进行解码之后,对于其绝对值为非零的系数,多维系数正/负解码单元23262从自码输入设备24输入的码中解码正/负符号。
[0215] 在多维系数向量解码单元23261进行解码之后,对于绝对值是N-1或者更大的系数值,多维系数振幅解码单元23263对从码输入设备14输入的码进行Golomb-Rice解码以解码为一个值,该值是从所述绝对值中减去N-1后的结果。在对多个绝对值是N-1或者更大的小波变换系数进行解码中,多维系数振幅解码单元23263按系数组中LH、HL和HH的顺序进行解码。而且,多维系数振幅解码单元23263将N-1添加到被解码的值。
[0216] 对于将经受由多维系数振幅解码单元23263进行的Golomb-Rice解码的系数,编码参数计算单元232631从参考系数提取单元2327获取参考系数并计算编码参数k。具体地,编码参数计算单元232631将参考系数的绝对值的总和除以预定值,或者通过例如右移的操作来量化所述总和,从而计算编码参数k。
[0217] 单独系数解码单元2328单独地解码解码目标的系数组中的系数LH、HL和HH。单独系数解码单元2328包括:目标系数提取单元23281、系数振幅解码单元23282和系数正/负解码单元23283。而且,系数振幅解码单元23282具有编码参数计算单元232821。
[0218] 目标系数提取单元23281以与编码中的顺序相同的顺序从系数组中选择解码目标的系数。例如,在将图2中粗线所包含的系数值作为解码对象进行解码中,目标系数提取单元23281首先从该组选择LH作为将要解码的系数,接着选择HL,并且最后选择HH。
[0219] 对于将经受由系数振幅解码单元23282进行的Golomb-Rice解码的系数LH、HL和HH,编码参数计算单元232821从参考系数提取单元2327获取参考系数并计算编码参数k。编码参数计算单元232821用于计算编码参数k的方法与编码参数计算单元232631所使用的方法相同。
[0220] 通过使用由编码参数计算单元232821所计算的编码参数k,系数振幅解码单元23282对从码输入设备14输入的码进行Golomb-Rice解码,得到由目标系数提取单元23281所选择的系数的绝对值。
[0221] 当由系数振幅解码单元23282所解码的系数非零时,系数正/负解码单元23283从自码输入设备24输入的码中解码其正/负符号。
[0222] 系数输出单元2325输出由系数解码单元232解码的系数的值(即,由游程长度解码单元2323、多维系数解码单元2326、单独系数解码单元2328解码的系数的值)到水平和垂直分解系数存储器223。
[0223] 用于从自码输入设备24输入的码生成最低频子带的小波变换系数LL的解码单元没有显示在附图中。最低频子带的小波变换系数LL也被存储在水平和垂直分解系数存储器223中。
[0224] 逆小波变换单元231包括水平小波合成单元2311和垂直小波合成单元2312。
[0225] 垂直小波合成单元2312,在垂直方向上逐行地获取存储在水平和垂直分解系数存储器223中的小波变换系数LL、LH、HL和HH,对其执行垂直小波合成,并存储所获得的系数L和H到水平分解系数存储器222中。
[0226] 水平小波合成单元2311,在水平方向上逐行地获取存储在水平分解系数存储器222中的水平分解系数L和H,对其执行水平小波合成,并存储所获得的像素数据到图像存储器221中。
[0227] 图像输出设备21例如由显示设备所构成。图像输出设备21获取和输出存储在图像存储器221中的像素数据。
[0228] {行为的说明}
[0229] 参考图9的方框图和图10的流程图将对本示例性实施例的全部行为进行详细说明。
[0230] 首先,系数解码单元232将解码目标系数组的选择坐标初始化为(0,0)(S201)。进一步地,系数解码单元232将在游程长度存储器224中的游程长度L初始化为0(S202)。
[0231] 接着,系数解码单元232选择在属于相同层级的多个高频子带内的、在空间上位于相同位置处的多个小波变换系数LH、HL和HH的组,作为解码目标的系数组(S203)。
[0232] 接着,模式确定参考系数提取单元2321提取小波变换系数,该小波变换系数将被参考用于对编码模式进行辨别(S204)。
[0233] 接着,游程长度模式确定单元2322计算已经在前面被提取的模式确定参考系数的绝对值的总和S(S205)。接着,游程长度模式确定单元2322确定是否当前未进入游程长度模式(即,L=0),并且是否模式确定参考系数的绝对值的总和S小于预定阈值A(S206)。在没有进入游程长度模式且S小于A的情况下(在步骤S206处的“是”),游程长度解码单元2323从码输入设备24获取Gamma码的码数据,并解码游程长度L,进入游程长度模式,并输出游程长度L到游程长度存储器224(S207)。接着,处理前进到步骤S208。如果不是(在步骤S206处的“否”),则处理跳过步骤S207并前进到步骤S208。
[0234] 在步骤S208中,游程长度解码单元2323确定是否存储在游程长度存储器224中的游程长度L大于1(S208)。在L大于1的情况下(步骤S208处的“是”),游程长度解码单元2323递增所述游程长度L并将结果写回到游程长度存储器124中(S209),并且此后将解码目标系数组的系数LH、HL和HH的所有值设置为0,并经由系数输出单元2325输出0到水平和垂直分解系数存储器223中(S210)。接着,处理前进到步骤S215。在所述游程长度L等于或者小于1的情况下(在步骤S208处的“否”),处理前进到步骤S211。
[0235] 在步骤S211中,多维编码模式确定单元2324将由模式确定参考系数提取单元2321所提取的参考系数的绝对值的总和S与被设置为比A大的值的阈值B进行比较。在S小于B的情况下(在步骤S211处的“是”),多维系数解码单元2326进行的多维解码处理被执行(S212)。如果不是(在步骤S211处的“否”),处理进行到步骤S213,并且单独系数解码单元2328进行的单独解码处理被执行。在上述的任一种情形中,系数输出单元232输出被解码的系数值到水平和垂直分解系数存储器223。
[0236] 当多维可变长度解码处理或者单独解码处理结束时,系数解码单元232对游程长度存储器224中的游程长度L清零(S214)。接着,处理前进到步骤S215。
[0237] 在步骤S215中,系数解码单元232以光栅扫描顺序从系数选择坐标扫描到下一个坐标(S215),并确定是否高频子带的小波变换系数LH、HL和HH的所有组的解码已经结束(S216)。如果没有结束(在步骤S216处的“否”),处理移回到步骤S203处,以重复在之前描述过的相同处理以用于在空间上位于相应高频子带的相同坐标处的小波变换系数LH、HL和HH的下一个组。如果在对小波变换系数LH、HL和HH的全部组进行解码(在步骤S216处的“是”),处理前进到步骤S217。
[0238] 在步骤S217中,垂直小波合成单元2312,在垂直方向上逐行地获取存储在水平和垂直分解系数存储器223中的小波变换系数LL、LH、HL和HH,对其执行垂直小波合成,并将所获得的系数L和H存储到水平分解系数存储器222中。
[0239] 接着,水平小波合成单元2311在水平方向上逐行地获取存储在水平分解系数存储器222中的水平分解系数L和H,对其执行水平小波合成,并输出所获得的像素数据到图像存储器221。结果是,将被输出到图像输出设备21的图像数据被生成(S218)。
[0240] 接着,参见图9的方框图和图11的流程图,本示例性实施例中的多维可变长度解码处理(图10中的步骤S212)的行为将被详细地描述。
[0241] 首先,码表切换单元232611,基于是否存储在游程长度存储器124中的游程长度L大于0而确定是否解码将在游程长度模式退出之后立即被执行(SA201)。在L不大于0的情况下(步骤SA201处的“否”),在游程长度模式退出之后不是立即执行,并且因此多维系数向量解码单元23261通过使用第一编码表解码三维向量(SA302)。在L大于0的情况下(在步骤SA201处的“是”),在游程长度模式退出之后立即执行,并且因此多维系数向量解码单元23261通过使用第二编码表解码三维向量(SA203)。
[0242] 多维系数向量解码单元23261分解被解码的三维向量,并获取系数LH、HL和HH的绝对值的类别编号(SA204)。
[0243] 接着,多维系数振幅解码单元23263确定是否LH的类别编号是N-1(SA205)。如果不是N-1(在步骤SA205处的“否”),则多维系数振幅解码单元23263将LH的类别编号识别为LH的绝对值,并且处理前进到步骤SA210。如果是N-1(在步骤SA205处的“是”),则处理前进到步骤SA206。
[0244] 在步骤SA206中,参考系数提取单元2327提取用于系数LH的参考系数。接着,编码参数计算单元232631将参考系数的绝对值相加以获得其总和(SA207),并量化所获得的总和以计算编码参数k(SA208)。接着,通过使用由编码参数计算单元232631所计算出的编码参数k,多维系数振幅解码单元23263对从码输入设备24所输入的码进行Golomb-Rice解码,以解码为一个值,该值为从系数LH的绝对值减去N-1而得到的结果(SA209)。进一步地,在该步骤SA209中,多维系数振幅解码单元23263将N-1添加到所解码的值,并获得系数LH的绝对值。接着,处理前进到步骤SA210。
[0245] 在步骤SA210中,多维系数正/负解码单元23262确定是否系数LH的绝对值是0。如果不是0(在步骤SA210处的“否”),多维系数正/负解码单元23262从码输入设备24输入系数LH的正/负符号(SA211),并且处理前进到步骤SA212。如果为0(在步骤SA210处的“是”),则处理跳过步骤SA211并前进到步骤SA212。
[0246] 在步骤SA212中,系数输出单元2325输出由系数解码单元232所解码的LH系数值到水平和垂直分解系数存储器223中。
[0247] 接着,多维系数振幅解码单元23263确定是否HL的类别编号是N-1(SA213)。如果不是N-1(在步骤SA213处的“否”),多维系数振幅解码单元23263将HL的类别编号识别为HL的绝对值,并且处理前进到步骤SA218。如果是N-1(在步骤SA213处的“是”),则处理前进到步骤SA214。
[0248] 在步骤SA214中,参考系数提取单元2327提取用于系数HL的参考系数。接着,编码参数计算单元232631将参考系数的绝对值相加以获得其总和(SA215),并量化所得到的总和以计算编码参数k(SA216)。接着,通过使用由编码参数计算单元232631所计算出的编码参数k,多维系数振幅解码单元23263对从码输入设备24所输入的码执行Golomb-Rice解码以得到一个值,该值是从系数LH的绝对值减去N-1而得到的结果(SA217)。进一步地,在该步骤SA217中,多维系数振幅解码单元23263将N-1添加到被解码的值,以获得系数HL的绝对值。接着,处理前进到步骤SA218。
[0249] 在步骤SA218中,多维系数正/负解码单元23262确定是否系数HL的绝对值为0。如果不为0(在步骤SA218处的“否”),则多维系数正/负解码单元23262从自码输入设备24输入的码中解码系数HL的正/负符号(SA219),并且处理前进到步骤SA220。如果为0(在步骤SA218处的“是”),处理跳过步骤SA219并且前进到步骤SA220。
[0250] 在步骤SA220中,系数组输出单元2325输出由系数解码单元232所解码的HL系数值到水平和垂直分解系数存储器223。
[0251] 接着,多维系数振幅解码单元23263确定是否HH的类别编号是N-1(SA221)。如果不是N-1(在步骤SA221处的“否”),则多维系数振幅解码单元23263将HH的类别编号识别为HH的绝对值,并且处理前进到步骤SA226。如果是N-1(在步骤SA221处的“是”),则处理前进到步骤SA222。
[0252] 在步骤SA222中,参考系数提取单元2327提取用于系数HH的参考系数。接着,编码参数计算单元232631将参考系数的绝对值相加以得到其总和(SA223),并量化所得到的总和以计算编码参数k(SA224)。接着,通过使用由编码参数计算单元232631所计算出的编码参数k,多维系数振幅解码单元23263对自码输入设备24所输入的码执行Golomb-Rice解码以得到一个值,该值是从系数HH的绝对值减去N-1而得到的结果(SA225)。进一步地,在步骤SA225中,多维系数振幅解码单元23263将N-1添加到所解码的值,并且获得系数HH的绝对值。接着,处理前进到步骤SA226。
[0253] 在步骤SA226中,多维系数正/负解码单元23262确实是否系数HH的绝对值是0。如果不是0(在步骤SA226处的“否”),多维系数正/负解码单元23262从自码输入设备24输入的码中解码系数HH的正/负符号(SA227),并且处理前进到步骤SA228。如果为0(在步骤SA226处的“是”),则处理跳过步骤SA227并且前进到步骤SA228。
[0254] 在步骤SA228中,系数组输出单元2325输出由系数解码单元232解码的HH系数值到水平和垂直分解系数存储器223。接着,多维可变长度解码处理结束。
[0255] 接着,参考图9中的方框图和图12中的流程图,本示例性实施例的单独系数解码处理的行为将被详细地说明。
[0256] 首先,目标系数提取单元23281从此次将由系数解码单元232解码的系数组中提取系数LH(SB201)。接着,参考系数提取单元2327提取用于系数LH的参考系数(SB202)。接着,编码参数计算单元232821将参考系数的绝对值相加以得到总和(SB203),并量化所得到的总和以计算编码参数k(SB204)。接着,通过使用由编码参数计算单元232821所计算出的编码参数k,系数振幅解码单元23282对从码输入设备24输入的码执行Golomb-Rice解码而得到系数LH的绝对值(SB205)。
[0257] 接着,系数正/负解码单元23283确定是否系数LH的绝对值为0(SB206)。如果不为0(在步骤SB206处的“否”),则系数正/负解码单元23283将从码输入设备24输入的码解码系数LH的正/负符号(SB207),并且处理前进到步骤SB208。如果为0(在步骤SB206处的“是”),处理跳过步骤SB107并且前进到步骤SB108。
[0258] 在步骤SB208中,目标系数提取单元23281从此次将由系数解码单元232解码的系数组中提取系数HL。接着,参考系数提取单元2327提取用于系数HL的参考系数(SB209)。接着,编码参数计算单元232821将参考系数的绝对值相加以得到总和(SB210),并且量化所得到的总和以计算编码参数k(SB211)。接着,通过使用由编码参数计算单元232821所计算的编码参数k,系数振幅解码单元23282对从码输入设备24输入的码执行Golomb-Rice解码而得到系数HL的绝对值(SB212)。
[0259] 接着,系数正/负解码单元23283确定是否系数HL的绝对值为0(SB213)。如果不为0(在步骤SB213处的“否”),则系数正/负解码单元23283从自码输入设备24输入的码中解码系数HL的正/负符号(SB214),并且处理前进到步骤SB215。如果为0(在步骤SB214处的“是”),则处理跳过步骤SB214并前进到步骤SB215。
[0260] 在步骤SB215中,目标系数提取单元23281从此次将由系数解码单元232解码的系数组中提取系数HH(SB215)。接着,参考系数提取单元2327提取用于系数HH的参考系数(SB216)。接着,编码参数计算单元232821将所述参考系数的绝对值相加以得到总和(SB217),并量化所得到的总和以计算编码参数k(SB218)。接着,通过使用由编码参数计算单元232821所计算出的编码参数k,系数振幅解码单元23282对从码输入设备24输入的码执行Golomb-Rice解码以得到系数HH的绝对值(SB219)。
[0261] 接着,系数正/负解码单元23283确定是否系数HH为0。如果不为0(在步骤SB220处的“否”),则系数正/负解码单元23283从自码输入设备24输入的码中解码系数HH的正/负符号(SB221),并且单独系数编码处理结束。如果为0(在步骤SB220处的“是”),则处理跳过步骤SB221,并且单独系数编码处理结束。
[0262] 根据本示例性实施例,有可能对第一示例性实施例中编码的数据进行适当的解码。
[0263] [第三示例性实施例]
[0264] 本示例性实施例对应于小波变换编码装置,其中将从根据第一示例性实施例的小波变换编码装置中省略与游程长度模式中的处理相关的功能。以下,着重对于与第一示例性实施例的不同点进行描述。
[0265] {结构的说明}
[0266] 图13是根据本示例性实施例的小波变换编码装置的方框图。参见图13,数据存储设备12具有图像存储器121、水平分解系数存储器122、水平和垂直分解系数存储器123。游程长度存储器124被省略。
[0267] 数据处理设备13的系数编码单元132包括模式确定参考系数提取单元1321、多维编码模式确定单元1324、系数组提取单元1325、多维系数编码单元1326、参考系数提取单元1327和单独系数编码单元1328。游程长度模式确定单元1322和游程长度编码单元1323被省略。而且,多维系数编码单元1326的多维系数向量编码单元13261不具有码表切换单元
132611。
[0268] {行为的说明}
[0269] 参考图13中的方框图和图14中的流程图本示例性实施例的完整行为将被描述。
[0270] 当图像从图像输入设备11被输入到图像存储器121中时,水平小波分解单元1311对于所输入的图像进行水平小波分解,并存储所获取的水平分解系数L和H到水平分解系数存储器122中(S101)。接下来,垂直小波分解单元1312对存储在水平分解系数存储器122中的水平分解系数执行垂直小波分解,并将所获取的小波变换系数LL、LH、HL和HH存储到水平和垂直分解系数存储器123中(S102)。接着,系数编码单元132系数提取坐标初始化为(0,0)(S103)。其行为与第一示例性实施例中的行为相同。
[0271] 接着,系数组提取单元1325提取位于相同小波层级中的系数提取坐标处的系数LH、HL和HH,作为编码目标的系数组(S105)。
[0272] 接着,模式确定参考系数提取单元1321提取小波变换系数,该小波变换系数将被参考以用于编码模式的辨别。接着,多维编码模式确定单元1324获得模式确定参考系数提取单元1321所提取的参考系数的绝对值的总和S(S108)。接着,多维编码模式确定单元1324将总和S与预设的阈值B进行比较。在S小于B的情况下(在步骤S114处的“是”),处理前进到步骤S115,并且多维系数编码单元1326进行的多维编码处理被执行。如果不是(在步骤S114处的“否”),则处理前进到步骤S116,并且单独系数编码单元1328进行的单独编码处理被执行。在任何一种处理中,编码处理的结果都会被输出到码输出设备14,并且处理进行到步骤S118。
[0273] 当多维可变长度编码处理或者单独编码处理结束时,系数编码单元132扫描系数提取坐标到光栅扫描顺序中的下一个坐标(S118),并确定是否高频子带的小波变换系数LH、HL和HH的所有组的编码完成(S119)。如果没有完成(在步骤S119处的“否”),处理移回到步骤S105,以重复在前所描述的相同处理以用于相应高频子带中的在空间上位于相同坐标的下一组小波变换系数LH、HL和HH。如果对于小波变换系数LH、HL和HH的所有组的编码处理结束(步骤S119处的“是”),则处理结束。
[0274] 接着,参考图13的方框图和图15中的流程图,本示例性实施例中的多维可变长度编码处理(图14中的步骤S115)的行为将被详细地描述。
[0275] 多维系数向量编码单元13261将由系数组提取单元1325所提取的系数组的系数LH、HL和HH的绝对值分类为总共N(N≥3)个类别,包括0,1,…和N-1或者更大(SA101)。进一步地,多维系数向量编码单元13261结合LH、HL和HH的类别编号并生成三维向量(SA102)。这里的行为与第一示例性实施例中的行为相同。
[0276] 接着,多维系数向量编码单元13261通过使用第一编码表对三维向量进行编码(SA104)。
[0277] 下文中,第一示例性实施例的步骤SA106到SA126中的相同操作被执行。
[0278] 在本示例性实施例中的单独系数编码处理(图14中的S116)的行为与第一示例性实施例中的单独系数编码处理(图6中的S116)的行为相同。
[0279] 接着,本示例性实施例的效果将被描述。
[0280] 根据本示例性实施例,有可能对各种二维信号执行具有高压缩率的编码,这些二维信号例如是针对其期望对在空间上位于相同位置处的多个小波变换系数共同地进行编码的二维信号、针对其期望单独地进行编码的二维信号、以及包含针对其期望共同地进行编码的部分以及针对其期望单独地进行编码的部分的二维信号。这是因为对于在空间上位于相同位置处的多个小波变换系数的每个组,基于在空间上位于编码目标系数组附近的多个小波变换系数的绝对值的总和而确定了对多个小波变换系数是共同地编码还是单独地编码,因此其是与编码目标系数组相关的。
[0281] [第四示例性实施例]
[0282] 接着,参照附图,本发明的第四示例性实施例将被描述。
[0283] 本示例性实施例对应对第三示例性实施例中编码的数据进行解码的装置。而且,本示例性实施例对应小波变换解码装置,其中将从根据第二示例性实施例的小波变换解码装置中省略与游程长度模式中的处理相关的功能。以下,着重对与第二示例性实施例的不同点进行描述。
[0284] {结构的说明}
[0285] 图16是根据本示例性实施例的小波变换解码装置的方框图。参见图16,数据存储设备22具有图像存储器221、水平分解系数存储器222、以及水平和垂直分解系数存储器223。游程长度存储器224被省略。
[0286] 数据处理设备23的系数解码单元232包括:模式确定参考系数提取单元2321、多维解码模式确定单元2324、系数输出单元2325、多维系数解码单元2326、参考系数提取单元2327和单独系数解码单元2328。游程长度模式确定单元2322和游程长度解码单元2323被省略。而且,多维系数解码单元2326的多维系数向量解码单元23261不具有码表切换单元
232611。
[0287] {行为的说明}
[0288] 参见图16的方框图和图17的流程图,重点针对与第二示例性实施例的不同点,对本示例性实施例的整个行为进行描述。
[0289] 首先,系数解码单元232将解码目标系数组的选择坐标初始化为(0,0)(S201)。接着,系数解码单元232选择在属于相同层级的多个高频子带内的、在空间上位于相同位置处的多个小波变换系数LH、HL和HH的组,作为解码目标的系数组(S203)。
[0290] 接着,模式确定参考系数提取单元2321提取小波变换系数,该系数将被参考以用于编码模式的辨别(S204)。接着,多维编码模式确定单元2324计算前面已经被提取的模式确定参考系数的绝对值的总和S(S205)。接着,多维编码模式确定单元2324将该总和S与预置的阈值B进行比较。在S小于B的情况下(在步骤S211处的“是”),多维系数解码单元2326进行的多维解码处理被执行(S212)。如果S不小于B(在步骤S211处的“否”),处理前进到步骤S213,并且单独系数解码单元2328进行的单独解码处理被执行。在上述的任何一种情形中,系数输出单元2325输出解码的系数值到水平和垂直分解系数存储器223。
[0291] 当多维可变长度解码处理或者单独解码处理结束时,系数解码单元232扫描系数选择坐标至光栅扫描顺序中的下一个坐标(S215),并确定是否对于高频子带的小波变换系数LH、HL和HH的所有组的解码结束(S216)。如果没有结束(步骤S216处的“否”),处理移动回步骤S203以重复在前所描述的相同处理以用于相应高频子带中在空间上位于相同坐标的下一组小波变换系数LH、HL和HH。如果对于小波变换系数LH、HL和HH的所有组的解码处理结束(步骤S216处的“是”),则处理进行到步骤S217。
[0292] 在步骤S217和步骤S218中,与第二示例性实施例中的步骤S217和步骤S218相同的处理被垂直小波合成单元2312和水平小波合成单元2311所执行。
[0293] 接着,参见图16中的方框图和图18中的流程图,重点针对与第二示例性实施例的不同点,对本示例性实施例中的多维可变长度解码处理(图17中的步骤S212)的行为进行描述。
[0294] 首先,多维系数向量解码单元23261通过使用第一编码表解码三维向量(SA202)。此后,与第二示例性实施例中的步骤SA204到步骤SA228相同的操作被执行。
[0295] 在本示例性实施例中的系数组单独解码处理的行为(图17中的S213)与第二示例性实施例中的系数组单独解码处理(图6中的S213)相同。
[0296] 根据本示例性实施例,可能适当地解码第三示例性实施例中编码的数据。
[0297] 在上文中,本发明的示例性实施例被描述,但是本发明并不限于在前所描述的示例性实施例,而是可以以各种方式被修改和改变。例如,在上述的每一个示例性实施例中,在多维系数向量编码和解码中的N值被设置为3或者更大,但是N值可能被设置为2或者更大。而且,本发明允许其功能不仅通过硬件来实现也可以通过计算机和程序来实现。所述程序被记录在计算机可读的记录介质中,例如磁盘和半导体存储器,并且当例如计算机启动时该程序可以被所述计算机获取到。接着,该程序控制计算机的行为,从而使得计算机充当前述每个示例性实施例中的各个单元,并使得计算机执行在各个示例性实施例中的处理。
[0298] 本发明基于并主张于2012年7月19日递交的日本专利申请No.2012-160783的优先权的权益,其公开内容通过引用被整体并入于此。
[0299] 工业上的可用性
[0300] 本发明可以被用于数码相机、数字视频相机或相似物中的图像数据的高效累积或者传送。
[0301] 附图标记的说明
[0302] 11   图像输入设备
[0303] 12   数据存储设备
[0304] 13   数据处理设备
[0305] 14   码输出设备
[0306] 121    图像存储器
[0307] 122    水平分解系数存储器
[0308] 123    水平和垂直分解系数存储器
[0309] 124    游程长度存储器
[0310] 131    小波变换单元
[0311] 1311   水平小波变换单元
[0312] 1312   垂直小波变换单元
[0313] 1321   模式确定参考系数提取单元
[0314] 1322   游程长度模式确定单元
[0315] 1323   游程长度编码单元
[0316] 1324   多维编码模式确定单元
[0317] 1325   系数组提取单元
[0318] 1326   多维系数编码单元
[0319] 13261  多维系数向量编码单元
[0320] 132611  码表切换单元
[0321] 13262   多维系数正/负编码单元
[0322] 13263   多维系数振幅编码单元
[0323] 132631  编码参数计算单元
[0324] 1327    参考系数提取单元
[0325] 1328    单独系数编码单元
[0326] 13281   目标系数提取单元
[0327] 13282   系数振幅编码单元
[0328] 132821  编码参数计算单元
[0329] 13283   系数正/负编码单元
[0330] 21  图像输出设备
[0331] 22  数据存储设备
[0332] 23  数据处理设备
[0333] 24  码输入设备
[0334] 221   图像存储器
[0335] 222   水平分解系数存储器
[0336] 223   水平和垂直分解系数存储器
[0337] 224   游程长度存储器
[0338] 231   逆小波变换单元
[0339] 2311  水平小波合成单元
[0340] 2312  垂直小波合成单元
[0341] 2321  模式确定参考系数提取单元
[0342] 2322  游程长度模式确定单元
[0343] 2323  游程长度解码单元
[0344] 2324  多维编码模式确定单元
[0345] 2325  系数输出单元
[0346] 2326  多维系数解码单元
[0347] 23261  多维系数向量解码单元
[0348] 232611  码表切换单元
[0349] 23262   多维系数正/负解码单元
[0350] 23263   多维系数振幅解码单元
[0351] 232631  编码参数计算单元
[0352] 2327    参考系数提取单元
[0353] 2328    单独系数解码单元
[0354] 23281   目标系数提取单元
[0355] 23282   系数振幅解码单元
[0356] 232821  编码参数计算单元
[0357] 23283   系数正/负解码单元
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈