具有双树分割的帧内块复制模式的制作方法

文档序号:26013316发布日期:2021-07-23 21:34阅读:115来源:国知局
具有双树分割的帧内块复制模式的制作方法

相关申请的交叉参考

根据适用的《专利法》和/或《巴黎公约》的规定,本申请及时要求于2018年12月22日提交的国际专利申请号pct/cn2018/122953、于2018年12月29日提交的国际专利申请号pct/cn2018/125403、以及于2019年1月2日提交的国际专利申请号pct/cn2019/070149的优先权和利益。将上述申请的全部公开以参考方式并入本文,作为本申请公开的一部分。

本申请文件涉及图像和视频编码和解码。



背景技术:

在互联网和其他数字通信网络中,数字视频占用的带宽最大。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。



技术实现要素:

所公开的技术可由视频解码器或编码器实施例在使用诸如当前图片参考(cpr)编码工具的帧内视频编解码工具的视频解码或编码期间使用。

在一个示例方面中,公开了一种视频处理方法。该方法包括:为当前视频块和当前视频块的比特流表示之间的转换,将帧内编解码工具或帧间编解码工具应用于当前视频图片的当前视频块,通过帧内编解码工具或帧间编解码工具从至少部分位于当前视频图片的参考视频块参考当前视频块;在转换期间确定一个或多个填充值,其中在比特流表示中信令通知一个或多个填充值;以及使用一个或多个填充值、以及帧内编解码工具或帧间编解码工具执行转换。

在又一示例方面中,公开了另一种视频处理方法。该方法包括:在当前视频块和当前视频块的比特流表示之间的转换期间,确定当前视频块的帧内编解码模式的帧内候选列表;以及使用帧内候选列表执行当前视频块和比特流表示之间的转换,其中,帧内编解码模式的帧内候选列表不同于当前视频块的帧间编解码模式的候选列表;其中,候选列表是merge列表、或基于历史的运动矢量预测器列表、或仿射merge列表中的一个。

在又一示例方面中,公开了另一种视频处理方法。该方法包括:执行当前视频块的编解码模式是变换量化旁路编解码模式的确定,其中通过省略变换步骤和量化步骤,将当前视频块编码为比特流表示;以及基于确定,根据变换量化旁路编解码模式执行当前视频块和比特流表示之间的转换,其中在不基于自适应环路滤波器进行滤波的情况下执行转换。

在又一示例方面中,公开了另一种视频处理方法。该方法包括:确定不能基于当前视频块的并置亮度区域中的亮度块导出是色度块的当前视频块的块矢量;基于确定,选择默认块矢量作为色度块的块矢量;以及基于块矢量,执行当前视频块和当前视频块的比特流表示之间的转换。

在又一示例方面中,公开了另一种视频处理方法。该方法包括:在当前块和当前块的位流表示之间的转换期间,确定一个或多个填充值;并且至少基于一个或多个填充值执行转换。

在又一示例方面中,公开了另一种视频处理方法。该方法包括:在视频的第一视频块和视频的比特流表示之间的第一转换期间,为具有第一编解码模式的第一视频块确定第一候选列表构造方法;至少基于根据第一候选列表构造方法获得的第一候选列表执行第一转换;其中,第一视频块的转换基于当前图片中的样点,并且第一候选列表构造方法不同于第二候选列表构造方法,在具有第二编解码模式的视频的第二视频块和视频的比特流表示之间的第二转换期间,将第二候选列表构造方法应用在第二视频块上。

在又一示例方面中,公开了另一种视频处理方法。该方法包括:在当前块和当前块的比特流表示之间的转换期间,确定当前块用变换量化旁路编解码模式编解码;以及响应于当前块用变换量化旁路编解码模式编解码,在不基于自适应环路滤波器进行滤波的情况下,执行当前块和当前块的比特流表示之间的转换,其中,变换量化旁路编解码模式是其中在不使用变换、量化和环路滤波中的一个或多个的情况下对块进行编码的编解码模式。

在又一示例方面中,公开了另一种视频处理方法。该方法包括:在当前块和当前块的比特流表示之间的转换期间,基于当前块的颜色分量执行一个或多个变换量化旁路标志的处理,其中变换量化旁路标志与变换量化旁路编解码模式相关,其中,变换量化旁路编解码模式是其中在不使用变换、量化和环路滤波中的一个或多个的情况下对块进行编码的编解码模式;基于处理执行转换。

在又一示例方面中,公开了另一种视频处理方法。该方法包括:在当前视频块和当前视频块的比特流表示之间的转换期间,确定当前视频块的块矢量;以及至少基于块矢量执行转换,其中,当以使用指向当前视频块所在的同一图片的预测参考块的编解码模式对当前视频块进行编解码、并且当前视频块是第一类型块时,从至少一个第二类型块导出块矢量。

在又一示例方面中,公开了另一种视频处理方法。该方法包括:在当前视频块和当前视频块的比特流表示之间的转换期间,确定当前视频块的参考样点;以及至少基于块矢量执行转换,其中,当以使用指向当前视频块所在的同一图片的预测参考块的编解码模式对当前视频块进行编解码时,参考样点包括由当前视频块的块矢量识别的当前视频块的左上和右下样点。

在又一示例实施例中,公开了一种视频编码器装置。编码器装置包括配置为实现上述方法的处理器。

在又一方面中,公开了一种视频解码器装置。视频解码器装置包括配置成实现上述方法的处理器。

在又一方面中,公开了一种计算机可读程序介质。该介质包括代码。该代码包括用于实现上述方法的处理器可执行指令。

在本文中描述这些方面和其他方面。

附图说明

图1示出了当前图片参考(cpr)的示例说明。

图2示出了水平填充的示例说明。

图3示出了简化的仿射运动模型的示例。

图4示出每个子块的仿射mvf的示例。

图5a示出了4参数仿射模型的示例。

图5b示出了6参数仿射模型的示例。

图6示出了af_inter模式的mvp的示例。

图7a和7b示出af_merge模式的候选的示例。

图8示出仿射merge模式的候选位置的示例。

图9示出了cu的atmvp运动预测的示例。

图10是使用所提出的hmvp方法的解码的示例。

图11是在所提出的hmvp方法中更新表的示例。

图12是一个编解码树单元(ctu)和双树的示例。

图13是可实现本文所述的编码或解码技术的示例装置的框图。

图14是视频处理的示例方法的流程图。

图15是视频处理的示例方法的流程图。

图16是视频处理的示例方法的流程图。

图17是视频处理的示例方法的流程图。

图18是视频处理的示例方法的流程图。

图19是视频处理的示例方法的流程图。

图20是视频处理的示例方法的流程图。

具体实施方式

本文档提供了可由视频比特流的解码器用于提高解压缩或解码的数字视频或图像的质量的各种技术。此外,视频编码器也可以在编码处理中实现这些技术,以便重构用于进一步编码的解码帧。

为了便于理解,本文档中使用章节标题,并且不将实施例和技术限制在相应的章节中。因此,来自一个章节的实施例可以与来自其他章节的实施例组合。

1.介绍性意见

本专利文档涉及视频编解码技术。具体地,其涉及当前图片参考编解码模式,并且一些方法可以扩展到视频编解码中的传统帧间编解码模式。它可以应用到现有的视频编解码标准(如hevc),或待定案的标准(多功能视频编解码)。它也可适用于未来的视频编解码标准或视频编解码器。

2.描述

2.1当前图片参考

在hevc屏幕内容编解码扩展(hevc-scc)[1]和当前vvc测试模型中,采用了当前图片参考(cpr)(或曾经命名为帧内块复制(ibc))。ibc将运动补偿的概念从帧间编解码扩展到帧内编解码。如图1所示,当应用cpr时,由同一图片中的参考块预测当前块。在对当前块进行编码或解码之前,参考块中的样点必须已被重构。尽管cpr对于大多数摄像机捕获到的序列来说不是很有效,但它显示了屏幕内容的显著编解码增益。原因是屏幕内容图片中有很多重复模式,诸如图标和文本字符。cpr能有效地移除这些重复模式之间的冗余。在hevc-scc中,如果帧间编码的编解码单元(cu)选择当前图片作为其参考图片,则可以应用cpr。在这种情况下,mv被重命名为块矢量(bv),并且bv始终具有整数像素精度。为了与主规格hevc兼容,在解码图片缓冲器(dpb)中将当前图片标记为“长期”参考图片。应当注意的是,类似地,在多视图/3d视频编解码标准中,视图间参考图片也被标记为“长期”参考图片。

在bv找到其参考块之后,可以通过复制参考块来生成预测。通过从原始信号中减去参考像素即可得到残差。然后可以像在其他编解码模式中一样应用变换和量化。

图1示出了当前图片参考的示例说明。

然而,当参考块在图片之外、或与当前块重叠、或在重构区域之外、或在受某些约束限制的有效区域之外时,不定义部分或全部像素值。基本上,有两种解决方案可以处理这样的问题。一种是禁止这种情况,例如在比特流一致性方面。另一种是对那些未定义的像素值应用填充。以下小节详细描述了解决方案。

2.2hevc屏幕内容编解码扩展中的cpr

在hevc的屏幕内容编解码扩展中,当块使用当前图片作为参考时,应确保整个参考块在可用的重构区域内,如以下规范文本所示:

变量offsetx和offsety导出如下:

offsetx=(chromaarraytype==0)?0:(mvclx[0]&0x7?2:0)(8-104)

offsety=(chromaarraytype==0)?0:(mvclx[1]&0x7?2:0)(8-105)

比特流一致性的要求是,当参考图片是当前图片时,亮度运动矢量mvlx应遵循以下约束:

-当将(xcurr,ycurr)设置为等于(xcb,ycb)、并且将临近亮度位置(xnby,ynby)设置为等于(xpb+(mvlx[0]>>2)-offsetx,ypb+(mvlx[1]>>2)-offsety)作为输入而调用6.4.1节中规定的z扫描顺序块可用性的推导处理时,输出应当为真。

-当将(xcurr,ycurr)设置为等于(xcb,ycb)、并且将临近亮度位置(xnby,ynby)设置为等于(xpb+(mvlx[0]>>2)+npbw-1+offsetx,ypb+(mvlx[1]>>2)+npbh-1+offsety)作为输入而调用6.4.1节中规定的z扫描顺序块可用性的推导处理时,输出应当为真。

-以下条件中的一个或两者应当为真:

-(mvlx[0]>>2)+npbw+xbl+offsetx的值小于或等于0。

-(mvlx[l]>>2)+npbh+ybl+offsety的值小于或等于0。

-以下条件应当为真:

(xpb+(mvlx[0]>>2)+npbsw-1+offsetx)/ctbsizey-xcb/ctbsizey<=

ycb/ctbsizey-(ypb+(mvlx[1]>>2)+npbsh-1+offsety)/ctbsizey

(8-106)

因此,不会发生参考块与当前块重叠或参考块在图片之外的情况。无需填充参考或预测块。

2.3vvc测试模型中的cpr

在当前的vvc测试模型中,整个参考块应与当前编解码树单元(ctu)一致,且不与当前块重叠。因此,不需要填充参考块或预测块。

当启用双树时,分割结构可能与亮度到色度ctu不同。因此,对于4:2:0颜色格式,一个色度块(例如,cu)可对应于一个并置亮度区域,该区域已被划分成多个亮度cu。

当下列条件为真时,只能用cpr模式编解码色度块:

1)并置亮度块内的每个亮度cu应使用cpr模式进行编解码;

2)首先将每个亮度4×4块的bv转换为色度块的bv,并且色度块的bv是有效bv。

如果两个条件中的任何一个为假,则不应使用cpr模式对色度块进行编解码。

需要注意的是,“有效bv”的定义有以下限制:

1)由bv识别的参考试块内的所有样点应当在限制的搜索范围内(例如,在当前vvc设计中应当在同一ctu内)。

2)由bv识别的参考块内的所有样点均已被重构。

2.4cpr/ibc编解码模式的填充

在hevc的cpr/ibc开发过程中,提出了几种利用填充来处理未定义像素值问题的方法。

2.4.1中间灰值的预设

在一些实施例中,当参考块中的像素值未被定义时,将其推断为128,即8位视频信号表示中的中间灰度值。

2.4.2水平填充

在一些实施例中,当由于与当前块重叠而未定义像素时,用水平可用像素填充该像素。一些实施例进一步应用该方法来处理图片之外的像素。

图2示出了水平填充的示例说明。

2.4.3取决于bvx和bvy值的水平或垂直填充

当|bvy|>|bvx|时,应用垂直填充。否则,应用水平填充。

2.4.4沿bv填充

在一些实施例中,当像素需要填充时,它将使用bv在有效区域中找到像素,并使用其值作为填充值。

2.4.5用通过直方图或大样点从临近样点导出cu/ctu级的值填充

在一些实施例中,提出了使用临近像素的两种填充方法。一种是计算临近像素的直方图并选取最频繁的值作为填充值。一些实施例提出了类似的方法。另一种是计算临近区域中最长连接的像素值,并使用该值作为填充值。因此,填充需要大量计算,这给每个cu的解码带来了潜在的负担。

2.5仿射运动补偿预测

在hevc中,运动补偿预测(mcp)仅应用平移运动模型。然而,在真实世界中可能存在多种运动,例如放大/缩小、旋转、透视运动和其他不规则运动。在jem中应用了简化的仿射变换运动补偿预测。如图1所示,用两个控制点运动矢量描述块的仿射运动场。

图3示出了简化的仿射运动模型的示例。

块的运动矢量场(mvf)由以下等式描述:

其中,(v0x,v0y)是左上角控制点的运动矢量,并且(v1x,v14y)是右上角控制点的运动矢量。

为了进一步简化运动补偿预测,应用基于子块的仿射变换预测。如等式2推导子块尺寸m×n,其中mvpre是运动矢量分数精度(例如,jem中的1/16)。(v2x,v2y)是左下控制点的运动矢量,其根据等式1计算。

用等式2推导出之后,如果需要,m和n应当被向下调节使其分别作为w和h的除数。

为了推导出每个m×n子块的运动矢量,如图4所示,可以根据等式1计算每个子块的中心样点的运动矢量,并且舍入到1/16分数精度。

图4示出了每个子块的仿射mvf的示例。

在mcp之后,对每个子块的高精度运动矢量进行舍入,并将其保存为与常规运动矢量相同的精度。

2.5.1af_inter模式

在jem中,有两个仿射运动模式:af_inter模式和af_merge模式。对于宽度和高度都大于8的cu,可以应用af_inter模式。在比特流中,信令通知cu级别的仿射标志,以指示是否使用af_inter模式。在这种模式中,使用临近块构建具有运动矢量对{(v0,v1)|v0={va,vb,vc},v1={vd,ve}}的候选列表。如图6所示,从块a、b或c的运动矢量中选择v0。根据参考列表,以及临近块参考的poc、当前cu参考的poc和当前cu的poc之间的关系对来自临近块的运动矢量进行缩放。从临近块d和e中选择v1的方法类似。当候选列表的数量小于2时,该列表由复制每个amvp候选组成的运动矢量对来填充。当候选列表大于2时,可以首先根据临近运动矢量的一致性对候选进行排序(一对候选中两个运动矢量的相似性),并且只保留前两个候选。使用rd成本检查来确定选择哪个运动矢量对候选作为当前cu的控制点运动矢量预测(cpmvp)。并且在比特流中信令通知指示cpmvp在候选列表中的位置的索引。在确定了当前仿射cu的cpmvp后,应用仿射运动估计,并且找到控制点运动矢量(cpmv)。然后,在比特流中信令通知cpmv和cpmvp的差。

图5a示出了4参数仿射模型的示例。图5b示出了6参数仿射模型的示例。

图6示出了af_inter模式的mvp的示例。

在af_inter模式中,当使用4/6参数仿射模式时,需要2/3个控制点,并且因而需要对这些控制点编解码2/3个mvd,如图6所示。在一些实施例中,提出了如下导出mv,即,从mvd0预测mvd1和mvd2。

其中,mvdi和mv1分别是左上像素(i=0)、右上像素(i=1)或左下像素(i=2)的预测运动矢量、运动矢量差和运动矢量,如图5b所示。请注意,两个运动矢量(例如,mva(xa,ya)和mvb(xb,yb))的相加分别等于两个分量的总和,即newmv=mva+mvb,并且将newmv的两个分量分别设为(xa+xb)和(ya+yb)。

2.5.2af_merge模式

当在af_merge模式中应用cu时,它从有效的临近重构块中获得以仿射模式编解码的第一个块。并且候选块的选择顺序是从左、上、右上、左下到左上,如图7a所示。如果临近的左下块a以仿射模式被编解码,如图7b所示,则导出包含块a的cu的左上角、右上角和左下角的运动矢量v2、v3和v4。并且根据v2、v3和v4计算当前cu左上角的运动矢量v0。其次,计算当前cu右上方的运动矢量v1。

在导出当前cu的cpmvv0和v1之后,根据简化的仿射运动模型等式1,生成当前cu的mvf。为了识别当前cu是否以af_merge模式编解码,当至少一个临近块以仿射模式编解码时,在比特流中信令通知仿射标志。

图7a和7b示出af_merge模式的候选的示例。

在一些实施例中,用以下步骤来构造仿射merge候选:

1)插入继承的仿射候选

继承的仿射候选是指该候选是从其有效临近仿射编解码块的仿射运动模型导出的。在共同的基础上,如图8所示,候选位置的扫描顺序为:a1、b1、b0、a0和b2。

在导出候选之后,执行完全修剪来检查是否已经将相同的候选插入了列表。如果存在相同的候选,则丢弃导出的候选。

2)插入构造的仿射候选

如果仿射merge候选列表中的候选数量小于maxnumaffinecand(本文中设为5),则将构造的仿射候选插入候选列表中。构造的仿射候选是指该候选是通过组合每个控制点的临近运动信息构造的。

首先从图8所示的规定的空域邻居和时域邻居导出控制点的运动信息。cpk(k=1,2,3,4)表示第k个控制点。a0、a1、a2、b0、b1、b2和b3是用于预测cpk(k=1,2,3)的空域位置;t是用于预测cp4的时域位置。

cp1、cp2、cp3和cp4的坐标分别为(0,0),(w,0),(h,0)和(w,h),其中w和h是当前块的宽度和高度。

图8示出仿射merge模式的候选位置的示例。

按照以下优先顺序获得每个控制点的运动信息:

对于cp1,检查优先级为b2->b3->a2。如果b2可用,则使用b2。否则,如果b2不可用,则使用b3。如果b2和b3都不可用,则使用a2。如果三个候选都不可用,则无法获得cp1的运动信息。

对于cp2,检查优先级为b1->b0;

对于cp3,检查优先级为a1->a0;

对于cp4,使用t。

其次,使用控制点的组合来构造仿射merge候选。

需要三个控制点的运动信息来构造6参数仿射候选。可以从以下四个组合中的一个来选择这三个控制点({cp1,cp2,cp4}、{cp1,cp2,cp3}、{cp2,cp3,cp4}、{cp1,cp3,cp4})。组合{cp1,cp2,cp3}、{cp2,cp3,cp4}、{cp1,cp3,cp4}将被转换到由左上、右上和左下控制点表示的6参数运动模型。

需要两个控制点的运动信息来构造4参数仿射候选。可以从以下六个组合中的一个来选择这两个控制点({cp1,cp4}、{cp2,cp3}、{cp1,cp2}、{cp2,cp4}、{cp1,cp3}、{cp3,cp4})。组合{cp1,cp4}、{cp2,cp3}、{cp2,cp4}、{cp1,cp3}、{cp3,cp4}将被转换到由左上和右上控制点表示的4参数运动模型。

按以下顺序将构造的仿射候选的组合插入到候选列表中:

{cp1,cp2,cp3}、{cp1,cp2,cp4}、{cp1,cp3,cp4}、{cp2,cp3,cp4}、{cp1,cp2}、{cp1,cp3}、{cp2,cp3}、{cp1,cp4}、{cp2,cp4}、{cp3,cp4}。

对于组合的参考列表x(x为0或1),选择控制点中使用率最高的参考索引作为列表x的参考索引,并且缩放指向不同参考图片的运动矢量。

在导出候选之后,执行完全修剪处理,以检查是否已将相同的候选插入到列表中。如果存在相同的候选,则丢弃导出的候选。

3)填充零运动矢量

4)如果仿射merge候选列表中的候选数量小于5,则在候选列表中插入具有零参考索引的零运动矢量,直到列表满为止。

2.6merge

vvc中支持三种不同的merge列表构造处理:

1)子块merge候选列表:其包括atmvp和仿射merge候选。对于仿射模式和atmvp模式二者,共享一个merge列表构建处理。这里,可以按顺序添加atmvp和仿射merge候选。在条带标头中信令通知子块merge列表尺寸,并且最大值为5。

2)单向预测tpmmerge列表:对于三角预测模式,即使两个分割可以选择其自己的merge候选索引,两个分割也共享一个merge列表构造处理。在构造这个merge列表时,检查块的空域临近块和两个时域块。在我们的idf中,从空域邻居和时域块导出的运动信息称为常规运动候选。这些常规运动候选进一步用于导出多个tpm候选。请注意,转换是在整个块级别执行的,即使两个分割可以使用不同的运动矢量来生成它们自己的预测块。将单向预测tpmmerge列表尺寸固定为5。

3)常规merge列表:对于其余的编解码块,共享一个merge列表构造处理。这里,可以依次插入空域/时域/hmvp、成对组合双向预测merge候选和零运动候选。在条带标头中信令通知常规merge列表尺寸,并且最大值为6。

2.7atmvp

在可选时域运动矢量预测(atmvp)方法中,运动矢量时域运动矢量预测(tmvp)是通过从小于当前cu的块中提取多组运动信息(包括运动矢量和参考索引)来修改的。如图9所示,子cu为方形n×n块(默认n设置为4)。

atmvp分两步预测cu内的子cu的运动矢量。第一步是用所谓的时域矢量识别参考图片中的对应块。参考图片称为运动源图片。第二步是将当前cu划分成子cu,并从每个子cu对应的块中获取运动矢量以及每个子cu的参考索引,如图9所示。

图9示出了cu的atmvp运动预测的示例。

在第一步中,参考图片和对应的块由当前cu的空域临近块的运动信息确定。为了避免临近块的重复扫描处理,使用当前cu的merge候选列表中的第一个merge候选。第一个可用的运动矢量及其相关联的参考索引被设置为时域矢量和对运动源图片的索引。这样,在atmvp中,与tmvp相比,可以更准确地识别对应的块,其中对应的块(有时称为并置块)始终位于相对于当前cu的右下角或中心位置。

在第二步中,通过将时域矢量添加到当前cu的坐标中,通过运动源图片中的时域矢量识别子cu的对应块。对于每个子cu,使用其对应块的运动信息(覆盖中心样点的最小运动网格)来推导子cu的运动信息。在识别出对应n×n块的运动信息后,将其转换为当前子cu的运动矢量和参考索引,与hevc的tmvp方法相同,其中应用运动缩放和其它处理。例如,解码器检查是否满足低延迟条件(例如,当前图片的所有参考图片的poc都小于当前图片的poc),并可能使用运动矢量mvx(与参考图片列表x对应的运动矢量)来为每个子cu预测运动矢量mvy(x等于0或1且y等于1-x)。

2.8hmvp

提出了一种基于历史的mvp(hmvp)方法,其中hmvp候选被定义为先前编解码块的运动信息。在编码/解码处理中维护具有多个hmvp候选的表。当遇到新的条带时,表将被清空。每当有一个帧间编解码的非仿射块时,将相关联的运动信息作为新的hmvp候选添加到表的最后一条。整体编解码流程如图10所示。

图10示出了具有所提出的hmvp方法的解码流程图的示例。

图11示出了在所提出的hmvp方法中更新表的示例。

在该文献中,表尺寸s被设置为6,这指示可以向表中添加多达6个hmvp候选。在向表中插入新的运动候选时,使用约束的fifo规则,其中首先应用冗余检查来查找表中是否存在相同的hmvp。如果找到,则从表中移除相同的hmvp,然后向前移动所有hmvp候选,即索引减少1。

可以将hmvp候选用于merge候选列表的构建处理中。将按顺序检查表中最新的几个hmvp候选,并在tmvp候选之后将其插入到候选列表中。对hmvp候选应用修剪,将其应用于不包括子块运动候选(即atmvp)的空域或时域merge候选。

为了减少修剪操作的次数,引入了三种简化:

1)用l表示的待检查的hmpv候选数量设置如下:

l=(n<=4)?m:(8-n)(1)

其中n指示表中可用的非子块merge候选数量,并且m指示表中可用的hmvp候选数量。

2)此外,一旦可用merge候选的总数达到信令通知的最大允许的merge候选减1,则终止从hmvp列表构造merge候选列表的处理。

3)此外,用于组合双向预测merge候选推导的对的数量从12减少到6。

类似地,也可以在amvp候选列表构造处理中使用hmvp候选。将表中最后k个hmvp候选的运动矢量插入tmvp候选之后。只有与amvp目标参考图片具有相同的参考图片的hmvp候选被用于构造amvp候选列表。在hmvp候选上应用修剪。在该文献中,k设置为4,而amvp列表尺寸保持不变,即等于2。

2.9双编解码树

在当前的vvc设计中,亮度和色度分量可以具有不同的编解码树。ctu可以有两个编解码树。一种是亮度分量的,其中编解码树定义了如何将ctu划分为亮度分量的编解码单元。另一种是色度分量的,其中编解码树定义了如何将ctu划分成色度分量的编解码单元。

当使用双编解码树时,编解码单元可以仅包含亮度分量或仅包含色度分量。由于亮度和色度分量具有不同的编解码树,因此亮度和色度分量的编解码单元可以不对齐,使得亮度编解码单元可以对应于几个色度编解码单元;并且色度编解码单元也可以对应于几个亮度编解码单元。

2.10hevc中的变换量化旁路(transquantbypass)设计

在hevc设计中,允许对编解码单元进行旁路变换、量化和环路滤波,以提供无损编码的机制。当启用此功能时,将为每个编解码单元发送一个名为cu_transquant_bypass_flag的标志。当编解码单元的cu_transquant_bypass_flag为真时,将不执行对应的变换、量化和环路滤波,包括去块和样点自适应偏移。

除了cu级标志之外,首先信令通知sps级标志(transquant_bypass_enabled_flag),以指示是启用还是禁用此方法。

3.由公开实施例解决的技术问题的示例

1.在vvc测试模式的当前设计中,cpr的参考块应完全位于一定的区域内,例如,当前ctu的重构区域。这样的限制显著地减少了潜在参考块的数量,并且从而可能导致编解码损失。现有的填充方法要么不太灵活,例如用中间灰度级填充,要么显著增加解码器的复杂性,例如基于临近像素的统计填充。需要有效的填充方法。

2.在hevc-scc和vvc测试模式的当前设计中,cpr被视为在参考图片为当前图片时的帧间模式。然而,由于cpr和帧间可能有很多不同的特性,将它们混合在一起限制了每一个的效率。因此,为了有利于编解码效率,需要将cpr与帧间模式分离。

3.当应用双树时,亮度和色度块可以选择不同的分割结构。如何处理变换量化旁路模式尚不清楚。

4.当应用双树时,当前的vvc设计要求在并置亮度区域内的所有亮度cu用cpr进行编解码,并且从每个4x4亮度块导出的每个2x2块的bv都是有效的。这种对cpr模式使用的严格约束限制了cpr的编解码增益。

4.示例实施例和技术

下面的详细技术应被视为解释一般概念的示例。不应狭隘地解释这些技术。此外,这些技术可以以任何方式组合。

当前图片参考的填充

1.用信令通知到解码器的值进行填充。该值可以表示背景。因此,用该值填充值很可能会碰到背景。

a.在一个示例中,可以在序列级(例如,sps)信令通知该值。它指示该值在该序列中是通用的。

b.在一个示例中,可以在条带/片组/片级(例如,片组标头)信令通知该值。它指示该值在该片或条带中是通用的。

c.在一个示例中,可以在ctu级(例如,ctu语法)信令通知该值。它指示该值在该区域中是通用的。

d.在一个示例中,可以在覆盖多个ctu或多个cu的区域/vps/pps/图片标头/ctu行中信令通知该值。

e.如果可以在不同级(例如,sps和pps)信令通知该值,则可以应用值的信令通知的预测。通过这种方式,可以信令通知两个值之间的差。

f.在信令通知前该值可被量化。在解析之后,可以在解码器处对该值去量化。

g.可用以下码对该值(可被量化)进行二值化:

a.一元码;

b.截断的一元码;

c.定长码;

d.指数哥伦布码(诸如eg-0或eg-1)

2.用可自适应更新的值进行填充。

a.在一个示例中,对于每个cprcu,发送标志来指示是使用用新值的填充还是用默认值的填充。当标志为真时,随后将发送一个值。当标志为假时,如果需要填充,则将使用用默认值的填充。

3.代替在上述示例中对一个值进行编解码,可以信令通知一组值。对于每个ctu/条带/片/图片,可以信令通知值在该组中的索引。

4.用列表中的值进行填充

a.在一个示例中,维护填充值列表。当使用新值时,它将被插入到列表的头部。

b.可替代地,可以将新值插入列表的尾部。

c.在一个示例中,当将值插入到列表中时,如果列表中已经有相同的值,则不执行任何操作。

d.可替代地,当将值插入到列表中时,如果列表中已经有相同的值,则不插入新元素,而是将该值放在列表的头部。

e.可替代地,当将值插入到列表中时,如果列表中已经有相同的值,则不插入新元素,而是将该值放在列表的尾部。

f.在一个示例中,可以用预定义值初始化列表,例如0、中间灰度、最大值水平,或它们的组合。

g.在一个示例中,可以使用在sps/pps/条带/片组级发送的值初始化列表。

h.在一个示例中,发送标志来指示是否使用用填充值列表中的值的填充。

i.在一个示例中,当使用填充值列表中的值时,发送索引以指示将使用列表中的哪个值。

5.当需要进行填充时,上述填充方法也可以应用于常规的帧间编解码模式。

a.在一个示例中,不同的填充值可以用于不同的编解码模式。

6.上面公开的填充值可用于不同的颜色分量。

a.在一个示例中,为不同的颜色分量使用不同的填充值。

b.在一个示例中,为不同的颜色分量信令通知不同的填充值。

7.在一个示例中,不同的填充值可以用于不同的区域。

当前图片参考与帧间模式的单独设计

8.提出应当为cpr编解码模式使用和维护单独的merge列表。

9.提出应当为cpr编解码模式使用和维护单独的amvp列表。

10.提出应当为cpr编解码模式使用和维护单独的hmvp列表。

11.提出应当为cpr编解码模式使用和维护单独的仿射merge列表。

12.由于(0,0)不是cpr的有效bv,提出用作默认填充候选的零运动矢量(即(0,0))应当被解释为或替换为cpr编解码模式的另一矢量。

a.在一个示例中,(0,0)被解释为或替换为(-w,0),其中w是当前cu的宽度。

b.在一个示例中,(0,0)被解释为或替换为(-2w,0),其中w是当前cu的宽度。

c.在一个示例中,(0,0)被解释为或替换为(0,-h),其中h是当前cu的高度。

d.在一个示例中,(0,0)被解释为或替换为(0,-2h),其中h是当前铜的高度。

e.在一个示例中,(0,0)被解释为或替换为(-m,-n),其中m和n是预定义的常量值。在一个示例中,(0,0)被解释为(-m,-n),其中m和n取决于块在ctu中的位置。

f.以上公开的mv的单位是整数像素。

13.提出当将无效的运动矢量(bx,by)视为bv时(即用于cpr编解码模式时),应将其解释为或替换为另一个矢量,以使其可以有效。

a.在一个示例中,(bx,by)被解释为或替换为(bx-m,by-n),其中m和n是预定义的常量值。

b.在一个示例中,当(bx-m,by-n)仍然无效时,可以重复上述过程,即将(bx,by)进一步解释为或替换为(bx-m-m,by-n-n)。

c.在一个示例中,可以重复上述过程,直到修改后的运动矢量成为有效的块矢量。

d.在一个示例中,(bx,by)被解释为指向cpr的有效参考区域的左上像素。

e.在一个示例中,(bx,by)被解释为指向当前ctu的左上像素。

变换量化旁路设计

14.提出当为编解码单元使用变换量化旁路编解码时,应旁路alf。

15.如何信令通知/解释/使用transquant_bypass标志可取决于颜色分量。

a.在一个示例中,如何信令通知/解释/使用transquant_bypass标志可取决于是否使用不同颜色分量的单独的分割树结构。

b.在一个示例中,当应用亮度和色度分量的单独的分割树结构时,可以信令通知亮度块的第一标志,并且可以独立地信令通知色度块的第二标志。

c.在一个示例中,当应用三色分量的单独的分割树结构时,可以独立地信令通知三个标志。

d.在一个示例中,取决于颜色分量,变换量化旁路启用/禁用标志被解释为不同的变量,例如,transquant_bypass_luma和transquant_bypass_chroma,以控制随后的视频编解码处理。

e.在滤波处理中(诸如去块滤波器、样点自适应环路滤波器、自适应环路滤波器),是否应滤波颜色分量的一个块可以取决于与该颜色分量相关联的transquant_bypass标志。

f.可替代地,即使启用了单独的分割树结构,仅对亮度分量信令通知transquant_bypass标志,而对于色度块,它可以从一个对应亮度块内的任何位置(例如,从对应亮度块的中心位置)继承transquant_bypass标志。

g.此外,可替代地,可以对不同的颜色分量信令通知允许的transquant_bypass编解码的块尺寸/维度的限制,也可以对亮度和色度分别信令通知以上限制。

16.可以信令通知用来告诉是否在pps/vps/图片标头/条带标头/片组标头/ctu处启用变换/量化旁路模式的指示。

a.在一个示例中,如果应用了单独的树分割结构(例如,双树),则对一个图片/条带/片组/ctu,可以多次信令通知该指示。

b.在一个示例中,如果应用了单独的树分割结构(例如,双树),则可以为不同的颜色分量单独地信令通知该指示。

双树下的cpr

17.确认比特流应遵循以下规则:如果使用cpr模式对一个色度块进行编解码,则从一个选择的亮度块中导出的色度块的bv应当有效。

18.确认比特流应遵循以下规则:如果使用cpr模式对一个色度块进行编解码,则由其bv识别的色度块的左上和右下样点的参考样点应当有效。

19.为了导出色度块的bv,可以检查一个色度块的并置亮度区域中的多个亮度块。

a.在一个示例中,可以检查多个块以便选择其中一个,来导出色度块的bv。

b.在一个示例中,可以检查多个块以便选择多个块,来导出色度块的bv。

c.可以预先定义或信令通知亮度块的检查顺序/位置。另外,可替代地,它还可以取决于块的维度(例如,块尺寸;块形状等)。

d.一旦用cpr模式编解码了块,则可以终止检查处理。

e.一旦用cpr模式编解码了块、并且相应的bv对色度块有效,则可以终止检查处理。

f.在一个示例中,首先检查覆盖并置亮度区域的中心位置的一个块(例如,图12中的cr)是否使用cpr模式进行编解码,然后检查覆盖角样点的亮度块(例如,a0和a3;或a0、a1、a2、a3)。一旦用cpr模式编解码了块、并且从该块导出的导出色度块的bv是有效bv,则可以终止检查处理。确认比特流应遵循以下规则:如果用cpr模式编解码了一个色度块,则从一个选择的亮度块或多个选择的亮度块导出的色度块的bv应当有效。

g.在一个示例中,首先检查覆盖并置亮度区域的中心位置的一个块(例如,图12中的cr)是否使用cpr模式进行编解码,然后检查覆盖角样点的亮度块(例如a0和a3;或a0、a1、a2、a3)。一旦用cpr模式编解码了块,则可以终止检查处理。确认比特流应遵循以下规则:如果用cpr模式编解码了一个色度块,则从一个选择的亮度块或多个选择的亮度块导出的色度块的bv应当有效。

h.可替代地,首先检查覆盖并置亮度区域的中心位置的一个块(例如,图12中的cr)是否使用cpr模式进行编解码,并返回有效bv,然后检查覆盖角样点的亮度块(例如a0和a3;或a0、a1、a2,a3)。一旦用cpr模式编解码了块、并且从该块导出的色度块的bv是有效bv,则可以终止检查处理。确认比特流应遵循以下规则:如果用cpr模式编解码了一个色度块,则从一个选择的亮度块或多个选择的亮度块导出的色度块的bv应当有效。

20.当检查处理不能从亮度块返回有效bv时(例如,第19项中提到的方法),将检查额外的默认bv,以导出色度块的bv。

a.在一个示例中,色度块的默认bv是(-w,0),其中w是色度块的宽度。

b.在一个示例中,色度块的默认bv是(-2w,0),其中w是色度块的宽度。

c.在一个示例中,色度块的默认bv是(0,-h),其中h是色度块的高度。

d.在一个示例中,色度块的默认bv是(0,-2h),其中h是色度块的高度。

e.在一个示例中,默认的bv列表是{(-w,0),(0,-h)}。将依次检查列表中的bv以获取一个有效bv。

f.在一个示例中,默认的bv列表是{(-2w,0),(0,-2h),(-w,0),(0,-h)}。将依次检查列表中的bv以获取一个有效bv。

21.提出无论从对应的亮度块导出的bv是否有效,都为所有色度子块设置有效bv。

a.在一个示例中,当一个子块的对应亮度块不能返回有效bv时,替代地可以使用其他bv(例如,默认bv)。

b.在一个示例中,第19项中用上述方法的找到的bv可以用作子块的默认bv。

c.可替代地,第19和20项可以一起使用来查找默认bv。

22.对于上述示例,当bv有效时,以下条件应当为真:

a.由bv识别的参考块内的所有样点应当在限制的搜索范围内(例如,在当前vvc设计中应当在同一ctu内)。

b.由bv识别的参考块内的所有样点均已被重构。

23.当检查处理不能从亮度块返回bv(例如,第19项中提到的方法)时,将检查额外的默认bv以导出色度块的bv。

a.在一个示例中,当图4-1所示的亮度子块cr位置未用cpr编解码时,将检查附加的默认bv以导出色度块的bv。

b.在一个示例中,当图4-1所示的cr、a0、a1、a2、a3位置中的所有亮度子块未用cpr编解码时,将检查额外的默认bv以导出色度块的bv。

c.在一个示例中,色度块的默认bv是(-w,0),其中w是色度块的宽度。

d.在一个示例中,色度块的默认bv是(-2w,0),其中w是色度块的宽度。

e.在一个示例中,色度块的默认bv是(0,-h),其中h是色度块的高度。

f.在一个示例中,色度块的默认bv是(0,-2h),其中h是色度块的高度。

g.在一个示例中,默认的bv列表是{(-w,0),(0,-h)}。将依次检查列表中的bv以获取一个有效bv。

h.在一个示例中,默认的bv列表是{(-2w,0),(0,-2h),(-w,0),(0,-h)}。将依次检查列表中的bv以获取一个有效bv。

图13是视频处理装置1300的框图。装置1300可用于实现本文所述的一种或多种方法。装置1300可实施在智能手机、平板电脑、计算机、物联网(iot)接收器等中。这种1300可以包括一个或多个处理器1302、一个或多个存储器1304和视频处理硬件1306。处理器(多个处理器)1302可以被配置为实现本文中描述的一个或多个方法。存储器(多个存储器)1304可用于存储用于实现本文描述的方法和技术的数据和代码。视频处理硬件1306可用于在硬件电路中实现本文中描述的一些技术。

图14是视频处理的示例方法1400的流程图。方法1400包括:为当前视频块和所述当前视频块的比特流表示之间的转换,将帧内编解码工具或帧间编解码工具应用(1402)于当前视频图片的当前视频块,通过所述帧内编解码工具或所述帧间编解码工具从至少部分位于所述当前视频图片的参考视频块参考所述当前视频块;在所述转换期间确定(1404)一个或多个填充值,其中在所述比特流表示中信令通知所述一个或多个填充值;以及使用所述一个或多个填充值、以及所述帧内编解码工具或所述帧间编解码工具执行(1406)所述转换。

图15是视频处理的示例方法1500的流程图。方法1500包括:在当前块和所述当前块的比特流表示之间的转换期间确定(1502)一个或多个填充值;以及至少基于所述一个或多个填充值执行(1504)所述转换。

图16是视频处理的示例方法1600的流程图。方法1600包括:在视频的第一视频块和所述视频的比特流表示之间的第一转换期间,为具有第一编解码模式的所述第一视频块确定(1602)第一候选列表构造方法;以及至少基于根据所述第一候选列表构造方法获得的第一候选列表执行(1604)所述第一转换;其中,所述第一视频块的所述转换基于当前图片中的样点,并且所述第一候选列表构造方法不同于第二候选列表构造方法,在具有第二编解码模式的所述视频的第二视频块和所述视频的所述比特流表示之间的第二转换期间,将所述第二候选列表构造方法应用在所述第二视频块上。

图17是视频处理的示例方法1700的流程图。方法1700包括:在当前块和所述当前块的比特流表示之间的转换期间,确定(1702)所述当前块用变换量化旁路编解码模式编解码;以及响应于所述当前块用所述变换量化旁路编解码模式编解码,在不基于自适应环路滤波器进行滤波的情况下,执行(1704)所述当前块和所述当前块的比特流表示之间的转换,其中,所述变换量化旁路编解码模式是其中在不使用变换、量化和环路滤波中的一个或多个的情况下对块进行编解码的编解码模式。

图18是视频处理的示例方法1800的流程图。方法1800包括:在当前块和所述当前块的比特流表示之间的转换期间,基于所述当前块的颜色分量执行(1802)一个或多个变换量化旁路标志的处理,其中所述变换量化旁路标志与变换量化旁路编解码模式相关,其中,所述变换量化旁路编解码模式是其中在不使用变换、量化和环路滤波中的一个或多个的情况下对块进行编解码的编解码模式;以及基于所述处理执行(1804)所述转换。

图19是视频处理的示例方法1900的流程图。方法1900包括:在当前视频块和当前视频块的比特流表示之间的转换期间,确定(1902)当前视频块的块矢量;以及至少基于块矢量执行(1904)转换,其中,当以使用指向所述当前视频块所在的同一图片的、用于预测的参考块的编解码模式对所述当前视频块进行编解码、并且当前视频块是第一类型块时,从至少一个第二类型块中导出所述块矢量。

图20是视频处理的示例方法2000的流程图。方法2000包括:在当前视频块和当前视频块的比特流表示之间的转换期间,确定(2002)当前视频块的参考样点;以及至少基于块矢量执行(1904)转换,其中,当以使用指向当前视频块所在的同一图片的、用于预测的参考块的编解码模式对当前视频块进行编解码时,参考样点包括由当前视频块的块矢量识别的当前视频块的左上和右下样点。

应当理解的是,已经公开了几种技术,这些技术将通过允许使用诸如cpr的帧内图片视频编解码而有益于视频处理设备(诸如智能手机、笔记本电脑、台式机和类似设备)中并入的视频编码器和解码器实施例。可以用如下基于条款的格式描述一些技术和实施例。

1.一种视频处理方法,包括:为当前视频块和所述当前视频块的比特流表示之间的转换,将帧内编解码工具或帧间编解码工具应用于当前视频图片的所述当前视频块,通过所述帧内编解码工具或所述帧间编解码工具从至少部分位于所述当前视频图片的参考视频块中参考所述当前视频块;在所述转换期间确定一个或多个填充值,其中在所述比特流表示中信令通知所述一个或多个填充值;以及使用所述一个或多个填充值、以及所述帧内编解码工具或所述帧间编解码工具执行所述转换。

2.根据条款1所述的方法,其中,所述比特流表示包括在序列参数集级、或条带级、或片组级、或片级、或编解码树单元级、或视频参数集级、或图片参数集级、或图片标头级、或编解码树单元行级、或区域级处的所述一个或多个填充值,所述区域覆盖多个编解码单元。

3.根据条款1至2中任一项所述的方法,其中,所述一个或多个填充值以量化格式包含在所述比特流表示中。

4.根据条款1至3中任一项所述的方法,其中,使用二值化方案将所述一个或多个填充值包含在所述比特流表示中,所述二值化方案是(a)一元码、或(b)截断的一元码、或(c)定长码、或(d)指数哥伦布码。

5.根据条款1至4中任一项所述的方法,其中,所述一个或多个填充值自适应地依赖于视频特性。

6.根据条款5所述的方法,其中,所述自适应依赖关系在序列参数集级、或条带级、或片组级、或片级、或编解码树单元级、或视频参数集级、或图片参数集级、或图片标头级、或编解码树单元行级、或区域级指示在所述比特流表示中,其中所述区域覆盖多个编解码单元。

7.根据条款1至6中任一项所述的方法,其中,所述比特流表示包括所述一个或多个填充值的标识,所述一个或多个填充值的标识包括在所述比特流表示中包含的填充值列表内。

8.根据条款1至7中任一项所述的方法,其中,所述一个或多个填充值包括对至少一些颜色或亮度分量不同的填充值。

9.根据条款1至8中任一项所述的方法,其中,所述一个或多个填充值包括对至少一些视频图像区域不同的填充值。

10.一种视频处理方法,包括:

在当前视频块和所述当前视频块的比特流表示之间的转换期间,确定所述当前视频块的帧内编解码模式的帧内候选列表;以及使用所述帧内候选列表执行所述当前视频块和所述比特流表示之间的所述转换,其中,帧内编解码模式的所述帧内候选列表不同于所述当前视频块的帧间编解码模式的候选列表;并且其中,所述候选列表是merge列表、或基于历史的运动矢量预测器列表、或仿射merge列表中的一个。

11.根据条款10所述的方法,其中,所述帧内候选列表将以下运动矢量中的一个用作默认填充候选:

(a)(-w,0),其中w是所述当前视频块的宽度;或

(b)(-2w,0),或

(c)(0,-h),其中h是所述当前视频块的高度,或

(d)(0,-2h)或

(e)(-m,-n),其中m和n是预定义的数字。

12.根据条款11所述的方法,其中,w、h、m和n是整数。

13.根据条款10至12中任一项所述的方法,其中,所述使用所述帧内候选列表包括:将所述帧内候选列表中的无效运动矢量(bx,by)替换或解释为以下中的一个:

(a)(bx-m,by-n),其中m和n是预定义的整数,或

(b)重复地从bx和by中减去m和n,直到获得有效运动矢量,或

(c)重复地从bx和by中减去m和n,直到获得有效块矢量,或

(d)将(bx,by)解释为指向所述当前视频块的有效参考区域的左上像素,或

(e)将(bx,by)解释为指向所述当前视频块的编解码树单元的左上像素。

14.一种视频处理方法,包括:执行当前视频块的编解码模式是变换量化旁路编解码模式的确定,其中通过省略变换步骤和量化步骤,将所述当前视频块编码为比特流表示;以及基于所述确定,根据变换量化旁路编解码模式执行所述当前视频块和所述比特流表示之间的转换,其中在不基于自适应环路滤波器进行滤波的情况下执行所述转换。

15.根据条款14所述的方法,其中,所述比特流表示中的一个或多个标志对应于所述变换量化旁路编解码模式。

16.根据条款15所述的方法,其中,所述一个或多个标志的数量对应于在所述比特流表示中使用单独的分割结构的所述当前视频块的亮度或颜色分量的数量。

17.根据条款15所述的方法,其中,为所述当前视频块的亮度分量信令通知所述一个或多个标志的第一个标志,并且为所述当前视频块的两个颜色分量信令通知所述一个或多个标志的第二个标志。

18.根据条款14至17中任一项所述的方法,其中,所述比特流表示还包括一个或多个transquant_bypass标志,其指示所述当前视频块的亮度和颜色分量的脉冲编解码调制编解码模式的适用性。

19.根据条款16所述的方法,其中,色度分量从所述当前视频块的所述亮度分量的位置继承对应的transquant_bypass标志。

20.根据条款19所述的方法,其中,所述当前位置对应于所述当前视频块的所述亮度分量的中心位置。

21.根据条款16所述的方法,其中,所述一个或多个标志包含在图片参数集级、或视频参数集级、或图片标头级、或条带标头级、或片组标头级、或编解码树单元级。

22.一种视频处理方法,包括:

执行是色度块的当前视频块是用当前图片参考模式编解码的确定;以及

基于所述确定,执行所述当前视频块和所述当前视频块的比特流表示之间的转换,

其中,所述转换使用以下规则中的至少一个:

(1)从选择的亮度块导出的所述色度块的块矢量有效,或者

(2)由其块矢量识别的所述色度块的左上和右下样点的参考样点有效。

23.一种视频处理方法,包括:

从是色度块的当前视频块的并置亮度区域中的多个亮度块中选择至少一个亮度块;以及

基于所述至少一个亮度块,导出所述色度块的块矢量;以及

基于所述块矢量,执行所述当前视频块和所述当前视频块的比特流表示之间的转换。

24.根据条款23所述的方法,其中,所述至少一个亮度块包含多个亮度块。

25.根据条款23所述的方法,其中,检查所述多个亮度块以选择所述至少一个亮度块的顺序是预定义的、信令通知的、或基于所述当前视频块的尺寸或形状的。

26.根据条款23所述的方法,其中,所述当前视频块用当前图片参考模式编解码,并且其中所述块矢量有效。

27.根据条款22至26中任一项所述的方法,其中,由所述块矢量识别参考块,并且所述参考块内的所有样点都在限制的搜索范围内。

28.根据条款27所述的方法,其中,所述限制的搜索范围是编解码树单元。

29.根据条款22至26中任一项所述的方法,其中,由所述块矢量识别参考块,并且所述参考块内的所有样点都是重构的。

30.根据条款23所述的方法,其中,将所述块矢量用作所述色度块的子块的默认块矢量。

31.一种视频处理方法,包括:

确定不能基于当前视频块的并置亮度区域中的亮度块导出是色度块的所述当前视频块的块矢量;

基于所述确定,选择默认块矢量作为所述色度块的所述块矢量;以及

基于所述块矢量,执行所述当前视频块和所述当前视频块的比特流表示之间的转换。

32.根据条款31所述的方法,其中,所述默认块矢量是(-w,0),并且其中,w是所述色度块的宽度。

33.根据条款31所述的方法,其中,所述默认块矢量为(0,-h),并且其中,h是所述色度块的高度。

34.根据条款31所述的方法,其中,所述默认块矢量为(0,-2h),并且其中,h是所述色度块的高度。

35.根据条款31所述的方法,其中,从包括(-w,0)和(0,-h)的默认块矢量列表中选择所述默认块矢量,并且其中,w和h分别是所述色度块的宽度和高度。

36.根据条款31所述的方法,其中,从包括(-2w,0)、(0,-2h)、(-w,0)和(0,-h)的默认块矢量列表中选择所述默认块矢量,并且其中,w和h分别是所述色度块的宽度和高度。

37.根据条款1至36条中任一项所述的方法,其中,所述转换包括:从所述比特流表示生成所述当前视频块的像素值。

38.根据条款1至36条中任一项所述的方法,其中,所述转换包括:从所述当前视频块生成所述比特流表示。

39.一种视频编码器装置,其包括处理器,所述处理器被配置成实现条款1至38中任一项所述的方法。

40.一种视频解码器装置,其包括处理器,所述处理器被配置成实现条款1至38中任一项所述的方法。

41.一种其上存储有代码的计算机可读介质,当所述代码被执行时,使处理器实现条款1至38中任一项所述的方法。

可以用如下另一种基于条款的格式描述一些技术和实施例。

1.一种视频处理方法,包括:

在当前块和所述当前块的比特流表示之间的转换期间,确定一个或多个填充值;以及

至少基于所述一个或多个填充值执行所述转换。

2.根据条款1所述的方法,其中,在一个或多个级别处的所述比特流表示中信令通知所述一个或多个填充值,并且对于所述一个或多个级别的一个级别,所述一个或多个填充值相同。

3.根据条款2所述的方法,其中,所述一个或多个级别包括以下的一个或多个:

序列参数集级、条带级、片组级、片级、编解码树单元级、视频参数集级、图片参数集级、图片标头级、编解码树单元行级、以及对应于多个编解码树单元或多个编解码单元的区域级。

4.根据条款1至3中任一项所述的方法,其中,基于两个级别的值之间的信令通知的差,从第二级别的所述一个或多个填充值预测第一级别的所述一个或多个填充值。

5.根据条款1至4中任一项所述的方法,其中,所述一个或多个填充值是量化的。

6.根据条款5所述的方法,其中,使用以下中的一个或多个对所述一个或多个填充值进行量化:

一元码、截断的一元码、定长码、以及指数哥伦布码。

7.根据条款1至6中任一项所述的方法,还包括:

自适应地更新所述一个或多个填充值。

8.根据条款7所述的方法,其中,自适应地更新所述一个或多个填充值包括:

根据第一个标志更新所述一个或多个填充值,

其中,所述第一个标志指示使用默认填充值还是新发送的填充值。

9.根据条款1至8中任一项所述的方法,其中,为每个编解码树单元、每个条带、每个片、以及每个图片中的一个或多个信令通知集合中的所述一个或多个填充值的索引。

10.根据条款9所述的方法,其中,信令通知所述一个或多个填充值的集合。

11.根据条款1至10中任一项所述的方法,其中,所述一个或多个填充值来自填充值列表。

12.根据条款1至11中任一项所述的方法,还包括:

基于所述一个或多个填充值维护填充值列表。

13.根据条款12所述的方法,其中,基于所述一个或多个填充值维护填充值列表包括:

将用于所述转换的新填充值插入所述填充值列表。

14.根据条款13所述的方法,其中,将用于所述转换的新填充值插入所述填充值列表包括:

将新填充值插入所述填充值列表的头部或尾部。

15.根据条款12所述的方法,其中,基于所述一个或多个填充值维护填充值列表包括:

当用于所述转换的填充值在所述转换之前在所述填充值列表中时,保持所述填充值列表不变。

16.根据条款12所述的方法,其中,基于所述一个或多个填充值维护填充值列表包括:

当用于所述转换的填充值在所述转换之前在所述填充值列表中时,将用于所述转换的填充值放入所述填充值列表的头部或尾部。

17.根据条款12至16中任一项所述的方法,还包括:

用一个或多个预定义值初始化所述填充值列表。

18.根据条款17所述的方法,其中,所述一个或多个预定义值包括0、中间灰度、最大值水平中的一个或多个。

19.根据条款17所述的方法,其中,在序列参数集级、图片标头级、条带级、以及片组级中的一个或多个处发送所述一个或多个预定义值。

20.根据条款12至19中任一项所述的方法,其中,信令通知第二标志以指示所述一个或多个填充值属于所述填充值列表。

21.根据条款12至20中任一项所述的方法,其中,发送索引以指示用于所述转换的所述填充值列表中的所述一个或多个填充值。

22.根据条款1至21中任一项所述的方法,其中,在帧内块复制(ibc)模式、帧间编解码模式或帧内编解码模式中,至少基于所述一个或多个填充值执行所述转换。

23.根据条款22所述的方法,其中,在不同模式中使用的所述一个或多个填充值不同。

24.根据条款1至23中任一项所述的方法,其中,用于不同颜色分量的所述一个或多个填充值不同。

25.根据条款1至24中任一项所述的方法,其中,为不同颜色分量信令通知的所述一个或多个填充值不同。

26.根据条款1至25中任一项所述的方法,其中,用于不同区域的所述一个或多个填充值不同。

27.一种视频处理装置,其包括处理器,所述处理器被配置为实现条款1至26中任一项所述的方法。

28.根据条款27所述的装置,其中所述装置是视频编码器。

29.根据条款27所述的装置,其中所述装置是视频解码器。

30.一种计算机可读介质,其上记录了包括代码的程序,所述程序使处理器实现条款1至26中任一项所述的方法。

可以用如下另一种基于条款的格式描述一些技术和实施例。

1.一种视频处理方法,包括:

在视频的第一视频块和所述视频的比特流表示之间的第一转换期间,为具有第一编解码模式的所述第一视频块确定所述第一候选列表构造方法;

至少基于根据所述第一候选列表构造方法获得的所述第一候选列表执行所述第一转换;

其中,所述第一视频块的所述转换基于当前图片中的样点,并且所述第一候选列表构造方法不同于第二候选列表构造方法,在具有第二编解码模式的所述视频的第二视频块和所述视频的所述比特流表示之间的第二转换期间,将所述第二候选列表构造方法应用在所述第二视频块上。

2.根据条款1所述的方法,其中,用于所述第一编解码模式中的预测的参考块指向所述当前块所在的相同图片。

3.根据条款1或2所述的方法,其中,所述第一编解码模式是当前的图片参考(cpr)模式或帧内块复制(ibc)模式。

4.根据条款1至3中任一项所述的方法,其中,所述第一候选列表包括以下中的一个或多个:

ibcmerge候选列表、ibc空域块矢量候选列表、ibc基于历史的块矢量候选列表。

5.根据条款1至4中任一项所述的方法,其中,根据第二候选列表构造方法获得的第二候选列表包括以下中的一个或多个:

帧间merge候选列表、帧间空域merge候选列表、帧间成对平均merge候选列表、帧间零运动矢量merge候选列表、帧间基于历史的运动矢量候选列表。

6.根据条款1至5中任一项所述的方法,其中,所述第二编解码模式包括以下中的一个或多个:

非ibc模式、merge非ibc模式、高级运动矢量预测(amvp)非ibc模式、基于历史的运动矢量预测(hmvp)模式、仿射模式。

7.根据条款1至6中任一项所述的方法,其中,使用下列运动矢量中的一个来替换作为所述第一候选列表中的默认填充候选的零运动矢量:

(a)(-w,0),或

(b)(-2w,0),或

(c)(0,-h)或

(d)(0,-2h)或

(e)(-m,-n),

其中,w是所述当前块的宽度,h是所述当前视频块的高度,并且m和n是预定义的数字。

8.根据条款7所述的方法,其中,m和n取决于所述当前块在编解码树单元(ctu)中的位置。

9.根据条款1至8中任一项所述的方法,其中,至少基于所述第一候选列表执行所述转换包括:

用有效运动矢量替换所述第一候选列表中的无效运动矢量;以及

至少基于所述有效运动矢量执行所述转换。

10.根据条款9所述的方法,其中,用有效运动矢量替换所述第一候选列表中的无效运动矢量包括:

更新步骤,其通过分别从所述无效运动矢量的两个分量中减去m和n,来用更新的运动矢量替换所述无效运动矢量。

11.根据条款10所述的方法,其中,用有效运动矢量替换所述第一候选列表中的无效运动矢量包括:

重复所述更新步骤,直到所述更新的运动矢量是所述有效运动矢量。

12.根据条款9至11中任一项所述的方法,其中,用有效运动矢量替换所述第一候选列表中的无效运动矢量包括:

将所述无效运动矢量解释为指向所述当前块的有效参考区域的左上像素。

13.根据条款9至12中任一项所述的方法,其中,用有效运动矢量替换所述第一候选列表中的无效运动矢量包括:

将所述无效运动矢量解释为指向所述当前块的编解码树单元(ctu)的左上像素。

14.一种视频处理装置,其包括处理器,所述处理器被配置为实现条款1至13中任一项所述的方法。

15.根据条款14所述的装置,其中所述装置是视频编码器。

16.根据条款14所述的装置,其中所述装置是视频解码器。

17.一种计算机可读介质,其上记录了包括代码的程序,所述程序使处理器实现条款1至13中任一项所述的方法。

可以用如下另一种基于条款的格式描述一些技术和实施例。

1.一种视频处理方法,包括:

在当前块和所述当前块的比特流表示之间的转换期间,确定所述当前块用变换量化旁路编解码模式编解码;以及

响应于所述当前块用所述变换量化旁路编解码模式编解码,在不基于自适应环路滤波器进行滤波的情况下,执行所述当前块和所述当前块的比特流表示之间的转换,其中,所述变换量化旁路编解码模式是其中在不使用变换、量化和环路滤波中的一个或多个的情况下对块进行编解码的编解码模式。

2.根据条款1所述的方法,其中,基于颜色分量信令通知、解释或使用一个或多个变换量化旁路标志。

3.一种视频处理方法,包括:

在当前块和所述当前块的比特流表示之间的转换期间,基于所述当前块的颜色分量执行一个或多个变换量化旁路标志的处理,其中所述变换量化旁路标志与变换量化旁路编解码模式相关,其中,所述变换量化旁路编解码模式是其中在不使用变换、量化和环路滤波中的一个或多个的情况下对块进行编解码的编解码模式;

基于所述处理执行所述转换。

4.根据条款3所述的方法,其中,所述一个或多个变换量化旁路标志的所述处理包括以下中的至少一个:

信令通知所述一个或多个变换量化旁路标志;

解释所述一个或多个变换量化旁路标志;

使用所述一个或多个变换量化旁路标志。

5.根据条款2至4中任一项所述的方法,其中,所述一个或多个变换量化旁路标志的所述处理取决于是否将不同的分割树结构用于所述当前块的不同颜色分量。

6.根据条款2至5中任一项所述的方法,其中,当将不同的分割树结构用于所述当前块的所述不同颜色分量时,所述一个或多个变换量化旁路标志分别对应于所述当前块的所述不同颜色分量,并且独立地信令通知所述一个或多个变换量化旁路标志。

7.根据条款5至6中任一项所述的方法,其中,所述不同颜色分量包括亮度和色度分量。

8.根据条款2至7中任一项所述的方法,其中,基于所述颜色分量将所述一个或多个变换量化旁路标志解释为不同变量。

9.根据条款2至8中任一项所述的方法,其中,与颜色分量相对应的变换量化旁路标志指示在所述当前块和所述当前块的所述比特流表示之间的所述转换期间,是否对所述颜色分量的所述当前块进行滤波。

10.根据条款2至9中任一项所述的方法,其中,信令通知与一个颜色分量相对应的一个变换量化旁路标志,并且从所述一个颜色分量的所述当前块内的位置继承与其它颜色分量相对应的其它变换量化旁路标志。

11.根据条款10所述的方法,其中,所述当前块内的所述位置是中心位置。

12.根据条款1至11中任一项所述的方法,其中,是否在变换量化旁路编解码模式中对颜色分量的所述当前块进行编解码取决于分别为所述不同颜色分量信令通知的限制参数。

13.根据条款12所述的方法,其中,所述限制参数指示所述颜色分量的所述当前块的尺寸或维度。

14.根据条款2至13中任一项所述的方法,其中,在一个或多个级别处信令通知所述一个或多个变换量化旁路标志。

15.根据条款14所述的方法,其中,所述一个或多个级包括以下中的一个或多个:

图片参数集级、视频参数集级、图片标头级、条带标头级、片组级、以及编解码树单元级。

16.根据条款14或15所述的方法,其中,当使用所述不同的分割树结构时,为图片、或条带、或片组、或编解码树单元多次信令通知所述一个或多个变换量化旁路标志。

17.一种视频处理装置,其包括处理器,所述处理器被配置为实现条款1至16中任一项所述的方法。

18.根据条款17所述的装置,其中所述装置是视频编码器。

19.根据条款17所述的装置,其中所述装置是视频解码器。

20.一种计算机可读介质,其上记录了包括代码的程序,所述程序使处理器实现条款1至19中任一项所述的方法。

可以用如下另一种基于条款的格式描述一些技术和实施例。

1.一种视频处理方法,包括:

在当前视频块和所述当前视频块的比特流表示之间的转换期间,确定所述当前视频块的块矢量;以及

至少基于所述块矢量执行所述转换,

其中,当以使用指向所述当前视频块所在的同一图片的、用于预测的参考块的编解码模式对所述当前视频块进行编解码、并且所述当前视频块是第一类型块时,从至少一个第二类型块中导出所述块矢量。

2.根据条款1所述的方法,其中,所述第一类型块是色度块和亮度块中的一个,所述第二类型块是所述色度块和所述亮度块中的另一个,并且所述第一类型不同于所述第二类型。

3.根据条款1或2所述的方法,其中,所述第一类型块和所述第二类型块具有不同的编解码树。

4.根据条款1至3中任一项所述的方法,其中,检查所述当前视频块的并置区域中的多个第二类型块,来导出所述块矢量。

5.根据条款4所述的方法,其中,检查所述当前视频块的并置区域中的所述多个第二类型块,以选择一个第二类型块来导出所述块矢量。

6.根据条款4所述的方法,其中,检查所述当前视频块的并置区域中的所述多个第二类型块,以选择多于一个第二类型块来导出所述块矢量。

7.根据条款4至6中任一项所述的方法,其中,以预先定义的或信令通知的顺序检查所述当前视频块的并置区域中的所述多个第二类型块。

8.根据条款4至7中任一项所述的方法,其中,以基于所述当前视频块的尺寸或形状的顺序检查所述当前视频块的并置区域中的所述多个第二类型块。

9.根据条款4至8中任一项所述的方法,其中,检查所述当前视频块的并置区域中的所述多个第二类型块,直到所述多个第二类型块中的一个是用所述编解码模式编解码的块为止。

10.根据条款4至8中任一项所述的方法,其中,检查所述当前视频块的并置区域中的所述多个第二类型块,直到所述多个第二类型块中的一个块是用所述编解码模式编解码的块为止,并且从所述一个块导出有效的块矢量。

11.根据条款4至8中任一项所述的方法,其中,首先检查所述多个第二类型块中覆盖所述并置区域的中心位置的中心块,并且然后检查所述多个第二类型块中覆盖所述并置区域的角样点的角块,直到所述多个第二类型块中的一个块是用所述编解码模式编解码的块。

12.根据条款4至8中任一项所述的方法,其中,首先检查所述多个第二类型块中覆盖所述并置区域的中心位置的中心块,并且然后检查所述多个第二类型块中覆盖所述并置区域的角样点的角块,直到所述多个第二类型块中的一个块是用所述编码模式编码的块,并且从所述一个块导出有效的块矢量。

13.根据条款1至12中任一项所述的方法,其中,由所述块矢量识别参考块,并且其中,所述参考块内的所有样点都在限定的搜索范围内。

14.根据条款13所述的方法,其中,所述限定的搜索范围是所述当前视频块的编解码树单元。

15.根据条款1至14中任一项所述的方法,其中,由所述块矢量识别参考块,并且其中,所述参考块内的所有样点都是重构的。

16.根据条款4至15中任一项所述的方法,其中,当不能从所述当前视频块的所述并置区域中的所述多个第二类型块导出所述块矢量时,将默认块矢量用作所述块矢量。

17.根据条款4至15中任一项所述的方法,其中,当所述多个第二类型块中覆盖所述并置区域的中心位置的中心块不是用所述编解码模式编解码时,将默认块矢量用作所述块矢量。

18.根据条款4至15中任一项所述的方法,其中,当所述多个第二类型块中覆盖所述并置区域的中心位置的中心块和覆盖所述并置区域的角样点的角块不是用所述编解码模式编解码时,将默认块矢量用作所述块矢量。

19.根据条款16至18中任一项所述的方法,其中,所述默认块矢量为(-w,0),并且其中w是所述当前视频块的宽度。

20.根据条款16至18中任一项所述的方法,其中,所述默认块矢量为(-2w,0),并且其中w是所述当前视频块的宽度。

21.根据条款16至18中任一项所述的方法,其中,所述默认块矢量为(0,-h),并且其中h是所述当前视频块的高度。

22.根据条款16至18中任一项所述的方法,其中,所述默认块矢量为(0,-2h),并且其中h是所述当前视频块的高度。

23.根据条款16至18中任一项所述的方法,其中,从包含(-w,0)和(0,-h)的默认块矢量列表中选择所述默认块矢量,并且其中w和h分别是所述当前视频块的宽度和高度。

24.根据条款16至18中任一项所述的方法,其中,从包含(-2w,0)、(0,-2h)、(-w,0)和(0,-h)的默认块矢量列表中选择所述默认块矢量,并且其中w和h分别是所述当前视频块的宽度和高度。

25.根据条款4至24中任一项所述的方法,其中,将默认子块矢量用作所述当前视频块的子块的所述块矢量,而不管是否可以从所述当前视频块的并置区域中的所述多个第二类型块导出所述块矢量。

26.根据条款4至24中任一项所述的方法,其中,当不能从所述当前视频块的并置区域中的所述多个第二类型块的子块导出所述块矢量时,将默认子块矢量用作所述当前视频块的子块的所述块矢量。

27.根据条款26所述的方法,其中,将从所述当前视频块的并置区域中的所述多个第二类型块的子块导出的所述块矢量用作所述默认子块矢量。

28.根据条款26所述的方法,其中,将从所述当前视频块的并置区域中的所述多个第二类型块的子块导出的所述块矢量、或者从包含(-2w,0)、(0,-2h)、(-w,0)和(0,-h)的默认块矢量列表中选择的所述默认块矢量用作所述默认子块矢量,并且其中w和h分别是所述当前视频块的宽度和高度。

29.根据条款1至24中任一项所述的方法,其中,所述当前视频块的所述块矢量是一个矢量块。

30.一种视频处理方法,包括:

在当前视频块和所述当前视频块的比特流表示之间的转换期间,确定所述当前视频块的参考样点;以及

至少基于所述块矢量执行所述转换,

其中,当以使用指向所述当前视频块所在的同一图片的、用于预测的参考块的编解码模式对所述当前视频块进行编解码时,所述参考样点包括由所述当前视频块的块矢量识别的所述当前视频块的左上和右下样点。

31.一种视频处理装置,其包括处理器,所述处理器被配置为实现条款1至30中任一项所述的方法。

32.根据条款31所述的装置,其中所述装置是视频编码器。

33.根据条款31所述的装置,其中所述装置是视频解码器。

34.一种计算机可读记录介质,其上记录了包括代码的程序,所述程序使处理器实现条款1至30中任一项所述的方法。

应当理解的是,公开了用于执行包括视频编码(例如,从视频的像素值生成比特流)或视频解码(例如,从比特流生成视频像素)的视频处理的几种方法和设备。所公开的技术可并入其中将cpr用于视频编解码的实施例中。视频块的比特流表示可以包括连续的或非连续的比特(例如,标头字段和网络抽象层或nal字段)。

本文中描述的主题的实现和功能操作可以在各种系统、数字电子电路、或计算机软件、固件或硬件中实现,包括本说明书中所公开的结构及其结构等效体,或其中一个或多个的组合。本说明中描述的主题的实现可以实现为一个或多个计算机程序产品,即一个或多个编码在有形的且非易失的计算机可读介质上的计算机程序指令的模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或其中一个或其中多个的组合。术语“数据处理单元”或“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多处理器或计算机组。除硬件外,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或其中一个或多个的组合。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成以编码信息以传输到合适的接收器设备。

计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、分量、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标志语言文档中的一个或多个脚本)、专用于该程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。

本说明书中描述的处理和逻辑流可以通过一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过在输入数据上操作并生成输出来执行功能。处理和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实现为特殊用途的逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。

例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或通过操作耦合到一个或多个大容量存储设备来从其接收数据或将数据传输到一个或多个大容量存储设备,或两者兼有。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如,内部硬盘或可移动硬盘;磁光盘;以及cdrom和dvdrom盘。处理器和存储器可以由专用逻辑电路来补充,或merge到专用逻辑电路中。

虽然本专利文件包含许多细节,但不应将其解释为对任何主题或权利要求范围的限制,而应解释为对特定发明的特定实施例的特征的描述。本专利文件在单独实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中单独实施,或在任何合适的子组合中实施。此外,尽管上述特征可以描述为在某些组合中起作用,甚至最初要求是这样,但在某些情况下,可以从组合中移除权利要求组合中的一个或多个特征,并且权利要求的组合可以指向子组合或子组合的变体。

同样,尽管附图中以特定顺序描述了操作,但这不应理解为要获得想要的结果必须按照所示的特定顺序或顺序执行此类操作,或执行所有说明的操作。此外,本专利文件所述实施例中各种系统分量的分离不应理解为在所有实施例中都需要这样的分离。

仅描述了一些实现和示例,其他实现、增强和变体可以基于本专利文件中描述和说明的内容做出。

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