视频编码和解码中的运动矢量导出

文档序号:214975 发布日期:2021-11-05 浏览:10次 >En<

阅读说明:本技术 视频编码和解码中的运动矢量导出 (Motion vector derivation in video encoding and decoding ) 是由 F·厄本 F·加尔平 P·博尔德斯 于 2020-03-06 设计创作,主要内容包括:视频处理可涉及基于确定涉及运动矢量细化过程和不同于该运动矢量细化过程的第二过程的处理模式的激活而编码和/或解码图片;基于所述激活和所述第二过程修改所述运动矢量细化过程;以及基于所修改的运动矢量细化处理和所述第二过程编码和/或解码图片。(Video processing may involve encoding and/or decoding a picture based on determining activation of a processing mode involving a motion vector refinement process and a second process different from the motion vector refinement process; modifying the motion vector refinement process based on the activating and the second process; and encoding and/or decoding a picture based on the modified motion vector refinement processing and the second process.)

视频编码和解码中的运动矢量导出

技术领域

本公开涉及视频编码和解码。

背景技术

为了实现高压缩效率,图像和视频译码方案通常采用预测和变换以利用视频内容中的空间和时间冗余。通常,帧内或帧间预测用于利用帧内或帧间相关性,然后对通常表示为预测误差或预测残差的原始图片块与预测图片块之间的差异进行变换、量化和熵译码。为了重构视频,通过与预测、变换、量化和熵译码对应的逆过程来解码压缩数据。

发明内容

提供了涉及用于编码图片信息的方法的实施例的至少一个示例,包括:确定包括细化(refinement)函数的解码器侧运动矢量细化过程的激活;基于指示符来修改所述细化函数;以及基于所述解码器侧运动矢量细化过程和所修改的细化函数来编码图片信息的至少一部分。

提供了涉及用于解码图片信息的方法的实施例的至少一个示例,包括:确定包括细化函数的解码器侧运动矢量细化过程的激活;基于指示符来修改所述细化函数;以及基于所述解码器侧运动矢量细化过程和所修改的细化函数来解码图片信息的至少一部分。

提供了涉及用于编码图片信息的装置的实施例的至少一个示例,包括:一个或多个处理器。该一个或多个处理器被配置为:确定包括细化函数的解码器侧运动矢量细化过程的激活;基于指示符来修改所述细化函数;以及基于所述解码器侧运动矢量细化过程和所修改的细化函数来编码图片信息的至少一部分。

提供了涉及用于解码图片信息的装置的实施例的至少一个示例,包括:一个或多个处理器。该一个或多个处理器被配置为:确定包括细化函数的解码器侧运动矢量细化过程的激活;基于指示符来修改所述细化函数;以及基于所述解码器侧运动矢量细化过程和所修改的细化函数来编码图片信息的至少一部分。

提供了涉及用于编码图片信息的方法的实施例的至少一个示例,包括:确定涉及运动矢量细化过程和运动矢量细化函数的处理模式的激活;基于所述运动矢量细化函数修改所述运动矢量细化过程;以及基于所述处理模式和所修改的运动矢量细化过程来编码图片信息的至少一部分。

提供了涉及用于解码图片信息的方法的实施例的至少一个示例,包括:确定涉及运动矢量细化过程和运动矢量细化函数的处理模式的激活;基于所述运动矢量细化函数修改所述运动矢量细化过程;以及基于所述处理模式和所修改的运动矢量细化过程来解码图片信息的至少一部分。

提供了涉及用于编码图片信息的装置的实施例的至少一个示例,包括:一个或多个处理器。该一个或多个处理器被配置为:确定涉及运动矢量细化过程和运动矢量细化函数的处理模式的激活;基于所述运动矢量细化函数修改所述运动矢量细化过程;以及基于所述处理模式和所修改的运动矢量细化过程来编码图片信息的至少一部分。

提供了涉及用于解码图片信息的装置的实施例的至少一个示例,包括:一个或多个处理器。该一个或多个处理器被配置为:确定涉及运动矢量细化过程和运动矢量细化函数的处理模式的激活;基于所述运动矢量细化函数修改所述运动矢量细化过程;以及基于所修改的运动矢量细化过程来解码图片。

提供了涉及用于编码图片的方法的实施例的至少一个示例,该方法包括:确定涉及运动矢量细化过程和不同于该运动矢量细化过程的第二过程的处理模式的激活;基于所述激活和所述第二过程修改所述运动矢量细化过程;以及基于所修改的运动矢量细化过程和所述第二过程来编码图片。

提供了涉及用于解码图片的方法的实施例的至少一个其他示例,该方法包括:确定涉及运动矢量细化过程和不同于该运动矢量细化过程的第二过程的处理模式的激活;基于所述激活和所述第二过程修改所述运动矢量细化过程;以及基于所修改的运动矢量细化过程和所述第二过程来解码图片。

提供了涉及用于编码图片的装置的实施例的至少一个其他示例,该装置包括一个或多个处理器,其中,所述一个或多个处理器被配置为:确定涉及运动矢量细化过程和不同于该运动矢量细化过程的第二过程的处理模式的激活;基于所述激活和所述第二过程修改所述运动矢量细化过程;以及基于所修改的运动矢量细化过程和所述第二过程来编码图片。

提供了涉及用于解码图片的装置的实施例的至少一个其他示例,该装置包括一个或多个处理器,其中,所述一个或多个处理器被配置为:确定涉及运动矢量细化过程和不同于该运动矢量细化过程的第二过程的处理模式的激活;基于所述激活和所述第二过程修改所述运动矢量细化过程;以及基于所修改的运动矢量细化过程和所述第二过程来解码图片。

提供了涉及用于编码图片的方法的实施例的至少一个其他示例,包括:确定涉及解码器侧运动矢量细化(DMVR)过程和局部照明补偿(LIC)过程的处理模式的激活;基于所述激活和所述LIC过程修改所述DMVR过程;以及基于所修改的DMVR过程和所述LIC过程来编码图片。

提供了涉及用于解码图片的方法的实施例的至少一个其他示例,包括:确定涉及解码器侧运动矢量细化(DMVR)过程和局部照明补偿(LIC)过程的处理模式的激活;基于所述激活和所述LIC过程修改所述DMVR过程;以及基于所修改的DMVR过程和所述LIC过程来解码图片。

提供了涉及用于编码图片的装置的实施例的至少一个其他示例,该装置包括一个或多个处理器,其中,所述一个或多个处理器被配置为:确定涉及解码器侧运动矢量细化(DMVR)过程和局部照明补偿(LIC)过程的处理模式的激活;基于所述激活和所述LIC过程来修改所述DMVR过程;以及基于所修改的DMVR过程和所述LIC过程来编码图像。

提供了涉及用于解码图片的装置的实施例的至少一个其他示例,该装置包括一个或多个处理器,其中,所述一个或多个处理器被配置为:确定涉及解码器侧运动矢量细化(DMVR)过程和局部照明补偿(LIC)过程的处理模式的激活;基于所述激活和所述LIC过程来修改所述DMVR过程;以及基于所修改的DMVR过程和所述LIC过程来解码图像。

以上给出了本主题的简化概述,以便提供对本公开的一些方面的基本理解。本概述不是对本主题的详尽综述。其并非旨在标识各实施例的关键/重要元素或描绘本主题的范围。其唯一目的是以简化形式呈现本主题的一些概念,作为以下提供的更详细描述的序言。

附图说明

通过结合附图考虑下面的详细描述,可以更好地理解本公开,其中:

图1提供描绘视频编码器的实施例的示例的框图;

图2提供描绘视频解码器的实施例的示例的框图;

图3示出了涉及译码树单元(CTU)的本公开的各方面;

图4示出了涉及CTU和译码单元(CU)的本公开的各方面;

图5示出了解码侧运动矢量细化(DMVR)的示例;

图6提供了示出DMVR搜索过程的示例的流程图;

图7示出了DMVR整数亮度样本搜索模式的示例;

图8示出了照明补偿参数的示例,例如局部照明补偿(LIC)参数,其从相邻重构样本和用正方形CU(上图示)和矩形CU(下图示)两者的运动矢量(MV)转换的相应参考样本导出;

图9提供示出了LIC参数的导出和针对每个预测L0和L1的应用的示例的流程图;

图10提供示出了LIC参数的导出和针对来自L0和L1的组合预测的应用的示例的流程图;

图11示出了矩形CU的左参考样本和顶参考样本的位置的示例;

图12提供示出了具有DMVR和LIC的双向预测的示例的流程图;

图13提供示出了在DMVR细化之前基于解码的双向预测运动矢量的LIC参数的导出的示例的流程图;

图14提供示出了根据本文所述的各个方面的装置的实施例的示例的框图;

图15提供示出了涉及具有运动矢量细化(诸如DMVR和加权预测(WP))的双向预测的实施例的示例的流程图;以及

图16至图19提供示出了根据本公开的实施例的各种示例的流程图。

应当理解,附图是为了说明根据本公开的各个方面、特征和实施例的示例,并且不一定是唯一可能的配置。在所有附图中,相同的参考标记表示相同或相似的特征。

具体实施方式

现在转到附图,图1示出了视频编码器100的示例,例如HEVC编码器。HEVC是由视频 译码联合合作组(JCT-VC)开发的压缩标准(参见,例如,“ITU-T H.265ITU的电信标准段(10/2014),系列H:视听和多媒体系统,视听服务的基础设施-移动视频的译码、高效率视频译码、推荐ITU-T H.265”)。图1还可示出其中对HEVC标准作出改进的编码器或采用类似于HEVC的技术的编码器,例如基于或改进于由联合视频专家组(JVET)开发的JEM(联合探索模型)的编码器,例如,与指定的通用视频译码(VVC)的开发工作相关联的JEM。

在本申请中,术语“重构”和“解码”可以互换使用,术语“像素”和“样本”可以互换使用,并且术语“图片”和“帧”可以互换使用。通常,但不是必须的,术语“重构”在编码器侧使用,而“解码”在解码器侧使用。

HEVC规范在“块”与“单元”之间进行区分,其中“块”寻址样本阵列中的特定区域(例如,亮度,Y),而“单元”包含所有经编码的颜色分量(Y、Cb、Cr或单色)的并置块、语法元素及与块相关联的预测数据(例如,运动矢量)。

为了译码,将图片分割为具有可配置大小的正方形形状的译码树块(CTB),并且将译码树块的连续集合分组为切片(slice)。译码树单元(CTU)包含经编码的颜色分量的CTB。CTB是分割成译码块(CB)的四叉树的根,且译码块可被分割成一个或多个预测块(PB)且形成分割成变换块(TB)的四叉树的根。对应于译码块、预测块和变换块,译码单元(CU)包括预测单元(PU)和变换单元(TU)的树结构集合,PU包括所有颜色分量的预测信息,并且TU包括每个颜色分量的残差译码语法结构。亮度分量的CB、PB和TB的大小适用于相应的CU、PU和TU。在本申请中,术语“块”可以用于指代CTU、CU、PU、TU、CB、PB和TB中的任何一个。另外,“块”也可以用于指代如H.264/AVC或其他视频译码标准中指定的宏块和分区,并且更一般地指代各种大小的数据阵列。

在图1的编码器100中,如下所述,由编码器元件对图片进行编码。以CU为单位处理要编码的图片。每一CU是使用帧内或帧间模式被编码。当CU以帧内模式被编码时,其执行帧内预测(160)。在帧间模式中,执行运动估计(175)和运动补偿(170)。编码器决定(105)使用帧内模式或帧间模式中的一者来编码CU,并且通过预测模式标志来指示帧内/帧间决定。通过从原始图片块中减去(110)预测块来计算预测残差。

然后,对预测残差进行变换(125)和量化(130)。对量化的变换系数以及运动矢量和其他语法元素进行熵译码(145)以输出比特流。编码器也可跳过变换,并在4×4TU的基础上直接对未变换的残差信号应用量化。编码器还可以绕过变换和量化,即,直接对残差进行译码而不应用变换或量化过程。在直接PCM译码中,不应用预测,并且译码单元样本被直接译码到比特流中。

编码器对编码块进行解码,以提供用于进一步预测的参考。对量化变换系数进行逆量化(140)和逆变换(150)以对预测残差进行解码。组合(155)解码的预测残差和预测块,重构图片块。环内滤波器(165)被应用于重构的图片,例如,执行去块/SAO(采样自适应偏移)滤波以减少编码伪像。将滤波图像存储在参考图片缓冲器(180)中。

图2示出了例如HEVC解码器的视频解码器200的示例的框图。在示例解码器200中,信号或比特流由如下所述的解码器元件解码。视频解码器200通常执行与如图1中所描述的编码回合互逆的解码回合,其执行视频解码作为编码视频数据的部分。图2还可示出其中对HEVC标准作出改进的解码器或采用类似于HEVC的技术的解码器,例如基于或改进于JEM的解码器。

具体地,解码器的输入包括可以由诸如图1的视频编码器100的视频编码器生成的视频信号或比特流。该信号或比特流首先被熵解码(230)以获得变换系数、运动矢量和其他译码信息。变换系数被逆量化(240)和逆变换(250)以解码预测残差。组合(255)解码的预测残差与预测块,重构图片块。可以从帧内预测(260)或运动补偿预测(即,帧间预测)(275)获得(270)预测块。高级运动矢量预测(AMVP)和合并模式技术可用于导出用于运动补偿的运动矢量,其可使用内插滤波器来计算参考块的子整数样本的内插值。环内滤波器(265)被应用于重构的图像。将经滤波的图像存储在参考图片缓冲器(280)中。

在HEVC视频压缩标准中,采用运动补偿时间预测来利用存在于视频的连续图像之间的冗余。为此,将运动矢量与每一预测单元(PU)相关联。每个译码树单元(CTU)由压缩域中的译码树(CT)表示。这是CTU的四叉树划分,其中每个叶被称为译码单元(CU),如图3中所示。

然后,每个CU被给予一些帧内或帧间预测参数(预测信息)。为此,将其空间地分割成一个或多个预测单元(PU),每个PU被分配一些预测信息。如图4所示,在CU级上分配帧内或帧间译码模式,其示出了将译码树单元划分为译码单元、预测单元和变换单元的示例。为了对CU进行译码,从相邻的重构样本(帧内预测)或从存储在解码图片缓冲器(DPB)中的先前重构图片(帧间预测)构建预测块或预测单元(PU)。接下来,对作为原始样本和PU样本之间的差而计算的残差样本进行变换和量化。

在帧间预测中,采用运动补偿时间预测来利用存在于视频的连续图片之间的冗余。为此,将运动矢量与PU和参考索引0(refIdx0)相关联,该参考索引0(refIdx0)指示使用指定的LIST_0的列表中列出的多个参考图片中的哪个。

在HEVC中,采用两种模式来编码运动数据。它们分别被称为AMVP(自适应运动矢量预测)和合并(Merge)。AMVP涉及用信号通知用于预测当前PU的(一个或多个)参考图片、运动矢量预测器索引(在两个预测器的列表当中取得)和运动矢量差。合并模式包括用信号通知和解码收集在运动数据预测器列表中的一些运动数据的索引。该列表由五个候选组成,并且在解码器和编码侧以相同的方式构造。因此,合并模式旨在导出从合并列表中取得的一些运动信息。合并列表通常包含与一些空间和时间周围块相关联的运动信息,在当前PU正在被处理时,这些块在它们的解码状态中可用。

在其他编解码器中,例如指定为联合探索模型(JEM)的编解码器和由JVC(联合视频探索团队)小组在称为VVC测试模型(VTM)的通用视频译码(VVC)参考软件中开发的编解码器,帧间预测中使用的一些模式(例如,双向帧间预测或B模式)可以利用所传输的参数来补偿照明变化。在B模式中,当前块与两个运动矢量相关联,在两个不同图像中指定两个参考块。允许计算当前块的残差块的预测器块是两个参考块的平均值。提出了双向帧间预测的若干概括,其中与每个参考块相关联的权重是不同的。加权预测(WP)可以被认为是双向帧间预测在一些方面的概括。在WP中,将残差块计算为当前块与单向帧间预测情况下的参考块的加权版本或双向帧间预测情况下的两个参考块的加权平均值之间的差。WP可以在序列报头中的序列级(VVC中称为序列参数集(SPS))或图像报头中的图像级(VVC中称为图像参数集(PPS))被启用。WP定义与参考图像的每个列表(L0和L1)的每个参考图片的每个分量相关联的每组CTU(例如,通常在切片报头级)的权重和偏移。

虽然WP在序列报头(SPS)和图像报头(PPS)中被启用,并且相关联的权重和偏移在切片报头中被指定,但是被称为CU级加权双向预测(BCW)的新模式允许用信号通知块级的权重。

具有在解码器侧确定的相关联的参数的一些附加时间预测工具提供了诸如运动矢量细化和对诸如照明变化的问题的补偿的特征。这样的附加工具可以包括例如运动矢量细化(诸如解码器侧运动矢量细化(DMVR))和照明补偿(诸如局部照明补偿(LIC))。DMVR的一个目的可以是通过使用诸如双边匹配预测的预测方法来进一步细化运动矢量。LIC的一个目的可以是补偿可能在预测块与通过运动补偿时间预测而被采用的其参考块之间发生的照明变化。这两种工具都可以至少部分地涉及解码器侧过程以导出用于预测的参数。

更详细地说,增加合并模式的MV准确度的方法可涉及应用基于双向匹配(BM)的解码器侧运动矢量细化。在双向预测操作中,在参考图片列表L0和参考图片列表L1中的初始MV周围搜索细化的MV。BM方法基于一种方法,例如绝对差值和(SAD),计算参考图片列表L0和列表L1中的两个候选亮度块之间的失真。如图5的示例所示,基于初始MV周围的每个MV候选来计算块500和501(红块)之间的SAD。具有最低SAD的MV候选变成细化的MV且用于生成双向预测信号。

一种应用DMVR的方法,包括其中DMVR可以应用于利用以下模式译码的CU:

·具有双向预测MV的CU级合并模式;

·相对于当前图片,一个参考图片在过去,而另一参考图片在未来;

·从两个参考图片到当前图片的距离(例如,图片次序计数(POC)差)相同;

·CU具有多于64个亮度样本,且CU高度多于8个亮度样本。

由DMVR过程导出的细化的MV可以用于生成帧间预测样本,并且还可以用于未来图片译码的时间运动矢量预测,而原始MV可以用于例如去块过程,并且还可以用于未来CU译码的空间运动矢量预测。下面解释DMVR的一种或多种方法的附加特征。

如图5中示出的示例中所示,搜索点围绕初始MV,并且MV偏移遵守MV差镜像规则。换句话说,由DMVR检查的任何点,在图5中由候选MV对(MV0、MV1)表示,遵循以下两个等式:

MV0′=MV0+MVoffset (1)

MV1′=MV1-MVoffset (2)

其中MVoffset表示在参考图片之一中的初始MV和细化MV之间的细化偏移。细化搜索范围可为(例如)来自初始MV的两个整数亮度样本。

图6提供了示出诸如图5中所示的DMVR搜索过程的示例的流程图。如图6的示例中所示,搜索包括整数样本偏移搜索阶段和分数样本细化阶段。

为了降低搜索的复杂度,可在整数样本偏移搜索阶段应用一种具有提前终止机制的快速搜索方法。代替全搜索,例如25个点,可以应用双迭代搜索方案来减少SAD检查点。如图7所示,在第一次迭代中检查最多六个SAD。首先,比较五个点(中心和P1至P4)的SAD。如果中心位置的SAD最小,则DMVR的整数样本阶段终止。否则,检查另一个位置P5(由P1至P4的SAD分布确定)。然后,选择具有最小SAD的位置(在P1至P5中)作为第二次迭代搜索的中心位置。第二次迭代搜索的过程与第一次迭代搜索的过程相同。在第一次迭代中计算的SAD可以在第二次迭代中重新使用,因此仅需要进一步计算三个额外的点的SAD。

整数样本搜索之后可以是分数样本细化。为了降低计算复杂度,可以通过使用参数误差表面方程而不是具有SAD比较的附加搜索来导出分数样本细化。可基于整数样本搜索阶段的输出而有条件地调用分数样本细化。当整数样本搜索阶段以在第一迭代或第二迭代搜索中具有最小SAD的中心结束时,进一步应用分数样本细化。

在基于参数误差表面的子像素偏移估计中,中心位置成本和距离中心的四个相邻位置处的成本用于拟合以下形式的2D抛物线误差表面方程:

E(x,y)=A(x-xmin)2+B(y-ymin)2+C (3)

其中(x_min,y_min)对应于具有最小成本的分数位置,且C对应于最小成本值。通过使用五个搜索点的成本值来求解上述方程,(x_min,y_min)被计算为:

y_min=(E(0,-1)-E(0,1))/(2((E(0,-1)+E(0,1)-2E(0,0))) (5)xmindymine的值自动限制在-8和8之间,因为所有成本值是正数,并且最小值是E(0,0)。这对应于例如具有第1/16个像素MV准确度的半像素偏移。将所计算的分数(x_min,y_min)与整数距离细化MV相加,以获得子像素精确细化增量MV。

编解码器可以提供例如MV的分辨率可以是1/16亮度样本。使用8抽头内插滤波器来内插在分数位置处的样本。在DMVR中,搜索点以整数样本偏移围绕初始分数像素MV,因此需要内插那些分数位置的样本以用于DMVR搜索过程。为了降低计算复杂度,使用双线性内插滤波器来生成用于DMVR中的搜索过程的分数样本。另一个重要的效果是,通过使用双线性滤波器,在两个样本搜索范围内,与正常的运动补偿过程相比,DVMR不访问更多的参考样本。在利用DMVR搜索过程获得细化的MV之后,应用正常的8抽头内插滤波器以生成最终预测。为了不访问更多参考样本到正常MC过程,将从那些可用的样本中填充基于原始MV的内插过程不需要但基于细化MV的内插过程需要的样本。

DMVR搜索过程的最大单元大小可以例如限制到16×16。当CU的宽度和/或高度大于最大大小时,例如大于16个亮度样本,CU可进一步拆分成宽度和/或高度等于例如最大大小(例如16个亮度样本)的子块。

帧间预测中使用的一些模式(或B模式)可以利用所传输的参数来补偿照明变化。在B模式中,当前块与两个运动矢量相关联,在两个不同图像中指定两个参考块。允许计算当前块的残差块的预测器块是两个参考块的平均值。如下计算当前块的预测器biPred:

其中pred0是在存储在解码图像的缓冲器中的参考图像的列表L0中取得的运动补偿块预测器,所述缓冲器一般被称为解码图片缓冲器(DPB);pred1是在存储在DPB中的参考图像的列表L1中取得的运动补偿块预测器;w0和w1是在经典双向帧间预测的情况下等于一的权重。

提出了双向帧间预测的几个概括,其中权重w0和w1是不同的。加权预测(WP)可以被认为是双向帧间预测在一些方面的概括。在WP中,将残差块计算为当前块与单向帧间预测情况下的参考块的加权版本或双向帧间预测情况下的两个参考块的加权平均值之间的差。WP可以在序列报头中的序列级(VVC中称为序列参数集(SPS))或图像报头中的图像级(VVC中称为图像参数集(PPS))被启用。WP定义与存储在DPB中的参考图像的每个列表(L0和L1)的每个参考图片i的每个分量相关联的每组CTU(例如,通常在切片报头级)的权重wi和偏移offi。如果当前块以双向WP被译码,则当前块的位置(x,y)处的预测样本pred(x,y)计算如下:

pred(x,y)=((w0·pred0(x,y)+w1·pred1(x,y)+Off01)>>(shift+1))

其中Off01=(Off0+Off1+1)<<shift

其中predi(x,y)是在存储在DPB中的参考图像的列表Li中取得的并且在空间上对应于pred(x,y)的运动补偿预测器样本,wi是权重,offi是偏移值。

为了在对样本进行加权时保持增加的数值精度,可以存储和操作具有增加的比特深度精度的中间样本值。在这种情况下,在预测计算过程结束时,利用最后的右比特移位来获得最终(期望的)比特深度样本预测精度(bitDepth)。举例来说,DPB中的参考图片以精度bitDepth存储,但中间经运动补偿的样本以增加的精度(bitDepth+sp)存储在中间缓冲器中。在前述两个等式中的移位值shift的一个目的是确保这种中间增加的比特深度精度。注意,类似的中间比特深度精度增加过程通常用于使用样本加权过程的所有预测工具。

虽然WP在序列报头(SPS)和图像报头(PPS)中被启用,并且相关联的权重和偏移在切片报头中被指定,但是被称为CU级加权双向预测(BCW)的新模式允许用信号通知块级的权重。当BCW模式被应用于当前块时,如下计算当前块的预测器样本pred(x,y):

pred(x,y)=((8-w).pred0(x,y)+w.pred1(x,y)+4)>>3

其中pred0(x,y)是在存储在DPB中的参考图像的列表L0中取得的并且在空间上对应于pred(x,y)的运动补偿预测器样本,pred1(x,y)是在存储在DPB中的参考图像的列表L1中取得的并且在空间上对应于pred(x,y)的运动补偿预测器样本,且w是在五个权重的集合(w∈{-2,3,4,5,10})中取得的权重。权重w以两种方式之一确定:1)对于非合并CU,在运动矢量差之后用信号通知权重索引bcw_idx;2)对于合并CU,基于合并候选索引从相邻块推断权重索引bcw_idx_。

可例如通过与以帧间模式译码的每个译码单元(CU)相关联的标志(LIC标志)在CU级上用信号通知例如照明补偿(例如,局部照明补偿(LIC))等工具的使用。当该工具被激活时,解码器基于如图8中所示的示例所示出的以下来计算一些预测参数:定位在要预测的当前块的左边和/或顶部上的一些重构图片样本;以及定位在运动补偿块的左侧和/或顶部上的参考图片样本。在下文中,由位于当前块上方的行上的样本和位于当前块左边的列上的样本组成的样本集合将被称为与当前块相关联的“L形(L-shape)”。例如,在图8中,L形的一个示例包括当前块上方和左侧的小正方形。

LIC可以基于具有对应于例如权重和偏移并且被指定为(a,b)的参数的线性模型。参数(a,b)可以例如基于当前样本和线性修改的参考样本之间的误差或局部失真、距离“dist”的最小化来确定,其可以定义如下(等式6):

其中:rec_cur(r)是当前图片中的相邻重构样本(由图8右侧的示例示出);

rec_ref(s)是利用运动补偿(MC)从参考图片构建的参考样本(由图8左侧的示例示出),其中s=r+mv;

rec_cur(r)和rec_ref(s)分别是重构样本和参考L形中的同位(co-located)样本。

在一些实现中,在选择L形中使用的重构和参考样本时,可以施加附加限制。例如,可以施加属于相邻块的重构样本不在帧内模式中被译码,或者不利用帧内模式构建的预测(例如CIIP)来译码。

可以使用如下最小二乘方最小化获得(a,b)的值(等式7):

注意,N的值可以进一步被调整(递增地减少)以便对等式7中的项求和,以保持低于所允许的最大整数存储数值(例如N<216)。而且,对于大块,可以递增顶部和左侧样本集合的子采样。一旦编码器或解码器获得针对当前CU的LIC参数,那么当前CU的预测pred(current_block)包括例如单向预测的示例情况:

pred(current_block)=a×ref_block+b (8)

其中current_block是要预测的当前块,pred(current_block)是当前块的预测,以及ref_block是利用常规运动补偿(MC)过程构建并用于当前块的时间预测的参考块。

注意,相邻重构样本的集合和参考样本的集合(图8中由小正方形块示出的样本)具有相同的数目和相同的模式。在下文中,“左侧样本”将表示位于紧邻当前块左侧的相邻重构样本的集合(或参考样本的集合),并且“顶部样本”将表示位于紧邻当前块的顶部之上(或邻近当前块的顶部)的相邻重构样本的集合(或参考样本的集合)。“样本集合”将表示“左侧样本”和“顶部样本”集合中的每一个的组合。

在双向预测的情况下,LIC过程可以被应用两次,如图9中所示的示例所示出的。在图9中,LIC过程被应用于参考0预测(LIST-0)和参考1预测(LIST_1)两者,如图9中的300至340所示出的。接下来,在图9中的350处,使用例如默认加权(P=(P0+P1+1)>>1)或双向预测加权平均(BPWA)(P=(g0.P0+g1.P1+(1<<(s-1)))>>s))将两个预测组合在一起。该方法将被称为“方法a”。

在本文被称为“方法b”并且在图10中示出的另一个实施例的示例中,在双向预测的情况下,在图10中,在300确定两个预测,即参考0和参考1预测,并且然后在360进行组合,之后在320、330、340和370应用单个LIC过程。

在本文称为“方法c”(基于方法b的方法c)的另一个实施例的示例中,在双向预测的情况下,直接导出LIC-0和LIC-1参数,例如:

dist=∑r∈Vcur,s∈Vref(reccur(r)-a0.recref0(s)-a1.recref1(s)-b)2 (9)

在选择图8中所示的用于导出LIC参数的左侧和顶部样本时可以应用一些限制。例如,限制可以是以下中的一者或多者:

1)左侧和顶部样本数量之和应该是2的幂,以便使用右移来实现除法。

2)左侧(NL)和顶部(NT)样本的数量相同,且等于Ns(N=2.Ns):

n=min(cuHeight,cuWidth)

x=log2(n)

Ns=2x (10)

3)左侧(stepV)或顶部(stepH)样本之间的步长等于:

stepV=cuHeight>>log2(Ns) (11)

stepH=cuWidth>>log2(Ns)

通常,如上所述的LIC、WP、BCW和DMVR是单独的工具。然而,这些工具可以以各种方式组合。根据本公开的一个方面,组合这些工具可以涉及对这些工具中的至少一个的调整以获得改进的或最优的性能。例如,图16中所示的实施例可以涉及在1610确定是否激活了诸如由DMVR工具提供的运动矢量细化。如果不是(1610处的否定或“否”结果),则在1640处继续诸如视频或图片数据的编码或解码的处理。如果在1610处存在肯定结果(在1610处为“是”结果),则在1620处确定第二过程是否被激活(例如LIC、WP或BCW)。如果不是(1620处的“否”结果),则处理在1640处继续。如果在1620的结果是肯定的(例如“是”),则处理在1630继续,其中作为工具组合被激活的结果,运动矢量细化过程被如下所述地修改或调整。

图17示出了实施例的另一示例,其是图16中示出的实施例的变型。在图17中,在1710确定DMVR的激活,随后在1720确定LIC的激活。另外,图17中所示的实施例的特征类似于以上关于图16的实施例所述的那些特征,并且将不再描述。

如上所述,本公开的一个方面可以涉及对所描述的工具中的至少一者的调整,以在组合诸如本文所描述的那些工具时获得改进的或最优的性能。例如,用于导出DMVR预测器的绝对差值和(SAD)方法可能不适合于诸如LIC、WP或BCW的工具与DMVR结合的应用。例如,LIC或WP或BCW可以校正DMVR过程可能已经减少或尝试利用SAD函数来最小化的一些默认值。编码器可以使用另外的、不同于或关于诸如SAD的函数修改的成本确定方法或函数来应用运动矢量搜索算法。例如,当LIC或WP或BCW被激活时,可以应用诸如均值移除SAD(MRSAD)的SAD的修改形式的函数,以试图优化针对LIC或WP或BCW将不能够校正的运动搜索,即,优化MOTION+(LIC或WP或BCW)的组合的结果。然而,在使用MRSAD进行运动搜索之后使用具有SAD的DMVR可能不是最佳的,并且可能甚至是适得其反的。解决这些问题的一种方法可以是防止或禁止这些工具的组合,例如,当LIC或WP或BCW为开启(ON)时,则不允许DMVR。然而,这样做可能是不期望的或不是最佳的,因为不提供DMVR的益处。

一般来说,本发明的一个方面可涉及在激活例如LIC或WP或BCW等照明补偿的情况下改进例如DMVR等运动矢量细化。至少一个实施例可以涉及,当LIC或WP或BCW与DMVR结合被激活时,使用均值移除绝对值和(MRSAD)代替在DMVR导出过程中使用绝对值和(SAD)。一旦DMVR预测可用,则计算LIC过程。

根据本公开的一个方面,通常,一般至少一个实施例可以涉及当LIC或WP或BCW被激活时在DMVR导出过程中使用MRSAD。例如,图12描述了双向预测过程的实施例。在图12中,在1210,该过程的输入是L0和L1参考列表的运动矢量对。如果在1220,确定DMVR没有被应用,则在1250应用“常规”双向预测过程,随后如果LIC被启用或激活,则在1260应用LIC过程。如果在1220确定应用DMVR,则在1230,其应用依赖于LIC条件。代替LIC,WP或BCW值也可以用作条件。如果不应用LIC,则在1240处使用如上所述的SAD来导出DMVR,随后在1250处利用经细化的运动矢量来进行双向预测。如果如在1230确定的那样应用LIC,则在1245使用MRSAD作为成本函数来应用DMVR,随后在1250进行运动补偿。

MRSAD的应用可以如图7所示发生。即,首先比较五个点(中心和P1~P4)的MRSAD。如果中心位置的MRSAD最小,则DMVR的整数样本阶段终止。否则检查另外一个位置P5。然后选择MRSAD最小的位置作为第二次迭代搜索的中心位置。第二次迭代搜索的过程与第一次迭代搜索的过程相同。在第一次迭代中计算的MRSAD可以在第二次迭代中被重新使用,因此仅三个额外的点的MRSAD需要被进一步计算。如前所述,整数样本搜索之后是使用MRSAD值的参数误差表面方程的分数样本细化。

相同大小的两个块之间的MRSAD在计算这两个块之间的差之前首先消除这两个块之间的恒定偏移。它不同于绝对差值和(SAD),其中两个块之间的恒定变化可以影响很大的差异。MRSAD的目的是对照明变化更鲁棒。在本申请的案例中(in our case),这与使用该测量相关,因为LIC或WP或BCW过程将校正照明变化。首先计算两个块B1和B2之间的平均差D,如下:

其中i是属于B的块像素坐标,且N是块中的像素的数量。

然后通过累加块像素的绝对差减去平均差来计算MRSAD:

通常,至少一个实施例的示例可以涉及在DMVR过程之前或与DMVR过程并行地计算LIC参数,如图13中的示例所示。在图13中,在1310获得两个运动矢量的输入之后,在1325、1350和1360确定LIC参数,同时在1320、1330、1340、1345、1370和1380进行DMVR过程。在1360产生的LIC参数被提供给1390,其中如果激活或启用LIC则应用LIC。诸如图13中的示例的实施例使得能够与DMVR过程并行地计算LIC参数。这样做可以提高操作效率和/或提高性能、降低成本等。

通常,至少一个实施例的另一示例可以涉及在DMVR过程的第一次迭代时仅针对第一位置计算块平均差D,并且将其重新用于相邻位置。这样做可以使得能够避免针对每个测试位置计算平均块差异,从而潜在地提高操作效率和/或提高性能、降低成本等。

图15示出了实施例的另一示例。图15的示例涉及利用诸如上述WP的工具的诸如DMVR的运动矢量细化。在图15中,在1510处,该过程的输入是L0和L1参考列表的运动矢量对。如果在1520确定没有应用运动矢量细化,例如DMVR(在1520为“否”),则在1550确定是否对参考加权。如果是(1550处的“是”),那么在1565处发生双向加权运动补偿且输出预测CU。如果参考未被加权(1550处的“否”),那么在1560处应用“常规”双向预测运动补偿,随后输出所得预测CU。如果在1520确定应用运动矢量细化,例如DMVR(在1520为“是”),则其应用取决于在1530是否对参考加权,例如利用WP加权。如果被加权(1530处的“是”),则在1545处基于使用如上所述的MRSAD来导出运动矢量细化,随后在1550处继续如上所述的操作。如果在1530确定参考没有被加权(在1530为“否”),则在1540使用如上所述的SAD来导出运动矢量细化,随后在1550继续如上所述的操作。

更一般地,实施例的至少一个其他示例可以涉及基于指示符修改或调整运动矢量细化,例如DMVR过程,所述指示符例如是在比特流中编码/解码的或推断的信息、或标志、或索引(例如,如在先前的实施例中,如果LIC开启,则推断标志为真)。图18中示出了这种实施例的示例。在图18中,在1810中,确定发生解码器侧运动矢量细化DMVR的激活。DMVR过程可以包括诸如如上所述的SAD之类的细化函数。如果在1810确定DMVR过程被激活,则在1820,可以基于指示符,例如信息或标志或索引,修改细化函数。例如,指示符可以指示将细化函数修改为MRSAD而不是SAD,诸如当如上所述激活LIC工具时。可替换地,指示符可以指示诸如LIC、WP和BCW的一个或多个工具中的与DMVR一起被激活的工具,其中工具的组合导致如上所述的细化函数的修改,例如,选择MRSAD而不是SAD作为细化函数。在1820之后,基于包括修改的细化函数的DMVR过程来编码/解码图片信息。

图19示出了作为图18中所示的实施例的变型的实施例的另一示例。在图19中,操作在1910处确定是否激活诸如由DMVR工具提供的DMVR过程。如果DMVR没有被激活(1910处的否定或“否”结果),则诸如视频或图片数据的编码或解码的处理在1970继续。如果在1910处存在肯定结果(在1910处为“是”结果),则激活DMVR过程。如上所述,DMVR过程可以包括诸如SAD之类的细化函数。在1920,确定(从比特流中推断或读取/由编码器确定)如上关于图18所述的指示符,其中该指示符指示是否修改或调整了细化函数,例如SAD。在1930测试指示符值。如果结果是否定的(1930处的“否”结果),则处理在1940处继续,其中包括诸如SAD之类的细化函数的DMVR过程继续进行。如果1930处的结果是肯定的(例如,“是”),则处理在1950处继续,其中基于指示符修改细化函数,例如,将其选择为MRSAD。在变型中,指示符可以是具有映射到相应的多个函数的多个值的函数索引,可以选择所述多个函数以修改或调整包括在DMVR过程中的细化函数。在图19的示例中,等于0的索引可以指示或对应于SAD的细化函数的选择,而等于1的索引可以指示或对应于MRSAD的细化函数的选择。基于指示符或索引的细化函数的选择修改了细化函数。然后,在1960,发生包括修改的细化函数的DMVR过程。在1970,基于包括修改的细化函数的DMVR过程来编码/解码图片信息。

本文档描述了实施例、特征、模型、方法等的各种示例。许多这样的示例被描述为具有特异性,并且至少为了示出个体特性,通常以可能看起来具有限制性的方式来描述。然而,这是为了描述清楚的目的,并且不限制应用或范围。实际上,本文所述的实施例、特征等的各种示例可以各种方式组合和互换,以提供实施例的另外的示例。

通常,在本文档中描述和设想的实施例的示例可以以许多不同的形式来实现。上述图1和2以及下述图14提供了一些实施例,但是可以设想到其他实施例,并且对图1、2和14的讨论不限制实现的广度。至少一个实施例一般提供与视频编码和/或解码相关的示例,并且至少一个其他实施例一般涉及传送所生成或编码的比特流或信号。这些和其他实施例可被实现为方法、装置、其上存储有用于根据所描述的方法中的任一种来编码或解码视频数据的指令的计算机可读存储介质、和/或其上存储有根据所描述的方法中的任一种生成的比特流或信号的计算机可读存储介质。

在本申请中,术语“重构”和“解码”可以互换使用,术语“像素”和“样本”可以互换使用,术语“图像”、“图片”和“帧”可以互换使用。通常,但不是必须的,术语“重构”在编码器侧使用,而“解码”在解码器侧使用。

术语HDR(高动态范围)和SDR(标准动态范围)用于本公开中。那些术语通常向本领域普通技术人员传达动态范围的特定值。然而,也意图在另外的实施例中,其中对HDR的引用被理解为意味着“较高动态范围”,而对SDR的引用被理解为意味着“较低动态范围”。这样的附加实施例不受可能经常与术语“高动态范围”和“标准动态范围”相关联的动态范围的任何特定值的约束。

本文描述了各种方法,并且每种方法包括用于实现所描述的方法的一个或多个步骤或动作。除非方法的正确操作需要特定顺序的步骤或动作,否则可修改或组合特定步骤和/或动作的顺序和/或使用。

本文档中描述的各种方法和其他方面可用于修改视频编码器和/或解码器的模块,例如图1中所示的编码器100的运动补偿和/或运动估计模块170和175以及图2中所示的解码器200的运动补偿模块275。此外,本发明的方面不限于VVC或HEVC,且可应用于(例如)其他标准和建议(无论是先前存在的还是将来开发的),以及任何此类标准和建议(包含VVC和HEVC)的扩展。除非另外指出或在技术上排除,否则本文中所描述的方面可单独或组合使用。

例如,在本文档中使用各种数值。具体值是出于示例目的,并且所描述的方面不限于这些具体值。

图14示出了其中可以实现各个方面和实施例的系统的示例的框图。系统1000可以被实现为包括以下描述的各种组件的设备,并且被配置为执行本文档中描述的一个或多个方面。这样的设备的示例包括但不限于各种电子设备,诸如个人计算机、膝上型计算机、智能电话、平板电脑、数字多媒体机顶盒、数字电视接收机、个人视频记录系统、连接的家用电器和服务器。系统1000的元件可以单独地或组合地实现在单个集成电路、多个IC和/或分立组件中。例如,在至少一个实施例中,系统1000的处理和编码器/解码器元件分布在多个IC和/或分立组件上。在各种实施例中,系统1000经由例如通信总线或通过专用输入和/或输出端口通信地耦合到其他类似系统或其他电子设备。在各种实施例中,系统1000被配置为实现本文中描述的一个或多个方面。

系统1000包括至少一个处理器1010,其被配置为执行加载在其中的指令,以用于实现例如本文档中描述的各个方面。处理器1010可以包括嵌入式存储器、输入输出接口和本领域已知的各种其他电路。系统1000包括至少一个存储器1020(例如,易失性存储器设备和/或非易失性存储器设备)。系统1000包括存储设备1040,其可以包括非易失性存储器和/或易失性存储器,包括但不限于EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备1040可以包括内部存储设备、附接的存储设备和/或网络可访问的存储设备。

系统1000包括编码器/解码器模块1030,其被配置为例如处理数据以提供编码视频或解码视频,并且编码器/解码器模块1030可以包括其自己的处理器和存储器。编码器/解码器模块1030表示可包括在设备中以执行编码和/或解码功能的(一个或多个)模块。如已知的,设备可以包括编码和解码模块中的一个或两个。另外,编码器/解码器模块1030可实施为系统1000的单独元件或可并入处理器1010内作为如所属领域的技术人员已知的硬件与软件的组合。

要加载到处理器1010或编码器/解码器1030上以执行本文档中描述的各个方面的程序代码可以存储在存储设备1040中,并且随后加载到存储器1020上以供处理器1010执行。根据各种实施例,处理器1010、存储器1020、存储设备1040和编码器/解码器模块1030中的一个或多个可以在执行本文档中描述的过程期间存储各种项中的一个或多个。这些存储的项可以包括但不限于输入视频、解码视频或解码视频的部分、比特流或信号、矩阵、变量以及来自等式、公式、运算和运算逻辑的处理的中间或最终结果。

在若干实施例中,处理器1010和/或编码器/解码器模块1030内的存储器用于存储指令,且提供用于在编码或解码期间需要的处理的工作存储器。然而,在其他实施例中,处理设备外部的存储器(例如,处理设备可为处理器1010或编码器/解码器模块1030)用于这些功能中的一者或多者。外部存储器可以是存储器1020和/或存储设备1040,例如,动态易失性存储器和/或非易失性闪存。在几个实施例中,外部非易失性闪存用于存储电视的操作系统。在至少一个实施例中,诸如RAM的快速外部动态易失性存储器被用作视频译码和解码操作的工作存储器,诸如MPEG-2、HEVC或VVC(通用视频译码)。

如框1130中所示,可以通过各种输入设备来提供对系统1000的元件的输入。这样的输入设备包括但不限于:(i)接收例如由广播公司通过空中(air)传输的RF信号的RF部分;(ii)复合输入端子;(iii)USB输入端子;和/或(iv)HDMI输入端子。

在各种实施例中,块1130的输入设备具有本领域已知的相关联的相应输入处理元件。例如,RF部分可以与用于以下的元件相关联:(i)选择期望频率(也称为选择信号,或将信号频带限制到频带);(ii)下变频所选择的信号;(iii)再次频带限制到较窄频带以选择(例如)在某些实施例中可以称为信道的信号频带;(iv)解调下变频和频带限制的信号;(v)执行纠错;以及(vi)解复用以选择期望的数据分组流。各种实施例的RF部分包括一个或多个元件以执行这些功能,例如,频率选择器、信号选择器、频带限制器、信道选择器、滤波器、下变频器、解调器、纠错器和解复用器。RF部分可以包括执行各种这些功能的调谐器,这些功能包括例如将接收信号下变频到较低频率(例如,中频或近基带频率)或基带。在一个机顶盒实施例中,RF部分及其相关联的输入处理元件接收通过有线(例如,电缆)介质传送的RF信号,并通过滤波、下变频和再次滤波到期望的频带来执行频率选择。各种实施例重新安排上述(和其他)元件的顺序,移除这些元件中的一些,和/或添加执行类似或不同功能的其他元件。添加元件可以包括在现有元件之间插入元件,例如,插入放大器和模数转换器。在各种实施例中,RF部分包括天线。

另外,USB和/或HDMI终端可以包括用于通过USB和/或HDMI连接将系统1000连接到其他电子设备的相应接口处理器。应当理解,输入处理的各个方面,例如,里德-所罗门纠错,可以在例如单独的输入处理IC或处理器1010内实现。类似地,USB或HDMI接口处理的各方面可以在单独的接口IC内或在处理器1010内实现。解调、纠错和解复用的流被提供给各种处理元件,包括例如处理器1010和编码器/解码器1030,其与存储器和存储元件结合操作以处理数据流以便在输出设备上呈现。

系统1000的各种元件可被提供在集成壳体内。在集成壳体内,各种元件可使用合适的连接布置1140例如本领域已知的内部总线包括I2C总线、布线和印刷电路板互连并在其间传输数据。

系统1000包括通信接口1050,其使得能够经由通信信道1060与其他设备通信。通信接口1050可以包括但不限于被配置为通通信信道1060发送和接收数据的收发信机。通信接口1050可以包括但不限于调制解调器或网卡,并且通信信道1060可以例如在有线和/或无线介质内实现。

在各种实施例中,使用诸如IEEE 802.11的Wi-Fi网络将数据流式传输到系统1000。这些实施例的Wi-Fi信号通过适用于Wi-Fi通信的通信信道1060和通信接口1050来接收。这些实施例的通信信道1060通常连接到接入点或路由器,所述接入点或路由器提供对包括因特网的外部网络的接入以允许流式传输应用和其他过顶(over-the-top)通信。其他实施例使用机顶盒向系统1000提供流数据,该机顶盒通过输入块1130的HDMI连接传递数据。还有其他实施例使用输入块1130的RF连接向系统1000提供流数据。

系统1000可以向各种输出设备提供输出信号,所述输出设备包括显示器1100、扬声器1110和其他外围设备1120。在各实施例的各示例中,其他外围设备1120包括独立DVR、盘播放器、立体声系统、照明系统、以及基于系统1000的输出提供功能的其他设备中的一个或多个。在各种实施例中,使用诸如AV.链路、CEC或其他通信协议的信令(signaling)在系统1000和显示器1100、扬声器1110或其他外围设备1120之间传送控制信号,其使得能够在有或没有用户干预的情况下实现设备到设备控制。输出设备可以经由通过相应接口1070、1080和1090的专用连接通信地耦合到系统1000。或者,输出设备可以使用通信信道1060经由通信接口1050连接到系统1000。显示器1100和扬声器1110可以与系统1000的其他组件一起集成在电子设备(例如电视机)中的单个单元中。在各种实施例中,显示接口1070包括显示驱动器,例如定时控制器(T con)芯片。

例如,如果输入1130的RF部分是单独机顶盒的一部分,则显示器1100和扬声器1110可以备选地与其他组件中的一个或多个分离。在显示器1100和扬声器1110是外部组件的各种实施例中,输出信号可以经由专用输出连接来提供,所述专用输出连接例如包括HDMI端口、USB端口或COMP输出。

这些实施例可以由处理器1010或硬件和软件的组合实现的计算机软件来实现。作为非限制性示例,实施例可以由一个或多个集成电路实现。存储器1020可以是适合于技术环境的任何类型,并且可以使用任何适当的数据存储技术来实现,作为非限制性示例,诸如光学存储器设备、磁存储器设备、基于半导体的存储器设备、固定存储器和可移动存储器。处理器1010可以是适合于技术环境的任何类型,并且可以包含作为非限制性示例的微处理器、通用计算机、专用计算机和基于多核架构的处理器中的一个或多个。

在本公开中还支持和考虑了各种一般化的以及特殊化的实施例。根据本公开的实施例的示例包括但不限于以下内容。

通常,实施例的至少一个示例可以涉及用于编码图片信息的方法,包括:确定包括细化函数的解码器侧运动矢量细化过程的激活;基于指示符来修改所述细化函数;以及基于所述解码器侧运动矢量细化过程和所修改的细化函数来编码图片信息的至少一部分。

通常,实施例的至少一个示例可以涉及用于解码图片信息的方法,包括:确定包括细化函数的解码器侧运动矢量细化过程的激活;基于指示符来修改所述细化函数;以及基于所述解码器侧运动矢量细化过程和所修改的细化函数来解码图片信息的至少一部分。

通常,实施例的至少一个示例可以涉及用于编码图片信息的装置,包括:一个或多个处理器。该一个或多个处理器被配置为:确定包括细化函数的解码器侧运动矢量细化过程的激活;基于指示符来修改所述细化函数;以及基于所述解码器侧运动矢量细化过程和所修改的细化函数来编码图片信息的至少一部分。

通常,实施例的至少一个示例可以涉及用于解码图片信息的装置,包括:一个或多个处理器。该一个或多个处理器被配置为:确定包括细化函数的解码器侧运动矢量细化过程的激活;基于指示符来修改所述细化函数;以及基于所述解码器侧运动矢量细化过程和所修改的细化函数来编码图片信息的至少一部分。

通常,实施例的至少一个示例可涉及如本文所描述的方法,其中修改细化函数包括修改与解码器侧运动矢量细化过程相关联的成本函数。

通常,实施例的至少一个示例可涉及如本文所描述的装置,其中一个或多个处理器被配置为修改细化函数包括所述一个或多个处理器被配置为修改与解码器侧运动矢量细化过程相关联的成本函数。

通常,实施例的至少一个示例可涉及如本文所描述的方法,其中修改成本函数包括在解码器侧运动矢量细化过程期间使用均值移除绝对差值和(MRSAD)成本函数。

通常,实施例的至少一个示例可涉及如本文所描述的装置,其中一个或多个处理器被配置为修改成本函数包括所述一个或多个处理器被配置为在解码器侧运动矢量细化过程期间使用均值移除绝对差值和(MRSAD)成本函数。

通常,实施例的至少一个示例可以涉及如本文所述的方法,其中细化函数包括成本函数;并且修改所述细化函数包括从包括绝对差值和(SAD)成本函数和均值移除绝对差值和(MRSAD)成本函数的组中选择所述成本函数。

通常,实施例的至少一个示例可以涉及如本文所述的装置,其中细化函数包括成本函数;以及一个或多个处理器,被配置为修改所述细化函数包括所述一个或多个处理器被配置为从包括绝对差值和(SAD)成本函数和均值移除绝对差值和(MRSAD)成本函数的组中选择所述成本函数。

通常,实施例的至少一个示例可涉及如本文所描述的方法或装置,其中指示符包括指示在解码器侧运动矢量细化过程的激活期间激活以下中的至少一者的信息或索引或标志中的一者或多者:局部照明补偿(LIC)过程;或者加权预测(WP)过程;或者译码单元(CU)级加权双向预测(BCW)过程。

通常,实施例的至少一个示例可以涉及用于编码图片的方法,包括:确定涉及运动矢量细化过程和不同于该运动矢量细化过程的第二过程的处理模式的激活;基于所述激活和所述第二过程修改所述运动矢量细化过程;以及基于所修改的运动矢量细化过程和所述第二过程来编码图片。

通常,实施例的至少一个示例可以涉及用于解码图片的方法,包括:确定涉及运动矢量细化过程和不同于该运动矢量细化过程的第二过程的处理模式的激活;基于所述激活和所述第二过程修改所述运动矢量细化过程;以及基于所修改的运动矢量细化过程和所述第二过程来解码图片。

通常,实施例的至少一个示例可以涉及用于编码图片的装置,包括一个或多个处理器,其中,所述一个或多个处理器被配置为:确定涉及运动矢量细化过程和不同于该运动矢量细化过程的第二过程的处理模式的激活;基于所述激活和所述第二过程修改所述运动矢量细化过程;以及基于所修改的运动矢量细化过程和所述第二过程来编码图片。

通常,实施例的至少一个示例可以涉及用于解码图片的装置,包括一个或多个处理器,其中,所述一个或多个处理器被配置为:确定涉及运动矢量细化过程和不同于该运动矢量细化过程的第二过程的处理模式的激活;基于所述激活和所述第二过程修改所述运动矢量细化过程;以及基于修改的运动矢量细化过程和所述第二过程来解码图片。

通常,实施例的至少一个示例可以涉及包含如本文所描述的运动矢量细化过程的方法或装置,其中所述运动矢量细化过程包括解码侧运动矢量细化过程(DMVR)。

通常,实施例的至少一个示例可以涉及包含如本文中所描述的第二过程的方法或装置,其中所述第二过程包括以下中的至少一者:局部照明补偿(LIC)过程或加权预测过程(WP)或译码单元(CU)级加权双向预测(BCW)。

通常,实施例的至少一个示例可涉及一种方法,其包含修改如本文中所描述的运动矢量细化过程,其中修改所述运动矢量细化过程包括修改与所述运动矢量细化过程相关联的成本函数。

通常,实施例的至少一个示例可以涉及一种装置,该装置包括一个或多个处理器,其被配置为修改如本文中所描述的运动矢量细化过程,其中所述一个或多个处理器被配置为修改运动矢量细化过程包括所述一个或多个处理器被配置为修改与所述运动矢量细化过程相关联的成本函数。

通常,实施例的至少一个示例可涉及一种方法,其包含修改与如本文所描述的运动矢量细化过程相关联的成本函数,其中修改所述成本函数包括在所述运动矢量细化过程期间使用均值移除绝对差值和(MRSAD)成本函数。

通常,实施例的至少一个示例可以涉及一种装置,该装置包含一个或多个处理器,其被配置为修改与如本文所描述的运动矢量细化过程相关联的成本函数,其中所述一个或多个处理器被配置为修改成本函数包括在所述运动矢量细化过程期间使用均值移除绝对差值和(MRSAD)成本函数。

通常,实施例的至少一个示例可以涉及用于编码图片的方法,包括:确定涉及解码器侧运动矢量细化(DMVR)过程和局部照明补偿(LIC)过程的处理模式的激活;基于所述激活和所述LIC过程来修改所述DMVR过程;以及基于所修改的DMVR过程和所述LIC过程来编码图片。

通常,实施例的至少一个示例可以涉及用于解码图片的方法,包括:确定涉及解码器侧运动矢量细化(DMVR)过程和局部照明补偿(LIC)过程的处理模式的激活;基于所述激活和所述LIC过程来修改所述DMVR过程;以及基于所修改的DMVR过程和所述LIC过程来解码图片。

通常,实施例的至少一个示例可以涉及用于编码图片的装置,包括一个或多个处理器,其中,所述一个或多个处理器被配置为:确定涉及解码器侧运动矢量细化(DMVR)过程和局部照明补偿(LIC)过程的处理模式的激活;基于所述激活和所述LIC过程来修改所述DMVR过程;以及基于所修改的DMVR过程和所述LIC过程来编码图像。

通常,实施例的至少一个示例可以涉及用于解码图片的装置,其包括一个或多个处理器,其中所述一个或多个处理器被配置为:确定涉及解码器侧运动矢量细化(DMVR)过程和局部照明补偿(LIC)过程的处理模式的激活;基于所述激活和所述LIC过程来修改所述DMVR过程;以及基于所修改的DMVR过程和所述LIC过程来解码图像。

通常,实施例的至少一个示例可以涉及一种方法,该方法包括修改如本文所述的DMVR过程,其中,修改DMVR过程包括修改与DMVR过程相关联的成本函数。

通常,实施例的至少一个示例可以涉及一种装置,该装置包括如本文所述的被配置为修改DMVR过程的一个或多个处理器,其中,所述一个或多个处理器被配置为修改DMVR过程包括所述一个或多个处理器被配置为修改与运动矢量细化处理相关联的成本函数。

通常,实施例的至少一个示例可以涉及一种方法,该方法包括修改与如本文所述的DMVR过程相关联的成本函数,其中修改成本函数包括在DMVR过程期间使用均值移除绝对差值和(MRSAD)成本函数。

通常,实施例的至少一个示例可以涉及一种装置,该装置包括如本文所描述的被配置为修改与DMVR过程相关联的成本函数的一个或多个处理器,其中,所述一个或多个处理器被配置为修改与DMVR过程相关联的成本函数包括所述一个或多个处理器被配置为在DMVR过程期间使用均值移除绝对差值和(MRSAD)成本函数。

通常,实施例的至少一个示例可以涉及包括指令的计算机程序产品,所述指令在由计算机执行时,使所述计算机执行本文描述的方法中的任意一者或多者。

通常,实施例的至少一个示例可以涉及存储可执行程序指令的非暂时性计算机可读介质,以使执行指令的计算机执行本文描述的方法中的任意一者或多者。

通常,实施例的至少一个示例可以涉及一种信号,包括根据本文描述的方法中的任意一者或多者生成的数据。

通常,实施例的至少一个示例可涉及一种比特流,其被格式化为包含根据本文中所描述的方法中的任何一者或多者的语法元素和编码的图像信息。

通常,实施例的至少一个示例可以涉及一种设备,该设备包括根据如本文描述的装置的任何实施例的装置,以及以下的至少一者:(i)天线,其被配置为接收信号,该信号包括表示图像信息的数据;(ii)频带限制器,其被配置为将接收的信号限制到包括表示图像信息的数据的频带;以及(iii)显示器,其被配置为显示来自图像信息的图像。

通常,实施例的至少一个示例可以涉及如本文所述的设备,其中,所述设备包括电视、电视信号接收机、机顶盒、网关设备、移动设备、蜂窝电话、平板电脑或其他电子设备中的一者。

在本公开中,各种实现方式涉及解码。如本申请中所使用的,“解码”可以包括例如对接收到的编码序列执行的过程中的全部或部分,以便产生适合于显示的最终输出。在各种实施例中,此类过程包括通常由解码器执行的过程中的一个或多个,例如熵解码、逆量化、逆变换和差分解码。在各种实施例中,此类过程还或替代地包括由本申请中描述的各种实现方式的解码器执行的过程,例如,从平铺(tiled)(封装)图片提取图片,确定上采样滤波器以使用且接着上采样图片,以及将图片翻转回其既定定向。

作为进一步的示例,在一个实施例中,“解码”仅指熵解码,在另一实施例中,“解码”仅指差分解码,并且在另一实施例中,“解码”指熵解码和差分解码的组合。短语“解码过程”是否旨在具体地指代操作的子集或一般地指代更广泛的解码过程基于具体描述的上下文将是清楚的,并且相信是本领域技术人员所充分理解的。

此外,各种实现方式涉及编码。以与以上关于“解码”的讨论类似的方式,如在本申请中使用的“编码”可以包括例如对输入视频序列执行的过程的全部或部分,以便产生编码的比特流或信号。在各种实施例中,此类过程包括通常由编码器执行的一个或多个过程,例如,分割、差分编码、变换、量化和熵编码。在各种实施例中,这样的过程还或替代地包括由本申请中描述的各种实现方式的编码器执行的过程。

作为进一步的示例,在一个实施例中,“编码”仅指熵编码,在另一实施例中,“编码”仅指差分编码,而在另一实施例中,“编码”指差分编码和熵编码的组合。短语“编码过程”是否旨在具体地指代操作的子集或一般地指代更广泛的编码过程将基于具体描述的上下文而变得清楚,并且相信是本领域技术人员所充分理解的。

注意,这里使用的语法元素是描述性术语。因此,它们不排除使用其它语法元素名称。

当附图被呈现为流程图时,应当理解,它还提供了对应装置的框图。类似地,当附图被呈现为框图时,应当理解,它还提供了对应的方法/过程的流程图。

各种实施例涉及率失真优化。特别地,在编码过程期间,通常考虑速率和失真之间的平衡或折衷,通常给出计算复杂度的约束。率失真优化通常被公式化为最小化率失真函数,率失真函数是速率和失真的加权和。存在不同的方法来解决率失真优化问题。例如,这些方法可以基于对所有编码选项的广泛测试,包括所有考虑的模式或译码参数值,在译码和解码之后对它们的译码成本和重构信号的相关失真进行完整评估。还可以使用更快的方法来节省编码复杂度,特别是基于预测或预测残差信号而不是重构信号来计算近似失真。还可以使用这两种方法的混合,例如通过仅对一些可能的编码选项使用近似失真,而对其他编码选项使用完全失真。其他方法仅评估可能的编码选项的子集。更一般地,许多方法采用各种技术中的任何一种来执行优化,但是优化不一定是对译码成本和相关失真两者的完整评估。

本文描述的实现方式和方面可以在例如方法或过程、装置、软件程序、数据流或信号中实现。即使仅在单一形式的实现的上下文中讨论(例如,仅作为方法讨论),所讨论的特征的实现也可以以其他形式(例如,装置或程序)来实现。例如,可以以适当的硬件、软件和固件来实现装置。所述方法可以在例如处理器中实现,所述处理器通常指处理设备,包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,例如计算机、蜂窝电话、便携式/个人数字助理(“PDA”)和便于终端用户之间的信息通信的其他设备。

对“一个实施例”或“实施例”或“一个实现”或“实现”以及其他变化形式的提及意味着结合实施例描述的特定特征、结构、特性等被包含在至少一个实施例中。因此,在贯穿本文档的各个地方出现的短语“在一个实施例中”或“在实施例中”或“在一个实现中”或“在实现中”以及任何其他变型的出现不一定都指同一实施例。

另外,本文档可以涉及“获得”各种信息。获得信息可以包括例如确定信息、估计信息、计算信息、预测信息或从存储器检索信息中的一个或多个。

此外,本文档可以涉及“访问”各种信息。访问信息可以包括例如接收信息、检索信息(例如,从存储器)、存储信息、移动信息、复制信息、计算信息、确定信息、预测信息或估计信息中的一个或多个。

另外,本文档可以涉及“接收”各种信息。如同“访问”一样,接收旨在是广义的术语。接收信息可以包括例如访问信息或(例如从存储器)检索信息中的一个或多个。此外,在诸如存储信息、处理信息、发送信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息或估计信息的操作期间,通常以一种方式或另一种方式涉及“接收”。

应当理解,例如在“A/B”、“A和/或B”以及“A和B中的至少一个”的情况下,使用以下“/”、“和/或”以及“……中的至少一个”中的任何一个旨在涵盖仅对第一列出的选项(A)的选择、或仅对第二列出的选项(B)的选择、或对两个选项(A和B)的选择。作为进一步的例子,在“A、B和/或C”和“A、B和C中的至少一个”的情况下,这样的措词旨在包括仅选择第一个列出的选项(A),或者仅选择第二个列出的选项(B),或者仅选择第三个列出的选项(C),或者仅选择第一个和第二个列出的选项(A和B),或者仅选择第一个和第三个列出的选项(A和C),或者仅选择第二个和第三个列出的选项(B和C),或者选择所有三个选项(A和B和C)。这可以扩展到所列的许多项,这对于本领域和相关领域的普通技术人员来说是显而易见的。

此外,如本文所使用的,词语“信号(signal)”尤其是指向相应解码器指示某物。例如,在某些实施例中,编码器发信号通知多个参数中的特定一个以用于细化。这样,在实施例中,在编码器侧和解码器侧使用相同的参数。因此,例如,编码器可以向解码器传送(显式信令)特定参数,使得解码器可以使用相同的特定参数。相反,如果解码器已经具有特定参数以及其他参数,则可以使用信令而不进行传送(隐式信令),以简单地允许解码器知道并选择特定参数。通过避免任何实际函数的传输,在各种实施例中实现了比特节省。应当理解,可以以各种方式来实现信令。例如,在各种实施例中,一个或多个语法元素、标志等被用于将信息用信号通知给对应的解码器。虽然前述内容涉及词语“信号”的动词形式,但是词语“信号”在本文中也可以用作名词。

如本领域技术人员将明白的,实现可以产生被格式化以携带例如可以被存储或发送的信息的各种信号。该信息可以包括例如用于执行方法的指令,或者由所描述的实现之一产生的数据。例如,信号可以被格式化以携带所描述的实施例的比特流或信号。这种信号可以被格式化为例如电磁波(例如,使用频谱的射频部分)或基带信号。格式化可以包括例如编码数据流和用编码数据流调制载波。信号携带的信息可以是例如模拟或数字信息。如已知的,信号可以通过各种不同的有线或无线链路来传输。该信号可以存储在处理器可读介质上。

已经描述了各种实施例。实施例可以包括跨越各种不同的权利要求类别和类型的单独的或以任何组合的以下特征或实体中的任何特征或实体:

·在编码器和/或解码器中提供基于确定包括细化函数的解码器侧运动矢量细化过程的激活来编码/解码图片信息,其中基于指示符来修改所述细化函数。

·在编码器和/或解码器中提供基于确定包括细化函数的解码器侧运动矢量细化过程的激活来编码/解码图片信息,其中基于指示符来修改所述细化函数,并且包括以下中的一者或多者:

ο所述细化函数包括成本函数,或者

ο修改所述细化函数包括修改与解码器侧运动矢量细化过程相关联的成本函数,或者

ο修改成本函数包括在解码器侧运动矢量细化过程期间使用均值移除绝对差值和(MRSAD)成本函数,或者

ο修改所述细化函数包括从包括绝对差值和(SAD)成本函数和均值移除绝对差值和(MRSAD)成本函数的组中选择所述成本函数,或者

ο所述指示符包括指示在解码器侧运动矢量细化过程的激活期间激活以下中至少一者的信息或索引或标志中的一者或多者:局部照明补偿(LIC)过程;或者加权预测过程(WP);或者译码单元(CU)级加权双向预测(BCW)过程。

·在所述编码器和/或解码器中提供用于在照明补偿被激活时应用运动矢量细化。

·在所述编码器和/或解码器中提供用于在局部照明补偿(LIC)被激活时应用解码器侧运动矢量细化(DMVR)。

·在所述编码器和/或解码器中提供用于在照明补偿被激活时基于修改的成本函数应用运动矢量细化。

·在所述编码器和/或解码器中提供用于在加权预测(WP)被激活时应用解码器侧运动矢量细化(DMVR)。

·在所述编码器和/或解码器中提供用于在WP被激活时基于修改的成本函数来应用运动矢量细化。

·在所述编码器和/或解码器中提供用于在CU级加权双向预测(BCW)被激活时应用解码器侧运动矢量细化(DMVR)。

·在所述编码器和/或解码器中提供用于在BCW被激活时基于修改的成本函数应用运动矢量细化。

·在所述编码器和/或解码器中提供用于在局部照明补偿(LIC)或WP或BCW被激活时,基于修改的成本函数来应用解码器侧运动矢量细化(DMVR)。

·在所述编码器和/或解码器中提供用于在照明补偿(例如,LIC或WP或BCW)被激活时基于修改的绝对差值和(SAD)成本函数来应用运动矢量细化。

·在所述编码器和/或解码器中提供用于在照明补偿被激活时基于修改的绝对差值和(SAD)成本函数来应用运动矢量细化,其中所述运动矢量细化包括解码器侧运动矢量细化(DMVR),并且所述修改的绝对差值和成本函数包括均值移除SAD(MRSAD),并且所述照明补偿包括局部照明补偿(LIC)或WP或BCW。

·在所述编码器和/或解码器中提供用于在局部照明补偿(LIC)被激活时应用解码器侧运动矢量细化(DMVR),其中一旦所述DMVR预测可用,则计算LIC过程。

·在所述编码器和/或解码器中提供用于基于局部照明补偿(LIC)或WP或BCW是否被激活来应用解码器侧运动矢量细化(DMVR),其中,DMVR被应用包括在LIC或WP或BCW被激活时应用修改的成本函数。

·在所述编码器和/或解码器中提供用于基于局部照明补偿(LIC)或WP或BCW是否被激活来应用解码器侧运动矢量细化(DMVR),其中,DMVR被应用包括当LIC或WP或BCW被激活时应用修改的成本函数,并且所述修改的成本函数包括均值移除绝对差值和成本函数。

·在所述编码器和/或解码器中提供用于基于在CU、切片、SPS、PPS级在比特流中译码的标志/索引的值来应用解码器侧运动矢量细化(DMVR),其中所述DMVR被应用包括取决于所译码的信息的值来应用修改的成本函数,并且所述修改的成本函数包括均值移除绝对差值和成本函数。

·在所述编码器和/或解码器中提供用于在照明补偿被激活时基于提供改进的压缩效率而应用运动矢量细化。

·在信令中插入语法元素,所述语法元素使得所述编码器和/或解码器能够在如本文所述的在照明补偿被激活时提供应用运动矢量细化。

·基于这些语法元素选择运动矢量细化和照明补偿的组合以在解码器处应用。

·一种比特流或信号,包含所描述的语法元素中的一者或多者或其变型。

·在信令中插入语法元素,所述语法元素使得所述解码器能够以对应于编码器所使用的方式提供运动矢量细化和照明补偿。

·创建和/或传送和/或接收和/或解码包括一个或多个所描述的语法元素或其变型的比特流或信号。

·一种TV、机顶盒、蜂窝电话、平板电脑或其他电子设备,其提供根据所描述的实施例中的任意者的应用运动矢量细化和照明补偿。

·一种TV、机顶盒、蜂窝电话、平板电脑或其他电子设备,其根据所描述的任何实施例执行运动矢量细化和照明补偿,并且显示(例如,使用监视器、屏幕或其他类型的显示器)结果图像。

·一种TV、机顶盒、蜂窝电话、平板电脑或其他电子设备,其调谐(例如,使用调谐器)信道以接收包括编码图像的信号,并且根据所描述的实施例中的任意者执行运动矢量细化和照明补偿。

·一种TV、机顶盒、蜂窝电话、平板电脑或其他电子设备,其通过空中接收(例如,使用天线)包括编码图像的信号,并且根据所描述的实施例中的任意者执行运动矢量细化和照明补偿。

·一种存储程序代码的计算机程序产品,所述程序代码在由计算机执行时,实现根据所描述的实施例中的任意者的运动矢量细化和照明补偿。

·一种非暂时性计算机可读介质,其包含可执行程序指令,以使执行所述指令的计算机实现根据所描述的实施例中的任意者的运动矢量细化及照明补偿。

在本公开中,还支持和设想了各种其他一般化的以及特殊化的实施例。

41页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于双向光流的比特深度控制的方法和设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类