CN115567709A - 对子块中的像素位置处的样点进行编码的方法和装置 - Google Patents
对子块中的像素位置处的样点进行编码的方法和装置 Download PDFInfo
- Publication number
- CN115567709A CN115567709A CN202211357666.3A CN202211357666A CN115567709A CN 115567709 A CN115567709 A CN 115567709A CN 202211357666 A CN202211357666 A CN 202211357666A CN 115567709 A CN115567709 A CN 115567709A
- Authority
- CN
- China
- Prior art keywords
- sub
- block
- filter
- samples
- pixel
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/537—Motion estimation other than block-based
- H04N19/54—Motion estimation other than block-based using feature points or meshes
-
- 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
-
- 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
-
- 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/527—Global motion vector estimation
-
- 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/563—Motion estimation with padding, i.e. with filling of non-object values in an arbitrarily shaped picture block or region for estimation purposes
-
- 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/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- 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/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供了一种对子块中的像素位置处的样点进行编码的方法和装置。所述方法可包括在子块中的像素位置处和多个相邻像素位置处产生多个仿射运动补偿预测;确定多个相邻像素位置中的至少一个相邻像素位置处的运动矢量MV差;基于运动矢量MV差确定具有预定形状的滤波器的系数;基于多个仿射运动补偿预测使用滤波器来获得像素位置处的样点的经细化的预测。
Description
本申请是申请日为2021年07月30日、申请号为“202180004943.X”、标题为“用于仿射运动补偿的预测细化的方法和装置”的发明专利申请的分案申请。
技术领域
本公开涉及视频编解码和压缩,并且具体地但不限于用于视频编解码中的仿射运动补偿的预测细化(AMPR)的方法和装置。
背景技术
各种视频编解码技术可用于压缩视频数据。视频编解码是根据一种或多种视频编解码标准来执行的。例如,如今,一些众所周知的视频编解码标准包括由ISO/IEC MPEG和ITU-T VECG联合开发的通用视频编解码(VVC)、高效视频编解码(HEVC,也称为H.265或MPEG-H Part 2)和高级视频编解码(AVC,也称为H.264或MPEG-4 Part 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相关的技术的示例。
根据本公开的第一方面,提供一种用于对子块中的像素位置处的样点进行编码的方法,包括:在所述子块中的所述像素位置处和多个相邻像素位置处产生多个仿射运动补偿预测;确定所述多个相邻像素位置中的至少一个相邻像素位置处的运动矢量MV差;基于所述运动矢量MV差确定具有预定形状的滤波器的系数;基于所述多个仿射运动补偿预测使用所述滤波器来获得所述像素位置处的所述样点的经细化的预测。
根据本公开的第二方面,提供一种用于对子块中的像素位置处的样点进行编码的装置。所述装置包括一个或多个处理器;以及存储器,被配置为存储能够由所述一个或多个处理器执行的指令。在执行所述指令时,所述一个或多个处理器被配置为:在所述子块中的所述像素位置处和多个相邻像素位置处产生多个仿射运动补偿预测;确定所述多个相邻像素位置中的至少一个相邻像素位置处的运动矢量MV差;基于所述运动矢量MV差确定具有预定形状的滤波器的系数;基于所述多个仿射运动补偿预测使用所述滤波器来获得所述像素位置处的所述样点的经细化的预测。
根据本公开的第三方面,提供一种用于对子块中的像素位置处的样点进行编码的非暂态计算机可读存储介质,存储计算机可执行指令,所述计算机可执行指令在由一个或多个计算机处理器执行时使所述一个或多个计算机处理器执行动作,包括:在所述子块中的所述像素位置处和多个相邻像素位置处产生多个仿射运动补偿预测;确定所述多个相邻像素位置中的至少一个相邻像素位置处的运动矢量MV差;基于所述运动矢量MV差确定具有预定形状的滤波器的系数;基于所述多个仿射运动补偿预测使用所述滤波器来获得所述像素位置处的所述样点的经细化的预测。
根据本公开的第四方面,提供一种非易失性计算机可读存储介质,存储有比特流,其中所述比特流通过执行上述方法编码获得。
附图说明
将通过参照附图中所示的具体示例来呈现本公开的示例的更详细的描述。鉴于这些附图仅描绘了一些示例,并且因此不被认为是对范围的限制,将通过使用附图利用附加的特征和细节来描述和解释示例。
图1是示出根据本公开的一些实施方式的示例性视频编码器的框图。
图2是示出根据本公开的一些实施方式的示例性视频解码器的框图。
图3A至图3E是示出根据本公开的一些实施方式的多类型树划分模式的示意图。
图4是示出根据本公开的一些实现方式的双向光流(BIO)模型的示例的示意图。
图5A至图5B是示出根据本公开的一些实施方式的4参数仿射模型的示例的示意图。
图6是示出根据本公开的一些实施方式的6参数仿射模型的示例的示意图。
图7示出了根据本公开的一些实施方式的针对仿射模式的利用光流的预测细化(PROF)过程。
图8示出了根据本公开的一些实施方式的计算从样点位置到导出子块MV的子块的特定位置的水平偏移和垂直偏移的示例。
图9示出了根据本公开的一些实施方式的一个仿射CU内的子块的示例。
图10A至图10B示出了根据本公开的一些实施方式的菱形滤波器的示例。
图11A至图11B示出了根据本公开的一些实施方式的在水平方向和垂直方向上通过MV差缩放的菱形滤波器的示例。
图12是示出根据本公开的一些实施方式的用于通过AMPR来预测子块中的像素位置处的样点的示例性装置的框图。
图13是示出根据本公开的一些实施方式的通过AMPR来预测子块中的像素位置处的样点的示例性过程的流程图。
图14是示出根据本公开的一些实施方式的通过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中所示,块的仿射运动场由两个控制点MVs(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,MVyl)指示用于产生两个预测块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可被计算为:
在另一示例中,可通过等式(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的另一种替代实现方式是通过滤波过程来近似基于光流等式的乘积。具体来说,提出了通过对常规的基于子块的仿射运动预测执行滤波过程来替换每个样点位置处的梯度值与运动矢量差的乘积。这可通过以下等式被公式化为:
其中PAFF(x,y)是基于子块的运动补偿预测样点,fk是滤波器系数,并且PAMPR(i,j)是经滤波的仿射预测样点。实际上,可应用不同数量的滤波器抽头和滤波器形状来实现复杂度和编解码性能之间的不同权衡。
在一个或多个示例中,滤波过程可由十字形滤波器执行,所述十字形滤波器也可被称作菱形滤波器。例如,菱形滤波器可以是3抽头滤波器[-1,1,1]或5抽头滤波器[-1,-2,4,2,1]的垂直形状和水平形状的组合,如图10A至图10B所示。十字形滤波器可以是在先前的基于光流的细化过程中描述的梯度计算过程的近似。
为了捕获每个像素的MV与该像素所属的子块的MV之间的运动矢量(MV)差Δv(i,j),可基于Δv(i,j)在水平方向和垂直方向上的值来计算所选择的菱形滤波器中的滤波器系数。换句话说,经缩放的菱形滤波器可被用于补偿每个样点位置处的运动矢量差。图11A至图11B示出了根据本公开的一些实施方式的通过在水平方向和垂直方向上的MV差缩放的菱形滤波器的示例。图11A示出了5抽头缩放的菱形滤波器。图11B示出了9抽头缩放的菱形滤波器。
在另一示例中,滤波过程可由正方形滤波器执行。例如,正方形滤波器可以为3×3或5×5形状滤波器,其中正方形滤波器的每个系数的重要性可取决于每个系数的位置与滤波器的中心之间的距离,这意味着中心系数可在滤波器中具有最大值。类似于上述菱形滤波器,所选正方形滤波器中的滤波器系数可通过Δv(i,j)在水平方向和垂直方向上的值被缩放。
一旦选定特定类型的滤波器(例如,菱形形状或正方形形状),就在每个样点位置处计算出对应的经缩放的滤波器。缩放值是每个样点位置处的在每个像素的MV和该像素所属的子块的MV之间的运动矢量(MV)差Δv(i,j)。计算过程与AMPR的基于光流的实现方式相同,其中基于相关联的子块MV是从整数位置处的子块中心处的位置导出、从子块的左上角处的位置导出、从子块的右上角处的位置导出还是从子块的左下角处的位置导出来确定Δv(i,j)的值。
在一个特定示例中,当3抽头十字形滤波器被应用于所提出的方案中时,对应的经滤波的仿射预测样点可被计算为:
PAMPR(i,j)=(M·PAFF(i,j)+N·(PAFF(i,j+1)·Δx(i,j+1)-PAFF(i,j-1)·Δxi,j-1+N·Δy·PAFFi+1,j·Δyi+1,j-PAFFi-1,j·Δyi-1,j÷M (13)
其中M和N是常数值的初始化系数,并且Δx和Δy是可被用于调整相邻样点对一个当前位置处的滤波样点的重要性的缩放因子。在一个特定示例中,提出了设定M=2N,例如M=16且N=8。
一旦计算出经缩放的滤波器系数,就可对常规的基于子块的仿射运动预测样点执行滤波过程。对于在当前块/子块之外的相邻样点位置,可能需要填充处理。在一个或多个示例中,填充的样点值可从整数位置处的最近参考样点复制。在另一个示例中,填充的样点值可以是当前块/子块使用的整数位置处的参考样点的重复值。在一个示例中,当前CU的最接近当前边界样点(其可为分数)的整数样点被用于填充当前CU的扩展区。在另一示例中,位置小于当前CU的对应边界样点(即,floor())的整数样点被用于填充当前CU的扩展区中的样点。
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)的绝对值的检查,其中可如以下等式(14)中所示找到针对子块内的所有像素所导出的Δv(i,j)的最大绝对值:
其中像素位置(i,j)可以是子块中的任何像素坐标,或者可来自四个角(0,0)、(w-1,0)、(0,h-1)、(w-1,h-1)。
在另一示例中,可通过以下等式获得所有Δv(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)的检查可如以下等式(15)共同执行或如以下等式(16)从水平方向和垂直方向单独执行。
在上面的等式(15)和(16)中,Δ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。
在通过使用上述滤波过程来近似实现AMPR的情况下,也可执行AMPR的选择性启用。例如,基于等式(15),如果和/或小于预定义阈值threshvx和threshvy,则所选滤波器中的对应经缩放的系数可变为0,这意味着滤波过程可从2D滤波过程简化为一维(1D)滤波过程。以图10A中的5抽头滤波器为例,当仅小于threshvx时,在垂直方向上仅应用1D滤波器[1,2,1]。当仅小于threshvy时,在水平方向上仅应用1D滤波器[1,2,1]。当和都不小于对应阈值(即threshvx和threshvy)时,在水平方向和垂直方向两者上应用2D滤波器。当和都小于对应阈值时,完全不应用滤波器,即,不应用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×64 CU的大块尺寸CU相比,诸如16×16 CU的小尺寸CU在应用AMPR时具有高得多的平均每像素计算代价。为了有效地节省计算复杂度,在本公开的另一示例中,在运动估计过程期间,可针对小尺寸CU跳过AMPR。CU的尺寸可被定义为像素的总数。可定义像素数目阈值,例如16×16或16×32或32×32,并且对于尺寸小于所定义阈值的块,可在针对该块的仿射运动估计过程期间跳过AMPR。
在通过使用上述滤波过程来近似实现AMPR的情况下,还可执行编码器侧优化。例如,针对仿射UMVE模式可不执行滤波过程。用于启用基于滤波过程的AMPR的另一编码器优化是当前CU的父CU是否被确定为利用显式仿射模式进行帧间预测。如果为真,则在当前CU的仿射运动估计期间应用AMPR的滤波处理。否则,在当前CU的仿射运动估计期间跳过滤波过程。
图12是示出根据本公开的一些实施方式的用于通过AMPR来预测子块中的像素位置处的样点的装置的框图。装置1200可以是终端,诸如移动电话、平板计算机、数字广播终端、平板设备或个人数字助理。
如图12所示,装置1200可包括以下组件中的一个或更多个:处理组件1202、存储器1204、电源组件1206、多媒体组件1208、音频组件1210、输入/输出(I/O)接口1212、传感器组件1214和通信组件1216。
处理组件1202通常控制装置1200的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作有关的操作。处理组件1202可包括用于执行指令以完成上述方法的全部或部分步骤的一个或多个处理器1220。此外,处理组件1202可包括用于促进处理组件1202与其他组件之间的交互的一个或多个模块。例如,处理组件1202可包括用于促进多媒体组件1208与处理组件1202之间的交互的多媒体模块。
存储器1204被配置为存储不同类型的数据以支持装置1200的操作。此类数据的示例包括用于在装置1200上操作的任何应用或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器1204可由任何类型的易失性或非易失性存储设备或其组合来实现,并且存储器1204可以是静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪存、磁盘或光盘。
电源组件1206为装置1200的不同组件供电。电源组件1206可包括电源管理***、一个或多个电源以及与为装置1200产生、管理和分配电力相关联的其他组件。
多媒体组件1208包括在装置1200和用户之间提供输出接口的屏幕。在一些示例中,屏幕可包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,则屏幕可被实现为从用户接收输入信号的触摸屏。触摸面板可包括用于感测触摸面板上的触摸、滑动和手势的一个或多个触摸传感器。触摸传感器不仅可感测触摸或滑动动作的边界,而且可检测与触摸或滑动操作相关的持续时间和压力。在一些示例中,多媒体组件1208可包括前置相机和/或后置相机。当装置1200处于操作模式(诸如拍摄模式或视频模式)时,前置相机和/或后置相机可接收外部多媒体数据。
音频组件1210被配置为输出和/或输入音频信号。例如,音频组件1210包括麦克风(MIC)。当装置1200处于操作模式(诸如呼叫模式、录音模式和语音识别模式)时,麦克风被配置为接收外部音频信号。接收的音频信号可进一步被存储在存储器1204中或经由通信组件1216被发送。在一些示例中,音频组件1210还包括用于输出音频信号的扬声器。
I/O接口1212提供处理组件1202与***接口模块之间的接口。上述***接口模块可以是键盘、点击轮、按钮等。这些按钮可包括但不限于主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1214包括用于在装置1200的不同方面中提供状态评估的一个或多个传感器。例如,传感器组件1214可检测装置1200的开/关状态和组件的相对位置。例如,组件是装置1200的显示器和键盘。传感器组件1214还可检测装置1200或装置1200的组件的位置变化、用户在装置1200上接触的存在或离开、装置1200的方向或加速度/减速度、以及装置1200的温度变化。传感器组件1214可包括被配置为在没有任何物理触摸的情况下检测附近物体的存在的接近传感器。传感器部件1214还可包括光学传感器,诸如在成像应用中使用的CMOS或CCD图像传感器。在一些示例中,传感器组件1214还可包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
通信组件1216被配置为促进装置1200与其它设备之间的有线或无线通信。装置1200可基于诸如WiFi、4G或其组合的通信标准来接入无线网络。在示例中,通信组件1216经由广播信道从外部广播管理***接收广播信号或广播相关信息。在示例中,通信组件1216还可包括用于促进短距离通信的近场通信(NFC)模块。例如,NFC模块可基于射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。
在示例中,装置1200可由专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件中的一个或多个来实现,以执行上述方法。
非暂态计算机可读存储介质可以是例如硬盘驱动器(HDD)、固态驱动器(SSD)、闪存、混合驱动器或固态混合驱动器(SSHD)、只读存储器(ROM)、光盘只读存储器(CD-ROM)、磁带、软盘等。
图13是示出根据本公开的一些实施方式的通过AMPR来预测子块中的像素位置处的样点的示例性过程的流程图。
在步骤1302中,处理器1220在子块中的像素位置处和多个相邻像素位置处产生多个仿射运动补偿预测。
在步骤1304中,处理器1220基于多个仿射运动补偿预测使用具有预定形状的滤波器在像素位置处获得该像素位置处的样点的经细化的预测。
在一些示例中,处理器1220可通过对包括多个子块的视频图片执行基于子块的仿射运动补偿来产生多个仿射运动补偿预测。
在一些示例中,预定形状可覆盖像素位置和多个相邻像素位置。
在一些示例中,MV差可包括水平MV差和垂直MV差。
图14是示出根据本公开的一些实施方式的通过AMPR来预测子块中的像素位置处的样点的示例性过程中的步骤的流程图。图13中的步骤1304可通过图14中所示的步骤来实现。
在步骤1401中,处理器1220将滤波器的系数初始化为一组常数值,以近似于如先前的基于光流的细化过程中所描述的梯度计算过程。如等式(13)所示,M和N是常数值的初始化系数。
在步骤1403中,处理器1220通过一个或多个缩放因子对初始化的系数进行缩放以获得经缩放的滤波器。如等式(13)所示,Δx和Δy可以是缩放因子。
在步骤1405中,处理器1220基于多个仿射运动补偿预测使用具有预定形状的经缩放的滤波器在像素位置处获得经细化的预测。
在一些示例中,处理器1220可基于多个相邻像素位置中的每个位置处的MV差来确定一个或多个缩放因子。
在一些示例中,处理器1220可基于多个相邻像素位置中的每个位置处的MV差的水平值、垂直值或者水平值和垂直值来确定一个或多个缩放因子。
在一些示例中,预定形状是十字形或正方形。例如,预定形状是3×3正方形形状。
在一些示例中,滤波器中的每个系数是基于该系数的位置与滤波器的中心之间的距离而确定。
在一些示例中,滤波器中心处的系数具有最大值。
在一些示例中,处理器1220可响应于确定多个相邻像素位置中的一个相邻像素位置在子块外部,将填充样点复制到相邻像素位置。
在一些示例中,处理器1220可将参考图片中的参考相邻样点填充到相邻像素位置,其中参考相邻样点是最接近于与像素位置对应的预测样点的整数位置处的参考样点。
在一些示例中,处理器1220可将最接近位于子块的边界上的样点的整数位置处的样点填充到相邻像素位置。
在一些示例中,提供一种用于通过实施AMPR来预测子块中的像素位置处的样点的装置。该装置包括一个或多个处理器1220;以及存储器1204,被配置为存储可由一个或多个处理器执行的指令;其中处理器在执行指令时被配置为执行如图13至图14所示的方法。
在一些其他示例中,提供了一种非暂态计算机可读存储介质1204,其具有存储在其中的指令。当指令由一个或更多个处理器1220执行时,指令使处理器执行如图13至图14所示的方法。
本公开的描述已经出于说明的目的被呈现,并且不旨在穷举或限于本公开。受益于在前面的描述和相关联的附图中呈现的教导,许多修改、变化和替代实施方式对于本领域普通技术人员将是显而易见的。
选择和描述示例是为了解释本公开的原理,并且使本领域的其它技术人员能够理解本公开的各种实施方式,并且最好地利用基本原理和具有适合于预期的特定用途的各种修改的各种实施方式。因此,将理解,本公开的范围不限于所公开的实施方式的具体示例,并且修改和其它实施方式旨在被包括在本公开的范围内。
Claims (17)
1.一种用于对子块中的像素位置处的样点进行编码的方法,包括:
在所述子块中的所述像素位置处和多个相邻像素位置处产生多个仿射运动补偿预测;
确定所述多个相邻像素位置中的至少一个相邻像素位置处的运动矢量MV差;
基于所述运动矢量MV差确定具有预定形状的滤波器的系数;
基于所述多个仿射运动补偿预测使用所述滤波器来获得所述像素位置处的所述样点的经细化的预测。
2.根据权利要求1所述的方法,还包括:
通过对包括多个子块的视频图片执行基于子块的仿射运动补偿来产生所述多个仿射运动补偿预测。
3.根据权利要求1所述的方法,其中基于所述多个仿射运动补偿预测使用所述滤波器来获得所述像素位置处的所述样点的经细化的预测的步骤包括:
使用所述滤波器对所述多个仿射运动补偿预测中的每一个进行滤波。
4.根据权利要求1所述的方法,还包括:
通过将所述滤波器的系数初始化为一组常数值来获得所述滤波器的初始化系数。
5.根据权利要求4所述的方法,还包括:
通过一个或多个缩放因子来缩放所述滤波器的所述初始化系数;
其中基于所述多个仿射运动补偿预测使用所述滤波器来获得所述像素位置处的所述样点的经细化的预测的步骤包括:
在所述像素位置处,基于所述多个仿射运动补偿预测使用所述滤波器的经缩放的系数来获得所述经细化的预测。
6.根据权利要求5所述的方法,还包括:
基于所述多个相邻像素位置中的至少一个相邻像素位置处的运动矢量MV差来确定所述一个或多个缩放因子中的至少一个缩放因子。
7.根据权利要求6所述的方法,还包括:
基于所述MV差的水平值、垂直值或者所述水平值和所述垂直值,确定所述一个或多个缩放因子中的所述至少一个缩放因子。
8.根据权利要求1所述的方法,其中所述预定形状是十字形。
9.根据权利要求1所述的方法,其中所述预定形状是正方形形状。
10.根据权利要求4所述的方法,其中所述滤波器中的每个初始化系数是基于所述滤波器中的所述初始化系数的位置与所述滤波器的中心之间的距离确定的。
11.根据权利要求10所述的方法,其中所述滤波器的中心处的初始化系数具有最大值。
12.根据权利要求1所述的方法,其中在所述子块中的所述像素位置处和多个相邻像素位置处产生多个仿射运动补偿预测的步骤包括:
针对所述多个相邻像素位置中的在所述子块外部的至少一个相邻像素位置,将填充样点复制到所述相邻像素位置。
13.根据权利要求12所述的方法,其中将所述填充样点复制到所述相邻像素位置的步骤包括:
将参考图片中的参考相邻样点填充到所述相邻像素位置,其中所述参考相邻样点为最接近于与所述像素位置对应的预测样点的整数位置处的参考样点。
14.根据权利要求12所述的方法,其中将所述填充样点复制到所述相邻像素位置的步骤包括:
将最接近位于所述子块的边界上的样点的整数位置处的样点填充到所述相邻像素位置。
15.一种用于对子块中的像素位置处的样点进行编码的装置,包括:
一个或多个处理器;以及
存储器,被配置为存储能够由所述一个或多个处理器执行的指令,
其中所述一个或多个处理器在执行所述指令时被配置为执行根据权利要求1至14中任一项所述的方法。
16.一种用于对子块中的像素位置处的样点进行编码的非暂态计算机可读存储介质,存储计算机可执行指令,所述计算机可执行指令在由一个或多个计算机处理器执行时使所述一个或多个计算机处理器执行根据权利要求1至14中任一项所述的方法。
17.一种非易失性计算机可读存储介质,存储有比特流,其中所述比特流通过执行如权利要求1至14中的任一项所述的方法编码获得。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063059122P | 2020-07-30 | 2020-07-30 | |
US63/059,122 | 2020-07-30 | ||
CN202180004943.XA CN114342390B (zh) | 2020-07-30 | 2021-07-30 | 用于仿射运动补偿的预测细化的方法和装置 |
PCT/US2021/043997 WO2022026888A1 (en) | 2020-07-30 | 2021-07-30 | Methods and apparatuses for affine motion-compensated prediction refinement |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180004943.XA Division CN114342390B (zh) | 2020-07-30 | 2021-07-30 | 用于仿射运动补偿的预测细化的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115567709A true CN115567709A (zh) | 2023-01-03 |
Family
ID=80036178
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211357666.3A Pending CN115567709A (zh) | 2020-07-30 | 2021-07-30 | 对子块中的像素位置处的样点进行编码的方法和装置 |
CN202180004943.XA Active CN114342390B (zh) | 2020-07-30 | 2021-07-30 | 用于仿射运动补偿的预测细化的方法和装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180004943.XA Active CN114342390B (zh) | 2020-07-30 | 2021-07-30 | 用于仿射运动补偿的预测细化的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN115567709A (zh) |
WO (1) | WO2022026888A1 (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2082585A2 (en) * | 2006-10-18 | 2009-07-29 | Thomson Licensing | Method and apparatus for video coding using prediction data refinement |
CN106303543B (zh) * | 2015-05-15 | 2018-10-30 | 华为技术有限公司 | 视频图像编码和解码的方法、编码设备和解码设备 |
CN110832864B (zh) * | 2017-06-26 | 2024-03-29 | 交互数字麦迪逊专利控股公司 | 利用多个加权参考进行帧内预测的方法和装置 |
US10728573B2 (en) * | 2017-09-08 | 2020-07-28 | Qualcomm Incorporated | Motion compensated boundary pixel padding |
WO2019093916A1 (en) * | 2017-11-07 | 2019-05-16 | Huawei Technologies Co., Ltd | Interpolation filter for an inter prediction apparatus and method for video coding |
US10834396B2 (en) * | 2018-04-12 | 2020-11-10 | Qualcomm Incorporated | Bilateral filter for predicted video data |
KR20210038846A (ko) * | 2018-06-29 | 2021-04-08 | 브이아이디 스케일, 인크. | Affine motion 모델 기반 비디오 코딩을 위한 적응형 제어 포인트 선택 |
US10834417B2 (en) * | 2018-09-21 | 2020-11-10 | Tencent America LLC | Method and apparatus for video coding |
CN113302918A (zh) * | 2019-01-15 | 2021-08-24 | 北京字节跳动网络技术有限公司 | 视频编解码中的加权预测 |
CN111050168B (zh) * | 2019-12-27 | 2021-07-13 | 浙江大华技术股份有限公司 | 仿射预测方法及其相关装置 |
-
2021
- 2021-07-30 CN CN202211357666.3A patent/CN115567709A/zh active Pending
- 2021-07-30 CN CN202180004943.XA patent/CN114342390B/zh active Active
- 2021-07-30 WO PCT/US2021/043997 patent/WO2022026888A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022026888A1 (en) | 2022-02-03 |
CN114342390A (zh) | 2022-04-12 |
CN114342390B (zh) | 2022-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116506609B (zh) | 用于在视频编码中用信号发送合并模式的方法和装置 | |
JP2023089255A (ja) | オプティカルフローを用いる予測改善のための方法および装置 | |
CN115280779A (zh) | 用于仿射运动补偿预测细化的方法和装置 | |
JP2024016288A (ja) | ビデオコーディングにおけるデコーダ側動きベクトル補正のための方法および装置 | |
CN114128263A (zh) | 用于视频编解码中的自适应运动矢量分辨率的方法和设备 | |
CN116171576A (zh) | 用于仿射运动补偿预测细化的方法和装置 | |
WO2022081878A1 (en) | Methods and apparatuses for affine motion-compensated prediction refinement | |
CN114342390B (zh) | 用于仿射运动补偿的预测细化的方法和装置 | |
CN116708802A (zh) | 用于针对视频编解码的预测相关残差缩放的方法和设备 | |
CN114009017A (zh) | 使用组合帧间和帧内预测进行运动补偿 | |
CN117221548B (zh) | 用于视频编解码中的解码器侧运动矢量细化的方法和装置 | |
US20240098290A1 (en) | Methods and devices for overlapped block motion compensation for inter prediction | |
US20240015316A1 (en) | Overlapped block motion compensation for inter prediction | |
WO2022026480A1 (en) | Weighted ac prediction for video coding | |
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 | |
CN114402618A (zh) | 用于视频编解码中的解码器端运动矢量细化的方法和装置 | |
CN115699759A (zh) | 采用基于satd的成本计算对视频进行编解码的方法和装置 |
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 |