CN118176724A - 用于视频编解码中仿射合并模式的候选推导的方法和设备 - Google Patents

用于视频编解码中仿射合并模式的候选推导的方法和设备 Download PDF

Info

Publication number
CN118176724A
CN118176724A CN202280073265.7A CN202280073265A CN118176724A CN 118176724 A CN118176724 A CN 118176724A CN 202280073265 A CN202280073265 A CN 202280073265A CN 118176724 A CN118176724 A CN 118176724A
Authority
CN
China
Prior art keywords
candidate
candidates
constructed
block
scan
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
Application number
CN202280073265.7A
Other languages
English (en)
Inventor
陈伟
修晓宇
陈漪纹
朱弘正
郭哲玮
闫宁
王祥林
于冰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Publication of CN118176724A publication Critical patent/CN118176724A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

提供了一种视频解码方法、视频编码方法、装置及其非暂态计算机可读存储介质。视频解码方法包括通过在一个或多个扫描距离处联合地或独立地扫描多个扫描区域来从当前块的多个不相邻邻近块获得一个或多个构建的运动矢量(MV)候选,其中,一个扫描距离指示与当前块的一侧相距的块数。此外,所述方法可以包括基于一个或多个构建的MV候选来获得当前块的一个或多个控制点运动矢量(CPMV)。

Description

用于视频编解码中仿射合并模式的候选推导的方法和设备
相关申请的交叉引用
本申请是根据于2021年11月23日提交的名称为“Methods and Devices forCandidate Derivation for Affine Merge Mode in Video Coding[用于视频编解码中仿射合并模式的候选推导的方法和设备]”的美国临时申请号63/282,641提交的并要求其优先权,所述美国临时申请的全文通过引用并入。
技术领域
本公开涉及视频编解码和压缩,并且具体地涉及但不限于改进视频编码或解码过程中仿射运动预测模式的仿射合并候选推导的方法和装置。
背景技术
可以使用各种视频编解码技术来压缩视频数据。视频编解码是根据一个或多个视频编解码标准来执行的。例如,如今,一些众所周知的视频编解码标准包括通用视频编解码(Versatile Video Coding,VVC)、高效视频编解码(High Efficiency Video Coding,HEVC,也被称为H.265或MPEG-H第2部分)和高级视频编解码(Advanced Video Coding,AVC,也被称为H.264或MPEG-4第10部分),所述视频编解码标准由ISO/IEC MPEG和ITU-T VECG联合开发。AO媒体视频1(AOMedia Video 1,AV1)由开放媒体联盟(Alliance for OpenMedia,AOM)开发作为其先前标准VP9的后续标准。音视频编解码(Audio Video Coding,AVS)(其是指数字音频和数字视频压缩标准)是中国数字音视频编解码技术标准工作组(Audio and Video Coding Standard Workgroup of China)开发的另一个视频压缩系列标准。大多数现有视频编解码标准建立在著名的混合视频编解码框架上,即,使用基于块的预测方法(例如,帧间预测、帧内预测)来减少视频图像或序列中存在的冗余,并使用变换编解码来压缩预测误差的能量。视频编解码技术的一个重要目标在于将视频数据压缩成在避免或最小化视频质量降级的同时使用较低比特率的形式。
第一代AVS标准包括中国国家标准“信息技术高级音视频编解码第2部分:视频”(被称为AVS1)和“信息技术高级音视频编解码第16部分:广播电视视频”(被称为AVS+)。与MPEG-2标准相比,第一代AVS标准可以在相同的感知质量下提供大约50%的比特率节省。AVS1标准视频部分于2006年2月作为中国国家标准颁布。第二代AVS标准包括中国国家标准“信息技术高效多媒体编解码”(被称为AVS2)系列,其主要针对额外HD TV节目的传输。AVS2的编解码效率是AVS+的编解码效率的两倍。2016年5月,AVS2作为中国国家标准发布。同时,AVS2标准视频部分由电气和电子工程师协会(Institute of Electrical andElectronics Engineers,IEEE)作为一项国际应用标准提交。AVS3标准是针对UHD视频应用的新一代视频编解码标准,旨在超越最新国际标准HEVC的编解码效率。2019年3月,在第68届AVS会议上,AVS3-P2基线已经完成,其提供了超过HEVC标准大约30%的比特率节省。目前,存在一种被称为高性能模型(high performance model,HPM)的参考软件,由AVS工作组维护以展示AVS3标准的参考实施方式。
发明内容
本公开提供了与改进视频编码或解码过程中运动预测模式的运动矢量候选推导相关的技术的示例。
根据本公开的第一方面,提供了一种视频解码方法。所述方法可以包括通过在一个或多个扫描距离处联合地或独立地扫描多个扫描区域来从当前块的多个不相邻邻近块获得一个或多个构建的运动矢量(motion vector,MV)候选,其中,一个扫描距离可以指示与当前块的一侧相距的块数。此外,所述方法可以包括基于一个或多个构建的MV候选来获得当前块的一个或多个控制点运动矢量(control point motion vector,CPMV)。
根据本公开的第二方面,提供了一种视频编码方法。所述方法可以包括通过在一个或多个扫描距离处联合地或独立地扫描多个扫描区域来从当前块的多个不相邻邻近块确定一个或多个构建的MV候选,其中,一个扫描距离可以指示与当前块的一侧相距的块数。此外,所述方法可以包括基于一个或多个构建的MV候选来获得当前块的一个或多个CPMV。
根据本公开的第三方面,提供了一种视频解码方法。所述方法可以包括按照预定顺序从一个或多个候选列表中获得一个或多个MV候选,其中,所述一个或多个候选列表可以包括仿射高级运动矢量预测AMVP候选列表、常规合并候选列表和/或仿射合并候选列表,并且其中,所述一个或多个MV候选来自当前块的多个邻近块。此外,所述方法可以包括基于一个或多个MV候选来获得当前块的一个或多个CPMV。
根据本公开的第四方面,提供了一种视频编码方法。所述方法可以包括从当前块的多个邻近块确定一个或多个MV候选,以及按照预定顺序将一个或多个MV候选***到一个或多个候选列表中,其中一个或多个候选列表可以包括AMVP候选列表、常规合并候选列表和/或仿射合并候选列表。此外,所述方法可以包括基于一个或多个MV候选来获得当前块的一个或多个CPMV。
根据本公开的第五方面,提供了一种用于视频解码的装置。所述装置包括存储器和一个或多个处理器,所述存储器被配置为存储可由一个或多个处理器执行的指令。进一步地,所述一个或多个处理器在执行所述指令时被配置为执行根据第一方面或第三方面的方法。
根据本公开的第六方面,提供了一种用于视频编码的装置。所述装置包括存储器和一个或多个处理器,所述存储器被配置为存储可由一个或多个处理器执行的指令。进一步地,所述一个或多个处理器在执行所述指令时被配置为执行根据第二方面或第四方面的方法。
根据本公开的第七方面,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在由一个或多个计算机处理器执行时使所述一个或多个计算机处理器接收比特流,并执行根据第一方面或第三方面的方法。
根据本公开的第八方面,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在由一个或多个计算机处理器执行时使所述一个或多个计算机处理器执行根据第二方面或第四方面的方法,以将所述当前块编码成比特流,并传输所述比特流。
附图说明
本公开的示例的更具体的描述将通过参照在附图中图示的具体示例来呈现。鉴于这些附图仅描绘了一些示例并且因此不应被认为是对范围的限制,将通过使用所附附图更具体和详细地描述和解释这些示例。
图1A是图示了根据本公开的一些示例的用于对视频块进行编码和解码的***的框图。
图1B是根据本公开的一些示例的编码器的框图。
图1C至图1F是图示了根据本公开的一些示例的如何将帧递归地分区成具有不同尺寸和形状的多个视频块的框图。
图2是根据本公开的一些示例的解码器的框图。
图3A是图示了根据本公开的一些示例的多类型树结构中的块分区的图。
图3B是图示了根据本公开的一些示例的多类型树结构中的块分区的图。
图3C是图示了根据本公开的一些示例的多类型树结构中的块分区的图。
图3D是图示了根据本公开的一些示例的多类型树结构中的块分区的图。
图3E是图示了根据本公开的一些示例的多类型树结构中的块分区的图。
图4A图示了根据本公开的一些示例的4参数仿射模型。
图4B图示了根据本公开的一些示例的4参数仿射模型。
图4C图示了根据本公开的一些示例的空间合并候选的位置。
图4D图示了根据本公开的一些示例的被考虑用于对空间合并候选进行冗余检查的候选对。
图4E图示了根据本公开的一些示例的时间合并候选的运动矢量缩放。
图4F图示了根据本公开的一些示例的时间合并候选C0和C1的候选位置。
图5图示了根据本公开的一些示例的6参数仿射模型。
图6图示了根据本公开的一些示例的用于继承的仿射合并候选的相邻邻近块。
图7图示了根据本公开的一些示例的用于构建的仿射合并候选的相邻邻近块。
图8图示了根据本公开的一些示例的用于继承的仿射合并候选的不相邻邻近块。
图9图示了根据本公开的一些示例的使用不相邻邻近块对构建的仿射合并候选的推导。
图10是图示了根据本公开的一些示例的不相邻邻近块的垂直扫描。
图11是图示了根据本公开的一些示例的不相邻邻近块的平行扫描。
图12是图示了根据本公开的一些示例的不相邻邻近块的组合垂直和平行扫描。
图13A图示了根据本公开的一些示例的具有与当前块相同尺寸的邻近块。
图13B图示了根据本公开的一些示例的具有与当前块不同尺寸的邻近块。
图14A图示了根据本公开的一些示例的将先前距离中的最底部块或最右侧块的左下块或右上块用作当前距离的最底部块或最右侧块的示例。
图14B图示了根据本公开的一些示例的将先前距离中的最底部块或最右侧块的左侧块或右侧块用作当前距离的最底部块或最右侧块的示例。
图15A图示了根据本公开的一些示例的用于上方和左侧不相邻邻近块的左下和右上位置处的扫描位置。
图15B图示了根据本公开的一些示例的用于上方和左侧不相邻邻近块二者的右下位置处的扫描位置。
图15C图示了根据本公开的一些示例的用于上方和左侧不相邻邻近块二者的左下位置处的扫描位置。
图15D图示了根据本公开的一些示例的用于上方和左侧不相邻邻近块二者的右上位置处的扫描位置。
图16图示了根据本公开的一些示例的用于推导构建的合并候选的简化扫描过程。
图17A图示了根据本公开的一些示例的用于推导继承的仿射合并候选的空间邻近块。
图17B图示了根据本公开的一些示例的用于推导构建的仿射合并候选的空间邻近块。
图18图示了根据本公开的一些示例的用于推导构建的仿射候选的基于继承的推导方法的示例。
图19是图示了根据本公开的一些示例的与用户界面耦接的计算环境的图。
图20是图示了根据本公开的一些示例的视频解码方法的流程图。
图21是图示了根据本公开的一些示例的对应于如图20所示的视频解码方法的视频编码方法的流程图。
图22是图示了根据本公开的一些示例的视频解码方法的流程图。
图23是图示了根据本公开的一些示例的对应于如图22所示的视频解码方法的视频编码方法的流程图。
具体实施方式
现在将详细参照具体实施方式,附图中图示了所述实施方式的示例。在以下具体描述中,阐述了许多非限制性的具体细节,以便帮助理解本文提出的主题。但是对于本领域普通技术人员将显而易见的是,可以使用各种替代方案。例如,对于本领域普通技术人员将显而易见的是,本文提出的主题可以在具有数字视频能力的许多类型的电子设备上实施。
本公开中使用的术语仅用于描述特定实施例的目的,并不旨在限制本公开。本公开和所附权利要求中的单数形式的“一个/一种(a/an)”、“所述”和“该”也旨在包括复数形式,除非在整个公开中明确指出其他含义。还应当理解,本公开中使用的术语“和/或”是指并且包括所列出的多个相关项之一或任一项或所有可能的组合。
贯穿本说明书对“一个实施例”、“实施例”、“示例”、“一些实施例”、“一些示例”、或类似语言的提及意味着所描述的特定特征、结构、或特性包括在至少一个实施例或示例中。除非另有明确说明,否则结合一个或一些实施例描述的特征、结构、要素、或特性也适用于其他实施例。
贯穿本公开,术语“第一”、“第二”、“第三”等都用作命名法,仅用于提及相关要素,例如设备、部件、组分、步骤等,除非另有明确说明,否则不暗示任何空间或时间顺序。例如,“第一设备”和“第二设备”可以指两个单独形成的设备,或者同一设备的两个部分、部件或工作状态,并且可以任意命名。
术语“模块”、“子模块”、“电路”、“子电路”、“电路***”、“子电路***”、“单元”、或“子单元”可以包括存储器(共享、专用、或组),所述存储器存储可以由一个或多个处理器执行的代码或指令。模块可以包括具有或不具有存储的代码或指令的一个或多个电路。模块或电路可以包括直接或间接连接的一个或多个部件。这些部件可能会或可能不会物理地附接到彼此或彼此相邻。
如本文所使用的,取决于上下文,术语“如果”或“当……时”可以被理解为意指“在……时”或“响应于”。这些术语如果出现在权利要求中,可能并不指示相关限制或特征是有条件的或可选的。例如,一种方法可以包括以下步骤:i)当或如果条件X存在时,执行功能或动作X',以及ii)当或如果条件Y存在时,执行功能或动作Y'。所述方法可以同时具备执行功能或动作X'的能力和执行功能或动作Y'的能力。因此,功能X'和Y'可以在不同的时间在所述方法的多次执行中被执行。
单元或模块可以由纯软件实施,也可以由纯硬件实施,也可以由硬件与软件的结合实施。例如,在纯软件实施方式中,单元或模块可以包括直接或间接链接在一起的功能相关的代码块或软件部件,以执行特定功能。
图1A是图示了根据本公开的一些实施方式的用于并行地对视频块进行编码和解码的示例性***10的框图。如图1A所示,***10包括源设备12,所述源设备生成并编码要由目的地设备14在稍后时间解码的视频数据。源设备12和目的地设备14可以包括多种电子设备中的任一种,包括台式计算机或膝上型计算机、平板计算机、智能电话、机顶盒、数字电视、相机、显示设备、数字媒体播放器、视频游戏机、视频流式传输设备等。在一些实施方式中,源设备12和目的地设备14配备有无线通信能力。
在一些实施方式中,目的地设备14可以经由链路16接收将被解码的已编码视频数据。链路16可以包括能够将已编码视频数据从源设备12移动到目的地设备14的任何类型的通信介质或设备。在一个示例中,链路16可以包括用于使源设备12能够实时地将已编码视频数据直接传输到目的地设备14的通信介质。已编码视频数据可以根据如无线通信协议等通信标准来调制并传输到目的地设备14。通信媒体可以包括任何无线或有线通信媒体,如射频(Radio Frequency,RF)频谱或一条或多条物理传输线。通信介质可以形成基于分组的网络(如局域网、广域网、或全球网(如互联网))的一部分。通信介质可以包括路由器、交换机、基站、或可以用于促进从源设备12到目的地设备14的通信的任何其他设备。
在一些其他实施方式中,已编码视频数据可以从输出接口22传输到存储设备32。随后,目的地设备14可以经由输入接口28来访问存储设备32中的已编码视频数据。存储设备32可以包括各种分布式或本地访问的数据存储介质中的任一种,如硬盘驱动器、蓝光光盘、数字通用盘(Digital Versatile Disk,DVD)、光碟只读存储器(Compact Disc Read-Only Memory,CD-ROM)、闪速存储器、易失性存储器或非易失性存储器、或用于存储已编码视频数据的任何其他合适的数字存储介质。在进一步的示例中,存储设备32可以对应于可以保存由源设备12生成的已编码视频数据的文件服务器或另一个中间存储设备。目的地设备14可以经由流式传输或下载来访问存储设备32中存储的视频数据。文件服务器可以是能够存储已编码视频数据并且将已编码视频数据传输到目的地设备14的任何类型的计算机。示例性文件服务器包括web服务器(例如,用于网站)、文件传输协议(File TransferProtocol,FTP)服务器、网络附加存储(Network Attached Storage,NAS)设备、或本地磁盘驱动器。目的地设备14可以通过任何标准数据连接来访问已编码视频数据,所述连接包括适于访问存储在文件服务器上的已编码视频数据的无线信道(例如,无线保真(WirelessFidelity,Wi-Fi)连接)、有线连接(例如,数字用户线(Digital Subscriber Line,DSL)、电缆调制解调器等)、或两者的组合。从存储设备32传输已编码视频数据可以是流式传输、下载传输、或两者的组合。
如图1A所示,源设备12包括视频源18、视频编码器20和输出接口22。视频源18可以包括如视频捕获设备(例如摄像机)等源、包含先前捕获的视频的视频档案、用于从视频内容提供方接收视频的视频馈送接口和/或用于生成计算机图形数据作为源视频的计算机图形***或这些源的组合。作为一个示例,如果视频源18是安全监控***的摄像机,则源设备12和目的地设备14可以形成拍照电话或视频电话。然而,本申请中描述的实施方式通常可以适用于视频编解码并且可以应用于无线和/或有线应用。
捕获的、预先捕获的、或计算机生成的视频可以由视频编码器20进行编码。已编码视频数据可以经由源设备12的输出接口22直接传输到目的地设备14。已编码视频数据也可以(或替代性地)存储到存储设备32上,以供目的地设备14或其他设备以后访问,以进行解码和/或回放。输出接口22可以进一步包括调制解调器和/或发射器。
目的地设备14包括输入接口28、视频解码器30、以及显示设备34。输入接口28可以包括接收器和/或调制解调器,并且通过链路16接收已编码视频数据。通过链路16传送的或提供在存储设备32上的已编码视频数据可以包括由视频编码器20生成的各种语法元素,以供视频解码器30用于解码视频数据。这种语法元素可以被包括于在通信介质上传输的、存储在存储介质上的、或存储在文件服务器上的已编码视频数据内。
在一些实施方式中,目的地设备14可以包括显示设备34,所述显示设备可以是集成显示设备和被配置为与目的地设备14通信的外部显示设备。显示设备34向用户显示已解码视频数据并且可以包括各种显示设备中的任一种,如液晶显示器(Liquid CrystalDisplay,LCD)、等离子显示器、有机发光二极管(Organic Light Emitting Diode,OLED)显示器、或另一种类型的显示设备。
视频编码器20和视频解码器30可以根据专有或行业标准(如VVC、HEVC、MPEG-4第10部分、AVC、或这种标准的扩展)进行操作。应当理解,本申请不限于特定的视频编码/解码标准,并且可以适用于其他视频编码/解码标准。通常设想,源设备12的视频编码器20可以被配置为根据这些当前或未来标准中的任一种来对视频数据进行编码。类似地,通常还设想,目的地设备14的视频解码器30可以被配置为根据这些当前或未来标准中的任一种来对视频数据进行解码。
视频编码器20和视频解码器30各自可以实施为各种合适的编码器和/或解码器电路中的任一种,如一个或多个微处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地在软件中实施时,电子设备可以将用于软件的指令存储在合适的非暂态计算机可读介质中并且使用一个或多个处理器在硬件中执行指令以执行本公开中公开的视频编码/解码操作。视频编码器20和视频解码器30中的每一个可以被包括在一个或多个编码器或解码器中,其中任一者都可以集成为相应设备中的组合编码器/解码器(combined encoder/decoder,CODEC)的一部分。
与HEVC一样,VVC是在基于块的混合视频编解码框架上构建的。图1B是图示了根据本公开的一些实施方式的基于块的视频编码器的框图。在编码器100中,逐块(称为编码单元(coding unit,CU))对输入视频信号进行处理。编码器100可以是如图1A所示的视频编码器20。在VTM-1.0中,CU可以高达128×128像素。然而,不同于仅仅基于四叉树来将块分区的HEVC,在VVC中,一个编码树单元(coding tree unit,CTU)被拆分成多个CU,以适应基于四/二/三叉树而不同的局部特性。另外,HEVC中的多种分区单元类型的概念被移除了,即,VVC中不再存在CU、预测单元(prediction unit,PU)和变换单元(transform unit,TU)的划分;相反,每个CU始终用作预测和变换两者的基本单元,而不进行进一步分区。在多类型树结构中,一个CTU首先按四叉树结构进行分区。然后,每个四叉树叶节点可以进一步按二叉树结构和三叉树结构进行分区。
图3A至图3E是图示了根据本公开的一些实施方式的多类型树划分模式的示意图。图3A至图3E分别示出了五种划分类型,包括四叉分区(图3A)、垂直二叉分区(图3B)、水平二叉分区(图3C)、垂直扩展三叉分区(图3D)和水平扩展三叉分区(图3E)。
对于每个给定的视频块,可以执行空间预测和/或时间预测。空间预测(或“帧内预测”)使用来自同一视频图片/条带中的已编码的邻近块的样点(被称为参考样点)的像素来预测当前视频块。空间预测减少了视频信号中固有的空间冗余。时间预测(也被称为“帧间预测”或“运动补偿预测”)使用来自已编码的视频图片的重建像素来预测当前视频块。时间预测减少了在视频信号中固有的时间冗余。给定CU的时间预测信号通常由一个或多个运动矢量(motion vector,MV)来表示,这些运动矢量指示当前CU与其时间参考之间的运动量和运动方向。同样,如果支持多个参考图片,则另外发送一个参考图片索引,所述参考图片索引用于标识时间预测信号来自参考图片存储中的哪个参考图片。
在空间预测和/或时间预测之后,编码器100中的帧内/帧间模式决策电路121例如基于率失真优化方法来选择最佳预测模式。然后,从当前视频块减去块预测值120;并且使用变换电路102和量化电路104对所产生的预测残差进行解相关。通过反量化电路116对所产生的量化残差系数进行反量化,并通过逆变换电路118对所述量化残差系数进行逆变换,以形成重建残差,然后将所述重建残差加回到预测块以形成CU的重建信号。进一步地,在将重建的CU置于图片缓冲器117的参考图片存储中并将其用于对未来的视频块进行编码之前,可以对所述重建的CU应用环路滤波115,如去块滤波器、样点自适应偏移(sampleadaptive offset,SAO)和/或自适应环路滤波器(adaptive in-loop filter,ALF)。为了形成输出视频比特流114,将编码模式(帧间或帧内)、预测模式信息、运动信息、以及量化残差系数都发送至熵编码单元106,以进行进一步压缩和打包来形成比特流。
例如,去块滤波器在VVC的当前版本以及AVC、HEVC中是可用的。在HEVC中,定义了称为SAO的附加环路滤波器以进一步提高编解码效率。在VVC标准的当前版本中,正在积极研究称为ALF的又另一种环路滤波器,并且其很有可能被包括在最终标准中。
这些环路滤波器操作是可选的。执行这些操作有助于提高编解码效率和视觉质量。编码器100也可以决定关闭这些操作,以节省计算复杂度。
应该注意的是,如果这些滤波器选项被编码器100开启,则帧内预测通常基于未滤波的重建像素,而帧间预测则基于已滤波的重建像素。
图2是图示了可以与许多视频编解码标准结合使用的基于块的视频解码器200的框图。该解码器200与位于图1B的编码器100中的重建相关的部分类似。基于块的视频解码器200可以是如图1A所示的视频解码器30。在解码器200中,首先通过熵解码202对传入的视频比特流201进行解码以得到量化系数等级和预测相关信息。然后,通过反量化204和逆变换206来处理量化系数等级,以获得重建预测残差。在帧内/帧间模式选择器212中实施的块预测值机制被配置为基于已解码的预测信息来执行帧内预测208或运动补偿210。通过使用加法器214对来自逆变换206的重建预测残差与由块预测值机制生成的预测输出进行求和来获得一组未滤波的重建像素。
重建块可以进一步通过环路滤波器209,然后被存储在用作参考图片存储的图片缓冲器213中。可以发送图片缓冲器213中的重建视频以驱动显示设备,并用于预测未来的视频块。在环路滤波器209被开启的情况下,对这些重建像素执行滤波操作,从而得到最终的重建视频输出222。
在当前的VVC和AVS3标准中,当前编码块的运动信息要么是从由合并候选索引指定的空间或时间邻近块复制的,要么是通过运动估计的显式信号获得的。本公开的重点是通过改进仿射合并候选的推导方法来提高仿射合并模式的运动矢量的准确性。为了便于描述本公开,使用VVC标准中的现有仿射合并模式设计作为示例来说明所提出的思想。请注意,虽然在整个公开中使用VVC标准中的现有仿射模式设计作为示例,但是对于现代视频编解码技术领域的技术人员来说,所提出的技术也可以应用于仿射运动预测模式的不同设计或具有相同或相似设计精神的其他编解码工具。
在典型的视频编解码过程中,视频序列典型地包括帧或图片的有序集合。每个帧可以包括三个样点阵列,分别表示为SL、SCb和SCr。SL是亮度样点的二维阵列。SCb是Cb色度样点的二维阵列。SCr是Cr色度样点的二维阵列。在其他实例中,帧可以是单色的,并且因此仅包括亮度样点的一个二维阵列。
如图1C所示,视频编码器20(或更具体地,视频编码器20的预测处理单元中的分区单元)通过首先将帧分区为一组CTU来生成帧的已编码表示。视频帧可以包括从左到右以及从上到下以光栅扫描顺序连续排序的整数个CTU。每个CTU是最大的逻辑编码单元,并且由视频编码器20在序列参数集中用信号传输CTU的宽度和高度,使得视频序列中的所有CTU具有相同的尺寸,即128×128、64×64、32×32和16×16之一。但是应当注意,本申请不必限于特定的尺寸。如图1D所示,每个CTU可以包括亮度样点的一个CTB、色度样点的两个对应编码树块、以及用于对编码树块的样点进行编码的语法元素。语法元素描述了已编码像素块的不同类型的单元的属性以及可以如何在视频解码器30处重建视频序列,包括帧间预测或帧内预测、帧内预测模式、运动矢量和其他参数。在单色图片或具有三个单独的色彩平面的图片中,CTU可以包括单个编码树块和用于对编码树块的样点进行编码的语法元素。编码树块可以是N×N样点块。
为了实现更好的性能,视频编码器20可以对CTU的编码树块递归地执行树分区(如二叉树分区、三叉树分区、四叉树分区或其组合),并且将CTU划分为较小的CU。如图1E描绘的,首先将64×64CTU 400划分为四个较小的CU,每个CU的块尺寸为32×32。在四个较小的CU中,CU 410和CU 420按块尺寸各自划分为四个16×16的CU。两个16×16CU 430和440按块尺寸各自进一步划分为四个8×8的CU。图1F描绘了图示了如图1E中所描绘的CTU 400的分区过程的最终结果的四叉树数据结构,四叉树的每个叶节点对应于具有在32×32至8×8范围内的相应尺寸的一个CU。类似于图1D中描绘的CTU,每个CU可以包括相同尺寸的帧的亮度样点的CB和色度样点的两个对应编码块,以及用于对编码块的样点进行编码的语法元素。在单色图片或具有三个单独的色彩平面的图片中,CU可以包括单个编码块和用于对编码块的样点进行编码的语法结构。应当注意,图1E至图1F中描绘的四叉树分区仅用于说明目的,并且可以将一个CTU分割成多个CU以适应基于四叉树/三叉树/二叉树分区的不同的局部特性。在多类型树结构中,一个CTU按四叉树结构进行分区,并且每个四叉树叶CU可以进一步按二叉树结构和三叉树结构进行分区。如图3A至图3E所示,具有宽度W和高度H的编码块存在五种可能的分区类型,即,四叉分区、水平二叉分区、垂直二叉分区、水平三叉分区和垂直三叉分区。
在一些实施方式中,视频编码器20可以进一步将CU的编码块分区为一个或多个M×N PB。PB是被应用相同预测(帧间或帧内)的矩形(正方形或非正方形)样点块。CU的PU可以包括亮度样点的PB、色度样点的两个对应PB、以及用于对PB进行预测的语法元素。在单色图片或具有三个单独的色彩平面的图片中,PU可以包括单个PB和用于对PB进行预测的语法结构。视频编码器20可以为CU的每个PU的亮度PB、Cb PB和Cr PB生成预测亮度块、预测Cb块和预测Cr块。
视频编码器20可以使用帧内预测或帧间预测来生成PU的预测块。如果视频编码器20使用帧内预测来生成PU的预测块,则视频编码器20可以基于与PU相关联的帧的已解码样点来生成PU的预测块。如果视频编码器20使用帧间预测来生成PU的预测块,则视频编码器20可以基于除与PU相关联的帧之外的一个或多个帧的已解码样点来生成PU的预测块。
在视频编码器20生成CU的一个或多个PU的预测亮度块、预测Cb块和预测Cr块之后,视频编码器20可以通过从CU的原始亮度编码块中减去CU的预测亮度块来生成CU的亮度残差块,使得CU的亮度残差块中的每个样点指示CU的预测亮度块之一中的亮度样点与CU的原始亮度编码块中的对应样点之间的差。类似地,视频编码器20可以分别生成CU的Cb残差块和Cr残差块,使得CU的Cb残差块中的每个样点指示CU的预测Cb块之一中的Cb样点与CU的原始Cb编码块中的对应样点之间的差,并且CU的Cr残差块中的每个样点可以指示CU的预测Cr块之一中的Cr样点与CU的原始Cr编码块中的对应样点之间的差。
此外,如图1E所图示的,视频编码器20可以使用四叉树分区来将CU的亮度残差块、Cb残差块和Cr残差块分别分解为一个或多个亮度变换块、Cb变换块和Cr变换块。变换块是样点中被应用相同变换的矩形(正方形或非正方形)块。CU的TU可以包括亮度样点的变换块、色度样点的两个对应变换块、以及用于对变换块样点进行变换的语法元素。因此,CU的每个TU可以与亮度变换块、Cb变换块和Cr变换块相关联。在一些示例中,与TU相关联的亮度变换块可以是CU的亮度残差块的子块。Cb变换块可以是CU的Cb残差块的子块。Cr变换块可以是CU的Cr残差块的子块。在单色图片或具有三个单独的色彩平面的图片中,TU可以包括单个变换块和用于对变换块的样点进行变换的语法结构。
视频编码器20可以将一个或多个变换应用于TU的亮度变换块以生成TU的亮度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器20可以将一个或多个变换应用于TU的Cb变换块以生成TU的Cb系数块。视频编码器20可以将一个或多个变换应用于TU的Cr变换块以生成TU的Cr系数块。
在生成系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可以对系数块进行量化。量化通常是指对变换系数进行量化以可能减少用于表示变换系数的数据量,从而提供进一步压缩的过程。在视频编码器20对系数块进行量化之后,视频编码器20可以对指示量化变换系数的语法元素进行熵编码。例如,视频编码器20可以对指示量化变换系数的语法元素执行CABAC。最终,视频编码器20可以输出包括形成已编码帧和相关联数据的表示的比特序列的比特流,所述比特流被保存在存储设备32中或被传输到目的地设备14。
在接收到由视频编码器20生成的比特流之后,视频解码器30可以解析所述比特流以从所述比特流中获得语法元素。视频解码器30可以至少部分地基于从比特流获得的语法元素来重建视频数据的帧。重建视频数据的过程通常与由视频编码器20执行的编码过程是相反的。例如,视频解码器30可以对与当前CU的TU相关联的系数块执行逆变换以重建与当前CU的TU相关联的残差块。视频解码器30还通过将当前CU的PU的预测块的样点添加到当前CU的TU的变换块的对应样点来重建当前CU的编码块。在重建帧的每个CU的编码块之后,视频解码器30可以重建帧。
如上所述,视频编码主要使用两种模式,即,帧内部预测(或帧内预测)和帧之间预测(或帧间预测)来实现视频压缩。应注意的是,IBC可以被认为是帧内预测或第三模式。在这两种模式之间,帧间预测比帧内预测对编解码效率的贡献更大,因为其使用运动矢量来根据参考视频块预测当前视频块。
但是随着不断改进的视频数据捕获技术和用于保留视频数据中的细节的更精细的视频块尺寸,表示当前帧的运动矢量所需的数据量也大幅度增加。克服这个挑战的一种方式是受益于以下事实:不仅空间域和时间域中的一组邻近CU具有用于预测目的的相似视频数据,而且这些邻近CU之间的运动矢量也是相似的。因此,可以通过探索CU的空间和时间相关性,将空间上邻近的CU和/或时间上同位的CU的运动信息用作当前CU的运动信息(例如,运动矢量)的近似值,所述近似值也被称为当前CU的“运动矢量预测值”(Motion VectorPredictor,MVP)。
代替将由如上文结合图1B描述的运动估计单元确定的当前CU的实际运动矢量编码至视频比特流,从当前CU的实际运动矢量中减去当前CU的运动矢量预测值,以产生当前CU的运动矢量差(Motion Vector Difference,MVD)。这样做,不需要将由运动估计单元针对帧的每个CU确定的运动矢量编码至视频比特流,并且可以显著减少用于表示视频比特流中的运动信息的数据量。
像在编码块的帧间预测期间在参考帧中选择预测块的过程一样,需要由视频编码器20和视频解码器30两者采用一组规则以用于使用与当前CU的在空间上邻近的CU和/或在时间上同位的CU相关联的那些潜在候选运动矢量来构建当前CU的运动矢量候选列表(也称为“合并列表”),并且然后从运动矢量候选列表中选择一个成员作为当前CU的运动矢量预测值。这样做,不需要将运动矢量候选列表本身从视频编码器20传输到视频解码器30,并且运动矢量候选列表内的所选运动矢量预测值的索引足以使视频编码器20和视频解码器30使用运动矢量候选列表内相同的运动矢量预测值来对当前CU进行编码和解码。
仿射模型
在HEVC中,仅将平移运动模型应用于运动补偿预测。然而在现实世界中,存在很多种运动,例如,放大/缩小、旋转、透视运动和其他不规则运动。在VVC和AVS3中,通过针对每个帧间编码块用信号传输一个标志来指示是平移运动模型还是仿射运动模型被应用于帧间预测,以此应用仿射运动补偿预测。在当前VVC和AVS3设计中,一个仿射编码块支持两种仿射模式,包括4参数仿射模式和6参数仿射模式。
4参数仿射模型具有以下参数:分别用于水平方向和垂直方向上的平移运动的两个参数,用于这两个方向上的缩放运动的一个参数和用于这两个方向上的旋转运动的一个参数。在该模型中,水平缩放参数等于垂直缩放参数,并且水平旋转参数等于垂直旋转参数。为了更好地适应运动矢量和仿射参数,这些仿射参数将从位于当前块的左上角和右上角的两个MV(也被称为控制点运动矢量(control point motion vector,CPMV))中推导出。如图4A至图4B所示,块的仿射运动场由两个CPMV(V0,V1)来描述。基于控制点运动,一个仿射编码块的运动场(vx,vy)被描述为:
6参数仿射模式具有以下参数:分别用于水平方向和垂直方向上的平移运动的两个参数,分别用于水平方向上的缩放运动和旋转运动的两个参数,分别用于垂直方向上的缩放运动和旋转运动的两个参数。6参数仿射运动模型是用三个CPMV来编码的。如图5所示,一个6参数仿射块的三个控制点位于所述块的左上角、右上角和左下角。左上控制点处的运动与平移运动相关,并且右上控制点处的运动与水平方向的旋转和缩放运动相关,并且左下控制点处的运动与垂直方向的旋转和缩放运动相关。与4参数仿射运动模型相比,6参数在水平方向上的旋转和缩放运动可能与在垂直方向上的那些运动不同。假设(V0,V1,V2)是图5中当前块的左上角、右上角和左下角的MV,则使用控制点处的这三个MV可以得到每个子块的运动矢量(vx,vy)为:
仿射合并模式
在仿射合并模式中,当前块的CPMV没有显式地用信号传输,而是从邻近块推导出。具体地,在该模式中,空间邻近块的运动信息被用来生成当前块的CPMV。仿射合并模式候选列表的大小有限。例如,在当前VVC设计中,最多可能有五个候选。编码器可以基于率失真优化算法来评估和选择最佳候选索引。然后将所选择的候选索引用信号传输到解码器侧。仿射合并候选可以用三种方式来决定。在第一种方式中,可以从邻近的仿射编码块继承仿射合并候选。在第二种方式中,可以根据来自邻近块的平移MV来构建仿射合并候选。在第三种方式中,将零MV用作仿射合并候选。
对于继承的方法,最多可能有两个候选。这些候选是从位于当前块左下的邻近块(例如,如图6所示,扫描顺序是从A0到A1)以及从位于当前块右上的邻近块获得的(例如,如图6所示,扫描顺序是从B0到B2)(如果可用的话)。
对于构建的方法,候选是邻近块的平移MV的组合,这可以通过两个步骤生成。
步骤1:从可用邻近块获得四个平移MV,包括MV1、MV2、MV3和MV4。
MV1:来自靠近当前块左上角的三个邻近块之一的MV。如图7所示,扫描顺序为B2、B3和A2。
MV2:来自靠近当前块右上角的两个邻近块之一中的一个的MV。如图7所示,扫描顺序为B1和B0。
MV3:来自靠近当前块左下角的两个邻近块之一中的一个的MV。如图7所示,扫描顺序为A1和A0。
MV4:来自靠近当前块右下角的邻近块的时间同位块的MV。如图所示,邻近块为T。
步骤2:基于来自步骤1中的这四个平移MV来推导出组合。
组合1:MV1、MV2、MV3;
组合2:MV1、MV2、MV4;
组合3:MV1、MV3、MV4;
组合4:MV2、MV3、MV4;
组合5:MV1、MV2;
组合6:MV1、MV3。
当合并候选列表在用继承的候选和构建的候选填充之后未满时,在列表的末尾***零MV。
仿射AMVP模式
仿射高级运动矢量预测(advanced motion vector prediction,AMVP)模式可以应用于宽度和高度两者都大于或等于16的CU。在比特流中用信号传输CU级别的仿射标志以指示是否使用仿射AMVP模式,然后用信号传输另一标志以指示是4参数仿射还是6参数仿射。在该模式中,在比特流中用信号传输当前CU的CPMV与其预测值CPMVP的差异。仿射AVMP候选列表的大小为2,并且仿射AMVP候选列表是通过按以下顺序使用以下四种类型的CPMV候选来生成的:
-从邻近CU的CPMV外推出的继承的仿射AMVP候选;
-使用邻近CU的平移MV推导的构建的仿射AMVP候选CPMVP;
-来自邻近CU的平移MV;
-来自同位CU的时间MV;以及
-零MV。
继承的仿射AMVP候选的检查顺序与继承的仿射合并候选的检查顺序相同。唯一的区别是,对于AMVP候选,仅考虑具有与当前块中相同的参考图片的仿射CU。在将继承的仿射运动预测值***候选列表时,不应用修剪过程。
构建的AMVP候选是从与仿射合并模式相同的空间邻近块推导出的。使用与仿射合并候选构建中相同的检查顺序。另外,还检查邻近块的参考图片索引。使用检查顺序中经帧间编码且具有与当前CU中相同的参考图片的第一个块。当使用4参数仿射模式对当前CU进行编码且mv0和mv1两者都可用时,将mv0和mv1作为一个候选添加到仿射AMVP候选列表中。当使用6参数仿射模式对当前CU进行编码且所有三个CPMV都可用时,将它们作为一个候选添加到仿射AMVP候选列表中。否则,构建的AMVP候选将被设置为不可用。
如果在***有效的继承的仿射AMVP候选和构建的AMVP候选之后,仿射AMVP列表候选仍然小于2,则将按顺序添加mv0、mv1和mv2作为平移MV,以预测当前CU的所有控制点MV(如果可用)。最后,如果仿射AMVP列表仍未满,则使用零MV来填充所述列表。
常规帧间合并模式
在一些实施例中,通过按顺序包括以下五种类型的候选来构建常规帧间合并候选列表:
(1)来自空间邻近CU的空间MVP;
(2)来自同位CU的时间MVP;
(3)来自先进先出(first in first out,FIFO)表的基于历史的MVP;
(4)成对平均MVP;以及
(5)零MV。
在序列参数集标头中用信号传输合并列表的大小,合并列表的最大允许大小为6。对于以合并模式编码的每个CU,使用截断的一元二值化(truncated unary binarization,TU)对最佳合并候选的索引进行编码。合并索引的第一二进制位利用上下文进行编码,并且其他二进制位使用旁路编码。
上面提供了每一类合并候选的推导过程。在一些实施例中,可以支持在特定大小的区域内对所有CU并行推导合并候选列表。
空间候选推导
VVC中空间合并候选的推导与HEVC中的相同,只是交换了前两个合并候选的位置。在位于图4C所描绘的位置的候选中最多选择四个合并候选。推导的顺序为B0、A0、B1、A1和B2。仅当位置B0、A0、B1、A1的一个或多于一个CU不可用(例如,因为它属于另一条带或瓦片)或被帧内编码时,才考虑位置B2。在添加了位置A1处的候选之后,需要对剩余候选的添加进行冗余检查,以确保将具有相同运动信息的候选排除在列表之外,从而提高编解码效率。为了降低计算复杂度,在提到的冗余检查中并未考虑所有可能的候选对。相反,仅考虑图4D中用箭头链接的对,并且仅当用于冗余检查的对应候选不具有相同的运动信息时,才将候选添加到列表中。图4D图示了被考虑用于空间合并候选的冗余检查的候选对。
时间候选推导
在该步骤中,仅将一个候选添加到列表中。具体地,在该时间合并候选的推导中,基于属于同位参考图片的同位CU来推导缩放运动矢量。用于推导同位CU的参考图片列表和参考索引在条带头中显式地用信号传输。时间合并候选的缩放运动矢量是如图4E中的虚线所示获得的,所述缩放运动矢量是使用POC距离tb和td从同位CU的运动矢量缩放的,其中,tb被定义为当前图片的参考图片与当前图片之间的POC差,并且td被定义为同位图片的参考图片与同位图片之间的POC差。时间合并候选的参考图片索引被设置为等于零。
时间候选的位置在候选C0与C1之间选择,如图4F所描绘的。如果位置C0处的CU不可用、被帧内编码或位于当前CTU行之外,则使用位置C1。否则,使用位置C0来推导时间合并候选。
基于历史的合并候选推导
基于历史的MVP(history-based MVP,HMVP)合并候选在空间MVP和时间运动矢量预测(temporal motion vector prediction,TMVP)之后被添加到合并列表中。在这种方法中,先前已编码的块的运动信息存储在表中,并且用作当前CU的MVP。在编码/解码过程期间维持具有多个HMVP候选的表。当遇到新的CTU行时,该表被重置(清空)。每当存在非子块帧间编码的CU时,相关联的运动信息就被添加到表的最后一个条目中作为新的HMVP候选。
HMVP表的大小S可以被设置为6,这指示可以将最多5个基于历史的MVP(HMVP)候选添加到所述表中。当将新的运动候选***到表中时,利用受约束的先进先出(first-in-first-out,FIFO)规则,其中,首先应用冗余检查来查找表中是否存在相同的HMVP。如果找到了,则从表中移除相同的HMVP,并将之后所有的HMVP候选向前移动,并将该相同的HMVP***到表的最后一个条目中。
HMVP候选可以用于合并候选列表构建过程。按顺序检查表中最新的几个HMVP候选,并将其在TMVP候选之后***到候选列表中。针对空间或时间合并候选来对HMVP候选应用冗余检查。
为了减少冗余检查的操作次数,引入了以下简化操作。首先,分别针对A1和B1空间候选对表中的最后两个条目进行冗余检查。其次,一旦可用合并候选的总数达到最大允许合并候选减1,就终止根据HMVP构建合并候选列表的过程。
成对平均合并候选推导
成对平均候选是通过使用前两个合并候选对现有合并候选列表中的预定义候选对进行平均而生成的。第一合并候选被定义为p0Cand,并且第二合并候选可以被定义为p1Cand。对于每个参考列表,分别根据p0Cand和p1Cand的运动矢量的可用性来计算平均运动矢量。如果两个运动矢量在一个列表中都可用,则即使这两个运动矢量指向不同的参考图片,也会对其进行平均,并将其参考图片设置为p0Cand的参考图片;如果只有一个运动矢量可用,则直接使用这一个运动矢量;如果没有运动矢量可用,则使该列表保持无效。此外,如果p0Cand和p1Cand的半像素内插滤波器索引不同,则将其设置为0。
当在添加成对平均合并候选之后,合并列表未满时,将零MVP***合并列表的末尾,直到达到最大合并候选数。
当前视频标准VVC和AVS仅使用相邻邻近块来推导当前块的仿射合并候选,如图6和图7中分别针对继承的候选和构建的候选所示。为了增加合并候选的多样性并进一步探索空间相关性,可以直接将邻近块的覆盖范围从相邻区域扩展到不相邻区域。
在当前视频标准VVC和AVS中,每个继承的仿射候选是从具有仿射运动信息的一个邻近块推导出的。另一方面,每个构建的仿射候选是从具有平移运动信息的两个或三个邻近块推导出的。为了进一步探索空间相关性,可以研究一种结合仿射运动和平移运动的新的候选推导方法。
针对仿射合并模式提出的候选推导方法可以扩展到其他编码模式,比如仿射AMVP模式和常规合并模式。
在本公开中,通过不仅使用相邻邻近块而且还使用不相邻邻近块来扩展仿射合并模式的候选推导过程。具体方法可以概括为以下方面,包括:仿射合并候选修剪、继承的仿射合并候选的基于不相邻邻近块的推导过程、构建的仿射合并候选的基于不相邻邻近块的推导过程、构建的仿射合并候选的基于继承的推导方法、构建的仿射合并候选的基于HMVP的推导方法、以及仿射AMVP模式和常规合并模式的候选推导方法。
仿射合并候选修剪
由于典型视频编解码标准中的仿射合并候选列表的大小通常有限,因此候选修剪是移除冗余的仿射合并候选的必要过程。对于继承的仿射合并候选和构建的仿射合并候选二者,都需要这种修剪过程。如引言部分中所解释的,当前块的CPMV不被直接用于仿射运动补偿。而是,需要将CPMV转换为当前块内每个子块位置处的平移MV。通过按照如下所示的一般仿射模型来执行转换过程:
其中,(a,b)是差量平移参数,(c,d)是水平方向的差量缩放和旋转参数,(e,f)是垂直方向的差量缩放和旋转参数,(x,y)是子块的枢转位置(例如,中心或左上角)相对于当前块的左上角(例如,图5所示的坐标(x,y))的水平距离和垂直距离,并且(vx,vy)是子块的目标平移MV。
对于6参数仿射模型,三个CPMV(被称为V0、V1和V2)可用。然后这六个模型参数a、b、c、d、e和f可以被计算为
对于4参数仿射模型,如果左上角的CPMV和右上角的CPMV(被称为V0和V1)可用,则这六个参数a、b、c、d、e和f可以被计算为
对于4参数仿射模型,如果左上角的CPMV和左下角的CPMV(被称为V0和V2)可用,则这六个参数a、b、c、d、e和f可以被计算为
在上面的等式(4)、(5)和(6)中,w和h分别表示当前块的宽度和高度。
当比较CPMV的两个合并候选集以进行冗余检查时,建议检查6个仿射模型参数的相似性。因此,候选修剪过程可以分两步进行。
在步骤1中,在给定CPMV的两个候选集的情况下,推导出每个候选集的对应仿射模型参数。更具体地,CPMV的这两个候选集可以由两组仿射模型参数(例如(a1,b1,c1,d1,e1,f1)和(a2,b2,c2,d2,e2,f2))来表示。
在步骤2中,基于一个或多个预定义的阈值,对这两组仿射模型参数进行相似性检查。在一个实施例中,当(a1-a2)、(b1-b2)、(c1-c2)、(d1-d2)、(e1-e2)和(f1-f2)的绝对值都低于正阈值(比如值1)时,这两个候选被认为是相似的,并且其中之一可以被修剪/移除并且不被放入合并候选列表中。
在一些实施例中,可以移除步骤1中的除法或右移操作以简化CPMV修剪过程中的计算。
具体地,可以在不除以当前块的宽度w和高度h的情况下来计算模型参数c、d、e和f。例如,以上面的等式(4)作为示例,近似模型参数c'、d'、e'和f'可以如以下等式(7)计算。
在只有两个CPMV可用的情况下,模型参数的一部分是从模型参数的另一部分推导出的,所述模型参数取决于当前块的宽度或高度。在这种情况下,可以转换模型参数以考虑宽度和高度的影响。例如,在等式(5)的情况下,可以基于下面的等式(8)来计算近似模型参数c'、d'、e'和f'。在等式(6)的情况下,可以基于下面的等式(9)来计算近似模型参数c'、d'、e'和f'。
当在上面的步骤1中计算了近似模型参数c'、d'、e'和f'时,在上面的步骤2中的相似性检查所需的绝对值计算可以相应地改变为:(a1-a2)、(b1-b2)、(c1′-c2′)、(d′1-d′2)、(e1′-e2′)和(f1′-f2′)。
在上面的步骤2中,需要阈值来评估CPMV的两个候选集之间的相似性。可以有多种方式来定义阈值。在一个实施例中,可以为每个可比较的参数定义阈值。表1是该实施例中的一个示例,示出了为每个可比较的模型参数定义的阈值。在另一实施例中,可以通过考虑当前编码块的尺寸来定义阈值。表2是该实施例中的一个示例,示出了由当前编码块的尺寸定义的阈值。
表1
可比较的参数 阈值
a 1
b 1
c 2
d 2
e 2
f 2
表2
当前块的尺寸 阈值
尺寸<=64像素 1
64像素<尺寸<=256像素 2
256像素<尺寸<=1024像素 4
1024像素<尺寸 8
在另一实施例中,可以通过考虑当前块的权重或高度来定义阈值。表3和表4是该实施例的示例。表3示出了由当前编码块的宽度定义的阈值,并且表4示出了由当前编码块的高度定义的阈值。
表3
表4
当前块的高度 阈值
高度<=8像素 1
8像素<高度<=32像素 2
32像素<高度<=64像素 4
64像素<高度 8
在另一实施例中,阈值可以被定义为一组固定值。在另一实施例中,阈值可以由以上实施例的任意组合来定义。在一个示例中,可以通过考虑不同的参数以及当前块的权重和高度来定义阈值。表5是该实施例中的一个示例,示出了由当前编码块的高度定义的阈值。注意,在任何上述提出的实施例中,如果需要的话,可比较的参数可以表示从等式(4)到等式(9)的任何等式中定义的任何参数。
表5
使用转换后的仿射模型参数以进行候选冗余检查的好处包括:它为具有不同仿射模型类型的候选创建了统一的相似性检查过程,例如,一个合并候选可能使用具有三个CPMV的6参数仿射模型,而另一候选可能使用具有两个CPMV的4参数仿射模型;在推导出每个子块的目标MV时,考虑了合并候选中每个CPMV的不同影响;以及它提供了两个仿射合并候选的与当前块的宽度和高度相关的相似性意义。
继承的仿射合并候选的基于不相邻邻近块的推导过程
对于继承的合并候选,基于不相邻邻近块的推导过程可以分三个步骤来执行。步骤1是候选扫描。步骤2是CPMV投影。步骤3是候选修剪。
在步骤1中,通过以下方法扫描并选择不相邻邻近块。
扫描区域及距离
在一些示例中,可以从当前编码块的左侧区域和上方区域扫描不相邻邻近块。扫描距离可以定义为从扫描位置到当前编码块的左侧或顶侧的编码块的数量。
如图8所示,在当前编码块的左侧或上方,可以扫描多行不相邻邻近块。如图8所示的距离表示从每个候选位置到当前块的左侧或顶侧的编码块的数量。例如,当前块左侧具有“距离2”的区域指示位于该区域中的候选邻近块与当前块相距2个块。类似的指示可以应用于具有不同距离的其他扫描区域。
在一个或多个实施例中,每个距离处的不相邻邻近块可以具有与当前编码块相同的块尺寸,如图13A所示。如图13A所示,左侧的不相邻邻近块1301和上侧的不相邻邻近块1302具有与当前块1303相同的尺寸。在一些实施例中,每个距离处的不相邻邻近块可以具有与当前编码块不同的块尺寸,如图13B所示。邻近块1304是当前块1303的相邻邻近块。如图13B所示,左侧的不相邻邻近块1305和上侧的不相邻邻近块1306具有与当前块1307相同的尺寸。邻近块1308是当前块1307的相邻邻近块。
注意,当每个距离处的不相邻邻近块具有与当前编码块相同的块尺寸时,根据图像中的每个不同区域处的分区粒度来自适应地改变块尺寸的值。注意,当每个距离处的不相邻邻近块具有与当前编码块不同的块尺寸时,块尺寸的值可以被预定义为恒定值,比如4×4、8×8或16×16。图10和图12中所示的4×4不相邻运动场是这种情况的示例,其中运动场可以被视为子块的特殊情况,但不限于此。
类似地,图11中所示的不相邻编码块也可以具有不同的尺寸。在一个示例中,不相邻编码块可以具有与当前编码块一样的、可自适应地改变的尺寸。在另一示例中,不相邻编码块可以具有为固定值的预定义尺寸,比如4×4、8×8或16×16。
基于定义的扫描距离,当前编码块左侧或上方的扫描区域的总尺寸可以通过可配置的距离值来确定。在一个或多个实施例中,左侧和上侧的最大扫描距离可以使用相同的值或不同的值。图13示出了左侧和上侧的最大距离共享相同的值2的示例。(多个)最大扫描距离值可以由编码器侧确定并在比特流中用信号传输。可替代地,(多个)最大扫描距离值可以被预定义为(多个)固定值,比如值2或4。当最大扫描距离预定义为值4时,这指示当候选列表已满或所有最大距离为4的不相邻邻近块都已经被扫描时(以先到者为准),扫描过程终止。
在一个或多个实施例中,在特定距离的每个扫描区域内,起始邻近块和结束邻近块可以是位置相关的。
在一些实施例中,对于左侧扫描区域,起始邻近块可以是具有较小距离的相邻扫描区域的起始邻近块的左下相邻的块。例如,如图8所示,当前块左侧的“距离2”扫描区域的起始邻近块是“距离1”扫描区域的起始邻近块的左下相邻的邻近块。结束邻近块可以是具有较小距离的上方扫描区域的结束邻近块的左侧相邻的块。例如,如图8所示,当前块左侧的“距离2”扫描区域的结束邻近块是当前块上方的“距离1”扫描区域的结束邻近块的左侧相邻的邻近块。
类似地,对于上侧扫描区域,起始邻近块可以是具有较小距离的相邻扫描区域的起始邻近块的右上相邻的块。结束邻近块可以是具有较小距离的相邻扫描区域的结束邻近块的左上相邻的块。
扫描顺序
当在不相邻区域中扫描邻近块时,可以遵循一定的顺序或/和规则来确定对扫描的邻近块的选择。
在一些实施例中,首先可以扫描左侧区域,然后再扫描上方区域。如图8所示,首先可以扫描左侧的三行不相邻区域(例如从距离1到距离3),然后再扫描当前块上方的三行不相邻区域。
在一些实施例中,可以交替地扫描左侧区域和上方区域。例如,如图8所示,首先扫描具有“距离1”的左侧扫描区域,然后再扫描具有“距离1”的上方区域。
对于位于同一侧的扫描区域(例如左侧区域或上方区域),扫描顺序是从具有小距离的区域到具有大距离的区域。该顺序可以与扫描顺序的其他实施例灵活组合。例如,可以交替地扫描左侧区域和上方区域,并且将同一侧区域的顺序安排为从小距离到大距离。
可以定义在特定距离的每个扫描区域内的扫描顺序。在一个实施例中,对于左侧扫描区域,扫描可以从底部邻近块开始到顶部邻近块。对于上方扫描区域,扫描可以从右侧块开始到左侧块。
扫描终止
对于继承的合并候选,用仿射模式编码的邻近块被定义为合格候选。在一些实施例中,扫描过程可以交互式地执行。例如,在特定距离的特定区域中执行的扫描可以在识别出前X个合格候选的时刻停止,其中X是预定义的正值。例如,如图8所示,具有距离1的左侧扫描区域中的扫描可以在识别出第一个或前多个合格候选时停止。然后,通过针对另一扫描区域来开始扫描过程的下一次迭代,这通过预定义的扫描顺序/规则来调节。
在一些实施例中,扫描过程可以连续地执行。例如,在特定距离的特定区域中执行的扫描可以在扫描了所有覆盖的邻近块并且没有识别出更多的合格候选或者达到最大可允许候选数的时刻停止。
在候选扫描过程中,通过按照上面提出的扫描方法来确定和扫描每个候选不相邻邻近块。为了更容易实施,每个候选不相邻邻近块可以由特定的扫描位置来指示或定位。一旦通过按照上面提出的方法决定了具体扫描区域和距离,就可以基于以下方法相应地确定扫描位置。
在一种方法中,左下和右上位置分别用于上方和左侧不相邻邻近块,如图15A所示。
在另一种方法中,右下位置用于上方和左侧不相邻邻近块二者,如图15B所示。
在另一种方法中,左下位置用于上方和左侧不相邻邻近块二者,如图15C所示。
在另一种方法中,右上位置用于上方和左侧不相邻邻近块二者,如图15D所示。
为了更容易说明,在图15A至图15D中,假设每个不相邻邻近块具有与当前块相同的块尺寸。不失一般性,该图示可以容易地扩展到具有不同块尺寸的不相邻邻近块。
进一步地,在步骤2中,可以利用与当前AVS和VVC标准中使用的相同的CPMV投影过程。在这种CPMV投影过程中,假设当前块与所选邻近块共享相同的仿射模型,则将两个或三个角像素的坐标(例如,如果当前块使用4参数模型,则使用两个坐标(左上像素/样点位置和右上像素/样点位置);如果当前块使用6参数模型,则使用三个坐标(左上像素/样点位置、右上像素/样点位置和左下像素/样点位置))代入等式(1)或(2)中(这取决于邻近块是用4参数仿射模型还是6参数仿射模型进行编码)以生成两个或三个CPMV。
在步骤3中,在步骤1中识别并在步骤2中转换的任何合格候选都可以对照已经在合并候选列表中的所有现有候选进行相似性检查。相似性检查的细节已经在上面的“仿射合并候选修剪”部分中进行了描述。如果发现新的合格候选与候选列表中的任何现有候选相似,则移除/修剪该新的合格候选。
构建的仿射合并候选的基于不相邻邻近块的推导过程
在推导继承的合并候选的情况下,一次识别一个邻近块,其中该单个邻近块需要以仿射模式进行编码,并且可以包含两个或三个CPMV。在推导构建的合并候选的情况下,可以一次识别两个或三个邻近块,其中每个识别的邻近块不需要以仿射模式进行编码,并且仅从该块中获取一个平移MV。
图9呈现了可以通过使用不相邻邻近块来推导出构建的仿射合并候选的示例。在图9中,A、B、C为三个不相邻邻近块的地理位置。通过使用A位置作为左上角、B位置作为右上角以及C位置作为左下角来形成虚拟编码块。如果将虚拟CU视为仿射编码块,则位置A'、B'和C'处的MV可以通过按照等式(3)来推导出,其中模型参数(a,b,c,d,e,f)可以通过位置A、B、C处的平移MV来计算。一旦推导出,位置A'、B'、C'处的MV就可以被用作当前块的三个CPMV,并且可以使用生成构建的仿射合并候选的现有过程(在AVS和VVC标准中使用的过程)。
对于构建的合并候选,基于不相邻邻近块的推导过程可以分五个步骤来执行。基于不相邻邻近块的推导过程可以在诸如编码器或解码器的装置中分五个步骤来执行。步骤1是候选扫描。步骤2是仿射模型确定。步骤3是CPMV投影。步骤4是候选生成。并且步骤5是候选修剪。在步骤1中,可以通过以下方法扫描并选择不相邻邻近块。
扫描区域及距离
在一些实施例中,为了维持矩形编码块,仅对两个不相邻邻近块执行扫描过程。第三个不相邻邻近块可以取决于第一个不相邻邻近块和第二个不相邻邻近块的水平和垂直位置。
在一些实施例中,如图9所示,仅对位置B和C执行扫描过程。位置A可以通过C的水平位置和B的垂直位置来唯一确定。
为了形成有效的虚拟编码块,可能至少需要A的位置是有效的。位置A的有效性可以定义为位置A处的运动信息是否可用。在一个实施例中,位于位置A处的编码块可能需要以帧间模式进行编码,使得运动信息可用于形成虚拟编码块。
在一些实施例中,扫描区域和距离可以根据特定的扫描方向来定义。
在一些实施例中,扫描方向可以垂直于当前块的一侧。图10中示出了一个示例,其中扫描区域被定义为当前块左侧或上方的一行连续运动场。扫描距离被定义为从扫描位置到当前块的一侧的运动场数。注意,运动场的尺寸可以取决于适用的视频编解码标准的最大粒度。在图10所示的示例中,假设运动场的尺寸与当前VVC标准一致并被设置为4×4。
在一些实施例中,扫描方向可以平行于当前块的一侧。图11中示出了一个示例,其中扫描区域被定义为当前块左侧或上方的一行连续编码块。
在一些实施例中,扫描方向可以是垂直于和平行于当前块的一侧的扫描的组合。图12中示出了一个示例。如图12所示,扫描方向也可以是平行和对角线的组合。位置B处的扫描从左到右开始,然后沿对角线方向扫描到左上的块。将重复位置B处的扫描,如图12所示。类似地,位置C处的扫描从上到下开始,然后沿对角线方向扫描到左上的块。将重复位置C处的扫描,如图12所示。
扫描顺序
在一些实施例中,扫描顺序可以被定义为从距当前编码块距离较小的位置到距当前编码块距离较大的位置。该顺序可以应用于垂直扫描的情况。
在一些实施例中,扫描顺序可以被定义为固定模式。该固定模式扫描顺序可以用于具有相似距离的候选位置。一个示例是平行扫描的情况。在一个示例中,对于左侧扫描区域,扫描顺序可以被定义为从上到下的方向,并且对于上方扫描区域,扫描顺序可以被定义为从左到右的方向,如图11所示的示例。
对于组合扫描方法的情况,扫描顺序可以是固定模式和与距离相关的组合,如图12所示的示例。
扫描终止
对于构建的合并候选,合格候选不需要是仿射编码的,因为只需要平移MV。
根据所需的候选数量,当识别出前X个合格候选时,可以终止扫描过程,其中X是正值。
如图9所示,为了形成虚拟编码块,需要被命名为A、B和C的三个角。为了更容易实施,步骤1中的扫描过程可以仅用于识别位于角B和角C的不相邻邻近块,而A的坐标可以通过取C的水平坐标和B的垂直坐标来精确确定。这样,形成的虚拟编码块被限制为矩形。当B点或C点不可用(例如超出边界)时,或者与B或C相对应的不相邻邻近块处的运动信息不可用(例如,块是以帧内模式或屏幕内容模式编码的)时,C的水平坐标或垂直坐标可以被分别定义为当前块的左上点的水平坐标或垂直坐标。
在另一实施例中,当根据步骤1中的扫描过程首先确定角B和/或角C时,可以相应地识别出位于角B和/或角C的不相邻邻近块。其次,可以将角B和/或角C的(多个)位置重置为对应的不相邻邻近块内的枢转点,比如每个不相邻邻近块的质心。例如,质心可以定义为每个邻近块的几何中心。
当如图9所示对角B和角C执行扫描过程时,所述过程可以联合地或独立地执行。在独立扫描的示例中,先前提出的扫描方法可以分别应用于角B和角C。在联合扫描的示例中,可以有如下不同的方法。
在一个实施例中,可以执行成对扫描。在成对扫描的一个示例中,角B和角C的候选位置同时推进。为了更容易说明且不失一般性,以图17B为例。如图17B所示,角B的扫描从位于当前块上侧的第一个不相邻邻近块开始,以从下到上的方向进行。角C的扫描从位于当前块左侧的第一个不相邻邻近块开始,以从右到左的方向进行。因此,在图17B所示的示例中,成对扫描可以定义为B和C的候选位置均推进一个单位的步长,其中一个单位的步长被定义为角B的当前编码块的高度,并且定义为角C的当前编码块的宽度。
在另一实施例中,可以执行交替扫描。在交替扫描的一个示例中,角B和角C的候选位置交替推进。在一个步骤中,只有B或C的位置可以推进,而C或B的位置不变。在一个示例中,角B的位置可以从第一不相邻邻近块逐渐增加到最大数量的不相邻邻近块的距离,而角C的位置保持在第一不相邻邻近块处。在下一轮中,角C的位置移动到第二个不相邻邻近块,角B的位置再次从第一个不相邻邻近块遍历到最大值。继续循环直到遍历完所有组合。
为了统一的目的,所提出的用于推导继承的合并候选的定义扫描区域和距离、扫描顺序和扫描终止的方法可以完全地或部分地重用于推导构建的合并候选。在一个或多个实施例中,为继承的合并候选扫描定义的相同方法(包括但不限于扫描区域和距离、扫描顺序和扫描终止)可以完全地重用于构建的合并候选扫描。
在一些实施例中,为继承的合并候选扫描定义的相同方法可以部分地重用于构建的合并候选扫描。图16示出了这种情况的示例。在图16中,每个不相邻邻近块的块尺寸与当前块相同,这与继承的候选扫描的定义类似,但是整个过程是简化的版本,因为每个距离处的扫描被限制为仅一个块。
图17A至图17B呈现了这种情况的另一示例。在图17A至图17B中,继承的不相邻合并候选和构建的不相邻合并候选两者被定义为具有与当前编码块相同的块尺寸,而扫描顺序、扫描区域和扫描终止条件可以被不同地定义。
在图17A中,左侧不相邻邻近块的最大距离为4个编码块,而上侧不相邻邻近块的最大距离为5个编码块。此外,在每个距离处,左侧的扫描方向是从下到上,上侧的扫描方向是从右到左。在图17B中,左侧和上侧的不相邻邻近块的最大距离均为4。另外,由于每个距离只有一个块,因此无法进行特定距离的扫描。在图17A中,如果识别出M个合格候选,则可以终止每个距离内的扫描操作。M的值可以是预定义的固定值(比如,值1)、任何其他正整数、由编码器决定的用信号传输的值、或者可在编码器或解码器处配置的值。在一个示例中,M的值可以与合并候选列表的大小相同。
在图17A至图17B中,如果识别出N个合格候选,则可以终止在不同距离处的扫描操作。N的值可以是预定义的固定值(比如,值1)、任何其他正整数、由编码器决定的用信号传输的值、或者可在编码器或解码器处配置的值。在一个示例中,N的值可以与合并候选列表的大小相同。在另一示例中,N的值可以与M的值相同。
在图17A至图17B中,与当前块距离较近的空间不相邻邻近块可以被优先处理,这指示对距离为i的空间不相邻邻近块的扫描或检查是在距离为i+1的邻近块之前,其中i可以是表示特定距离的非负整数。
在特定距离处,最多使用两个空间不相邻邻近块,这意味着当前块的一侧(例如左侧和上方)的最多一个邻近块被选择用于继承的或构建的候选推导(如果可用的话)。如图17A所示,左侧和上侧邻近块的检查顺序分别是从下到上和从右到左。对于图17B,也可以应用该规则,其中区别可以是,在任何特定距离处,当前块的每一侧都只有一个选项。
对于构建的候选,如图17B所示,首先独立地确定一个左侧的空间不相邻邻近块和一个上方的空间不相邻邻近块的位置。之后,可以相应地确定左上邻近块的位置,其可以与左侧和上方的不相邻邻近块一起围成一个矩形虚拟块。然后,如图9所示,使用这三个不相邻邻近块的运动信息来形成虚拟块的左上(A)、右上(B)和左下(C)处的CPMV,最终将其投影到当前CU以生成对应的构建的候选。
在步骤2中,评估在步骤1之后选择的候选的位置处的平移MV,并且可以确定适当的仿射模型。为了更容易说明且不失一般性,图9再次被用作示例。
由于诸如硬件限制、实施复杂性和不同的参考索引等因素,扫描过程可能在识别出足够数量的候选之前终止。例如,步骤1之后所选择的候选中的一个或多个处的运动场的运动信息可能不可用。
如果所有三个候选的运动信息都可用,则对应的虚拟编码块表示6参数仿射模型。如果三个候选之一的运动信息是不可用,则对应的虚拟编码块表示4参数仿射模型。如果三个候选中多于一个的运动信息不可用,则对应的虚拟编码块可能无法表示有效的仿射模型。
在一些实施例中,如果虚拟编码块的左上角(例如图9中的角A)处的运动信息不可用,或者右上角(例如图9中的角B)和左下角(例如图9中的角C)的运动信息都不可用,则虚拟块可以被设置为无效,并且无法表示有效的模型,那么对于当前迭代,可以跳过步骤3和步骤4。
在一些实施例中,如果右上角(例如,图9中的角B)或左下角(例如,图9中的角C)不可用,但不是两者都不可用,则虚拟块可以表示有效的4参数仿射模型。
在步骤3中,如果虚拟编码块能够表示有效的仿射模型,则可以使用用于继承的合并候选的相同投影过程。
在一个或多个实施例中,可以使用与用于继承的合并候选的相同投影过程。在这种情况下,由来自步骤2的虚拟编码块表示的4参数模型被投影到当前块的4参数模型,并且由来自步骤2的虚拟编码块表示的6参数模型被投影到当前块的6参数模型。
在一些实施例中,由来自步骤2的虚拟编码块表示的仿射模型总是被投影到当前块的4参数模型或6参数模型。
注意,根据等式(5)和(6),可以有两种类型的4参数仿射模型,其中,类型A是左上角CPMV和右上角CPMV(被称为V0和V1)可用,并且类型B是左上角CPMV和左下角CPMV(被称为V0和V2)可用。
在一个或多个实施例中,投影的4参数仿射模型的类型与由虚拟编码块表示的4参数仿射模型的类型相同。例如,由来自步骤2的虚拟编码块表示的仿射模型是类型A或类型B的4参数仿射模型,则当前块的投影仿射模型也分别是类型A或类型B。
在一些实施例中,由来自步骤2的虚拟编码块表示的4参数仿射模型总是被投影到当前块的相同类型的4参数模型。例如,由虚拟编码块表示的类型A或类型B的4参数仿射模型总是被投影到类型A的4参数仿射模型。
在步骤4中,在一个示例中,基于步骤3之后的投影的CPMV,可以使用当前VVC或AVS标准中使用的相同候选生成过程。在另一实施例中,基于不相邻邻近块的推导方法可能不使用在当前VVC或AVS标准的候选生成过程中使用的时间运动矢量。当不使用时间运动矢量时,其指示生成的组合不包含任何时间运动矢量。
在步骤5中,步骤4之后的任何新生成的候选都可以对照已经在合并候选列表中的所有现有候选进行相似性检查。相似性检查的细节已经在“仿射合并候选修剪”部分中进行了描述。如果发现新生成的候选与候选列表中的任何现有候选相似,则移除或修剪该新生成的候选。
构建的仿射合并候选的基于继承的推导方法
对于每个继承的仿射候选,所有运动信息都是从以仿射模式编码的一个所选空间邻近块继承的。继承的信息包括CPMV、参考索引、预测方向、仿射模型类型等。另一方面,对于每个构建的仿射候选,所有运动信息都是根据所选择的两个或三个空间或时间邻近块构建的,而所选择的邻近块可以不以仿射模式编码,并且只需要来自所选择的邻近块的平移运动信息。
在这部分中,公开了一种结合继承候选和构建候选的特征的新的候选推导方法。
在一些实施例中,继承和构建的结合可以通过将仿射模型参数分成不同的组来实现,其中一组仿射参数是从一个邻近块继承的,而其他组仿射参数是从其他邻近块继承的。
在一个示例中,一个仿射模型的参数可以根据两个组构建。如等式(3)所示,仿射模型可以包含6个参数,包括a、b、c、d、e和f。平移参数{a,b}可以表示一组,而非平移参数{c,d,e,f}可以表示另一个组。利用这种分组方法,这两组参数可以在第一步骤中从两个不同的邻近块独立地继承,然后在第二步骤中串连/构建为完整的仿射模型。在这种情况下,具有非平移参数的组必须从一个仿射编码的邻近块继承,而具有平移参数的组可以来自任何帧间编码的邻近块,其可以或可以不以仿射模式编码。注意,可以基于先前提出的用于继承的仿射候选的扫描方法(比如图17A中所示的方法,即,在“继承的仿射合并候选的基于不相邻邻近块的推导过程”部分中使用的包括扫描区域及距离、扫描顺序和扫描终止的扫描方法/规则,同时所述扫描方法可以在相邻邻近块或不相邻邻近块上执行),从相邻仿射邻近块或不相邻仿射邻近块中选择仿射编码的邻近块。可替代地,仿射编码的邻近块可以不是物理上存在的,而是根据常规帧间编码邻近块虚拟构建的,比如图17B所示的方法,即,在“构建的仿射合并候选的基于不相邻邻近块的推导过程”部分中使用的包括扫描区域及距离、扫描顺序和扫描终止的扫描方法/规则。
在一些示例中,可以以不同的方式确定与每一组相关联的邻近块。在一种方法中,针对不同参数组的邻近块可以全部来自不相邻邻近区域,而扫描方法的设计可以与先前提出的基于不相邻邻近块的推导过程的方法类似。在另一种方法中,针对不同参数组的邻近块可以全部来自相邻邻近区域,而扫描方法可以与当前VVC或AVS视频标准相同。在另一种方法中,针对不同参数组的邻近块可以部分地来自相邻区域,并且部分地来自不相邻邻近区域。
当组合几组仿射参数来构建新候选时,可能需要遵循几条规则。首先是资格标准。在一个示例中,可以检查每一组的相关联的一个或多个邻近块是否至少在一个方向或两个方向上使用相同的参考图片。在另一示例中,可以检查每一组的相关联的一个或多个邻近块是否对运动矢量使用相同的精度/分辨率。
其次是构建公式。在一个示例中,新候选的CPMV可以按下面的等式推导出:
其中(x,y)是当前编码块内的角位置(例如,(0,0)表示左上角的CPMV,(宽度,0)表示右上角的CPMV),{c,d,e,f}是来自一个邻近块的一组参数,{a,b}是来自另一邻近块的另一组参数。
在另一示例中,新候选的CPMV可以按下面的等式推导出:
其中(Δw,Δh)是当前编码块左上角与一组参数的相关联的(多个)邻近块(比如,{a,b}组的相关联的邻近块)之一的左上角之间的距离。该等式中其他参数的定义与上面的示例相同。参数可以以另一种方式分组:(a,b,c,d,e,f)形成一组,而(Δw,Δh)形成另一组。并且这两组参数来自两个不同的邻近块。可替代地,(Δw,Δh)的值可以被预定义为固定值,比如(0,0)或任何恒定值,其不取决于邻近块与当前块之间的距离。
图18示出了用于推导构建的仿射候选的基于继承的推导方法的示例。在图18中,推导构建的仿射候选需要三个步骤。在步骤1中,根据特定分组策略,编码器或解码器可以对每一组的相邻邻近块和不相邻邻近块执行扫描。在图18的情况下,定义了两个组,其中邻近块1以仿射模式编码并提供了非平移仿射参数,而邻近块2提供了平移仿射参数。邻近块1可以根据如图15A至图15D和图17A所示的“继承的仿射合并候选的基于不相邻邻近块的推导过程”部分中的过程来获得,同时邻近块1可以是当前块的相邻邻近块或不相邻邻近块。此外,邻近块2可以根据图16和图17B所示的过程来获得。
步骤2中,利用步骤1中确定的参数和位置,可以定义具体的仿射模型,所述仿射模型可以根据CPMV的坐标(x,y)推导出不同的CPMV。例如,如图18所示,可以基于步骤1中获得的邻近块1来获得非平移参数{c,d,e,f},并且可以基于步骤1中获得的邻近块2来获得平移参数{a,b}。此外,因此可以基于当前块的位置(x1,y1)和邻近块2的位置(x2,y2)来获得距离参数Δw、Δh。距离参数Δw、Δh可以分别指示当前块与邻近块1或邻近块2之间的水平距离和垂直距离。例如,距离参数Δw、Δh可以分别指示当前块与邻近块2之间的水平距离(x1-x2)和当前块与邻近块2之间的垂直距离(y1-y2)。具体地,Δw=x1-x2和Δh=y1-y2
在步骤3中,为当前编码块推导出两个或三个CPMV,其可以被构建以形成新的仿射候选。
在一些实施例中,可以进一步构建其他预测信息。如果邻近块被检查为具有相同的方向和/或参考图片,则预测方向(例如,双向预测或单向预测)和参考图片索引可以与相关联的邻近块相同。可替代地,通过重用来自不同组的相关联的邻近块之间的最小重叠信息来确定预测信息。例如,如果只有一个邻近块的一个方向的参考索引与另一邻近块的相同方向的参考索引相同,则将新候选的预测方向确定为单向预测,并且重用相同的参考索引和方向。
构建的仿射合并候选的基于HMVP的推导方法
在基于相邻邻近块的推导过程的情况下(其已经在当前视频标准VVC和AVS中定义并在以上部分和图7中描述),对相邻邻近块执行固定顺序的扫描,以识别两个或三个相邻邻近块。在基于不相邻邻近块的推导过程的情况下,如在前面部分和图17B中提出的,在另一固定顺序的扫描期间识别两个不相邻邻近块。换句话说,对于基于相邻邻近块的推导方法和基于不相邻邻近块的推导方法,都不可避免地需要一定深度的局部扫描来识别多个邻近块。该扫描过程取决于每个当前块周围的本地缓冲,并且还会产生一定的计算复杂度。
另一方面,当前的VVC和AVS中已经采用了HMVP合并模式,其中来自邻近块的平移运动信息已经存储在历史表中,如引言部分所述。在这种情况下,可以通过搜索HMVP表来代替扫描过程。
因此,对于先前提出的基于不相邻邻近块的推导过程和基于继承的推导过程,可以从HMVP表获得平移运动信息,而不是如图17B和图18所示的扫描方法。然而,为了之后推导出构建的仿射候选,还需要位置信息、宽度、高度和参考信息,如果可以修改当前HMVP表,就可以访问这些信息。因此,建议扩展HMVP表以除了每个历史邻近块的运动信息之外还存储附加信息。在一个实施例中,附加信息可以包括仿射或非仿射邻近块的位置,或者仿射运动信息,比如CPMV或从CPMV推导出的等效规则运动(例如,该规则运动可以来自仿射编码的邻近块的内部子块)、参考索引等。
仿射AMVP和常规合并模式的候选推导方法
如以上部分所述,对于仿射AMVP模式,还需要仿射候选列表来推导CPMV预测值。因此,所有以上提出的推导方法可以类似地应用于仿射AMVP模式。唯一的区别是,当以上提出的推导方法应用于AMVP时,所选择的邻近块必须具有与当前编码块相同的参考图片索引。
对于常规合并模式,也构建了候选列表,但仅具有平移候选MV,而没有CPMV。在这种情况下,仍然可以通过增加附加推导步骤来应用所有以上提出的推导方法。在该附加推导步骤中,将推导出当前块的平移MV,这可以通过选择当前块内的特定枢转位置(x,y)然后按照相同的等式(3)来实现。换句话说,为了推导出仿射块的CPMV,所述块的三个角位置被用作等式(3)中的枢转位置(x,y),而为了推导出常规帧间编码块的平移MV,所述块的中心位置可以被用作等式(3)中的枢转位置(x,y)。一旦推导出当前块的平移MV,就可以将其作为其他候选***到候选列表中。
当基于以上提出的仿射AMVP和常规合并模式的方法推导出新候选时,新候选的放置可以被重新排序。
在一个实施例中,可以按照以下顺序将新推导出的候选***到仿射AMVP候选列表中:
(1)从空间相邻邻近块继承的;
(2)由空间相邻邻近块构建的;
(3)从空间不相邻邻近块继承的;
(4)由空间不相邻邻近块构建的;
(5)来自空间相邻邻近块的平移MV;
(6)来自时间相邻邻近块的时间MV;以及
(7)零MV。
在另一实施例中,可以按照以下顺序将新推导出的候选***到仿射AMVP候选列表中:
(1)从空间相邻邻近块继承的;
(2)由空间相邻邻近块构建的;
(3)从空间不相邻邻近块继承的;
(4)来自空间相邻邻近块的平移MV;
(5)由空间不相邻邻近块构建的;
(6)来自时间相邻邻近块的时间MV;以及
(7)零MV。
在另一实施例中,可以按照以下顺序将新推导出的候选***到仿射AMVP候选列表中:
(1)从空间相邻邻近块继承的;
(2)由空间相邻邻近块构建的;
(3)来自空间相邻邻近块的平移MV;
(4)从空间不相邻邻近块继承的;
(5)由空间不相邻邻近块构建的;
(6)来自时间相邻邻近块的时间MV;以及
(7)零MV。
在另一实施例中,可以按照以下顺序将新推导出的候选***到仿射AMVP候选列表中:
(1)从空间相邻邻近块继承的;
(2)由空间相邻邻近块构建的;
(3)来自空间相邻邻近块的平移MV;
(4)来自时间相邻邻近块的时间MV;
(5)从空间不相邻邻近块继承的;
(6)由空间不相邻邻近块构建的;以及
(7)零MV。
在一个实施例中,可以按照以下顺序将新推导出的候选***到常规合并候选列表中:
(1)来自空间相邻邻近块的空间MVP;
(2)来自同位相邻邻近块的时间MVP;
(3)来自空间不相邻邻近块的空间MVP;
(4)来自空间不相邻仿射邻近块的继承MVP;
(5)来自空间不相邻邻近块的构建MVP;
(6)来自FIFO表的基于历史的MVP;
(7)成对平均MVP;以及
(8)零MV。
仿射合并候选列表的重新排序
在一个实施例中,可以按照以下顺序将空间不相邻合并候选***到仿射合并候选列表中:1.基于子块的时间运动矢量预测(Subblock-based Temporal Motion VectorPrediction,SbTMVP)候选(如果可用的话);2.从相邻邻近块继承的;3.从不相邻邻近块继承的;4.由相邻邻近块构建的;5.由不相邻邻近块构建的;6.零MV。
在另一实施例中,可以按照以下顺序将空间不相邻合并候选***到仿射合并候选列表中:1.SbTMVP候选(如果可用的话);2.从相邻邻近块继承的;3.由相邻邻近块构建的;4.从不相邻邻近块继承的;5.由不相邻邻近块构建的;6.零MV。
在另一实施例中,可以按照以下顺序将空间不相邻合并候选***到仿射合并候选列表中:1.SbTMVP候选(如果可用的话);2.从相邻邻近块继承的;3.由相邻邻近块构建的;4.一组零MV;5.从不相邻邻近块继承的;6.由不相邻邻近块构建的;7.剩余的零MV(如果列表仍未满的话)。
在另一实施例中,可以按照以下顺序将空间不相邻合并候选***到仿射合并候选列表中:1.SbTMVP候选(如果可用的话);2.从相邻邻近块继承的;3.从距离小于X的不相邻邻近块继承的;4.由相邻邻近块构建的;5.由距离小于Y的不相邻邻近块构建的;6.从距离大于X的不相邻邻近块继承的;7.由距离大于Y的不相邻邻近块构建的;8.零MV。在该实施例中,X和Y的值可以是预定义的固定值(比如,值2)、由编码器决定的用信号传输的值、或者可在编码器或解码器处配置的值。在一个示例中,X的值可以与Y的值相同。在另一示例中,N的值可以与M的值不同。
在一些实施例中,当通过使用通过组合仿射运动和平移MV来构建CPMV的基于继承的推导方法来推导新候选时,该新候选的放置可以取决于其他构建的候选的放置。
在一个实施例中,对于不同的构建的候选,可以按照以下顺序对仿射合并候选列表进行重新排序:
(1)由空间相邻邻近块构建的;
(2)通过组合空间相邻仿射邻近块和平移MV构建的;
(3)由空间不相邻邻近块构建的;以及
(4)通过组合空间不相邻仿射邻近块和平移MV构建的。
在另一实施例中,对于不同的构建的候选,可以按照以下顺序对仿射合并候选列表进行重新排序:
(1)由空间相邻邻近块构建的;
(2)由空间不相邻邻近块构建的;
(3)通过组合空间相邻仿射邻近块和平移MV构建的;以及
(4)通过组合空间不相邻仿射邻近块和平移MV构建的。
图19示出了与用户界面1960耦接的计算环境(或计算设备)1910。计算环境1910可以是数据处理服务器的一部分。在一些实施例中,计算设备1910可以执行如上文根据本公开的各种示例所述的各种方法或过程(如编码/解码方法或过程)中的任一种。计算环境1910可以包括处理器1920、存储器1940以及I/O接口1950。
处理器1920通常控制计算环境1910的整体操作,比如与显示、数据获取、数据通信以及图像处理相关联的操作。处理器1920可以包括一个或多个处理器以执行指令以执行上述方法中的所有或一些步骤。此外,处理器1920可以包括促进处理器1920与其他部件之间的交互的一个或多个模块。处理器可以是中央处理单元(Central Processing Unit,CPU)、微处理器、单片机、GPU等。
存储器1940被配置为存储各种类型的数据以支持计算环境1910的操作。存储器1940可以包括预定软件1942。这种数据的示例包括用于在计算环境1910上操作的任何应用程序或方法的指令、视频数据集、图像数据等。存储器1940可以通过使用任何类型的易失性或非易失性存储器设备或其组合来实施,比如静态随机存取存储器(static randomaccess memory,SRAM)、电可擦可编程只读存储器(electrically erasable programmableread-only memory,EEPROM)、可擦可编程只读存储器(erasable programmable read-onlymemory,EPROM)、可编程只读存储器(programmable read-only memory,PROM)、只读存储器(read-only memory,ROM)、磁存储器、闪速存储器、磁盘或光盘。
I/O接口1950提供处理器1920与***接口模块(比如键盘、点击轮、按钮等)之间的接口。按钮可以包括但不限于主页按钮、开始扫描按钮和停止扫描按钮。I/O接口1950可以与编码器和解码器耦接。
在一些实施例中,还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质包括多个程序,所述程序比如包括在存储器1940中,可由计算环境1910中的处理器1920执行,用于执行上述方法。例如,所述非暂态计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘、光学数据存储设备等。
所述非暂态计算机可读存储介质中存储有用于由具有一个或多个处理器的计算设备执行的多个程序,其中,所述多个程序在由所述一个或多个处理器执行时,使所述计算设备执行上述运动预测方法。
在一些实施例中,计算环境1910可以用一个或多个专用集成电路(application-specific integrated circuit,ASIC)、数字信号处理器(digital signal processor,DSP)、数字信号处理设备(digital signal processing device,DSPD)、可编程逻辑设备(programmable logic device,PLD)、现场可编程门阵列(field-programmable gatearray,FPGA)、图形处理单元(graphical processing unit,GPU)、控制器、微控制器、微处理器、或其他电子部件来实施,用于执行上述方法。
图20是图示了根据本公开的示例的视频解码方法的流程图。
在步骤2001中,在解码器侧,处理器1920可以通过在一个或多个扫描距离处联合地或独立地扫描多个扫描区域来从当前块的多个不相邻邻近块获得一个或多个构建的MV候选,其中一个扫描距离可以指示与当前块的一侧相距的块数。
在步骤2002中,处理器1920可以基于一个或多个构建的MV候选来获得当前块的一个或多个CPMV。
在一些示例中,可以根据如图17B、图16和图9至图12所示的推导方法来获得一个或多个构建的MV候选。
具体地,如图9至图12所示,在第一扫描距离处在垂直于当前块的第一侧的第一方向上扫描第一扫描区域,以获得构建的第一MV候选,其中,多个扫描区域包括第一扫描区域和第二扫描区域,并且一个或多个扫描距离包括第一扫描距离和第二扫描距离。如图17B、图16和图9至图12所示,第一侧可以是当前块的左侧,并且第二侧可以是当前块的顶侧。
此外,在第二扫描距离处在垂直于当前块的第二侧的第二方向上扫描第二扫描区域,以获得构建的第二MV候选。然后,基于构建的第一MV候选的第一候选位置和构建的第二MV候选的第二候选位置来获得虚拟块,并且基于第一候选位置、第二候选位置和虚拟块来确定构建的第三MV候选的第三候选位置。此外,基于第一候选位置、第二候选位置和第三候选位置处的平移MV来获得虚拟块的一个或多个CPMV,并且可以基于虚拟块的一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得当前块的一个或多个CPMV。
在一些示例中,可以基于构建的第一MV候选的第一候选位置处、构建的第二MV候选的第二候选位置处、或构建的第三MV候选的第三候选位置处的运动信息来确定虚拟块是否有效。例如,可以使用位置A处的运动信息来确定虚拟块是否有效。具体地,位置A的有效性可以定义为位置A处的运动信息是否可用。在一个示例中,位于位置A处的编码块可能需要以帧间模式进行编码,使得运动信息可用于形成虚拟编码块。
在另一示例中,响应于确定第一候选位置处或第二候选位置处的运动信息不可用,可以确定虚拟块无效。例如,当位于构建的第一MV候选的第一候选位置处或构建的第二MV候选的第二候选位置(例如,图9中的B或C)处的编码块是以帧内模式或屏幕内容模式编码的时,这两个位置处的运动信息不可用,因此虚拟块无效。
在一些示例中,处理器1920可以通过以下方式来在一个或多个扫描距离处独立地扫描多个扫描区域:交替地扫描左侧扫描区域和顶部扫描区域,以获得一个或多个构建的左侧MV候选和一个或多个构建的顶部MV候选,其中多个扫描区域包括左侧扫描区域和顶部扫描区域。
在一些示例中,处理器1920可以通过以下方式来交替地扫描左侧扫描区域和顶部扫描区域以获得一个或多个构建的左侧MV候选和一个或多个构建的顶部MV候选:通过交替地推进第一左侧候选位置和第一顶部候选位置来交替地扫描左侧扫描区域和顶部扫描区域以获得一个或多个构建的左侧MV候选和一个或多个构建的顶部MV候选。
例如,处理器1920可以:在第一扫描距离处在垂直于当前块的左侧的第一方向上扫描左侧扫描区域,以获得构建的第一左侧MV候选;在第二扫描距离处在垂直于当前块的顶侧的第二方向上扫描顶部扫描区域,以获得构建的第一顶部MV候选;基于构建的第一左侧MV候选的第一左侧候选位置和构建的第一顶部MV候选的第一顶部候选位置来获得第一虚拟块;基于第一左侧候选位置、第一顶部候选位置和第一虚拟块来确定构建的第一左上MV候选的第一左上候选位置;基于第一左侧候选位置、第一顶部候选位置和第一左上候选位置处的平移MV来获得第一虚拟块的一个或多个CPMV,并且基于第一虚拟块的一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得当前块的一个或多个CPMV。
在一些示例中,给定所获得的构建的第一左侧MV候选(例如,角C),处理器1920可以进一步:沿第二方向将第一顶部候选位置(例如,角B的位置)逐步推进第二扫描距离,以获得一个或多个构建的第二顶部MV候选;基于一个构建的第二顶部MV候选的第二顶部候选位置和第一左侧候选位置来获得第二虚拟块;基于第二顶部候选位置、第一左侧候选位置和第二虚拟块来确定构建的第二左上MV候选的第二左上候选位置;基于第二顶部候选位置、第一左侧候选位置和第二左上候选位置处的平移MV来获得第二虚拟块的一个或多个CPMV;并且基于第二虚拟块的一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得当前块的一个或多个CPMV。
在一些示例中,角B的位置可以从第一不相邻邻近块逐渐增加到最大数量的不相邻邻近块的距离。例如,一个或多个构建的第二顶部MV候选可以包括与当前块的顶侧相距最大块数的距离处的构建的第二顶部MV候选。
在一些示例中,在角B已经逐渐增加到最大数量之后,在下一轮中,处理器1920可以:沿第一方向将第一左侧候选位置(例如,角C的位置)推进第一扫描距离,以获得构建的第二左侧MV候选;基于构建的第一顶部MV候选的第一顶部候选位置和构建的第二左侧MV候选的第二左侧候选位置来获得第三虚拟块;基于第二左侧候选位置、第一顶部候选位置和第三虚拟块来确定构建的第三左上MV候选的第三左上候选位置;基于第二左侧候选位置、第一顶部候选位置和第三左上候选位置处的平移MV来获得第三虚拟块的一个或多个CPMV;并且基于第三虚拟块的一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得当前块的一个或多个CPMV。
本轮中,角B的位置可以再次从第一个值遍历到最大值。例如,处理器1920可以:沿第二方向将第一顶部候选位置逐步推进第二扫描距离,以获得一个或多个构建的第三顶部MV候选;基于一个构建的第三顶部MV候选的第三顶部候选位置和第二左侧候选位置来获得第四虚拟块;基于第三顶部候选位置、第二左侧候选位置和第四左上候选位置处的平移MV来获得第四虚拟块的一个或多个CPMV;并且基于第四虚拟块的一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得当前块的一个或多个CPMV。一个或多个构建的第三顶部MV候选可以包括与当前块的顶侧相距最大块数的距离处的构建的第三顶部MV候选。
在一些示例中,处理器1920可以通过以下方式来在一个或多个扫描距离处联合地扫描多个扫描区域:成对地扫描左侧扫描区域和顶部扫描区域,以获得多个构建的左侧MV候选和多个构建的顶部MV候选,其中多个扫描区域可以包括左侧扫描区域和顶部扫描区域。
具体地,处理器1920可以:从当前块的左侧沿垂直于左侧的第一方向将左侧候选位置推进第一扫描距离,以获得构建的左侧MV候选;从当前块的顶侧沿垂直于顶侧的第二方向将顶部候选位置推进第二扫描距离,以获得构建的顶部MV候选;基于构建的左侧MV候选的左侧候选位置和构建的顶部MV候选的顶部候选位置来获得虚拟块;基于左侧候选位置、顶部候选位置和虚拟块来确定构建的左上MV候选的左上候选位置;基于第一候选位置、第二候选位置和第三候选位置处的平移MV来获得所述虚拟块的一个或多个CPMV;并且基于虚拟块的一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得当前块的一个或多个CPMV。
在一些示例中,第一扫描距离可以是当前块的宽度,并且第二扫描距离可以是当前块的高度。
图21是图示了对应于如图20所示的视频解码方法的视频编码方法的流程图。
在步骤2101中,在编码器侧,处理器1920可以通过在一个或多个扫描距离处联合地或独立地扫描多个扫描区域来从当前块的多个不相邻邻近块确定一个或多个构建的MV候选,其中一个扫描距离可以指示与当前块的一侧相距的块数。
在步骤2102中,处理器1920可以基于一个或多个构建的MV候选来获得当前块的一个或多个CPMV。
在一些示例中,可以根据如图17B、图16和图9至图12所示的推导方法来获得一个或多个构建的MV候选。
具体地,如图9至图12所示,在第一扫描距离处在垂直于当前块的第一侧的第一方向上扫描第一扫描区域,以获得构建的第一MV候选,其中,多个扫描区域包括第一扫描区域和第二扫描区域,并且一个或多个扫描距离包括第一扫描距离和第二扫描距离。如图17B、图16和图9至图12所示,第一侧可以是当前块的左侧,并且第二侧可以是当前块的顶侧。
此外,在第二扫描距离处在垂直于当前块的第二侧的第二方向上扫描第二扫描区域,以获得构建的第二MV候选。然后,基于构建的第一MV候选的第一候选位置和构建的第二MV候选的第二候选位置来获得虚拟块,并且基于第一候选位置、第二候选位置和虚拟块来确定构建的第三MV候选的第三候选位置。此外,基于第一候选位置、第二候选位置和第三候选位置处的平移MV来获得虚拟块的一个或多个CPMV,并且可以基于虚拟块的一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得当前块的一个或多个CPMV。
在一些示例中,处理器1920可以通过以下方式来在一个或多个扫描距离处独立地扫描多个扫描区域:交替地扫描左侧扫描区域和顶部扫描区域,以获得一个或多个构建的左侧MV候选和一个或多个构建的顶部MV候选,其中多个扫描区域包括左侧扫描区域和顶部扫描区域。
在一些示例中,处理器1920可以通过以下方式来交替地扫描左侧扫描区域和顶部扫描区域以获得一个或多个构建的左侧MV候选和一个或多个构建的顶部MV候选:通过交替地推进第一左侧候选位置和第一顶部候选位置来交替地扫描左侧扫描区域和顶部扫描区域以获得一个或多个构建的左侧MV候选和一个或多个构建的顶部MV候选。
例如,处理器1920可以:在第一扫描距离处在垂直于当前块的左侧的第一方向上扫描左侧扫描区域,以获得构建的第一左侧MV候选;在第二扫描距离处在垂直于当前块的顶侧的第二方向上扫描顶部扫描区域,以获得构建的第一顶部MV候选;基于构建的第一左侧MV候选的第一左侧候选位置和构建的第一顶部MV候选的第一顶部候选位置来获得第一虚拟块;基于第一左侧候选位置、第一顶部候选位置和第一虚拟块来确定构建的第一左上MV候选的第一左上候选位置;基于第一左侧候选位置、第一顶部候选位置和第一左上候选位置处的平移MV来获得第一虚拟块的一个或多个CPMV,并且基于第一虚拟块的一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得当前块的一个或多个CPMV。
在一些示例中,给定所获得的构建的第一左侧MV候选(例如,角C),处理器1920可以进一步:沿第二方向将第一顶部候选位置(例如,角B的位置)逐步推进第二扫描距离,以获得一个或多个构建的第二顶部MV候选;基于一个构建的第二顶部MV候选的第二顶部候选位置和第一左侧候选位置来获得第二虚拟块;基于第二顶部候选位置、第一左侧候选位置和第二虚拟块来确定构建的第二左上MV候选的第二左上候选位置;基于第二顶部候选位置、第一左侧候选位置和第二左上候选位置处的平移MV来获得第二虚拟块的一个或多个CPMV;并且基于第二虚拟块的一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得当前块的一个或多个CPMV。
在一些示例中,角B的位置可以从第一不相邻邻近块逐渐增加到最大数量的不相邻邻近块的距离。例如,一个或多个构建的第二顶部MV候选可以包括与当前块的顶侧相距最大块数的距离处的构建的第二顶部MV候选。
在一些示例中,在角B已经逐渐增加到最大数量之后,在下一轮中,处理器1920可以:沿第一方向将第一左侧候选位置(例如,角C的位置)推进第一扫描距离,以获得构建的第二左侧MV候选;基于构建的第一顶部MV候选的第一顶部候选位置和构建的第二左侧MV候选的第二左侧候选位置来获得第三虚拟块;基于第二左侧候选位置、第一顶部候选位置和第三虚拟块来确定构建的第三左上MV候选的第三左上候选位置;基于第二左侧候选位置、第一顶部候选位置和第三左上候选位置处的平移MV来获得第三虚拟块的一个或多个CPMV;并且基于第三虚拟块的一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得当前块的一个或多个CPMV。
本轮中,角B的位置可以再次从第一个值遍历到最大值。例如,处理器1920可以:沿第二方向将第一顶部候选位置逐步推进第二扫描距离,以获得一个或多个构建的第三顶部MV候选;基于一个构建的第三顶部MV候选的第三顶部候选位置和第二左侧候选位置来获得第四虚拟块;基于第三顶部候选位置、第二左侧候选位置和第四左上候选位置处的平移MV来获得第四虚拟块的一个或多个CPMV;并且基于第四虚拟块的一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得当前块的一个或多个CPMV。一个或多个构建的第三顶部MV候选可以包括与当前块的顶侧相距最大块数的距离处的构建的第三顶部MV候选。
在一些示例中,处理器1920可以通过以下方式来在一个或多个扫描距离处联合地扫描多个扫描区域:成对地扫描左侧扫描区域和顶部扫描区域,以获得多个构建的左侧MV候选和多个构建的顶部MV候选,其中多个扫描区域可以包括左侧扫描区域和顶部扫描区域。
具体地,处理器1920可以:从当前块的左侧沿垂直于左侧的第一方向将左侧候选位置推进第一扫描距离,以获得构建的左侧MV候选;从当前块的顶侧沿垂直于顶侧的第二方向将顶部候选位置推进第二扫描距离,以获得构建的顶部MV候选;基于构建的左侧MV候选的左侧候选位置和构建的顶部MV候选的顶部候选位置来获得虚拟块;基于左侧候选位置、顶部候选位置和虚拟块来确定构建的左上MV候选的左上候选位置;基于第一候选位置、第二候选位置和第三候选位置处的平移MV来获得所述虚拟块的一个或多个CPMV;并且基于虚拟块的一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得当前块的一个或多个CPMV。
在一些示例中,第一扫描距离可以是当前块的宽度,并且第二扫描距离可以是当前块的高度。
图22是图示了根据本公开的示例的视频解码方法的流程图。
在步骤2201中,在解码器侧,处理器1920可以按照预定顺序从一个或多个候选列表中获得一个或多个候选MV,其中一个或多个候选列表可以包括AMVP候选列表、常规合并候选列表和/或仿射合并候选列表,并且一个或多个MV候选来自当前块的多个邻近块。
在一些示例中,一个或多个MV候选可以包括使用如图8、图13A至图13B、图14A至图14B、图15A至图15D和图17A所示的基于继承的推导方法,从当前块的多个空间不相邻邻近块获得的一个或多个继承的不相邻MV候选。此外,一个或多个MV候选可以包括使用如图9至图12、图16和图17B所示的基于构建的推导方法,从多个空间不相邻邻近块获得的一个或多个构建的不相邻MV候选。
在一些示例中,处理器1920可以在一个或多个构建的不相邻MV候选之前从仿射AMVP候选列表中获得一个或多个继承的不相邻MV候选。
在一些示例中,仿射AMVP候选列表可以进一步包括一个或多个相邻MV候选,所述一个或多个相邻MV候选包括一个或多个继承的相邻MV候选以及一个或多个构建的相邻MV候选,并且所述一个或多个相邻MV候选是从与当前块相邻的多个空间相邻邻近块获得的。处理器1920可以在一个或多个继承的相邻MV候选和一个或多个构建的相邻MV候选之后从仿射AMVP候选列表中获得一个或多个继承的不相邻MV候选和一个或多个构建的不相邻MV候选,如“仿射AMVP和常规合并模式的候选推导方法”部分中讨论的。例如,预定顺序可以包括“仿射AMVP和常规合并模式的候选推导方法”部分中描述的顺序。
在一些示例中,仿射AMVP候选列表可以进一步包括从与当前块相邻的多个时间相邻邻近块获得的一个或多个时间MV候选,并且处理器1920可以在一个或多个构建的不相邻MV候选之后或在一个或多个继承的不相邻MV候选之前从仿射AMVP候选列表中获得一个或多个时间MV候选。
在一些示例中,仿射AMVP候选列表可以进一步包括从多个空间相邻邻近块获得的一个或多个平移MV候选,并且处理器1920可以根据以下顺序之一从仿射AMVP候选列表中获得一个或多个平移MV候选:在一个或多个构建的不相邻MV候选之后从仿射AMVP候选列表中获得一个或多个平移MV候选;在一个或多个继承的不相邻MV候选与所述一个或多个构建的不相邻MV候选之间从仿射AMVP候选列表中获得一个或多个平移MV候选;或者在一个或多个时间MV候选之前从仿射AMVP候选列表中获得一个或多个平移MV候选。
在一些示例中,一个或多个MV候选可以包括一个或多个空间不相邻运动矢量预测(motion vector prediction,MVP)候选、一个或多个继承的不相邻MVP候选、以及一个或多个构建的不相邻MVP候选。处理器1920可以从当前块的多个空间不相邻邻近块中获得一个或多个空间不相邻MVP候选;使用基于继承的推导方法来从多个空间不相邻邻近块获得一个或多个继承的不相邻MVP候选;使用基于构建的推导方法来从多个空间不相邻邻近块获得一个或多个构建的不相邻MVP候选;在一个或多个继承的不相邻MV候选之前从常规合并候选列表中获得一个或多个空间不相邻MVP候选;并且在一个或多个构建的不相邻MV候选之前从常规合并候选列表中获得一个或多个继承的不相邻MV候选。
在一些示例中,一个或多个MV候选可以包括多个构建的MV候选,所述多个构建的MV候选包括一个或多个构建的相邻MV候选和一个或多个构建的不相邻MV候选,并且处理器1920可以在一个或多个构建的不相邻MV候选之前从仿射合并候选列表中获得一个或多个构建的相邻MV候选,如“仿射合并候选列表的重新排序”部分中讨论的。在这些示例中,当通过使用通过组合仿射运动和平移MV来构建CPMV的基于继承的推导方法来推导新候选时,该新候选的放置可以取决于其他构建候选的放置。
在一些示例中,一个或多个MV候选可以包括基于多个空间邻近块获得的一个或多个构建的第一MV候选以及基于多个空间邻近块和多个平移MV获得的一个或多个构建的第二MV候选。处理器1920可以在一个或多个构建的第二MV候选之前从仿射合并候选列表中获得一个或多个构建的第一MV候选,如“仿射合并候选列表的重新排序”部分中讨论的。在这些示例中,当通过使用通过组合仿射运动和平移MV来构建CPMV的基于继承的推导方法来推导新候选时,该新候选的放置可以取决于其他构建候选的放置。
在步骤2202中,处理器1920可以基于一个或多个MV候选来获得当前块的一个或多个CPMV。
图23是图示了对应于图22所示的解码方法的视频编码方法的流程图。
在步骤2301中,在编码器侧,处理器1920可以从当前块的多个邻近块确定一个或多个MV候选。
在一些示例中,一个或多个MV候选可以包括使用如图8、图13A至图13B、图14A至图14B、图15A至图15D和图17A所示的基于继承的推导方法,从当前块的多个空间不相邻邻近块获得的一个或多个继承的不相邻MV候选。此外,一个或多个MV候选可以包括使用如图9至图12、图16和图17B所示的基于构建的推导方法,从多个空间不相邻邻近块获得的一个或多个构建的不相邻MV候选。
在步骤2302中,处理器1920可以按照预定顺序将一个或多个MV候选***到一个或多个候选列表中,其中一个或多个候选列表可以包括AMVP候选列表、常规合并候选列表和/或仿射合并候选列表。
在一些示例中,处理器1920可以将一个或多个继承的不相邻MV候选在一个或多个构建的不相邻MV候选之前***到仿射AMVP候选列表中。
在一些示例中,仿射AMVP候选列表可以进一步包括一个或多个相邻MV候选,所述一个或多个相邻MV候选包括一个或多个继承的相邻MV候选以及一个或多个构建的相邻MV候选,并且所述一个或多个相邻MV候选是从与当前块相邻的多个空间相邻邻近块获得的。处理器1920可以将一个或多个继承的不相邻MV候选和一个或多个构建的不相邻MV候选在一个或多个继承的相邻MV候选和一个或多个构建的相邻MV候选之后***到仿射AMVP候选列表,如“仿射AMVP和常规合并模式的候选推导方法”部分中讨论的。例如,预定顺序可以包括“仿射AMVP和常规合并模式的候选推导方法”部分中描述的顺序。
在一些示例中,仿射AMVP候选列表可以进一步包括从与当前块相邻的多个时间相邻邻近块获得的一个或多个时间MV候选,并且处理器1920可以将一个或多个时间MV候选在一个或多个构建的不相邻MV候选之后或在一个或多个继承的不相邻MV候选之前***到仿射AMVP候选列表中。
在一些示例中,仿射AMVP候选列表可以进一步包括从多个空间相邻邻近块获得的一个或多个平移MV候选,并且处理器1920可以根据以下顺序之一将一个或多个平移MV候选***到仿射AMVP候选列表中:将一个或多个平移MV候选在一个或多个构建的不相邻MV候选之后***到仿射AMVP候选列表中;将一个或多个平移MV候选在一个或多个继承的不相邻MV候选与一个或多个构建的不相邻MV候选之间***到仿射AMVP候选列表中;或者将一个或多个平移MV候选在一个或多个时间MV候选之前***到仿射AMVP候选列表中。
在一些示例中,一个或多个MV候选可以包括一个或多个空间不相邻运动矢量预测(MVP)候选、一个或多个继承的不相邻MVP候选、以及一个或多个构建的不相邻MVP候选。处理器1920可以从当前块的多个空间不相邻邻近块中获得一个或多个空间不相邻MVP候选;使用基于继承的推导方法来从多个空间不相邻邻近块获得一个或多个继承的不相邻MVP候选;使用基于构建的推导方法来从多个空间不相邻邻近块获得一个或多个构建的不相邻MVP候选;将一个或多个空间不相邻MVP候选在一个或多个继承的不相邻MV候选之前***到常规合并候选列表中;并且将一个或多个继承的不相邻MV候选在一个或多个构建的不相邻MV候选之前***到常规合并候选列表中。
在一些示例中,一个或多个MV候选可以包括多个构建的MV候选,所述多个构建的MV候选包括一个或多个构建的相邻MV候选和一个或多个构建的不相邻MV候选,并且处理器1920可以将一个或多个构建的相邻MV候选在一个或多个构建的不相邻MV候选之前***到仿射合并候选列表中,如“仿射合并候选列表的重新排序”部分中讨论的。在这些示例中,当通过使用通过组合仿射运动和平移MV来构建CPMV的基于继承的推导方法来推导新候选时,该新候选的放置可以取决于其他构建候选的放置。
在一些示例中,一个或多个MV候选可以包括基于多个空间邻近块获得的一个或多个构建的第一MV候选以及基于多个空间邻近块和多个平移MV获得的一个或多个构建的第二MV候选。处理器1920可以将一个或多个构建的第一MV候选在一个或多个构建的第二MV候选之前***到仿射合并候选列表中,如“仿射合并候选列表的重新排序”部分中讨论的。在这些示例中,当通过使用通过组合仿射运动和平移MV来构建CPMV的基于继承的推导方法来推导新候选时,该新候选的放置可以取决于其他构建候选的放置。
在步骤2303中,处理器1920可以基于一个或多个MV候选来获得当前块的一个或多个CPMV。
在一些示例中,提供了一种用于视频编解码的装置。所述装置包括处理器1920和存储器1940,所述存储器被配置为存储能够由所述处理器执行的指令;其中,所述处理器在执行所述指令时被配置为执行如图20至图23中所示的任何方法。
在一些其他示例中,提供了一种其中存储有指令的非暂态计算机可读存储介质。当所述指令由处理器1920执行时,所述指令使所述处理器执行如图20至图23中所示的任一种方法。在一个示例中,多个程序可以由处理器1920在计算环境1910中执行,以接收(例如,从图2中的视频编码器20)包括已编码视频信息(例如,表示已编码视频帧的视频块和/或相关联的一个或多个语法元素等)的比特流或数据流,并且还可以由处理器1920在计算环境1910中执行,以根据接收到的比特流或数据流来执行上述解码方法。在另一示例中,多个程序可以由处理器1920在计算环境1910中执行,以执行上述编码方法来将视频信息(例如,表示视频帧的视频块和/或相关联的一个或多个语法元素等)编码成比特流或数据流,并且还可以由处理器1920在计算环境1910中执行,以传输比特流或数据流(例如,传输到图3中的视频解码器30)。可替代地,非暂态计算机可读存储介质可以在其中存储有比特流或数据流,所述比特流或数据流包括由编码器(例如,图2中的视频编码器20)使用例如上述编码方法生成的已编码视频信息(例如,表示已编码视频帧的视频块和/或相关联的一个或多个语法元素等),以供解码器(例如,图3中的视频解码器30)对视频数据进行解码。非暂态计算机可读存储介质可以是例如ROM、随机存取存储器(Random Access Memory,RAM)、CD-ROM、磁带、软盘、光学数据存储设备等。
考虑在此公开的公开内容的说明书和实践,本公开的其他示例对于本领域技术人员而言将是显而易见的。本申请旨在涵盖遵循其一般原则对公开内容进行的任何改变、使用或改编,包括在本领域中已知或惯用实践内与本公开的偏离。旨在将说明书和示例仅视为示例性的。
应理解的是,本公开不限于上文描述和附图中所示的确切示例,并且可以在不脱离其范围的情况下进行各种修改和变化。

Claims (52)

1.一种视频解码方法,包括:
通过在一个或多个扫描距离处联合地或独立地扫描多个扫描区域来从当前块的多个不相邻邻近块获得一个或多个构建的运动矢量(MV)候选,其中,一个扫描距离指示与所述当前块的一侧相距的块数;以及
基于所述一个或多个构建的MV候选来获得所述当前块的一个或多个控制点运动矢量(CPMV)。
2.如权利要求1所述的方法,进一步包括:
在第一扫描距离处在垂直于所述当前块的第一侧的第一方向上扫描第一扫描区域,以获得构建的第一MV候选,其中,所述多个扫描区域包括所述第一扫描区域和第二扫描区域,并且所述一个或多个扫描距离包括所述第一扫描距离和第二扫描距离;
在所述第二扫描距离处在垂直于所述当前块的第二侧的第二方向上扫描所述第二扫描区域,以获得构建的第二MV候选;
基于所述构建的第一MV候选的第一候选位置和所述构建的第二MV候选的第二候选位置来获得虚拟块;
基于所述第一候选位置、所述第二候选位置和所述虚拟块来确定构建的第三MV候选的第三候选位置;
基于所述第一候选位置、所述第二候选位置和所述第三候选位置处的平移MV来获得所述虚拟块的一个或多个CPMV;以及
基于所述虚拟块的所述一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得所述当前块的一个或多个CPMV。
3.如权利要求1所述的方法,其中,在所述一个或多个扫描距离处独立地扫描所述多个扫描区域包括:
交替地扫描左侧扫描区域和顶部扫描区域,以获得一个或多个构建的左侧MV候选和一个或多个构建的顶部MV候选,其中,所述多个扫描区域包括所述左侧扫描区域和所述顶部扫描区域。
4.如权利要求3所述的方法,其中,交替地扫描所述左侧扫描区域和所述顶部扫描区域以获得所述一个或多个构建的左侧MV候选和所述一个或多个构建的顶部MV候选包括:
通过交替地推进第一左侧候选位置和第一顶部候选位置来交替地扫描所述左侧扫描区域和所述顶部扫描区域,以获得所述一个或多个构建的左侧MV候选和所述一个或多个构建的顶部MV候选。
5.如权利要求3所述的方法,进一步包括:
在第一扫描距离处在垂直于所述当前块的左侧的第一方向上扫描所述左侧扫描区域,以获得构建的第一左侧MV候选;
在第二扫描距离处在垂直于所述当前块的顶侧的第二方向上扫描所述顶部扫描区域,以获得构建的第一顶部MV候选;
基于所述构建的第一左侧MV候选的第一左侧候选位置和所述构建的第一顶部MV候选的第一顶部候选位置来获得第一虚拟块;
基于所述第一左侧候选位置、所述第一顶部候选位置和所述第一虚拟块来确定构建的第一左上MV候选的第一左上候选位置;
基于所述第一左侧候选位置、所述第一顶部候选位置和所述第一左上候选位置处的平移MV来获得所述第一虚拟块的一个或多个CPMV;以及
基于所述第一虚拟块的所述一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得所述当前块的所述一个或多个CPMV。
6.如权利要求5所述的方法,进一步包括:
沿所述第二方向将所述第一顶部候选位置逐步推进所述第二扫描距离,以获得一个或多个构建的第二顶部MV候选;
基于一个构建的第二顶部MV候选的第二顶部候选位置和所述第一左侧候选位置来获得第二虚拟块;
基于所述第二顶部候选位置、所述第一左侧候选位置和所述第二虚拟块来确定构建的第二左上MV候选的第二左上候选位置;
基于所述第二顶部候选位置、所述第一左侧候选位置和所述第二左上候选位置处的平移MV来获得所述第二虚拟块的一个或多个CPMV;以及
基于所述第二虚拟块的所述一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得所述当前块的所述一个或多个CPMV。
7.如权利要求6所述的方法,其中,所述一个或多个构建的第二顶部MV候选包括与所述当前块的顶侧相距最大块数的距离处的构建的第二顶部MV候选。
8.如权利要求6所述的方法,进一步包括:
沿所述第一方向将所述第一左侧候选位置推进所述第一扫描距离,以获得构建的第二左侧MV候选;
基于所述构建的第一顶部MV候选的所述第一顶部候选位置和所述构建的第二左侧MV候选的第二左侧候选位置来获得第三虚拟块;
基于所述第二左侧候选位置、所述第一顶部候选位置和所述第三虚拟块来确定构建的第三左上MV候选的第三左上候选位置;
基于所述第二左侧候选位置、所述第一顶部候选位置和所述第三左上候选位置处的平移MV来获得所述第三虚拟块的一个或多个CPMV;以及
基于所述第三虚拟块的所述一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得所述当前块的所述一个或多个CPMV。
9.如权利要求8所述的方法,进一步包括:
沿所述第二方向将所述第一顶部候选位置逐步推进所述第二扫描距离,以获得一个或多个构建的第三顶部MV候选;
基于一个构建的第三顶部MV候选的第三顶部候选位置和所述第二左侧候选位置来获得第四虚拟块;
基于所述第三顶部候选位置、所述第二左侧候选位置和所述第四虚拟块来确定构建的第四左上MV候选的第四左上候选位置;
基于所述第三顶部候选位置、所述第二左侧候选位置和所述第四左上候选位置处的平移MV来获得所述第四虚拟块的一个或多个CPMV;以及
基于所述第四虚拟块的所述一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得所述当前块的所述一个或多个CPMV。
10.如权利要求9所述的方法,其中,所述一个或多个构建的第三顶部MV候选包括与所述当前块的顶侧相距最大块数的距离处的构建的第三顶部MV候选。
11.如权利要求1所述的方法,其中,在所述一个或多个扫描距离处联合地扫描所述多个扫描区域包括:
成对地扫描左侧扫描区域和顶部扫描区域,以获得多个构建的左侧MV候选和多个构建的顶部MV候选,其中,所述多个扫描区域包括所述左侧扫描区域和所述顶部扫描区域。
12.如权利要求11所述的方法,进一步包括:
将左侧候选位置从所述当前块的左侧沿垂直于所述左侧的第一方向推进第一扫描距离,以获得构建的左侧MV候选;
将顶部候选位置从所述当前块的顶侧沿垂直于所述顶侧的第二方向推进第二扫描距离,以获得构建的顶侧MV候选;
基于所述构建的左侧MV候选的左侧候选位置和所述构建的顶部MV候选的顶部候选位置来获得虚拟块;
基于所述左侧候选位置、所述顶部候选位置和所述虚拟块来确定构建的左上MV候选的左上候选位置;
基于所述第一候选位置、所述第二候选位置和所述第三候选位置处的平移MV来获得所述虚拟块的一个或多个CPMV;以及
基于所述虚拟块的所述一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得所述当前块的所述一个或多个CPMV。
13.如权利要求12所述的方法,其中,所述第一扫描距离是所述当前块的宽度,并且所述第二扫描距离是所述当前块的高度。
14.如权利要求2所述的方法,进一步包括:
基于所述构建的第一MV候选的所述第一候选位置处、所述构建的第二MV候选的所述第二候选位置处、或所述构建的第三MV候选的所述第三候选位置处的运动信息来确定所述虚拟块是否有效。
15.如权利要求14所述的方法,进一步包括:
响应于确定位于所述构建的第三MV候选的所述第三候选位置处的编码块是以帧间模式编码的,确定所述虚拟块有效。
16.如权利要求14所述的方法,进一步包括:
响应于确定位于所述构建的第一MV候选的所述第一候选位置处或所述构建的第二MV候选的所述第二候选位置处的编码块是以帧内模式或屏幕内容模式编码的,确定所述虚拟块无效。
17.一种视频编码方法,包括:
通过在一个或多个扫描距离处联合地或独立地扫描多个扫描区域来从当前块的多个不相邻邻近块确定一个或多个构建的运动矢量(MV)候选,其中,一个扫描距离指示与所述当前块的一侧相距的块数;以及
基于所述一个或多个构建的MV候选来获得所述当前块的一个或多个控制点运动矢量(CPMV)。
18.如权利要求17所述的方法,进一步包括:
在第一扫描距离处在垂直于所述当前块的第一侧的第一方向上扫描第一扫描区域,以确定构建的第一MV候选,其中,所述多个扫描区域包括所述第一扫描区域和第二扫描区域,并且所述一个或多个扫描距离包括所述第一扫描距离和第二扫描距离;
在所述第二扫描距离处在垂直于所述当前块的第二侧的第二方向上扫描所述第二扫描区域,以确定构建的第二MV候选;
基于所述构建的第一MV候选的第一候选位置和所述构建的第二MV候选的第二候选位置来获得虚拟块;
基于所述第一候选位置、所述第二候选位置和所述虚拟块来确定构建的第三MV候选的第三候选位置;
基于所述第一候选位置、所述第二候选位置和所述第三候选位置处的平移MV来获得所述虚拟块的一个或多个CPMV;以及
基于所述虚拟块的所述一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得所述当前块的所述一个或多个CPMV。
19.如权利要求17所述的方法,其中,在所述一个或多个扫描距离处独立地扫描所述多个扫描区域包括:
交替地扫描左侧扫描区域和顶部扫描区域,以确定一个或多个构建的左侧MV候选和一个或多个构建的顶部MV候选,其中,所述多个扫描区域包括所述左侧扫描区域和所述顶部扫描区域。
20.如权利要求19所述的方法,其中,交替地扫描所述左侧扫描区域和所述顶部扫描区域以确定所述一个或多个构建的左侧MV候选和所述一个或多个构建的顶部MV候选包括:
通过交替地推进第一左侧候选位置和第一顶部候选位置来交替地扫描所述左侧扫描区域和所述顶部扫描区域,以确定所述一个或多个构建的左侧MV候选和所述一个或多个构建的顶部MV候选。
21.如权利要求19所述的方法,进一步包括:
在第一扫描距离处在垂直于所述当前块的左侧的第一方向上扫描所述左侧扫描区域,以确定构建的第一左侧MV候选;
在第二扫描距离处在垂直于所述当前块的顶侧的第二方向上扫描所述顶部扫描区域,以确定构建的第一顶部MV候选;
基于所述构建的第一左侧MV候选的第一左侧候选位置和所述构建的第一顶部MV候选的第一顶部候选位置来获得第一虚拟块;
基于所述第一左侧候选位置、所述第一顶部候选位置和所述第一虚拟块来确定构建的第一左上MV候选的第一左上候选位置;
基于所述第一左侧候选位置、所述第一顶部候选位置和所述第一左上候选位置处的平移MV来获得所述第一虚拟块的一个或多个CPMV;以及
基于所述第一虚拟块的所述一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得所述当前块的所述一个或多个CPMV。
22.如权利要求21所述的方法,进一步包括:
沿所述第二方向将所述第一顶部候选位置逐步推进所述第二扫描距离,以确定一个或多个构建的第二顶部MV候选;
基于一个构建的第二顶部MV候选的第二顶部候选位置和所述第一左侧候选位置来获得第二虚拟块;
基于所述第二顶部候选位置、所述第一左侧候选位置和所述第二虚拟块来确定构建的第二左上MV候选的第二左上候选位置;
基于所述第二顶部候选位置、所述第一左侧候选位置和所述第二左上候选位置处的平移MV来获得所述第二虚拟块的一个或多个CPMV;以及
基于所述第二虚拟块的所述一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得所述当前块的所述一个或多个CPMV。
23.如权利要求22所述的方法,其中,所述一个或多个构建的第二顶部MV候选包括与所述当前块的顶侧相距最大块数的距离处的构建的第二顶部MV候选。
24.如权利要求22所述的方法,进一步包括:
沿所述第一方向将所述第一左侧候选位置推进所述第一扫描距离,以确定构建的第二左侧MV候选;
基于所述构建的第一顶部MV候选的所述第一顶部候选位置和所述构建的第二左侧MV候选的第二左侧候选位置来获得第三虚拟块;
基于所述第二左侧候选位置、所述第一顶部候选位置和所述第三虚拟块来确定构建的第三左上MV候选的第三左上候选位置;
基于所述第二左侧候选位置、所述第一顶部候选位置和所述第三左上候选位置处的平移MV来获得所述第三虚拟块的一个或多个CPMV;以及
基于所述第三虚拟块的所述一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得所述当前块的所述一个或多个CPMV。
25.如权利要求24所述的方法,进一步包括:
沿所述第二方向将所述第一顶部候选位置逐步推进所述第二扫描距离,以确定一个或多个构建的第三顶部MV候选;
基于一个构建的第三顶部MV候选的第三顶部候选位置和所述第二左侧候选位置来获得第四虚拟块;
基于所述第三顶部候选位置、所述第二左侧候选位置和所述第四虚拟块来确定构建的第四左上MV候选的第四左上候选位置;
基于所述第三顶部候选位置、所述第二左侧候选位置和所述第四左上候选位置处的平移MV来获得所述第四虚拟块的一个或多个CPMV;以及
基于所述第四虚拟块的所述一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得所述当前块的所述一个或多个CPMV。
26.如权利要求25所述的方法,其中,所述一个或多个构建的第三顶部MV候选包括与所述当前块的顶侧相距最大块数的距离处的构建的第三顶部MV候选。
27.如权利要求17所述的方法,其中,在所述一个或多个扫描距离处联合地扫描所述多个扫描区域包括:
成对地扫描左侧扫描区域和顶部扫描区域,以确定多个构建的左侧MV候选和多个构建的顶部MV候选,其中,所述多个扫描区域包括所述左侧扫描区域和所述顶部扫描区域。
28.如权利要求27所述的方法,进一步包括:
将左侧候选位置从所述当前块的左侧沿垂直于所述左侧的第一方向推进第一扫描距离,以确定构建的左侧MV候选;
将顶部候选位置从所述当前块的顶侧沿垂直于所述顶侧的第二方向推进第二扫描距离,以确定构建的顶侧MV候选;
基于所述构建的左侧MV候选的左侧候选位置和所述构建的顶部MV候选的顶部候选位置来获得虚拟块;
基于所述左侧候选位置、所述顶部候选位置和所述虚拟块来确定构建的左上MV候选的左上候选位置;
基于所述第一候选位置、所述第二候选位置和所述第三候选位置处的平移MV来获得所述虚拟块的一个或多个CPMV;以及
基于所述虚拟块的所述一个或多个CPMV通过使用用于继承的候选推导的相同投影过程来获得所述当前块的所述一个或多个CPMV。
29.如权利要求28所述的方法,其中,所述第一扫描距离是所述当前块的宽度,并且所述第二扫描距离是所述当前块的高度。
30.如权利要求18所述的方法,进一步包括:
基于所述构建的第一MV候选的所述第一候选位置处、所述构建的第二MV候选的所述第二候选位置处、或所述构建的第三MV候选的所述第三候选位置处的运动信息来确定所述虚拟块是否有效。
31.如权利要求30所述的方法,进一步包括:
响应于确定位于所述构建的第三MV候选的所述第三候选位置处的编码块是以帧间模式编码的,确定所述虚拟块有效。
32.如权利要求30所述的方法,进一步包括:
响应于确定位于所述构建的第一MV候选的所述第一候选位置处或所述构建的第二MV候选的所述第二候选位置处的编码块是以帧内模式或屏幕内容模式编码的,确定所述虚拟块无效。
33.一种视频解码方法,包括:
按照预定顺序从一个或多个候选列表中获得一个或多个运动矢量(MV)候选,其中,所述一个或多个候选列表包括仿射高级运动矢量预测(AMVP)候选列表、常规合并候选列表和仿射合并候选列表,并且所述一个或多个MV候选来自当前块的多个邻近块;以及
基于所述一个或多个MV候选来获得所述当前块的一个或多个控制点运动矢量(CPMV)。
34.如权利要求33所述的方法,其中,所述一个或多个MV候选包括一个或多个继承的不相邻MV候选和一个或多个构建的不相邻MV候选,并且
其中,所述方法进一步包括:
使用基于继承的推导方法来从当前块的多个空间不相邻邻近块获得所述一个或多个继承的不相邻MV候选;
使用基于构建的推导方法来从所述多个空间不相邻邻近块获得所述一个或多个构建的不相邻MV候选;以及
在所述一个或多个构建的不相邻MV候选之前从所述仿射AMVP候选列表中获得所述一个或多个继承的不相邻MV候选。
35.如权利要求34所述的方法,其中,所述仿射AMVP候选列表进一步包括一个或多个相邻MV候选,所述一个或多个相邻MV候选包括一个或多个继承的相邻MV候选以及一个或多个构建的相邻MV候选,并且所述一个或多个相邻MV候选是从与所述当前块相邻的多个空间相邻邻近块获得的,
其中,所述方法进一步包括:
在所述一个或多个继承的相邻MV候选和所述一个或多个构建的相邻MV候选之后从所述仿射AMVP候选列表中获得所述一个或多个继承的不相邻MV候选和所述一个或多个构建的不相邻MV候选。
36.如权利要求35所述的方法,其中,所述仿射AMVP候选列表进一步包括从与所述当前块相邻的多个时间相邻邻近块获得的一个或多个时间MV候选,
其中,所述方法进一步包括:
在所述一个或多个构建的不相邻MV候选之后或在所述一个或多个继承的不相邻MV候选之前从所述仿射AMVP候选列表中获得所述一个或多个时间MV候选。
37.如权利要求36所述的方法,其中,所述仿射AMVP候选列表进一步包括从所述多个空间相邻邻近块获得的一个或多个平移MV候选,
其中,所述方法进一步包括:
根据以下顺序之一从所述仿射AMVP候选列表中获得所述一个或多个平移MV候选:
在所述一个或多个构建的不相邻MV候选之后从所述仿射AMVP候选列表中获得所述一个或多个平移MV候选;
在所述一个或多个继承的不相邻MV候选与所述一个或多个构建的不相邻MV候选之间从所述仿射AMVP候选列表中获得所述一个或多个平移MV候选;或者
在所述一个或多个时间MV候选之前从所述仿射AMVP候选列表中获得所述一个或多个平移MV候选。
38.如权利要求33所述的方法,其中,所述一个或多个MV候选包括一个或多个空间不相邻运动矢量预测(MVP)候选、一个或多个继承的不相邻MVP候选、以及一个或多个构建的不相邻MVP候选,并且
其中,所述方法进一步包括:
从当前块的多个空间不相邻邻近块中获得所述一个或多个空间不相邻MVP候选;
使用基于继承的推导方法来从所述多个空间不相邻邻近块获得所述一个或多个继承的不相邻MVP候选;
使用基于构建的推导方法来从所述多个空间不相邻邻近块获得所述一个或多个构建的不相邻MVP候选;
在所述一个或多个继承的不相邻MV候选之前从所述常规合并候选列表中获得所述一个或多个空间不相邻MVP候选;以及
在所述一个或多个构建的不相邻MV候选之前从所述常规合并候选列表中获得所述一个或多个继承的不相邻MV候选。
39.如权利要求33所述的方法,其中,所述一个或多个候选MV包括多个构建的MV候选,所述多个构建的MV候选包括一个或多个构建的相邻MV候选和一个或多个构建的不相邻MV候选,
其中,所述方法进一步包括:
在所述一个或多个构建的不相邻MV候选之前从所述仿射合并候选列表中获得所述一个或多个构建的相邻MV候选。
40.如权利要求33所述的方法,其中,所述一个或多个MV候选包括基于多个空间邻近块获得的一个或多个构建的第一MV候选以及基于所述多个空间邻近块和多个平移MV获得的一个或多个构建的第二MV候选,
其中,所述方法进一步包括:
在所述一个或多个构建的第二MV候选之前从所述仿射合并候选列表中获得所述一个或多个构建的第一MV候选。
41.一种视频编码方法,包括:
从当前块的多个邻近块确定一个或多个运动矢量(MV)候选;
按照预定顺序将所述一个或多个MV候选***到一个或多个候选列表中,其中,所述一个或多个候选列表包括仿射高级运动矢量预测(AMVP)候选列表、常规合并候选列表和仿射合并候选列表;以及
基于所述一个或多个MV候选来获得所述当前块的一个或多个控制点运动矢量(CPMV)。
42.如权利要求41所述的方法,其中,所述一个或多个MV候选包括一个或多个继承的不相邻MV候选和一个或多个构建的不相邻MV候选,并且
其中,所述方法进一步包括:
使用基于继承的推导方法来从当前块的多个空间不相邻邻近块确定所述一个或多个继承的不相邻MV候选;
使用基于构建的推导方法来从所述多个空间不相邻邻近块确定所述一个或多个构建的不相邻MV候选;以及
将所述一个或多个继承的不相邻MV候选在所述一个或多个构建的不相邻MV候选之前***到所述仿射AMVP候选列表中。
43.如权利要求42所述的方法,其中,所述仿射AMVP候选列表进一步包括一个或多个相邻MV候选,所述一个或多个相邻MV候选包括一个或多个继承的相邻MV候选以及一个或多个构建的相邻MV候选,并且所述一个或多个相邻MV候选是从与所述当前块相邻的多个空间相邻邻近块确定的,
其中,所述方法进一步包括:
将所述一个或多个继承的不相邻MV候选和所述一个或多个构建的不相邻MV候选在所述一个或多个继承的相邻MV候选和所述一个或多个构建的相邻MV候选之后***到所述仿射AMVP候选列表中。
44.如权利要求43所述的方法,其中,所述仿射AMVP候选列表进一步包括从与所述当前块相邻的多个时间相邻邻近块确定的一个或多个时间MV候选,
其中,所述方法进一步包括:
将所述一个或多个时间MV候选在所述一个或多个构建的不相邻MV候选之后或在所述一个或多个继承的不相邻MV候选之前***到所述仿射AMVP候选列表中。
45.如权利要求44所述的方法,其中,所述仿射AMVP候选列表进一步包括从所述多个空间相邻邻近块确定的一个或多个平移MV候选,
其中,所述方法进一步包括:
根据以下顺序之一将所述一个或多个平移MV候选***到所述仿射AMVP候选列表中:
将所述一个或多个平移MV候选在所述一个或多个构建的不相邻MV候选之后***到所述仿射AMVP候选列表中;
将所述一个或多个平移MV候选在所述一个或多个继承的不相邻MV候选与所述一个或多个构建的不相邻MV候选之间***到所述仿射AMVP候选列表中;或者
将所述一个或多个平移MV候选在所述一个或多个时间MV候选之前***到所述仿射AMVP候选列表中。
46.如权利要求41所述的方法,其中,所述一个或多个MV候选包括一个或多个空间不相邻运动矢量预测(MVP)候选、一个或多个继承的不相邻MVP候选、以及一个或多个构建的不相邻MVP候选,并且
其中,所述方法进一步包括:
从当前块的多个空间不相邻邻近块确定所述一个或多个空间不相邻MVP候选;
使用基于继承的推导方法来从所述多个空间不相邻邻近块确定所述一个或多个继承的不相邻MVP候选;
使用基于构建的推导方法来从所述多个空间不相邻邻近块确定所述一个或多个构建的不相邻MVP候选;
将所述一个或多个空间不相邻MVP候选在所述一个或多个继承的不相邻MV候选之前***到所述常规合并候选列表中;以及
将所述一个或多个继承的不相邻MV候选在所述一个或多个构建的不相邻MV候选之前***到所述常规合并候选列表中。
47.如权利要求41所述的方法,其中,所述一个或多个候选MV包括多个构建的MV候选,所述多个构建的MV候选包括一个或多个构建的相邻MV候选和一个或多个构建的不相邻MV候选,
其中,所述方法进一步包括:
将所述一个或多个构建的相邻MV候选在所述一个或多个构建的不相邻MV候选之前***到所述仿射合并候选列表中。
48.如权利要求41所述的方法,其中,所述一个或多个MV候选包括基于多个空间邻近块确定的一个或多个构建的第一MV候选和基于所述多个空间邻近块和多个平移MV确定的一个或多个构建的第二MV候选,
其中,所述方法进一步包括:
将所述一个或多个构建的第一MV候选在所述一个或多个构建的第二MV候选之前***到所述仿射合并候选列表中。
49.一种用于视频解码的装置,包括:
一个或多个处理器;以及
存储器,所述存储器耦接到所述一个或多个处理器并且被配置为存储能够由所述一个或多个处理器执行的指令,
其中,所述一个或多个处理器在执行所述指令时被配置为执行如权利要求1至16和权利要求33至40中任一项所述的方法。
50.一种用于视频编码的装置,包括:
一个或多个处理器;以及
存储器,所述存储器耦接到所述一个或多个处理器并且被配置为存储能够由所述一个或多个处理器执行的指令,
其中,所述一个或多个处理器在执行所述指令时被配置为执行如权利要求17至32和权利要求41至48中任一项所述的方法。
51.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在由一个或多个计算机处理器执行时使所述一个或多个计算机处理器接收比特流,并基于所述比特流执行如权利要求1至16和权利要求33至40中任一项所述的方法。
52.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令在由一个或多个计算机处理器执行时使所述一个或多个计算机处理器执行如权利要求17至32和权利要求41至48中任一项所述的方法,以将所述当前块编码成比特流,并传输所述比特流。
CN202280073265.7A 2021-11-23 2022-11-23 用于视频编解码中仿射合并模式的候选推导的方法和设备 Pending CN118176724A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163282641P 2021-11-23 2021-11-23
US63/282,641 2021-11-23
PCT/US2022/050928 WO2023097019A1 (en) 2021-11-23 2022-11-23 Methods and devices for candidate derivation for affine merge mode in video coding

Publications (1)

Publication Number Publication Date
CN118176724A true CN118176724A (zh) 2024-06-11

Family

ID=86540320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280073265.7A Pending CN118176724A (zh) 2021-11-23 2022-11-23 用于视频编解码中仿射合并模式的候选推导的方法和设备

Country Status (2)

Country Link
CN (1) CN118176724A (zh)
WO (1) WO2023097019A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI728390B (zh) * 2018-06-29 2021-05-21 大陸商北京字節跳動網絡技術有限公司 查找表尺寸
WO2020060374A1 (ko) * 2018-09-21 2020-03-26 엘지전자 주식회사 어파인 예측을 이용하여 비디오 신호를 처리하기 위한 방법 및 장치
US11122288B2 (en) * 2018-12-06 2021-09-14 Qualcomm Incorporated Spatio-temporal motion vector prediction patterns for video coding
EP3706421A1 (en) * 2019-03-07 2020-09-09 InterDigital VC Holdings, Inc. Method and apparatus for video encoding and decoding based on affine motion compensation

Also Published As

Publication number Publication date
WO2023097019A1 (en) 2023-06-01

Similar Documents

Publication Publication Date Title
TWI688262B (zh) 用於視訊寫碼之重疊運動補償
JP7372327B2 (ja) ビデオ復号の方法及び機器、及びコンピュータプログラム
CN117499638A (zh) 对图像进行编码/解码的方法和发送比特流的方法
CN118176724A (zh) 用于视频编解码中仿射合并模式的候选推导的方法和设备
CN118160309A (zh) 视频编解码中仿射合并模式的候选推导
CN118140480A (zh) 用于视频编解码中仿射合并模式的候选推导的方法和设备
KR20240100392A (ko) 비디오 코딩에서 아핀 병합 모드에 대한 후보 도출
US20240214587A1 (en) Candidate derivation for affine merge mode in video coding
KR20240105419A (ko) 비디오 코딩에서 아핀 병합 모드의 후보 도출을 위한 방법 및 장치
US20240073438A1 (en) Motion vector coding simplifications
CN118020302A (zh) 视频编解码中针对仿射合并模式的候选导出
WO2023133160A1 (en) Methods and devices for candidate derivation for affine merge mode in video coding
KR20240066273A (ko) 비디오 코딩에서 어파인 병합 모드에 대한 후보 도출
WO2023205185A1 (en) Methods and devices for candidate derivation for affine merge mode in video coding
WO2023158766A1 (en) Methods and devices for candidate derivation for affine merge mode in video coding
WO2023220444A1 (en) Methods and devices for candidate derivation for affine merge mode in video coding
WO2023137234A1 (en) Methods and devices for candidate derivation for affine merge mode in video coding
WO2023192335A1 (en) Methods and devices for candidate derivation for affine merge mode in video coding
WO2024010831A1 (en) Methods and devices for candidate derivation for affine merge mode in video coding
WO2023101990A1 (en) Motion compensation considering out-of-boundary conditions in video coding
WO2024039910A1 (en) Method and apparatus for adaptive motion compensated filtering
WO2023158765A1 (en) Methods and devices for geometric partitioning mode split modes reordering with pre-defined modes order
WO2023141177A1 (en) Motion compensation considering out-of-boundary conditions in video coding
KR20230081711A (ko) 비디오 압축을 위한 기하학적 모델을 사용한 모션 코딩
KR20240089262A (ko) 비디오 코딩에서 경계를 벗어난 조건을 고려한 모션 보정

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication