一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于小波变换的图像编解码方法及装置与流程

2022-02-24 17:38:07 来源:中国专利 TAG:


1.本技术涉及图像编解码领域,尤其涉及一种基于小波变换的图像编解码方法及装置。


背景技术:

2.数字图像是以数字信号方式记录的图像信息。数字图像(以下简称图像)可看作一个m行k列的二维阵列,包含m
×
k个采样,每个采样的位置称为采样位置,每个采样的数值称为采样值。
3.在图像存储、传输等应用中,通常需要对图像做编码操作,以减少存储容量和传输带宽。一个典型的图像编码流程一般包括变换、量化和熵编码三个步骤。针对一幅待编码图像,第一步通过变换对待编码图像进行去相关,得到能量分布更加集中的变换系数;第二步对变换系数进行量化,得到量化系数;第三步对量化系数进行熵编码得到压缩码流。
4.图像编码中常用的变换方式有离散余弦变换,小波变换等。小波变换是一种局部变换方法,能对图像进行局部化、多尺度分析,聚焦到信号的变化细节,非常适合于图像编码任务。
5.其中,图像经过小波变换后,形成多个子带,例如,如果一幅图像经过了n次小波变换,将会得到3n 1个子带(或者称为子图像)。针对小波变换得到的多个子带,将对其进行量化和熵编码操作以得到压缩码流。解码操作与编码操作在顺序上相反,解码操作一般包括熵解码、反量化和反变换三个步骤。其中,如对一幅图像经过一次小波变换,则得到4个子带ll1、lh1、hl1、hh1,其中,该四个子带均为一级子带;对其中的子带ll1经过一次小波变换得到4个子带ll2、lh2、hl2、hh2,则该四个子带均为二级子带;依次类推,则经过i次小波变换,可得到i级子带。
6.针对小波系数的熵编码方法实际上是一种子带编码方法,也就是对所有子带编码。例如,熵编码方法可以采用基于上下文的熵编码方法,使用逐行扫描的方法编码子带中的每个系数,在编码每一个系数时,首先获取当前系数对应的上下文区域中的上下文信息,根据上下文信息对该系数进行概率估计,得到该系数的概率分布信息,根据所述概率分布信息对所述系数进行编码。其中,上下文区域中的上下文信息包括:当前系数子带内的区域大小为3x3、5x5或7x7区域内的上边和左边的已重建的系数信息,或者当前系数子带间的3x3、5x5或7x7区域内的已编码信息。如果区域内的上下文信息不可得,如区域内的系数未编码,或者系数不存在,则填充0系数。
7.当子带的尺寸发生变化时,对当前第i-1级子带内的系数进行熵编码时,可使用i级已编码子带经过小波逆变换得到与i-1级小波子带相同分辨率的系数块,将该系数块作为当前系数子带间的上下文信息对当前系数进行概率估计。例如,当对1级子带内的变换系数进行熵编码时,对已编码的2级子带内的系数进行小波逆变换,得到系数块ll1’
,将系数块ll1’
作为1级小波系数熵编码时的子带间的上下文信息对当前系数进行概率估计。
8.然而采用现有技术,当对当前级的子带内的系数进行编码时,会参考高一级已编
码子带小波逆变换后的系数进行编码,其相关性较低;当对边界的系数进行熵编码时,如果上下文信息不可得,填充0系数,则会影响当前系数概率分布的准确性;或者,当对每一级子带内的系数进行编码时,使用的是行扫描方法,其不具有信号自适应性。
9.综上所述,现有技术的图像编解码效率低下。


技术实现要素:

10.本技术公开了一种基于小波变换的图像编解码方法及装置,可以提高图像编解码的效率。
11.第一方面,本技术实施例提供一种基于小波变换的图像编码方法,包括:对图像块k进行n次小波变换,以得到3n 1个子带的小波系数,所述n为大于0的整数;对所述3n 1个子带的小波系数分别进行量化处理,以得到所述3n 1个子带的量化后的小波系数;根据所述3n 1个子带中任一子带中的量化后的小波系数的上下文信息对所述任一子带进行熵编码,以得到所述任一子带的压缩码流,其中,所述任一子带中的量化后的小波系数的上下文信息包括已编码的同位子带中的小波系数;所述同位子带是与所述图像块k相邻的图像块中的子带,且所述同位子带在与所述图像块k相邻的图像块中的位置与所述任一子带在所述图像块k中的位置相同。
12.通过本技术实施例,在对子带进行熵编码的过程中,通过根据任一子带中小波系数的上下文信息对所述任一子带进行熵编码,以得到任一子带的压缩码流,其中,该上下文信息为已编码的同位子带中的小波系数。通过参考已编码的同位子带中的小波系数来对子带进行熵编码,提高了上下文信息的关联性,进而提高了概率估计的准确度,进一步可提高图像熵编码的效率。
13.其中,所述同位子带是与所述图像块k空间相邻的图像块中的子带。所述同位子带在与所述图像块k相邻的图像块中的位置与所述任一子带在所述图像块k中的位置相同包括:所述同位子带与所述任一子带为同一级子带,所述同位子带与所述任一子带为同一种类型的子带,所述子带类型包括ll子带,hl子带,lh子带和hh子带中至少一种。
14.其中,所述任一子带中的量化后的上边界小波系数的上下文信息为已编码的同位子带的下边界的小波系数。
15.所述任一子带中的量化后的左边界小波系数的上下文信息为已编码的同位子带的右边界的小波系数。
16.所述任一子带中的量化后的左上边界小波系数的上下文信息为已编码的同位子带的右下边界的小波系数。
17.其中,所述任一子带中的量化后的小波系数的上下文信息包括所述任一子带的参考子带中的小波系数,所述参考子带通过对比所述任一子带更高一级的子带中已编码的高频子带进行上采样或者小波逆变换得到。所述高频子带为hl,lh和hh中至少一个子带。
18.其中,小波变换是对每一级低频子带不断分解为多个子带。上述任一子带为对所述图像块k进行n次小波变换后得到的所有子带中的任一一个子带。更高一级的子带为比任一子带多了一次小波变换得到的子带。例如,如果任一子带是i次小波变换得到的子带,则比所述任一子带更高一级的子带为i 1次小波变换得到的子带。
19.进一步地,所述任一子带中小波系数还包括非边界小波系数。
20.其中,所述任一子带为子带hhi、子带hli、子带lhi中的任一个,所述参考子带通过对子带mp
i 1
以及小波系数均设为0的除子带mp
i 1
外的各子带进行小波逆变换得到;所述子带mp
i 1
为子带hh
i 1
、子带hl
i 1
、子带lh
i 1
中的至少一个,i为正整数,用于指示子带的级,所述i不大于n-1,所述子带mp
i 1
以及所述除子带mp
i 1
外的各子带通过对子带lli进行一次小波变换得到。
21.作为一种可选的实现方式,所述根据所述3n 1个子带中任一子带的量化后的小波系数的上下文信息对所述任一子带进行熵编码包括:根据小波系数扫描次序和所述3n 1个子带中任一子带中的量化后的小波系数的上下文信息对所述任一子带进行熵编码,所述小波系数扫描次序为对所述任一子带中的量化后的小波系数进行熵编码的次序。
22.其中,所述方法还包括:根据所述图像块k中的低频子带的纹理来确定所述任一子带的小波系数扫描次序;其中,当所述图像块k中的低频子带的纹理为水平纹理时,则所述小波系数扫描次序为水平扫描次序;当所述图像块k中的低频子带的纹理为竖直纹理时,则所述小波系数扫描次序为竖直扫描次序;当所述图像块k中的低频子带的纹理既不是水平纹理也不是竖直纹理时,则所述小波系数扫描次序为z型扫描次序。
23.其中,所述任一子带为高频子带,其为子带hh、子带hl、子带lh中的任一个。
24.可替代的,所述小波系数扫描次序为多种扫描次序中对应率失真值最小的扫描次序;其中,所述多种扫描次序对应的率失真值为根据按照多种扫描次序分别对所述任一子带进行编码得到的压缩码流所确定的。
25.可替代的,所述小波系数扫描次序为竖直扫描次序或者z型扫描次序。
26.其中,所述方法还包括:将所述小波系数扫描次序对应的标识写入码流,以便解码端进行图像解码。
27.第二方面,本技术实施例提供一种基于小波变换的图像编码方法,包括:对图像块k进行n次小波变换,以得到3n 1个子带的小波系数,所述n为大于0的整数;对所述3n 1个子带的小波系数分别进行量化处理,以得到所述3n 1个子带的量化后的小波系数;根据所述3n 1个子带中任一子带中的量化后的小波系数的上下文信息对所述任一子带进行熵编码,以得到所述任一子带的压缩码流,其中,所述任一子带中的量化后的小波系数的上下文信息包括所述任一子带的参考子带中的小波系数,所述参考子带通过对比所述任一子带更高一级的子带中已编码的高频子带进行上采样或者小波逆变换得到。
28.通过本技术实施例,在对子带进行熵编码的过程中,通过根据任一子带中小波系数的上下文信息对所述任一子带进行熵编码,以得到任一子带的压缩码流,其中,该上下文信息为任一子带的参考子带中的小波系数,该参考子带通过对比所述任一子带更高一级的子带中已编码的高频子带进行上采样或者小波逆变换得到。通过参考已编码的高频子带的子带系数,避免参考低频子带的子带系数,提高了上下文信息的关联性,进而提高了概率估计的准确度,进一步提高了图像熵编码的效率。
29.其中,所述任一子带为子带hhi、子带hli、子带lhi中的任一个,所述参考子带通过对子带mp
i 1
以及小波系数均设为0的除子带mp
i 1
外的各子带进行小波逆变换得到;所述子带mp
i 1
为子带hh
i 1
、子带hl
i 1
、子带lh
i 1
中的至少一个,i为正整数,用于指示子带的级,所述i不大于n-1,所述子带mp
i 1
以及所述除子带mp
i 1
外的各子带通过对子带lli进行一次小波变换得到。
30.其中,所述根据所述3n 1个子带中任一子带中的量化后的小波系数的上下文信息对所述任一子带进行熵编码包括:根据小波系数扫描次序和所述3n 1个子带中任一子带中的量化后的小波系数的上下文信息对所述任一子带进行熵编码,所述小波系数扫描次序为对所述任一子带中的量化后的小波系数进行熵编码的次序。
31.其中,所述方法还包括:根据所述图像块k中的低频子带的纹理来确定所述任一子带的小波系数扫描次序;其中,当所述图像块k中的低频子带的纹理为水平纹理时,则所述小波系数扫描次序为水平扫描次序;当所述图像块k中的低频子带的纹理为竖直纹理时,则所述小波系数扫描次序为竖直扫描次序;当所述图像块k中的低频子带的纹理既不是水平纹理也不是竖直纹理时,则所述小波系数扫描次序为z型扫描次序。
32.其中,所述任一子带为子带hh、子带hl、子带lh中的任一个。
33.可替代的,所述小波系数扫描次序为多种扫描次序中对应率失真值最小的扫描次序;其中,所述多种扫描次序对应的率失真值为根据按照多种扫描次序分别对所述任一子带进行编码得到的压缩码流所确定的。
34.可替代的,所述小波系数扫描次序为竖直扫描次序或者z型扫描次序。
35.其中,所述方法还包括:将所述小波系数扫描次序对应的标识写入码流,以便解码端进行图像解码。
36.第三方面,本技术实施例提供一种基于小波变换的图像编码方法,包括:对图像块k进行n次小波变换,以得到3n 1个子带的小波系数,所述n为大于0的整数;对所述3n 1个子带的小波系数分别进行量化处理,以得到3n 1个子带的量化后的小波系数;按照小波系数扫描次序对所述3n 1个子带中任一子带中的量化后的小波系数进行熵编码,以得到所述任一子带的压缩码流,所述小波系数扫描次序为对所述任一子带中的量化后的小波系数进行熵编码的次序。
37.通过本技术实施例,通过根据小波系数扫描次序来对子带进行熵编码,使得在对每一个子带系数进行熵编码时按照特定顺序进行编码。该手段提高了图像熵编码的效率。
38.其中,所述方法还包括:根据所述图像块k中的低频子带的纹理来确定所述任一子带的小波系数扫描次序;其中,当所述图像块k中的低频子带的纹理为水平纹理时,则所述小波系数扫描次序为水平扫描次序;当所述图像块k中的低频子带的纹理为竖直纹理时,则所述小波系数扫描次序为竖直扫描次序;当所述图像块k中的低频子带的纹理既不是水平纹理也不是竖直纹理时,则所述小波系数扫描次序为z型扫描次序。
39.其中,所述任一子带为子带hh、子带hl、子带lh中的任一个。
40.可替代的,所述小波系数扫描次序为多种扫描次序中对应率失真值最小的扫描次序;其中,所述多种扫描次序对应的率失真值为根据按照多种扫描次序分别对所述任一子带进行编码得到的压缩码流所确定的。
41.可替代的,所述小波系数扫描次序为竖直扫描次序或者z型扫描次序。
42.其中,还包括:将所述小波系数扫描次序对应的标识写入码流,以便解码端进行图像解码。
43.第四方面,本技术实施例提供一种基于小波变换的图像解码方法,包括:根据图像块k的3n 1个子带的上下文信息对包括所述3n 1个子带的压缩码流进行熵解码,以得到3n 1个子带的量化后的小波系数,所述3n 1个子带中任一子带的上下文信息包括已解码的同
位子带中的小波系数;所述同位子带是与所述图像块k相邻的图像块中的子带,且所述同位子带在与所述图像块k相邻的图像块中的位置与所述任一子带在所述图像块k中的位置相同,所述n为大于0的整数;对所述3n 1个子带的量化后的小波系数进行反量化,以得到3n 1个子带的小波系数;对所述3n 1个子带的小波系数进行n次小波逆变换,得到所述图像块k的重建图像。
44.其中,所述任一子带中的量化后的上边界小波系数的上下文信息为已解码的同位子带的下边界的小波系数。
45.其中,所述任一子带中的量化后的左边界小波系数的上下文信息为已解码的同位子带的右边界的小波系数。
46.其中,所述任一子带中的量化后的左上边界小波系数的上下文信息为已解码的同位子带的右下边界的小波系数。
47.其中,所述任一子带中的量化后的小波系数的上下文信息包括所述任一子带的参考子带中的小波系数,所述参考子带通过对比所述任一子带更高一级的子带中已解码的高频子带进行上采样或者小波逆变换得到。
48.所述任一子带中的量化后的小波系数还包括非边界小波系数。
49.其中,所述任一子带为子带hhi、子带hli、子带lhi中的任一个,所述参考子带通过对子带mp
i 1
以及小波系数均设为0的除子带mp
i 1
外的各子带进行小波逆变换得到;所述子带mp
i 1
为子带hh
i 1
、子带hl
i 1
、子带lh
i 1
中的至少一个,i为正整数,用于指示子带的级,所述i不大于n-1,所述子带mp
i 1
以及所述除子带mp
i 1
外的各子带通过对子带lli进行一次小波变换得到。
50.所述根据图像块k的3n 1个子带的上下文信息对包括所述3n 1个子带的压缩码流进行熵解码包括:根据小波系数扫描次序和所述3n 1个子带的上下文信息对包括所述3n 1个子带的压缩码流进行熵解码。
51.其中,所述方法还包括:获取所述压缩码流中的标识,根据所述标识确定所述小波系数扫描次序。
52.第五方面,本技术实施例提供一种基于小波变换的图像解码方法,包括:对压缩码流进行熵解码,以得到3n 1个子带的量化后的小波系数;其中,所述压缩码流包括3n 1个子带的压缩码流,所述3n 1个子带中任一子带中的量化后的小波系数是根据所述3n 1个子带中所述任一子带中的量化后的小波系数的上下文信息对所述任一子带的码流进行熵解码得到的;其中,所述任一子带中的量化后的小波系数的上下文信息包括所述任一子带的参考子带中的小波系数,所述参考子带通过对比所述任一子带更高一级的子带中已解码的高频子带进行上采样或者小波逆变换得到,所述n为大于0的整数;对所述3n 1个子带的量化后的小波系数进行反量化,以得到3n 1个子带的小波系数;对所述3n 1个子带的小波系数进行n次小波逆变换,得到重建图像块。
53.其中,所述任一子带为子带hhi、子带hli、子带lhi中的任一个,所述参考子带通过对子带mp
i 1
以及小波系数均设为0的除子带mp
i 1
外的各子带进行小波逆变换得到;所述子带mp
i 1
为子带hh
i 1
、子带hl
i 1
、子带lh
i 1
中的至少一个,i为正整数,用于指示子带的级,所述i不大于n-1,所述子带mp
i 1
以及所述除子带mp
i 1
外的各子带通过对子带lli进行一次小波变换得到。
54.所述对压缩码流进行熵解码包括:根据小波系数扫描次序对所述压缩码流进行熵解码。
55.所述方法还包括:获取所述压缩码流中的标识,根据所述标识确定所述小波系数扫描次序。
56.第六方面,本技术实施例提供一种基于小波变换的图像解码方法,包括:根据小波系数扫描次序对压缩码流进行熵解码,以得到3n 1个子带的量化后的小波系数;其中,所述压缩码流包括3n 1个子带的码流;对所述3n 1个子带的量化后的小波系数进行反量化,以得到3n 1个子带的小波系数;对所述3n 1个子带的小波系数进行n次小波逆变换,得到重建图像块。
57.其中,所述方法还包括:获取所述压缩码流中的标识,根据所述标识确定所述小波系数扫描次序。
58.第七方面,本技术实施例提供一种基于小波变换的图像编码装置,包括:小波变换模块,用于对图像块k进行n次小波变换,以得到3n 1个子带的小波系数,所述n为大于0的整数;量化处理模块,用于对所述3n 1个子带的小波系数分别进行量化处理,以得到所述3n 1个子带的量化后的小波系数;编码模块,用于根据所述3n 1个子带中任一子带中的量化后的小波系数的上下文信息对所述任一子带进行熵编码,以得到所述任一子带的压缩码流,其中,所述任一子带中的量化后的小波系数的上下文信息包括已编码的同位子带中的小波系数;所述同位子带是与所述图像块k相邻的图像块中的子带,且所述同位子带在与所述图像块k相邻的图像块中的位置与所述任一子带在所述图像块k中的位置相同。
59.所述任一子带中的量化后的上边界小波系数的上下文信息为已编码的同位子带的下边界的小波系数。
60.所述任一子带中的量化后的左边界小波系数的上下文信息为已编码的同位子带的右边界的小波系数。
61.所述任一子带中的量化后的左上边界小波系数的上下文信息为已编码的同位子带的右下边界的小波系数。
62.所述任一子带中的量化后的小波系数的上下文信息包括所述任一子带的参考子带中的小波系数,所述参考子带通过对比所述任一子带更高一级的子带中已编码的高频子带进行上采样或者小波逆变换得到。
63.所述任一子带中的量化后的小波系数还包括非边界小波系数。
64.其中,所述任一子带为子带hhi、子带hli、子带lhi中的任一个,所述参考子带通过对子带mp
i 1
以及小波系数均设为0的除子带mp
i 1
外的各子带进行小波逆变换得到;所述子带mp
i 1
为子带hh
i 1
、子带hl
i 1
、子带lh
i 1
中的至少一个,i为正整数,用于指示子带的级,所述i不大于n-1,所述子带mp
i 1
以及所述除子带mp
i 1
外的各子带通过对子带lli进行一次小波变换得到。
65.其中,所述编码模块,具体用于:根据小波系数扫描次序和所述3n 1个子带中任一子带中的量化后的小波系数的上下文信息对所述任一子带进行熵编码,所述小波系数扫描次序为对所述任一子带中的量化后的小波系数进行熵编码的次序。
66.所述装置还包括确定模块,用于:根据所述图像块k中的低频子带的纹理来确定所述任一子带的小波系数扫描次序;其中,当所述图像块k中的低频子带的纹理为水平纹理
时,则所述小波系数扫描次序为水平扫描次序;当所述图像块k中的低频子带的纹理为竖直纹理时,则所述小波系数扫描次序为竖直扫描次序;当所述图像块k中的低频子带的纹理既不是水平纹理也不是竖直纹理时,则所述小波系数扫描次序为z型扫描次序。
67.所述任一子带为子带hh、子带hl、子带lh中的任一个。
68.所述小波系数扫描次序为多种扫描次序中对应率失真值最小的扫描次序;其中,所述多种扫描次序对应的率失真值为根据按照多种扫描次序分别对所述任一子带进行编码得到的压缩码流所确定的。
69.所述小波系数扫描次序为竖直扫描次序或者z型扫描次序。
70.所述装置还包括写入模块,用于:将所述小波系数扫描次序对应的标识写入码流,以便解码端进行图像解码。
71.第八方面,本技术实施例提供一种基于小波变换的图像编码装置,包括:小波变换模块,用于对图像块k进行n次小波变换,以得到3n 1个子带的小波系数,所述n为大于0的整数;量化处理模块,用于对所述3n 1个子带的小波系数分别进行量化处理,以得到所述3n 1个子带的量化后的小波系数;编码模块,用于根据所述3n 1个子带中任一子带中的量化后的小波系数的上下文信息对所述任一子带进行熵编码,以得到所述任一子带的压缩码流,其中,所述任一子带中的量化后的小波系数的上下文信息包括所述任一子带的参考子带中的小波系数,所述参考子带通过对比所述任一子带更高一级的子带中已编码的高频子带进行上采样或者小波逆变换得到。
72.所述任一子带为子带hhi、子带hli、子带lhi中的任一个,所述参考子带通过对子带mp
i 1
以及小波系数均设为0的除子带mp
i 1
外的各子带进行小波逆变换得到;所述子带mp
i 1
为子带hh
i 1
、子带hl
i 1
、子带lh
i 1
中的至少一个,i为正整数,用于指示子带的级,所述i不大于n-1,所述子带mp
i 1
以及所述除子带mp
i 1
外的各子带通过对子带lli进行一次小波变换得到。
73.所述编码模块,具体用于:根据小波系数扫描次序和所述3n 1个子带中任一子带中的量化后的小波系数的上下文信息对所述任一子带进行熵编码,所述小波系数扫描次序为对所述任一子带中的量化后的小波系数进行熵编码的次序。
74.所述装置还包括确定模块,用于:根据所述图像块k中的低频子带的纹理来确定所述任一子带的小波系数扫描次序;其中,当所述图像块k中的低频子带的纹理为水平纹理时,则所述小波系数扫描次序为水平扫描次序;当所述图像块k中的低频子带的纹理为竖直纹理时,则所述小波系数扫描次序为竖直扫描次序;当所述图像块k中的低频子带的纹理既不是水平纹理也不是竖直纹理时,则所述小波系数扫描次序为z型扫描次序。
75.所述任一子带为子带hh、子带hl、子带lh中的任一个。
76.所述小波系数扫描次序为多种扫描次序中对应率失真值最小的扫描次序;其中,所述多种扫描次序对应的率失真值为根据按照多种扫描次序分别对所述任一子带进行编码得到的压缩码流所确定的。
77.所述小波系数扫描次序为竖直扫描次序或者z型扫描次序。
78.所述装置还包括写入模块,用于:将所述小波系数扫描次序对应的标识写入码流,以便解码端进行图像解码。
79.第九方面,本技术实施例提供一种基于小波变换的图像编码装置,包括:小波变换
模块,用于对图像块k进行n次小波变换,以得到3n 1个子带的小波系数,所述n为大于0的整数;量化处理模块,用于对所述3n 1个子带的小波系数分别进行量化处理,以得到3n 1个子带的量化后的小波系数;编码模块,用于按照小波系数扫描次序对所述3n 1个子带中任一子带中的量化后的小波系数进行熵编码,以得到所述任一子带的压缩码流,所述小波系数扫描次序为对所述任一子带中的量化后的小波系数进行熵编码的次序。
80.所述装置还包括确定模块,用于:根据所述图像块k中的低频子带的纹理来确定所述任一子带的小波系数扫描次序;其中,当所述图像块k中的低频子带的纹理为水平纹理时,则所述小波系数扫描次序为水平扫描次序;当所述图像块k中的低频子带的纹理为竖直纹理时,则所述小波系数扫描次序为竖直扫描次序;当所述图像块k中的低频子带的纹理既不是水平纹理也不是竖直纹理时,则所述小波系数扫描次序为z型扫描次序。
81.所述任一子带为子带hh、子带hl、子带lh中的任一个。
82.所述小波系数扫描次序为多种扫描次序中对应率失真值最小的扫描次序;其中,所述多种扫描次序对应的率失真值为根据按照多种扫描次序分别对所述任一子带进行编码得到的压缩码流所确定的。
83.所述小波系数扫描次序为竖直扫描次序或者z型扫描次序。
84.所述装置还包括写入模块,用于:将所述小波系数扫描次序对应的标识写入码流,以便解码端进行图像解码。
85.第十方面,本技术实施例提供一种基于小波变换的图像解码装置,包括:解码模块,用于根据图像块k的3n 1个子带的上下文信息对包括所述3n 1个子带的压缩码流进行熵解码,以得到3n 1个子带的量化后的小波系数,所述3n 1个子带中任一子带的上下文信息包括已解码的同位子带中的小波系数;所述同位子带是与所述图像块k相邻的图像块中的子带,且所述同位子带在与所述图像块k相邻的图像块中的位置与所述任一子带在所述图像块k中的位置相同,所述n为大于0的整数;反量化模块,用于对所述3n 1个子带的量化后的小波系数进行反量化,以得到3n 1个子带的小波系数;小波逆变换模块,用于对所述3n 1个子带的小波系数进行n次小波逆变换,得到所述图像块k的重建图像。
86.所述任一子带中的量化后的上边界小波系数的上下文信息为已解码的同位子带的下边界的小波系数。
87.所述任一子带中的量化后的左边界小波系数的上下文信息为已解码的同位子带的右边界的小波系数。
88.所述任一子带中的量化后的左上边界小波系数的上下文信息为已解码的同位子带的右下边界的小波系数。
89.所述任一子带中的量化后的小波系数的上下文信息包括所述任一子带的参考子带中的小波系数,所述参考子带通过对比所述任一子带更高一级的子带中已解码的高频子带进行上采样或者小波逆变换得到。
90.所述任一子带中的量化后的小波系数还包括非边界小波系数。
91.所述任一子带为子带hhi、子带hli、子带lhi中的任一个,所述参考子带通过对子带mp
i 1
以及小波系数均设为0的除子带mp
i 1
外的各子带进行小波逆变换得到;所述子带mp
i 1
为子带hh
i 1
、子带hl
i 1
、子带lh
i 1
中的至少一个,i为正整数,用于指示子带的级,所述i不大于n-1,所述子带mp
i 1
以及所述除子带mp
i 1
外的各子带通过对子带lli进行一次小波变换得
到。
92.所述解码模块,具体用于:根据小波系数扫描次序和所述3n 1个子带的上下文信息对包括所述3n 1个子带的压缩码流进行熵解码。
93.所述解码模块还用于:获取所述压缩码流中的标识,根据所述标识确定所述小波系数扫描次序。
94.第十一方面,本技术实施例提供一种基于小波变换的图像解码装置,包括:解码模块,用于对压缩码流进行熵解码,以得到3n 1个子带的量化后的小波系数;其中,所述压缩码流包括3n 1个子带的压缩码流,所述3n 1个子带中任一子带中的量化后的小波系数是根据所述3n 1个子带中所述任一子带中的量化后的小波系数的上下文信息对所述任一子带的码流进行熵解码得到的;其中,所述任一子带中的量化后的小波系数的上下文信息包括所述任一子带的参考子带中的小波系数,所述参考子带通过对比所述任一子带更高一级的子带中已解码的高频子带进行上采样或者小波逆变换得到,所述n为大于0的整数;反量化模块,用于对所述3n 1个子带的量化后的小波系数进行反量化,以得到3n 1个子带的小波系数;小波逆变换模块,用于对所述3n 1个子带的小波系数进行n次小波逆变换,得到重建图像块。
95.所述任一子带为子带hhi、子带hli、子带lhi中的任一个,所述参考子带通过对子带mp
i 1
以及小波系数均设为0的除子带mp
i 1
外的各子带进行小波逆变换得到;所述子带mp
i 1
为子带hh
i 1
、子带hl
i 1
、子带lh
i 1
中的至少一个,i为正整数,用于指示子带的级,所述i不大于n-1,所述子带mp
i 1
以及所述除子带mp
i 1
外的各子带通过对子带lli进行一次小波变换得到。
96.所述解码模块具体用于:根据小波系数扫描次序对所述压缩码流进行熵解码。
97.所述解码模块还用于:获取所述压缩码流中的标识,根据所述标识确定所述小波系数扫描次序。
98.第十二方面,本技术实施例提供一种基于小波变换的图像解码装置,包括:解码模块,用于根据小波系数扫描次序对压缩码流进行熵解码,以得到3n 1个子带的量化后的小波系数;其中,所述压缩码流包括3n 1个子带的码流;反量化模块,用于对所述3n 1个子带的量化后的小波系数进行反量化,以得到3n 1个子带的小波系数;小波逆变换模块,用于对所述3n 1个子带的小波系数进行n次小波逆变换,得到重建图像块。
99.所述解码模块还用于:获取所述压缩码流中的标识,根据所述标识确定所述小波系数扫描次序。
100.第十三方面,本技术提供了一种计算机存储介质,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如第一方面任一种可能的实施方式和/或第二方面任一种可能的实施方式和/或第三方面任一种可能的实施方式和/或第四方面任一种可能的实施方式和/或第五方面任一种可能的实施方式和/或第六方面任一种可能的实施方式提供的方法。
101.第十四方面,本技术实施例提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面任一种可能的实施方式和/或第二方面任一种可能的实施方式和/或第三方面任一种可能的实施方式和/或第四方面任一种可能的实施方式和/或第五方面任一种可能的实施方式和/或第六方面任一种可能的实施方式提供的方
法。
102.可以理解地,上述提供的第七方面所述的装置、第八方面所述的装置、第九方面所述的装置、第十方面所述的装置、第十一方面所述的装置、第十二方面所述的装置、第十三方面所述的计算机存储介质或者第十四方面所述的计算机程序产品均用于执行第一方面中任一所提供的方法以及第二方面中任一所提供的方法和/或第三方面任一种可能的实施方式和/或第四方面任一种可能的实施方式和/或第五方面任一种可能的实施方式和/或第六方面任一种可能的实施方式提供的方法。因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。
附图说明
103.下面对本技术实施例用到的附图进行介绍。
104.图1是本技术实施例提供的基于小波变换的图像编码过程的示意图;
105.图2是本技术实施例提供的一种基于小波变换的图像编码方法的流程示意图;
106.图3是本技术实施例提供的一种小波变换结构示意图;
107.图4是本技术实施例提供的一种子带系数上下文信息示意图;
108.图5是本技术实施例提供的另一种基于小波变换的图像编码方法的流程示意图;
109.图6是本技术实施例提供的一种子带系数上下文信息示意图;
110.图7是本技术实施例提供的再一种基于小波变换的图像编码方法的流程示意图;
111.图8a是本技术实施例提供的一种子带扫描次序示意图;
112.图8b是本技术实施例提供的小波系数扫描次序中的z型扫描次序示意图;
113.图8c是本技术实施例提供的小波系数扫描次序中的水平扫描次序示意图;
114.图8d是本技术实施例提供的小波系数扫描次序中的竖直扫描次序示意图;
115.图9是本技术实施例提供的基于小波变换的图像解码过程的示意图;
116.图10是本技术实施例提供的一种基于小波变换的图像解码方法的流程示意图;
117.图11是本技术实施例提供的另一种基于小波变换的图像解码方法的流程示意图;
118.图12是本技术实施例提供的再一种基于小波变换的图像解码方法的流程示意图;
119.图13是本技术实施例提供的一种基于小波变换的图像编码装置的结构示意图;
120.图14是本技术实施例提供的一种基于小波变换的图像解码装置的结构示意图。
具体实施方式
121.下面结合本技术实施例中的附图对本技术实施例进行描述。本技术实施例的实施方式部分使用的术语仅用于对本技术的具体实施例进行解释,而非旨在限定本技术。
122.首先介绍基于小波变换的图像编码过程,如图1所示,对待编码的目标图像或者图像块进行n次小波变换,以得到3n 1个子带的小波系数;对得到的3n 1个子带的小波系数进行量化处理,以得到3n 1个子带的量化后的小波系数;对上述3n 1个子带的量化后的小波系数进行熵编码,得到压缩码流。
123.具体参见图2,图2为本技术实施例提供的一种基于小波变换的图像编码方法的流程示意图。如图2所示,该方法包括:
124.s201、对图像块k进行n次小波变换,以得到3n 1个子带的小波系数,所述n为大于0
的整数;
125.其中,上述图像块k可以是对目标图像进行处理得到的m个图像块中的任一个,m为大于1的整数。该目标图像可以是一幅图像、子图像、条带(slice)、片(patch)等,在此不做限定。
126.通过对目标图像进行划分可得到m个图像块。具体的,可以采用基于四叉树的划分方法对目标图像进行划分。其中,可把目标图像划分为相同大小的图像块等,例如可平均划分成区域大小为8x8的图像块。
127.然后对该m个图像块分别进行小波变换。其中,对任一图像块k进行n次小波变换,可得到3n 1个子带的小波系数。
128.其中,一幅图像经过一次小波变换之后可得到四幅子图像,其中一幅子图像被称为近似图像,该近似图像是原始图像的低分辨率近似;另外三幅子图像被称为细节图像,所述细节图像包含了原始图像的高频信息。在图像编码中,往往对近似图像进行多次迭代小波变换,得到图像的多分辨率表达。例如,如果一幅图像经过了n次小波变换,则可得到3n 1个子带,如图3所示,其中,对一幅图像经过了n次小波变换可得到n级子带,如进行了第一次小波变换后,得到第一级子带;然后对第一级子带中的低频子带进行一次小波变换,得到第二级子带,以此类推。其中,每级子带包含一个或多个小波系数(或者称为子带系数)。
129.本方案中的小波变换方法可以使用现有技术中的传统小波变换或者基于深度网络的小波变换或者其他类似的变换方法,本方案对此不做具体限定。
130.s202、对所述3n 1个子带的小波系数分别进行量化处理,以得到所述3n 1个子带的量化后的小波系数;
131.s203、根据所述3n 1个子带中任一子带中的量化后的小波系数的上下文信息对所述任一子带进行熵编码,以得到所述任一子带的压缩码流,其中,所述任一子带中的量化后的小波系数的上下文信息包括已编码的同位子带中的小波系数;所述同位子带是与所述图像块k相邻的图像块中的子带,且所述同位子带在与所述图像块k相邻的图像块中的位置与所述任一子带在所述图像块k中的位置相同。
132.其中,上述小波系数的上下文信息可以是已编码的同位子带中的小波系数。其中,该同位子带是m个图像块中与上述图像块k空间相邻的图像块中的子带,且所述同位子带在与所述图像块k相邻的图像块中的位置与所述任一子带在所述图像块k中的位置相同。
133.需要说明的是,本方案中所述同位子带在与所述图像块k相邻的图像块中的位置与所述任一子带在所述图像块k中的位置相同包括:所述同位子带与所述任一子带为同一级子带,所述同位子带与所述任一子带为同一种类型的子带,所述子带类型包括ll子带,hl子带,lh子带和hh子带中至少一种。
134.其中,ll子带是由两个方向利用低通小波滤波器卷积后产生的小波系数,它是图像的近似表示。
135.hl子带是在行方向利用低通小波滤波器卷积后,再用高通小波滤波器在列方向卷积而产生的小波系数,它表示图像的水平方向奇异特性;可称为水平子带。
136.lh子带是在行方向利用高通小波滤波器卷积后,再用低通小波滤波器在列方向卷积而产生的小波系数,它表示图像的垂直方向奇异特性;可称为垂直子带。
137.hh子带是由两个方向利用高通小波滤波器卷积后产生的小波系数,它表示图像的
对角边缘特性;可称为对角子带。
138.其中,所述任一子带中的量化后的小波系数可包括边界小波系数,所述边界小波系数位于所述任一子带中的边界区域。
139.其中,当编码子带内上边界的子带系数时,其上下文信息为同位子带中下边界子带系数,如图4的右上角图所示。
140.当编码子带内左边界的子带系数时,其上下文信息为同位子带中右边界子带系数,如图4的左下角图所示。
141.当编码子带内左上边界的子带系数时,其上下文信息为同位子带中右下边界子带系数,如图4的左上角图所示。
142.上述仅以编码子带上边界、左边界和左上边界为例进行说明,其中,在编码子带下边界、右边界和右下边界时,可相应参照上述描述,如编码子带下边界的子带系数时,其上下文信息为同位子带中上边界子带系数;当编码子带内右边界的子带系数时,其上下文信息为同位子带中左边界子带系数;当编码子带内右下边界的子带系数时,其上下文信息为同位子带中左上边界子带系数等。
143.其中,在对子带进行熵编码的过程中,通过获取待编码的小波系数的上下文信息;然后根据所述上下文信息得到所述待编码的小波系数的概率分布;进而根据所述待编码的小波系数的概率分布对所述待编码的小波系数进行熵编码。
144.例如,可以将待编码的小波系数的上下文信息输入到概率估计网络中,得到该待编码的小波系数的概率分布,然后采用该概率分布对该待编码的小波系数进行熵编码得到该待编码的小波系数的编码信息。其中,概率估计网络中使用的概率分布估计方法可包括:基于深度学习网络的概率分布估计方法,例如循环神经网络(recurrent neural network,rnn)和卷积神经网络(convolutional neural network,pixelcnn)等。
145.通过根据任一子带中小波系数的上下文信息对所述任一子带进行熵编码,以得到所述任一子带的压缩码流。基于上述3n 1个子带的压缩码流可得到图像块k的压缩码流。进而可将压缩码流写入码流。
146.通过本技术实施例,在对子带进行熵编码的过程中,通过根据任一子带中小波系数的上下文信息对所述任一子带进行熵编码,以得到任一子带的压缩码流,其中,该上下文信息为已编码的同位子带中的小波系数。通过参考已编码的同位子带中的小波系数来对子带进行熵编码,提高了上下文信息的关联性,进而提高了概率估计的准确度,进一步可提高图像熵编码的效率。
147.参见图5,图5为本技术实施例提供的另一种基于小波变换的图像编码方法的流程示意图。如图5所示,该方法包括:
148.s501、对图像块k进行n次小波变换,以得到3n 1个子带的小波系数,所述n为大于0的整数;
149.其中,一幅图像经过一次小波变换之后将得到四幅子图像,其中一幅子图像被称为近似图像,该近似图像是原始图像的低分辨率近似;另外三幅子图像被称为细节图像,所述细节图像包含了原始图像的高频信息。在图像编码中,往往对近似图像进行多次迭代小波变换,得到图像的多分辨率表达。例如,如果一幅图像经过了n次小波变换,将会得到3n 1个子带,如图3所示,其中,对一幅图像经过了n次小波变换可得到n级子带,如进行了第一次
小波变换后,得到第一级子带;然后对第一级子带中的低频子带进行一次小波变换,得到第二级子带,以此类推。其中,每级子带包含一个或多个小波系数(或者称为子带系数)。
150.本方案中的小波变换方法可以使用现有技术中的传统小波变换或者基于深度网络的小波变换或者其他类似的变换方法,在此不做限定。
151.s502、对所述3n 1个子带的小波系数分别进行量化处理,以得到所述3n 1个子带的量化后的小波系数;
152.s503、根据所述3n 1个子带中任一子带中的量化后的小波系数的上下文信息对所述任一子带进行熵编码,以得到所述任一子带的压缩码流,其中,所述任一子带中小波系数的上下文信息包括所述任一子带的参考子带中的小波系数,所述参考子带通过对比所述任一子带更高一级的子带中已编码的高频子带进行上采样或者小波逆变换得到。
153.其中,在对子带进行熵编码的过程中,通过获取待编码的小波系数的上下文信息;然后根据所述上下文信息得到所述待编码的小波系数的概率分布;进而根据所述待编码的小波系数的概率分布对所述待编码的小波系数进行熵编码。
154.例如,可以将待编码的小波系数的上下文信息输入到概率估计网络中,得到该待编码的小波系数的概率分布,然后采用该概率分布对该待编码的小波系数进行熵编码得到该待编码的小波系数的编码信息。其中,概率估计网络中使用的概率分布估计方法可包括:基于深度学习网络的概率分布估计方法,例如循环神经网络(recurrent neural network,rnn)和卷积神经网络(convolutional neural network,pixelcnn)等。
155.其中,上述参考子带通过对比所述任一子带更高一级的子带中已编码的高频子带进行上采样或者小波逆变换得到。上述高频子带为子带hh、子带hl、子带lh中的任一个。
156.具体地,对当前第i-1级子带内的子带系数进行熵编码时,可参考第i级已编码的高频子带的子带系数来构建上下文,避免参考低频子带的子带系数。
157.作为第一种实现方式,编码第i-1级子带lh
i-1
中的子带系数时,对第i级子带lhi进行上采样得到与第i-1级子带lh
i-1
相同尺寸的系数块lh
i’,参考使用lh
i’的预置区域内的系数作为当前子带系数编码时的上下文。其中,对hl
i-1
,hh
i-1
内的子带系数进行编码时可以采用同样的方法,此处不再赘述。如图6所示。
158.进一步地,作为第二种实现方式,当对当前第i-1级子带内的子带系数lh
i-1
进行熵编码时,可以参考第i级中更多的高频信息,即对第i级已编码的高频子带中的子带lhi、hhi和hli均进行上采样得到与第i-1级子带lh
i-1
相同尺寸的系数块lh
i’、h h
i’和hl
i’,参考使用其预置区域内的系数作为当前子带系数编码时的上下文。其中,对hl
i-1
,hh
i-1
内的子带系数进行编码时可以采用同样的方法。此处并不限定具体参考的高频子带的个数,其可以是3个,也可以是2个,或者1个等。其中,该预置区域的中心位置可以是所述任一子带中待编码的小波系数的空域相同的同位位置。即待编码的小波系数在其所在的子带中的位置与所述预置区域的中心位置在其所在的子带中的位置相同。例如可参阅图6中子带ll2中区域r1和子带lh2中区域r2所示,区域r1即为区域r2的空域相同的同位位置。
159.作为第三种实现方式,当编码子带mpi时,所述参考子带通过对子带lli进行一次小波变换得到的子带中除子带mp
i 1
外的各子带的小波系数均设为0后并进行小波逆变换得到的;所述子带mpi为子带hhi、子带hli、子带lhi中的任一个,i为正整数,所述i不大于n-1。
160.具体地,当对当前第i-1级子带内的子带系数lh
i-1
进行熵编码时,对第i级除子带
lhi之外的子带系数均填充0,也就是说,将第i级中的子带hhi、hli和lli的子带系数均填充0,然后对处理后的第i级子带进行小波逆变换,得到新的子带lh
i’,将lh
i’的预置区域内的系数作为当前子带系数编码时的上下文。其中,该预置区域的中心位置可以是所述任一子带中待编码的小波系数的空域相同的同位位置。
161.作为再一种实现方式,对当前第i-1级子带内的子带系数进行熵编码时,对高级第i级高频子带(lhi、hli和hhi)内的已编码子带系数进行小波逆变换,得到子带lh
i’、hl
i’和hh
i’,如图6所示。其中仅含高频部分,然后将子带lh
i’、hl
i’和hh
i’中预置区域内的子带系数作为当前第i-1级子带内的子带系数的上下文。其中,上述预置区域的中心位置为所述任一子带中待编码的小波系数的空域相同的同位位置。
162.通过本技术实施例,在对子带进行熵编码的过程中,通过根据任一子带中小波系数的上下文信息对所述任一子带进行熵编码,以得到任一子带的压缩码流,其中,该上下文信息为任一子带的参考子带中的小波系数,该参考子带通过对比所述任一子带更高一级的子带中已编码的高频子带进行上采样或者小波逆变换得到。通过参考已编码的高频子带的子带系数,避免参考低频子带的子带系数,提高了上下文信息的关联性,进而提高了概率估计的准确度,进一步提高了图像熵编码的效率。
163.上述各实施例对于各种上下文信息进行说明,其中,上述上下文信息还可以是当前待编码的小波系数所在的子带中的已编码的小波系数。即在处理每个子带系数时,使用相同的子带内的预置区域中已编码的子带系数作为上下文,例如,预置区域大小可以为3x3/5x5/7x7。其中,预置区域大小可表示为sxz,其表示预置区域的宽为s个系数,预置区域的高为z个系数。本方案对预置区域的大小不作具体限定。
164.参照图7,图7为本技术实施例提供的再一种基于小波变换的图像编码方法的流程示意图。如图7所示,该方法包括:
165.s701、对图像块k进行n次小波变换,以得到3n 1个子带的小波系数,所述n为大于0的整数;
166.s702、对所述3n 1个子带的小波系数分别进行量化处理,以得到3n 1个子带的量化后的小波系数;
167.s703、按照小波系数扫描次序对所述3n 1个子带中任一子带中的量化后的小波系数进行熵编码,以得到所述任一子带的压缩码流,所述小波系数扫描次序为对所述任一子带中的量化后的小波系数进行熵编码的次序。
168.其中,在处理每个图像块的每个子带时,从高级小波的低频子带开始按照预置的子带扫描次序对每个子带进行处理。如图8a所示,该子带扫描次序可以是z型扫描次序,其还可以是水平扫描次序或者竖直扫描次序等。
169.其中,在处理每个子带的小波系数时,可按照预置的小波系数扫描次序对所述任一子带中的量化后的小波系数进行熵编码。
170.上述小波系数扫描次序可以是使用预设的扫描次序,例如:z型扫描次序,可如图8b所示;水平扫描次序,可如图8c所示;或竖直扫描次序,可如图8d所示。
171.可替代的,上述小波系数扫描次序可以是多种扫描次序中对应率失真值最小的扫描次序;其中,所述多种扫描次序对应的率失真值为根据按照多种扫描次序分别对所述任一子带进行编码得到的压缩码流所确定的。
172.具体地,在编码端,使用率失真优化(rdo)方法选择最优的扫码顺序,即分别使用z型扫描次序、水平扫描次序或竖直扫描次序对当前图像进行编码,分别得到当前图像的率失真值,通过对比编码率失真值的相对大小,选择率失真值最小的扫描次序作为最优的小波系数扫描次序。其中,编码端使用标识来标记该最优扫描次序,并可将该标识的值写入码流传输到解码端。例如标识对应为第一值,表示小波系数扫描次序为z型扫描次序;标识对应为第二值时,表示小波系数扫描次序为水平扫描次序;标识对应为第三值时,表示小波系数扫描次序为竖直扫描次序。其中,解码端可从码流中解析标识的值,进而得到该子带的小波系数扫描次序。
173.作为另一种可选的实现方式,可根据当前图像块内的低频子带(ll)的纹理确定高频子带的小波系数扫描次序。其中,当所述图像块k中的低频子带的纹理为水平纹理时,则所述小波系数扫描次序为水平扫描次序;当所述图像块k中的低频子带的纹理为竖直纹理时,则所述小波系数扫描次序为竖直扫描次序;当所述图像块k中的低频子带的纹理既不是水平纹理也不是竖直纹理时,则所述小波系数扫描次序为z型扫描次序。
174.具体地,可通过计算低频子带的系数的梯度值来确定低频子带的纹理方向。例如,使用梯度算子计算当前子带内系数的梯度值;通过比较水平梯度值和竖直梯度值的大小,确定当前低频子带的纹理方向。其中,若水平梯度值大于竖直梯度值,则当前纹理方向可认为是竖直方向;若竖直梯度值大于水平梯度值,则当前纹理方向可认为是水平方向。
175.下面以一阶梯度算子为例进行说明:
176.对于当前子带内的每一个系数点l(x,y)计算梯度值的绝对值并进行累加;
177.gx=∑
x
∑yabs(l(x 1,y)-l(x,y));
178.gy=∑
x
∑yabs(l(x,y 1)-l(x,y));
179.其中,gx为每个系数点处水平梯度值的绝对值的累加和;gy为每个系数点处竖直梯度值的绝对值的累加和。
180.如果gx大于gy,则认为当前纹理方向为竖直方向;如果gx小于gy,则认为当前纹理方向为水平方向。
181.除了使用一阶梯度算子,还可以使用其他算子计算。例如,sobel算子,canny算子,laplace算子,robert算子等。具体方法与上述类似,在此不再赘述。
182.其中,若图像块k中的低频子带的纹理是水平纹理,则高频子带的小波系数扫描次序为水平扫描次序;如果图像块k中的低频子带的纹理是竖直纹理,则高频子带的小波系数扫描次序为竖直扫描次序;否则,使用z型扫描次序。
183.其中,获取小波系数扫描次序之后,可将所述小波系数扫描次序对应的标识写入码流,以便解码端进行图像解码。
184.其中,上述仅以图像块k为例进行说明。需要说明的是,各个图像块可使用不同的小波系数扫描次序。本方案对此不做具体限定。
185.通过本技术实施例,通过根据小波系数扫描次序来对子带进行熵编码,使得在对每一个子带系数进行熵编码时按照特定顺序进行编码。该手段提高了图像熵编码的效率。
186.需要说明的是,上述各实施例提供的基于小波变换的图像编码方法可任意组合使用。此处不做具体限定。
187.下面介绍基于小波变换的图像解码过程,如图9所示,对压缩码流进行熵解码,以
得到各子带的量化后的小波系数;对所述各子带的量化后的小波系数进行反量化,以得到各子带的小波系数;对所述各子带的小波系数进行小波逆变换,以得到重建图像。
188.具体参见图10,图10为本技术实施例提供的一种基于小波变换的图像解码方法的流程示意图。如图10所示,该方法包括:
189.s1001、根据图像块k的3n 1个子带的上下文信息对包括所述3n 1个子带的压缩码流进行熵解码,以得到3n 1个子带的量化后的小波系数,所述3n 1个子带中任一子带的上下文信息包括已解码的同位子带中的小波系数;所述同位子带是与所述图像块k相邻的图像块中的子带,且所述同位子带在与所述图像块k相邻的图像块中的位置与所述任一子带在所述图像块k中的位置相同,所述n为大于0的整数;
190.其中,上述同位子带的描述可参阅图2所示实施例中的相关描述,在此不再赘述。
191.上述任一子带中的量化后的上边界小波系数的上下文信息为已解码的同位子带的下边界的小波系数。所述任一子带中的量化后的左边界小波系数的上下文信息为已解码的同位子带的右边界的小波系数。所述任一子带中的量化后的左上边界小波系数的上下文信息为已解码的同位子带的右下边界的小波系数。
192.其中,上述具体实施可参阅图2所述实施例,在此不再赘述。
193.s1002、对所述3n 1个子带的量化后的小波系数进行反量化,以得到3n 1个子带的小波系数;
194.s1003、对所述3n 1个子带的小波系数进行n次小波逆变换,得到所述图像块k的重建图像。
195.其中,所述方法还可包括:获取所述压缩码流中的标识,根据所述标识确定所述小波系数扫描次序。进而根据该小波系数扫描次序和所述图像块k的3n 1个子带的上下文信息对包括所述3n 1个子带的压缩码流进行熵解码。
196.参见图11,图11为本技术实施例提供的另一种基于小波变换的图像解码方法的流程示意图。如图11所示,该方法包括:
197.s1101、对压缩码流进行熵解码,以得到3n 1个子带的量化后的小波系数;其中,所述压缩码流包括3n 1个子带的压缩码流,所述3n 1个子带中任一子带中的量化后的小波系数是根据所述3n 1个子带中所述任一子带中的量化后的小波系数的上下文信息对所述任一子带的码流进行熵解码得到的;其中,所述任一子带中的量化后的小波系数的上下文信息包括所述任一子带的参考子带中的小波系数,所述参考子带通过对比所述任一子带更高一级的子带中已解码的高频子带进行上采样或者小波逆变换得到,所述n为大于0的整数;
198.其中,当解码子带mpi时,所述参考子带通过对子带lli进行一次小波变换得到的子带中除子带mp
i 1
外的各子带的小波系数均设为0后并进行小波逆变换得到的;所述子带mpi为子带hhi、子带hli、子带lhi中的任一个,i为正整数,所述i不大于n-1。
199.其中,所述对压缩码流进行熵解码包括:根据小波系数扫描次序对所述压缩码流进行熵解码。可获取所述压缩码流中的标识,根据所述标识确定所述小波系数扫描次序。
200.其中,上述具体描述可参阅图5所述实施例,在此不再赘述。
201.s1102、对所述3n 1个子带的量化后的小波系数进行反量化,以得到3n 1个子带的小波系数;
202.s1103、对所述3n 1个子带的小波系数进行n次小波逆变换,得到重建图像块。
203.参见图12,图12为本技术实施例提供的另一种基于小波变换的图像解码方法的流程示意图。如图12所示,该方法包括:
204.s1201、根据小波系数扫描次序对压缩码流进行熵解码,以得到3n 1个子带的量化后的小波系数;其中,所述压缩码流包括3n 1个子带的码流;
205.其中,可通过获取所述压缩码流中的标识,根据所述标识确定所述小波系数扫描次序。
206.s1202、对所述3n 1个子带的量化后的小波系数进行反量化,以得到3n 1个子带的小波系数;
207.s1203、对所述3n 1个子带的小波系数进行n次小波逆变换,得到重建图像块。
208.其中,上述各实施例提供的基于小波变换的图像解码方法可任意组合使用。此处不做具体限定。
209.其中,上述基于小波变换的图像解码方法的具体实施可参阅图7中图像编码方法中的相关描述,在此不再赘述。
210.如图13所示,本技术实施例还提供一种基于小波变换的图像编码装置,包括:
211.小波变换模块1301,用于对图像块k进行n次小波变换,以得到3n 1个子带的小波系数,所述n为大于0的整数;
212.量化处理模块1302,用于对所述3n 1个子带的小波系数分别进行量化处理,以得到所述3n 1个子带的量化后的小波系数;
213.编码模块1303,用于根据所述3n 1个子带中任一子带中的量化后的小波系数的上下文信息对所述任一子带进行熵编码,以得到所述任一子带的压缩码流,其中,所述任一子带中的量化后的小波系数的上下文信息包括已编码的同位子带中的小波系数;所述同位子带是与所述图像块k相邻的图像块中的子带,且所述同位子带在与所述图像块k相邻的图像块中的位置与所述任一子带在所述图像块k中的位置相同。
214.所述任一子带中的量化后的上边界小波系数的上下文信息为已编码的同位子带的下边界的小波系数。
215.所述任一子带中的量化后的左边界小波系数的上下文信息为已编码的同位子带的右边界的小波系数。
216.所述任一子带中的量化后的左上边界小波系数的上下文信息为已编码的同位子带的右下边界的小波系数。
217.所述任一子带中的量化后的小波系数的上下文信息包括所述任一子带的参考子带中的小波系数,所述参考子带通过对比所述任一子带更高一级的子带中已编码的高频子带进行上采样或者小波逆变换得到。
218.所述任一子带中的量化后的小波系数还包括非边界小波系数。
219.其中,所述任一子带为子带hhi、子带hli、子带lhi中的任一个,所述参考子带通过对子带mp
i 1
以及小波系数均设为0的除子带mp
i 1
外的各子带进行小波逆变换得到;所述子带mp
i 1
为子带hh
i 1
、子带hl
i 1
、子带lh
i 1
中的至少一个,i为正整数,用于指示子带的级,所述i不大于n-1,所述子带mp
i 1
以及所述除子带mp
i 1
外的各子带通过对子带lli进行一次小波变换得到。
220.其中,所述编码模块,具体用于:根据小波系数扫描次序和所述3n 1个子带中任一
子带中的量化后的小波系数的上下文信息对所述任一子带进行熵编码,所述小波系数扫描次序为对所述任一子带中的量化后的小波系数进行熵编码的次序。
221.所述装置还包括确定模块,用于:根据所述图像块k中的低频子带的纹理来确定所述任一子带的小波系数扫描次序;其中,当所述图像块k中的低频子带的纹理为水平纹理时,则所述小波系数扫描次序为水平扫描次序;当所述图像块k中的低频子带的纹理为竖直纹理时,则所述小波系数扫描次序为竖直扫描次序;当所述图像块k中的低频子带的纹理既不是水平纹理也不是竖直纹理时,则所述小波系数扫描次序为z型扫描次序。
222.所述任一子带为子带hh、子带hl、子带lh中的任一个。
223.所述小波系数扫描次序为多种扫描次序中对应率失真值最小的扫描次序;其中,所述多种扫描次序对应的率失真值为根据按照多种扫描次序分别对所述任一子带进行编码得到的压缩码流所确定的。
224.所述小波系数扫描次序为竖直扫描次序或者z型扫描次序。
225.所述装置还包括写入模块,用于:将所述小波系数扫描次序对应的标识写入码流,以便解码端进行图像解码。
226.本技术实施例还提供一种基于小波变换的图像编码装置,包括:
227.小波变换模块,用于对图像块k进行n次小波变换,以得到3n 1个子带的小波系数,所述n为大于0的整数;
228.量化处理模块,用于对所述3n 1个子带的小波系数分别进行量化处理,以得到所述3n 1个子带的量化后的小波系数;
229.编码模块,用于根据所述3n 1个子带中任一子带中的量化后的小波系数的上下文信息对所述任一子带进行熵编码,以得到所述任一子带的压缩码流,其中,所述任一子带中的量化后的小波系数的上下文信息包括所述任一子带的参考子带中的小波系数,所述参考子带通过对比所述任一子带更高一级的子带中已编码的高频子带进行上采样或者小波逆变换得到。
230.所述任一子带为子带hhi、子带hli、子带lhi中的任一个,所述参考子带通过对子带mp
i 1
以及小波系数均设为0的除子带mp
i 1
外的各子带进行小波逆变换得到;所述子带mp
i 1
为子带hh
i 1
、子带hl
i 1
、子带lh
i 1
中的至少一个,i为正整数,用于指示子带的级,所述i不大于n-1,所述子带mp
i 1
以及所述除子带mp
i 1
外的各子带通过对子带lli进行一次小波变换得到。
231.所述编码模块,具体用于:根据小波系数扫描次序和所述3n 1个子带中任一子带中的量化后的小波系数的上下文信息对所述任一子带进行熵编码,所述小波系数扫描次序为对所述任一子带中的量化后的小波系数进行熵编码的次序。
232.所述装置还包括确定模块,用于:根据所述图像块k中的低频子带的纹理来确定所述任一子带的小波系数扫描次序;其中,当所述图像块k中的低频子带的纹理为水平纹理时,则所述小波系数扫描次序为水平扫描次序;当所述图像块k中的低频子带的纹理为竖直纹理时,则所述小波系数扫描次序为竖直扫描次序;当所述图像块k中的低频子带的纹理既不是水平纹理也不是竖直纹理时,则所述小波系数扫描次序为z型扫描次序。
233.所述任一子带为子带hh、子带hl、子带lh中的任一个。
234.所述小波系数扫描次序为多种扫描次序中对应率失真值最小的扫描次序;其中,
所述多种扫描次序对应的率失真值为根据按照多种扫描次序分别对所述任一子带进行编码得到的压缩码流所确定的。
235.所述小波系数扫描次序为竖直扫描次序或者z型扫描次序。
236.所述装置还包括写入模块,用于:将所述小波系数扫描次序对应的标识写入码流,以便解码端进行图像解码。
237.本技术实施例还提供一种基于小波变换的图像编码装置,包括:
238.小波变换模块,用于对图像块k进行n次小波变换,以得到3n 1个子带的小波系数,所述n为大于0的整数;
239.量化处理模块,用于对所述3n 1个子带的小波系数分别进行量化处理,以得到3n 1个子带的量化后的小波系数;
240.编码模块,用于按照小波系数扫描次序对所述3n 1个子带中任一子带中的量化后的小波系数进行熵编码,以得到所述任一子带的压缩码流,所述小波系数扫描次序为对所述任一子带中的量化后的小波系数进行熵编码的次序。
241.所述装置还包括确定模块,用于:根据所述图像块k中的低频子带的纹理来确定所述任一子带的小波系数扫描次序;其中,当所述图像块k中的低频子带的纹理为水平纹理时,则所述小波系数扫描次序为水平扫描次序;当所述图像块k中的低频子带的纹理为竖直纹理时,则所述小波系数扫描次序为竖直扫描次序;当所述图像块k中的低频子带的纹理既不是水平纹理也不是竖直纹理时,则所述小波系数扫描次序为z型扫描次序。
242.所述任一子带为子带hh、子带hl、子带lh中的任一个。
243.所述小波系数扫描次序为多种扫描次序中对应率失真值最小的扫描次序;其中,所述多种扫描次序对应的率失真值为根据按照多种扫描次序分别对所述任一子带进行编码得到的压缩码流所确定的。
244.所述小波系数扫描次序为竖直扫描次序或者z型扫描次序。
245.所述装置还包括写入模块,用于:将所述小波系数扫描次序对应的标识写入码流,以便解码端进行图像解码。
246.如图14所示,本技术实施例还提供一种基于小波变换的图像解码装置,包括:
247.解码模块1401,用于根据图像块k的3n 1个子带的上下文信息对包括所述3n 1个子带的压缩码流进行熵解码,以得到3n 1个子带的量化后的小波系数,所述3n 1个子带中任一子带的上下文信息包括已解码的同位子带中的小波系数;所述同位子带是与所述图像块k相邻的图像块中的子带,且所述同位子带在与所述图像块k相邻的图像块中的位置与所述任一子带在所述图像块k中的位置相同,所述n为大于0的整数;
248.反量化模块1402,用于对所述3n 1个子带的量化后的小波系数进行反量化,以得到3n 1个子带的小波系数;
249.小波逆变换模块1403,用于对所述3n 1个子带的小波系数进行n次小波逆变换,得到所述图像块k的重建图像。
250.所述任一子带中的量化后的上边界小波系数的上下文信息为已解码的同位子带的下边界的小波系数。
251.所述任一子带中的量化后的左边界小波系数的上下文信息为已解码的同位子带的右边界的小波系数。
252.所述任一子带中的量化后的左上边界小波系数的上下文信息为已解码的同位子带的右下边界的小波系数。
253.所述任一子带中的量化后的小波系数的上下文信息包括所述任一子带的参考子带中的小波系数,所述参考子带通过对比所述任一子带更高一级的子带中已解码的高频子带进行上采样或者小波逆变换得到。
254.所述任一子带中的量化后的小波系数还包括非边界小波系数。
255.所述任一子带为子带hhi、子带hli、子带lhi中的任一个,所述参考子带通过对子带mp
i 1
以及小波系数均设为0的除子带mp
i 1
外的各子带进行小波逆变换得到;所述子带mp
i 1
为子带hh
i 1
、子带hl
i 1
、子带lh
i 1
中的至少一个,i为正整数,用于指示子带的级,所述i不大于n-1,所述子带mp
i 1
以及所述除子带mp
i 1
外的各子带通过对子带lli进行一次小波变换得到。
256.所述解码模块,具体用于:根据小波系数扫描次序和所述3n 1个子带的上下文信息对包括所述3n 1个子带的压缩码流进行熵解码。
257.所述解码模块还用于:获取所述压缩码流中的标识,根据所述标识确定所述小波系数扫描次序。
258.本技术实施例还提供一种基于小波变换的图像解码装置,包括:
259.解码模块,用于对压缩码流进行熵解码,以得到3n 1个子带的量化后的小波系数;其中,所述压缩码流包括3n 1个子带的压缩码流,所述3n 1个子带中任一子带中的量化后的小波系数是根据所述3n 1个子带中所述任一子带中的量化后的小波系数的上下文信息对所述任一子带的码流进行熵解码得到的;其中,所述任一子带中的量化后的小波系数的上下文信息包括所述任一子带的参考子带中的小波系数,所述参考子带通过对比所述任一子带更高一级的子带中已解码的高频子带进行上采样或者小波逆变换得到,所述n为大于0的整数;
260.反量化模块,用于对所述3n 1个子带的量化后的小波系数进行反量化,以得到3n 1个子带的小波系数;
261.小波逆变换模块,用于对所述3n 1个子带的小波系数进行n次小波逆变换,得到重建图像块。
262.所述任一子带为子带hhi、子带hli、子带lhi中的任一个,所述参考子带通过对子带mp
i 1
以及小波系数均设为0的除子带mp
i 1
外的各子带进行小波逆变换得到;所述子带mp
i 1
为子带hh
i 1
、子带hl
i 1
、子带lh
i 1
中的至少一个,i为正整数,用于指示子带的级,所述i不大于n-1,所述子带mp
i 1
以及所述除子带mp
i 1
外的各子带通过对子带lli进行一次小波变换得到。
263.所述解码模块具体用于:根据小波系数扫描次序对所述压缩码流进行熵解码。
264.所述解码模块还用于:获取所述压缩码流中的标识,根据所述标识确定所述小波系数扫描次序。
265.本技术实施例还提供一种基于小波变换的图像解码装置,包括:
266.解码模块,用于根据小波系数扫描次序对压缩码流进行熵解码,以得到3n 1个子带的量化后的小波系数;其中,所述压缩码流包括3n 1个子带的码流;
267.反量化模块,用于对所述3n 1个子带的量化后的小波系数进行反量化,以得到3n
1个子带的小波系数;
268.小波逆变换模块,用于对所述3n 1个子带的小波系数进行n次小波逆变换,得到重建图像块。
269.所述解码模块还用于:获取所述压缩码流中的标识,根据所述标识确定所述小波系数扫描次序。
270.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得计算机或处理器执行上述任一个方法中的一个或多个步骤。
271.本技术实施例还提供了一种包含指令的计算机程序产品。当该计算机程序产品在计算机或处理器上运行时,使得计算机或处理器执行上述任一个方法中的一个或多个步骤。
272.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如,固态硬盘(solid state disk,ssd))等。
273.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。
274.以上所述,仅为本技术实施例的具体实施方式,但本技术实施例的保护范围并不局限于此,任何在本技术实施例揭露的技术范围内的变化或替换,都应涵盖在本技术实施例的保护范围之内。因此,本技术实施例的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献