一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于视频编码和解码的运动向量处理的制作方法

2022-04-02 02:47:13 来源:中国专利 TAG:


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


背景技术:

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


技术实现要素:

3.一般来说,实施例的示例可以涉及一种方法,该方法包括:确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与运动向量信息的第一部分相关联的第一精度等级,及与所述运动向量信息的第二部分相关联的第二精度等级,其中所述运动向量信息与所述当前译码单元相关联;基于所述运动向量信息、以及所述第一精度等级和所述第二精度等级,获得与所述当前译码单元相关联的运动向量;以及基于所述译码模式和所述运动向量,对包括在所述当前译码单元中的图片信息的至少一部分进行解码。
4.一般来说,实施例的另一示例可涉及一种方法,所述方法包括:确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与运动向量信息的第一部分相关联的第一精度等级,及与所述运动向量信息的第二部分相关联的第二精度等级,其中所述运动向量信息与所述当前译码单元相关联;基于所述运动向量信息、以及所述第一精度等级和所述第二精度等级,获得与所述当前译码单元相关联的运动向量;以及基于所述译码模式和所述运动向量,对所述图片信息的至少一部分进行编码。
5.一般来说,实施例的另一示例可涉及包括一个或多个处理器的装置,所述一个或多个处理器被配置为确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与运动向量信息的第一部分相关联的第一精度等级,及与所述运动向量信息的第二部分相关联的第二精度等级,其中所述运动向量信息与所述当前译码单元相关联;基于所述运动向量信息、以及所述第一精度等级和所述第二精度等级,获得与所述当前译码单元相关联的运动向量;以及基于所述译码模式和所述运动向量,对所述图片信息的至少一部分进行解码。
6.一般来说,实施例的另一示例可涉及包括一个或多个处理器的装置,所述一个或多个处理器被配置为确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与运动向量信息的第一部分相关联的第一精度等级,及与所述运动向量信息的第二部分相关联的第二精度等级,其中所述运动向量信息与所述当前译码单元相关联;基于所述运动向量信息、以及所述第一精度等级和所述第二精度等级,获得与图片信息的
译码单元相关联的运动向量;以及基于所述译码模式和所述运动向量,对所述图片信息的至少一部分进行编码。
7.一般来说,实施例的另一示例可涉及一种方法,所述方法包括:确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与运动向量残差的第一分量相关联的第一精度等级及与所述运动向量残差的第二分量相关联的第二精度等级,所述运动向量残差与所述当前译码单元相关联;基于所述运动向量残差、以及所述第一精度等级和所述第二精度等级,获得与所述当前译码单元相关联的运动向量;以及基于所述译码模式和所述运动向量,对包括在所述当前译码单元中的图片信息的至少一部分进行解码。
8.一般来说,实施例的另一示例可涉及一种方法,所述方法包括:确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与运动向量残差的第一分量相关联的第一精度等级及与所述运动向量残差的第二分量相关联的第二精度等级,所述运动向量残差与所述当前译码单元相关联;基于所述运动向量残差、以及所述第一精度等级和所述第二精度等级,获得与所述当前译码单元相关联的运动向量;以及基于所述译码模式和所述运动向量,对所述图片信息的至少一部分进行编码。
9.一般来说,实施例的另一示例可涉及包括一个或多个处理器的装置,所述一个或多个处理器被配置为确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与运动向量残差的第一分量相关联的第一精度等级,以及与所述运动向量残差的第二分量相关联的第二精度等级,所述运动向量残差与所述当前译码单元相关联;基于所述运动向量残差、以及所述第一精度等级和所述第二精度等级,获得与所述当前译码单元相关联的运动向量;以及基于所述译码模式和所述运动向量,对所述图片信息的至少一部分进行解码。
10.一般来说,实施例的另一示例可涉及包括一个或多个处理器的装置,所述一个或多个处理器被配置为确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与运动向量残差的第一分量相关联的第一精度等级,以及与所述运动向量残差的第二分量相关联的第二精度等级,所述运动向量残差与所述当前译码单元相关联;基于所述运动向量残差、以及所述第一精度等级和所述第二精度等级,获得与图片信息的译码单元相关联的运动向量;以及基于所述译码模式和所述运动向量,对所述图片信息的至少一部分进行编码。
11.一般来说,实施例的另一示例可涉及一种方法,所述方法包括:确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与对应于第一参考图片列表的第一运动向量残差相关联的第一精度等级,以及与对应于第二参考图片列表的第二运动向量残差相关联的第二精度等级;基于所述第一运动向量残差和所述第一精度等级,获得第一运动向量,且基于所述第二运动向量残差和所述第二精度等级,获得第二运动向量;以及基于所述译码模式、以及所述第一运动向量和所述第二运动向量,对所述图片信息的至少一部分进行解码。
12.一般来说,实施例的另一示例可涉及一种方法,所述方法包括:确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式确定与对应于第一参考图片列表的第一运动向量残差相关联的第一精度等级,以及与对应于第二参考图片列表的第二运动向量残差相关联的第二精度等级;基于所述第一运动向量残差和所述第一精度等级,获得
第一运动向量,且基于所述第二运动向量残差和所述第二精度等级,获得第二运动向量;以及基于所述译码模式以及所述第一和第二运动向量,对所述图片信息的至少一部分进行编码。
13.一般来说,实施例的另一示例可涉及包括一个或多个处理器的装置,所述一个或多个处理器被配置为确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与对应于第一参考图片列表的第一运动向量残差相关联的第一精度等级,以及与对应于第二参考图片列表的第二运动向量残差相关联的第二精度等级;基于所述第一运动向量残差和所述第一精度等级,获得第一运动向量,且基于所述第二运动向量残差和所述第二精度等级,获得第二运动向量;以及基于所述译码模式、以及所述第一运动向量和所述第二运动向量,对所述图片信息的至少一部分进行解码。
14.一般来说,实施例的另一示例可涉及包括一个或多个处理器的装置,所述一个或多个处理器被配置为确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与对应于第一参考图片列表的第一运动向量残差相关联的第一精度等级,以及与对应于第二参考图片列表的第二运动向量残差相关联的第二精度等级;基于所述第一运动向量残差和所述第一精度等级,获得第一运动向量,且基于所述第二运动向量残差和所述第二精度等级,获得第二运动向量;以及基于所述译码模式、以及所述第一运动向量和所述第二运动向量,对所述图片信息的至少一部分进行编码。
15.一般来说,实施例的另一示例可涉及被格式化以包含编码的图片信息的比特流,其中通过基于根据本发明的方法的实施例的实例中的任何一者或一者以上处理所述图片信息来编码所述经编码图片信息。
16.通常,实施例的一个或多个其它示例还可以提供计算机可读存储介质,例如,非易失性计算机可读存储介质,其上存储有用于根据本文描述的方法或装置对诸如视频数据的图片信息进行编码或解码的指令。一个或多个实施例还可以提供一种计算机可读存储介质,其上存储有根据本文描述的方法或装置生成的比特流。一个或多个实施例还可以提供用于发送或接收根据本文描述的方法或装置生成的比特流的方法和装置。
17.如以下所解释的,构想了各种修改和实施例,其可提供对视频编码和/或解码系统的改进,包括但不限于增加的压缩效率和/或译码效率和/或处理效率和/或降低的复杂度中的一个或多个。
18.以上给出了本主题的简化概述,以便提供对本公开的一些方面的基本理解。本概述不是对本主题的详尽综述。其并非旨在标识各实施例的关键/重要元素或描绘本主题的范围。其唯一目的是以简化形式呈现本主题的一些概念,作为以下提供的更详细描述的序言。
附图说明
19.通过结合附图考虑下面的详细描述,可以更好地理解本公开,其中:
20.图1提供描绘视频编码器的实施例的示例的框图;
21.图2提供描绘视频解码器的实施例的示例的框图;
22.图3示出了可以用于表示压缩图片的译码树单元(ctu)和译码树概念;
23.图4示出了译码树单元(ctu)和ctu到译码单元(cu)、预测单元(pu)和变换单元
(tu)的划分;
24.图5示出了在诸如vvc草案5的amvp模式中的空间和时间运动向量预测候选的示例;
25.图6示出了在诸如vvc草案5的amvp模式中的运动向量预测候选的计算;
26.图7示出了仿射运动模型的实例;
27.图8示出了基于4
×
4子cu的仿射运动向量场的实例;
28.图9示出了空间位置(a0、a1、b0、b1和b2)的示例,从这些空间位置检索cpvm预测候选以在仿射amvp模式(诸如vtm草案3的模式)下预测当前cu的仿射模型;
29.图10示出了用于诸如vtm的仿射amvp cu的运动向量预测处理;
30.图11说明了在仿射amvp模式下构建cpvmp候选列表的示例;
31.图12至图27示出了根据本公开的各个方面、实施例和特征的示例;
32.图28提供了示出根据本文描述的各个方面和实施例的装置的实施例的示例的框图;
33.图29示出了根据本公开的实施例的示例;以及
34.图30示出了根据本公开的实施例的另一示例。
35.应当理解,附图是为了说明各个方面和实施例的示例的目的,并且不一定是唯一可能的配置。在所有附图中,相同的参考标记表示相同或相似的特征。
具体实施方式
36.在附图中,图1示出了视频编码器100的示例,例如hevc编码器。hevc是由视频编码联合合作组(jct-vc)开发的压缩标准(参见,例如,“itu-t h.265 itu的电信标准段(10/2014),系列h:视听和多媒体系统,视听服务的基础设施-运动视频的译码、高效率视频译码、itu-t h.265建议书”)。图1还可示出其中对hevc标准作出改进的编码器或采用类似于hevc的技术的编码器,例如基于或改进于由联合视频专家组(jvet)开发的jem(联合探索模型)的编码器,例如,与开发工作指定的通用视频译码(vvc)相关联。
37.在本技术中,术语“重构”和“解码”可以互换使用,术语“像素”和“样本”可以互换使用,并且术语“图片”和“帧”可以互换使用。
38.hevc规范在“块”与“单元”之间进行区分,其中“块”寻址样本阵列中的特定区域(例如,亮度、y),而“单元”包含所有编码的颜色分量(y、cb、cr或单色)的共位块、语法元素及与所述块相关联的预测数据(例如,运动向量)。
39.为了译码,将图片划分为具有可配置大小的正方形的译码树块(ctb),并且将译码树块的连续集合分组为片。译码树单元(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或其他视频编码标准中指定的宏块和分区,并且更一般地指代各种大小的数据阵列。
40.在图1的编码器100中,如下所述,由编码器元件对图片进行编码。在输入处提供要编码的图片信息,并且对其进行映射(101)和图像划分(102)。映射(101)通常应用于每个样本,并将1d函数应用于输入样本值以将其转换为其它样本值。例如,1d函数可以扩展采样值范围,并且提供码字在码字范围上的更佳分布。图像划分(102)将图像分割成不同大小和形状的块,以便优化速率-失真折衷。映射和划分使得能够如上所述以cu为单位处理图片信息。每一cu是使用帧内或帧间模式编码的。当cu以帧内模式编码时,其执行帧内预测(160)。在帧间模式中,执行运动估计(175)和补偿(170)。编码器决定(105)将帧内模式或帧间模式中哪一者用于编码cu,并且通过预测模式标志来指示帧内/帧间决定。帧内或帧间预测决定(105)之后是前向映射(191)以产生预测块。通常,前向映射处理(191)类似于映射(101)并且可以与映射互补。通过从原始图像块中减去(110)预测块来计算预测残差。
41.然后,对预测残差进行变换(125)和量化(130)。对量化的变换系数以及运动向量和其它语法元素进行熵译码(145)以输出比特流。编码器也可跳过变换,并在4
×
4 tu的基础上直接对未变换的残差信号应用量化。编码器还可以绕过变换和量化,即,直接对残差进行译码而不应用变换或量化过程。在直接pcm译码中,不应用预测,并且编码单元样本被直接译码到比特流中。
42.编码器对编码块进行解码,以提供用于进一步预测的参考。对量化变换系数进行去量化(140)和逆变换(150)以对预测残差进行解码。组合(155)解码的预测残差和预测块,重构图被像块。环内滤波器(165)被应用于重构的图像,例如,执行去块/sao(采样自适应偏移)滤波以减少编码伪像。逆映射(190)是正向映射(191)的逆。将滤波图像存储在参考图片缓冲器(180)中。
43.图2示出例如hevc解码器等视频解码器200的示例的框图。在示例解码器200中,信号或比特流由如下所述的解码器元件解码。视频解码器200通常执行与如图1中所描述的编码回合互逆的解码回合,其执行视频解码作为编码视频数据的部分。图2还可示出其中对hevc标准作出改进的解码器或采用类似于hevc的技术的解码器,例如基于jem或在jem上改进的解码器。
44.具体地,解码器的输入包括可以由诸如图1的视频编码器100的视频编码器生成的视频信号或比特流。所述信号或比特流首先被熵解码(230),随后被划分(210)以获得变换系数、运动向量和其它译码信息。划分(210)基于解码的数据将图像划分为不同大小和形状的块。变换系数被去量化(240)和逆变换(250)以解码预测残差。将解码的预测残差与预测块进行组合(255),图像块被重构。预测块可以从帧内预测(260)或运动补偿预测(即,帧间预测)(275)获得(270)。高级运动向量预测(amvp)和合并模式技术可用于导出用于运动补偿的运动向量,其可使用内插滤波器来计算参考块的子整数样本的内插值。环内滤波器(265)被应用于重构的图像。将滤波图像存储在参考图片缓冲器(280)中。
45.在hevc视频压缩标准中,采用运动补偿时间预测来利用存在于视频的连续图像之间的冗余。为此,将运动向量与每一预测单元(pu)相关联。每个译码树单元(ctu)由压缩域中的译码树(ct)表示。这是ctu的四叉树划分,其中每个叶被称为译码单元(cu),如图3中所示。
46.然后,每个cu被给予一些帧内或帧间预测参数或预测信息(预测信息)。为此,cu在空间上被划分成一个或一个以上预测单元(pu),每一pu被指派一些预测信息。如图4所示,
在cu级上分配帧内或帧间译码模式,其示出了将译码树单元划分为译码单元、预测单元和变换单元的示例。为了对cu进行译码,从相邻的重构样本(帧内预测)或从存储在解码图片缓冲器(dpb)中的先前重构图片(帧间预测)构建预测块或预测单元(pu)。接下来,对作为原始样本和pu样本之间的差而计算的残差样本进行变换和量化。
47.确切地,一个运动向量(mv)被分配给hevc中的每个pu。该运动向量用于所考虑的pu的运动补偿时间预测。因此,在hevc中,链接预测块及其参考块的运动模型简单地包括平移。
48.hevc中采用两种模式来编码运动数据。它们分别被称为amvp(自适应运动向量预测)和合并(merge)。amvp基本上涉及用信号发送用于预测当前pu的参考图片(一个或多个)、运动向量预测值(predictor)索引(在两个预测值的列表中取得)和运动向量差。合并模式涉及用信号发送和解码收集在运动数据预测值的列表中的一些运动数据的索引。该列表由六个候选组成,并且在解码器和编码器侧以相同的方式构造。因此,合并模式旨在导出从合并列表中取得的一些运动信息。合并列表通常包含与一些空间和时间周围块相关联的运动信息,当当前pu正在被处理时,这些块在它们的解码状态中可用。
49.除了hevc之外的编解码器和视频压缩工具,例如联合探索模型(jem)和由jvet(联合视频探索团队)小组在被称为vvc测试模型(vtm)的通用视频译码(vvc)参考软件中开发的编解码器和视频压缩工具,可以提供与hevc的模式和特征不同的或除了hevc的模式和特征之外的各种模式和特征。例如,将以非限制性方式关于vvc草案5来解释本公开的一个或多个方面。也就是说,在vvc草案5的上下文中的解释仅仅是为了便于解释。本文描述的方面和实施例可以应用于其他环境,例如其他标准、应用、硬件、软件等。
50.对于hevc,vvc草案5的amvp模式涉及可用于在amvp模式中预测cu的运动信息的两个运动向量预测候选。在vvc草案5的amvp模式中可用的空间和时间运动向量预测候选在图5中示出。然而,构建amvp候者的集合的过程稍有不同。首先,执行将所计算的候选舍入到与当前cu相关联的运动向量分辨率。这涉及vvc草案5的自适应运动向量分辨率(amvr)工具,下面将进一步讨论。此外,在tmvp候选之后考虑作为基于历史的运动向量预测值(hmvp)的附加候选者,以填充amvp候选列表。图6中示出了所描述的过程,其示出了在vvc草案5的amvp模式下计算运动向量预测候选的示例。如可以看到的,在amvp候选列表构建过程中,在时间运动向量预测值(tmvp)之后考虑hmvp候选。还可以注意到,在图6的处理的最后步骤,amvp中构建的运动向量预测值候选被舍入到与amvr(自适应运动向量分辨率)相关联的精度等级,其中amvr与当前正在处理的译码单元相关联。vvc的amvr译码工具将在下面进一步讨论。
51.如上所述,除了hevc之外的编解码器和视频压缩工具可以提供不同的或附加的特征。例如,vvc草案5支持hevc的平移模型之外的附加运动模型,以提供改进的时间预测。为了促进这种附加模型,pu可以在空间上被划分为子pu,并且更鲁棒的模型可以用于向每个pu分配专用的运动向量。举例来说,在vvc中引入的运动模型是仿射运动补偿,其涉及使用仿射模型来表示cu中的运动向量。
52.图7示出了用于两个控制点(图7的左侧)或三个控制点(图7的右侧)的运动模型。两个控制点的仿射运动场(也称为4参数仿射模型)涉及所考虑的块内的每个位置(x,y)的以下运动向量分量值:
[0053][0054]
等式1:4参数仿射模型,用于在cu内产生运动场以进行预测
[0055]
其中(v
0x
,v
0y
)和(v
1x
,v
1y
)是用于产生仿射运动场的所谓的控制点运动向量,(v
0x
,v
0y
)是运动向量左上角控制点,且(v
1x
,v
1y
)是运动向量右上角控制点。
[0056]
等式1可基于如由等式3定义的仿射模型参数a和b而被重写为等式2:
[0057][0058]
等式2:4参数仿射模型,用于表示以4参数仿射模式译码的cu的基于子块的运动场
[0059][0060]
等式3:用于4参数仿射模型的仿射模型参数
[0061]
具有三个控制点的模型(称为6参数仿射运动模型)也可用于表示给定译码单元的基于子块的运动场。在6参数仿射模型的情况下,如等式4、5和6中那样计算运动场:
[0062][0063]
等式4:6参数仿射运动场,用于表示以6参数仿射模式译码的cu的基于子块的运动场
[0064][0065]
等式5:6参数仿射运动场的替换表示
[0066][0067]
等式6:用于6参数仿射模型的仿射模型参数
[0068]
实际上,为了保持复杂性合理,针对所考虑cu的4
×
4子块(子cu)的每一样本计算相同的运动向量,如图8中所示出,其展示用于两个控制点模型(图8的左侧)和三个控制点模型(图8的右侧)的基于4
×
4子cu的仿射运动向量场。在每个子块的中心位置处,根据控制点运动向量计算仿射运动向量。获得的运动向量(mv)以1/16像素精度表示。
[0069]
在vvc草案5中,可在仿射amvp模式下预测具有大于8x8的大小的cu。这通过在cu级译码的比特流中的标志来用信号通知。用于所述帧间cu的仿射运动场的产生包含确定控制点运动向量(cpmv),其由解码器通过运动向量差加控制点运动向量预测(cpmvp)的相加而获得。cpmvp是用作当前cu的cpmv的预测值的运动向量对(对于由2个控制点运动向量指定的4参数仿射模型)或三元组(对于由3个控制点运动向量指定的6参数仿射模型)。
[0070]
当前cu的cpmvp可从仿射相邻cu继承(如在仿射合并模式中)。图9示出了从中检索继承的cpmvp的空间位置,图9展示了空间位置(a0、a1、b0、b1和b2),从中检索cpmv预测候选以在例如vtm草案3中的仿射amvp下预测当前cu的仿射模型。如果继承的cpmvp的参考图像等于当前cu的参考图像,则认为其有效。
[0071]
仿射amvp候选还可根据非仿射运动向量构造。这是通过分别在每个集合(a,b,c)和(d,e)和/或(f,g)中采用运动向量预测值来实现的,如图10所示,其示出了用于诸如vtm中的仿射amvp cu的运动向量预测。图11中示出了构造仿射amvp中的cpvmp候选列表的更详细的示例。
[0072]
运动补偿工具的另一示例是包含在vvc草案5中可用的帧内块复制工具(ibc)。它是涉及向所考虑的cu分派所谓的块向量的cu级帧内译码模式。块向量指示当前cu与参考块之间的位移,所述参考块是当前图片内的样本的已重构构块。
[0073]
vvc草案5的自适应运动向量分辨率(amvr)译码工具提供了用于以各种准确度(或精度,或分辨率)等级用信号通知cu的运动向量和其运动向量预测值之间的运动向量差(mvd)的装置。在hevc中,片报头标识(use_integer_mv_flag)指示mvd是以四分之一像素准确度还是以整数像素准确度译码。这意味着所考虑的片中的所有cu以相同mvd精度等级进行译码/解码。在vvc草案5中,可以用信号通知一些cu级信息以指示cu的mvd信息的分辨率。amvr可以应用于以正常amvp或仿射amvp模式译码的cu。
[0074]
在正常amvp模式中,所支持的mvd分辨率等级是四分之一亮度样本、整数亮度样本或四亮度样本。在仿射amvp模式中,所支持的mvd分辨率等级是四分之一亮度样本、整数亮度样本或1/16亮度样本。关于cu层级的amvr信息的信令涉及第一标志,其指示针对mvd信息使用四分之一亮度样本准确度。如果不使用四分之一亮度样本精度,那么第二标志指示在正常amvp模式中使用整数亮度样本或4亮度样本准确度等级。在仿射amvp模式的情况下,第二标志指示整数亮度样本或1/16亮度样本准确度等级的使用。最后,如图6中所示的示例所示,将运动向量预测值舍入到与mvd的amvr精度相同的amvr精度,以确保重构的运动向量具有期望的精度等级。
[0075]
关于ibc(帧内块复制)帧内译码模式,根据针对ibc译码cu用信号通知的amvr_precision_flag,运动向量精度可为1亮度样本分辨率或4亮度样本分辨率。
[0076]
图12示出了根据vvc草案5在amvp和amvr模式下的cu的运动信息的重构的实例,更具体来说,图12中所示的示例示出用于重构将在翻译amvp模式(与仿射amvp模式相对)下译码的输入cu的运动向量的过程,其中amvr对于此cu是活动的。这个过程发生在解码器侧。该过程的输入是已经解析的译码单元。
[0077]
图12中所示出的过程开始于测试当前cu是否采用根据l0参考图片列表中所含有的参考图片的时间预测。如果是,则应用以下四个步骤。
[0078]-应用amvr处理的相反处理。这涉及将与l0参考图片相关联的解析的mvd(运动向量差)转换为由解码器用来表示运动数据的内部精度。
[0079]-下一步骤涉及计算当前cu的参考图片l0的amvp候选列表。这遵循已经参考图6解释的过程。一旦完成此操作,当前参考图片列表中的当前cu的运动向量预测值是已知的且被记录为amvpcand[mvpidx
l0
],其中mvpidx
l0
是用于当前cu的mv预测值候选的索引,且其是从解析过程产生的。
[0080]-下一步骤将当前参考图片列表中的当前cu的运动向量重构为mv预测值与解析的运动向量差的和。
[0081]-接下来,在所考虑的编解码器中根据运动向量的内部表示来修剪重构的运动向量。
[0082]
所述过程的下一步骤测试当前块是否采用根据参考图片列表l1中所含有的参考图片的时间预测。如果是,则应用与上述相同的过程,但是在参考图像列表l1的情况下。作为图12的过程的结果,获得两个重构的运动向量mv
l0
和mv
l1
以用于当前帧间cu,且随后用于当前cu的运动补偿时间预测。
[0083]
一般来说,本公开的一个方面涉及提高诸如上述vvc草案5的方法的压缩效率,例如,由amvr工具提供的译码增益。例如,vvc草案5的现有amvr工具涉及通常为x和y坐标选择mvd译码的分辨率等级。通常,本文所述的实施例的至少一个示例在amvr工具中提供了增加的灵活性。作为实例,至少一个实施例提供译码的运动向量差(mvd)的x值与y值之间的不同准确度等级。作为另一示例,在双预测译码单元的情况下,至少一个实施例提供l0和l1运动向量差译码之间的不同准确度等级。
[0084]
一般来说,本文描述的实施例(本文中称为实施例1)的至少一个实例涉及在ibc译码的译码单元的情况下对块向量的两个分量的分辨率进行区分。
[0085]
图13中示出了对以ibc模式译码的cu的运动数据的解析的示例,其涉及解析当前cu的mvd(运动向量差),接着解析与当前cu相关联的标志(例如,指定为mvp_l0_flag的标志)指示使用哪一mv预测值来译码当前cu的块向量。如果对于当前cu,amvr是允许的,则解析与当前cu关联的标志,例如,指定为amvr_precision_flag的标志,以获得默认1亮度样本mv分辨率是否用于当前cu或者是否使用4亮度像素分辨率的指示。
[0086]
图14示出了根据vvc草案5以ibc模式编码的cu的运动数据的解码器重构的示例。图14中的示例包括应用解码器侧amvr过程:通过将当前cu的解析的mvd向量从译码的amvr精度等级转换为用于运动向量表示的内部精度。然后,通过将用于当前cu的mv预测值与内部精度转换的运动向量差(mvd)相加来重构当前cu的块向量。接着,修剪重构的mv以提供有效的mv表示,例如,根据vvc草案5的有效mv表示。
[0087]
图15示出了根据本实施例的以ibc模式译码的cu的运动数据的解析的示例。该示例涉及解析当前cu的mvd(运动向量差),然后解析与当前cu相关联的标志,例如指定为mvp_l0_flag的标志,指示哪个运动向量预测值被用于译码当前cu的块向量。然后,在针对当前cu,amvr是允许的情况下,解析与当前cu相关联的标志,例如,指定为amvr_precision_flag的标志,以获得针对译码的mvd的x或y分量,默认1亮度样本mv分辨率是否用于当前cu或是否使用4亮度像素分辨率的指示。接下来,如果此标志为真且译码的mvd的x分量为非零,那么解析标志,例如,指定为amvr_flag_x的标志,以获得当前mvd的x分量是以默认1亮度样本精度等级还是以4亮度样本精度等级而用信号通信的指示。接下来,在两个标志(例如,amvr_precision_flag和amvr_flag_x)均为真的情况下,接着解析标志(例如,指定为amvr_flag_y的标志)以获得当前mvd的y分量是以默认1亮度样本精度等级还是以4亮度样本精度等级而用信号通知的指示。否则,如果amvr_precision_flag为真并且amvr_flag_x为假,则amvr_flag_y被推断为真。最后,在amvr_precision_flag为假的情况下,amvr_flag_x和amvr_flag_y两者都被推断为假。
[0088]
图16示出了根据本实施例的以ibc模式译码的cu的运动数据的解码器重构的示例。该示例包括应用解码器侧amvr过程:通过首先将当前cu的解析的mvd向量的x分量从x分量的译码amvr精度等级转换到运动向量表示的内部精度。然后,对y分量应用解码器侧amvr过程:通过将当前cu的解析的mvd向量的y分量从y分量的译码amvr精度等级转换到运动向量表示的内部精度。然后,通过将用于当前cu的mv预测值与内部精度转换的运动向量差(mvd)相加来重构当前cu的块向量。接着,修剪重构的mv以提供有效的mv表示,例如,根据vvc草案5的有效mv表示。
[0089]
在附加到本文档的语法结构列表1中示出了适于实现实施例的当前示例(实施例1)的coding_unit语法结构的示例。
[0090]
一般来说,本文描述的实施例的至少一个其它实例(本文称为实施例2)涉及在平移amvp运动补偿的情况下x和y运动向量分量的解耦分辨率。
[0091]
图17示出了对以amvp模式(例如,根据vvc草案5)译码的cu的amvr数据的解析,其涉及解析与当前cu相关联的第一标志(例如,指定为amvr_flag的标志),且接着在第一标志为真的情况下,解析与当前cu相关联的第二标志(例如,指定为amvr_precision_flag的标志)。第一标志,例如amvr_flag语法元素,指示是否使用默认的1/4亮度样本精度等级来译码当前cu的mv数据。接着,如果第一标志为真,那么解析与当前cu相关联的第二标志,例如amvr_precision_flag,以指示默认的1亮度样本或4亮度样本mv分辨率是否用于当前cu。
[0092]
图18中示出了根据本实施例的解析以amvp模式译码的cu的amvr数据的实例,且其涉及解析与当前cu相关联的标志,例如,指定为amvr_flag的标志。然后,如果amvr_flag为真并且l0或l1列表mvd的解码x分量为非零,则解析另一标志,例如指定为amvr_flag_x,以指示是否以默认1/4亮度样本精度等级而用信号通知当前mvd的x分量。接下来,如果标志amvr_precision_flag和amvr_flag_x都为真,则解析另一个标志,例如指定为amvr_flag_y的标志,以指示当前mvd的y分量是否以默认1/4亮度样本精度等级而被用信号通知。否则,如果amvr_precision_flag为真并且amvr_flag_x为假,则amvr_flag_y被推断为真。其它情况存在如下:
[0093]-如果amvr_precision_flag是假,则amvr_flag_x和amvr_flag_y两者都被推断为假;
[0094]-如果amvr_flag为真,则当前cu的amvr_precision_flag指示默认的1亮度样本或4亮度样本mv分辨率是否用于当前cu;
[0095]-如果amvr_flag_x为真,则用于mvd的x分量的精度等级是amvr_flag和amvr_precision_flag所指示的精度等级;
[0096]-如果amvr_flag_y为真,则用于mvd的y分量的精度等级是amvr_flag和amvr_precision_flag所指示的精度等级。
[0097]
图19示出了在本实施例中将以平移amvp模式(与仿射amvp模式相反)译码的输入cu的运动向量的重构的示例,其中amvr对于此cu是活动的。这个过程发生在解码器侧。该过程的输入是已经解析的译码单元。
[0098]
图19中的示例通过测试当前cu是否采用根据l0参考图片列表中所含有的参考图片的时间预测而开始。如果是,则应用以下四个步骤。
[0099]-在译码mvd的x分量上应用amvr处理的逆处理。这包括将与l0参考图片相关联的
解析的mvd(运动向量差)的x分量从用于l0列表mvd的x分量的译码的精度等级转换到解码器用来表示运动数据的内部精度。
[0100]-接下来,在译码的mvd的y分量上应用amvr处理的逆处理。这涉及将与l0参考图像相关联的解析的mvd(运动向量差)的y分量从用于l0列表mvd的y分量译码的精度等级转换为解码器用来表示运动数据的内部精度。
[0101]-接下来,计算当前cu的参考图片l0的amvp候选列表。这遵循已经参考图6解释的过程。一旦完成此操作,当前参考图片列表中的当前cu的运动向量预测值就是已知的且被记为amvpcand[mvpidx
l0
],其中mvpidx
l0
是用于当前cu的mv预测值候选的索引,且其是从解析过程产生的。
[0102]-接着,重构当前参考图片列表中的当前cu的运动向量作为mv预测值与解析的且按分量精度转换的运动向量差的和。
[0103]-最后,在所考虑的编解码器中根据运动向量的内部表示来修剪重构的运动向量。
[0104]
接下来,图19的示例测试当前块是否采用根据参考图片列表l1中所含有的参考图片的时间预测。如果是,则应用与上述相同的过程,但是在参考图像列表l1的情况下。
[0105]
结果,图19的示例获得两个经重构运动向量mv
l0
和mv
l1
以用于当前帧间cu,且随后用于当前cu的运动补偿时间预测。
[0106]
在附加到本文档的语法结构列表2中示出了适于实现实施例的当前示例(实施例2)的coding_unit语法结构的示例。
[0107]
通常,本文描述的实施例的至少一个其他示例(本文称为实施例3)涉及在仿射运动补偿的情况下x和y运动向量分量的解耦分辨率。图20中示出了解析例如根据vvc草案5以仿射amvp模式译码的cu的amvr数据的示例。图20的示例涉及在至少一个控制点运动向量具有非零的相关联mvd的情况下解析当前cu的标志,例如指定的amvr_flag。然后,如果amvr_flag为真,则解析当前cu的另一标志,例如指定的amvr_precision_flag。amvr_flag语法元素指示是否使用默认的1/4亮度样本精度等级来对当前cu的mv数据进行译码。然后,如果amvr_flag为真,则解析当前cu的标志amvr_precision_flag。其指示1亮度样本或4亮度样本mv分辨率是否用于当前cu。
[0108]
图21中示出了根据本实施例的解析以仿射amvp模式译码的cu的amvr数据的示例,图21的示例涉及解析与当前cu相关联的标志,例如指定的amvr_flag。然后,如果amvr_flag为真并且解码的l0或l1列表mvd的x分量对于当前cu的至少一个cpmv而言为非零,则解析例如被指定为amvr_flag_x的另一标志。其指示每一cpmv的mvd的x分量是否以默认1/4亮度样本精度等级中而被用信号通知。接下来,如果两个标志amvr_precision_flag和amvr_flag_x都为真,则解析例如指定为amvr_flag_y的另一个标志。其指示当前mvd的y分量是否针对每一cpmv以默认1/4亮度样本精度等级而被用信号通知。否则,如果amvr_precision_flag为真并且amvr_flag_x为假,则amvr_flag_y被推断为真。最后,在amvr_precision_flag为假的情况下,amvr_flag_x和amvr_flag_y两者都被推断为假。
[0109]
根据本实施例的标志值和相关解释的组合的其它例子包括以下内容。如果amvr_flag为真,则当前cu的amvr_precision_flag指示默认的1亮度样本或4亮度样本mv分辨率是否用于当前cu。如果amvr_flag_x为真,则用于每个cpmv的mvd的x分量的精度等级是由amvr_flag和amvr_precision_flag指示的精度等级。如果amvr_flag_y为真,则用于每个
cpmv的mvd的y分量的精度等级是由amvr_flag和amvr_precision_flag指示的精度等级。
[0110]
图22示出了对于例如根据vvc草案5将以仿射amvp模式(与平移amvp模式相反)译码的输入cu的运动向量的重构的示例,其中amvr对于该cu是有效的。图22的示例中涉及的该处理发生在解码器侧。该处理的输入是已经解析的译码单元。
[0111]
在图22中,处理开始于测试当前仿射amvp cu是否采用根据l0参考图片列表中所包含的参考图片的时间预测。如果是,则应用以下四个步骤。
[0112]-针对l0列表的每个cpmv,amvr过程的逆过程被应用于mvd。这包括将与l0参考图片相关联的每个cpmv的解析的mvd(运动向量差)从用于l0列表mvd的译码的精度等级转换到由解码器用来表示运动数据的内部精度。
[0113]-接下来,计算当前cu的参考图片l0的cpvm候选预测值的仿射amvp列表。这遵循已经参考图11解释的过程。一旦完成此操作,当前参考图片列表中的当前cu的运动向量预测值是已知的且被记为amvpcand[mvpidx
l0
],其中mvpidx
l0
是用于当前cu的cpmv预测值候选的索引,且其是从解析过程产生。
[0114]-接着,将当前参考图片列表中的当前cu的控制点运动向量重构为其相应mv预测值与解析的运动向量差的和。
[0115]-最后,根据运动向量在所考虑的编解码器中的内部表示来修剪重构的控制点运动向量,并根据vvc草案5规范来构造当前cu中包含的与当前参考图片列表相关联的仿射运动场。
[0116]
图22的实例中的处理的下一步骤涉及测试当前块是否采用根据参考图片列表l1中所含有的参考图片的时间预测。如果是,则应用与上述相同的处理,但是在参考图像列表l1的情况下。
[0117]
作为图22的示例的处理的结果,分别针对参考图片列表l0和参考图片列表l1获得当前cu的两个重构的仿射运动向量场,且所述两个重构的仿射运动向量场随后用于当前cu的运动补偿时间预测。
[0118]
图23示出了根据本实施例的仿射amvp译码的cu的解码器侧运动数据重构。即,图23示出了在本实施例中将以仿射amvp模式(与平移amvp模式相反)译码的输入cu的运动向量的重构,其中amvr对于此cu是活动的。这个过程发生在解码器侧。该过程的输入是已经解析的译码单元。
[0119]
图23的示例中的处理通过测试当前仿射amvp cu是否采用根据l0参考图片列表中所含有的参考图片的时间预测而开始。如果是,则应用以下四个步骤。
[0120]-amvr处理的逆处理应用于l0列表的每个cpmv的译码的mvd的x分量。这包括将与l0参考图片相关联的每个cpmv的解析的mvd(运动向量差)的x分量从用于l0列表mvd的x分量的译码的精度等级转换到解码器用来表示运动数据的内部精度。
[0121]-接下来,将amvr过程的逆过程应用于l0参考列表的每个cpmv的译码的mvd的y分量。这包括将与l0参考图像相关联的每个cpmv的解析的mvd(运动向量差)的y分量从用于l0列表mvd的y分量的译码的精度等级转换到由解码器用来表示运动数据的内部精度。
[0122]-接下来,计算当前cu的参考图片l0的仿射amvp候选列表。这遵循已经参考图11解释的过程。一旦完成此操作,当前参考图片列表中的当前cu的运动向量预测值是已知的且被记为amvpcand[mvpidx
l0
],其中mvpidx
l0
是用于当前cu的mv预测值候选的索引,且其是从
解析过程产生的。
[0123]-接着,将当前参考图片列表中的当前cu的控制运动向量重构为其相应cpmv预测值与其针对当前cu的每个cpmv的相应解析的运动向量差的总和。
[0124]-最后,修剪重构的cpmv,并且相对于l0参考图片产生当前cu的仿射运动场。
[0125]
所述过程的下一步骤测试当前块是否采用根据参考图片列表l1中所含有的参考图片的时间预测。如果是,则应用上述处理,但是在参考图片列表l1的情况下。
[0126]
图23的示例的处理的结果是针对当前仿射amvp cu获得的列表l0和列表l1的两个重构的运动场。这些重构的运动场随后用于当前cu的运动补偿时间预测。
[0127]
在附加到本文档的语法结构列表3中示出了适于实现实施例的当前示例(实施例3)的译码单元语法结构的示例。
[0128]
一般来说,本文所描述的实施例的至少一个其它实例(本文中称为实施例4)涉及在amvp平移运动补偿的情况下l0和l1参考图片列表中的解耦运动向量分辨率。一方面涉及在l0和l1参考列表之间解耦amvr精度等级。图24描绘根据本实施例的对以amvp模式译码的cu的amvr数据的解析。
[0129]
在图24中,首先解析当前cu的例如指定为amvr_flag的标志。然后,如果amvr_flag为真并且l0列表的解码mvd为非零,则解析指定为例如amvr_flag_l0的另一标志。它指示列表l0的当前mvd是否以默认1/4亮度样本精度等级而被用信号通知。接下来,如果两个标志amvr_precision_flag和amvr_flag_l0都为真,则解析另一个指定为例如amvr_flag_l1的标志。它指示是否以默认1/4亮度样本精度等级用信号通知与列表l1相关联的当前mvd。否则,如果amvr_precision_flag为真并且amvr_flag_l0为假,则amvr_flag_l1被推断为真。最后,如果amvr_precision_flag为假,则amvr_flag_l0和amvr_flag_l1都被推断为假。
[0130]
根据本实施例的标志值的组合和相关解释的其它示例如下。如果amvr_flag为真,则当前cu的amvr_precision_flag指示默认的1亮度样本或4亮度样本mv分辨率是否用于当前cu。如果amvr_flag_l0为真,则用于列表l0的mvd的精度等级是由amvr_flag和amvr_precision_flag指示的精度等级。如果amvr_flag_l1为真,则用于列表l1的mvd的精度等级是由amvr_flag和amvr_precision_flag指示的精度等级。
[0131]
图25示出了根据实施例的本实例的将以平移amvp模式(与仿射amvp模式相反)译码的输入cu的运动向量的重构的实例,其中amvr对于此cu是活动的。这种重构发生在解码器侧。输入是已经被解析的译码单元。图25中的实例通过测试当前cu是否采用根据l0参考图片列表中所含有的参考图片的时间预测而开始。如果是,则应用以下四个步骤。
[0132]-amvr处理的逆处理应用于与l0列表相关联的译码的mvd。这包括将与l0参考图片相关联的解析的mvd(运动向量差)从用于l0列表mvd的译码的精度等级转换到由解码器用来表示运动数据的内部精度。
[0133]-接下来,计算当前cu的参考图片l0的amvp候选列表。这遵循已经参考图6解释的过程。一旦完成此操作,当前参考图片列表中的当前cu的运动向量预测值是已知的且被记为amvpcand[mvpidx
l0
],其中mvpidx
l0
是用于当前cu的mv预测值候选的索引,且其是从解析过程产生的。
[0134]-接着,将当前参考图片列表中的当前cu的运动向量重构为mv预测值与解析的运动向量差的和。
[0135]-最后,根据在所考虑的编解码器中运动向量的内部表示来修剪重构的运动向量。
[0136]
图25的示例中的下一步骤涉及测试当前块是否采用根据参考图片列表l1中所含有的参考图片的时间预测。如果是,则应用上述相同的过程,但是在参考图像列表l1的情况下。结果,图25的示例提供两个重构的运动向量mv
l0
和mv
l1
以用于当前帧间cu,且随后用于当前cu的运动补偿时间预测。
[0137]
在附加到本文档的语法结构列表4中示出了适于实现实施例的当前示例(实施例4)的coding_unit语法结构的示例。
[0138]
一般来说,本文所描述的实施例的至少一个其它实例(本文中称为实施例5)涉及在仿射运动补偿的情况下l0和l1参考图片列表中的解耦运动向量分辨率。一方面涉及在仿射amvp译码的cu的情况下,在l0参考列表与l1参考列表之间解耦amvr精度等级。图26中示出了根据本实施例的解析以仿射amvp模式译码的cu的amvr数据的示例。
[0139]
图26的示例涉及首先分析与当前cu相关联的标志(例如,指定为amvr_flag的标志)的处理。然后,如果amvr_flag为真并且解码的l0 mvd对于当前cu的至少一个cpmv是非零的,则解析例如被指定为amvr_flag_l0的另一个标志。其指示对于参考图片列表l0,每一cpmv的mvd是否以默认1/4亮度样本精度等级而被用信号通知。接下来,如果标志amvr_precision_flag和amvr_flag_l0都为真,则解析标志amvr_flag_l1。其指示针对参考图片列表l1是否以默认1/4亮度样本精度等级而用信号通知当前mvd。否则,如果amvr_precision_flag是真并且amvr_flag_l0是假,则amvr_flag_l1被推断为真。最后,如果amvr_precision_flag是假,则amvr_flag_l0和amvr_flag_l1都被推断为假。
[0140]
如下是标志值的其它组合和相关解释的示例。如果amvr_flag为真,则解析当前cu的amvr_precision_flag。其指示默认的1亮度样本或4亮度样本mv分辨率是否用于当前cu。如果amvr_flag_l0为真,则用于与参考图像列表l0相关联的每个cpmv的mvd的精度等级是由amvr_flag和amvr_precision_flag指示的精度等级。如果amvr_flag_l1为真,则用于参考列表l1的每个cpmv的mvd的精度等级是由amvr_flag和amvr_precision_flag指示的精度等级。
[0141]
图27示出了在本实施例中将以仿射amvp模式(与平移amvp模式相反)译码的输入cu的运动向量的重构的示例,其中amvr对于此cu是活动的。与图27的示例相关联的处理发生在解码器侧。该过程的输入是已经解析的译码单元。
[0142]
图27的示例的处理通过测试当前仿射amvp cu是否采用根据l0参考图片列表中所含有的参考图片的时间预测而开始。如果是,则应用以下四个步骤。
[0143]-对于l0列表的每个cpmv,amvr过程的逆过程被应用于mvd。这包括将与l0参考图像相关联的每个cpmv的解析的mvd(运动向量差)从用于l0列表mvd的译码的精度等级转换到由解码器用来表示运动数据的内部精度。
[0144]-接下来,计算当前cu的参考图片l0的amvp候选列表。这遵循已经参考图11解释的过程。一旦完成此操作,当前参考图片列表中的当前cu的运动向量预测值是已知的且被指定为amvpcand[mvpidx
l0
],其中mvpidx
l0
是用于当前cu的cpmv预测值候选的索引,且其是从解析过程产生的。
[0145]-接着,将当前参考图片列表中的当前cu的控制点运动向量确定为cpmv预测值与当前cu的每一cpmv的解析的运动向量差的总和。
[0146]-最后,修剪重构的cmvs,并相对于l0参考图片产生当前cu的重构仿射运动场。
[0147]
所述过程的下一步骤测试当前仿射amvp块是否采用根据参考图片列表l1中所含有的参考图片的时间预测。如果是,则应用上述处理,但是在参考图片列表l1的情况下。作为图27的示例的处理的结果,针对当前仿射amvp cu获得列表l0和列表l1的两个重构的运动场,且其随后用于当前cu的运动补偿时间预测。
[0148]
在附加到本文档的语法结构列表5中示出了适于实现实施例的当前示例(实施例5)的coding_unit语法结构的示例。
[0149]
根据本文描述的一个或多个实施例的涉及视频编码和/或解码的系统可以单独地或以各种布置组合地提供以下非限制性特征示例中的一个或多个:
[0150]
·
运动向量差(或mv残差)的译码中的精度等级在译码的运动向量差的x分量和y分量之间进行区分。
[0151]
·
在不使用对称运动向量差译码的双预测块的情况下,在l0和l1参考图像列表之间区分运动向量差(或mv残差)译码中的精度等级。
[0152]
·
在所考虑的块通过诸如vvc的帧内块复制模式译码的情况下,运动向量差(或mv残差)的译码中的精度等级在译码运动向量差的x分量和y分量之间进行区分。
[0153]
·
在所考虑的块通过诸如vvc的帧间平移amvp模式来译码的情况下,运动向量差(或mv残差)的译码中的精度等级在译码的运动向量差的x分量和y分量之间进行区分。
[0154]
·
在所考虑的块通过vvc的帧间仿射amvp模式来译码的情况下,运动向量差(或mv残差)的译码中的精度等级在所译码的运动向量差的x分量和y分量之间进行区分。
[0155]
·
在双向预测块的情况下,在l0与l1参考图片列表之间区分运动向量差(或mv残差)的译码中的精度等级,其中不使用对称运动向量差译码且所考虑的块通过vvc的帧间平移amvp模式来译码。
[0156]
·
在双预测块的情况下,在l0和l1参考图片列表之间区分运动向量差(或mv残差)的译码中的精度等级,其中不使用对称运动向量差译码,并且其中通过vvc的帧间仿射amvp模式对所考虑的块进行译码。
[0157]
本文档描述了实施例、特征、模型、方法等的各种示例。许多这样的示例被描述为具有特定性,并且至少为了示出个体特性,通常以可能看起来具有限制性的方式来描述。然而,这是为了描述清楚的目的,并且不限制应用或范围。实际上,本文所述的实施例、特征等的各种示例可以各种方式组合和互换,以提供实施例的另外的示例。
[0158]
通常,在本文档中描述和设想的实施例的示例可以以许多不同的形式来实现。上述图1和2以及下述图28提供了一些实施例,但是可以想到其他实施例,并且对图1、2和28的讨论不限制实现的广度。至少一个实施例一般提供与视频编码和/或解码相关的示例,并且至少一个其它实施例一般涉及传送所生成或编码的比特流或信号。这些和其它实施例可被实现为方法、装置、其上存储有用于根据所描述的方法中的任一种来编码或解码视频数据的指令的计算机可读存储介质、和/或其上存储有根据所描述的方法中的任一种生成的比特流或信号的计算机可读存储介质。
[0159]
术语hdr(高动态范围)和sdr(标准动态范围)用于本公开中。那些术语通常向本领域普通技术人员传达动态范围的特定值。然而,也意图在另外的实施例中,其中对hdr的引用被理解为意味着“较高动态范围”,而对sdr的引用被理解为意味着“较低动态范围”。这样
的附加实施例不受可能经常与术语“高动态范围”和“标准动态范围”相关联的动态范围的任何特定值的约束。
[0160]
本文描述了各种方法,并且每种方法包括用于实现所描述的方法的一个或多个步骤或动作。除非方法的正确操作需要特定顺序的步骤或动作,否则可修改或组合特定步骤和/或动作的顺序和/或使用。
[0161]
本文档中描述的各种方法和其它方面可用于修改视频编码器和/或解码器的模块,例如图1中所示的编码器100的运动补偿和/或运动估计模块170和175以及图2中所示的解码器200的运动补偿模块275。此外,本发明的方面不限于vvc或hevc,且可应用于(例如)其它标准和建议(无论是先前存在的还是将来开发的),以及任何此类标准和建议(包含vvc和hevc)的扩展。除非另外指出或在技术上排除,否则本文中所描述的方面可单独或组合使用。
[0162]
例如,在本文档中使用了各种数值。具体值是出于示例目的,并且所描述的方面不限于这些具体值。
[0163]
图28示出了其中可以实现各个方面和实施例的系统的示例的框图。系统1000可以被实现为包括以下描述的各种组件的设备,并且被配置为执行本文中描述的一个或多个方面。此类设备的示例包括但不限于各种电子设备,诸如个人计算机、膝上型计算机、智能电话、平板计算机、数字多媒体机顶盒、数字电视接收机、个人视频记录系统、连接的家用电器和服务器。系统1000的元件可以单独地或组合地实现在单个集成电路、多个ic和/或分立组件中。例如,在至少一个实施例中,系统1000的处理和编码器/解码器元件分布在多个ic和/或分立组件上。在各种实施例中,系统1000经由例如通信总线或通过专用输入和/或输出端口通信地耦合到其他类似系统或其他电子设备。在各种实施例中,系统1000被配置为实现本文中描述的一个或多个方面。
[0164]
系统1000包括至少一个处理器1010,其被配置为执行加载在其中的指令,以用于实现例如本文中描述的各个方面。处理器1010可以包括嵌入式存储器、输入输出接口和本领域已知的各种其它电路。系统1000包括至少一个存储器1020(例如,易失性存储器设备和/或非易失性存储器设备)。系统1000包括存储设备1040,其可以包括非易失性存储器和/或易失性存储器,包括但不限于eeprom、rom、prom、ram、dram、sram、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备1040可以包括内部存储设备、附接的存储设备和/或网络可访问的存储设备。
[0165]
系统1000包括编码器/解码器模块1030,其被配置为例如处理数据以提供编码视频或解码视频,并且编码器/解码器模块1030可以包括其自己的处理器和存储器。编码器/解码器模块1030表示可包括在设备中以执行编码和/或解码功能的模块(一个或多个)。如已知的,设备可以包括编码和解码模块中的一个或两个。另外,编码器/解码器模块1030可实施为系统1000的单独元件或可并入处理器1010内作为如所属领域的技术人员已知的硬件与软件的组合。
[0166]
要加载到处理器1010或编码器/解码器1030上以执行本文档中描述的各个方面的程序代码可以存储在存储设备1040中,并且随后加载到存储器1020上以供处理器1010执行。根据各种实施例,处理器1010、存储器1020、存储设备1040和编码器/解码器模块1030中的一者或多者可以在执行本文中描述的过程期间存储各种项中的一者或多者。这些存储的
项可以包括但不限于输入视频、解码视频或解码视频的部分、比特流或信号、矩阵、变量以及来自等式、公式、运算和运算逻辑的处理的中间或最终结果。
[0167]
在若干实施例中,处理器1010和/或编码器/解码器模块1030内的存储器用于存储指令,且提供用于在编码或解码期间需要的处理的工作存储器。然而,在其它实施例中,处理设备外部的存储器(例如,处理设备可为处理器1010或编码器/解码器模块1030)用于这些功能中的一者或一者以上。外部存储器可以是存储器1020和/或存储设备1040,例如,动态易失性存储器和/或非易失性闪存。在几个实施例中,外部非易失性闪存用于存储电视的操作系统。在至少一个实施例中,诸如ram的快速外部动态易失性存储器被用作视频编码和解码操作的工作存储器,诸如mpeg-2、hevc或vvc(通用视频译码)。
[0168]
如框1130中所示,可以通过各种输入设备来提供对系统1000的元件的输入。这样的输入设备包括但不限于(i)接收例如由广播公司通过空中传输的rf信号的rf部分,(ii)复合输入端子,(iii)usb输入端子,和/或(iv)hdmi输入端子。
[0169]
在各种实施例中,框1130的输入设备具有本领域已知的相关联的相应输入处理元件。例如,rf部分可以与用于以下的元件相关联:(i)选择期望频率(也称为选择信号,或将信号频带限制到频带),(ii)下变频选择的信号,(iii)再次频带限制到较窄频带以选择(例如)在某些实施例中可以称为信道的信号频带,(iv)解调下变频和频带限制的信号,(v)执行纠错,和(vi)解复用以选择期望的数据分组流。各种实施例的rf部分包括一个或多个元件以执行这些功能,例如,频率选择器、信号选择器、限带器、信道选择器、滤波器、下变频器、解调器、纠错器和解复用器。rf部分可以包括执行各种这些功能的调谐器,这些功能包括例如将接收信号下变频到较低频率(例如,中频或近基带频率)或基带。在一个机顶盒实施例中,rf部分及其相关的输入处理元件接收通过有线(例如,电缆)介质发送的rf信号,并通过滤波、下变频和再次滤波到期望的频带来执行频率选择。各种实施例重新安排上述(和其它)元件的顺序,移除这些元件中的一些,和/或添加执行类似或不同功能的其它元件。添加元件可以包括在现有元件之间插入元件,例如,插入放大器和模数转换器。在各种实施例中,rf部分包括天线。
[0170]
另外,usb和/或hdmi端子可以包括用于通过usb和/或hdmi连接将系统1000连接到其它电子设备的相应接口处理器。应当理解,输入处理的各个方面,例如,里德-所罗门纠错,可以在例如单独的输入处理ic或处理器1010内实现。类似地,usb或hdmi接口处理的各方面可以在单独的接口ic内或在处理器1010内实现。解调、纠错和解复用的流被提供给各种处理元件,包括例如处理器1010和编码器/解码器1030,其与存储器和存储元件结合操作以处理数据流以便在输出设备上呈现。
[0171]
系统1000的各种元件可设置在集成壳体内。在集成壳体内,各种元件可使用合适的连接布置1140互连并在其间传输数据,所述连接布置例如本领域已知的内部总线,包括i2c总线、布线和印刷电路板。
[0172]
系统1000包括通信接口1050,其使得能够经由通信信道1060与其他设备通信。通信接口1050可以包括但不限于被配置为通过通信信道1060发送和接收数据的收发信机。通信接口1050可以包括但不限于调制解调器或网卡,并且通信信道1060可以例如在有线和/或无线介质内实现。
[0173]
在各种实施例中,使用诸如ieee 802.11的wi-fi网络将数据流式传输到系统
1000。这些实施例的wi-fi信号通过适用于wi-fi通信的通信信道1060和通信接口1050来接收。这些实施例的通信信道1060通常连接到接入点或路由器,所述接入点或路由器提供对包括因特网的外部网络的接入以允许流式应用和其它过顶通信。其它实施例使用通过输入块1130的hdmi连接传递数据的机顶盒向系统1000提供流数据。还有一些实施例使用输入块1130的rf连接向系统1000提供流数据。
[0174]
系统1000可以向各种输出设备提供输出信号,包括显示器1100、扬声器1110和其他外围设备1120。在各实施例的各示例中,其他外围设备1120包括以下一者或多者:独立dvr、盘播放器、立体声系统、照明系统、以及基于系统1000的输出提供功能的其他设备。在各种实施例中,使用诸如av.链路、cec或其他使得能够在有或没有用户干预的情况下进行设备到设备控制的通信协议的信令在系统1000和显示器1100、扬声器1110或其它外围设备1120之间传送控制信号。输出设备可以经由通过相应接口1070、1080和1090的专用连接通信地耦合到系统1000。或者,输出设备可以使用通信信道1060经由通信接口1050连接到系统1000。显示器1100和扬声器1110可以与系统1000的其它组件一起集成在电子设备(例如电视机)中的单个单元中。在各种实施例中,显示接口1070包括显示驱动器,例如,定时控制器(t con)芯片。
[0175]
例如,如果输入1130的rf部分是单独机顶盒的一部分,则显示器1100和扬声器1110可以备选地与其它组件中的一者或多者分离。在显示器1100和扬声器1110是外部组件的各种实施例中,输出信号可以经由专用输出连接来提供,所述专用输出连接例如包括hdmi端口、usb端口或comp输出。
[0176]
这些实施例可以由处理器1010或硬件、或硬件和软件的组合实现的计算机软件来实现。作为非限制性示例,实施例可以由一个或多个集成电路实现。存储器1020可以是适合于技术环境的任何类型,并且可以使用任何适当的数据存储技术来实现,作为非限制性示例,诸如光学存储器设备、磁存储器设备、基于半导体的存储器设备、固定存储器和可移动存储器。处理器1010可以是适合于技术环境的任何类型,并且可以包含作为非限制性示例的以下一者或多者:微处理器、通用计算机、专用计算机和基于多核架构的处理器。
[0177]
图29示出了实施例的另一个示例,在图29中,在2910,确定与包括图片信息的当前译码单元相关联的译码模式。举例来说,译码模式可包含如上文所描述的帧内块译码(ibc)模式、平移自适应运动向量预测(amvp)模式、仿射amvp模式等。然后,在2920,基于译码模式,确定第一精度等级和第二精度等级,例如,基于各种标志和对所述标志的值的测试而确定,如上文所描述。所述第一精度等级与运动向量信息的第一部分相关联。举例来说,运动向量信息可包括残差(或运动向量差(mvd)),且与第一部分相关联的第一精度等级可为残差或mvd的x分量的准确度。所述第二精度等级与所述运动向量信息的第二部分相关联。例如,与第二部分相关联的第二精度等级可以是残差或mvd的y分量的准确度。作为实例,精度等级或准确度可为例如1/16亮度样本、1/4亮度样本、整数亮度样本或四亮度样本的值。在仿射amvp模式中,所支持的mvd分辨率等级可为四分之一亮度样本或整数亮度样本。在2930,基于运动向量信息、以及第一精度等级和第二精度等级,例如使用如上所述的定义的精度或准确度来组合运动向量预测值和运动向量残差,获得与当前译码单元相关联的运动向量。在2940,基于译码模式和运动向量,对图片信息的至少一部分进行解码,以产生解码的图片信息。
[0178]
图30示出了实施例的另一个示例,图30中,在3010,确定与包括图片信息的当前译码单元相关联的译码模式。举例来说,译码模式可包含如上文所描述的帧内块译码(ibc)模式、平移自适应运动向量预测(amvp)模式、仿射amvp模式等。然后,在3020,基于译码模式,确定第一精度等级和第二精度等级,例如,基于各种标志和如上文所描述的标志的值的测试来确定所述第一精度等级和第二精度等级。所述第一精度等级与运动向量信息的第一部分相关联。举例来说,运动向量信息可为残差或运动向量差(mvd),且与第一部分相关联的第一精度等级可为残差的x分量的准确度。第二精度等级与运动向量信息的第二部分(例如,残差的y分量的准确度)相关联。作为示例,精度等级或准确度可为例如1/16亮度样本、1/4亮度样本、整数亮度样本或四亮度样本的值。在仿射amvp模式中,所支持的mvd分辨率等级是四分之一亮度样本或整数亮度样本。在3030,基于运动向量信息、以及第一精度等级和第二精度等级(例如,如上文所描述使用所定义的精度或准确度组合运动向量预测值与运动向量残差)来获得与当前译码单元相关联的运动向量。在3040,基于译码模式和运动向量对图片信息的至少一部分进行编码,以产生编码的图片信息。
[0179]
在实施例的另一示例中,如上文所述确定译码模式、以及第一精度等级和第二精度等级。然而,在此示例中,运动向量信息可包括对应于第一参考图片列表(例如,l0 mvd)的第一运动向量残差和对应于第二参考图片列表(例如,l1 mvd)的第二运动向量残差。在此情况下,第一精度等级与运动向量信息的包括第一运动向量残差的部分相关联,且第二精度等级与运动向量信息的包括第二运动向量残差的部分相关联。基于所述第一运动向量残差及所述第一精度等级获得第一运动向量,且基于所述第二运动向量残差及所述第二精度等级获得第二运动向量。然后,基于第一运动向量、第二运动向量和译码模式对图像信息进行解码或编码。
[0180]
在本公开中,各种实现方式涉及解码。如本技术中所使用的,“解码”可以包括例如对接收到的编码序列执行的全部或部分处理,以便产生适合于显示的最终输出。在各种实施例中,此类过程包括通常由解码器执行的过程中的一者或多者,例如熵解码、逆量化、逆变换和差分解码。在各种实施例中,此类过程还或替代地包含由本技术中所描述的各种实施方案的解码器执行的过程,例如,从图块的(封装的)图片中提取图片,确定上采样滤波器以使用且接着上采样图片,以及将图片翻转回其既定定向。
[0181]
作为进一步的示例,在一个实施例中,“解码”仅指熵解码,在另一实施例中,“解码”仅指差分解码,并且在另一实施例中,“解码”指熵解码和差分解码的组合。短语“解码过程”是否旨在具体地指代操作的子集或一般地指代更广泛的解码过程基于具体描述的上下文将是清楚的,并且相信是本领域技术人员所充分理解的。
[0182]
此外,各种实现方式涉及编码。以与以上关于“解码”的讨论类似的方式,如在本技术中使用的“编码”可以包括例如对输入视频序列执行的处理的全部或部分,以便产生编码的比特流或信号。在各种实施例中,此类过程包括通常由编码器执行的一个或多个过程,例如,划分、差分编码、变换、量化和熵编码。在各种实施例中,这样的过程还或替代地包括由本技术中描述的各种实现的编码器执行的过程。
[0183]
作为进一步的示例,在一个实施例中,“编码”仅指熵编码,在另一实施例中,“编码”仅指差分编码,而在另一实施例中,“编码”指差分编码和熵编码的组合。短语“编码过程”是否旨在具体地指代操作的子集或一般地指代更广泛的编码过程将基于具体描述的上
下文而变得清楚,并且相信是本领域技术人员所充分理解的。
[0184]
注意,这里使用的语法元素是描述性术语。因此,它们不排除使用其它语法元素名称。
[0185]
当附图被呈现为流程图时,应当理解,它还提供了对应装置的框图。类似地,当附图被呈现为框图时,应当理解,它还提供了对应的方法/过程的流程图。
[0186]
各种实施例涉及率失真优化。特别地,在编码过程期间,通常考虑速率和失真之间的平衡或折衷,通常给出计算复杂度的约束。率失真优化通常被公式化为最小化率失真函数,率失真函数是速率和失真的加权和。存在不同的方法来解决率失真优化问题。例如,这些方法可以基于对所有编码选项的广泛测试,包括所有考虑的模式或译码参数值,在译码和解码之后对它们的译码成本和重构信号的相关失真进行完整评估。还可以使用更快的方法来节省编码复杂度,特别是基于预测或预测残差信号而不是重构信号来计算近似失真。还可以使用这两种方法的混合,例如通过仅对一些可能的编码选项使用近似失真,而对其他编码选项使用完全失真。其它方法仅评估可能的编码选项的子集。更一般地,许多方法采用各种技术中的任何一种来执行优化,但是优化不一定是对编码成本和相关失真两者的完整评估。
[0187]
本文描述的实现方式和方面可以在例如方法或过程、装置、软件程序、数据流或信号中实现。即使仅在单一形式的实现的上下文中讨论(例如,仅作为方法讨论),所讨论的特征的实现也可以以其他形式(例如,装置或程序)来实现。例如,可以以适当的硬件、软件和固件来实现装置。所述方法可以在例如处理器中实现,所述处理器通常指处理设备,包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,例如计算机、蜂窝电话、便携式/个人数字助理(“pda”)和便于终端用户之间的信息通信的其他设备。
[0188]
对“一个实施例”、“实施例”或“一个实现”或“实现”以及其它变型的提及意味着结合实施例描述的特定特征、结构、特性等包含于至少一个实施例中。因此,在贯穿本文的各个地方出现的短语“在一个实施例中”、“在实施例中”或“在一个实现中”或“在实现中”以及任何其他变型的出现不一定都指同一实施例。
[0189]
另外,本文档可以指“获得”各种信息。获得信息可以包括例如以下一者或多者:确定信息、估计信息、计算信息、预测信息或从存储器检索信息。
[0190]
此外,本文档可以指“访问”各种信息。访问信息可以包括例如以下一者或多者:接收信息、检索信息(例如,从存储器)、存储信息、移动信息、复制信息、计算信息、确定信息、预测信息或估计信息。
[0191]
另外,本文档可以指“接收”各种信息。如同“访问”一样,接收旨在是广义的术语。接收信息可以包括例如访问信息或(例如从存储器)检索信息中的一者或多者。此外,在诸如存储信息、处理信息、发送信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息或估计信息的操作期间,通常以一种方式或另一种方式涉及“接收”。
[0192]
应当理解,例如在“a/b”、“a和/或b”、“a或b中的一者或多者”以及“a和b中的至少一者”的情况下,使用以下“/”、“和/或”、“中的一者或多者”以及“中的至少一者”中的任何一者旨在涵盖仅对第一列出的选项(a)的选择、或仅对第二列出的选项(b)的选择、或对两个选项(a和b)的选择。作为进一步的示例,在“a、b和/或c”、“a、b或c中的一者或多者”和“a、b和c中的至少一者”的情况下,这样的措词旨在包括仅选择第一列出的选项(a),或仅选择
第二列出的选项(b),或仅选择第三列出的选项(c),或仅选择第一和第二列出的选项(a和b),或仅选择第一和第三列出的选项(a和c),或仅选择第二和第三列出的选项(b和c),或选择所有三个选项(a和b和c)。如本领域和相关领域的普通技术人员所清楚的,这可以扩展到所列的多个项目。
[0193]
此外,如本文所使用的,词语“信号/用信号通知”尤其是指向对应的解码器指示某物。例如,在某些实施例中,编码器用信号通知多个参数中的特定一者以用于细化。这样,在一个实施例中,在编码器侧和解码器侧使用相同的参数。因此,例如,编码器可以向解码器发送(显式信令)特定参数,使得解码器可以使用相同的特定参数。相反,如果解码器已经具有特定参数以及其它参数,则可以使用信令而不进行发送(隐式信令),以简单地允许解码器知道并选择特定参数。通过避免任何实际功能的传输,在各种实施例中实现了比特节省。应当理解,可以以各种方式来实现信令。例如,在各种实施例中,一个或多个语法元素、标志等被用于将信息用信号通知给对应的解码器。虽然前述内容涉及词语“信号/用信号通知”的动词形式,但是词语“信号/用信号通知”在本文中也可以用作名词。
[0194]
如对于本领域普通技术人员将显而易见的,实现可以产生被格式化以携带例如可以被存储或发送的信息的各种信号。该信息可以包括例如用于执行方法的指令,或者由所描述的实现之一产生的数据。例如,信号可以被格式化以携带所描述的实施例的比特流或信号。这种信号可以被格式化为例如电磁波(例如,使用频谱的射频部分)或基带信号。格式化可以包括例如对数据流进行编码并且利用编码的数据流对载波进行调制。信号携带的信息可以是例如模拟或数字信息。如已知的,信号可以通过各种不同的有线或无线链路来传输。该信号可以存储在处理器可读介质上。
[0195]
在本公开中还支持和考虑了各种一般化的以及特殊化的实施例。根据本公开的实施例的示例包括但不限于以下内容。
[0196]
一般来说,实施例的示例可以涉及一种方法,该方法包括:确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与运动向量信息的第一部分相关联的第一精度等级,及与所述运动向量信息的第二部分相关联的第二精度等级,其中所述运动向量信息与所述当前译码单元相关联;基于所述运动向量信息、以及所述第一精度等级和所述第二精度等级,获得与所述当前译码单元相关联的运动向量;以及基于所述译码模式和所述运动向量,对包括在所述当前编码单元中的图片信息的至少一部分进行解码。
[0197]
一般来说,实施例的另一示例可涉及一种方法,所述方法包括:确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与运动向量信息的第一部分相关联的第一精度等级,及与所述运动向量信息的第二部分相关联的第二精度等级,其中所述运动向量信息与所述当前译码单元相关联;基于所述运动向量信息、以及所述第一精度等级和所述第二精度等级,获得与所述当前译码单元相关联的运动向量;以及基于所述译码模式和所述运动向量,对所述图片信息的至少一部分进行编码。
[0198]
一般来说,实施例的另一示例可涉及包括一个或多个处理器的装置,所述一个或多个处理器被配置为确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与运动向量信息的第一部分相关联的第一精度等级,及与所述运动向量信息的第二部分相关联的第二精度等级,其中所述运动向量信息与所述当前译码单元相关联;
基于所述运动向量信息、以及所述第一精度等级和所述第二精度等级,获得与所述当前译码单元相关联的运动向量;以及基于所述译码模式和所述运动向量,对所述图片信息的至少一部分进行解码。
[0199]
一般来说,实施例的另一示例可涉及包括一个或多个处理器的装置,所述一个或多个处理器被配置为确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与运动向量信息的第一部分相关联的第一精度等级,及与所述运动向量信息的第二部分相关联的第二精度等级,其中所述运动向量信息与所述当前译码单元相关联;基于所述运动向量信息、以及所述第一精度等级和所述第二精度等级,获得与图片信息的译码单元相关联的运动向量;以及基于所述译码模式和所述运动向量,对所述图片信息的至少一部分进行编码。
[0200]
一般来说,实施例的另一示例可涉及一种方法,所述方法包括:确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与运动向量残差的第一分量相关联的第一精度等级及与所述运动向量残差的第二分量相关联的第二精度等级,所述运动向量残差与所述当前译码单元相关联;基于所述运动向量残差、以及所述第一精度等级和所述第二精度等级,获得与所述当前译码单元相关联的运动向量;以及基于所述译码模式和所述运动向量,对包括在所述当前译码单元中的图片信息的至少一部分进行解码。
[0201]
一般来说,实施例的另一示例可涉及一种方法,所述方法包括:确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与运动向量残差的第一分量相关联的第一精度等级及与所述运动向量残差的第二分量相关联的第二精度等级,所述运动向量残差与所述当前译码单元相关联;基于所述运动向量残差、以及所述第一精度等级和所述第二精度等级,获得与所述当前译码单元相关联的运动向量;以及基于所述译码模式和所述运动向量,对所述图片信息的至少一部分进行编码。
[0202]
一般来说,实施例的另一示例可涉及包括一个或多个处理器的装置,所述一个或多个处理器被配置为确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与运动向量残差的第一分量相关联的第一精度等级,以及与所述运动向量残差的第二分量相关联的第二精度等级,所述运动向量残差与所述当前译码单元相关联;基于所述运动向量残差、以及所述第一精度等级和所述第二精度等级,获得与所述当前译码单元相关联的运动向量;以及基于所述译码模式和所述运动向量,对所述图片信息的至少一部分进行解码。
[0203]
一般来说,实施例的另一示例可涉及包括一个或多个处理器的装置,所述一个或多个处理器被配置为确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与运动向量残差的第一分量相关联的第一精度等级,以及与所述运动向量残差的第二分量相关联的第二精度等级,所述运动向量残差与所述当前译码单元相关联;基于所述运动向量残差、以及所述第一精度等级和所述第二精度等级,获得与图片信息的译码单元相关联的运动向量;以及基于所述译码模式和所述运动向量,对所述图片信息的至少一部分进行编码。
[0204]
一般来说,实施例的另一示例可涉及一种方法,所述方法包括:确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与对应于第一参考图片列表的第一运动向量残差相关联的第一精度等级,以及与对应于第二参考图片列表的第二运
动向量残差相关联的第二精度等级;基于所述第一运动向量残差和所述第一精度等级,获得第一运动向量,且基于所述第二运动向量残差和所述第二精度等级,获得第二运动向量;以及基于所述译码模式、以及所述第一运动向量和所述第二运动向量,对所述图片信息的至少一部分进行解码。
[0205]
一般来说,实施例的另一示例可涉及一种方法,所述方法包括:确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与对应于第一参考图片列表的第一运动向量残差相关联的第一精度等级,以及与对应于第二参考图片列表的第二运动向量残差相关联的第二精度等级;基于所述第一运动向量残差和所述第一精度等级,获得第一运动向量,且基于所述第二运动向量残差和所述第二精度等级,获得第二运动向量;以及基于所述译码模式、以及所述第一运动向量和第二运动向量,对所述图片信息的至少一部分进行编码。
[0206]
一般来说,实施例的另一示例可涉及包括一个或多个处理器的装置,所述一个或多个处理器被配置为确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与对应于第一参考图片列表的第一运动向量残差相关联的第一精度等级,以及与对应于第二参考图片列表的第二运动向量残差相关联的第二精度等级;基于所述第一运动向量残差和所述第一精度等级,获得第一运动向量,且基于所述第二运动向量残差和所述第二精度等级,获得第二运动向量;以及基于所述译码模式、以及所述第一运动向量和所述第二运动向量,对所述图片信息的至少一部分进行解码。
[0207]
一般来说,实施例的另一示例可涉及包括一个或多个处理器的装置,所述一个或多个处理器被配置为确定与包括图片信息的当前译码单元相关联的译码模式;基于所述译码模式,确定与对应于第一参考图片列表的第一运动向量残差相关联的第一精度等级,以及与对应于第二参考图片列表的第二运动向量残差相关联的第二精度等级;基于所述第一运动向量残差和所述第一精度等级,获得第一运动向量,且基于所述第二运动向量残差和所述第二精度等级,获得第二运动向量;以及基于所述译码模式、以及所述第一运动向量和所述第二运动向量,对所述图片信息的至少一部分进行编码。
[0208]
一般来说,实施例的另一示例可以涉及根据本文描述的实施例的一个或多个示例的方法或装置,其中第一分量对应于运动向量残差的x分量;而第二分量对应于运动向量残差的y分量。
[0209]
一般来说,实施例的另一示例可以涉及根据本文描述的实施例的一个或多个示例的方法或装置,其中第一精度等级表示第一运动向量残差的第一准确度等级;且第二精度等级表示所述第二运动向量残差的第二精度等级。
[0210]
一般来说,实施例的另一示例可涉及根据本文描述的实施例的一个或多个示例的方法或装置,其中第一准确度等级不同于第二准确度等级。
[0211]
一般来说,实施例的另一示例可涉及根据本文所描述的实施例的一个或多个示例的方法或装置,其中译码模式包括帧内块复制模式。
[0212]
一般来说,实施例的另一示例可涉及根据本文所描述的实施例的一个或多个示例的方法或装置,其中译码模式包括平移自适应运动向量预测模式。
[0213]
一般来说,实施例的另一实例可涉及根据本文所描述的实施例的一个或多个示例的方法或装置,其中译码模式包括仿射自适应运动向量预测模式。
[0214]
一般来说,实施例的另一实例可涉及被格式化以包含编码的图片信息的比特流,其中通过基于根据本发明的方法的实施例的示例中的任何一者或多者处理所述图片信息来编码所述编码的图片信息。
[0215]
一般来说,实施例的一个或多个其它示例还可以提供计算机可读存储介质,例如,非易失性计算机可读存储介质,其上存储有用于根据本文描述的方法或装置对诸如视频数据的图片信息进行编码或解码的指令。
[0216]
一般来说,实施例的至少一个示例可以涉及包括指令的计算机程序产品,所述指令当由计算机执行时,使计算机执行根据本文描述的实施例的一个或多个示例的方法。
[0217]
一般来说,实施例的至少一个示例可以涉及存储可执行程序指令的非暂时性计算机可读介质,所述可执行程序指令使执行指令的计算机执行根据本文描述的实施例的一个或多个示例的方法。
[0218]
一般来说,实施例的至少一个示例可以涉及包括根据本文描述的实施例的任何一个或多个示例生成的数据的信号。
[0219]
一般来说,实施例的至少一个实例可涉及比特流,其经格式化以包含根据本文中所描述的实施例的示例中的任何一者或多者而产生的语法元素及编码的图像信息。
[0220]
一般来说,实施例的至少一个示例可以涉及计算机可读存储介质,其上存储有根据本文描述的方法或装置生成的比特流。
[0221]
一般来说,实施例的至少一个示例可以涉及传送或接收根据本文描述的方法或装置生成的比特流或信号。
[0222]
一般来说,实施例的至少一个示例可以涉及包括根据本文描述的实施例的示例中的任何一个或多个的装置的设备;以及(i)天线,被配置为接收信号,所述信号包括表示所述图像信息的数据,(ii)频带限制器,被配置为将所接收的信号限制到包括表示所述图像信息的所述数据的频带,以及(iii)显示器,被配置为显示根据所述图像信息的图像。
[0223]
一般来说,实施例的至少一个示例可以涉及如本文所述的设备,其中,所述设备包括以下中的一者:电视、电视信号接收机、机顶盒、网关设备、移动设备、蜂窝电话、平板电脑、或其他电子设备。
[0224]
已经描述了各种实施例。实施例可以包括跨越各种不同的权利要求类别和类型的单独的或以任何组合的以下特征或实体中的任何特征或实体:
[0225]
·
在编码器和/或解码器中提供译码运动向量差值(或mv残差)的精度等级,所述精度等级在所述译码的运动向量差值的x分量和y分量之间被区分;
[0226]
·
在双预测块的情况下,在编码器和/或解码器中提供译码运动向量差(或mv残差)的精度等级,所述精度等级在l0和l1参考图像列表之间被区分,其中不使用对称运动向量差译码;
[0227]
·
在编码器和/或解码器中提供译码运动向量差(或mv残差)的精度等级,所述精度等级在译码的运动向量差的x分量和y分量之间被区分,其中所考虑的块通过诸如vvc的帧内块复制模式来译码;
[0228]
·
在编码器和/或解码器中提供译码运动向量差(或mv残差)的精度等级,所述精度等级在所述译码的运动向量差的x分量和y分量之间被区分,其中所考虑的块通过诸如vvc的帧间平移amvp模式来译码;
[0229]
·
在编码器和/或解码器中提供译码运动向量差(或mv残差)的精度等级,所述精度等级在所述译码的运动向量差的x分量和y分量之间被区分,所考虑的块通过vvc的帧间仿射amvp模式来译码;
[0230]
·
在双预测块的情况下,在编码器和/或解码器中提供译码运动向量差(或mv残差)的精度等级,所述精度等级在l0和l1参考图像列表之间被区分,其中不使用对称运动向量差译码,并且其中通过诸如vvc的帧间平移amvp模式对所考虑的块进行译码;
[0231]
·
在双预测块的情况下,在编码器和/或解码器中提供译码运动向量差(或mv残差)的精度等级,所述精度等级在l0和l1参考图像列表之间被区分,其中不使用对称运动向量差译码,并且其中通过诸如vvc的帧间仿射amvp模式来译码所考虑的块。
[0232]
·
在编码器和/或解码器中提供诸如vvc的amvr工具中的增加的灵活性;
[0233]
·
在编码器和/或解码器中提供用于在译码的运动向量差(mvd)的x值和y值之间区分的精度等级;
[0234]
·
在双预测编码单元的情况下,在编码器和/或解码器中提供用于区分l0和l1运动向量差编码之间的精度等级。
[0235]
·
在编码器和/或解码器中提供根据任何实施例、特征或实体的amvr工具(例如vvc的amvr工具)中的增加的灵活性,单独地或以任何组合,如本文所述,还基于提供降低的复杂性和/或改进的压缩效率。
[0236]
·
在所述信令中插入语法元素,所述语法元素使得所述编码器和/或解码器能够单独地或以任何组合根据所述实施例、特征或实体中的任一者提供编码和/或解码,如本文所描述。
[0237]
·
基于这些语法元素,单独地或以任何组合选择所述特征或实体,如本文所述以在解码器处应用。
[0238]
·
一种包括所描述的语法元素中的一者或多者或其变型的比特流或信号。
[0239]
·
在所述信令中插入语法元素,所述语法元素使得所述解码器能够以与编码器所使用的编码方式相对应的方式提供解码。
[0240]
·
创建和/或发送和/或接收和/或解码包括一个或多个所描述的语法元素或其变型的比特流或信号。
[0241]
·
一种tv、机顶盒、蜂窝电话、平板电脑或其他电子设备,其提供根据实施例、特征或实体中的任一者单独地或以任何组合的方式应用编码和/或解码,如本文所述。
[0242]
·
一种tv、机顶盒、蜂窝电话、平板电脑或其他电子设备,其单独地或以任何组合地根据任何实施例、特征或实体执行编码和/或解码,如本文所述,并且显示(例如,使用监视器、屏幕或其他类型的显示器)所得图像。
[0243]
·
一种tv、机顶盒、蜂窝电话、平板电脑或其他电子设备,其调谐(例如,使用调谐器)频道以接收包括编码图像的信号,并且如本文所述单独地或以任何组合根据实施例、特征或实体中的任一者执行编码和/或解码。
[0244]
·
一种tv、机顶盒、蜂窝电话、平板电脑或其他电子设备,其通过空中接收(例如,使用天线)包括编码图像的信号,并且单独地或以任何组合根据实施例、特征或实体中的任一者执行编码和/或解码,如本文所述。
[0245]
·
一种存储程序代码的计算机程序产品,所述程序代码在由根据任一实施例、特
征或实体的计算机编码和/或解码时单独地或以任何组合来执行,如本文所述。
[0246]
·
一种包括可执行程序指令的非暂时性计算机可读介质,所述可执行程序指令使计算机执行所述指令以单独地或以任何组合的方式实现根据实施例、特征或实体中的任一者的编码和/或解码,如本文所述。
[0247]
在本公开中,还支持和设想了各种其它一般化的以及特殊化的实施例。
[0248]
语法结构列表1:根据实施例1的coding_unit语法结构的示例。
[0249]
[0250]
[0251]
[0252][0253]
语法结构列表2:根据实施例2的coding_unit语法结构的示例。
[0254]
[0255]
[0256]
[0257][0258]
语法结构列表3:根据实施例3的coding_unit语法结构的示例。
[0259]
[0260]
[0261]
[0262][0263]
语法结构列表4:根据实施例4的coding_unit语法结构的示例。
[0264]
[0265]
[0266]
[0267][0268]
语法结构列表5:根据实施例5的coding_unit语法结构的示例。
[0269]
[0270]
[0271]
[0272]
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献