基于小波变换的图像编解码方法及装置转让专利
申请号 : CN201910639304.5
文献号 : CN112235583B
文献日 : 2021-12-24
发明人 : 吴枫 , 马海川 , 刘东 , 杨海涛
申请人 : 华为技术有限公司 , 中国科学技术大学
摘要 :
权利要求 :
1.一种基于小波变换的图像编码方法,其特征在于,包括:根据小波变换模型对待编码图像进行N次小波变换,以得到小波系数,所述小波变换中的预测操作和/或更新操作是基于卷积神经网络CNN实现的,所述N为大于0的整数;
对所述小波系数进行量化,以得到量化后的小波系数;
对所述量化后的小波系数进行熵编码,得到压缩码流;
其中,所述对所述量化后的小波系数进行熵编码,得到压缩码流,包括:根据熵编码模型对所述量化后的小波系数进行编码,以得到所述压缩码流,所述小波系数包括3N+1个子带,所述熵编码模型是基于深度神经网络得到实现的;具体包括:将第s个子带输入所述熵编码模型中计算得到待编码系数的累积概率分布函数的参数,所述待编码系数为所述第s个子带中任一个系数,所述第s个子带为所述3N+1个子带中的任意一个子带;
根据所述待编码系数的累积概率分布函数的参数得到所述累积概率分布函数;
根据所述待编码系数及其累积概率分布函数获取所述待编码系数的概率分布;
根据所述待编码系数的概率分布,采用算术编码器对所述待编码系数进行熵编码,以得到所述待编码系数对应的码流,所述压缩码流包括所述待编码系数对应的码流。
2.根据权利要求1所述的方法,其特征在于,所述根据小波变换模型对待编码图像进行N次小波变换,以得到小波系数,包括:在进行第i次小波变换时,对子带X进行分解,以得到奇数采样分量和偶数采样分量,其中,所述奇数采样分量由所述子带X中奇数行系数或奇数列系数构成,所述偶数采样分量由所述子带X中偶数行系数或偶数列系数构成,对所述偶数采样分量和奇数采样分量进行更新操作和预测操作,以得到中间近似分量和中间细节分量;
对所述中间近似分量进行分解,以得到第一采样分量和第二采样分量;其中,所述第一采样分量由所述中间近似分量的奇数列的系数或奇数行的系数,所述第二采样分量由所述中间近似分量的偶数列的系数或偶数行的系数构成;
对所述中间细节分量进行分解,以得到第三采样分量和第四采样分量;其中,所述第三采样分量由所述中间细节分量的奇数行的系数或奇数行的系数构成,第四采样分量由所述中间细节分量的偶数列的系数或偶数行的系数构成;
对所述第一采样分量和第二采样分量进行所述更新操作和所述预测操作,以得到近似子带Pi和细节子带Ii1;
对所述第三采样分量和第四采样分量进行所述更新操作和所述预测操作,以得到细节子带Ii2和细节子带Ii3;
其中,所述小波系数包括近似子带Pi、细节子带Ii1、细节子带Ii2和细节子带Ii3;当所述第i次小波变换为第一次小波变换时,所述子带X为所述待编码图像;当所述第i次小波变换不是第一次小波变换时,子带X为近似子带Pi‑1,所述近似子带Pi‑1为进行i‑1次小波变换后得到的近似子带。
3.根据权利要求1或2所述的方法,其特征在于,当所述第s个子带为所述3N+1个子带中的第一个子带时,所述熵编码模型是基于逐像素卷积神经网络pixelCNN实现的,所述熵编码模型包括M个卷积层,所述M为大于0的整数,所述将所述第s个子带输入所述熵编码模型中计算得到待编码系数的累积概率分布函数的参数,包括:当M=1时,根据第1个卷积层对应的窗函数对所述第1个卷积层对应的卷积核进行加窗操作,得到第一加窗后的卷积核;
根据所述第一加窗后的卷积核对所述第s个子带进行卷积操作,得到所述待编码系数的累积概率分布函数的参数;
当M大于1时,在进行第j个卷积层的运算时,根据第j个卷积层对应的窗函数对第j个卷积层对应的卷积核进行加窗操作,得到第二加窗后的卷积核;
根据所述第二加窗后的卷积核对所述第j个卷积层的输入数据进行卷积操作,得到第j个输出数据;
其中,当j=1时,所述第j个卷积层的输入数据为所述第一个子带;当j大于1且不大于M时,所述第j个卷积层的输入数据为第j‑1个卷积层的输出数据;当j=M时,所述第j个输出数据包括所述待编码系数的累积概率分布函数的参数。
4.根据权利要求1或2所述的方法,其特征在于,当所述第s个子带不为所述3N+1个子带中的第一个子带时,所述熵编码模型包括第一熵编码模型、第二熵编码模型和第三熵编码模型,所述第一熵编码模型和第二熵编码模型均是基于逐像素卷积神经网络实现的,所述第三熵编码模型是基于循环神经网络RNN实现的,所述第一熵编码模型包括T1个卷积层,所述第二熵编码模型包括T2个卷积层,所述T1和T2均为大于0的整数,所述将所述第s个子带输入所述熵编码模型中计算得到待编码系数的累积概率分布函数的参数,包括:将第s‑1个子带输入到所述第三熵编码模型中进行计算,以得到第一输出结果;所述第一输出结果为所述第二熵编码模型的输入数据;所述第s个子带为所述第一熵编码模型的输入数据;
当所述T1和T2均等于1时,根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带进行融合操作,得到第二输出结果,所述第二输出结果为所述待编码系数的累积概率分布函数的参数,所述卷积层C1和所述卷积层C2分别为所述第一熵编码模型和第二熵编码模型中的卷积层;或者
当所述T1大于1且所述T2等于1时,根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带进行融合操作,得到所述第二输出结果,所述卷积层C1为所述第一熵编码模型中的第q个卷积层,所述卷积层C2为所述第二熵编码模型中的卷积层;若所述q=T1,则所述第二输出结果为所述待编码系数的累积概率分布函数的参数;若q大于0且小于T1,则所述第二输出结果为所述第一熵编码模型中的第q+1个卷积层的输入数据;或者,当所述T1和T2均大于1时,根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带进行融合操作,得到所述第二输出结果;所述卷积层C1为所述第一熵编码模型中的第q1个卷积层,所述卷积层C2为第二熵编码模型中的第q2个卷积层;若所述q1=T1且q2=T2,则所述第二输出结果为所述待编码系数的累积概率分布函数的参数,若所述q1大于0且小于T1,所述q2大于0且小于T2,则所述第二输出结果为所述第一熵编码模型中的第q1+1个卷积层的输入数据,所述卷积层C2的输出结果为所述第二熵编码模型中的第q2+1个卷积层的输入数据。
5.根据权利要求4所述的方法,其特征在于,当所述第s‑1个子带的分辨率与第s个子带的分辨率不相同时,所述将第s‑1个子带输入到所述第三熵编码模型中进行计算,以得到第一输出结果,包括:
根据所述第三熵编码模型及第三熵编码模型的状态变量对所述第s‑1个子带进行卷积运算,以得到卷积结果;
对所述卷积结果进行上采样,以得到所述第一输出结果,所述第一输出结果的分辨率与所述第s个子带的分辨率相同;
所述对所述卷积结果进行上采样,以得到所述第一输出结果之后,所述方法还包括:对卷积之后的状态变量进行上采样,以得到采样后的状态变量,所述采样后的状态变量与所述第s个子带的分辨率相同。
6.根据权利要求4所述的方法,其特征在于,所述根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带进行融合操作,包括:根据第一窗函数对第一卷积核进行加窗操作,以得到加窗后的第一卷积核,所述第一卷积核为所述卷积层C1对应的卷积核;
根据所述加窗后的第一卷积核对第一输入数据进行卷积操作,以得到第一卷积结果;
当所述卷积层C1为所述第一熵编码模型中的第1个卷积层时,所述第一输入数据为所述第s个子带,当所述卷积层C1为所述第一熵编码模型中的非第1个卷积层时,所述第一输入数据是对所述第s个子带进行卷积操作得到的,将第二输入数据输入到第二子卷积层进行卷积操作,以得到第二卷积结果;当所述卷积层C2为所述第二熵编码模型中的第1个卷积层时,所述第二输入数据为所述第一输出结果,当所述卷积层C2为所述第二熵编码模型中的非第1个卷积层时,所述第二输入数据是对所述第一输出结果进行卷积操作得到的;
对所述第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到所述第二输出结果。
7.根据权利要求5所述的方法,其特征在于,所述根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带进行融合操作,包括:根据第一窗函数对第一卷积核进行加窗操作,以得到加窗后的第一卷积核,所述第一卷积核为所述卷积层C1对应的卷积核;
根据所述加窗后的第一卷积核对第一输入数据进行卷积操作,以得到第一卷积结果;
当所述卷积层C1为所述第一熵编码模型中的第1个卷积层时,所述第一输入数据为所述第s个子带,当所述卷积层C1为所述第一熵编码模型中的非第1个卷积层时,所述第一输入数据是对所述第s个子带进行卷积操作得到的,将第二输入数据输入到第二子卷积层进行卷积操作,以得到第二卷积结果;当所述卷积层C2为所述第二熵编码模型中的第1个卷积层时,所述第二输入数据为所述第一输出结果,当所述卷积层C2为所述第二熵编码模型中的非第1个卷积层时,所述第二输入数据是对所述第一输出结果进行卷积操作得到的;
对所述第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到所述第二输出结果。
8.根据权利要求4所述的方法,其特征在于,所述根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带进行融合操作,以得到第二输出结果,包括:根据第一窗函数对第一卷积核进行加窗操作,以得到加窗后的第一卷积核,所述第一卷积核为所述卷积层C1对应的卷积核;
根据第二窗函数对第二卷积核进行加窗操作,以得到加窗后的第二卷积核,所述第二卷积核为所述卷积层C2对应的卷积核,所述第一窗函数和第二窗函数互补;
根据所述加窗后的第一卷积核对第s个子带进行卷积操作,以得到第一卷积结果;当所述卷积层C1为所述第一熵编码模型中的第1个卷积层时,所述第一输入数据为所述第s个子带,当所述卷积层C1为所述第一熵编码模型中的非第1个卷积层时,所述第一输入数据是对所述第s个子带进行卷积操作得到的;
根据所述加窗后的第二卷积核对第一输出结果进行卷积操作,以得到第二卷积结果;
当所述卷积层C2为所述第二熵编码模型中的第1个卷积层时,所述第二输入数据为所述第一输出结果,当所述卷积层C2为所述第二熵编码模型中的非第1个卷积层时,所述第二输入数据是对所述第一输出结果进行卷积操作得到的;
对所述第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到所述第二输出结果。
9.根据权利要求5所述的方法,其特征在于,所述根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带进行融合操作,以得到第二输出结果,包括:根据第一窗函数对第一卷积核进行加窗操作,以得到加窗后的第一卷积核,所述第一卷积核为所述卷积层C1对应的卷积核;
根据第二窗函数对第二卷积核进行加窗操作,以得到加窗后的第二卷积核,所述第二卷积核为所述卷积层C2对应的卷积核,所述第一窗函数和第二窗函数互补;
根据所述加窗后的第一卷积核对第s个子带进行卷积操作,以得到第一卷积结果;当所述卷积层C1为所述第一熵编码模型中的第1个卷积层时,所述第一输入数据为所述第s个子带,当所述卷积层C1为所述第一熵编码模型中的非第1个卷积层时,所述第一输入数据是对所述第s个子带进行卷积操作得到的;
根据所述加窗后的第二卷积核对第一输出结果进行卷积操作,以得到第二卷积结果;
当所述卷积层C2为所述第二熵编码模型中的第1个卷积层时,所述第二输入数据为所述第一输出结果,当所述卷积层C2为所述第二熵编码模型中的非第1个卷积层时,所述第二输入数据是对所述第一输出结果进行卷积操作得到的;
对所述第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到所述第二输出结果。
10.一种基于小波变换的图像解码方法,其特征在于,包括:对压缩码流进行熵解码,以得到重构的小波系数;
对所述重构的小波系数进行反量化,以得到反量化后的小波系数;
根据小波变换模型对所述反量化后的小波系数进行N次小波反变换,以得到重建图像,其中,所述小波反变换中的预测操作和/或更新操作是基于卷积神经网络CNN实现的,所述N为大于0的整数;
其中,所述对压缩码流进行熵解码,以得到重构的小波系数,包括:根据熵解码模型对所述压缩码流进行熵解码,得到所述重构的小波系数,所述熵解码模型是基于深度神经网络实现的,所述压缩码流包括3N+1个子带的码流,具体包括:将第s个子带对应的重构子带输入到所述熵解码模型中计算得到待解码系数的累积概率分布函数的参数,所述待解码系数的码流为所述第s个子带的码流的一部分,所述第s个子带对应的重构子带为所述3N+1个重构子带中的任一个;
根据待解码系数的累积概率分布函数的参数获取所述待解码系数的累积概率分布函数;
根据待解码系数及其累积概率分布函数获取待解码系数的概率分布;
根据所述待解码系数的概率分布,采用算术解码器对所述待解码系数的码流进行熵解码,以得到所述待解码系数,所述3N+1个重构子带包括所述待解码系数。
11.根据权利要求10所述的方法,其特征在于,当所述第s个子带为所述3N+1个子带中的第一个子带时,所述熵解码模型是基于逐像素卷积神经网络pixelCNN实现的,所述熵解码模型包括M个卷积层,所述M为大于0的整数,所述将所述第s个子带对应的重构子带输入到熵解码模型中计算得到待解码系数的累积概率分布函数的参数,包括:当M=1时,根据第1个卷积层对应的窗函数对所述第1个卷积层对应的卷积核进行加窗操作,得到第一加窗后的卷积核;
根据所述第一加窗后的卷积核对所述第s个子带对应的重构子带进行卷积操作,得到所述待解码系数的累积概率分布函数的参数;
当M大于1时,在进行第j个卷积层的运算时,根据第j个卷积层对应的窗函数对第j个卷积层对应的卷积核进行加窗操作,得到第二加窗后的卷积核;
根据所述第二加窗后的卷积核对所述第j个卷积层的输入数据进行卷积操作,得到第j个输出数据;
其中,当j=1时,所述第j个卷积层的输入数据为所述第1个子带对应的重构子带;当j不大于M且大于1时,所述第j个卷积层的输入数据为第j‑1个卷积层的输出数据;当j=M时,所述第j个输出数据包括所述待解码系数的累积概率分布函数的参数。
12.根据权利要求10所述的方法,其特征在于,当所述第s个子带不为所述3N+1个子带中的第一个子带时,所述熵解码模型是包括第一熵解码模型、第二熵解码模型和第三熵解码模型,所述第一熵解码模型和第三熵解码模型均是基于逐像素卷积神经网络实现的,所述第三熵解码模型是基于循环神经网络RNN实现的,所述第一熵解码模型包括T1个卷积层,所述第二熵解码模型包括T2卷积层,所述T1和T2均为大于0的整数,所述将所述第s个子带对应的重构子带输入到熵解码模型中计算得到待解码系数的累积概率分布函数的参数,包括:
将第s‑1个子带对应的重构子带输入到第三熵解码模型中进行计算,以得到第一输出结果,所述第s‑1个子带对应的重构子带是对第s‑1个子带的码流进行熵解码得到的,所述第一输出结果为所述第二熵解码模型的输入数据;所述第s个子带对应的重构子带为所述第一熵解码模型的输入数据;
当所述T1和T2均等于1时,根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带对应的重构子带进行融合操作,得到第二输出结果,所述第二输出结果为所述待解码系数的累积概率分布函数的参数,所述卷积层C1和所述卷积层C2分别为所述第一熵解码模型和第二熵解码模型中的卷积层;或者当所述T1大于1且所述T2等于1时,根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带对应的重构子带进行融合操作,得到所述第二输出结果,所述卷积层C1为所述第一熵解码模型中的第q个卷积层,所述卷积层C2为所述第二熵解码模型中的卷积层;若所述q=T1,则所述第二输出结果为所述待解码系数的累积概率分布函数的参数;若q大于0且小于T1,则所述第二输出结果为所述第一熵解码模型中的第q+1个卷积层的输入数据;或者当所述T1和T2均大于1时,根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带对应的重构子带进行融合操作,得到所述第二输出结果;所述卷积层C1为所述第一熵解码模型中的第q1个卷积层,所述卷积层C2为第二熵解码模型中的第q2个卷积层;若所述q1=T1且q2=T2,则所述第二输出结果为所述待解码系数的累积概率分布函数的参数,若所述q1大于0且小于T1,所述q2大于0且小于T2,则所述第二输出结果为所述第一熵解码模型中的第q1+1个卷积层的输入数据,所述卷积层C2的输出结果为所述第二熵解码模型中的第q2+1个卷积层的输入数据。
13.根据权利要求12所述的方法,其特征在于,当所述第s‑1个子带对应的重构子带的分辨率与所述第s个子带对应的重构子带的分辨率不相同时,所述将第s‑1个子带对应的重构子带输入到所述第三熵解码模型中进行计算,以得到第一输出结果,包括:根据所述第三熵解码模型及第三熵编码模型的状态变量对第s‑1个子带对应的重构子带进行卷积运算,得到卷积结果;
对所述卷积结果进行上采样,以得到所述第一输出结果,所述第一输出结果的分辨率与所述第s个子带对应的重构子带的分辨率相同;
所述对所述卷积结果进行上采样,以得到所述第一输出结果,所述方法还包括:对卷积之后的状态变量进行上采样,以得到采样后的状态变量,所述采样后的状态变量与ss第s个子带的分辨率相同。
14.根据权利要求12或13所述的方法,其特征在于,所述根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带对应的重构子带进行融合操作,以得到第二输出结果,包括:
根据第一窗函数对第一卷积核进行加窗操作,以得到加窗后的第一卷积核,所述第一卷积核为所述卷积层C1对应的卷积核;
根据所述加窗后的第一卷积核对第一输入数据进行卷积操作,以得到第一卷积结果;
当所述卷积层C1为所述第一熵解码模型中的第1个卷积层时,所述第一输入数据为所述第s个子带对应的重构子带,当所述卷积层C1为所述第一熵解码模型中的非第1个卷积层时,所述第一输入数据是对所述第s个子带对应的重构子带进行卷积操作得到的;
将所述第二输入数据输入到第二子卷积层进行卷积操作,以得到第二卷积结果;当所述卷积层C2为第二熵解码模型中的第1个卷积层时,所述第二输入数据为所述第一输出结果,当所述卷积层C2为所述第二熵解码模型中的非第1个卷积层时,所述第二输入数据是对所述第一输出结果进行卷积操作得到的;
对所述第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到所述第二输出结果。
15.根据权利要求12或13所述的方法,其特征在于,所述根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带对应的重构子带进行融合操作,以得到第二输出结果,包括:
根据第一窗函数对第一卷积核进行加窗操作,以得到加窗后的第一卷积核,所述第一卷积核为所述卷积层C1对应的卷积核;
根据第二窗函数对第二卷积核进行加窗操作,以得到加窗后的第二卷积核,所述第二卷积核为所述卷积层C2对应的卷积核,所述第一窗函数和第二窗函数互补;
根据所述加窗后的第一卷积核对第一输入数据进行卷积操作,以得到第一卷积结果;
当所述卷积层C1为所述第一熵解码模型中的第1个卷积层时,所述第一输入数据为所述第s个子带对应的重构子带,当所述卷积层C1为所述第一熵解码模型中的非第1个卷积层时,所述第一输入数据是对所述第s个子带对应的重构子带进行卷积操作得到的根据所述加窗后的第二卷积核对第二输入数据进行卷积操作,以得到第二卷积结果;
当所述卷积层C2为第二熵解码模型中的第1个卷积层时,所述第二输入数据为所述第一输出结果,当所述卷积层C2为所述第二熵解码模型中的非第1个卷积层时,所述第二输入数据是对所述第一输出结果进行卷积操作得到的;
对所述第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到所述第二输出结果。
16.根据权利要求10‑13任一项所述的方法,其特征在于,所述根据小波变换模型对所述反量化后的小波系数进行N次小波反变换,以得到重建图像,包括:在进行第t次小波反变换时,对近似子带PN+1‑t和细节子带I(N+1‑t)1进行更新操作和预测操作,得到第一处理子带和第二处理子带,根据所述第一处理子带和第二处理子带获取中间近似分量,所述中间近似分量的奇数列的系数或奇数行的系数来自所述第一处理子带,所述中间近似分量的偶数列的系数或偶数行的系数来自所述第二处理子带;
对细节子带I(N+1‑t)2和细节子带I(N+1‑t)3进行所述更新操作和所述预测操作,得到第三处理子带和第四处理子带,根据所述第三处理子带和第四处理子带获取中间细节分量,所述中间细节分量的奇数列的系数或偶数行的系数来自所述第三处理子带,所述中间细节分量的偶数列的系数或偶数行的系数来自所述第四处理子带;
对所述中间细节分量和中间近似分量进行所述更新操作和所述预测操作,第五处理子带和第六处理子带,根据所述第五处理子带和第六处理子带获取近似子带Pt‑1,所述近似子带Pt‑1的奇数行的系数或奇数列的系数来自所述第五处理子带,所述近似子带Pt‑1的偶数行的系数或偶数列的系数来自所述第六处理子带;
其中,所述细节子带I(N+1‑t)1、细节子带I(N+1‑t)2和细节子带I(N+1‑t)3的分辨率与所述近似子带PN+1‑t的分辨率相同;当第t次小波反变换为最后一次小波变换时,所述近似子带Pt‑1为所述重建图像。
17.根据权利要求14所述的方法,其特征在于,所述根据小波变换模型对所述反量化后的小波系数进行N次小波反变换,以得到重建图像,包括:在进行第t次小波反变换时,对近似子带PN+1‑t和细节子带I(N+1‑t)1进行更新操作和预测操作,得到第一处理子带和第二处理子带,根据所述第一处理子带和第二处理子带获取中间近似分量,所述中间近似分量的奇数列的系数或奇数行的系数来自所述第一处理子带,所述中间近似分量的偶数列的系数或偶数行的系数来自所述第二处理子带;
对细节子带I(N+1‑t)2和细节子带I(N+1‑t)3进行所述更新操作和所述预测操作,得到第三处理子带和第四处理子带,根据所述第三处理子带和第四处理子带获取中间细节分量,所述中间细节分量的奇数列的系数或偶数行的系数来自所述第三处理子带,所述中间细节分量的偶数列的系数或偶数行的系数来自所述第四处理子带;
对所述中间细节分量和中间近似分量进行所述更新操作和所述预测操作,第五处理子带和第六处理子带,根据所述第五处理子带和第六处理子带获取近似子带Pt‑1,所述近似子带Pt‑1的奇数行的系数或奇数列的系数来自所述第五处理子带,所述近似子带Pt‑1的偶数行的系数或偶数列的系数来自所述第六处理子带;
其中,所述细节子带I(N+1‑t)1、细节子带I(N+1‑t)2和细节子带I(N+1‑t)3的分辨率与所述近似子带PN+1‑t的分辨率相同;当第t次小波反变换为最后一次小波变换时,所述近似子带Pt‑1为所述重建图像。
18.根据权利要求15所述的方法,其特征在于,所述根据小波变换模型对所述反量化后的小波系数进行N次小波反变换,以得到重建图像,包括:在进行第t次小波反变换时,对近似子带PN+1‑t和细节子带I(N+1‑t)1进行更新操作和预测操作,得到第一处理子带和第二处理子带,根据所述第一处理子带和第二处理子带获取中间近似分量,所述中间近似分量的奇数列的系数或奇数行的系数来自所述第一处理子带,所述中间近似分量的偶数列的系数或偶数行的系数来自所述第二处理子带;
对细节子带I(N+1‑t)2和细节子带I(N+1‑t)3进行所述更新操作和所述预测操作,得到第三处理子带和第四处理子带,根据所述第三处理子带和第四处理子带获取中间细节分量,所述中间细节分量的奇数列的系数或偶数行的系数来自所述第三处理子带,所述中间细节分量的偶数列的系数或偶数行的系数来自所述第四处理子带;
对所述中间细节分量和中间近似分量进行所述更新操作和所述预测操作,第五处理子带和第六处理子带,根据所述第五处理子带和第六处理子带获取近似子带Pt‑1,所述近似子带Pt‑1的奇数行的系数或奇数列的系数来自所述第五处理子带,所述近似子带Pt‑1的偶数行的系数或偶数列的系数来自所述第六处理子带;
其中,所述细节子带I(N+1‑t)1、细节子带I(N+1‑t)2和细节子带I(N+1‑t)3的分辨率与所述近似子带PN+1‑t的分辨率相同;当第t次小波反变换为最后一次小波变换时,所述近似子带Pt‑1为所述重建图像。
19.根据权利要求10所述的方法,其特征在于,所述根据小波变换模型对所述反量化后的小波系数进行N次小波反变换,以得到重建图像之后,所述方法还包括:根据后处理模型对所述重建图像进行后处理,以得到处理后的重建图像,其中,所述后处理模型是基于深度神经网络实现的。
20.一种图像编码装置,其特征在于,包括:变换模块,用于根据小波变换模型对待编码图像进行N次小波变换,以得到小波系数,所述小波变换中的预测操作和/或更新操作是基于卷积神经网络CNN实现的,所述N为大于0的整数;
量化模块,用于对所述小波系数进行量化,以得到量化后的小波系数;
熵编码模块,用于对所述量化后的小波系数进行熵编码,得到压缩码流;
其中,所述熵编码模块具体用于:
根据熵编码模型对所述量化后的小波系数进行编码,以得到所述压缩码流,所述小波系数包括3N+1个子带,所述熵编码模型是基于深度神经网络得到实现的,具体包括:将第s个子带输入所述熵编码模型中计算得到待编码系数的累积概率分布函数的参数,所述待编码系数为所述第s个子带中任一个系数,所述第s个子带为所述3N+1个子带中的任意一个子带;
根据所述待编码系数的累积概率分布函数的参数得到所述累积概率分布函数;
根据所述待编码系数及其累积概率分布函数获取所述待编码系数的概率分布;
根据所述待编码系数的概率分布,采用算术编码器对所述待编码系数进行熵编码,以得到所述待编码系数对应的码流,所述压缩码流包括所述待编码系数对应的码流。
21.根据权利要求20所述的装置,其特征在于,所述变换模块具体用于:在进行第i次小波变换时,对子带X进行分解,以得到奇数采样分量和偶数采样分量,其中,所述奇数采样分量由所述子带X中奇数行系数或奇数列系数构成,所述偶数采样分量由所述子带X中偶数行系数或偶数列系数构成,对所述偶数采样分量和奇数采样分量进行更新操作和预测操作,以得到中间近似分量和中间细节分量;
对所述中间近似分量进行分解,以得到第一采样分量和第二采样分量;其中,所述第一采样分量由所述中间近似分量的奇数列的系数或奇数行的系数,所述第二采样分量由所述中间近似分量的偶数列的系数或偶数行的系数构成;
对所述中间细节分量进行分解,以得到第三采样分量和第四采样分量;其中,所述第三采样分量由所述中间细节分量的奇数行的系数或奇数行的系数构成,第四采样分量由所述中间细节分量的偶数列的系数或偶数行的系数构成;
对所述第一采样分量和第二采样分量进行所述更新操作和所述预测操作,以得到近似子带Pi和细节子带Ii1;
对所述第三采样分量和第四采样分量进行所述更新操作和所述预测操作,以得到细节子带Ii2和细节子带Ii3;
其中,所述小波系数包括近似子带Pi、细节子带Ii1、细节子带Ii2和细节子带Ii3;当所述第i次小波变换为第一次小波变换时,所述子带X为所述待编码图像;当所述第i次小波变换不是第一次小波变换时,子带X为近似子带Pi‑1,所述近似子带Pi‑1为进行i‑1次小波变换后得到的近似子带。
22.根据权利要求20或21所述的装置,其特征在于,当所述第s个子带为所述3N+1个子带中的第一个子带时,所述熵编码模型是基于逐像素卷积神经网络(pixelCNN)实现的,所述熵编码模型包括M个卷积层,所述M为大于0的整数,在所述将所述第s个子带输入所述熵编码模型中计算得到待编码系数的累积概率分布函数的参数的方面,所述熵编码模块具体用于:
当M=1时,根据第1个卷积层对应的窗函数对所述第1个卷积层对应的卷积核进行加窗操作,得到第一加窗后的卷积核;
根据所述第一加窗后的卷积核对所述第s个子带进行卷积操作,得到所述待编码系数的累积概率分布函数的参数;
当M大于1时,在进行第j个卷积层的运算时,根据第j个卷积层对应的窗函数对第j个卷积层对应的卷积核进行加窗操作,得到第二加窗后的卷积核;
根据所述第二加窗后的卷积核对所述第j个卷积层的输入数据进行卷积操作,得到第j个输出数据;
其中,当j=1时,所述第j个卷积层的输入数据为所述第一个子带;当j大于1且不大于M时,所述第j个卷积层的输入数据为第j‑1个卷积层的输出数据;当j=M时,所述第j个输出数据包括所述待编码系数的累积概率分布函数的参数。
23.根据权利要求20或21所述的装置,所述熵编码模块具体用于,其特征在于,当所述第s个子带不为所述3N+1个子带中的第一个子带时,所述熵编码模型是包括第一熵编码模型、第二熵编码模型和第三熵编码模型,所述第一熵编码模型和第二熵编码模型均是基于逐像素卷积神经网络实现的,所述第三熵编码模型是基于循环神经网络RNN实现的,所述第一熵编码模型包括T1个卷积层,所述第二熵编码模型包括T2个卷积层,所述T1和T2均为大于0的整数,在所述将所述第s个子带输入所述熵编码模型中计算得到待编码系数的累积概率分布函数的参数的方面,所述熵编码模块具体用于:将第s‑1个子带输入到所述第三熵编码模型中进行计算,以得到第一输出结果;所述第一输出结果为所述第二熵编码模型的输入数据;所述第s个子带为所述第一熵编码模型的输入数据;
当所述T1和T2均等于1时,根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带进行融合操作,得到第二输出结果,所述第二输出结果为所述待编码系数的累积概率分布函数的参数,所述卷积层C1和所述卷积层C2分别为所述第一熵编码模型和第二熵编码模型中的卷积层;或者
当所述T1大于1且所述T2等于1时,根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带进行融合操作,得到所述第二输出结果,所述卷积层C1为所述第一熵编码模型中的第q个卷积层,所述卷积层C2为所述第二熵编码模型中的卷积层;若所述q=T1,则所述第二输出结果为所述待编码系数的累积概率分布函数的参数;若q大于0且小于T1,则所述第二输出结果为所述第一熵编码模型中的第q+1个卷积层的输入数据;或者当所述T1和T2均大于1时,根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带进行融合操作,得到所述第二输出结果;所述卷积层C1为所述第一熵编码模型中的第q1个卷积层,所述卷积层C2为第二熵编码模型中的第q2个卷积层;若所述q1=T1且q2=T2,则所述第二输出结果为所述待编码系数的累积概率分布函数的参数,若所述q1大于0且小于T1,所述q2大于0且小于T2,则所述第二输出结果为所述第一熵编码模型中的第q1+1个卷积层的输入数据,所述卷积层C2的输出结果为所述第二熵编码模型中的第q2+1个卷积层的输入数据。
24.根据权利要求23所述的装置,其特征在于,当所述第s‑1个子带的分辨率与第s个子带的分辨率不相同时,在所述将第s‑1个子带输入到所述第三熵编码模型中进行计算,以得到第一输出结果的方面,所述熵编码模块具体用于:根据所述第三熵编码模型及第三熵编码模型的状态变量对所述第s‑1个子带进行卷积运算,以得到卷积结果;
对所述卷积结果进行上采样,以得到所述第一输出结果,所述第一输出结果的分辨率与所述第s个子带的分辨率相同;
在所述对所述卷积结果进行上采样,以得到所述第一输出结果之后,所述熵编码模块还用于:
对卷积之后的状态变量进行上采样,以得到采样后的状态变量,所述采样后的状态变量与所述第s个子带的分辨率相同。
25.根据权利要求23所述的装置,其特征在于,在所述根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带进行融合操作的方面,所述熵编码模块具体用于:根据第一窗函数对第一卷积核进行加窗操作,以得到加窗后的第一卷积核,所述第一卷积核为所述卷积层C1对应的卷积核;
根据所述加窗后的第一卷积核对第一输入数据进行卷积操作,以得到第一卷积结果;
当所述卷积层C1为所述第一熵编码模型中的第1个卷积层时,所述第一输入数据为所述第s个子带,当所述卷积层C1为所述第一熵编码模型中的非第1个卷积层时,所述第一输入数据是对所述第s个子带进行卷积操作得到的,将第二输入数据输入到所述第二子卷积层进行卷积操作,以得到第二卷积结果;当所述卷积层C2为所述第二熵编码模型中的第1个卷积层时,所述第二输入数据为所述第一输出结果,当所述卷积层C2为所述第二熵编码模型中的非第1个卷积层时,所述第二输入数据是对所述第一输出结果进行卷积操作得到的;
对所述第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到所述第二输出结果。
26.根据权利要求24所述的装置,其特征在于,在所述根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带进行融合操作的方面,所述熵编码模块具体用于:根据第一窗函数对第一卷积核进行加窗操作,以得到加窗后的第一卷积核,所述第一卷积核为所述卷积层C1对应的卷积核;
根据所述加窗后的第一卷积核对第一输入数据进行卷积操作,以得到第一卷积结果;
当所述卷积层C1为所述第一熵编码模型中的第1个卷积层时,所述第一输入数据为所述第s个子带,当所述卷积层C1为所述第一熵编码模型中的非第1个卷积层时,所述第一输入数据是对所述第s个子带进行卷积操作得到的,将第二输入数据输入到所述第二子卷积层进行卷积操作,以得到第二卷积结果;当所述卷积层C2为所述第二熵编码模型中的第1个卷积层时,所述第二输入数据为所述第一输出结果,当所述卷积层C2为所述第二熵编码模型中的非第1个卷积层时,所述第二输入数据是对所述第一输出结果进行卷积操作得到的;
对所述第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到所述第二输出结果。
27.根据权利要求23所述的装置,其特征在于,在所述根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带进行融合操作,以得到第二输出结果的方面,所述熵编码模块具体用于:
根据第一窗函数对第一卷积核进行加窗操作,以得到加窗后的第一卷积核,所述第一卷积核为所述卷积层C1对应的卷积核;
根据第二窗函数对第二卷积核进行加窗操作,以得到加窗后的第二卷积核,所述第二卷积核为所述卷积层C2对应的卷积核,所述第一窗函数和第二窗函数互补;
根据所述加窗后的第一卷积核对第s个子带进行卷积操作,以得到第一卷积结果;当所述卷积层C1为所述第一熵编码模型中的第1个卷积层时,所述第一输入数据为所述第s个子带,当所述卷积层C1为所述第一熵编码模型中的非第1个卷积层时,所述第一输入数据是对所述第s个子带进行卷积操作得到的;
根据所述加窗后的第二卷积核对第一输出结果进行卷积操作,以得到第二卷积结果;
当所述卷积层C2为所述第二熵编码模型中的第1个卷积层时,所述第二输入数据为所述第一输出结果,当所述卷积层C2为所述第二熵编码模型中的非第1个卷积层时,所述第二输入数据是对所述第一输出结果进行卷积操作得到的;
对所述第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到所述第二输出结果。
28.根据权利要求24所述的装置,其特征在于,在所述根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带进行融合操作,以得到第二输出结果的方面,所述熵编码模块具体用于:
根据第一窗函数对第一卷积核进行加窗操作,以得到加窗后的第一卷积核,所述第一卷积核为所述卷积层C1对应的卷积核;
根据第二窗函数对第二卷积核进行加窗操作,以得到加窗后的第二卷积核,所述第二卷积核为所述卷积层C2对应的卷积核,所述第一窗函数和第二窗函数互补;
根据所述加窗后的第一卷积核对第s个子带进行卷积操作,以得到第一卷积结果;当所述卷积层C1为所述第一熵编码模型中的第1个卷积层时,所述第一输入数据为所述第s个子带,当所述卷积层C1为所述第一熵编码模型中的非第1个卷积层时,所述第一输入数据是对所述第s个子带进行卷积操作得到的;
根据所述加窗后的第二卷积核对第一输出结果进行卷积操作,以得到第二卷积结果;
当所述卷积层C2为所述第二熵编码模型中的第1个卷积层时,所述第二输入数据为所述第一输出结果,当所述卷积层C2为所述第二熵编码模型中的非第1个卷积层时,所述第二输入数据是对所述第一输出结果进行卷积操作得到的;
对所述第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到所述第二输出结果。
29.一种图像解码装置,其特征在于,包括:熵解码模块,用于对压缩码流进行熵解码,以得到重构的小波系数;
反量化模块,用于对所述重构的小波系数进行反量化,以得到反量化后的小波系数;
反变换模块,用于根据小波变换模型对所述反量化后的小波系数进行N次小波反变换,以得到重建图像,其中,所述小波反变换中的预测操作和/或更新操作是基于卷积神经网络CNN实现的,所述N为大于0的整数;
所述熵解码模块具体用于:
根据熵解码模型对所述压缩码流进行熵解码,得到所述重构的小波系数,所述熵解码模型是基于深度神经网络实现的,所述压缩码流包括3N+1个子带的码流,具体包括:将第s个子带对应的重构子带输入到所述熵解码模型中计算得到待解码系数的累积概率分布函数的参数,所述待解码系数的码流为所述第s个子带的码流的一部分,所述第s个子带对应的重构子带为所述3N+1个重构子带中的任一个;
根据待解码系数的累积概率分布函数的参数获取所述待解码系数的累积概率分布函数;
根据待解码系数及其累积概率分布函数获取待解码系数的概率分布;
根据所述待解码系数的概率分布,采用算术解码器对所述待解码系数的码流进行熵解码,以得到所述待解码系数,所述3N+1个重构子带包括所述待解码系数。
30.根据权利要求29所述的装置,其特征在于,当所述第s个子带为所述3N+1个子带中的第一个子带时,所述熵解码模型是基于逐像素卷积神经网络pixelCNN实现的,所述熵解码模型包括M个卷积层,所述M为大于0的整数,在所述将所述第s个子带对应的重构子带输入到熵解码模型中计算得到待解码系数的累积概率分布函数的参数的方面,所述熵解码模块具体用于:
当M=1时,根据第1个卷积层对应的窗函数对所述第1个卷积层对应的卷积核进行加窗操作,得到第一加窗后的卷积核;
根据所述第一加窗后的卷积核对所述第s个子带对应的重构子带进行卷积操作,得到所述待解码系数的累积概率分布函数的参数;
当M大于1时,在进行第j个卷积层的运算时,根据第j个卷积层对应的窗函数对第j个卷积层对应的卷积核进行加窗操作,得到第二加窗后的卷积核;
根据所述第二加窗后的卷积核对所述第j个卷积层的输入数据进行卷积操作,得到第j个输出数据;
其中,当j=1时,所述第j个卷积层的输入数据为所述第1个子带对应的重构子带;当j不大于M且大于1时,所述第j个卷积层的输入数据为第j‑1个卷积层的输出数据;当j=M时,所述第j个输出数据包括所述待解码系数的累积概率分布函数的参数。
31.根据权利要求29所述的装置,其特征在于,当所述第s个子带不为所述3N+1个子带中的第一个子带时,所述熵解码模型是包括第一熵解码模型、第二熵解码模型和第三熵解码模型,所述第一熵解码模型和第三熵解码模型均是基于逐像素卷积神经网络实现的,所述第三熵解码模型是基于循环神经网络RNN实现的,所述第一熵解码模型包括T1个卷积层,所述第二熵解码模型包括T2卷积层,所述T1和T2均为大于0的整数,在所述将所述第s个子带对应的重构子带输入到熵解码模型中计算得到待解码系数的累积概率分布函数的参数的方面,所述熵解码模块具体用于:
将第s‑1个子带对应的重构子带输入到第三熵解码模型中进行计算,以得到第一输出结果,所述第s‑1个子带对应的重构子带是对第s‑1个子带的码流进行熵解码得到的,所述第一输出结果为所述第二熵解码模型的输入数据;所述第s个子带对应的重构子带为所述第一熵解码模型的输入数据;
当所述T1和T2均等于1时,根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带对应的重构子带进行融合操作,得到第二输出结果,所述第二输出结果为所述待解码系数的累积概率分布函数的参数,所述卷积层C1和所述卷积层C2分别为所述第一熵解码模型和第二熵解码模型中的卷积层;或者当所述T1大于1且所述T2等于1时,根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带对应的重构子带进行融合操作,得到所述第二输出结果,所述卷积层C1为所述第一熵解码模型中的第q个卷积层,所述卷积层C2为所述第二熵解码模型中的卷积层;若所述q=T1,则所述第二输出结果为所述待解码系数的累积概率分布函数的参数;若q大于0且小于T1,则所述第二输出结果为所述第一熵解码模型中的第q+1个卷积层的输入数据;或者当所述T1和T2均大于1时,根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带对应的重构子带进行融合操作,得到所述第二输出结果;所述卷积层C1为所述第一熵解码模型中的第q1个卷积层,所述卷积层C2为第二熵解码模型中的第q2个卷积层;若所述q1=T1且q2=T2,则所述第二输出结果为所述待解码系数的累积概率分布函数的参数,若所述q1大于0且小于T1,所述q2大于0且小于T2,则所述第二输出结果为所述第一熵解码模型中的第q1+1个卷积层的输入数据,所述卷积层C2的输出结果为所述第二熵解码模型中的第q2+1个卷积层的输入数据。
32.根据权利要求31所述的装置,其特征在于,当所述第s‑1个子带对应的重构子带的分辨率与所述第s个子带对应的重构子带的分辨率不相同时,在所述将第s‑1个子带对应的重构子带输入到所述第三熵解码模型中进行计算,以得到第一输出结果的方面,所述熵解码模块具体用于:
根据所述第三熵解码模型及第三熵编码模型的对第s‑1个子带对应的重构子带进行卷积运算,得到卷积结果;
对所述卷积结果进行上采样,以得到所述第一输出结果,所述第一输出结果的分辨率与所述第s个子带对应的重构子带的分辨率相同;
在所述对所述卷积结果进行上采样,以得到所述第一输出结果之后,所述熵解码模块还具体用于:
对卷积之后的状态变量进行上采样,以得到采样后的状态变量,所述采样后的状态变量与ss第s个子带的分辨率相同。
33.根据权利要求31或32所述的装置,其特征在于,所述根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带对应的重构子带进行融合操作,以得到第二输出结果,所述熵解码模块具体用于:
根据第一窗函数对第一卷积核进行加窗操作,以得到加窗后的第一卷积核,所述第一卷积核为所述卷积层C1对应的卷积核;
根据所述加窗后的第一卷积核对第一输入数据进行卷积操作,以得到第一卷积结果;
当所述卷积层C1为所述第一熵解码模型中的第1个卷积层时,所述第一输入数据为所述第s个子带对应的重构子带,当所述卷积层C1为所述第一熵解码模型中的非第1个卷积层时,所述第一输入数据是对所述第s个子带对应的重构子带进行卷积操作得到的;
将所述第二输入数据输入到第二子卷积层进行卷积操作,以得到第二卷积结果;当所述卷积层C2为第二熵解码模型中的第1个卷积层时,所述第二输入数据为所述第一输出结果,当所述卷积层C2为所述第二熵解码模型中的非第1个卷积层时,所述第二输入数据是对所述第一输出结果进行卷积操作得到的;
对所述第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到所述第二输出结果。
34.根据权利要求31或32所述的装置,其特征在于,在所述根据卷积层C1和卷积层C2对所述第一输出结果和所述第s个子带对应的重构子带进行融合操作,以得到第二输出结果的方面,所述熵解码模块具体用于:
根据第一窗函数对第一卷积核进行加窗操作,以得到加窗后的第一卷积核,所述第一卷积核为所述卷积层C1对应的卷积核;
根据第二窗函数对第二卷积核进行加窗操作,以得到加窗后的第二卷积核,所述第二卷积核为所述卷积层C2对应的卷积核,所述第一窗函数和第二窗函数互补;
根据所述加窗后的第一卷积核对第一输入数据进行卷积操作,以得到第一卷积结果;
当所述卷积层C1为所述第一熵解码模型中的第1个卷积层时,所述第一输入数据为所述第s个子带对应的重构子带,当所述卷积层C1为所述第一熵解码模型中的非第1个卷积层时,所述第一输入数据是对所述第s个子带对应的重构子带进行卷积操作得到的根据所述加窗后的第二卷积核对第二输入数据进行卷积操作,以得到第二卷积结果;
当所述卷积层C2为第二熵解码模型中的第1个卷积层时,所述第二输入数据为所述第一输出结果,当所述卷积层C2为所述第二熵解码模型中的非第1个卷积层时,所述第二输入数据是对所述第一输出结果进行卷积操作得到的;
对所述第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到所述第二输出结果。
35.根据权利要求29‑32任一项所述的装置,其特征在于,所述反变换模块具体用于,包括:
在进行第t次小波反变换时,对近似子带PN+1‑t和细节子带I(N+1‑t)1进行更新操作和预测操作,得到第一处理子带和第二处理子带,根据所述第一处理子带和第二处理子带获取中间近似分量,所述中间近似分量的奇数列的系数或奇数行的系数来自所述第一处理子带,所述中间近似分量的偶数列的系数或偶数行的系数来自所述第二处理子带;
对细节子带I(N+1‑t)2和细节子带I(N+1‑t)3进行所述更新操作和所述预测操作,得到第三处理子带和第四处理子带,根据所述第三处理子带和第四处理子带获取中间细节分量,所述中间细节分量的奇数列的系数或偶数行的系数来自所述第三处理子带,所述中间细节分量的偶数列的系数或偶数行的系数来自所述第四处理子带;
对所述中间细节分量和中间近似分量进行所述更新操作和所述预测操作,第五处理子带和第六处理子带,根据所述第五处理子带和第六处理子带获取近似子带Pt‑1,所述近似子带Pt‑1的奇数行的系数或奇数列的系数来自所述第五处理子带,所述近似子带Pt‑1的偶数行的系数或偶数列的系数来自所述第六处理子带;
其中,所述细节子带I(N+1‑t)1、细节子带I(N+1‑t)2和细节子带I(N+1‑t)3的分辨率与所述近似子带PN+1‑t的分辨率相同;当第t次小波反变换为最后一次小波变换时,所述近似子带Pt‑1为所述重建图像。
36.根据权利要求33所述的装置,其特征在于,所述反变换模块具体用于,包括:在进行第t次小波反变换时,对近似子带PN+1‑t和细节子带I(N+1‑t)1进行更新操作和预测操作,得到第一处理子带和第二处理子带,根据所述第一处理子带和第二处理子带获取中间近似分量,所述中间近似分量的奇数列的系数或奇数行的系数来自所述第一处理子带,所述中间近似分量的偶数列的系数或偶数行的系数来自所述第二处理子带;
对细节子带I(N+1‑t)2和细节子带I(N+1‑t)3进行所述更新操作和所述预测操作,得到第三处理子带和第四处理子带,根据所述第三处理子带和第四处理子带获取中间细节分量,所述中间细节分量的奇数列的系数或偶数行的系数来自所述第三处理子带,所述中间细节分量的偶数列的系数或偶数行的系数来自所述第四处理子带;
对所述中间细节分量和中间近似分量进行所述更新操作和所述预测操作,第五处理子带和第六处理子带,根据所述第五处理子带和第六处理子带获取近似子带Pt‑1,所述近似子带Pt‑1的奇数行的系数或奇数列的系数来自所述第五处理子带,所述近似子带Pt‑1的偶数行的系数或偶数列的系数来自所述第六处理子带;
其中,所述细节子带I(N+1‑t)1、细节子带I(N+1‑t)2和细节子带I(N+1‑t)3的分辨率与所述近似子带PN+1‑t的分辨率相同;当第t次小波反变换为最后一次小波变换时,所述近似子带Pt‑1为所述重建图像。
37.根据权利要求34所述的装置,其特征在于,所述反变换模块具体用于,包括:在进行第t次小波反变换时,对近似子带PN+1‑t和细节子带I(N+1‑t)1进行更新操作和预测操作,得到第一处理子带和第二处理子带,根据所述第一处理子带和第二处理子带获取中间近似分量,所述中间近似分量的奇数列的系数或奇数行的系数来自所述第一处理子带,所述中间近似分量的偶数列的系数或偶数行的系数来自所述第二处理子带;
对细节子带I(N+1‑t)2和细节子带I(N+1‑t)3进行所述更新操作和所述预测操作,得到第三处理子带和第四处理子带,根据所述第三处理子带和第四处理子带获取中间细节分量,所述中间细节分量的奇数列的系数或偶数行的系数来自所述第三处理子带,所述中间细节分量的偶数列的系数或偶数行的系数来自所述第四处理子带;
对所述中间细节分量和中间近似分量进行所述更新操作和所述预测操作,第五处理子带和第六处理子带,根据所述第五处理子带和第六处理子带获取近似子带Pt‑1,所述近似子带Pt‑1的奇数行的系数或奇数列的系数来自所述第五处理子带,所述近似子带Pt‑1的偶数行的系数或偶数列的系数来自所述第六处理子带;
其中,所述细节子带I(N+1‑t)1、细节子带I(N+1‑t)2和细节子带I(N+1‑t)3的分辨率与所述近似子带PN+1‑t的分辨率相同;当第t次小波反变换为最后一次小波变换时,所述近似子带Pt‑1为所述重建图像。
38.根据权利要求29所述的装置,其特征在于,所述装置还包括:后处理模块,用于在所述反变换模块根据小波变换模型对所述反量化后的小波系数进行N次小波反变换,以得到重建图像之后,根据后处理模型对所述重建图像进行后处理,以得到处理后的重建图像,其中,所述后处理模型是基于深度神经网络实现的。
说明书 :
基于小波变换的图像编解码方法及装置
技术领域
背景技术
为采样值。
像,第一步通过变换对待编码图像进行去相关,得到能量分布更加集中的变换系数;第二步
对变换系数进行量化,得到量化系数;第三步对量化系数进行熵编码得到压缩码流。
码任务。
复杂性和多样性。同时,二维小波变换通过行和列方向的一维小波变换组合而成,适合处理
具有行和列方向的特征,对于其他方向的特征以及非方向特征,处理能力较弱。
在编码时,首先通过方向小波对图像进行小波变换,得到小波系数;然后对小波系数进行量
化和熵编码得到压缩码流。在图像解码时,首先对压缩码流进行熵解码和反量化得到重构
的小波系数,然后进行方向小波反变换得到重建图像。方向小波的基本思路是设计一组有
限数量的方向基函数,无法从本质上紧致表达任意方向的空间相关性。其次,方向小波一般
生成数量冗余的系数,应用在图像编码中不利于压缩比的提高。最后,方向小波只针对性的
处理图像中的不同方向特征,没有根本上解决自然图像特征的多样性和复杂性与人工设计
的小波基函数的理想性和简单性之间的矛盾。因此方向小波应用于图像编码效率不高。
数,然后将小波基函数旋转到对应的方向,以针对性的处理该图像块中特定方向的特征,完
成变换步骤,得到小波系数,小波系数将通过子带编码方法,得到压缩码流。同时方向参数
也将被写入压缩码流,以支持正常的解码过程;在解码时,首先对压缩码流进行熵解码和反
量化,得到重构小波系数,同时从压缩码流中提取出方向参数。利用重构小波系数和方向参
数,进行自适应方向小波反变换,得到重建图像。虽然自适应方向小波可以针对图像本身的
方向特征自适应选择对应方向的小波基函数,克服了方向小波只能使用有限数量的基函数
的缺点。然而,基于块划分的方向参数选择依赖于多次编码决策过程,极大的增加了编码复
杂度。同时自适应方向小波仍然没有解决自然图像特征的多样性和复杂性与人工设计的小
波基函数的理想性和简单性之间的矛盾。
发明内容
函数的理想性和简单性之间的矛盾。
的小波系数;对量化后的小波系数进行熵编码,得到压缩码流。
波变换提供更加紧致的变换域表达,从而显著提高编解码性能。
偶数行系数或偶数列系数构成;
数列的系数或偶数行的系数构成;
的偶数列的系数或偶数行的系数构成;
Ii2和细节子带Ii3;
变换时,子带X为近似子带Pi‑1,近似子带Pi‑1为进行i‑1次小波变换后得到的近似子带。
尝试选择最优的方向参数相比,具有时间复杂度低的优势,解决了自然图像特征的多样性
和复杂性与人工设计的小波基函数的理想性和简单性之间的矛盾。
据待编码系数的累积概率分布函数的参数得到累积概率分布函数;根据待编码系数及其累
积概率分布函数获取待编码系数的概率分布;根据待编码系数的概率分布,采用算术编码
器对待编码系数进行熵编码,以得到待编码系数对应的码流,压缩码流包括待编码系数对
应的码流。
数,将s个子带输入熵编码模型中计算得到待编码系数的累积概率分布函数的参数,包括:
到待编码系数的累积概率分布函数的参数;当M大于1时,在进行第j个卷积层的运算时,根
据第j个卷积层对应的窗函数对第j个卷积层对应的卷积核进行加窗操作,得到第二加窗后
的卷积核;根据第二加窗后的卷积核对第j个卷积层的输入数据进行卷积操作,得到第j个
输出数据;
码系数的累积概率分布函数的参数。
熵编码模型均是基于逐像素卷积神经网络实现的,第三熵编码模型是基于循环神经网络
RNN实现的,第一熵编码模型包括T1个卷积层,第二熵编码模型包括T2个卷积层,T1和T2均
为大于0的整数,将s个子带输入熵编码模型中计算得到待编码系数的累积概率分布函数的
参数,包括:
卷积层C1和卷积层C2分别为第一熵编码模型和第二熵编码模型中的卷积层;或者
C2为第二熵编码模型中的卷积层;若q=T1,则第二输出结果为待编码系数的累积概率分布
函数的参数;若q大于0且小于T1,则第二输出结果为第一熵编码模型中的第q+1个卷积层的
输入数据;或者
第二熵编码模型中的第q2个卷积层;若q1=T1且q2=T2,则第二输出结果为待编码系数的
累积概率分布函数的参数,若q1大于0且小于T1,q2大于0且小于T2,则第二输出结果为第一
熵编码模型中的第q1+1个卷积层的输入数据,卷积层C2的输出结果为第二熵编码模型中的
第q2+1个卷积层的输入数据。
作,以得到第一卷积结果;当卷积层C1为第一熵编码模型中的第1个卷积层时,第一输入数
据为第s个子带,当卷积层C1为第一熵编码模型中的非第1个卷积层时,第一输入数据是对
第s个子带进行卷积操作得到的,将第二输入数据输入到第二子卷积层进行卷积操作,以得
到第二卷积结果;当卷积层C2为第二熵编码模型中的第1个卷积层时,第二输入数据为第一
输出结果,当卷积层C2为第二熵编码模型中的非第1个卷积层时,第二输入数据是对第一输
出结果进行卷积操作得到的;对第一卷积结果和第二卷积结果进行相加或堆叠操作,以得
到第二输出结果。
第一熵编码模型中的非第1个卷积层时,第一输入数据是对第s个子带进行卷积操作得到
的;根据加窗后的第二卷积核对第一输出结果进行卷积操作,以得到第二卷积结果;当卷积
层C2为第二熵编码模型中的第1个卷积层时,第二输入数据为第一输出结果,当卷积层C2为
第二熵编码模型中的非第1个卷积层时,第二输入数据是对第一输出结果进行卷积操作得
到的;对第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到第二输出结果。
换,以得到重建图像,其中,小波变换模型是基于卷积神经网络CNN实现的,N为大于0的整
数。
构子带为3N+1个重构子带中的任一个;根据待解码系数的累积概率分布函数的参数获取待
解码系数的累积概率分布函数;根据待解码系数及其累积概率分布函数获取待解码系数的
概率分布;根据待解码系数的概率分布,采用算术解码器对待解码系数的码流进行熵解码,
以得到待解码系数,3N+1个重构子带包括待解码系数。
数,将第s个子带对应的重构子带输入到熵解码模型中计算得到待解码系数的累积概率分
布函数的参数,包括:
行卷积操作,得到待解码系数的累积概率分布函数的参数;
核对第j个卷积层的输入数据进行卷积操作,得到第j个输出数据;
出数据包括待解码系数的累积概率分布函数的参数。
熵解码模型均是基于逐像素卷积神经网络实现的,第三熵解码模型是基于循环神经网络
RNN实现的,第一熵解码模型包括T1个卷积层,第二熵解码模型包括T2卷积层,T1和T2均为
大于0的整数,将第s个子带对应的重构子带输入到熵解码模型中计算得到待解码系数的累
积概率分布函数的参数,包括:
出结果为第二熵解码模型的输入数据;第s个子带对应的重构子带为第一熵解码模型的输
入数据;
布函数的参数,卷积层C1和卷积层C2分别为第一熵解码模型和第二熵解码模型中的卷积
层;或者
卷积层,卷积层C2为第二熵解码模型中的卷积层;若q=T1,则第二输出结果为待解码系数
的累积概率分布函数的参数;若q大于0且小于T1,则第二输出结果为第一熵解码模型中的
第q+1个卷积层的输入数据;或者
积层,卷积层C2为第二熵解码模型中的第q2个卷积层;若q1=T1且q2=T2,则第二输出结果
为待解码系数的累积概率分布函数的参数,若q1大于0且小于T1,q2大于0且小于T2,则第二
输出结果为第一熵解码模型中的第q1+1个卷积层的输入数据,卷积层C2的输出结果为第二
熵解码模型中的第q2+1个卷积层的输入数据。
中进行计算,以得到第一输出结果,包括:
结果的分辨率与第s个子带对应的重构子带的分辨率相同;
子带,当卷积层C1为第一熵解码模型中的非第1个卷积层时,第一输入数据是对第s个子带
对应的重构子带进行卷积操作得到的;
为第二熵解码模型中的非第1个卷积层时,第二输入数据是对第一输出结果进行卷积操作
得到的;对第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到第二输出结果。
加窗后的第二卷积核,该第二卷积核为卷积层C2对应的卷积核,第一窗函数和第二窗函数
互补;
子带,当卷积层C1为第一熵解码模型中的非第1个卷积层时,第一输入数据是对第s个子带
对应的重构子带进行卷积操作得到的。
层C2为第二熵解码模型中的非第1个卷积层时,第二输入数据是对第一输出结果进行卷积
操作得到的;对第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到第二输出结果。
间近似分量,中间近似分量的奇数列的系数或奇数行的系数来自第一处理子带,中间近似
分量的偶数列的系数或偶数行的系数来自第二处理子带;
量的奇数列的系数或偶数行的系数来自第三处理子带,中间细节分量的偶数列的系数或偶
数行的系数来自第四处理子带;
系数或奇数列的系数来自第五处理子带,近似子带Pt‑1的偶数行的系数或偶数列的系数来
自第六处理子带;
图像。
数行系数或偶数列系数构成,
数列的系数或偶数行的系数构成;
的偶数列的系数或偶数行的系数构成;
Ii2和细节子带Ii3;
变换时,子带X为近似子带Pi‑1,近似子带Pi‑1为进行i‑1次小波变换后得到的近似子带。
据待编码系数的累积概率分布函数的参数得到累积概率分布函数;根据待编码系数及其累
积概率分布函数获取待编码系数的概率分布;根据待编码系数的概率分布,采用算术编码
器对待编码系数进行熵编码,以得到待编码系数对应的码流,压缩码流包括待编码系数对
应的码流。
数,在将s个子带输入熵编码模型中计算得到待编码系数的累积概率分布函数的参数的方
面,熵编码模块具体用于:
到待编码系数的累积概率分布函数的参数;
核对第j个卷积层的输入数据进行卷积操作,得到第j个输出数据;
码系数的累积概率分布函数的参数。
熵编码模型均是基于逐像素卷积神经网络实现的,第三熵编码模型是基于RNN实现的,第一
熵编码模型包括T1个卷积层,第二熵编码模型包括T2个卷积层,T1和T2均为大于0的整数,
在将s个子带输入熵编码模型中计算得到待编码系数的累积概率分布函数的参数的方面,
熵编码模块具体用于:
积层C1和卷积层C2分别为第一熵编码模型和第二熵编码模型中的卷积层;或者
C2为第二熵编码模型中的卷积层;若q=T1,则第二输出结果为待编码系数的累积概率分布
函数的参数;若q大于0且小于T1,则第二输出结果为第一熵编码模型中的第q+1个卷积层的
输入数据;或者
第二熵编码模型中的第q2个卷积层;若q1=T1且q2=T2,则第二输出结果为待编码系数的
累积概率分布函数的参数,若q1大于0且小于T1,q2大于0且小于T2,则第二输出结果为第一
熵编码模型中的第q1+1个卷积层的输入数据,卷积层C2的输出结果为第二熵编码模型中的
第q2+1个卷积层的输入数据。
编码模块具体用于:
C1为第一熵编码模型中的非第1个卷积层时,第一输入数据是对第s个子带进行卷积操作得
到的,
为第二熵编码模型中的非第1个卷积层时,第二输入数据是对第一输出结果进行卷积操作
得到的;对第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到第二输出结果。
第一熵编码模型中的非第1个卷积层时,第一输入数据是对第s个子带进行卷积操作得到
的;
层C2为第二熵编码模型中的非第1个卷积层时,第二输入数据是对第一输出结果进行卷积
操作得到的;对第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到第二输出结果。
构子带为3N+1个重构子带中的任一个;根据待解码系数的累积概率分布函数的参数获取待
解码系数的累积概率分布函数;根据待解码系数及其累积概率分布函数获取待解码系数的
概率分布;根据待解码系数的概率分布,采用算术解码器对待解码系数的码流进行熵解码,
以得到待解码系数,3N+1个重构子带包括待解码系数。
数,在将第s个子带对应的重构子带输入到熵解码模型中计算得到待解码系数的累积概率
分布函数的参数的方面,熵解码模块具体用于:
出数据包括待解码系数的累积概率分布函数的参数。
熵解码模型均是基于逐像素卷积神经网络实现的,第三熵解码模型是基于循环神经网络
RNN实现的,第一熵解码模型包括T1个卷积层,第二熵解码模型包括T2卷积层,T1和T2均为
大于0的整数,在将第s个子带对应的重构子带输入到熵解码模型中计算得到待解码系数的
累积概率分布函数的参数的方面,熵解码模块具体用于:
出结果为第二熵解码模型的输入数据;第s个子带对应的重构子带为第一熵解码模型的输
入数据;
布函数的参数,卷积层C1和卷积层C2分别为第一熵解码模型和第二熵解码模型中的卷积
层;或者
卷积层,卷积层C2为第二熵解码模型中的卷积层;若q=T1,则第二输出结果为待解码系数
的累积概率分布函数的参数;若q大于0且小于T1,则第二输出结果为第一熵解码模型中的
第q+1个卷积层的输入数据;或者
积层,卷积层C2为第二熵解码模型中的第q2个卷积层;若q1=T1且q2=T2,则第二输出结果
为待解码系数的累积概率分布函数的参数,若q1大于0且小于T1,q2大于0且小于T2,则第二
输出结果为第一熵解码模型中的第q1+1个卷积层的输入数据,卷积层C2的输出结果为第二
熵解码模型中的第q2+1个卷积层的输入数据。
型中进行计算,以得到第一输出结果的方面,熵解码模块具体用于:
子带,当卷积层C1为第一熵解码模型中的非第1个卷积层时,第一输入数据是对第s个子带
对应的重构子带进行卷积操作得到的;
为第二熵解码模型中的非第1个卷积层时,第二输入数据是对第一输出结果进行卷积操作
得到的;
子带,当卷积层C1为第一熵解码模型中的非第1个卷积层时,第一输入数据是对第s个子带
对应的重构子带进行卷积操作得到的;
层C2为第二熵解码模型中的非第1个卷积层时,第二输入数据是对第一输出结果进行卷积
操作得到的;对第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到第二输出结果。
间近似分量,中间近似分量的奇数列的系数或奇数行的系数来自第一处理子带,中间近似
分量的偶数列的系数或偶数行的系数来自第二处理子带;
量的奇数列的系数或偶数行的系数来自第三处理子带,中间细节分量的偶数列的系数或偶
数行的系数来自第四处理子带;
系数或奇数列的系数来自第五处理子带,近似子带Pt‑1的偶数行的系数或偶数列的系数来
自第六处理子带;
图像。
后的重建图像,其中,后处理模型是基于深度神经网络实现的。
得到3N张重建图像;根据训练图像和3N张重建图像计算损失值,该损失值
其中,Ri为3N张重建图像中的第i张,I为训练图像;重复上述方法多次,
若损失值L的范围波动很小,则确定小波变换模型训练完毕;否则,按照上述方法继续训练
小波变换模型。
二方面或第三方面中所述方法的部分或全部步骤。
附图说明
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
具体实施方式
具体参见图2,图2为本申请实施例提供的一种基于小波变换的图像编码方法的流程示意
图。如图2所示,该方法包括:
量和偶数采样分量获取中间近似分量,该中间近似分量的分辨率与奇数采样分量和偶数采
样分量的分辨率一致,且该中间近似分量中每个系数为奇数采样分量和偶数采样分量中对
应位置的系数之和的1/2;根据小波变换模型使用中间近似分量对偶数采样分量进行预测,
以得到第一预测分量,该第一预测分量的分辨率与中间近似分量的分辨率一致;根据偶数
采样分量和第一预测分量获取中间细节分量,该中间细节分量中每个系数为偶数采样分量
和第一预测分量对应位置的系数之差。
量由中间近似分量中偶数列的系数或偶数行的系数构成。根据第一近似采样分量和第二近
似采样分量获取近似子带Pi,近似子带Pi的分辨率与第一近似采样分量和第二近似采样分
量的分辨率相同,且近似子带Pi中每个系数为第一近似采样分量和第二近似采样分量中对
应位置的系数之和的1/2;小波变换模型使用近似子带Pi对第二近似采样分量进行预测,以
得到第二预测分量,第二预测分量的分辨率与近似子带Pi的分辨率一致;根据第二近似采
样分量和第二预测分量获取细节子带Ii1,该细节子带Ii1的分辨率与第二近似采样分量和
第二预测分量的分辨率相同该细节子带Ii1中每个系数为第二近似采样分量和第二预测分
量对应位置的系数之差。
致。
对待编码图像进行一次完整的基于深度神经网络的小波变换共利用基于CNN的小波变换模
型3次。
到近似子带P2、细节子带I21、细节子带I22和细节子带I23,至此共得到1个近似子带和6个细
节图像;对待编码图像进行第3次小波变换具体是对待编码图像进行第2次小波变换后得到
的近似子带P2进行小波变换,又可得到近似子带P3、细节子带I31、细节子带I32和细节子带
I33。至此共得到1个近似子带和9个细节子带。以此类推,在对待编码图像进行N次小波变换
后,共得到1张近似图像和3*N个细节子带。因此在对待编码图像进行N次小波变换后,共得
到3*N+1子带。
用tanh激活函数;“3×3×12/tanh”表示当前卷积层使用尺寸为3×3的卷积核生成12个特
征图,并在之后使用tanh激活函数;“1×1×48/tanh”表示当前卷积层使用尺寸为1×1的卷
积核生成48个特征图,并在之后使用tanh激活函数;“1×1×48/linear”表示当前卷积层使
用尺寸为1×1的卷积核生成48个特征图,之后不使用激活函数;“concat”表示特征图的堆
叠操作。
transforms,EZW)编码,多级树集合分裂(set partitioning in hierarchical trees,
SPIHT)算法,优化截取内嵌码块编码(embedded block coding with optimized
truncation,EBCOT)等,可以结合具体的要求在此步骤进行选择,具体量化和熵编码过程在
此不再叙述。
到重建图像。具体参见图6,图6为本申请实施例提供的一种基于小波变换的图像解码方法
的流程示意图。如图6所示,该方法包括:
近似子带PN+1‑t在编码阶段同时生成。根据近似子带PN+1‑t获取第一放大分量,该第一放大分
量的中每个系数为近似子带PN+1‑t中对应位置的系数的2倍;根据小波变换模型使用近似子
带PN+1‑t进行预测,以得到第一预测近似分量;根据该第一预测近似分量与细节子带I(N+1‑t)1
获取第一偶数采样分量,该第一偶数采样分量中每个系数为第一预测近似分量和细节子带
I(N+1‑t)1中对应位置的系数之和;根据第一放大分量和第一偶数采样分量获取第一奇数采样
分量,第一奇数采样分量中每个系数为第一放大分量和第一偶数采样分量中对应位置的系
数之差;对第一偶数采样分量和第一奇数采样分量进行合并,以得到中间近似分量,该中间
近似分量的行(或列)分辨率为近似子带PN+1‑t的分辨率的2倍。中间近似分量中的奇数行的
系数或奇数列的系数来自第一奇数采样分量,中间近似分量中的偶数行的系数或偶数列的
系数来自第一偶数采样分量。换言之,中间近似分量中的奇数行的系数或奇数列的系数为
第一奇数采样分量中的部分或全部,中间近似分量中的偶数行的系数或偶数列的系数为第
一偶数采样分量的部分或全部。
得到第一预测细节分量;根据该第一预测细节分量与细节子带I(N+1‑t)3获取第二偶数采样分
量;根据第二放大分量和第二偶数采样分量获取第二奇数采样分量,第二奇数采样图像中
每个系数为第二放大分量和第二偶数采样分量中对应位置的系数之差;对第二偶数采样分
量和第二奇数采样分量进行合并,以得到中间细节分量,中间细节分量的列或行分辨率为
细节子带I(N+1‑t)2或细节子带I(N+1‑t)3的列或行分辨率的2倍。中间细节分量中的奇数列的系
数或奇数行的系数来自第二奇数采样分量,中间细节分量中的偶数列的系数或偶数行的系
数来自第二偶数采样分量。换言之,中间细节分量中的奇数列的系数或奇数行的系数为第
二奇数采样分量中的部分或全部,中间细节分量中的偶数列的系数或偶数行的系数为第二
偶数采样分量中的部分或全部。
一预测分量;根据该第一预测分量与中间细节分量获取第三偶数采样分量;根据第三放大
分量和第三偶数采样分量获取第三奇数采样分量,第三奇数采样分量中每个系数为第三放
大分量和第三偶数采样分量中对应位置的系数之差;对第三偶数采样分量和第三奇数采样
分量进行合并,以得到近似子带PN‑t,近似子带PN‑t的分辨率为近似子带PN+1‑t的分辨率的2
倍。近似子带PN‑t中的奇数行的系数或奇数列的系数来自第三奇数采样分量,近似子带PN‑t
中的偶数行的系数或偶数列的系数来自第三偶数采样分量。换言之,近似子带PN‑t中的奇数
行的系数或奇数列的系数为第三奇数采样分量的部分或全部,近似子带PN‑t中的偶数行的
系数或偶数列的系数为第三偶数采样分量的部分或全部。
带IN2和细节子带IN3,其中,细节子带IN1和近似子带PN是同时得到的,进行第1次小波反变换
的对象是近似子带PN、细节子带IN1、细节子带IN2和细节子带IN3,进行第2次小波反变换的对
象是近似子带PN‑1、细节子带I(N‑1)1、细节子带I(N‑1)2和细节子带I(N‑1)3,进行第3次小波反变
换的对象是近似子带PN‑2、细节子带I(N‑2)1、细节子带I(N‑2)2和细节子带I(N‑2)3,以此类推,进
行第t次的小波反变换的对象是近似子带PN+1‑t、细节子带I(N+1‑t)1、细节子带I(N+1‑t)2和细节
子带I(N+1‑t)3。
化后的小波变换模型依次对1,2,3,……,3N个子带进行小波反变换,得到3N张重建图像,具
体过程可参见图6所示实施例的相关描述在此不再叙述。进行小波反变换时选择子带的顺
序参见图9,图9是以N=2进行展示的。根据训练图像和3N张重建图像计算损失值,该损失值
其中,Ri为3N张重建图像中的第i张,I为训练图像。根据该损失值更新
小波变换模型中的参数,得到新的小波变换模型。
失值趋近于某一数值,则确定小波变换模型训练完毕,该预设范围;否则继续按照上述方法
更新小波变换模型中的参数,再按照上述方法获取损失值,继续进行训练。
经网络进行小波变换得到的各个子带的能量,根据预设算法得到3N+1子带的增益系数,在
子带编码过程中,将经过小波变换后得到小波系数乘以对应的增益系数,得到最终的小波
系数;在解码过程中将解码重构的小波系数除以对应的增益系数,再进行小波反变换,得到
重建图像。
经网络的小波变换模型是使用大量自然图像通过训练方法优化得到,因此可以比传统的小
波变换提供更加紧致的变换域表达,从而显著提高编解码性能。在借助GPU实现该小波变换
模型的功能时,具有与传统的小波变换相当的速度,与自适应方向小波通过多次编码尝试
选择最优的方向参数相比,具有时间复杂度低的优势,解决了自然图像特征的多样性和复
杂性与人工设计的小波基函数的理想性和简单性之间的矛盾。
的小波系数;对量化后的小波系数进行基于深度神经网络的熵编码,得到压缩码流。具体过
程参见图11,图11为本申请实施例提供的另一种基于小波变换的图像编码方法的流程示意
图。如图11所示,该方法包括:
X的偶数行的系数或偶数列的系数构成的。根据预测模型使用奇数采样分量进行预测,得到
预测分量,预测分量的分辨率与奇数采样分量的分辨率一致;根据预测分量和偶数采样分
量获取待中间细节分量,中间细节分量中每个系数为偶数采样分量与预测分量中对应位置
的系数之差的b倍。根据更新模型使用中间细节分量进行更新操作,得到更新分量,该更新
分量的分辨率与中间细节分量的分辨率一致。根据奇数采样分量和更新分量获取中间近似
分量,中间近似分量中的每个系数为奇数采样分量和更新分量对应位置的系数之和的a倍;
得到的细节子带和近似子带,共3N+1个子带。
的系数构成的;根据预测模型使用奇数采样分量进行预测,以得到第一预测分量;根据偶数
采样分量和第一预测分量获取第一辅助更新分量,该第一辅助更新分量中每个系数为偶数
采样分量和第一预测分量中对应位置系数之差;根据更新模型使用第一辅助更新分量进行
更新,以得到第一更新分量;根据第一更新分量和奇数采样分量获取第一辅助预测分量,该
第一辅助预测分量的每个系数为第一更新分量和奇数采样分量对应位置的系数之和;根据
预测模型使用第一辅助预测分量进行预测操作,以得到第二预测分量,根据第一辅助更新
分量和第二预测分量获取第二辅助更新分量,第二辅助更新分量中每个系数为第一辅助更
新分量和第二预测分量对应位置的系数之差,根据第二辅助更新分量获取中间细节分量,
中间细节分量中每个系数为第二辅助更新分量中对应位置的系数的b倍;根据更新模型使
用第二辅助更新分量获取第二更新分量;根据第一更新分量和第二更新分量获取中间近似
分量,中间近似分量中每个系数为第一更新分量和第二更新分量中对应位置系数之和的a
倍。其中,a和b为缩放参数,为小波变换模型参数的一部分。
得到的细节子带和近似子带,共3N+1个子带。
更新和预测的次数还可以是其他值,本申请对预测和更新的次数不作限定。
征图,不使用激活函数;“tanh/3×3×16”表示当前卷积层使用尺寸为3×3的卷积核,并经
过当前卷积层后生成16个特征图,并将tanh作为激活函数。
根据待编码系数的累积概率分布函数分布的参数得到待编码系数的累积概率分布函数;根
据待编码系数及其累积概率分布函数获取待编码系数的概率分布;根据待编码系数的概率
分布,采用算术编码器对待编码系数进行熵编码,以得到待编码系数对应的码流,压缩码流
包括待编码系数对应的码流。
节子带采样不同的编码方式,即对第1个子带和非第1个子带中系数的累积概率分布函数的
参数采用不同的方式获取。
整数,将第s个子带输入到熵编码模型中进行计算得到待编码系数的累积概率分布函数的
参数,包括:
到待编码系数的累积概率分布函数的参数;当M大于1时,在进行第j个卷积层的运算时,根
据第j个卷积层对应的窗函数对第j个卷积层对应的卷积核进行加窗操作,得到第二加窗后
的卷积核;根据第二加窗后的卷积核对第j个卷积层的输入数据进行卷积操作,得到第j个
输出数据;
码系数的累积概率分布函数的参数。
后生成128个特征图,mask表示该层卷积需要进行加窗操作;第2个卷积层“3×3×128/
relu”表示当前卷积层使用尺寸为3×3的卷积核,并经过当前卷积层后生成128个特征图,
并将relu作为激活函数;第3个卷积层与第2个卷积层相同,“3×3×128/relu”表示当前卷
积层使用尺寸为3×3的卷积核,并经过当前卷积层后生成128个特征图,并将relu作为激活
函数;第4个卷积层3×3×58表示当前卷积层使用尺寸为3×3的卷积核,并经过当前卷积层
后生成58个特征图,不使用激活函数。
熵编码模型中的任一个或多个卷积层对应的卷积核进行加窗操作。换句话说,在计算待编
码系数的累积概率分布函数的参数过程中,可以对熵编码模型中的任一个或多个卷积层对
应的卷积核进行加窗操作。
据加窗后的卷积核对第1个子带进行卷积操作,得到128个特征图。然后再采用如图16中的b
图所示的窗函数对第2个卷积层的卷积核(即3x3)进行加窗操作,以得到加窗后的卷积核,
再根据加窗后的卷积核对第1个卷积层输出的128个特征图进行卷积操作,得到128个特征
图。由图16中的a图和b图可知,两个窗函数的中心值不相同。采用如图16中的b图所示的窗
函数对第3个卷积层的卷积核(即3x3)进行加窗操作,以得到加窗后的卷积核,再根据加窗
后的卷积核对第2个卷积层输出的128个特征图进行卷积操作,得到128个特征图。采用如图
16中的b图所示的窗函数对第4个卷积层的卷积核(即3x3)进行加窗操作,以得到加窗后的
卷积核,再根据加窗后的卷积核对第3个卷积层输出的128个特征图进行卷积操作,得到58
个特征图。该58个特征图构成待编码函数的累积概率分布函数的参数。
5x5,当前待编码的系数为图17中5x5方格中心位置的“X”,按照系数的编码顺序,位于“X”前
面的系数是已编码的系数,位于“X”后面的系数是未编码的系数,由于当前待编码系数的累
积概率分布函数的参数只能从已经编码的系数中推理得到,因此为了在进行卷积时只对已
编码的系数进行卷积操作,在进行卷积操作之前,采用窗函数对卷积核进行加窗操作。窗函
数的尺寸与卷积核的尺寸相同。
之前的数值保持不变,正中间位置之后的数值均置为0,相当于在使用加窗后的卷积核进行
卷积运算时,只使得位于“X”前面的系数是已编码的系数参与运算,位于“X”后面的系数是
未编码的系数不参与运算,进而保证解码逻辑的正确性。
后再按照上述方法获取该系数的累积概率分布函数的参数。
二熵编码模型基于pixelCNN实现的,第三熵编码模型是基于循环神经网络(recurrent
neural network,RNN)实现的,第一熵编码模型包括T1个卷积层,第二熵编码模型包括T2个
卷积层,T1和T2均为大于0的整数,将s个子带输入熵编码模型中计算得到待编码系数的累
积概率分布函数的参数,包括:
卷积层C1和卷积层C2分别为第一熵编码模型和第二熵编码模型中的卷积层;或者
C2为第二熵编码模型中的卷积层;若q=T1,则第二输出结果为待编码系数的累积概率分布
函数的参数;若q大于0且小于T1,则第二输出结果为第一熵编码模型中的第q+1个卷积层的
输入数据;或者
第二熵编码模型中的第q2个卷积层;若q1=T1且q2=T2,则第二输出结果为待编码系数的
累积概率分布函数的参数,若q1大于0且小于T1,q2大于0且小于T2,则第二输出结果为第一
熵编码模型中的第q1+1个卷积层的输入数据,卷积层C2的输出结果为第二熵编码模型中的
第q2+1个卷积层的输入数据。
第三熵编码模型(即RNN)的输出数据(即第一输出结果),根据第一熵编码模型中的卷积层
(即卷积层C1)和第二熵编码模型中的卷积层(即卷积层C2)对第s个子带与第一输出数据进
行融合操作,得到第二输出结果。在一个示例中,第一熵编码模型中的卷积层为“5×5×
128/mask”,第二熵编码模型中的卷积层为“5×5×128”。
模型中卷积层进行融合操作,即卷积层C1为第一熵编码模型中任一个卷积层,比如基于第
一熵编码模型中第q个卷积层与第二熵编码模型中卷积层进行融合操作,当q=T1时,该第q
个卷积层的输入数据是第q‑1个卷积层的输出数据,第二输出结果为待编码系数的累积概
率分布函数的参数,当q小于T1且大于1时,该第q个卷积层的输入数据是第q‑1个卷积层的
输出数据,第q个卷积层的输出数据为第q+1个卷积层的输入数据,当q=1时,第q个卷积层
的输入数据为第s个子带,第q个卷积层的输出数据为第q+1个卷积层的输入数据。如图19
(b)所示,第一熵编码模型包括4个卷积层,第二熵编码模型包括1个卷积层,基于第一熵编
码模型的第1个卷积层和第二熵编码模型中的卷积层进行融合操作的。
编码模型和第二熵编码模型均包括4个卷积层,其中,基于第一熵编码模型中的第2个卷积
层和第二熵编码模型中的第3个卷积层进行融合操作,基于第一熵编码模型中的第4个卷积
层和第二熵编码模型中的第4个卷积层进行融合操作。第一熵编码模型中的第2个卷积层的
输入数据为第s个子带经过第1个卷积层进行卷积处理后得到的数据,第二熵编码模型中的
第3个卷积层的输入数据为第一输出结果经过第1卷积层和第2个卷积层进行卷积处理后得
到的数据;第一熵编码模型中的第4个卷积层的输入数据为第3个卷积层的输出数据,第二
熵编码模型中的第4个卷积层的输入数据为第3个卷积层的输出数据,第二输出结果为基于
第一熵编码模型中的第4个卷积层和第二熵编码模型中的第4个卷积层进行融合操作后得
到的数据。
用的RNN还可以是其他形式的RNN,本申请不做具体限定。
2 3×3×32×32 3×3×32×32
3 3×3×32×1 3×3×1×1
与第s个子带的分辨率相同;同时对卷积之后的状态变量进行上采样,以以得到采样后的状
态变量,采样后的状态变量与第s个子带的分辨率相同。
进行上采样,使得第一输出结果的分辨率与第5个子带的分辨率一致;同时对卷积操作之后
第三熵编码模型的状态变量进行上采样,以得到采样后的状态变量,所述采样后的状态变
量与第5个子带的分辨率。如图20所示,再根据第三熵编码模型对第s‑1个子带进行卷积操
作后,对该卷积结果进行上采样,以得到采样后的卷积结果,该采样后的卷积结果即为第一
输出结果,该第一输出结果的分辨率与第s个子带的分辨率相同;同时对卷积之后的状态变
量进行上采样,以得到采样后的状态变量,采样后的状态变量与第s个子带的分辨率相同。
作,以得到第一卷积结果;当卷积层C1为第一熵编码模型中的第1个卷积层时,第一输入数
据为第s个子带,当卷积层C1为第一熵编码模型中的非第1个卷积层时,第一输入数据是对
第s个子带进行卷积操作得到的,将第二输入数据输入到第二子卷积层进行卷积操作,以得
到第二卷积结果;当卷积层C2为第二熵编码模型中的第1个卷积层时,第二输入数据为第一
输出结果,当卷积层C2为第二熵编码模型中的非第1个卷积层时,第二输入数据是对第一输
出结果进行卷积操作得到的;对第一卷积结果和第二卷积结果进行相加或堆叠操作,以得
到第二输出结果。
加窗后的第二卷积核,第二卷积核为卷积层C2对应的卷积核,第一窗函数和第二窗函数互
补;根据加窗后的第一卷积核对第s个子带进行卷积操作,以得到第一卷积结果;当卷积层
C1为第一熵编码模型中的第1个卷积层时,第一输入数据为第s个子带,当卷积层C1为第一
熵编码模型中的非第1个卷积层时,第一输入数据是对第s个子带进行卷积操作得到的;根
据加窗后的第二卷积核对第一输出结果进行卷积操作,以得到第二卷积结果;当卷积层C2
为第二熵编码模型中的第1个卷积层时,第二输入数据为第一输出结果,当卷积层C2为第二
熵编码模型中的非第1个卷积层时,第二输入数据是对第一输出结果进行卷积操作得到的;
对第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到第二输出结果。
预先在训练过程中进行限制以保证。若y=y0,则其对应的概率取值如下给出。
系数的码流。
采用算术编码器对每个系数进行熵编码,以得到压缩码流。
量化后的小波系数;对反量化后的小波系数进行基于深度神经网络的小波反变换,以得到
重建图像。具体参见图23,图23为本申请实施例提供的另一种基于小波变换的图像解码方
法的流程示意图。如图23所示,该方法包括:
1子带中的任一个;根据待解码系数的累积概率分布函数的参数获取待解码系数的累积概
率分布函数;根据待解码系数及其累积概率分布函数获取待解码系数的概率分布;根据待
解码系数的概率分布,采用算术解码器对待解码系数的码流进行熵解码,以得到待解码系
数,3N+1个重构子带包括待解码系数。
节子带采样不同的解码方式,即对第1个子带和非第1个子带中系数的累积概率分布函数的
参数采用不同的方式获取。
建子带对应位置的系数更新为该解码的系数;为了解码下一个系数,需要把已更新的重建
子带输入到熵解码模型中,进而实现解码该系数之后的下一个系数。子带内系数的解码顺
序是从左到右,从上到下的。
的重构子带输入到熵解码模型中计算得到待解码系数的累积概率分布函数的参数,包括:
行卷积操作,得到待解码系数的累积概率分布函数的参数;当M大于1时,在进行第j个卷积
层的运算时,根据第j个卷积层对应的窗函数对第j个卷积层对应的卷积核进行加窗操作,
得到到第二加窗后的卷积核;根据到第二加窗后的卷积核对第j个卷积层的输入数据进行
卷积操作,得到第j个输出数据;其中,当j=1时,第j个卷积层的输入数据为第1个子带对应
的重构子带;当j不大于M且大于1时,第j个卷积层的输入数据为第j‑1个卷积层的输出数
据;当j=M时,第j个输出数据包括待解码系数的累积概率分布函数的参数。
熵解码模型均是基于逐像素卷积神经网络实现的,第三熵解码模型是基于循环神经网络
RNN实现的,第一熵解码模型包括T1个卷积层,第二熵解码模型包括T2卷积层,T1和T2均为
大于0的整数,将第s个子带对应的重构子带输入到熵解码模型中计算得到待解码系数的累
积概率分布函数的参数,包括:
出结果为第二熵解码模型的输入数据;第s个子带对应的重构子带为第一熵解码模型的输
入数据;
布函数的参数,卷积层C1和卷积层C2分别为第一熵解码模型和第二熵解码模型中的卷积
层;或者
卷积层,卷积层C2为第二熵解码模型中的卷积层;若q=T1,则第二输出结果为待解码系数
的累积概率分布函数的参数;若q大于0且小于T1,则第二输出结果为第一熵解码模型中的
第q+1个卷积层的输入数据;或者
积层,卷积层C2为第二熵解码模型中的第q2个卷积层;若q1=T1且q2=T2,则第二输出结果
为待解码系数的累积概率分布函数的参数,若q1大于0且小于T1,q2大于0且小于T2,则第二
输出结果为第一熵解码模型中的第q1+1个卷积层的输入数据,卷积层C2的输出结果为第二
熵解码模型中的第q2+1个卷积层的输入数据。
输入到熵解码模型中进行计算得到待解码系数的累积概率分布函数的参数的相关描述,在
此不再具体叙述。
中进行计算,以得到第一输出结果,该方法还包括:
果的分辨率与第s个子带对应的重构子带的分辨率相同;同时对卷积之后的状态变量进行
上第三熵解码模型采样,以得到采样后的状态变量,该采样后的状态变量与第s个子带的分
辨率相同。
作,以得到第一卷积结果;当卷积层C1为第一熵解码模型中的第1个卷积层时,第一输入数
据为第s个子带对应的重构子带,当卷积层C1为第一熵解码模型中的非第1个卷积层时,第
一输入数据是对第s个子带对应的重构子带进行卷积操作得到的;将第二输入数据输入到
第二子卷积层进行卷积操作,以得到第二卷积结果;当卷积层C2为第二解编码模型中的第1
个卷积层时,第二输入数据为第一输出结果,当卷积层C2为第二熵解码模型中的非第1个卷
积层时,第二输入数据是对第一输出结果进行卷积操作得到的;对第一卷积结果和第二卷
积结果进行相加或堆叠操作,以得到第二输出结果。
加窗后的第二卷积核,第二卷积核为卷积层C2对应的卷积核,第一窗函数和第二窗函数互
补;根据加窗后的第一卷积核对第一输入数据进行卷积操作,以得到第一卷积结果;当卷积
层C1为第一熵解码模型中的第1个卷积层时,第一输入数据为第s个子带对应的重构子带,
当卷积层C1为第一熵解码模型中的非第1个卷积层时,第一输入数据是对第s个子带对应的
重构子带进行卷积操作得到的;根据加窗后的第二卷积核对第二输入数据进行卷积操作,
以得到第二卷积结果;当卷积层C2为第二解编码模型中的第1个卷积层时,第二输入数据为
第一输出结果,当卷积层C2为第二熵解码模型中的非第1个卷积层时,第二输入数据是对第
一输出结果进行卷积操作得到的;对第一卷积结果和第二卷积结果进行相加或堆叠操作,
以得到第二输出结果。
像,包括:
分量,中间近似分量的奇数列的系数或奇数行的系数来自所述第一处理子带,中间近似分
量的偶数列的系数或偶数行的系数来自第二处理子带;对细节子带I(N+1‑t)2和细节子带
I(N+1‑t)3进行更新和预测,得到第三处理子带和第四处理子带,根据第三处理子带和第四处
理子带获取中间细节分量,中间细节分量的奇数列的系数或偶数行的系数来自第三处理子
带,中间细节分量的偶数列的系数或偶数行的系数来自第四处理子带;对中间细节分量和
中间近似分量进行更新和预测,得到第五处理子带和第六处理子带,根据第五处理子带和
第六处理子带获取近似子带Pt‑1,近似子带Pt‑1的奇数行的系数或奇数列的系数来自第五处
理子带,近似子带Pt‑1的偶数行的系数或偶数列的系数来自第六处理子带;
子带PN+1‑t对应位置的系数的1/a,根据细节子带I(N+1‑t)1获取第二缩放分量,该第二缩放分
中的每个系数为该细节子带对应位置的系数的1/b,根据更新模型使用第二缩放分量进行
更新,得到更新分量;根据更新分量和第一缩放分量获取第一处理分量(即奇数采样分量),
该第一处理分量的每个系数为第一缩放分量和更新分量中对应位置的系数之差;根据预测
模型使用第一处理分量进行预测,以得到预测分量;根据第二缩放分量和预测分量获取第
二处理分量(即偶数采样分量),第二处理分量中的每个系数为第二缩放分量和预测分量中
对应位置的系数之和;根据第一处理分量和第二处理分量获取中间近似分量,中间近似分
量的奇数行的系数或奇数列的系数来自第一处理分量,中间近似分量的偶数行的系数或偶
数列系数来自第二处理分量。换言之,中间近似分量的奇数行的系数或奇数列的系数来自
第一处理分量的部分或全部,中间近似分量的偶数行的系数或偶数列系数来自第二处理分
量的部分或全部。
细节分量的奇数行的系数或奇数列的系数来自第三处理分量,中间细节分量的偶数行的系
数或偶数列的系数来自第四处理分量。换言之,中间细节分量的奇数行的系数或奇数列的
系数为第三处理分量的部分或全部,中间细节分量的偶数行的系数或偶数列的系数为第四
处理分量的部分或全部。
PN‑t的奇数列的系数或奇数行的系数来自第五处理分量,近似子带PN‑t的偶数列的系数或偶
数行的系数来自第六处理分量。换言之,近似子带PN‑t的奇数列的系数或奇数行的系数位第
五处理分量的部分或全部。,近似子带PN‑t的偶数列的系数或偶数行的系数为第六处理分量
的部分或全部。
获取第二缩放分量,其中,第一缩放分量中的每个系数为该近似子带PN+1‑t对应位置的系数
的1/a,第二缩放分量中每个系数为该细节子带I(N+1‑t)1对应位置的系数的1/b,根据更新模
型使用第二缩放分量进行更新,得到第一更新分量;根据第一更新分量和第一缩放分量获
取辅助预测分量,该辅助预测分量的每个系数为第一缩放分量和第一更新分量中对应位置
的系数之差;根据预测模型使用辅助预测分量进行预测,以得到第一预测分量;根据第二缩
放分量和第一预测分量获取辅助更新分量,辅助更新分量中的每个系数为第二缩放分量和
第一预测分量中对应位置的系数之和;根据更新模型使用辅助更新分量进行更新,以得到
第二更新分量,根据辅助预测分量和第二更新分量获取第一处理分量(即奇数采样分量),
该第一处理分量中的每个系数为第一预测分量和第二更新分量中对应位置的系数之差,根
据预测模型使用第一处理分量进行预测,以得到第二预测分量;根据第二预测分量和辅助
更新分量获取第二处理分量(即偶数采样分量),该第二处理分量中每个系数为第二预测分
量和辅助更新分量中对应位置的系数之和。
第二处理分量。换言之,中间近似分量的奇数行的系数或奇数列的系数来自第一处理分量
的部分或全部,中间近似分量的偶数行的系数或偶数列系数来自第二处理分量的部分或全
部。
细节分量的奇数行的系数或奇数列的系数来自第三处理分量,中间细节分量的偶数行的系
数或偶数列的系数来自第四处理分量。换言之,中间细节分量的奇数行的系数或奇数列的
系数为第三处理分量的部分或全部,中间细节分量的偶数行的系数或偶数列的系数为第四
处理分量的部分或全部。
PN‑t的奇数列的系数或奇数行的系数来自第五处理分量,近似子带PN‑t的偶数列的系数或偶
数行的系数来自第六处理分量。换言之,近似子带PN‑t的奇数列的系数或奇数行的系数位第
五处理分量的部分或全部。,近似子带PN‑t的偶数列的系数或偶数行的系数为第六处理分量
的部分或全部。
然更新和预测的次数还可以是其他值,本申请对预测和更新的次数不作限定。
质量提高之后的图像。图26是一个典型的后处理模型的结构示意图。图26中,“3×3×16”表
示当前卷积层使用3×3的卷积核,生成16个特征图,不使用激活函数;“3×3×16/relu”表
示当前卷积层使用3×3的卷积核,生成16个特征图,之前使用relu激活函数。
的小波变换模型是使用大量自然图像通过训练方法优化得到,因此可以比传统的小波变换
提供更加紧致的变换域表达,从而显著提高编解码性能。在借助GPU实现该小波变换模型的
功能时,具有与传统的小波变换相当的速度,与自适应方向小波通过多次编码尝试选择最
优的方向参数相比,具有时间复杂度低的优势,解决了自然图像特征的多样性和复杂性与
人工设计的小波基函数的理想性和简单性之间的矛盾。同时采样基于深度神经功网络的熵
编解码模型和后处理模型,进一步提高了编解码的性能。
数行系数或偶数列系数构成,
数列的系数或偶数行的系数构成;
的偶数列的系数或偶数行的系数构成;
Ii2和细节子带Ii3;
变换时,子带X为近似子带Pi‑1,近似子带Pi‑1为进行i‑1次小波变换后得到的近似子带。
据待编码系数的累积概率分布函数的参数得到累积概率分布函数;根据待编码系数及其累
积概率分布函数获取待编码系数的概率分布;根据待编码系数的概率分布,采用算术编码
器对待编码系数进行熵编码,以得到待编码系数对应的码流,压缩码流包括待编码系数对
应的码流。
数,在将s个子带输入熵编码模型中计算得到待编码系数的累积概率分布函数的参数的方
面,熵编码模块2703具体用于:
到待编码系数的累积概率分布函数的参数;
核对第j个卷积层的输入数据进行卷积操作,得到第j个输出数据;
码系数的累积概率分布函数的参数。
熵编码模型均是基于逐像素卷积神经网络实现的,第三熵编码模型是基于RNN实现的,第一
熵编码模型包括T1个卷积层,第二熵编码模型包括T2个卷积层,T1和T2均为大于0的整数,
在将s个子带输入熵编码模型中计算得到待编码系数的累积概率分布函数的参数的方面,
熵编码模块2703具体用于:
积层C1和卷积层C2分别为第一熵编码模型和第二熵编码模型中的卷积层;或者
C2为第二熵编码模型中的卷积层;若q=T1,则第二输出结果为待编码系数的累积概率分布
函数的参数;若q大于0且小于T1,则第二输出结果为第一熵编码模型中的第q+1个卷积层的
输入数据;或者
第二熵编码模型中的第q2个卷积层;若q1=T1且q2=T2,则第二输出结果为待编码系数的
累积概率分布函数的参数,若q1大于0且小于T1,q2大于0且小于T2,则第二输出结果为第一
熵编码模型中的第q1+1个卷积层的输入数据,卷积层C2的输出结果为第二熵编码模型中的
第q2+1个卷积层的输入数据。
编码模块2703具体用于:
C1为第一熵编码模型中的非第1个卷积层时,第一输入数据是对第s个子带进行卷积操作得
到的,
为第二熵编码模型中的非第1个卷积层时,第二输入数据是对第一输出结果进行卷积操作
得到的;对第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到第二输出结果。
第一熵编码模型中的非第1个卷积层时,第一输入数据是对第s个子带进行卷积操作得到
的;
层C2为第二熵编码模型中的非第1个卷积层时,第二输入数据是对第一输出结果进行卷积
操作得到的;对第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到第二输出结果。
量化模块2702用于执行步骤S1102的相关内容,熵编码模块2703用于执行步骤S1103的相关
内容。
软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
此外,以上变换模块2701、量化模块2702和熵编码模块2703可通过图30所示的图像编码的
处理器3001来实现。
数。
构子带为3N+1个重构子带中的任一个;根据待解码系数的累积概率分布函数的参数获取待
解码系数的累积概率分布函数;根据待解码系数及其累积概率分布函数获取待解码系数的
概率分布;根据待解码系数的概率分布,采用算术解码器对待解码系数的码流进行熵解码,
以得到待解码系数,3N+1个重构子带包括待解码系数。
数,在将第s个子带对应的重构子带输入到熵解码模型中计算得到待解码系数的累积概率
分布函数的参数的方面,熵解码模块2801具体用于:
出数据包括待解码系数的累积概率分布函数的参数。
熵解码模型均是基于逐像素卷积神经网络实现的,第三熵解码模型是基于循环神经网络
RNN实现的,第一熵解码模型包括T1个卷积层,第二熵解码模型包括T2卷积层,T1和T2均为
大于0的整数,在将第s个子带对应的重构子带输入到熵解码模型中计算得到待解码系数的
累积概率分布函数的参数的方面,熵解码模块2801具体用于:
出结果为第二熵解码模型的输入数据;第s个子带对应的重构子带为第一熵解码模型的输
入数据;
布函数的参数,卷积层C1和卷积层C2分别为第一熵解码模型和第二熵解码模型中的卷积
层;或者
卷积层,卷积层C2为第二熵解码模型中的卷积层;若q=T1,则第二输出结果为待解码系数
的累积概率分布函数的参数;若q大于0且小于T1,则第二输出结果为第一熵解码模型中的
第q+1个卷积层的输入数据;或者
积层,卷积层C2为第二熵解码模型中的第q2个卷积层;若q1=T1且q2=T2,则第二输出结果
为待解码系数的累积概率分布函数的参数,若q1大于0且小于T1,q2大于0且小于T2,则第二
输出结果为第一熵解码模型中的第q1+1个卷积层的输入数据,卷积层C2的输出结果为第二
熵解码模型中的第q2+1个卷积层的输入数据。
型中进行计算,以得到第一输出结果的方面,熵解码模块2801具体用于:
子带,当卷积层C1为第一熵解码模型中的非第1个卷积层时,第一输入数据是对第s个子带
对应的重构子带进行卷积操作得到的;
为第二熵解码模型中的非第1个卷积层时,第二输入数据是对第一输出结果进行卷积操作
得到的;
子带,当卷积层C1为第一熵解码模型中的非第1个卷积层时,第一输入数据是对第s个子带
对应的重构子带进行卷积操作得到的。
层C2为第二熵解码模型中的非第1个卷积层时,第二输入数据是对第一输出结果进行卷积
操作得到的;对第一卷积结果和第二卷积结果进行相加或堆叠操作,以得到第二输出结果。
间近似分量,中间近似分量的奇数列的系数或奇数行的系数来自第一处理子带,中间近似
分量的偶数列的系数或偶数行的系数来自第二处理子带;
量的奇数列的系数或偶数行的系数来自第三处理子带,中间细节分量的偶数列的系数或偶
数行的系数来自第四处理子带;
系数或奇数列的系数来自第五处理子带,近似子带Pt‑1的偶数行的系数或偶数列的系数来
自第六处理子带;
图像。
以得到处理后的重建图像,其中,后处理模型是基于深度神经网络实现的。
S601和S2301的相关内容,反量化模块2802用于执行步骤S2302的相关内容,反变换模块
2703用于执行步骤S2303的相关内容,后处理模块2804用于执行步骤S2304的相关内容。
软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
此外,以上熵解码模块2801、反量化模块2802、反变换模块2803和后处理模块2804可通过图
31所示的图像解码装置的处理器3101来实现。
变换,得到3N张重建图像;根据训练图像和3N张重建图像计算损失值,该损失值
其中,Ri为3N张重建图像中的第i张,I为训练图像;重复上述方法多次,
若损失值L的范围波动很小,则确定小波变换模型训练完毕;否则,按照上述方法继续训练
小波变换模型。
或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,
以上初始化模块2901和训练模块2902可通过图32所示的训练装置的处理器3201来实现。
3001、所述存储器3002和所述通信接口3003通过所述通信总线连接并完成相互间的通信。
序执行的集成电路。
信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器
(Electrically Erasable Programmable Read‑Only Memory,EEPROM)、只读光盘(Compact
Disc Read‑Only Memory,CD‑ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光
碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或
存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但
不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成
在一起。
对量化后的小波系数进行熵编码,得到压缩码流。
3101、所述存储器3102和所述通信接口3103通过所述通信总线连接并完成相互间的通信。
序执行的集成电路。
信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器
(Electrically Erasable Programmable Read‑Only Memory,EEPROM)、只读光盘(Compact
Disc Read‑Only Memory,CD‑ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光
碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或
存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但
不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成
在一起。
换,以得到重建图像,其中,小波变换模型是基于卷积神经网络CNN实现的。
存储器3202和所述通信接口3203通过所述通信总线连接并完成相互间的通信。
存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质
或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代
码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与
处理器相连接。存储器也可以和处理器集成在一起。
反变换,得到3N张重建图像;根据训练图像和3N张重建图像计算损失值,该损失值
其中,Ri为3N张重建图像中的第i张,I为训练图像;重复上述方法多次,
若损失值L的范围波动很小,则确定小波变换模型训练完毕;否则,按照上述方法继续训练
小波变换模型。
依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知
悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明
所必须的。
逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可
以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间
的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,
可以是电性或其它的形式。
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体
现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备
(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分
步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器
(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可以包括:闪存盘、只读存储器(英文:Read‑Only Memory,简称:ROM)、随机存取器(英文:
Random Access Memory,简称:RAM)、磁盘或光盘等。
同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会
有改变之处,综上上述,本说明书内容不应理解为对本发明的限制。