视频编码和解码中的仿射模式信令的制作方法

文档序号:26013362发布日期:2021-07-23 21:34阅读:135来源:国知局
视频编码和解码中的仿射模式信令的制作方法

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



背景技术:

为了实现高压缩效率,诸如由hevc(高效视频编码)标准定义的图像和视频编码方案通常采用预测和变换编码来利用视频内容中的空间和时间冗余。一般地,使用帧内或帧间预测来利用帧内或帧间相关性,然后原始块和预测块之间的差异(经常表示为预测误差或预测残差)被变换,量化和熵编码。为了重构视频,通过与预测,变换,量化和熵编码对应的逆处理来解码压缩数据。视频压缩技术的最新添加内容包括正在由联合视频探索小组(jvet)开发的联合探索模型(jem)的文档和/或各种版本的参考软件。诸如jem的努力的目标是进一步改进诸如hevc的现有标准。



技术实现要素:

一般地,实施例的至少一个示例涉及用于编码视频数据的方法,该方法包括:确定与指示使用仿射模式的第一标志相关联的第一cabac上下文;确定与指示使用仿射模式或不同于仿射模式的第二模式的第二标志相关联的第二cabac上下文;其中第一cabac上下文与第一cabac概率模型对应;第二cabac上下文与不同于第一cabac概率模型的第二cabac概率模型对应;在仿射模式期间基于第一cabac上下文和第一cabac概率模型,并且在第二模式期间基于第二cabac上下文和第二cabac概率模型,编码视频数据。

通常,实施例的至少一个示例涉及用于解码视频数据的方法,该方法包括:确定与指示使用仿射模式的第一标志相关联的第一cabac上下文;确定与指示使用仿射模式或不同于仿射模式的第二模式的第二标志相关联的第二cabac上下文;其中第一cabac上下文与第一cabac概率模型对应;第二cabac上下文与不同于第一cabac概率模型的第二cabac概率模型对应;基于用于解码仿射模式期间编码的视频数据的第一cabac概率模型和第一cabac上下文,并且基于用于解码第二模式期间编码的视频数据的第二cabac概率模型和第二cabac上下文,解码视频数据。

通常,实施例的至少一个示例涉及包括用于编码视频数据的装置,包括至少一个或多个处理器,其中,一个或多个处理器被配置为:确定与指示使用仿射模式的第一标志相关联的第一cabac上下文;确定与指示使用仿射模式或不同于仿射模式的第二模式的第二标志相关联的第二cabac上下文;其中第一cabac上下文与第一cabac概率模型对应;第二cabac上下文与不同于第一cabac概率模型的第二cabac概率模型对应;在仿射模式期间基于第一cabac上下文和第一cabac概率模型,并且在第二模式期间基于第二cabac上下文和第二cabac概率模型,编码视频数据。

通常,实施例的至少一个示例涉及用于解码视频数据的装置,包括一个或多个处理器,其中,一个或多个处理器被配置用于:确定与指示使用仿射模式的第一标志相关联的第一cabac上下文;确定与指示使用仿射模式或不同于仿射模式的第二模式的第二标志相关联的第二cabac上下文;其中第一cabac上下文与第一cabac概率模型对应;第二cabac上下文与不同于第一cabac概率模型的第二cabac概率模型对应;基于用于解码仿射模式期间编码的视频数据的第一cabac概率模型和第一cabac上下文,并且基于用于解码第二模式期间编码的视频数据的第二cabac概率模型和第二cabac上下文,解码视频数据。

一般地,实施例的至少一个示例涉及一设备,诸如但不限于电视,机顶盒,蜂窝电话,平板电脑或其他电子设备,其执行描述的任何实施例和/或显示(使用监视器,屏幕或其他类型的显示器)生成的图像和/或调谐(例如使用调谐器)信道以接收包括编码图像的信号和/或空中接收(例如使用天线)包括编码图像的信号,并执行描述的任何实施例。

一般地,实施例的至少一个示例涉及比特流,该比特流被格式化为包括编码的视频数据,其中,通过本文描述的至少一种方法来对编码的视频数据进行编码。

一般地,实施例的至少一个示例提供计算机可读存储介质,其上存储有用于根据本文描述的方法或装置编码或解码视频数据的指令。

一般地,实施例的至少一个示例提供计算机可读存储介质,其上存储有根据本文描述的方法或装置生成的比特流。

一般地,实施例的各种示例提供用于发送或接收根据本文描述的方法或装置生成的比特流的方法和/或装置。

上面呈现主题的简化概述,以便提供本公开的一些方面的基本理解。该概述不是该主题的详尽概述。其无意于标识实施例的关键/重要元素或描绘主题的范围。其唯一目的是以简化的形式介绍本主题的某些概念,作为下面提供的更详细描述的序言。

附图说明

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

图1例示如hevc中那样涉及编码树单元(ctu)的用于视频编码和解码的分区视频信息;

图2例示涉及ctu和编码单元(cu)的用于视频编码和解码的分区视频信息;

图3例示仿射运动模型的各方面;

图4例示涉及仿射运动模型的实施例。

图5例示与仿射帧间模式相关联的控制点运动矢量预测(cpmvp)。

图6例示与仿射合并模式相关联的候选位置;

图7例示在仿射合并模式期间确定控制点运动矢量(cpmv)时涉及的运动矢量;

图8例示用于确定与标志相关联的上下文(例如,与仿射标志相关联的cabac上下文)的实施例的示例;

图9例示确定诸如cabac概率模型的用于编码和/或解码的概率模型的示例;

图10例示确定诸如cabac概率模型的用于编码和/或解码的概率模型的另一示例;

图11到图13例示用于确定与标志关联的上下文(诸如与仿射标志相关联的cabac上下文)的实施例的各种示例;

图14例示根据本文描述的实施例的一个或多个示例的适合用于编码视频数据的编码器的实施例的示例;

图15例示根据本文描述的实施例的一个或多个示例的适合用于解码视频数据的解码器的实施例的示例;和

图16例示根据本文描述的实施例的一个或多个示例的适合用于编码和/或解码视频数据的系统的实施例的示例。

应该理解,附图是出于例示各个方面,实施例和特征的示例的目的,并且不一定是唯一可能的配置。在各个附图中,相似的参考标号指代相同或相似的特征。

具体实施方式

为了实现高压缩效率,图像和视频编码方案通常采用包括运动矢量预测的预测和变换以利用视频内容中的空间和时间冗余。通常,使用帧内或帧间预测来利用帧内或帧间相关性,然后原始图像和预测图像之间的差异(通常表示为预测误差或预测残差)被变换,量化和熵编码。为了重构视频,通过与熵编码,量化,变换和预测对应的逆处理来解码压缩数据。熵编码/解码典型涉及上下文自适应二进制算术编码(cabac)。

高压缩技术的最新添加内容包括使用基于仿射建模的运动模型。仿射建模用于运动补偿以用于视频画面的编码和解码。一般地,仿射建模是使用至少两个参数的模型,诸如,例如表示画面的块的各个角上的运动的两个控制点运动矢量(cpmv),其允许推导画面的整个块的运动场,以模拟例如旋转和相似度(缩放)。

这里描述的一般方面是在视频压缩领域。与现有的视频压缩系统相比,这些方面旨在提高压缩效率。

在hevc视频压缩标准(h.265/hevc高效视频编码,itu的itu-th.265电信标准化部门,“seriesh:audiovisualandmultimediasystems,infrastructureofaudiovisualservices–codingofmovingvideo,highefficiencyvideocoding”),采用运动补偿时间预测来利用视频的连续画面之间存在的冗余。

为此,将运动矢量与现在介绍的每个预测单元(pu)相关联。每个ctu(编码树单元)由压缩域中的编码树表示。这是ctu的四叉树划分,其中每个叶子称为编码单元(cu),请参见图1。

然后,每个cu被赋予一些帧内或帧间预测参数(预测信息)。为此,将其在空间上分区为一个或多个预测单元(pu),每个pu均分配有一些预测信息。帧内或帧间编码模式在cu级别分配,请参见图2。

在hevc中,精确一个运动矢量被分配给每个pu。该运动矢量用于所考虑的pu的运动补偿时间预测。因此,在hevc中,链接预测块及其参考块的运动模型仅涉及平移。

在由联合视频探索小组(jvet)小组开发的联合探索模型(jem)和后来的vtm(通用视频编码(vvc)测试模型)中,支持一些更丰富的运动模型以改进时间预测。为此,pu可以被空间划分为子pu,并且更丰富的模型可以被用于向每个子pu分配专用运动矢量。

cu不再被划分为pu或tu,并且一些运动数据被直接分配给每个cu。在这种新的编解码器设计中,cu可以被划分为子cu,并且可以为每个子cu计算运动矢量。

jem中引入的新运动模型之一是仿射模型,它基本上涉及使用仿射模型以表示cu中的运动矢量。

所使用的运动模型由图3例示。仿射运动场涉及所考虑块内部的每个位置(x,y)的以下运动矢量分量值:

等式1:用于在cu内部生成运动场以预测的仿射模型

坐标(v0x,v0y)和(v1x,v1y)是用于生成仿射运动场的所谓控制点运动矢量。点(v0x,v0y)是运动矢量左上角控制点,并且(v1x,v1y)是运动矢量右上角控制点。

在实践中,为了保持合理的复杂度,如图4例示,对所考虑的cu的每个4x4子块(子cu)计算运动矢量。在每个子块的中心的位置,从控制点运动矢量计算仿射运动矢量。所获得的mv以1/16像素精度表示。

结果,仿射模式中的编码单元的时间编码包括利用其自身的运动矢量来运动补偿预测每个子块。

注意,具有三个控制点的模型也是可能的。

仿射运动补偿可以在vtm中以两种方式使用:仿射帧间(af_inter),仿射合并和仿射模板。下面介绍它们。

-仿射帧间(af_inter):

可以在仿射帧间模式下预测大小大于8x8的amvp模式下的cu。这是通过比特流中的标志发信号通知的。用于该帧间cu的仿射运动场的生成包括确定控制点运动矢量(cpmv),其是由解码器通过添加运动矢量差和控制点运动矢量预测(cpmvp)而获得的。cpmvp是分别从列表(a,b,c)和(d,e)中获取的一对运动矢量候选,如图5例示。

可以获得多达6个cpmvp(用于的3乘以用于的2)。

对于高度为h和宽度为w的块,使用等式2检查第一cpmvp的有效性:

等式2:每个cpmvp的有效性测试

然后,取决于第三运动矢量的值(取自位置f或g)对有效cpmvp排序。最接近的是由仿射运动模型对于与相同位置的4x4子块提供的矢量。更好的是cpmvp。

对于高度为h和宽度为w的块,每个cpmvp的成本是用等式3计算的。在下面的等式中,x和y分别是运动矢量的水平和垂直分量。

等式3:对于每个cpmvp计算的成本

-仿射合并:

在仿射合并模式下,cu级别标志指示合并cu是否采用仿射运动补偿。如果是这样,则在图6的候选位置(a,b,c,d,e)的有序集合中选择已经以仿射模式编码的第一可用邻近cu。

一旦获得了仿射模式下的第一邻近cu,则检索来自邻近cu的左上角,右上角和左下角的3个运动矢量(请参见图7)。基于这三个矢量,当前cu的左上角和右上角的两个cpmv推导如下:

ο

ο

等式4:基于邻近cu的三个角运动矢量推导当前cu的cpmv

当获得当前cu的控制点运动矢量时,通过等式1的模型,以4x4子cu为基础计算当前cu内部的运动场。

可以为仿射合并模式添加更多候选,以在最多7个候选中选择最佳候选,并在比特流中编码最佳候选的索引。

另一种类型的候选称为时间仿射。与tmvp(时间运动矢量预测量)候选相似,在参考图像中搜索仿射cu,并添加到候选列表中。

处理可以创建要添加的“虚拟”仿射候选。当在当前cu周围没有仿射cu可用时,这样的处理对于创建仿射候选可能是有用的。为此,通过获取角处各个子块的运动并创建“仿射”模型来创建仿射模型。

在候选列表创建期间,出于复杂性原因,要考虑两个约束:

-潜在候选的总数量:增加了总计算需求

-最终列表大小:通过增加每个连续候选所需的比较次数而增加了解码器的延迟

一般地,至少一个实施例涉及使用仿射标志编码用于运动补偿的视频编码。仿射标志在诸如vvc的视频编码系统的上下文中是已知的。仿射标志在编码单元(cu)级别上发信号通知是否使用仿射运动补偿用于当前cu的时间预测。在下面的描述中,编码单元被称为编码单元,cu或块。

在帧间模式下,如上所述,仿射标志发信号通知使用仿射运动场来预测块。如上所述,仿射运动模型典型使用四个或六个参数。在amvp使用此模式,其中mvd被编码(具有运动预测量的运动矢量差)和合并(mvd被推断为零)。一般地,本文描述的实施例的至少一个示例还可以应用于其他模式,诸如mmvd(合并运动矢量差,也称为umve),其中可以以合并模式来发信号通知mvd,或者dmvr(解码器侧运动细化),其中在解码器侧细化运动预测量。一般地,至少一个实施例提供改进仿射标志的编码。

当前使用cabac上下文发信号通知仿射标志。为了利用cabac编码,通过二进制化处理将非二进制语法元素值映射到称为位元串(binstring)的二进制序列。对于位元,选择上下文模型。“上下文模型”是用于一个或多个位元的概率模型,并且取决于最近编码的符号的统计信息从可用模型的选择中选取。每个位元的上下文模型由上下文模型索引(也用作“上下文索引”)标识,并且不同的上下文索引对应于不同的上下文模型。上下文模型存储每个位元为“1”或“0”的概率,并且可以是自适应的或静态的。静态模型以对于位元“0”和“1相同的概率触发编码引擎。在自适应编码引擎中,基于位元的实际编码值来更新上下文模型。与自适应模型和静态模型对应的操作模式分别称为常规模式和旁路模式。基于上下文,二进制算术编码引擎根据对应概率模型编码或解码位元。

如上所述,当前是使用cabac上下文发信号通知仿射标志,这是与邻近块相关联的(多个)仿射标志的值的函数。图8中例示一个示例,其中示出用于amvp和合并二者的仿射的仿射标志上下文推导。在图8中,对于位于x,y和大小是宽度,高度的当前cu,仿射上下文ctx被初始化,例如在3010被初始化为0。在3020,左邻近cu被检查用于仿射。如果3020确定左邻近cu是仿射的,则ctx在3030处递增。如果3020确定左邻近cu不是仿射的,则在3040检查上方邻近cu用于仿射。如果3040的检查确定上方邻近cu是仿射的,则ctx在3050处递增,随后在3060处以通过上述操作获得的ctx值结束。如果3040的检查确定上方cu不是仿射的,则在3040随后是以获得的ctx值在3060处结束。由图8例示的示例实施例推导出的仿射标志上下文可以具有三个不同的值:ctx=0(左侧邻域或上方邻域都不是仿射的),或者ctx=1(左侧邻域或上方邻域中只有1是仿射的),或ctx=2(左侧和上方邻域都是仿射的)。

由amvp和合并模式共享相同的cabac上下文。结果,相同的cabac位元或概率模型被指示或选择用于两种模式。因此,编码或解码使用相同的模型用于两种模式。一个问题是诸如vvc的系统还支持其他仿射候选(称为虚拟候选或构建候选),其是在没有使用邻近cu的仿射标志值的情况下构建的。这些其他仿射候选使用来自各个运动矢量的仿射运动模型。使用一个单个上下文用于编码用于合并,amvp和其他仿射候选的模式的仿射标志变得无法有效地捕获仿射标志的各种统计行为。

一般而言,本文描述的至少一个实施例通过在两个帧间预测模式(例如,amvp和合并)之间独立地编码仿射标志,考虑这两种模式之间仿射模式使用的不同统计出现。图9中例示一个示例。在图9中,在910,为当前cu确定或获得仿射上下文ctx。ctx的这种确定可以根据诸如图8所示的实施例的示例来发生。在910ctx的确定之后,例如基于ctx值和cabac位元或模型之间的关联性或对应性的特定公式或关系或表格或列表,在920确定或获得用于第一帧间预测模式(例如,仿射模式)的cabac位元或概率模型。例如基于ctx值和cabac位元或模型之间的关联性或对应性的特定公式或关系或表格或列表,在930确定或获得用于第二帧间预测模式(例如,合并模式)的cabac位元或概率模型。因此,为每个模式独立地确定cabac位元或模型,即在920为一种模式和在930为另一种模式,。

在图9的示例中,用于仿射标志的cabac上下文的总数量(即,对于第一和第二帧间预测模式a和b中的每个是三个)被加倍。也就是,诸如图9中的用于确定仿射标志上下文的实施例的示例可以使用六个上下文而不是三个。换句话说,可以以对于两种帧间预测模式中的每一个相同的方式推导cabac上下文值,但是可以独立地确定与cabac上下文相关联的概率模型并且对于涉及仿射标志的两个不同帧间预测模式(例如,amvp和合并)的每个是不同的。

通过以下涉及两个帧间预测模式(即,仿射和合并)的代码来例示独立编码仿射标志的示例。以下示例例示确定与由各个模式标志(affineflag和subblockmergeflag)指示的两个模式(仿射和合并)中的每个模式相关联的cabac上下文。如上面描述,例如基于诸如图8的示例实施例,cabac上下文的推导可以是相同的。

模式1–affine(affineflag):

...

unsignedctxid=derivectx::ctxaffineflag(cu);//基于上方和左侧邻域推导上下文。上下文可以是0,1或2

cu.affine=m_bindecoder.decodebin(ctx::affineflag(ctxid));//使用与概率模型相关联的affineflag

...

mode2-merge(subblockmergeflag)

...

unsignedctxid=derivectx::ctxaffineflag(cu);//注意上下文推导与在仿射中相同

cu.subblock=m_bindecoder.decodebin(ctx::subblockmergeflag(ctxid));//注意模型(位元)推导或确定与仿射的不同

...

图10中示出另一示例。在图10中,1011和1012确定分别与第一和第二标志(例如,仿射标志和子块合并标志)相关联的第一和第二cabac上下文。仿射标志指示使用仿射模式。子块合并标志指示仿射模式或与使用的仿射模式不同的第二模式。上下文与使用的模式相关联。例如,第二模式可以是诸如sbtmvp的合并模式。在1013和1014独立确定与第一和第二上下文相关联的第一和第二cabac概率模型以及因此的模式。

用以改进上下文的建模的实施例的其他示例至少包括以下内容。一个示例包括完全去除基于空间仿射邻域的cabac上下文建模。在这种情况下,仅使用一个上下文。另一个示例包括通过仅使用空间邻域的可用性或不使用空间邻域的可用性来降低建模的复杂性。对于此示例,两个上下文是可能的:仿射邻域不可用(上下文0),或至少一个可用(上下文1)。可用的两个上下文的示例在图11中例示。在图11中,仿射上下文ctx在1111初始化,例如设置为等于0。在1112,如果左侧邻近cu或上方邻近cu是仿射的,则ctx在1113处递增,随后在1114处结束,其中返回ctx值,例如来自1113的1。如果都不是仿射,则1112之后是1114处的结束,其中返回的ctx值为0或1。

一般地,至少一个实施例可以包括构建虚拟仿射候选作为上下文建模的一个方面的可能性,如图12所示,图12例示考虑虚拟仿射候选的仿射的上下文建模的示例。在图12的1211处,初始化上下文ctx,例如设置为等于零。可以从以帧间模式而不是仿射模式编码的邻近cu中构建虚拟仿射候选。在1212,检查邻近cu以确定它们是否被帧间编码。如果不是,则在1212之后是1216处以ctx的值为初始化值(例如,0)结束。如果在1212处的检查确定邻近cu被帧间编码,则在1212之后是1213,其中ctx递增(初始值+1)。在1213之后,在1214处发生检查以确定邻近cu是否是仿射的。如果是,则ctx在1215递增((初始值+1)+1),然后在1216结束,其中返回ctx值,否则在1214处检查之后是在1216处结束。总结图12中的布置结果,上下文将是:

ο0,如果没有帧间邻域可用

ο1,如果帧间邻域可用但没有仿射邻域

ο2如果仿射邻域可用

在变型中,至少一个实施例涉及可以考虑是帧间画面的参考画面的存在,因为它允许虚拟时间候选的创建,如图13中的示例例示。也就是,图13例示考虑虚拟时间仿射候选的仿射上下文建模的示例。可以从以帧间模式编码的时间共位的cu来构建虚拟时间候选。图13的该示例涉及通过将图12中的1212修改为图13中的1312,来修改图12中的上下文建模的上述示例实施例,其中:

ο帧间邻域可用,或者帧间参考画面以参考画面索引0可用。

图13的实施例的其他特征与以上描述的图12的类似特征对应,并且将不再关于图13进行描述。

本文档描述实施例,特征,模型,方法等的各种示例。许多这样的示例是专门描述的,并且至少为了示出各个特征,经常以可能看上去限制的方式来描述。然而,这是为了描述清楚的目的,并且不限制应用或范围。实际上,本文描述的实施例,特征等的各种示例可以以各种方式组合和互换,以提供实施例的其他示例。

根据本公开的实施例的示例包括但不限于以下。

一般地,实施例的至少一个示例可以涉及一种用于编码视频数据的方法,包括:确定与指示使用仿射模式的第一标志相关联的第一cabac上下文;确定与指示使用仿射模式或不同于仿射模式的第二模式的第二标志相关联的第二cabac上下文;其中第一cabac上下文与第一cabac概率模型对应;和第二cabac上下文与不同于第一cabac概率模型的第二cabac概率模型对应;在仿射模式期间基于第一cabac上下文和第一cabac概率模型,并且在第二模式期间基于第二cabac上下文和第二cabac概率模型,编码视频数据。

一般地,实施例的至少一个示例可以涉及用于编码视频数据的装置,包括:一个或多个处理器,其中,一个或多个处理器被配置为:确定与指示使用仿射模式的第一标志相关联的第一cabac上下文;确定与指示使用仿射模式或不同于仿射模式的第二模式的第二标志相关联的第二cabac上下文;其中第一cabac上下文与第一cabac概率模型对应;和第二cabac上下文与不同于第一cabac概率模型的第二cabac概率模型对应;在仿射模式期间基于第一cabac上下文和第一cabac概率模型,并且在第二模式期间基于第二cabac上下文和第二cabac概率模型,编码视频数据。

一般地,实施例的至少一个示例可以涉及用于解码视频数据的方法,包括:确定与指示使用仿射模式的第一标志相关联的第一cabac上下文;确定与指示使用仿射模式或不同于仿射模式的第二模式的第二标志相关联的第二cabac上下文;其中第一cabac上下文与第一cabac概率模型对应;和第二cabac上下文与不同于第一cabac概率模型的第二cabac概率模型对应;基于第一cabac上下文和第一cabac概率模型,解码仿射模式期间编码的视频数据,并且基于第二cabac上下文和第二cabac概率模型解码第二模式期间编码的视频数据。

一般地,实施例的至少一个示例可以涉及用于解码视频数据的装置,包括:一个或多个处理器,其中,一个或多个处理器被配置为:确定与指示使用仿射模式的第一标志相关联的第一cabac上下文;确定与指示使用仿射模式或不同于仿射模式的第二模式的第二标志相关联的第二cabac上下文;其中第一cabac上下文与第一cabac概率模型对应;和第二cabac上下文与不同于第一cabac概率模型的第二cabac概率模型对应;基于第一cabac上下文和第一cabac概率模型,解码仿射模式期间编码的视频数据,并且基于第二cabac上下文和第二cabac概率模型解码第二模式期间编码的视频数据。

一般地,实施例的至少一个示例可以涉及用于编码视频数据的方法,包括:确定与指示使用仿射模式的第一标志相关联的第一cabac上下文;确定与指示使用仿射模式或不同于仿射模式的第二模式的第二标志相关联的第二cabac上下文;和编码视频数据以生成编码的视频数据,其中,基于仿射模式生成的视频数据是基于与第一cabac上下文关联的第一cabac概率模型进行编码的,基于第二模式生成的视频数据是基于与第二cabac上下文相关联且不同于第一cabac概率模型的第二cabac概率模型进行编码的。

一般地,实施例的至少一个示例可以涉及用于编码视频数据的装置,包括:一个或多个处理器,其中,一个或多个处理器被配置为:确定与指示使用仿射模式的第一标志相关联的第一cabac上下文;确定与指示使用仿射模式或不同于仿射模式的第二模式的第二标志相关联的第二cabac上下文;和编码视频数据以生成编码的视频数据,其中,基于仿射模式生成的视频数据是基于与第一cabac上下文关联的第一cabac概率模型进行编码的,基于第二模式生成的视频数据是基于与第二cabac上下文相关联且不同于第一cabac概率模型的第二cabac概率模型进行编码的。

一般地,实施例的至少一个示例可以涉及用于解码视频数据的方法,包括:确定与指示使用仿射模式的第一标志相关联的第一cabac上下文;确定与指示使用仿射模式或不同于仿射模式的第二模式的第二标志相关联的第二cabac上下文;和解码视频数据以产生解码的视频数据,其中,基于与第一cabac上下文相关联的第一cabac概率模型解码基于仿射模式编码的视频数据,并且基于与第二cabac上下文相关联且不同于第一cabac概率模型的第二cabac概率模型解码基于第二模式编码的视频数据。

一般地,实施例的至少一个示例可以涉及用于解码视频数据的装置,包括:一个或多个处理器,其中,一个或多个处理器被配置为:确定与指示使用仿射模式的第一标志相关联的第一cabac上下文;确定与指示使用仿射模式或不同于仿射模式的第二模式的第二标志相关联的第二cabac上下文;和解码视频数据以产生解码的视频数据,其中,基于与第一cabac上下文相关联的第一cabac概率模型解码基于仿射模式编码的视频数据,并且基于与第二cabac上下文相关联且不同于第一cabac概率模型的第二cabac概率模型解码基于第二模式编码的视频数据。

一般地,实施例的至少一个示例可以涉及用于编码视频数据的方法,包括:确定与指示使用仿射模式的第一标志相关联的第一cabac上下文;确定与指示使用仿射模式或不同于仿射模式的第二模式的第二标志相关联的第二cabac上下文,其中,确定第二cabac上下文独立于确定第一cabac上下文而进行;和在第一和第二模式期间,分别基于第一和第二标志以及第一和第二cabac上下文,编码视频数据以生成编码的视频数据。

一般地,实施例的至少一个示例可以涉及用于编码视频数据的装置,包括:一个或多个处理器,其中,一个或多个处理器被配置为:确定与指示使用仿射模式的第一标志相关联的第一cabac上下文;确定与指示使用仿射模式或不同于仿射模式的第二模式的第二标志相关联的第二cabac上下文,其中,确定第二cabac上下文独立于确定第一cabac上下文而进行;和在第一和第二模式期间,分别基于第一和第二标志以及第一和第二cabac上下文,编码视频数据以生成编码的视频数据。

通常,实施例的至少一个示例可以涉及用于解码视频数据的方法,包括:确定与指示使用仿射模式的第一标志相关联的第一cabac上下文;确定与指示使用仿射模式或不同于仿射模式的第二模式的第二标志相关联的第二cabac上下文,其中,确定第二cabac上下文独立于确定第一cabac上下文而进行;和分别基于第一和第二cabac上下文,解码在第一模式和第二模式期间编码的视频数据以生成解码的视频数据。

通常,实施例的至少一个示例可以涉及用于解码视频数据的装置,包括:

一个或多个处理器,其中,一个或多个处理器被配置为:确定与指示使用仿射模式的第一标志相关联的第一cabac上下文;确定与指示使用仿射模式或不同于仿射模式的第二模式的第二标志相关联的第二cabac上下文,其中,确定第二cabac上下文独立于确定第一cabac上下文而进行;和分别基于第一和第二cabac上下文,解码在第一模式和第二模式期间编码的视频数据以生成解码的视频数据。

一般地,实施例的至少一个示例可以涉及用于编码视频数据的方法,包括:确定与指示使用包括仿射模式或不同于仿射模式的第二模式的模式的子块合并模式标志相关联的cabac上下文;其中,cabac上下文在仿射模式期间与第一cabac概率模型对应,并且在第二模式期间与第一cabac概率模型不同的第二cabac概率模型对应;基于cabac上下文,模式以及与该模式对应的cabac概率模型,编码视频数据。

一般地,实施例的至少一个示例可以涉及用于编码视频数据的装置,包括:一个或多个处理器,其中,一个或多个处理器被配置为:确定与指示使用包括仿射模式或不同于仿射模式的第二模式的模式的子块合并模式标志相关联的cabac上下文;其中,cabac上下文在仿射模式期间与第一cabac概率模型对应,并且在第二模式期间与第一cabac概率模型不同的第二cabac概率模型对应;基于cabac上下文,模式以及与该模式对应的cabac概率模型,编码视频数据。

通常,实施例的至少一个示例可以涉及用于解码视频数据的方法,包括:

确定与指示使用包括仿射模式或不同于仿射模式的第二模式的模式的子块合并模式标志相关联的cabac上下文;其中,cabac上下文在仿射模式期间与第一cabac概率模型对应,并且在第二模式期间与第一cabac概率模型不同的第二cabac概率模型对应;基于第一cabac概率模型解码基于仿射模式编码的视频数据,并基于第二cabac上下文解码基于第二模式编码的视频数据。

一般地,实施例的至少一个示例可以涉及用于解码视频数据的装置,包括:一个或多个处理器,其中,一个或多个处理器被配置为:确定与指示使用包括仿射模式或不同于仿射模式的第二模式的模式的子块合并模式标志相关联的cabac上下文;其中,cabac上下文在仿射模式期间与第一cabac概率模型对应,并且在第二模式期间与第一cabac概率模型不同的第二cabac概率模型对应;基于第一cabac概率模型解码基于仿射模式编码的视频数据,并基于第二cabac上下文解码基于第二模式编码的视频数据。

一般地,实施例的至少一个示例可以涉及根据本文描述的任何实施例的方法或装置,其中,仿射模式包括amvp模式,并且第二模式包括合并模式。

一般地,实施例的至少一个示例可以涉及根据本文描述的任何实施例的方法或装置,其中,仿射模式包括amvp模式,并且第二模式包括合并,sbtmvp,mmvd或dmvr之一。

一般地,实施例的至少一个示例可以涉及根据本文描述的任何实施例的方法或装置,其中,确定诸如第一或第二cabac上下文之类的cabac上下文不考虑空间仿射邻域。

一般地,实施例的至少一个示例可以涉及根据本文描述的任何实施例的方法或装置,其中,诸如第一或第二cabac上下文之类的cabac上下文仅具有一个上下文。

一般地,实施例的至少一个示例可以涉及根据本文描述的任何实施例的方法或装置,其中,确定诸如第一或第二cabac上下文之类的cabac上下文仅基于空间邻域的可用性或基于空间邻域的不可用性。

一般地,实施例的至少一个示例可以涉及根据本文描述的任何实施例的方法或装置,并且包括当确定诸如第一或第二cabac上下文之类的cabac上下文时构建要考虑的虚拟仿射候选。

一般地,实施例的至少一个示例可以涉及根据本文描述的任何实施例的方法或装置,涉及虚拟仿射候选,其中,构建虚拟仿射候选是基于以帧间模式且非仿射模式编码的邻域cu。

一般地,实施例的至少一个示例可以涉及根据本文描述的任何实施例的方法或装置,涉及基于以帧间模式编码的邻域cu来构建虚拟仿射候选,其中,cabac上下文将包括以下之一:如果没有帧间邻域可用,则为0;如果帧间邻域可用,但没有仿射邻域,则为1;如果仿射邻域可用,则为2。

一般地,实施例的至少一个示例可以涉及根据本文描述的任何实施例的方法或装置,并且还包括:考虑参考画面的存在,该参考画面是用于使得能够创建虚拟时间候选的帧间画面。

一般地,实施例的至少一个示例可以涉及根据本文描述的任何实施例的方法或装置,涉及构建虚拟时间候选,其中可以基于以帧间模式编码的时间共位的cu来构建虚拟时间候选。

一般地,实施例的至少一个示例可以涉及根据本文描述的任何实施例的方法或装置,涉及基于以帧间模式编码的共位cu来构建虚拟时间候选,其中,确定上下文包括:帧间邻域可用,或者参考画面索引为0的帧间参考画面可用。

一般地,实施例的至少一个示例可以涉及一种计算机程序产品,包括计算指令,用于在由一个或多个处理器执行时执行根据本文描述的任何实施例的方法。

一般地,实施例的至少一个示例可以涉及非暂时性计算机可读介质,存储可执行程序指令,以使执行该指令的计算机执行根据本文描述的任何实施例的方法。

一般地,实施例的至少一个示例可以涉及比特流,其被格式化为包括编码的视频数据,其中,编码的视频数据包括:与根据本文描述的任何方法获得cabac上下文相关联的指示符;和基于cabac上下文编码的画面数据。

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

一般地,实施例的至少一个示例可以涉及用于编码视频数据的装置,包括一个或多个处理器,其中,一个或多个处理器被配置用于:确定与指示在第一帧间预测模式期间使用仿射运动模型的标志相关联的第一cabac上下文;确定与指示在与第一帧间预测模式不同的第二帧间模式期间使用仿射运动模型的标志相关联的并且与第一cabac上下文不同的第二cabac上下文;并且编码视频数据以产生编码的视频数据,其中,在第一帧间预测模式期间基于仿射运动模型产生的视频数据是基于与第一cabac上下文相关联的第一cabac概率模型编码的,并且在第二帧间预测模式期间基于仿射运动模型产生的视频数据是基于与第二cabac上下文相关联的第二cabac概率模型编码的。

一般地,实施例的至少一个其他示例可以涉及用于编码视频数据的方法,包括:确定与指示在第一帧间预测模式期间使用仿射运动模型的标志相关联的第一cabac上下文;确定与指示在与第一帧间预测模式不同的第二帧间模式期间使用仿射运动模型的标志相关联的并且与第一cabac上下文不同的第二cabac上下文;并且编码视频数据以产生编码的视频数据,其中,在第一帧间预测模式期间基于仿射运动模型产生的视频数据是基于与第一cabac上下文相关联的第一cabac概率模型编码的,并且在第二帧间预测模式期间基于仿射运动模型产生的视频数据是基于与第二cabac上下文相关联的第二cabac概率模型编码的。

一般地,实施例的至少一个其他示例可以涉及用于解码视频数据的装置,包括一个或多个处理器,其中,一个或多个处理器被配置用于:确定与指示在第一帧间预测模式期间使用仿射运动模型的标志相关联的第一cabac上下文;确定与指示在与第一帧间预测模式不同的第二帧间模式期间使用仿射运动模型的标志相关联的并且与第一cabac上下文不同的第二cabac上下文;并且解码视频数据以产生解码的视频数据,其中,在第一帧间预测模式期间基于仿射运动模型产生的视频数据是基于与第一cabac上下文相关联的第一cabac概率模型解码的,并且在第二帧间预测模式期间基于仿射运动模型产生的视频数据是基于与第二cabac上下文相关联的第二cabac概率模型解码的。

一般地,实施例的至少一个其他示例可以涉及用于解码视频数据的方法,该方法包括:确定与指示在第一帧间预测模式期间使用仿射运动模型的第一标志相关联的第一cabac上下文;确定与指示在与第一帧间预测模式不同的第二帧间模式期间使用仿射运动模型的标志相关联的并且与第一cabac上下文不同的第二cabac上下文;并且解码视频数据以产生解码的视频数据,其中,在第一帧间预测模式期间基于仿射运动模型产生的视频数据是基于与第一cabac上下文相关联的第一cabac概率模型解码的,并且在第二帧间预测模式期间基于仿射运动模型产生的视频数据是基于与第二cabac上下文相关联的第二cabac概率模型解码的。

一般地,实施例的至少一个其他示例可以涉及用于编码视频数据的装置,包括一个或多个处理器,其中,一个或多个处理器被配置为:确定与在第一帧间预测模式期间的仿射运动补偿标志相关联的第一cabac上下文;确定与在第一帧间预测模式不同的第二帧间模式期间的仿射运动补偿标志相关联的第二cabac上下文;其中确定第二cabac上下文独立于确定第一cabac上下文而进行;在第一帧间预测模式和第二帧间预测模式期间,分别基于仿射运动补偿标志以及第一和第二cabac上下文,编码视频数据以产生编码的视频数据。

一般地,实施例的至少另一个示例可以涉及用于编码视频数据的方法,该方法包括:确定与在第一帧间预测模式期间的仿射运动补偿标志相关联的第一cabac上下文;确定与在第一帧间预测模式不同的第二帧间模式期间的仿射运动补偿标志相关联的第二cabac上下文;其中确定第二cabac上下文独立于确定第一cabac上下文而进行;在第一帧间预测模式和第二帧间预测模式期间,分别基于仿射运动补偿标志以及第一和第二cabac上下文,编码视频数据以产生编码的视频数据。

一般地,实施例的至少一个其他示例可以涉及用于解码视频数据的装置,包括一个或多个处理器,其中,一个或多个处理器被配置为:确定与在第一帧间预测模式期间的仿射运动补偿标志相关联的第一cabac上下文;确定与在第一帧间预测模式不同的第二帧间模式期间的仿射运动补偿标志相关联的第二cabac上下文;其中确定第二cabac上下文独立于确定第一cabac上下文而进行;在第一帧间预测模式和第二帧间预测模式期间,分别基于仿射运动补偿标志以及第一和第二cabac上下文,解码视频数据以产生解码的视频数据。

一般地,实施例的至少一个其他示例可以涉及用于解码视频数据的方法,该方法包括:确定与在第一帧间预测模式期间的仿射运动补偿标志相关联的第一cabac上下文;确定与在第一帧间预测模式不同的第二帧间模式期间的仿射运动补偿标志相关联的第二cabac上下文;其中确定第二cabac上下文独立于确定第一cabac上下文而进行;在第一帧间预测模式和第二帧间预测模式期间,分别基于仿射运动补偿标志以及第一和第二cabac上下文,解码视频数据以产生解码的视频数据。

一般地,实施例的至少一个其他示例可以涉及用于编码视频数据的装置,包括一个或多个处理器,其中,一个或多个处理器被配置为:确定帧间预测模式;基于作为第一模式的帧间预测模式,获得与仿射运动补偿标志相关联的第一cabac上下文;基于作为与第一模式不同的第二模式的帧间预测模式,获得与仿射运动补偿标志相关联的第二cabac上下文,其中,获得第二cabac上下文独立于获得第一cabac上下文而进行;以及分别基于仿射运动补偿标志和第一和第二cabac上下文在第一和第二模式期间编码视频数据以产生编码的视频数据。

一般地,实施例的至少一个其他示例可以涉及用于编码视频数据的方法,该方法包括:确定帧间预测模式;基于作为第一模式的帧间预测模式,获得与仿射运动补偿标志相关联的第一cabac上下文;基于作为与第一模式不同的第二模式的帧间预测模式,获得与仿射运动补偿标志相关联的第二cabac上下文,其中,获得第二cabac上下文独立于获得第一cabac上下文而进行;以及分别基于仿射运动补偿标志和第一和第二cabac上下文在第一和第二模式期间编码视频数据以产生编码的视频数据。

一般地,实施例的至少一个其他示例可以涉及用于解码视频数据的装置,包括一个或多个处理器,其中,一个或多个处理器被配置为:确定帧间预测模式;基于作为第一模式的帧间预测模式,获得与仿射运动补偿标志相关联的第一cabac上下文;基于作为与第一模式不同的第二模式的帧间预测模式,获得与仿射运动补偿标志相关联的第二cabac上下文,其中,获得第二cabac上下文独立于获得第一cabac上下文而进行;以及分别基于仿射运动补偿标志和第一和第二cabac上下文在第一和第二模式期间解码视频数据以产生解码的视频数据。

一般地,实施例的至少一个其他示例可以涉及用于解码视频数据的方法,包括:确定帧间预测模式;基于作为第一模式的帧间预测模式,获得与仿射运动补偿标志相关联的第一cabac上下文;基于作为与第一模式不同的第二模式的帧间预测模式,获得与仿射运动补偿标志相关联的第二cabac上下文,其中,获得第二cabac上下文独立于获得第一cabac上下文而进行;以及分别基于仿射运动补偿标志和第一和第二cabac上下文在第一和第二模式期间解码视频数据以产生解码的视频数据。

一般地,实施例的至少一个其他示例可以涉及用于编码视频数据的装置,包括一个或多个处理器,其中,一个或多个处理器被配置为:确定与指示在帧间预测模式期间使用仿射运动模型的标志相关联的cabac上下文;其中,cabac上下文与作为第一模式的帧间预测模式的第一cabac概率模型对应;并且,cabac上下文与作为与第一模式不同的第二模式的帧间预测模式的不同于第一cabac概率模型的第二cabac概率模型对应;基于与帧间预测模式对应的第一和第二cabac概率模型之一、标志,cabac上下文,帧间预测模式,编码视频数据。

一般地,实施例的至少一个其他示例可以涉及用于编码视频数据的方法,该方法包括:确定与指示在帧间预测模式期间使用仿射运动模型的标志相关联的cabac上下文;其中,cabac上下文与作为第一模式的帧间预测模式的第一cabac概率模型对应;并且,cabac上下文与作为与第一模式不同的第二模式的帧间预测模式的不同于第一cabac概率模型的第二cabac概率模型对应;基于与帧间预测模式对应的第一和第二cabac概率模型之一、标志,cabac上下文,帧间预测模式,编码视频数据。

一般地,实施例的至少一个其他示例可以涉及用于解码视频数据的装置,包括一个或多个处理器,其中,一个或多个处理器被配置为:确定与指示在帧间预测模式期间使用仿射运动模型的标志相关联的cabac上下文;其中,cabac上下文与作为第一模式的帧间预测模式的第一cabac概率模型对应;并且,cabac上下文与作为与第一模式不同的第二模式的帧间预测模式的不同于第一cabac概率模型的第二cabac概率模型对应;基于与帧间预测模式对应的第一和第二cabac概率模型之一、标志,cabac上下文,帧间预测模式,解码视频数据。

一般地,实施例的至少另一个示例可以涉及用于解码视频数据的方法,该方法包括:确定与指示在帧间预测模式期间使用仿射运动模型的标志相关联的cabac上下文;其中,cabac上下文与作为第一模式的帧间预测模式的第一cabac概率模型对应;并且,cabac上下文与作为与第一模式不同的第二模式的帧间预测模式的不同于第一cabac概率模型的第二cabac概率模型对应;基于与帧间预测模式对应的第一和第二cabac概率模型之一、标志,cabac上下文,帧间预测模式,解码视频数据。

一般地,实施例的至少另一个示例可以涉及一种用于编码视频数据的装置,包括一个或多个处理器,其中,一个或多个处理器被配置为:获得指示使用仿射运动模型的标志;确定与标志相关联的cabac上下文,其中,所述cabac上下文是与标志相关联的唯一cabac上下文,并且是基于当前编码单元的空间仿射邻域在不需要cabac上下文建模的情况下进行确定的;以及基于仿射标志和cabac上下文,编码视频数据以产生编码的视频数据。

一般地,实施例的至少一个其他示例可以涉及于编码视频数据的方法,该方法包括:获得指示使用仿射运动模型的标志;确定与标志相关联的cabac上下文,其中,所述cabac上下文是与标志相关联的唯一cabac上下文,并且是基于当前编码单元的空间仿射邻域在不需要cabac上下文建模的情况下进行确定的;以及基于仿射标志和cabac上下文,编码视频数据以产生编码的视频数据。

一般地,实施例的至少另一个示例可以涉及用于解码视频数据的装置,包括:一个或多个处理器,其中,一个或多个处理器被配置为:获得指示使用仿射运动模型的标志;确定与标志相关联的cabac上下文,其中,所述cabac上下文是与标志相关联的唯一cabac上下文,并且是基于当前编码单元的空间仿射邻域在不需要cabac上下文建模的情况下进行确定的;以及基于仿射标志和cabac上下文,解码视频数据以产生解码的视频数据。

一般地,实施例的至少另一个示例可以涉及一种用于解码视频数据的方法,包括:获得指示使用仿射运动模型的标志;确定与标志相关联的cabac上下文,其中,所述cabac上下文是与标志相关联的唯一cabac上下文,并且是基于当前编码单元的空间仿射邻域在不需要cabac上下文建模的情况下进行确定的;以及基于仿射标志和cabac上下文,解码视频数据以产生解码的视频数据。

一般地,实施例的至少一个其他示例可以涉及用于编码视频数据的装置,包括一个或多个处理器,其中,一个或多个处理器被配置为:仅基于当前编码单元的仿射空间邻域的可用性,确定与指示在帧间预测模式中使用仿射运动模型的标志相关联的cabac上下文,其中,cabac上下文是以下之一:与指示无空间仿射邻域可用的可用性对应的第一上下文或与指示至少一个空间仿射邻域可用的可用性对应的第二上下文;基于cabac上下文获得cabac概率模型;以及,基于标志,cabac上下文以及与cabac上下文对应的cabac概率模型,编码视频数据。

一般地,实施例的至少一个其他示例可以涉及用于编码视频数据的方法,该方法包括:仅基于当前编码单元的仿射空间邻域的可用性,确定与指示在帧间预测模式中使用仿射运动模型的标志相关联的cabac上下文,其中,cabac上下文是以下之一:与指示无空间仿射邻域可用的可用性对应的第一上下文或与指示至少一个空间仿射邻域可用的可用性对应的第二上下文;基于cabac上下文获得cabac概率模型;以及,基于标志,cabac上下文以及与cabac上下文对应的cabac概率模型,编码视频数据。

一般地,实施例的至少一个其他示例可以涉及用于解码视频数据的装置,包括一个或多个处理器,其中,一个或多个处理器被配置为:仅基于当前编码单元的仿射空间邻域的可用性,确定与指示在帧间预测模式中使用仿射运动模型的标志相关联的cabac上下文,其中,cabac上下文是以下之一:与指示无空间仿射邻域可用的可用性对应的第一上下文或与指示至少一个空间仿射邻域可用的可用性对应的第二上下文;基于cabac上下文获得cabac概率模型;以及,基于标志,cabac上下文以及与cabac上下文对应的cabac概率模型,解码视频数据。

一般地,实施例的至少一个其他示例可以涉及用于解码视频数据的方法,包括:仅基于当前编码单元的仿射空间邻域的可用性,确定与指示在帧间预测模式中使用仿射运动模型的标志相关联的cabac上下文,其中,cabac上下文是以下之一:与指示无空间仿射邻域可用的可用性对应的第一上下文或与指示至少一个空间仿射邻域可用的可用性对应的第二上下文;基于cabac上下文获得cabac概率模型;以及,基于标志,cabac上下文以及与cabac上下文对应的cabac概率模型,解码视频数据。

本文挡中描述和设想的实施例的各种示例可以以许多不同的形式实现。图14、15和16提供了如下描述的实施例的一些示例,但是可以设想其他实施例,并且图14、15和16的讨论不限制实现方式的广度。这些方面中的至少一个方面一般涉及视频编码和解码,并且至少另一个方面一般涉及传输所生成或编码的比特流。这些和其他实施例,特征,方面等可以实现为方法,装置,其上存储有用于根据描述的任何方法编码/解码视频数据的指令的计算机可读存储介质,和/或其上存储有根据描述的任何方法中生成的比特流计算机可读存储介质。

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

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

本申请中描述的各种方法和其他方面可用于修改模块,例如,如图14和图15所示的视频编码器100和解码器200的熵编码和/或解码模块145和230。而且,本方面不限于vvc或hevc,并且可以应用于例如其他标准和建议,无论是预先存在的还是将来开发的,以及任何这样的标准和推荐(包括vvc和hevc)的扩展。除非另外指出或在技术上排除,否则本申请中描述的方面可以单独或组合使用

本文档中使用各种数值,例如{{1,0},{3,1},{1,1}}。特定值是出于示例目的,并且描述的方面不限于这些特定值。

图13例示示例性编码器100。可以设想该编码器100的变型,但是为了清楚起见,下面描述编码器100,而没有描述所有预期的变型。

在被编码之前,视频序列可以经过预编码处理(101),例如,对输入的彩色画面应用颜色变换(例如,从rgb4:4:4到ycbcr4:2:0的转换),或者执行输入画面分量的重新映射,以便获得对压缩更有弹性的信号分布(例如,使用颜色分量之一的直方图均衡化)。元数据可以与预处理相关联,并附加到比特流。

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

然后预测残差被变换(125)和量化(130)。熵编码(145)量化的变换系数以及运动矢量和其他语法元素,以输出比特流。编码器可以跳过该变换,并且将量化直接应用于未变换的残差信号。编码器还可以绕过变换和量化两者,即,在不应用变换或量化处理的情况下直接编码残差。

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

图15例示视频解码器200的框图。在解码器200中,由解码器元件解码比特流,如下面描述。视频解码器200一般执行与图14中描述的编码通道相反的解码通道。编码器100也一般执行视频解码作为编码视频数据的一部分。

解码器的输入包括可由视频编码器100生成的视频比特流。首先熵解码(230)该比特流,以获得变换系数,运动矢量,和其他编码信息。画面分区信息指示画面如何被分区。因此,解码器可以根据解码的画面分区信息来划分(235)画面。去量化(240)和逆变换(250)变换系数以解码预测残差。组合(255)解码的预测残差和预测块,重构图像块。可以从帧内预测(260)或运动补偿预测(即,帧间预测)(275)获得(270)预测块。将环内滤波器(265)应用于重构的图像。滤波的图像存储在参考画面缓冲器(280)处。

解码的画面可以进一步经历后解码处理(285),例如,逆颜色变换(例如,从ycbcr4:2:0到rgb4:4:4的转换)或逆重新映射以执行与预编码处理(101)中执行的重新映射处理的逆过程。后解码处理可以使用在预编码处理中推导出并在比特流中用信号通知的元数据。

图21例示其中实现各个方面和实施例的系统的示例的框图。系统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)接收例如通过广播者在空中传输的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包括使得能够经由通信信道1060与其他设备通信的通信接口1050。通信接口1050可以包括但不限于配置为在通信信道1060上发送和接收数据的收发器。通信接口1050可以包括但不限于调制解调器或网卡,并且通信信道1060可以例如在有线和/或无线介质内实现。

在各种实施例中,使用例如ieee802.11的无线网络将数据流传输到系统1000。这些实施例的无线信号在适配于wi-fi通信的通信信道1060和通信接口1050上接收。这些实施例的通信信道1060通常连接到接入点或路由器,该接入点或路由器提供对包括因特网的外部网络的接入,以允许流传输应用和其他过顶空中。其他实施例使用机顶盒向系统1000提供流传输的数据,该机顶盒通过输入块1130的hdmi连接来传递数据。其他实施例也使用输入块1130的rf连接向系统1000提供流传输的数据。

系统1000可以向包括显示器1100,扬声器1110和其他外围设备1120的各种输出设备提供输出信号。其他外围设备1120在实施例的各种示例中包括单独的dvr,盘播放器,立体系统,照明系统以及提供基于系统1000的输出的功能的其他设备中的一个或多个。在各种实施例中,使用诸如av.link,cec的信令,或在有或没有用户干预的情况下使得设备到设备的控制成为可能的其他通信协议,在系统1000与显示器1100,扬声器1110,或其他外围设备1120之间传输控制信号。输出设备可以通过各个接口1070、1080和1090经由专用连接而通信地耦合至系统1000。可替代地,输出设备可以经由通信接口1050使用通信信道1060而连接至系统1000。显示器1100和扬声器1110可以与系统1000的其他组件集成到一个电子设备(诸如,例如电视机)中的单一单元。在各种实施例中,显示接口1070包括显示驱动器,诸如例如,时序控制器(tcon)芯片

例如,如果输入1130的rf部分是单独的机顶盒的一部分,则显示器1100和扬声器1110可以可替换地与一个或多个其他组件分开。在显示器1100和扬声器1110是外部组件的各种实施例中,可以经由专用输出连接(包括例如hdmi端口,usb端口或comp输出)提供输出信号。

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

各种实现方式涉及解码。本申请中使用的“解码”可以涵盖例如对接收到的编码序列执行的全部或部分处理,以便产生适合于显示的最终输出。在各种实施例中,这样的处理包括通常由解码器执行的一个或多个处理,例如,熵解码,逆量化,逆变换和差分解码。在各种实施例中,这样的处理还或者可替代地包括由本申请中描述的各种实现方式的解码器执行的处理,例如,提取用于各种帧内预测参考阵列的权重的索引。

作为另外的示例,在一个实施例中,“解码”仅是指熵解码,在另一实施例中,“解码”仅是指差分解码,并且在另一实施例中,“解码”是指熵解码和差分解码的组合。短语“解码处理”意图专门指操作的子集还是广义上指更广泛的解码处理,基于特定描述的上下文将是清楚的,并且相信本领域技术人员将很好地理解。

各种实现方式涉及编码。以与上述关于“解码”的讨论类似的方式,在本申请中使用的“编码”可以涵盖例如对输入视频序列执行的全部或部分处理,以便产生编码的比特流。在各种实施例中,这样的处理包括典型由编码器执行的一个或多个处理,例如,分区,差分编码,变换,量化和熵编码。在各种实施例中,这样的处理还或者可替代地包括由本申请中描述的各种实现方式的编码器执行的处理,例如,帧内预测参考阵列的加权。

作为另外的示例,在一个实施例中,“编码”仅是指熵编码,在另一实施例中,“编码”仅是指差分编码,并且在另一实施例中,“编码”是指熵编码和差分编码的组合。无论短语“编码处理”是否意图专门指操作的子集还是广义上指更广泛的编码处理,基于特定描述的上下文将是清楚的,并且相信本领域技术人员将很好地理解。

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

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

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

本文描述的实现方式和方面可以在例如方法或处理,装置,软件程序,数据流或信号中实现。即使仅在单个实现形式的上下文中讨论(例如,仅作为方法讨论),讨论的特征的实现方式也可以以其他形式(例如,装置或程序)来实现。装置可以在例如适当的硬件,软件和固件中实现。方法例如可以在例如处理器中实现,该处理器一般指代处理设备,包括例如计算机,微处理器,集成电路或可编程逻辑设备。处理器也包括通信设备,例如计算机,蜂窝电话,便携/个人数字助理(“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)的选择。如同对于本领域和相关领域中的普通技术人员来说容易地明显的那样,可以对于所列出的许多项目扩展该措辞。

另外,如本文使用的词语“信号”是指向对应解码器指示某些东西。例如,在某些实施例中,编码器用信号通知要用于帧内预测参考阵列的多个权重中的特定一个。以这种方式,在实施例中,在编码器侧和解码器侧都使用相同的参数。因此,例如,编码器可以将特定参数发送(显式信令)给解码器,使得解码器可以使用相同的特定参数。相反,如果解码器已经具有特定参数以及其他参数,则可以使用信令而无需发送(隐式信令)以简单地使得解码器知道并选择特定参数。通过避免传输任何实际功能,在各种实施例中实现了比特节省。要认识到,可以以多种方式来完成信令。例如,在各个实施例中,一个或多个语法元素,标志等用于将信息用信号通知给对应的解码器。尽管前文涉及词语“信号”的动词形式,但词语“信号”在本文中也可以用作名词。

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

实施例可以单独地或组合地包括跨各种不同的权利要求类别和类型的以下特征或实体中的一个或多个:

·仿射模式的编码和解码要考虑到amvp和合并之间仿射模式使用的不同统计出现。

·仿射模式的编码和解码要考虑到通过在amvp和合并模式中独立编码仿射标志的amvp和合并之间仿射模式使用的不同统计出现。

·仿射模式的编码和解码要考虑到通过在amvp和合并模式中独立编码仿射标志的amvp和合并之间仿射模式使用的不同统计出现,其中,仿射标志的cabac上下文的总数量被加倍。

·仿射模式的编码和解码要考虑到通过在amvp和合并模式中独立编码仿射标志的amvp和合并之间仿射模式使用的不同统计出现,其中,仿射标志的cabac上下文的总数量被加倍,并且其中,实际仿射标志上下文建模使用六个上下文而不是三个。

·去除基于空间仿射邻域的cabac上下文建模。

·去除仅使用一个上下文的基于空间仿射邻域的cabac上下文建模。

·仅使用空间邻域的可用性或不使用空间邻域的可用性来建模上下文。

·仅使用空间邻域的可用性或不使用空间邻域的可用性来建模上下文,其中两个上下文是可能的:仿射邻域不可用(上下文0),或至少一个可用(上下文1)。

·构建在从以帧间模式且不是以仿射模式编码的邻域cu构建的上下文建模中要考虑的虚拟仿射候选。

·构建在从以帧间模式且不是以仿射模式编码的邻域cu构建的上下文建模中要考虑的虚拟仿射候选,其中,上下文则是:

ο0,如果没有帧间邻域可用

ο1,如果帧间邻域可用但没有仿射邻域

ο2如果仿射邻域可用

·考虑参考画面的存在,该参考画面是用于使得能够创建虚拟时间候选的帧间画面。

·考虑参考画面的存在,该参考画面是用于使得能够创建虚拟时间候选的帧间画面,其中,可以从以帧间模式编码的时间共位的cu中构建虚拟时间候选。

·考虑参考画面的存在,该参考画面是用于使得能够创建虚拟时间候选的帧间画面,其中,可以从以帧间模式编码的时间共位的cu中构建虚拟时间候选,并且上下文建模包括:

ο帧间邻域可用,或者帧间参考画面以参考画面索引0可用。

·包含一个或多个描述的语法元素或其变型的比特流或信号。

·在信令语法元素中插入标志,该标志使解码器能够以与由编码器使用的方式相对应的方式提供仿射模式处理。

·基于这些语法元素,选择仿射模式处理以在解码器处应用。

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

·电视机,机顶盒,手机,平板电脑或其他电子设备,其执行描述的任何实施例。

·电视,机顶盒,手机,平板电脑或其他电子设备,其执行描述的任何实施例执,并显示(例如,使用监视器,屏幕或其他类型的显示器)作为结果的图像。

·电视,机顶盒,手机,平板电脑或其他电子设备,其调谐(例如,使用调谐器)信道以接收包括编码图像的信号,并执行描述的任何实施例。

·电视,机顶盒,手机,平板电脑或其他电子设备,其通过空中接收(例如,使用天线)包括编码图像的信号,并执行描述的任何实施例。

·计算机程序产品,存储程序代码,该程序代码在由计算机执行时实现描述的任何实施例。

·非暂时性计算机可读介质,包括可执行程序指令,该可执行程序指令使执行该指令的计算机实现描述的任何实施例。

在本公开中,还支持和设想各种其他广义以及特定实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1