一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于利用光流的预测细化的方法和装置与流程

2022-02-22 03:24:50 来源:中国专利 TAG:

用于利用光流的预测细化的方法和装置
1.相关申请的交叉引用
2.本技术基于并要求于2019年06月19日提交的申请号为62/863,830的临时申请的优先权,其全部内容通过引用以其整体并入本文。
技术领域
3.本公开涉及视频编解码和压缩。更具体地,本公开涉及用于帧间预测工具的方法和装置,这些帧间预测工具在通用视频编解码(vvc)标准中被研究,也即,利用光流的预测细化(prof)、双向光流(bdof)、以及局部照明补偿(lic)。


背景技术:

4.各种视频编解码技术可以用于压缩视频数据。视频编解码是根据一个或更多个视频编解码标准来执行的。例如,视频编解码标准包括通用视频编解码(vvc)、联合探索测试模型(jem)、高效视频编解码(h.265/hevc)、高级视频编解码(h.264/avc)、运动图片专家组(mpeg)编解码等。视频编解码通常使用预测方法(例如,帧间预测、帧内预测等),预测方法利用了视频图像或序列中存在的冗余。视频编解码技术的重要目标在于将视频数据压缩为使用更低比特率的形式,同时避免或最小化视频质量的下降。


技术实现要素:

5.本公开的示例提供了用于视频编解码中的运动矢量预测的方法和装置。
6.根据本公开的第一方面,提供了一种解码视频信号的方法。该方法可以包括:在解码器处,获得与视频信号内的视频块相关联的第一参考图片i,该视频块通过仿射模式被编解码。该方法还可以包括:在解码器处,基于视频块获得仿射编解码块的控制点运动矢量(cpmv)。该方法可以包括:在解码器处,基于cpmv从第一参考图片i中的参考样点,获得仿射编解码块的预测样点i(i,j)。i和j可以表示视频块内的一个样点的坐标。该方法还可以包括:在解码器处,基于prof导出仿射编解码块的prof预测样点细化。该方法可以包括:在解码器处,接收指示lic是否被应用于仿射编解码块的lic标志。该方法可以另外包括:在解码器处并且当lic被应用时,基于仿射编解码块的相邻重建样点和它们的在第一参考图片中的对应参考样点,导出lic权重和偏移。该方法可以包括:在解码器处,基于prof预测样点细化以及lic权重和偏移,获得仿射编解码块的最终预测样点。
7.根据本公开的第二方面,提供了一种解码视频信号的方法。该方法可以包括:在解码器处,获得与视频信号内的视频块相关联的第一参考图片i。该方法还可以包括:在解码器处,从第一参考图片i中的参考块获得视频块的预测样点i(i,j)。i和j表示视频块内的一个样点的坐标。该方法可以包括:在解码器处,针对内部prof参数的各种表示精度,通过基于第一位移值na将右移应用于内部prof参数来控制prof导出过程的内部比特深度。内部prof参数包括针对预测样点i(i,j)导出的水平梯度值、垂直梯度值、水平运动差值、以及垂直运动差值。该方法可以另外包括:在解码器处,在prof导出过程基于预测样点i(i,j)被应
用于视频块的基础上,获得针对视频块中的样点的预测细化值。该方法可以包括:在解码器处,基于预测样点和预测细化值的组合来获得视频块的预测样点。
8.根据本公开的第三方面,提供了一种用于解码视频信号的计算设备。计算设备可以包括:一个或更多个处理器;非暂态计算机可读存储器,存储由一个或更多个处理器可执行的指令。一个或更多个处理器可以被配置为:获得与视频信号内的视频块相关联的第一参考图片i,该视频块通过仿射模式被编解码。一个或更多个处理器还可以被配置为:在解码器处,基于视频块获得仿射编解码块的cpmv。一个或更多个处理器可以被配置为:基于cpmv从第一参考图片i中的参考样点,获得仿射编解码块的预测样点i(i,j)。i和j表示视频块内的一个样点的坐标。一个或更多个处理器可以另外被配置为:基于prof导出仿射编解码块的prof预测样点细化。一个或更多个处理器可以被配置为:在解码器处,接收指示局部照明补偿(lic)是否被应用于仿射编解码块的lic标志。一个或更多个处理器可以被配置为:当lic被应用时,基于仿射编解码块的相邻重建样点和它们的在第一参考图片中的对应参考样点,导出lic权重和偏移。一个或更多个处理器还可以被配置为:基于prof预测样点细化以及lic权重和偏移,获得仿射编解码块的最终预测样点。
9.根据本公开的第四方面,提供了一种非暂态计算机可读存储介质,其中存储有指令。当指令由装置的一个或更多个处理器执行时,指令可以使装置执行:在解码器处,获得与视频信号内的视频块相关联的第一参考图片i。指令还可以使装置执行:在解码器处,从第一参考图片i中的参考块获得视频块的预测样点i(i,j)。i和j表示视频块内的一个样点的坐标。指令还可以使装置执行:在解码器处,针对内部prof参数的各种表示精度,通过基于第一位移值na将右移应用于内部prof参数来控制prof导出过程的内部比特深度。内部prof参数包括针对预测样点i(i,j)导出的水平梯度值、垂直梯度值、水平运动差值和垂直运动差值。指令可以另外使装置执行:在解码器处,在prof导出过程基于预测样点i(i,j)被应用于视频块的基础上,获得针对视频块中的样点的预测细化值。指令还可以使装置执行:在解码器处,基于预测样点和预测细化值的组合来获得视频块的预测样点。
附图说明
10.附图被并入本说明书中且构成本说明书的一部分,附图示出了与本公开一致的示例并且与描述一起用于解释本公开的原理。
11.图1是根据本公开的示例的编码器的框图。
12.图2是根据本公开的示例的解码器的框图。
13.图3a是说明根据本公开的示例的多类型树结构中的块分割的示图。
14.图3b是说明根据本公开的示例的多类型树结构中的块分割的示图。
15.图3c是说明根据本公开的示例的多类型树结构中的块分割的示图。
16.图3d是说明根据本公开的示例的多类型树结构中的块分割的示图。
17.图3e为说明根据本公开的示例的多类型树结构中的块分割的示图。
18.图4是根据本公开的示例的bdof模型的示图图示。
19.图5a是根据本公开的示例的仿射模型的图示。
20.图5b是根据本公开的示例的仿射模型的图示。
21.图6是根据本公开的示例的仿射模型的图示。
22.图7是根据本公开的示例的prof的图示。
23.图8是根据本公开的示例的bdof的工作流程。
24.图9是根据本公开的示例的prof的工作流程。
25.图10是根据本公开的示例的prof的比特深度表示方法。
26.图11是根据本公开的示例的prof的比特深度表示方法。
27.图12是根据本公开的示例的用于双向预测的prof的工作流程的图示。
28.图13是根据本公开的bdof和prof过程的流水线级的图示。
29.图14是根据本公开的bdof的梯度导出方法的图示。
30.图15是根据本公开的prof的梯度导出方法的图示。
31.图16a是根据本公开的示例的导出针对仿射模式的模板样点的图示。
32.图16b是根据本公开的示例的导出针对仿射模式的模板样点的图示。
33.图17a是根据本公开的示例的针对仿射模式排他地启用prof和lic的图示。
34.图17b是根据本公开的示例的针对仿射模式联合地启用prof和lic的图示。
35.图18是示出根据本公开的示例的与用户接口耦接的计算环境的示图。
具体实施方式
36.现在将详细参照实施例,其示例在附图中示出。以下描述参考附图,其中不同附图中的相同标号表示相同或相似的元件,除非另有表示。在实施例的以下描述中阐述的实现方式不表示与本公开一致的所有实现方式。相反,它们仅是与如所附权利要求中所记载的与本公开相关的方面一致的装置和方法的示例。
37.本公开中使用的术语仅用于描述特定实施例的目的,并且不旨在限制本公开。如在本公开和所附权利要求中所使用的,单数形式“一种”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确说明。还应当理解,本文使用的术语“和/或”旨在表示和包括一个或更多个相关联的所列项目的任何或所有可能的组合。
38.应当理解,尽管本文可以使用术语“第一”、“第二”、“第三”等来描述各种信息,但是信息不应受这些术语的限制。这些术语仅用于将一类信息与另一类信息区分开。例如,在不脱离本公开的范围的情况下,第一信息可以被称为第二信息;并且类似地,第二信息也可以被称为第一信息。如本文所使用的,根据上下文,术语“如果”可以被理解为意指“当......时”或“一经......”或“响应于判断”。
39.hevc标准的第一版本在2013年10月完成,与前一代视频编解码标准h.264/mpeg avc相比,hevc标准的第一版本提供大约50%的比特率节省或同等的感知质量。尽管hevc标准提供了与其前身相比显著的编解码改进,但有证据表明可以利用额外编解码工具实现优于hevc的编解码效率。基于此,vceg和mpeg都开始了用于未来视频编解码标准化的新编解码技术的探索工作。itu-t vecg和iso/iec mpeg在2015年10月形成了一个联合视频探索小组(jvet),以开始对可以实现显著提高编解码效率的先进技术的重要研究。jvet通过在hevc测试模型(hm)之上集成若干额外编解码工具,来维护一个被称为联合探索模型(jem)的参考软件。
40.在2017年10月,itu-t和iso/iec发布了关于具有超出hevc的能力的视频压缩的联合提案召集(cfp)。在2018年4月,在第10次jvet会议上接收并评估了23个cfp回应,其展示
了超过hevc约40%的压缩效率增益。基于这样的评估结果,jvet发起了新项目以开发被命名为通用视频编解码(vvc)的新一代视频编解码标准。在同月,建立了一个被称为vvc测试模型(vtm)的参考软件代码库,用于展示vvc标准的参考实现。
41.与hevc类似,vvc建立在基于块的混合视频编解码框架上。
42.图1示出了用于vvc的基于块的视频编码器的一般示图。具体地,图1示出了典型的编码器100。编码器100具有视频输入110、运动补偿112、运动估计114、帧内/帧间模式决策116、块预测值140、加法器128、变换130、量化132、预测相关信息142、帧内预测118、图片缓冲器120、反量化134、逆变换136、加法器126、存储器124、环路滤波器122、熵编解码138和比特流144。
43.在编码器100中,视频帧被分割为多个视频块以进行处理。对于每个给定视频块,基于帧间预测方法或帧内预测方法来形成预测。
44.预测残差,其表示当前视频块(视频输入110的一部分)与其预测值(块预测值140的一部分)之间的差,从加法器128被发送到变换130。变换系数然后从变换130被发送到量化132以用于熵减少。量化的系数然后被馈送到熵编解码138以生成压缩的视频比特流。如图1所示,来自帧内/帧间模式决策116的预测相关信息142(诸如视频块分割信息、运动矢量(mv)、参考图片索引和帧内预测模式)也被馈送通过熵编解码138并保存到压缩的比特流144中。压缩的比特流144包括视频比特流。
45.在编码器100中,还需要解码器相关电路系统以便为了预测目的而重建像素。首先,通过反量化134和逆变换136重建预测残差。该重建的预测残差与块预测值140组合,以生成针对当前视频块的未经滤波的重建像素。
46.空间预测(或“帧内预测”)使用来自与当前视频块相同的视频帧中的已经编解码的相邻块的样点(其被称为参考样点)的像素,来预测当前视频块。
47.时间预测(也被称为“帧间预测”)使用来自已经编解码的视频图片的重建像素,来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。通常通过一个或更多个mv来用信号发送针对给定编解码单元(cu)或编解码块的时间预测信号,该一个或更多个mv指示当前cu与其时间参考之间的运动的量和方向。此外,如果多个参考图片被支持,则一个参考图片索引被额外发送,其被用于标识时间预测信号来自参考图片存储装置中的哪个参考图片。
48.运动估计114摄入视频输入110和来自图片缓冲器120的信号,并且将运动估计信号输出到运动补偿112。运动补偿112摄入视频输入110、来自图片缓冲器120的信号、以及来自运动估计114的运动估计信号,并且将运动补偿信号输出到帧内/帧间模式决策116。
49.在空间和/或时间预测被执行之后,编码器100中的帧内/帧间模式决策116例如基于率失真优化方法来选择最佳预测模式。块预测值140然后从当前视频块中被减去,并且所得到的预测残差使用变130和量化132被去相关。所得到的量化的残差系数通过反量化134被反量化并且通过逆变换136被逆变换以形成重建的残差,重建的残差然后被加回到预测块以形成cu的重建信号。在重建的cu被放入图片缓冲器120的参考图片存储装置中并用于对未来的视频块进行编解码之前,可以对重建的cu进一步应用环路滤波122,诸如去块滤波器、样点自适应偏移(sao)、和/或自适应环路滤波器(alf)。为了形成输出视频比特流144,编解码模式(帧间或帧内)、预测模式信息、运动信息、以及量化的残差系数全部被发送到熵
编解码单元138,以进一步被压缩和打包以形成比特流。
50.图1给出了通用的基于块的混合视频编码系统的框图。输入视频信号逐块(被称为编解码单元(cu))地被处理。在vtm-1.0中,cu可以多达128
×
128个像素。然而,与仅基于四叉树来分割块的hevc不同,在vvc中,一个编解码树单元(ctu)基于四叉树/二叉树/三叉树被拆分为多个cu以适应变化的局部特性。另外,hevc中的多分割单元类型的概念被去除,也即,cu、预测单元(pu)和变换单元(tu)的分离不再存在于vvc中;相反,每个cu总是被用作用于预测和变换两者的基本单元,而无需进一步的分割。
51.在多类型树结构中,一个ctu首先通过四叉树结构被分割。然后,每个四叉树叶节点可以通过二叉和三叉树结构被进一步分割。
52.如图3a、图3b、图3c、图3d和图3e所示,存在五种拆分类型,四元分割、水平二元分割、垂直二元分割、水平三元分割和垂直三元分割。
53.图3a示出了图示出根据本公开的多类型树结构中的块四元分割的示图。
54.图3b示出了图示出根据本公开的多类型树结构中的块垂直二元分割的示图。
55.图3c示出了图示出根据本公开的多类型树结构中的块水平二元分割的示图。
56.图3d示出了图示出根据本公开的多类型树结构中的块垂直三元分割的示图。
57.图3e示出了图示出根据本公开的多类型树结构中的块水平三元分割的示图。
58.在图1中,空间预测和/或时间预测可以被执行。空间预测(或“帧内预测”)使用来自相同视频图片/条带中的已经编解码的相邻块的样点(其被称为参考样点)的像素,来预测当前视频块。空间预测减少了视频信号中固有的空间冗余。时间预测(也被称为“帧间预测”或“经运动补偿的预测”)使用来自已经编解码的视频图片的重建像素,来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。通常通过一个或更多个运动矢量(mv)来用信号发送针对给定cu的时间预测信号,该一个或更多个运动矢量指示当前cu与其时间参考之间的运动的量和方向。此外,如果多个参考图片被支持,则一个参考图片索引被额外发送,其用于标识时间预测信号来自参考图片存储装置中的哪个参考图片。在空间和/或时间预测之后,编码器中的模式决策块例如基于率失真优化方法来选择最佳预测模式。预测块然后从当前视频块中被减去,并且预测残差使用变换被去相关并且被量化。量化的残差系数被反量化和逆变换以形成重建的残差,重建的残差然后被加回到预测块以形成cu的重建信号。此外,在重建的cu被放入参考图片存储库中并用于对未来的视频块进行编解码之前,可以对重建的cu应用环路滤波,诸如去块滤波器、样点自适应偏移(sao)、以及自适应环路滤波器(alf)。为了形成输出视频比特流,编解码模式(帧间或帧内)、预测模式信息、运动信息和量化的残差系数全部被发送到熵编解码单元,以进一步被压缩和打包以形成比特流。
59.图2示出了用于vvc的视频解码器的一般框图。具体地,图2示出了典型的解码器200框图。解码器200具有比特流210、熵解码212、反量化214、逆变换216、加法器218、帧内/帧间模式选择220、帧内预测222、存储器230、环路滤波器228、运动补偿224、图片缓冲器226、预测相关信息234和视频输出232。
60.解码器200类似于驻留在图1的编码器100中的重建相关部分。在解码器200中,传入的视频比特流210首先通过熵解码212被解码,以导出量化的系数等级和预测相关信息。量化的系数等级然后通过反量化214和逆变换216被处理,以获得重建的预测残差。在帧内/帧间模式选择器220中实现的块预测值机制被配置为:基于经解码的预测信息来执行帧内
预测222或运动补偿224。通过使用加法器218,对来自逆变换216的重建预测残差和由块预测值机制生成的预测输出进行求和,来获得一组未经滤波的重建像素。
61.在重建的块被存储在用作参考图片存储库的图片缓冲器226中之前,重建的块可以进一步通过环路滤波器228。图片缓冲器226中的重建视频可以被发送以驱动显示设备,以及用于预测未来的视频块。在打开环路滤波器228的情况下,对这些重建的像素执行滤波操作以导出最终的重建视频输出232。
62.图2给出了基于块的视频解码器的一般框图。视频比特流首先在熵解码单元处被熵解码。编解码模式和预测信息被发送到空间预测单元(如果被帧内编解码)或时间预测单元(如果被帧间编解码)以形成预测块。残差变换系数被发送到反量化单元和逆变换单元以重建残差块。预测块和残差块然后相加在一起。重建的块在其被存储在参考图片存储装置中之前可以进一步通过环路滤波。参考图片存储库中的重建视频然后被发送出去以驱动显示设备,以及用于预测未来的视频块。
63.通常,在vvc中应用的基本帧间预测技术与hevc的基本帧间预测技术保持相同,除外的是若干模块被进一步扩展和/或增强。具体地,对于所有前述视频标准,当一个编解码块被单向预测时,该编解码块仅可以与一个单个mv相关联,或者当该编解码块被双向预测时,该编解码块仅可以与两个mv相关联。由于常规基于块的运动补偿的这种限制,在运动补偿之后,小的运动仍然可能保留在预测样点内,因此负面地影响运动补偿的整体效率。为了提高mv的粒度和精度这两者,当前针对vvc标准研究了两种基于光流的按样点细化方法,即用于仿射模式的prof和bdof。在下文中,简要回顾了两种帧间编解码工具的主要技术方面。
64.双向光流
65.在vvc中,双向光流(bdof)被应用以细化经双向预测的编解码块的预测样点。具体地,如图4所示,bdof是在使用双向预测时在基于块的运动补偿预测之上执行的按样点运动细化。
66.图4示出了根据本公开的bdof模型的图示。
67.在子块周围的一个6
×
6窗口ω内应用bdof之后,通过将l0预测样点和l1预测样点之间的差最小化来计算每个4
×
4子块的运动细化(v
x
,vy)。具体地,(v
x
,vy)的值被导出为
[0068][0069]
其中是向下取整函数;clip3(min,max,x)是将给定值x裁剪在[min,max]范围内的函数;符号>>表示按位右移运算;符号<<表示按位左移运算;th
bdof
是用于防止由于不规则局部运动引起的传播误差的运动细化阈值,其等于1<<max(5,bit-depth-7),其中bit-depth是内部比特深度。在(1)中,
[0070]
s1、s2、s3、s5和s6的值被计算为
[0071][0072]
其中
[0073][0074]
其中i
(k)
(i,j)是列表k中的预测信号的坐标(i,j)处的样点值,其以中等高精度(即,16比特)生成,k=0,1;和是样点的水平梯度和垂直梯度,它们通过直接计算样点的两个相邻样点之间的差而获得,也即,
[0075][0076]
基于在(1)中导出的运动细化,cu的最终双向预测样点通过沿基于光流模型的运动轨迹对l0/l1预测样点进行插值而被计算,如由下式指示
[0077][0078]
其中shift和o
offset
是被应用以组合l0预测信号和l1预测信号以进行双向预测的右移值和偏移值,其分别等于15-bit-depth和1<<(14-bit-depth) 2
·
(1<<13)。基于上述比特深度控制方法,保证了整个bdof过程的中间参数的最大比特深度不超过32比特,
并且乘法的最大输入在15比特内,也即,一个15比特乘法器足以用于bdof实现。
[0079]
仿射模式
[0080]
在hevc中,仅平移运动模型被应用于运动补偿预测。而在现实世界中,存在许多种类的运动,例如,放大/缩小、旋转、透视运动和其他不规则运动。在vvc中,通过针对每个帧间编解码块用信号发送一个标志以指示是平移运动模型还是仿射运动模型被应用于帧间预测,来应用仿射运动补偿预测。在当前vvc设计中,针对一个仿射编解码块支持两个仿射模式,包括4参数仿射模式和6参数仿射模式。
[0081]
4参数仿射模型具有以下参数:分别用于水平方向和垂直方向上的平移移动的两个参数、用于针对两个方向的缩放运动的一个参数和用于针对两个方向的旋转运动的一个参数。水平缩放参数等于垂直缩放参数。水平旋转参数等于垂直旋转参数。为了实现运动矢量和仿射参数的更好调和,在vvc中,将那些仿射参数转换为位于当前块的左上角和右上角处的两个mv(其也被称为控制点运动矢量(cpmv))。如图5a和图5b中所示,块的仿射运动场由两个控制点mv(v0,v1)描述。
[0082]
图5a示出了根据本公开的4参数仿射模型的图示。
[0083]
图5b示出了根据本公开的4参数仿射模型的图示。基于控制点运动,一个经仿射编解码的块的运动场(v
x
,vy)被描述为
[0084][0085]
6参数仿射模式具有以下参数:分别用于水平方向和垂直方向上的平移运动的两个参数、用于水平方向上的缩放运动的一个参数和用于水平方向上的旋转运动的一个参数、用于垂直方向上的缩放运动的一个参数和用于垂直方向上的旋转运动的一个参数。6参数仿射运动模型利用三个cpmv处的三个mv被编解码。
[0086]
图6示出了根据本公开的6参数仿射模型的图示。
[0087]
如图6中所示,一个6参数仿射块的三个控制点位于块的左上角、右上角和左下角处。左上控制点处的运动与平移运动相关,并且右上控制点处的运动与水平方向上的旋转和缩放运动相关,并且左下控制点处的运动与垂直方向上的旋转和缩放运动相关。与4参数仿射运动模型相比,6参数仿射运动模型的水平方向上的旋转运动和缩放运动可以与垂直方向上的那些运动不同。假设(v0,v1,v2)是图6中的当前块的左上角、右上角和左下角的mv,则每个子块(v
x
,vy)的运动矢量使用控制点处的三个mv被导出为:
[0088][0089]
针对仿射模式的利用光流的预测细化
[0090]
为了提高仿射运动补偿精度,目前在当前vvc中研究了prof,其基于光流模型来细化基于子块的仿射运动补偿。具体地,在执行基于子块的仿射运动补偿之后,一个仿射块的
亮度预测样点通过基于光流等式导出的一个样点细化值而被修改。详细地,prof的操作可以被概括为以下四个步骤:
[0091]
步骤一:使用如针对4参数仿射模型在(6)中导出的子块mv和针对6参数仿射模型在(7)中导出的子块mv来执行基于子块的仿射运动补偿,以生成子块预测i(i,j)。
[0092]
步骤二:每个预测样点的空间梯度g
x
(i,j)和gy(i,j)被计算为
[0093][0094]
为了计算梯度,需要在一个子块的每一侧生成一个额外行/列的预测样点。为了减少存储器带宽和复杂性,扩展边界上的样点是从参考图片中的最近整数像素位置被复制的,以避免额外的插值过程。
[0095]
步骤三:亮度预测细化值通过下式被计算:
[0096]
δi(i,j)=g
x
(i,j)*δv
x
(i,j) gy(i,j)*δvy(i,j)
ꢀꢀꢀꢀ
(9)
[0097]
其中δv(i,j)是由v(i,j)表示的针对样点位置(i,j)计算的像素mv与像素(i,j)所在的子块的子块mv之间的差。另外,在当前prof设计中,在将预测细化加到原始预测样点之后,一个裁剪操作被执行以将细化的预测样点的值裁剪到15比特内,也即,
[0098]
ir(i,j)=i(i,j) δi(i,j)
[0099]
ir(i,j)=clip3(-2
14
,2
14-1,ir(i,j))
[0100]
其中i(i,j)和ir(i,j)分别是位置(i,j)处的原始预测样点和经细化的预测样点。
[0101]
图7示出根据本公开的针对仿射模式的prof过程。
[0102]
因为仿射模型参数和相对于子块中心的像素位置在子块与子块之间不改变,所以可以针对第一子块计算δv(i,j),并且将其再用于同一cu中的其他子块。令δx和δy是从样点位置(i,j)到样点所属子块的中心的水平偏移和垂直偏移,δv(i,j)可以被导出为
[0103][0104]
基于仿射子块mv导出等式(6)和(7),mv差δv(i,j)可以被导出。具体地,对于4参数仿射模型,
[0105][0106]
对于6参数仿射模型,
[0107]
[0108]
其中(v
0x
,v
0y
)、(v
1x
,v
1y
)、(v
2x
,v
2y
)是当前编解码块的左上控制点mv、右上控制点mv和左下控制点mv,w和h是块的宽度和高度。在已有的prof设计中,mv差δv
x
和δvy总是以1/32像素的精度被导出。
[0109]
局部照明补偿
[0110]
局部照明补偿(llc)是一种编解码工具,其用于解决存在于时间相邻图片之间的局部照明改变的问题。一对权重和偏移参数被应用于参考样点以获得一个当前块的预测样点。一般数学模型给出为:
[0111]
p[x]=α*pr[x v] β
ꢀꢀꢀ
(11)
[0112]
其中pr[x v]是由运动矢量v指示的参考块,[α,β]是针对参考块的对应的一对权重和偏移参数,并且p[x]是最终预测块。基于当前块的模板(即,相邻重建样点)和模板的参考块(其使用当前块的运动矢量被导出),使用最小线性均方误差(llmse)算法来估计该对权重和偏移参数。通过最小化模板样点与模板的参考样点之间的均方差,α和β的数学表示可以如下被导出:
[0113][0114]
其中i表示模板中的样点数量。pc[xi]为当前块的模板的第i样点,并且pr[xi]为基于运动矢量v的第i模板样点的参考样点。
[0115]
除了被应用于针对每个预测方向(l0或l1)至多包含一个运动矢量的常规帧间块之外,lic还被应用于经仿射模式编解码的块,其中一个编解码块进一步被拆分为多个更小的子块并且每个子块可以与不同的运动信息相关联。为了导出用于仿射模式编解码块的lic的参考样点,如图16a和图16b中所示,使用顶部子块行中的每个子块的运动矢量来提取一个仿射编解码块的顶部模板中的参考样点,而使用左侧子块列中的子块的运动矢量来提取左侧模板中的参考样点。之后,如(12)中所示的相同llmse导出方法被应用以基于复合模板导出lic参数。
[0116]
图16a示出了根据本公开的用于导出针对仿射模式的模板样点的图示。该图示包含cur帧1620和cur cu 1622。cur帧1620是当前帧。cur cu 1622是当前编解码单元。
[0117]
图16b示出了用于导出针对仿射模式的模板样点的图示。该图示包含ref帧1640、col cu 1642、a ref 1643、b ref 1644、c ref 1645、d ref 1646、e ref 1647、f ref 1648和g ref 1649。ref帧1640是参考帧。col cu 1642是同位编解码单元。a ref 1643、b ref 1644、c ref 1645、d ref 1646、e ref 1647、f ref 1648和g ref 1649是参考样点。
[0118]
当前bdof、prof和lic设计
[0119]
尽管prof可以提高仿射模式的编解码效率,但其设计仍可以进一步被改进。特别地,考虑到prof和bdof两者都建立在光流概念上的事实,高度可取的是尽可能地协调prof和bdof的设计,使得prof可以最大限度地利用bdof的已有逻辑来促进硬件实现。基于这种考虑,在本公开中发现了以下关于当前prof设计与bdof设计之间的相互作用的低效率。
[0120]
1)如在“针对仿射模式的利用光流的预测细化”章节中所描述的,在等式(8)中,梯度的精度是基于内部比特深度被确定的。另一方面,mv差(即δv
x
和δvy)总是以1/32像素的
精度被导出。对应地,基于等式(9),导出的prof细化的精度取决于内部比特深度。然而,类似于bdof,prof被应用在中等高比特深度(即,16比特)的预测样点值之上,以便保持更高的prof导出精度。因此,不管内部编解码比特深度如何,通过prof导出的预测细化的精度应当匹配中间预测样点的精度,即16比特。换句话说,已有的prof设计中的mv差和梯度的表示比特深度未完全匹配来导出相对于预测样点精度(即,16比特)的准确预测细化。同时,基于等式(1)、(4)和(8)的比较,已有的prof和bdof使用不同的精度来表示样点梯度和mv差。如早前所指出的,因为已有的bdof逻辑不能被重复使用,所以这种非统一设计对于硬件是不可取的。
[0121]
2)如在“针对仿射模式的利用光流的预测细化”章节中所论述的,在一个当前仿射块被双向预测时,prof分别被应用于列表l0和列表l1中的预测样点;然后,增强的l0预测信号和l1预测信号被平均以生成最终的双向预测信号。相反地,代替针对每个预测方向单独地导出prof细化,bdof一次导出预测细化,其然后被应用于增强组合的l0和l1预测信号。图8和图9(下文描述)比较了用于双向预测的当前bdof和prof的工作流程。在实际的编解码器硬件流水线设计中,它通常将不同的主编码/解码模块分配给每个流水线级,使得可以并行处理更多的编解码块。然而,由于bdof工作流程和prof工作流程之间的差异,这可能导致难以具有由bdof和prof可以共享的一个相同的流水线设计,这对于实际的编解码器实现并不友好。
[0122]
图8示出了根据本公开的bdof的工作流程。工作流程800包括l0运动补偿810、l1运动补偿820和bdof 830。l0运动补偿810例如可以是来自先前参考图片的运动补偿样点的列表。先前参考图片是视频块中的当前图片之前的参考图片。l1运动补偿820例如可以是来自下一参考图片的运动补偿样点的列表。下一参考图片是视频块中的当前图片之后的参考图片。如上面关于图4所描述的,bdof 830从l0运动补偿810和l1运动补偿820摄取运动补偿样点并输出预测样点。
[0123]
图9示出了根据本公开的已有prof的工作流程。工作流程900包括l0运动补偿910、l1运动补偿920、l0 prof 930、l1 prof 940和平均960。l0运动补偿910例如可以是来自先前参考图片的运动补偿样点的列表。先前参考图片是视频块中的当前图片之前的参考图片。l1运动补偿920例如可以是来自下一参考图片的运动补偿样点的列表。下一参考图片是视频块中的当前图片之后的参考图片。如上面关于图7所描述的,l0 prof 930从l0运动补偿910摄取l0运动补偿样点并输出运动细化值。如上面关于图7所描述的,l1 prof 940从l1运动补偿920摄取l1运动补偿样点并输出运动细化值。平均960对l0 prof 930和l1 prof 940的运动细化值输出进行平均。
[0124]
3)对于bdof和prof两者,需要针对当前编解码块内的每个样点计算梯度,这需要在块的每一侧生成一个额外行/列的预测样点。为了避免样点插值的额外计算复杂性,块周围的扩展区域中的预测样点直接从整数位置处的参考样点被复制(即,不进行插值)。然而,根据已有的设计,不同位置处的整数样点被选择用于生成bdof的梯度值和prof的梯度值。具体地,对于bdof,位于预测样点左侧(针对水平梯度)和预测样点上方(针对垂直梯度)的整数参考样点被使用;对于prof,最接近预测样点的整数参考样点被用于梯度计算。类似于比特深度表示低效率,此类非统一梯度计算方法对于硬件编解码器实现也不可取。
[0125]
4)如早前所指出的,prof的动机是补偿每个样点的mv与在样点所属子块的中心处
导出的子块mv之间的小mv差。根据当前的prof设计,当通过仿射模式预测一个编解码块时,prof总是被调用。然而,如等式(6)和(7)中所指示的,一个仿射块的子块mv从控制点mv被导出。因此,当控制点mv之间的差相对较小时,每个样点位置处的mv应该一致。在这种情况下,因为应用prof的益处可能非常有限,所以当考虑性能/复杂度权衡时可能不值得执行prof。
[0126]
对bdof、prof和lic的改进
[0127]
在本公开中,提供了方法来改进和简化已有prof设计以促进硬件编解码器实现。具体地,特别关注于协调bdof和prof的设计,以便与prof最大限度地共享已有的bdof逻辑。总体上,本公开中提出的技术的主要方面总结如下。
[0128]
1)为了提高prof的编解码效率同时实现一种更统一的设计,提出了一种方法来统一由bdof和prof使用的样点梯度和mv差的表示比特深度。
[0129]
2)为了促进硬件流水线设计,提出了协调用于双向预测的prof的工作流程和bdof的工作流程。具体地,与分别针对l0和l1导出预测细化的已有prof不同,所提出的方法一次导出被应用于组合的l0和l1预测信号的预测细化。
[0130]
3)提出了两种方法来协调整数参考样点的导出,以计算由bdof和prof使用的梯度值。
[0131]
4)为了降低计算复杂度,提出了提早终止方法以在满足某些条件时自适应地禁用针对仿射编解码块的prof过程。
[0132]
prof梯度和mv差的改进的比特深度表示设计
[0133]
如在章节“当前bdof、prof和lic设计”中所分析的,当前prof中的mv差和样点梯度的表示比特深度未被对齐以导出准确的预测细化。此外,样点梯度和mv差的表示比特深度在bdof与prof之间不一致,这对于硬件并不友好。在本章节中,通过将bdof的比特深度表示方法扩展到prof,提出了一种改进的比特深度表示方法。具体地,在所提出的方法中,每个样点位置处的水平梯度和垂直梯度被计算为
[0134][0135]
另外,假设δx和δy是以1/4像素精度表示的从一个样点位置到样点所属子块的中心的水平偏移和垂直偏移,则在样点位置处的对应prof mv差δv(x,y)被导出为
[0136][0137]
其中dmvbits是由bdof过程使用的梯度值的比特深度,也即,dmvbits=max(5,(bit-depth-7)) 1。在等式(13)和(14)中,c,d,e和f是基于仿射控制点mv导出的仿射参数。具体地,对于4参数仿射模型,
[0138][0139]
对于6参数仿射模型,
[0140][0141]
其中(v
0x
,v
0y
)、(v
1x
,v
1y
)、(v
2x
,v
2y
)是以1/16像素精度表示的当前编解码块的左上控制点mv、右上控制点mv和左下控制点mv,并且w和h是块的宽度和高度。
[0142]
在上述讨论中,如等式(13)和(14)所示,一对固定的右移被应用以计算梯度和mv差的值。在实践中,为了中间计算精度与内部prof导出过程的比特宽度之间的不同权衡,不同的按位右移可以被应用于(13)和(14),实现梯度和mv差的各种表示精度。例如,当输入视频包含大量噪声时,导出的梯度可能并不可靠地表示每个样点处的真实局部水平/垂直梯度值。在这种情况下,使用比梯度更多的比特来表示mv差更有意义。另一方面,当输入视频展示稳定运动时,由仿射模型导出的mv差应该很小。如果是这样,则使用高精度mv差不能提供增加导出的prof细化精度的额外益处。换句话说,在这种情况下,使用更多比特来表示梯度值更有益。基于上述考虑,在本公开的一个实施例中,在下文中提出了一种通用方法来计算用于prof的梯度和mv差。具体地,假设通过将na个右移应用于相邻预测样点的差来计算每个样点位置处的水平梯度和垂直梯度,也即,
[0143][0144]
在样点位置处的对应的prof mv差δv(x,y)应当被计算为
[0145][0146]
其中δx和δy是以1/4像素精度表示的从一个样点位置到样点所属子块的中心的水平偏移和垂直偏移,并且c、d、e和f是基于1/16像素仿射控制点mv导出的仿射参数。最后,样点的最终prof细化被计算为
[0147]
δi(i,j)=(g
x
(i,j)*δv
x
(i,j) gy(i,j)*δvy(i,j) 1)>>1
ꢀꢀꢀꢀ
(17)
[0148]
图10示出了根据本公开的解码视频信号的方法。该方法例如可以应用于解码器。
[0149]
在步骤1010中,解码器可以获得与视频信号内的视频块相关联的第一参考图片i。
[0150]
在步骤1012中,解码器可以从第一参考图片i中的参考块获得视频块的预测样点i(i,j)。i和j可以表示视频块内的一个样点的坐标。
[0151]
在步骤1014中,解码器可以针对内部prof参数的各种表示精度,通过基于第一位移值na将右移应用于内部prof参数,来控制prof导出过程的内部比特深度。内部prof参数包括针对预测样点i(i,j)导出的水平梯度值、垂直梯度值、水平运动差值和垂直运动差值。
[0152]
在步骤1016中,解码器可以在prof导出过程基于预测样点i(i,j)被应用于视频块的基础上,来获得针对视频块中的样点的预测细化值。
[0153]
在步骤1018中,解码器可以基于预测样点和预测细化值的组合来获得视频块的预测样点。
[0154]
在本公开的另一实施例中,如下提出了另一prof比特深度控制方法。在该方法中,仍然如(18)中那样通过将na位右移应用于相邻预测样点的差值,来计算每个样点位置处的水平梯度和垂直梯度。在样点位置处的对应的prof mv差δv(x,y)应当被计算为:
[0155]
δv
x
(i,j)=(c*δx d*δy)>>(14-na)
[0156]
δvy(i,j)=(e*δx f*δy)>>(14-na)
[0157]
另外,为了将整个prof导出保持在适当的内部比特深度,裁剪被应用于导出的mv差,如下:
[0158]
δv
x
(i,j)=clip3(-limit,limit,δv
x
(i,j))
[0159]
δvy(i,j)=clip3(-limit,limit,δvy(i,j))
[0160]
其中limit是等于的阈值,并且clip3(min,max,x)是将给定值x裁剪在[min,max]范围内的函数。在一个示例中,nb的值被设置为2
max(5,bit-depth-7)

[0161]
最后,样点的prof细化被计算为
[0162]
δi(i,j)=g
x
(i,j)*δv
x
(i,j) gy(i,j)*δvy(i,j)
[0163]
用于双向预测的bdof和prof的经协调的工作流程
[0164]
如先前所论述的,当一个仿射编解码块被双向预测时,当前prof以单侧方式被应用。更具体地,prof样点细化被分别导出并应用于列表l0和列表l1中的预测样点。之后,分别来自列表l0和列表l1的经细化的预测信号被平均,以生成块的最终双向预测信号。这与样点细化被导出并应用于双向预测信号的bdof设计形成对比。bdof和prof的双向预测工作流程之间的这种差异对于实际编解码器流水线设计可能并不友好。
[0165]
为了促进硬件流水线设计,根据本公开的一种简化方法是修改prof的双向预测过程,从而协调两种预测细化方法的工作流程。具体地,代替针对每个预测方向单独地应用细化,所提出的prof方法基于列表l0和列表l1的控制点mv一次导出预测细化;导出的预测细化然后被应用于组合的l0和l1预测信号以增强质量。具体地,基于如等式(14)中导出的mv差,一个仿射编解码块的最终双向预测样点通过所提出的方法被计算为
[0166]
pred
prof
(i,j)=(i
(0)
(i,j) i
(1)
(i,j) δi(i,j) o
offset
)>>shift
[0167]
δi(i,j)=(g
x
(i,j)*δv
x
(i,j) gy(i,j)*δvy(i,j) 1)>>1
ꢀꢀꢀꢀ
(18)
[0168]
ir(i,j)=i(i,j) δi(i,j)
[0169]
其中shift和o
offset
是被应用以组合用于双向预测的l0和l1预测信号的右移值和偏移值,其分别等于(15-bit-depth)和1<<(14-bit-depth) (2<<13)。此外,如(18)中所示,在所提出的方法中去除了已有prof设计中的裁剪操作(如(9)中所示)。
[0170]
图12示出了根据本公开的当应用所提出的双向预测prof方法时的prof过程的图示。prof过程1200包括l0运动补偿1210、l1运动补偿1220和双向预测prof 1230。l0运动补偿1210例如可以是来自先前参考图片的运动补偿样点的列表。先前参考图片是视频块中的当前图片之前的参考图片。l1运动补偿1220例如可以是来自下一参考图片的运动补偿样点的列表。下一参考图片是视频块中的当前图片之后的参考图片。如上文所描述的,双向预测prof 1230从l0运动补偿1210和l1运动补偿1220摄取运动补偿样点,并且输出双向预测样点。
[0171]
图12示出了当应用所提出的双向预测prof方法时的对应prof过程。prof过程1200包括l0运动补偿1210、l1运动补偿1220和双向预测prof1230。l0运动补偿1210例如可以是来自先前参考图片的运动补偿样点的列表。先前参考图片是视频块中的当前图片之前的参考图片。l1运动补偿1220例如可以是来自下一参考图片的运动补偿样点的列表。下一参考图片是视频块中的当前图片之后的参考图片。如上文所描述的,双向预测prof 1230从l0运动补偿1210和l1运动补偿1220摄取运动补偿样点,并且输出双向预测样点。
[0172]
为了论证所提出的方法对硬件流水线设计的潜在益处,图13示出了一个示例来说明当bdof和所提出的prof两者被应用时的流水线级。在图13中,一个帧间块的解码过程主要包含三个步骤:
[0173]
1)解析/解码编解码块的mv并获取参考样点。
[0174]
2)生成编解码块的l0预测信号和/或l1预测信号。
[0175]
3)当通过一种非仿射模式来预测编解码块时,基于bdof执行对所生成的双向预测样点的按样点细化,或者当通过仿射模式来预测编解码块时,基于prof执行对所生成的双向预测样点的按样点细化。
[0176]
图13示出了根据本公开的当bdof和所提出的prof两者被应用时的示例流水线级的图示。图13论证了所提出的方法对硬件流水线设计的潜在益处。流水线级1300包括解析/解码mv和提取参考样点1310、运动补偿1320、bdof/prof 1330。流水线级1300将对视频块blk0、bkl1、bkl2、bkl3和blk4进行编码。每个视频块将在解析/解码mv和获取参考样点1310中开始,并且顺序地移动到运动补偿1320,并且然后是运动补偿1320、bdof/prof 1330。这意味着blk0将不会在流水线级1300过程中开始,直到blk0移动到运动补偿1320。随着时间从t0变为t1、t2、t3和t4,这对于所有级和视频块都是相同的。
[0177]
在图13中,一个帧间块的解码过程主要包括三个步骤:
[0178]
第一,解析/解码编解码块的mv并获取参考样点。
[0179]
第二,生成编解码块的l0预测信号和/或l1预测信号。
[0180]
第三,当通过一种非仿射模式来预测编解码块时,基于bdof执行对所生成的双向预测样点的按样点细化,或者当通过仿射模式来预测编解码块时,基于prof执行对所生成的双向预测样点的按样点细化。
[0181]
如图13中所示,在应用所提出的协调方法之后,bdof和prof两者直接被应用于双向预测样点。鉴于bdof和prof被应用于不同类型的编解码块(即,bdof被应用于非仿射块并且prof被应用于仿射块),两个编解码工具不能同时被调用。因此,它们对应的解码过程可以通过共享相同的流水线级来进行。这比已有的prof设计更有效率,在已有的prof设计中,由于bdof和prof两者的双向预测工作流程不同,因此难以针对它们分配相同的流水线级。
[0182]
在上面的讨论中,所提出的方法仅考虑对bdof和prof的工作流程的协调。然而,根据已有设计,用于两个编解码工具的基本操作单元也以不同尺寸被执行。具体地,对于bdof,一个编解码块被拆分为尺寸为ws×hs
的多个子块,其中ws=min(w,16)并且hs=min(h,16),其中w和h是编解码块的宽度和高度。bodf操作(诸如梯度计算和样点细化导出)针对每个子块独立地被执行。另一方面,如先前所描述的,仿射编解码块被划分为4
×
4子块,每个子块被分配一个单独的mv,该mv基于4参数仿射模型或6参数仿射模型导出。由于prof仅被应用于仿射块,所以其基本运算单元为4
×
4子块。类似于双向预测工作流程低效率,针
对prof使用与bdof不同的基本操作单元尺寸对于硬件实现也不友好,并且使得bdof和prof难以共享整个解码过程的相同流水线级。为了解决此类问题,在一个实施例中,提出了将仿射模式的子块尺寸对齐为与bdof的子块尺寸相同。具体地,根据所提出的方法,如果一个编解码块通过仿射模式被编解码,则其将被拆分为尺寸为ws×hs
的子块,其中ws=min(w,16)并且hs=min(h,16),其中w和h是编解码块的宽度和高度。每个子块被分配一个单独的mv,并且被认为是一个独立的prof操作单元。值得一提的是,独立的prof操作单元确保了其上的prof操作是在不参考来自相邻prof操作单元的信息的情况下被执行的。具体地,一个样点位置处的prof mv差被计算为样点位置处的mv与样点所在的prof操作单元的中心处的mv之间的差;通过沿每个prof操作单元填充样点来计算由prof推导所使用的梯度。所提出的方法的所主张的优点主要包括以下方面:1)简化的流水线架构,其具有用于运动补偿和bdof/prof细化两者的统一的基本操作单元尺寸;2)减少的存储器带宽使用,这归因于用于仿射运动补偿的扩大的子块尺寸;3)分数样点插值的降低的每样点计算复杂度。
[0183]
还应当提及,由于利用所提出的方法降低了计算复杂度(即,第3项),可以去除针对仿射编解码块的已有6抽头插值滤波器约束。替代地,用于非仿射编解码块的默认8抽头插值也被用于仿射编解码块。总体计算复杂度在此情况下仍可以有利地与已有prof设计(其基于利用6抽头插值滤波器的4
×
4子块)相比较。
[0184]
对用于bdof和prof的梯度导出的协调
[0185]
如早前所描述的,bdof和prof两者都计算当前编解码块内的每个样点的梯度,其访问块的每一侧的一个额外行/列的预测样点。为了避免额外的插值复杂度,直接从整数参考样点复制块边界周围的扩展区域中的所需预测样点。然而,如在“当前bdof、prof和lic设计”章节中所指出的,不同位置处的整数样点被用于计算bdof和prof的梯度值。
[0186]
为了实现一个更多的统一设计,在下文中提出了两种方法来统一由bdof和prof使用的梯度导出方法。在第一种方法中,提出了将prof的梯度导出方法对齐为与bdof的梯度导出方法相同。具体地,通过第一种方法,用于在扩展区域中生成预测样点的整数位置通过对分数样点位置向下取整而被确定,也即,所选择的整数样点位置位于分数样点位置的左侧(对于水平梯度)和分数样点位置的上方(对于垂直梯度)。在第二种方法中,提出了将bdof的梯度推导方法对齐为与prof的梯度推导方法相同。更详细地,当应用第二种方法时,最接近预测样点的整数参考样点被用于梯度计算。
[0187]
图14示出了根据本公开的使用bdof的梯度导出方法的示例。在图14中,空白圆圈表示整数位置处的参考样点,三角形表示当前块的分数预测样点,并且灰色圆圈表示用于填充当前块的扩展区域的整数参考样点。
[0188]
图15示出了根据本公开的使用prof的梯度导出方法的示例。在图15中,空白圆圈表示整数位置处的参考样点,三角形表示当前块的分数预测样点,并且灰色圆圈表示用于填充当前块的扩展区域的整数参考样点。
[0189]
图14和图15示出了当分别应用第一方法(图14)和第二方法(图15)时,用于导出针对bdof和prof的梯度的对应整数样点位置。在图14和图15中,空白圆圈表示整数位置处的参考样点,三角形表示当前块的分数预测样点,并且灰色圆圈表示用于填充当前块的扩展区域以进行梯度导出的整数参考样点。
[0190]
基于控制点mv差的prof的提早终止
[0191]
根据当前prof设计,当通过仿射模式预测一个编解码块时,prof总是被调用。然而,如等式(6)和(7)中所指示的,一个仿射块的子块mv从控制点mv被导出。因此,当控制点mv之间的差相对较小时,每个样点位置处的mv应该一致。在这种情况下,应用prof的益处可能非常有限。因此,为了进一步降低prof的平均计算复杂度,提出了基于一个4
×
4子块内的按样点mv与按子块mv之间的最大mv差,来自适应地跳过基于prof的样点细化。因为一个4
×
4子块内的样点的prof mv差的值关于子块中心对称,所以最大水平prof mv差和最大垂直prof mv差可以基于等式(10)被计算为
[0192][0193]
根据本公开,在确定mv差是否足够小以跳过prof过程时可以使用不同度量。
[0194]
在一个示例中,基于等式(14),当绝对最大水平mv差与绝对最大垂直mv差的总和小于一个预定义阈值时,prof过程可以被跳过,也即,
[0195][0196]
在另一示例中,如果和的最大值不大于阈值,则prof过程可以被跳过。
[0197][0198]
其中max(a,b)是返回输入值a和b之间的较大值的函数。
[0199]
除了上述两个示例之外,本公开的精神还适用于在确定mv差是否足够小以跳过prof过程时使用其他度量的情况。
[0200]
在上述方法中,prof基于mv差的幅值被跳过。另一方面,除了mv差之外,prof样点细化还基于一个运动补偿块中的每个样点位置处的局部梯度信息被计算。对于包含较少高频细节(例如,平坦区域)的预测块,梯度值倾向于较小,使得导出的样点细化的值应该较小。考虑到这一点,根据本公开的另一实施例,提出了仅将prof应用于包含足够高频信息的块的预测样点。
[0201]
在确定块是否包含足够的高频信息使得prof过程值得针对该块被调用时,可以使用不同的度量。在一个示例中,基于预测块内的样点梯度的平均幅值(即,绝对值)做出决策。如果平均幅值小于一个阈值,则预测块被分类为平坦区域且不应当应用prof;否则,预测块被认为包含足够的高频细节,prof仍然适用。在另一示例中,预测块内的样点梯度的最大幅值可以被使用。如果最大幅值小于一个阈值,则prof针对该块将被跳过。在又一示例中,预测块的最大样点值与最小样点值之间的差i
max-i
min
可以被用于确定是否将prof应用于该块。如果此差值小于阈值,则prof针对该块将被跳过。值得注意的是,本公开的精神也适用于在确定给定块是否包含足够高频信息时使用一些其他度量的情况。
[0202]
处理针对仿射模式的prof与lic之间的相互作用
[0203]
因为当前块的相邻重建样点(即,模板)被lic使用以导出线性模型参数,所以一个lic编解码块的解码取决于其相邻样点的完全重建。由于这样的相互相依性,对于实际的硬件实现,lic需要在重建阶段中被执行,在重建阶段中,相邻重建样点变得可用于lic参数导
出。因为块重建必须顺序地(即,一个接一个地)被执行,所以吞吐量(即,每单位时间可以并行完成的工作量)是在将其他编解码方法联合应用于lic编解码块时要考虑的一个重要问题。在此章节中,提出了两种方法来处理在针对仿射模式启用prof和lic两者时的相互作用。
[0204]
图11示出了根据本公开的解码视频信号的方法。该方法例如可以应用于解码器。在步骤1110中,解码器可以获得第一参考图片i,第一参考图片i与视频信号内通过仿射模式编解码的视频块相关联。
[0205]
在步骤1112中,解码器可以基于视频块获得仿射编解码块的cpmv。
[0206]
在步骤1114中,解码器可以基于cpmv,从第一参考图片i中的参考样点,获得仿射编解码块的预测样点i(i,j)。i和j表示视频块内的一个样点的坐标。
[0207]
在步骤1116中,解码器可以基于prof导出仿射编解码块的prof预测样点细化。
[0208]
在步骤1118中,解码器可以接收lic标志,lic标志指示lic是否被应用于仿射编解码块。
[0209]
在步骤1120中,当lic被应用时,解码器可以基于仿射编解码块的相邻重建样点和它们的在第一参考图片中的对应参考样点,来导出lic权重和偏移。
[0210]
在步骤1122中,解码器可以基于prof预测样点细化以及lic权重和偏移,来获得仿射编解码块的最终预测样点。
[0211]
在本公开的第一实施例中,提出了针对一个仿射编解码块排他地应用prof模式和lic模式。如先前所论述的,在已有设计中,prof隐式地被应用于所有仿射块而无需信令,同时在编解码块级用信号发送或继承一个lic标志以指示lic模式是否应用于一个仿射块。根据本公开中的方法,提出了基于一个仿射块的lic标志的值有条件地应用prof。当标志等于1时,通过基于lic权重和偏移来调整整个编解码块的预测样点,而仅应用lic。否则(即,lic标志等于零),prof被应用于仿射编解码块以基于光流模型来细化每个子块的预测样点。图17a示出了基于所提出的方法的解码过程的一个示例流程图,其中不允许同时应用prof和lic。
[0212]
图17a示出了根据本公开的基于所提出的方法的解码过程的图示,其中不允许同时应用prof和lic。解码过程1720包括:lic标志开启?(步骤1722)、lic 1724和prof 1726。lic标志开启?(1722)是确定是否设置了lic标志的步骤,并且根据该确定采取下一步骤。lic 1724是如果设置了lic标志,则应用lic。prof 1726是如果没有设置lic标志,则应用prof。
[0213]
在本公开的第二实施例中,提出了在prof之后应用lic以生成一个仿射块的预测样点。具体地,在完成基于子块的仿射运动补偿之后,基于prof样点细化来细化预测样点;然后,通过将一对权重和偏移(如从模板及其参考样点导出)应用于经prof调整的预测样点,来进行lic以获得块的最终预测样点,其被示出为
[0214]
p[x]=α*(pr[x v] δi[x]) β
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(22)
[0215]
其中pr[x v]是当前块的由运动矢量v指示的参考块;α和β是lic权重和偏移;p[x]是最终预测块;δi[x]是如在(17)中导出的prof细化。
[0216]
图17b示出了根据本公开的应用prof和lic的解码过程的图示。解码过程1760包括仿射运动补偿1762、lic参数导出1764、prof 1766和lic样点调整1768。仿射运动补偿1762
应用仿射运动并且是对lic参数导出1764和prof 1766的输入。lic参数导出1764被应用以导出lic参数。prof 1766是prof被应用。lic样点调整1768是lic权重和偏移参数与prof组合。
[0217]
图17b示出了当应用第二方法时的示例解码工作流程。如图17b中所示,因为lic使用模板(即,相邻重建样点)来计算lic线性模型,所以一旦相邻重建样点变得可用,就可以立即导出lic参数。这意味着可以同时执行prof细化和lic参数导出。
[0218]
lic权重和偏移(即,α和β)以及prof细化(即,δi[x])通常是浮点数。为了友好的硬件实现,这些浮点数运算通常被实现为与一个整数值相乘,然后按照多个比特进行右移运算。在已有的lic和prof设计中,由于两个工具被单独设计,因此在两个级处应用分别按n
lic
个比特和n
prof
个比特的两个不同右移。
[0219]
根据本公开的第三实施例,为了在prof和lic被联合应用于仿射编解码块的情况下提高编解码增益,提出了以高精度应用基于lic的样点调整和基于prof的样点调整。这通过以下方式来完成:将它们的两个右移运算组合成一个运算,并且在最后应用它以导出当前块的最终预测样点(如(12)中所示)。
[0220]
图18示出了与用户接口1860耦接的计算环境1810。计算环境1810可以是数据处理服务器的一部分。计算环境1810包括处理器1820、存储器1840和i/o接口1850。
[0221]
处理器1820通常控制计算环境1810的整体操作,诸如与显示、数据采集、数据通信和图像处理相关联的操作。处理器1820可以包括一个或更多个处理器来执行指令以执行上文描述的方法中的全部或一些步骤。此外,处理器1820可以包括促进处理器1820与其他组件之间的交互的一个或更多个模块。处理器可以是中央处理单元(cpu)、微处理器、单片机、gpu等。
[0222]
存储器1840被配置为存储各种类型的数据,以支持计算环境1810的操作。存储器1840可以包括预定软件1842。这种数据的示例包括用于在计算环境1810上操作的任何应用或方法的指令、视频数据集、图像数据等。存储器1840可以通过使用任何类型的易失性或非易失性存储器设备或其组合来实现,诸如静态随机存取存储器(sram)、电可擦除可编程只读存储器(eeprom)、可擦除可编程只读存储器(eprom)、可编程只读存储器(prom)、只读存储器(rom)、磁存储器、闪存、磁盘或光盘。
[0223]
i/o接口1850提供处理器1820与外围接口模块(诸如键盘、点击轮、按钮等)之间的接口。按钮可以包括但不限于主页按钮、开始扫描按钮和停止扫描按钮。i/o接口1850可以与编码器和解码器耦接。
[0224]
在一些实施例中,还提供了一种非暂态计算机可读存储介质,其包括多个程序,诸如被包括在存储器1840中,由计算环境1810中的处理器1820可执行,用于执行上文描述的方法。例如,非暂态计算机可读存储介质可以是rom、ram、cd-rom、磁带、软盘、光学数据存储设备等。
[0225]
非暂态计算机可读存储介质中存储有多个程序,多个程序由具有一个或更多个处理器的计算设备执行,其中多个程序在由一个或更多个处理器执行时使计算设备执行上文描述的用于运动预测的方法。
[0226]
在一些实施例中,计算环境1810可以利用一个或更多个专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑设备(pld)、现场可编程门阵列
(fpga)、图形处理单元(gpu)、控制器、微控制器、微处理器或其他电子组件来实现,以用于执行上述方法。
[0227]
本公开的描述已经出于说明的目的被呈现,并且不旨在穷举或限于本公开。受益于在前面的描述和相关联的附图中呈现的教导,许多修改、变化和替代实施方式对于本领域普通技术人员将是显而易见的。
[0228]
选择和描述示例是为了解释本公开的原理,并且使本领域的其他技术人员能够理解本公开的各种实施方式,并且最好地利用基本原理和具有适合于预期特定用途的各种修改的各种实施方式。因此,将理解,本公开的范围不限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在被包括在本公开的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献