CN114554205B - 一种图像编解码方法及装置 - Google Patents
一种图像编解码方法及装置 Download PDFInfo
- Publication number
- CN114554205B CN114554205B CN202011353900.6A CN202011353900A CN114554205B CN 114554205 B CN114554205 B CN 114554205B CN 202011353900 A CN202011353900 A CN 202011353900A CN 114554205 B CN114554205 B CN 114554205B
- Authority
- CN
- China
- Prior art keywords
- probability
- layer
- feature map
- image
- target image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 163
- 230000009466 transformation Effects 0.000 claims abstract description 140
- 238000004458 analytical method Methods 0.000 claims abstract description 112
- 238000010586 diagram Methods 0.000 claims abstract description 93
- 230000015654 memory Effects 0.000 claims description 59
- 238000006243 chemical reaction Methods 0.000 claims description 45
- 238000002407 reforming Methods 0.000 claims description 42
- 239000011159 matrix material Substances 0.000 claims description 15
- 230000017105 transposition Effects 0.000 claims description 12
- 230000010354 integration Effects 0.000 claims description 4
- 238000013528 artificial neural network Methods 0.000 abstract description 53
- 230000008569 process Effects 0.000 description 53
- 238000012545 processing Methods 0.000 description 53
- 238000003062 neural network model Methods 0.000 description 45
- 230000006870 function Effects 0.000 description 42
- 230000006854 communication Effects 0.000 description 35
- 238000004891 communication Methods 0.000 description 35
- 238000013139 quantization Methods 0.000 description 19
- 230000005540 biological transmission Effects 0.000 description 14
- 238000012549 training Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 9
- 230000004913 activation Effects 0.000 description 8
- 239000000872 buffer Substances 0.000 description 6
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 238000003491 array Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 5
- 230000001131 transforming effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 241000023320 Luma <angiosperm> Species 0.000 description 3
- 230000005291 magnetic effect Effects 0.000 description 3
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供一种图像编解码方法及装置,涉及图像编解码技术领域,能够减少神经网络的参数,能够降低图像编解码的算力消耗。该方法包括:使用第一分析网络对目标图像进行第一去相关变换,得到目标图像的第一特征图;且使用第二分析网络对第一特征图进行第二去相关变换,得到目标图像的第二特征图;然后基于第二特征图的第二概率直方图对第二特征图进行熵编码,获得目标图像的第二码流;并基于第二特征图的第二概率直方图和第二码流,获得目标图像的第二重建图;将第二重建图作为先验信息,使用第一概率预测网络对第一特征图进行概率预测,获得第一概率直方图;以及基于第一特征图的第一概率直方图对第一特征图进行熵编码,获得目标图像的第一码流。
Description
技术领域
本申请实施例涉及图像编解码技术领域,尤其涉及一种图像编解码方法及装置。
背景技术
随着神经网络技术的发展,基于深度学习(深度神经网络)的图像编解码(即图像压缩)方法也应运而生,并且基于深度学习进行图像编解码的性能超越了传统的混合编解码框架下的编解码性能。
以图像编码为例,在一种实现方式中,深度神经网络包括变换网络和概率预测网络,基于该深度神经网络对图像进行编码时,通过变换网络对待编码图像进行变换得到该待编码图像的特征图之后,采用该特征图的概率分布对该特征图的每一个元素进行熵编码,得到待编码图像的码流。其中,该待编码图像的概率分布是通过概率预测网络得到,该概率预测网络是一种利用超先验信息和局部上下文信息进行概率预测的网络。
然而,由于对特征图的概率进行预测需要考虑该局部上下文信息,对于每一个元素的概率进行预测时需要等待该元素的邻域元素解码完成,如此,使得深度神经网络的系统耦合性较强,且深度神经网络的参数量较大,从而导致图像编解码的算力消耗大。
发明内容
本申请实施例提供一种图像编解码方法及装置,能够减少神经网络的参数,能够降低图像编解码的算力消耗。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供一种图像编码方法,包括:使用第一分析网络对目标图像进行第一去相关变换,得到目标图像的第一特征图;然后使用第二分析网络对第一特征图进行第二去相关变换,得到目标图像的第二特征图;基于第二特征图的第二概率直方图对第二特征图进行熵编码,获得目标图像的第二码流,该第二概率直方图用于指示第二特征图中的每一个元素的概率;并且基于第二特征图的第二概率直方图和第二码流,获得目标图像的第二重建图;将第二重建图作为先验信息,使用第一概率预测网络对第一特征图进行概率预测,获得第一概率直方图,该第一概率直方图用于指示第一特征图中的每一个元素的概率;以及基于第一特征图的第一概率直方图对第一特征图进行熵编码,获得目标图像的第一码流。
本申请实施例提供的图像编码方法中,由于神经网络包括多个分析网络时,多个分析网络串联,其中,神经网络的最后一个分析网络输出的特征图的概率分布是预设的,第k个分析网络的输出作为第k+1个分析网络的输入,并且第k个分析网络输出的第k个特征图的概率分布基于第k+1个分析网络输出的特征图的第k+1个重建图进行预测(例如,第一特征图的第一概率直方图是基于第二重建图得到),无需结合第k个重建图的上下文信息,可以降低神经网络的耦合性,减少神经网络的参数,能够降低图像编码的算力消耗。
一种可能的实现方式中,上述基于第二特征图的第二概率直方图和第二码流,获得目标图像的第二重建图的方法包括:基于第二特征图的第二概率直方图,对目标图像的第二码流进行熵解码,获得目标图像的第二特征图;并且使用第二变换网络对第二特征图进行第二去相关逆变换,获得目标图像的第二重建图。
一种可能的实现方式中,本申请实施例提供的图像编码方法还包括:使用第三分析网络对第二特征图进行第三去相关变换,得到目标图像的第三特征图;然后基于第三特征图的第三概率直方图对第三特征图进行熵编码,获得目标图像的第三码流,该第三概率直方图用于指示第三特征图中的每一个元素的概率;以及基于第三特征图的第三概率直方图和第三码流,获得目标图像的第三重建图;并且将第三重建图作为先验信息,使用第二概率预测网络对第二特征图进行概率预测,获得第二概率直方图。通过上述三个分析网络对目标图像进行去相关变换,进而对每一个分析网络输出的特征图进行熵编码,能够降低图像编码消耗的算力,并且能够保证图像编码性能。
一种可能的实现方式中,上述第三特征图的尺寸为M3×H3×W3;其中,M3为特征维度的尺寸,H3和W3分别为第三特征图的高和宽,M3,H3,W3均为正整数;第三概率直方图为矩阵,尺寸为N3×M3,N3为正整数。
第三特征图的一个元素的概率满足:其中,表示第三特征图F3的元素的取值为n的概率,为第三概率直方图对应的矩阵P3的一个元素;i为1,2,……H3中的一个值,j为1,2,……W3中的一个值,m为1,2,……M3中的一个值,n为1,2,……N3中的一个值。
一种可能的实现方式中,第二特征图的尺寸为M2×H2×W2;其中,M2为特征维度的尺寸,H2和W2分别为第二特征图的高和宽,M2,H2,W2均为正整数;第二概率直方图为四维张量,尺寸为N2×M2×H2×W2,N2为正整数。
第二特征图的一个元素的概率满足:其中,表示第二特征图F2的元素的取值为n的概率,为第二概率直方图对应的四维张量P2的一个元素,i为1,2,……H2中的一个值,j为1,2,……W2中的一个值,m为1,2,……M2中的一个值,n为1,2,……N2中的一个值。
一种可能的实现方式中,第一特征图的尺寸为M1×H1×W1;其中,M1为特征维度的尺寸,H1和W1分别为第一特征图的高和宽,M1,H1,W1均为正整数;第一概率直方图为四维张量,尺寸为N1×M1×H1×W1,N2为正整数。
第一特征图的一个元素的概率满足:其中,表示第一特征图F1的元素的取值为n的概率,为第一概率直方图对应的四维张量P1的一个元素,i为1,2,……H1中的一个值,j为1,2,……W1中的一个值,m为1,2,……M1中的一个值,n为1,2,……N1中的一个值。
一种可能的实现方式中,第二分析网络包括依次连接的第一卷积层、空间-深度转换层、至少一个分组卷积层以及第二卷积层。通过分组卷积能够显著减少神经网络模型的参数量,从而降低图像编码消耗的算力。
一种可能的实现方式中,第一概率预测网络包括依次连接的滑窗层、至少一个卷积层、第一重整层、第一全连接层、第二重整层、转置层、第二全连接层、第三重整层。
一种可能的实现方式中,第二变换网络包括依次连接的第二反卷积层、至少一个分组反卷积层、深度-空间转换层以及第一反卷积层。
一种可能的实现方式中,第二分析网络包括依次连接的第二分组卷积层、空间-深度转换层以及至少一个第一分组卷积层。
一种可能的实现方式中,第一概率预测网络包括依次连接的滑窗层、至少一个第一分组卷积层、第一重整层、第一分组全连接层、第二重整层、转置层、第二分组全连接层、第三重整层。
一种可能的实现方式中,第二变换网络包括依次连接的至少一个第二分组反卷积层、深度-空间转换层以及第一分组反卷积层。
第二方面,本申请实施例提供一种图像解码方法,包括:获取目标图像的第一码流和第二码流;其中,第一码流是对目标图像的第一特征图进行熵编码得到的码流,第一特征图是对目标图像进行第一去相关变换的结果;第二码流是对目标图像的第二特征图进行熵编码得到的码流,第二特征图是对第一特征图进行第二去相关变换的结果;然后基于第二特征图的第二概率直方图和第二码流,获得目标图像的第二重建图,该第二概率直方图用于指示第二特征图中的每一个元素的概率;并且将第二重建图作为先验信息,使用第一概率预测网络对第一特征图进行概率预测,获得第一概率直方图,该第一概率直方图用于指示第一特征图中的每一个元素的概率;以及基于第一概率直方图和第一码流,获得目标图像的第一重建图;进而根据第一重建图确定目标图像的重建图像。
本申请实施例提供的图像解码方法中,由于神经网络包括多个分析网络时,多个分析网络串联,其中,神经网络的最后一个分析网络输出的特征图的概率分布是预设的,第k个分析网络的输出作为第k+1个分析网络的输入,并且第k个分析网络输出的第k个特征图的概率分布基于第k+1个分析网络输出的特征图的第k+1个重建图进行预测(例如,第一特征图的第一概率直方图是基于第二重建图得到),无需结合第k个重建图的上下文信息,可以降低神经网络的耦合性,减少神经网络的参数,能够降低图像解码的算力消耗。
一种可能的实现方式中,上述基于第二特征图的第二概率直方图和第二码流,获得目标图像的第二重建图的方法包括:基于第二特征图的第二概率直方图,对目标图像的第二码流进行熵解码,获得目标图像的第二特征图;并且使用第二变换网络对第二特征图进行第二去相关逆变换,获得目标图像的第二重建图。
一种可能的实现方式中,本申请实施例提供的图像解码方法还包括:获取目标图像的第三码流,该第三码流是对目标图像的第三特征图进行熵编码得到的码流,该第三特征图是对第二特征图进行第三去相关变换的结果;然后基于预设的第三特征图的第三概率直方图和第三码流,获得目标图像的第三重建图,该第三概率直方图用于指示第三特征图中的每一个元素的概率;并且将第三重建图作为先验信息,使用第二概率预测网络对第二特征图进行概率预测,获得第二概率直方图。
一种可能的实现方式中,上述根据第一重建图确定目标图像的重建图像具体包括:基于信息重建网络对第一重建图、第二重建图以及第三重建图进行信息整合,得到目标图像的重建图像。
具体的,第一重建图的尺寸为192×(H/2)×(W/2),第二重建图的尺寸为192×(H/16)×(W/16),第三重建图的尺寸为256×(H/32)×(W/32),将该第一重建图、第二重建图以及第三重建图作为信息重建网络的输入,首先对第三重建图进行上采样,使得第三重建图的尺寸变为256×(H/16)×(W/16),进而对第二重建图和第三重建图进行至少一层反卷积操作,得到尺寸变为192×(H/2)×(W/2)的重建图;然后将该重建图与第一重建图进行拼接,得到尺寸为384×(H/2)×(W/2)的重建图,再基于该拼接得到的重建图预测目标图像的残差,然后对该拼接得到的重建图和残差求和,并通过反卷积操作和至少一个卷积操作得到目标图像的重建图像,该重建图像的尺寸为3×H×W。
一种可能的实现方式中,上述第三特征图的尺寸为M3×H3×W3;其中,M3为特征维度的尺寸,H3和W3分别为第三特征图的高和宽,M3,H3,W3均为正整数;第三概率直方图为矩阵,尺寸为N3×M3,N3为正整数。
第三特征图的一个元素的概率满足:其中,表示第三特征图F3的元素的取值为n的概率,为第三概率直方图对应的矩阵P3的一个元素;i为1,2,……H3中的一个值,j为1,2,……W3中的一个值,m为1,2,……M3中的一个值,n为1,2,……N3中的一个值。
一种可能的实现方式中,第二特征图的尺寸为M2×H2×W2;其中,M2为特征维度的尺寸,H2和W2分别为第二特征图的高和宽,M2,H2,W2均为正整数;第二概率直方图为四维张量,尺寸为N2×M2×H2×W2,N2为正整数。
第二特征图的一个元素的概率满足:其中,表示第二特征图F2的元素的取值为n的概率,为第二概率直方图对应的四维张量P2的一个元素,i为1,2,……H2中的一个值,j为1,2,……W2中的一个值,m为1,2,……M2中的一个值,n为1,2,……N2中的一个值。
一种可能的实现方式中,第一特征图的尺寸为M1×H1×W1;其中,M1为特征维度的尺寸,H1和W1分别为第一特征图的高和宽,M1,H1,W1均为正整数;第一概率直方图为四维张量,尺寸为N1×M1×H1×W1,N2为正整数。
第一特征图的一个元素的概率满足:其中,表示第一特征图F1的元素的取值为n的概率,为第一概率直方图对应的四维张量P1的一个元素,i为1,2,……H1中的一个值,j为1,2,……W1中的一个值,m为1,2,……M1中的一个值,n为1,2,……N1中的一个值。
一种可能的实现方式中,第一概率预测网络包括依次连接的滑窗层、至少一个卷积层、第一重整层、第一全连接层、第二重整层、转置层、第二全连接层、第三重整层。第二变换网络包括依次连接的第二反卷积层、至少一个分组反卷积层、深度-空间转换层以及第一反卷积层,应理解,上述第三变换网络的结构与第二变换网络的结构类似。
一种可能的实现方式中,第一概率预测网络包括依次连接的滑窗层、至少一个第一分组卷积层、第一重整层、第一分组全连接层、第二重整层、转置层、第二分组全连接层、第三重整层。第二变换网络包括依次连接的至少一个第二分组反卷积层、深度-空间转换层以及第一分组反卷积层。第三变换网络的结构与第二变换网络的结构类似。使用上述网络进行编解码能够实现错误重传。具体的,在解码过程中,对码流(包括第一码流、第二码流或第三码流)解码失败时,能够针对解码错误的码流重传对应的码流,而无需重传全部的码流,能够节省重传码流的开销,降低纠错代价。
若解码设备基于第三特征图的第三概率直方图,对第三码流解码失败时,该解码设备可以定位发生错误的位置,并且由于该第三码流是基于分组卷积进行编码的,因此解码设备请求重传第三码流中错误位置对应的分组的数据,从而重新解码第三码流获得第三特征图,进一步的,对第三特征图进行第三去相关逆变换,得到目标图像的第三重建图。
若解码设备基于第二特征图的第二概率直方图,对第二码流解码失败时,该解码设备可以定位发生错误的位置,并且由于该第二码流和第三码流是基于分组卷积进行编码的,因此解码设备请求重传第二码流中错误位置对应的分组的数据,并且请求重传第三码流中该错误位置对应的分组的数据,从而基于第三码流和第二概率预测网络,重新确定第二特征图的第二概率直方图,进而基于该第二概率直方图,重新执行解码第二码流获得第二特征图,进一步的,对第二特征图进行第二去相关逆变换,得到目标图像的第二重建图。
若解码设备基于第一特征图的第一概率直方图,对第一码流解码失败时,该解码设备可以定位发生错误的位置,并且由于该第二码流是基于分组卷积进行编码的,因此解码设备请求重传第一码流中错误位置对应的分组的数据,并且请求重传第二码流中该错误位置对应的分组的数据,从而基于第二码流和第一概率预测网络,重新确定第一特征图的第一概率直方图,进而基于该第一概率直方图,重新解码第一码流获得第一特征图,进一步的,对第一特征图进行第一去相关逆变换,得到目标图像的第一重建图。
综上,通过实验测试,解码设备获取码流时发生码流传输错误而导致无法正确解码的情况,可请求重新传输发生错误的位置的码流,即重传部分码流,而无需重传全部的码流,能够节省75%的传输代价。
需要说明的是,相比于第二码流和第三码流,第一码流的数据量较大,在图像解码要求低时延的情况下,若解码设备获取的第一码流不完整,获取的第二码流和第三码流完整,对第一码流进行解码发生错误时,重传第一码流或者重传第一码流中错误位置对应的分组的数据无法满足低时延的要求,因此,可选的,将第一概率直方图中错误位置对应的概率值中的最大概率值所对应的码流值作为该错误位置的码流值,从而重新执行解码第一码流获得第一特征图,进一步的,对第一特征图进行第一去相关逆变换,得到目标图像的第一重建图。
一种可能的实现方式中,信息重建网络包括依次连接的至少一个第三反卷积层,至少一个第三卷积层、至少一个第四反卷积层以及和至少一个第四卷积层。
第三方面,本申请实施例提供一种图像编码装置,包括变换模块、编码模块、重建模块以及概率预测模块。其中,变换模块用于使用第一分析网络对目标图像进行第一去相关变换,得到目标图像的第一特征图,并且使用第二分析网络对第一特征图进行第二去相关变换,得到目标图像的第二特征图;编码模块用于基于第二特征图的第二概率直方图对第二特征图进行熵编码,获得目标图像的第二码流,该第二概率直方图用于指示第二特征图中的每一个元素的概率;重建模块用于基于第二特征图的第二概率直方图和第二码流,获得目标图像的第二重建图;概率预测模块用于将第二重建图作为先验信息,使用第一概率预测网络对第一特征图进行概率预测,获得第一概率直方图,该第一概率直方图用于指示第一特征图中的每一个元素的概率;编码模块还用于基于第一特征图的第一概率直方图对第一特征图进行熵编码,获得目标图像的第一码流。
一种可能的实现方式中,上述重建模块具体用于基于第二特征图的第二概率直方图,对目标图像的第二码流进行熵解码,获得目标图像的第二特征图;并且使用第二变换网络对第二特征图进行第二去相关逆变换,获得目标图像的第二重建图。
一种可能的实现方式中,上述变换模块还用于使用第三分析网络对第二特征图进行第三去相关变换,得到目标图像的第三特征图;编码模块还用于基于第三特征图的第三概率直方图对第三特征图进行熵编码,获得目标图像的第三码流,该第三概率直方图用于指示第三特征图中的每一个元素的概率;重建模块还用于基于第三特征图的第三概率直方图和第三码流,获得目标图像的第三重建图;概率预测模块还用于将第三重建图作为先验信息,使用第二概率预测网络对第二特征图进行概率预测,获得第二概率直方图。
一种可能的实现方式中,上述第三特征图的尺寸为M3×H3×W3;其中,M3为特征维度的尺寸,H3和W3分别为第三特征图的高和宽,M3,H3,W3均为正整数;第三概率直方图为矩阵,尺寸为N3×M3,N3为正整数。
第三特征图的一个元素的概率满足:其中,表示第三特征图F3的元素的取值为n的概率,为第三概率直方图对应的矩阵P3的一个元素;i为1,2,……H3中的一个值,j为1,2,……W3中的一个值,m为1,2,……M3中的一个值,n为1,2,……N3中的一个值。
一种可能的实现方式中,上述第二特征图的尺寸为M2×H2×W2;其中,M2为特征维度的尺寸,H2和W2分别为第二特征图的高和宽,M2,H2,W2均为正整数;第二概率直方图为四维张量,尺寸为N2×M2×H2×W2,N2为正整数。
第二特征图的一个元素的概率满足:其中,表示第二特征图F2的元素的取值为n的概率,为第二概率直方图对应的四维张量P2的一个元素,i为1,2,……H2中的一个值,j为1,2,……W2中的一个值,m为1,2,……M2中的一个值,n为1,2,……N2中的一个值。
一种可能的实现方式中,上述第一特征图的尺寸为M1×H1×W1;其中,M1为特征维度的尺寸,H1和W1分别为第一特征图的高和宽,M1,H1,W1均为正整数;第一概率直方图为四维张量,尺寸为N1×M1×H1×W1,N2为正整数。
第一特征图的一个元素的概率满足:其中,表示第二特征图F2的元素的取值为n的概率,为第一概率直方图对应的四维张量P1的一个元素,i为1,2,……H1中的一个值,j为1,2,……W1中的一个值,m为1,2,……M1中的一个值,n为1,2,……N1中的一个值。
一种可能的实现方式中,上述第二分析网络包括依次连接的第一卷积层、空间-深度转换层、至少一个分组卷积层以及第二卷积层。
一种可能的实现方式中,上述第一概率预测网络包括依次连接的滑窗层、至少一个卷积层、第一重整层、第一全连接层、第二重整层、转置层、第二全连接层、第三重整层。
一种可能的实现方式中,上述第二变换网络包括依次连接的第二反卷积层、至少一个分组反卷积层、深度-空间转换层以及第一反卷积层。
一种可能的实现方式中,第二分析网络包括依次连接的第二分组卷积层、空间-深度转换层以及至少一个第一分组卷积层。
一种可能的实现方式中,第一概率预测网络包括依次连接的滑窗层、至少一个第一分组卷积层、第一重整层、第一分组全连接层、第二重整层、转置层、第二分组全连接层、第三重整层。
一种可能的实现方式中,第二变换网络包括依次连接的至少一个第二分组反卷积层、深度-空间转换层以及第一分组反卷积层。
第四方面,本申请实施例提供一种图像解码装置,包括获取模块、重建模块、概率预测模块以及确定模块。获取模块用于获取目标图像的第一码流和第二码流,其中,第一码流是对目标图像的第一特征图进行熵编码得到的码流,第一特征图是对目标图像进行第一去相关变换的结果;第二码流是对目标图像的第二特征图进行熵编码得到的码流,第二特征图是对第一特征图进行第二去相关变换的结果。重建模块用于基于第二特征图的第二概率直方图和第二码流,获得目标图像的第二重建图,该第二概率直方图用于指示第二特征图中的每一个元素的概率。概率预测模块用于将第二重建图作为先验信息,使用第一概率预测网络对第一特征图进行概率预测,获得第一概率直方图,该第一概率直方图用于指示第一特征图中的每一个元素的概率。重建模块还用于基于第一概率直方图和第一码流,获得目标图像的第一重建图。确定模块用于根据第一重建图确定目标图像的重建图像。
一种可能的实现方式中,上述重建模块还用于基于第二特征图的第二概率直方图,对目标图像的第二码流进行熵解码,获得目标图像的第二特征图;并且使用第二变换网络对第二特征图进行第二去相关逆变换,获得目标图像的第二重建图。
一种可能的实现方式中,上述获取模块还用于获取目标图像的第三码流,该第三码流是对目标图像的第三特征图进行熵编码得到的码流,该第三特征图是对第二特征图进行第三去相关变换的结果。重建模块还用于基于预设的第三特征图的第三概率直方图和第三码流,获得目标图像的第三重建图,该第三概率直方图用于指示第三特征图中的每一个元素的概率。概率预测模块还用于将第三重建图作为先验信息,使用第二概率预测网络对第二特征图进行概率预测,获得第二概率直方图。确定模块具体用于基于信息重建网络对第一重建图、第二重建图以及第三重建图进行信息整合,得到目标图像的重建图像。
一种可能的实现方式中,上述第三特征图的尺寸为M3×H3×W3;其中,M3为特征维度的尺寸,H3和W3分别为第三特征图的高和宽,M3,H3,W3均为正整数;第三概率直方图为矩阵,尺寸为N3×M3,N3为正整数。
第三特征图的一个元素的概率满足:其中,表示第三特征图F3的元素的取值为n的概率,为第三概率直方图对应的矩阵P3的一个元素;i为1,2,……H3中的一个值,j为1,2,……W3中的一个值,m为1,2,……M3中的一个值,n为1,2,……N3中的一个值。
一种可能的实现方式中,第二特征图的尺寸为M2×H2×W2;其中,M2为特征维度的尺寸,H2和W2分别为第二特征图的高和宽,M2,H2,W2均为正整数;第二概率直方图为四维张量,尺寸为N2×M2×H2×W2,N2为正整数。
第二特征图的一个元素的概率满足:其中,表示第二特征图F2的元素的取值为n的概率,为第二概率直方图对应的四维张量P2的一个元素,i为1,2,……H2中的一个值,j为1,2,……W2中的一个值,m为1,2,……M2中的一个值,n为1,2,……N2中的一个值。
一种可能的实现方式中,第一特征图的尺寸为M1×H1×W1;其中,M1为特征维度的尺寸,H1和W1分别为第一特征图的高和宽,M1,H1,W1均为正整数;第一概率直方图为四维张量,尺寸为N1×M1×H1×W1,N2为正整数。
第一特征图的一个元素的概率满足:其中,表示第一特征图F1的元素的取值为n的概率,为第一概率直方图对应的四维张量P1的一个元素,i为1,2,……H1中的一个值,j为1,2,……W1中的一个值,m为1,2,……M1中的一个值,n为1,2,……N1中的一个值。
一种可能的实现方式中,第一概率预测网络包括依次连接的滑窗层、至少一个卷积层、第一重整层、第一全连接层、第二重整层、转置层、第二全连接层、第三重整层。
一种可能的实现方式中,第二变换网络包括依次连接的第二反卷积层、至少一个分组反卷积层、深度-空间转换层以及第一反卷积层。
一种可能的实现方式中,第一概率预测网络包括依次连接的滑窗层、至少一个第一分组卷积层、第一重整层、第一分组全连接层、第二重整层、转置层、第二分组全连接层、第三重整层。
一种可能的实现方式中,第二变换网络包括依次连接的至少一个第二分组反卷积层、深度-空间转换层以及第一分组反卷积层。
一种可能的实现方式中,信息重建网络包括依次连接的至少一个第三反卷积层,至少一个第三卷积层、至少一个第四反卷积层以及和至少一个第四卷积层。
第五方面,本申请实施例提供一种编码设备,包括:处理器和与处理器耦合连接的存储器;存储器用于存储计算机指令,当编码设备运行时,处理器执行存储器存储的计算机指令,以使得编码设备执行第一方面及其可选的实现方式中的任意之一所述的方法。
第六方面,本申请提供了一种计算机可读存储介质,如计算机非瞬态的可读存储介质。其上储存有计算机程序(或指令),当该计算机程序(或指令)在编码设备上运行时,使得该编码设备执行上述第一方面及其可选的实现方式中的任意之一所述的方法。
第七方面,本申请提供了一种计算机程序产品,当其在计算机上运行时,使得第一方面及其可选的实现方式中的任意之一所述的方法被执行。
第八方面,本申请提供了一种芯片系统,包括:处理器,处理器用于从存储器中调用并运行该存储器中存储的计算机程序,执行第一方面及其可选的实现方式中的任意之一所述的方法。
第九方面,本申请实施例提供一种解码设备,包括处理器和与处理器耦合连接的存储器;存储器用于存储计算机指令,当解码设备运行时,处理器执行存储器存储的计算机指令,以使得解码设备执行第二方面及其可选的实现方式中的任意之一所述的方法。
第十方面,本申请提供了一种计算机可读存储介质,如计算机非瞬态的可读存储介质。其上储存有计算机程序(或指令),当该计算机程序(或指令)在解码设备上运行时,使得该解码设备执行上述第二方面及其可选的实现方式中的任意之一所述的方法。
第十一方面,本申请提供了一种计算机程序产品,当其在计算机上运行时,使得第二方面及其可选的实现方式中的任意之一所述的方法被执行。
第十二方面,本申请提供了一种芯片系统,包括:处理器,处理器用于从存储器中调用并运行该存储器中存储的计算机程序,执行第二方面及其可选的实现方式中的任意之一所述的方法。
第十三方面,本申请实施例提供一种图像编解码系统,包括上述第三方面或第第五方面所述的编码设备,以及第四方面或第九方面所述的解码设备。
可以理解的是,上述提供的任一种编码设备、解码设备、计算机存储介质、计算机程序产品或芯片系统等均可以应用于上文所提供的对应的方法,因此,其所能达到的有益效果可参考对应的方法中的有益效果,此处不再赘述。
附图说明
图1A为本申请实施例提供的一种图像编码及解码系统的示意性框图;
图1B为本申请实施例提供的一种视频译码系统的示意性框图;
图2为本申请实施例提供的一种编码器的示意性框图;
图3为本申请实施例提供的一种解码器的示意性框图;
图4为本申请实施例提供的一种视频译码设备的结构示意图;
图5为本申请实施例提供的一种译码设备的实现方式的示意性框图;
图6为本申请实施例提供的一种图像编码过程的简要流程图;
图7为本申请实施例提供的一种图像解码过程的简要流程图;
图8为本申请实施例提供的一种图像编码方法的示意图一;
图9为本申请实施例提供的一种图像编码方法的示意图二;
图10为本申请实施例提供的一种图像解码方法的示意图一;
图11为本申请实施例提供的一种图像解码方法的示意图二;
图12为本申请实施例提供的一种信息重建网络的处理流程图;
图13为本申请实施例提供的一种图像编码装置的结构示意图一;
图14为本申请实施例提供的一种图像编码装置的结构示意图二;
图15为本申请实施例提供的一种图像解码装置的结构示意图一;
图16为本申请实施例提供的一种图像解码装置的结构示意图二。
具体实施方式
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一特征图、第二特征图以及第三特征图等是用于区别不同的特征图,而不是用于描述特征图的特定顺序;第一重建图、第二重建图以及第三重建图等是用于区别不同的重建图,而不是用于描述重建图的特定顺序;又例如,第一分析网络、第二分析网络、第三分析网络等是用于区别不同的分析网络,而不是用于描述分析网络的特定顺序;第一变换网络、第二变换网络、第三变换网络等是用于区别不同的变换网络,而不是用于描述变换网络的特定顺序;又例如,第一概率预测网络和第二概率预测网络等是用于区别不同的概率预测网络,而不是用于描述概率预测网络的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个分析网络是指两个或两个以上的分析网络;多个变换网络是指两个或两个以上的变换网络。
首先对本申请实施例提供的一种图像编解码方法及装置中涉及的一些概念做解释说明。
深度学习:深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的深度神经网络,模仿人脑的机制,通过多个变换阶段分层对来描述数据(例如图像、声音、文本等)。
神经网络由多个网络层构成,每个网络层对其输入数据进行处理,并将处理后的数据传输至下一网络层。通常,神经网络的网络层的类型包括但不限于卷积层、全连接层、池化层、反卷积层等。为了增加神经网络的表达能力,在神经网络的至少一个网络层中引入激活函数从而引入非线性特征,以提升神经网络的表示性能。
本申请实施例中涉及的网络层包括卷积层、反卷积层、分组卷积层、分组反卷积、滑窗层、重整层、全连接层、转置层、空间-深度转换层、深度-空间转换层。其中,卷积层和反卷积层在功能上是互逆的,例如卷积层可以增大特征图的空间尺寸,反卷积可以减小特征图的空间尺寸。分组卷积层和分组反卷积层在功能是也是互逆的,空间-深度转换层和深度-空间转换层的操作是互逆的,关于各个网络层的功能将在下述实施例中结合编码和解码的过程进行详细描述。
常见的激活函数有sigmoid函数,tanh函数,ReLU函数、Leaky ReLU函数、GDN(广义分裂标准化)函数、SoftMax函数等,其中,sigmoid函数可以将取值为(-∞,+∞)的数映射到(0,1)之间;tanh函数可将取值为(-∞,+∞)的数映射到(-1,1)之间;ReLU函数是一种分段线性函数,其弥补了sigmoid函数以及tanh函数的梯度消失问题;Leaky ReLU函数是ReLU函数的一种改进函数,解决了ReLU函数在输入为负的情况下产生的梯度消失问题;GDN函数是基于生物启发的激活函数,能够有效减少神经网络模型的参数。SoftMax函数是对向量进行归一化的函数,通过softmax处理之后的向量的所有元素之和为1,从而该归一化之后的整个向量可以用于表示一个离散概率分布的直方图。对于上述神经网络的激活函数的更多描述可参考现有技术,本申请实施例不作详细的描述。
应理解,神经网络模型是表达神经网络的结构的信息,包含神经网络的每一个网络层的参数,例如,网络层的类型、输入通道数、输出通道数、激活函数等等。以卷积层为例,该卷积层的参数包括卷积层的卷积核、卷积核的尺寸、执行卷积操作的步长、激活函数的类型等。
可选地,执行一项任务(例如图像识别、图像编码、图像解码等)的神经网络(模型)可以包括多个子网络(模型),每一个子网络分别用于执行该任务中的一个子任务。
例如,基于神经网络进行编码时,用于图像编码的神经网络包括特征表示网络和概率网络,其中,特征表示网络用于对待编码图像进行特征提取,以去除待编码图像的局部相关性,获得第一特征图,然后,通过概率预测网络预测第一特征图的概率分布,进而基于该概率分布对第一特征图进行熵编码,得到待编码图像的码流。
又例如,基于神经网络进行解码时,用于图像解码的神经网络包括概率预测网络和特征逆变换网络,其中,概率预测网络用于对预测待解码图像的第一特征图的概率分布,然后,基于该第一特征图的概率分布对待解码图像的码流进行熵解码,得到第一特征图,进而使用特征逆变换网络对第一特征图进行特征逆变换,得到待解码图像的重建图像,再对该重建图进行相关的后处理,得到待解码图像。
基于背景技术存在的问题,本申请实施例提供一种图像编解码方法及装置,该图像编解码方法中,使用概率预测网络,以目标图像(即待编码的一幅图像)的第k+1个重建图作为先验信息,对目标图像的第k个特征图进行概率预测,得到该第k个特征图的概率直方图。如此,在编码过程中,基于该第k个特征图的概率直方图对目标图像的第k个特征图进行熵编码;在解码过程中,基于该第k特征图的概率直方图对第k个特征图的码流进行熵解码得到第k个特征图,从而对第k个特征图进行特征逆变换(具体为去相关逆变换)得到目标图像的第k个重建图。与现有技术相比,本申请实施例提供的技术方案中,由于对第k个特征图的概率进行预测时,仅需将第k+1个重建图作为先验信息进行预测,无需结合第k个重建图的上下文信息,可以降低神经网络的耦合性,减少神经网络的参数,能够降低图像编解码的算力消耗。
本申请实施例提供的图像编解码方法可以应用于图像存储、图像传输以及图像分发等场景,图像存储包括客户端图像存储、服务端重编码存储等;图像传输包括服务端到客户端的图像传输,例如服务器对图像进行编码后发送至终端,终端接收到图像进行解码;图像分发包括远程会议、实时直播等。可选地,本申请实施例提供的图像编解码方法也可以应用于其他的涉及图像编解码的场景,本申请实施例不作具体限定。
具体的,上述编解码方法基于编码器和解码器实现,编码器和解码器可以基于多种通用计算平台的应用层实现,例如移动设备(手机)、个人计算设备或服务器等,在具体应用中,编码器和解码器可以部署在同一设备中,也可以分别部署在不同的设备中,本申请实施例不作限定。
以图像传输的场景为例,下面描述本申请实施例所应用的一种系统架构。参见图1A,图1A示例性地给出了本申请实施例所应用的图像编码及解码系统10的示意性框图。如图1A所示,图像编码及解码系统10可包括源设备11和目的地设备12,源设备11产生(图像)经编码的图像码流,因此,源设备11可被称为图像编码装置。目的地设备12可对由源设备11所产生的经编码的图像码流进行解码,因此,目的地设备12可被称为图像解码装置。源设备11、目的地设备12或两个的各种实施方案可包含一个或多个处理器以及耦合到所述一个或多个处理器的存储器。所述存储器可包含但不限于RAM、ROM、EEPROM、快闪存储器或可用于以可由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体,如本文所描述。源设备11和目的地设备12可以包括各种装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机、无线通信设备或其类似者。
虽然图1A将源设备11和目的地设备12绘示为单独的设备,但设备实施例也可以同时包括源设备11和目的地设备12或同时包括两者的功能性,即源设备11或对应的功能性以及目的地设备12或对应的功能性。在此类实施例中,可以使用相同硬件和/或软件,或使用单独的硬件和/或软件,或其任何组合来实施源设备11或对应的功能性以及目的地设备12或对应的功能性。
源设备11和目的地设备12之间可通过链路13进行通信连接,目的地设备12可经由链路13从源设备11接收经编码的图像码流。链路13可包括能够将经编码图像码流从源设备11移动到目的地设备12的一个或多个媒体或装置。在一个实例中,链路13可包括使得源设备11能够实时将经编码图像码流直接发射到目的地设备12的一个或多个通信媒体。在此实例中,源设备11可根据通信标准(例如无线通信协议)来调制经编码图像码流,且可将经调制的图像码流发射到目的地设备12。所述一个或多个通信媒体可包含无线和/或有线通信媒体,例如射频(RF)频谱或一个或多个物理传输线。所述一个或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一个或多个通信媒体可包含路由器、交换器、基站或促进从源设备11到目的地设备12的通信的其它设备。
源设备11包括编码器20,另外可选地,源设备11还可以包括图片源14、图片预处理器16、以及通信接口18。具体实现形态中,所述编码器20、图片源14、图片预处理器16、以及通信接口18可能是源设备11中的硬件部件,也可能是源设备11中的软件程序。分别描述如下:
图片源14,可以包括或可以为任何类别的图片捕获设备,用于例如捕获现实世界图片,和/或任何类别的图片或评论(对于屏幕内容编码,屏幕上的一些文字也认为是待编码的图片或图像的一部分)生成设备,例如,用于生成计算机动画图片的计算机图形处理器,或用于获取和/或提供现实世界图片、计算机动画图片(例如,屏幕内容、虚拟现实(virtual reality,VR)图片)的任何类别设备,和/或其任何组合(例如,实景(augmentedreality,AR)图片)。图片源14可以为用于捕获图片的相机或者用于存储图片的存储器,图片源14还可以包括存储先前捕获或产生的图片和/或获取或接收图片的任何类别的(内部或外部)接口。当图片源14为相机时,图片源14可例如为本地的或集成在源设备中的集成相机;当图片源14为存储器时,图片源14可为本地的或例如集成在源设备中的集成存储器。当所述图片源14包括接口时,接口可例如为从外部视频源接收图片的外部接口,外部视频源例如为外部图片捕获设备,比如相机、外部存储器或外部图片生成设备,外部图片生成设备例如为外部计算机图形处理器、计算机或服务器。接口可以为根据任何专有或标准化接口协议的任何类别的接口,例如有线或无线接口、光接口。
其中,图片可以视为像素点(picture element)的二维阵列或矩阵。阵列中的像素点也可以称为采样点。阵列或图片在水平和垂直方向(或轴线)上的采样点数目定义图片的尺寸和/或分辨率。为了表示颜色,通常采用三个颜色分量,即图片可以表示为或包含三个采样阵列。例如在RBG格式或颜色空间中,图片包括对应的红色、绿色及蓝色采样阵列。但是,在视频编码中,每个像素通常以亮度/色度格式或颜色空间表示,例如对于YUV格式的图片,包括Y指示的亮度分量(有时也可以用L指示)以及U和V指示的两个色度分量。亮度(luma)分量Y表示亮度或灰度水平强度(例如,在灰度等级图片中两者相同),而两个色度(chroma)分量U和V表示色度或颜色信息分量。相应地,YUV格式的图片包括亮度采样值(Y)的亮度采样阵列,和色度值(U和V)的两个色度采样阵列。RGB格式的图片可以转换或变换为YUV格式,反之亦然,该过程也称为色彩变换或转换。如果图片是黑白的,该图片可以只包括亮度采样阵列。本申请实施例中,由图片源14传输至图片处理器的图片也可称为原始图像码流15。
图片预处理器16,用于接收原始图像15并对原始图像15执行预处理,以获取经预处理的图像17。例如,图片预处理器16执行的预处理可以包括整修、色彩格式转换(例如,从RGB格式转换为YUV格式)、调色或去噪。
编码器20,用于接收经预处理的图像17,在基于深度神经网络对该图像17进行变换和熵编码,从而提供经编码的图像码流21(下文将进一步基于图2描述编码器20的结构细节)。在一些实施例中,编码器20可以用于执行后文所描述的各个实施例,以实现本申请实施例所描述的图像编解码方法在编码侧的应用。
通信接口22,可用于接收经编的图像码流21,并可通过链路13将经编码图像码流21传输至目的地设备12或任何其它设备(如存储器),以用于存储或直接重构,所述其它设备可为任何用于解码或存储的设备。通信接口22可例如用于将经编码的图像码流21封装成合适的格式,例如数据包,以在链路13上传输。
目的地设备12包括解码器30,另外可选地,目的地设备12还可以包括通信接口23、图片后处理器32和显示设备34。分别描述如下:
通信接口23,可用于从源设备11或任何其它源设备接收经编码的图像码流21,所述任何其它源设备例如为存储设备,存储设备例如为经编码的图像码流的存储设备。通信接口23可以用于藉由源设备11和目的地设备12之间的链路13或藉由任何类别的网络传输或接收经编码图像码流21,链路13例如为直接有线或无线连接,任何类别的网络例如为有线或无线网络或其任何组合,或任何类别的私网和公网,或其任何组合。通信接口23可以例如用于解封装通信接口22所传输的数据包以获取经编码图像码流21。
通信接口23和通信接口22都可以配置为单向通信接口或者双向通信接口,以及可以用于例如发送和接收消息来建立连接、确认和交换任何其它与通信链路和/或例如经编码图像码流传输的数据传输有关的信息。
解码器30,用于接收经编码图像码流21,并基于深度神经网络对该图像码流进行解码,从而提供经解码的图像31(下文将进一步基于图3描述解码器30的结构细节)。在一些实施例中,解码器30可以用于执行后文所描述的各个实施例,以实现本申请实施例所描述的图像编解码方法在解码侧的应用。
图片后处理器32,用于对经解码的图像31(也称为经重构图像)执行后处理,以获得经后处理图像33。图片后处理器32执行的后处理可以包括:色彩格式转换(例如,从YUV格式转换为RGB格式)、调色、整修或重采样,或任何其它处理,还可用于将将经后处理图像码流33传输至显示设备34。
显示设备34,用于接收经后处理图像33以向例如用户或观看者显示图片。显示设备34可以为或可以包括任何类别的用于呈现经重构图片的显示器,例如,集成的或外部的显示器或监视器。例如,显示器可以包括液晶显示器(liquid crystal display,LCD)、有机发光二极管(organic light emitting diode,OLED)显示器、等离子显示器、投影仪、微LED显示器、硅基液晶(liquid crystal on silicon,LCoS)、数字光处理器(digital lightprocessor,DLP)或任何类别的其它显示器。
本领域技术人员基于描述明显可知,不同单元的功能性或图1A所示的源设备11和/或目的地设备12的功能性的存在和(准确)划分可能根据实际设备和应用有所不同。源设备11和目的地设备12可以包括各种设备中的任一个,包含任何类别的手持或静止设备,例如,笔记本或膝上型计算机、移动电话、智能手机、平板或平板计算机、摄像机、台式计算机、机顶盒、电视机、相机、车载设备、显示设备、数字媒体播放器、视频游戏控制台、视频流式传输设备(例如内容服务服务器或内容分发服务器)、广播接收器设备、广播发射器设备等,并可以不使用或使用任何类别的操作系统。
编码器20和解码器30都可以实施为各种合适电路中的任一个,例如,一个或多个微处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件实施所述技术,则设备可将软件的指令存储于合适的非暂时性计算机可读存储介质中,且可使用一个或多个处理器以硬件执行指令从而执行本公开的技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可视为一个或多个处理器。
在一些情况下,图1A中所示图像编码及解码系统10仅为示例,本申请的技术可以适用于不必包含编码和解码设备之间的任何数据通信的编码设置(例如,图像编码或图像解码)。在其它实例中,数据可从本地存储器检索、在网络上流式传输等。图像编码设备可以对数据进行编码并且将数据存储到存储器,和/或图像解码设备可以从存储器检索数据并且对数据进行解码。在一些实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的设备执行编码和解码。
本申请实施例提供的图像编解码方法也可以用于视频图像编解码,参见图1B,图1B是根据一示例性实施例的包含图1A中的编码器20和/或解码器30的视频译码系统40的实例的说明图。视频译码系统40可以实现本申请实施例的各种技术的组合。在所说明的实施方式中,视频译码系统40可以包含成像设备41、编码器20、解码器30(和/或藉由处理单元46的逻辑电路47实施的视频编/解码器)、天线42、一个或多个处理器43、一个或多个存储器44和/或显示设备45。
如图1B所示,成像设备41、天线42、处理单元46、逻辑电路47、编码器20、解码器30、处理器43、存储器44和/或显示设备45能够互相通信。如所论述,虽然用编码器20和解码器30绘示视频译码系统40,但在不同实例中,视频译码系统40可以只包含编码器20或只包含解码器30。
在一些实例中,天线42可以用于传输或接收视频数据的经编码比特流。另外,在一些实例中,显示设备45可以用于呈现视频数据。在一些实例中,逻辑电路47可以通过处理单元46实施。处理单元46可以包含专用集成电路(application-specific integratedcircuit,ASIC)逻辑、图形处理器、通用处理器等。视频译码系统40也可以包含可选的处理器43,该可选处理器43类似地可以包含专用集成电路(application-specific integratedcircuit,ASIC)逻辑、图形处理器、通用处理器等。在一些实例中,逻辑电路47可以通过硬件实施,如视频编码专用硬件等,处理器43可以通过通用软件、操作系统等实施。另外,存储器44可以是任何类型的存储器,例如易失性存储器(例如,静态随机存取存储器(StaticRandom Access Memory,SRAM)、动态随机存储器(Dynamic Random Access Memory,DRAM)等)或非易失性存储器(例如,闪存等)等。在非限制性实例中,存储器44可以由超速缓存内存实施。在一些实例中,逻辑电路47可以访问存储器44(例如用于实施图像缓冲器)。在其它实例中,逻辑电路47和/或处理单元46可以包含存储器(例如,缓存等)用于实施图像缓冲器等。
在一些实例中,通过逻辑电路实施的编码器20可以包含(例如,通过处理单元46或存储器44实施的)图像缓冲器和(例如,通过处理单元46实施的)图形处理单元。图形处理单元可以通信耦合至图像缓冲器。图形处理单元可以包含通过逻辑电路47实施的编码器20,以实施参照图2和/或本文中所描述的任何其它编码器系统或子系统所论述的各种模块。逻辑电路可以用于执行本文所论述的各种操作。
在一些实例中,解码器30可以以类似方式通过逻辑电路47实施,以实施参照图3的解码器30和/或本文中所描述的任何其它解码器系统或子系统所论述的各种模块。在一些实例中,逻辑电路实施的解码器30可以包含(通过处理单元46或存储器44实施的)图像缓冲器和(例如,通过处理单元46实施的)图形处理单元。图形处理单元可以通信耦合至图像缓冲器。图形处理单元可以包含通过逻辑电路47实施的解码器30,以实施参照图3和/或本文中所描述的任何其它解码器系统或子系统所论述的各种模块。
在一些实例中,天线42可以用于接收视频数据的经编码比特流。如所论述,经编码比特流可以包含本文所论述的与编码视频帧相关的数据、神经网络模型的标识(索引)等。视频译码系统40还可包含耦合至天线42并用于解码经编码比特流的解码器30。显示设备45用于呈现视频帧。
应理解,本申请实施例中对于参考编码器20所描述的实例,解码器30可以用于执行相反过程。关于信令语法元素(例如图像尺寸,神经网络模型的标识),解码器30可以用于接收并解析这种语法元素,相应地解码相关视频数据。在一些例子中,编码器20可以将语法元素熵编码成经编码视频比特流。在此类实例中,解码器30可以解析这种语法元素,并相应地解码相关视频数据。
需要说明的是,本申请实施例描述的图像编解码方法通过深度学习实现,使用编码器20进行编码的过程和使用解码器30进行解码的过程互为相反。可选地,编码器20和解码器30可以预先存储经训练好的神经网络模型,或者编码器20和解码器30从其他设备(例如云端)获取经训练好的神经网络模型。
应理解,本申请实施例中,用于图像编解码的神经网络模型包括多个子网络模型,例如包括多个分析网络、多个变换网络、概率预测网络、信息重建网络。本申请实施例中,在一种实现方式中,该神经网络模型可以包括:第一分析网络、第二分析网络、第一变换网络、第二变换网络、第一概率预测网络以及信息重建网络;在另一种实现方式中,该神经网络模型可以包括:第一分析网络、第二分析网络、第三分析网络、第一变换网络、第二变换网络、第三变换网络、第一概率预测网络、第二概率预测网络以及信息重建网络。对于神经网络模型中的各个子网络模型的具体结构,将结合下述实施例中的编解码过程进行详细介绍。
上述用于图像编解码的神经网络模型中的多个子网络模型归属于一套神经网络模型,该神经网络模型中的部分或全部子网络用于图像编码,部分或者全部子网络用于图像解码,具体根据实际需求确定。
参见图2,图2示出了用于实现本申请实施例的编码器20的实例的示意性/概念性框图。在图2的实例中,编码器20包括分析处理单元201、量化单元202、熵编码单元203、熵解码单元204、逆量化单元205、变换处理单元206、概率预测单元207。各个单元的连接关系参考图2。
上述分析处理单元201用于对输入图像进行去相关处理,去除输入图像的局部相关性,得到输入图像的特征表示系数。可选地,分析处理单元201可以包括多个分析网络,例如包括第一分析网络和第二分析网络,第一分析网络和第二分析网络是图像编解码的神经网络中的子网络。
量化单元202用于对分析网络的输出进行量化,得到输入图像的特征图。量化过程可以减少与部分或全部特征表示系数有关的位深度,例如可以将特征表示系数进行均指为0的量化。
熵编码单元203用于对输入图像的特征图进行熵编码,本申请实施例中,熵编码时,使用特征图的概率分布进行编码。
熵解码单元204与熵编码单元203的处理过程是互为相反的过程,熵解码单元204用于对编码后的码流进行解码,同理,熵解码时,需使用该码流对应的特征图的概率分布进行解码。
逆量化单元205与上述量化单元202的处理过程是互为相反的过程,逆量化单元205用于对量化后的特征表示系数进行逆量化,获得输入图像的特征表示系数(即量化后的特征图)。
变换处理单元206与上述分析处理单元201的处理过程是互为相反的过程,变换处理单元206用于对输入图像的特征图进行变换,得到输入图像的重建图。应理解,变换处理单元206对输入图像的特征图进行变换是基于变换网络实现,该变换网络是图像编解码的神经网络中的子网络。
概率预测单元207用于对输入图像的特征图的概率进行预测,得到特征图的概率分布,可选的,特征图的概率分布可以为特征图的概率直方图。概率预测单元207对特征图的概率进行预测是基于概率预测网络实现,该概率预测网络是图像编解码的神经网络中的子网络。
下面结合对输入图像的编码过程简要说明上述编码器的工作流程,输入图像I首先经第一分析网络处理得到的结果再经过量化单元202量化之后,得到第一特征图I'(处理流程在图2中以实线示意);对该第一特征图I'进行熵编码可以得到输入图像的第一码流;进一步的,通过第二分析网络对该第一特征图I'进行处理,将得到的结果再经过量化单元202量化之后,得到第二特征图I"(处理流程在图2中以虚线示意),对该第二特征图I"进行熵编码可以得到输入图像的第二码流,上述第一码流和第二码流以及相关语法元素的码流组成经编码的图像码流。
结合图2,需要注意的是,上述使用熵编码单元203对第二特征图I"进行熵编码得到第二码流的过程中,需利用该第二特征图I"的概率分布进行熵编码,第二特征图I"的概率分布是预设的,该预设的概率分布是在神经网络训练阶段训练得到的概率分布,且预先存储在编码器20中。上述使用熵编码单元203对第一特征图I'进行熵编码时,需利用该第一特征图I'的概率分布进行熵编码,该第一特征图I'的概率分布通过概率预测单元207得到,具体的,通过熵解码单元204对上述第二特征图I"编码得到的第二码流进行熵解码,并通过逆量化单元205对解码结果进行逆量化,再通过变换处理单元206对逆量化的结果进行变换处理,得到第二码流对应的重建图,即第二重建图,进一步的,将该第二重建图作为先验信息,通过概率预测网络对第一特征图I'的概率分布进行预测,得到第一特征图I'的概率分布。
参见图3,图3示出了用于实现本申请实施例的解码器30的实例的示意性/概念性框图。在图3的实例中,解码器30包括熵解码单元301、逆量化单元302、变换处理单元303、概率预测单元304以及重建单元305,各个单元的连接关系参考图3。
需要说明的是,以对图2示例的编码过程得到的码流进行解码为例说明解码器30的各个单元的功能。
上述熵解码单元301用于对经编码的图像码流进行熵解码,熵编码时,使用码流对应的特征图的概率分布进行解码。
逆量化单元301用于对解码得到的经量化的特征表示系数(即经量化的图像的特征图)进行逆量化,获得图像的特征表示系数(即图像的特征图)。
变换处理单元303用于对输入图像的特征图进行变换,得到待解码图像的重建图。可选地,变换处理单元303可以包括多个变换网络,例如包括第一变换网络和第二变换网络,第一变换网络和第二变换网络是图像编解码的神经网络中的子网络。
概率预测单元304用于对待解码图像的特征图的概率进行预测,得到特征图的概率分布,可选的,特征图的概率分布可以为特征图的概率直方图。概率预测单元304对特征图的概率进行预测是基于概率预测网络实现,该概率预测网络是图像编解码的神经网络中的子网络。
重建单元305用于对上述通过变换处理单元303得到的待解码图像的重建图进行信息整合,从而输出待解码图像的重建图像。重建单元305对待解码图像进行重建是基于信息重建网络实现,该信息重建网络是图像编解码的神经网络中的子网络。
结合上述编码过程,以对编码得到的码流进行相应的解码过程为例简要说明上述解码器的工作流程,经编码的图像码流包括第一码流和第二码流以及相关语法元素(例如神经网络模型的标识),熵解码单元301从码流中解析获得神经网络模型的标识,从而可以获得解码所用的神经网络模型。具体的,通过熵解码单元301对第一码流和第二码流分别进行熵解码,然后将逆量化单元302对解码的结果进行逆量化得到待解码图像的第一特征图(处理流程在图3中以实线示意)和第二特征图(处理流程在图3中以虚线示意),进而使用变换处理单元303对第一特征图和第二特征图进行变换处理(通过第一变换网络对第一特征图进行变换,通过第二变换网络对第二特征图进行变换),得到待解码图像的第一重建图和第二重建图。进一步的,基于重建单元305对上述得到的重建图进行信息整合,输出待解码图像的重建图像。
结合图3,需要注意的是,上述使用熵解码单元301对第二码流进行解码时,需利用该第二码流对应的第二特征图的概率分布进行熵解码。与上述编码过程类似,该第二特征图的概率分布是预设的,是在神经网络训练阶段训练得到的概率分布,且预先存储在解码设备中。上述使用熵解码单元301对第一码流进行解码时,需利用该第一码流对应的第一特征图的概率分布进行熵解码。与上述编码过程类似,该第一特征图的概率分布通过概率预测单元304得到,具体的,将上述获得的第二重建图作为先验信息,通过概率预测网络对第一特征图的概率分布进行预测,得到第一特征图的概率分布。
参见图4,图4是本申请实施例提供的视频译码设备400的结构示意图。视频译码设备400适于实施本文所描述的实施例,能够对图像进行编码和/或解码。在一个实施例中,视频译码设备400可以是视频解码器(例如图1A的解码器30)或视频编码器(例如图1A的编码器20)。在另一个实施例中,视频译码设备400可以是上述图1A的解码器30或图1A的编码器20中的一个或多个组件。
视频译码设备400包括:用于接收数据的入口端口410和接收单元(Rx)420,用于处理数据的处理器、逻辑单元或中央处理器(CPU)430,用于传输数据的发射器单元(Tx)440和出口端口450,以及,用于存储数据的存储器460。视频译码设备400还可以包括与入口端口410、接收器单元420、发射器单元440和出口端口450耦合的光电转换组件和电光(EO)组件,用于光信号或电信号的出口或入口。
处理器430通过硬件和软件实现。处理器430可以实现为一个或多个CPU芯片、核(例如,多核处理器)、FPGA、ASIC和DSP。处理器430与入口端口410、接收器单元420、发射器单元440、出口端口450和存储器460通信。处理器430包括译码模块470(例如编码模块470或解码模块470)。编码/解码模块470实现本文中所公开的实施例,以实现本申请实施例所提供的色度块预测方法。例如,编码/解码模块470实现、处理或提供各种编码操作。因此,通过编码/解码模块470为视频译码设备400的功能提供了实质性的改进,并影响了视频译码设备400到不同状态的转换。或者,以存储在存储器460中并由处理器430执行的指令来实现编码/解码模块470。
存储器460包括一个或多个磁盘、磁带机和固态硬盘,可以用作溢出数据存储设备,用于在选择性地执行这些程序时存储程序,并存储在程序执行过程中读取的指令和数据。存储器460可以是易失性和/或非易失性的,可以是只读存储器(ROM)、随机存取存储器(RAM)、随机存取存储器(ternary content-addressable memory,TCAM)和/或静态随机存取存储器(SRAM)。
参见图5,图5是根据一示例性实施例的可用作图1A中的源设备12和目的地设备14中的任一个或两个的装置500的简化框图。装置500可以实现本申请的技术。换言之,图5为本申请实施例的编码设备或解码设备(简称为译码设备500)的一种实现方式的示意性框图。其中,译码设备500可以包括处理器510、存储器530和总线系统550。其中,处理器和存储器通过总线系统相连,该存储器用于存储指令,该处理器用于执行该存储器存储的指令。译码设备的存储器存储程序代码,且处理器可以调用存储器中存储的程序代码执行本申请描述的各种视频编码或解码方法。为避免重复,这里不再详细描述。
在本申请实施例中,该处理器510可以是中央处理单元(Central ProcessingUnit,简称为“CPU”),该处理器510还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器530可以包括只读存储器(ROM)设备或者随机存取存储器(RAM)设备。任何其他适宜类型的存储设备也可以用作存储器530。存储器530可以包括由处理器510使用总线550访问的代码和数据531。存储器530可以进一步包括操作系统532和应用程序533,该应用程序533包括允许处理器510执行本申请描述的视频编码或解码方法(尤其是本申请描述的视频图像解码方法)的至少一个程序。例如,应用程序533可以包括应用1至N,其进一步包括执行在本申请描述的视频编码或解码方法的视频编码或解码应用(简称视频译码应用)。
该总线系统540除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统540。
可选的,译码设备500还可以包括一个或多个输出设备,诸如显示器520。在一个示例中,显示器520可以是触感显示器,其将显示器与可操作地感测触摸输入的触感单元合并。显示器520可以经由总线540连接到处理器510。
本申请实施例提供的图像编解码中的神经网络模型是预先训练好的,该预先训练好的神经网络模型存储在编解码设备中或者其他设备(例如云端),在编解码设备执行编解码方法时加载神经网络模型以进行图像编解码。本申请实施例提供的技术方案包括神经网络模型的训练阶段和使用神经网络模型的编解码阶段,以下分别进行说明。
结合上述实施例的描述可知,上述神经网络模型中的分析网络可以包括多个分析子网络,相应地,变换网络包括多个变换子网络,概率预测网络包括多个概率预测子网络。在本申请实施例中,以神经网络模型中的分析网络包含第一分析网络、第二分析网络以及第三分析网络,变换网络包含第一变换网络、第二变换网络以及第三变换网络,概率预测网络包括第一概率预测网络和第二概率预测网络为例,对神经网络的训练过程进行简要描述。
如图6所示,为图像编码过程的简要流程图(该流程图主要示意图像编码过程中的几个重要的步骤以体现图像编码所使用的神经网络,关于量化和去量化的过程未示意,但并不表示无需量化和逆量化)。结合图6可知,在图像编码过程中使用的神经网络包括第一分析网络、第二分析网络、第二变换网络、第三变换网络、第一概率预测网络以及第二概率预测网络。
如图7所示,为图像解码过程的简要流程图(该流程图主要示意图像解码过程中的几个重要的步骤以体现图像解码所使用的神经网络,关于去量化的过程未示意,但并不表示无需逆量化)。结合图7可知,在图像解码过程中使用的神经网络包括第一变换网络、第二变换网络、第三变换网络、第一概率预测网络、第二概率预测网络以及信息重建网络。
示例的,第一分析网络的输入图像的尺寸是3×H×W,输出的第一特征图的尺寸是192×(H/16)×(W/16);第二分析网络输入的第一特征图的尺寸是192×(H/16)×(W/16),该第二分析网络输出的第二特征图的尺寸是256×(H/32)×(W/32)。第三分析网络输入的第二特征图的尺寸是256×(H/32)×(W/32),该第三分析网络输出的第三特征图的尺寸是128×(H/64)×(W/64)。
相应地,第三变换网络输入的第三特征图的尺寸为128×(H/64)×(W/64),该第三变换网络输出的第三重建图的尺寸为256×(H/32)×(W/32);第二变换网络输入的第二特征图的尺寸为256×(H/32)×(W/32),该第二变换网络输出的第二重建图的尺寸为192×(H/16)×(W/16);第一变换网络输入的第一特征图的尺寸为192×(H/16)×(W/16),该第三变换网络输出的第三重建图的尺寸为192×(H/2)×(W/2)。
基于上述描述,在一种实现方式中,第一分析网络包括依次连接的至少一个卷积层;第二分析网络包括依次连接的第一卷积层、空间-深度转换层、至少一个分组卷积层以及第二卷积层;第三分析网络的结构与第二分析网络的结构类似;第一变换网络包括依次连接的至少一个反卷积层;第二变换网络包括依次连接的第二反卷积层、至少一个分组反卷积层、深度-空间转换层以及第一反卷积层;第三变换网络的结构与第二变换网络的结构类似;第一概率预测网络包括依次连接的滑窗层、至少一个卷积层、第一重整层、第一全连接层、第二重整层、转置层、第二全连接层、第三重整层;第二概率预测网络的结构与第一概率预测网络的结构类似;信息重建网络包括依次连接的至少一个第三反卷积层,至少一个第三卷积层、至少一个第四反卷积层以及和至少一个第四卷积层。如下表1至表9示例了该神经网络模型中的8个子网络的具体结构和参数的示例。
表1
表2
表3
本申请实施例中,空间-深度转换指的是将一个特征维度的特征图在空间上划分为多个子特征图,进而对于每一个子特征图再进行深度转换,使得一个子特征图中的特征分别转换至不同的子特征图中。例如,通过空间划分之后,得到2×2的子特征图,该子特征图的四个特征(即元素)分别为A1,1,A1,2,A2,1,A2,2,通过深度转换后,使得这四个元素分布于4个不同的子特征图。可选地,深度转换可以通过Z字扫描法实现。
结合表2,上述空间-深度转换层的输入的数据的尺寸为384×(H/16)×(H/16),通过该空间-深度转换层的处理之后,将每一个特征图均为分4个子特征图,从而该空间-深度转换层的输出数据的尺寸为1536×(H/32)×(H/32)。
上述16-分组卷积指的是以输入通道为划分单位,将输入通道对应的输入数据划分成16个组,对每个组分别执行卷积操作。同理,4-分组卷积至的是以输入通道为划分单位,将输入通道对应的输入数据划分为4个组,对每个组分别执行卷积操作。本申请实施例中,通过分组卷积能够显著减少神经网络模型的参数量,从而降低图像编码消耗的算力。
表4
应理解,4-分组反卷积与4-分组卷积是互逆的过程,16-分组反卷积与16-分组卷积是互逆的过程,深度-空间转换与上述空间-深度转换是互逆的过程,对于4-分组反卷积、16-分组反卷积、深度-空间转换不再进行详细描述。
需要说明的是,以第二分析网络和第二变换网络为例,通过实际测试,第二分析网络中的使用分组卷积与第二分析网络中不使用分组卷积相比,第二分析网络的参数量可以节省80.3%,第二分析网络的算力可以节省98.1%。第二变换网络中的使用分组反卷积与第二分析网络中不使用分组反卷积相比,第二分析网络的参数量可以节省58.3%,第二分析网络的算力可以节省93.3%。
表5
表6
表7
表8
表9
基于上述描述,在另一种实现方式中,第一分析网络包括依次连接的至少一个卷积层;第二分析网络包括依次连接的第一分组卷积层、空间-深度转换层以及至少一个第二分组卷积层;第三分析网络的结构与第二分析网络的结构类似;第一变换网络包括依次连接的至少一个反卷积层;第二变换网络包括依次连接的至少一个第二分组反卷积层、深度-空间转换层以及第一分组反卷积层;第三变换网络的结构与第二变换网络的结构类似;第一概率预测网络包括依次连接的滑窗层、至少一个分组卷积层、第一重整层、第一分组全连接层、第二重整层、转置层、第二分组全连接层、第三重整层;第二概率预测网络的结构与第一概率预测网络的结构类似;信息重建网络包括依次连接的至少一个第三反卷积层,至少一个第三卷积层、至少一个第四反卷积层以及和至少一个第四卷积层。如下表10至表18示例了该神经网络模型中的8个子网络的具体结构和参数的示例。
表10
表11
表12
表13
表14
表15
表16
表17
表18
本申请实施例中,通过计算设备训练神经网络,具体的,训练神经网络模型时,首先预配置各个子网络的结构参数,例如对于卷积层,需预配置输入通道数量、输出通道数量、卷积层的卷积核的尺寸、卷积操作的步长、激活函数等;对于空间-深度转换层,需预配置空间-深度转换尺寸比例;对于分组卷积层需配置分组卷积层的输入通道数、输出通道数、分组数量、卷积核的尺寸、卷积操作的步长以及激活函数等;对于滑窗层,需预配置滑窗大小;对于重整层,需预配置重整目标张量形状参数;对于转置层,需预配置张量转置轴对应的维度;对于全连接层,需预配置输入和输出向量的维度。
其次,初始化子网络的运算参数的初始值,例如,每个卷积层所使用的卷积核均具有初始值。本申请实施例对各运算参数的初始值均不进行限定,例如可以是随机生成的。可以理解的是,训练每个子网络的过程可以认为是获得该子网络的运算参数的实际值(如卷积核中每个元素的取值等)的过程。
然后,基于一组图像数据集分别对图像编码使用的子网络和图像解码使用的子网络进行训练,对于上述初始化的神经网络模型,设置拉格朗日参数λ,首先使图像经过图6所示的用于图像编码的子网络,得到码流。在熵编码过程中使用的特征图的概率分布(通过概率预测网络预测的概率直方图的概率分布或者预设的概率直方图的概率分布)与被编码的特征图的实际概率分布计算得到交叉熵,该交叉熵表示了输入图像在当前网络下的编码码率,记为R。然后,上述经编码的码流经过用于图像解码的子网络,得到重建图像。重建图像与源图像计算均方差(MSE),记为D。本申请实施例中,将神经网络的损失函数定义为R+λD,使用反向传播方法,计算损失函数关于上述各个子网络的运算参数的梯度,再使用随机梯度下降更新运算参数的值,从而完成一次迭代。按照上述训练过程,进行多次迭代,直到各个子网络在训练数据上收敛,最终得到一套包含用于解码和编码的子网络的神经网络模型。
应理解,为神经网络设定不同的λ,可以训练得到适用不同码率段的神经网络模型。本申请实施例中,可以选择多个λ,从而训练得到多个神经网络模型,使得编解码器覆盖多个码率段。
基于上述训练得到的神经网络模型以及图6所示的编码流程,如图8所示,本申请实施例提供一种图像编码方法,由编码设备执行,编码设备可以采用表1至表9所示的神经网络或者采用表10至表18所示的神经网络进行编码。具体的,该图像编码方法包括步骤801至步骤8010。
步骤801、使用第一分析网络对目标图像进行第一去相关变换,得到目标图像的第一特征图。
本申请实施例中,输入第一分析网络的目标图像的尺寸为3×H×W,其中,3表示目标图像的通道数(例如R,G,B三个通道),H表示目标图像的高,W表示目标图像的宽。第一特征图的尺寸为M1×H1×W1;其中,M1为特征维度的尺寸(即包含M1个特征),H1和W1分别为第一特征图的高和宽,M1,H1,W1均为正整数。
结合表1和表10可知,通过该第一分析网络对目标图像进行去相关变换处理得到第一特征图,该第一特征图的尺寸为:H1=H/16,W1=W/16,M1=192。
步骤802、使用第二分析网络对第一特征图进行第二去相关变换,得到目标图像的第二特征图。
本申请实施例中,将上述第一特征图作为第二分析网络的输入,对第一特征图进一步进行第二去相关变换,得到的第二特征图的尺寸为M2×H2×W2;其中,M2为特征维度的尺寸,H2和W2分别为第二特征图的高和宽,M2,H2,W2均为正整数。
结合表3和表12可知,通过该第二分析网络对目标图像进行去相关变换处理得到第二特征图,该第二特征图的尺寸为:H2=H/32,W2=W/32,M2=256。
步骤803、使用第三分析网络对第二特征图进行第三去相关变换,得到目标图像的第三特征图。
本申请实施例中,将上述第二特征图作为第三分析网络的输入,对第二特征图进一步进行第三去相关变换,得到的第三特征图的尺寸为M3×H3×W3;其中,M3为特征维度的尺寸,H3和W3分别为第二特征图的高和宽,M3,H3,W3均为正整数。
结合表5和表14可知,通过该第三分析网络对目标图像进行去相关变换处理得到第三特征图,该第三特征图的尺寸为:H3=H/64,W3=W/64,M3=128。
步骤804、基于第三特征图的第三概率直方图对第三特征图进行熵编码,获得目标图像的第三码流。
其中,第三概率直方图用于指示第三特征图中的每一个元素的概率。
需要说明的是,本申请实施例中,上述第三概率直方图是预设的,具体的,该第三概率直方图是在神经网络模型训练阶段,训练得到的概率直方图。
本申请实施例中,第三概率直方图为矩阵,记为P3,尺寸为N3×M3,N3为正整数,将第三特征图记为F3,该第三特征图的一个元素的概率满足:
其中,表示第三特征图F3的元素的取值为n的概率,为第三概率直方图对应的矩阵P3的一个元素;i为1,2,……H3中的一个值,j为1,2,……W3中的一个值,m为1,2,……M3中的一个值,n为1,2,……N3中的一个值。
步骤805、基于第三特征图的第三概率直方图和第三码流,获得目标图像的第三重建图。
可选地,结合图8,如图9所示,上述步骤805可以通过步骤8051至步骤8052实现。
步骤8051、基于第三特征图的第三概率直方图,对目标图像的第三码流进行熵解码,获得目标图像的第三特征图。
步骤8052、使用第三变换网络对第三特征图进行第三去相关逆变换,获得目标图像的第三重建图。
应理解,上述通过第三分析网络对第二特征图进行去相关变换得到第三特征图的过程与通过第三变换网络对第三特征图进行去相关逆变换得到第三重建图的过程是互逆的过程。
步骤806、将第三重建图作为先验信息,使用第二概率预测网络对第二特征图进行概率预测,获得第二概率直方图。
该第二概率预测网络的具体结构和参数参见上述表8或表17。
步骤807、基于第二特征图的第二概率直方图对第二特征图进行熵编码,获得目标图像的第二码流。
其中,第二概率直方图用于指示第二特征图中的每一个元素的概率。
本申请实施例中,第二概率直方图为四维张量,记为P2,尺寸为N2×M2×H2×W2,N2为正整数,第二特征图记为F2,则第二特征图的一个元素的概率满足:
其中,表示第二特征图F2的元素的取值为n的概率,为第二概率直方图对应的四维张量P2的一个元素,i为1,2,……H2中的一个值,j为1,2,……W2中的一个值,m为1,2,……M2中的一个值,n为1,2,……N2中的一个值。
步骤808、基于第二特征图的第二概率直方图和第二码流,获得目标图像的第二重建图。
可选地,结合图8,如图9所示,上述步骤808可以通过步骤8081至步骤8082实现。
步骤8081、基于第二特征图的第二概率直方图,对目标图像的第二码流进行熵解码,获得目标图像的第二特征图。
步骤8082、使用第二变换网络对第二特征图进行第二去相关逆变换,获得目标图像的第二重建图。
应理解,上述通过第二分析网络对第一特征图进行去相关变换得到第二特征图的过程与通过第二变换网络对第二特征图进行去相关逆变换得到第二重建图的过程是互逆的过程。
步骤809、将第二重建图作为先验信息,使用第一概率预测网络对第一特征图进行概率预测,获得第一概率直方图。
其中,第一概率直方图用于指示第一特征图中的每一个元素的概率。
该第一概率预测网络的具体结构和参数参见上述表7或表16。
本申请实施例中,第一概率直方图为四维张量,记为P1,尺寸为N1×M1×H1×W1,N2为正整数;第一特征图记为F1,则第一特征图的一个元素的概率满足:
其中,表示第一特征图F1的元素的取值为n的概率,为第一概率直方图对应的四维张量P1的一个元素,i为1,2,……H1中的一个值,j为1,2,……W1中的一个值,m为1,2,……M1中的一个值,n为1,2,……N1中的一个值。
步骤8010、基于第一特征图的第一概率直方图对第一特征图进行熵编码,获得目标图像的第一码流。
本申请实施例中,通过上述三个分析网络对目标图像进行去相关变换,进而对每一个分析网络输出的特征图进行熵编码,能够降低图像编码消耗的算力,并且能够保证图像编码性能。
综上,通过步骤801至步骤8010得到目标图像的第一码流、第二码流以及第三码流,进而将该第一码流、第二码流以及第三码流进行拼接,并添加目标图像的尺寸信息和编码使用的神经网络模型的标识信息,得到编码后的目标图像的码流。该神经网络模型的标识信息用于指示神经网络模型,从而对目标图像解码时,通过解析得到神经网络模型的标识信息,从而确定解码应使用的神经网络模型,应理解,解码时使用的神经网络模型与编码时使用的神经网络是同一套神经网络模型。
可选地,上述完成对目标图像的编码之后,可以编码得到的码流存储于服务端,待其他设备读取;或者也可以将码流发送至解码端,本申请实施例不作限定。
本申请实施例中,神经网络包括多个分析网络时,多个分析网络串联,其中,神经网络的最后一个分析网络输出的特征图的概率分布是预设的,第k个分析网络的输出作为第k+1个分析网络的输入,并且第k个分析网络输出的第k个特征图的概率分布基于第k+1个分析网络输出的特征图的第k+1个重建图进行预测(例如,第二特征图的第二概率直方图是基于第三重建图得到),无需结合第k个重建图的上下文信息,可以降低神经网络的耦合性,减少神经网络的参数,能够降低图像编解码的算力消耗。
相应地,本申请实施例提供一种图像解码方法,结合图7,如图10所示,该图像解码方法包括步骤1001至步骤1007。
步骤1001、获取目标图像的第一码流、第二码流以及第三码流。
其中,第一码流是对目标图像的第一特征图进行熵编码得到的码流,第一特征图是对目标图像进行第一去相关变换的结果;第二码流是对目标图像的第二特征图进行熵编码得到的码流,第二特征图是对第一特征图进行第二去相关变换的结果;第三码流是对目标图像的第三特征图进行熵编码得到的码流,第三特征图是对第二特征图进行第三去相关变换的结果。
本申请实施例中,解码设备从服务端或者解码端获取目标图像的码流,解析该码流得到第一码流、第二码流、第三码流以及语法元素,其中,语法元素包括神经网络模型的标识信息,从而解码设备根据神经网络模型的标识信息获取(或加载)用于解码的神经网络模型,并基于该神经网络模型解码得到目标图像的重建图像。
可选地,目标图像的码流中还包括目标图像的尺寸信息。
步骤1002、基于预设的第三特征图的第三概率直方图和第三码流,获得目标图像的第三重建图。
其中,第三概率直方图用于指示所述第三特征图中的每一个元素的概率。
可选地,结合图10,如图11所示,步骤1002具体通过步骤10021至步骤10022实现。
步骤10021、基于第三特征图的第三概率直方图,对目标图像的第三码流进行熵解码,获得目标图像的第三特征图。
步骤10022、使用第三变换网络对第三特征图进行第三去相关逆变换,获得目标图像的第三重建图。
结合表6和表15可知,第三变换网络输入的第三特征图的尺寸为128×(H/64)×(W/64),该第三变换网络输出的第三重建图的尺寸为256×(H/32)×(W/32)。
关于第三概率直方图的描述可参考上述实施例对于第三概率直方图的相关描述,此处不再赘述。
步骤1003、将第三重建图作为先验信息,使用第二概率预测网络对第二特征图进行概率预测,获得第二概率直方图。
该第二概率预测网络的具体结构和参数参见上述表8或表17,关于第二概率直方图的描述可参考上述实施例对于第二概率直方图的相关描述,此处不再赘述。
步骤1004、基于第二特征图的第二概率直方图和第二码流,获得目标图像的第二重建图。
所述第二概率直方图用于指示第二特征图中的每一个元素的概率。
可选地,结合图10,如图11所示,步骤1004具体通过步骤10041至步骤10042实现。
步骤10041、基于第二特征图的第二概率直方图,对目标图像的第二码流进行熵解码,获得目标图像的第二特征图。
步骤10042、使用第二变换网络对第二特征图进行第二去相关逆变换,获得目标图像的第二重建图。
结合表4和表13可知,第二变换网络输入的第二特征图的尺寸为256×(H/32)×(W/32),该第二变换网络输出的第二重建图的尺寸为192×(H/16)×(W/16)。
步骤1005、将第二重建图作为先验信息,使用第一概率预测网络对第一特征图进行概率预测,获得第一概率直方图。
其中,第一概率直方图用于指示第一特征图中的每一个元素的概率。
第一概率预测网络的具体结构和参数参见上述表7或表16,关于第一概率直方图的描述可参考上述实施例对于第一概率直方图的相关描述,此处不再赘述。
步骤1006、基于第一概率直方图和第一码流,获得目标图像的第一重建图。
可选地,结合图10,如图11所示,步骤1006具体通过步骤10061至步骤10062实现。
步骤10061、基于第一特征图的第一概率直方图,对目标图像的第一码流进行熵解码,获得目标图像的第一特征图。
步骤10062、使用第一变换网络对第一特征图进行第一去相关逆变换,获得目标图像的第一重建图。
结合表2和表11可知,第一变换网络输入的第一特征图的尺寸为192×(H/16)×(W/16),该第三变换网络输出的第一重建图的尺寸为192×(H/2)×(W/2)。
步骤1007、根据第一重建图确定目标图像的重建图像。
可选地,本申请实施例中,根据第一重建图确定目标图像的重建图像包括:解码设备对第一重建图进行信息整合,获得目标图像的重建图像。具体的,第一重建图的尺寸为192×(H/2)×(W/2),将该第一重建图作为信息重建网络的输入,通过信息重建网络对目标图像进行残差预测,然后对第一重建图和残差求和,并通过反卷积操作和至少一个卷积操作得到目标图像的重建图像,该重建图像的尺寸为3×H×W。
可选地,上述根据第一重建图确定目标图像的重建图像包括:解码设备对第一重建图和第二重建图进行信息整合,获得目标图像的重建图像。具体的,第一重建图的尺寸为192×(H/2)×(W/2),第二重建图的尺寸为192×(H/16)×(W/16),将该第一重建图和第二重建图作为信息重建网络的输入,首先对第二重建图进行至少一层反卷积操作,使得第二重建图的尺寸变为192×(H/2)×(W/2);然后将第一重建图与第二重建图进行拼接,得到尺寸为384×(H/2)×(W/2)的重建图,基于该拼接得到的重建图预测目标图像的残差,然后对该拼接得到的重建图和残差求和,并通过反卷积操作和至少一个卷积操作得到目标图像的重建图像,该重建图像的尺寸为3×H×W。
可选地,上述根据第一重建图确定目标图像的重建图像包括:基于信息重建网络对第一重建图、第二重建图以及第三重建图进行信息整合,得到目标图像的重建图像。具体的,第一重建图的尺寸为192×(H/2)×(W/2),第二重建图的尺寸为192×(H/16)×(W/16),第三重建图的尺寸为256×(H/32)×(W/32),参考图12所示的信息重建网络的处理流程图,将该第一重建图、第二重建图以及第三重建图作为信息重建网络的输入,首先对第三重建图进行上采样,使得第三重建图的尺寸变为256×(H/16)×(W/16),进而对第二重建图和第三重建图进行至少一层反卷积操作,得到尺寸变为192×(H/2)×(W/2)的重建图;然后将该重建图与第一重建图进行拼接,得到尺寸为384×(H/2)×(W/2)的重建图,再基于该拼接得到的重建图预测目标图像的残差,然后对该拼接得到的重建图和残差求和,并通过反卷积操作和至少一个卷积操作得到目标图像的重建图像,该重建图像的尺寸为3×H×W。
本申请实施例中,在使用上述表10至表18示例的神经网络进行编码的情况下,本申请实施例提供的编解码方法能够实现错误重传。具体的,在解码过程中,对码流(包括第一码流、第二码流或第三码流)解码失败时,能够针对解码错误的码流重传对应的码流,而无需重传全部的码流,能够节省重传码流的开销,降低纠错代价。例如,在网络状态较差的情况下,解码设备对第一码流解码设备,从而解码器可以反馈错误的位置,从而解码器重新获取第一码流中对应位置的码流。
下面分别从解码第一码流、第二码流以及第三码流的角度详细介绍在发生解码失败时,如何实现错误重传。
在步骤10021中,若解码设备基于第三特征图的第三概率直方图,对第三码流解码失败时,该解码设备可以定位发生错误的位置,并且由于该第三码流是基于分组卷积进行编码的,因此解码设备请求重传第三码流中错误位置对应的分组的数据,从而重新执行步骤10021,解码第三码流获得第三特征图,进一步的,对第三特征图进行第三去相关逆变换,得到目标图像的第三重建图。
在步骤10041中,若解码设备基于第二特征图的第二概率直方图,对第二码流解码失败时,该解码设备可以定位发生错误的位置,并且由于该第二码流和第三码流是基于分组卷积进行编码的,因此解码设备请求重传第二码流中错误位置对应的分组的数据,并且请求重传第三码流中该错误位置对应的分组的数据,从而基于第三码流和第二概率预测网络,重新确定第二特征图的第二概率直方图,进而基于该第二概率直方图,重新执行步骤10041,解码第二码流获得第二特征图,进一步的,对第二特征图进行第二去相关逆变换,得到目标图像的第二重建图。
在步骤10061中,若解码设备基于第一特征图的第一概率直方图,对第一码流解码失败时,该解码设备可以定位发生错误的位置,并且由于该第二码流是基于分组卷积进行编码的,因此解码设备请求重传第一码流中错误位置对应的分组的数据,并且请求重传第二码流中该错误位置对应的分组的数据,从而基于第二码流和第一概率预测网络,重新确定第一特征图的第一概率直方图,进而基于该第一概率直方图,重新执行步骤10061,解码第一码流获得第一特征图,进一步的,对第一特征图进行第一去相关逆变换,得到目标图像的第一重建图。
综上,通过实验测试,解码设备获取码流时发生码流传输错误而导致无法正确解码的情况,可请求重新传输发生错误的位置的码流,即重传部分码流,而无需重传全部的码流,能够节省75%的传输代价。
需要说明的是,相比于第二码流和第三码流,第一码流的数据量较大,在图像解码要求低时延的情况下,若解码设备获取的第一码流不完整,获取的第二码流和第三码流完整,对第一码流进行解码发生错误时,重传第一码流或者重传第一码流中错误位置对应的分组的数据无法满足低时延的要求,因此,可选的,将第一概率直方图中错误位置对应的概率值中的最大概率值所对应的码流值作为该错误位置的码流值,从而重新执行步骤10061,解码第一码流获得第一特征图,进一步的,对第一特征图进行第一去相关逆变换,得到目标图像的第一重建图。
本申请实施例提供一种图像编码装置,该图像编码装置用于执行上述图像编码方法中各个的步骤,本申请实施例可以根据上述方法示例对图像编码装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图13示出上述实施例中所涉及的图像编码装置的一种可能的结构示意图。如图13所示,该图像编码装置包括变换模块1301、编码模块1302、重建模块1303以及概率预测模块1304。
变换模块1301用于支持该图像编码装置使用第一分析网络对目标图像进行第一去相关变换,得到目标图像的第一特征图,并且使用第二分析网络对第一特征图进行第二去相关变换,得到目标图像的第二特征图,例如执行上述方法实施例中的步骤801和步骤802。
编码模块1302用于支持该图像编码装置基于第二特征图的第二概率直方图对第二特征图进行熵编码,获得目标图像的第二码流,例如执行上述方法实施例中的步骤807。
重建模块1303用于支持该图像编码装置基于第二特征图的第二概率直方图和第二码流,获得目标图像的第二重建图,例如执行上述方法实施例中的步骤808。
概率预测模块1304用于支持该图像编码装置将第二重建图作为先验信息,使用第一概率预测网络对第一特征图进行概率预测,获得第一概率直方图,例如执行上述方法实施例中的步骤809。
可选地,上述编码模块1302还用于支持图像编码装置基于第一特征图的第一概率直方图对第一特征图进行熵编码,获得目标图像的第一码流,例如执行上述方法实施例中的步骤8010。
可选地,变换模块1301还用于使用第三分析网络对第二特征图进行第三去相关变换,得到目标图像的第三特征图,例如执行上述方法实施例中的步骤803。
编码模块1302,还用于基于第三特征图的第三概率直方图对第三特征图进行熵编码,获得目标图像的第三码流,例如执行上述方法实施例中的步骤804。
重建模块1303,还用于基于第三特征图的第三概率直方图和第三码流,获得目标图像的第三重建图。例如执行上述方法实施例中的步骤805。
概率预测模块1304,还用于将第三重建图作为先验信息,使用第二概率预测网络对第二特征图进行概率预测,获得第二概率直方图,例如执行上述方法实施例中的步骤806。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
当然,本申请实施例提供的图像编码装置包括但不限于上述模块,例如:图像编码装置还可以包括存储模块和发送模块。存储模块可以用于存储该图像编码装置的程序代码和数据(编码后的码流)。发送模块用于向其他设备(解码设备)发送经编码的码流。
在采用集成的单元的情况下,本申请实施例提供的图像编码装置的结构示意图如图14所示。在图14中,图像编码装置包括:处理模块1401和通信模块1402。处理模块1401用于对图像编码装置的动作进行控制管理,例如,执行上述变换模块1301、编码模块1302、重建模块1303以及概率预测模块1304执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块1402用于支持图像编码装置与其他设备之间的交互,例如,向解码设备发送经编码的码流。如图14所示,图像编码装置还可以包括存储模块1403,存储模块1403用于存储图像编码装置的程序代码和数据,例如存储神经网络模型和经编码的码流。
其中,处理模块1401可以是处理器或控制器,例如图4中的处理器430。通信模块1402可以是收发器、RF电路或通信接口等,例如图4中的接收器420或发送器440。存储模块1403可以是存储器,例如图4所示的内存460。
本申请实施例提供一种图像解码装置,该图像解码装置用于执行上述图像编码方法中各个的步骤,本申请实施例可以根据上述方法示例对图像解码装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图15示出上述实施例中所涉及的图像解码装置的一种可能的结构示意图。如图15所示,该图像解码装置包括获取模块1501、重建模块1502、概率预测模块1503以及确定模块1504。
获取模块1501用于支持该图像解码装置获取目标图像的第一码流和第二码流,例如执行上述方法实施例中的步骤1001。
重建模块1502用于支持该图像解码装置基于第二特征图的第二概率直方图和第二码流,获得目标图像的第二重建图,例如执行上述方法实施例中的步骤1004。
概率预测模块1503用于支持该图像解码装置将第二重建图作为先验信息,使用第一概率预测网络对第一特征图进行概率预测,获得第一概率直方图,例如执行上述方法实施例中的步骤1005。
重建模块1502用于支持该图像解码装置基于第一概率直方图和第一码流,获得目标图像的第一重建图,例如执行上述方法实施例中的步骤1006。
确定模块1504用于支持该图像解码装置根据第一重建图确定目标图像的重建图像,例如执行上述方法实施例中的步骤1007。
可选地,上述获取模块1501还用于支持图像解码装置获取所述目标图像的第三码流,例如执行上述方法实施例中的步骤1001。
可选地,重建模块1502还用于支持图像解码装置基于预设的第三特征图的第三概率直方图和第三码流,获得目标图像的第三重建图,例如执行上述方法实施例中的步骤1002。
可选地,上述概率预测模块1503,还用于将第三重建图作为先验信息,使用第二概率预测网络对第二特征图进行概率预测,获得第二概率直方图,例如执行上述方法实施例中的步骤1003。
确定模块1504,具体用于支持图像解码装置基于信息重建网络对第一重建图、第二重建图以及第三重建图进行信息整合,得到目标图像的重建图像。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
当然,本申请实施例提供的图像解码装置包括但不限于上述模块,例如:图像解码装置还可以包括存储模块和发送模块。存储模块可以用于存储该图像解码装置的程序代码和数据(编码后的码流)。发送模块用于向其他设备(解码设备)发送经编码的码流。
在采用集成的单元的情况下,本申请实施例提供的图像解码装置的结构示意图如图16所示。在图16中,图像解码装置包括:处理模块1601和通信模块1602。处理模块1601用于对图像解码装置的动作进行控制管理,例如,执行上述、重建模块1502、概率预测模块1503以及确定模块1504执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块1602用于支持图像解码装置与其他设备之间的交互,例如,接收经编码的码流。如图16所示,图像解码装置还可以包括存储模块1603,存储模块1603用于存储图像解码装置的程序代码和数据,例如存储神经网络模型。
其中,处理模块1601可以是处理器或控制器,通信模块1402可以是收发器、RF电路或通信接口等,存储模块1403可以是存储器。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))方式或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、磁盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state drives,SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (30)
1.一种图像编码方法,其特征在于,包括:
使用第一分析网络对目标图像进行第一去相关变换,得到所述目标图像的第一特征图;
使用第二分析网络对所述第一特征图进行第二去相关变换,得到所述目标图像的第二特征图;
基于所述第二特征图的第二概率直方图对所述第二特征图进行熵编码,获得所述目标图像的第二码流;所述第二概率直方图用于指示所述第二特征图中的每一个元素的概率;
基于所述第二特征图的第二概率直方图和所述第二码流,获得所述目标图像的第二重建图;
将所述第二重建图作为先验信息,使用第一概率预测网络对所述第一特征图进行概率预测,获得第一概率直方图;所述第一概率直方图用于指示所述第一特征图中的每一个元素的概率;
基于所述第一特征图的第一概率直方图对所述第一特征图进行熵编码,获得所述目标图像的第一码流。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第二特征图的第二概率直方图和所述第二码流,获得所述目标图像的第二重建图,包括:
基于所述第二特征图的第二概率直方图,对所述目标图像的第二码流进行熵解码,获得所述目标图像的第二特征图;
使用第二变换网络对所述第二特征图进行第二去相关逆变换,获得所述目标图像的第二重建图。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
使用第三分析网络对所述第二特征图进行第三去相关变换,得到所述目标图像的第三特征图;
基于所述第三特征图的第三概率直方图对所述第三特征图进行熵编码,获得所述目标图像的第三码流;所述第三概率直方图用于指示所述第三特征图中的每一个元素的概率;
基于所述第三特征图的第三概率直方图和所述第三码流,获得所述目标图像的第三重建图;并且将所述第三重建图作为先验信息,使用第二概率预测网络对所述第二特征图进行概率预测,获得所述第二概率直方图。
7.根据权利要求2所述的方法,其特征在于,
所述第二分析网络包括依次连接的第一卷积层、空间-深度转换层、至少一个分组卷积层以及第二卷积层;
所述第一概率预测网络包括依次连接的滑窗层、至少一个卷积层、第一重整层、第一全连接层、第二重整层、转置层、第二全连接层、第三重整层;
所述第二变换网络包括依次连接的第二反卷积层、至少一个分组反卷积层、深度-空间转换层以及第一反卷积层。
8.根据权利要求2所述的方法,其特征在于,
所述第二分析网络包括依次连接的第二分组卷积层、空间-深度转换层以及至少一个第一分组卷积层;
所述第一概率预测网络包括依次连接的滑窗层、至少一个第一分组卷积层、第一重整层、第一分组全连接层、第二重整层、转置层、第二分组全连接层、第三重整层;
所述第二变换网络包括依次连接的至少一个第二分组反卷积层、深度-空间转换层以及第一分组反卷积层。
9.一种图像解码方法,其特征在于,包括:
获取目标图像的第一码流和第二码流;其中,所述第一码流是对所述目标图像的第一特征图进行熵编码得到的码流,所述第一特征图是对所述目标图像进行第一去相关变换的结果;所述第二码流是对所述目标图像的第二特征图进行熵编码得到的码流,所述第二特征图是对所述第一特征图进行第二去相关变换的结果;
基于所述第二特征图的第二概率直方图和所述第二码流,获得所述目标图像的第二重建图;所述第二概率直方图用于指示所述第二特征图中的每一个元素的概率;
将所述第二重建图作为先验信息,使用第一概率预测网络对所述第一特征图进行概率预测,获得第一概率直方图;所述第一概率直方图用于指示所述第一特征图中的每一个元素的概率;
基于所述第一概率直方图和所述第一码流,获得所述目标图像的第一重建图;
根据所述第一重建图确定所述目标图像的重建图像。
10.根据权利要求9所述的方法,其特征在于,所述基于所述第二特征图的第二概率直方图和所述第二码流,获得所述目标图像的第二重建图,包括:
基于所述第二特征图的第二概率直方图,对所述目标图像的第二码流进行熵解码,获得所述目标图像的第二特征图;
使用第二变换网络对所述第二特征图进行第二去相关逆变换,获得所述目标图像的第二重建图。
11.根据权利要求9或10所述的方法,其特征在于,所述方法还包括:
获取所述目标图像的第三码流,所述第三码流是对所述目标图像的第三特征图进行熵编码得到的码流,所述第三特征图是对所述第二特征图进行第三去相关变换的结果;
基于预设的所述第三特征图的第三概率直方图和所述第三码流,获得所述目标图像的第三重建图;所述第三概率直方图用于指示所述第三特征图中的每一个元素的概率;
将所述第三重建图作为先验信息,使用第二概率预测网络对所述第二特征图进行概率预测,获得所述第二概率直方图;
所述根据所述第一重建图确定所述目标图像的重建图像,包括:
基于信息重建网络对所述第一重建图、所述第二重建图以及所述第三重建图进行信息整合,得到所述目标图像的重建图像。
15.根据权利要求10所述的方法,其特征在于,
所述第一概率预测网络包括依次连接的滑窗层、至少一个卷积层、第一重整层、第一全连接层、第二重整层、转置层、第二全连接层、第三重整层;
所述第二变换网络包括依次连接的第二反卷积层、至少一个分组反卷积层、深度-空间转换层以及第一反卷积层。
16.根据权利要求10所述的方法,其特征在于,
所述第一概率预测网络包括依次连接的滑窗层、至少一个第一分组卷积层、第一重整层、第一分组全连接层、第二重整层、转置层、第二分组全连接层、第三重整层;
所述第二变换网络包括依次连接的至少一个第二分组反卷积层、深度-空间转换层以及第一分组反卷积层。
17.根据权利要求11所述的方法,其特征在于,
所述信息重建网络包括依次连接的至少一个第三反卷积层,至少一个第三卷积层、至少一个第四反卷积层以及和至少一个第四卷积层。
18.一种图像编码装置,其特征在于,包括变换模块、编码模块、重建模块以及概率预测模块;
所述变换模块,用于使用第一分析网络对目标图像进行第一去相关变换,得到所述目标图像的第一特征图,并且使用第二分析网络对所述第一特征图进行第二去相关变换,得到所述目标图像的第二特征图;
所述编码模块,用于基于所述第二特征图的第二概率直方图对所述第二特征图进行熵编码,获得所述目标图像的第二码流;所述第二概率直方图用于指示所述第二特征图中的每一个元素的概率;
所述重建模块,用于基于所述第二特征图的第二概率直方图和所述第二码流,获得所述目标图像的第二重建图;
所述概率预测模块,用于将所述第二重建图作为先验信息,使用第一概率预测网络对所述第一特征图进行概率预测,获得第一概率直方图;所述第一概率直方图用于指示所述第一特征图中的每一个元素的概率;
所述编码模块,还用于基于所述第一特征图的第一概率直方图对所述第一特征图进行熵编码,获得所述目标图像的第一码流。
19.根据权利要求18所述的装置,其特征在于,
所述重建模块,具体用于基于所述第二特征图的第二概率直方图,对所述目标图像的第二码流进行熵解码,获得所述目标图像的第二特征图;并且使用第二变换网络对所述第二特征图进行第二去相关逆变换,获得所述目标图像的第二重建图。
20.根据权利要求18或19所述的装置,其特征在于,
所述变换模块,还用于使用第三分析网络对所述第二特征图进行第三去相关变换,得到所述目标图像的第三特征图;
所述编码模块,还用于基于所述第三特征图的第三概率直方图对所述第三特征图进行熵编码,获得所述目标图像的第三码流;所述第三概率直方图用于指示所述第三特征图中的每一个元素的概率;
所述重建模块,还用于基于所述第三特征图的第三概率直方图和所述第三码流,获得所述目标图像的第三重建图;
所述概率预测模块,还用于将所述第三重建图作为先验信息,使用第二概率预测网络对所述第二特征图进行概率预测,获得所述第二概率直方图。
21.根据权利要求19所述的装置,其特征在于,
所述第二分析网络包括依次连接的第一卷积层、空间-深度转换层、至少一个分组卷积层以及第二卷积层;
所述第一概率预测网络包括依次连接的滑窗层、至少一个卷积层、第一重整层、第一全连接层、第二重整层、转置层、第二全连接层、第三重整层;
所述第二变换网络包括依次连接的第二反卷积层、至少一个分组反卷积层、深度-空间转换层以及第一反卷积层。
22.根据权利要求19所述的装置,其特征在于,
所述第二分析网络包括依次连接的第二分组卷积层、空间-深度转换层以及至少一个第一分组卷积层;
所述第一概率预测网络包括依次连接的滑窗层、至少一个第一分组卷积层、第一重整层、第一分组全连接层、第二重整层、转置层、第二分组全连接层、第三重整层;
所述第二变换网络包括依次连接的至少一个第二分组反卷积层、深度-空间转换层以及第一分组反卷积层。
23.一种图像解码装置,其特征在于,包括获取模块、重建模块、概率预测模块以及确定模块;
所述获取模块,用于获取目标图像的第一码流和第二码流;其中,所述第一码流是对所述目标图像的第一特征图进行熵编码得到的码流,所述第一特征图是对所述目标图像进行第一去相关变换的结果;所述第二码流是对所述目标图像的第二特征图进行熵编码得到的码流,所述第二特征图是对所述第一特征图进行第二去相关变换的结果;
所述重建模块,用于基于所述第二特征图的第二概率直方图和所述第二码流,获得所述目标图像的第二重建图;所述第二概率直方图用于指示所述第二特征图中的每一个元素的概率;
所述概率预测模块,用于将所述第二重建图作为先验信息,使用第一概率预测网络对所述第一特征图进行概率预测,获得第一概率直方图;所述第一概率直方图用于指示所述第一特征图中的每一个元素的概率;
所述重建模块,还用于基于所述第一概率直方图和所述第一码流,获得所述目标图像的第一重建图;
所述确定模块,用于根据所述第一重建图确定所述目标图像的重建图像。
24.根据权利要求23所述的装置,其特征在于,
所述重建模块,还用于基于所述第二特征图的第二概率直方图,对所述目标图像的第二码流进行熵解码,获得所述目标图像的第二特征图;并且使用第二变换网络对所述第二特征图进行第二去相关逆变换,获得所述目标图像的第二重建图。
25.根据权利要求23或24所述的装置,其特征在于,
所述获取模块,还用于获取所述目标图像的第三码流,所述第三码流是对所述目标图像的第三特征图进行熵编码得到的码流,所述第三特征图是对所述第二特征图进行第三去相关变换的结果;
所述重建模块,还用于基于预设的所述第三特征图的第三概率直方图和所述第三码流,获得所述目标图像的第三重建图;所述第三概率直方图用于指示所述第三特征图中的每一个元素的概率;
所述概率预测模块,还用于将所述第三重建图作为先验信息,使用第二概率预测网络对所述第二特征图进行概率预测,获得所述第二概率直方图;
所述确定模块,具体用于基于信息重建网络对所述第一重建图、所述第二重建图以及所述第三重建图进行信息整合,得到所述目标图像的重建图像。
26.根据权利要求24所述的装置,其特征在于,
所述第一概率预测网络包括依次连接的滑窗层、至少一个卷积层、第一重整层、第一全连接层、第二重整层、转置层、第二全连接层、第三重整层;
所述第二变换网络包括依次连接的第二反卷积层、至少一个分组反卷积层、深度-空间转换层以及第一反卷积层。
27.根据权利要求24所述的装置,其特征在于,
所述第一概率预测网络包括依次连接的滑窗层、至少一个第一分组卷积层、第一重整层、第一分组全连接层、第二重整层、转置层、第二分组全连接层、第三重整层;
所述第二变换网络包括依次连接的至少一个第二分组反卷积层、深度-空间转换层以及第一分组反卷积层。
28.根据权利要求25所述的装置,其特征在于,
所述信息重建网络包括依次连接的至少一个第三反卷积层,至少一个第三卷积层、至少一个第四反卷积层以及和至少一个第四卷积层。
29.一种编码设备,其特征在于,包括:处理器和与所述处理器耦合连接的存储器;所述存储器用于存储计算机指令,当所述编码设备运行时,所述处理器执行存储器存储的所述计算机指令,以使得所述编码设备执行如权利要求1至8任一项所述的方法。
30.一种解码设备,其特征在于,包括处理器和与所述处理器耦合连接的存储器;所述存储器用于存储计算机指令,当所述解码设备运行时,所述处理器执行存储器存储的所述计算机指令,以使得所述解码设备执行如权利要求9至17任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011353900.6A CN114554205B (zh) | 2020-11-26 | 2020-11-26 | 一种图像编解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011353900.6A CN114554205B (zh) | 2020-11-26 | 2020-11-26 | 一种图像编解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114554205A CN114554205A (zh) | 2022-05-27 |
CN114554205B true CN114554205B (zh) | 2023-03-10 |
Family
ID=81668219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011353900.6A Active CN114554205B (zh) | 2020-11-26 | 2020-11-26 | 一种图像编解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114554205B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117412046A (zh) * | 2022-07-08 | 2024-01-16 | 华为技术有限公司 | 一种编解码方法、装置及计算机设备 |
CN118250463A (zh) * | 2022-12-23 | 2024-06-25 | 维沃移动通信有限公司 | 图像处理方法、装置及设备 |
CN118474384A (zh) * | 2023-02-08 | 2024-08-09 | 华为技术有限公司 | 编解码方法、装置、设备、存储介质及计算机程序 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103650498A (zh) * | 2012-06-04 | 2014-03-19 | 松下电器产业株式会社 | 运动图像编码方法、运动图像编码装置、运动图像解码方法及运动图像解码装置 |
CN110363279A (zh) * | 2018-03-26 | 2019-10-22 | 华为技术有限公司 | 基于卷积神经网络模型的图像处理方法和装置 |
CN110602494A (zh) * | 2019-08-01 | 2019-12-20 | 杭州皮克皮克科技有限公司 | 基于深度学习的图像编码、解码系统及编码、解码方法 |
CN111222564A (zh) * | 2020-01-02 | 2020-06-02 | 中国科学院自动化研究所 | 基于图像通道相关性的图像鉴别系统、方法、装置 |
CN111797970A (zh) * | 2019-12-24 | 2020-10-20 | 华为技术有限公司 | 训练神经网络的方法和装置 |
-
2020
- 2020-11-26 CN CN202011353900.6A patent/CN114554205B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103650498A (zh) * | 2012-06-04 | 2014-03-19 | 松下电器产业株式会社 | 运动图像编码方法、运动图像编码装置、运动图像解码方法及运动图像解码装置 |
CN110363279A (zh) * | 2018-03-26 | 2019-10-22 | 华为技术有限公司 | 基于卷积神经网络模型的图像处理方法和装置 |
CN110602494A (zh) * | 2019-08-01 | 2019-12-20 | 杭州皮克皮克科技有限公司 | 基于深度学习的图像编码、解码系统及编码、解码方法 |
CN111797970A (zh) * | 2019-12-24 | 2020-10-20 | 华为技术有限公司 | 训练神经网络的方法和装置 |
CN111222564A (zh) * | 2020-01-02 | 2020-06-02 | 中国科学院自动化研究所 | 基于图像通道相关性的图像鉴别系统、方法、装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114554205A (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114554205B (zh) | 一种图像编解码方法及装置 | |
CN107205149B (zh) | 通过参考帧缓冲器跟踪的运动矢量参考选择 | |
WO2022068682A1 (zh) | 图像处理方法及装置 | |
US10764590B2 (en) | Entropy coding primary and secondary coefficients of video data | |
WO2022194137A1 (zh) | 视频图像的编解码方法及相关设备 | |
US12052443B2 (en) | Loop filtering method and apparatus | |
WO2022253249A1 (zh) | 特征数据编解码方法和装置 | |
CN114339238A (zh) | 视频编码的方法、视频解码的方法及其装置 | |
US11375213B2 (en) | Method of efficient signalling of CBF flags | |
WO2023279961A1 (zh) | 视频图像的编解码方法及装置 | |
EP4432655A1 (en) | Image encoding and decoding method and device | |
US20230281881A1 (en) | Video Frame Compression Method, Video Frame Decompression Method, and Apparatus | |
WO2022266955A1 (zh) | 图像解码及处理方法、装置及设备 | |
KR20230129068A (ko) | 확장 가능한 인코딩 및 디코딩 방법 및 장치 | |
US20230396810A1 (en) | Hierarchical audio/video or picture compression method and apparatus | |
WO2023279968A1 (zh) | 视频图像的编解码方法及装置 | |
WO2024007820A1 (zh) | 数据编解码方法及相关设备 | |
US20240296594A1 (en) | Generalized Difference Coder for Residual Coding in Video Compression | |
WO2023221599A1 (zh) | 图像滤波方法、装置及设备 | |
WO2023165487A1 (zh) | 特征域光流确定方法及相关设备 | |
CN117501695A (zh) | 用于基于深度学习的视频处理的增强体系结构 | |
WO2024189204A1 (en) | Methods and apparatuses for encoding and decoding a point cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |