CN114402618A - 用于视频编解码中的解码器端运动矢量细化的方法和装置 - Google Patents
用于视频编解码中的解码器端运动矢量细化的方法和装置 Download PDFInfo
- Publication number
- CN114402618A CN114402618A CN202080063431.6A CN202080063431A CN114402618A CN 114402618 A CN114402618 A CN 114402618A CN 202080063431 A CN202080063431 A CN 202080063431A CN 114402618 A CN114402618 A CN 114402618A
- Authority
- CN
- China
- Prior art keywords
- threshold
- sub
- blocks
- obtaining
- signaled
- 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
-
- 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/557—Motion estimation characterised by stopping computation or iteration based on certain criteria, e.g. error magnitude being too large or early exit
-
- 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/567—Motion estimation based on rate distortion criteria
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供了一种用于视频编解码的方法。该方法包括:将视频图片分割为多个编解码单元(CU),其中多个CU中的每一个CU包括多个子块;针对多个子块中的每一个子块,导出初始运动矢量(MV)和多个MV候选;基于初始MV和多个MV候选,针对多个子块中的每一个子块确定代价值;针对多个子块中的每一个子块获得门限;并且基于门限和代价值,针对多个子块中的每一个子块,确定是否终止双向光流(BDOF)和解码器端运动矢量细化(DMVR)。
Description
相关申请的交叉引用
本申请要求于2019年9月27日提交的题为“Decoder-side Motion VectorRefinement for Video Coding”的第62/907,540号美国临时申请的优先权,其全部内容出于所有目的通过引用并入本文。
技术领域
本申请总体上涉及视频编解码和压缩,并且具体地但不限于,用于视频编解码中的解码器端运动矢量细化(DMVR)的方法和装置。
背景技术
数字视频由各种电子设备支持,诸如数字电视、膝上型或台式计算机、平板计算机、数码相机、数字记录设备、数字媒体播放器、视频游戏控制台、智能电话、视频电话会议设备、视频流设备等。电子设备通过实施视频压缩/解压缩来发送、接收、编码、解码、和/或存储数字视频数据。数字视频设备实施视频编解码技术,诸如由通用视频编解码(VVC)、联合探索测试模型(JEM)、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4的第10部分、高级视频编解码(AVC)、ITU-T H.265/高效视频编解码(HEVC)定义的标准以及此类标准的扩展中所描述的那些技术。
视频编解码通常利用预测方法(例如,帧间预测、帧内预测),预测方法利用视频图像或序列中存在的冗余。视频编解码技术的重要目标在于将视频数据压缩为使用更低比特率的形式,同时避免或最小化视频质量的劣化。随着不断发展的视频服务变得可用,需要具有更好编解码效率的编码技术。
视频压缩通常包括执行空间(帧内)预测和/或时间(帧间)预测来减少或去除视频数据中固有的冗余。对于基于块的视频编解码,视频帧被分割为一个或更多个条带,每一个条带具有多个视频块,视频块也可以被称作编解码树单元(CTU)。使用具有嵌套多类型树结构的四叉树,CTU可以被拆分为编解码单元(CU),其中CU定义共享相同预测模式的像素区域。每一个CTU可以包含一个编解码单元(CU)或递归地被拆分为更小的CU,直到达到预定义的最小CU尺寸为止。每一个CU(也称为叶CU)包含一个或多个变换单元(TU),并且每一个CU还包含一个或多个预测单元(PU)。每一个CU可以用帧内模式、帧间模式或IBC模式被编解码。视频帧的帧内编解码的(I)条带中的视频块使用空间预测被编码,空间预测是关于同一视频帧内的相邻块中的参考样点的。视频帧的帧间编解码的(P或B)条带中的视频块可以使用空间预测或时间预测,空间预测是关于同一视频帧内的相邻块中的参考样点的,时间预测是关于其他先前参考视频帧和/或未来参考视频帧中的参考样点的。
在本公开的一些示例中,术语“单元”定义覆盖所有分量(诸如亮度和色度)的图像区域;术语“块”被用于定义覆盖特定分量(例如,亮度)的区域,并且当考虑色度采样格式(诸如4:2:0)时,不同分量(例如,亮度与色度)的块在空间位置上可以不同。
基于先前已经编码的参考块(例如,相邻块)的空间预测或时间预测得到了用于将被编解码的当前视频块的预测块。找到参考块的过程可以通过块匹配算法来完成。残差数据,其表示将被编解码的当前块与预测块之间的像素差,被称为残差块或预测误差。帧间编解码块根据运动矢量和残差块被编码,运动矢量指向形成预测块的参考帧中的参考块。确定运动矢量的过程通常被称为运动估计。帧内编解码块根据帧内预测模式和残差块被编码。为了进一步压缩,残差块从像素域被变换到变换域(例如,频域),从而得到残差变换系数,残差变换系数然后可以被量化。最初以二维阵列布置的已量化的变换系数可以被扫描以产生变换系数的一维矢量,并且然后被熵编码为视频比特流以实现甚至更大的压缩。
编码的视频比特流然后被保存在计算机可读存储介质(例如,闪存存储器)中,以由具有数字视频能力的另一电子设备访问或者有线或无线地直接发送到电子设备。电子设备然后通过例如以下方式来执行视频解压缩(其是与上文所描述的视频压缩相反的过程):对编码的视频比特流进行解析以从比特流获得语法元素,以及至少部分地基于从比特流获得的语法元素从编码的视频比特流将数字视频数据重建为其原始格式,并且电子设备将重建的数字视频数据呈现在电子设备的显示器上。
随着数字视频质量从高清晰度变为4K×2K或者甚至8K×4K,将被编码/解码的视频数据量呈指数增长。就如何在保持解码视频数据的图像质量的同时能够更高效地编码/解码视频数据的方面而言,是一个持续的挑战。
发明内容
总体上,本公开描述了与视频编解码中的解码器端运动矢量细化(DMVR)相关的技术的示例。
根据本公开的第一方面,提供了一种用于视频编解码的方法,该方法包括:将视频图片分割为多个CU,其中多个CU中的每一个CU包括多个子块;针对多个子块中的每一个子块,导出初始运动矢量(MV)和多个MV候选;基于初始MV和多个MV候选,针对多个子块中的每一个子块确定代价值;针对多个子块中的每一个子块获得门限;并且基于门限和代价值,针对多个子块中的每一个子块,确定是否终止双向光流(BDOF)和DMVR。
根据本公开的第二方面,提供了一种装置用于视频编解码,该装置包括:一个或更多个处理器;以及存储器,被配置为存储由一个或更多个处理器可执行的指令;其中一个或更多个处理器在执行指令时被配置为:将视频图片分割为多个CU,其中多个CU中的每一个CU包括多个子块;针对多个子块中的每一个子块,导出MV和多个MV候选;基于初始MV和多个MV候选,针对多个子块中的每一个子块确定代价值;针对多个子块中的每一个子块获得门限;以及基于门限和代价值,针对多个子块中的每一个子块,确定是否终止BDOF和DMVR。
根据本公开的第三方面,提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质包括存储在其中的指令,其中在由一个或更多个处理器执行指令时,指令促使一个或更多个处理器执行动作,动作包括:将视频图片分割为多个CU,其中多个CU中的每一个CU包括多个子块;针对多个子块中的每一个子块,导出初始MV和多个MV候选;基于初始MV和多个MV候选,针对多个子块中的每一个子块确定代价值;针对多个子块中的每一个子块获得门限;以及基于门限和代价值,针对多个子块中的每一个子块,确定是否终止BDOF和DMVR。
附图说明
通过参考附图中所示出的具体示例,将呈现本公开的示例的更具体的描述。鉴于这些附图仅描绘了一些示例并且因此不被认为是对范围的限制,将通过使用附图利用另外的特征和细节来描述和解释示例。
图1是示出根据本公开的一些实施方式的示例性视频编码器的框图。
图2是示出根据本公开的一些实施方式的示例性视频解码器的框图。
图3是示出根据本公开的一些实施方式的解码器端运动矢量细化(DMVR)的示例的示意图。
图4是示出根据本公开的一些实施方式的DMVR搜索过程的示例的示意图。
图5是示出根据本公开的一些实施方式的DMVR整数亮度样点搜索图案的示例的示意图。
图6是示出根据本公开的一些实施方式的用于视频编解码的示例性装置的框图。
图7是示出根据本公开的一些实施方式的视频编解码中的解码器端运动矢量细化(DMVR)的示例性过程的流程图。
具体实施方式
现在将详细参考具体实施方式,其示例在附图中示出。在以下详细描述中,阐述了许多非限制性的具体细节以便帮助理解本文所呈现的主题。但对于本领域普通技术人员将明显的是,可以使用各种替代方案。例如,对本领域普通技术人员将明显的是,本文所呈现的主题可以在具有数字视频能力的许多类型的电子设备上实现。
本公开中使用的术语仅出于描述示例性示例的目的,并且不旨在限制本公开。如在本公开和所附权利要求中使用的,单数形式“一种”、“一个”和“所述/该”也旨在包括复数形式,除非上下文另有明确说明。还应当理解,本文所使用的术语“或”和“和/或”旨在表示和包括一个或更多个相关联的所列项目的任何或所有可能的组合,除非上下文另有明确说明。
贯穿本说明书对“一个实施例”、“一种实施例”、“一种示例”、“一些实施例”、“一些示例”或类似语言的引用意味着所描述的特定特征、结构或特性被包括在至少一个实施例或示例中。除非另有明确说明,否则结合一个或一些实施例描述的特征、结构、元件或特性也适用于其他实施例。
贯穿本公开,除非另有明确说明,否则术语“第一”、“第二”、“第三”等均被用作仅用于引用相关元素(例如,设备、组件、组成、步骤等)的命名,而不暗示任何空间顺序或时间顺序。例如,“第一设备”和“第二设备”可以指代两个单独形成的设备,或者同一设备的两个部分、组件或操作状态,并且可以被任意命名。
如本文所使用的,取决于上下文,术语“如果”或“当……时”可以被理解为意指“一经……”或“响应于……”。这些术语如果出现在权利要求中,则可以不指示相关限制或特征是有条件的或可选的。
术语“模块”、“子模块”、“电路”、“子电路”、“电路系统”、“子电路系统”、“单元”或“子单元”可以包括存储器(共享的、专用的或群组),存储器存储由一个或更多个处理器可以执行的代码或指令。模块可以包括具有或不具有存储的代码或指令的一个或更多个电路。模块或电路可以包括直接或间接连接的一个或更多个组件。这些组件可以物理地附接到彼此或彼此相邻放置,或者可以不物理地附接到彼此或彼此相邻放置。
单元或模块可以仅通过软件、仅通过硬件、或者通过硬件和软件的组合来实现。在仅软件实施方式中,例如,单元或模块可以包括直接或间接链接在一起的功能上相关的代码块或软件组件,以便执行特定功能。
图1示出了说明示例性基于块的混合视频编码器100的框图,编码器100可以与使用基于块的处理的许多视频编解码标准结合使用。在编码器100中,视频帧被分割为多个视频块以进行处理。对于每一个给定视频块,基于帧间预测方法或帧内预测方法形成预测。在帧间预测中,基于来自先前重建的帧的像素,通过运动估计和运动补偿来形成一个或更多个预测值。在帧内预测中,基于当前帧中的重建像素来形成预测值。通过模式决策,可以选择最佳预测值来预测当前块。
预测残差,其表示当前视频块与其预测值之间的差,被发送到变换电路系统102。变换系数然后从变换电路系统102被发送到量化电路系统104以进行熵减少。量化的系数然后被馈送到熵编解码电路系统106以生成压缩的视频比特流。如图1所示,来自帧间预测电路系统和/或帧内预测电路系统112的预测相关信息110,诸如视频块分割信息、运动矢量、参考图片索引和帧内预测模式,也被馈送通过熵编解码电路系统106,并且保存到压缩的视频比特流114中。
在编码器100中,出于预测的目的,还需要解码器相关电路系统以便重建像素。首先,通过反量化116和逆变换电路系统118重建预测残差。该重建的预测残差与块预测值120组合以生成针对当前视频块的未滤波的重建像素。
空间预测(或“帧内预测”)使用来自与当前视频块在同一视频帧中的已编解码的相邻块的样点(其被称为参考样点)的像素,来预测当前视频块。
时间预测(也被称作“帧间预测”)使用来自已编解码的视频图片的重建像素来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。针对给定编解码单元(CU)或编解码块的时间预测信号通常通过一个或更多个运动矢量(MV)而用信号被传送,该一个或更多个运动矢量指示当前CU与其时间参考之间的运动的量和方向。此外,如果支持多个参考图片,则另外发送一个参考图片索引,该参考图片索引用于标识时间预测信号来自参考图片存储库中的哪个参考图片。
在空间预测和/或时间预测被执行之后,编码器100中的帧内/帧间模式决策电路系统121例如基于率失真优化方法来选择最佳预测模式。块预测值120然后从当前视频块中被减去;并且使用变换电路系统102和量化电路系统104对得到的预测残差进行去相关。得到的量化残差系数被反量化电路系统116反量化并且被逆变换电路系统118逆变换以形成重建残差,重建残差然后被加回到预测块以形成CU的重建信号。在重建的CU被放入图片缓冲器117的参考图片存储库中并用于编解码未来视频块之前,可以对重建的CU应用进一步的环内滤波115,诸如去块滤波器、样点自适应偏移(SAO)、和/或自适应环内滤波器(ALF)。为了形成输出视频比特流114,编解码模式(帧间或帧内)、预测模式信息、运动信息和量化的残差系数均被发送到熵编解码单元106,以被进一步压缩和打包以形成比特流。
例如,去块滤波器在AVC、HEVC、以及现在当前版本的VVC中可用。在HEVC中,定义了称为SAO(样点自适应偏移)的附加环内滤波器以进一步改进编解码效率。称为ALF(自适应环路滤波器)的另一环内滤波器正在被积极研究。
这些环内滤波器操作是可选的。执行这些操作有助于提高编解码效率和视觉质量。它们也可以按照由编码器100作出的决定而被关闭,以节省计算复杂度。
应当注意,如果这些滤波器选项被编码器100开启,则帧内预测通常基于未滤波的重建像素,而帧间预测基于已滤波的重建像素。
图2是示出了示例性基于块的视频解码器200的框图,解码器200可以与许多视频编解码标准结合使用。该解码器200类似于图1的编码器100中存在的重建相关部分。在解码器200中,传入的视频比特流201首先通过熵解码202被解码,以导出量化的系数等级和预测相关信息。量化的系数等级然后通过反量化204和逆变换206被处理,以获得重建的预测残差。块预测值机制,其被实施在帧内/帧间模式选择器212中,被配置为基于解码的预测信息来执行帧内预测208或运动补偿210。通过使用求和器214对来自逆变换206的重建预测残差和由块预测值机制生成的预测输出进行求和,来获得一组未滤波的重建像素。
重建块在其被存储在用作参考图片存储库的图片缓冲器213中之前,可以进一步经过环内滤波器209。图片缓冲器213中的重建视频可以被发送以驱动显示设备,以及用于预测未来视频块。在环内滤波器209被开启的情况下,对这些重建像素执行滤波操作以导出最终的重建视频输出222。
上文所提及的视频编解码/解码标准(诸如,VVC、JEM、HEVC、MPEG-4第10部分)在概念上是类似的。例如,它们均使用基于块的处理。在联合视频专家组(JVET)会议中,JVET定义了通用视频编解码(VVC)的第一草案和VVC测试模型1(VTM1)编码方法。决定了包括具有嵌套的多类型树的四叉树作为VVC的初始新编解码特征,嵌套的多类型树使用二元划分编解码块结构和三元划分编解码块结构。
VVC中的解码器端运动矢量细化(DMVR)
解码器端运动矢量细化(DMVR)是一种用于在双向预测合并模式中被编解码的块的技术。在此模式下,可以使用双侧匹配(BM)预测来进一步细化块的两个运动矢量(MV)。
图3是示出解码器端运动矢量细化(DMVR)的示例的示意图。如图3中所示出的,双侧匹配方法通过以下方式被用于细化当前CU 322的运动信息:沿着当前CU在其两个相关联参考图片(即,列表L0中的refPic 300和列表L1中的refPic 310)中的运动轨迹,搜索当前CU 322的两个参考块302、312之间的最接近匹配。基于来自合并模式的初始运动信息,带有图案的矩形块322、302和312指示当前CU及其两个参考块。基于在运动细化搜索过程(即,运动矢量细化过程)中使用的MV候选,带有图案的矩形块304、314指示一对参考块。
MV候选(即,MV0’和MV1’)与初始MV(即,MV0和MV1,也称为原始MV)之间的MV差异分别是MVdiff和-MVdiff。MV候选和初始两者均为双向运动矢量。在DMVR期间,可以检查初始MV周围的多个这样的MV候选。具体地讲,对于每一个给定的MV候选,它的两个相关联的参考块可以分别位于列表0和列表1中它的参考图片中,并且可以计算它们之间的差异。
块差异也可以被称为代价值,并且通常以绝对差之和(SAD)或行子采样后的SAD(即,利用所涉及的块的每隔一行所计算的SAD)来测量。在一些其他示例中,移除均值的SAD或平方差之和(SSD)也可以被用作代价值。在MV候选的两个参考块之间具有最低代价值(或SAD)的MV候选成为细化后的MV,并且用于生成双向预测信号作为针对当前CU的实际预测。
在VVC中,DMVR被应用于满足以下条件的CU:
·CU利用双向预测MV以CU级合并模式(而不是子块合并模式)被编解码;
·关于当前图片,CU的一个参考图片在过去(即,具有小于当前图片POC的POC)并且另一参考图片在未来(即,具有大于当前图片POC的POC);
·从两个参考图片到当前图片的POC距离(即,绝对POC差)相同;以及
·CU在尺寸上具有多于64个亮度样点并且CU高度多于8个亮度样点。
通过DMVR过程导出的细化MV被用于生成帧间预测样点,并且还被用在时间运动矢量预测中以用于未来图片编解码。而原始MV被用在去块过程中,并且还被用在空间运动矢量预测中以用于未来CU编解码。
DMVR中的搜索方案
如图3中所示出的,MV候选(或搜索点)围绕初始MV,并且MV偏移遵守MV差异镜像规则。换句话说,由候选MV对(MV0,MV1)表示的由DMVR检查的任何点遵循以下两个等式:
MV0′=MV0+MVdiff
MV1′=MV1-MVdiff,
其中MVdiff表示参考图片之一中的初始MV与细化MV之间的细化偏移。在当前的VVC中,细化搜索范围是来自初始MV的两个整数亮度样点。
图4示出DMVR的搜索过程的示例。如图4中所示出的,搜索过程包括整数样点偏移搜索阶段402和分数样点细化阶段404。
为了降低搜索复杂度,在整数样点偏移搜索阶段402中应用具有提前终止机制的快速搜索方法。替代25个点的完全搜索,应用2次迭代搜索方案来减少SAD检查点的数量。图5示出用于整数样点偏移搜索阶段402的DMVR整数亮度样点搜索图案的示例。图5中的每一个矩形框表示点(MV)。如图5中所示出的,根据快速搜索方法,在第一次迭代中检查最多6个SAD(针对中心和P1~P5的SAD)。在第一次迭代中,初始MV是中心。首先,比较五个点(中心和P1~P4)的SAD。如果中心(即,中心位置)的SAD最小,则终止DMVR的整数样点偏移搜索阶段402。否则,检查(基于P1~P4的SAD分布而确定的)再一个位置P5。然后,将(P1~P5之中的)具有最小SAD的位置选为第二次迭代搜索的中心位置。第二次迭代搜索的过程与第一次迭代搜索的过程相同。第二次迭代中可以重用第一次迭代中计算的SAD,并且因此第二次迭代中可以仅需要计算另外3个点的SAD。注意,当第一次迭代中的中心点的SAD小于用于计算SAD的样点数量(其等于w*h/2,其中w和h分别表示DMVR操作单元的宽度和高度)时,提前终止整个DMVR过程而无需进一步搜索。
整数样点搜索402之后是分数样点细化404。为了降低计算复杂度,使用参数误差表面等式来导出分数样点细化404,以替代利用SAD比较的附加搜索。分数样点细化404基于整数样点搜索阶段的输出而有条件地被调用。当整数样点搜索阶段402在第一次迭代搜索或第二次迭代搜索中以具有最小SAD的中心而被终止时,分数样点细化进一步被应用。
在基于参数误差表面的分数样点细化中,中心位置及其四个相邻位置的SAD代价(或代价值)被用于拟合以下形式的2-D抛物线误差表面等式:
E(x,y)=A(x-xmin)2+B(y-ymin)2+C,
其中(xmin,ymin)对应于具有最小SAD代价的分数位置,并且C对应于最小代价值。通过使用五个搜索点的SAD代价值求解上述等式,可以通过下式导出(xmin,ymin):
xmin=(E(-1,0)-E(1,0))/(2(E(-1,0)+E(1,0)-2E(0,0))) (1)
ymin=(E(0,-1)-E(0,1))/(2((E(0,-1)+E(0,1)-2E(0,0))) (2)
xmin和ymin的值被进一步约束在-8与8之间,其对应于在1/16像素的MV精度的情况下与中心点的半像素偏移。将计算出的分数偏移(xmin,ymin)加到整数距离MV细化以得到子像素精度MV细化。
用于DMVR的双线性插值和样点填充
在VVC中,MV的分辨率是1/16亮度样点。分数位置处的样点是使用8抽头插值滤波器被插值出的。在DMVR搜索中,当候选MV指向子像素位置时,需要对那些相关的分数位置样点进行插值。为了降低计算复杂度,在DMVR中的搜索过程中使用双线性插值滤波器来生成分数样点。
将双线性滤波器用于插值的另一效果在于:在2样点搜索范围的情况下,与正常的运动补偿过程相比,DVMR搜索过程没有访问更多的参考样点。在通过DMVR搜索过程获得细化MV之后,应用正常的8抽头插值滤波器以生成最终预测。再次地,在该8抽头插值过程中,使用样点填充来避免访问比正常运动补偿过程更多的参考样点。更具体地讲,在基于细化MV的8抽头插值过程中,如下的样点将从它们的相邻可用样点而被填充:这些样点超出基于原始MV的运动补偿所需的样点。
最大DMVR处理单元
当CU的宽度和/或高度大于16个亮度样点时,基于具有等于16个样点的最大宽度和/或最大高度的DMVR处理单元来执行针对CU的DMVR操作。换句话说,在这样情况下,原始CU被分割为具有等于16个亮度样点的宽度和/或高度的子块以用于DMVR操作。用于DMVR搜索过程的最大处理单元尺寸被限制为16×16。
在当前的VVC设计中,没有用于控制DMVR的启用的控制标志。然而,未被保证的是,DMVR细化后的MV总是比细化之前的MV好。在一些情况下,DMVR细化过程可能产生比原始MV差的细化MV。根据本公开的一些示例,提出了若干方法以减少由DMVR MV细化的这种不确定性引起的不利后果。
DMVR和BDOF的提前终止
在当前VVC规范中,通过基于L0预测样点与L1预测样点之间的SAD值而部分地绕过某些DMVR/BDOF过程,基于SAD的提前终止方法被应用来降低DMVR和BDOF的计算复杂度。
首先,当DMVR和BDOF两者被启用时,对于每一个子块(例如,16×16子块),在中心搜索位置(即,偏移(0,0))处计算的SAD值被用于提前终止子块的整个BDOF过程。具体地讲,如果子块的SAD大于或等于一个预定义门限,则在子块的DMVR被完成之后,BDOF被应用于子块;否则(即,SAD小于门限),将完全跳过子块的BDOF。在一个示例中,用于确定是否可应用一个子块的BDOF的门限(即,threshold)被计算为:
threshold=((subWidth>>2)*(subHeight>>2)*bdofBlkDiffThres)>>5
bdofBlkDiffThres=1<<(BitDepth-3+shift),以及
shift=Max(2,14-BitDepth)
其中BitDepth是用于编解码视频信号的内部比特深度;subWidth和subHeight是子块的宽度和高度。
类似地,在DMVR的运动细化期间,从中心搜索位置(即,偏移(0,0))计算出的同一初始SAD值也被用于绕过随后的DMVR运动细化过程。具体地讲,如果初始SAD值大于或等于另一预定义门限,则绕过整个DMVR细化。在当前的设计中,用于DMVR提前终止的门限被设置为等于subWidth*subHeight。
通过调整代价值的针对DMVR的更新的代价值
提出了若干示例性方法以在DMVR过程期间有利于原始MV。注意,这些不同的方法可以被独立地或联合地应用。
在本公开的一些示例中,术语“初始MV”和“原始MV”可以被互换地使用。
在一些示例中,在DMVR过程期间,针对MV候选中的每一个MV候选和初始MV的代价值可以被调整或更新以有利于初始MV。也就是说,在DMVR过程中计算搜索点的代价值(例如,SAD)之后,(多个)代价值可以被调整,以增加初始MV在更新后的代价值之中具有最小代价值的概率,也即有利于初始MV。
因此,在获得已更新的代价值之后,初始MV在DMVR过程期间具有更高机会被选为具有最低代价的MV。
这里,出于说明的目的,SAD值被用作示例性的代价值。其他值,诸如行子采样后的SAD、移除均值的SAD或平方差之和(SSD),也可以被用作代价值。
在一些示例中,与其他MV候选的SAD值相比,由初始MV(或原始MV)所参考的参考块之间的SAD值被减小通过预定义过程计算出的第一值OffsetSAD。因此,初始MV相对于其他候选MV是有利的,因为其SAD值被减小。
在一个示例中,OffsetSAD的值可以被确定为是与初始MV相关联的SAD值的1/N,其中N是整数(例如,4、8或16)。
在另一示例中,OffsetSAD的值可以被确定为常数值M。
在又一示例中,OffsetSAD的值可以根据当前CU中的被编解码的信息来确定,被编解码的信息包括以下各项中的至少一项或组合:编解码块尺寸、运动矢量的量值、初始MV的SAD、以及DMVR过程单元的相对位置。例如,OffsetSAD的值可以被确定为是与初始MV相关联的SAD值的1/N,其中N为基于当前CU的块尺寸选择的整数值(例如,4、8或16)。在当前块尺寸大于或等于预定义尺寸(例如,16×16)时,N的值被设置为8;否则,N的值被设置为4。例如,OffsetSAD的值可以被确定为是与初始MV相关联的SAD值的1/N,其中N是基于DMVR过程单元的中心位置与当前CU的中心位置之间的距离而选择的整数值(例如,4、8或16)。当距离大于或等于预定义门限时,N被设置为一个值(例如,8);否则,N被设置为另一个值(例如,4)。
在这些示例中,描述了将与初始MV相关联的SAD值减小某个值OffsetSAD。在实践中,可以不同地实现该构思。例如,替代将与初始MV相关联的SAD值减小,可以在DMVR搜索过程期间将OffsetSAD的值加到与其他MV候选相关联的那些SAD,并且这两种情况下的结果是等效的。
在一些其他示例中,由非初始MV候选所参考的参考块之间的SAD值被增加通过预定义过程计算出的第二值OffsetSAD’。第二值OffsetSAD’和第一值OffsetSAD可以相同或不同。因此,初始MV是有利的,因为非初始MV的SAD值被增加。
在一个示例中,OffsetSAD’的值可以被确定为是与非初始MV相关联的SAD值的1/N,其中N是整数(例如,4、8或16)。
在另一示例中,OffsetSAD’的值可以被确定为常数值M。
在又一示例中,OffsetSAD’的值可以根据当前CU中的被编解码的信息来确定,被编解码的信息可以包括编解码块尺寸、运动矢量的量值、非初始MV的SAD值、和/或当前CU内的DMVR过程单元的相对位置。例如,该值可以被确定为是来自使用非初始MV的BM的SAD值的1/N,其中N是基于块尺寸选择的整数(例如,4、8或16)。在当前块尺寸大于或等于预定义尺寸(例如,16×16)时,N的值被设置为8;否则,N的值被设置为4。例如,OffsetSAD’的值可以被确定为是来自使用非初始MV的BM的SAD值的1/N,其中N是基于DMVR过程单元的中心位置与当前CU的中心位置之间的距离而选择的整数值(例如,4、8或16)。当距离大于或等于预定义门限时,N被设置为一个值(例如,8);否则,N被设置为另一个值(例如,4)。
在这些示例中,描述了将与非初始MV候选相关联的SAD值增加某个值OffsetSAD’。在实践中,可以不同地实现该构思。例如,替代将与非初始MV相关联的SAD值增大,可以在DMVR搜索过程期间从与初始MV相关联的SAD减去OffsetSAD’的值,并且结果是等效的。
在一些更多的示例中,基于用于与非初始MV相关联的SAD计算的样点的适当子集,来计算与初始MV相关联的BM SAD。也就是说,使用与MV候选的SAD值相比较少的样点来确定初始MV的SAD值。这可以类似于减小初始MV的SAD值。
根据本公开的一些示例,参数可以被用信号传送到解码器以用于调整或更新针对MV候选中的每一个MV候选和/或初始MV的代价值,以有利于初始MV。参数的值可以在序列参数集、图片参数集、条带头、编解码树单元(CTU)和/或编解码单元(CU)中的比特流中用信号传送。
在一些示例中,参数可以是在以上示例中所描述的用于调整代价值中的至少一个代价值的值,诸如N或M。例如,在减小初始MV的SAD值的情况下,初始MV的SAD值可以被减小用信号传送的参数乘以初始MV的代价值后的值的倒数(也就是说,OffsetSAD的值被确定为是与初始MV相关联的SAD值的1/N),或者被减小参数的值(也就是说,OffsetSAD的值被确定为常数值M)。码字的集合可以被设计用于值N或M的信令。用信号传送的参数的值是基于码字的集合从预定义的值集合中选择的,码字中的每一个码字对应于预定义集合中的值之一。在一个示例中,值集合可以被预定义为{4,8,16}。二进制码字可以被分配给预定义集合内的每一个值。在下表1中示出二进制码字的示例。
表1指示用于信号传送的参数值的码字的示例
在一些其他示例中,在序列参数集、图片参数集、条带头、CTU和/或CU中可以将特殊值用信号传送到比特流中,从而指示初始MV具有更新的代价值零,这等效于禁用DMVR的情况。在一个示例中,在初始MV的代价值被减小OffsetSAD并且OffsetSAD的值被确定为是与初始MV相关联的SAD值的1/N(其中N为整数)的情况下,N=1(即,用信号传送的参数的值为1)将使与原始MV相关联的SAD等于零。在这种情况下,由DMVR过程导出的细化MV总是原始MV(即,在此情况下,原始MV是细化MV),这等效于禁用DMVR。在一些示例中,特殊值一(1)可以被包括在参数值的预定义集合中,预定义集合可以是例如{1,4,8,16}。
根据以上示例,DMVR过程被修改以使得初始MV与整数样点偏移搜索阶段中的其他MV候选相比是有利的,由此减少了由细化MV比原始MV差的可能场景所产生的不利后果。
如早前所论述的,用于提前终止一个子块的BDOF过程的SAD门限取决于视频信号的编解码比特深度。然而,由于DMVR的操作比特深度被固定为10比特的事实(即,独立于内部比特深度),用于DMVR运动细化的L0预测信号和L1预测信号之间的SAD总是处于10比特的精度。换句话说,已有SAD门限值可能未与预测信号精度完美匹配,以作出可靠的DMVR和BDOF的提前终止决定。因此,为了解决这样的问题,提出了将BDOF提前终止的SAD门限修改为与内部比特深度无关。
具体地,通过所提出的方法,用于BDOF提前终止的门限被设置为等于N*subWidth*subHeight,其中subWidth和subHeight是一个子块的宽度和高度,并且N是一个常数,其表示L0预测信号与L1预测信号之间的每样点差异。在实践中,可以应用不同值的常数N,这可以提供BDOF的编解码效率与编码/解码复杂度之间的变化的权衡。在一个特定示例中,提出了将N的值设置为等于2,也即,threshold=2*subWidth*subHeight。在另一示例中,提出了将N的值设置为等于4,也即,threshold=4*subWidth*subHeight。另一方面,尽管初始DMVRSAD值被用于确定是否跳过DMVR过程和BDOF过程,但是应用两个不同门限来作出针对两个工具的决定。在一个示例中,为了实现一个更一致的设计,提出了将相同的SAD门限用于DMVR和BDOF两者的提前终止决定。具体地讲,通过这样的方法,当DMVR的初始SAD大于或等于门限时,将针对当前子块启用DMVR和BDOF两者;否则(即,初始SAD小于门限),则将绕过DMVR和BDOF两者。
在当前的DMVR设计中,在与其他MV候选的SAD值进行比较之前,与一个子块的初始MV相关联的SAD值被减小。通过这样做,初始MV比其他MV候选具有将被选为一个子块的最终MV的一个大优先级。详细地讲,初始MV的所得到的SAD值被计算为:
SADinit=SADorg–(SADorg)>>1)
其中SADorg是使用子块的初始MV导出的原始SAD。在当前的设计中,SADinit将被用于确定是否应当跳过当前子块的DMVR过程和BDOF过程。在本公开中,替代初始MV的修改后的SAD值(即,SADinit),提出了将原始SAD值(即,SADorg)用于提前终止DMVR过程和BDOF过程。在另一示例中,提出了将初始MV的原始SAD(即,SADorg)用于提前终止一个子块的DMVR,而修改的SAD(即,SADinit)被用于提前终止子块的BDOF。在又一示例中,提出了将修改的初始SAD(即,SADinit)用于提前终止子块的DMVR,而原始初始SAD(即,SADorg)被用于提前子块的BDOF过程。
在当前的BDOF和DMVR设计中,用于作出是否绕过BDOF过程和DMVR过程的决定的SAD门限是不同的。具体地讲,根据VVC中的当前设计,由BDOF使用的SAD门限(即,thresBDOF)被设置为等于(2*subWidth*subHeight),并且由DMVR使用的SAD门限(即,thresDMVR)被设置为等于(subWidth*subHeight)。这里,subWidth和subHeight是用于对应的BDOF操作和/或DMVR操作的子块的宽度和高度。因此,在针对一个CU内的每一个子块应用BDOF和DMVR时,存在以下可能的组合:1)应用BDOF和DMVR两者(当SAD值>=thresBDOF时);2)跳过BDOF并且仍然应用DMVR(当thresDMVR<=SAD值<thresBDOF时);3)绕过BDOF和DMVR两者(当SAD值<thresDMVR时)。有人主张,这种不同的提前终止逻辑/决定可能在硬件和软件两者中使实际编码器设计/解码器设计复杂化,而没有提供任何明显的收益。
在本公开的一个或更多个示例中,提出了通过使用相同的SAD门限来提前终止两个工具,而统一BDOF和PROF提前终止方法。假设对应的SAD门限为SADjoint,当一个子块的SAD值小于SADjoint时,将跳过DMVR和BDOF两者;否则,子块SAD值等于或大于SADjoint,将应用DMVR和BDOF两者。在一个示例中,提出了将SADjoint的值设置为等于(2*subWidth*subHeight)。在另一示例中,提出了将SADjoint的值设置为等于(subWidth*subHeight)。
在本公开的一个或更多个示例中,提出了给予编码器用于确定SAD门限值并将其用信号传送到解码器的灵活性,这将允许编码器基于其期望的性能/复杂度权衡来选择SAD门限的更优值。SAD门限值的这种信令可以用不同的语法格式,和/或在不同层级被用信号传送,例如,序列参数集(SPS)、图片参数集(PPS)或条带头。在一个示例中,不同门限的一个集合可以被预先定义,例如,以每样点的平均绝对差的形式,诸如1、2等。基于这样的预定义集合,被表示为thres的门限值由编码器选择并用信号传送到解码器。在解码器端,SAD门限值被计算为用信号传送的门限值thres乘以(subWidth*subHeight)。
值得一提的是,在用信号传送thres时可以使用不同的方法。在一个实例中,可以直接用信号传送thres的值。在另一实例中,可以用信号传送预定义门限集合中的thres值的索引。还值得一提的是,可以针对不同的工具(例如,DMVR和BDOF)单独地或联合地用信号传送这种SAD门限相关语法。在一个示例中,单独的SAD门限语法被用信号传送并被用于DMVR和BDOF,使得这些工具可以将不同的SAD门限值用于它们的提前终止决定。在另一示例中,联合的SAD门限语法被用信号传送并被用于DMVR和BDOF,使得这些工具可以将相同的SAD门限值用于它们的提前终止决定。在又一示例中,联合的SAD门限语法可以被用信号传送并被用于DMVR和BDOF,但是不同的SAD门限值被导出且用于DMVR和BDOF。这可以通过针对DMBR和BDOF应用不同的SAD门限导出规则来实现。在一个示例中,假设用信号传送的联合SAD门限语法指示每样点的平均绝对差为Djoint,那么针对BODF的SAD门限值可以被导出为Djoint*2*subWidth*subHeight,而针对DMVR的SAD门限值可以被导出为Djoint*subWidth*subHeight。
上述方法可以使用包括一个或更多个电路系统的装置来实现,该一个或更多个电路系统包括专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器、或其他电子组件。该装置可以使用与其他硬件组件或软件组件组合的电路系统来执行上文描述的方法。上文公开的每一个模块、子模块、单元或子单元可以至少部分地使用一个或更多个电路系统来实现。
图6是示出根据本公开的一些实施方式的用于视频编解码的示例性装置的框图。装置600可以是终端,诸如移动电话、平板计算机、数字广播终端、平板设备、或个人数字助理。
如图6中所示出的,装置600可以包括以下组件中的一个或更多个:处理组件602、存储器604、电源组件606、多媒体组件608、音频组件610、输入/输出(I/O)接口612、传感器组件614和通信组件616。
处理组件602通常控制装置600的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关的操作。处理组件602可以包括一个或更多个处理器620,用于执行指令以完成上述方法的全部或部分步骤。此外,处理组件602可以包括一个或更多个模块以促进处理组件602与其他组件之间的交互。例如,处理组件602可以包括多媒体模块以促进多媒体组件608与处理组件602之间的交互。
存储器604被配置为存储不同类型的数据以支持装置600的操作。此类数据的示例包括用于在装置600上操作的任何应用或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器604可以由任何类型的易失性或非易失性存储设备或其组合来实现,并且存储器604可以是静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪存、磁盘或紧凑盘。
电源组件606为装置600的不同组件供电。电源组件606可以包括电源管理系统、一个或更多个电源、以及与为装置600生成、管理和分配电力相关联的其他组件。
多媒体组件608包括在装置600与用户之间提供输出界面的屏幕。在一些示例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,则屏幕可以被实现为从用户接收输入信号的触摸屏。触摸面板可以包括用于感测触摸面板上的触摸、滑动和手势的一个或更多个触摸传感器。触摸传感器不仅可以感测触摸动作或滑动动作的边界,而且可以检测与触摸操作或滑动操作相关的持续时间和压力。在一些示例中,多媒体组件608可以包括前置相机和/或后置相机。当装置600处于诸如拍摄模式或视频模式之类的操作模式时,前置相机和/或后置相机可以接收外部多媒体数据。
音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括麦克风(MIC)。当装置600处于诸如呼叫模式、记录模式和语音识别模式之类的操作模式时,麦克风被配置为接收外部音频信号。接收到的音频信号可以被进一步存储在存储器604中或经由通信组件616被发送。在一些示例中,音频组件610还包括用于输出音频信号的扬声器。
I/O接口612提供处理组件602与外围接口模块之间的接口。上述外围接口模块可以是键盘、点击轮、按钮等。这些按钮可以包括但不限于主页按钮、音量按钮、开始按钮和锁定按钮。
传感器组件614包括用于在针对装置600的不同方面提供状态评估的一个或更多个传感器。例如,传感器组件614可以检测装置600的开启/关闭状态以及组件的相对位置。例如,这些组件是装置600的显示器和键盘。传感器组件614还可以检测装置600的位置变化或装置600的组件的位置变化、用户对装置600的接触的存在或不存在、装置600的取向或加速度/减速度、以及装置600的温度变化。传感器组件614可以包括接近传感器,接近传感器被配置为在没有任何物理触摸的情况下检测附近物体的存在。传感器组件614可以进一步包括光学传感器,诸如在成像应用中使用的CMOS或CCD图像传感器。在一些示例中,传感器组件614可以进一步包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器、或温度传感器。
通信组件616被配置为促进装置600与其他设备之间的有线或无线通信。装置600可以基于诸如WiFi、4G或者其组合之类的通信标准来访问无线网络。在一种示例中,通信组件616经由广播信道从外部广播管理系统接收广播信号或广播相关信息。在一种示例中,通信组件616可以进一步包括用于促进短距离通信的近场通信(NFC)模块。例如,NFC模块可以基于射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。
在一种示例中,装置600可以由专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件中的一项或更多项来实现,以执行上述方法。
非暂时性计算机可读存储介质可以是,例如,硬盘驱动器(HDD)、固态驱动器(SSD)、闪存、混合驱动器或固态混合驱动器(SSHD)、只读存储器(ROM)、紧凑盘只读存储器(CD-ROM)、磁带、软盘等。
图7是示出根据本公开的一些实施方式的视频编解码中的解码器端运动矢量细化的示例性过程的流程图。
在步骤702中,处理器620将视频图片分割为多个编解码单元(CU),其中多个CU中的每一个CU包括多个子块。
在步骤704中,处理器620针对多个子块中的每一个子块,导出初始运动矢量(MV)和多个MV候选。
在步骤706中,处理器620基于初始MV和多个MV候选,针对多个子块中的每一个子块确定代价值。
在步骤708中,处理器620针对多个子块中的每一个子块获得门限。
在步骤710中,处理器620基于门限和代价值,针对多个子块中的每一个子块,确定是否进行BDOF和DMVR。
参数可以在以下各项中的一项或组合中被用信号传送:序列参数集、图片参数集、条带头、编解码树单元(CTU)、和/或编解码单元(CU)。
用信号传送的参数的值可以基于码字集合从值的预定义集合中选择,码字中的每一个码字对应于预定义集合中的值之一。
在一些示例中,提供了一种用于视频编解码的装置。该装置包括一个或更多个处理器620;以及存储器604,被配置为存储由一个或更多个处理器可执行的指令;其中一个或更多个处理器在执行指令时被配置为执行如图7所示的方法。
在一些其他示例中,提供了一种非暂态计算机可读存储介质604,具有存储在其中的指令。当指令由一个或更多个处理器620来执行时,指令使得处理器执行如图7所示的方法。
本公开的描述已经出于说明的目的被呈现,并且不旨在穷举或限于本公开。受益于前面的描述和相关联的附图中呈现的教导,许多修改、变化和替代实施方式对于本领域普通技术人员将是明显的。
选择和描述示例是为了解释本公开的原理,并且使本领域其他技术人员能够理解本公开的各种实施方式,并且最好地利用基本原理和具有适合于预期的特定用途的各种修改的各种实施方式。因此,将理解,本公开的范围不限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在被包括在本公开的范围内。
Claims (33)
1.一种视频编解码的方法,包括:
将视频图片分割为多个编解码单元CU,其中所述多个CU中的每一个CU包括多个子块;
针对所述多个子块中的每一个子块,导出初始运动矢量MV和多个MV候选;
基于所述初始MV和所述多个MV候选,针对所述多个子块中的每一个子块确定代价值;
针对所述多个子块中的每一个子块获得门限;以及
基于所述门限和所述代价值,针对所述多个子块中的每一个子块,确定是否终止双向光流BDOF和解码器端运动矢量细化DMVR。
2.根据权利要求1所述的方法,进一步包括:基于所述多个子块中的每一个子块的高度subHeight和宽度subWidth,获得所述门限。
3.根据权利要求2所述的方法,其中获得的所述门限等于N*subWidth*subHeight,并且N是整数1或2。
4.根据权利要求2所述的方法,进一步包括:基于利用不同语法或在不同层级用信号传送所述门限,针对所述多个子块中的每一个子块获得所述门限。
5.根据权利要求2所述的方法,进一步包括:基于不同门限值的预定义集合,针对所述多个子块中的每一个子块获得所述门限。
6.根据权利要求5所述的方法,进一步包括:
从所述预定义集合获得门限值thres;以及
基于所述多个子块中的每一个子块的所述门限值thres、所述高度subHeight和所述宽度subWidth,针对所述多个子块中的每一个子块获得所述门限,其中所述门限等于thres*subWidth*subHeight。
7.根据权利要求6所述的方法,其中所述门限值thres直接被用信号传送,或者所述门限值thres在所述预定义集合中的索引被用信号传送。
8.根据权利要求4所述的方法,进一步包括:
基于用信号传送的第一语法获得第一门限,所述第一门限用于针对所述多个子块中的每一个子块确定是否终止所述双向光流BDOF;以及
基于用信号传送的第二语法获得第二门限,所述第二门限用于针对所述多个子块中的每一个子块确定是否终止所述解码器端运动矢量细化DMVR。
9.根据权利要求4所述的方法,进一步包括:基于用信号传送的联合语法获得所述门限,所述门限用于针对所述多个子块中的每一个子块确定是否终止所述BDOF和所述DMVR。
10.根据权利要求9所述的方法,进一步包括:
基于用信号传送的所述联合语法、所述多个子块中的每一个子块的所述高度和所述宽度来获得第一门限,所述第一门限用于针对所述多个子块中的每一个子块确定是否终止所述BDOF;以及
基于用信号传送的所述联合语法、所述多个子块中的每一个子块的所述高度和所述宽度来获得第二门限,所述第二门限用于针对所述多个子块中的每一个子块确定是否终止所述DMVR。
11.根据权利要求1所述的方法,其中所述代价值包括绝对差之和SAD。
12.一种用于视频编解码的装置,包括:
一个或更多个处理器;以及
存储器,被配置为存储由所述一个或更多个处理器可执行的指令;
其中所述一个或更多个处理器在执行所述指令时被配置为:
将视频图片分割为多个编解码单元(CU),其中所述多个CU中的每一个CU包括多个子块;
针对所述多个子块中的每一个子块,导出初始运动矢量MV和多个MV候选;
基于所述初始MV和所述多个MV候选,针对所述多个子块中的每一个子块确定代价值;
针对所述多个子块中的每一个子块获得门限;以及
基于所述门限和所述代价值,针对所述多个子块中的每一个子块,确定是否终止双向光流BDOF和解码器端运动矢量细化DMVR。
13.根据权利要求12所述的装置,其中所述一个或更多个处理器被配置为:基于所述多个子块中的每一个子块的高度subHeight和宽度subWidth,获得所述门限。
14.根据权利要求13所述的装置,其中获得的所述门限等于N*subWidth*subHeight,并且N是整数1或2。
15.根据权利要求13所述的装置,其中所述一个或更多个处理器被配置为:基于利用不同语法或在不同层级用信号传送所述门限,针对所述多个子块中的每一个子块获得所述门限。
16.根据权利要求13所述的装置,其中所述一个或更多个处理器被配置为:基于不同门限值的预定义集合,针对所述多个子块中的每一个子块获得所述门限。
17.根据权利要求16所述的装置,其中所述一个或更多个处理器被配置为:
从所述预定义集合获得门限值thres;以及
基于所述多个子块中的每一个子块的所述门限值thres、所述高度subHeight和所述宽度subWidth,针对所述多个子块中的每一个子块获得所述门限,其中所述门限等于thres*subWidth*subHeight。
18.根据权利要求17所述的装置,其中所述门限值thres是直接用信号传送的,或者所述门限值thres在所述预定义集合中的索引被用信号传送。
19.根据权利要求15所述的装置,其中所述一个或更多个处理器被配置为:
基于用信号传送的第一语法获得第一门限,所述第一门限用于针对所述多个子块中的每一个子块确定是否终止所述双向光流BDOF;以及
基于用信号传送的第二语法获得第二门限,所述第二门限用于针对所述多个子块中的每一个子块确定是否终止所述解码器端运动矢量细化DMVR。
20.根据权利要求15所述的装置,其中所述一个或更多个处理器被配置为:基于用信号传送的联合语法获得所述门限,所述门限用于针对所述多个子块中的每一个子块确定是否终止所述BDOF和所述DMVR。
21.根据权利要求20所述的装置,其中所述一个或更多个处理器被配置为:
基于用信号传送的所述联合语法、所述多个子块中的每一个子块的所述高度和所述宽度来获得第一门限,所述第一门限用于针对所述多个子块中的每一个子块确定是否终止所述BDOF;以及
基于用信号传送的所述联合语法、所述多个子块中的每一个子块的所述高度和所述宽度来获得第二门限,所述第二门限用于针对所述多个子块中的每一个子块确定是否终止所述DMVR。
22.根据权利要求12所述的装置,其中所述代价值包括绝对差之和SAD。
23.一种非暂态计算机可读存储介质,包括存储在其中的指令,其中在由一个或更多个处理器执行所述指令时,所述指令使所述一个或更多个处理器执行动作,所述动作包括:
将视频图片分割为多个编解码单元(CU),其中所述多个CU中的每一个CU包括多个子块;
针对所述多个子块中的每一个子块,导出初始运动矢量MV和多个MV候选;
基于所述初始MV和所述多个MV候选,针对所述多个子块中的每一个子块确定代价值;
针对所述多个子块中的每一个子块获得门限;以及
基于所述门限和所述代价值,针对所述多个子块中的每一个子块,确定是否终止双向光流BDOF和解码器端运动矢量细化DMVR。
24.根据权利要求23所述的非暂态计算机可读存储介质,其中所述指令使所述一个或更多个处理器进一步执行以下动作:
基于所述多个子块中的每一个子块的高度subHeight和宽度subWidth,获得所述门限。
25.根据权利要求24所述的非暂时性计算机可读存储介质,其中获得的所述门限等于N*subWidth*subHeight,并且N是整数1或2。
26.根据权利要求24所述的非暂时性计算机可读存储介质,其中所述指令使所述一个或更多个处理器进一步执行以下动作:
基于利用不同语法或在不同层级用信号传送所述门限,针对所述多个子块中的每一个子块获得所述门限。
27.根据权利要求24所述的非暂时性计算机可读存储介质,其中所述指令使所述一个或更多个处理器进一步执行以下动作:
基于不同门限值的预定义集合,针对所述多个子块中的每一个子块获得所述门限。
28.根据权利要求27所述的非暂态计算机可读存储介质,其中所述指令使所述一个或更多个处理器进一步执行以下动作:
从所述预定义集合获得门限值thres;以及
基于所述多个子块中的每一个子块的所述门限值thres、所述高度subHeight和所述宽度subWidth,针对所述多个子块中的每一个子块获得所述门限,其中所述门限等于thres*subWidth*subHeight。
29.根据权利要求28所述的非暂时性计算机可读存储介质,其中所述门限值thres直接被用信号传送,或者所述门限值thres在所述预定义集合中的索引被用信号传送。
30.根据权利要求26所述的非暂时性计算机可读存储介质,其中所述指令使所述一个或更多个处理器进一步执行以下动作:
基于用信号传送的第一语法获得第一门限,其中所述第一门限用于针对所述多个子块中的每一个子块确定是否终止所述双向光流BDOF;以及
基于用信号传送的第二语法获得第二门限,其中所述第二门限用于针对所述多个子块中的每一个子块确定是否终止所述解码器端运动矢量细化DMVR。
31.根据权利要求26所述的非暂时性计算机可读存储介质,其中所述指令使所述一个或更多个处理器进一步执行以下动作:
基于用信号传送的联合语法获得所述门限,其中所述门限用于针对所述多个子块中的每一个子块确定是否终止所述BDOF和所述DMVR。
32.根据权利要求31所述的非暂态计算机可读存储介质,其中所述指令使所述一个或更多个处理器进一步执行以下动作:
基于用信号传送的所述联合语法、所述多个子块中的每一个子块的所述高度和所述宽度来获得第一门限,其中所述第一门限用于针对所述多个子块中的每一个子块确定是否终止所述BDOF;以及
基于用信号传送的所述联合语法、所述多个子块中的每一个子块的所述高度和所述宽度来获得第二门限,其中所述第二门限用于针对所述多个子块中的每一个子块确定是否终止所述DMVR。
33.根据权利要求23所述的非暂时性计算机可读存储介质,其中所述代价值包括绝对差之和SAD。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962907540P | 2019-09-27 | 2019-09-27 | |
US62/907,540 | 2019-09-27 | ||
PCT/US2020/052893 WO2021062283A1 (en) | 2019-09-27 | 2020-09-25 | Methods and apparatuses for decoder-side motion vector refinement in video coding |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114402618A true CN114402618A (zh) | 2022-04-26 |
Family
ID=75166461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080063431.6A Pending CN114402618A (zh) | 2019-09-27 | 2020-09-25 | 用于视频编解码中的解码器端运动矢量细化的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114402618A (zh) |
WO (1) | WO2021062283A1 (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180199057A1 (en) * | 2017-01-12 | 2018-07-12 | Mediatek Inc. | Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding |
US11750832B2 (en) * | 2017-11-02 | 2023-09-05 | Hfi Innovation Inc. | Method and apparatus for video coding |
-
2020
- 2020-09-25 WO PCT/US2020/052893 patent/WO2021062283A1/en active Application Filing
- 2020-09-25 CN CN202080063431.6A patent/CN114402618A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021062283A1 (en) | 2021-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117221532B (zh) | 用于视频解码的方法、装置和存储介质 | |
WO2020172345A1 (en) | Methods and apparatus of motion vector rounding, clipping and storage for inter prediction based on mantissa-exponent representations | |
CN113824959B (zh) | 用于视频编码的方法、装置和存储介质 | |
CN113545050B (zh) | 利用三角形预测的视频编解码方法及装置 | |
US20240146952A1 (en) | Methods and apparatuses for decoder-side motion vector refinement in video coding | |
CN114128263A (zh) | 用于视频编解码中的自适应运动矢量分辨率的方法和设备 | |
CN114009019A (zh) | 用于在视频编解码中用信令传递合并模式的方法和装置 | |
CN116916026B (zh) | 用于视频编解码中的解码器侧运动矢量细化的方法和装置 | |
CN114402618A (zh) | 用于视频编解码中的解码器端运动矢量细化的方法和装置 | |
CN114080808A (zh) | 用于视频编解码中的解码器侧运动矢量细化的方法和装置 | |
CN114051732A (zh) | 用于视频编解码中的解码器侧运动矢量细化的方法和装置 | |
CN114080807A (zh) | 利用三角分区进行视频编解码的方法和装置 | |
CN113994672A (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 |