CN115280779A - 用于仿射运动补偿预测细化的方法和装置 - Google Patents
用于仿射运动补偿预测细化的方法和装置 Download PDFInfo
- Publication number
- CN115280779A CN115280779A CN202180021435.2A CN202180021435A CN115280779A CN 115280779 A CN115280779 A CN 115280779A CN 202180021435 A CN202180021435 A CN 202180021435A CN 115280779 A CN115280779 A CN 115280779A
- Authority
- CN
- China
- Prior art keywords
- sub
- block
- horizontal
- vertical
- offset
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- 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
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供了用于仿射运动补偿预测细化(AMPR)的方法和装置。该方法包括:在子块的像素位置处通过对包括多个子块的视频图片执行基于子块的仿射运动补偿来生成子块预测;在像素位置处使用插值滤波器获得用于子块预测的水平空间梯度和垂直空间梯度;以及在所述像素位置处基于相对于子块内的位置的像素位置获得第一MV与第二MV之间的运动矢量(MV)差。该第一MV是位于该像素位置的像素的MV,并且该第二MV是该子块的MV。
Description
相关申请的交叉引用
本申请要求于2020年3月20提交的临时申请No.62/992,897、发明名称为“仿射运动补偿预测细化”以及于2020年3月23提交的临时申请No.62/993,654、发明名称为“仿射运动补偿预测细化”的优先权,这些临时申请的全部内容通过引用完整地并入本文。
技术领域
本申请涉及视频编解码和压缩。更具体地,本申请涉及但不限于用于视频编解码中的用于仿射运动补偿预测细化(AMPR)的方法和装置。
背景技术
各种视频编解码技术可用于压缩视频数据。视频编解码是根据一种或多种视频编解码标准来执行的。例如,如今,一些众所周知的视频编解码标准包括由ISO/IEC MPEG和ITU-T VECG联合开发的通用视频编解码(VVC)、高效视频编解码(HEVC,也称为H.265或MPEG-H Part 2)和高级视频编解码(AVC,也称为H.264或MPEG-4Part 10)。AOMedia Video1(AV1)是由开放媒体联盟(AOM)开发的,作为其先前标准VP9的后继者。音视频编解码(AVS)是由中国的音频和视频编解码标准工作组制定的又一系列视频压缩标准,是指数字音频和数字视频压缩标准。大多数现有的视频编解码标准建立在著名的混合视频编解码框架上,即,使用基于块的预测方法(例如,帧间预测、帧内预测)来减少存在于视频图像或序列中的冗余,并且使用变换编解码来压缩预测误差的能量。视频编解码技术的重要目标在于将视频数据压缩为使用更低比特率的形式,同时避免或最小化视频质量的下降。
第一代AVS标准包括中国国家标准“信息技术,高级音视频编解码,第2部分:视频”(称为AVS1)和“信息技术,高级音视频编解码,第16部分:广播电视视频”(称为AVS+)。与MPEG-2标准相比,它可在相同的感知质量下提供大约50%的比特率节省。AVS1标准视频部分于2006年2月发布为中国国家标准。第二代AVS标准包括中国国家标准“信息技术,高效多媒体编解码”(称为AVS2)系列,其主要针对超高清电视节目的传输。AVS2的编解码效率是AVS+的编解码效率的两倍。2016年5月,AVS2被发布为中国国家标准。同时,AVS2标准视频部分由电气和电子工程师协会(IEEE)提交作为针对应用的一个国际标准。AVS3标准是针对UHD视频应用的新一代视频编解码标准,旨在超越最新国际标准HEVC的编解码效率。在2019年3月,在第68次AVS会议上,AVS3-P2基线已完成,其相对于HEVC标准提供大约30%的比特率节省。目前,存在一种称为高性能模型(HPM)的参考软件,其由AVS组维护以演示AVS3标准的参考实现。
发明内容
本公开提供了与针对AVS3标准的AMPR相关的技术的示例。
根据本公开的第一方面,提供一种用于AMPR的方法。该方法包括通过对包括多个子块的视频图片执行基于子块的仿射运动补偿,在子块中的像素位置处生成子块预测。另外,该方法包括通过使用插值滤波器在该像素位置处获得用于子块预测的水平空间梯度和垂直空间梯度。此外,该方法包括在该像素位置处并且基于相对于子块内的位置的像素位置获得第一运动矢量(MV)与第二MV之间的MV差。第一MV是位于该像素位置的像素的MV,第二MV是该子块的MV。
根据本公开的第二方面,提供一种用于AMPR的装置。该装置包括一个或更多个处理器以及存储器,该存储器被配置为存储能够由所述一个或更多个处理器执行的指令。在执行所述指令时,所述一个或更多个处理器被配置为:通过对包括多个子块的视频图片执行基于子块的仿射运动补偿,在子块中的像素位置处生成子块预测;使用插值滤波器在该像素位置处获得用于子块预测的水平空间梯度和垂直空间梯度;以及在该像素位置处并且基于相对于子块内的位置的像素位置获得第一运动矢量(MV)与第二MV之间的MV差。第一MV是位于该像素位置的像素的MV,第二MV是该子块的MV。
根据本公开的第三方面,提供一种用于AMPR的非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机可执行指令,这些计算机可执行指令在由一个或更多个计算机处理器执行时使所述一个或更多个计算机处理器执行动作,这些动作包括:通过对包括多个子块的视频图片执行基于子块的仿射运动补偿,在子块中的像素位置处生成子块预测;使用插值滤波器在该像素位置处获得用于子块预测的水平空间梯度和垂直空间梯度;以及在该像素位置处并且基于相对于子块内的位置的像素位置获得第一运动矢量(MV)与第二MV之间的MV差。第一MV是位于该像素位置的像素的MV,第二MV是该子块的MV。
附图说明
将通过参照附图中所示的具体示例来呈现本公开的示例的更详细的描述。鉴于这些附图仅描绘了一些示例,并且因此不被认为是对范围的限制,将通过使用附图利用附加的特征和细节来描述和解释示例。
图1是示出根据本公开的一些实施方式的示例性视频编码器的框图。
图2是示出根据本公开的一些实施方式的示例性视频解码器的框图。
图3A至图3E是示出根据本公开的一些实施方式的多类型树划分模式的示意图。
图4是示出根据本公开的一些实现方式的双向光流(BIO)模型的示例的示意图。
图5A至图5B是示出根据本公开的一些实施方式的4参数仿射模型的示例的示意图。
图6是示出根据本公开的一些实施方式的6参数仿射模型的示例的示意图。
图7示出了根据本公开的一些实施方式的针对仿射模式的利用光流的预测细化(PROF)过程。
图8示出了根据本公开的一些实施方式的计算从样点位置到导出子块MV的子块的特定位置的水平偏移和垂直偏移的示例。
图9示出了根据本公开的一些实施方式的一个仿射CU内的子块的示例。
图10是示出了根据本公开的一些实施方式的用于AMPR的示例性装置的框图。
图11是示出了根据本公开的一些实施方式的用于AMPR的示例性方法的流程图。
具体实施方式
现在将详细参照具体实施方式,在附图中示出具体实施方式的示例。在以下详细描述中,阐述了很多非限制性具体细节以便帮助理解本文呈现的主题。但是对于本领域普通技术人员将显而易见的是,可使用各种替代方案。例如,对于本领域普通技术人员将显而易见的是,本文呈现的主题可在具有数字视频能力的许多类型的电子设备上实现。
贯穿本说明书对“一个实施例”、“实施例”、“示例”、“一些实施例”、“一些示例”或类似语言的引用表示所描述的特定特征、结构或特性被包括在至少一个实施例或示例中。除非另有明确说明,否则结合一个或一些实施例描述的特征、结构、元件或特性也适用于其它实施例。
在整个公开内容中,除非另有明确说明,否则术语“第一”、“第二”、“第三”等都用作仅用于提及相关元件(例如,设备、组件、组合物、步骤等)的命名,而不指示任何空间或时间顺序。例如,“第一设备”和“第二设备”可指两个单独形成的设备,或者同一设备的两个部分、组件或操作状态,并且可被任意命名。
术语“模块”、“子模块”、“电路”、“子电路”、“电路系统”、“子电路系统”、“单元”或“子单元”可包括存储可由一个或更多个处理器执行的代码或指令的存储器(共享、专用或组合)。模块可包括具有或不具有存储的代码或指令的一个或更多个电路。模块或电路可包括直接或间接连接的一个或更多个组件。这些组件可以或可不物理地附接到彼此或彼此相邻定位。
如本文所使用的,取决于上下文,术语“如果”或“当......时”可被理解为表示“在......时”或“响应于......”。这些术语如果出现在权利要求中,则可不指示相关限制或特征是有条件的或可选的。例如,方法可包括以下步骤:i)当条件X存在时或如果条件X存在,执行功能或动作X',以及ii)当条件Y存在时或如果条件Y存在,执行功能或动作Y'。方法可以以执行功能或动作X'的能力和执行功能或动作Y'的能力两者来实现。因此,可在方法的多次执行时在不同时间执行功能X'和功能Y'两者。
单元或模块可纯粹通过软件、纯粹通过硬件或通过硬件和软件的组合来实现。在纯软件实施方式中,例如,单元或模块可包括直接或间接链接在一起的功能上相关的代码块或软件组件,以便执行特定功能。
图1示出了可与使用基于块的处理的许多视频编解码标准结合使用的示例性的基于块的混合视频编码器100的框图。在编码器100中,视频帧被分割为多个视频块以进行处理。对于每个给定视频块,基于帧间预测方法或帧内预测方法来形成预测。在帧间预测中,基于来自先前重建帧的像素点,通过运动估计和运动补偿来形成一个或更多个预测因子。在帧内预测中,基于当前帧中的重建像素点来形成预测因子。通过模式决策,可选择最佳预测因子来预测当前块。
帧内预测(也称为“空间预测”)使用来自相同视频图片和/或条带中的已经编解码的相邻块的样点(其称为参考样点)的像素来预测当前视频块。空间预测减少了视频信号中固有的空间冗余。
帧间预测(也称为“时间预测”)使用来自已经编解码的视频图片的重建像素来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。通常通过指示当前CU与其时间参考之间的运动的量和方向的一个或更多个运动矢量(MV)来用信号传送给定编码单元(CU)或编码块的时间预测信号。此外,如果支持多个参考图片,则另外发送一个参考图片索引,其中该参考图片索引用于识别时间预测信号来自参考图片存储库中的哪个参考图片。
在执行空间和/或时间预测之后,编码器100中的帧内/帧间模式决策电路121例如基于率失真优化方法来选择最佳预测模式。然后从当前视频块减去块预测因子120;并且使用变换电路102和量化电路104对所得到的预测残差进行去相关。所得到的量化的残差系数通过反量化电路116被反量化并且通过逆变换电路118被逆变换以形成重建残差,接着将重建残差加回到预测块以形成CU的重建信号。此外,在将重建CU放入图片缓冲器117的参考图片存储库中并用于对后面的视频块进行编码之前,可对重建CU应用环路滤波115,诸如去块滤波器、样点自适应偏移(SAO)和/或自适应环路滤波器(ALF)。为了形成输出视频比特流114,将编码模式(帧间或帧内)、预测模式信息、运动信息和量化的残差系数全部发送到熵编码单元106,以进一步压缩和打包以形成比特流。
例如,去块滤波器在AVC、HEVC以及VVC的目前版本中可用。在HEVC中,被称为样点自适应偏移(SAO)的附加环路滤波器被定义为用于进一步提高编解码效率。在VVC标准的当前版本中,被称为自适应环路滤波器(ALF)的又一环路滤波器正在被积极地研究,并且它很有可能被包括在最终标准中。
这些环路滤波器操作是可选的。执行这些操作有助于提高编解码效率和视觉质量。它们也可根据由编码器100做出的决策被关闭,以节省计算复杂度。
应注意,在编码器100打开这些滤波器选项的情况下,帧内预测通常基于未经滤波的重建像素点,而帧间预测基于经过滤波的重建像素点。
图2是示出了可与许多视频编解码标准结合使用的示例性的基于块的视频解码器200的框图。该解码器200类似于驻留在图1的编码器100中的重建相关部分。在解码器200中,首先通过熵解码202对输入的视频比特流201进行解码,以导出量化的系数等级和预测相关信息。然后通过反量化204和逆变换206对量化的系数等级进行处理,以获得重建的预测残差。在帧内/帧间模式选择器212中实现的块预测因子机制被配置为基于经解码的预测信息来执行帧内预测208或运动补偿210。通过使用求和器214对来自逆变换206的重建预测残差和由块预测因子机制产生的预测输出进行求和来获得一组未经滤波的重建像素点。
在将重建块存储在用作参考图片存储库的图片缓冲器213中之前,重建块可进一步通过环路滤波器209。图片缓冲器213中的重建视频可被发送以驱动显示设备以及用于预测后面的视频块。在打开环路滤波器209的情况下,对这些重建像素执行滤波操作以导出最终的重建视频输出222。
上文所提及的视频编码/解码标准(诸如HEVC和AV3)概念上类似。例如,它们都使用基于块的混合视频编解码框架。以下详述一些标准中的块分割方案。
HEVC仅基于四叉树来分割块。用于压缩的基本单元被称为编码树单元(CTU)。每个CTU可包含一个编码单元(CU)或递归地划分为四个较小CU,直到达到预定义最小CU尺寸为止。每个CU(也称为叶CU)包含一个或更多个预测单元(PU)和变换单元(TU)树。
在AVS3中,一个编码树单元(CTU)基于四叉树/二叉树/扩展四叉树被划分为多个CU以适应变化的局部特性。另外,去除了HEVC中的多个分割单元类型的概念,即,AVS3中不存在对CU、PU和TU的区分。相反,每个CU总是被用作用于预测和变换两者的基本单元,而无需进一步的分割。在AVS3的树分割结构中,首先基于四叉树结构分割一个CTU。然后,可基于二叉树和扩展四叉树结构进一步分割每个四叉树叶节点。
图3A至图3E是示出根据本公开的一些实施方式的多类型树划分模式的示意图。如图3A至图3E中所示,多类型树结构中存在五种划分类型:四元分割301、垂直二元分割302、水平二元分割303、垂直扩展四元分割304和水平扩展四元分割305。
在当前的VVC和AVS3标准中,可应用基于块的运动补偿来实现编解码效率、复杂度和存储器访问带宽之间的权衡。平均预测精度次于基于像素的预测,这是因为每个块或子块内的所有像素共享同一块级运动矢量。为提高每个像素处的预测精度,针对仿射模式的PROF被采用为当前VVC标准中的编解码工具。在AVS3中,不存在类似的工具。
本公开的一些示例提供了可选的基于光流的方法来提高仿射模式预测经度,如下所述。
仿射模式
在HEVC中,仅平移运动模型被应用于运动补偿预测。而在现实世界中,存在许多种类的运动,例如,放大/缩小、旋转、透视运动和其他不规则运动。在VVC和AVS3中,通过针对每个帧间编解码块用信号发送一个标志以指示是平移运动模型还是仿射运动模型被应用于帧间预测,来应用仿射运动补偿预测。在当前VVC和AVS3设计中,对于一个仿射编解码块,支持两种仿射模式,包括4参数仿射模式和6参数仿射模式。
4参数仿射模型可具有以下参数:分别用于水平方向和垂直方向上的平移运动的两个参数、用于针对两个方向的缩放运动的一个参数和用于针对两个方向的旋转运动的一个参数。在4参数仿射模型中,水平缩放参数可等于垂直缩放参数,并且水平旋转参数可等于垂直旋转参数。为了实现运动矢量和仿射参数的更好调和,可从位于当前块的左上角和右上角处的两个MV(其也被称为控制点运动矢量(CPMV))导出那些仿射参数。
图5A至图5B是示出了根据本公开的一些实施方式的4参数仿射模型的示例的示图。如图5A至图5B中所示,块的仿射运动场由两个控制点MV(V0,V1)描述。基于控制点运动,一个经仿射编解码的块的运动场(vx,vy)被描述为如下等式(1):
6参数仿射模式可具有以下参数:分别用于水平方向和垂直方向上的平移运动的两个参数、分别用于水平方向上的缩放运动和旋转运动的两个参数、以及分别用于垂直方向上的缩放运动和旋转运动的另外两个参数。6参数仿射运动模型利用三个CPMV被编解码。
图6是示出根据本公开的一些实施方式的6参数仿射模型的示例的示图。如图6中所示,一个6参数仿射块的三个控制点位于块的左上角、右上角和左下角处。左上控制点处的运动与平移运动相关,并且右上控制点处的运动与水平方向上的旋转和缩放运动相关,并且左下控制点处的运动与垂直方向上的旋转和缩放运动相关。与4参数仿射运动模型相比,6参数仿射运动模型的水平方向上的旋转运动和缩放运动可与垂直方向上的旋转运动和缩放运动不同。
在一些示例中,当(V0,V1,V2)是图6中的当前块的左上角、右上角和左下角的MV,则每个子块(vx,vy)的运动矢量使用控制点处的三个MV被导出为如以下等式(2):
针对仿射模式的利用光流的预测细化(PROF)
为了提高仿射运动补偿精度,在VVC中采用了PROF,其基于光流模型来细化基于子块的仿射运动补偿。具体地,在执行基于子块的仿射运动补偿之后,一个仿射块的每个亮度预测样点通过基于光流等式导出的一个样点细化值而被修改。在一些示例中,PROF的操作可被概括为以下四个步骤:
在第一步骤中,使用如根据上面针对4参数仿射模型的等式(1)导出的子块MV或者上面针对6参数仿射模型的等式(2)导出的子块MV来执行基于子块的仿射运动补偿,以产生子块预测I(i,j)。
此外,在第二步骤中,每个预测样点的空间梯度gx(i,j)和gy(i,j)被计算为如以下等式(3):
因此,为了计算梯度,需要在一个子块的四侧中的每一侧上产生一个额外行和/或列的预测样点,这将4×4子块扩展为6×6子块。为了减少存储器带宽和复杂性,扩展边界上的样点是从参考图片中的最近整数像素位置被复制的,以避免额外的插值过程。
另外,在第三步骤中,亮度预测细化值通过以下等式(4)被计算:
ΔI(i,j)=gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j) (4)
其中,Δv(i,j)是由v(i,j)表示的针对样点位置(i,j)计算的像素MV与像素(i,j)所在的子块的子块MV之间的差。
图7示出了根据本公开的一些实施方式的针对仿射模式的PROF过程。在PROF中,在将预测细化与原始预测样点相加之后,执行一个裁剪操作“clip3”以将细化的预测样点的值裁剪到15比特内,如以下等式中所示:
Ir(i,j)=I(i,j)+ΔI(i,j)
Ir(i,j)=clip3(-dILimit,dILimit-1,Ir(i,j))
dILimit=(1<<max(13,BitDepth+1))
其中,I(i,j)和Ir(i,j)分别是位置(i,j)处的原始预测样点值和经细化的预测样点值。函数clip3(min,max,val)将给定值“val”限制在[min,max]的范围内。
因为仿射模型参数和相对于子块中心的像素位置在子块与子块之间不改变,所以可针对第一子块计算Δv(i,j),并且将其再用于同一CU中的其他子块。当Δx和Δy是从样点位置(i,j)到样点所属子块的中心的水平偏移和垂直偏移,Δv(i,j)可被导出为如以下等式(5)所示:
基于仿射子块MV导出等式(1)和(2),可导出上面等式(5)中的参数c、d、e和f。具体地,对于4参数仿射模型,可如以下等式中所示导出参数c、d、e和f:
此外,对于6参数仿射模型,可如以下等式中所示导出参数c、d、e和f:
其中,(v0x,v0y)、(v1x,v1y)、(v2x,v2y)是当前编码块的左上控制点MV、右上控制点MV和左下控制点MV,w和h是块的宽度和高度。在PROF中,MV差Δvx和Δvy总是以1/32像素的精度被导出。
最后,在第四步骤中,将亮度预测细化ΔI(i,j)添加到子块预测I(i,j)中。如以下等式(6)所示产生针对位置(i,j)处的样点的最终预测I′(i,j):
I′(i,j)=I(i,j)+ΔI(i,j) (6)
双向光流(BIO)
视频编解码中的双向预测是从参考图片获得的两个时间预测块的简单组合。然而,由于运动矢量的信令成本和精度权衡,在解码器端接收的运动矢量可能不那么精确。结果,可能仍然存在可在两个预测块之间观察到的其余的小运动,这可能降低运动补偿预测的效率。为了解决这个问题,在VVC和AVS3标准中都采用BIO工具来补偿针对一个块内的每个样点的这种运动。具体地,BIO是在使用双向预测时在基于块的运动补偿预测之上执行的逐样点运动细化。
在BIO设计中,针对一个块中的每个样点的经细化的运动矢量的导出基于经典光流模型。令I(k)(x,y)为从参考图片列表k(k=0,1)导出的预测块的坐标(x,y)处的样点值,并且和为样点的水平梯度和垂直梯度。假设光流模型有效,则(x,y)处的运动细化(vx,vy)可通过下面的光流等式(7)导出:
利用光流等式(7)和沿着运动轨迹的预测块的插值的组合,如图4所示,可获得BIO预测,如以下等式(8)所示:
图4是示出了根据本公开的一些实施方式的BIO模型的示例的示意图。如图4所示,(MVx0,MVy0)和(MVx1,MVy1)指示用于产生两个预测块I(0)和I(1)的块级运动矢量。此外,通过最小化运动细化补偿(即,图4中的A和B)之后的样点值之间的差Δ,来计算样点位置(x,y)处的运动细化(vx,vy),如下面的等式(9)所示:
另外,为了确保导出的运动细化的均匀,假设运动细化在以(x,y)为中心的局部周围区域内是一致的;因此,在AVS3中的BIO设计中,通过使在(x,y)处的当前样点周围的4×4窗口Ω内的Δ最小化来导出(vx,vy)的值,如下面的等式(10)所示:
如等式(8)和(10)所示,除了块级MC之外,还需要在BIO中针对每个运动补偿块(即I(0)和I(1))的每个样点导出梯度,以便导出局部运动细化并且产生该样点位置处的最终预测。在AVS3中,通过二维(2D)可分离有限脉冲响应(FIR)滤波过程来计算梯度,该过程定义一组8抽头滤波器并应用不同的滤波器以根据块级运动矢量(例如,图4中的(MVx0,MVy0)和(MVx1,MVy1)的精度导出水平梯度和垂直梯度。表1示出了由BIO使用的梯度滤波器的系数。
表1
分数位置 | 梯度滤波器 |
0 | {-4,11,-39,-1,41,-14,8,-2} |
1/4 | {-2,6,-19,-31,53,-12,7,-2} |
1/2 | {0,-1,0,-50,50,0,1,0} |
3/4 | {2,-7,12,-53,31,19,-6,2} |
最后,BIO仅被应用于由来自时间相邻图片的两个参考块预测的双向预测块。另外,在不将额外信息从编码器发送到解码器的情况下启用BIO。具体地,BIO被应用于具有前向预测信号和后向预测信号两者的所有双向预测块。
最终运动矢量表达式(UMVE)
AVS3标准中的UMVE模式是与VVC标准中被命名为具有运动矢量差(MMVD)的合并模式相同的工具。除了从一个当前块的空间/时间相邻块导出当前块的运动信息的常规合并模式之外,在VVC和AVS标准两者中引入MMVD/UMVE模式作为一种特殊合并模式。
具体来说,在VVC和AVS3两者中,其在编码块级通过一个MMVD标志被用信号传送。在MMVD模式中,首先产生两个基本合并候选作为常规合并模式的前两个候选。在选择并用信号传送一个基本合并候选之后,用信号传送额外语法元素以指示添加到所选择的合并候选的运动的MVD。MMVD语法元素包括用于选择基本合并候选的合并候选标志、用于指定MVD大小的距离索引和用于指示MVD方向的方向索引。
在AVS3标准中,使用类似于VVC标准的基于子块的仿射运动补偿(仿射模式)来产生经帧间预测的像素值。这种基于子块的预测是编码效率、复杂度和存储器访问带宽之间的权衡。平均预测精度不如基于像素的预测,这是因为每个子块内的所有像素共享相同运动矢量。与VVC标准不同,在仿射模式中,AVS3标准在基于子块的运动补偿之后不具有像素级细化。
本公开提供一种用于提高仿射模式预测精度的新方法。在基于常规子块的仿射运动补偿之后,通过添加由光流等式导出的差分值来细化每个像素的预测值。所提出的方法可被称为仿射运动补偿预测细化(AMPR)。AMPR可在不显著增加复杂度的情况下实现像素级预测精度,并且还保持与仿射模式中的常规基于子块的运动补偿相当的最差情况存储器存取带宽。尽管AMPR也建立在光流上,但它在以下方面与VVC标准中的PROF显著不同。
首先,在每个像素处进行梯度计算。与在每侧将子块预测扩展一个像素的PROF不同,AMPR利用基于插值的滤波进行每个像素处的梯度计算,这允许AVS3中的AMPR和BIO工作流程之间的统一设计。
第二,在每个像素处进行MV差计算。与始终基于相对于子块中心的像素位置来计算MV差值的PROF不同,在AMPR中,可基于相对于子块内的不同位置的像素位置来计算MV差值。
第三是提前终止。与当通过仿射模式预测编码块时始终在解码器侧调用的PROF过程不同,可基于指示应用AMPR不是好的性能和/或复杂度权衡的某些定义条件而在解码器侧自适应地跳过AMPR。
在一些示例中,此提前终止方法还可用于简化编码器侧操作。在本公开的示例中还呈现了用于AMPR过程的一些编码器侧优化方法以减少其延迟和能量消耗,如针对仿射UMVE跳过AMPR、在应用AMPR之前检查父CU处的最佳模式选择、对于某些块尺寸的运动估计跳过AMPR、在应用AMPR之前检查像素MV差的大小、针对一些图片类型(如低延迟图片或非低延迟图片)跳过AMPR等。
AMPR的示例性工作流程
AMPR方法可包括如下所述的五个步骤。在第一步骤中,执行常规的基于子块的仿射运动补偿以产生每个像素位置(i,j)处的子块预测I(i,j)。
在第二步骤中,使用基于插值的滤波在每个像素位置处计算子块预测的水平空间梯度gx(i,j)和垂直空间梯度gy(i,j)。在一些示例中,仿射预测样点的水平梯度和垂直梯度两者是从时间参考图片中的整数样点位置处的参考样点直接计算的。这样做的一个优点是,对于每个仿射子块,可在产生其预测样点时同时产生其梯度值。此梯度计算方法的另一设计益处是其还与AVS标准中的其它编解码工具(例如BIO)所使用的梯度计算过程一致。在标准中不同模块之间共享相同的过程对于实际硬件编解码器实现中的流水线和/或并行设计是友好的。
具体来说,梯度导出过程的输入是与用于仿射子块的运动补偿的参考样点相同的参考样点和子块的输入运动(MVx,MVy)的相同分数分量(fracX,fracY)。为了导出每个样点位置处的梯度值,除了用于仿射预测的默认8抽头FIR滤波器hL之外,在所提出的方法中引入另一组新的FIR滤波器hG来计算梯度值。
另外,取决于导出的梯度的方向,应用滤波器hG和hL的顺序不同。在导出水平梯度gx(i,j)的情况下,首先在水平方向上应用梯度滤波器hG以导出水平分数样点位置fracX处的水平梯度值;然后,垂直地应用插值滤波器hL以在垂直分数样点位置fracY处插值梯度值。
相反,当导出垂直梯度gy(i,j)时,首先水平地应用插值滤波器hL以在水平样点位置fracX处插值中间插值样点,随后在垂直方向上应用梯度滤波器hG以从中间插值样点导出垂直分数样点位置fracY处的垂直梯度值。
在一些示例中,可以以不同的滤波器系数精度和不同数量的抽头产生梯度滤波器,这可提供梯度计算精度和计算复杂度之间的各种权衡。例如,具有更多滤波器抽头和/或具有更高滤波器系数精度的梯度滤波器通常可导致更好的编解码效率,但是由于梯度计算过程而以更多的计算操作(例如,多个加法、乘法和移位)为代价。在一个示例中,针对AMPR的水平和/或垂直梯度计算提出以下8抽头滤波器,如表2中所示。表2是用于基于输入样点值的1/16像素精度产生空间梯度的预定义8抽头插值滤波器系数fgrad[p]的示例性表。
表2
在另一示例中,为了降低梯度计算的复杂度,如表3所示的以下4抽头FIR滤波器被用于所提出的AMPR方法的梯度产生。表3是用于基于输入样点值的1/16像素精度产生空间梯度的预定义4抽头插值滤波器系数fgrad[p]的示例性表。
表3
在第三步骤中,在每个像素位置(i,j)处计算每个像素的MV与所述像素所属的子块的MV之间的MV差Δv(i,j)。图8示出了计算从样点位置到导出子块MV的子块的特定位置的水平偏移和垂直偏移的示例。如图8所示,从样点位置(i,j)到导出子块MV的子块的特定位置(i′,j′)计算水平偏移Δx和垂直偏移Δy。在一些示例中,特定位置(i′,j′)可能并不总是子块的中心。如图8中所示,通过等式(5)基于相对于子块内的特定位置的像素位置来计算Δv(i,j)。
在一个示例中,对于仿射模式,令(i,j)为像素所属的子块内的像素位置/坐标,并且w和h为子块的宽度和高度(例如,对于4×4子块,w=h=4,对于8×8子块,w=h=8),针对每个像素(i,j)的水平偏移Δx和垂直偏移Δy(Δx和Δy在等式(5)中定义)可如下导出,其中i=0…(w-1))和j=0…(h-1)。
在一个示例中,如果子块MV是从整数位置处的子块中心处的位置导出,则Δx和Δy可通过下面示出的等式来计算:
或者,如果子块MV是从分数位置处的子块中心处的位置导出,则Δx和Δy可通过下面示出的等式来计算:
在另一示例中,如果子块MV是从子块的左上角处的位置导出,则Δx和Δy可通过下面示出的等式来计算:
在另一示例中,如果子块MV是从子块内的右上角处的位置导出,则Δx和Δy可通过下面示出的等式计算:
或者,如果子块MV是从子块外部的右上角处的位置导出的,则Δx和Δy可通过下面示出的等式来计算:
在另一示例中,如果子块MV是从子块内的左下角处的位置导出,则Δx和Δy可通过下面示出的等式计算:
或者,如果子块MV是从子块外部的左下角处的位置导出,则Δx和Δy可被计算为:
Δx=i
Δy=(j-h)
在另一示例中,可通过等式(5)来计算Δv(i,j),Δx和Δy是从样点位置(i,j)到该样点所属的子块的导频样点位置的水平偏移和垂直偏移。导频样点位置是指一个子块内的样点位置,其用于导出用于产生子块的基于子块的预测样点的MV。在一个示例中,基于当前CU内的子块的位置,如下导出Δx和Δy的值。
图9示出了根据本公开的一些实施方式的一个仿射CU内的子块的示例。对于左上方子块(即图9中的子块A),Δx=i,Δy=j。对于右上方子块,(即图9中的子块B),Δx=(i-w+1),Δy=j。对于左下方子块(即图9中的子块C),当应用6参数仿射模型时,Δx=i,Δy=(j-h+1);并且当应用4参数仿射模型时,Δx=(i-(w>>1)-0.5),Δy=(j-(h>>1)-0.5)。对于其他子块,Δx=(i-(w>>1)-0.5),Δy=(j-(h>>1)-0.5)。
一旦计算了水平偏移Δx和垂直偏移Δy,就可通过下面的等式(11)导出Δv(i,j):
其中c、d、e和f是仿射模型参数,其是已知的,这是因为当前块是仿射模式编码块。等式(11)类似于VVC标准中的PROF工具的等式(5)。
在第四步骤中,通过等式(4)计算预测细化值。
在第五步骤中,将预测细化添加到子块预测I(i,j)。最终预测I′(i,j)如等式(6)产生。
在本公开中,所提出的AMPR工作流程可被应用于亮度分量和/或色度分量。
在一个示例中,为实现良好性能/复杂度权衡,所提出的AMPR仅被应用于细化亮度分量的仿射预测样点,而色度预测样点仍基于现有的基于子块的仿射运动补偿而产生。
在另一示例中,为了细化对齐,通过所提出的AMPR过程来细化亮度分量和色度分量两者。在这种情况下,可以用不同的方式导出逐样点的MV差Δv(i,j)。
在一个示例中,当在上述第四步骤中计算预测细化值时,可始终基于亮度子块仅导出一次逐样点MV差Δv(i,j)然后将其再用于色度分量。在这种情况下,色度分量所使用的Δv(i,j)的值可根据同位的亮度编码块与色度编码块之间的采样网格比率被缩放。例如,对于4:2:0视频,重复使用的Δv(i,j)的值可在由色度分量使用之前减半,而对于4:4:4视频,重复使用的Δv(i,j)的相同值可由色度分量使用。对于4:2:2视频,在由色度分量使用之前,Δv(i,j)的水平偏移可减半,而Δv(i,j)的垂直偏移可不改变。
在另一示例中,可针对亮度分量和色度分量单独导出逐样点MV差Δv(i,j),其中导出过程可与上面描述的第三步骤相同。
在另一示例中,提出了在将亮度运动细化Δv(i,j)重复用于色度的方法与基于输入视频的色度样点格式单独导出亮度运动细化和色度运动细化的方法之间自适应地切换。例如,对于4:2:0和4:2:2视频,假定亮度分量和色度分量的采样网格未对齐,则可应用亮度分量和色度分量的运动细化的单独导出。另一方面,当输入视频是4:4:4色度样点格式时,它仅需要导出运动细化一次(即针对亮度),然后将其重复用于其它两个颜色分量,这是因为三个颜色分量的采样网格是完全对齐的。
在另一示例中,用信号传送一个标志以指示AMPR是否被应用于各种编解码级(例如,序列级、图片级、条带级等)的色度分量。此外,如果上述启用/禁用标志为真,则可从编码器向解码器用信号传送另一标志,以指示色度运动细化是从对应的控制点运动矢量被重新计算还是直接从亮度分量的对应运动细化借用。
AMPR的选择性启用
通过应用AMPR而导出的预测细化可能不总是有益的或/和必要的。根据等式(4),导出的ΔI(i,j)的重要性由导出的Δv(i,j)和g(i,j)的精度和大小来确定。
在一些示例中,可基于特定条件有条件地应用AMPR操作。这可通过用信号传送针对每个块的标志以指示是否应用AMPR模式来实现。这也可通过使用相同的条件来实现,以在编码器侧和解码器侧都启用AMPR操作,而不需要额外的信令。
这种有条件地应用AMPR操作的动机是,如果CU的控制点运动矢量(CPMV)不准确,或导出的仿射模型(例如,2参数、4参数或6参数仿射模式)不准确,则随后通过等式(11)导出的Δv(i,j)也可能不准确。在这种情况下,AMPR操作可能不会有助于或甚至损害编解码性能,因此针对块跳过AMPR操作是更好的。这种有条件地应用AMPR操作的另一个动机是,在一些情况下,应用AMPR的益处可能是微不足道的,并且从计算复杂性的角度来看,关闭该操作也是更好的。
在一个示例中,可根据是否显式地用信号传送CMPV来应用AMPR操作。在CPMV不被显式地用信号传送而是从空间相邻CU隐式地导出的仿射合并模式下,可针对当前CU跳过AMPR,这是因为此模式下的CPMV可能不准确。
在另一示例中,如果例如当与某些预定义或动态确定的阈值相比时,导出的Δv(i,j)或/和g(i,j)的大小较小,则可跳过AMPR。此类阈值可基于各种因素(例如,CU宽高比和/或子块尺寸等)来确定。此类示例可以以下面描述的不同方式实施。
在一个示例中,如果针对子块内的所有像素所导出Δv(i,j)的绝对值小于阈值,则可跳过此子块的AMPR。该条件可具有不同的实施变化。例如,可通过仅检查当前子块的四个角来简化针对所有像素所导出Δv(i,j)的绝对值的检查,其中可如以下等式(12)中所示找到针对子块内的所有像素所导出的Δv(i,j)的最大绝对值:
其中像素位置(i,j)可以是子块中的任何像素坐标,或者可来自四个角(0,0)、(w-1,0)、(0,h-1)、(w-1,h-1)。
在另一示例中,可通过以下等式获得所有Δb(i,j)的最大绝对值的计算:
其中样点位置(i,j)是CU中除了左上方子块(即,图9中的子块A)、右上方子块(即,图9中的子块B)和左下方子块(即,图9中的子块C)之外的那些子块的四个角。子块内的四个角像素的坐标是:(0,0)、(w-1,0)、(0,h-1)、(w-1,h-1)。|x|是取x的绝对值的函数。
在另一示例中,针对子块内的所有像素所导出的Δv(i,j)的检查可如以下等式(13)共同执行或如以下等式(14)从水平方向和垂直方向单独执行。
在上面的等式(13)和(14)中,ΔI(i,j)的不同相似形式的表达式表示不同的简化方法。例如,在ΔI(i,j)=gy(i,j)*Δvy(i,j)的情况下,可跳过gx和Δvx的计算。
在另一示例中,对导出的Δv(i,j)的检查可与非简化的AMPR操作组合。在这种情况下,等式(14)可与等式(4)合并,然后通过以下等式计算预测细化值:
在一些示例中,threshvx或threshvy可具有不同或相同的值。
在一些示例中,当针对子块导出Δv(i,j)时,可取决于哪个位置用于导出子块MV来确定threshvx和threshvy的值。换言之,如果两个子块的MV是使用不同位置导出的,则可针对这两个子块确定threshvx和threshvy的一对相同值或一对不同值。例如,对于基于子块中心导出子块级MV的子块,其threshvx和threshvy的一对值可与基于子块左上角的位置导出子块级MV的子块的threshvx和threshvy的一对值相同或不同。
在一些示例中,threshvx和threshvy的值可以以像素为单位被定义为在[1/32,1/16]的范围内。例如,(1/16)×(10/16)、(1/16)×(12/16)或(1/16)×(14/16)的值可被用作阈值。在这种情况下,阈值是1/16像素的浮点数,例如以1/16像素为单位的0.625、以1/16像素为单位的0.75、或以1/16像素为单位的0.875。
在一些示例中,可基于图片类型定义threshvx和threshvy的值。对于低延迟图片,所导出的仿射模型参数可具有比其它非低延迟图片更小的幅值,这是因为低延迟图片倾向于具有更小和/或更平滑的运动,因此对于那些阈值可优选更小值。
在一些示例中,threshvx和threshvy的值可相同,而无论不同图片类型如何。
在一些示例中,如果针对子块内的所有像素导出g(i,j)的大部分的绝对值小于阈值,则可针对此子块跳过AMPR。此方法的一个示例是子块包含可由平坦纹理(例如,不具有或具有少量高频细节)组成的平滑表面。
在一些示例中,Δv(i,j)和g(i,j)的重要性可联合考虑或以混合方式使用以决定针对当前子块或CU是否应跳过AMPR。
编码器侧优化
在AVS3标准中,仿射UMVE模式对于编码器来说是计算密集的,因为它涉及针对每个合并模式候选选择最佳距离索引。当针对每个候选距离索引计算绝对变换差之和(SATD)代价时,总是应用常规仿射运动补偿。如果在仿射运动补偿之上应用AMPR,则可显著增加计算量。
在一个示例中,在编码器侧,在针对仿射UMVE模式的基于SATD的代价计算期间跳过AMPR操作。通过实验发现,虽然根据最佳SATD代价选择最佳索引,但是在SATD计算期间是否应用AMPR通常不会改变最佳SATD代价的排序。因此,利用所提出的方法,启用AMPR模式不会导致针对仿射UMVE模式的明显编码器复杂度。
运动估计是编码器侧的另一主要开销。在另一示例中,取决于特定条件,可跳过AMPR过程。这些条件指示CU的最佳编码模式在模式选择过程之后不太可能是仿射模式。
这种条件的一个示例是当前CU是否具有已经被确定为通过显式仿射模式或仿射合并模式编解码的父CU。这是由于CU与其父CU之间的编解码模式选择的强相关性,并且如果上述条件为真,则当前CU的最佳编解码模式也很可能是显式仿射模式。
用于启用AMPR的另一示例性条件是当前CU的父CU是否被确定为利用显式仿射模式进行帧间预测。如果为真,则在当前CU的仿射运动估计期间应用AMPR;否则,在当前CU的仿射运动估计期间跳过AMPR。
与诸如64×64CU的大块尺寸CU相比,诸如16×16CU的小尺寸CU在应用AMPR时具有高得多的平均每像素计算代价。为了有效地节省计算复杂度,在本公开的另一示例中,在运动估计过程期间,可针对小尺寸CU跳过AMPR。CU的尺寸可被定义为像素的总数。可定义像素数目阈值,例如16×16或16×32或32×32,并且对于尺寸小于所定义阈值的块,可在针对该块的仿射运动估计过程期间跳过AMPR。
图10是示出了根据本公开的一些实施方式的用于AMPR的装置的框图。装置1000可以是终端,诸如移动电话、平板计算机、数字广播终端、平板设备或个人数字助理。
如图10所示,装置1000可包括以下组件中的一个或更多个:处理组件1002、存储器1004、电源组件1006、多媒体组件1008、音频组件1010、输入/输出(I/O)接口1012、传感器组件1014和通信组件1016。
处理组件1002通常控制装置1000的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作有关的操作。处理组件1002可包括用于执行指令以完成上述方法的全部或部分步骤的一个或更多个处理器1020。此外,处理组件1002可包括用于促进处理组件1002与其他组件之间的交互的一个或更多个模块。例如,处理组件1002可包括用于促进多媒体组件1008与处理组件1002之间的交互的多媒体模块。
存储器1004被配置为存储不同类型的数据以支持装置1000的操作。此类数据的示例包括用于在装置1000上操作的任何应用或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器1004可由任何类型的易失性或非易失性存储设备或其组合来实现,并且存储器1004可以是静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪存、磁盘或光盘。
电源组件1006为装置1000的不同组件供电。电源组件1006可包括电源管理系统、一个或更多个电源以及与为装置1000产生、管理和分配电力相关联的其他组件。
多媒体组件1008包括在装置1000和用户之间提供输出接口的屏幕。在一些示例中,屏幕可包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,则屏幕可被实现为从用户接收输入信号的触摸屏。触摸面板可包括用于感测触摸面板上的触摸、滑动和手势的一个或更多个触摸传感器。触摸传感器不仅可感测触摸或滑动动作的边界,而且可检测与触摸或滑动操作相关的持续时间和压力。在一些示例中,多媒体组件1008可包括前置相机和/或后置相机。当装置1000处于操作模式(诸如拍摄模式或视频模式)时,前置相机和/或后置相机可接收外部多媒体数据。
音频组件1010被配置为输出和/或输入音频信号。例如,音频组件1010包括麦克风(MIC)。当装置1000处于操作模式(诸如呼叫模式、录音模式和语音识别模式)时,麦克风被配置为接收外部音频信号。接收的音频信号可进一步被存储在存储器1004中或经由通信组件1016被发送。在一些示例中,音频组件1010还包括用于输出音频信号的扬声器。
I/O接口1010提供处理组件1002与外围接口模块之间的接口。上述外围接口模块可以是键盘、点击轮、按钮等。这些按钮可包括但不限于主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1014包括用于在装置1000的不同方面中提供状态评估的一个或更多个传感器。例如,传感器组件1014可检测装置1000的开/关状态和组件的相对位置。例如,组件是装置1000的显示器和键盘。传感器组件1014还可检测装置1000或装置1000的组件的位置变化、用户在装置1000上接触的存在或离开、装置1000的方向或加速度/减速度、以及装置1000的温度变化。传感器组件1014可包括被配置为在没有任何物理触摸的情况下检测附近物体的存在的接近传感器。传感器部件1014还可包括光学传感器,诸如在成像应用中使用的CMOS或CCD图像传感器。在一些示例中,传感器组件1014还可包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
通信组件1016被配置为促进装置1000与其它设备之间的有线或无线通信。装置1000可基于诸如WiFi、4G或其组合的通信标准来接入无线网络。在示例中,通信组件1016经由广播信道从外部广播管理系统接收广播信号或广播相关信息。在示例中,通信组件1016还可包括用于促进短距离通信的近场通信(NFC)模块。例如,NFC模块可基于射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。
在示例中,装置1000可由专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件中的一个或更多个来实现,以执行上述方法。
非暂态计算机可读存储介质可以是例如硬盘驱动器(HDD)、固态驱动器(SSD)、闪存、混合驱动器或固态混合驱动器(SSHD)、只读存储器(ROM)、光盘只读存储器(CD-ROM)、磁带、软盘等。
图11是示出了根据本公开的一些实施方式的AMPR示例性过程的流程图。
在步骤1102中,处理器1020在子块中的像素位置处通过对包括多个子块的视频图片执行基于子块的仿射运动补偿来生成子块预测。
在步骤1104中,处理器1020在该像素位置处使用插值滤波器获得用于子块预测的水平空间梯度和垂直空间梯度。
在步骤1106中,处理器1020在该像素位置处基于相对于子块内的位置的像素位置获得第一MV与第二MV之间的MV差。
在一些示例中,第一MV可以是位于像素位置的像素的MV,并且第二MV可以是子块的MV。
处理器1020可以基于水平空间梯度、该垂直空间梯度、水平MV差和垂直MV差在像素位置处获得预测细化,并通过将预测细化添加到子块预测在像素位置处生成最终预测。
在一些示例中,MV差可包括水平MV差和垂直MV差。
处理器1020可确定AMPR是否应用于所述子块,在确定AMPR应用时启用所述子块的AMPR,并且在确定AMPR不应用时跳过所述子块的AMPR。
处理器1020可以确定子块的一个或更多个CPMV是否用指示该AMPR应用的标志显式地被发信号传送,并且在确定一个或更多个CPMV没有用指示该AMPR应用的标志显式地被发信号传送并且是从空间相邻子块隐式导出时跳过所述子块的AMPR。
处理器1020可确定水平MV差、垂直MV差、水平空间梯度或垂直空间梯度的大小是否小于阈值,并在确定该大小小于该阈值时跳过子块的AMPR。
处理器1020可确定水平MV差的大小或水平空间梯度的大小是否小于水平阈值,并且在确定水平方向MV差的大小或水平空间梯度的大小小于该水平阈值时跳过子块在水平方向上的AMPR。
处理器1020可确定垂直MV差的大小或垂直空间梯度的大小是否小于垂直阈值,并在确定垂直MV差的大小或垂直空间梯度的大小小于该垂直阈值时跳过子块在垂直方向上的AMPR。
处理器1020可确定水平MV差的大小或水平空间梯度的大小是否小于水平阈值,确定垂直MV差的大小或垂直空间梯度的大小是否小于垂直阈值,并且响应于确定水平MV差的大小或水平空间梯度的大小小于该水平阈值并确定垂直MV差的大小或垂直空间梯度的大小小于垂直阈值,跳过子块在水平方向和垂直方向上的AMPR。
在与该子块关联的时间参考图片中的整数样本位置处生成用于该子块的预测样本的同时,处理器1020可获得用于该子块预测的水平空间梯度和该垂直空间梯度。
通过水平应用梯度滤波器以导出在水平分数样本位置处的水平空间梯度和垂直应用插值滤波器以在垂直分数样本位置处对水平空间梯度进行插值,处理器1020可在该像素位置处获得该水平空间梯度。
通过水平应用插值滤波器以在水平样本位置处对中间插值样本进行插值和垂直应用梯度滤波器以从该中间插值样本导出在垂直分数样本位置处的垂直空间梯度,处理器1020可在该像素位置处获得该垂直空间梯度。
处理器1020可确定该子块内的多个像素的MV差的最大水平绝对值和最大垂直绝对值,并且通过以下动作之一基于该最大水平绝对值和最大垂直绝对值来确定该MV差,这些动作包括:在确定该最大水平绝对值小于水平阈值时,确定多个像素的水平MV差为零;在确定该最大垂直绝对值小于垂直阈值时,确定多个像素的垂直MV差为零;以及在确定该最大水平绝对值小于该水平阈值且该最大垂直绝对值小于该垂直阈值时,将多个像素的水平MV差和垂直MV差确定为零。
处理器1020可基于亮度子块获得该MV差并且根据基于该亮度子块获得的MV差获得色度子块的预测细化。
处理器1020可响应于用指示该AMPR应用的标志通过信号发送的色度子块根据基于该亮度子块获得的MV差来获得色度子块的预测细化。
在一些示例中,提供了一种用于视频编解码的装置。该装置包括一个或更多个处理器1020;以及存储器1004,该存储器1004被配置为存储可由一个或更多个处理器执行的指令;其中,在执行这些指令时,该处理器被配置为执行如图11所示的方法。
在一些其他示例中,提供了一种非暂时性计算机可读存储介质1004,其中存储有指令。当这些指令由一个或更多个处理器1020执行时,这些指令使得该处理器执行如图11所示的方法。
本公开的描述已经出于说明的目的被呈现,并且不旨在穷举或限于本公开。受益于在前面的描述和相关联的附图中呈现的教导,许多修改、变化和替代实施方式对于本领域普通技术人员将是显而易见的。
选择和描述示例是为了解释本公开的原理,并且使本领域的其它技术人员能够理解本公开的各种实施方式,并且最好地利用基本原理和具有适合于预期的特定用途的各种修改的各种实施方式。因此,将理解,本公开的范围不限于所公开的实施方式的具体示例,并且修改和其它实施方式旨在被包括在本公开的范围内。
Claims (23)
1.一种用于仿射运动补偿预测细化(AMPR)的方法,包括:
在子块中的像素位置处通过对包括多个子块的视频图片执行基于子块的仿射运动补偿来生成子块预测;
在所述像素位置处使用插值滤波器获得用于子块预测的水平空间梯度和垂直空间梯度;以及
在所述像素位置处基于相对于所述子块内的位置的所述像素位置获得第一运动矢量(MV)与第二MV之间的MV差,其中,所述第一MV是位于所述像素位置处的像素的MV,所述第二MV是所述子块的运动矢量(MV)。
2.根据权利要求1所述的方法,进一步包括:
基于所述水平空间梯度、所述垂直空间梯度、水平MV差和垂直MV差在所述像素位置处获得预测细化,其中,所述MV差包括所述水平MV差和所述垂直MV差;以及
通过将所述预测细化添加到所述子块预测在所述像素位置处生成最终预测。
3.根据权利要求1所述的方法,进一步包括:
确定所述AMPR是否应用于所述子块;
响应于确定所述AMPR应用,启用所述子块的AMPR;以及
响应于确定所述AMPR不应用,跳过所述子块的AMPR。
4.根据权利要求3所述的方法,进一步包括:
确定所述子块的一个或更多个控制点MV(CPMV)是否显式地用指示所述AMPR应用的标志通过信号传送;以及
响应于确定所述一个或更多个CPMV没有显式地用指示所述AMPR应用的标志通过信号传送并且是从空间相邻子块隐式导出,跳过所述子块的AMPR。
5.根据权利要求3所述的方法,进一步包括:
确定所述水平MV差、所述垂直MV差、所述水平空间梯度或所述垂直空间梯度的大小是否小于阈值;以及
响应于确定所述大小小于所述阈值,跳过所述子块的AMPR。
6.根据权利要求3所述的方法,进一步包括:
确定所述水平MV差的大小或所述水平空间梯度的大小是否小于水平阈值;以及
响应于确定所述水平方向MV差的大小或所述水平空间梯度的大小小于所述水平阈值,跳过所述子块在水平方向上的AMPR。
7.根据权利要求3所述的方法,进一步包括:
确定所述垂直MV差的大小或所述垂直空间梯度的大小是否小于垂直阈值;以及
响应于确定所述垂直MV差的大小或所述垂直空间梯度的大小小于所述垂直阈值,跳过所述子块在垂直方向上的AMPR。
8.根据权利要求3所述的方法,进一步包括:
确定所述水平MV差的大小或所述水平空间梯度的大小是否小于水平阈值,并且确定所述垂直MV差的大小或所述垂直空间梯度的大小是否小于垂直阈值;以及
响应于确定所述水平MV差的大小或所述水平空间梯度的大小小于所述水平阈值并确定所述垂直MV差的大小或所述垂直空间梯度的大小小于所述垂直阈值,跳过所述子块在水平方向和垂直方向上的AMPR。
9.根据权利要求1所述的方法,其中,在与所述子块关联的时间参考图片中的整数样本位置处生成用于所述子块的预测样本的同时,获得用于所述子块预测的所述水平空间梯度和所述垂直空间梯度。
10.根据权利要求1所述的方法,其中,在所述像素位置处使用插值滤波器获得用于所述子块预测的所述水平空间梯度和所述垂直空间梯度包括:
通过以下方式在所述像素位置处获得所述水平空间梯度:
水平应用梯度滤波器以导出在水平分数样本位置处的所述水平空间梯度;以及
垂直应用所述插值滤波器以在垂直分数样本位置处对所述水平空间梯度进行插值。
11.根据权利要求10所述的方法,其中,所述插值滤波器是4抽头滤波器或8抽头滤波器。
12.根据权利要求1所述的方法,其中,在所述像素位置处使用所述插值滤波器获得用于所述子块预测的所述水平空间梯度和所述垂直空间梯度包括:
通过以下方式在所述像素位置处获得所述垂直空间梯度:
水平应用所述插值滤波器以在水平样本位置处对中间插值样本进行插值;以及
垂直应用梯度滤波器以从所述中间插值样本导出在垂直分数样本位置处的所述垂直空间梯度。
13.根据权利要求12所述的方法,其中,所述插值滤波器是4抽头滤波器或8抽头滤波器。
14.根据权利要求1所述的方法,其中,在所述像素位置处基于相对于所述子块内的位置的所述像素位置获得所述第一MV与所述第二MV之间的MV差包括:
基于水平偏移和垂直偏移计算所述MV差,其中,
响应于从所述子块的中心处的整数位置导出的所述第二MV,通过以下等式计算所述水平偏移和所述垂直偏移:
其中,Δx表示所述水平偏移,Δy表示所述垂直偏移,(i,j)表示所述像素位置,w是所述子块的宽度,h是所述子块的高度;
响应于从所述子块的中心处的分数位置导出的所述第二MV,通过以下等式计算所述水平偏移和所述垂直偏移:
其中,Δx表示所述水平偏移,Δy表示所述垂直偏移,(i,j)表示所述像素位置,w是所述子块的宽度,h是所述子块的高度;以及
响应于从所述子块左上角位置导出的所述第二MV,通过以下等式计算所述水平偏移和所述垂直偏移:
其中,Δx表示所述水平偏移,Δy表示所述垂直偏移,(i,j)表示所述像素位置。
17.根据权利要求5所述的方法,其中,确定所述MV差、所述水平空间梯度或所述垂直空间梯度的大小是否小于阈值包括:
确定所述子块内的多个像素的MV差的最大水平绝对值和最大垂直绝对值;
通过以下动作之一基于所述最大水平绝对值和所述最大垂直绝对值来确定所述MV差:
响应于确定所述最大水平绝对值小于水平阈值,确定所述多个像素的水平MV差为零;
响应于确定所述最大垂直绝对值小于垂直阈值,确定所述多个像素的垂直MV差为零;以及
响应于确定所述最大水平绝对值小于所述水平阈值且所述最大垂直绝对值小于所述垂直阈值,将所述多个像素的水平MV差和垂直MV差确定为零。
18.根据权利要求17所述的方法,其中,所述水平阈值和所述垂直阈值分别是基于图片类型确定的,所述水平阈值和所述垂直阈值的取值分别在[1/32,1/16]的范围内。
19.根据权利要求17所述的方法,其中,所述子块内的所述多个像素包括所述子块内的所有像素,或者所述子块内的所述多个像素包括所述子块的四个角。
20.根据权利要求1所述的方法,其中,所述MV差是基于亮度子块获得的,且所述方法还包括:
根据基于所述亮度子块得到的所述MV差,获得用于色度子块的预测细化。
21.根据权利要求20所述的方法,还包括:
响应于用指示所述AMPR应用的标志通过信号发送的色度子块,根据基于所述亮度子块获得的MV差获得用于所述色度子块的预测细化。
22.一种用于仿射运动补偿预测细化(AMPR)的装置,包括:
一个或更多个处理器;以及
存储器,所述存储器用于存储可由所述一个或更多个处理器执行的指令;其中,在执行所述指令时,所述一个或更多个处理器被配置为执行权利要求1-21中任一项所述的方法。
23.一种用于仿射运动补偿预测细化(AMPR)的非暂时性计算机可读存储介质,其存储计算机可执行指令,当由一个或更多个计算机处理器执行时,所述指令使得所述一个或更多个计算机处理器执行权利要求1-21中任一项所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062992897P | 2020-03-20 | 2020-03-20 | |
US62/992,897 | 2020-03-20 | ||
US202062993654P | 2020-03-23 | 2020-03-23 | |
US62/993,654 | 2020-03-23 | ||
PCT/US2021/022640 WO2021188598A1 (en) | 2020-03-20 | 2021-03-16 | Methods and devices for affine motion-compensated prediction refinement |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115280779A true CN115280779A (zh) | 2022-11-01 |
Family
ID=77768297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180021435.2A Pending CN115280779A (zh) | 2020-03-20 | 2021-03-16 | 用于仿射运动补偿预测细化的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115280779A (zh) |
WO (1) | WO2021188598A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023078449A1 (en) * | 2021-11-08 | 2023-05-11 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for video processing |
CN114157868B (zh) * | 2022-02-07 | 2022-07-19 | 杭州未名信科科技有限公司 | 视频帧的编码模式筛选方法、装置及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3264768A1 (en) * | 2016-06-30 | 2018-01-03 | Thomson Licensing | Method and apparatus for video coding with adaptive motion information refinement |
US10798394B2 (en) * | 2018-06-27 | 2020-10-06 | Avago Technologies International Sales Pte. Limited | Low complexity affine merge mode for versatile video coding |
TW202017377A (zh) * | 2018-09-08 | 2020-05-01 | 大陸商北京字節跳動網絡技術有限公司 | 視頻編碼和解碼中的仿射模式 |
-
2021
- 2021-03-16 CN CN202180021435.2A patent/CN115280779A/zh active Pending
- 2021-03-16 WO PCT/US2021/022640 patent/WO2021188598A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2021188598A1 (en) | 2021-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115280779A (zh) | 用于仿射运动补偿预测细化的方法和装置 | |
US20240146952A1 (en) | Methods and apparatuses for decoder-side motion vector refinement in video coding | |
WO2021030502A1 (en) | Methods and apparatuses for adaptive motion vector resolution in video coding | |
CN116171576A (zh) | 用于仿射运动补偿预测细化的方法和装置 | |
WO2022081878A1 (en) | Methods and apparatuses for affine motion-compensated prediction refinement | |
CN114342390B (zh) | 用于仿射运动补偿的预测细化的方法和装置 | |
JP2023529753A (ja) | ビデオ符号化用の予測依存残差スケーリングのための方法およびデバイス | |
CN114009017A (zh) | 使用组合帧间和帧内预测进行运动补偿 | |
US20240098290A1 (en) | Methods and devices for overlapped block motion compensation for inter prediction | |
CN116916026B (zh) | 用于视频编解码中的解码器侧运动矢量细化的方法和装置 | |
US20240015316A1 (en) | Overlapped block motion compensation for inter prediction | |
WO2021007133A1 (en) | Methods and apparatuses for decoder-side motion vector refinement in video coding | |
WO2021021698A1 (en) | Methods and apparatuses for decoder-side motion vector refinement in video coding | |
WO2022026480A1 (en) | Weighted ac prediction for video coding | |
WO2024006231A1 (en) | Methods and apparatus on chroma motion compensation using adaptive cross-component filtering | |
CN114402618A (zh) | 用于视频编解码中的解码器端运动矢量细化的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |