一种图像编码方法、解码方法及相关装置

文档序号:30364441发布日期:2022-06-10 22:23阅读:209来源:国知局
一种图像编码方法、解码方法及相关装置

1.本技术涉及图像处理技术领域,尤其涉及一种图像编码方法、解码方法及相关装置。


背景技术:

2.图像压缩对于高效的数据存储与传输是十分重要的。近年来,随着深度学习的不断发展,越来越多的研究者们致力于探索基于学习的端到端图像压缩方法。基于学习的端到端图像压缩方法可以对编码系统进行整体的优化,解决了传统图像压缩方法中的独立优化问题。
3.目前,这种基于学习的方法主要是通过卷积神经网络(convolutional neural network。简称cnn)实现的,然而,由于卷积神经网络的计算复杂度较高,因此难以把训练好的图像压缩模型部署到计算资源有限的设备上,例如手机、手表、嵌入式设备等等。


技术实现要素:

4.本技术实施例提供了一种图像编码方法、解码方法及相关装置,用于减少图像压缩过程的计算复杂度,以便于将该图像编码方法、解码方法部署至计算资源有限的设备上。
5.本技术实施例第一方面提供了一种图像编码方法,包括:将待压缩的第一图像输入至第一加法模块,以通过加/减法运算计算所述第一图像与下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第一级细粒度特征;将所述第一级细粒度特征输入至第一非线性模块,以对所述第一级细粒度特征进行建模,并消除第一级细粒度特征的通道冗余;将待压缩的第一图像的像素值量化为定点数,并将量化为定点数后的第一图像输入至第一移位模块,以通过移位运算和加法运算计算所述第一图像与所述下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第一级粗粒度特征;将所述第一级粗粒度特征输入至第二非线性模块,以对所述第一级粗粒度特征进行建模,并消除第一级粗粒度特征的通道冗余,其中,第一非线性模块的结构和第二非线性模块的结构相同;将消除通道冗余后的第一级细粒度特征和消除通道冗余后的第一级粗粒度特征进行特征融合,以得到与所述第一图像对应的一级压缩后的第二图像;将所述第二图像执行无损编码,以得到编码后的码流。
6.优选的,所述第一加法模块包括第一加法层和第一解卷积层;其中,所述第一加法层用于通过l1范数计算所述第一图像和所述下采样卷积神经网络中各卷积层之间的相关性;所述第一解卷积层用于对第一加法层的输出图像执行卷积运算,以对所述第一加法层的输出图像执行归一化,及减少所述第一加法层的输出图像的冗余。
7.优选的,所述第一加法模块还包括残差单元,所述残差单元用于对所述第一图像执行下采样,以使得所述第一图像经过所述残差单元后的图像尺寸与所述第一图像经过所述第一加法层和所述第一解卷积层后的图像尺寸相同。
8.优选的,所述第一解卷积层为第一隐式解卷积层;所述将待压缩的第一图像输入至第一加法模块,以通过加/减法运算计算所述第一图像与下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第一级细粒度特征,包括:将所述第一图像输入至所述第一加法层,以通过l1范数计算所述第一图像和所述下采样卷积神经网络中各卷积层之间的相关性;将所述第一加法层的输出图像输入至所述第一隐式解卷积层,以加快对所述第一加法层的输出图像执行归一化,及减少所述第一加法层的输出图像的冗余;将所述第一图像输入至所述残差单元进行下采样,以使得所述第一图像经过所述残差单元后的图像尺寸与所述第一图像经过所述第一加法层和所述第一隐式解卷积层后的图像尺寸相同;将残差单元的输出图像和第一隐式解卷积层的输出图像的各维度元素特征执行累加操作,以提取出所述第一图像的第一级细粒度特征。
9.优选的,所述方法还包括:判断所述第二图像是否达到目标压缩比率;若否,则重复执行第一步骤,直至最终得到的压缩图像达到所述目标压缩比率;所述第一步骤包括:所述第一步骤包括:将第一图像的第n级细粒度特征输入至第n+1加法模块,以通过加/减法运算计算所述第一图像的第n级细粒度特征与所述下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第n+1级细粒度特征;将所述第n+1级细粒度特征输入至第am非线性模块,以对所述第n+1级细粒度特征进行建模,并消除第n+1级细粒度特征的通道冗余,其中,所述n为大于等于1的整数,am为首项为3,公差为2的等差数列;将第一图像的第n级粗粒度特征量化为定点数后,并将量化为定点数后的第n级粗粒度特征输入至第n+1移位模块,以通过移位运算和加法运算计算所述第一图像的第n级粗粒度特征与所述下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第n+1级粗粒度特征;将所述第n+1级粗粒度特征输入至第bm非线性模块,以对所述第n+1级粗粒度特征进行建模,并消除第n+1级粗粒度特征的通道冗余,其中,所述n为大于等于1的整数,bm为首项为4,公差为2的等差数列,其中,第am非线性模块的结构与第bm非线性模块的结构相同;将消除通道冗余后的第n+1级细粒度特征和消除通道冗余后的第n+1级粗粒度特征进行特征融合,以得到与所述第一图像对应的n+1级压缩后的第n+2图像,其中,所述n为大于等于1的整数。
10.优选的,在对第m图像执行无损编码之前,其中,m为大于等于2的整数,所述方法还包括:
将所述第m图像输入至量化单元,以将所述第m图像的图像特征由浮点数变换为整数。
11.本技术实施例第二方面提供了一种图像解码方法,包括:获取编码后的码流;对所述编码后的码流执行无损解码,以得到第三图像;将所述第三图像输入至第一加法模块,以通过加/减法运算计算所述第三图像与上采样卷积神经网络中各卷积层之间的相关性,以对所述第三图像进行解码,得到解码后的第四图像;将所述第四图像输入至第一非线性模块,以恢复所述第四图像的通道信息;将所述第三图像输入至第一移位模块,以通过移位运算和加法运算计算所述第三图像与所述上采样卷积神经网络中各卷积层之间的相关性,以对所述第三图像进行解码,得到解码后的第五图像;将所述第五图像输入至第二非线性模块,以恢复所述第五图像的通道信息,其中,第一非线性模块的结构和第二非线性模块的结构相同;将恢复通道信息后的第四图像和恢复通道信息后的第五图像进行特征融合,以得到一级解压后的第六图像。
12.优选的,所述第一加法模块包括第一加法层、第一解卷积层和上采样单元;其中,所述第一加法层用于通过l1范数计算所述第三图像和所述上采样卷积神经网络中各卷积层之间的相关性;所述第一解卷积层用于对第一加法层的输出图像执行卷积运算,以对所述第一加法层的输出图像执行归一化,及减少所述第一加法层的输出图像的冗余;所述上采样单元用于对所述第一解卷积层的输出图像执行上采样,以对所述第三图像进行解码。
13.优选的,所述第一解卷积层为第一隐式解卷积层,所述上采样单元为像素重组单元,所述第一加法模块还包括残差单元,所述残差单元用于对所述第三图像执行卷积运算,以使得所述第三图像的经过所述残差单元后的图像通道数与所述第三图像经过所述第一加法层和所述第一隐式解卷积层后的图像通道数相同。
14.优选的,所述残差单元包括1
×
1卷积层,所述将所述第三图像输入至第一加法模块,以通过加/减法运算计算所述第三图像与上采样卷积神经网络中各卷积层之间的相关性,以对所述第三图像进行解码,得到解码后的第四图像,包括:将所述第三图像输入至所述第一加法层,以通过l1范数计算所述第三图像和所述上采样卷积神经网络中各卷积层之间的相关性;改变第一隐式解卷积层的图像输出通道数,将第一加法层的输出图像输入至改变图像输出通道数后的第一隐式解卷积层,以加快对所述第一加法层的输出图像执行归一化,减少所述第一加法层的输出图像的冗余;将所述第三图像输入至所述1
×
1卷积层执行卷积运算,以使得所述第三图像经过所述1
×
1卷积层后的图像通道数与所述第三图像经过所述第一加法层和所述第一隐式解卷积层后的图像通道数相同;将1
×
1卷积层的输出图像和第一隐式解卷积层的输出图像的各维度元素特征执
行累加操作;将累加操作后的输出图像输入至所述像素重组单元,以对累加操作后的输出图像执行上采样,以得到解码后的第四图像。
15.优选的,所述方法还包括:判断所述第六图像是否为目标解压图像,其中,所述目标解压图像为压缩前的原始图像;若否,则重复执行第二步骤,直至最终得到的解码图像为所述目标解压图像;其中,所述第二步骤包括:将n级解码后的第n+3图像输入至第n+1加法模块,以通过加/减法运算计算所述第n+3图像与所述上采样卷积神经网络中各卷积层之间的相关性,以对所述第n+3图像进行解码,得到n+1级解码后的第n+6图像;将所述第n+6图像输入至第cm非线性模块,以恢复第n+6图像的通道信息,其中,所述n为大于等于1的整数,所述cm为首项为3,公差是2的等差数列;将n级解码后的第n+4图像量化为定点数,将量化为定点数后的第n+4图像输入至第n+1移位模块,以通过移位运算和加法运算计算所述第n+4图像与所述上采样卷积神经网络中各卷积层之间的相关性,以对所述第n+4图像进行解码,得到n+1级解码后的第n+7图像;将所述第n+7图像输入至第dm非线性模块,以恢复第n+7图像的通道信息,其中,所述n为大于等于1的整数,所述dm为首项为4,公差是2的等差数列,其中,第cm非线性模块的结构和第dm非线性模块的结构相同;将恢复通道信息后的第n+6图像和恢复通道信息后的第n+7图像进行特征融合,以得到第n+1级解压后的第n+8图像,其中,所述n为大于等于1的整数。
16.本技术实施例第三方面提供了一种图像编码装置,包括:第一输入单元,用于将待压缩的第一图像输入至第一加法模块,以通过加/减法运算计算所述第一图像与下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第一级细粒度特征;所述第一输入单元,还用于将所述第一级细粒度特征输入至第一非线性模块,以对所述第一级细粒度特征进行建模,并消除第一级细粒度特征的通道冗余;第二输入单元,用于将待压缩的第一图像的像素值量化为定点数,并将量化为定点数后的第一图像输入至第一移位模块,以通过移位运算和加法运算计算所述第一图像与所述下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第一级粗粒度特征;所述第二输入单元,还用于将所述第一级粗粒度特征输入至第二非线性模块,以对所述第一级粗粒度特征进行建模,并消除第一级粗粒度特征的通道冗余,其中,第一非线性模块的结构和第二非线性模块的结构相同;特征融合单元,用于将消除通道冗余后的第一级细粒度特征和消除通道冗余后的第一级粗粒度特征进行特征融合,以得到与所述第一图像对应的一级压缩后的第二图像;无损编码单元,用于将所述第二图像执行无损编码,以得到编码后的码流。
17.优选的,所述第一加法模块包括第一加法层和第一解卷积层;
其中,所述第一加法层用于通过l1范数计算所述第一图像和所述下采样卷积神经网络中各卷积层之间的相关性;所述第一解卷积层用于对第一加法层的输出图像执行卷积运算,以对所述第一加法层的输出图像执行归一化,及减少所述第一加法层的输出图像的冗余。
18.优选的,所述第一加法模块还包括残差单元,所述残差单元用于对所述第一图像执行下采样,以使得所述第一图像经过所述残差单元后的图像尺寸与所述第一图像经过所述第一加法层和所述第一解卷积层后的图像尺寸相同。
19.所述第一解卷积层为第一隐式解卷积层;优选的,所述第一输入单元,具体用于:将所述第一图像输入至所述第一加法层,以通过l1范数计算所述第一图像和所述下采样卷积神经网络中各卷积层之间的相关性;将第一加法层的输出图像输入至所述第一隐式解卷积层,以加快对所述第一加法层的输出图像执行归一化,及减少所述第一加法层的输出图像的冗余;将所述第一图像输入至所述残差单元进行下采样,以使得所述第一图像的经过所述残差单元后的图像尺寸与所述第一图像经过所述第一加法层和所述第一隐式解卷积层后的图像尺寸相同;将残差单元的输出图像和所述第一隐式解卷积层的输出图像的各维度元素特征执行累加操作,以提取出所述第一图像的第一级细粒度特征。
20.优选的,所述图像编码装置还包括:判断单元,用于判断所述第二图像是否达到目标压缩比率;执行单元,用于在第二图像未达到目标压缩比率时,重复执行第一步骤,直至最终得到的压缩图像达到所述目标压缩比率;所述第一步骤包括:将第一图像的第n级细粒度特征输入至第n+1加法模块,以通过加/减法运算计算所述第一图像的第n级细粒度特征与所述下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第n+1级细粒度特征;将所述第n+1级细粒度特征输入至第am非线性模块,以对所述第n+1级细粒度特征进行建模,并消除第n+1级细粒度特征的通道冗余,其中,所述n为大于等于1的整数,am为首项为3,公差为2的等差数列;将第一图像的第n级粗粒度特征量化为定点数后,并将量化为定点数后的第n级粗粒度特征输入至第n+1移位模块,以通过移位运算和加法运算计算所述第一图像的第n级粗粒度特征与所述下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第n+1级粗粒度特征;将所述第n+1级粗粒度特征输入至第bm非线性模块,以对所述第n+1级粗粒度特征进行建模,并消除第n+1级粗粒度特征的通道冗余,其中,所述n为大于等于1的整数,bm为首项为4,公差为2的等差数列,其中,第am非线性模块的结构与第bm非线性模块的结构相同;将消除通道冗余后的第n+1级细粒度特征和消除通道冗余后的第n+1级粗粒度特征进行特征融合,以得到与所述第一图像对应的n+1级压缩后的第n+2图像,其中,所述n为大于等于1的整数。
21.优选的,所述图像编码装置还包括:
量化单元,用于在对第m图像执行无损编码之前,将所述第m图像输入至量化单元,以将所述第m图像的图像特征由浮点数变换为整数,其中,m为大于等于2的整数。
22.本技术实施例第四方面提供了一种图像解码装置,包括:获取单元,用于获取编码后的码流;无损解码单元,用于对所述编码后的码流执行无损解码,以得到第三图像;第一解码单元,用于将所述第三图像输入至第一加法模块,以通过加/减法运算计算所述第三图像与上采样卷积神经网络中各卷积层之间的相关性,以对所述第三图像进行解码,得到解码后的第四图像;所述第一解码单元,还用于将所述第四图像输入至第一非线性模块,以恢复所述第四图像的通道信息;第二解码单元,用于将所述第三图像输入至第一移位模块,以通过移位运算和加法运算计算所述第三图像与所述上采样卷积神经网络中各卷积层之间的相关性,以对所述第三图像进行解码,得到解码后的第五图像;所述第二解码单元,还用于将所述第五图像输入至第二非线性模块,以恢复所述第五图像的通道信息,其中,第一非线性模块的结构和第二非线性模块的结果相同;特征融合单元,用于将恢复通道信息后的第四图像和恢复通道信息后的第五图像进行特征融合,以得到一级解压后的第六图像。
23.优选的,所述第一加法模块包括第一加法层、第一解卷积层和上采样单元;其中,所述第一加法层用于通过l1范数计算所述第三图像和所述上采样卷积神经网络中各卷积层之间的相关性;所述第一解卷积层用于对第一加法层的输出图像执行卷积运算,以对所述第一加法层的输出图像执行归一化,及减少所述第一加法层的输出图像的冗余;所述上采样单元用于对所述第一解卷积层的输出图像执行上采样,以对所述第三图像进行解码。
24.优选的,所述第一解卷积层为第一隐式解卷积层,所述上采样单元为像素重组单元,所述第一加法模块还包括残差单元,所述残差单元用于对所述第三图像执行卷积运算,以使得所述第三图像的经过所述残差单元后的图像通道数与所述第三图像经过所述第一加法层和所述第一隐式解卷积层后的图像通道数相同。
25.优选的,所述残差单元包括1
×
1卷积层,所述第一解码单元具体用于:将所述第三图像输入至所述第一加法层,以通过l1范数计算所述第三图像和所述上采样卷积神经网络中各卷积层之间的相关性;改变第一隐式解卷积层的图像输出通道数,将所述第一加法层的输出图像输入至改变图像输出通道数后的第一隐式解卷积层,以加快对所述第一加法层的输出图像执行归一化,减少所述第一加法层的输出图像的冗余;将所述第三图像输入至所述1
×
1卷积层执行卷积运算,以使得所述第三图像的经过所述1
×
1卷积层后的图像通道数与所述第三图像经过所述第一加法层和所述第一隐式解卷积层后的图像通道数相同;将1
×
1卷积层的输出图像和第一隐式解卷积层的输出图像的各维度元素执行累加操作;
将累加操作后的输出图像输入至所述像素重组单元,以对累加操作后的输出图像执行上采样,以得到解码后的第四图像。
26.优选的,图像解码装置还包括:判断单元,用于判断所述第六图像是否为目标解压图像,其中,所述目标解压图像为压缩前的原始图像;执行单元,用于在第六图像不是目标解压图像时,重复执行第二步骤,直至最终得到的解码图像为所述目标解压图像;其中,所述第二步骤包括:将n级解码后的第n+3图像输入至第n+1加法模块,以通过加/减法运算计算所述第n+3图像与所述上采样卷积神经网络中各卷积层之间的相关性,以对所述第n+3图像进行解码,得到n+1级解码后的第n+6图像;将所述第n+6图像输入至第cm非线性模块,以恢复第n+6图像的通道信息,其中,所述n为大于等于1的整数,所述cm为首项为3,公差是2的等差数列;将n级解码后的第n+4图像量化为定点数,将量化为定点数后的第n+4图像输入至第n+1移位模块,以通过移位运算和加法运算计算所述第n+4图像与所述上采样卷积神经网络中各卷积层之间的相关性,以对所述第n+4图像进行解码,得到n+1级解码后的第n+7图像;将所述第n+7图像输入至第dm非线性模块,以恢复第n+7图像的通道信息,其中,所述n为大于等于1的整数,所述dm为首项为4,公差是2的等差数列,其中,第cm非线性模块的结构和第dm非线性模块的结构相同;将恢复通道信息后的第n+6图像和恢复通道信息后的第n+7图像进行特征融合,以得到第n+1级解压后的第n+8图像,其中,所述n为大于等于1的整数。
27.本技术实施例第五方面提供了一种计算机装置,包括处理器,该处理器在执行存储于存储器上的计算机程序时,用于实现本技术实施例第一方面所述的图像编码方法,或本技术实施例第二方面所述的图像解码方法。
28.本技术实施例第六方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,用于实现本技术实施例第一方面所述的图像编码方法,或本技术实施例第二方面所述的图像解码方法。
29.从以上技术方案可以看出,本技术实施例具有以下优点:本技术实施例中,通过第一加法模块和第一非线性模块,以及与第一加法模块和第一非线性模块并行设置的第一移位模块和第二非线性模块分别对第一图像进行编码,其中,第一加法模块用于对输入的第一图像和下采样神经网络的卷积层执行加/减法操作,第一移位模块用于对输入的第一图像和下采样神经网络的卷积层执行移位和加法运算,相对于现有技术中将输入的第一图像和下采样神经网络卷积层执行乘法运算而言,明显减少了运算量,减少了计算的复杂度,提升了编码过程的便捷性。
附图说明
30.图1为本技术实施例中图像编码方法的一个实施例示意图;图2为传统卷积层和本技术实施例中并行移位-加法模块的能量消耗对比图;
图3为传统卷积层和本技术实施例中并行移位-加法模块的率失真性能对比图;图4为本技术图1实施例中步骤101的细化步骤;图5为本技术实施例中图像编码方法的另一个实施例示意图;图6为本技术实施例中图像解码方法的一个实施例示意图;图7为本技术图6实施例中步骤603的细化步骤;图8为本技术图6实施例中步骤603的另一细化步骤;图9为本技术实施例中解码端中第一加法模块的结构示意图;图10为本技术实施例中图像解码方法的另一个实施例示意图;图11为本技术实施例中编码端中第一加法模块的结构示意图;图12为本技术实施例中对第一图像执行编码和解码的过程示意图;图13为本技术实施例中图像编码装置的一个实施例示意图;图14为本技术实施例中图像解码装置的一个实施例示意图。
具体实施方式
31.本技术实施例提供了一种图像编码方法、解码方法及相关装置,用于减少图像压缩过程的计算复杂度,以便于将该图像编码方法、解码方法部署至计算资源有限的设备上。
32.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
33.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
34.基于现有技术中,利用卷积神经网络学习端到端的图像压缩方法时,传统的卷积层是利用互相关操作计算输入和卷积核之间的相关性,而互相关操作涉及乘法操作,从而导致图像压缩过程需要消耗大量的计算能量且计算复杂度较高的问题,本技术实施例提出了一种图像编码方法、解码方法,用于减少输入图像和卷积核之间计算的复杂性。
35.为便于理解,下面对本技术实施例中的图像编码方法进行描述,请参阅图1,本技术实施例中的一种图像编码方法,包括:101、将待压缩的第一图像输入至第一加法模块,以通过加/减法运算计算所述第一图像与下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第一级细粒度特征,将所述第一级细粒度特征输入至第一非线性模块,以对所述第一级细粒度特征进行建模,并消除第一级细粒度特征的通道冗余;区别于现有技术中利用输入图像和卷积层的卷积核执行乘法运算,而导致运算复
杂度较高的问题,本技术实施例将待压缩的第一图像输入第一加法模块,以通过加/减法运算计算所述第一图像与下采样卷积神经网络中各卷积层之间的相关性,从而提取所述第一图像的第一级细粒度特征。
36.具体的,如何通过加/减法运算计算所述第一图像与下采样卷积神经网络中各卷积层之间的相关性的过程,将在下面的实施例中详细描述,此处不再赘述。
37.当提取出第一图像的第一级细粒度特征以后,然后将第一级细粒度特征输入至第一非线性模块,以对第一级细粒度特征进行建模,并消除第一级细粒度特征的通道冗余。
38.具体的,本技术实施例中的第一非线性模块具体可以是广义除法归一化层(generalized divisive normalization,简称gdn)、广义减法和除法归一化层(generalized subtractive and divisive normalization,简称gsdn)、注意力网络(attention)、可逆神经网络(invertible neural network,简称inn)等,此处不做具体限制。
39.其中,以第一非线性模块为广义除法归一化层为例,对第一级细粒度特征的建模过程和消除第一级细粒度特征的通道冗余的过程进行描述:具体的,广义除法归一化层的表达式如下所述:,其中,和分别代表输入和输出向量,i和j代表通道索引数值,和是两个可学习的参数。
40.由上述公式可以看出,广义除法归一化层是对通道间进行归一化操作,而归一化操作明显可以去除通道间的冗余。
41.而在实验操作中,可以看出广义除法归一化层有利于高斯化图像数据,以实现更小的互信息,也即可以实现对第一级细粒度特征的建模,容易理解的是,第一级细粒度特征指的是第一图像的第一级细粒度特征图。
42.因为本技术实施例中的第一加法模块是通过加/减法运算计算所述第一图像与下采样卷积神经网络中各卷积层之间的相关性,而相比于传统卷积层的乘法而言,第一加法模块的计算复杂度更低,能量消耗也更低。
43.102、将待压缩的第一图像的像素值量化为定点数,并将量化为定点数后的第一图像输入至第一移位模块,以通过移位运算和加法运算计算所述第一图像与所述下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第一级粗粒度特征,将所述第一级粗粒度特征输入至第二非线性模块,以对所述第一级粗粒度特征进行建模,并消除第一级粗粒度特征的通道冗余,其中,第一非线性模块的结构和第二非线性模块的结构相同;本技术实施例除了设置第一加法模块和第一非线性模块外,还设置了与第一加法模块和第一非线性模块,并行的第一移位模块和第二非线性模块,以使得第一移位模块通过移位运算和加法运算计算第一图像与所述下采样卷积神经网络中各卷积层之间的相关性,从而提取所述第一图像的第一级粗粒度特征。
44.具体的,第一移位模块是将传统卷积层的权重量化为2的指数次幂,在硬件电路中,一个数乘以2的指数次幂等价于比特移位运算(左移或者右移)。由于只有定点数才可以进行移位运算,而网络权重一般是32位浮点数,因此在进行量化的时候需要将32浮点数量
化为32位定点数。
45.如传统卷积层的权重为2
3.2
次方,则将其量化为23次方,若传统卷积层的权重为2
2.7
次方,则将其量化为23次方,因为在量化的过程中会对卷积层的权重做约数计算,故在量化的过程中,会使得量化后的图像信息与原始的图像信息不同,也即会丢失部分图像信息,故将第一图像依次输入至第一移位模块相当于提取第一图像的第一级粗粒度特征。
46.此外,因为只有定点数才可以执行移位运算,故在将第一图像输入至第一移位模块之前,还需要对第一图像的像素值进行量化,也即将第一图像的像素值量化为定点数,而在将第一图像的像素值量化为定点数的过程中,也会丢失部分图像信息,也即因为第一图像在量化的过程中会丢失部分图像信息,而卷积层的权重在量化的过程中也会丢失部分图像信息,故第一图像输入至第一移位模块后,只能提取出第一图像的第一级粗粒度特征。进一步,得到第一图像的第一级粗粒度特征后,进一步将第一级粗粒度特征输入至第二非线性模块,以对所述第一级粗粒度特征进行建模,并消除第一级粗粒度特征的通道冗余。
47.具体的,第二非线性模块与第一非线性模块的结构相同,也即第二非线性模块也可以为广义除法归一化层(generalized divisive normalization,简称gdn)、广义减法和除法归一化层(generalized subtractive and divisive normalization,简称gsdn)、注意力网络(attention)、可逆神经网络(invertible neural network,简称inn)等,此处不做具体限制。
48.其中,第二非线性模块对第一级粗粒度特征建模,以及消除第一级粗粒度特征通道冗余的过程,与第一非线性模块对第一级细粒度特征建模,以及消除第一级细粒度特征通道冗余的过程相同,此处不再赘述。
49.区别于现有技术中将输入的第一图像和卷积层做卷积运算时,执行乘法和加法运算的过程,本技术实施例是将量化为定点数后的第一图像和第一移位模块执行定点数的比特移位操作和定点数的加法操作,相比于与原始卷积层的乘法计算复杂度而言,明显降低了运算的复杂度和能量的消耗。
50.103、将消除通道冗余后的第一级细粒度特征和消除通道冗余后的第一级粗粒度特征进行特征融合,以得到与所述第一图像对应的一级压缩后的第二图像;步骤101和步骤102中分别提取出消除通道冗余后的第一级细粒度特征和消除通道冗余后的第一级粗粒度特征后,为了避免图像特征的丢失,本技术实施例将消除通道冗余后的第一级细粒度特征和消除通道冗余后的第一级粗粒度特征进行融合,使得融合后的第二图像维度与输入的第一图像的维度相同,且融合后的第二图像特征更加细致全面。
51.104、将所述第二图像执行无损编码,以得到编码后的码流。
52.得到第二图像后,为了第二图像的传输,进一步将第二图像执行无损编码,以得到编码后的码流。
53.具体的,本技术实施例中的无损编码包括熵编码方法,具体的熵编码方法可以是哈夫曼编码、算数编码,此处对无损编码的方法不做具体限制。
54.为便于理解,下面表1中给出了各种运算在专用集成电路上的能量消耗对比,说明书附图2给出了传统卷积层和本技术中并行移位-加法模块的能量消耗对比图,说明书附图3给出了传统卷积层和本技术中并行移位-加法模块的率失真性能对比图。
55.表1
本技术实施例中,通过第一加法模块、第一非线性模块,以及与第一加法模块和第一非线性模块并行设置的第一移位模块和第二非线性模块分别对第一图像进行编码,其中,第一加法模块用于对输入的第一图像和下采样神经网络的卷积层执行加/减法操作,第一移位模块用于对量化为定点数后的第一图像和下采样神经网络的卷积层执行移位和加法运算,相对于现有技术中将输入的第一图像和下采样神经网络卷积层执行乘法运算而言,明显减少了运算量,减少了计算的复杂度,提升了编码过程的便捷性。
56.基于图1所述的实施例,下面对步骤101做详细描述,请参阅图4,图4为步骤101的细化步骤:具体的,第一加法模块包括第一加法层、第一解卷积层和残差单元,其中:401、第一加法层用于通过l1范数计算所述第一图像和所述下采样卷积神经网络中各卷积层之间的相关性;具体的,l1范数用于计算各个元素绝对值之和,本技术中利用l1范数计算第一图像和下采样卷积神经网络中各卷积层相关性的过程如下:。
57.其中,公式中的d代表各卷积层中卷积核的长度或者宽度,c
in
代表各卷积层中卷积核的输入通道数,f表示各卷积层中的卷积核,x代表输入特征,y代表输出特征,也即x与f之间的相似程度,m和n分别代表第一图像的长度和宽度,k代表第一加法层的输入通道维度,t代表第一加法层的输出图像通道维度。
58.402、所述第一解卷积层用于对第一加法层的输出图像执行卷积运算,以对所述第一加法层的输出图像执行归一化,及减少所述第一加法层的输出图像的冗余。
59.优选的,第一解卷积层为第一隐式解卷积层,用于对第一加法层的输出图像执行卷积运算,以对第一加法层的输出图像执行归一化,及减少所述第一加法层的输出图像的冗余。
60.具体的,因为隐式解卷积计算的核心操作是计算输入x的协方差矩阵cov,计算公式具体如下:其中n代表样本数量,代表x的均值,由此可以得到网络的解卷积操作d的表达式:进一步,可以用newton-schulz迭代方法来计算一个数的-1/2指数次幂,通过这个
方法可以大大减少计算复杂度。一旦得到了d,我们就可以将输入先乘以d后,再进行后续的卷积运算:
ꢀꢀꢀꢀꢀꢀ
(1)从上述公式(1)进行乘法的分配律可以看到,先乘以d再乘以卷积层的权重w等价于d先左乘以卷积层的权重w,得到后的结构再右乘以。由此,在我们具体的实施过程中,我们不必显示地对输入数据进行解卷积,相反,我们可以通过改变卷积权重来隐式地执行解卷积操作,这就是为什么叫做隐式解卷积。
61.从上述的计算过程来看,我们的第一隐式解卷积层可以去除图像间的冗余,这适于图像压缩的任务。并且从实验结果来看,隐式解卷积还可以像批量归一化层(batch normalization,简称bn)一样具有数据归一化的作用。
62.403、将所述第一图像输入至所述残差单元进行下采样,以使得所述第一图像的经过所述残差单元后的图像尺寸与所述第一图像经过所述第一加法层和所述第一隐式解卷积层后的图像尺寸相同;为了进一步提升对第一图像特征的学习,第一加法模块还可以进一步包括残差单元,其中,残差单元用于对所述第一图像执行下采样,以使得所述第一图像经过所述残差单元后的图像尺寸与所述第一图像经过所述第一加法层和所述第一解卷积层后的图像尺寸相同,以使得残差单元的输出图像与第一隐式解卷积层的输出图像的各维度元素执行累加操作,以获取第一图像更多的图像特征。
63.其中,残差单元和第一隐式解卷积层的输出图像包括4个维度,分别是图像batch(批量)维度、图像长度维度、图像宽度维度和图像的通道数维度。
64.具体的,本技术实施例中的残差单元可以为池化单元,以对第一图像进行恒等映射,如1/2恒等映射,以学习第一图像的更多图像特征。
65.404、将残差单元的输出图像和第一隐式解卷积层的输出图像的各维度元素特征执行累加操作,以提取出所述第一图像的第一级细粒度特征。
66.残差单元完成对第一图像的下采样后,使得第一图像经过残差单元后的图像尺寸与第一图像经过第一加法层和第一隐式解卷积层后的图像尺寸相同,以方便将残差单元的输出图像与第一隐式解卷积层的输出图像的各维度元素执行累加操作,以提取出第一图像的第一级细粒度特征。
67.具体的,残差单元和第一隐式解卷积层的输出图像包括4个维度,分别是图像batch(批量)、图像长度、图像宽度和图像的通道数四个维度,也即将残差单元的输出图像和第一隐式解卷积的输出图像在batch维度上的像素值进行累加,将残差单元的输出图像和第一隐式解卷积的输出图像在图像长度维度上的像素值进行累加,将残差单元的输出图像和第一隐式解卷积的输出图像在图像宽度维度上的像素值进行累加,将残差单元的输出图像和第一隐式解卷积的输出图像在图像通道维度上的像素值进行累加,从而提取出第一图像的第一级细粒度特征。
68.本技术实施例中对第一图像经过第一加法模块,以通过加/减法运算计算所述第一图像与下采样卷积神经网络中各卷积层之间的相关性的过程做了详细描述,提升了提取第一图像的第一级细粒度特征过程可靠性。为方便理解,图11给出了编码端第一加法模块
的结构示意图。
69.进一步,基于图1所述的实施例,在得到一级压缩后的第二图像后,本技术实施例还可以执行以下步骤,请参阅图5,图5为本技术实施例中图像编码方法的另一个实施例:501、判断所述第二图像是否达到目标压缩比率,若否,则重复执行步骤502至504,直至最终得到的压缩图像达到所述目标压缩比率;若是,则结束流程。
70.502、将第一图像的第n级细粒度特征输入至第n+1加法模块,以通过加/减法运算计算所述第一图像的第n级细粒度特征与所述下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第n+1级细粒度特征,将所述第n+1级细粒度特征输入至第am非线性模块,以对所述第n+1级细粒度特征进行建模,并消除第n+1级细粒度特征的通道冗余,其中,所述n为大于等于1的整数,am为首项为3,公差为2的等差数列;若第二图像未达到目标压缩率,则将第一图像的第n级细粒度特征输入至第n+1加法模块,以通过加/减法运算计算所述第一图像的第n级细粒度特征与所述下采样卷积神经网络中各层卷积核之间的相关性,从而提取出第一图像的第n+1级细粒度特征,然后将第n+1级细粒度特征输入至第am非线性模块,以对所述第n+1级细粒度特征进行建模,并消除第n+1级细粒度特征的通道冗余,其中,所述n为大于等于1的整数,am为首项为3,公差为2的等差数列。
71.需要说明的是,第am非线性模块与第一非线性模块的结构和参数类似。为便于理解,下面举例说明:假设第二图像未达到目标压缩率,则将第一图像的第一细粒度特征输入至第二加法模块,以通过加/减法运算计算所述第一图像的第一级细粒度特征与所述下采样卷积神经网络中各层卷积核之间的相关性,以提取所述第一图像的第二级细粒度特征,然后将第二级细粒度特征输入至第三非线性模块,以对第二级细粒度特征进行建模,并消除第二级细粒度特征的通道冗余。
72.具体的,提取第一图像的第二级细粒度特征的过程和图1实施例中步骤101和图4实施例所述的提取第一图像的第一级细粒度特征的过程类似,此处不再赘述。
73.503、将第一图像的第n级粗粒度特征量化为定点数后,并将量化为定点数后的第n级粗粒度特征输入至第n+1移位模块,以通过移位运算和加法运算计算所述第一图像的第n级粗粒度特征与所述下采样卷积神经网络中各卷积层之间的相关性,以提取第一图像的第n+1级粗粒度特征,将所述第n+1级粗粒度特征输入至第bm非线性模块,以对所述第n+1级粗粒度特征进行建模,并消除第n+1级粗粒度特征的通道冗余,其中,所述n为大于等于1的整数,bm为首项为4,公差为2的等差数列,其中,第am非线性模块的结构与第bm非线性模块的结构相同;若第二图像未达到目标压缩率,则进一步将第一图像的第n级粗粒度特征输入至第n+1移位模块,以通过移位运算和加法运算计算所述第一图像的第n级粗粒度特征与所述下采样卷积神经网络中各层卷积核之间的相关性, 以提取所述第一图像的第n+1级粗粒度特征,然后将所述第n+1级粗粒度特征输入至第bm非线性模块,以对所述第n+1级粗粒度特征进行建模,并消除第n+1级粗粒度特征的通道冗余,其中,所述n为大于等于1的整数,bm为首项为4,公差为2的等差数列,其中,第am非线性模块的结构与第bm非线性模块的结构相同。
74.为便于理解,下面举例说明:
假设第二图像未达到目标压缩率,则进一步将第一图像的第一级粗粒度特征量化为定点数后,然后输入至第二移位模块,以通过移位运算和加法运算计算所述第一图像的第一级粗粒度特征与所述下采样卷积神经网络中各层卷积核之间的相关性,以提取所述第一图像的第二级粗粒度特征,进一步将第二级粗粒度特征输入至第四非线性模块,以对第二级粗粒度特征进行建模,同时消除第二级粗粒度特征的通道冗余。具体的,提取第一图像的第二级粗粒度特征的过程与图1实施例中提取第一图像的第一级粗粒度特征的过程类似,而将第二级粗粒度特征输入至第四非线性模块,以对第二级粗粒度特征进行建模,同时消除第二级粗粒度特征的通道冗余,与图1实施例中将第一级粗粒度特征输入至第二非线性模块,以对第一级粗粒度特征进行建模,及消除第一级粗粒度特征的通道冗余的过程也类似,此处也不再赘述。
75.504、将消除通道冗余后的第n+1级细粒度特征和消除通道冗余后的第n+1级粗粒度特征进行特征融合,以得到与所述第一图像对应的n+1级压缩后的第n+2图像,其中,所述n为大于等于1的整数。
76.得到消除通道冗余后的第n+1级细粒度特征和消除通道冗余后的第n+1级粗粒度特征后,进一步将消除通道冗余后的第n+1级细粒度特征和消除通道冗余后的第n+1级粗粒度特征进行特征融合,以得到与所述第一图像对应的n+1级压缩后的第n+2图像。
77.为便于理解,下面举例说明:如在步骤502和503中分别得到消除通道冗余后的第二级细粒度特征和消除通道冗余后的第二级粗粒度特征后,则进一步将消除通道冗余后的第二级细粒度特征和消除通道冗余后的第二级粗粒度特征进行融合,以得到与第一图像对应的二级压缩后的第三图像。
78.若第三图像达到目标压缩率,则结束流程,若第三图像未达到目标压缩率,则重复执行步骤502至504,直至最终得到的第n+2图像达到目标压缩率为止。
79.本技术实施例中对第一图像执行多级压缩的过程做了详细描述,提升了对第一图像执行多级压缩过程的可靠性。
80.基于图1至图5所述的实施例,在得到一级或多级压缩后的第m图像后,其中m为大于等于2的整数,对第m图像执行无损压缩之前,为了提升无损编码过程的便捷性,还可以进一步将第m图像输入至量化单元,以将第m图像的图像特征由浮点数据变化为整数,因为在无损编码的过程中,浮点数会进一步增加运算的复杂性,故将第m图像由浮点数量化为整数,可以提升编码过程的便捷性。
81.上面对本技术实施例中的图像编码方法做了描述,下面接着对本技术中的图像解码方法进行描述,请参阅图6,本技术实施例中图像解码方法的一个实施例,包括:601、获取编码后的码流;编码端完成对图像的编码后,解码端在对图像解码前,需要先获取编码后的码流,然后对编码后的码流执行步骤602。
82.602、对所述编码后的码流执行无损解码,以得到第三图像;对应于编码端的无损编码,编码端在接收到编码后的码流后,对编码后的码流执行无损解码,以得到第三图像。
83.603、将所述第三图像输入至第一加法模块,以通过加/减法运算计算所述第三图
像与上采样卷积神经网络中各卷积层之间的相关性,以对所述第三图像进行解码,得到解码后的第四图像,将所述第四图像输入至第一非线性模块,以恢复所述第四图像的通道信息;因为编码端是将待压缩的第一图像输入至第一加法模块和第一非线性模块执行下采样,故解码端对应的是将第三图像输入至第一加法模块和第一非线性模块执行上采样,也即通过加/减法运算计算所述第三图像与上采样卷积神经网络中各卷积层之间的相关性,以对所述第三图像进行解码,得到解码后的第四图像。
84.因为在编码的过程中,采用的是下采样神经网络,故解码端的第一加法模块在解码的过程中,采用的是上采样神经网络,以通过加/减法运算计算所述第三图像与上采样卷积神经网络中各卷积层之间的相关性,以对第三图像进行解码,得到解码后的第四图像。
85.对应的,编码端的第一非线性模块是用于消除第一级细粒度特征的通道冗余,而解码端的第一非线性模块则是用于恢复第四图像的通道信息,也即解码端的第一非线性模块对第四图像所执行的过程,与编码端的第一非线性模块对第一级细粒度特征所执行的过程互为逆过程。
86.其中,解码端的第一非线性模块可以为逆的广义除法归一化层(inverted generalized divisive normalization,简称igdn)、广义减法和除法归一化层(generalized subtractive and divisive normalization,简称gsdn)、注意力网络(attention)、可逆神经网络(invertible neural network,简称inn)等,此处不做具体限制。
87.下面以解码端的第一非线性模块为逆的广义除法归一化层,对恢复第四图像通道信息的过程进行描述:具体的,逆的广义除法归一化层的表达式如下所述:其中,和分别代表输入和输出向量,i和j代表通道索引数值,和是两个可学习的参数。
88.从上述公式中可以看出,igdn为编码端的gdn的逆运算,故在描述了编码端的gdn可以消除第一级细粒度特征的通道冗余的前提下,很容易理解igdn可以用于恢复图像的通道信息。
89.对于具体的,如何将第三图像输入至第一加法模块,以对第三图像进行解码的过程将在下面的实施例中进行描述,此处不再赘述。
90.604、将所述第三图像输入至第一移位模块,以通过移位运算和加法运算计算所述第三图像与所述上采样卷积神经网络中各卷积层之间的相关性,以对所述第三图像进行解码,得到解码后的第五图像,将所述第五图像输入至第二非线性模块,以恢复所述第五图像的通道信息,其中,第一非线性模块的结构和第二非线性模块的结构相同;除了第一加法模块和第一非线性模块,本技术实施例还设置了与第一加法模块和第一非线性模块,并行的第一移位模块和第二非线性模块,以通过移位运算和加法运算计算第三图像与上采样卷积神经网络中各卷积层之间的相关性,以对第三图像进行解码。
91.对应于编码端的第一移位模块,是对第一图像执行下采样,而解码端的第一移位
模块,则是对第三图像执行上采样,也即通过移位运算和加法运算计算第三图像与上采样卷积神经网络中各卷积层之间的相关性。
92.具体的,解码端的第一移位模块是也将传统卷积层的权重量化为2的指数次幂,在硬件电路中,一个数乘以2的指数次幂等价于比特移位运算(左移或者右移)。由于只有定点数才可以进行移位运算,而网络权重一般是32位浮点数,因此在进行量化的时候需要将32浮点数量化为32位定点数。
93.如传统卷积层的权重为2
3.2
次方,则将其量化为23次方,若传统卷积层的权重为2
2.7
次方,则将其量化为23次方,因为在量化的过程中会对权重做约数计算,故在量化的过程中,会丢失部分图像信息,故在将第三图像输入至第一移位模块和第一非线性模块解码的过程中,也会丢失部分图像信息。
94.将第三图像输入至第一移位模块,得到解码后的第五图像后,则进一步将第五图像输入至第二非线性模块,以恢复第五图像的通道信息,其中,解码端的第二非线性模块的结构与第一非线性模块的结构相同,也即第二非线性模块也可以为逆的广义除法归一化层(inverted generalized divisive normalization,简称igdn)、广义减法和除法归一化层(generalized subtractive and divisive normalization,简称gsdn)、注意力网络(attention)、可逆神经网络(invertible neural network,简称inn)等,此处不做具体限制。
95.而第二非线性模块恢复第五图像通道信息的过程,与第一非线性模块恢复第四图像的通道信息的过程类似,此处也不再赘述。
96.区别于现有技术中将输入的第三图像和上采样神经网络的卷积层做卷积运算时,执行乘法和加法运算的过程,本技术实施例是将输入的第三图像和第一移位模块执行定点数的比特移位操作和定点数的加法操作,相比于与原始上采样神经网络的卷积层的计算复杂度而言,明显降低了运算的复杂度和能量的消耗。
97.605、将恢复通道信息后的第四图像和恢复通道信息后的第五图像进行特征融合,以得到一级解压后的第六图像。
98.得到恢复通道信息后的第四图像和恢复通道信息后的第五图像后,为了获取到解码后的完整图像特征,本技术实施例将第四图像和第五图像进行特征融合,以得到一级解压后的第六图像。
99.本技术实施例中,通过解码端的第一加法模块、第一非线性模块,以及与第一加法模块和第一非线性模块并行设置的第一移位模块和第二非线性模块,其中,第一加法模块用于对输入的第三图像和上采样神经网络的卷积层执行加/减法操作,第一移位模块用于对输入的第三图像和上采样神经网络的卷积层执行移位和加法运算,相对于现有技术中将输入的第三图像和上采样神经网络的卷积层执行乘法运算而言,明显减少了运算量,减少了计算的复杂度,提升了解码过程的便捷性。
100.基于图6所述的实施例,下面接着对图6中的步骤603中对第三图像进行解码,以得到第四图像的过程做详细描述,请参阅图7,图7为步骤603的细化步骤:具体的,第一加法模块包第一加法层、第一解卷积层和上采样单元,其中:701、第一加法层用于通过l1范数计算所述第三图像和所述上采样卷积神经网络中各卷积层之间的相关性;
具体的,l1范数用于计算各个元素绝对值之和,本技术中利用l1范数计算第一图像和上采样卷积神经网络中各卷积层相关性的过程如下:。
101.其中,公式中的d代表各卷积层中卷积核的长度或者宽度,c
in
代表各卷积层中卷积核的输入通道数,f表示各卷积层中的卷积核,x代表输入特征,y代表输出特征,也即x与f之间的相似程度,m和n分别代表第一图像的长度和宽度,k代表第一加法层的输入通道维度,t代表第一加法层的输出图像通道维度。
102.702、第一解卷积层用于对第一加法层的输出图像执行卷积运算,以对所述第一加法层的输出图像执行归一化,及减少所述第一加法层的输出图像的冗余;优选的,第一解卷积层也为第一隐式解卷积层,用于对第一加法层的输出图像执行卷积运算,以对第一加法层的输出图像执行归一化,及减少所述第一加法层的输出图像的冗余。
103.具体的,因为隐式解卷积计算的核心操作是计算输入x的协方差矩阵cov,计算公式具体如下:其中n代表样本数量,代表x的均值,由此可以得到网络的解卷积操作d的表达式:进一步,可以用newton-schulz迭代方法来计算一个数的-1/2指数次幂,通过这个方法可以大大减少计算复杂度。一旦得到了d,我们就可以将输入先乘以d后,再进行后续的卷积运算: (2)从上述公式(2)进行乘法的分配律可以看到,先乘以d再乘以卷积层的权重w等价于d先左乘以卷积层的权重w,得到后的结构再右乘以。由此,在我们具体的实施过程中,我们不必显示地对输入数据进行解卷积,相反,我们可以通过改变卷积权重来隐式地实行解卷积操作,这就是为什么叫做隐式解卷积。
104.从上述的计算过程来看,第一隐式解卷积层不仅可以对数据起到归一化的作用,还可以去除图像间的冗余。
105.703、上采样单元用于对所述第一解卷积层的输出图像执行上采样,以对所述第三图像进行解码。
106.对应于编码端的第一加法层,是利用卷积层对第一图像执行下采样的操作,在解码端,则需要利用正向卷积和转置卷积推导出的转置加法层对第一隐式解卷积层的输出图像执行上采样。
107.具体的,因为在解码端的第一加法层中,利用正向卷积和转置卷积推导出的转置加法层在对第三图像进行解码时,所解码出的图像质量较差,故本技术实施例中采用像素重组的方式对第一解卷积层的输出图像执行上采样。
108.因为在利用像素重组的方式对第一解卷积层的输出图像执行上采样时,要改变第一隐式解卷积层输出图像的输出通道数,故下面对在采用像素重组的方式对第一隐式解卷积层的输出图像执行上采样时,对第三图像进行解码以得到第四图像的过程进行详细描述,请参阅图8,图8为步骤603的另一细化步骤:801、将所述第三图像输入至所述第一加法层,以通过l1范数计算所述第三图像和所述上采样卷积神经网络中各卷积层之间的相关性;需要说明的是,本技术实施例中的步骤801与步骤701的描述类似,此处不再赘述。
109.802、改变第一隐式解卷积层的图像输出通道数,将所述第一加法层的输出图像输入至改变图像输出通道数后的第一隐式解卷积层,以加快对所述第一加法层的输出图像执行执行归一化,减少所述第一加法层的输出图像的冗余;因为在采用像素重组的方式对第一隐式解卷积层的输出图像执行上采样时,需要改变第一隐式解卷积层输出图像的通道数,故本技术实施例在将第一加法层的输出图像输入至第一隐式解卷积层时,还需要同时改变第一隐式解卷积层的图像输出通道数,以在将第一隐式解卷积层的输出图像输入至像素重组单元执行上采样以前,改变第一隐式解卷积层的输出图像的通道数。
110.另外,本技术实施例采用第一隐式解卷积层对第一加法层的输出图像执行卷积运算时,相比于采用显示解卷积的方式而言,还可以加快对第一加法层的输出图像执行归一化的过程,减少第一加法层输出图像的冗余。
111.803、将所述第三图像输入至所述1
×
1卷积层执行卷积运算,以使得所述第三图像的经过所述1
×
1卷积层后的图像通道数与所述第三图像经过所述第一加法层和所述第一隐式解卷积层后的图像通道数相同;因为步骤802中改变了第一隐式解卷积层输出图像的通道数,故为了学习到第三图像更多的特征,本技术实施例中的第一加法模块还可以包括残差单元,以通过残差单元学习第三图像更多的特征,同时改变第三图像的输出通道数。
112.具体的,本技术实施例中的残差单元为1
×
1卷积层,以用于将第三图像输入至1
×
1卷积层执行卷积运算,以使得第三图像经过1
×
1卷积层后的图像通道数与第三图像经过第一加法层和第一隐式解卷积层后的图像通道数相同。
113.804、将所述1
×
1卷积层的输出图像和所述第一隐式解卷积层的输出图像的各维度元素执行累加操作;为了获取到第三图像的更多的特征,本技术实施例得到1
×
1卷积层的输出图像和第一隐式解卷积层的输出图像后,进一步将1
×
1卷积层的输出图像和所述第一隐式解卷积层的输出图像的各维度元素执行累加操作,以获取更多的第三图像的特征。
114.其中,1
×
1卷积层的输出图像和所述第一隐式解卷积层的输出图像的各维度元素分别包括:图像的长度、图像的宽度、图像的通道数和图像的特征。
115.805、将累加操作后的输出图像输入至所述像素重组单元,以对累加操作后的输出图像执行上采样,以得到解码后的第四图像。
116.本技术实施例中通过像素重组单元,对执行累加操作后的输出图像执行上采样,以对第三图像进行解码,得到解码后的第四图像。
117.本技术实施例中,对将所述第三图像依次输入至第一加法模块,以通过加/减法运
算计算所述第三图像与上采样卷积神经网络中各卷积层之间的相关性,以对所述第三图像进行解码,得到解码后的第四图像的过程做了详细介绍,提升了得到第四图像过程的可靠性。
118.此外,本技术实施例还通过像素重组单元对第一隐式解卷积的输出图像和1
×
1卷积层的输出图像执行解码,提升了解码图像的质量,为方便理解,图9给出了解码端中第一加法模块的示意图。
119.基于图6至图8所述的实施例,在得到第六图像以后,还可以执行以下步骤,请参阅图10,图10为图像解码方法的另一个实施例:1001、判断所述第六图像是否为目标解压图像,其中,所述目标解压图像为压缩前的原始图像;若否,则重复执行步骤1002至1004,直至最终得到的解码图像为所述目标解压图像;若是,则结束流程。
120.对应于编码端的多级压缩,在得到一级压缩后的第六图像后,判断第六图像是否为目标解压图像,其中,目标解压图像为压缩前的原始图像,若否,则重复执行步骤1002至1004,直至最终得到的解码图像为所述目标解压图像;若是,则结束流程。
121.1002、将n级解码后的第n+3图像输入至第n+1加法模块,以通过加/减法运算计算所述第n+3图像与上采样卷积神经网络中各卷积层之间的相关性,以对所述第n+3图像进行解码,得到第n+1级解码后的第n+6图像,将所述第n+6图像输入至第cm非线性模块,以恢复第n+6图像的通道信息,其中,所述n为大于等于1的整数,所述cm为首项为3,公差是2的等差数列;为方便理解,下面举例说明:假设n=1,也即一级解码后的第六图像不是目标解压图像,则将一级解码后的第四图像输入至第二加法模块,以通过加/减法运算计算第四图像与上采样卷积神经网络中各卷积层之间的相关性,以对第四图像进行解码,以得到二级解码后的第七图像。
122.然后进一步将二级解码后的第七图像输入至第三非线性模块,以恢复第七图像的通道信息。
123.其中,第三非线性模块的结构和参数与解码端第一非线性模块的结构和参数类似。
124.具体的,将第四图像执行二级解码,得到第七图像的过程,以及将第七图像输入至第三非线性模块,以恢复第七图像的通道信息的过程与图6实施例中将第三图像输入至第一加法模块,得到第四图像,以及将第四图像输入至第一非线性模块,以恢复第四图像的通道信息的过程类似,此处不再赘述。
125.1003、将n级解码后的第n+4图像输入至第n+1移位模块,以通过移位运算和加法运算计算所述第n+4图像与所述上采样卷积神经网络中各卷积层之间的相关性,以对所述第n+4图像进行解码,得到第n+1解码后的第n+7图像,将所述第n+7图像输入至第dm非线性模块,以恢复第n+7图像的通道信息,其中,所述n为大于等于1的整数,所述dm为首项为4,公差是2的等差数列,其中,第cm非线性模块的结构和第dm非线性模块的结构相同;为方便理解,下面也举例说明:假设n=1,也即一级解码后的第六图像不是目标解压图像,则将一级解码后的第五图像输入至第二移位模块,以通过移位运算和加法运算计算第五图像与上采样卷积神经网
络中各卷积层之间的相关性,以对第五图像进行解码,得到二级解码后的第八图像。
126.然后进一步将二级解码后的第八图像输入至第四非线性模块,以恢复第八图像的通道信息。
127.其中,第四非线性模块的结构和参数与解码端第二非线性模块的结构和参数类似。
128.具体的,将第五图像输入至第二移位模块执行二级解码,得到第八图像的过程,以及将第八图像输入至第四非线性模块,以恢复第八图像的通道信息的过程与图6实施例中将第三图像输入至第一移位模块,得到第五图像,以及将第五图像输入至第二非线性模块,以恢复第五图像的通道信息的过程类似,此处也不再赘述。
129.1004、将恢复通道信息后的第n+6图像和恢复通道信息后的第n+7图像进行特征融合,以得到第n+1级解压后的第n+8图像,其中,所述n为大于等于1的整数。
130.为方便理解,下面也举例说明:假设n=1,则在得到第七图像和第八图像后,进一步将第七图像和第八图像进行特征融合,以得到二级解码后的第九图像。
131.需要说明的是,在解码端若第六图像不是目标解压图像,则需要重复执行步骤1002至步骤1004,直至最终得到的n级解码后的最终图像为目标解压图像为止,也即若二级解码后的第九图像为目标解压图像,则结束解压流程,若二级解码后的第九图像不是目标解压图像,在继续对第七图像和第八图像进行解码,直至最终得到的解码后的图像为目标解压图像。
132.本技术实施例中,对解码端执行多级解码的过程做了详细描述,提升了多级解码过程的可靠性。
133.为方便理解,图12给出了对第一图像执行图像编码及图像解码过程的示意图,其中,图12中各个步骤的描述与图1至图11中描述的类似,此处不再赘述。
134.上面对本技术实施例中的图像编码方法及解码方法做了详细描述,下面接着对本技术中的图像编码装置进行描述,请参阅图13,图11为本技术实施例中图像编码装置的一个实施例:第一输入单元1301,用于将待压缩的第一图像输入至第一加法模块,以通过加/减法运算计算所述第一图像与下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第一级细粒度特征;第一输入单元1301,还用于将所述第一级细粒度特征输入至第一非线性模块,以对所述第一级细粒度特征进行建模,并消除第一级细粒度特征的通道冗余;第二输入单元1302,用于将待压缩的第一图像的像素值量化为定点数,并将量化为定点数后的第一图像输入至第一移位模块,以通过移位运算和加法运算计算所述第一图像与所述下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第一级粗粒度特征;第二输入单元1302,还用于将所述第一级粗粒度特征输入至第二非线性模块,以对所述第一级粗粒度特征进行建模,并消除第一级粗粒度特征的通道冗余,其中,第一非线性模块的结构和第二非线性模块的结构相同;特征融合单元1303,用于将消除通道冗余后的第一级细粒度特征和消除通道冗余
后的第一级粗粒度特征进行特征融合,以得到与所述第一图像对应的一级压缩后的第二图像;无损编码单元1304,用于将所述第二图像执行无损编码,以得到编码后的码流。
135.优选的,所述第一加法模块包括第一加法层和第一解卷积层;其中,所述第一加法层用于通过l1范数计算所述第一图像和所述下采样卷积神经网络中各卷积层之间的相关性;所述第一解卷积层用于对第一加法层的输出图像执行卷积运算,以对所述第一加法层的输出图像执行归一化,及减少所述第一加法层的输出图像的冗余。
136.优选的,所述第一加法模块还包括残差单元,所述残差单元用于对所述第一图像执行下采样,以使得所述第一图像经过所述残差单元后的图像尺寸与所述第一图像经过所述第一加法层和所述第一解卷积层后的图像尺寸相同。
137.所述第一解卷积层为第一隐式解卷积层;优选的,所述第一输入单元1301,具体用于:将所述第一图像输入至所述第一加法层,以通过l1范数计算所述第一图像和所述下采样卷积神经网络中各卷积层之间的相关性;将第一加法层的输出图像输入至所述第一隐式解卷积层,以加快对所述第一加法层的输出图像执行归一化,及减少所述第一加法层的输出图像的冗余;将所述第一图像输入至所述残差单元进行下采样,以使得所述第一图像的经过所述残差单元后的图像尺寸与所述第一图像经过所述第一加法层和所述第一隐式解卷积层后的图像尺寸相同;将残差单元的输出图像和所述第一隐式解卷积层的输出图像的各维度元素执行累加操作,以提取出所述第一图像的第一级细粒度特征。
138.优选的,所述图像编码装置还包括:判断单元1305,用于判断所述第二图像是否达到目标压缩比率;执行单元1306,用于在第二图像未达到目标压缩比率时,重复执行第一步骤,直至最终得到的压缩图像达到所述目标压缩比率;所述第一步骤包括:将第一图像的第n级细粒度特征输入至第n+1加法模块,以通过加/减法运算计算所述第一图像的第n级细粒度特征与所述下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第n+1级细粒度特征;将所述第n+1级细粒度特征输入至第am非线性模块,以对所述第n+1级细粒度特征进行建模,并消除第n+1级细粒度特征的通道冗余,其中,所述n为大于等于1的整数,am为首项为3,公差为2的等差数列;将第一图像的第n级粗粒度特征量化为定点数后,并将量化为定点数后的第n级粗粒度特征输入至第n+1移位模块,以通过移位运算和加法运算计算所述第一图像的第n级粗粒度特征与所述下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第n+1级粗粒度特征;将所述第n+1级粗粒度特征输入至第bm非线性模块,以对所述第n+1级粗粒度特征进行建模,并消除第n+1级粗粒度特征的通道冗余,其中,所述n为大于等于1的整数,bm为首
项为4,公差为2的等差数列,其中,第am非线性模块的结构与第bm非线性模块的结构相同;将消除通道冗余后的第n+1级细粒度特征和消除通道冗余后的第n+1级粗粒度特征进行特征融合,以得到与所述第一图像对应的n+1级压缩后的第n+2图像,其中,所述n为大于等于1的整数。
139.优选的,所述图像编码装置还包括:量化单元1307,用于在对第m图像执行无损编码之前,将所述第m图像输入至量化单元,以将所述第m图像的图像特征由浮点数变换为整数,其中,m为大于等于2的整数。
140.需要说明的是,本技术实施例中各单元的作用与图1至图5实施例中描述的类似,此处不再赘述。
141.本技术实施例中,通过第一加法模块、第一非线性模块,以及与第一加法模块和第一非线性模块并行设置的第一移位模块和第二非线性模块分别对第一图像进行编码,其中,第一加法模块用于对输入的第一图像和下采样神经网络的卷积层执行加/减法操作,第一移位模块用于对量化为定点数后的第一图像和下采样神经网络的卷积层执行移位和加法运算,相对于现有技术中将输入的第一图像和下采样神经网络卷积层执行乘法运算而言,明显减少了运算量,减少了计算的复杂度,提升了编码过程的便捷性。
142.下面接着对本技术实施例中的图像解码装置进行描述,请参阅图14,图14中的图像解码装置包括:获取单元1401,用于获取编码后的码流;无损解码单元1402,用于对所述编码后的码流执行无损解码,以得到第三图像;第一解码单元1403,用于将所述第三图像输入至第一加法模块,以通过加/减法运算计算所述第三图像与上采样卷积神经网络中各卷积层之间的相关性,以对所述第三图像进行解码,得到解码后的第四图像;第一解码单元1403,还用于将所述第四图像输入至第一非线性模块,以恢复所述第四图像的通道信息;第二解码单元1404,用于将所述第三图像输入至第一移位模块,以通过移位运算和加法运算计算所述第三图像与所述上采样卷积神经网络中各卷积层之间的相关性,以对所述第三图像进行解码,得到解码后的第五图像;第二解码单元1404,还用于将所述第五图像输入至第二非线性模块,以恢复所述第五图像的通道信息,其中,第一非线性模块的结构和第二非线性模块的结果相同;特征融合单元1405,用于将所述第四图像和所述第五图像进行特征融合,以得到一级解压后的第六图像。
143.优选的,所述第一加法模块包括第一加法层、第一解卷积层和上采样单元;其中,所述第一加法层用于通过l1范数计算所述第三图像和所述上采样卷积神经网络中各卷积层之间的相关性;所述第一解卷积层用于对第一加法层的输出图像执行卷积运算,以对所述第一加法层的输出图像执行归一化,及减少所述第一加法层的输出图像的冗余;所述上采样单元用于对所述第一解卷积层的输出图像执行上采样,以对所述第三图像进行解码。
144.优选的,所述第一解卷积层为第一隐式解卷积层,所述上采样单元为像素重组单
元,所述第一加法模块还包括残差单元,所述残差单元用于对所述第三图像执行卷积运算,以使得所述第三图像的经过所述残差单元后的图像通道数与所述第三图像经过所述第一加法层和所述第一隐式解卷积层后的图像通道数相同。
145.优选的,所述残差单元包括1
×
1卷积层,所述第一解码单元1403具体用于:将所述第三图像输入至所述第一加法层,以通过l1范数计算所述第三图像和所述上采样卷积神经网络中各卷积层之间的相关性;改变第一隐式解卷积层的图像输出通道数,将所述第一加法层的输出图像输入至改变图像输出通道数后的第一隐式解卷积层,以加快对所述第一加法层的输出图像执行归一化,减少所述第一加法层的输出图像的冗余;将所述第三图像输入至所述1
×
1卷积层执行卷积运算,以使得所述第三图像的经过所述1
×
1卷积层后的图像通道数与所述第三图像经过所述第一加法层和所述第一隐式解卷积层后的图像通道数相同;将1
×
1卷积层的输出图像和第一隐式解卷积层的输出图像的各维度元素执行累加操作;将累加操作后的输出图像输入至所述像素重组单元,以对累加操作后的输出图像执行上采样,以得到解码后的第四图像。
146.优选的,图像解码装置还包括:判断单元1406,用于判断所述第六图像是否为目标解压图像,其中,所述目标解压图像为压缩前的原始图像;执行单元1407,用于在第六图像不是目标解压图像时,重复执行第二步骤,直至最终得到的解码图像为所述目标解压图像;其中,所述第二步骤包括:将n级解码后的第n+3图像输入至第n+1加法模块,以通过加/减法运算计算所述第n+3图像与所述上采样卷积神经网络中各卷积层之间的相关性,以对所述第n+3图像进行解码,得到n+1级解码后的第n+6图像;将所述第n+6图像输入至第cm非线性模块,以恢复第n+6图像的通道信息,其中,所述n为大于等于1的整数,所述cm为首项为3,公差是2的等差数列;将n级解码后的第n+4图像量化为定点数,将量化为定点数后的第n+4图像输入至第n+1移位模块,以通过移位运算和加法运算计算所述第n+4图像与所述上采样卷积神经网络中各卷积层之间的相关性,以对所述第n+4图像进行解码,得到n+1级解码后的第n+7图像;将所述第n+7图像输入至第dm非线性模块,以恢复第n+7图像的通道信息,其中,所述n为大于等于1的整数,所述dm为首项为4,公差是2的等差数列,其中,第cm非线性模块的结构和第dm非线性模块的结构相同;将恢复通道信息后的第n+6图像和恢复通道信息后的第n+7图像进行特征融合,以得到第n+1级解压后的第n+8图像,其中,所述n为大于等于1的整数。
147.本技术实施例中,通过第一加法模块、第一非线性模块,以及与第一加法模块和第一非线性模块并行设置的和第一移位模块和第二非线性模块,其中,第一加法模块用于对输入的第三图像和上采样神经网络的卷积层执行加/减法操作,第一移位模块用于对输入的第三图像和上采样神经网络的卷积层执行移位和加法运算,相对于现有技术中将输入的
第三图像和上采样神经网络的卷积层执行乘法运算而言,明显减少了运算量,减少了计算的复杂度,提升了解码过程的便捷性。
148.上面从模块化功能实体的角度对本技术实施例中的图像编码装置及图像解码装置进行了描述,下面从硬件处理的角度对本技术实施例中的计算机装置进行描述:该计算机装置用于实现图像编码装置的功能,本技术实施例中计算机装置一个实施例包括:处理器以及存储器;存储器用于存储计算机程序,处理器用于执行存储器中存储的计算机程序时,可以实现如下步骤:将待压缩的第一图像输入至第一加法模块,以通过加/减法运算计算所述第一图像与下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第一级细粒度特征;将所述第一级细粒度特征输入至第一非线性模块,以对所述第一级细粒度特征进行建模,并消除第一级细粒度特征的通道冗余;将待压缩的第一图像的像素值量化为定点数,并将量化为定点数后的第一图像输入至第一移位模块,以通过移位运算和加法运算计算所述第一图像与所述下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第一级粗粒度特征;将所述第一级粗粒度特征输入至第二非线性模块,以对所述第一级粗粒度特征进行建模,并消除第一级粗粒度特征的通道冗余,其中,第一非线性模块的结构和第二非线性模块的结构相同;将消除通道冗余后的第一级细粒度特征和消除通道冗余后的第一级粗粒度特征进行特征融合,以得到与所述第一图像对应的一级压缩后的第二图像;将所述第二图像执行无损编码,以得到编码后的码流。
149.所述第一加法模块包括第一加法层和第一解卷积层,在本技术的一些实施例中,处理器,还可以用于实现如下步骤:其中,所述第一加法层用于通过l1范数计算所述第一图像和所述下采样卷积神经网络中各卷积层之间的相关性;所述第一解卷积层用于对第一加法层的输出图像执行卷积运算,以对所述第一加法层的输出图像执行归一化,及减少所述第一加法层的输出图像的冗余。
150.所述第一加法模块还包括残差单元,在本技术的一些实施例中,处理器,还可以用于实现如下步骤:所述残差单元用于对所述第一图像执行下采样,以使得所述第一图像经过所述残差单元后的图像尺寸与所述第一图像经过所述第一加法层和所述第一解卷积层后的图像尺寸相同。
151.所述第一解卷积层为第一隐式解卷积层,在本技术的一些实施例中,处理器,还可以用于实现如下步骤:将所述第一图像输入至所述第一加法层,以通过l1范数计算所述第一图像和所述下采样卷积神经网络中各卷积层之间的相关性;将第一加法层的输出图像输入至所述第一隐式解卷积层,以加快对所述第一加法
层的输出图像执行归一化,及减少所述第一加法层的输出图像的冗余;将所述第一图像输入至所述残差单元进行下采样,以使得所述第一图像的经过所述残差单元后的图像尺寸与所述第一图像经过所述第一加法层和所述第一隐式解卷积层后的图像尺寸相同;将残差单元的输出图像和所述第一隐式解卷积层的输出图像的各维度元素执行累加操作,以提取出所述第一图像的第一级细粒度特征。
152.在本技术的一些实施例中,处理器,还可以用于实现如下步骤:判断所述第二图像是否达到目标压缩比率;若否,则重复执行第一步骤,直至最终得到的压缩图像达到所述目标压缩比率;所述第一步骤包括:将第一图像的第n级细粒度特征输入至第n+1加法模块,以通过加/减法运算计算所述第一图像的第n级细粒度特征与所述下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第n+1级细粒度特征;将所述第n+1级细粒度特征输入至第am非线性模块,以对所述第n+1级细粒度特征进行建模,并消除第n+1级细粒度特征的通道冗余,其中,所述n为大于等于1的整数,am为首项为3,公差为2的等差数列;将第一图像的第n级粗粒度特征量化为定点数后,并将量化为定点数后的第n级粗粒度特征输入至第n+1移位模块,以通过移位运算和加法运算计算所述第一图像的第n级粗粒度特征与所述下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第n+1级粗粒度特征;将所述第n+1级粗粒度特征输入至第bm非线性模块,以对所述第n+1级粗粒度特征进行建模,并消除第n+1级粗粒度特征的通道冗余,其中,所述n为大于等于1的整数,bm为首项为4,公差为2的等差数列,其中,第am非线性模块的结构与第bm非线性模块的结构相同;将消除通道冗余后的第n+1级细粒度特征和消除通道冗余后的第n+1级粗粒度特征进行特征融合,以得到与所述第一图像对应的n+1级压缩后的第n+2图像,其中,所述n为大于等于1的整数。
153.在本技术的一些实施例中,在对第m图像执行无损编码之前,其中,m为大于等于2的整数,处理器,还可以用于实现如下步骤:将所述第m图像输入至量化单元,以将所述第m图像的图像特征由浮点数变换为整数。
154.该计算机装置还可以用于实现图像解码装置的功能,本技术实施例中计算机装置一个实施例包括:处理器以及存储器;存储器用于存储计算机程序,处理器用于执行存储器中存储的计算机程序时,可以实现如下步骤:获取编码后的码流;对所述编码后的码流执行无损解码,以得到第三图像;将所述第三图像输入至第一加法模块,以通过加/减法运算计算所述第三图像与上采样卷积神经网络中各卷积层之间的相关性,以对所述第三图像进行解码,得到解码后
的第四图像;将所述第四图像输入至第一非线性模块,以恢复所述第四图像的通道信息;将所述第三图像输入至第一移位模块,以通过移位运算和加法运算计算所述第三图像与所述上采样卷积神经网络中各卷积层之间的相关性,以对所述第三图像进行解码,得到解码后的第五图像;将所述第五图像输入至第二非线性模块,以恢复所述第五图像的通道信息,其中,第一非线性模块的结构和第二非线性模块的结构相同;将恢复通道信息后的第四图像和恢复通道信息后的第五图像进行特征融合,以得到一级解压后的第六图像。
155.所述第一加法模块包括第一加法层、第一解卷积层和上采样单元,在本技术的一些实施例中,处理器,还可以用于实现如下步骤:其中,所述第一加法层用于通过l1范数计算所述第三图像和所述上采样卷积神经网络中各卷积层之间的相关性;所述第一解卷积层用于对第一加法层的输出图像执行卷积运算,以对所述第一加法层的输出图像执行归一化,及减少所述第一加法层的输出图像的冗余;所述上采样单元用于对所述第一解卷积层的输出图像执行上采样,以对所述第三图像进行解码。
156.所述第一解卷积层为第一隐式解卷积层,所述上采样单元为像素重组单元,所述第一加法模块还包括残差单元,所述残差单元用于对所述第三图像执行卷积运算,以使得所述第三图像的经过所述残差单元后的图像通道数与所述第三图像经过所述第一加法层和所述第一隐式解卷积层后的图像通道数相同。
157.所述残差单元包括1
×
1卷积层,在本技术的一些实施例中,处理器,还可以用于实现如下步骤:将所述第三图像输入至所述第一加法层,以通过l1范数计算所述第三图像和所述上采样卷积神经网络中各卷积层之间的相关性;改变第一隐式解卷积层的图像输出通道数,将所述第一加法层的输出图像输入至改变图像输出通道数后的第一隐式解卷积层,以加快对所述第一加法层的输出图像执行归一化,减少所述第一加法层的输出图像的冗余;将所述第三图像输入至所述1
×
1卷积层执行卷积运算,以使得所述第三图像的经过所述1
×
1卷积层后的图像通道数与所述第三图像经过所述第一加法层和所述第一隐式解卷积层后的图像通道数相同;将1
×
1卷积层的输出图像和第一隐式解卷积层的输出图像执行累加操作;将累加操作后的输出图像输入至所述像素重组单元,以对累加操作后的输出图像执行上采样,以得到解码后的第四图像。
158.在本技术的一些实施例中,处理器,还可以用于实现如下步骤:判断所述第六图像是否为目标解压图像,其中,所述目标解压图像为压缩前的原始图像;若否,则重复执行第二步骤,直至最终得到的解码图像为所述目标解压图像;其中,所述第二步骤包括:
digital, sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
163.本技术还提供了一种计算机可读存储介质,该计算机可读存储介质用于实现图像编码装置一侧的功能,其上存储有计算机程序,计算机程序被处理器执行时,处理器,可以用于执行如下步骤:将待压缩的第一图像输入至第一加法模块,以通过加/减法运算计算所述第一图像与下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第一级细粒度特征;将所述第一级细粒度特征输入至第一非线性模块,以对所述第一级细粒度特征进行建模,并消除第一级细粒度特征的通道冗余;将待压缩的第一图像的像素值量化为定点数,并将量化为定点数后的第一图像输入至第一移位模块,以通过移位运算和加法运算计算所述第一图像与所述下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第一级粗粒度特征;将所述第一级粗粒度特征输入至第二非线性模块,以对所述第一级粗粒度特征进行建模,并消除第一级粗粒度特征的通道冗余,其中,第一非线性模块的结构和第二非线性模块的结构相同;将消除通道冗余后的第一级细粒度特征和消除通道冗余后的第一级粗粒度特征进行特征融合,以得到与所述第一图像对应的一级压缩后的第二图像;将所述第二图像执行无损编码,以得到编码后的码流。
164.所述第一加法模块包括第一加法层和第一解卷积层,在本技术的一些实施例中,计算机程序被处理器执行时,处理器还可以用于实现如下步骤:其中,所述第一加法层用于通过l1范数计算所述第一图像和所述下采样卷积神经网络中各卷积层之间的相关性;所述第一解卷积层用于对第一加法层的输出图像执行卷积运算,以对所述第一加法层的输出图像执行归一化,及减少所述第一加法层的输出图像的冗余。
165.所述第一加法模块还包括残差单元,在本技术的一些实施例中,计算机程序被处理器执行时,处理器还可以用于实现如下步骤:所述残差单元用于对所述第一图像执行下采样,以使得所述第一图像经过所述残差单元后的图像尺寸与所述第一图像经过所述第一加法层和所述第一解卷积层后的图像尺寸相同。
166.所述第一解卷积层为第一隐式解卷积层,在本技术的一些实施例中,处理器,还可以用于实现如下步骤:将所述第一图像输入至所述第一加法层,以通过l1范数计算所述第一图像和所述下采样卷积神经网络中各卷积层之间的相关性;将第一加法层的输出图像输入至所述第一隐式解卷积层,以加快对所述第一加法层的输出图像执行归一化,及减少所述第一加法层的输出图像的冗余;将所述第一图像输入至所述残差单元进行下采样,以使得所述第一图像的经过所述残差单元后的图像尺寸与所述第一图像经过所述第一加法层和所述第一隐式解卷积层后的图像尺寸相同;
将残差单元的输出图像和所述第一隐式解卷积层的输出图像的各维度元素执行累加操作,以提取所述第一图像的第一级细粒度特征。
167.在本技术的一些实施例中,计算机程序被处理器执行时,处理器还可以用于实现如下步骤:判断所述第二图像是否达到目标压缩比率;若否,则重复执行第一步骤,直至最终得到的压缩图像达到所述目标压缩比率;所述第一步骤包括:将第一图像的第n级细粒度特征输入至第n+1加法模块,以通过加/减法运算计算所述第一图像的第n级细粒度特征与所述下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第n+1级细粒度特征;将所述第n+1级细粒度特征输入至第am非线性模块,以对所述第n+1级细粒度特征进行建模,并消除第n+1级细粒度特征的通道冗余,其中,所述n为大于等于1的整数,am为首项为3,公差为2的等差数列;将第一图像的第n级粗粒度特征量化为定点数后,并将量化为定点数后的第n级粗粒度特征输入至第n+1移位模块,以通过移位运算和加法运算计算所述第一图像的第n级粗粒度特征与所述下采样卷积神经网络中各卷积层之间的相关性,从而提取第一图像的第n+1级粗粒度特征;将所述第n+1级粗粒度特征输入至第bm非线性模块,以对所述第n+1级粗粒度特征进行建模,并消除第n+1级粗粒度特征的通道冗余,其中,所述n为大于等于1的整数,bm为首项为4,公差为2的等差数列,其中,第am非线性模块的结构与第bm非线性模块的结构相同;将消除通道冗余后的第n+1级细粒度特征和消除通道冗余后的第n+1级粗粒度特征进行特征融合,以得到与所述第一图像对应的n+1级压缩后的第n+2图像,其中,所述n为大于等于1的整数。
168.在本技术的一些实施例中,在对第m图像执行无损编码之前,其中,m为大于等于2的整数,计算机程序被处理器执行时,处理器,还可以用于实现如下步骤:将所述第m图像输入至量化单元,以将所述第m图像的图像特征由浮点数变换为整数。
169.本技术还提供了另一种计算机可读存储介质,该计算机可读存储介质用于实现图像解码装置一侧的功能,其上存储有计算机程序,计算机程序被处理器执行时,处理器,可以用于执行如下步骤:获取编码后的码流;对所述编码后的码流执行无损解码,以得到第三图像;将所述第三图像输入至第一加法模块,以通过加/减法运算计算所述第三图像与上采样卷积神经网络中各卷积层之间的相关性,以对所述第三图像进行解码,得到解码后的第四图像;将所述第四图像输入至第一非线性模块,以恢复所述第四图像的通道信息;将所述第三图像输入至第一移位模块,以通过移位运算和加法运算计算所述第三图像与所述上采样卷积神经网络中各卷积层之间的相关性,以对所述第三图像进行解码,得到解码后的第五图像;
将所述第五图像输入至第二非线性模块,以恢复所述第五图像的通道信息,其中,第一非线性模块的结构和第二非线性模块的结构相同;将恢复通道信息后的第四图像和恢复通道信息后的第五图像进行特征融合,以得到一级解压后的第六图像。
170.所述第一加法模块包括第一加法层、第一解卷积层和上采样单元,在一些实施例中,计算机程序被处理器执行时,处理器,还可以用于实现如下步骤:所述第一加法层用于通过l1范数计算所述第三图像和所述上采样卷积神经网络中各卷积层之间的相关性;所述第一解卷积层用于对第一加法层的输出图像执行卷积运算,以对所述第一加法层的输出图像执行归一化,及减少所述第一加法层的输出图像的冗余;所述上采样单元用于对所述第一解卷积层的输出图像执行上采样,以对所述第三图像进行解码。
171.所述第一解卷积层为第一隐式解卷积层,所述上采样单元为像素重组单元,所述第一加法模块还包括残差单元,在一些实施例中,计算机程序被处理器执行时,处理器,还可以用于实现如下步骤:所述残差单元用于对所述第三图像执行卷积运算,以使得所述第三图像的经过所述残差单元后的图像通道数与所述第三图像经过所述第一加法层和所述第一隐式解卷积层后的图像通道数相同。
172.所述残差单元包括1
×
1卷积层,在一些实施例中,计算机程序被处理器执行时,处理器,还可以用于实现如下步骤:将所述第三图像输入至所述第一加法层,以通过l1范数计算所述第三图像和所述上采样卷积神经网络中各卷积层之间的相关性;改变第一隐式解卷积层的图像输出通道数,将所述第一加法层的输出图像输入至改变图像输出通道数后的第一隐式解卷积层,以加快对所述第一加法层的输出图像执行归一化,减少所述第一加法层的输出图像的冗余;将所述第三图像输入至所述1
×
1卷积层执行卷积运算,以使得所述第三图像的经过所述1
×
1卷积层后的图像通道数与所述第三图像经过所述第一加法层和所述第一隐式解卷积层后的图像通道数相同;将所述1
×
1卷积层的输出图像和所述第一隐式解卷积层的输出图像执行累加操作;将累加操作后的输出图像输入至所述像素重组单元,以对累加操作后的输出图像执行上采样,以得到解码后的第四图像。
173.在一些实施例中,计算机程序被处理器执行时,处理器,还可以用于实现如下步骤:判断所述第六图像是否为目标解压图像,其中,所述目标解压图像为压缩前的原始图像;若否,则重复执行第二步骤,直至最终得到的解码图像为所述目标解压图像;其中,所述第二步骤包括:将n级解码后的第n+3图像输入至第n+1加法模块,以通过加/减法运算计算所述第
n+3图像与所述上采样卷积神经网络中各卷积层之间的相关性,以对所述第n+3图像进行解码,得到n+1级解码后的第n+6图像;将所述第n+6图像输入至第cm非线性模块,以恢复第n+6图像的通道信息,其中,所述n为大于等于1的整数,所述cm为首项为3,公差是2的等差数列;将n级解码后的第n+4图像量化为定点数,将量化为定点数后的第n+4图像输入至第n+1移位模块,以通过移位运算和加法运算计算所述第n+4图像与所述上采样卷积神经网络中各卷积层之间的相关性,以对所述第n+4图像进行解码,得到n+1级解码后的第n+7图像;将所述第n+7图像输入至第dm非线性模块,以恢复第n+7图像的通道信息,其中,所述n为大于等于1的整数,所述dm为首项为4,公差是2的等差数列,其中,第cm非线性模块的结构和第dm非线性模块的结构相同;将恢复通道信息后的第n+6图像和恢复通道信息后的第n+7图像进行特征融合,以得到第n+1级解压后的第n+8图像,其中,所述n为大于等于1的整数。
174.可以理解的是,所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在相应的一个计算机可读取存储介质中。基于这样的理解,本技术实现上述相应的实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
175.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
176.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
177.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
178.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
179.以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1