CN118160308A - 具有运动矢量差的合并的改进 - Google Patents
具有运动矢量差的合并的改进 Download PDFInfo
- Publication number
- CN118160308A CN118160308A CN202380014070.XA CN202380014070A CN118160308A CN 118160308 A CN118160308 A CN 118160308A CN 202380014070 A CN202380014070 A CN 202380014070A CN 118160308 A CN118160308 A CN 118160308A
- Authority
- CN
- China
- Prior art keywords
- mmvd
- candidate
- merge
- candidates
- candidate list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 154
- 239000013598 vector Substances 0.000 title claims abstract description 80
- 230000006872 improvement Effects 0.000 title description 4
- 238000012545 processing Methods 0.000 claims abstract description 58
- 230000004044 response Effects 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims description 98
- 238000012360 testing method Methods 0.000 claims description 16
- 230000003287 optical effect Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 description 34
- 230000002123 temporal effect Effects 0.000 description 26
- 239000000872 buffer Substances 0.000 description 18
- 230000006835 compression Effects 0.000 description 14
- 238000007906 compression Methods 0.000 description 14
- 241000023320 Luma <angiosperm> Species 0.000 description 11
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000011664 signaling Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000002146 bilateral effect Effects 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
在一些示例中,用于视频解码的装置包括接收电路系统和处理电路系统。处理电路系统从编码视频比特流接收当前图片中的当前块的编码信息。编码信息包括语法元素以及指示具有运动矢量差的合并(MMVD)模式应用在当前块上的值。处理电路系统响应于合并候选的运动矢量预测器是双向预测器而确定当前块的合并候选是否满足应用双向预测运动细化的要求。当当前块的合并候选满足要求时,处理电路系统可以约束合并候选以在MMVD模式下使用。然后,处理电路系统在具有被约束以在MMVD模式下使用的合并候选的MMVD模式下重构当前块。
Description
通过引用并入
本申请要求于2023年8月31日提交的美国专利申请第18/240,981号“IMPROVEMENTOF MERGE WITH MOTION VECTOR DIFFERENCE”的优先权的权益,该美国专利申请要求于2022年10月5日提交的美国临时申请第63/413,494号“Improvement of Merge WithMotion Vector Difference”的优先权的权益。在先申请的公开内容以其整体通过引用并入于此。
技术领域
本公开内容总体上描述了与视频编码有关的实施方式。
背景技术
本文中提供的背景技术描述是出于总体上呈现本公开内容的上下文的目的。就在该背景技术部分中描述的工作的程度而言,目前署名的发明人的工作以及在提交时可能未被另外限定作为现有技术的描述的各方面既没有明确地也没有隐含地被承认为是针对本公开内容的现有技术。
图像/视频压缩可以有助于以最小质量劣化来跨不同的设备、存储装置和网络传输图像/视频文件。在一些示例中,视频编解码器技术可以基于空间冗余和时间冗余来压缩视频。在示例中,视频编解码器可以使用被称为帧内预测的技术,其可以基于空间冗余来压缩图像。例如,帧内预测可以使用来自重构中的当前图片的参考数据以用于样本预测。在另一示例中,视频编解码器可以使用被称为帧间预测的技术,其可以基于时间冗余来压缩图像。例如,帧间预测可以利用运动补偿来根据先前重构的图片来预测当前图片中的样本。运动补偿通常由运动矢量(MV)指示。
发明内容
本公开内容的各方面提供了用于视频编码/解码的方法和装置。在一些示例中,用于视频解码的装置包括接收电路系统和处理电路系统。处理电路系统从编码视频比特流接收当前图片中的当前块的编码信息。编码信息包括语法元素以及指示具有运动矢量差的合并(MMVD)模式应用在当前块上的值。处理电路系统响应于合并候选的运动矢量预测器是双向预测器而确定当前块的合并候选是否满足应用双向预测运动细化的要求。当当前块的合并候选满足要求时,处理电路系统可以约束合并候选以在MMVD模式下使用。然后,处理电路系统在具有被约束以在MMVD模式下使用的合并候选的MMVD模式下重构当前块。
在一些示例中,双向预测运动细化的要求包括解码器侧运动矢量细化(DMVR)的第一组条件和双向光流(BDOF)细化的第二组条件中的至少一者。
为了约束合并候选以在MMVD模式下使用,在一些示例中,当合并候选满足要求时,处理电路系统将合并候选从MMVD模式的基本候选列表中排除在外。MMVD模式的基本候选列表用于确定MMVD模式的起始点。
在示例中,当合并候选不满足要求时,处理电路系统将合并候选添加至MMVD模式的基本候选列表中。在示例中,当合并候选是单向预测器时,处理电路系统将合并候选作为单向预测MMVD候选添加至MMVD模式的基本候选列表中。在示例中,当合并候选是双向预测器并且满足要求时,处理电路系统将合并候选作为一侧双向预测MMVD候选添加至MMVD模式的基本候选列表中。
在一些示例中,合并候选是来自合并模式的常规合并候选列表的常规合并候选,常规合并候选列表包括多个常规合并候选。处理电路系统分别测试多个常规合并候选以用于添加至MMVD模式的基本候选列表中。在示例中,处理电路系统在测试之后确定基本候选列表具有比预设数目少的候选,并且将零运动矢量作为两侧双向预测MMVD候选添加至基本候选列表中。在另一示例中,处理电路系统在测试之后确定基本候选列表具有比预设数目少的候选,以及将作为双向预测器并且满足要求的合并候选添加至基本候选列表中。在示例中,处理电路系统将合并候选作为两侧双向预测MMVD候选进行添加。在另一示例中,处理电路系统将合并候选作为一侧双向预测MMVD候选进行添加。
在示例中,处理电路系统将合并候选添加在基本候选列表中的其他候选后面。
为了重构当前块,在一些示例中,处理电路系统根据MMVD模式的基本候选列表确定选择的基础,响应于选择的基础是两侧双向预测MMVD候选而确定第一MV偏移;以及响应于选择的基础是一侧双向预测MMVD候选或单向预测MMVD候选而确定第二MV偏移。第二MV偏移与第一MV偏移不同。
为了重构当前块,在一些示例中,处理电路系统根据MMVD模式的基本候选列表确定选择的基础,并且响应于选择的基础是两侧双向预测MMVD候选而根据第一表确定第一MV偏移,第一表存储与距离索引相关联的第一MV偏移。处理电路系统可以响应于选择的基础是一侧双向预测MMVD候选或单向预测MMVD候选而根据第二表确定第二MV偏移,第二表存储与距离索引相关联的第二MV偏移。
本公开内容的各方面还提供了一种存储有指令的非暂态计算机可读介质,所述指令在由用于视频解码的计算机执行时使该计算机执行用于视频解码的方法。
附图说明
根据以下详细描述和附图,所公开的主题的另外的特征、性质和各种优点将更加明显,在附图中:
图1是通信系统的示例性框图的示意性图示。
图2是解码器的示例性框图的示意性图示。
图3是编码器的示例性框图的示意性图示。
图4示出了根据本公开内容的实施方式的空间合并候选的位置。
图5示出了根据本公开内容的实施方式的被考虑用于空间合并候选的冗余校验的候选对。
图6示出了用于时间合并候选的示例性运动矢量缩放。
图7示出了当前CU的时间合并候选的示例性候选位置。
图8示出了在具有运动矢量差的合并(MMVD)模式下的搜索处理的示例。
图9示出了在具有运动矢量差的合并(MMVD)模式下的搜索点的示例。
图10示出了解码器侧运动矢量细化的示例性示意图。
图11示出了对根据本公开内容的一些实施方式的处理进行概述的流程图。
图12示出了对根据本公开内容的一些实施方式的另一处理进行概述的流程图。
图13是根据实施方式的计算机系统的示意性图示。
具体实施方式
图1示出了一些示例中的视频处理系统(100)的框图。视频处理系统(100)是用于所公开的主题、视频编码器和视频解码器在流式传输环境中的应用的示例。所公开的主题可以同样地应用于其他支持视频的应用,包括例如视频会议、数字TV、流式传输服务、在包括CD、DVD、存储棒等的数字介质上存储压缩视频等。
视频处理系统(100)包括捕获子系统(113),该捕获子系统(113)可以包括创建例如未压缩的视频图片流(102)的视频源(101)例如数字摄像装置。在示例中,视频图片流(102)包括由数字摄像装置拍摄的样本。视频图片流(102)被描绘为粗线以强调当与已编码视频数据(104)(或已编码视频比特流)比较时的高数据量,该视频图片流(102)可以由耦接至视频源(101)的包括视频编码器(103)的电子设备(120)来处理。视频编码器(103)可以包括硬件、软件或其组合,以实现或实施如下面更详细地描述的所公开的主题的各方面。已编码视频数据(104)(或已编码视频比特流)被描绘为细线以强调当与视频图片流(102)比较时的较低数据量,该已编码视频数据(104)可以被存储在流式传输服务器(105)上以供将来使用。一个或更多个流式传输客户端子系统例如图1中的客户端子系统(106)和(108)可以访问流式传输服务器(105)以检索已编码视频数据(104)的副本(107)和(109)。客户端子系统(106)可以包括例如电子设备(130)中的视频解码器(110)。视频解码器(110)对传入的已编码视频数据的副本(107)进行解码,并且创建可以在显示器(112)(例如,显示屏)或另一个呈现设备(未描绘)上呈现的传出视频图片流(111)。在一些流式传输系统中,可以根据某些视频编码/压缩标准对已编码视频数据(104)、(107)和(109)(例如,视频比特流)进行编码。这些标准的示例包括ITU-T H.265建议书。在示例中,开发中的视频编码标准被非正式地称为通用视频编码(VVC)。所公开主题可以在VVC的上下文中使用。
注意,电子设备(120)和(130)可以包括其他部件(未示出)。例如,电子设备(120)可以包括视频解码器(未示出),并且电子设备(130)也可以包括视频编码器(未示出)。
图2示出了视频解码器(210)的示例性框图。视频解码器(210)可以包括在电子设备(230)中。电子设备(230)可以包括接收器(231)(例如,接收电路系统)。视频解码器(210)可以用于代替图1示例中的视频解码器(110)。
接收器(231)可以接收要由视频解码器(210)解码的一个或更多个已编码视频序列。在实施方式中,一次接收一个已编码视频序列,其中每个已编码视频序列的解码与其他已编码视频序列的解码无关。可以从通道(201)接收已编码视频序列,该通道(201)可以是到存储已编码视频数据的存储设备的硬件/软件链路。接收器(231)可以接收已编码视频数据以及其他数据,例如已编码音频数据和/或辅助数据流,它们可以被转发至它们各自的使用实体(未描绘)。接收器(231)可以将已编码视频序列与其他数据分开。为了防止网络抖动,可以在接收器(231)与熵解码器/解析器(220)(在下文中被称为“解析器(220)”)之间耦接缓冲存储器(215)。在某些应用中,缓冲存储器(215)是视频解码器(210)的一部分。在其他应用中,缓冲存储器(215)可以在视频解码器(210)的外部(未描绘)。在又一些其他应用中,在视频解码器(210)的外部可以存在缓冲存储器(未描绘)以例如防止网络抖动,并且在视频解码器(210)的内部可以另外存在另一缓冲存储器(215)以例如处理播出定时。当接收器(231)从具有足够带宽和可控性的存储/转发设备或从等时同步网络接收数据时,可以不需要缓冲存储器(215),或者缓冲存储器(215)可以较小。为了尽可能地使用诸如因特网的分组网络,可能需要缓冲存储器(215),该缓冲存储器(215)可以相对较大并且可以有利地具有自适应性大小,并且可以至少部分地在操作系统或视频解码器(210)的外部的类似元件(未描绘)中实现。
视频解码器(210)可以包括解析器(220)以根据已编码视频序列重构符号(221)。这些符号的类别包括用于管理视频解码器(210)的操作的信息、以及用于控制诸如呈现设备(212)(例如,显示屏)的呈现设备的潜在信息,该呈现设备(212)不是电子设备(230)的组成部分,但是可以耦接至电子设备(230),如图2所示。用于呈现设备的控制信息可以是补充增强信息(SEI)消息或视频可用性信息(VUI)参数集片段(未描绘)的形式。解析器(220)可以对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可以根据视频编码技术或标准进行,并且可以遵循各种原理,包括可变长度编码、霍夫曼编码、具有或不具有上下文敏感度的算术编码等。解析器(220)可以基于与群组相对应的至少一个参数来从已编码视频序列中提取关于视频解码器中的像素的子群组中的至少一个的子群组参数集。子群组可以包括图片群组(GOP)、图片、图块、切片、宏块、编码单元(CU)、块、变换单元(TU)、预测单元(PU)等。解析器(220)还可以从已编码视频序列中提取诸如变换系数、量化器参数值、运动矢量等的信息。
解析器(220)可以对从缓冲存储器(215)接收到的视频序列执行熵解码/解析操作,以创建符号(221)。
取决于已编码视频图片或一部分已编码视频图片(例如:帧间图片和帧内图片、帧间块和帧内块)的类型以及其他因素,符号(221)的重构可能涉及多个不同单元。涉及哪些单元以及涉及方式可以通过由解析器(220)从已编码视频序列解析的子群组控制信息来控制。为了简洁起见,未描绘解析器(220)与下面的多个单元之间的这种子群组控制信息流。
除了已经提及的功能块之外,视频解码器(210)可以在构思上细分成如下所述的多个功能单元。在商业约束下操作的实际实现方式中,这些单元中的许多单元彼此紧密交互并且可以至少部分地彼此集成。然而,出于描述所公开的主题的目的,在构思上细分为下面的功能单元是适当的。
第一单元是缩放器/逆变换单元(251)。缩放器/逆变换单元(251)从解析器(220)接收作为符号(221)的量化变换系数以及控制信息,包括要使用哪个变换、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(251)可以输出包括样本值的块,所述块可以输入至聚合器(255)中。
在一些情况下,缩放器/逆变换单元(251)的输出样本可以属于帧内已编码块。帧内已编码块是不使用来自先前重构的图片的预测性信息,但是可以使用来自当前图片的先前重构的部分的预测性信息的块。这样的预测性信息可以由帧内图片预测单元(252)提供。在一些情况下,帧内图片预测单元(252)使用从当前图片缓存器(258)获取的周围已经重构的信息来生成与重构中的块的大小和形状相同大小和形状的块。例如,当前图片缓存器(258)缓存部分重构的当前图片和/或完全重构的当前图片。在一些情况下,聚合器(255)基于每个样本将帧内预测单元(252)已经生成的预测信息添加至如由缩放器/逆变换单元(251)提供的输出样本信息。
在其他情况下,缩放器/逆变换单元(251)的输出样本可以属于帧间已编码块并且潜在地属于运动补偿的块。在这种情况下,运动补偿预测单元(253)可以访问参考图片存储器(257)以获取用于预测的样本。在根据属于块的符号(221)对获取的样本进行运动补偿之后,这些样本可以由聚合器(255)添加至缩放器/逆变换单元(251)的输出(在这种情况下称作残差样本或残差信号),以生成输出样本信息。运动补偿预测单元(253)从其获取预测样本的参考图片存储器(257)内的地址可以通过运动矢量来控制,所述运动矢量可以以符号(221)的形式被运动补偿预测单元(253)获得,所述符号(221)可以具有例如X分量、Y分量和参考图片分量。运动补偿还可以包括当使用子样本精确运动矢量时从参考图片存储器(257)中获取的样本值的插值、运动矢量预测机制等。
聚合器(255)的输出样本可以在环路滤波器单元(256)中经受各种环路滤波技术。视频压缩技术可以包括环路内滤波器技术,该环路内滤波器技术受控于包括在已编码视频序列(也被称为已编码视频比特流)中的参数,并且所述参数作为来自解析器(220)的符号(221)可用于环路滤波器单元(256)。视频压缩还可以响应于在对已编码图片或已编码视频序列的先前(按解码顺序)部分进行解码期间获得的元信息,以及响应于先前重构和环路滤波的样本值。
环路滤波器单元(256)的输出可以是样本流,该样本流可以被输出至呈现设备(212)以及存储在参考图片存储器(257)中,以用于将来的帧间图片预测。
一旦完全重构,某些已编码图片就可以用作参考图片以用于将来预测。例如,一旦与当前图片相对应的已编码图片被完全重构,并且该已编码图片(通过例如解析器(220))已经被识别为参考图片,当前图片缓存器(258)就可以变为参考图片存储器(257)的一部分,并且可以在开始重构随后的已编码图片之前重新分配新的当前图片缓存器。
视频解码器(210)可以根据诸如ITU-T H.265建议书的标准或预定视频压缩技术执行解码操作。在已编码视频序列遵循视频压缩技术或标准的语法以及视频压缩技术或标准中记录的配置文件两者的意义上,已编码视频序列可以符合由所使用的视频压缩技术或标准指定的语法。具体地,配置文件可以从视频压缩技术或标准中可用的所有工具中选择某些工具作为仅在该配置文件下可供使用的工具。对于合规性,还要求已编码视频序列的复杂度在如由视频压缩技术或标准的层级所限定的范围内。在一些情况下,层级限制最大图片大小、最大帧速率、最大重构采样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由层级设置的限制可以通过假设参考解码器(HRD)规范以及用于在已编码视频序列中用信号通知的HRD缓存器管理的元数据来进一步限定。
在实施方式中,接收器(231)可以随着已编码视频一起接收附加(冗余)数据。附加数据可以被包括作为已编码视频序列的一部分。视频解码器(210)可以使用附加数据对数据进行适当解码以及/或者更准确地重构原始视频数据。附加数据可以是例如时间、空间或信噪比(SNR)增强层、冗余切片、冗余图片、前向纠错代码等形式。
图3示出了视频编码器(303)的示例性框图。视频编码器(303)包括在电子设备(320)中。电子设备(320)包括传输器(340)(例如,传输电路系统)。视频编码器(303)可以用于代替图1示例中的视频编码器(103)。
视频编码器(303)可以从可以捕获要由视频编码器(303)编码的视频图像的视频源(301)(并非图3示例中的电子设备(320)的一部分)接收视频样本。在另一示例中,视频源(301)是电子设备(320)的一部分。
视频源(301)可以提供要由视频编码器(303)编码的呈数字视频样本流形式的源视频序列,该数字视频样本流可以具有任何合适的比特深度(例如:8比特、10比特、12比特、……)、任何色彩空间(例如,BT.601Y CrCB、RGB、……)和任何合适的采样结构(例如YCrCb 4:2:0、Y CrCb4:4:4)。在媒体服务系统中,视频源(301)可以是存储先前准备的视频的存储设备。在视频会议系统中,视频源(301)可以是捕获本地图像信息作为视频序列的摄像装置。可以将视频数据提供为当按顺序观看时被赋予运动的多个单独的图片。图片自身可以被组织为空间像素阵列,其中,取决于所用的采样结构、色彩空间等,每个像素可以包括一个或更多个样本。本领域技术人员可以容易地理解像素与样本之间的关系。以下描述集中于样本。
根据实施方式,视频编码器(303)可以实时地或者在由所需的任何其他时间约束下将源视频序列的图片编码并压缩成已编码视频序列(343)。施行适当的编码速度是控制器(350)的一个功能。在一些实施方式中,控制器(350)控制如下所述的其他功能单元并且在功能上耦接至其他功能单元。为了简洁起见,未描绘耦接。由控制器(350)设置的参数可以包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值、……)、图片大小、图片群组(GOP)布局、最大运动矢量搜索范围等。控制器(350)可以被配置成具有属于针对特定系统设计优化的视频编码器(303)的其他合适的功能。
在一些实施方式中,视频编码器(303)被配置成在译码环路中进行操作。作为简化描述,在示例中,译码环路可以包括源编码器(330)(例如,负责基于要被编码的输入图片以及参考图片创建符号例如符号流)和嵌入在视频编码器(303)中的(本地)解码器(333)。解码器(333)重构符号,以与(远程)解码器也将创建的方式类似的方式创建样本数据。将重构的样本流(样本数据)输入至参考图片存储器(334)。由于符号流的解码产生与解码器位置(本地或远程)无关的比特精确结果,因此参考图片存储器(334)中的内容在本地编码器与远程编码器之间也是比特精确的。换言之,编码器的预测部分“看到”的参考图片样本与解码器在解码期间使用预测时将“看到”的样本值完全相同。参考图片同步性(以及在例如由于通道误差而无法维持同步性的情况下产生的漂移)的基本原理也被用在一些相关技术中。
“本地”解码器(333)的操作可以与“远程”解码器例如已经在上面结合图2详细描述的视频解码器(210)的操作相同。然而,还简要地参照图2,由于符号可用并且由熵编码器(345)将符号编码成已编码视频序列以及由解析器(220)对符号进行解码可以是无损的,因此可以不在本地解码器(333)中完全实现视频解码器(210)的包括缓冲存储器(215)和解析器(220)的熵解码部分。
在实施方式中,除了解码器中存在的解析/熵解码之外的解码器技术以相同或基本上相同的功能形式存在于相应的编码器中。因此,所公开的主题集中于解码器操作。可以简化编码器技术的描述,因为编码器技术与全面地描述的解码器技术相反。下面在某些部分中提供更详细的描述。
在一些示例中,在操作期间,源编码器(330)可以执行运动补偿预测性编码,该运动补偿预测性编码参考来自视频序列的被指定为“参考图片”的一个或更多个先前已编码图片来对输入图片进行预测性编码。以这样的方式,编码引擎(332)对输入图片的像素块与参考图片的像素块之间的差异进行编码,所述参考图片可以被选择为所述输入图片的预测参考。
本地视频解码器(333)可以基于由源编码器(330)创建的符号对可以被指定为参考图片的图片的已编码视频数据进行解码。编码引擎(332)的操作可以有利地为有损处理。当已编码视频数据可以在视频解码器(图3中未示出)处被解码时,重构的视频序列通常可以是具有一些误差的源视频序列的副本。本地视频解码器(333)复制可以由视频解码器对参考图片执行的解码处理,并且可以使重构的参考图片存储在参考图片存储器(334)中。以这样的方式,视频编码器(303)可以在本地存储重构的参考图片的副本,所述副本与将由远端视频解码器获得的重构的参考图片具有共同内容(不存在传输误差)。
预测器(335)可以针对编码引擎(332)执行预测搜索。也就是说,对于要被编码的新图片,预测器(335)可以在参考图片存储器(334)中搜索可以用作针对新图片的适当预测参考的样本数据(作为候选参考像素块)或特定元数据例如参考图片运动矢量、块形状等。预测器(335)可以基于样本块逐像素块进行操作,以找到适当的预测参考。在一些情况下,如由预测器(335)获得的搜索结果所确定的,输入图片可以具有从参考图片存储器(334)中存储的多个参考图片取得的预测参考。
控制器(350)可以管理源编码器(330)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群组参数。
对所有以上提及的功能单元的输出可以在熵编码器(345)中经受熵编码。熵编码器(345)通过根据诸如霍夫曼编码、可变长度编码、算术编码等的技术对由各种功能单元生成的符号进行无损压缩来将这些符号转换为已编码视频序列。
传输器(340)可以缓存由熵编码器(345)创建的已编码视频序列,以为经由通信通道(360)进行传输做准备,该通信通道(360)可以是到将存储已编码视频数据的存储设备的硬件/软件链路。传输器(340)可以将来自视频编码器(303)的已编码视频数据与要传输的其他数据例如已编码音频数据和/或辅助数据流(未示出源)合并。
控制器(350)可以管理视频编码器(303)的操作。在编码期间,控制器(350)可以为每个已编码图片分配某一编码图片类型,这可能影响可以应用于相应图片的编码技术。例如,通常可以将图片分配为以下图片类型中之一:
帧内图片(I图片),其可以是可以在不将序列中的任何其他图片用作预测源的情况下编码和解码的图片。一些视频编解码器允许不同类型的帧内图片,包括例如独立解码器刷新(“IDR”)图片。本领域技术人员了解I图片的那些变型及其相应应用和特征。
预测性图片(P图片),其可以是可以使用利用至多一个运动矢量和参考索引来预测每个块的样本值的帧间预测或帧内预测进行编码和解码的图片。
双向预测性图片(B图片),其可以是可以使用利用至多两个运动矢量和参考索引来预测每个块的样本值的帧间预测或帧内预测进行编码和解码的图片。类似地,多预测性图片可以使用多于两个参考图片和相关联的元数据以用于重构单个块。
源图片通常可以在空间上细分为多个样本块(例如,分别为4×4、8×8、4×8或16×16样本的块),并且在逐块的基础上进行编码。可以参考其他(已编码)块对这些块进行预测性编码,所述其他块通过应用于块的相应图片的编码分配来确定。例如,可以对I图片的块进行非预测性编码,或者可以参考同一图片的已编码块对I图片的块进行预测性编码(空间预测或帧内预测)。可以参考一个先前已编码参考图片经由空间预测或经由时间预测对P图片的像素块进行预测性编码。可以参考一个或两个先前已编码参考图片经由空间预测或经由时间预测对B图片的块进行预测性编码。
视频编码器(303)可以根据诸如ITU-T H.265建议书的标准或预定视频编码技术执行编码操作。在视频编码器(303)的操作中,视频编码器(303)可以执行各种压缩操作,包括利用输入视频序列中的时间冗余和空间冗余的预测性编码操作。因此,已编码视频数据可以符合由所使用的视频编码技术或标准指定的语法。
在实施方式中,传输器(340)可以随着已编码视频一起传输附加数据。源编码器(330)可以包括这样的数据作为已编码视频序列的一部分。附加数据可以包括时间/空间/SNR增强层、其他形式的冗余数据例如冗余图片和切片、SEI消息、VUI参数集片段等。
可以按时间序列将视频捕获为多个源图片(视频图片)。帧内图片预测(通常被简称为帧内预测)利用给定图片中的空间相关性,而帧间图片预测利用图片之间的(时间或其他)相关性。在示例中,编码/解码中的特定图片——其被称为当前图片——被分割为块。在当前图片中的块与视频中先前已编码且仍被缓存的参考图片中的参考块类似的情况下,可以通过被称作运动矢量的矢量对当前图片中的块进行编码。运动矢量指向参考图片中的参考块,并且在使用多个参考图片的情况下,运动矢量可以具有识别参考图片的第三维度。
在一些实施方式中,在帧间图片预测中可以使用双向预测技术。根据双向预测技术,使用两个参考图片,例如按解码顺序均在视频中的当前图片之前(但是按显示顺序可能分别是过去和将来)的第一参考图片和第二参考图片。可以通过指向第一参考图片中的第一参考块的第一运动矢量和指向第二参考图片中的第二参考块的第二运动矢量对当前图片中的块进行编码。可以通过第一参考块和第二参考块的组合来预测块。
此外,可以在帧间图片预测中使用合并模式技术以提高编码效率。
根据本公开内容的一些实施方式,诸如帧间图片预测和帧内图片预测的预测以块为单位执行。例如,根据HEVC标准,将视频图片序列中的图片分割为编码树单元(CTU)以用于压缩,图片中的CTU具有相同的大小例如64×64像素、32×32像素或16×16像素。通常,CTU包括三个编码树块(CTB),所述三个编码树块是一个亮度CTB和两个色度CTB。每个CTU可以递归地以四叉树分成一个或多个编码单元(CU)。例如,可以将64×64像素的CTU分成一个64×64像素的CU、或4个32×32像素的CU、或16个16×16像素的CU。在示例中,对每个CU进行分析以确定用于该CU的预测类型,例如帧间预测类型或帧内预测类型。根据时间和/或空间可预测性,将CU分成一个或更多个预测单元(PU)。通常,每个PU包括亮度预测块(PB)和两个色度PB。在实施方式中,译码(编码/解码)中的预测操作以预测块为单位执行。使用亮度预测块作为预测块的示例,该预测块包括像素的值(例如,亮度值)的矩阵,例如8×8像素、16×16像素、8×16像素、16×8像素等。
注意可以使用任何合适的技术来实施视频编码器(103)和(303)以及视频解码器(110)和(210)。在实施方式中,可以使用一个或更多个集成电路来实施视频编码器(103)和(303)以及视频解码器(110)和(210)。在另一实施方式中,可以使用执行软件指令的一个或更多个处理器来实施视频编码器(103)和(303)以及视频解码器(110)和(210)。
本公开内容的各方面提供了在帧间预测模式的情况下使用的技术,该帧间预测模式被称为具有运动矢量差的合并(MMVD),并且提高了编码性能。
各种帧间预测模式可以用于视频编码中。例如,在VVC中,对于帧间预测CU,运动参数可以包括MV、一个或更多个参考图片索引、参考图片列表使用索引和将用于帧间预测样本生成的某些编码特征的附加信息。可以明确地或隐含地用信号指示运动参数。当以跳过模式编码CU时,CU可以与PU相关联并且不具有有效残差系数、不具有编码运动矢量变化或MV差(例如,MVD)或参考图片索引。可以指定合并模式,其中从相邻CU获得当前CU的运动参数,包括空间候选和/或时间候选,并且可选地包括诸如在VVC中引入的附加信息。合并模式可以应用于帧间预测的CU,而不仅针对跳过模式。在示例中,合并模式的替选方案是运动参数的显式传输,其中,针对CU显式地用信号指示MV、每个参考图片列表的相应参考图片索引以及参考图片列表使用标志和其他信息。
在实施方式中,例如在VVC中,VVC测试模型(VTM)参考软件包括一个或更多个改进的帧间预测编码工具,所述改进的帧间预测编码工具包括:扩展合并预测、合并运动矢量差(MMVD)模式、具有对称MVD信令的自适应运动矢量预测(AMVP)模式、仿射运动补偿预测、基于子块的时间运动矢量预测(SbTMVP)、自适应运动矢量分辨率(AMVR)、运动场存储(第1/16亮度样本MV存储和8×8运动场压缩)、具有CU级权重的双向预测(BCW)、双向光流(BDOF)、使用光流的预测细化(PROF)、解码器侧运动矢量细化(DMVR)、组合的帧间和帧内预测(CIIP)、几何分割模式(GPM)等。下面详细描述帧间预测和相关方法。
在一些示例中可以使用扩展合并预测。在示例中,例如在VTM4中,通过按顺序包括以下五种类型的候选来构建合并候选列表:来自空间相邻CU的空间运动矢量预测器(MVP)、来自并置CU的时间MVP、来自先进先出(FIFO)表的基于历史的MVP(HMVP)、成对平均MVP和零MV。
合并候选列表的大小可以在切片报头中用信号指示。在示例中,在VTM4中,合并候选列表的最大允许大小是6。对于在合并模式下编码的每个CU,可以使用截断的一元二值化(TU)来编码最佳合并候选的索引(例如,合并索引)。合并索引的第一仓可以用上下文来编码(例如,上下文自适应二进制算术编码(CABAC)),并且旁路编码可以用于其他仓。
下面提供了每个类别的合并候选的生成处理的一些示例。在实施方式中,如下得出空间候选。VVC中的空间合并候选的得出可以与HEVC中的空间合并候选的得出相同。在示例中,在位于图4所描绘位置的候选中选择最多四个合并候选。
图4示出了根据本公开内容的实施方式的空间合并候选的位置。参照图4,得出的顺序是B1、A1、B0、A0和B2。仅在位置A0、B0、B1和A1的任何CU不可用(例如,由于CU属于另一切片或另一图块)或被帧内编码时才考虑位置B2。在添加位置A1处的候选之后,其余候选的添加经受冗余校验,这确保从候选列表中排除具有相同运动信息的候选,从而提高编码效率。
为了降低计算复杂度,在所提到的冗余校验中,不是所有可能的候选对都被考虑。相反,仅考虑图5中用箭头链接的对,并且仅在用于冗余校验的相应候选不具有相同运动信息时才将候选添加到候选列表。
图5示出了根据本公开内容的实施方式的被考虑用于空间合并候选的冗余校验的候选对。参照图5,用相应箭头链接的对包括A1和B1、A1和A0、A1和B2、B1和B0、以及B1和B2。因此,可以将位置B1、A0和/或B2处的候选与位置A1处的候选进行比较,并且可以将位置B0和/或B2处的候选与位置B1处的候选进行比较。
在实施方式中,如下得出时间候选。在示例中,仅将一个时间合并候选添加到候选列表。图6示出了用于时间合并候选的示例性运动矢量缩放。为了得出当前图片(601)中的当前CU(611)的时间合并候选,可以基于属于并置参考图片(604)的同位CU(612)来得出缩放MV(621)(例如,图6中的虚线所示)。用于得出同位CU(612)的参考图片列表可以在切片报头中明确地用信号表示。可以获得用于时间合并候选的缩放MV(621),如图6中的虚线所示。缩放MV(621)可以使用图片顺序计数(POC)距离tb和td从同位CU(612)的MV进行缩放。可以将POC距离tb定义为当前图片(601)的当前参考图片(602)与当前图片(601)之间的POC差。可以将POC距离td定义为同位图片(603)的并置参考图片(604)与同位图片(603)之间的POC差。可以将时间合并候选的参考图片索引设置为零。
图7示出了当前CU的时间合并候选的示例性候选位置(例如,C0和C1)。可以从候选位置C0和C1中选择时间合并候选的位置。候选位置C0位于当前CU的同位CU(710)的右下角。候选位置C1位于当前CU的同位CU(710)的中心。如果候选位置C0处的CU不可用、被帧内编码或在CTU的当前行之外,则使用候选位置C1得出时间合并候选。否则,例如,候选位置C0处的CU可用、被帧间编码、以及在CTU的当前行中,使用候选位置C0得出时间合并候选。
在合并模式下,在一些示例中,隐含地得出的运动信息可以用于预测CU(例如,当前CU)的样本。在一些示例中,例如,在VVC中使用具有运动矢量差的合并(MMVD)模式。MMVD模式用于利用运动矢量表达方法的跳过或合并模式。在一些示例中,例如,在用信号通知常规合并标志(例如,跳过标志或合并标志)之后,MMVD合并标志可以用信号通知以指定MMVD模式是否用于CU。
在MMVD中,在从常规合并列表中选择合并候选之后,通过用信号通知的MVD信息进一步细化合并候选。在一些示例中,MMVD重新使用来自常规合并列表的合并候选。在常规合并列表中的合并候选中,可以选择候选,并且通过运动矢量表达方法进一步扩展该候选。MMVD提供具有简化信令的运动矢量表达。在一些示例中,运动矢量表达方法包括起始点、运动幅度和运动方向。
在一些示例(例如,VVC)中,MMVD技术可以使用合并候选列表来选择起始点的候选。然而,在示例中,只有默认合并类型(MRG_TYPE_DEFAULT_N)的候选才被考虑用于MMVD的扩展。
在一些示例中,使用基本候选索引来定义起始点。基本候选索引指示列表中的候选中的最佳候选,如表1中所示的。例如,列表是具有运动矢量预测器(MVP)的合并候选列表。基本候选索引可以指示合并候选列表中的最佳候选。
表1——基本候选索引(IDX)的示例
注意,在示例中,基本候选的数目等于1,那么基本候选IDX不用信号通知。
在MMVD模式下,在选择合并候选(也被称为MV基础或MV起始点)之后,可以通过附加信息例如用信号通知的MVD信息来细化合并候选。附加信息可以包括用于指定运动幅度的索引(诸如,距离索引例如mmvd_distance_idx[x0][y0])和用于指示运动方向的索引(诸如,方向索引例如mmvd_direction_idx[x0][y0])。在一些示例中,在MMVD模式下,可以选择(常规)合并列表中的前两个候选之一作为MV基础。例如,合并候选标志(例如,mmvd_cand_flag[x0][y0])指示合并列表中的前两个候选之一。合并候选标志可以用信号通知以指示(例如,指定)前两个候选中的哪一个被选择。附加信息可以向MV基础指示MVD(或运动偏移)。例如,运动幅度指示MVD的幅度,运动方向指示MVD的方向。
在示例中,从合并候选列表中选择的合并候选用于在参考图片处提供起始点或MV起始点。当前块的运动矢量可以用起始点和运动偏移(或MVD)来表达,该运动偏移(或MVD)包括相对于起始点的运动幅度和运动方向。在编码器侧,对合并候选的选择和对运动偏移的确定可以基于搜索处理(评估处理),例如图8中所示的。在解码器侧,可以基于来自编码器侧的信令确定所选择的合并候选和运动偏移。
图8示出了在MMVD模式下的搜索处理(800)的示例。图9示出了在MMVD模式下的搜索点的示例。在一些示例中,在图8中的搜索处理(800)中使用图9中的搜索点的子集或整个集合。通过例如在编码器侧执行搜索处理(800),可以针对当前图片(或当前帧)中的当前块(801)确定包括合并候选标志(例如,mmvd_cand_flag[x0][y0])、距离索引(例如,mmvd_distance_idx[x0][y0])和方向索引(例如,mmvd_direction_idx[x0][y0]])的附加信息。
示出了属于第一合并候选的第一运动矢量(811)和第二运动矢量(821)。第一运动矢量(811)和第二运动矢量(821)是在搜索处理(800)中使用的MV起始点。第一合并候选可以是关于针对当前块(801)构建的合并候选列表的合并候选。第一运动矢量(811)和第二运动矢量(821)可以分别与参考图片列表L0和L1中的两个参考图片(802)和(803)相关联。参照图8至图9,第一运动矢量(811)和第二运动矢量(821)可以分别指向参考图片(802)和(803)中的两个起始点(911)和(921),如图9中所示的。
参照图9,可以在参考图片(802)和(803)处确定图9中的两个起始点(911)和(921)。在示例中,基于起始点(911)和(921),可以评估在参考图片(802)和(803)中从起始点(911)和(921)起沿垂直方向(由+Y或-Y表示)或水平方向(由+X和-X表示)延伸的多个预定义点。在一个示例中,可以使用相对于相应起始点(911)或(921)彼此镜像的点对诸如点对(914)和(924)(例如,由图8中的1S的移位指示)或者点对(915)和(925)(例如,由图8中的2S的移位指示)来确定当前块(801)的运动矢量对(例如,图8中的MV(813)和(823))。可以评估基于围绕起始点(911)或(921)的预定义点确定的运动矢量(例如,图8中的MV(813)和(823))。
距离索引(例如,mmvd_distance_idx[x0][y0])可以指定运动幅度信息,并且指示距由合并候选标志指示的起始点的预定义偏移(例如,图8中的1S或2S)。注意,在示例中,预定义偏移也被称为MMVD步长。
参照图8,偏移(例如,MVD(812)或MVD(822))可以应用于(例如,添加至)起始MV(例如,MV(811)或(821))的水平分量或垂直分量。表2中指定了距离索引(IDX)和预定义偏移的示例性关系。当全像素MMVD关闭,例如,全像素MMVD标志(例如,slice_fpel_mmvd_enabled_flag)等于0时,MMVD预定义偏移的范围可以从1/4个亮度样本至32个亮度样本。当全像素MMVD关闭时,预定义偏移可以具有非整数值,例如亮度样本的分数(例如,1/4像素或1/2像素)。当全像素MMVD打开,例如,全像素MMVD标志(例如,slice_fpel_mmvd_enabled_flag)等于1时,MMVD预定义偏移的范围可以从1个亮度样本至128个亮度样本。在示例中,当全像素MMVD打开时,预定义偏移仅具有整数值,例如一个或更多个亮度样本。
表2——距离索引和偏移(例如,预定义偏移)的示例性关系
方向索引可以表示MVD相对于起始点的方向(或运动方向)。在示例中,方向索引表示表3中所示的四个方向之一。表3中的MVD符号的含义可以根据起始MV的信息而变化。在示例中,当起始MV是单向预测MV或者起始MV是双向预测MV,其中,两个参考列表指向当前图片的同一侧(例如,两个参考图片的POC都大于当前图片的POC或者两个参考图片的POC都小于当前图片的POC)时,表3中MVD符号指定被添加至起始MV的MV偏移(或MVD)的符号。
当起始MV是双向预测MV,其中,两个MV指向当前图片的不同侧(例如,一个参考图片的POC大于当前图片的POC,并且另一参考图片的POC小于当前图片的POC)时,表3中的MVD符号指定添加至起始MV的列表0MV分量的MV偏移(或MVD)的符号,并且列表1MV的MVD符号具有相反的值。参照图8,起始MV(811)和(821)是双向预测MV,其中,两个MV(811)和(821)指向当前图片的不同侧。LI参考图片(803)的POC大于当前图片的POC,并且L0参考图片(802)的POC小于当前图片的POC。由表3中的方向索引(例如,00)指示的MVD符号(例如,x轴的符号“+”)指定添加至起始MV(例如,(811))的列表0MV分量的MVD(例如,MVD(812))的符号(例如,x轴的符号“+”),并且用于起始MV(例如,(821))的列表1MV分量的MVD(822)的MVD符号具有相反的值,例如与MVD(812)的符号“+”相反的符号“-”。
参照表3,方向索引00指示x轴上的正方向,方向索引01指示x轴上的负方向,方向索引10指示y轴上的正方向,以及方向索引11指示y轴上的负方向。
表3——MV偏移的符号与方向索引之间的示例性关系
方向IDX | 00 | 01 | 10 | 11 |
x轴 | + | - | N/A | N/A |
y轴 | N/A | N/A | + | - |
在一些示例中,MVD可以在每个方向上根据POC的差进行缩放。在示例中,当两个列表中的POC的差相同时,不需要缩放。否则,当列表0中的POC的差大于列表1中的POC的差时,通过参照图6所描述的将L0的POC差定义为td并且将L1的POC差定义为tb来缩放列表1的MVD。如果L1的POC差大于L0,则以类似方式缩放列表0的MVD。当对起始MV进行单向预测时,MVD被添加至可用MV。
在一些示例中,针对双向预测情况添加一侧MMVD位置。对于一侧MMVD(也被称为仿射MMVD),单独的MVD可以独立地用于每个列表。在示例中,将非零MVD应用于列表X(X为0或1),以及将零MVD应用于列表(1-X)。在一些示例中,可以根据模板匹配成本以升序对所有可能的MMVD候选进行重新排序。
在一些示例中,在发送跳过标志和合并标志之后,MMVD标志立即用信号通知。如果跳过标志和合并标志为真,则解析MMVD标志。如果MMVD标志等于1,则解析MMVD语法。
为了增加合并模式的MV的准确度,可以例如在VVC中应用基于双边匹配(BM)的解码器侧运动矢量细化。在双向预测操作中,可以在参考图片列表L0和参考图片列表L1中的初始MV周围搜索细化MV。BM方法可以计算参考图片列表L0和列表L1中的两个候选块之间的失真。
图10示出了基于BM的解码器侧运动矢量细化的示例性示意图。如图10中所示,当前图片(1002)可以包括当前块(1008)。当前图片可以包括参考图片列表L0(1004)和参考图片列表L1(1006)。对于当前块(1008),可以根据初始运动矢量MV0来定位参考图片列表L0(1004)中的初始参考块(1012),并且可以根据初始运动矢量MV1来定位参考图片列表L1(1006)中的初始参考块(1014)。可以围绕参考图片列表L0(1004)中的初始MV0和参考图片列表L1(1006)中的初始MV1执行搜索处理。例如,可以在参考图片列表L0(1004)中识别第一候选参考块(1010),并且可以在参考图片列表L1(1006)中识别第一候选参考块(1016)。可以计算基于初始MV(例如,MV0和MV1)周围的每个MV候选(例如,MV0’和MV1’)的候选参考块(例如,(1010)和(1016))之间的SAD。具有最低SAD的MV候选可以成为细化的MV并且用于生成双向预测信号以预测当前块(1008)。
在一些示例(例如,VVC)中,在块级处隐含地应用DMVR,而不需要在比特流中用信号通知辅助信息。如果块满足某些条件,则调用DMVR算法。例如,条件(也被称为DMVR的要求或DMVR的一组条件)可以包括:
(1)具有双向预测MV的CU级合并模式,
(2)相对于当前图片,一个参考图片在过去并且另一参考图片在将来,
(3)从两个参考图片至当前图片的距离(例如,POC差)相同,
(4)两个参考图片是短期参考图片,
(5)CU具有多于64个亮度样本,
(6)CU高度和CU宽度二者大于或等于8个亮度样本,
(7)BCW权重索引指示相等的权重,
(8)针对当前块不启用加权预测(WP),以及
(9)CIIP模式不用于当前块。
在一些示例(例如,VVC)中,将解码器侧运动矢量细化(DMVR)应用于以常规合并模式编码的CU。从常规合并候选获得的MV对被用作DMVR处理的输入。DMVR应用双边匹配(BM)来细化输入MV对{mvL0,mvL1},并且使用经细化的MV对{mvrefinedL0,MVrefinedL1}以用于亮度分量和色度分量二者的运动补偿预测,如图10中所示的。DMVR的输出MV可以被称为经细化的MV对,并且可以由以下等式(1)表示:
因为输入MV对指向两个不同的参考图片,所以将运动矢量差Δmv应用于输入MV对以通过使用MVD镜像属性来获得经细化的MV对,所述两个不同的参考图片与当前图片具有相等的图片顺序计数(POC)差,并且这两个参考图片在不同的时间方向处。
在一些示例中,在DMVR中,亮度编码块被划分成16×16个子块,以用于MV细化处理。针对每个子块以以下两个步骤独立地得出Δmv,例如整数精度运动搜索步骤(也被称为整数样本偏移搜索),然后是分数运动搜索步骤(也被称为分数样本偏移搜索)。最后,使用经细化的MV对{mvrefinedL0,mvrefinedL1}来应用子块运动补偿(MC)。
根据本公开内容的一方面,在DMVR的整数精度运动搜索步骤中,搜索空间包括可以由以下等式(2)表示的25个MV候选对:
其中,(i,j)表示初始MV对周围的搜索点的坐标,并且在示例中,i和j是-2与2(包括-2和2)之间的整数值。在一些示例中,首先计算初始MV对的SAD,并且可以根据以下等式(3)计算SAD:
在等式(3)中,W和H表示子块的权重和高度,P0i,j[m+i,2n+j]和P1i,j[m-i,2n-j]表示两个参考图片中的对应样本。当初始MV对的SAD小于阈值时,DMVR的整数精度运动搜索步骤终止。否则,例如以光栅扫描顺序计算和校验其余24个点的SAD。选择具有最小SAD的点作为整数精度运动搜索步骤的输出。在一些示例中,为了减少DMVR细化的不确定性的惩罚,可能在DMVR处理期间偏向于原始MV。在示例中,由初始MV候选所参考的参考块之间的SAD减少了SAD值的1/4,因此可以偏向于初始MV候选。
在DMVR中的分数运动搜索步骤(分数样本偏移搜索)中,进一步细化在整数精度运动搜索步骤(整数样本偏移搜索步骤)中选择的候选MV对。在一些示例中,为了减小计算复杂度,通过使用参数误差表面方程而不是用SAD比较进行的额外搜索来得出分数样本细化。基于整数样本偏移搜索步骤的输出有条件地调用分数样本细化。当在第一次迭代或第二次迭代搜索中在具有最小SAD的中心的情况下终止整数样本偏移搜索步骤时,进一步应用分数样本细化。在基于参数误差表面的子像素偏移估计中,中心位置成本和距中心的四个相邻位置处的成本(例如,在整数精度运动搜索的第一步骤中)用于适用于2维抛物线误差表面等式,例如以下等式(4):
SAD(x,y)=α(x-xmin)2+β(y-ymin)2+γ 等式(4)
其中,(xmin,ymin)与具有最小成本的分数位置相对应,以及γ与最小成本值相对应。等式(4)适用于第一步骤中计算的25个SAD成本中的5个,以确定5个未知参数,即,α、β、γ、xmin和ymin。通过使用五个搜索点的成本值来求解等式(4),例如根据以下等式(5)和等式(6)来计算(xmin,ymin):
xmin=(E(-1,0)-E(1,0))/(2(E(-1,0)+E(1,0)-2E(0,0))) 等式(5)
ymin=(E(0,-1)-E(0,1))/(2((E(0,-1)+E(0,1)-2E(0,0))) 等式(6)
在等式(5)和等式(6)中,E(-1,0)、E(1,0)、E(1,0)、E(0,-1)和E(0,0)表示5个点处的成本值。xmin和ymin的值自动约束在-8与8之间,因为所有成本值是正的并且最小值是E(0,0)。在VVC中约束与具有第1/16像素MV准确度的半像素偏移相对应。计算的分数(xmin,ymin)可以被添加至整数距离细化MV,以获得子像素准确的细化变化MV。
被称为双向光流(BDOF)的技术可以用于例如VVC中的示例。BDOF在JEM中先前被称为BIO。与JEM版本相比,VVC中的BDOF可以是更简单的版本,所述更简单的版本需要更少的计算,特别是在乘法的次数和乘法器大小方面。
BDOF可以用于在4×4子块级处细化CU的双向预测信号。如果CU满足以下条件(也被称为BDOF的要求或BDOF的一组条件),则可以将BDOF应用于CU:
(1)使用“真”双向预测模式对CU进行编码,即,两个参考图片之一在显示顺序上在当前图片之前,并且另一参考图片在显示顺序上在当前图片之后,
(2)从两个参考图片至当前图片的距离(例如,POC差)相同,
(3)两个参考图片是短期参考图片,
(4)不使用仿射模式或SbTMVP合并模式对CU进行编码,
(5)CU具有多于64个亮度样本,
(6)CU高度和CU宽度二者大于或等于8个亮度样本,
(7)BCW权重索引指示相等的权重,
(8)针对当前CU不启用加权预测(WP),以及
(9)CIIP模式不用于当前CU。
在一些示例中,将BDOF仅应用于亮度分量。如BDOF的名称指示的那样,BDOF模式可以基于光流构思,该光流构思假设对象的运动平滑。对于每个4×4子块,可以通过使L0与L1预测样本之间的差最小化来计算运动细化(vx,vy)。然后可以使用运动细化来调整4×4子块中的双向预测样本值。BDOF可以包括以下步骤。
首先,可以通过直接计算两个相邻样本之间的差来计算来自参考列表L0和参考列表L1的两个预测信号的水平梯度和垂直梯度和/>k=0,1。水平梯度和垂直梯度可以在如下等式(7)和等式(8)中提供:
其中,I(k)(i,j)可以是列表k(k=0,1)中的预测信号的坐标(i,j)处的样本值,并且可以基于亮度比特深度bitDepth来计算shift1,如shift1=max(6,bitDepth-6)。
然后,可以根据如下等式(9)至(13)计算梯度S1、S2、S3、S5和S6的自相关和互相关:
S1=∑(i,j)∈ΩAbs(ψx(i,j)), 等式(9)
S2=∑(i,j)∈Ωψx(i,j))·Sign(ψy(i,j)) 等式(10)
S3=∑(i,j)∈Ωθ(i,j)·Sign(ψx(i,j)) 等式(11)
S5=∑(i,j)∈ΩAbs(ψy(i,j) 等式(12)
S6=∑(i,j)∈Ωθ(i,j)·Sign(ψy(i,j)) 等式(13)
其中,ψx(i,j)、ψy(i,j)和θ(i,j)可以分别在以下等式(14)至(16)中提供。
θ(i,j)=(I(1)(i,j)>>nb)-(I(0)(i,j)>>nb) 等式(16)
其中,Ω可以是4×4子块周围的6×6窗口,以及na的值和nb的值可以分别设置成等于min(1,bitDepth-11)和min(4,bitDepth-8)。
然后,可以使用互相关项和自相关项,使用如下等式(17)和(18)来得出运动细化(vx,vy):
其中,th′BIO=2max(5,BD-7)。/>是地板函数,以及/>基于运动细化和梯度,可以基于以下等式(19)针对4×4子块中的每个样本计算调整:
最后,CU的BDOF样本可以通过调整如下等式(20)中的双向预测样本来计算:
predBDOF(x,y)=(I(0)(x,y)+I(1)(x,y)+b(x,y)+ooffset)>>shift 等式(20)
可以选择值,使得BDOF处理中的乘法器不超过15比特,并且BDOF处理中的中间参数的最大比特宽度可以保持在32比特内。
在一些示例中,可以使用基于样本的BDOF而不是基于块的BDOF。
在一些示例中,可以使用多通道DMVR。在示例中,在第一通道中,将双边匹配(BM)应用于编码块。在第二通道中,将BM应用于编码块内的每个16×16子块。在第三通道中,通过应用双向光流(BDOF)来细化每个8×8子块中的MV。存储经细化的MV以用于空间和时间运动矢量预测二者。
注意,在一些示例中,当DMVR和BDOF中的至少一个可用于编码图片时,MMVD标志被隐式地得出为假,并且不能用信号通知。然后,MMVD不能再用于示例中的任何CU,并且由于MMVD被禁止,存在编码损失。
本公开内容的各方面提供了允许MMVD用于对图片进行编码的技术,即使当DMVR和BDOF中的至少一个可用于对图片进行编码时也是如此。此外,在一些示例中,技术可以使各种编码方案的候选多样化。例如,当双向预测器的合并候选符合DMVR或BDOF时,合并候选受到MMVD的约束。因此,可以使用更多样化的编码方案来提高编码性能。在一些示例中,可以通过校验MMVD的基本索引的DMVR和BDOF的可用性来改进MMVD信令。
注意,技术可以单独使用或以任何顺序组合使用。在以下描述中,MMVD可以指代上面描述中的合并运动矢量差的技术或者任何变型。类似地,在以下描述中,DMVR、BDOF、MP-DMVR和基于样本的BDOF可以指代上面描述中的技术或任何变型。此外,技术可以由处理电路系统(例如,一个或更多个处理器或一个或更多个集成电路)来实现。在示例中,一个或更多个处理器执行存储在非暂态计算机可读介质中的程序。
根据本公开内容的一些方面,虽然当DMVR或BDOF可用于对图片进行编码时允许MMVD,但MMVD模式的基本候选选择受到约束,因此用于对图片进行编码的可用编码方案可以更多样化。在一些示例中,从常规合并候选列表中选择MMVD模式的基本候选。对于从MMVD模式的常规合并候选列表中选择合并候选,当合并候选的MV预测器是双向预测器并且双向预测运动细化方法中的至少一种例如DMVR或BDOF可以应用于合并候选时,合并候选不用于MMVD模式。换言之,当合并候选满足应用双向预测运动细化的要求时,不针对MMVD模式选择合并候选。
在一些实施方式中,MMVD的基本候选列表可以通过在常规合并候选列表中选择合并候选中的一个或更多个来基于常规合并候选列表中的合并候选而形成。基本候选列表中的候选可以用于确定MMVD的起始点。MMVD的基本候选列表中的候选的数目被设置成N,N是正整数。在示例(例如,VVC)中,N是2。为了形成MMVD的基本候选列表,在示例中,当常规合并候选列表中的合并候选满足应用双向预测运动细化的要求(例如,作为双向预测器并且可以应用双向预测运动细化方法中的至少一种例如DMVR或BDOF)时,那么合并候选将不被添加至MMVD的基本候选列表中。
在一些实施方式中,当MMVD推导的可用基本候选的数目小于N时,两个参考列表(双向预测)的零MV可以被添加至该列表中作为MMVD推导的基本候选。
在一些实施方式中,当MMVD推导的可用基本候选的数目小于N时,那么MV预测器,也就是说双向预测器和双向预测运动细化方法中的至少一种例如DMVR或BDOF可以应用在MV预测器上,可以被添加至列表中作为MMVD推导的基本候选。在示例中,可以校验常规合并候选列表中的合并候选。在第一轮中,当常规合并候选列表中的合并候选满足应用双向预测运动细化的要求(例如,作为双向预测器并且可以应用双向预测运动细化方法中的至少一种例如,DMVR或BDOF)时,那么合并候选将不被添加至MMVD的基本候选列表中。在第一轮之后,当MMVD的基本候选列表中的可用基本候选的数目小于N时,常规合并候选列表中的满足应用双向预测运动细化的要求的合并候选可以被添加至MMVD的基本候选列表中。
根据本公开内容的另一方面,MMVD模式的MMVD候选列表的构建受到约束。在示例中,当双向预测运动细化方法中的至少一种例如,DMVR或BDOF可以应用在编码块上时,具有添加至两个参考列表的MMVD偏移的双向预测MMVD候选(例如,两侧双向预测MMVD候选)可以不用作MMVD候选。
根据本公开内容的另一方面,在MMVD候选列表构建期间,MV偏移的不同定义可以用于不同类型的MMVD候选。在一些示例中,可以使用MV偏移的两个定义。当双向预测运动细化方法中的至少一种例如,DMVR或BDOF可以应用在编码块上时,MV偏移的第一定义用于两个参考列表的两侧双向预测MMVD候选,以及MV偏移的第二定义用于一侧双向预测MMVD候选(其中,MV偏移仅被添加至参考列表之一)或单向预测MMVD候选。在一些示例中,第一定义下的MV偏移(例如,两侧MMVD双向预测候选的MV偏移)可以在比第二定义下的MV偏移(例如,一侧双向预测MMVD候选或单向预测MMVD的MV偏移)大的值处开始。在示例中,可以通过使用DMVR和/或BDOF来实现相对小的MV偏移;以及可以通过使用MMVD来实现相对大的MV偏移。
在示例中,两侧双向预测MMVD候选的MV偏移的第一定义可以使用表4:
表4
距离IDX | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
偏移(以亮度样本为单位) | p+1/4 | p+1/2 | p+1 | p+2 | p+4 | p+8 | p+16 | p+32 |
在表4中,p是常数值,并且其典型值可以根据运动细化的搜索范围是4或8。一侧双向预测MMVD候选或单向预测MMVD的MV偏移的第二定义可以使用表2。根据表4的MV偏移大于根据表2的MV偏移。
图11示出了对根据本公开内容的实施方式的处理(1100)进行概述的流程图。处理(1100)可以用于视频编码器中。在各种实施方式中,处理(1100)由处理电路系统诸如执行视频编码器(103)的功能的处理电路系统、执行视频编码器(303)的功能的处理电路系统等执行。在一些实施方式中,处理(1100)以软件指令实现,因此当处理电路系统执行软件指令时,处理电路系统执行处理(1100)。处理在(S1101)处开始并且进行至(S1110)。
在(S1110)处,确定用于对图片中的当前块进行编码的帧间预测。
在(S1120)处,当前块的合并候选的运动矢量预测器是双向预测器。
在(S1130)处,确定当前块的合并候选是否满足应用双向预测运动细化的要求。在一些示例中,编码器需要确定在当前块上使用的帧间预测技术。在一些示例中,编码器使帧间预测技术多样化,并且确定可以实现最低率失真成本的最佳帧间预测技术。例如,当双向预测运动细化可以用在合并候选上时,可以针对MMVD约束(例如,从MMVD中排除)合并候选,使得可以将其他合并候选(例如,不能应用双向预测运动细化的其他合并候选)用在MMVD中。应用双向预测运动细化的要求可以是DMVR的要求和BDOF的要求中的至少一个。
在(S1140)处,当当前块的合并候选是双向预测器并且满足要求时,合并候选被约束以用于具有运动矢量差的合并(MMVD)模式中。
在(S1150)处,确定具有被约束以在MMVD模式下使用的合并候选的MMVD模式的基本候选列表。
在(S1160)处,根据MMVD模式的基本候选列表和运动矢量差(MVD)信息确定选择的基础。在一些示例中,编码器可以确定可以在各种帧间预测技术中提供最低率失真成本的选择的基础和MVD信息。
在(S1170)处,生成具有指示MMVD模式、来自基本候选列表的选择的基础和MVD信息的编码信息的比特流。
在一些示例中,应用双向预测运动细化的要求包括用于应用解码器侧运动矢量细化(DMVR)的第一组条件和用于应用双向光流(BDOF)细化的第二组条件中的至少一者。
在一些示例中,为了约束合并候选以在MMVD模式下使用,当合并候选满足要求时,将合并候选从MMVD模式的基本候选列表中排除在外(从MMVD模式的基本候选列表中排除)。MMVD模式的基本候选列表用于确定MMVD模式的起始点。
在一些示例中,当合并候选不满足要求时,将合并候选添加至MMVD模式的基本候选列表中。
在一些示例中,当合并候选是单向预测器时,将合并候选作为单向预测MMVD候选添加至MMVD模式的基本候选列表中。
在一些示例中,当合并候选是双向预测器并且满足要求时,将合并候选作为一侧双向预测MMVD候选添加至MMVD模式的基本候选列表中。对于一侧双向预测MMVD候选,将MVD应用于参考图片之一的MV。
在一些示例中,合并候选是来自合并模式的常规合并候选列表的常规合并候选,常规合并候选列表包括多个常规合并候选。分别测试多个常规合并候选以用于添加至MMVD模式的基本候选列表中。在测试了多个常规合并候选之后,当基本候选列表具有比预设数目少的候选时,可以将零运动矢量作为两侧双向预测MMVD候选添加至基本候选列表中。
在一些示例中,在对多个常规合并候选进行测试之后,当基本候选列表具有比预设数目少的候选时,将作为双向预测器并且满足要求的合并候选添加至基本候选列表中。在示例中,合并候选作为两侧双向预测MMVD候选被添加。在另一示例中,合并候选作为一侧双向预测MMVD候选被添加。在示例中,合并候选被添加在基本候选列表中的其他候选之后。
在一些示例中,根据MMVD模式的基本候选列表确定所选择的基础(起始点)。在示例中,响应于选择的基础是两侧双向预测MMVD候选而确定第一MV偏移。在另一示例中,响应于选择的基础是一侧双向预测MMVD候选或单向预测MMVD候选而确定第二MV偏移。第二MV偏移与第一MV偏移不同。在示例中,第一MV偏移大于第二MV偏移。
在示例中,响应于选择的基础是两侧双向预测MMVD候选而根据第一表确定第一MV偏移,第一表存储与距离索引相关联的第一MV偏移,例如表4。响应于选择的基础是一侧双向预测MMVD候选或单向预测MMVD候选而根据第二表确定第二MV偏移,第二表存储与距离索引相关联的第二MV偏移,例如表2。
然后,处理进行至(S1199)并且终止。
处理(1100)可以进行适当地调整。处理(1100)中的步骤可以被修改和/或省略。可以添加附加的步骤。可以使用任何合适的实现顺序。
图12示出了对根据本公开内容的实施方式的处理(1200)进行概述的流程图。处理(1200)可以用于视频解码器中。在各种实施方式中,处理(1200)由处理电路系统诸如执行视频解码器(110)的功能的处理电路系统、执行视频解码器(210)的功能的处理电路系统等执行。在一些实施方式中,处理(1200)以软件指令实现,因此当处理电路系统执行软件指令时,处理电路系统执行处理(1200)。处理在(S1201)处开始并且进行至(S1210)。
在(S1210)处,从编码视频比特流接收当前图片中的当前块的编码信息。编码信息包括语法元素以及指示具有运动矢量差的合并(MMVD)模式应用在当前块上的值。
在(S1220)处,响应于合并候选的运动矢量预测器是双向预测器,确定当前块的合并候选是否满足应用双向预测运动细化的要求。在示例中,要求是DMVR的要求。在另一示例中,要求是BDOF的要求。
在(S1230)处,当当前块的合并候选满足要求时,合并候选被约束以在MMVD模式下使用。
在(S1240)处,根据具有被约束以在MMVD模式下使用的合并候选的MMVD模式重构当前块。
在一些示例中,应用双向预测运动细化的要求包括用于应用解码器侧运动矢量细化(DMVR)的第一组条件和用于应用双向光流(BDOF)细化的第二组条件中的至少一者。
在一些示例中,为了约束合并候选以在MMVD模式下使用,当合并候选满足要求时,从MMVD模式的基本候选列表中排除合并候选。MMVD模式的基本候选列表用于确定MMVD模式的起始点。
在一些示例中,当合并候选不满足要求时,将合并候选添加至MMVD模式的基本候选列表中。
在一些示例中,当合并候选是单向预测器时,将合并候选作为单向预测MMVD候选添加至MMVD模式的基本候选列表中。
在一些示例中,当合并候选是双向预测器并且满足要求时,将合并候选作为一侧双向预测MMVD候选添加至MMVD模式的基本候选列表中。对于一侧双向预测MMVD候选,将MVD应用于参考图片之一的MV。
在一些示例中,合并候选是来自合并模式的常规合并候选列表的常规合并候选,常规合并候选列表包括多个常规合并候选。分别测试多个常规合并候选以用于添加至MMVD模式的基本候选列表中。在测试了多个常规合并候选之后,当基本候选列表具有比预设数目少的候选时,可以将零运动矢量作为两侧双向预测MMVD候选添加至基本候选列表中。
在一些示例中,在测试了多个常规合并候选之后,当基本候选列表具有比预设数目少的候选时,将作为双向预测器并且满足要求的合并候选添加至基本候选列表中。在示例中,合并候选作为两侧双向预测MMVD候选被添加。在另一示例中,合并候选作为一侧双向预测MMVD候选被添加。在示例中,合并候选被添加在基本候选列表中的其他候选之后。
在一些示例中,为了重构当前块,根据MMVD模式的基本候选列表确定选择的基础(起始点)。在示例中,响应于选择的基础是两侧双向预测MMVD候选而确定第一MV偏移。在另一示例中,响应于选择的基础是一侧双向预测MMVD候选或单向预测MMVD候选而确定第二MV偏移。第二MV偏移与第一MV偏移不同。在示例中,第一MV偏移大于第二MV偏移。
在示例中,响应于选择的基础是两侧双向预测MMVD候选而根据第一表确定第一MV偏移,第一表存储与距离索引相关联的第一MV偏移,例如表4。响应于选择的基础是一侧双向预测MMVD候选或单向预测MMVD候选而根据第二表确定第二MV偏移,第二表存储与距离索引相关联的第二MV偏移,例如表2。
然后,处理进行至(S1299)并且终止。
处理(1200)可以进行适当地调整。处理(1200)中的步骤可以被修改和/或省略。可以添加附加的步骤。可以使用任何合适的实现顺序。
上面描述的技术可以实现为使用计算机可读指令的计算机软件并且物理地存储在一个或更多个计算机可读介质中。例如,图13示出了适合于实现所公开的主题的某些实施方式的计算机系统(1300)。
可以使用任何合适的机器代码或计算机语言对计算机软件进行编码,机器代码或计算机语言可以经受汇编、编译、链接等机制以创建包括如下指令的代码,所述指令可以由一个或更多个计算机中央处理单元(CPU)、图形处理单元(GPU)等直接执行或者通过解译、微代码执行等来执行。
指令可以在各种类型的计算机或其部件上执行,包括例如个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等。
图13中示出的用于计算机系统(1300)的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能提出任何限制。部件的配置也不应当被解释为具有与计算机系统(1300)的示例性实施方式中示出的部件中的任何一个部件或部件的组合有关的任何依赖性或要求。
计算机系统(1300)可以包括某些人机接口输入设备。这样的人机接口输入设备可以对由一个或更多个人类用户通过例如触觉输入(例如:击键、滑动、数据手套移动)、音频输入(例如:语音、拍打)、视觉输入(例如:姿势)、嗅觉输入(未描绘)进行的输入作出响应。人机接口设备还可以用于捕获不一定与人类的意识输入直接相关的某些媒体,例如,音频(例如:语音、音乐、环境声音)、图像(例如:扫描的图像、从静态图像摄像装置获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
人机接口输入设备可以包括下述中的一个或更多个(描绘了每者中的仅一个):键盘(1301)、鼠标(1302)、触控板(1303)、触摸屏(1310)、数据手套(未示出)、操纵杆(1305)、麦克风(1306)、扫描仪(1307)、摄像装置(1308)。
计算机系统(1300)还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感官。这样的人机接口输出设备可以包括:触觉输出设备(例如,通过触摸屏(1310)、数据手套(未示出)或操纵杆(1305)进行的触觉反馈,但是也可以存在不用作输入设备的触觉反馈设备);音频输出设备(例如:扬声器(1309)、头戴式耳机(未描绘));视觉输出设备(例如,屏幕(1310),包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕,每者均具有或不具有触摸屏输入能力,每者均具有或不具有触觉反馈能力——其中的一些可能能够通过诸如立体图像输出的方式输出二维视觉输出或多于三维输出;虚拟现实眼镜(未描绘);全息显示器和烟罐(未描绘));以及打印机(未描绘)。
计算机系统(1300)还可以包括人类可以访问的存储设备及其相关联的介质,例如,包括具有CD/DVD等介质(1321)的CD/DVD ROM/RW
(1320)的光学介质、拇指驱动器(1322)、可移除硬盘驱动器或固态驱动器(1323)、诸如磁带和软盘(未描绘)的传统磁性介质、基于专用ROM/ASIC/PLD的设备例如安全加密狗(未描绘)等。
本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其他瞬态信号。
计算机系统(1300)还可以包括到一个或更多个通信网络(1355)的接口(1354)。网络可以例如是无线的、有线的、光学的。网络还可以是局域的、广域的、城域的、车载和工业的、实时的、延时容忍的等。网络的示例包括:局域网例如以太网;无线LAN;包括GSM、3G、4G、5G、LTE等的蜂窝网络;包括线缆TV、卫星TV和地面广播TV的TV有线或无线广域数字网络;包括CANBus的车辆和工业等。某些网络通常需要附接至某些通用数据端口或外围总线(1349)(诸如,例如计算机系统(1300)的USB端口)的外部网络接口适配器;其他网络通常通过附接至如下所述的系统总线(例如,到PC计算机系统中的以太网接口或者到智能电话计算机系统中的蜂窝网络接口)集成到计算机系统(1300)的核中。使用这些网络中的任何网络,计算机系统(1300)可以与其他实体进行通信。这样的通信可以是仅单向接收的(例如,广播TV)、仅单向发送的(例如,至某些CAN总线设备的CAN总线)、或双向的,例如,到使用局域数字网络或广域数字网络到其他计算机系统。可以在如上所述的这些网络和网络接口中的每一个上使用某些协议和协议栈。
上面提及的人机接口设备、人类可访问的存储设备和网络接口可以附接至计算机系统(1300)的核(1340)。
核(1340)可以包括一个或更多个中央处理单元(CPU)(1341)、图形处理单元(GPU)(1342)、现场可编程门区域(FPGA)(1343)形式的专用可编程处理单元、用于某些任务的硬件加速器(1344)、图形适配器(1350)等。这些设备连同只读存储器(ROM)(1345)、随机存取存储器(1346)、内部大容量存储装置(1347)例如内部非用户可访问的硬盘驱动器、SSD等可以通过系统总线(1348)连接。在一些计算机系统中,系统总线(1348)可以以一个或更多个物理插头的形式访问,以使得能够通过附加的CPU、GPU等进行扩展。外围设备可以直接地或通过外围总线(1349)附接至核的系统总线(1348)。在示例中,屏幕(1310)可以连接至图形适配器(1350)。外围总线的架构包括PCI、USB等。
CPU(1341)、GPU(1342)、FPGA(1343)和加速器(1344)可以执行某些指令,这些指令组合起来可以构成以上提及的计算机代码。该计算机代码可以存储在ROM(1345)或RAM(1346)中。暂态数据也可以存储在RAM(1346)中,而永久数据可以存储在例如内部大容量存储装置(1347)中。可以通过使用缓存存储器来实现对存储器设备中的任何存储器设备的快速存储和检索,该缓存存储器可以与一个或更多个CPU
(1341)、GPU(1342)、大容量存储装置(1347)、ROM(1345)、RAM
(1346)等紧密相关联。
计算机可读介质在其上可以具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是出于本公开内容的目的而专门设计和构造的介质和计算机代码,或者介质和计算机代码可以具有计算机软件领域的技术人员公知且可用的类型。
作为示例而非限制,具有架构的计算机系统(1300)并且特别是核(1340)可以由于处理器(包括CPU、GPU、FPGA、加速器等)执行包含在一个或更多个有形计算机可读介质中的软件而提供功能。这样的计算机可读介质可以是与如以上所介绍的用户可访问的大容量存储装置相关联的介质、以及具有非暂态性的核(1340)的某些存储装置,例如,核内部大容量存储装置(1347)或ROM(1345)。实现本公开内容的各种实施方式的软件可以存储在这样的设备中并且由核(1340)执行。根据特定需要,计算机可读介质可以包括一个或更多个存储器设备或者芯片。软件可以使核(1340)并且特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文中描述的特定处理或特定处理的特定部分,包括限定存储在RAM(1346)中的数据结构以及根据由软件限定的处理修改这样的数据结构。另外地或作为替选,计算机系统可以由于逻辑硬连线或以其他方式体现在电路(例如:加速器(1344))中的结果而提供功能,所述逻辑硬连线或电路可以代替软件或与软件一起操作以执行本文中描述的特定处理或特定处理的特定部分。在适当的情况下,对软件的引用可以包含逻辑,并且对逻辑的引用也可以包含软件。在适当的情况下,对计算机可读介质的引用可以包含存储用于执行的软件的电路(例如集成电路(IC))、实施用于执行的逻辑的电路或上述两者。本公开内容包含硬件和软件的任何合适的组合。
本公开内容中“……中的至少一个”的使用旨在包括所述元素中的任何一个或组合。例如,对A、B或C中的至少一个;A、B和C中的至少一个;A、B和/或C中的至少一个;以及A至C中的至少一个的提及旨在包括仅A、仅B、仅C或其任何组合。
虽然本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的变更、置换和各种替代等同方案。因此将认识到,本领域技术人员将能够设想出许多系统和方法,虽然这些系统和方法未在本文中明确示出或描述,但是体现了本公开内容的原理并因此在本公开内容的精神和范围内。
Claims (20)
1.一种视频解码的方法,包括:
从编码视频比特流接收当前图片中的当前块的编码信息,所述编码信息包括语法元素以及指示具有运动矢量差的合并(MMVD)模式应用在所述当前块上的值;
响应于合并候选的运动矢量预测器是双向预测器,确定所述当前块的所述合并候选是否满足应用双向预测运动细化的要求;
当所述当前块的所述合并候选满足所述要求时,约束所述合并候选以在所述MMVD模式下使用;以及
在具有被约束以在所述MMVD模式下使用的所述合并候选的所述MMVD模式下重构所述当前块。
2.根据权利要求1所述的方法,其中,应用所述双向预测运动细化的所述要求包括用于应用解码器侧运动矢量细化(DMVR)的第一组条件和用于应用双向光流(BDOF)细化的第二组条件中的至少一者。
3.根据权利要求1所述的方法,其中,约束所述合并候选以在所述MMVD模式下使用还包括:
当所述合并候选满足所述要求时,从所述MMVD模式的基本候选列表中排除所述合并候选,所述MMVD模式的所述基本候选列表用于确定所述MMVD模式的起始点。
4.根据权利要求3所述的方法,还包括以下操作中的至少一个:
当所述合并候选不满足所述要求时,将所述合并候选添加至所述MMVD模式的所述基本候选列表中;
当所述合并候选是单向预测器时,将所述合并候选作为单向预测MMVD候选添加至所述MMVD模式的所述基本候选列表中;以及
当所述合并候选是双向预测器并且满足所述要求时,将所述合并候选作为一侧双向预测MMVD候选添加至所述MMVD模式的所述基本候选列表中。
5.根据权利要求3所述的方法,其中,所述合并候选是来自合并模式的常规合并候选列表的常规合并候选,所述常规合并候选列表包括多个常规合并候选,并且所述方法包括:
分别测试所述多个常规合并候选以用于添加至所述MMVD模式的所述基本候选列表中;
在所述测试之后确定所述基本候选列表具有比预设数目少的候选;以及
将零运动矢量作为两侧双向预测MMVD候选添加至所述基本候选列表中。
6.根据权利要求3所述的方法,其中,所述合并候选是来自合并模式的常规合并候选列表的常规合并候选,所述常规合并候选列表包括多个常规合并候选,并且所述方法包括:
分别测试所述多个常规合并候选以用于添加至所述MMVD模式的所述基本候选列表中;
在所述测试之后确定所述基本候选列表具有比预设数目少的候选;以及
将作为双向预测器并且满足所述要求的所述合并候选添加至所述基本候选列表中。
7.根据权利要求6所述的方法,其中,将所述合并候选添加至所述基本候选列表中还包括以下操作中的至少一个:
将所述合并候选作为两侧双向预测MMVD候选进行添加;以及
将所述合并候选作为一侧双向预测MMVD候选进行添加。
8.根据权利要求6所述的方法,其中,将所述合并候选添加至所述基本候选列表中还包括:
将所述合并候选添加在所述基本候选列表中的其他候选后面。
9.根据权利要求1所述的方法,其中,重构所述当前块还包括:
根据所述MMVD模式的基本候选列表确定选择的基础;
响应于所述选择的基础是两侧双向预测MMVD候选而确定第一MV偏移;以及
响应于所述选择的基础是一侧双向预测MMVD候选或单向预测MMVD候选而确定第二MV偏移,所述第二MV偏移与所述第一MV偏移不同。
10.根据权利要求1所述的方法,其中,重构所述当前块还包括:
根据所述MMVD模式的基本候选列表确定选择的基础;
响应于所述选择的基础是两侧双向预测MMVD候选而根据第一表确定第一MV偏移,所述第一表存储与距离索引相关联的第一MV偏移;以及
响应于所述选择的基础是一侧双向预测MMVD候选或单向预测MMVD候选而根据第二表确定第二MV偏移,所述第二表存储与所述距离索引相关联的第二MV偏移。
11.一种用于视频解码的装置,包括处理电路系统,所述处理电路系统被配置成:
从编码视频比特流接收当前图片中的当前块的编码信息,所述编码信息包括语法元素以及指示具有运动矢量差的合并(MMVD)模式应用在所述当前块上的值;
响应于合并候选的运动矢量预测器是双向预测器,确定所述当前块的所述合并候选是否满足应用双向预测运动细化的要求;
当所述当前块的所述合并候选满足所述要求时,约束所述合并候选以在所述MMVD模式下使用;以及
在具有被约束以在所述MMVD模式下使用的所述合并候选的所述MMVD模式下重构所述当前块。
12.根据权利要求11所述的装置,其中,应用所述双向预测运动细化的所述要求包括用于解码器侧运动矢量细化(DMVR)的第一组条件和用于双向光流细化(BDOF)细化的第二组条件中的至少一者。
13.根据权利要求11所述的装置,其中,所述处理电路系统被配置成:
当所述合并候选满足所述要求时,将所述合并候选从所述MMVD模式的基本候选列表中排除在外,所述MMVD模式的所述基本候选列表用于确定所述MMVD模式的起始点。
14.根据权利要求13所述的装置,其中,所述处理电路系统被配置成执行以下操作中的至少一个:
当所述合并候选不满足所述要求时,将所述合并候选添加至所述MMVD模式的所述基本候选列表中;
当所述合并候选是单向预测器时,将所述合并候选作为单向预测MMVD候选添加至所述MMVD模式的所述基本候选列表中;以及
当所述合并候选是双向预测器并且满足所述要求时,将所述合并候选作为一侧双向预测MMVD候选添加至所述MMVD模式的所述基本候选列表中。
15.根据权利要求13所述的装置,其中,所述合并候选是来自合并模式的常规合并候选列表的常规合并候选,所述常规合并候选列表包括多个常规合并候选,并且所述处理电路系统被配置成:
分别测试所述多个常规合并候选以用于添加至所述MMVD模式的所述基本候选列表中;
在所述测试之后确定所述基本候选列表具有比预设数目少的候选;以及
将零运动矢量作为两侧双向预测MMVD候选添加至所述基本候选列表中。
16.根据权利要求13所述的装置,其中,所述合并候选是来自合并模式的常规合并候选列表的常规合并候选,所述常规合并候选列表包括多个常规合并候选,并且所述处理电路系统被配置成:
分别测试所述多个常规合并候选以用于添加至所述MMVD模式的所述基本候选列表中;
在所述测试之后确定所述基本候选列表具有比预设数目少的候选;以及
将作为双向预测器并且满足所述要求的所述合并候选添加至所述基本候选列表中。
17.根据权利要求16所述的装置,其中,所述处理电路系统被配置成:
将所述合并候选作为两侧双向预测MMVD候选和一侧双向预测MMVD候选中的至少一者添加至所述基本候选列表中。
18.根据权利要求16所述的装置,其中,所述处理电路系统被配置成:
将所述合并候选添加在所述基本候选列表中的其他候选后面。
19.根据权利要求11所述的装置,其中,所述处理电路系统被配置成:
根据所述MMVD模式的基本候选列表确定选择的基础;
响应于所述选择的基础是两侧双向预测MMVD候选而确定第一MV偏移;以及
响应于所述选择的基础是一侧双向预测MMVD候选或单向预测MMVD候选而确定第二MV偏移,所述第二MV偏移与所述第一MV偏移不同。
20.根据权利要求11所述的装置,其中,所述处理电路系统被配置成:
根据所述MMVD模式的基本候选列表确定选择的基础;
响应于所述选择的基础是两侧双向预测MMVD候选而根据第一表确定第一MV偏移,所述第一表存储与距离索引相关联的第一MV偏移;以及
响应于所述选择的基础是一侧双向预测MMVD候选或单向预测MMVD候选而根据第二表确定第二MV偏移,所述第二表存储与所述距离索引相关联的第二MV偏移。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/413,494 | 2022-10-05 | ||
US18/240,981 US20240129505A1 (en) | 2022-10-05 | 2023-08-31 | Merge with motion vector difference |
US18/240,981 | 2023-08-31 | ||
PCT/US2023/073478 WO2024076813A1 (en) | 2022-10-05 | 2023-09-05 | Improvement of merge with motion vector difference |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118160308A true CN118160308A (zh) | 2024-06-07 |
Family
ID=91301658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202380014070.XA Pending CN118160308A (zh) | 2022-10-05 | 2023-09-05 | 具有运动矢量差的合并的改进 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118160308A (zh) |
-
2023
- 2023-09-05 CN CN202380014070.XA patent/CN118160308A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113287307B (zh) | 视频解码的方法和装置、计算机设备及介质 | |
CN112399183B (zh) | 用于视频编解码的方法、装置和存储介质 | |
CN112470474A (zh) | 基于历史的仿射合并和运动矢量预测 | |
CN112291571B (zh) | 视频解码方法及装置以及计算机设备和存储介质 | |
CN113545083A (zh) | 视频编解码的方法和装置 | |
CN112806008B (zh) | 视频解码方法、装置、计算机设备及存储介质 | |
CN113557728A (zh) | 视频编解码方法和装置 | |
CN110708557B (zh) | 解码器中的视频解码方法和设备、计算机设备 | |
CN111919443B (zh) | 用于视频解码的方法和装置 | |
CN111885387A (zh) | 用于仿射光流预测值细化的视频解码方法和装置 | |
CN114651447A (zh) | 用于视频编解码的方法和装置 | |
CN110944185A (zh) | 视频解码的方法和装置、计算机设备及存储介质 | |
CN111316639B (zh) | 视频解码方法和装置、及存储介质 | |
CN111971965A (zh) | 视频编解码的方法和装置 | |
CN113545079A (zh) | 视频编解码的方法和装置 | |
CN113228680A (zh) | 视频编解码中运动预测的方法和装置 | |
CN113615172A (zh) | 视频编解码的方法及装置 | |
CN118160308A (zh) | 具有运动矢量差的合并的改进 | |
US20240129505A1 (en) | Merge with motion vector difference | |
US20240015305A1 (en) | Subblock intra and inter coding | |
US20240129508A1 (en) | Template matching based partitioning pattern derivation | |
US20240137487A1 (en) | Local illumination compensation | |
US20240236297A9 (en) | Local illumination compensation | |
US20240022758A1 (en) | Full-pixel based and group-based motion compensated picture boundary padding | |
CN118285099A (zh) | 子块帧内和帧间编码 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |