CN116962715A - 编码方法、装置、存储介质及计算机程序产品 - Google Patents
编码方法、装置、存储介质及计算机程序产品 Download PDFInfo
- Publication number
- CN116962715A CN116962715A CN202210345172.7A CN202210345172A CN116962715A CN 116962715 A CN116962715 A CN 116962715A CN 202210345172 A CN202210345172 A CN 202210345172A CN 116962715 A CN116962715 A CN 116962715A
- Authority
- CN
- China
- Prior art keywords
- feature
- motion
- inter
- image
- current
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 122
- 238000003860 storage Methods 0.000 title claims abstract description 45
- 238000004590 computer program Methods 0.000 title claims abstract description 12
- 230000033001 locomotion Effects 0.000 claims abstract description 369
- 239000011159 matrix material Substances 0.000 claims abstract description 111
- 230000008569 process Effects 0.000 claims abstract description 53
- 230000001131 transforming effect Effects 0.000 claims description 20
- 238000007906 compression Methods 0.000 abstract description 21
- 230000006835 compression Effects 0.000 abstract description 20
- 230000000694 effects Effects 0.000 abstract description 6
- 238000013144 data compression Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 18
- 230000003287 optical effect Effects 0.000 description 16
- 238000013527 convolutional neural network Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000000605 extraction Methods 0.000 description 12
- 238000012549 training Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 238000012804 iterative process Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000012432 intermediate storage Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 101100325855 Caenorhabditis elegans bec-1 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Abstract
本申请公开了一种编码方法、装置、存储介质及计算机程序产品,属于数据压缩技术领域。该方法通过引入相关性矩阵来拟合帧间运动,由于相关性矩阵能够表征当前特征与参考特征之间相关性较强和较弱的部分,相关性较强的部分所对应的帧间运动信息更加丰富,因此,在拟合帧间运动的过程中,基于相关性矩阵中各个元素的大小,便能够更好地拟合出相关性较强的部分对应的帧间运动,而较少地关注相关性较弱的部分对应的帧间运动。简单来说,相关性矩阵对帧间运动特征的预测有信息增强的作用,即,能够提高帧间运动特征的预测精度,进而提升压缩性能。
Description
技术领域
本申请涉及数据压缩技术领域,特别涉及一种编码方法、装置、存储介质及计算机程序产品。
背景技术
视频编码能够减轻视频存储、视频传输占用网络带宽的压力。视频编码也称为视频压缩,视频编码的本质在于去除视频中的冗余信息,以达到用较少的数据(视频码流)表示原视频的目的。视频编码包括帧内预测编码和帧间预测编码,帧内预测编码不需要利用参考帧,帧间预测编码需要利用当前帧与参考帧来确定帧间运动信息,利用帧间运动信息来压缩视频。而视频编码的关键在于如何更有效地利用帧间运动信息。因此,目前视频编码的相关研究越来越多地聚焦于帧间预测编码。然而,当前一些帧间预测编码方案中帧间运动信息的预测精度较低。
发明内容
本申请提供了一种编码方法、装置、存储介质及计算机程序产品,能够提高帧间运动信息的预测精度,进而提升压缩性能。所述技术方案如下:
第一方面,提供了一种编码方法,该方法包括:
确定当前特征和参考特征,当前特征为待编码的当前图像的特征,参考特征为当前图像的参考图像的特征;确定参考特征相对于当前特征的相关性矩阵;基于该相关性矩阵,确定帧间运动特征;将该帧间运动特征编入码流。
本方案通过引入相关性矩阵来拟合帧间运动,由于相关性矩阵能够表征当前特征与参考特征之间相关性较强和较弱的部分,相关性较强的部分所对应的帧间运动信息更加丰富,因此,在拟合帧间运动的过程中,基于相关性矩阵中各个元素的大小,便能够更好地拟合出相关性较强的部分对应的帧间运动,而较少地关注相关性较弱的部分对应的帧间运动。简单来说,相关性矩阵对帧间运动特征的预测有信息增强的作用,能够提高帧间运动特征的预测精度,进而提升压缩性能。
可选地,基于该相关性矩阵,确定帧间运动特征,包括:将该相关性矩阵输入运动编码网络,以得到帧间运动特征;或者,将该相关性矩阵、当前特征和参考特征输入运动编码网络,以得到帧间运动特征;或者,将该相关性矩阵、当前图像和参考图像输入运动编码网络,以得到帧间运动特征。
应当理解的是,在本申请实施方式中,编码端既可以直接将相关性矩阵输入运动编码网络,得到帧间运动特征,也可以利用特征空间的参考特征和当前特征,并结合相关性矩阵得到帧间运动特征,也可以利用图像空间的参考图像和当前图像,并结合相关性矩阵得到帧间运动特征。
可选地,基于该相关性矩阵,确定帧间运动特征,包括:将参考特征作为预测特征,将该相关性矩阵、预测特征和当前特征输入运动编码网络,以得到运动特征;确定迭代次数;如果迭代次数小于迭代次数阈值,则将该运动特征输入运动解码网络,以得到重建运动特征,基于该重建运动特征,对参考特征进行变换,以重新确定预测特征,重新确定预测特征相对于当前特征的相关性矩阵,返回执行将该相关性矩阵、预测特征和当前特征输入运动编码网络,以得到运动特征的步骤;如果迭代次数等于迭代次数阈值,则将该运动特征确定为帧间运动特征。
应当理解的是,在这种迭代处理的实施方式中,编码端通过多次迭代的方式来提高帧间运动特征的预测精度,换句话说,通过对运动特征的迭代更新,更加丰富了运动特征的细节。
可选地,基于该相关性矩阵,确定帧间运动特征之后,还包括:基于该帧间运动特征,确定残差特征;将该残差特征编入码流。应当理解的是,对于帧间预测编码来说,编码端除了确定并编码帧间运动特征之外,还确定残差特征并编码残差特征,以便于解码端基于帧间运动特征和残差特征来解压视频。
可选地,基于该帧间运动特征,确定残差特征,包括:将该帧间运动特征输入运动解码网络,以得到当前图像与参考图像之间的重建运动特征;基于当前图像与参考图像之间的重建运动特征,对参考特征进行变换,以得到当前图像的预测特征;确定第一残差,第一残差为当前图像的预测特征与当前特征之间的残差;将第一残差输入残差编码网络,以得到该残差特征。应当理解的是,在这种实施方式中,编码端在特征空间进行变换和预测。
可选地,基于该帧间运动特征,确定残差特征,包括:将该帧间运动特征输入运动解码网络,以得到当前图像与参考图像之间的重建运动特征;基于当前图像与参考图像之间的重建运动特征,对参考图像进行变换,以得到预测图像;确定第二残差,第二残差为预测图像与当前图像之间的残差;将第二残差输入残差编码网络,以得到残差特征。应当理解的是,在这种实施方式中,编码端在图像空间进行变换和预测。
可选地,该参考图像为参考帧的重建图像。
第二方面,提供了一种编码装置,所述编码装置具有实现上述第一方面中编码方法行为的功能。所述编码装置包括一个或多个模块,该一个或多个模块用于实现上述第一方面所提供的编码方法。
也即是,提供了一种编码装置,该装置包括:
第一确定模块,用于确定当前特征和参考特征,当前特征为待编码的当前图像的特征,参考特征为当前图像的参考图像的特征;
第二确定模块,用于确定参考特征相对于当前特征的相关性矩阵;
第三确定模块,用于基于该相关性矩阵,确定帧间运动特征;
第一编码模块,用于将该帧间运动特征编入码流。
可选地,第三确定模块用于:
将该相关性矩阵输入运动编码网络,以得到帧间运动特征;或者,
将该相关性矩阵、当前特征和参考特征输入运动编码网络,以得到帧间运动特征;或者,
将该相关性矩阵、当前图像和参考图像输入运动编码网络,以得到帧间运动特征。
可选地,第三确定模块用于:
将参考特征作为预测特征,将该相关性矩阵、预测特征和当前特征输入运动编码网络,以得到运动特征;
确定迭代次数;
如果迭代次数小于迭代次数阈值,则将该运动特征输入运动解码网络,以得到重建运动特征,基于该重建运动特征,对参考特征进行变换,以重新确定预测特征,重新确定预测特征相对于当前特征的相关性矩阵,返回执行将该相关性矩阵、预测特征和当前特征输入运动编码网络,以得到运动特征的步骤;
如果迭代次数等于迭代次数阈值,则将该运动特征确定为帧间运动特征。
可选地,该装置还包括:
第四确定模块,用于基于该帧间运动特征,确定残差特征;
第二编码模块,用于将该残差特征编入码流。
可选地,第四确定模块用于:
将该帧间运动特征输入运动解码网络,以得到当前图像与参考图像之间的重建运动特征;
基于当前图像与参考图像之间的重建运动特征,对参考特征进行变换,以得到当前图像的预测特征;
确定第一残差,第一残差为当前图像的预测特征与当前特征之间的残差;
将第一残差输入残差编码网络,以得到该残差特征。
可选地,第四确定模块用于:
将该帧间运动特征输入运动解码网络,以得到当前图像与参考图像之间的重建运动特征;
基于当前图像与参考图像之间的重建运动特征,对参考图像进行变换,以得到预测图像;
确定第二残差,第二残差为预测图像与当前图像之间的残差;
将第二残差输入残差编码网络,以得到该残差特征。
可选地,该参考图像为参考帧的重建图像。
第三方面,提供了一种编码装置,所述编码装置包括处理器和接口电路。所述处理器通过所述接口电路接收和/或发送数据,所述处理器被配置为用于调用存储在存储器中的程序指令,以执行上述第一方面所提供的编码方法。
可选地,所述编码装置包括所述存储器。在本申请实施过程中,所述处理器用于确定当前特征和参考特征,所述当前特征为待编码的当前图像的特征,所述参考特征为所述当前图像的参考图像的特征,还用于确定所述参考特征相对于所述当前特征的相关性矩阵,基于所述相关性矩阵,确定帧间运动特征,以及将所述帧间运动特征编入码流。
第四方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器用于存储执行上述第一方面所提供的编码方法的程序,以及存储用于实现上述第一方面所提供的编码方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述计算机设备还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的编码方法。
第六方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的编码方法。
上述第二方面、第三方面、第四方面、第五方面和第六方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
图1是本申请实施例提供的一种实施环境的示意图;
图2是本申请实施例提供的另一种实施环境的示意图;
图3是本申请实施例提供的一种编码方法的流程图;
图4是本申请实施例提供的一种重建运动特征的对比图;
图5是本申请实施例提供的一种编码网络的结构示意图;
图6是本申请实施例提供的一种解码网络的结构示意图;
图7是本申请实施例提供的另一种编码方法的流程图;
图8是本申请实施例提供的一种熵估计网络的结构示意图;
图9是本申请实施例提供的一种编解码方法的流程图;
图10是本申请实施例提供的一种编码方法中的部分流程图;
图11是本申请实施例提供的另一种重建运动特征的对比图;
图12是本申请实施例提供的一个编解码性能对比图;
图13是本申请实施例提供的另一个编解码性能对比图;
图14是本申请实施例提供的又一个编解码性能对比图;
图15是本申请实施例提供的又一个编解码性能对比图;
图16是本申请实施例提供的一种解码方法的流程图;
图17是本申请实施例提供的一种编码装置的结构示意图;
图18是本申请实施例提供的一种编解码装置的示意性框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例描述的系统架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在对本申请实施例提供的编解码方法进行详细地解释说明之前,先对本申请实施例涉及的术语和实施环境进行介绍。
为了便于理解,首先对本申请实施例涉及的部分术语和相关技术进行解释。
像素深度(bits per pixel,BPP):又称为位/像素,BPP是存储每个像素所用的位数,BPP越小代表压缩码率越小。
码率:在图像压缩中,指单位像素编码所需要的编码长度,码率越高,图像重建质量越好。
峰值信噪比(peak signal to noise ratio,PSNR):是一种评价图像质量的客观标准,PSNR越高代表图像质量越好。
多尺度结构相似性(multi-scale structural similarity index measure,MS-SSIM):是一种评价图像的客观标准,MS-SSIM越高代表图像质量越好。
人工智能(artificial intelligence,AI):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术以及应用系统的一门技术科学。
卷积神经网络(convolution neural network,CNN):是一种包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。
图像组(group of pictures,GOP):视频的码流包括多个GOP。GOP是一组连续的画面,由I帧、P帧和/或B帧组成,是视频图像编码器和解码器存取的基本单位。
I帧:内部编码(intra-coded)帧,也称为关键帧。I帧不需要参考其他画面而压缩生成,I帧描述了图像背景和运动主体的详情,解码时仅用I帧的数据就可重构完整图像。I帧通常是每个GOP的第一个帧,作为随机访问的参考帧。
P帧:前向预测编码(predictive-coded)帧,也称为前向预测帧(前向参考帧)。P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别,P帧采用运动补偿的方法传送它与前面的I或P帧之间的预测误差及运动矢量,解码时需要用之前缓存的画面叠加上本帧表示的差别,生成完整图像。
B帧:双向预测(bidirectionally predicted)帧,也称为双向内插帧、双向参考帧。B帧以前面的一个I帧或P帧,以及后面的P帧为参考帧,B帧传送的是它与前后两个参考帧之间的预测误差及运动矢量。解码时根据运动矢量和预测误差,结合前后两个参考帧,从而得到完整图像。
I帧采用的是帧内预测编码,P帧和B帧采用的是帧间预测编码,P帧和B帧相对I帧来说具有更高的压缩率。帧间预测编码主要包括两部分。一部分为帧间预测部分,另一部分为残差压缩部分。帧间预测部分包括帧间边信息的预测和压缩模块,以及变换模块。在一相关技术中帧间边信息体现为光流,在编码过程中,将参考帧和当前帧的图像输入光流估计网络,以得到预测的光流,并压缩光流。在另一相关技术中帧间边信息体现为运动特征,在编码过程中,提取当前帧和参考帧的图像特征,将当前帧和参考帧的图像特征输入卷积神经网络,以得到预测的运动特征,并压缩运动特征。变换模块通常采用wrap操作,在编码过程中,利用帧间边信息,将参考帧变换为当前帧的预测结果。
然而,相关技术中光流的预测和压缩完全解耦,会存在预测得到的光流可能能够较好地表征当前帧与参考帧之间的帧间变化,但是该光流不一定好压缩的问题,从而影响编解码性能。另外,光流估计网络的算力要求会较大,即预测光流的计算量较大。另一相关技术中将当前帧和参考帧的图像特征输入卷积神经网络,从而完全依赖卷积运算来拟合当前帧与参考帧之间的运动,所得到的运动特征的精确度较低,想要预测出更精确的运动特征的难度较大,从而影响编解码性能。
相关性矩阵:在本申请实施例中通过确定参考特征相对于当前特征的相关性矩阵,从而具有相关性矩阵来预测更精准的帧间运动特征。相关性矩阵也称为互相关矩阵、邻域互相关矩阵、邻域相关性矩阵等。
确定一个特征相对于另一个特征的相关性矩阵的一种计算方式包括:给定两个特征F1和F2,以及邻域大小,计算特征F2相对于特征F1的邻域相关性矩阵。该邻域大小为k*k,特征F1和F2的维度均为c*h*w,其中,c、h、w分别为特征空间的通道数、高和宽,h*w表征特征空间的大小。计算邻域相关性矩阵的操作包括:将特征F1中点(i,j)的特征向量记为其中,i∈[1,h],j∈[1,w]。计算在特征F2中以点(i,j)为中心,k*k大小的邻域范围内所有点的特征向量/>与/>的相关性值/>最终对于特征F1中的每个点得到一个k*k大小的相关性值的集合,从而形成一个维度为k*k*h*w的矩阵,即特征F2相对于特征F1的相关性矩阵。其中,corr()函数可以是任意形式的距离函数,例如内积、余弦(cos)、L1距离、L2距离等函数,又如由卷积学习得到的距离函数等。
接下来对本申请实施例涉及的实施环境进行介绍。
请参考图1,图1是本申请实施例提供的一种实施环境的示意图。该实施环境包括源装置10、目的地装置20、链路30和存储装置40。其中,源装置10可以产生经编码的视频,即码流。因此,源装置10也可以被称为编码装置。目的地装置20可以对由源装置10所产生码流进行解码。因此,目的地装置20也可以被称为解码装置。链路30可以接收源装置10所产生的经编码的视频,并可以将该经编码的视频传输给目的地装置20。存储装置40可以接收源装置10所产生的经编码的视频,并可以将该经编码的视频进行存储,这样的条件下,目的地装置20可以直接从存储装置40中获取经编码的视频。或者,存储装置40可以对应于文件服务器或可以保存由源装置10产生的经编码的视频的另一中间存储装置,这样的条件下,目的地装置20可以经由流式传输或下载存储装置40存储的经编码的视频。
源装置10和目的地装置20均可以包括一个或多个处理器以及耦合到该一个或多个处理器的存储器,该存储器可以包括随机存取存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、带电可擦可编程只读存储器(electrically erasableprogrammable read-only memory,EEPROM)、快闪存储器、可用于以可由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体等。例如,源装置10和目的地装置20均可以包括手机、智能手机、个人数字助手(personal digital assistant,PDA)、可穿戴设备、掌上电脑(pocket PC,PPC)、平板电脑、智能车机、智能电视、智能音箱、桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。
链路30可以包括能够将经编码的视频从源装置10传输到目的地装置20的一个或多个媒体或装置。在一种可能的实现方式中,链路30可以包括能够使源装置10实时地将经编码的视频直接发送到目的地装置20的一个或多个通信媒体。在本申请实施例中,源装置10可以基于通信标准来调制经编码的视频,该通信标准可以为无线通信协议等,并且可以将经调制的视频发送给目的地装置20。该一个或多个通信媒体可以包括无线和/或有线通信媒体,例如该一个或多个通信媒体可以包括射频(radio frequency,RF)频谱或一个或多个物理传输线。该一个或多个通信媒体可以形成基于分组的网络的一部分,基于分组的网络可以为局域网、广域网或全球网络(例如,因特网)等。该一个或多个通信媒体可以包括路由器、交换器、基站或促进从源装置10到目的地装置20的通信的其它设备等,本申请实施例对此不做具体限定。
在一种可能的实现方式中,存储装置40可以将接收到的由源装置10发送的经编码的视频进行存储,目的地装置20可以直接从存储装置40中获取经编码的视频。这样的条件下,存储装置40可以包括多种分布式或本地存取的数据存储媒体中的任一者,例如,该多种分布式或本地存取的数据存储媒体中的任一者可以为硬盘驱动器、蓝光光盘、数字多功能光盘(digital versatile disc,DVD)、只读光盘(compact disc read-only memory,CD-ROM)、快闪存储器、易失性或非易失性存储器,或用于存储码流的任何其它合适的数字存储媒体等。
在一种可能的实现方式中,存储装置40可以对应于文件服务器或可以保存由源装置10产生的码流的另一中间存储装置,目的地装置20可经由流式传输或下载存储装置40存储的图像。文件服务器可以为能够存储经编码的视频并且将经编码的视频发送给目的地装置20的任意类型的服务器。在一种可能的实现方式中,文件服务器可以包括网络服务器、文件传输协议(file transfer protocol,FTP)服务器、网络附属存储(network attachedstorage,NAS)装置或本地磁盘驱动器等。目的地装置20可以通过任意标准数据连接(包括因特网连接)来获取经编码图像。任意标准数据连接可以包括无线信道(例如,Wi-Fi连接)、有线连接(例如,数字用户线路(digital subscriber line,DSL)、电缆调制解调器等),或适合于获取存储在文件服务器上的经编码的视频的两者的组合。经编码的视频从存储装置40的传输可为流式传输、下载传输或两者的组合。
图1所示的实施环境仅为一种可能的实现方式,并且本申请实施例的技术不仅可以适用于图1所示的可以对图像进行编码的源装置10,以及可以对经编码的视频进行解码的目的地装置20,还可以适用于其他可以对视频进行编码和对码流进行解码的装置,本申请实施例对此不做具体限定。
在图1所示的实施环境中,源装置10包括数据源120、编码器100和输出接口140。在一些实施例中,输出接口140可以包括调节器/解调器(调制解调器)和/或发送器,其中发送器也可以称为发射器。数据源120可以包括视频捕获装置(例如,摄像机等)、含有先前捕获的视频的存档、用于从视频内容提供者接收视频的馈入接口,和/或用于产生视频的计算机图形系统,或视频的这些来源的组合。
数据源120可以向编码器100发送视频,编码器100可以对接收到由数据源120发送的视频进行编码,得到经编码的视频。编码器可以将经编码的视频发送给输出接口。在一些实施例中,源装置10经由输出接口140将经编码的视频直接发送到目的地装置20。在其它实施例中,经编码的视频还可存储到存储装置40上,供目的地装置20以后获取并用于解码和/或显示。
在图1所示的实施环境中,目的地装置20包括输入接口240、解码器200和显示装置220。在一些实施例中,输入接口240包括接收器和/或调制解调器。输入接口240可经由链路30和/或从存储装置40接收经编码的视频,然后再发送给解码器200,解码器200可以对接收到的经编码的视频进行解码,得到经解码的视频。解码器可以将经解码的视频发送给显示装置220。显示装置220可与目的地装置20集成或可在目的地装置20外部。一般来说,显示装置220显示经解码的视频。显示装置220可以为多种类型中的任一种类型的显示装置,例如,显示装置220可以为液晶显示器(liquid crystal display,LCD)、等离子显示器、有机发光二极管(organic light-emitting diode,OLED)显示器或其它类型的显示装置。
尽管图1中未示出,但在一些方面,编码器100和解码器200可各自与编码器和解码器集成,且可以包括适当的多路复用器-多路分用器(multiplexer-demultiplexer,MUX-DEMUX)单元或其它硬件和软件,用于共同数据流或单独数据流中的音频和视频两者的编码。在一些实施例中,如果适用的话,那么MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(user datagram protocol,UDP)等其它协议。
编码器100和解码器200各自可为以下各项电路中的任一者:一个或多个微处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(applicationspecific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gatearray,FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件来实施本申请实施例的技术,那么装置可将用于软件的指令存储在合适的非易失性计算机可读存储媒体中,且可使用一个或多个处理器在硬件中执行所述指令从而实施本申请实施例的技术。前述内容(包括硬件、软件、硬件与软件的组合等)中的任一者可被视为一个或多个处理器。编码器100和解码器200中的每一者都可以包括在一个或多个编码器或解码器中,所述编码器或所述解码器中的任一者可以集成为相应装置中的组合编码器/解码器(编码解码器)的一部分。
本申请实施例可大体上将编码器100称为将某些信息“发信号通知”或“发送”到例如解码器200的另一装置。术语“发信号通知”或“发送”可大体上指代用于对经压缩的视频进行解码的语法元素和/或其它数据的传送。此传送可实时或几乎实时地发生。替代地,此通信可经过一段时间后发生,例如可在编码时在经编码位流中将语法元素存储到计算机可读存储媒体时发生,解码装置接着可在将语法元素存储到此媒体之后的任何时间检索该语法元素。
图2是本申请实施例提供的另一种实施环境的示意图。该实施环境包括编码端和解码端,编码端包括AI编码模块、熵编码模块和文件发送模块,解码端包括文件加载模块、熵解码模块和AI解码模块。
在压缩过程中,编码端获取待压缩的视频后,经AI编码单元得到待编码的帧间运动特征和残差特征,将帧间运动特征和残差特征进行熵编码,以得到码流,即视频的压缩文件。编码端保存压缩文件。另外,压缩文件传输到解码端,解码端加载压缩文件,并通过熵解码和AI解码单元得到解压后的视频。
可选地,AI编码单元包括下文中的图像特征提取网络、运动编码网络、残差编码网络、熵估计网络、运动解码网络或残差解码网络等中的一种或多种,AI解码单元包括下文中的运动解码网络、残差解码网络或熵估计网络等中的一种或多种。
可选地,AI编码单元和AI解码单元处理数据的过程在嵌入式的神经网络处理器(neural network processing unit,NPU)上实现,以提高数据处理效率,熵编码、保存文件以及加载等过程在中央处理器(central processing unit,CPU)上实现。
可选地,编码端和解码端为一台设备,或者,编码端和解码端为两台独立的设备。也即是,对于一台设备来说,该设备既具备视频压缩功能,也具备视频解压功能,或者,该设备具备视频压缩功能或视频解压功能。
需要说明的是,本申请实施例提供的编解码方法可以应用于多种场景,比如云存储、视频监控、直播、传输等业务场景中,具体可以应用到终端录像、视频相册、云存储等中。结合图1和图2所示的实施环境,下文中的任一种编码方法可以是编码端执行的。下文中的任一种解码方法可以是解码端执行的。
图3是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端。请参考图3,该方法包括如下步骤。
步骤301:确定当前特征和参考特征,当前特征为待编码的当前图像的特征,参考特征为当前图像的参考图像的特征。
在本申请实施例中,对于帧间预测编码来说,待编码的当前图像对应有参考图像。例如,P帧的图像对应有一个参考图像,该参考图像为该P帧之前的一个I帧或P帧的图像。又如,B帧的图像对应有两个参考图像,即该B帧之前的一个I帧或P帧的图像,以及该B帧之后的一个P帧的图像。接下来以P帧为例进行介绍。
在进行帧间预测编码的过程中,编码端确定当前特征和参考特征的一种实现方式为:将当前图像输入图像特征提取网络,以得到当前特征,将参考图像输入图像特征提取网络,以得到参考特征。其中,当前特征为待编码的当前图像的特征,参考特征为当前图像的参考图像的特征。除了通过图像特征提取网络来提取图像的特征之外,编码端也可以通过其他实现方式来提取图像的特征,例如主成分分析、基于统计的方法等。
需要说明的是,本申请实施例中的图像特征提取网络是预先训练得到的,本申请实施例中不限定图像特征提取网络的网络结构和训练方式等。例如,图像特征提取网络可以基于全连接网络或卷积神经网络所构建的网络,卷积神经网络中的卷积可以是2D卷积或3D卷积。另外,本申请实施例对图像特征提取网络所包括的网络层数和每一层的节点数也不作限定。在一具体实现中,图像特征提取网络为基于Resblock所构建的网络。
可选地,参考图像为参考帧的重建图像。其中,该参考帧为待编码的当前帧的参考帧,待编码的当前帧的原始图像即当前图像。参考帧的重建图像为根据本申请实施例提供的编码方法对参考帧的原始图像进行压缩后再解压得到的图像。在另一些实施例中,参考图像为参考帧的原始图像。
步骤302:确定参考特征相对于当前特征的相关性矩阵。
为了提高对帧间运动特征的预测精度,在方案引入相关性矩阵。在本申请实施例中,编码端确定参考特征相对于当前特征的相关性矩阵。相关性矩阵的计算方式请参见上文介绍。
步骤303:基于该相关性矩阵,确定帧间运动特征。
需要说明的是,编码端基于参考特征相对于当前特征的相关性矩阵来确定帧间运动特征的实现方式有多种,接下来将对其中的几种实现方式进行详细介绍。
在第一种实现方式中,编码端将该相关性矩阵、当前特征和参考特征输入运动编码网络,以得到帧间运动特征。在第二种实现方式中,编码端将该相关性矩阵、当前图像和参考图像输入运动编码网络,以得到帧间运动特征。在第三种实现方式中,编码端将该相关性矩阵输入运动编码网络,以得到帧间运动特征。
在第四种实现方式中,编码端将参考特征作为预测特征,将该相关性矩阵、预测特征和当前特征输入运动编码网络,以得到运动特征。编码端确定迭代次数,如果该迭代次数小于迭代次数阈值,则编码端将该运动特征输入运动解码网络,以得到重建运动特征,基于该重建运动特征,对参考特征进行变换,以重新确定预测特征,重新确定该预测特征相对于当前特征的相关性矩阵,返回执行将该相关性矩阵、预测特征和当前特征输入运动编码网络,以得到运动特征的步骤。如果该迭代次数等于迭代次数阈值,则编码端将该运动特征确定为帧间运动特征。
其中,第一次迭代处理的过程中,迭代次数等于初始值,最后一次迭代处理的过程中,迭代次数等于迭代次数阈值。可选地,初始值为0,且迭代次数阈值为K-1,或者,初始值为1,且迭代次数阈值为K。其中,K为大于或等于1的正整数,K表示迭代处理的总次数。
示例性地,假设迭代处理的总次数为K,初始值为1,迭代次数阈值为K,待编码的当前图像xt为视频中的第t帧,t>0,当前图像xt的参考图像为参考帧的重建图像当前特征为Ft,参考特征为/>参考特征/>相对于当前特征Ft的相关性矩阵为Ct。编码过程中迭代处理的过程如下:
在第i次迭代处理的过程中,将相关性矩阵预测特征/>和当前特征Ft输入运动编码网络,以得到运动特征/>其中,当i=1时,预测特征/>等于参考特征/>相关性矩阵等于相关性矩阵Ct。判断i是否小于K。如果i小于K,则将运动特征/>输入运动解码网络,以得到重建运动特征/>基于重建运动特征/>对参考特征/>进行变换,以得到预测特征/>确定预测特征/>相对于当前特征Ft的相关性矩阵/>然后,执行第i+1次迭代处理。如果i=K,则将运动特征/>作为帧间运动特征。结束迭代处理的流程。
在第五种实现方式中,编码端将参考图像作为预测图像,将该相关性矩阵、预测图像和当前图像输入运动编码网络,以得到运动特征。编码端确定迭代次数,如果该迭代次数小于迭代次数阈值,则编码端将该运动特征输入运动解码网络,以得到重建运动特征,基于该重建运动特征,对参考图像进行变换,以重新确定预测图像,确定预测特征,即预测图像的特征,重新确定该预测特征相对于当前特征的相关性矩阵,返回执行将该相关性矩阵、预测图像和当前图像输入运动编码网络,以得到运动特征的步骤。如果该迭代次数等于迭代次数阈值,则编码端将该运动特征确定为帧间运动特征。
由上述可知,在上述第四和第五种实现方式中,编码端通过多次迭代的方式来提高帧间运动特征的预测精度,换句话说,通过对运动特征的迭代更新,更加丰富了运动细节。而在上述第一至第三种实现方式中,编码端相当于通过一次迭代来确定帧间运动特征,这样能够节省编解码的时间。
需要说明的是,帧间运动特征的预测精度越高,重建运动特征所表征的运动细节也即越丰富。在本申请实施例中,重建运动特征也称为重建的运动信息。图4是本申请实施例提供的一种重建运动特征的对比图。图4是关于某视频中同一图像的重建运动特征,第一列是第一次迭代处理后得到的重建运动特征,第二列是第二次迭代处理后得到的重建运动特征。在图4中用椭圆圈出了一部分对比明显的区域,可以看出,第二列的边缘结构更加清晰明确、精度更高,换句话说,第二列的重建运动特征相比于第一列的重建运动特征具有更明显的细节信息。
另外,本申请实施例中的运动编码网络和运动解码网络是预先训练得到的,本申请实施例中不限定运动编码网络和运动解码网络的网络结构和训练方式等。例如,运动编码网络和运动解码网络均可以是全连接网络或卷积神经网络,卷积神经网络中的卷积可以是2D卷积或3D卷积。另外,本申请实施例对运动编码网络和运动解码网络所包括的网络层数和每一层的节点数也不作限定。
图5是本申请实施例提供的一种编码网络的结构示意图。该编码网络可以为运动编码网络。参见图5,该编码网络为卷积神经网络,该卷积神经网络包括四个卷积层(Conv)和穿插级联的三个抓取检测网络(grasp detection network,GDN)层。每个卷积层的卷积核大小均为5×5,输出的特征图的通道数为M,每个卷积层对宽和高进行2倍下采样。需要说明的是,图5所示编码网络的结构并不用于限制本申请实施例,例如,卷积核大小、特征图的通道数、下采样倍数、下采样次数、卷积层数等均可调整。
图6是本申请实施例提供的一种解码网络的结构示意图。该解码网络可以为运动解码网络。参见图6,该解码网络为卷积神经网络,该卷积神经网络包括四个卷积层(Conv)和穿插级联的三个抓取检测网络(GDN)层。每个卷积层的卷积核大小均为5×5,输出的特征图的通道数为M或N,每个卷积层对宽和高进行2倍上采样。需要说明的是,图6所示解码网络的结构并不用于限制本申请实施例,例如,卷积核大小、特征图的通道数、下采样倍数、下采样次数、卷积层数等均可调整。
步骤304:将该帧间运动特征编入码流。
在本申请实施例中,编码端将该帧间运动特征编入码流,以便于后续解码端基于码流中的帧间运动特征来解压视频。
可选地,编码端通过熵编码将该帧间运动特征编入码流。在一种实现方式中,编码端根据指定的第一概率分布参数,通过熵编码将该帧间运动特征编入码流。在另一种实现方式中,编码端将该帧间运动特征输入超编码网络(也可称为超先验网络),以得到第一超先验特征。编码端根据指定的第二概率分布参数,通过熵编码将第一超先验特征编入码流。另外,编码端将第一超先验特征(从码流中解析出的第一超先验特征或者通过超编码网络得到的第一超先验特征)输入超解码网络,得到第一先验特征。编码端基于第一先验特征确定该帧间运动特征的概率分布参数,基于该帧间运动特征的概率分布参数,通过熵编码将该帧间运动特征编入码流。需要说明的是,编码端将第一超先验特征编入码流是为了解码端基于第一超先验特征从码流中解析出帧间运动特征。
其中,指定的第一概率分布参数和第二概率分布参数均为预先通过相应的概率分布估计网络确定的概率分布参数,本申请实施例不限定用于所采用的概率分布估计网络的网络结构和训练方法。例如,概率分布估计网络的网络结构可以为全连接网络或者CNN。另外,本申请实施例对概率分布估计网络的网络结构所包含的层数和每一层的节点数也不做限定。
以上介绍了编码端确定帧间运动特征以及编码帧间运动特征的实现过程。需要说明的是,对于帧间预测编码来说,编码端除了确定并编码帧间运动特征之外,还确定残差特征并编码残差特征,以便于解码端基于帧间运动特征和残差特征来解压视频。
也即是,参见图7,本申请实施例提供的编码方法还包括如下步骤305和步骤306。
步骤305:基于该帧间运动特征,确定残差特征。
在本申请实施例中,编码端基于该帧间运动特征来确定残差特征。
在一种实现方式中,编码端将该帧间运动特征输入运动解码网络,以得到当前图像与参考图像之间的重建运动特征。编码端基于当前图像与参考图像之间的重建运动特征,对参考特征进行变换,以得到当前图像的预测特征。编码端确定第一残差,第一残差为当前图像的预测特征与当前特征之间的残差,并将第一残差输入残差编码网络,以得到残差特征。也即是,编码端在特征空间进行变换和预测。
在另一种实现方式中,编码端将帧间运动特征输入运动解码网络,以得到当前图像与参考图像之间的重建运动特征。编码端基于当前图像与参考图像之间的重建运动特征,对参考图像进行变换,以得到预测图像。编码端确定第二残差,第二残差为预测图像与当前图像之间的残差,并将第二残差输入残差编码网络,以得到残差特征。其中,预测图像是当前图像的预测图像。也即是,编码端在图像空间进行变换和预测。
需要说明的是,步骤305中的运动解码网络与步骤303中的运动解码网络为同一个。步骤305中的残差编码网络是预先训练得到的,本申请实施例中不限定残差编码网络的网络结构和训练方式等。例如,残差编码网络均可以是全连接网络或卷积神经网络,卷积神经网络中的卷积可以是2D卷积或3D卷积。另外,本申请实施例对残差编码网络所包括的网络层数和每一层的节点数也不作限定。可选地,残差编码网络的网络结构也如图5所示的网络结构。
步骤306:将该残差特征编入码流。
在本申请实施例中,编码端将该残差特征编入码流,以便于后续解码端基于码流中帧间运动特征与残差特征来解压视频。
可选地,编码端通过熵编码将该残差特征编入码流。在一种实现方式中,编码端根据指定的第三概率分布参数,通过熵编码将该残差特征编入码流。在另一种实现方式中,编码端将该残差特征输入超编码网络,以得到第二超先验特征。编码端根据指定的第四概率分布参数,通过熵编码将第二超先验特征编入码流。另外,编码端将第二超先验特征(从码流中解析出的第二超先验特征或者通过超编码网络得到的第二超先验特征)输入超解码网络,得到第二先验特征。编码端基于第二先验特征确定该残差特征的概率分布参数,基于该残差特征的概率分布参数,通过熵编码将该残差特征编入码流。需要说明的是,编码端将第二超先验特征编入码流是为了解码端基于第二超先验特征从码流中解析出残差特征。
其中,指定的第三概率分布参数和第四概率分布参数均为预先通过相应的概率分布估计网络确定的概率分布参数,本申请实施例不限定用于所采用的概率分布估计网络的网络结构和训练方法。例如,概率分布估计网络的网络结构可以为全连接网络或者CNN。本申请实施例对概率分布估计网络的网络结构所包含的层数和每一层的节点数也不做限定。另外,编码残差特征所采用的超编码网络与编码帧间运动特征所采用的超编码网络相同或不同,编码残差特征所采用的超解码网络与编码帧间运动特征所采用的超解码网络相同或不同。
需要说明的是,若上述任一概率分布估计网络使用高斯模型(如单高斯模型或混合高斯模型)来建模,则估计出的概率分布参数包括均值和方差。例如,假设待估计概率分布参数的残差特征符合单高斯模型或混合高斯模型,那么,该概率分布估计网络所得到的残差特征的概率分布参数包括均值和方差。若上述任一概率分布估计网络使用拉普拉斯分布模型来建模,则估计出的概率分布参数包括位置参数和尺度参数。若上述任一概率分布估计网络使用逻辑斯谛分布模型来建模,则估计出的概率分布参数包括均值和尺度参数。另外,本申请实施例中的概率分布估计网络也可称为因子熵模型,概率分布估计网络是熵估计网络的一部分,熵估计网络还包括上述超编码网络和超解码网络。例如,编码帧间运动特征所采用的超编码网络、概率分布估计网络和超解码网络组成一个熵估计网络的部分或全部,编码残差特征所采用的超编码网络、概率分布估计网络和超解码网络组成另一个熵估计网络的部分或全部。
图8是本申请实施例提供的一种熵估计网络的结构示意图。该熵估计网络可以为上述任一熵估计网络。参见图8,该熵估计网络包括超编码(hyper encoder,HyEnc)网络、因子熵模型和超解码(hyper decoder,HyDec)网络。超编码网络包括三个卷积层(Conv)和穿插级联的两个激活层(如基于Relu或其他激活函数构建的激活层)。每个卷积层的卷积核大小均为5×5,输出的特征图的通道数为M,前两个卷积层对宽和高进行2倍下采样,最后一个卷积层不进行下采样。因子熵模型的网络结构如前述介绍的概率分布估计网络的网络结构。超编码网络包括三个卷积层(Conv)和穿插级联的两个激活层(如基于Relu或其他激活函数构建的激活层)。每个卷积层的卷积核大小均为5×5,输出的特征图的通道数为M,第一个卷积层不进行上采样,后两个卷积层对宽和高进行2倍上采样。需要说明的是,图8所示熵估计网络的结构并不用于限制本申请实施例,例如,卷积核大小、特征图的通道数、下采样倍数、下采样次数、上采样倍数、上采样次数、卷积层数等均可调整。
由前述步骤305和步骤306可知,在本申请实施例中,编码端先得到残差(第一残差或第二残差),再得到残差特征,进而编码残差特征,相当于对残差进行了压缩。在另一些实施例中,编码端也可以在得到残差后,直接将残差编入码流,也即是不压缩残差。
图9是本申请实施例提供的一种视频编解码方法的流程图。在图9中,假设待编码的当前图像xt为视频中的第t帧,t>0,当前图像xt的参考图像为参考帧的重建图像对当前图像xt进行编码的编码过程包括如下步骤901至步骤910。
步骤901:将当前图像xt和参考图像分别输入图像特征提取网络,以得到当前特征Ft和参考特征/>当前特征Ft和参考特征/>的维度均为c1*h1*w1。
步骤902:计算参考特征相对于当前特征Ft的相关性矩阵Ct。相关性矩阵Ct的维度为k*k*h1*w1。
步骤903:将相关性矩阵Ct、当前特征Ft和参考特征输入运动编码网络,以得到帧间运动特征/>该帧间运动特征/>为待编码的运动特征。可选地,帧间运动特征/>的维度为c1*h2*w2,通常h2<h1,w2<w1。
步骤904:通过熵估计网络确定帧间运动特征中各个元素对应的概率分布参数,如均值μm,t和方差σm,t。
步骤905:基于帧间运动特征中各个元素对应的概率分布参数,通过熵编码将帧间运动特征/>编入码流。可选地,码流为比特流,对帧间运动特征/>进行熵编码所得到的比特序列是码流包括的部分比特序列,这部分比特序列称为运动信息码流或运动信息比特流。
步骤906:将帧间运动特征输入运动解码网络,以得到重建运动特征Mt。可选地,重建运动特征Mt的维度为c2*h1*w1,通常c2<c1。在一些实施例中,c2可能大于或等于c1。/>
步骤907:利用重建运动特征Mt,将参考特征变换为预测特征/>预测特征/>的维度为c1*h1*w1。
步骤908:计算当前特征Ft与预测特征之间的残差,将该残差输入残差编码网络,以得到残差特征/>该残差特征/>为待编码的残差特征。
步骤909:通过熵估计网络确定残差特征中各个元素对应的概率分布参数,如均值μr,t和方差σm,t。
步骤910:基于残差特征中各个元素对应的概率分布参数,通过熵编码将残差特征/>编入码流。假设码流为比特流,对残差特征/>进行熵编码所得到的比特序列是码流包括的部分比特序列,这部分比特序列称为残差信息码流或运动信息比特流。
可选地,在编码当前图像之后,若后续的编码过程还需要将当前图像xt作为某待编码图像的参考图像,则编码端还将残差特征输入残差解码网络,以得到重建的残差。编码端基于预测特征/>和重建的残差,得到当前图像xt的重建特征,将当前图像xt的重建特征输入图像重建网络,以得到当前帧的重建图像/>
需要说明的是,图像重建网络在图9中未示出,图像重建网络可以是一种反卷积网络,图像重建网络可以与上述图像特征提取网络是相匹配的。另外,残差解码网络是预先训练得到的,本申请实施例中不限定残差解码网络的网络结构和训练方式等。例如,残差解码网络可以是全连接网络或卷积神经网络。另外,本申请实施例对残差解码网络所包括的网络层数和每一层的节点数也不作限定。残差解码网络的网络结构可以如图6所示的网络结构。
另外,结合图9中所示的虚线部分,可以将上述步骤903替换为:将相关性矩阵Ct、当前图像xt和参考图像输入运动编码网络,以得到帧间运动特征/>从而得到另一实施例。也可以将上述步骤907替换为:利用重建运动特征Mt,将参考图像/>变换为预测图像/>将步骤908替换为:计算当前图像xt与预测图像/>之间的残差,将该残差输入残差编码网络,以得到残差特征/>从而得到又一实施例,且在该实施例中,后续得到当前帧的重建图像/>的步骤与上段中所介绍的步骤的不同在于:基于预测图像/>和重建的残差,得到当前帧的重建图像/>
值得注意的是,在图9所示视频编解码方法的流程图中,未通过多次迭代来得到帧间运动特征。若想要细节更加丰富的重建运动特征,可以将上述步骤303中所介绍的迭代流程(如下述图10所示迭代流程)运用到图9所示的视频编解码方法中,从而通过多次迭代得到精度更高的帧间运动特征。
图10是本申请实施例提供的一种编码方法中的部分流程图。在图10中,假设迭代处理的总次数为K,初始值为0,迭代次数阈值为K-1,待编码的当前图像xt为视频中的第t帧,t>0,当前图像xt的参考图像为参考帧的重建图像对当前图像xt进行编码的编码过程包括如下步骤1001至步骤1010。
步骤1001:将当前图像xt和参考图像分别输入图像特征提取网络,以得到当前特征Ft和参考特征/>
步骤1002:计算参考特征相对于当前特征Ft的相关性矩阵Ct。
步骤1003:将参考特征作为首次迭代处理的预测特征/>将相关性矩阵Ct作为预测特征/>相对于当前特征Ft的相关性矩阵。
步骤1004:将相关性矩阵Ct、预测特征和当前特征Ft输入运动编码网络,以得到运动特征/>并确定迭代次数i。其中,首次确定的迭代次数i为0,之后每次确定的迭代次数等于上一次确定的迭代次数加1。
步骤1005:判断i是否小于K-1。如果i小于K-1,则执行步骤1006。如果i=K-1,则将运动特征作为帧间运动特征,执行步骤1009。
步骤1006:将运动特征输入运动解码网络,以得到重建运动特征Mt。
步骤1007:基于重建运动特征Mt,对参考特征进行变换,以重新预测特征/>
步骤1008:重新确定预测特征相对于当前特征Ft的相关性矩阵Ct,返回执行步骤1004。
步骤1009:通过熵估计网络确定帧间运动特征中各个元素对应的概率分布参数。
步骤1010:基于帧间运动特征中各个元素对应的概率分布参数,通过熵编码将帧间运动特征/>编入码流。
步骤1011:将帧间运动特征输入运动解码网络,以得到重建运动特征Mt。
步骤1012:利用重建运动特征Mt,将参考特征变换为预测特征/>
步骤1013:计算当前特征Ft与预测特征之间的残差,将该残差输入残差编码网络,以得到残差特征/>
步骤1014:通过熵估计网络确定残差特征中各个元素对应的概率分布参数。
步骤1015:基于残差特征中各个元素对应的概率分布参数,通过熵编码将残差特征/>编入码流。
图11是本申请实施例提供的另一种重建运动特征的对比图。图11是关于某视频中同一图像的重建运动特征,第一行是上述图9所示的视频编解码方法中所得到的重建运动特征,第二行是相关技术中所得到的重建运动特征,该相关技术是将当前帧和参考帧的图像特征输入卷积神经网络,完全依赖卷积运算来拟合当前帧与参考帧之间的运动。可以看出,第一行的边缘结构更加清晰明确、精度更高,换句话说,第一行的重建运动特征相比于第二行的重建运动特征具有更明显的细节信息。
由前述可知,本方案既能够应用于P帧,又能够应用于B帧,前面所介绍的编码过程是以P帧为例。对于B帧来说,当前图像对应有两个参考图像,在一实现方式中,编码端基于这两个参考图像,按照前述方法得到两个帧间运动特征和两个残差特征,将这两个帧间运动特征和这两个残差特征编入码流。其中,这两个帧间运动特征分别对应这两个参考图像,这两个残差特征也分别对应这两个参考图像。在另一实现方式中,编码端基于这两个参考图像,按照前述方法得到两个帧间运动特征,将这两个帧间运动特征编入码流。编码端基于这两个帧间运动特征,对参考特征进行变换,以分别得到两个预测特征,融合这两个预测特征,得到一个融合预测特征,基于融合预测特征和当前特征,得到一个残差特征,将该残差特征编入码流。
为了验证本方案的编解码性能,本申请实施例还在测试集上对本方案以及两个对比方案进行了测试。该测试集包括联合视频专家组(joint video experts team,JVET)标准测试集中的B类、C类和D类视频,以及YUV_CTC视频集中的一些视频。其中,B类视频的分辨率为1920*1080,C类视频的分辨率为832*480,D类视频的分辨率为416*240。图12至图15是本申请实施例提供的编解码性能对比图。其中,图12至图14分别是针对B类、C类和D类视频的测试结果,图15是针对YUV_CTC视频集中视频的测试结果。图12至图15的图例中“Corr”代表本方案,即基于相关性矩阵的帧间预测编码方案,图例中的“光流”代表对比方案1,即基于光流估计的帧间预测编码方案,图例中的“FVC”代表对比方案2,即仅基于当前帧和参考帧的特征得到帧间运动特征的编码方案。由于性能指标PSNR越高,重建的图像质量越好,BPP越大,压缩率越低,重建的图像质量越低。可以看出,本方案所对应曲线更靠上和靠左,说明本方案的编解码性能相对更好,即压缩性能更优。
由前述可知,本方案不依赖于光流,减少了计算光流的计算量,且帧间运动特征的预测更加容易,且更容易预测出更有利于压缩的帧间运动特征。本方案引入相关性矩阵,有利于提高帧间运动特征的预测精度,使得帧间预测和压缩变得更加简单,且利于提升整个编解码模型的拟合和泛化能力。
综上所述,在本申请实施例中,通过引入相关性矩阵来拟合帧间运动,由于相关性矩阵能够表征当前特征与参考特征之间相关性较强和较弱的部分,相关性较强的部分所对应的帧间运动信息更加丰富,因此,在拟合帧间运动的过程中,基于相关性矩阵中各个元素的大小,便能够更好地拟合出相关性较强的部分对应的帧间运动,而较少地关注相关性较弱的部分对应的帧间运动。简单来说,相关性矩阵对帧间运动特征的预测有信息增强的作用,即,能够提高帧间运动特征的预测精度,进而提升压缩性能。
图16是本申请实施例提供的一种解码方法的流程图。该方法应用于解码端。参见图16,该方法包括如下步骤。
步骤1601:从码流中解析出帧间运动特征和残差特征。
其中,编入码流的帧间运动特征是基于参考特征相对于当前特征的相关性矩阵确定的。
可选地,解码端通过熵解码从码流中解析出该帧间运动特征。在一种实现方式中,解码端根据指定的第一概率分布参数,通过熵解码从码流中解析出该帧间运动特征。在另一种实现方式中,解码端根据指定的第二概率分布参数,从码流中解析出第一超先验特征,将第一超先验特征输入超解码网络,得到第一先验特征。解码端基于第一先验特征确定该帧间运动特征的概率分布参数,基于该帧间运动特征的概率分布参数,从码流中解析出该帧间运动特征。
可选地,解码端通过熵解码从码流中解析出该残差特征。在一种实现方式中,解码端根据指定的第三概率分布参数,通过熵解码从码流中解析出该残差特征。在另一种实现方式中,解码端根据指定的第四概率分布参数,从码流中解析出第二超先验特征,将第二超先验特征输入超解码网络,得到第二先验特征。解码端基于第二先验特征确定该残差特征的概率分布参数,基于该残差特征的概率分布参数,通过熵解码从码流中解析出该残差特征。
需要说明的是,解码过程中的第一概率分布参数、第二概率分布参数、第三概率分布参数和第四概率分布参数与编码过程中的相同,解码过程中所采用的超解码网络与编码过程中的超解码网络相同。
步骤1602:基于该帧间运动特征和参考特征,确定待解码的当前图像的预测特征。
在本申请实施例中,解码端将该帧间运动特征输入运动解码网络,以得到当前图像与参考图像之间的重建运动特征。解码端基于该重建运动特征,对参考特征进行变换,以得到当前图像的预测特征。具有实现过程与编码过程中的相关内容一致,这里不再赘述。
步骤1603:基于该预测特征和残差特征,重建出当前图像。
在本申请实施例中,解码端基于该残差特征和预测特征,得到当前图像的重建特征。解码端将当前图像的重建特征输入图像重建网络,以重建出当前图像,即得到当前帧的重建图像。其中,解码端可以将该残差特征输入残差解码网络,以得到重建的残差,基于该预测特征和重建的残差,得到当前图像的重建特征。具体实现过程与上述图9实施例中的相关内容一致,这里不再赘述。
在另一实施例的解码过程中,将上述步骤1602和步骤1603替换为:基于该帧间运动特征和参考图像,确定待解码的当前图像的预测图像,基于该预测图像和残差特征,重建出当前特征。其中,解码端可以将该帧间运动特征输入运动解码网络,以得到重建运动特征。解码端基于该重建运动特征,对参考图像进行变换,以得到当前图像的预测图像。解码端可以将该残差特征输入残差解码网络,以得到重建的残差,基于该预测图像和重建的残差,重建出当前图像。
在又一实施例的解码过程中,解码端从码流中解析出帧间运动特征和残差,将该帧间运动特征输入运动解码网络,以得到当前图像与参考图像之间的重建运动特征。解码端基于该重建运动特征,对参考特征进行变换,以得到当前图像的预测特征。解码端基于该预测特征和解析出的残差,得到当前图像的重建特征,将当前图像的重建特征输入图像重建网络,以重建出当前图像。
在又一实施例的解码过程中,解码端从码流中解析出帧间运动特征和残差,将该帧间运动特征输入运动解码网络,以得到当前图像与参考图像之间的重建运动特征。解码端基于该重建运动特征,对参考图像进行变换,以得到当前图像的预测图像。解码端基于该预测图像和解析出的残差,重建出当前图像。
需要说明的是,由前述可知,本方案既能够应用于P帧,又能够应用于B帧。对于P帧来说,解码端从码流中解析出一个帧间运动特征和一个残差特征,从而解码P帧。对于B帧来说,当前图像对应有两个参考图像,在一实现方式中,解码端从码流中解析出两个帧间运动特征和两个残差特征,解码端基于这两个帧间运动特征得到两个预测特征,基于这两个残差特征和这两个预测特征,得到当前帧的两个重建图像,融合这两个重建图像,重建出当前图像。在另一实现方式中,解码端从码流中解析出两个帧间运动特征和一个残差特征,解码端基于这两个帧间运动特征,得到两个预测特征,融合这两个预测特征,得到一个融合预测特征,基于融合预测特征和残差特征,重建出当前图像。
还需要说明的是,上述任一实施例中的解码过程与编码过程是相匹配的,例如,若编码过程是在图像空间作变换和预测,那么解码过程也是在图像空间作变换和预测。若编码过程是在特征空间作变换和预测,那么解码过程也是在特征空间作变换和预测。
综上所述,在本申请实施例的编码过程中,通过引入相关性矩阵来拟合帧间运动。相关性矩阵对帧间运动特征的预测有信息增强的作用,即,能够提高帧间运动特征的预测精度,进而提升压缩性能。
图17是本申请实施例提供的一种编码装置1700的结构示意图,该编码装置1700可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部,该计算机设备可以包括上述实施例中的任一编码端。参见图17,该装置1700包括:第一确定模块1701、第二确定模块1702、第三确定模块1703和第一编码模块1704。
第一确定模块1701,用于确定当前特征和参考特征,当前特征为待编码的当前图像的特征,参考特征为当前图像的参考图像的特征;
第二确定模块1702,用于确定参考特征相对于当前特征的相关性矩阵;
第三确定模块1703,用于基于该相关性矩阵,确定帧间运动特征;
第一编码模块1704,用于将该帧间运动特征编入码流。
可选地,第三确定模块1703用于:
将该相关性矩阵输入运动编码网络,以得到帧间运动特征;或者,
将该相关性矩阵、当前特征和参考特征输入运动编码网络,以得到帧间运动特征;或者,
将该相关性矩阵、当前图像和参考图像输入运动编码网络,以得到帧间运动特征。
可选地,第三确定模块1703用于:
将参考特征作为预测特征,将该相关性矩阵、预测特征和当前特征输入运动编码网络,以得到运动特征;
确定迭代次数;
如果迭代次数小于迭代次数阈值,则将该运动特征输入运动解码网络,以得到重建运动特征,基于该重建运动特征,对参考特征进行变换,以重新确定预测特征,重新确定预测特征相对于当前特征的相关性矩阵,返回执行将该相关性矩阵、预测特征和当前特征输入运动编码网络,以得到运动特征的步骤;
如果迭代次数等于迭代次数阈值,则将该运动特征确定为帧间运动特征。
可选地,该装置1700还包括:
第四确定模块,用于基于该帧间运动特征,确定残差特征;
第二编码模块,用于将该残差特征编入码流。
可选地,第四确定模块用于:
将该帧间运动特征输入运动解码网络,以得到当前图像与参考图像之间的重建运动特征;
基于当前图像与参考图像之间的重建运动特征,对参考特征进行变换,以得到当前图像的预测特征;
确定第一残差,第一残差为当前图像的预测特征与当前特征之间的残差;
将第一残差输入残差编码网络,以得到该残差特征。
可选地,第四确定模块用于:
将该帧间运动特征输入运动解码网络,以得到当前图像与参考图像之间的重建运动特征;
基于当前图像与参考图像之间的重建运动特征,对参考图像进行变换,以得到预测图像;
确定第二残差,第二残差为预测图像与当前图像之间的残差;
将第二残差输入残差编码网络,以得到该残差特征。
可选地,该参考图像为参考帧的重建图像。
在本申请实施例中,通过引入相关性矩阵来拟合帧间运动,由于相关性矩阵能够表征当前特征与参考特征之间相关性较强和较弱的部分,相关性较强的部分所对应的帧间运动信息更加丰富,因此,在拟合帧间运动的过程中,基于相关性矩阵中各个元素的大小,便能够更好地拟合出相关性较强的部分对应的帧间运动,而较少地关注相关性较弱的部分对应的帧间运动。简单来说,相关性矩阵对帧间运动特征的预测有信息增强的作用,即,能够提高帧间运动特征的预测精度,进而提升压缩性能。
需要说明的是:上述实施例提供的编码装置在进行视频编码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的编码装置与编码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图18为用于本申请实施例的一种编解码装置1800的示意性框图。其中,编解码装置1800可以包括处理器1801、存储器1802和总线系统1803。其中,处理器1801和存储器1802通过总线系统1803相连,该存储器1802用于存储指令,该处理器1801用于执行该存储器1802存储的指令,以执行本申请实施例描述的各种的编码或解码方法。为避免重复,这里不再详细描述。
在本申请实施例中,该处理器1801可以是中央处理单元(CPU),该处理器1801还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器1802可以包括ROM设备或者RAM设备。任何其他适宜类型的存储设备也可以用作存储器1802。存储器1802可以包括由处理器1801使用总线1803访问的代码和数据18021。存储器1802可以进一步包括操作系统18023和应用程序18022,该应用程序18022包括允许处理器1801执行本申请实施例描述的编码或解码方法的至少一个程序。例如,应用程序18022可以包括应用1至N,其进一步包括执行在本申请实施例描述的编码或解码方法的编码或解码应用(简称编解码应用)。
该总线系统1803除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1803。
可选地,编解码装置1800还可以包括一个或多个输出设备,诸如显示器1804。在一个示例中,显示器1804可以是触感显示器,其将显示器与可操作地感测触摸输入的触感单元合并。显示器1804可以经由总线1803连接到处理器1801。
需要指出的是,编解码装置1800可以执行本申请实施例中的编码方法,也可执行本申请实施例中的解码方法。
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,基于通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、DVD和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。在一种示例下,编码器100及解码器200中的各种说明性逻辑框、单元、模块可以理解为对应的电路器件或逻辑元件。
本申请实施例的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本申请实施例中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,DVD))或半导体介质(例如:固态硬盘(solid state disk,SSD))等。值得注意的是,本申请实施例提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
应当理解的是,本文提及的“至少一个”是指一个或多个,“多个”是指两个或两个以上。在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请实施例所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请实施例中涉及到的视频、图像等都是在充分授权的情况下获取的。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (17)
1.一种编码方法,其特征在于,所述方法包括:
确定当前特征和参考特征,所述当前特征为待编码的当前图像的特征,所述参考特征为所述当前图像的参考图像的特征;
确定所述参考特征相对于所述当前特征的相关性矩阵;
基于所述相关性矩阵,确定帧间运动特征;
将所述帧间运动特征编入码流。
2.如权利要求1所述的方法,其特征在于,所述基于所述相关性矩阵,确定帧间运动特征,包括:
将所述相关性矩阵输入运动编码网络,以得到所述帧间运动特征;或者,
将所述相关性矩阵、所述当前特征和所述参考特征输入所述运动编码网络,以得到所述帧间运动特征;或者,
将所述相关性矩阵、所述当前图像和所述参考图像输入所述运动编码网络,以得到所述帧间运动特征。
3.如权利要求1所述的方法,其特征在于,所述基于所述相关性矩阵,确定帧间运动特征,包括:
将所述参考特征作为预测特征,将所述相关性矩阵、所述预测特征和所述当前特征输入运动编码网络,以得到运动特征;
确定迭代次数;
如果所述迭代次数小于迭代次数阈值,则将所述运动特征输入运动解码网络,以得到重建运动特征,基于所述重建运动特征,对所述参考特征进行变换,以重新确定所述预测特征,重新确定所述预测特征相对于所述当前特征的相关性矩阵,返回执行将所述相关性矩阵、所述预测特征和所述当前特征输入所述运动编码网络,以得到运动特征的步骤;
如果所述迭代次数等于所述迭代次数阈值,则将所述运动特征确定为所述帧间运动特征。
4.如权利要求1-3任一所述的方法,其特征在于,所述基于所述相关性矩阵,确定帧间运动特征之后,还包括:
基于所述帧间运动特征,确定残差特征;
将所述残差特征编入所述码流。
5.如权利要求4所述的方法,其特征在于,所述基于所述帧间运动特征,确定残差特征,包括:
将所述帧间运动特征输入运动解码网络,以得到所述当前图像与所述参考图像之间的重建运动特征;
基于所述当前图像与所述参考图像之间的重建运动特征,对所述参考特征进行变换,以得到所述当前图像的预测特征;
确定第一残差,所述第一残差为所述当前图像的预测特征与所述当前特征之间的残差;
将所述第一残差输入残差编码网络,以得到所述残差特征。
6.如权利要求4所述的方法,其特征在于,所述基于所述帧间运动特征,确定残差特征,包括:
将所述帧间运动特征输入运动解码网络,以得到所述当前图像与所述参考图像之间的重建运动特征;
基于所述当前图像与所述参考图像之间的重建运动特征,对所述参考图像进行变换,以得到预测图像;
确定第二残差,所述第二残差为所述预测图像与所述当前图像之间的残差;
将所述第二残差输入残差编码网络,以得到所述残差特征。
7.如权利要求1-6任一所述的方法,其特征在于,所述参考图像为参考帧的重建图像。
8.一种编码装置,其特征在于,所述装置包括:
第一确定模块,用于确定当前特征和参考特征,所述当前特征为待编码的当前图像的特征,所述参考特征为所述当前图像的参考图像的特征;
第二确定模块,用于确定所述参考特征相对于所述当前特征的相关性矩阵;
第三确定模块,用于基于所述相关性矩阵,确定帧间运动特征;
第一编码模块,用于将所述帧间运动特征编入码流。
9.如权利要求8所述的装置,其特征在于,所述第三确定模块用于:
将所述相关性矩阵输入运动编码网络,以得到所述帧间运动特征;或者,
将所述相关性矩阵、所述当前特征和所述参考特征输入所述运动编码网络,以得到所述帧间运动特征;或者,
将所述相关性矩阵、所述当前图像和所述参考图像输入所述运动编码网络,以得到所述帧间运动特征。
10.如权利要求8所述的装置,其特征在于,所述第三确定模块用于:
将所述参考特征作为预测特征,将所述相关性矩阵、所述预测特征和所述当前特征输入运动编码网络,以得到运动特征;
确定迭代次数;
如果所述迭代次数小于迭代次数阈值,则将所述运动特征输入运动解码网络,以得到重建运动特征,基于所述重建运动特征,对所述参考特征进行变换,以重新确定所述预测特征,重新确定所述预测特征相对于所述当前特征的相关性矩阵,返回执行将所述相关性矩阵、所述预测特征和所述当前特征输入所述运动编码网络,以得到运动特征的步骤;
如果所述迭代次数等于所述迭代次数阈值,则将所述运动特征确定为所述帧间运动特征。
11.如权利要求8-10任一所述的装置,其特征在于,所述装置还包括:
第四确定模块,用于基于所述帧间运动特征,确定残差特征;
第二编码模块,用于将所述残差特征编入所述码流。
12.如权利要求11所述的装置,其特征在于,所述第四确定模块用于:
将所述帧间运动特征输入运动解码网络,以得到所述当前图像与所述参考图像之间的重建运动特征;
基于所述当前图像与所述参考图像之间的重建运动特征,对所述参考特征进行变换,以得到所述当前图像的预测特征;
确定第一残差,所述第一残差为所述当前图像的预测特征与所述当前特征之间的残差;
将所述第一残差输入残差编码网络,以得到所述残差特征。
13.如权利要求11所述的装置,其特征在于,所述第四确定模块用于:
将所述帧间运动特征输入运动解码网络,以得到所述当前图像与所述参考图像之间的重建运动特征;
基于所述当前图像与所述参考图像之间的重建运动特征,对所述参考图像进行变换,以得到预测图像;
确定第二残差,所述第二残差为所述预测图像与所述当前图像之间的残差;
将所述第二残差输入残差编码网络,以得到所述残差特征。
14.如权利要求8-13任一所述的装置,其特征在于,所述参考图像为参考帧的重建图像。
15.一种编码装置,其特征在于,包括处理器和接口电路,所述处理器通过所述接口电路接收和/或发送数据;所述处理器被配置为调用存储在存储器中的程序指令,以执行如权利要求1-7任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法的步骤。
17.一种计算机程序产品,其特征在于,所述计算机程序产品内存储有计算机指令,所述计算机指令被处理器执行时实现权利要求1-7任一所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210345172.7A CN116962715A (zh) | 2022-03-31 | 2022-03-31 | 编码方法、装置、存储介质及计算机程序产品 |
PCT/CN2023/076925 WO2023185305A1 (zh) | 2022-03-31 | 2023-02-17 | 编码方法、装置、存储介质及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210345172.7A CN116962715A (zh) | 2022-03-31 | 2022-03-31 | 编码方法、装置、存储介质及计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116962715A true CN116962715A (zh) | 2023-10-27 |
Family
ID=88199134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210345172.7A Pending CN116962715A (zh) | 2022-03-31 | 2022-03-31 | 编码方法、装置、存储介质及计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116962715A (zh) |
WO (1) | WO2023185305A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1841230A1 (en) * | 2006-03-27 | 2007-10-03 | Matsushita Electric Industrial Co., Ltd. | Adaptive wiener filter for video coding |
CN100415002C (zh) * | 2006-08-11 | 2008-08-27 | 宁波大学 | 多模式多视点视频信号编码压缩方法 |
CN106878668B (zh) * | 2015-12-10 | 2020-07-17 | 微软技术许可有限责任公司 | 对物体的移动检测 |
WO2021211966A1 (en) * | 2020-04-18 | 2021-10-21 | Alibaba Group Holding Limited | Convolutional-neutral-network based filter for video coding |
CN112767277B (zh) * | 2021-01-27 | 2022-06-07 | 同济大学 | 一种基于参考图像的深度特征排序去模糊方法 |
CN113570606B (zh) * | 2021-06-30 | 2023-09-05 | 北京百度网讯科技有限公司 | 目标分割的方法、装置及电子设备 |
-
2022
- 2022-03-31 CN CN202210345172.7A patent/CN116962715A/zh active Pending
-
2023
- 2023-02-17 WO PCT/CN2023/076925 patent/WO2023185305A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023185305A1 (zh) | 2023-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hu et al. | Learning end-to-end lossy image compression: A benchmark | |
US11895307B2 (en) | Block-based predictive coding for point cloud compression | |
Minnen et al. | Joint autoregressive and hierarchical priors for learned image compression | |
US11006149B2 (en) | Non-transform coding | |
Abou-Elailah et al. | Fusion of global and local motion estimation for distributed video coding | |
RU2427099C2 (ru) | Кодирование с преобразованием и пространственным улучшением | |
EP3938965A1 (en) | An apparatus, a method and a computer program for training a neural network | |
CN116233445B (zh) | 视频的编解码处理方法、装置、计算机设备和存储介质 | |
CN1622593B (zh) | 用于实现信噪比可伸缩性的视频处理的装置和方法 | |
CN117480778A (zh) | 残差编码和视频编码方法、装置、设备和系统 | |
WO2023225808A1 (en) | Learned image compress ion and decompression using long and short attention module | |
CN116962715A (zh) | 编码方法、装置、存储介质及计算机程序产品 | |
EP4315866A1 (en) | Multi-distribution entropy modeling of latent features in image and video coding using neural networks | |
CN112584144B (zh) | 一种图像信号处理方法及装置 | |
CN114257818A (zh) | 视频的编、解码方法、装置、设备和存储介质 | |
WO2023169303A1 (zh) | 编解码方法、装置、设备、存储介质及计算机程序产品 | |
WO2024078403A1 (zh) | 图像处理方法、装置及设备 | |
CN117041597B (zh) | 一种视频编码、解码方法、装置、电子设备及存储介质 | |
WO2024093627A1 (zh) | 一种视频压缩方法、视频解码方法和相关装置 | |
Elawady et al. | The Noise Reduction over Wireless Channel Using Vector Quantization Compression and Filtering. | |
US20240121395A1 (en) | Methods and non-transitory computer readable storage medium for pre-analysis based resampling compression for machine vision | |
US20240163485A1 (en) | Multi-distribution entropy modeling of latent features in image and video coding using neural networks | |
Raj Bhagath et al. | Low‐complexity feedback‐channel‐free distributed video coding using local rank transform | |
US20230229894A1 (en) | Method and apparatus for compression and training of neural network | |
US20230239470A1 (en) | Video encoding and decoding methods, encoder, decoder, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |