图像编码方法、图像解码方法及相关装置与流程

文档序号:30054449发布日期:2022-05-17 17:00阅读:97来源:国知局
图像编码方法、图像解码方法及相关装置与流程

1.本技术涉及电子设备技术领域,具体涉及一种图像编码方法、图像解码方法及相关装置。


背景技术:

2.数字视频能力可并入到大范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(personal digital assistant,pda)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频会议装置、视频流装置等等。
3.数字视频装置实施视频压缩技术,例如由mpeg-2、mpeg-4、itu-th.263、itu-th.264/mpeg-4第10部分高级视频编解码(advanced video coding,avc)、itu-th.265高效率视频编解码(high efficiency video coding,hevc)标准定义的标准和所述标准的扩展部分中所描述的那些视频压缩技术,从而更高效地发射及接收数字视频信息。视频装置可通过实施这些视频编解码技术来更高效地发射、接收、编码、解码和/或存储数字视频信息。
4.随着互联网视频的激增,尽管数字视频压缩技术不断演进,但仍然对视频压缩比提出更高要求。


技术实现要素:

5.本技术实施例提供了一种图像编码方法、图像解码方法及相关装置,以期实现自适应的动态残差补偿,能有效地编码不同形式的帧间残差信息。
6.第一方面,本技术实施例提供一种图像编码方法,包括:
7.获取当前编码块的原始残差块,所述当前编码块包括当前处理的视频帧或者划分所述当前处理的视频帧而得到的编码单元;
8.根据所述原始残差块和预先训练好的特征预测模型,得到所述当前编码块的变换特征;
9.对所述当前编码块的变换特征进行量化,得到所述当前编码块的量化特征;
10.通过预先训练好的概率预测模型,确定所述当前编码块的量化特征中每个像素的概率;
11.利用所述每个像素的概率生成所述当前编码块的二进制码流。
12.相比于现有技术,本技术方案对当前预测帧进行自适应的动态残差补偿并得到最终的帧间重建,能有效地编码不同形式的帧间残差信息。
13.第二方面,本技术实施例提供一种图像解码方法,包括:
14.获取当前解码块的二进制码流,所述当前解码块包括当前处理的视频帧的码流或者划分所述当前处理的视频帧而得到的解码单元;
15.通过预先训练好的概率预测模型,将所述二进制码流变换成所述当前解码块的量化特征;
16.根据所述量化特征和预先训练好的残差预测模型,确定所述当前解码块的残差块;
17.根据所述残差块与所述当前解码块的预测块,确定所述当前解码块的重建块。
18.相比于现有技术,本技术方案对当前预测帧进行自适应的动态残差补偿并得到最终的帧间重建,能有效地编码不同形式的帧间残差信息。
19.第三方面,本技术实施例提供一种图像编码装置,包括:
20.获取单元,用于获取当前编码块的原始残差块,所述当前编码块包括当前处理的视频帧或者划分所述当前处理的视频帧而得到的编码单元;
21.第一预测单元,用于根据所述原始残差块和预先训练好的特征预测模型,得到所述当前编码块的变换特征;
22.量化单元,用于对所述当前编码块的变换特征进行量化,得到所述当前编码块的量化特征;
23.第二预测单元,用于通过预先训练好的概率预测模型,确定所述当前编码块的量化特征中每个像素的概率;
24.生成单元,用于利用所述每个像素的概率生成所述当前编码块的二进制码流。
25.第四方面,本技术实施例提供一种图像解码装置,包括:
26.获取单元,用于获取当前解码块的二进制码流,所述当前解码块包括当前处理的视频帧的码流或者划分所述当前处理的视频帧而得到的解码单元;
27.第一预测单元,用于通过预先训练好的概率预测模型,将所述二进制码流变换成所述当前解码块的量化特征;
28.第二预测单元,用于根据所述量化特征和预先训练好的残差预测模型,确定所述当前解码块的残差块;
29.确定单元,用于根据所述残差块与所述当前解码块的预测块,确定所述当前解码块的重建块。
30.第五方面,本技术实施例提供了一种编码器,包括:处理器和耦合于所述处理器的存储器;所述处理器用于执行上述第一方面所述的方法。
31.第六方面,本技术实施例提供了一种解码器,包括:处理器和耦合于所述处理器的存储器;所述处理器用于执行上述第二方面所述的方法。
32.第七方面,本技术实施例提供了一种终端,所述终端包括:一个或多个处理器、存储器和通信接口;所述存储器、所述通信接口与所述一个或多个处理器连接;所述终端通过所述通信接口与其他设备通信,所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令,当所述一个或多个处理器执行所述指令时,所述终端执行如第一方面或第二方面所述的方法。
33.第八方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的方法。
34.第九方面,本技术实施例提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的方法。
附图说明
35.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1为本技术实施例中编码树单元的一种示意性框图;
37.图2为本技术实施例中ctu和编码块cu的一种示意性框图;
38.图3为本技术实施例中颜色格式的一种示意性框图;
39.图4为本技术实施例中图像划分方式的示意图;
40.图5为本技术实施例中编解码系统的一种示意性框图;
41.图6为本技术实施例中视频编码器的一种示意性框图;
42.图7为本技术实施例中视频解码器的一种示意性框图;
43.图8a为本技术实施例中一种图像编码方法的流程示意图;
44.图8b为本技术实施例中一种不同阈值处理后生成的残差图的示意图;
45.图8c为本技术实施例中一种特征预测模型的结构图;
46.图9a为本技术实施例中一种图像解码方法的流程示意图;
47.图9b为本技术实施例中一种残差预测模型的结构图;
48.图10为本技术实施例中图像编码装置的一种功能单元框图;
49.图11为本技术实施例中图像编码装置的另一种功能单元框图;
50.图12为本技术实施例中图像解码装置的一种功能单元框图;
51.图13为本技术实施例中图像解码装置的另一种功能单元框图。
具体实施方式
52.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
53.可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。
54.首先介绍一下本技术实施例中用到的术语和相关技术。
55.视频中完整的图像通常被称为“帧”,由许多帧按照时间顺序组成的视频也被称为视频序列(video sequence)。视频序列存在空间冗余、时间冗余、视觉冗余、信息熵冗余、结构冗余、知识冗余、重要性冗余等一系列的冗余信息。为了尽可能的去除视频序列中的冗余信息,减少表征视频的数据量,提出了视频编码(video coding)技术,以达到减小存储空间和节省传输带宽的效果。视频编码技术也称为视频压缩技术。
56.就目前的技术发展现状而言,视频编码技术主要包括帧内预测、帧间预测、变换量化、熵编码以及消块滤波处理等。在国际通用范围内,视频压缩编码标准,例如:由运动图像
专家组(motion picture experts group,mpeg)制定的mpeg-2和mpeg-4第10部分高级视频编解码(advanced video coding,avc),由国际电信联盟电信标准化部门(international telecommunication uion-telecommunication standardization sector,itu-t)制定的h.263、h.264和h.265高效率视频编解码(high efficiency video coding standard,hevc),中主流的压缩编码方式主要有四种:色度抽样、预测编码、变换编码和量化编码。
57.预测编码:利用之前已编码帧的数据信息来预测当前将要编码的帧。编码端通过预测得到一个预测值,该预测值与实际值之间存在着一定的残差值。如果预测越适合,则预测值就会越接近实际值,残差值就越小,这样编码端对残差值进行编码就能大大减小数据量。解码端在解码时,运用残差值加上预测值还原重构出初始图像。在主流编码标准中,预测编码分为帧内预测和帧间预测两种基本类型。
58.帧间预测是基于运动补偿(motion compensation)的预测技术,主要处理为确定当前块的运动信息,根据运动信息从当前块的参考帧中获取参考图像块,产生当前块的预测图像。其中,当前块使用前向预测、后向预测或双向预测中的一种进行,预测方向通过运动信息中的帧间预测方向指示,参考帧中用于预测当前块的参考图像块相对于当前块的位移矢量通过运动信息中的运动矢量指示,一个运动矢量对应有一个参考帧。一个图像块的帧间预测可以只通过一个运动矢量,使用一个参考帧中的像素来生成预测图像,称为单向预测;也可以通过两个运动矢量,使用两个参考帧中的像素来组合生成预测图像,称为双向预测。也就是说,一个图像块通常可包含一个或两个运动矢量。对于一些多假设帧间预测(multi-hypothesis inter prediction)技术,一个图像块可能包含多于两个运动矢量。
59.帧间预测通过参考帧索引(reference index,ref_idx)指明参考帧(reference frame),通过运动矢量(motion vector,mv)指示当前块在参考帧中的参考块(reference block)相对当前块的位置偏移。一个mv是二维矢量,包含水平方向位移分量和竖直方向位移分量;一个mv对应于两个帧,每一帧具有一个图像顺序号(picture order count,poc),用于表示图像在显示顺序上的编号,所以一个mv也对应于一个poc差值。poc差值与时间间隔呈线性关系。运动矢量的缩放通常采用基于poc差值的缩放方式,将一对图像之间的运动矢量转换成另一对图像之间的运动矢量。
60.常用的帧间预测模式有以下两种。
61.1)高级运动矢量预测(advanced motion vector prediction,amvp)模式:在码流中标识当前块使用的帧间预测方向(前向、后向或双向)、参考帧索引(reference index)、运动矢量预测值索引(motion vector predictor index,mvp index)、运动矢量残差值(motion vector difference,mvd);由帧间预测方向确定使用的参考帧队列,由参考帧索引确定当前块mv指向的参考帧,由运动矢量预测值索引指示mvp列表中的一个mvp作为当前块mv的预测值,一个mvp与一个mvd相加得到一个mv。
62.2)合并/跳跃(merge/skip)模式:码流中标识融合索引(merge index),根据融合索引(merge index)从融合候选者列表(merge candidate list)中选择一个融合候选者(merge candidate),当前块的运动信息(包括预测方向、参考帧、运动矢量)由这个融合候选者(merge candidate)确定。merge模式和skip模式的主要区别在于,merge模式隐含当前块有残差信息,而skip模式隐含当前块没有残差信息(或者说残差为0);这两种模式导出运动信息的方式是一样的。
63.融合候选者具体是一种运动信息数据结构体,包含帧间预测方向、参考帧、运动矢量等多种信息。当前块可根据融合索引(merge index)从融合候选者列表(merge candidate list)中选择对应的融合候选者,将融合候选者的运动信息作为当前块的运动信息,或者对融合候选者的运动信息经过缩放后作为当前块的运动信息。hevc标准中,融合候选者可以是当前块相邻的图像块的运动信息,称为空间融合候选者(spatial merge candidate);也可以是当前块在另一已编码图像中对应位置图像块的运动信息,称为时间融合候选者(temporal merge candidate)。此外,融合候选者还可以是由一个融合候选者的前向运动信息和另一个融合候选者的后向运动信息组合而成的双向预测融合候选者(bi-predictive merge candidate),或者运动矢量强制为0矢量的零运动矢量融合候选者(zero motion vector merge candidate)。
64.其中,所述帧间预测单元的划分包括2n
×
2n划分方式(如图4中的a所示)、n
×
n划分方式(如图4中的b所示)、n
×
2n划分方式(如图4中的c所示)、2n
×
n划分方式(如图4中的d所示)、2n
×
nd划分方式(如图4中的e所示)、2n
×
nu划分方式(如图4中的f所示)、nl
×
2n划分方式(如图4中的g所示)、nr
×
2n划分方式(如图4中的h所示)。其中,n为任意正整数,n=x
×
n,0≤x≤1。
65.2n
×
2n划分方式为对图像块不进行划分;n
×
n划分方式为将图像块划分为四个等大的子图像块;n
×
2n划分方式为将图像块划分成左右两个等大的子图像块;2n
×
n划分方式为将图像块划分成上下两个等大的子图像块;2n
×
nd划分方式为将图像块划分为上下两个子图像块,且图像划分线相对该图像块的垂直平分线下移n,其中,d表示图像划分线相对该图像块的垂直平分线下移;2n
×
nu划分方式为将图像块划分为上下两个子图像块,且图像划分线相对该图像块的垂直平分线上移n,其中,u表示图像划分线相对该图像块的垂直平分线上移;nl
×
2n划分方式为将图像块划分为左右两个子图像块,且图像划分线相对该图像块的垂直平分线左移n,其中,l表示图像划分线相对该图像块的垂直平分线左移;nr
×
2n划分方式为将图像块划分为左右两个子图像块,且图像划分线相对该图像块的垂直平分线右移n,其中,r表示图像划分线相对该图像块的垂直平分线右移。
66.对于图像的划分,为了更加灵活的表示视频内容,高效率视频编解码(high efficiency video coding standard,hevc)技术中定义了编码树单元(coding tree unit,ctu)、编码块(coding unit,cu)、预测单元(prediction unit,pu)和变换单元(transform unit,tu)。ctu、cu、pu和tu均为图像块。
67.编码树单元ctu,一幅图像由多个ctu构成,一个ctu通常对应于一个方形图像区域,包含这个图像区域中的亮度像素和色度像素(或者也可以只包含亮度像素,或者也可以只包含色度像素);ctu中还包含语法元素,这些语法元素指示如何将ctu划分成至少一个编码块(coding unit,cu),以及解码每个编码块得到重建图像的方法。如图1所示,图像10由多个ctu构成(包括ctu a、ctu b、ctu c等)。与某一ctu对应的编码信息包含与该ctu对应的方形图像区域中的像素的亮度值和/或色度值。此外,与某一ctu对应的编码信息还可以包含语法元素,这些语法元素指示如何将该ctu划分成至少一个cu,以及解码每个cu以得到重建图像的方法。一个ctu对应的图像区域可以包括64
×
64、128
×
128或256
×
256个像素。在一个示例中,64
×
64个像素的ctu包含由64列、每列64个像素的矩形像素点阵,每个像素包含亮度分量和/或色度分量。ctu也可以对应矩形图像区域或者其它形状的图像区域,一个
ctu对应的图像区域也可以是水平方向的像素点的数量与竖直方向的像素点数量不同的图像区域,例如包括64
×
128个像素。
68.编码块cu,通常对应于图像中一个a
×
b的矩形区域,包含a
×
b亮度像素或/和它对应的色度像素,a为矩形的宽,b为矩形的高,a和b可以相同也可以不同,a和b的取值通常为2的整数次幂,例如128、64、32、16、8、4。其中,本技术实施例中涉及到的宽是指图1示出的二维直角坐标系xoy中沿x轴方向(水平方向)的长度,高是指图1示出的二维直角坐标系xoy中沿y轴方向(竖直方向)的长度。一个cu的重建图像可以通过预测图像与残差图像相加得到,预测图像通过帧内预测或帧间预测生成,具体可以由一个或多个预测块(prediction block,pb)构成,残差图像通过对变换系数进行反量化和反变换处理生成,具体可以由一个或多个变换块(transform block,tb)构成。具体的,一个cu包含编码信息,编码信息包括预测模式、变换系数等信息,按照这些编码信息对cu进行相应的预测、反量化、反变换等解码处理,产生这个cu对应的重建图像。编码树单元ctu与编码块cu关系如图2所示。
69.数字视频压缩技术作用于颜色编码方法为ycbcr,也可称为yuv,颜色格式为4:2:0、4:2:2或4:4:4的视频序列。其中,y表示明亮度(luminance或luma),也就是灰阶值,cb表示蓝色色度分量,cr表示红色色度分量,u和v表示色度(chrominance或chroma),用于描述色彩及饱和度。在颜色格式上,4:2:0表示每4个像素有4个亮度分量,2个色度分量(yyyycbcr),4:2:2表示每4个像素有4个亮度分量,4个色度分量(yyyycbcrcbcr),而4:4:4表示全像素显示(yyyycbcrcbcrcbcrcbcr),图3展示了不同颜色格式下的各分量分布图,其中圆形为y分量,三角形为uv分量。
70.预测单元pu,是帧内预测、帧间预测的基本单元。定义图像块的运动信息包含帧间预测方向、参考帧、运动矢量等,正在进行编码处理的图像块称为当前编码块(current coding block,ccb),正在进行解码处理的图像块称为当前解码块(current decoding block,cdb),例如正在对一个图像块进行预测处理时,当前编码块或者当前解码块为预测块;正在对一个图像块进行残差处理时,当前编码块或者当前解码块为变换块。当前编码块或当前解码块所在的图像称为当前帧。当前帧中,位于当前块的左侧或上侧的图像块可能处于当前帧内部并且已经完成了编码/解码处理,得到了重建图像,它们称为重构块;重构块的编码模式、重建像素等信息是可以获得的(available)。在当前帧进行编码/解码之前已经完成编码/解码处理的帧称为重建帧。当前帧为单向预测帧(p帧)或双向预测帧(b帧)时,它分别具有一个或两个参考帧列表,两个列表分别称为l0和l1,每个列表中包含至少一个重建帧,称为当前帧的参考帧。参考帧为当前帧的帧间预测提供参考像素。
71.变换单元tu,对原始图像块和预测图像块的残差进行处理。
72.像素(又称为像素点),是指图像中的像素点,如编码块中的像素点、亮度分量像素块中的像素点(又称为亮度像素)、色度分量像素块中的像素点(又称为色度像素)等。
73.样本(又称为像素值、样本值),是指像素点的像素值,该像素值在亮度分量域具体是指亮度(即灰阶值),该像素值在在色度分量域具体是指色度值(即色彩和饱和度),按照处理阶段的不同,一个像素的样本具体包括原始样本、预测样本和重构样本。
74.目前,随着深度学习的发展和成熟,基于深度学习的视频图像处理和编码被广泛研究。通过数据驱动的方法以及端到端学习的方式,深度神经网络能基于率失真优化端到端整个系统。卷积神经网络采用可学习的特征变换,可微分量化,动态的概率分布估计能更
高效地去除视频图像之间的冗余,得到更紧凑的视频图像特征空间表达,在相同的码率情况下能得到更高的重建质量。同时,基于特定神经网络硬件加速和开发,有利于进一步推进基于学习的编解码系统的加速与落地。然而,由于视频编解码的复杂性,实现完整的端到端基于学习的视频编码方法仍是这个领域亟待解决的问题,每个特定模块的优化与分析以及其对整个端到端系统的影响仍有很大的不确定性和研究价值。国内外针对基于学习的端到端视频编码系统的标准工作刚开始进行,mpeg和avs对于智能编码标准化基本都处于call for evidence的阶段。
75.现有的端到端系统方案中,直接采用端到端帧内编码处理残差信息,没有考虑残差信息的特殊性以及预测后的不均匀分布性,没有嵌入残差稀疏化方法来近似传统编码方法中的skip模式。
76.针对上述问题,本技术实施例提供一种图像编码方法、编码方法及相关装置,下面结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
77.图5为本技术实施例中所描述的一种实例的编解码系统1的框图,编解码系统1包括视频编码器100和视频解码器200,视频编码器100和视频解码器200用于实现本技术提出的基于学习的端到端自适应帧间残差编码方法。
78.如图5中所示,编解码系统1包含源装置10和目的装置20。源装置10产生经编码视频数据。因此,源装置10可被称为视频编码装置。目的装置20可对由源装置10所产生的经编码的视频数据进行解码。因此,目的装置20可被称为视频解码装置。源装置10、目的装置20或两个的各种实施方案可包含一或多个处理器以及耦合到所述一或多个处理器的存储器。所述存储器可包含但不限于ram、rom、eeprom、快闪存储器或可用于以可由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体,如本文所描述。
79.源装置10和目的装置20可以包括各种装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。
80.目的装置20可经由链路30从源装置10接收经编码视频数据。链路30可包括能够将经编码视频数据从源装置10移动到目的装置20的一或多个媒体或装置。在一个实例中,链路30可包括使得源装置10能够实时将经编码视频数据直接发射到目的装置20的一或多个通信媒体。在此实例中,源装置10可根据通信标准(例如无线通信协议)来调制经编码视频数据,且可将经调制的视频数据发射到目的装置20。所述一或多个通信媒体可包含无线和/或有线通信媒体,例如射频(rf)频谱或一或多个物理传输线。所述一或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促使从源装置10到目的装置20的通信的其它设备。在另一实例中,可将经编码数据从输出接口140输出到存储装置40。
81.本技术的图像编解码技术可应用于视频编解码以支持多种多媒体应用,例如空中电视广播、有线电视发射、卫星电视发射、串流视频发射(例如,经由因特网)、用于存储于数据存储媒体上的视频数据的编码、存储在数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,编解码系统1可用于支持单向或双向视频传输以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
82.图5中所说明的编解码系统1仅为实例,并且本技术的技术可适用于未必包含编码
装置与解码装置之间的任何数据通信的视频译码设置(例如,视频编码或视频解码)。在其它实例中,数据从本地存储器检索、在网络上流式传输等等。视频编码装置可对数据进行编码并且将数据存储到存储器,和/或视频解码装置可从存储器检索数据并且对数据进行解码。在许多实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的装置执行编码和解码。
83.在图5的实例中,源装置10包含视频源120、视频编码器100和输出接口140。在一些实例中,输出接口140可包含调节器/解调器(调制解调器)和/或发射器。视频源120可包括视频捕获装置(例如,摄像机)、含有先前捕获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频馈入接口,和/或用于产生视频数据的计算机图形系统,或视频数据的此些来源的组合。
84.视频编码器100可对来自视频源120的视频数据进行编码。在一些实例中,源装置10经由输出接口140将经编码视频数据直接发射到目的装置20。在其它实例中,经编码视频数据还可存储到存储装置40上,供目的装置20以后存取来用于解码和/或播放。
85.在图5的实例中,目的装置20包含输入接口240、视频解码器200和显示装置220。在一些实例中,输入接口240包含接收器和/或调制解调器。输入接口240可经由链路30和/或从存储装置40接收经编码视频数据。显示装置220可与目的装置20集成或可在目的装置20外部。一般来说,显示装置220显示经解码视频数据。显示装置220可包括多种显示装置,例如,液晶显示器(lcd)、等离子显示器、有机发光二极管(oled)显示器或其它类型的显示装置。
86.尽管图5中未图示,但在一些方面,视频编码器100和视频解码器200可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频和视频两者的编码。
87.视频编码器100和视频解码器200各自可实施为例如以下各项的多种电路中的任一者:一或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑、硬件或其任何组合。如果部分地以软件来实施本技术,那么装置可将用于软件的指令存储在合适的非易失性计算机可读存储媒体中,且可使用一或多个处理器在硬件中执行所述指令从而实施本技术技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可被视为一或多个处理器。视频编码器100和视频解码器200中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(编码解码器)的一部分。
88.图6为本技术实施例中所描述的一种视频编码器100的示例框图。视频编码器100用于将视频输出到后处理实体41。后处理实体41表示可处理来自视频编码器100的经编码视频数据的视频实体的实例,例如媒体感知网络元件(mane)或拼接/编辑装置。在一些情况下,后处理实体41可为网络实体的实例。在一些视频编码系统中,后处理实体41和视频编码器100可为单独装置的若干部分,而在其它情况下,相对于后处理实体41所描述的功能性可由包括视频编码器100的相同装置执行。在某一实例中,后处理实体41是图1的存储装置40的实例。
89.在图6的实例中,视频编码器100包括预测处理单元108、滤波器单元106、存储器107、求和器112、变换器101、量化器102和熵编码器103。预测处理单元108包括帧间预测器
110和帧内预测器109。为了图像块重构,视频编码器100还包含反量化器104、反变换器105和求和器111。滤波器单元106表示一个或多个环路滤波器,例如去块滤波器、自适应环路滤波器(alf)和样本自适应偏移(sao)滤波器。尽管在图6中将滤波器单元106示出为环路内滤波器,但在其它实现方式下,可将滤波器单元106实施为环路后滤波器。在一种示例下,视频编码器100还可以包括视频数据存储器、分割单元(图中未示意)。
90.图7为本技术实施例中所描述的一种视频解码器200的示例框图。在图7的实例中,视频解码器200包括熵解码器203、预测处理单元208、反量化器204、反变换器205、求和器211、滤波器单元206以及存储器207。预测处理单元208可以包括帧间预测器210和帧内预测器209。在一些实例中,视频解码器200可执行大体上与相对于来自图6的视频编码器100描述的编码过程互逆的解码过程。
91.在解码过程中,视频解码器200从视频编码器100接收表示经编码视频条带的图像块和相关联的语法元素的经编码视频码流。视频解码器200可从网络实体42接收视频数据,可选的,还可以将所述视频数据存储在视频数据存储器(图中未示意)中。视频数据存储器可存储待由视频解码器200的组件解码的视频数据,例如经编码视频码流。存储在视频数据存储器中的视频数据,例如可从存储装置40、从相机等本地视频源、经由视频数据的有线或无线网络通信或者通过存取物理数据存储媒体而获得。视频数据存储器可作为用于存储来自经编码视频码流的经编码视频数据的经解码图像缓冲器(cpb)。
92.网络实体42可例如为服务器、mane、视频编辑器/剪接器,或用于实施上文所描述的技术中的一或多者的其它此装置。网络实体42可包括或可不包括视频编码器,例如视频编码器100。在网络实体42将经编码视频码流发送到视频解码器200之前,网络实体42可实施本技术中描述的技术中的部分。在一些视频解码系统中,网络实体42和视频解码器200可为单独装置的部分,而在其它情况下,相对于网络实体42描述的功能性可由包括视频解码器200的相同装置执行。
93.应当理解的是,视频解码器200的其它结构变化可用于解码经编码视频码流。例如,视频解码器200可以不经滤波器单元206处理而生成输出视频流;或者,对于某些图像块或者图像帧,视频解码器200的熵解码器203没有解码出经量化的系数,相应地不需要经反量化器204和反变换器205处理。
94.图8a为本技术实施例中图像编码方法的一种流程示意图,该图像编码方法可以应用于图5示出的编解码系统1中的源装置10或图6示出的视频编码器100。图8a示出的流程以执行主体为图6示出的视频编码器100为例进行说明。如图8a所示,本技术实施例提供的图像编码方法包括:
95.步骤110,获取当前编码块的原始残差块,所述当前编码块包括当前处理的视频帧或者划分所述当前处理的视频帧而得到的编码单元。
96.其中,所述编码单元的划分方式包括如图4所示的各种划分方式,此处不做唯一限定。
97.具体实现中,针对当前编码块为当前处理的视频帧的情况,由于最小数据处理对象为单帧图像,因此该方法处理效率更高,但精度和性能有一定损失。
98.针对当前编码块为划分所述当前处理的视频帧而得到的编码单元的情况,由于最小数据处理颗粒度为划分后的编码单元,因此整体算法处理过程复杂度变高,处理时长变
长,但精度和性能相对较高。
99.步骤120,根据所述原始残差块和预先训练好的特征预测模型,得到所述当前编码块的变换特征。
100.其中,所述特征预测模型具体可以通过本端设备的图像处理器gpu实现数据处理,可以采用任意常用的神经网络架构,例如深度神经网络(deep neural network,dnn)、支持向量机等,该模型输入为残差块,输出为变换特征。
101.步骤130,对所述当前编码块的变换特征进行量化,得到所述当前编码块的量化特征。
102.步骤140,通过预先训练好的概率预测模型,确定所述当前编码块的量化特征中每个像素的概率。
103.其中,在算术编码过程中,对于每一个所需编码的像素,需要预测对应像素所出现的概率(0~1之间的值),其概率可表示当前像素预测可能出现的频次,预测的概率越高,则其可能出现的频次越高,则在进行算术编码生成的码流的越小。
104.步骤150,利用所述每个像素的概率生成所述当前编码块的二进制码流。
105.在本可能的示例中,所述获取当前编码块的原始残差块,包括:确定所述当前编码块的预测块;将所述当前编码块的预测块与所述当前编码块的原始图像块做差,得到所述原始残差块。
106.具体实现中,基于当前编码块的预测块进行数值变换并量化,从原(0,1)的连续浮点分布,生成(0,255)的离散分布与当前编码块x
t
做差得到整数信号残差r
t

107.在本可能的示例中,所述将所述当前编码块的预测块与所述当前编码块的原始图像块做差,得到所述原始残差块,包括:根据所述当前编码块的预测块进行数值变换并量化,生成所述预测块的离散分布;将所述预测块的离散分布与当前编码块的原始图像块做差,得到整数信号的所述原始残差块。
108.在本可能的示例中,所述根据所述原始残差块和预先训练好的特征预测模型,得到所述当前编码块的变换特征,包括:对所述原始残差块进行重归一化,得到归一化后的第一残差块;对所述第一残差块进行稀疏化处理,得到处理后的第二残差块;将所述第二残差块输入预先训练好的特征预测模型,得到所述当前编码块的变换特征。
109.具体实现中,利用基于能量的重归一化,把预测后不同分布的残差统一归一化在(-1,1)之间,对于不同的视频序列,基于能量的归一化能统一数据分布使得训练更加稳定。
110.此外,基于能量的重归一化可使用基于其他的标准化方法,如0-1标准化(0-1normalization),线性函数归一化等,目标是统一预测后方差较大的残差分布,加快模型训练和收敛速度。
111.可见,本示例中,阈值稀疏化能在相同的码率约束下,在端到端编码中能分配更多的码率在运动边界,遮挡等区域,节省较多背景区域所需要码率,此外,基于能量的重归一化能加速模型的训练和收敛,使得模型更加鲁棒于不同的残差分布。
112.在本可能的示例中,所述对所述原始残差块进行重归一化,得到归一化后的第一残差块,包括:根据能量统一机制,将所述原始残差块的不同残差分布收敛到相同分布空
间,得到归一化后的第一残差块。
113.在本可能的示例中,所述根据能量统一机制,将所述原始残差块的不同残差分布收敛到相同分布空间,得到归一化后的第一残差块,包括:
114.提取所述原始残差块中的最小像素值x
min
和最大像素值x
max

115.通过如下公式将所述原始残差块归一化到区间(0,1);
[0116][0117]
其中,表示初次变换后的像素值,r
t
表示归一化前的像素值;
[0118]
通过如下公式对进行二次变换,得到处于区间(-1,1)的残差连续分布,即归一化后的第一残差块,
[0119][0120]
其中,表示归一化后的像素值。
[0121]
在本可能的示例中,所述对所述第一残差块进行稀疏化处理,得到处理后的第二残差块,包括:获取预设阈值集合,所述预设阈值集合包括多个阈值;从所述预设阈值集合筛选适配所述当前编码块的目标阈值;遍历所述第一残差块中每个像素的残差样本,并将残差样本小于所述目标阈值的像素的残差样本置零,得到处理后的第二残差块。
[0122]
具体实现中,目标阈值可以通过如下方式获取:从预设阈值集合的最小的阈值开始,在编码端针对每一个阈值均做率失真优化得到相对应的结果,并从结果中选择最优结果对应的阈值作为最适合当前帧残差编码的阈值。所述对每一个阈值进行率失真优化是指,每选取一个阈值都需要做一次编解码并得到相对应的结果,从最终结果中选出最优的结果。如图8b所示,r
t
表示归一化前的像素值,m1表示预设阈值集合中的第一个阈值,mn表示表示预设阈值集合中的第n个阈值,不同阈值处理后,生成的残差图有着不同的稀疏性,阈值越大得到的残差越稀疏,同时表示需要编码的残差空间区间越小。通过遍历预设阈值集合,可以准确筛选出最适合当前帧残差编码的阈值,提高编码效率。
[0123]
具体实现中,设置不同的阈值,对已归一化后的残差做稀疏化处理,使其能分配更有效的信息在有效的像素上。
[0124]
需要注意的是,基于阈值的稀疏化是基于传统模式选择的方式,实现skip模式来自适应编码残差信息,此处的阈值稀疏化可直接针对量化后特征操作。
[0125]
可见,本示例中,阈值稀疏化能在相同的码率约束下,在端到端编码中能分配更多的码率在运动边界,遮挡等区域,节省较多背景区域所需要码率。
[0126]
在本可能的示例中,所述多个阈值中每个阈值按照预设的采样间隔对所述当前编码块的像素进行均匀采样得到。
[0127]
其中,所述采样间隔的取值范围通过如下方式确定:根据当前帧的残差分布,生成数值分布的残差直方图,获取残差分布的1/α的峰值部分对应的区间。
[0128]
其中,α的数值可以是4、6、8等,此处不做唯一限定。
[0129]
此外,在其他可能的示例中,所述多个阈值中每个阈值按照预设的采样间隔对所
述当前编码块的像素进行非均匀采样得到,一般条件下不超过4个阈值能更好地权衡复杂度与性能的平衡。
[0130]
在本可能的示例中,所述对所述当前编码块的变换特征进行量化,得到所述当前编码块的量化特征,包括:对所述当前编码块的变换特征采用可微分量化机制,将浮点的特征变换成量化后的整数特征,得到所述当前编码块的量化特征。
[0131]
具体实现中,对提取的特征采用可微分量化方法,将浮点(floating32)的特征变换成量化后的整数特征;其具体方法为正向计算
[0132][0133]
此处,round(.)为四舍五入函数,为正负的均值噪声分布;反向传播把此函数近似为线性函数,用1作为反向求导的梯度。
[0134]
在本可能的示例中,如图8c所示,所述特征预测模型包括第一支路和第二支路,所述第一支路和所述第二支路并联;所述第一支路包括级联的三个残差提取模块和一个下采样模块;所述第二支路包括级联的三个残差提取模块、一个下采样模块以及一个激活模块。
[0135]
其中,残差提取模块可采用任意的神经网络主流模块,例如残差块,密集连接块等,下采样模块采用带步长的卷积核;另一支路采用级联的卷积层提取特征并用sigmoid函数激活,得到空间通道逐点激活(spatial-channel wise)的自适应掩膜,并对提取的特征进行自适应激活。所述上采样模块可以采用转置卷积实现。
[0136]
具体实现中,残差提取模块用于针对输入的残差块进行特征提取,多个残差提取模块用于提取多个特征进行堆叠,从而实现级联特征提取。
[0137]
其需要注意的是,第一支路是主要的特征提取模块,第二支路的sigmoid之后的模块是自注意力激活映射模块,两个支路的输出相乘生成最终的变换特征。
[0138]
此外,所述特征预测模型的训练过程中,码率和损失函数可以通过如下方式确定。
[0139]
码率估计通过公式r=∑-log(p)得到,r为码率约束的损失,p为所述量化后的变换特征中每个像素的概率;
[0140]
损失函数d(.)为均方误差mse函数或者l2损失函数,为当前编码块的预测块,x
t
为前编码块,整数信号残差为前编码块,整数信号残差为当前编码块的预测块的离散分布;
[0141]
对所述码率和所述损失函数使用率失真优化l
total
=l+λr,l为每一帧的重建损失,r为码率约束的损失,通过调整λ,训练得到不同码率的特征预测模型。
[0142]
具体实现中,所述特征预测模型可以采用自注意力机制(self-attention),能够根据需要灵活调整两路的残差提取模块使用个数,也可以使用简单卷积来替换残差提取模块,适用编解码的加速与简化。
[0143]
例如,所述第一支路和第二支路可以分别包括四个残差提取模块,或者分别包括四个卷积模块。
[0144]
可以看出,本技术实施例中,采用预先训练好的神经网络模型来编码残差信息,能
使神经网络模型隐式学习不同失真的残差,相比于一般的端到端残差编码,此方法能自适应地编码并作帧间补偿,在相同的码率下,能更高效地分配空间上的残差信息,得到更高质量的重建视频帧。
[0145]
与图8a所述的图像编码方法对应的,图9a为本技术实施例中图像编码方法的一种流程示意图,该图像编码方法可以应用于图5示出的编解码系统1中的目的装置20或图7示出的视频解码器200。图9a示出的流程以执行主体为图7示出的视频编码器200为例进行说明。如图9a所示,本技术实施例提供的图像解码方法包括:
[0146]
步骤210,获取当前解码块的二进制码流,所述当前解码块包括当前处理的视频帧的码流或者划分所述当前处理的视频帧而得到的解码单元。
[0147]
其中,所述解码单元的划分方式包括如图4所示的各种划分方式,此处不做唯一限定。
[0148]
其中,所述解码块与前述编码方法实施例中所涉及到的编码块是对应的,具体可以表现为大小一致。
[0149]
具体实现中,针对当前解码块为当前处理的视频帧的码流情况,由于最小数据处理对象为单帧图像的码流,因此该方法处理效率更高,但精度和性能有一定损失。
[0150]
针对当前编码块为划分所述当前处理的视频帧而得到的编码单元的码流的情况,由于最小数据处理颗粒度为划分后的编码单元,因此整体算法处理过程复杂度变高,处理时长变长,但精度和性能相对较高。
[0151]
步骤220,通过预先训练好的概率预测模型,将所述二进制码流变换成所述当前解码块的量化特征。
[0152]
其中,所述变换为无损变换。
[0153]
其中,在算术编码过程中,对于每一个所需编码的像素,需要预测对应像素所出现的概率(0~1之间的值),其概率可表示当前像素预测可能出现的频次,预测的概率越高,则其可能出现的频次越高,则在进行算术编码生成的码流的越小。
[0154]
步骤230,根据所述量化特征和预先训练好的残差预测模型,确定所述当前解码块的残差块。
[0155]
其中,所述残差预测模型具体可以通过本端设备的图像处理器gpu实现数据处理,可以采用任意常用的神经网络架构,例如深度神经网络dnn、循环神经网络(recurrent neural network,rnn)、卷积神经网络(convolutional neural network,cnn)等,该模型输入为量化特征,输出为残差块。
[0156]
步骤240,根据所述残差块与所述当前解码块的预测块,确定所述当前解码块的重建块。
[0157]
在本可能的示例中,所述根据所述原始残差块与所述当前解码块的预测块,确定所述当前解码块的重建块,包括:确定所述当前解码块的预测块;利用所述原始残差块对所述当前解码块的预测块做残差补偿,得到所述当前解码块的重建块。
[0158]
本技术实施例的图像解码方法具体可以解释为如下步骤。
[0159]
首先,获取码流,该码流对应当前解码块的二级制码流,具体可以包括当前解码块的公共参数集,以及当前解码块的图像的编码信息,
[0160]
其次,以初始化后的全零特征开始,二进制码流读取后的数值为预先训练好的概
率预测模型的输入,运行该模型以输出当前解码块的量化特征;
[0161]
再次,以模型预测得到的量化特征为预先训练好的残差预测模型的输入,运行该模型以输出对应的残差块,
[0162]
最后,根据模型预测得到的残差块与当前解码块的预测块,计算重建块或重建图像。
[0163]
其中,所述预测块可以根据解码信息中携带的帧间预测模式对当前解码块预测得到。
[0164]
在本可能的示例中,所述确定所述当前解码块的预测块,包括:对所述当前解码块进行熵解码以产生语法元素;根据语法元素确定对所述当前解码块进行解码的帧间预测模式;根据确定的所述帧间预测模式,对所述当前解码块执行帧间预测以获取所述当前解码块的预测块。
[0165]
在本可能的示例中,如图9b所示,所述残差预测模型包括第一支路和第二支路,所述第一支路和所述第二支路并联;所述第一支路包括级联的三个残差提取模块和一个上采样模块;所述第二支路包括级联的三个残差提取模块、一个上采样模块以及一个激活模块。
[0166]
此外,所述残差预测模型的训练过程中,码率和损失函数可以通过如下方式确定。
[0167]
码率估计通过公式r=∑-log(p)得到,r为码率约束的损失,p为所述量化后的变换特征中每个像素的概率;
[0168]
损失函数d(.)为均方误差mse函数或者l2损失函数,为当前编码块的预测块,x
t
为前编码块,整数信号残差为前编码块,整数信号残差为当前编码块的预测块的离散分布;
[0169]
对所述码率和所述损失函数使用率失真优化l
total
=l+λr,l为每一帧的重建损失,r为码率约束的损失,通过调整λ,训练得到不同码率的残差预测模型。
[0170]
具体实现中,所述残差预测模型可以采用自注意力机制,能够根据需要灵活调整两路的残差提取模块使用个数,也可以使用简单卷积来替换残差提取模块,适用编解码的加速与简化。
[0171]
具体实现中,残差预测模型用于针对输入的残差块进行特征提取,多个残差提取模块用于提取多个特征进行堆叠,从而实现级联特征提取。
[0172]
其需要注意的是,第一支路是主要的特征提取模块,第二支路的sigmoid之后的模块是自注意力激活映射模块,两个支路的输出相乘生成最终的残差块。
[0173]
可以看出,本技术实施例中,采用预先训练好的神经网络模型来编码残差信息,能使神经网络模型隐式学习不同失真的残差,相比于一般的端到端残差编码,此方法能自适应地编码并作帧间补偿,在相同的码率下,能更高效地分配空间上的残差信息,得到更高质量的重建视频帧。
[0174]
本技术实施例提供一种图像编码装置,该图像编码装置可以为视频解码器或视频编码器。具体的,图像编码装置用于执行以上解码方法中的视频解码器所执行的步骤。本技术实施例提供的图像编码装置可以包括相应步骤所对应的模块。
[0175]
本技术实施例可以根据上述方法示例对图像编码装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处
理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0176]
在采用对应各个功能划分各个功能模块的情况下,图10示出上述实施例中所涉及的图像编码装置的一种可能的结构示意图。如图10所示,图像编码装置10包括获取单元100,用于获取当前编码块的原始残差块,所述当前编码块包括当前处理的视频帧或者划分所述当前处理的视频帧而得到的编码单元;第一预测单元101,用于根据所述原始残差块和预先训练好的特征预测模型,得到所述当前编码块的变换特征;量化单元102,用于对所述当前编码块的变换特征进行量化,得到所述当前编码块的量化特征;第二预测单元103,用于通过预先训练好的概率预测模型,确定所述当前编码块的量化特征中每个像素的概率;生成单元104,用于利用所述每个像素的概率生成所述当前编码块的二进制码流。
[0177]
在本可能的示例中,在所述获取当前编码块的原始残差块方面,所述获取单元100具体用于:确定所述当前编码块的预测块;将所述当前编码块的预测块与所述当前编码块的原始图像块做差,得到所述原始残差块。
[0178]
在本可能的示例中,在所述将所述当前编码块的预测块与所述当前编码块的原始图像块做差,得到所述原始残差块方面,所述获取单元100具体用于:根据所述当前编码块的预测块进行数值变换并量化,生成所述预测块的离散分布;将所述预测块的离散分布与当前编码块的原始图像块做差,得到整数信号的所述原始残差块。
[0179]
在本可能的示例中,在所述根据所述原始残差块和预先训练好的特征预测模型,得到所述当前编码块的变换特征方面,所述根据所述原始残差块和预先训练好的特征预测模型,得到所述当前编码块的变换特征方面,在所述第一预测单元101具体用于:对所述原始残差块进行重归一化,得到归一化后的第一残差块;对所述第一残差块进行稀疏化处理,得到处理后的第二残差块;将所述第二残差块输入预先训练好的特征预测模型,得到所述当前编码块的变换特征。
[0180]
在本可能的示例中,在所述对所述原始残差块进行重归一化,得到归一化后的第一残差块方面,所述第一预测单元101具体用于:根据能量统一机制,将所述原始残差块的不同残差分布收敛到相同分布空间,得到归一化后的第一残差块。
[0181]
在本可能的示例中,在所述根据能量统一机制,将所述原始残差块的不同残差分布收敛到相同分布空间,得到归一化后的第一残差块方面,所述第一预测单元101具体用于:提取所述原始残差块中的最小像素值xmin和最大像素值xmax;通过如下公式将所述原始残差块归一化到区间(0,1);
[0182][0183]
其中,表示初次变换后的像素值,r
t
表示归一化前的像素值;
[0184]
通过如下公式对进行二次变换,得到处于区间(-1,1)的残差连续分布,即归一化后的第一残差块,
[0185]
[0186]
其中,表示归一化后的像素值。
[0187]
在本可能的示例中,在所述对所述第一残差块进行稀疏化处理,得到处理后的第二残差块方面,所述第一预测模型101具体用于:获取预设阈值集合,所述预设阈值集合包括多个阈值;从所述预设阈值集合筛选适配所述当前编码块的目标阈值;遍历所述第一残差块中每个像素的像素值,并将像素值小于所述目标阈值的像素的像素值置零,得到处理后的第二残差块。
[0188]
在本可能的示例中,所述多个阈值中每个阈值按照预设的采样间隔对所述当前编码块的像素进行均匀采样得到。
[0189]
在本可能的示例中,在所述对所述当前编码块的变换特征进行量化,得到所述当前编码块的量化特征方面,所述量化单元102具体用于:对所述当前编码块的变换特征采用可微分量化机制,将浮点的特征变换成量化后的整数特征,得到所述当前编码块的量化特征。
[0190]
在本可能的示例中,所述特征预测模型包括第一支路和第二支路,所述第一支路和所述第二支路并联;所述第一支路包括级联的三个残差提取模块和一个下采样模块;所述第二支路包括级联的三个残差提取模块、一个下采样模块以及一个激活模块。
[0191]
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。当然,本技术实施例提供的图像编码装置10包括但不限于上述模块,例如:图像编码装置10还可以包括存储单元。存储单元可以用于存储该图像编码装置的程序代码和数据。
[0192]
在采用集成的单元的情况下,本技术实施例提供的图像编码装置的结构示意图如图11所示。在图11中,图像编码装置11包括:处理模块110和通信模块111。处理模块110用于对图像编码装置的动作进行控制管理,例如,执行获取单元100、第一预测单元101、量化单元102、第二预测单元103、生成单元104执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块111用于支持图像编码装置与其他设备之间的交互。如图11所示,图像编码装置还可以包括存储模块112,存储模块112用于存储图像编码装置的程序代码和数据,例如存储上述存储单元所保存的内容。
[0193]
其中,处理模块110可以是处理器或控制器,例如可以是中央处理器(central processing unit,cpu),通用处理器,数字信号处理器(digital signal processor,dsp),asic,fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。通信模块111可以是收发器、rf电路或通信接口等。存储模块112可以是存储器。
[0194]
其中,上述方法实施例涉及的各场景的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。上述图像编码装置10和图像编码装置11均可执行上述图8a所示的图像编码方法,图像编码装置10和图像编码装置11具体可以是视频图像编码装置或者其他具有视频编码功能的设备。
[0195]
本技术还提供一种视频编码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执
行所述可执行程序以实现本技术实施例的图像编码方法。
[0196]
本技术实施例提供一种图像解码装置,该图像解码装置可以为视频解码器或视频解码器。具体的,图像解码装置用于执行以上解码方法中的视频解码器所执行的步骤。本技术实施例提供的图像解码装置可以包括相应步骤所对应的模块。
[0197]
本技术实施例可以根据上述方法示例对图像解码装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0198]
在采用对应各个功能划分各个功能模块的情况下,图12示出上述实施例中所涉及的图像解码装置的一种可能的结构示意图。如图12所示,图像解码装置12包括:
[0199]
获取单元120,用于获取当前解码块的二进制码流,所述当前解码块包括当前处理的视频帧的码流或者划分所述当前处理的视频帧而得到的解码单元;
[0200]
第一预测单元121,用于通过预先训练好的概率预测模型,将所述二进制码流变换成所述当前解码块的量化特征;
[0201]
第二预测单元122,用于根据所述量化特征和预先训练好的残差预测模型,确定所述当前解码块的残差块;
[0202]
确定单元123,用于根据所述残差块与所述当前解码块的预测块,确定所述当前解码块的重建块。
[0203]
在一个可能的示例中,在所述根据所述原始残差块与所述当前解码块的预测块,确定所述当前解码块的重建块方面,所述确定单元123具体用于:确定所述当前解码块的预测块;利用所述原始残差块对所述当前解码块的预测块做残差补偿,得到所述当前解码块的重建块。
[0204]
在一个可能的示例中,在所述确定所述当前解码块的预测块方面,所述确定单元123具体用于:对所述当前解码块进行熵解码以产生语法元素;根据语法元素确定对所述当前解码块进行解码的帧间预测模式;根据确定的所述帧间预测模式,对所述当前解码块执行帧间预测以获取所述当前解码块的预测块。
[0205]
在一个可能的示例中,所述残差预测模型包括第一支路和第二支路,所述第一支路和所述第二支路并联;所述第一支路包括级联的三个残差提取模块和一个上采样模块;所述第二支路包括级联的三个残差提取模块、一个上采样模块以及一个激活模块。
[0206]
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。当然,本技术实施例提供的图像解码装置包括但不限于上述模块,例如:图像解码装置还可以包括存储单元。存储单元可以用于存储该图像解码装置的程序代码和数据。
[0207]
在采用集成的单元的情况下,本技术实施例提供的图像解码装置的结构示意图如图13所示。在图13中,图像解码装置13包括:处理模块130和通信模块131。处理模块130用于对图像解码装置的动作进行控制管理,例如,执行获取单元120、第一预测单元121、第二预测单元122和确定单元123执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块131用于支持图像解码装置与其他设备之间的交互。如图13所示,图像解码装置还可以
disk(ssd))等。
[0217]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0218]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0219]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0220]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0221]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0222]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1