CN115086677A - 运动候选推导 - Google Patents

运动候选推导 Download PDF

Info

Publication number
CN115086677A
CN115086677A CN202210219873.6A CN202210219873A CN115086677A CN 115086677 A CN115086677 A CN 115086677A CN 202210219873 A CN202210219873 A CN 202210219873A CN 115086677 A CN115086677 A CN 115086677A
Authority
CN
China
Prior art keywords
motion
candidate
candidates
motion vector
video block
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
CN202210219873.6A
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.)
Lemon Inc Cayman Island
Original Assignee
Lemon Inc Cayman Island
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 Lemon Inc Cayman Island filed Critical Lemon Inc Cayman Island
Publication of CN115086677A publication Critical patent/CN115086677A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/186Methods 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 a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/513Processing of motion vectors
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

本公开的实施例涉及运动候选推导。本公开的实施例提供了用于视频处理的方法、装置和计算机存储介质。一个示例方法包括:在视频的当前视频块与视频的比特流之间的转换期间,针对当前视频块确定至少一组运动候选,每个运动候选包括从当前视频块的相邻视频块中确定的预测运动信息;通过使用模板匹配代价规则,基于当前视频块的模板从至少一组运动候选中针对当前视频块确定目标运动候选;以及基于目标运动候选执行转换。

Description

运动候选推导
相关申请的交叉引用
本申请要求于2021年03月12日提交的美国专利申请号17/200,631的优先权和权益,上述专利申请由此通过引用而全文合并于此。
技术领域
本公开的实施例涉及视频处理技术,并且更具体地涉及用于运动候选推导的方法、装置和计算机存储介质。
背景技术
如今,数字视频能力正在被应用于人们生活的各个方面。诸如MPEG-2、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4第10部分高级视频编解码(AVC)、ITU-TH.265高效视频编解码(HEVC)标准、通用视频编解码(VVC)标准等多种视频压缩技术已经被提出用于视频编码/解码,以便更有效地处理数字视频信息。
在视频编码/解码的过程中,运动补偿用于去除视频信号中的时间冗余。通过运动补偿,可以确定原始信号与由运动信息指示的参考信号之间的差异并且对其进行编码,从而提高视频编解码的压缩效率。由于视频块的运动信息可能占据比特流的相当大的部分,因此希望视频块的运动信息不是被发信号通知的,而是在视频解码器处推导。
发明内容
本公开的实施例提供了用于视频编码和解码中的帧间预测期间的运动候选推导的方法、装置、计算机存储介质。
在第一方面,提供了一种视频处理方法。该方法包括:在视频的当前视频块与视频的比特流之间的转换期间,针对当前视频块确定一组运动候选;针对该组运动候选中的每个运动候选,通过基于模板匹配代价规则在每个运动候选周围执行局部搜索来确定细化的运动候选;从针对该组运动候选而被生成的一组细化的运动候选中针对当前视频块确定目标运动候选;以及基于目标运动候选执行转换。
在第二方面,提供了一种视频处理方法。该方法包括:在视频的当前视频块与视频的比特流之间的转换期间,针对当前视频块确定一组运动候选;通过使用模板匹配代价规则,基于当前视频块的模板从该组运动候选中针对当前视频块确定目标运动候选;以及基于目标运动候选执行转换;其中模板是与当前视频块空间相关的视频区域,并且模板的形状是自适应的。
在第三方面,提供了一种视频处理方法。该方法包括:在视频的当前视频块与视频的比特流之间的转换期间,针对当前视频块确定一组运动候选;通过使用模板匹配代价规则,基于当前视频块的模板从该组运动候选中针对当前视频块确定目标运动候选;以及基于目标运动候选执行转换;其中与运动候选相关联的模板匹配代价基于模板与参考模板之间的差异来计算,并且参考模板是基于模板和运动候选而被确定的。
在第四方面,提供了一种视频处理方法。该方法包括:在视频的当前视频块与视频的比特流之间的转换期间,针对当前视频块确定一组运动候选;通过使用模板匹配代价规则,基于当前视频块的模板从该组运动候选中针对当前视频块确定目标运动候选;以及基于目标运动候选执行转换;其中当前视频块的编解码模式在序列级别、图片级别、切片级别、子图片级别、编解码树单元(CTU)级别或CU级别中的一个级别被发信号通知。
在第五方面,提供了一种视频处理方法。该方法包括:在视频的当前视频块与视频的比特流之间的转换期间,针对当前视频块确定至少一组运动候选,每个运动候选包括从当前视频块的相邻视频块而被确定的预测运动信息;通过使用模板匹配代价规则,基于当前视频块的模板从至少一组运动候选中针对当前视频块确定目标运动候选;以及基于目标运动候选执行转换。
在第六方面,提供了一种视频处理方法。该方法包括:在视频的当前视频块与视频的比特流之间的转换期间,针对当前视频块确定运动候选;通过基于模板匹配代价规则在运动候选周围执行局部搜索来细化运动候选;以及基于细化的运动候选执行转换,其中局部搜索的搜索顺序与当前视频块的编解码模式相关。
在第七方面,提供了一种用于处理视频数据的装置。该装置包括处理器和其上存储有指令的非瞬态存储器,其中该指令在由处理器执行时使处理器执行根据以上第一方面至第六方面中的任何一个方面的方法。
在第八方面,一种非瞬态计算机可读存储介质存储指令,该指令使处理器执行根据上述第一方面至第六方面中的任何一个方面的方法。
在第九方面,一种非瞬态计算机可读记录介质存储由视频处理装置执行的根据上述第一方面至第六方面中的任何一个方面的方法生成的视频的比特流。
提供本“发明内容”是为了以简化形式介绍概念的选择,这些概念将在下面的“具体实施方式”中进一步描述。本“发明内容”并非旨在确定所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护的主题的范围。
附图说明
通过以下参考附图的详细描述,本公开的示例实施例的上述和其他目的、特征和优点将变得更加明显。在本公开的示例实施例中,相同的附图标记通常指代相同的组件。
图1示出了空间合并候选的示例位置。
图2示出了考虑用于空间合并候选的冗余检查的示例候选对。
图3示出了用于时间合并候选的运动向量缩放的示例。
图4示出了用于时间合并候选的示例候选位置。
图5示出了当前块的VVC空间相邻块的示例。
图6示出了虚拟块与当前块之间的关系的示例。
图7示出了具有运动向量差(MMVD)搜索点的合并模式的示例。
图8示出了在组合的帧间和帧内预测(CIIP)权重推导中使用的顶部和左侧相邻块的示例。
图9示出了按相同角度而分组的几何分割模式(GPM)拆分的示例。
图10示出了几何分割模式的单向预测运动向量(MV)选择的示例。
图11示出了使用几何分割模式的弯曲权重的示例性生成的示例。
图12示出了基于三角形分割的帧间预测的示例。
图13示出了用于三角形分割模式的单向预测MV选择的示例。
图14示出了在混合过程中使用的示例权重。
图15A示出了由基于子块的时间运动向量预测(SbTMVP)使用的示例空间相邻块。
图15B示出了通过应用来自空间邻居的运动移位和缩放来自对应并置子CU的运动信息来推导子CU运动场(motion field)的示例。
图16示出了继承的仿射运动预测子(predictors)的示例位置。
图17示出了控制点运动向量继承的示例。
图18示出了所构造的仿射合并模式的候选的示例位置。
图19示出了双边匹配的示例。
图20示出了模板匹配的示例。
图21示出了帧速上转换(frame-rate up conversion,FRUC)中的单边运动估计(ME)的示例。
图22示出了解码侧运动向量细化的示例。
图23A示出了根据本公开的一些实施例的示例模板和模板的示例参考样本。
图23B示出了根据本公开的一些实施例的两个参考图片列表中的示例模板和模板的示例参考样本。
图24A示出了根据本公开的一些实施例的示例搜索图案。
图24B示出了根据本公开的一些实施例的另一示例搜索图案。
图25示出了根据本公开的一些实施例的具有8个亮度样本的搜索范围的示例无限制中心偏置菱形搜索(UCBDS)模式。
图26示出了根据本公开的一些实施例的自适应模板大小。
图27示出了根据本公开的一些实施例的对短边(short sisde)模板不进行子采样的示例。
图28是示出根据本公开的一些实施例的示例视频编解码系统的框图。
图29是示出根据本公开的一些实施例的示例视频编码器的框图。
图30是示出根据本公开的一些实施例的示例视频解码器的框图。
图31示出了根据本公开的一些实施例的视频处理的示例方法的流程图。
图32示出了根据本公开的一些实施例的视频处理的示例方法的流程图。
图33示出了根据本公开的一些实施例的视频处理的示例方法的流程图。
图34示出了可以在其中实现本公开的各种实施例的计算设备的框图。
具体实施方式
现在将参考一些实施例来描述本公开的原理。应当理解,描述这些实施例仅是为了说明和帮助本领域技术人员理解和实现本公开,并不表示对本公开的范围的任何限制。本文中描述的公开内容可以以除了下面描述的方式之外的各种方式来实现。
在以下描述和权利要求中,除非另有定义,否则本文中使用的所有技术和科学术语具有与本公开所属领域的普通技术人员通常理解的相同的含义。
在本公开中对“一个实施例”、“实施例”、“示例实施例”等的引用表明所描述的实施例可以包括特定特征、结构或特性,但不一定每个实施例都包括特定特征、结构或特性。此外,这样的短语不一定指代相同的实施例。此外,当结合示例实施例描述特定特征、结构或特性时,承认结合其他实施例(无论是否明确描述)来实现这样的特征、结构或特性在本领域技术人员的知识范围内。
应当理解,尽管在本文中可以使用术语“第一”和“第二”等来描述各种元素,但是这些元素不应当受这些术语的限制。这些术语仅用于区分一个元素与另一元素。例如,第一元素可以称为第二元素,并且类似地,第二元素可以称为第一元素,而不脱离示例实施例的范围。如本文中使用的,术语“和/或”包括所列术语中的一个或多个的任何和所有组合。
本文中使用的术语仅出于描述特定实施例的目的,并不旨在限制示例实施例。如本文中使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确指示。将进一步理解,术语“包括”、“包含”、“有”、“具有”、“包括有”和/或“包含有”当在本文中使用时指定所述特征、元素和/或组件等的存在,但是不排除一个或多个其他特征、元素、组件和/或其组合的存在或添加。
现在将参考一些实施例来描述本公开的原理。应当理解,描述这些实施例仅是为了说明和帮助本领域技术人员理解和实现本公开,并不表示对本公开的范围的任何限制。本文中描述的公开内容可以以除了下面描述的方式之外的各种方式来实现。
在以下描述和权利要求中,除非另有定义,否则本文中使用的所有技术和科学术语具有与本公开所属领域的普通技术人员通常理解的相同的含义。
在本公开中使用章节标题是为了便于理解,而不是将章节中公开的实施例仅限于该章节。此外,虽然参考VVC或其他特定视频编解码器描述某些实施例,但是所公开的技术也适用于其他视频编解码技术。此外,虽然一些实施例详细描述视频编码步骤,但是应当理解,撤消编码的对应解码步骤将由解码器来实现。此外,术语视频处理包括视频编解码或压缩、视频解码或解压缩、以及视频转码,其中视频像素从一种压缩格式表示为另一种压缩格式或以不同压缩比特率表示。
1.概要
本公开涉及视频编解码技术。具体地,本公开涉及视频编解码中的帧间预测。它可以应用于现有视频编解码标准,如HEVC,或者可以应用于将在最终确定的标准(多功能视频编解码)。它也可以适用于未来的视频编解码标准或视频编解码器。
2.背景
视频编解码标准主要通过众所周知的ITU-T和ISO/IEC标准的发展而演进。ITU-T制定H.261和H.263,ISO/IEC制定MPEG-1和MPEG-4视觉,并且这两个组织联合制定H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中使用时间预测加变换编解码。为了探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索团队(JVET)。此后,JVET采用了很多新方法,并且将其放入名为联合探索模型(JEM)的参考软件中。2018年4月,VCEG(Q6/16)与ISO/IEC JTC1SC29/WG11(MPEG)之间的联合视频专家组(JVET)成立,其旨在制定VVC标准,其目标是,与HEVC相比,比特率降低50%。
2.1.扩展合并预测
在VVC中,合并候选列表是通过依次包括以下五种类型的候选来构造的:1)来自空间相邻编解码单元(CU)的空间MVP;2)来自并置CU的时间MVP;3)来自先进先出(FIFO)表的基于历史的MVP;以及4)成对平均MVP和5)零MV。
合并列表的大小在序列参数集报头中发信号通知,并且合并列表的最大允许大小为6。针对合并模式的每个CU代码,使用截断的一元二值化(TU)对最佳合并候选的索引进行编码。合并索引的第一bin(二进制位)使用上下文进行编解码,而旁路编码用于其他bin。
本次会议提供了每个类别的合并候选的推导过程。正如在HEVC中所做的那样,VVC还支持为特定大小区域内的所有CU并行推导合并候选列表。
空间候选推导
VVC中的空间合并候选的推导与HEVC中的推导相同,不同之处在于,前两个合并候选的位置被交换。在位于图1所示位置的候选中,选择最多四个合并候选。推导顺序为B0、A0、B1、A1、B2。仅当位置B0、A0、B1、A1的一个或多个CU不可用(例如,因为它属于另一切片或图块)或被帧内编码时,才考虑位置B2。在A1位置的候选加入之后,剩余候选的加入受制于冗余校验,这可以保证将具有相同运动信息的候选排除在列表之外,从而提高编解码效率。为了降低计算复杂度,在所提到的冗余校验中并未考虑所有可能的候选对。取而代之,只有在用于冗余检查的对应候选不具有相同运动信息的情况下,与图2中的箭头链接的对才被考虑并且候选被添加到列表中。
时间候选推导
在该步骤中,仅将一个候选添加到列表中。具体地,在该时间合并候选的推导中,缩放运动向量基于属于并置参考图片的并置CU来推导。将用于推导并置CU的参考图片列表在切片报头中明确地发信号通知。获取时间合并候选的缩放运动向量,如图3中的虚线所示,它是使用POC距离tb和td从并置CU的运动向量缩放的,其中tb定义为当前图片的参考图片与当前图片之间的POC差异,并且td定义为并置图片的参考图片与并置图片的POC差异。时间合并候选的参考图片索引设置为零。
时间候选的位置是在候选C0和C1之间选择的,如图4所示。如果位置C0的CU不可用,是帧内编码的,或者在CTU的当前行之外,则使用位置C1。否则,在时间合并候选的推导中使用位置C0。
基于历史的合并候选推导
基于历史的MVP(HMVP)合并候选在空间MVP和TMVP之后被添加到合并列表。在这种方法中,先前编码的块的运动信息存储在表中,并且用作当前CU的MVP。具有多个HMVP候选的表在编码/解码过程中被维护。当遇到新的CTU行时,该表被重置(清空)。每当存在非子块帧间编码CU时,相关联的运动信息作为新的HMVP候选被添加到表的最后的条目中。
HMVP表大小S设置为6,这表示可以将多达6个基于历史的MVP(HMVP)候选可以被添加到表中。当向表中插入新的运动候选时,使用受限的先进先出(FIFO)规则,其中首先应用冗余检查以查找表中是否存在相同HMVP。如果找到,则从表中删除相同HMVP,并且将所有HMVP候选向前移动。
HMVP候选可以用在合并候选列表构造过程中。依次检查表中最新的若干HMVP候选,并且将其在TMVP候选之后插入到候选列表中。HMVP候选的冗余检查应用于空间或时间合并候选。
为了减少冗余校验操作的数目,引入了以下简化:1.将用于合并列表生成的HMPV候选的数目设置为(N<=4)?M:(8-N),其中N表示合并列表中现有候选的数目,M表示表中可用HMVP候选的数目。2.一旦可用合并候选的总数达到最大允许合并候选减1,则终止来自HMVP的合并候选列表构造过程。
成对平均合并候选推导
成对平均候选是通过对现有合并候选列表中的预定义候选对进行平均来生成的,预定义对被定义为{(0,1),(0,2),(1,2),(0,3),(1,3),(2,3)},其中数字表示对合并候选列表的合并索引。为每个参考列表单独计算平均运动向量。如果两个运动向量在一个列表中都可用,则即使它们指向不同参考图片,这两个运动向量也会被平均;如果只有一个运动向量可用,则直接使用一个运动向量;如果没有运动向量可用,则保持该列表无效。
当在添加成对平均合并候选之后合并列表未满时,在最后插入零MVP,直到遇到最大合并候选数目。
合并估计区域
合并估计区域(MER)允许为同一合并估计区域(MER)中的CU独立推导合并候选列表。与当前CU在同一MER内的候选块没有被包括在当前CU的合并候选列表的生成中。此外,仅当(xCb+cbWidth)>>Log2ParMrgLevel大于xCb>>Log2ParMrgLevel并且(yCb+cbHeight)>>Log2ParMrgLevel大于(yCb>>Log2ParMrgLevel),其中(xCb,yCb)是图片中当前CU的左上角亮度样本位置,(cbWidth,cbHeight)是CU大小,更新基于历史的运动向量预测子候选的更新过程。MER大小在编码器侧选择,并且在序列参数集中作为log2_parallel_merge_level_minus2发信号通知。
2.2.新合并候选
非相邻合并候选推导
在VVC中,图5所示的五个空间相邻块以及一个时间邻居用于推导合并候选。
提出使用与VVC中相同的图案从与当前块不相邻的位置中推导附加合并候选。为此,针对每个搜索轮次i,基于当前块生成虚拟块,如下所示:
首先,通过下式计算虚拟块相对于当前块的相对位置:
Offsetx=-i×gridX,Offsety=-i×gridY
其中Offsetx和Offsety表示虚拟块的左上角相对于当前块的左上角的偏移,gridX和gridY是搜索网格的宽度和高度。
其次,通过下式计算虚拟块的宽度和高度:
newWidth=i×2×gridX+currWidth newHeight=i×2×gridY+currHeight
其中currWidth和currHeight是当前块的宽度和高度。newWidth和newHeight是新虚拟块的宽度和高度,gridX和gridY当前分别设置为currWidth和currHeight。
图6示出了虚拟块与当前块之间的关系。在生成虚拟块之后,块Ai、Bi、Ci、Di和Ei可以被视为虚拟块的VVC空间相邻块,并且它们的位置以与VVC中相同的图案被获取。显然,如果搜索轮次i为0,则虚拟块是当前块。在这种情况下,块Ai、Bi、Ci、Di和Ei是用于VVC合并模式的空间相邻块。
在构造合并候选列表时,执行修剪以保证合并候选列表中的每个元素是唯一的。最大搜索轮次设置为1,这表示使用五个不相邻的空间相邻块。
不相邻的空间合并候选以顺序B1->A1->C1->D1->E1在时间合并候选之后被插入到合并列表中。
STMVP
提出使用三个空间合并候选和一个时间合并候选来推导平均候选作为STMV候选。
STMVP被插入在左上空间合并候选之前。
STMVP候选与合并列表中的所有先前合并候选一起被修剪。
针对空间候选,使用当前合并候选列表中的前三个候选。
针对时间候选,使用与VTM/HEVC并置位置相同的位置。
针对空间候选,在STMV之前插入当前合并候选列表中的第一候选、第二候选和第三候选被表示为F、S和T。
与在TMVP中使用的VTM/HEVC并置位置具有相同位置的时间候选被表示为Col。
STMVP候选在预测方向X(表示为mvLX)上的运动向量如下推导:
1)如果四个合并候选的参考索引都有效并且在预测方向X(X=0或1)上都等于0,则
mvLX=(mvLX_F+mvLX_S+mvLX_T+mvLX_Col)>>2。
2)如果四个合并候选中的三个合并候选的参考索引有效并且在预测方向X(X=0或1)上等于0,则
mvLX=(mvLX_F×3+mvLX_S×3+mvLX_Col×2)>>3,或
mvLX=(mvLX_F×3+mvLX_T×3+mvLX_Col×2)>>3,或
mvLX=(mvLX_S×3+mvLX_T×3+mvLX_Col×2)>>3。
3)如果四个合并候选中的两个合并候选的参考索引有效并且在预测方向X上等于零(X=0或1),则
mvLX=(mvLX_F+mvLX_Col)>>1,或
mvLX=(mvLX_S+mvLX_Col)>>1,或
mvLX=(mvLX_T+mvLX_COl)>>1。
注意,如果时间候选不可用,则STMV模式关闭。
合并列表大小
如果考虑非相邻和STMVP合并候选两者,则合并列表的大小在序列参数集报头中发信号通知,并且合并列表的最大允许大小为8。
2.3.具有MVD(MMVD)的合并模式
除了其中将隐式推导的运动信息直接用于当前CU的预测样本生成的合并模式,VVC中还引入了具有运动向量差的合并模式(MMVD),也称为最终运动向量表达。在发送跳过标志和合并标志之后立即发信号通知MMVD标志,以指定MMVD模式是否用于CU。
在MMVD中,选择合并候选(其称为基并候选),通过发信号通知的运动向量差(MVD)信息对其进行进一步细化。相关语法元素包括用于指定MVD距离的索引(由mmvd_distance_idx表示)和用于指示运动方向的索引(由mmvd_direction_idx表示)。在MMVD模式下,选择合并列表中前两个候选的一个候选以用作MV基(或基合并候选)。发信号通知合并候选标志以指定使用哪个候选。
距离索引指定运动幅度信息并且指示距起点的预定义偏移。如图7所示,向起始MV的水平分量或垂直分量添加偏移。距离索引与预定义偏移的关系如表1所示。
表1:距离索引与预定义偏移的关系
距离IDX 0 1 2 3 4 5 6 7
偏移(以亮度样本为单位) 1/4 1/2 1 2 4 8 16 32
方向索引表示MVD相对于起点的方向。方向索引可以表示如表4所示的四个方向。注意,MVD符号的含义可以根据起始MV的信息而有所不同。当起始MV是非预测MV或双向预测MV时,两个列表指向当前图片的同一侧(即,两个参考的POC都大于当前图片的POC,或者都小于当前图片的POC),表4中的符号指定了添加到起始MV的MV偏移的符号。当起始MV为双向预测MV时,两个MV指向当前图片的不同侧(即,一个参考的POC大于当前图片的POC,另一参考的POC小于当前图片的POC),表2中的符号指定了添加到起始MV的列表0MV分量的MV偏移的符号,而列表1MV的符号具有相反的值。
表2:方向索引指定的MV偏移符号
Figure BDA0003536555030000131
Figure BDA0003536555030000141
为每个参考图片列表推导MVD
首先根据MVD距离(由mmvd_distance_idx表示)和运动方向(由mmvd_direction_idx表示)的解码索引推导一个内部MVD(由MmvdOffset表示)。
之后,如果确定了内部MVD,则根据参考图片相对于当前图片的POC距离、以及参考图片类型(长期或短期)进一步推导每个参考图片列表的要添加到基合并候选的最终MVD。更具体地,以下步骤按顺序执行:
-如果基合并候选是双向预测,则计算列表0中当前图片与参考图片之间的POC距离、以及列表1中当前图片与参考图片之间的POC距离,分别表示为POCDiffL0和POCDidffL1。
-如果POCDiffL0等于POCDidffL1,则两个参考图片列表的最终MVD都设置为内部MVD。
-否则,如果Abs(POCDiffL0)大于或等于Abs(POCDiffL1),则参考图片列表0的最终MVD设置为内部MVD,并且取决于POC距离,参考图片列表1的最终MVD使用两个参考图片的内部MVD参考图片类型(两者都不是长期参考图片)或内部MVD或(零MV减去内部MVD)设置为缩放MVD。
-否则,如果Abd(POCDiffL0)小于Abs(POCDiffL1),则参考图片列表1的最终MVD设置为内部MVD,并且取决于POC距离,参考图片列表0的最终MVD使用两个参考图片(两者都不是长期参考图片)的内部MVD参考图片类型或内部MVD或(零MV减去内部MVD)设置为缩放MVD。
-如果基合并候选是来自参考图片列表X的单向预测,则参考图片列表X的最终MVD设置为内部MVD,并且参考图片列表Y(Y=1-X)的最终MVD设置为0。MMVD也称为最终运动向量表达(UMVE)。
2.4.组合的帧间和帧内预测(CIIP)
在VVC中,当CU以合并模式编解码时,如果CU包含至少64个亮度样本(即,CU宽度乘以CU高度等于或大于64),并且如果CU宽度和CU高度都小于128个亮度样本,则发信号通知附加标志以指示组合的帧间/帧内预测(CIIP)模式是否应用于当前CU。顾名思义,CIIP预测将帧间预测信号与帧内预测信号组合。CIIP模式下的帧间预测信号Pinter是使用与应用于常规合并模式的相同的帧间预测过程而推导的;并且帧内预测信号Pintra是按照平面模式的常规帧内预测过程而推导的。然后,使用加权平均来组合帧内和帧间预测信号,其中根据顶部和左侧相邻块的编解码模式(如图8所示)计算权重值,如下:
-如果顶部邻居可用并且经帧内编解码,则将isIntraTop设置为1,否则将isIntraTop设置为0;
-如果左邻居可用并且经帧内编解码,则将isIntraLeft设置为1,否则将isIntraLeft设置为0;
-如果(isIntraLeft+isIntraTop)等于2,则wt设置为3;
-否则,如果(isIntraLeft+isIntraTop)等于1,则wt设置为2;
-否则,wt设置为1。
CIIP预测如下形成:
PCIIP=((4-wt)*Pinter+wt*Pintra+2)>>2
2.5.几何分割模式(GPM)
在VVC中,支持几何分割模式用于帧间预测。几何分割模式使用CU级别标志作为一种合并模式来被发信号通知,其他合并模式包括常规合并模式、MMVD模式、CIIP模式和子块合并模式。针对除8×64和64×8之外的每个可能的CU大小w×h=2m×2n(其中m,n∈{3…6},),几何分割模式总共支持64个分割。
当使用这种模式时,CU被几何定位的直线拆分成两部分(如图9所示)。拆分线的位置在数学上是从特定分割的角度和偏移参数中推导的。CU中的几何分割的每个部分使用其自身的运动被帧间预测;每个分割只允许单向预测,即,每个部分有一个运动向量和一个参考索引。应用单向预测运动约束以确保与常规双向预测一样,每个CU只需要两次运动补偿预测。每个分割的单向预测运动是使用2.5.1中描述的过程推导的。
如果针对当前CU使用几何分割模式,则进一步发信号通知指示几何分割的分割模式(角度和偏移)的几何分割索引和两个合并索引(每个分割一个)。最大GPM候选大小的数目在SPS中明确发信号通知,并且指定GPM合并索引的语法二值化。在预测几何分割的每个部分之后,沿着几何分割边缘的样本值使用具有自适应权重的混合处理进行调节,如在2.5.2中。这是整个CU的预测信号,并且变换和量化过程将如在其他预测模式中一样被应用于整个CU。最后,使用几何分割模式预测的CU的运动场被存储,如在2.5.3中。
2.5.1单向预测候选列表构造
单向预测候选列表直接从根据2.1中的扩展合并预测过程而构造的合并候选列表中推导。将n表示为几何单向预测候选列表中单向预测运动的索引。第n扩展合并候选的LX运动向量(X等于n的奇偶性)用作几何分割模式的第n单向预测运动向量。这些运动向量在图10中用“x”标记。如果不存在第n扩展合并候选的对应LX运动向量,则使用相同候选的L(1-X)运动向量作为几何分割模式的单向预测运动向量。
2.5.2沿着几何分割边缘的混合
在使用其自己的运动预测几何分割的每个部分之后,将混合应用于两个预测信号以推导几何分割边缘周围的样本。CU的每个位置的混合权重是基于个体位置与分割边缘之间的距离而推导的。
位置(x,y)到分割边缘的距离如下推导:
Figure BDA0003536555030000171
Figure BDA0003536555030000172
Figure BDA0003536555030000173
Figure BDA0003536555030000174
其中i、j是几何分割的角度和偏移的索引,其取决于发信号通知的几何分割索引。ρx,j和ρy,j的符号取决于角度索引i。
几何分割的每个部分的权重如下推导:
wIdxL(x,y)=partIddx?32+d(x,y):32-d(x,y) (2-5)
Figure BDA0003536555030000175
w1(x,y)=1-w0(x,y) (2-7)
partIdx取决于角度索引i。权重w0的一个示例在图11中示出。
2.5.3几何分割模式的运动场存储
来自几何分割的第一部分的Mvl、来自几何分割的第二部分的Mv2以及Mvl和Mv2的组合Mv存储在几何分割模式编解码CU的运动场中。
运动场中每个个体位置的所存储的运动向量类型如下确定:
sType=abs(motionIdx)<32?2:(motionIdx≤0?(1-partIdx):partIdx) (2-8)
其中motionIdx等于d(4x+2,4y+2),它是从等式(2-1)重新计算的。partIdx取决于角度索引i。
如果sType等于0或1,则Mv0或Mv1存储在对应运动场中,否则如果sType等于2,则存储来自Mv0和Mv2的组合Mv。组合Mv使用以下过程来生成:
1)如果Mv1和Mv2来自不同参考图片列表(一个来自L0,另一个来自L1),则简单地组合Mv1和Mv2以形成双向预测运动向量。
2)否则,如果Mv1和Mv2来自同一列表,则仅存储单向预测运动Mv2。
2.6.用于帧间预测的三角分割
在VVC中,支持三角形分割模式用于帧间预测。三角形分割模式仅适用于8×8或更大的CU。三角形分割模式使用CU级别标志作为一种合并模式来发信号通知,其他合并模式包括常规合并模式、MMVD模式、CIIP模式和子块合并模式。
当使用这种模式时,CU使用对角分割或反对角分割(如图12所示)被均匀地拆分成两个以三角形成型的分割。CU中的每个三角形分割使用自己的运动被帧间预测;每个分割只允许单向预测,即,每个分割具有一个运动向量和一个参考索引。应用单向预测运动约束以确保与常规双向预测一样,每个CU只需要两次运动补偿预测。每个分割的单向预测运动是使用2.6.1中描述的过程推导的。
如果针对当前CU使用三角形分割模式,则进一步发信号通知指示三角形分割方向(对角线或反对角线)的标志和两个合并索引(每个分割一个)。最大TPM候选大小的数目在切片级别明确发信号通知,并且指定TMP合并索引的语法二值化。在预测每个三角形分割之后,使用具有自适应权重的混合处理来调节沿着对角线或反对角线边缘的样本值。这是整个CU的预测信号,并且变换和量化过程将如在其他预测模式中一样被应用于整个CU。最后,使用三角形分割模式预测的CU的运动场被存储,如在2.6.3中。
三角形分割模式不与SBT结合使用,即,当发信号通知的三角形模式等于1时,推断cu_sbt_flag为0,而没有发信号通知。
2.6.1单向预测候选列表构造
单向预测候选列表直接从根据2.1中的扩展合并预测过程而构造的合并候选列表中推导。将n表示为三角形单向预测候选列表中单向预测运动的索引。第n扩展合并候选的LX运动向量(X等于n的奇偶性)用作三角形分割模式的第n单向预测运动向量。这些运动向量在图13中用“x”标记。如果不存在第n扩展合并候选的对应LX运动向量,则代替地使用相同候选的L(1-X)运动向量作为三角形分割模式的单向预测运动向量。
2.6.2沿着三角形分割边缘的混合
在使用其自己的运动预测每个三角形分割之后,将混合应用于两个预测信号以推导对角线或反对角线边缘周围的样本。混合过程中使用以下权重:{7/8,6/8,5/8,4/8,3/8,2/8,1/8}用于亮度和{6/8,4/8,2/8}用于色度,如图14所示。
2.6.3运动场存储
以三角形分割模式编解码的CU的运动向量使用以下过程生成:
1)如果Mv1和Mv2来自不同参考图片列表(一个来自L0,另一个来自L1),则简单地组合Mv1和Mv2以形成双向预测运动向量。
2)否则,如果Mv1和Mv2来自同一列表,则仅存储单向预测运动Mv2。
2.7.基于子块的时间运动向量预测(SbTMVP)
VVC支持基于子块的时间运动向量预测(SbTMVP)方法。与HEVC中的时间运动向量预测(TMVP)类似,SbTMVP使用并置图片中的运动场来改进当前图片中CU的运动向量预测和合并模式。由TMVP使用的相同并置图片用于SbTMVP。SbTMVP在以下两个主要方面与TMVP不同:
-TMVP预测CU级别的运动,但SbTMVP预测子CU级别的运动;
-TMVP从并置图片中的并置块中提取时间运动向量(并置块是相对于当前CU的右下角或中心块),而SbTMVP在从并置图片中提取时间运动信息之前应用运动移位,其中运动偏移是从来自当前CU的空间相邻块中的一个的运动向量获取的。
SbTMVP过程在图15A和图15B中示出。SbTMVP分两步预测当前CU内的子CU的运动向量。在第一步中,检查图15A中的空间邻居A1。如果A1具有使用并置图片作为其参考图片的运动向量,则选择该运动向量作为要应用的运动移位。如果没有标识出这样的运动,则将运动偏移设置为(0,0)。
在第二步中,应用在步骤1中标识的运动偏移(即,添加到当前块的坐标)以从如图15B所示的并置图片获取子CU级别运动信息(运动向量和参考索引)。图15B中的示例假定运动移位设置为块A1的运动。然后,针对每个子CU,使用并置图片中其对应块(覆盖中心样本的最小运动网格)的运动信息来推导子CU的运动信息。在标识并置子CU的运动信息之后,以类似于HEVC的TMVP过程的方法来将其转换为当前子CU的运动向量和参考索引,其中应用时间运动缩放以对准时间运动向量的参考图片与当前CU的图片。
在VVC中,包含SbTMVP候选和仿射合并候选两者的基于组合子块的合并列表用于基于子块的合并模式的信令。SbTMVP模式由序列参数集(SPS)标志启用/禁用。如果SbTMVP模式被启用,则SbTMVP预测子被添加作为基于子块的合并候选列表的第一条目,然后是仿射合并候选。基于子块的合并列表的大小在SPS中发信号通知,并且基于子块的合并列表的最大允许大小在VVC中为5。
在SbTMVP中使用的子CU大小固定为8×8,并且与仿射合并模式一样,SbTMVP模式仅适用于宽度和高度均大于或等于8的CU。
附加SbTMVP合并候选的编码逻辑与其他合并候选的编码逻辑相同,即,对P或B切片中的每个CU,执行附加RD检查,以决定是否应当使用SbTMVP候选。
2.8.仿射合并预测
AF_MERGE模式可以应用于宽度和高度都大于或等于8的CU。在该模式下,当前CU的CPMV是基于空间相邻CU的运动信息而生成的。可以有多达五个CPMVP候选,并且发信号通知索引以指示要用于当前CU的CPMVP候选。以下三种类型的CPVM候选用于形成仿射合并候选列表:
-从相邻CU的CPMV推测的继承仿射合并候选;
-使用相邻CU的平移MV而推导的所构造的仿射合并候选CPMVP;
-零MV。
在VVC中,最多有两个继承仿射候选,它们是从相邻块的仿射运动模型中推导的,一个来自左侧相邻CU,一个来自上方相邻CU。候选块在图16中示出。针对左侧预测子,扫描顺序是A0->A1,而针对上方预测子,扫描顺序是B0->B1->B2。仅选择来自每一侧的第一继承候选。在两个继承候选之间不执行修剪检查。当相邻仿射CU被标识时,其控制点运动向量被用于推导当前CU的仿射合并列表中的CPMVP候选。如图17所示,如果相邻左下块A以仿射模式编解码,则得到包含块A的CU的左上角、右上角和左下角的运动向量v2、v3和v4。当块A用4参数仿射模型被编解码时,当前CU的两个CPMV根据v2和v3来计算。如果块A用6参数仿射模型被编解码,则当前CU的三个CPMV根据v2、v3和v4来计算。
构造仿射候选是指通过组合每个控制点的相邻平移运动信息来构造候选。控制点的运动信息是从图18所示的指定空间邻居和时间邻居中推导的。CPMVk((k=1,2,3,4)表示第k控制点。针对CPMV1,检查B2->B3->A2块,并且使用第一可用块的MV。针对CPMV2,检查B1->B0块,并且针对CPMV3,检查A1->A0块。针对TMVP,如果可用,则它将用作CPMV4
在获取四个控制点的MV之后,基于这些运动信息构造仿射合并候选。使用控制点MV的以下组合按顺序进行构造:{CPMV1,CPMV2,CPMV3}、{CPMV1,CPMV2,CPMV4}、{CPMV1,CPMV3,CPMV4}、{CPMV2,CPMV3,CPMV4}、{CPMV1,CPMV2}、{CPMV1,CPMV3}。
3个CPMV的组合构造6参数仿射合并候选,并且2个CPMV的组合构造4参数仿射合并候选。为了避免运动缩放过程,如果控制点的参考索引不同,则丢弃控制点MV的相关组合。
在检查继承的仿射合并候选和构造的仿射合并候选之后,如果列表仍然不满,则将零MV插入到列表的端部。
2.9.图案匹配运动向量推导
图案匹配运动向量推导(PMMVD)模式是一种基于帧速上转换(FRUC)技术的特殊合并模式。使用这种模式,块的运动信息不是发信号通知的,而是在解码器侧推导的。
当CU的合并标志为真时,发信号通知CU的FRUC标志。当FRUC标志为假时,发信号通知合并索引,并且使用常规合并模式。当FRUC标志为真时,发信号通知附加FRUC模式标志以指示要使用哪种方法(双边匹配或模板匹配)以推导块的运动信息。
在编码器侧,是否对CU使用FRUC合并模式的决定是基于如对普通合并候选所做的RD代价选择。即,使用RD代价选择来针对CU检查两种匹配模式(双边匹配和模板匹配)。导致最低代价的模式进一步与其他CU模式相比。如果FRUC匹配模式是最有效的模式,则将CU的FRUC标志设置为真,并且使用相关匹配模式。
FRUC合并模式下的运动推导过程有两个步骤。首先执行CU级别运动搜索,然后是子CU级别运动细化。在CU级别,基于双边匹配或模板匹配为整个CU推导初始运动向量。首先,生成MV候选列表,并且选择产生最小匹配代价的候选作为进一步CU级别细化的起点。然后在起点周围执行基于双边匹配或模板匹配的局部搜索,并且将产生最小匹配代价的MV作为整个CU的MV。随后,以推导的CU运动向量为起点,在子CU级别进一步细化运动信息。
例如,针对W×HCU运动信息推导,执行如下的推导过程。在第一阶段,推导整个W×HCU的MV。在第二阶段,进一步将CU拆分为M×M个子CU。M的值按式(2-9)计算,D是预定义的拆分深度,其在JEM中默认设置为3。然后推导每个子CU的MV。
Figure BDA0003536555030000231
如图19所示,双边匹配用于通过寻找两个不同参考图片中沿着当前CU的运动轨迹的两个块之间的最接近匹配来推导当前CU的运动信息。在连续运动轨迹的假定下,指向两个参考块的运动向量MV0和MV1应与当前图片与两个参考图片之间的时间距离(即,TD0和TD1)成比例。作为一种特殊情况,在当前图片在时间上位于两个参考图片之间并且当前图片到两个参考图片的时间距离相同时,双边匹配变为基于镜像的双向MV。
如图20所示,模板匹配用于通过寻找当前图片中的模板(当前CU的顶部和/或左侧相邻块)与参考图片中的块(与模板相同大小)之间的最接近匹配来推导当前CU的运动信息。除了前面提到的FRUC合并模式,模板匹配也适用于AMVP模式。在JEM中,就像在HEVC中所做的那样,AMVP有两个候选。使用模板匹配方法,推导新候选。如果通过模板匹配新推导的候选与第一现有AMVP候选不同,则将其插入AMVP候选列表的最开始,并且然后将列表大小设置为两个(表示删除第二现有AMVP候选)。在应用于AMVP模式时,仅应用CU级别搜索。
2.9.1 CU级别MV候选集
CU级别的MV候选集包括:1)如果当前CU处于AMVP模式,则为原始AMVP候选;2)所有合并候选;3)插值MV场中的若干MV,在2.9.3节介绍;以及4)顶部和左侧相邻运动向量。
当使用双边匹配时,合并候选的每个有效MV被用作输入以在双边匹配假定的情况下生成MV对。例如,合并候选的一个有效MV是参考列表A处的(MVa,refa)。然后,在另一参考列表B中寻找其配对的双边MV的参考图片refb,使得refa和refb在时间上位于当前图片的不同侧。如果这样的refb在参考列表B中不可用,则将refb确定为不同于refa的参考,并且它与当前图片的时间距离是列表B中的最小距离。在确定refb之后,通过基于当前图片与refa、refb之间的时间距离缩放MVa来推导MVb。
来自插值MV场的四个MV也被添加到CU级别候选列表。更具体地,添加当前CU的位置(0,0)、(W/2,0)、(0,H/2)和(W/2,H/2)处的插值MV。
当在AMVP模式下应用FRUC时,原始AMVP候选也被添加到CU级别MV候选集中。
在CU级别,将用于AMVP CU的多达15个MV和用于合并CU的多达13个MV添加到候选列表。
2.9.2子CU级别MV候选集
子CU级别的MV候选集包括:1)从CU级别搜索确定的MV;2)顶部、左侧、左上和右上相邻MV;3)来自参考图片的并置MV的缩放版本;4)多达4个ATMVP候选;以及5)多达4个STMVP候选。
来自参考图片的缩放MV推导如下。遍历两个列表中的所有参考图片。参考图片中子CU的并置位置处的MV被缩放到起始CU级别MV的参考。
ATMVP和STMVP候选限于前四个。
在子CU级别,多达17个MV被添加到候选列表中。
2.9.3插值MV场的生成
在对帧进行编码之前,基于单边ME针对整个图片生成插值运动场。然后运动场稍后可以用作CU级别或子CU级别MV候选。
首先,两个参考列表中的每个参考图片的运动场在4×4块级别被遍历。针对每个4×4块,如果与该块相关联的运动通过当前图片中的4×4块(如图21所示)并且该块没有被分配任何插值运动,则参考块的运动根据时间距离TD0和TD1(与HEVC中的TMVP的MV缩放方式相同)被缩放到当前图片,并且已缩放运动被分配给当前帧中的块。如果已缩放MV没有被分配给4×4块,则块的运动在插值运动场中被标记为不可用。
2.9.4插值和匹配代价
当运动向量指向分数样本位置时,需要运动补偿插值。为了降低复杂度,针对双边匹配和模板匹配都使用双线性插值,而不是常规的8抽头HEVC插值。
匹配代价的计算在不同步骤中略有不同。当在CU级别从候选集中选择候选时,匹配代价是双边匹配或模板匹配的绝对差之和(SAD)。在确定起始MV之后,子CU级别搜索的双边匹配的匹配代价C如下计算:
Figure BDA0003536555030000251
其中w是加权因子,其根据经验设置为4,MV和MVs分别指示当前MV和起始MV。SAD仍然用作子CU级别搜索的模板匹配的匹配代价。
在FRUC模式下,MV仅通过使用亮度样本来推导。推导的运动将用于MC帧间预测的亮度和色度。在确定MV之后,使用用于亮度的8抽头插值滤波器和用于色度的4抽头插值滤波器执行最终MC。
2.9.5 MV细化
MV细化是一种基于图案的MV搜索,其准则为双边匹配代价或模板匹配代价。在JEM中,支持两种搜索图案——分别用于CU级别和子CU级别的MV细化的无限制的中心偏置菱形搜索(UCBDS)和自适应交叉搜索。针对CU和子CU级别MV细化,直接以1/4亮度样本MV准确度搜索MV,并且然后是1/8亮度样本MV细化。CU和子CU步长的MV细化搜索范围设置为等于8个亮度样本。
2.9.6模板匹配FRUC合并模式下预测方向的选择
在双边匹配合并模式下,总是应用双向预测,因为CU的运动信息是基于两个不同参考图片中沿着当前CU的运动轨迹的两个块之间的最接近匹配而推导的。针对模板匹配合并模式没有这样的限制。在模板匹配合并模式下,编码器可以选择来自列表0的单向预测、来自列表1的单向预测或用于CU的双向预测。该选择基于模板匹配代价,如下所示:
如果costBi<=因子*min(cost0,cost1)
则使用双向预测;
否则,如果cost0<=cost1
则使用来自列表0的单向预测;
否则,
使用来自列表1的单向预测;
其中cost0是列表0模板匹配的SAD,cost1是列表1模板匹配的SAD,costBi是双向预测模板匹配的SAD。因子的值等于1.25,这表示选择过程偏向于双向预测。
帧间预测方向选择仅适用于CU级别模板匹配过程。
基于模板匹配的图案匹配运动向量推导称为模板匹配运动向量推导。
2.10.自适应运动向量分辨率(AMVR)
在HEVC中,当切片报头中的use_integer_mv_flag等于0时,运动向量差(MVD)(在CU的运动向量与预测运动向量之间)以1/4亮度样本为单位被发信号通知。在VVC中,引入了CU级别自适应运动向量分辨率(AMVR)方案。AMVR允许以不同精度对CU的MVD进行编解码。根据当前CU的模式(普通AMVP模式或仿射AVMP模式),当前CU的MVD可以如下自适应选择:
-普通AMVP模式:1/4亮度样本、1/2亮度样本、整数亮度样本或4亮度样本。
-仿射AMVP模式:1/4亮度样本、整数亮度样本或1/16亮度样本。
如果当前CU具有至少一个非零MVD分量,则有条件地发信号通知CU级别MVD分辨率指示。如果所有MVD分量(即,参考列表L0和参考列表L1的水平和垂直MVD)都为零,则推断1/4亮度样本MVD分辨率。
针对具有至少一个非零MVD分量的CU,发信号通知第一标志以指示1/4亮度样本MVD精度是否用于CU。如果第一标志为0,则不需要另外的信令,并且针对当前CU使用1/4亮度样本MVD精度。否则,发信号通知第二标志以指示1/2亮度样本,或者其他MVD精度(整数或4亮度样本)用于普通AMVP CU。在1/2亮度样本的情况下,针对1/2亮度样本位置使用6抽头插值滤波器而不是默认的8抽头插值滤波器。否则,发信号通知第三标志以指示整数亮度样本或4亮度样本MVD精度是否用于普通AMVP CU。在仿射AMVP CU的情况下,第二标志用于指示是使用整数亮度样本还是1/16亮度样本MVD精度。为了确保重构MV具有预期精度(1/4亮度样本、1/2亮度样本、整数亮度样本或4亮度样本),CU的运动向量预测子将舍入到在与MVD相加之前的MVD精度相同的精度。运动向量预测子向零舍入(即,负运动向量预测子向正无穷舍入,正运动向量预测子向负无穷舍入)。
编码器使用RD检查来针对当前CU确定运动向量分辨率。为避免对每个MVD分辨率总是执行四次CU级别RD检查,在VTM10中,仅有条件地调用除1/4亮度样本之外的MVD精度的RD检查。针对普通AVMP模式,首先计算1/4亮度样本MVD精度和整数亮度样本MV精度的RD代价。然后,将整数亮度样本MVD精度的RD代价与1/4亮度样本MVD精度的RD代价进行比较,以决定是否需要进一步检查4亮度样本MVD精度的RD代价。当1/4亮度样本MVD精度的RD代价远小于整数亮度样本MVD精度的RD代价时,跳过4亮度样本MVD精度的RD检查。然后,如果整数亮度样本MVD精度的RD代价明显大于先前测试的MVD精度的最佳RD代价,则跳过对1/2亮度样本MVD精度的检查。针对仿射AMVP模式,如果在检查仿射合并/跳过模式、合并/跳过模式、1/4亮度样本MVD精度普通AMVP模式和1/4亮度样本MVD精度仿射AMVP模式的速率失真代价之后未选择仿射帧间模式,则不检查1/16亮度样本MV精度和1像素MV精度仿射帧间模式。此外,在1/16亮度样本和1/4亮度样本MV精度仿射帧间模式下,将在1/4亮度样本MV精度仿射帧间模式下获取的仿射参数用作起始搜索点。
2.11.解码器侧运动向量细化(DMVR)
为了提高合并模式的MV的准确度,在VVC中应用基于双边匹配(BM)的解码器侧运动向量细化。在双向预测操作中,在参考图片列表L0和参考图片列表L1中的初始MV周围搜索细化的MV。BM方法计算参考图片列表L0和列表L1中两个候选块之间的失真。如图22所示,基于初始MV周围的每个MV候选计算红色块之间的SAD。具有最低SAD的MV候选成为细化的MV并用于生成双向预测信号。
在VVC中,DMVR的应用受到限制,并且仅适用于以如下模式和特征编解码的CU:
-具有双向预测MV的CU级别合并模式;
-相对于当前图片,一个参考图片在过去,而另一参考图片在未来;
-两个参考图片到当前图片的距离(即,POC差异)相同;
-两个参考图片都是短期参考图片;
-CU具有超过64个亮度样本;
-CU高度和CU宽度均大于或等于8个亮度样本;
-BCW权重索引指示相等权重;
-针对当前块没有启用WP;
-CIIP模式没有用于当前块。
由DMVR过程推导的细化的MV用于生成帧间预测样本,也用于时间运动向量预测,以用于未来的图像编解码。而原始MV用于解块过程,也用于空间运动向量预测,以用于未来的CU编解码。
以下子条款中提到了DMVR的附加功能。
2.11.1搜索方案
在DVMR中,搜索点在初始MV周围,并且MV偏移遵循MV差异镜像规则。换言之,由候选MV对(MV0,MV1)表示的由DMVR检查的任何点遵循以下两个等式:
MV0′=MV0+MV_offset (2-11)
MV1′=MV1-MV_offset (2-12)
其中MV_offset表示参考图片中的一个参考图片中初始MV与细化的MV之间的细化偏移。细化搜索范围是来自初始MV的两个整数亮度样本。搜索包括整数样本偏移搜索阶段和分数样本细化阶段。
25点全搜索适用于整数样本偏移搜索。首先计算初始MV对的SAD。如果初始MV对的SAD小于阈值,则终止DMVR的整数采样阶段。否则,将按光栅扫描顺序计算和检查剩余24个点的SAD。选择SAD最小的点作为整数样本偏移搜索阶段的输出。为了减少DMVR细化的不确定性带来的损失,建议在DMVR过程中优先考虑原始MV。由初始MV候选引用的参考块之间的SAD被减少SAD值的1/4。
整数样本搜索之后是分数样本细化。为了节省计算复杂度,分数样本细化是使用参数误差表面等式来推导的,而不是通过SAD比较进行附加搜索。基于整数样本搜索阶段的输出来有条件地调用分数样本细化。当整数样本搜索阶段以在第一次迭代或第二次迭代搜索中具有最小SAD的中心结束时,进一步应用分数样本细化。
在基于参数误差表面的子像素偏移估计中,中心位置代价和距中心四个相邻位置的代价用于拟合以下形式的2D抛物线误差表面等式:
E(x,y)=A(x-xmin)2+B(y-ymin)2+C (2-13)
其中(xmin,ymin)对应于代价最低的分数位置,C对应于最小代价值。通过使用五个搜索点的代价值求解上述等式,(xmin,ymin)如下计算:
xmin=(E(-1,0)-E(1,0))/(2(E(-1,0)+E(1,0)-2E(0,0))) (2-14)
ymin=(E(0,-1)-E(0,1))/(2((E(0,-1)+E(0,1)-2E(0,0))) (2-15)
xmin和ymin的值被自动限制在-8到8之间,因为所有代价值都是正的,并且最小值是E(0,0)。这对应于VVC中具有1/16像素MV准确度的1/2峰偏移。计算出的分数(xmin,ymin)被添加到整数距离细化的MV以获取子像素精确细化增量MV。
2.11.2双线性插值和样本填充
在VVC中,MV的分辨率为1/16亮度样本。使用8抽头插值滤波器对分数位置的样本进行插值。在DMVR中,搜索点围绕具有整数样本偏移的初始分数像素MV,因此需要对这些分数位置的样本进行插值以进行DMVR搜索过程。为了降低计算复杂度,使用双线性插值滤波器生成分数样本,以用于DMVR中的搜索过程。另一重要的效果是,通过使用双线性滤波器,在2个样本的搜索范围内,与普通运动补偿过程相比,DVMR不会访问更多参考样本。在通过DMVR搜索过程获取细化的MV之后,应用普通8抽头插值滤波器以生成最终预测。为了不对普通MC过程访问更多参考样本,将从这些可用样本中填充基于原始MV的插值过程不需要但基于细化的MV的插值过程需要的样本。
2.11.3最大DMVR处理单元
当CU的宽度和/或高度大于16个亮度样本时,将进一步将其拆分成宽度和/或高度等于16个亮度样本的子块。DMVR搜索过程的最大单元大小限制为16×16。
3.问题
可以进一步改进模板匹配运动向量推导的当前设计以提供编解码性能与复杂度之间的更好折衷。
4.发明
以下详细发明应当被视为用于解释一般概念的示例。这些发明不应当以狭隘方式解释。此外,这些发明可以以任何方式组合。
在下文中,模板是与当前块邻近地或非邻近地相邻的一组重构样本。模板的参考样本是根据当前块的同一运动信息推导的。例如,模板的参考样本是依赖于运动信息的模板的映射。在这种情况下,模板的参考样本由运动信息的运动向量定位在由运动信息的参考索引指示的参考图片中。图23A示出了根据本公开的一些实施例的示例模板和模板的示例参考样本,其中RT表示模板T的参考样本。另外,图23B示出了根据本公开的一些实施例的两个参考图片列表中的示例模板和模板的示例参考样本,其中RT1表示参考列表1中模板T的参考样本并且RT2表示参考列表2中模板T的参考样本。
模板匹配运动向量推导也称为模板匹配解码器侧运动向量推导(TM-DMVD)。
针对模板DMVD合并模式,分别为每个参考图片列表执行运动推导过程。
然后可以将模板DMVD模式应用于块,诸如CU或PU、或子CU(子块)。W和H是当前块(例如,亮度块)的宽度和高度。
1.模板DMVD AMVP模式下的运动推导过程有两个步骤。首先,生成运动候选集,并且选择产生最小匹配代价的候选作为进一步块级别细化的起点。然后在起点周围基于模板匹配执行局部搜索,并且将产生最小匹配代价的MV作为整个块的TM-DMVD运动候选。
2.备选地,模板DMVD AMVP模式下的运动推导过程有两个步骤。首先,生成运动候选集。然后在每个运动候选周围基于模板匹配执行局部搜索,并且将产生最小匹配代价的MV作为细化的运动候选,并且选择产生最小匹配代价的细化的运动候选作为整个区块的TM-DMVD运动候选。
3.模板DMVD合并模式下的运动推导过程有两个步骤。首先,生成运动候选集,并且选择产生最小匹配代价的候选作为进一步块级别细化的起点。然后在起点周围基于模板匹配执行局部搜索,并且将产生最小匹配代价的MV作为整个块的TM-DMVD运动候选。针对模板DMVD合并模式,分别对每个参考图片列表执行运动推导过程。
a.在模板匹配合并模式下,可以选择来自列表0的单向预测、来自列表1的单向预测或块的双向预测。
i.该选择基于模板匹配代价。
4.备选地,模板DMVD合并模式下的运动推导过程有两个步骤。首先,生成运动候选集。然后针对每个参考图片列表在每个运动候选周围基于模板匹配执行局部搜索,并且将产生最小匹配代价的MV作为细化的运动候选,并且选择产生最小匹配代价的细化的运动候选作为整个块的TM-DMVD运动候选。
a.在一个示例中,在选择产生最小匹配代价的细化的运动候选时,如果对一个运动候选使用单向预测(即,参考列表LX,X为0或1),则使用参考列表LX的最小匹配代价;如果对一个运动候选使用双向预测,则使用参考列表L0和参考列表L1的最小匹配代价的平均值。
b.备选地,如果对一个运动候选使用双向预测,则使用当前模板与模板的参考样本之间的匹配代价。运动候选的模板的参考样本用RT表示,RT可以根据从参考图片列表0中的参考图片中推导的RT0和从参考图片列表1中的参考图片中推导的RT1来生成。示例在图23B中示出。
i.在一个示例中,用于双向预测的模板(RT)的参考样本是通过参考列表0中的模板的参考样本(RT0)和参考列表1中的模板的参考样本(RT1)的加权平均来推导的。
(i)一个示例如下:
RT=(RT0+RT1+1)>>1
5.备选地,模板DMVD合并模式下的运动推导过程有两个步骤。首先,生成运动候选集。然后针对每个参考图片列表在每个运动候选周围基于模板匹配执行局部搜索,并且将产生最小匹配代价的MV作为细化的运动候选,并且选择产生最小RDO代价的细化的运动候选作为整个块的TM-DMVD运动候选。以这种方式,需要索引来向解码器发信号通知。
6.用于模板匹配运动向量推导的块的运动候选集可以包括从相邻块中推导的运动向量预测子。
a.在一个示例中,如果当前块是AMVP模式下的CU,则运动候选集可以包括原始AMVP候选和随后的所有合并候选。
b.在一个示例中,如果当前块是合并模式下的CU,则运动候选集可以包括所有合并候选。
c.在一个示例中,如果当前块是AMVP模式下的CU,则运动候选集可以包括部分原始AMVP候选和随后的部分合并候选。
d.在一个示例中,如果当前块是合并模式下的CU,则运动候选集可以包括部分合并候选。
e.在一个示例中,如果当前块是AMVP模式下的CU,则运动候选集可以包括原始AMVP候选。
f.在一个示例中,如果当前块是AMVP模式下的CU,则当从合并候选中推导运动候选时,合并候选在一个预测方向上的参考索引和参考图片列表都与当前AMVP模式的当前参考索引和当前参考图片列表相同,可以将该预测方向上的预测运动信息(例如,运动向量和参考索引)插入到运动候选集中。
g.在一个示例中,如果当前块是AMVP模式下的CU,则当从合并候选中推导运动候选时,合并候选在一个预测方向上的参考图片与当前AMVP模式的当前参考图片相同,该预测方向上的预测运动信息(例如,运动向量和参考索引)可以被插入到运动候选集中。
h.在一个示例中,如果当前块是合并模式的CU,则当从合并候选中推导运动候选时,一个预测方向上的预测运动信息(例如,运动向量和参考索引)可以被插入到与预测方向相对应的运动候选集中。以这种方式,推导两个运动候选集。每个参考图片列表具有运动候选集。
i.在一个示例中,如果当前块是合并模式下的CU,则当从合并候选中推导运动候选时,每个预测方向上的预测运动信息(例如,运动向量和参考索引)可以被对应地插入到运动候选集中。以这种方式,只推导一个运动候选集。每个运动候选包括两个参考图片列表的运动信息。
j.在一个示例中,当从合并候选中推导运动候选时,可以仅使用块级别合并候选(不是SbTMVP)。
7.由AMVP模式的模板匹配推导的运动候选可以被重复用于不同MV分辨率。
a.在一个示例中,为了降低编码复杂度,当AMVR被启用时,可以以第二MV精度(诸如1/2亮度样本、整数亮度样本和4亮度样本)重用第一MV精度的推导候选(例如,1/4亮度样本)。
8.AMVP候选的数目可以取决于是否应用TM-DMVD。
a.在一个示例中,当应用TM-DMVD时,可以将AMVP候选的数目设置为诸如1等第一数目,而当不应用TM-DMVD时,可以将其设置为诸如2等第二数目。
i.在一个示例中,如果通过模板匹配推导的运动候选可用,则将其用作AMVP候选。否则,使用从相邻块(诸如在VVC中)中推导的AMVP候选。
9.模板匹配运动向量推导的MV细化的搜索顺序可以取决于诸如编解码模式等编解码信息。
a.在一个示例中,是否在具有特定MV分辨率的TM-DMVD中进行MV细化和/或在具有不同MV分辨率的TM-DMVD中进行MV细化的搜索顺序可以取决于诸如编解码模式等编解码信息。
i.在一个示例中,如果编解码模式为模板匹配运动向量推导合并模式,则搜索顺序为整数->1/4->1/16样本偏移搜索。
ii.在一个示例中,如果编解码模式为模板匹配运动向量推导AMVP模式,则搜索顺序为整数->1/4->1/16样本偏移搜索。
iii.在一个示例中,如果编解码模式为模板匹配运动向量推导合并模式,则搜索顺序为整数->1/4样本偏移搜索。
iv.在一个示例中,如果编解码模式为模板匹配运动向量推导AMVP模式,则搜索顺序为整数->1/4样本偏移搜索。
v.在一个示例中,如果编解码模式为模板匹配运动向量推导合并模式,则搜索顺序为整数->1/2->1/4->1/16样本偏移搜索。
vi.在一个示例中,如果编解码模式为模板匹配运动向量推导合并模式,则搜索顺序为整数->1/2->1/4->1/8->1/16样本偏移搜索。
vii.在一个示例中,如果编解码模式为模板匹配运动向量推导合并模式,则搜索顺序为整数->1/2->1/4样本偏移搜索。
viii.在一个示例中,如果编解码模式为模板匹配运动向量推导AMVP模式,则搜索顺序为整数->1/2->1/4样本偏移搜索。
10.MV细化的搜索过程可以针对不同搜索MV分辨率遵循不同规则。
a.在一个示例中,针对整数样本偏移搜索,如果中心搜索点在UCBDS搜索图案的所有点中具有最小匹配代价,则搜索过程将被终止,如图24A所示。然后以交叉搜索图案(即,如图24B所示的在中心位置周围的四个搜索点)执行一轮搜索。在一轮搜索中,如果有分数样本偏移搜索,则选择匹配代价最小的搜索点作为进一步分数样本偏移搜索的起点,而如果只有整数样本偏移搜索,则选择最终最佳匹配位置。
b.在一个示例中,针对1/2、1/4、1/8和1/16样本偏移搜索,仅使用如图24B所示的交叉搜索图案执行一轮搜索。
c.块的MV细化受限于搜索范围。
i.搜索范围可以设置为8个亮度样本,如图25所示。
11.分数样本偏移可以使用如在DMVR中的基于参数误差表面的子像素偏移估计方法来推导。
a.在一个示例中,在整数样本偏移被确定之后,为了节省计算复杂度,分数样本偏移是使用参数误差表面等式推导的,而不是通过SAD比较进行附加搜索。
i.在一个示例中,基于整数样本搜索阶段的输出来有条件地调用分数样本细化。当整数样本搜索阶段以具有最小匹配代价的中心结束时,进一步应用分数样本细化。
在基于参数误差表面的子像素偏移估计中,中心位置代价和距中心四个相邻位置的代价用于拟合以下形式的2D抛物线误差曲面等式
E(x,y)=A(x-xmin)2+B(y-ymin)2+C
其中(xmin,ymin)对应于代价最低的分数位置,C对应于最小代价值。通过使用五个搜索点的代价值求解上述等式,(xmin,ymin)如下计算:
xmin=(E(-1,0)-E(1,0))/(2(E(-1,0)+E(1,0)-2E(0,0)))
ymin=(E(0,-1)-E(0,1))/(2(E(0,-1)+E(0,1)-2E(0,0)))
xmin和ymin的值被自动限制在-8到8之间,因为所有代价值都是正的,并且最小值是E(0,0)。这对应于VVC中具有1/16像素MV精度的1/2像素偏移。计算出的分数(xmin,ymin)被添加到整数距离细化的MV以获取子像素精确细化增量MV。
12.TM-DMVD的模板形状可以是自适应的。
a.模板形状可以取决于编解码信息,诸如块尺寸、编解码模式和相邻信息。
b.模板形状可以从编码器发信号通知给解码器。
c.在一个示例中,模板可以仅包括在当前块左侧的相邻样本。
d.在一个示例中,模板可以仅包括当前块上方的相邻样本。
e.在一个示例中,模板形状根据CU形状来选择。
f.在一个示例中,左侧模板的宽度根据CU高度来选择。
i.例如,如果H<=M,则左侧模板大小为w1×H;否则,左侧模板大小为w2×H。
(i)在一个示例中,M、w1和w2分别设置为等于8、1和2。
(ii)在一个示例中,M、w1和w2分别设置为等于8、1和4。
g.在一个示例中,上方模板的高度根据CU宽度来选择。
i.例如,如果W<=N,则上方模板大小为W×h1;否则,上方模板大小为W×h2。
(i)在一个示例中,N、h1和h2分别设置为等于8、1和2。
(ii)在一个示例中,N、h1和h2分别设置为等于8、1和4。
h.在一个示例中,左侧模板的宽度根据CU宽度来选择。
i.例如,如果W<=N,则左侧模板大小为w1×H;否则,左侧模板大小为w2×H。
(i)在一个示例中,N、w1和w2分别设置为等于8、1和2。
(ii)在一个示例中,N、w1和w2分别设置为等于8、1和4,如图26所示。
i.在一个示例中,上方模板的高度根据CU高度来选择。
i.例如,如果H<=M,则上方模板大小为W×h1;
否则,上方模板大小为W×h2。
(i)在一个示例中,M、h1和h2分别设置为等于8、1和2。
(ii)在一个示例中,M、h1和h2分别设置为等于8、1和4(如图26所示)。
j.在一个示例中,模板的样本和模板样本的参考样本可以在用于计算代价之前被子采样或下采样。
i.是否和/或如何进行子采样可以取决于CU尺寸。
ii.在一个示例中,不对CU的短边执行子采样,如图27所示。
13.代价可以基于T和RT的绝对差之和(SAD)来计算。
a.备选地,代价可以基于T和RT的绝对变换差之和(SATD)
来计算。
b.备选地,代价可以基于T和RT的平方差之和(SSD)来计算。
c.备选地,代价可以基于加权SAD/加权SATD/加权SSD来计算。
d.除了计算的SAD,代价还可以考虑RT和与T邻近地或非邻近地相邻的重构样本之间的连续性(Boundary_SAD)。例如,考虑与T邻近地或非邻近地相邻的左侧和/或上方的重构样本。
i.在一个示例中,代价可以基于SAD和Boundary_SAD来计算
(i)在一个示例中,代价可以计算为(SAD+w*Boundary_SAD)。w可以是预定义的,或者根据解码信息发信号通知或推导。
14.只执行CU级别模板匹配运动向量推导。
15.TM-DMVD只能应用于亮度分量。
a.TM-DMVD可以应用于其他分量,诸如Cb、Cr或B、G、R。
b.针对不同分量,TM-DMVD可以应用不同规则,诸如不同模板形状或不同搜索规则。
16.是否和/或如何应用TM-DMVD可以在序列级别或图片级别或切片级别或子图片级别或CTU级别或CU级别发信号通知,诸如在SPS/PPS/图片头/切片头/或CTU/或CU中。
a.在一个示例中,模板DMVD合并模式使用CU级别标志作为一种合并模式被发信号通知,其他合并模式包括通用合并模式、MMVD模式、CIIP模式、GPM模式和子块合并模式。
i.在一个示例中,它被视为类似于CIIP和GPM模式的非常规合并模式。模板DMVD模式标志在CIIP模式标志之后被编解码。
ii.在一个示例中,它被视为类似于CIIP和GPM模式的非常规合并模式。模板DMVD模式标志在CIIP模式标志之前被编解码。
iii.在一个示例中,它被视为类似于通用合并和MMVD模式的常规合并模式。模板DMVD模式标志在MMVD模式标志之后被编解码。
iv.在一个示例中,它被视为类似于通用合并和MMVD模式的常规合并模式。模板DMVD模式标志在MMVD模式标志之前被编解码。
5.实施例
5.1.实施例#1
模板匹配解码器侧运动向量推导(DMVD)基于模板匹配。使用这种模式,块的运动信息不是发信号通知的,而是在解码器侧推导的。它可以用于合并和AMVP模式两者。
模板DMVD合并模式使用CU级别标志作为一种合并模式被发信号通知,其他合并模式包括常规合并模式、MMVD模式、CIIP模式、GPM模式和子块合并模式。它被视为类似于CIIP和GPM模式的非常规合并模式。模板DMVD模式标志在CIIP模式标志之后被编解码。
模板DMVD合并模式可以应用于宽度和高度均大于或等于8的CU。
模板DMVD模式下的运动推导过程有两个步骤。首先,生成运动候选列表,并且选择产生最小匹配代价的候选作为进一步CU级别细化的起点。然后在起点周围基于模板匹配执行局部搜索,并且将产生最小匹配代价的MV作为整个CU的MV。针对模板DMVD合并模式,分别对每个参考图片列表执行运动推导过程。
如图23A所示,模板匹配用于通过寻找当前图片中的模板(当前CU的顶部和/或左侧相邻块)与参考图片中的块(与模板相同大小)之间的最接近匹配来推导当前CU的运动信息。
除了前面提到的模板DMVD合并模式,模板匹配也适用于AMVP模式。在VVC中,正如在HEVC中所做的那样,AMVP有两个候选。使用模板匹配方法,推导新候选。AMVP只有一个候选。如果模板匹配新推导的DMVD候选可用,则将其用作AMVP候选。否则,使用第一现有AMVP候选。为了降低编码复杂度,当AMVR被启用时,以1/2亮度样本、整数亮度样本和4亮度样本MVD精度重用以1/4亮度样本MVD精度推导的DMVD候选。
5.1.1 CU级别运动候选集
CU级别的运动候选集包括:1)如果当前CU处于AMVP模式,则为原始AMVP候选;2)所有合并候选。
当在AMVP模式下应用模板DMVD时,原始AMVP候选也被添加到CU级别运动候选集中。
5.1.2插值和匹配代价
当运动向量指向分数样本位置时,需要运动补偿插值。为了降低复杂性,使用双线性插值代替常规8抽头插值进行模板匹配。
在从候选集中选择候选并且针对模板DMVD合并进行局部搜索时,匹配代价是模板匹配的绝对差之和(SAD)。
在推导AMVP的DMVD候选时,在从候选集中选择候选时,仍然使用SAD作为模板匹配的匹配代价。但是,在确定起始MV之后,局部搜索的匹配代价C如下计算:
Figure BDA0003536555030000411
其中w是加权因子,其根据经验设置为4,MV和MVs分别指示当前MV和起始MV。
在模板DMVD模式下,MV仅使用亮度样本来推导。推导的运动将用于MC帧间预测的亮度和色度。在确定MV之后,使用用于亮度的8抽头插值滤波器和用于色度的4抽头插值滤波器执行最终MC。
5.1.3 MV细化
MV细化是一种基于图案的MV搜索,其准则为模板匹配代价。支持两种搜索图案——无限制的中心偏置菱形搜索(UCBDS)和用于CU级别的MV细化的自适应交叉搜索。MV细化搜索范围设置为等于8个亮度样本。
模板DMVD合并的搜索顺序是整数->1/4->1/16样本偏移搜索模板DMVD AMVP的搜索顺序是整数->1/4样本偏移搜索
针对整数样本偏移搜索,将使用MAX_UINT搜索轮次,直到中心搜索点具有UCBDS搜索图案的最小匹配代价,如图24A所示。然后一个搜索轮次用于交叉搜索图案,如图24B所示。
针对1/4和1/16样本偏移搜索,只有一个搜索轮次用于交叉搜索图案,如图24B所示。
5.1.4模板匹配DMVD合并模式下的预测方向的选择
在模板匹配合并模式下,编码器可以选择来自列表0的单向预测、来自列表1的单向预测或用于CU的双向预测。该选择基于模板匹配代价,如下所示:
如果costBi<=因子*min(cost0,cost1)
则使用双向预测;
否则,如果cost0<=cost1
则使用来自列表0的单向预测;
否则,
使用来自列表1的单向预测;
其中cost0是列表0模板匹配的SAD,cost1是列表1模板匹配的SAD,costBi是双向预测模板匹配的SAD。因子的值等于1.25,这表示选择过程偏向于双向预测。
5.1.5模板大小
使用自适应模板大小。假定当前块的大小是W×H。针对上方模板样本,如果H<=8,则上方模板大小为W×1;否则,上方模板大小为W×4。同理,针对块左侧的模板样本,如果W<=8,则左侧模板大小为1×H;否则,左侧模板大小为4×H。
图28是示出可以利用本公开的技术的示例视频编解码系统2800的框图。如图所示,视频编解码系统2800可以包括源设备2810和目的地设备2820。源设备2810也可以称为视频编码设备,并且目的地设备2820也可以称为视频解码设备。在操作中,源设备2810可以被配置为生成经编码的视频数据,并且目的地设备2820可以被配置为对由源设备2810生成的经编码的视频数据进行解码。源设备2810可以包括视频源2812、视频编码器2814和输入/输出(I/O)接口2816。
视频源2812可以包括诸如视频捕获设备等源。视频捕获设备的示例包括但不限于用于从视频内容提供者接收视频数据的接口、用于生成视频数据的计算机图形系统、和/或其组合。
视频数据可以包括一个或多个图片。视频编码器2814对来自视频源2812的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的经编解码的表示的比特序列。比特流可以包括经编解码的图片和相关数据。经编解码的图片是图片的经编解码的表示。相关数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口2816可以包括调制器/解调器和/或传输器。经编码的视频数据可以通过网络2830a经由I/O接口2816直接传输到目的地设备2820。经编码的视频数据也可以存储在存储介质/服务器2830b上以供目的地设备2820访问。
目的地设备2820可以包括I/O接口2826、视频解码器2824和显示设备2822。I/O接口2826可以包括接收器和/或调制解调器。I/O接口2826可以从源设备2810或存储介质/服务器2830b获取经编码的视频数据。视频解码器2824可以对经编码的视频数据进行解码。显示设备2822可以向用户显示经解码的视频数据。显示设备2822可以与目标设备2820集成,或者可以在目标设备2820外部,目标设备2820被配置为与外部显示设备接口。
视频编码器2814和视频解码器2824可以根据视频压缩标准操作,诸如高效视频编解码(HEVC)标准、通用视频编解码(VVC)标准和其他当前和/或其他标准。
图29是示出根据本公开的一些方面的视频编码器2900的示例的框图,视频编码器2900可以是图28所示的系统2800中的视频编码器2814的示例。
视频编码器2900可以被配置为实现本公开的任何或所有技术。在图29的示例中,视频编码器2900包括多个功能组件。本公开中所描述的技术可以在视频编码器2900的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在一些实施例中,视频编码器2900可以包括分割单元2901、预测单元2902、残差生成单元2907、变换单元2908、量化单元2909、逆量化单元2910、逆变换单元2911、重构单元2912、缓冲器2913和熵编码单元2914,预测单元2902可以包括模式选择单元2903、运动估计单元2904、运动补偿单元2905和帧内预测单元2906。
在其他示例中,视频编码器2900可以包括更多、更少或不同的功能组件。在一个示例中,预测单元2902可以包括帧内块复制(IBC)单元。IBC单元可以在IBC模式下执行预测,其中至少一个参考图片是当前视频块所在的图片。
此外,虽然诸如运动估计单元2904和运动补偿单元2905等一些组件可以被集成,但在图29的示例中出于说明目的而单独表示。
分割单元2901可以将图片分割成一个或多个视频块。视频编码器2900和视频解码器3000可以支持各种视频块大小。
模式选择单元2903可以例如基于误差结果来选择编解码模式(帧内或帧间)中的一个,并且将所得到的帧内编码或帧间编码块提供给残差生成单元2907以生成残差块数据并且提供给重构单元2912以重构编码块以用作参考图片。在一些示例中,模式选择单元2903可以选择其中预测基于帧间预测信号和帧内预测信号的帧内和帧间预测(CIIP)模式的组合。在帧间预测的情况下,模式选择单元2903还可以针对块选择运动向量的分辨率(例如,子像素或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元2904可以通过将来自缓冲器2913的一个或多个参考帧与当前视频块进行比较来针对当前视频块生成运动信息。运动补偿单元2905可以基于来自缓冲器2913的除了与当前视频块相关联的图片之外的图片的运动信息和解码样本来针对当前视频块确定预测视频块。
运动估计单元2904和运动补偿单元2905可以对当前视频块执行不同操作,例如,取决于当前视频块是在I切片、P切片还是B切片中。如本文中使用的,“I切片”可以指代由宏块组成的图片的一部分,所有这些宏块基于同一图片内的宏块。此外,如本文中使用的,在一些方面,“P切片”和“B切片”可以指代由不依赖于同一图片中的宏块的宏块组成的图片的部分。
在一些示例中,运动估计单元2904可以对当前视频块执行单向预测,并且运动估计单元2904可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元2904然后可以生成指示列表0或列表1中包含参考视频块的参考图片的参考索引和指示当前视频块与参考视频块之间的空间位移的运动向量。运动估计单元2904可以输出参考索引、预测方向指示符和运动向量作为当前视频块的运动信息。运动补偿单元2905可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
备选地,在其他示例中,运动估计单元2904可以对当前视频块执行双向预测。运动估计单元2904可以在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可以在列表1中的参考图片中搜索当前视频块的另一参考视频块。运动估计单元2904然后可以生成指示列表0和列表1中包含参考视频块的参考图片的参考索引和指示参考视频块与当前视频块之间的空间位移的运动向量。运动估计单元2904可以输出当前视频块的参考索引和运动向量作为当前视频块的运动信息。运动补偿单元2905可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元2904可以输出完整的运动信息集以用于解码器的解码处理。备选地,在一些实施例中,运动估计单元2904可以参考另一视频块的运动信息来发信号通知当前视频块的运动信息。例如,运动估计单元2904可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
在一个示例中,运动估计单元2904可以在与当前视频块相关联的语法结构中指示向视频解码器300指示当前视频块具有与另一视频块相同的运动信息的值。
在另一示例中,运动估计单元2904可以在与当前视频块相关联的语法结构中标识另一视频块和运动向量差(MVD)。运动向量差指示当前视频块的运动向量与所指示的视频块的运动向量之间的差。视频解码器300可以使用所指示的视频块的运动向量和运动向量差来确定当前视频块的运动向量。
如上所述,视频编码器2900可以预测性地发信号通知运动向量。可以由视频编码器2900实现的预测信令技术的两个示例包括高级运动向量预测(AMVP)和合并模式信令。
帧内预测单元2906可以对当前视频块执行帧内预测。当帧内预测单元2906对当前视频块执行帧内预测时,帧内预测单元2906可以基于同一图片中的其他视频块的解码样本来针对当前视频块生成预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元2907可以通过从当前视频块中减去(例如,由负号指示)当前视频块的(多个)预测视频块来针对当前视频块生成残差数据。当前视频块的残差数据可以包括与当前视频块中的样本的不同样本分量相对应的残差视频块。
在其他示例中,针对当前视频块,例如在跳过模式下,可能不存在当前视频块的残差数据,并且残差生成单元2907可以不执行减法运算。
变换处理单元2908可以通过对与当前视频块相关联的残差视频块应用一个或多个变换来针对当前视频块生成一个或多个变换系数视频块。
在变换处理单元2908生成与当前视频块相关联的变换系数视频块之后,量化单元2909可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元2910和逆变换单元2911可以分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重构残差视频块。重构单元2912可以将重构的残差视频块添加到来自由预测单元2902生成的一个或多个预测视频块的对应样本,以产生与当前视频块相关联的重构视频块以存储在缓冲器2913中。
在重构单元2912重构视频块之后,可以执行环路滤波操作以减少视频块中的视频块伪影。
熵编码单元2914可以从视频编码器2900的其他功能组件接收数据。当熵编码单元2914接收数据时,熵编码单元2914可以执行一个或多个熵编码操作以生成熵编码数据并且输出包括熵编码数据的比特流。
图30是示出根据本公开的一些方面的视频解码器3000的示例的框图,视频解码器3000可以是图28所示的系统2800中的视频解码器2824的示例。
视频解码器3000可以被配置为执行本公开的任何或所有技术。在图30的示例中,视频解码器3000包括多个功能组件。本公开中所描述的技术可以在视频解码器3000的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在图30的示例中,视频解码器3000包括熵解码单元3001、运动补偿单元3002、帧内预测单元3003、逆量化单元3004、逆变换单元3005、重构单元3006和缓冲器3007。在一些示例中,3000可以执行通常与关于视频编码器2900(图29)描述的编码通道(pass)相反(reciprocal)的解码通道。
熵解码单元3001可以检索编码比特流。编码比特流可以包括经熵编解码的视频数据(例如,编码的视频数据块)。熵解码单元3001可以对经熵编解码的视频数据进行解码,并且从熵解码的视频数据中,运动补偿单元3002可以确定运动信息,包括运动向量、运动向量精度、参考图片列表索引和其他运动信息。例如,运动补偿单元3002可以通过执行AMVP和合并模式来确定这样的信息。使用AMVP,包括基于来自相邻PB的数据和参考图片来推导若干最可能的候选。运动信息通常包括水平和垂直运动向量位移值、一个或两个参考图片索引、以及在B切片中的预测区域的情况下关于哪个参考图片列表与每个索引相关联的标识。如本文中使用的,在一些方面,“合并模式”可以指代从空间或时间相邻块推导运动信息。
运动补偿单元3002可以产生运动补偿块,以可能基于插值滤波器执行插值。要以子像素精度使用的插值滤波器的标识符可以被包括在语法元素中。
运动补偿单元3002可以使用视频编码器2900在视频块的编码期间使用的插值滤波器来计算参考块的子整数像素的插值值。运动补偿单元3002可以根据所接收的语法信息确定由视频编码器2900使用的插值滤波器,并且使用插值滤波器来产生预测块。
运动补偿单元3002可以使用语法信息的至少一部分来确定用于编码经编码的视频序列的(多个)帧和/或(多个)切片的块的大小、描述如何分割经编码的视频序列的图片的每个宏块的分割信息、指示如何编码每个分割的模式、每个帧间编码块的一个或多个参考帧(和参考帧列表)、以及用于解码经编码的视频序列的其他信息。如本文中使用的,在一些方面,“切片”可以指代在熵编解码、信号预测和残余信号重构方面可以独立于同一图片的其他切片而被解码的数据结构。切片可以是整个图片或图片的区域。
帧内预测单元3003可以使用例如在比特流中接收的帧内预测模式来从空间相邻块形成预测块。逆量化单元3003对比特流中提供并且由熵解码单元3001解码的量化视频块系数进行逆量化,即,去量化。逆变换单元3003应用逆变换。
重构单元3006可以获取解码块,例如通过将残差块与由运动补偿单元2905或帧内预测单元3003生成的对应预测块相加。如果需要,还可以应用去块滤波器以过滤解码块以去除块状伪影。然后将解码视频块存储在缓冲器3007中,该缓冲器3007为后续运动补偿/帧内预测提供参考块并且还产生解码视频以在显示设备上呈现。
图31示出了根据本公开的一些实施例的视频处理的示例方法3100的流程图。方法3100可以由图29中的视频编码器2900和/或图30中的视频解码器3000实现。如图31所示,在3102,在视频的当前视频块与视频的比特流之间的转换期间,针对当前视频块确定一组运动候选。在3104,针对该组运动候选中的每个运动候选,通过基于模板匹配代价规则在每个运动候选周围执行局部搜索来确定细化的运动候选。在3106,从针对该组运动候选而被生成的一组细化的运动候选中针对当前视频块确定目标运动候选。在3108,基于目标运动候选执行转换。
图32示出了根据本公开的一些实施例的视频处理的示例方法3200的流程图。方法3200可以由图29中的视频编码器2900和/或图30中的视频解码器3000实现。如图32所示,在3202,在视频的当前视频块与视频的比特流之间的转换期间,针对当前视频块生成一组运动候选。在3204,使用模板匹配代价规则,基于当前视频块的模板从该组运动候选中针对当前视频块确定目标运动候选。在3206,基于目标运动候选执行转换。
在一些实施例中,模板是在空间上与当前视频块相关的视频区域,并且模板的形状是自适应的。
在一些实施例中,与运动候选相关联的模板匹配代价是基于模板与参考模板之间的差异来计算的,并且参考模板是基于模板和运动候选而被确定的。
在一些实施例中,当前视频块的编解码模式在序列级别、图片级别、切片级别、子图片级别、编解码树单元(CTU)级别或CU级别中的一个级别被发信号通知。
在一些实施例中,该组运动候选中的每个运动候选包括从当前视频块的相邻视频块中确定的预测运动信息。
图33示出了根据本公开的一些实施例的视频处理的示例方法3300的流程图。方法3200可以由图29中的视频编码器2900和/或图30中的视频解码器3000实现。如图33所示,在3302,在视频的当前视频块与视频的比特流之间的转换期间,针对当前视频块确定运动候选。在3304,通过基于模板匹配代价规则在运动候选周围执行局部搜索来细化运动候选。在3306,基于细化的运动候选执行转换。在一些实施例中,局部搜索的搜索顺序与当前视频块的编解码模式相关。
使用解决方案列表进一步描述本公开中描述的各种解决方案和实施例。
解决方案1.一种视频处理方法,包括:在视频的当前视频块与视频的比特流之间的转换期间,针对当前视频块确定一组运动候选;针对一组运动候选中的每个运动候选,通过基于模板匹配代价规则在每个运动候选周围执行局部搜索来确定细化的运动候选;从针对该组运动候选而生成的一组细化的运动候选中针对当前视频块确定目标运动候选;以及基于目标运动候选执行转换。
解决方案2.根据解决方案1的方法,其中模板匹配代价规则指定细化的运动候选与最小模板匹配代价相关联。
解决方案3.根据解决方案1-2中任一项的方法,其中该组运动候选包括原始运动候选,并且原始运动候选的模板匹配代价被降低模板匹配代价的因子。例如,因子可以是1/4、1/2、3/4等中的一个。
解决方案4.根据解决方案1-3中任一项的方法,其中当前视频块以运动向量预测模式被编解码,并且其中针对当前视频块确定目标运动候选包括:从该组细化的运动候选中选择与最小模板匹配代价相关联的细化的运动候选作为目标运动候选。
解决方案5.根据解决方案4的方法,其中响应于当前视频块以运动向量预测模式被编解码,当前视频块的一个或多个运动向量基于一个或多个运动向量预测候选和至少一个运动向量差被确定,并且其中至少一个运动向量差被用于细化一个或多个运动向量。
解决方案6.根据解决方案1-3中任一项的方法,其中当前视频块以合并模式被编解码,以及其中通过基于模板匹配在每个运动候选周围执行局部搜索来确定细化的运动候选包括:响应于每个运动候选包括关于第一参考图片列表的第一运动信息,通过在包括当前视频块的当前图片与第一参考图片列表中的第一参考图片之间基于第一运动信息周围的模板匹配执行第一局部搜索来细化第一运动信息,细化的第一运动信息与第一局部搜索期间的最小模板匹配代价相关联;响应于每个运动候选包括关于第二参考图片列表的第二运动信息,通过在当前图片与第二参考图片列表中的第二参考图片之间基于第二运动信息周围的模板匹配执行第二局部搜索来细化第二运动信息,细化的第二运动信息与第二局部搜索期间的最小模板匹配代价相关联;以及确定包括细化的第一运动信息和/或细化的第二运动信息的细化的运动候选。
解决方案7.根据解决方案1-3中任一项的方法,其中当前视频块以合并模式被编解码,并且其中针对当前视频块确定目标运动候选包括:从该组细化的运动候选中选择与最小速率失真优化代价相关联的细化的运动候选作为目标运动候选。
解决方案8.根据解决方案1-7中任一项的方法,其中当前视频块以合并模式被编解码,并且其中针对当前视频块确定目标运动候选包括:从该组细化的运动候选中选择与最小模板匹配代价相关联的细化的运动候选作为目标运动候选。
解决方案9.根据解决方案8的方法,其中细化的运动候选中的每个细化的运动候选与第一模板匹配代价和/或第二模板匹配代价相关联,该第一模板匹配代价与第一参考图片列表相关,该第二模板匹配代价与第二参考图片列表相关,并且其中:响应于基于第一参考图片列表的单向预测被用于该组细化的运动候选中的第一细化的运动候选,第一细化的运动候选的第一模板匹配代价在选择目标运动候选中被使用;以及响应于基于第二参考图片列表的单向预测被用于该组细化的运动候选中的第二细化的运动候选,第二细化的运动候选的第二模板匹配代价在选择目标运动候选中被使用。
解决方案10.根据解决方案9的方法,其中响应于双向预测被用于该组细化的运动候选中的第三细化的运动候选,第三细化的运动候选的第一模板匹配代价和第二模板匹配代价的加权平均在选择目标运动候选中被使用。
解决方案11.根据解决方案9的方法,其中响应于双向预测被用于该组细化的运动候选中的第三细化的运动候选,第三细化的运动候选的双向预测模板匹配代价在选择目标运动候选中被使用,以及其中方法还包括:基于当前视频块的模板以及从第一参考图片列表中的第一参考模板和第二参考图片列表中的第二参考模板而被生成的组合参考模板来针对第三细化的运动候选确定双向预测模板匹配代价,第一参考模板和第二参考模板是基于第三细化的运动候选而被确定的。
解决方案12.根据解决方案11的方法,其中组合参考模板是第一参考模板和第二参考模板的加权平均。
解决方案13.根据解决方案1-12中任一项的方法,其中执行局部搜索包括:确定每个运动候选周围的多个运动候选;基于当前视频块的模板和由多个运动候选指示的相应运动信息来确定要与模板匹配的多个参考模板;确定模板与多个参考模板中的每个参考模板之间的模板匹配代价;以及针对每个运动候选,从多个运动候选中选择与最小模板匹配代价相关联的细化的运动候选。
解决方案1-13的其他示例在第4节的第1-5项中公开。
解决方案14.一种视频处理方法,包括:在视频的当前视频块与视频的比特流之间的转换期间,针对当前视频块确定一组运动候选;通过使用模板匹配代价规则,基于当前视频块的模板从该组运动候选中针对当前视频块确定目标运动候选;以及基于目标运动候选执行转换;其中模板是与当前视频块空间相关的视频区域,并且模板的形状是自适应的。
解决方案15.根据解决方案14的方法,其中模板的形状是基于以下至少一项而被确定的:当前视频块的块尺寸;当前视频块的编解码模式;以及当前视频块的相邻信息。
解决方案16.根据解决方案14中任一项的方法,其中模板的形状是基于当前视频块的形状而被确定的。
解决方案17.根据解决方案14-16中任一项的方法,其中模板的形状在视频编码器与视频解码器之间被传送。
解决方案18.根据解决方案14-17中任一项的方法,其中模板包括当前视频块左侧的相邻样本和/或当前视频块上方的相邻样本。
解决方案19.根据解决方案18的方法,其中当前视频块左侧的相邻样本的宽度是基于当前视频块的高度而被确定的。
解决方案20.根据解决方案19的方法,其中响应于当前视频块的高度不超过预定阈值,当前视频块左侧的相邻样本的宽度被确定为第一因子和当前视频块的高度的乘积,并且其中响应于当前视频块的高度超过预定阈值,当前视频块左侧的相邻样本的宽度被确定为第二因子与当前视频块的高度的乘积。
解决方案21.根据解决方案18的方法,其中当前视频块上方的相邻样本的高度是基于当前视频块的宽度而被确定的。
解决方案22.根据解决方案21的方法,其中响应于当前视频块的宽度不超过预定阈值,当前视频块上方的相邻样本的高度被确定为第一因子和当前视频块的宽度的乘积,并且其中响应于当前视频块的宽度超过预定阈值,当前视频块上方的相邻样本的高度被确定为第二因子与当前视频块的宽度的乘积。
解决方案23.根据解决方案18的方法,其中当前视频块左侧的相邻样本的宽度是基于当前视频块的宽度而被确定的。
解决方案24.根据解决方案23的方法,其中响应于当前视频块的宽度不超过预定阈值,当前视频块左侧的相邻样本的宽度被确定为第一因子和当前视频块的宽度的乘积,并且其中响应于当前视频块的宽度超过预定阈值,当前视频块左侧的相邻样本的宽度被确定为第二因子与当前视频块的宽度的乘积。
解决方案25.根据解决方案18的方法,其中当前视频块上方的相邻样本的高度是基于当前视频块的高度而被确定的。
解决方案26.根据解决方案25的方法,其中响应于当前视频块的高度不超过预定阈值,当前视频块上方的相邻样本的高度被确定为第一因子和当前视频块的高度的乘积,并且其中响应于当前视频块的高度超过预定阈值,当前视频块上方的相邻样本的高度被确定为第二因子与当前视频块的高度的乘积。
解决方案27.根据解决方案20、22、24和26中任一项的方法,其中预定阈值是8,第一因子是1并且第二因子是2或4。
解决方案28.根据解决方案14-27中任一项的方法,其中模板包括与当前视频块相邻的样本,并且参考模板包括与样本相对应的参考样本,并且其中样本的至少一部分和参考样本在被用于确定模板匹配代价之前被子采样或下采样。
解决方案14-28的其他示例在第4节的第12项中公开。
解决方案29.一种视频处理方法,包括:在视频的当前视频块与视频的比特流之间的转换期间,针对当前视频块确定一组运动候选;通过使用模板匹配代价规则,基于当前视频块的模板从该组运动候选中针对当前视频块确定目标运动候选;以及基于目标运动候选执行转换;其中与运动候选相关联的模板匹配代价基于模板与参考模板之间的差异来计算,并且参考模板是基于模板和运动候选而被确定的。
解决方案30.根据解决方案29的方法,其中差异基于以下至少一项来确定:绝对差之和(SAD)、绝对变换差之和(SATD)、平方差之和(SSD)、加权SAD、加权SATD、加权SSD、边界SAD、边界SATD和边界SSD。
解决方案31.根据解决方案29的方法,其中与运动候选相关联的模板匹配代价是基于模板与参考模板之间的绝对差之和(SAD)而被确定的。
解决方案32.根据解决方案29的方法,其中与运动候选相关联的模板匹配代价是基于模板与参考模板之间的绝对变换差之和(SATD)而被确定的。
解决方案33.根据解决方案29的方法,其中与运动候选相关联的模板匹配代价是基于模板与参考模板之间的平方差之和(SSD)而被确定的。
解决方案34.根据解决方案29的方法,其中与运动候选相关联的模板匹配代价是基于模板与参考模板之间的加权SAD、加权SATD和加权SSD中的至少一项而被确定的。
解决方案35.根据解决方案29的方法,其中与运动候选相关联的模板匹配代价是基于参考模板和与模板邻近地或非邻近地相邻的重构样本之间的边界SAD以及模板与参考模板之间的SAD而被确定的。
解决方案29-35的其他示例在第4节的第13项中公开。
解决方案36.一种视频处理方法,包括:在视频的当前视频块与视频的比特流之间的转换期间,针对当前视频块确定一组运动候选;通过使用模板匹配代价规则,基于当前视频块的模板从该组运动候选中针对当前视频块确定目标运动候选;基于目标运动候选执行转换;其中当前视频块的编解码模式在序列级别、图片级别、切片级别、子图片级别、编解码树单元(CTU)级别或CU级别中的一个级别被发信号通知。
解决方案37.根据解决方案36的方法,其中:当前视频块的编解码模式是第一合并模式,并且第一合并模式是使用CU级别标志作为合并模式中的一个合并模式来被发信号通知,其中合并模式包括第一合并模式和至少一个其他合并模式。
解决方案38.根据解决方案37的方法,其中至少一个其他合并模式包括以下至少一项:通用合并模式、具有运动向量差的合并模式、组合的帧间和帧内预测模式、几何分割模式和子块合并模式。
解决方案39.根据解决方案37-38中任一项的方法,其中指示第一合并模式的CU级别标志在指示帧内和帧间预测模式的组合的第一标志之后被编解码。
解决方案40.根据解决方案37-38中任一项的方法,其中指示第一合并模式的CU级别标志在指示帧内和帧间预测模式的组合的第一标志之前被编解码。
解决方案41.根据解决方案37-38中任一项的方法,其中指示第一合并模式的CU级别标志在指示具有运动向量差的合并模式的第二标志之后被编解码。
解决方案42.根据解决方案37-38中任一项的方法,其中指示第一合并模式的CU级别标志在指示具有运动向量差的合并模式的第二标志之前被编解码。
解决方案36-42的其他示例在第4节的第16项中公开。
解决方案43.一种视频处理方法,包括:在视频的当前视频块与视频的比特流之间的转换期间,为当前视频块确定至少一组运动候选,每个运动候选包括从当前视频块的相邻视频块中确定的预测运动信息;通过使用模板匹配代价规则,基于当前视频块的模板从至少一组运动候选中针对当前视频块确定目标运动候选;以及基于目标运动候选执行转换。
解决方案44.根据解决方案43的方法,其中响应于当前视频块以运动向量预测模式被编解码,至少一组运动候选包括原始运动向量预测候选,然后是所有合并候选。
解决方案45.根据解决方案43-44中任一项的方法,其中响应于当前视频块以合并模式被编解码,至少一组运动候选包括所有合并候选。
解决方案46.根据解决方案43-45中任一项的方法,其中响应于当前视频块以运动向量预测模式被编解码,至少一组运动候选包括部分原始运动向量预测候选,然后是部分合并候选。
解决方案47.根据解决方案43-46中任一项的方法,其中响应于当前视频块以合并模式被编解码,至少一组运动候选包括部分合并候选。
解决方案48.根据解决方案43-47中任一项的方法,其中响应于当前视频块以运动向量预测模式被编解码,至少一组运动候选包括原始运动向量预测候选。
解决方案49.根据解决方案43-48中任一项的方法,其中确定至少一组运动候选包括:从合并候选中确定要被包括在至少一组运动候选中的运动候选.
解决方案50.根据解决方案49的方法,其中当前视频块以运动向量预测模式被编解码,并且其中确定运动候选包括:响应于合并候选在预测方向上的参考图片列表和参考索引分别与运动向量预测模式的当前参考图片列表和当前参考索引相同,确定包括合并候选在预测方向上的预测运动信息的运动候选。
解决方案51.根据解决方案49的方法,其中当前视频块以运动向量预测模式被编解码,并且其中确定运动候选包括:响应于合并候选在预测方向上的参考图片与运动向量预测模式的当前参考图片相同,确定包括合并候选在预测方向上的预测运动信息的运动候选。
解决方案52.根据解决方案49的方法,其中当前视频块以合并模式被编解码,并且其中至少一组运动候选包括用于第一预测方向的第一组运动候选和用于第二预测方向的第二组运动候选。
解决方案53.根据解决方案52的方法,其中确定至少一组运动候选包括:将合并候选在第一预测方向上的第一预测运动信息合并到第一组运动候选中;以及将合并候选在第二预测方向上的第二预测运动信息合并到第二组运动候选中。
解决方案54.根据解决方案49的方法,其中当前视频块以合并模式被编解码,并且其中至少一组运动候选仅包括一组运动候选。
解决方案55.根据解决方案54的方法,其中确定运动候选包括:确定包括合并候选在第一预测方向上的第一预测运动信息和合并候选在第二预测方向上的第二预测运动信息的运动候选。
解决方案56.根据解决方案43的方法,其中当前视频块以运动向量预测模式被编解码,并且其中针对当前视频块确定目标运动候选包括:响应于自适应运动向量分辨率被启用,将以第一运动向量精度被确定的目标运动候选重用为以与第一运动向量精度不同的第二运动向量精度的目标运动候选。
解决方案57.根据解决方案43的方法,其中运动向量预测候选列表中的运动向量预测候选的数目基于模板匹配解码器侧运动向量推导是否被应用来设置。
解决方案58.根据解决方案57的方法,其中:响应于在运动向量预测模式下模板匹配解码器侧运动向量推导被应用,运动向量预测候选列表中的运动向量预测候选的数目设置为第一数目;并且响应于在运动向量预测模式下模板匹配解码器侧运动向量推导未被应用,运动向量预测候选列表中的运动向量预测候选的数目被设置为不同于第一数目的第二数目。
解决方案59.根据解决方案43-58中任一项的方法,其中确定至少一组运动候选包括以下中的任何项:基于模板匹配解码器侧运动向量推导来确定要被包括在运动向量预测候选列表中的运动向量预测候选;或者从当前视频块的相邻视频块中确定要被包括在运动向量预测候选列表中的运动向量预测候选。
解决方案43-59的其他示例在第4节的第6-8项中公开。
解决方案60.一种视频处理方法,包括:在视频的当前视频块与视频的比特流之间的转换期间,为当前视频块确定运动候选;通过基于模板匹配代价规则在运动候选周围执行局部搜索来细化运动候选;以及基于细化的运动候选执行转换,其中局部搜索的搜索顺序与当前视频块的编解码模式相关。
解决方案61.根据解决方案60的方法,其中如果编解码模式是合并模式,则搜索顺序是以下中的一项:整数样本偏移搜索,然后是1/4样本偏移搜索,然后是1/16样本偏移搜索;整数样本偏移搜索,然后是1/4样本偏移搜索;整数样本偏移搜索,然后是1/2样本偏移搜索,然后是1/4样本偏移搜索,然后是1/16样本偏移搜索;整数样本偏移搜索,然后是1/2样本偏移搜索,然后是1/4样本偏移搜索,然后是1/8样本偏移搜索,然后是1/16样本偏移搜索;或整数样本偏移搜索,然后是1/2样本偏移搜索,然后是1/4样本偏移搜索。
解决方案62.根据解决方案60的方法,其中如果编解码模式是运动向量预测模式,则搜索顺序是以下中的一项:整数样本偏移搜索,然后是1/4样本偏移搜索,然后是1/16样本偏移搜索;整数样本偏移搜索,然后是1/4样本偏移搜索;或整数样本偏移搜索,然后是1/2样本偏移搜索,然后是1/4样本偏移搜索。
解决方案63.根据解决方案60-62中任一项的方法,其中执行局部搜索包括:基于当前视频块的模板和由运动候选指示的运动信息为局部搜索确定起始搜索点;基于第一搜索图案从起始搜索点执行第一轮整数样本偏移搜索,其中第一轮整数样本偏移搜索响应于第一搜索点被找到而被终止,第一搜索点用作第一搜索图案的中心点并且与最小模板匹配代价相关联;基于第二搜索图案从第一搜索点执行第二轮整数样本偏移搜索,其中第二轮整数样本偏移搜索响应于第二搜索点被找到而被终止,第二搜索点与最小模板匹配代价相关联;以及基于第二搜索点确定细化的运动候选。
解决方案64.根据解决方案63的方法,其中基于第二搜索点确定细化的运动候选包括:响应于局部搜索不包括分数样本偏移搜索,确定与第二搜索点相对应的细化的运动候选。
解决方案65.根据解决方案63的方法,其中基于第二搜索点确定细化的运动候选包括:响应于局部搜索包括分数样本偏移搜索,基于第二搜索图案从第二搜索点执行分数样本偏移搜索,以确定分数样本偏移搜索期间与最小模板匹配代价相关联的最终搜索点;以及确定与最终搜索点相对应的细化的运动候选。
解决方案66.根据解决方案63-66中任一项的方法,其中第一搜索图案是无限制的中心偏置菱形搜索图案,并且第二搜索图案是交叉搜索图案。
解决方案67.根据解决方案60-66中任一项的方法,其中局部搜索的搜索范围基于预定数目的亮度样本来确定。
解决方案68.根据解决方案60-67中任一项的方法,其中局部搜索包括整数样本偏移搜索和分数样本偏移搜索,并且执行局部搜索包括:针对整数样本偏移搜索确定整数样本偏移;基于整数样本偏移执行整数样本偏移搜索;使用参数误差表面等式针对分数样本偏移搜索确定分数样本偏移;以及基于整数样本偏移搜索的结果和分数样本偏移执行分数样本偏移搜索。
解决方案69.根据解决方案68的方法,其中整数样本偏移搜索响应于与最小模板匹配代价相关联的搜索点被找到而被终止,并且确定分数样本偏移包括:使用搜索点的模板匹配代价和多个相邻搜索点的相应模板匹配代价拟合参数误差表面等式;以及通过基于最小模板匹配代价求解参数误差表面等式来确定分数样本偏移。
解决方案70.根据解决方案68-69中任一项的方法,其中执行分数样本偏移搜索包括:响应于整数样本偏移搜索随着与最小模板匹配代价相关联的搜索点被找到而被终止,执行分数样本偏移搜索以通过将分数样本偏移添加到与搜索点相对应的运动候选来推导细化的运动候选。
解决方案60-70的其他示例在第4节的第9-11项中公开。
解决方案71.根据解决方案1-70中任一项的方法,其中方法仅在CU级别执行。例如,方法可以不在子块级别执行。
解决方案71的其他示例在第4节的第14项中公开。
解决方案72.根据解决方案1-70中任一项的方法,其中方法被应用于亮度分量。
解决方案73.根据解决方案1-70中任一项的方法,其中方法被应用于至少一个色度分量。
解决方案74.根据解决方案1-70中任一项的方法,其中不同模板形状和/或不同匹配规则被应用于不同分量。
解决方案72-74的其他示例在第4节的第15项中公开。
解决方案75.根据解决方案1-70中任一项的方法,其中转换包括将当前视频块编码到比特流中。
解决方案76.根据解决方案1-70中任一项的方法,其中转换包括从比特流中解码当前视频块。
解决方案77.一种用于处理视频数据的装置,包括处理器和其上存储有指令的非瞬态存储器,其中指令在由处理器执行时使处理器执行根据解决方案1至76中任一项的方法。
解决方案78.一种存储指令的非瞬态计算机可读存储介质,指令使处理器执行根据解决方案1至76中任一项的方法。
解决方案79.一种非瞬态计算机可读记录介质,存储通过由视频处理装置执行的根据解决方案1至76中任一项的方法生成的视频的比特流。
本文中描述的功能可以至少部分由一个或多个硬件逻辑组件来执行。例如而非限制,可以使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、系统上芯片系统(SOC)、复杂可编程逻辑器件(CPLD)等。
用于执行本文中描述的主题的方法的程序代码可以用一种或多种编程语言的任何组合来编写。程序代码可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码在由处理器或控制器执行时使在流程图和/或框图中指定的功能/操作被实现。程序代码可以完全或部分在机器上执行,作为独立软件包部分在机器上、部分在远程机器上或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是可以包含或存储程序以供指令执行系统、装置或设备使用或与其结合使用的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子、磁、光、电磁、红外或半导体系统、装置或设备、或前述各项的任何合适的组合。机器可读存储介质的更具体示例将包括具有一根或多根电线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备、或前述各项的任何合适的组合。
此外,虽然以特定顺序描述操作,但这不应当理解为要求以所示特定顺序或按顺序执行这样的操作或者执行所有所示操作以实现期望结果。在某些情况下,多任务和并行处理可能是有利的。同样,虽然在以上讨论中包含了若干具体实现细节,但这些不应当被解释为对本文中描述的主题范围的限制,而应当被解释为对特定实施例特有的特征的描述。在单独实施例的上下文中描述的某些特征也可以在单个实现中组合实现。相反,在单个实现中描述的各种特征也可以在多个实施例中单独地或以任何合适的子组合实现。
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,在所附权利要求中指定的主题不一定限于上述特定特征或动作。相反,上述具体特征和动作被公开作为实现权利要求的示例形式。
图34示出了可以在其中实现本公开的各种实施例的计算设备3400的框图。计算设备3400可以被实现为源设备2810(或视频编码器2814或2900)或目的地设备2820(或视频解码器2824或3000)或者被包括在中。
应当理解,图34所示的计算设备3400仅出于说明的目的,而不暗示以任何方式对本公开的功能和范围进行任何限制。
如图34所示,计算设备3400可以是通用计算设备。计算设备3400可以至少包括一个或多个处理器或处理单元3410、存储器3420、存储设备3430、一个或多个通信单元3440、一个或多个输入设备3450、以及一个或多个输出设备3460。
在一些实施例中,计算设备3400可以被实现为具有计算能力的任何用户终端或服务器终端。服务器终端可以是由服务提供商提供的服务器、大型计算设备等。用户终端例如可以是任何类型的移动终端、固定终端或便携式终端,包括移动电话、站、单元、设备、多媒体计算机、多媒体平板电脑、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本电脑、平板电脑、个人通讯系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收机、无线电广播接收机、电子书设备、游戏设备或其任何组合,包括这些设备的附件和外围设备、或其任何组合。可以设想,计算设备3400可以支持到用户的任何类型的接口(诸如“可穿戴”电路系统等)。
处理单元3410可以是物理或虚拟处理器,并且可以基于存储在存储器3420中的程序来实现各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令以提高计算设备3400的并行处理能力。处理单元3410也可以称为中央处理单元(CPU)、微处理器、控制器或微控制器。
计算设备3400通常包括各种计算机存储介质。这种介质可以是计算设备3400可访问的任何介质,包括但不限于易失性和非易失性介质、或可拆卸和不可拆卸介质。存储器3420可以是易失性存储器(例如,寄存器、高速缓存、随机存取存储器(RAM))、非易失性存储器(诸如只读存储器(ROM)、电可擦可编程只读存储器(EEPROM)或闪存)或其任何组合。存储设备3430可以是任何可拆卸或不可拆卸介质,并且可以包括机器可读介质,诸如存储器、闪存驱动器、磁盘、或者可以用于存储信息和/或数据并且可以在计算设备3400中访问的其他介质。
计算设备3400还可以包括附加的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管图34中示出,但是可以提供用于读取和/或写入可拆卸的非易失性磁盘的磁盘驱动器和用于读取和/或写入可拆卸的非易失性光盘的光盘驱动器。在这种情况下,每个驱动器可以经由一个或多个数据介质接口连接到总线(未示出)。
通信单元3440经由通信介质与另一计算设备通信。此外,计算设备3400中的组件的功能可以由单个计算集群或可以经由通信连接进行通信的多个计算机器来实现。因此,计算设备3400可以使用与一个或多个其他服务器、联网个人计算机(PC)或其他通用网络节点的逻辑连接在联网环境中操作。
输入设备3450可以是多种输入设备中的一种或多种,诸如鼠标、键盘、跟踪球、语音输入设备等。输出设备3460可以是多种输出设备中的一种或多种,诸如显示器、扬声器、打印机等。通过通信单元3440,计算设备3400可以进一步如果需要与以下各项通信:诸如存储设备和显示设备等一个或多个外部设备(未示出)、使得用户能够与计算设备3400交互的一个或多个设备、或者使得计算设备3400能够与一个或多个其他计算设备通信的任何设备(诸如网卡、调制解调器等)。这种通信可以经由输入/输出(I/O)接口(未示出)来执行。
在一些实施例中,计算设备3400的一些或所有组件也可以以云计算架构进行布置,而不是集成在单个设备中。在云计算架构中,组件可以被远程提供并且一起工作以实现本公开中描述的功能。在一些实施例中,云计算提供计算、软件、数据访问和存储服务,这将不需要最终用户了解提供这些服务的系统或硬件的物理位置或配置。在各种实施例中,云计算使用合适的协议经由广域网(诸如互联网)提供服务。例如,云计算提供商通过广域网提供应用,应用可以通过网络浏览器或任何其他计算组件访问。云计算架构的软件或组件以及对应数据可以存储在远程位置处的服务器上。云计算环境中的计算资源可以合并或分布在远程数据中心的位置。云计算基础设施可以通过共享数据中心提供服务,尽管它们充当用户的单一接入点。因此,云计算架构可以用于从远程位置的服务提供商提供本文中描述的组件和功能。备选地,它们可以从常规服务器提供或者直接或以其他方式安装在客户端设备上。
计算设备3400可以用于实现本公开的实施例中的视频编码/解码。存储器3420可以包括具有一个或多个程序指令的一个或多个视频编解码模块3425。这些模块可以由处理单元3410访问和执行以执行本文中描述的各种实施例的功能。
在执行视频编码的示例实施例中,输入设备3450可以接收视频数据作为要编码的输入3470。视频数据可以例如由视频编解码模块3425处理以生成编码比特流。编码比特流可以经由输出设备3460提供作为输出3480。
在执行视频解码的示例实施例中,输入设备3450可以接收编码比特流作为输入3470。编码比特流可以例如由视频编解码模块3425处理以生成经解码的视频数据。经解码的视频数据可以经由输出设备3460提供作为输出3480。
所公开的技术的一些实施例包括做出启用视频处理工具或模式的决定或确定。在一个示例中,当视频处理工具或模式被启用时,编码器将在处理视频块时使用或实现该工具或模式,但可能不必基于该工具或模式的使用来修改所得到的比特流。也就是说,当视频处理工具或模式基于上述决定或确定被启用时,从视频块到视频的比特流表示的转换将使用视频处理工具或模式。在另一示例中,当视频处理工具或模式被启用时,解码器将在知道比特流已经基于视频处理工具或模式被修改的情况下处理比特流。即,从视频的比特流表示到视频块的转换将使用基于上述决定或确定而启用的视频处理工具或模式来执行。
所公开的技术的一些实施例包括做出禁用视频处理工具或模式的决定或确定。在一个示例中,当视频处理工具或模式被禁用时,编码器将不使用该工具或模式将视频块转换为视频的比特流表示。在另一示例中,当视频处理工具或模式被禁用时,解码器将在知道比特流尚未使用基于上述决定或确定而被禁用的视频处理工具或模式被修改的情况下处理比特流。
在本文档中,术语“视频处理”可以指代视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示转换为对应比特流表示期间应用,反之亦然。当前视频块的比特流表示可以例如对应于在比特流内共同定位在或分布在不同位置的比特,如语法所定义的。例如,宏块可以根据变换和编码的误差残差值进行编码,并且还可以使用报头和比特流中的其他字段中的比特。
从前述内容中,应当理解,本文中已经出于说明的目的描述了当前公开的技术的特定实施例,但是在不偏离本公开的范围的情况下可以进行各种修改。因此,当前公开的技术不受所附权利要求的限制。
本公开中描述的主题和功能操作的实现可以在各种系统、数字电子电路系统或计算机软件、固件或硬件中实现,包括在本说明书中公开的结构及其结构等价物、或其中的一种或多种的组合。本说明书中描述的主题的实现可以实现为一个或多个计算机程序产品,即,一个或多个计算机程序指令模块,该计算机程序产品编码在有形且非瞬态的计算机可读介质上以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质组合物、或者它们中的一种或多种的组合。术语“数据处理单元”或“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一种或多种的组合的代码。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以任何形式的编程语言编写,包括编译或解释语言,并且它可以以任何形式部署,包括作为一个独立的程序或作为一个模块、组件、子程序、或适合在计算环境中使用的其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在包含其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、在专用于所讨论的程序的单个文件中或在多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以被部署为在一个计算机或位于一个站点或分布在多个站点并且通过通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并且生成输出来执行功能来执行。该过程和逻辑流程也可以由专用逻辑电路系统执行,并且装置也可以实现为专用逻辑电路系统,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适合于执行计算机程序的处理器包括例如通用和专用微处理器、以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合以从用于存储数据的一个或多个大容量存储设备(例如,磁、磁光盘或光盘)接收数据或向其传输数据或这两者。然而,计算机不需要有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如EPROM、EEPROM和闪存设备。处理器和存储器可以由专用逻辑电路系统补充或结合在专用逻辑电路系统中。
旨在将说明书连同附图仅视为示例性的,其中示例性表示示例。如本文中使用的,“或”的使用旨在包括“和/或”,除非上下文另有明确说明。
尽管本公开包含很多细节,但这些不应当被解释为对任何发明的范围或可要求保护的内容的限制,而是对可能特定于特定发明的特定实施例的特征的描述。在单独实施例的上下文中在本公开中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或以任何合适的子组合来实现。此外,尽管特征可以在上面描述为以某些组合起作用并且甚至最初如此要求保护,但是在某些情况下可以从要求保护的组合中去除一个或多个特征,并且要求保护的组合可以涉及子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描述了操作,但这不应理解为要求以所示特定顺序或按顺序执行这样的操作或者执行所有所示操作以实现期望结果。此外,本公开中描述的实施例中的各个系统组件的分离不应当理解为在所有实施例中都需要这种分离。
仅描述了几个实现和示例,并且可以基于本公开中描述和说明的内容做出其他实现、增强和变化。

Claims (21)

1.一种视频处理方法,包括:
在视频的当前视频块与所述视频的比特流之间的转换期间,针对所述当前视频块确定至少一组运动候选,每个运动候选包括从所述当前视频块的相邻视频块中确定的预测运动信息;
通过使用模板匹配代价规则,基于所述当前视频块的模板从所述至少一组运动候选中针对所述当前视频块确定目标运动候选;以及
基于所述目标运动候选执行所述转换。
2.根据权利要求1所述的方法,其中响应于所述当前视频块以运动向量预测模式被编解码,所述至少一组运动候选包括原始运动向量预测候选,然后是所有合并候选。
3.根据权利要求1所述的方法,其中响应于所述当前视频块以合并模式被编解码,所述至少一组运动候选包括所有合并候选。
4.根据权利要求1所述的方法,其中响应于所述当前视频块以运动向量预测模式被编解码,所述至少一组运动候选包括部分原始运动向量预测候选,然后是部分合并候选。
5.根据权利要求1所述的方法,其中响应于所述当前视频块以合并模式被编解码,所述至少一组运动候选包括部分合并候选。
6.根据权利要求1所述的方法,其中响应于所述当前视频块以运动向量预测模式被编解码,所述至少一组运动候选包括原始运动向量预测候选。
7.根据权利要求1所述的方法,其中确定所述至少一组运动候选包括:
从合并候选中确定要被包括在所述至少一组运动候选中的运动候选。
8.根据权利要求7所述的方法,其中所述当前视频块以运动向量预测模式被编解码,并且其中确定所述运动候选包括:
响应于所述合并候选在预测方向上的参考图片列表和参考索引分别与所述运动向量预测模式的当前参考图片列表和当前参考索引相同,
确定包括所述合并候选在所述预测方向上的预测运动信息的所述运动候选。
9.根据权利要求7所述的方法,其中所述当前视频块以运动向量预测模式被编解码,并且其中确定所述运动候选包括:
响应于所述合并候选在预测方向上的参考图片与所述运动向量预测模式的当前参考图片相同,
确定包括所述合并候选在所述预测方向上的预测运动信息的所述运动候选。
10.根据权利要求7所述的方法,其中所述当前视频块以合并模式被编解码,并且其中所述至少一组运动候选包括用于第一预测方向的第一组运动候选和用于第二预测方向的第二组运动候选。
11.根据权利要求10所述的方法,其中确定所述至少一组运动候选包括:
将所述合并候选在所述第一预测方向上的第一预测运动信息合并到所述第一组运动候选中;以及
将所述合并候选在所述第二预测方向上的第二预测运动信息合并到所述第二组运动候选中。
12.根据权利要求7所述的方法,其中所述当前视频块以合并模式被编解码,并且其中所述至少一组运动候选仅包括一组运动候选。
13.根据权利要求12所述的方法,其中确定所述运动候选包括:
确定包括所述合并候选在第一预测方向上的第一预测运动信息和所述合并候选在第二预测方向上的第二预测运动信息的所述运动候选。
14.根据权利要求1所述的方法,其中所述当前视频块以运动向量预测模式被编解码,并且其中针对所述当前视频块确定目标运动候选包括:
响应于自适应运动向量分辨率被启用,将以第一运动向量精度被确定的目标运动候选重用为以与所述第一运动向量精度不同的第二运动向量精度的目标运动候选。
15.根据权利要求1所述的方法,其中运动向量预测候选列表中的运动向量预测候选的数目基于模板匹配解码器侧运动向量推导是否被应用而被设置。
16.根据权利要求15所述的方法,其中:
响应于在运动向量预测模式下模板匹配解码器侧运动向量推导被应用,所述运动向量预测候选列表中的运动向量预测候选的所述数目被设置为第一数目;并且
响应于在所述运动向量预测模式下模板匹配解码器侧运动向量推导未被应用,所述运动向量预测候选列表中的运动向量预测候选的所述数目被设置为不同于所述第一数目的第二数目。
17.根据权利要求1所述的方法,其中确定所述至少一组运动候选包括以下中的任何项:
基于模板匹配解码器侧运动向量推导来确定要被包括在运动向量预测候选列表中的运动向量预测候选;或者
从所述当前视频块的相邻视频块中确定要被包括在所述运动向量预测候选列表中的运动向量预测候选。
18.根据权利要求1所述的方法,其中所述转换包括将所述当前视频块编码到所述比特流中。
19.根据权利要求1所述的方法,其中所述转换包括从所述比特流中解码所述当前视频块。
20.一种用于处理视频数据的装置,包括处理器和其上存储有指令的非瞬态存储器,其中所述指令在由所述处理器执行时使所述处理器执行根据权利要求1至19中任一项所述的方法。
21.一种非瞬态计算机可读记录介质,存储视频的比特流,所述视频的比特流通过由视频处理装置执行根据权利要求1至19中任一项所述的方法而被生成。
CN202210219873.6A 2021-03-12 2022-03-08 运动候选推导 Pending CN115086677A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/200,631 2021-03-12
US17/200,631 US11936899B2 (en) 2021-03-12 2021-03-12 Methods and systems for motion candidate derivation

Publications (1)

Publication Number Publication Date
CN115086677A true CN115086677A (zh) 2022-09-20

Family

ID=83194224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210219873.6A Pending CN115086677A (zh) 2021-03-12 2022-03-08 运动候选推导

Country Status (2)

Country Link
US (1) US11936899B2 (zh)
CN (1) CN115086677A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024078596A1 (en) * 2022-10-13 2024-04-18 Douyin Vision Co., Ltd. Method, apparatus, and medium for video processing

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220329822A1 (en) * 2021-04-12 2022-10-13 Qualcomm Incorporated Template matching refinement in inter-prediction modes
US20230139186A1 (en) * 2021-10-28 2023-05-04 Tencent America LLC Template-matching based adaptive motion vector resolution (amvr)
US20240137540A1 (en) * 2022-10-18 2024-04-25 Tencent America LLC Template matching refinement for affine motion

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11330284B2 (en) * 2015-03-27 2022-05-10 Qualcomm Incorporated Deriving motion information for sub-blocks in video coding
CN110574377B (zh) * 2017-05-10 2021-12-28 联发科技股份有限公司 用于视频编解码的重新排序运动向量预测候选集的方法及装置
US10735761B2 (en) 2017-05-19 2020-08-04 Mediatek Inc Method and apparatus of video coding
GB2563936A (en) * 2017-06-30 2019-01-02 Canon Kk Method and apparatus for encoding or decoding a flag during video data encoding
WO2019001741A1 (en) 2017-06-30 2019-01-03 Huawei Technologies Co., Ltd. MOTION VECTOR REFINEMENT FOR MULTI-REFERENCE PREDICTION
GB2563943B (en) * 2017-06-30 2021-02-24 Canon Kk Method and apparatus for encoding or decoding video data in FRUC mode with reduced memory accesses
WO2019009546A1 (ko) * 2017-07-04 2019-01-10 엘지전자 주식회사 인터 예측 기반의 영상 처리 방법 및 이를 위한 장치
CN116016921A (zh) 2017-07-07 2023-04-25 三星电子株式会社 用于对运动矢量进行编码和解码的设备和方法
CN110692248B (zh) 2017-08-29 2024-01-02 株式会社Kt 视频信号处理方法及装置
US10785494B2 (en) * 2017-10-11 2020-09-22 Qualcomm Incorporated Low-complexity design for FRUC
US10986360B2 (en) * 2017-10-16 2021-04-20 Qualcomm Incorproated Various improvements to FRUC template matching
BR112020007550A8 (pt) * 2017-11-09 2023-03-28 Samsung Electronics Co Ltd Método para decodificar informações de movimento, aparelho para decodificar informações de movimento, e método para codificar informações de movimento
CN111418214B (zh) * 2017-11-28 2021-06-29 华为技术有限公司 使用重建像素点的语法预测
EP3738310A4 (en) * 2018-01-11 2021-08-11 Qualcomm Incorporated VIDEO ENCODING USING LOCAL LIGHTING COMPENSATION
US11234016B2 (en) * 2018-01-16 2022-01-25 Samsung Electronics Co., Ltd. Method and device for video decoding, and method and device for video encoding
MX2020006790A (es) * 2018-02-28 2020-09-09 Samsung Electronics Co Ltd Metodo y aparato de decodificacion de video y metodo y aparato de codificacion de video.
CN111886869B (zh) * 2018-03-19 2023-12-05 英迪股份有限公司 图像解码方法、编码方法以及存储比特流的记录介质
WO2019190338A1 (en) * 2018-03-26 2019-10-03 Huawei Technologies Co., Ltd. A video image encoder, a video image decoder and corresponding methods for motion information coding
US11539972B2 (en) * 2018-03-29 2022-12-27 Industry Academy Cooperation Foundation Of Sejong University Method and apparatus for encoding/decoding image
EP3547686A1 (en) * 2018-03-29 2019-10-02 InterDigital VC Holdings, Inc. Method and apparatus for decoder side prediction based on weighted distortion
CN112204972B (zh) * 2018-03-29 2023-09-05 弗劳恩霍夫应用研究促进协会 变换系数块编码
US10779002B2 (en) * 2018-04-17 2020-09-15 Qualcomm Incorporated Limitation of the MVP derivation based on decoder-side motion vector derivation
CN112042196A (zh) * 2018-04-18 2020-12-04 联发科技股份有限公司 在视频编解码中具有高级控制的候选重组
US10469869B1 (en) * 2018-06-01 2019-11-05 Tencent America LLC Method and apparatus for video coding
WO2019228660A1 (en) * 2018-06-01 2019-12-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Video codec using template matching prediction
WO2019234674A1 (en) * 2018-06-07 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Integer motion compensation
EP3809701A4 (en) * 2018-06-18 2022-06-22 Industry Academy Cooperation Foundation Of Sejong University METHOD AND APPARATUS FOR ENCODING/DECODING AN IMAGE
BR112020024202A2 (pt) * 2018-06-29 2021-02-17 Beijing Bytedance Network Technology Co., Ltd. método de processamento de dados de vídeo, aparelho de processamento de vídeo e meios de armazenamento e gravação legíveis por computador não transitório
EP3791587A1 (en) * 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Resetting of look up table per slice/tile/lcu row
TWI719519B (zh) * 2018-07-02 2021-02-21 大陸商北京字節跳動網絡技術有限公司 對於dmvr的塊尺寸限制
US10911768B2 (en) * 2018-07-11 2021-02-02 Tencent America LLC Constraint for template matching in decoder side motion derivation and refinement
US10511852B1 (en) * 2018-07-13 2019-12-17 Tencent America LLC Method and apparatus for video coding
CN115842912A (zh) * 2018-08-04 2023-03-24 抖音视界有限公司 不同解码器侧运动矢量推导模式之间的交互
TW202017377A (zh) * 2018-09-08 2020-05-01 大陸商北京字節跳動網絡技術有限公司 視頻編碼和解碼中的仿射模式
CN110933427B (zh) * 2018-09-19 2023-05-12 北京字节跳动网络技术有限公司 仿射模式编码的模式相关自适应运动矢量分辨率
WO2020056798A1 (zh) * 2018-09-21 2020-03-26 华为技术有限公司 一种视频编解码的方法与装置
CN112956197A (zh) * 2018-10-22 2021-06-11 北京字节跳动网络技术有限公司 基于编解码信息的解码器侧运动矢量推导的限制
WO2020084460A1 (en) * 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Decoder side motion vector derivation in the presence of multi-hypothesis prediction
WO2020103852A1 (en) * 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Difference calculation based on patial position
US11758125B2 (en) * 2019-01-02 2023-09-12 Lg Electronics Inc. Device and method for processing video signal by using inter prediction
US11153590B2 (en) * 2019-01-11 2021-10-19 Tencent America LLC Method and apparatus for video coding
CN113383554B (zh) * 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
US11190797B2 (en) * 2019-03-01 2021-11-30 Qualcomm Incorporated Constraints on decoder-side motion vector refinement based on weights for bi-predicted prediction
WO2020177696A1 (en) 2019-03-05 2020-09-10 Huawei Technologies Co., Ltd. Use of extended samples during search in decoder-side motion refinement
US20200402546A1 (en) * 2019-06-24 2020-12-24 Seagate Technology Llc Reducing base deck porosity
US11259016B2 (en) * 2019-06-30 2022-02-22 Tencent America LLC Method and apparatus for video coding
WO2021006617A1 (ko) 2019-07-08 2021-01-14 현대자동차주식회사 인터 예측을 이용하여 비디오를 부호화 및 복호화하는 방법 및 장치
US20210092434A1 (en) 2019-09-23 2021-03-25 Qualcomm Incorporated Adaptive motion vector resolution for affine motion model in video coding
US11758151B2 (en) 2020-12-29 2023-09-12 Qualcomm Incorporated Template matching in video coding
US20220295090A1 (en) 2021-03-12 2022-09-15 Lemon Inc. Motion candidate derivation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024078596A1 (en) * 2022-10-13 2024-04-18 Douyin Vision Co., Ltd. Method, apparatus, and medium for video processing

Also Published As

Publication number Publication date
US11936899B2 (en) 2024-03-19
US20220295089A1 (en) 2022-09-15

Similar Documents

Publication Publication Date Title
CN112868240B (zh) 并置的局部照明补偿和修改的帧间预测编解码
JP7307154B2 (ja) 適応動きベクトル解像度による動きベクトルの変更
TWI750494B (zh) 使用更新的運動信息的限制
JP7263529B2 (ja) デコーダ側精緻化ツールのサイズ選択アプリケーション
CN112868238B (zh) 局部照明补偿和帧间预测编解码之间的并置
US20210227211A1 (en) Temporal gradient calculations in bio
EP4325859A2 (en) Syntax reuse for affine mode with adaptive motion vector resolution
CN113056914B (zh) 基于部分位置的差计算
CN110944193A (zh) 视频编码和解码中的加权双向预测
CN112956197A (zh) 基于编解码信息的解码器侧运动矢量推导的限制
CN113302918A (zh) 视频编解码中的加权预测
TWI719522B (zh) 用於視頻編碼的對稱性雙向預測模式
CN111083484A (zh) 基于子块的预测
CN115086677A (zh) 运动候选推导
US11671616B2 (en) Motion candidate derivation
CN115086675A (zh) 运动候选推导
CN117337564A (zh) 用于视频处理的方法、装置和介质
TWI753280B (zh) Bio中的mv精度
CN113545081B (zh) 视频编解码系统中的处理视频数据的方法以及装置
CN117529920A (zh) 用于视频处理的方法、设备和介质
CN113545081A (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