加权图像预测、使用这种加权预测的图像编码和解码的制作方法

未命名 10-18 阅读:96 评论:0


1.本发明总体上涉及图像处理领域,并且更具体地涉及对数字图像以及对数字图像序列的编码和解码。
2.对数字图像的编码/解码具体地适用于来自至少一个视频序列的图像,这些图像包括:
[0003]-来自同一个相机并且在时间上连续的图像(2d编码/解码),
[0004]-来自以不同视角定向的不同相机的图像(3d编码/解码),
[0005]-对应的纹理分量和深度分量(3d编码/解码),
[0006]-等。
[0007]
本发明类似地适用于对2d或3d图像的编码/解码。
[0008]
本发明可以具体地但不排他地适用于在当前avc、hevc和vvc视频编码器及其扩展(mvc、3d-avc、mv-hevc、3d-hevc等)中实施的视频编码,并且适用于对应的解码。


背景技术:

[0009]
当前的视频编码器(mpeg,avc,hevc,vvc,av1等)使用视频序列的分块表示。图像被分割成多个块,这些块能够以递归方式再次被分割。接下来,通过图像内或图像间预测对每个块进行编码。因此,使用本领域技术人员公知的运动补偿,通过空间预测(帧内预测、ibc(代表“帧内块复制”)预测)对一些图像进行编码,并且还通过时间预测(帧间预测)相对于一个或多个经编解码的参考图像对其他图像进行编码。
[0010]
与当前正在被编码的块相关联的预测块bp同当前正在被编码的块所属的图像或已经解码的图像(通常称为参考图像)中的至少一个参考块br0直接相关。为了使参考块br0与当前正在被编码的块相匹配,针对其像素的每个空间位置(x,y)对参考块br0进行位移。然后获得经运动补偿的参考块bc0。然后预测块bp与经运动补偿的参考块bc0之间的关系表示如下:
[0011]
bp(x,y)=(1-w)*bc0(x,y)
[0012]
其中,w是预测权重参数,如下面将解释的,该参数大部分时间为0,但是可以是可调整的。
[0013]
例如,当相对于属于一个或两个已经解码的参考图像的两个参考块br0和br1来预测当前正在被编码的块时,对这两个参考块br0和br1进行运动补偿,从而生成两个经运动补偿的参考块bc0和bc1,然后通过线性加权来组合这两个经运动补偿的参考块。预测块bp的每个像素是两个经运动补偿的参考块bc0和bc1的像素进行加权的结果。更精确地说,例如,如果预测是逐行从左到右实施的:
[0014]-预测块bp左上角的第1个像素是经运动补偿的参考块bc0左上角的第1个像素和经运动补偿的参考块bc1左上角的第1个像素进行加权的结果,
[0015]-与预测块bp的第一行上的第1个像素相邻的第2个像素是与经运动补偿的参考块bc0的第一行上的第1个像素相邻的第2个像素和与经运动补偿的参考块bc1的第一行上的第
1个像素相邻的第2个像素进行加权的结果,
[0016]-等等,
[0017]-预测块bp右下角的最后一个像素是经运动补偿的参考块bc0右下角的最后一个像素和经运动补偿的参考块bc1右下角的最后一个像素进行加权的结果。
[0018]
默认情况下应用的最常见的加权是减半求和。为此,根据以下关系计算预测块bp:
[0019]
bp(x,y)=0.5*bc0(x,y)+0.5*bc1(x,y)
[0020]
更复杂的加权是可能的。
[0021]
在hevc标准中,对当前正在被编码的图像统一应用线性加权。对于当前正在被编码的图像的每个子图像或“条带”,权重参数w在其中是固定的并且被发信号通知给解码器。默认情况下,除非在pps(代表“图片参数集”)信息中明确指示,否则在对当前正在被编码的块进行双向预测时,应用平衡加权(0.5/0.5)。
[0022]
在wc标准中,使用bcw(代表“利用cu级权重的双向预测”)工具对预测值进行逐块加权。根据以下关系计算预测块bp:
[0023]
bp(x,y)=(1-w)*bc0(x,y)+w*bc1(x,y)
[0024]
其中,权重参数w可以取5个值:0.5、0.625、0.375、1.25、-0.25。对于每个块,在编码器处确定要应用的权重参数w的最优值并发信号通知给解码器。该最优值用上下文元素进行编码,该上下文元素指示该最优值是否是所使用的值w=0.5,即,与经运动补偿的参考块bc0和bc1上的权重相等。如果否,则以2比特发信号通知权重,以指示4个剩余值之一。
[0025]
av1技术采用了这一原理。
[0026]
应当注意,不管使用哪种视频标准,权重参数w都与相对较少数量的值相关联,从而导致所应用的加权预测缺乏精确度。此外,根据上述标准的编码器必须系统地对已经选择的权重参数w的值进行编码并将其发送到解码器,这增加了信令成本。


技术实现要素:

[0027]
本发明的目的之一是通过提高现有技术的加权预测的精确度来校正上述现有技术的缺陷,这有利于降低与该预测相关的信令信息的成本。
[0028]
为此,本发明的一个主题涉及一种由预测设备实施的用于预测至少一个当前像素集合的方法,其中,使用像素预测加权函数基于至少一个参考像素集合来预测所述至少一个当前像素集合,该方法的特征在于,用于所述至少一个当前像素集合的像素预测加权函数与基于对至少一个参考像素集合的分析来计算的至少一个权重值相关联。
[0029]
根据本发明的这种预测方法有利地可以仅依赖于一个或多个参考像素集合(换句话说,在预测时已经解码的一个或多个像素集合)来估计当前像素集合的预测权重。由于这个或这些参考像素集合在预测当前像素集合时可用,所以对预测权重的估计得到改进,因为它与现有技术中所实施的需要对预测的一个或多个权重值进行近似或量化的估计相比在空间上更加精确。
[0030]
根据一个具体实施例,使用由对所述至少一个当前像素集合的分析得到的至少一个修改参数来修改预测加权函数。
[0031]
在当前像素集合包含一个或多个参考像素集合中不存在/不可预测的元素时,这种实施例有利地使得可以向已经计算的预测加权函数施加校正。
[0032]
本发明还涉及一种用于预测至少一个当前像素集合的设备,该设备包括处理器,该处理器被配置为使用像素预测加权函数,基于至少一个参考像素集合来预测所述至少一个当前像素集合。
[0033]
这种预测设备的特征在于,用于所述至少一个当前像素集合的像素预测加权函数与基于对至少一个参考像素集合的分析来计算的至少一个权重值相关联。
[0034]
在一个具体实施例中,预测设备是神经网络。
[0035]
神经网络的使用有利地可以优化加权预测的质量。
[0036]
这种预测设备具体能够实施上述预测方法。
[0037]
本发明还涉及一种由编码设备实施的用于对至少一个当前像素集合进行编码的方法,该方法包括以下步骤:
[0038]-计算表示所述至少一个当前像素集合与由预测所述至少一个当前像素集合而得到的预测像素集合之间的差值的信号,
[0039]-对信号进行编码。
[0040]
这种编码方法的特征在于,使用根据本发明的上述预测方法获得预测像素集合。
[0041]
这种编码方法的优点在于,它不需要对预测加权函数的一个或多个预测权重值进行编码。这意味着:对于当前像素集合,不需要由编码器将这个或这些预测权重值发送到解码器,从而使得可以降低在编码器与解码器之间传输信息的信令成本,这有利于与提高预测精确度,从而得到更好的图像质量。此外,不需要近似或量化与预测加权函数相关联的任何权重值以便将其发送到解码器,这使得该权重值对于待预测的像素集合而言可以是连续的。
[0042]
根据一个具体实施例,该编码方法包括以下步骤:
[0043]-对预测加权函数的至少一个修改参数进行编码,
[0044]-将所述至少一个修改参数发送到图像解码器。
[0045]
本发明还涉及一种用于对至少一个当前像素集合进行编码的编码设备或编码器,该编码设备或编码器包括处理器,该处理器被配置为实施以下操作:
[0046]-计算表示所述至少一个当前像素集合与由预测所述至少一个当前像素集合而得到的预测像素集合之间的差值的信号,
[0047]-对所述信号进行编码。
[0048]
这种编码设备的特征在于,使用根据本发明的上述预测设备获得预测像素集合。
[0049]
这种编码设备具体能够实施上述编码方法。
[0050]
本发明还涉及一种由解码设备实施的用于对至少一个当前像素集合进行解码的方法,该方法包括以下步骤:
[0051]-在数据信号中确定表示信号的数据,该信号表示所述至少一个当前像素集合与由预测所述至少一个当前像素集合的而得到的预测像素集合之间的差值,
[0052]-根据所确定的数据和预测像素集合重构所述至少一个当前像素集合。
[0053]
这种解码方法的特征在于,使用根据本发明的上述预测方法获得预测像素集合。
[0054]
这种解码方法的优点在于以下事实:预测加权函数是由解码器基于一个或多个可用的参考像素集合自主计算的,而解码器不需要从编码器接收到的数据信号中读取特定信息。此外,如上面已经解释的,由于预测加权函数的至少一个权重值既没有被编码也没有在
数据信号中发送,因此该权重值可以是连续的,而不必像现有技术中的情况那样进行近似或量化。
[0055]
在一个具体实施例中,这种解码方法进一步包括以下步骤:
[0056]-在数据信号或另一数据信号中确定预测加权函数的至少一个修改参数,
[0057]-基于对所述至少一个参考像素集合和所述至少一个所确定的修改参数进行分析,计算修改的预测加权函数。
[0058]
本发明还涉及一种用于对至少一个当前像素集合进行解码的解码设备或解码器,该解码设备或解码器包括处理器,该处理器被配置为实施以下操作:
[0059]-在数据信号中确定表示信号的数据,该信号表示所述至少一个当前像素集合与由预测所述至少一个当前像素集合的而得到的预测像素集合之间的差值,
[0060]-根据所确定的数据和预测像素集合重构所述至少一个当前像素集合。
[0061]
这种解码设备的特征在于,使用根据本发明的上述预测设备获得预测像素集合。
[0062]
这种解码设备具体能够实施上述解码方法。
[0063]
本发明还涉及一种由视频数据处理设备实施的用于根据至少一个参考像素集合构建至少一个像素集合的方法。
[0064]
这种构建方法的特征在于,使用像素预测加权函数、比如在本发明的上述预测方法中使用的预测函数来构建像素集合。
[0065]
因此,本发明的预测加权函数不仅仅限于图像预测生成或不生成预测残差的上下文,还可以有利地基于一个或多个已经解码的参考图像在插值或图像合成的情况下使用。
[0066]
本发明还涉及一种计算机程序,该计算机程序包括指令,这些指令用于当所述程序由处理器执行时实施根据本发明的预测方法以及集成了根据本发明的预测方法的编码或解码方法、或者根据上述具体实施例中的任何一个的上述构建方法。
[0067]
这种指令可以永久存储在实施上述预测方法的预测设备、实施上述编码方法的编码器、实施上述解码方法的解码器、实施上述构建方法的视频处理设备的非暂态存储介质中。
[0068]
该程序可以使用任何编程语言,并且可以呈源代码、目标代码、或在源代码与目标代码之间的中间代码的形式,比如呈部分编译的形式或呈任何其他令人期望的形式。
[0069]
本发明还针对一种计算机可读记录介质或信息介质,该计算机可读记录介质或信息介质包括如以上所提及的计算机程序的指令。
[0070]
该记录介质可以是能够存储程序的任何实体或设备。例如,该介质可以包括存储装置,比如rom(例如cd-rom、dvd-rom、合成dna(脱氧核糖核酸)等)、或微电子电路rom、或磁记录装置(例如usb密钥或硬盘)。
[0071]
此外,该记录介质可以是可以经由电缆或光缆、通过无线电或通过其他手段输送的可传输介质(比如电信号或光信号)。根据本发明的程序可以尤其是从比如互联网等网络进行下载。
[0072]
替代性地,记录介质可以是该程序所并入的集成电路,该电路被设计为执行或用于执行上述预测方法、编码方法、解码方法或构建方法。
附图说明
[0073]
通过阅读以说明性和非限制性示例的方式给出的本发明的具体实施例以及附图,其他优点和特征将变得明显,在附图中:
[0074]
[图1]图1示出了根据本发明的图像预测方法的主要步骤,
[0075]
[图2a]图2a示出了在本发明的第一具体实施例中的在图1的预测方法中使用的一种预测类型,
[0076]
[图2b]图2b示出了在本发明的第二具体实施例中的在图1的预测方法中使用的一种预测类型,
[0077]
[图3a]图3a示出了在第一实施例中的实施图1的预测方法的预测设备,
[0078]
[图3b]图3b示出了在第二实施例中的实施图1的预测方法的预测设备,
[0079]
[图4]图4更详细地示出了由图3a的预测设备实施的预测方法的某些步骤,
[0080]
[图5a]图5a示出了当前像素集合的预测版本相对于两个参考像素集合的第一示例性位移,
[0081]
[图5b]图5b示出了当前像素集合的预测版本相对于两个参考像素集合的第二示例性位移,
[0082]
[图5c]图5c示出了当前像素集合的预测版本相对于两个参考像素集合的第三示例性位移,
[0083]
[图5d]图5d示出了在本发明的一个具体实施例中的在图5a的位移类型的情况下实施的运动补偿,
[0084]
[图5e]图5e示出了在本发明的一个具体实施例中的在图5d的运动补偿结束时实施的加权预测,
[0085]
[图5f]图5f示出了在本发明的一个具体实施例中的在图5e的加权预测结束时实施的求和加权,
[0086]
[图5g]图5g示出了在本发明的一个具体实施例中的在图5f的求和加权结束时实施的补偿加权,
[0087]
[图5h]图5h示出了在本发明的一个具体实施例中的从图5g所示的补偿加权获得当前像素集合的预测版本,
[0088]
[图6]图6示出了在本发明的一个具体实施例中的实施图1的预测方法的图像编码方法的主要步骤,
[0089]
[图7a]图7a示出了在第一实施例中的实施图6的编码方法的编码器,
[0090]
[图7b]图7b示出了在第二实施例中的实施图6的编码方法的编码器,
[0091]
[图8]图8示出了在本发明的一个具体实施例中的实施图1的预测方法的图像解码方法的主要步骤,
[0092]
[图9a]图9a示出了在第一实施例中的实施图8的解码方法的解码器,
[0093]
[图9b]图9b示出了在第二实施例中的实施图8的解码方法的解码器,
[0094]
[图10]图10示出了在本发明的一个具体实施例中的对图1的预测方法实施修改的图像编码方法的步骤,
[0095]
[图11]图11示出了在本发明的一个具体实施例中的实施图10的编码方法的编码器,
[0096]
[图12]图12示出了在本发明的一个具体实施例中的对图1的预测方法实施修改的图像解码方法的步骤,
[0097]
[图13]图13示出了在本发明的一个具体实施例中的实施图12的解码方法的解码器,
[0098]
[图14]图14示出了在本发明的另一具体实施例中的实施图10的编码方法的编码器,
[0099]
[图15]图15示出了在本发明的另一具体实施例中的实施图12的解码方法的解码器。
具体实施方式
[0100]
图像预测方法的示例性实施方式
[0101]
本发明的一般原理
[0102]
图像加权预测方法
[0103]
下面给出了2d或3d图像预测方法的描述,该方法能够在任何类型的视频编码器或解码器中实施,例如符合avc、hevc、vvc标准及其扩展(mvc、3d-avc、mv-hevc、3d-hevc等)的视频编码器或解码器等,例如卷积神经网络(或cnn)。
[0104]
参考图1,根据本发明的预测方法使用至少一个参考像素集合br0,即,已经过编解码并因此在预测时可用的参考像素集合。根据本发明的预测方法的一个特征是不考虑将当前像素集合bc用于预测,因为该当前像素集合在预测时不可用。
[0105]
在本发明的意义上,当前像素集合bc被理解为是指:
[0106]-原始当前图像;
[0107]-原始当前图像的一部分或区域,
[0108]-由根据标准化的avc、hevc或vvc编码器中执行的操作对当前图像进行划分而得到的该图像的块。
[0109]
根据本发明,如图2a所示,参考像素集合br0可以属于包含当前像素集合bc的当前图像ii。在这种情况下,使用帧内预测(例如帧内或ibc(代表“帧内块复制”))相对于参考像素集合br0预测当前像素集合bc。
[0110]
当然,可以相对于参考像素集合br0和属于当前图像ii的一个或多个其他参考像素集合来预测当前像素集合bc。
[0111]
根据本发明,如图2b所示,参考像素集合br0可以属于时间上在当前图像ii之前或之后的已经过编解码的参考图像。在这种情况下,使用帧间预测相对于参考像素集合br0来预测当前像素集合bc。在所示的示例中,可以使用p型单向帧间预测相对于参考像素集合br0来预测当前像素集合bc,参考像素集合br0例如属于前一图像ir
i-1
,但是当然也能够属于另一参考图像,例如图像ir
i-2
或者在编码顺序中在图像ir
i-2
之前的其他参考图像。当然,一个或多个其他参考像素集合可以与参考像素集合br0一起用于预测当前像素集合bc。
[0112]
在所示的示例中,还可以使用b型双向帧间预测相对于位于当前图像ii之前的参考图像中的参考像素集合br0、并且相对于位于当前图像ii之后的参考图像中的至少一个其他参考像素集合br1来预测当前像素集合bc。在所示的示例中,参考像素集合br0位于参考图像ir
i-2
中,参考像素集合br1位于参考图像ir
i+1
中。仍然在这种b型帧间预测的上下文中,并
且如图2b所示,可以相对于各自位于当前图像ii之前的参考图像中两个参考像素集合br0、br1来预测当前像素集合bc。在所示的示例中,参考像素集合br0位于参考图像ir
i-2
中,参考像素集合br1位于参考图像ir
i-1
中。
[0113]
当然,一个或多个其他参考像素集合可以与参考像素集合br0和br1一起用于计算当前预测像素集合bpc。
[0114]
在下面呈现的实施例中,假设一个或多个参考像素集合br0、br1等具有与待预测的当前像素集合bc相同的几何形状。当然,也可以根据预测的上下文加大该参考像素集合的尺寸,以便使覆盖的面积大于或等于待预测的当前像素集合bc的面积。
[0115]
再次参考图1,根据本发明的这种预测方法包括以下步骤:
[0116]
在p1中,分析所述至少一个参考像素集合br0。
[0117]
这种分析实施运动估计,该运动估计包括对事先位移的所述至少一个参考像素集合br0与在预测时间不可用的当前像素集合bc的预测版本bpc之间的像素偏移进行估计。该运动估计实施常规的运动补偿,在运动补偿结束时,获得经运动补偿的像素集合brc0。在该分析期间,获得位移信息,比如描述br0朝向brc0的位移的位移向量v0。
[0118]
在p2中,根据在p1中执行的分析的结果,针对经运动补偿的像素集合brc0中的每个像素计算权重值w0。
[0119]
在p3中,考虑经运动补偿的参考像素集合brc0,针对每个像素坐标(x,y),根据以下函数计算当前像素集合bc的预测版本bpc:
[0120]
bpc(x,y)=w0(x,y)*brc0(x,y)
[0121]
当在分析p1期间考虑两个参考像素集合br0和br1,从而生成两个经运动补偿的像素集合brc0和brc1以及对应的位移向量v0、v1时,在p2中分别针对经运动补偿的像素集合brc0和经运动补偿的像素集合brc1计算两个权重值w0、w1。然后,在p3中,考虑经运动补偿的像素集合,针对每个像素坐标(x,y),根据以下函数计算当前预测像素集合bpc:
[0122]
bpc(x,y)=w0(x,y)*brc0(x,y)+w1(x,y)*brc1(x,y)
[0123]
然后,可以对被认为在预测时间不可用的待预测的每个当前像素集合实施上面刚刚描述的预测方法。
[0124]
加权预测设备的示例性实施方式
[0125]
图3a示出了根据本发明的第一实施例的适合于实施图1所示的预测方法的预测设备pred1。
[0126]
根据该第一实施例,由预测方法执行的动作由计算机程序指令实施。为此,预测设备pred1具有常规的计算机架构,并且具体地包括存储器mem_p1、处理单元ut_p1,该处理单元配备有例如处理器proc_p1并且由存储在存储器mem_p1中的计算机程序pg_p1驱动。计算机程序pg_p1包括用于在程序由处理器proc_p1执行时实施如上所述的预测方法的动作的指令。
[0127]
在初始化时,计算机程序pg_p1的代码指令例如在由处理器proc_p1执行之前被加载到ram存储器(未示出)中。处理单元ut_p1的处理器proc_p1具体地根据计算机程序pg_p1的指令来实施以上描述的预测方法的动作。
[0128]
预测设备在输入端e_p1接收一个或多个参考像素集合br0、br1等,计算一个和/或多个对应的位移向量v0、v1等以及一个和/或多个对应的权重值w0、w1等,并且在输出端s_p1
递送上述预测像素集合bpc。
[0129]
图3b示出了根据本发明的第二实施例的适合于实施图1所示预测方法的预测设备pred2。
[0130]
根据该第二实施例,预测设备pred2是表示为rnc1的神经网络,例如卷积神经网络、多层感知器、lstm(代表“长短期记忆”)等,其根据在输入端接收的一个或多个参考像素集合br0、br1等,联合实施图1的加权预测方法的步骤p1到p2,以便在输出端递送:
[0131]-一个或多个相应的运动向量v0、v1等,
[0132]-一个或多个相应的权重值w0、w1等。
[0133]
计算机cal在输入端接收该信息,以便根据上述关系计算预测像素集合bpc:
[0134]
bpc(x,y)=w0(x,y)*brc0(x,y)+w1(x,y)*brc1(x,y)。
[0135]
以本身已知的方式,卷积神经网络rnc1相继执行多层滤波、非线性和扩展操作。所使用的每个滤波器由卷积核参数化,并且非线性被参数化(relu、leaky relu、gdn(代表“广义除法归一化”)等)。神经网络rnc1例如是在d.sun等人的文档“pwc-net:cnns for optical flow using pyramid,warping,and cost volume[pwc-net:使用金字塔、扭曲和代价体积的cnn光流]”cvpr 2018中描述的类型。
[0136]
在这种情况下,可以训练神经网络rnc1以:
[0137]-估计v0、v1等,以便将来自br0、br1等的运动插值到当前正在被编码的当前图像,从而进行预测;
[0138]-估计权重值w0、w1等。
[0139]
为此,在初始阶段,网络rnc1被训练以执行操作p1。例如,网络rnc1被训练以最小化待近似的图像ii与图1的加权预测的结果bpc之间的均方根误差。在该步骤结束时,获得表示v0、v1等、w0、w1等的潜在空间u。
[0140]
在训练阶段期间,通过呈现多个相关联的参考像素集合br0、br1等以及当前像素集合bc并且通过例如使用梯度下降算法改变网络的权重来训练网络rnc1,以便最小化bc与根据上述关系计算的结果bpc(x,y)之间的均方误差。
[0141]
在该初始训练阶段结束时,网络rnc1被固定并且适合于在预测设备pred2中使用。
[0142]
这样,网络rnc1被优化以实施图1的加权预测的步骤p1和p2。
[0143]
由预测设备pred1实施的加权预测方法的实施例
[0144]
参考图4以及图5a至图5h,现在将描述在图3a的预测设备pred1中实施对当前像素集合的预测加权的一个实施例。
[0145]
在所示的示例中,为预测考虑两个参考像素集合br0和br1。
[0146]
为此,如图4所示,分析p1至少一个参考像素集合包括以下步骤:
[0147]
在p10中,计算br0与br1之间的运动估计。这种步骤通过常规的运动搜索步骤(例如位移向量的估计)来执行。
[0148]
图5a至图5c分别示出了在该步骤p10期间可能遇到的当前像素集合bc的预测版本bpc相对于两个参考像素集合br0和br1的三种不同的示例性位移。在图5a至图5c的示例中,参考像素集合br0与br1之间元素e(用圆圈表示)的位移由运动向量场表示。为了简化起见,在所示的示例中,为了描述元素e从br0到br1的运动(在图像的其他部分上的运动被认为是为零),示出了单个向量(表示为v
01
,并且在图5a至图5c中以虚线示出)。然而,不言而喻,存
在与表示参考像素集合br0到br1的像素一样多的运动向量,例如在光流运动估计的情况下。根据图5a至图5c中未示出的另一示例,可以计算描述从br1到br0的(相反)运动的向量v
10

[0149]
在p10中已经获得向量v
01
或v
10
的情况下,p11(图4)包括估计待预测的当前像素集合bc相对于br0和br1的位移。在图5a至图5c中展示了该估计,其中,元素e的位移不是在br0和br1所在时刻的时刻,而是在当前像素集合bc所在的时刻估计的。对于v
01
或v
10
使用相同的约定:
[0150]-根据向量v
01
计算出描述从br0到bc的预测位置的运动的单个向量v0,
[0151]-根据向量v
01
计算出描述从br1到bc的预测位置的运动的单个向量v1。
[0152]
在当前像素集合bc在时间上位于br0与br1中间的图5a的示例中,元素e在当前时刻的位移被估计为对应于br0与br1之间位移的一半,即向量v
01
或v
10
的一半。在例如采用与图2b中相同的符号,br0属于参考图像ir
i-1
,且br1属于参考图像ir
i+1
的情况下,会遇到这种位移构型。
[0153]
在当前像素集合bc在时间上距离br0比距离br1更近的图5b的示例中,元素e在当前时刻的位移被估计为小于br0与br1之间位移的一半。例如,如果br0属于参考图像ir
i-1
,且br1属于参考图像ir
i+2
,则元素e在当前时刻的位移被估计为对应于br0与br1之间位移的三分之一,即向量v
01
或v
10
的三分之一。
[0154]
在当前像素集合bc在时间上位于br0及随后的br1之后的图5c的示例中,br0属于参考图像ir
i-2
,且br1属于参考图像ir
i-2
,则元素e在当前时刻的位移被估计为br0与br1之间位移的两倍,即向量v
01
或v
10
的两倍。
[0155]
参考图4和图5d,在p12中,使用向量v0和v1分别对br0和br1进行运动补偿,以便分别创建bc的两个预测版本,表示为brc0和brc1。
[0156]
通过图5d中的展示,认为向量v0和v1是例如根据图5a中所示的运动构型获得的,对于该运动构型,元素e在当前时刻的位移被估计为对应于br0与br1之间位移的一半,即向量v
01
或v
10
的一半。
[0157]
图5d示出:
[0158]-经右运动补偿的像素集合brc0,在该像素集合上,元素e的插值位置包括由通过向量v0对br0的元素e进行运动补偿而得到的像素集合erc0,
[0159]-经左运动补偿的像素集合brc1,在该像素集合上,元素e的插值位置包括由通过向量v1对br1的元素e进行运动补偿而得到的像素集合erc1。
[0160]
相反,erc0的部分z0和erc1的部分z1是未定义的,因为它们对应于位于br0的元素e和br1的元素e后面的未知内容。然而,如图5d中可见,部分z0在erc1中定义,而部分z1在erc0中定义。
[0161]
然后,计算p2预测权重值w0和w1包括以下步骤:
[0162]
参考图4和图5e,根据本发明,为了实现经运动补偿的参考像素集合brc0和brc1的高效组合,p20包括逐个像素地分别计算两个预测版本brc0和brc1的中间权重w
int0
(x,y)和w
int1
(x,y)。
[0163]
这种计算可以分离出br0和br1中未分别在brc0和brc1中定义的部分。
[0164]
为此,如图5e所示,提出:
[0165]-分别将部分z0和z1的每个像素的权重值赋值为零,即w
int0
(x,y)=0且w
int1
(x,y)
=0,部分z0和z1用白色展示,
[0166]-将经运动补偿的参考像素集合brc0和brc1的每个定义像素的权重值赋值为常数k,即w
int0
(x,y)=k且w
int1
(x,y)=k,例如k=0.5,对应于图5e中的灰色。
[0167]
在该操作结束时,获得中间权重,其中对于经运动补偿的参考像素集合brc0和brc1的中的每一个,白色内容对应于w
int0
(x,y)=0且w
int1
(x,y)=0,而灰色内容对应于w
int0
(x,y)=0.5且w
int1
(x,y)=0.5。
[0168]
参考图4,p21包括计算中间权重w
int0
(x,y)和w
int1
(x,y)的总和ws(x,y),
[0169]
其中,
[0170]
对中间权重w
int0
(x,y)和w
int1
(x,y)的总和的计算如图5f所示,其中黑色内容对应于ws(x,y)=1,而灰色内容对应于ws(x,y)=0.5。
[0171]
然后,计算p3预测加权函数包括以下步骤:
[0172]
参考图4,在操作p30期间,通过经运动补偿的预测版本brc0和brc1各自的权重w0和w1对这两者进行加权。然后获得经加权补偿的预测版本brcw0和brcw1。
[0173]
为此,分别针对每个经运动补偿的参考像素集合brc0和brc1计算以下补偿权重w0(x,y)和w1(x,y):
[0174][0175]
以及
[0176][0177]
这样的补偿权重如图5g所示。白色内容对应于w0(x,y)=0和w1(x,y)=0的未定义区域z0和z1。黑色内容对应于w0(x,y)=1和w1(x,y)=1的完美定义区域。灰色内容对应于w0(x,y)=0.5和w1(x,y)=0.5的背景和元素e。
[0178]
然后对预测版本brc0和brc1进行运动补偿,并通过它们各自的权重w0和w1进行加权。然后获得经加权补偿的预测版本brcw0和brcw1。
[0179]
参考图4和图5h,在操作p31期间,对经加权补偿的预测版本brcw0和brcw1进行求和,以提供经运动补偿的预测像素集合bpc。
[0180]
这样,这构建了包括由仅在预测时(即仅在参考像素集合br0和br1上)存在的元素确定的补偿加权的运动补偿。与当前标准化的解决方案相比,这种补偿加权的一个具体优点在于以下事实:在br0和br1在预测时完全已知并且根据本发明的预测仅使用br0和br1的情况下,可以在预测期间有效地处理去遮挡,如图5d至图5h所示,其中可以以非常好的空间精确度恢复上述遮挡区域z0和z1。
[0181]
可以以另一种形式呈现预测加权。例如,可以使用单个权重w。然后,用w对经运动补偿的参考像素集合brco进行加权,并且用(1-w)对经运动补偿的参考像素集合brc1进行加权。
[0182]
可以基于上述实施例,从事先计算的权重值w0和w1开始并且通过下式计算w:
[0183][0184]
虽然上面已经描述了预测方法,但是也可以实施这种方法以使用刚刚描述的加权预测函数来从一个或多个参考像素集合br0、br1等构建或合成像素集合bc。该预测方法可以
被称为像素集合bc(例如对应于缺失的像素集合或未被相机(360
°
摄像机)捕获的像素集合)的构建或合成方法。在这种情况下,严格地说,预测设备pred1和pred2将更多地被认为是构建或合成设备。因此,预测设备pred1可以实施所谓的视图“合成”算法。例如,vsrs(代表“视图合成参考”)软件、vvs(“多功能视图合成器”)算法可以用作视图合成算法。如上所述,构建或合成设备pred2本身可以是神经网络,例如卷积神经网络、多层感知器、lstm(代表“长短期记忆”)等。
[0185]
图像编码方法
[0186]
一般原理
[0187]
参考图6,下面描述了实施参考图1描述的加权预测的图像编码方法。
[0188]
这种编码方法包括以下步骤:
[0189]
在c1中,实施图1所示的加权预测的步骤p1至p3,以生成当前预测像素集合bpc。
[0190]
以下编码步骤是常规的,并且与avc、hevc、vvc编码等兼容。因此:
[0191]-在c2中,计算表示当前像素集合bc与在c1中获得的当前预测像素集合bpc之间的差值的信号bec;
[0192]-在c3中,在该信号bec是相对于常规编码性能标准(例如,作为本领域技术人员公知的标准的最小化失真/数据速率成本、或选择最佳效率/复杂度折衷)对编码进行优化的信号的情况下,对信号bec进行量化和编码。
[0193]
在该操作结束时,获得经量化和编码的差值信号be
ccod

[0194]
在编码c3期间,可以探索多种编码可能性,例如可以研究多个预测权重值w0、w1等以找到最佳数据速率/失真或效率/复杂度折衷。
[0195]
编码器可以使根据上述预测方法计算的权重值与它可以选择发送的权重值进行竞争。为此,编码器可以评估从以上预测方法获得的预测bpc的质量,并且例如使用均方根误差来衡量预测误差。可以将该预测误差与由当前视频标准中使用的预定权重值对(w0,w1)的集合而得到的预测误差进行比较。该集合可以被限制为(0.5,0.5)(例如在hevc(代表“高效视频编码”)标准中),或者包括其他值(例如在vvc(代表“多功能视频编码”)标准的bcw(代表“利用cu级权重的双向预测”)工具中使用的那些值)。用标志向解码器指示它是否应该使用上述预测方法,或者它是否应该应用vvc bcw工具,或者它是否应该应用hevc平衡预测。
[0196]
与现有技术的预测设备中实施的默认预测加权相比,将预测权重值w0、w1等置于竞争中具有优化加权预测的精确度的优点。事实上,本发明的预测加权生成更精确的权重值,但是当信号不可预测时,可能会导致更大的失真。尽管常规的预测加权在空间上精确度较低并且以数据发送速率为代价,但是它可能引起的失真较低。
[0197]
在c4中,将经量化和编码的差值信号be
ccod
的数据写入能够被发送到解码器的传输流f,这将在说明书中稍后描述。
[0198]
相反,根据本发明,权重w0和/或权重w1有利地既不被编码也不被发送到解码器。
[0199]
当然,在经量化和编码的差值信号bec为零的情况下,即在跳过编码模式(skip coding mode)的情况下,不实施上述步骤c2和c4。
[0200]
编码器示例性实施方式
[0201]
图7a示出了根据本发明的第一实施例的适合于实施图6所示的编码方法的编码器
cod1。编码器cod1包括预测设备pred1。
[0202]
根据该第一实施例,由编码方法执行的动作由计算机程序指令实施。为此,编码设备cod1具有常规的计算机架构,并且具体地包括存储器mem_c1、处理单元ut_c1,该处理单元配备有例如处理器proc_c1并且由存储在存储器mem_c1中的计算机程序pg_c1驱动。计算机程序pg_c1包括用于在程序由处理器proc_c1执行时实施如上所述的编码方法的动作的指令。
[0203]
在初始化时,计算机程序pg_c1的代码指令例如在由处理器proc_c1执行之前被加载到ram存储器(未示出)中。处理单元ut_c1的处理器proc_c1具体地根据计算机程序pg_c1的指令来实施以上描述的编码方法的动作。
[0204]
编码器cod1在输入端e_c1接收当前像素集合bc,并在输出端s_c1递送传输流f,该传输流被使用合适的通信接口(未示出)发送到解码器。
[0205]
图7b示出了根据本发明的第二实施例的适合于实施图6所示的编码方法的编码器cod2。编码器cod2包括上述预测设备pred2,随后是卷积神经网络rnc2,该卷积神经网络例如计算差值信号bec并然后对其进行编码,或者对当前像素集合bc以及由预测设备pred2生成的预测像素集合bpc进行编码。这种网络rnc2例如是在以下文档中描述的类型:ladune,“optical flow and mode selection for learning-based video coding[基于学习的视频编码的光流和模式选择]”,ieee mmsp 2020。
[0206]
图像解码方法
[0207]
一般原理
[0208]
参考图8,下面描述了实施参考图1描述的加权预测的图像解码方法。
[0209]
这种解码方法实施了与图6的图像编码相对应的图像解码。具体地,除了加权预测之外,解码方法还实施与avc、hevc、vvc解码等的常规解码兼容的步骤。
[0210]
该解码方法包括以下步骤:
[0211]
在d1中,以常规方式从接收到的传输流f中提取经编码的差值信号be
ccod
的数据。
[0212]
在d2中,以常规方式对be
ccod
进行解码。在该操作结束时,获得经解码的差值信号be
cdec

[0213]
在d3中,实施根据本发明的如图1所示的加权预测的步骤p1至p3,以生成当前预测像素集合bpc。
[0214]
在d4中,通过将在d2中获得的经解码的差值信号be
cdec
与在d3中获得的预测像素集合bpc进行组合来计算重构的当前像素集合bdc。
[0215]
以本身已知的方式,重构的当前像素集合bdc可能经历通过对重构信号执行环路滤波(这对于本领域技术人员来说是公知的)来进行的滤波。
[0216]
当然,在上述编码方法期间计算的差值信号bec为零的情况下,即在跳过编码模式的情况下,不实施上述步骤d1和d2。
[0217]
解码器示例性实施方式
[0218]
图9a示出了根据本发明的第一实施例的适合于实施图8所示的解码方法的解码器dec1。解码器dec1包括预测设备pred1。
[0219]
根据该第一实施例,由解码方法执行的动作由计算机程序指令实施。为此,解码器dec1具有常规的计算机架构,并且具体地包括存储器mem_d1、处理单元ut_d1,该处理单元
配备有例如处理器proc_d1并且由存储在存储器mem_d1中的计算机程序pg_d1驱动。计算机程序pg_d1包括用于在程序由处理器proc_d1执行时实施如上所述的解码方法的动作的指令。
[0220]
在初始化时,计算机程序pg_d1的代码指令例如在由处理器proc_d1执行之前被加载到ram存储器(未示出)中。处理单元ut_d1的处理器proc_d1具体地根据计算机程序pg_d1的指令实施以上结合图8所描述的解码方法的动作。
[0221]
解码器dec1在输入端e_d1接收由图7a的编码器cod1发送的传输流f,并在输出端s_d1递送当前经解码的像素集合bdc。
[0222]
图9b示出了根据本发明的第二实施例的适合于实施图8所示的解码方法的解码器dec2。解码器dec2包括上述预测设备pred2,随后是卷积神经网络rnc3,该卷积神经网络例如对经编码的差值信号be
ccod
进行解码,或者对经编码的差值信号be
ccod
以及由预测设备pred2生成的预测像素集合bpc进行解码。这种网络rnc3例如是在以下文档中描述的类型:ladune,“optical flow and mode selection for learning-based video coding[基于学习的视频编码的光流和模式选择]”,ieee mmsp 2020。
[0223]
图像加权预测方法的变体
[0224]
参考图10和图11,现在将描述图1所示的加权预测方法的一个变体,其在编码器cod3中实施。
[0225]
这种变体旨在当所获得的预测的精确度/质量不令人满意时改进图1的加权预测方法。
[0226]
为此,在编码器侧,如图10所示,在c

1中,分析所述至少一个参考像素集合br0以及当前像素集合bc。例如,分析两个参考像素集合br0和br1以及bc。在所示的示例中,br0在时间上位于bc之前,并且br1在时间上位于bc之后。
[0227]
如图11所示,使用卷积神经网络rnc4实施分析c

1,该卷积神经网络根据两个参考像素集合br0和br1和当前像素集合bc通过一定数量的层(例如实施卷积滤波器(cnn)的层,随后是实施非线性和抽取的层)创建变换,如文档中所述:ladune,“optical flow and mode selection for learning-based video coding[基于学习的视频编码的光流和模式选择]”,ieee mmsp2020。
[0228]
在步骤c

1结束时,以信号u

的形式获得一组潜在变量。
[0229]
信号u

在c

2中由量化器quant(例如由量化参数控制的均匀量化器或向量量化器)进行量化。然后获得量化信号u
′q。
[0230]
在c

3中,使用例如算术型的熵编码器ce以确定的统计量对量化信号u
′q进行编码。该统计量例如是通过统计概率参数化的,例如通过对拉普拉斯定律的方差和均值(σ,μ)进行建模、或者通过考虑如出版物:ball
é
在iclr 2018会议上提出的“variational image compression with a scale hyperprior[采用扩展超先验的变分图像压缩]”中的超先验。然后获得经编码的量化信号
[0231]
在c

4中,将经编码的量化信号写入传输流f

,该传输流被发送到解码器dec3(如图13所示)。
[0232]
参考图12和图13,现在将描述图1所示的加权预测方法的一个变体,该变体如在解
码器dec3中实施的。
[0233]
为此,在解码器侧,如图12所示,在d

1中,分析至少一个参考像素集合br0,在所示的示例中是两个参考像素集合br0和br1。这种分析与使用神经网络rnc1在图1的步骤p1中执行的分析相同。在该步骤结束时,获得表示v0、v1等、w0、w1等的潜在空间u。
[0234]
在接收到流f

之后,在d

2中,使用与图11的熵编码器ce相对应的熵解码器de,以所确定的相同的统计数据(比如拉普拉斯定律的方差和均值(σ,μ)的建模)对经编码的量化信号执行熵解码。在该操作结束时,获得经解码的量化信号u
′q。
[0235]
在d

3中,级联经解码的量化信号u
′q与由图13的神经网络rnc1获得并且仅表示对参考像素集合br0和br1的分析的潜在空间u。
[0236]
然后,神经网络rnc1以与图1的步骤p2相同的方式,通过各个层处理该级联,以便估计运动信息v0、v1等以及对应的权重值w0、w1等。
[0237]
以与图3b相对应的方式,计算机cal在输入端接收该信息,以便根据上述关系计算预测像素集合bpc。该步骤与图1的步骤p3相同。
[0238]
在上面参考图3a等公开的实施例中,在加权预测方法中使用了两个参考像素集合br0、br1。
[0239]
这些实施例可以扩展到三个或更多个参考像素集合。为此,参考图3b描述的神经网络rnc1将根据三个参考像素集合br0、br1、br2或更多个参考像素集合进行训练,以获得预测像素集合bpc(x,y)。
[0240]
降级加权预测模式当然也是可能的,例如只有一个参考帧用于预测的情况(视频编码模式中p型预测的情况)。参考图14和图15展示了这种降级模式。图14的示例示出了类似于图11的编码器cod3的编码器cod3

。编码器cod3

与编码器cod3的不同之处在于其神经网络rnc4

,该神经网络是根据图14中的单个参考像素集合br0训练的。因此,神经网络rnc4

根据单个参考像素集合br0和当前像素集合bc生成信号u

。如上面已经结合图10和图11描述的,对信号u

进行量化,以便获得量化信号u
′q。对量化信号u
′q进行熵编码。然后获得经编码的量化信号将经编码的量化信号写入传输流f

,该传输流被发送到解码器dec3

(如图15所示)。
[0241]
解码器dec3

与图13的解码器dec3的不同之处在于其神经网络rnc1

,该神经网络分析示例中示出的单个参考像素集合br0。在该分析结束时,获得表示v0和w0的潜在空间u。如上面已经参考图12解释的,在接收到流f

之后,对经编码的量化信号进行熵解码,以生成经解码的量化信号u
′q。级联经解码的量化信号u
′q与由神经网络rnc1

获得的潜在空间u。然后,神经网络rnc1

处理该级联,以便估计单个运动信息项v0以及单个对应的权重值w0。计算机cal在输入端接收该信息,以便以常规方式根据上述关系计算预测像素集合bpc,其中brc1=0,因为br1未被考虑,并且因此没有进行运动补偿。同样,w1(x,y)=0。
[0242]
这意味着在图1的步骤p3结束时获得并且在计算机cal的输出端递送的预测像素集合bpc是:
[0243]
bpc(x,y)=w0(x,y)*brc0(x,y)+0*0=w0(x,y)*brc0(x,y)。

技术特征:
1.一种由预测设备实施的用于预测至少一个当前像素集合(bc)的方法,其中,使用像素预测加权函数,基于属于已经解码的参考图像的至少一个参考像素集合(br0;br0,br1)来预测所述至少一个当前像素集合(b
c
),该方法的特征在于,用于所述至少一个当前像素集合(b
c
)的所述像素预测加权函数包括基于对至少一个参考像素集合(br0;br0,br1)的分析(p1)来计算(p2-p3)的至少一个权重值。2.如权利要求1所述的预测方法,其中,对至少一个参考像素集合(br0;br0,br1)的该分析实施对所述至少一个参考像素集合的运动估计或滤波。3.如权利要求2所述的预测方法,其中,该运动估计是光流运动估计。4.如权利要求1所述的预测方法,其中,使用由联合分析所述至少一个当前像素集合和至少一个参考像素集合而得到的至少一个修改参数(u

a
)来修改该预测加权函数。5.一种用于预测至少一个当前像素集合的设备,该设备包括处理器,该处理器被配置为使用像素预测加权函数,基于属于已经解码的参考图像的至少一个参考像素集合来预测所述至少一个当前像素集合,该设备的特征在于,用于所述至少一个当前像素集合(b
c
)的所述像素预测加权函数包括基于对至少一个参考像素集合的分析来计算的至少一个权重值。6.如权利要求5所述的预测设备,其特征在于,该预测设备使用神经网络(pred2)。7.一种包括程序代码指令的计算机程序,当该计算机程序在计算机上执行时,这些程序代码指令用于实施如权利要求1至4中任一项所述的预测方法。8.一种计算机可读信息介质,包括如权利要求7所述的计算机程序的指令。9.一种由编码设备(cod1;cod2;cod3;cod3

)实施的用于对至少一个当前像素集合进行编码的方法,该方法包括以下步骤:-计算(c2)表示所述至少一个当前像素集合与由预测所述至少一个当前像素集合而得到的预测像素集合之间的差值的信号,-对所述信号进行编码(c3),所述编码方法的特征在于,使用如权利要求1至4中任一项所述的预测方法获得(c1)所述预测像素集合。10.如权利要求9所述的编码方法,包括以下步骤:-对该预测加权函数的至少一个修改参数进行编码(c

3),-将所述至少一个经编码的修改参数发送(c

4)到图像解码器。11.一种用于对至少一个当前像素集合进行编码的设备,该设备包括处理器,该处理器被配置为实施以下操作:-计算表示所述至少一个当前像素集合与由预测所述至少一个当前像素集合而得到的预测像素集合之间的差值的信号,-对所述信号进行编码,该设备的特征在于,使用如权利要求5或权利要求6所述的预测设备获得所述预测像素集合。12.一种由解码设备实施的用于对至少一个当前像素集合进行解码的方法,该方法包括以下步骤:-在数据信号中确定(d1)表示信号的数据,该信号表示所述至少一个当前像素集合与
由预测所述至少一个当前像素集合而得到的预测像素集合之间的差值,-根据所确定的数据和该预测像素集合重构(d4)所述至少一个当前像素集合,所述解码方法的特征在于,使用如权利要求1至4中任一项所述的预测方法获得(d3)所述预测像素集合。13.如权利要求12所述的解码方法,还包括以下步骤:-在所述数据信号或另一数据信号中确定(d

2)至少一个经编码的参数,所述参数是该预测加权函数的修改参数,-对所述经编码的修改参数进行解码,-基于对所述至少一个参考像素集合和所述至少一个经解码的修改参数的分析,计算(d

3,p2-p3)修改的预测加权函数。14.一种用于对至少一个当前像素集合进行解码的设备,该设备包括处理器,该处理器被配置为实施以下操作:-在数据信号中确定表示信号的数据,该信号表示所述至少一个当前像素集合与由预测所述至少一个当前像素集合的而得到的预测像素集合之间的差值,-根据所确定的数据和该预测像素集合重构所述至少一个当前像素集合,该设备的特征在于,使用如权利要求5或权利要求6所述的预测设备获得所述预测像素集合。15.一种包括程序代码指令的计算机程序,当该计算机程序在计算机上执行时,这些程序代码指令用于实施如权利要求9或10所述的编码方法或如权利要求12或13所述的解码方法。16.一种计算机可读信息介质,包括如权利要求15所述的计算机程序的指令。

技术总结
本发明涉及一种由预测设备实施的用于预测至少一个当前像素集合(B


技术研发人员:P
受保护的技术使用者:奥兰治
技术研发日:2022.02.15
技术公布日:2023/10/11
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐