用于屏幕内容编解码的最大可能模式列表构建

文档序号:411939 发布日期:2021-12-17 浏览:1次 >En<

阅读说明:本技术 用于屏幕内容编解码的最大可能模式列表构建 (Maximum possible mode list construction for screen content codec ) 是由 朱维佳 张莉 许继征 王悦 于 2020-05-09 设计创作,主要内容包括:描述了用于屏幕内容编解码的最大可能模式列表的构建。在示范性方面中,一种用于视频处理的方法包括:针对视频的当前块和当前块的比特流表示之间的转换,构建当前块的帧内编解码模式的两个或更多最大可能模式(MPM)列表,其中两个或更多MPM列表至少包括利用第一构建方法构建的第一MPM列表以及利用与第一构建方法不同的第二构建方法构建的第二MPM列表;以及使用从构建的两个或更多MPM列表选择的一个MPM列表执行转换。(The construction of a maximum possible mode list for screen content codec is described. In an exemplary aspect, a method for video processing comprises: constructing two or more Maximum Possible Mode (MPM) lists of an intra-coding mode of a current block for a transition between the current block and a bitstream representation of the current block, wherein the two or more MPM lists include at least a first MPM list constructed using a first construction method and a second MPM list constructed using a second construction method different from the first construction method; and performing conversion using one MPM list selected from the constructed two or more MPM lists.)

用于屏幕内容编解码的最大可能模式列表构建

相关申请的交叉引用

根据适用的《专利法》和/或《巴黎公约》的规定,本申请及时要求于2019年5月9日提交的国际专利申请号PCT/CN2019/086114的优先权和利益。将国际专利申请号PCT/CN2019/086114的全部公开以引用方式并入本文,作为本申请公开的一部分。

技术领域

本申请文件涉及视频编解码技术、设备和系统。

背景技术

尽管视频压缩有了进展,数字视频仍然占用了因特网和其他数字通信网络上的最大带宽使用。随着所连接的能够接收和显示视频的用户设备数量的增大,预期对数字视频使用的带宽需求将持续增长。

发明内容

描述了涉及数字视频编解码,尤其涉及用于视频编解码的自适应环路滤波的设备、系统和方法。可以将所述方法应用于现有的视频编解码标准(例如,高效视频编解码(HEVC))以及将来的视频编解码标准(例如,多功能视频编解码(VVC))或编解码器。

视频编解码标准主要是通过开发公知的ITU-T和ISO/IEC标准而发展起来的。ITU-T开发了H.261和H.263,ISO/IEC开发了MPEG-1和MPEG-4视觉,并且两个组织联合开发了H.262/MPEG-2视频、H.264/MPEG-4高级视频编解码(AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中采用了时域预测加变换编解码。为探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年共同成立了联合视频探索团队(JVET)。从那时起,JVET采用了许多新的方法,并将其应用到了名为联合探索模型(JEM)的参考软件中。2018年4月,创建了VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家小组(JVET),以针对VVC标准展开工作,目标是与HEVC相比降低50%的比特率。

在一个代表性方面中,可以使用公开的技术提供一种用于视频处理的方法,该方法包括基于当前视频块的相邻块的帧内模式构建帧内编解码模式的第一模式列表;基于第一模式列表构建帧内编解码模式的第二模式列表;以及使用第一模式列表或第二模式列表的至少一个对当前视频块执行帧内模式编解码。

在另一个代表性方面中,可以使用公开的技术提供一种用于视频处理的方法,该方法包括:基于当前视频块的相邻块的帧内模式构建帧内编解码模式的模式列表以包括候选模式,其中构建模式列表包括基于候选模式的类型在模式列表中的位置处定位候选模式。

在一个代表性方面中,可以使用公开的技术提供一种用于视频处理的方法。该方法包括,针对视频的当前块和当前块的比特流表示之间的转换构建当前块的帧内编解码模式的两个或更多最大可能模式(MPM)列表,其中两个或更多MPM列表至少包括利用第一构建方法构建的第一MPM列表以及利用与第一构建方法不同的第二构建方法构建的第二MPM列表;以及使用从构建的两个或更多MPM列表选择的一个MPM列表执行转换。

在又一代表性方面中,上述方法实现成处理器可执行代码的形式并存储于计算机可读程序介质中。

在又一代表性方面当中,公开了一种被配置为或可用于执行上述方法的装置。该装置可以包括被编程控制以实施这种方法的处理器。

在又一典型的方面,公开了实现本文所述的视频解码方法的视频解码装置。

在附图、说明书和权利要求中更详细地描述了所公开技术的以上和其他方面和特征。

附图说明

图1示出了帧内块复制的示例。

图2示出了在调色板模式中编解码的块的示例。

图3示出了使用调色板预测子信令通知调色板条目的示例。

图4示出了用于编解码调色板索引的水平和垂直遍历扫描的示例。

图5示出了调色板索引的编解码示例。

图6示出了多类型树划分模式的示例。

图7示出了用于推导α和β的样点的位置示例。

图8示出了具有色度缩放架构的亮度映射的示例。

图9示出了67种帧内预测模式的示例。

图10示出了当前块的左侧和上方邻块的示例。

图11示出了与预测块相邻的四条参考线的示例。

图12a示出了针对4x8和8x4 CU的子分割的示例,图12b示出了针对4x8、8x4和4x4之外的CU的子分割的示例。

图13a和13b示出了根据公开的技术用于模式列表构建的示例方法的流程图。

图14是用于实施本文描述的视觉媒体解码或视觉媒体编码技术的硬件平台的示例的框图。

图15是用于视频编解码的示例方法的流程图。

具体实施方式

由于对更高分辨率视频的需求越来越大,视频编解码方法和技术在现代技术中无所不在。视频编解码器通常包括对数字视频进行压缩和解压缩的电子电路或软件,并且正在不断得到改进以提供更高的编解码效率。视频编解码器将未压缩的视频转换成压缩格式,或者反之。在视频质量、用于表示视频的数据量(由比特率决定)、编码和解码算法的复杂度、对数据损失和错误的敏感度、编辑的容易性、随机存取和端到端延迟(迟延)之间存在复杂的关系。压缩格式通常遵守标准视频压缩规范,例如,高效率视频编解码(HEVC)标准(也称为H.265或MPEG-H部分2)、即将完稿的多功能视频编解码(VVC)标准、或其他当前和/或将来的视频编解码标准。

可以将公开的技术的实施例应用于现有视频编解码标准(例如,HEVC、H.265)和将来的标准,以改进运行时性能。在本文中,使用章节标题以提高描述的可读性,并且不以任何方式将论述或实施例(和/或实现)仅限制到相应章节。

1帧内块复制

帧内块复制(IBC),又名当前图片引用,已经用于HEVC屏幕内容编解码扩展(HEVC-SCC)和当前VVC测试模型(VTM-4.0)中。IBC将运动补偿的概念从帧间编解码扩展到帧内编解码。如图1中所示,在应用IBC时,通过同一图片中的参考块预测当前块。在对当前块进行编码或解码之前,必须已经重构了参考块中的样点。尽管IBC并非对于大部分相机捕获序列都那么高效率,但其展现出对于屏幕内容显著的编解码增益。原因在于在屏幕内容图片中存在大量的重复图案,例如图标和文本字符。IBC能够有效地消除这些重复图案之间的冗余。在HEVC-SCC中,如果IBC选择当前图片作为其参考图片,则帧间编解码的编解码单元(CU)可以应用IBC。在这种情况下,MV被重新命名为块矢量(BV),BV始终具有整数像素的精度。为了与主要档次HEVC兼容,在解码图片缓冲区(DPB)中将当前图片标记为“长期”参考图片。应当指出,类似地,在多种视图/3D视频编解码标准中,视图间参考图片也被标记为“长期”参考图片。

遵循BV找到其参考块,可以通过复制参考块来生成预测。可以通过从初始信号减去参考像素来获得残差。然后可以如其他编解码模式中那样,应用变换和量化。

不过,在参考块在图片外部,或与当前块重叠,或在重构区域外部,或在某些约束限制的有效区域外部时,不定义部分或全部像素值。基本上,有两种方案来处理此类问题。一种方案是例如在比特流一致性中不允许此类状况。另一种方案是为那些未定义的像素值应用填补。以下小节详细描述方案。

1.2 HEVC屏幕内容编解码扩展中的IBC

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

如下推导变量offsetX和offsetY:

offsetX=(ChromaArrayType==0)?0:(mvCLX[0]&0x7?2:0)

[方程1]

offsetY=(ChromaArrayType==0)?0:(mvCLX[1]&0x7?2:0)

[方程2]

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

-在调用条款6.4.1中规定的z扫描顺序块可用性的推导过程时,其中以被设置等于(xCb,yCb)的(xCurr,yCurr),以及被设置等于(xPb+(mvLX[0]>>2)-offsetX,yPb+(mvLX[1]>>2)-offsetY)的相邻亮度位置(xNbY,yNbY)作为输入,则输出应当等于真。

-在调用条款6.4.1中规定的z扫描顺序块可用性的推导过程时,其中以被设置等于(xCb,yCb)的(xCurr,yCurr),以及被设置等于(xPb+(mvLX[0]>>2)+nPbW-1+offsetX,yPb+(mvLX[1]>>2)+nPbH-1+offsetY)的相邻亮度位置(xNbY,yNbY)作为输入,则输出应当等于真。

-以下状况之一或两者应当为真:

(mvLX[0]>>2)+nPbW+xB1+offsetX的值小于或等于0。

(mvLX[1]>>2)+nPbH+yB1+offsetY的值小于或等于0。

-以下状况应当为真:

(xPb+(mvLX[0]>>2)+nPbSw-1+offsetX)/CtbSizeY-xCurr/CtbSizeY<=yCurr/CtbSizeY-(yPb+(mvLX[1]>>2)+nPbSh-1+offsetY)/CtbSizeY [方程3]

于是,不会发生参考块与当前块重叠或参考块在图片外部的情况。不需要填补参考块或预测块。

1.3 VCC测试模型中的IBC

在当前的VCC测试模型中,即,VTM-4.0设计中,整个参考块应当利用当前编解码树单元(CTU),而且不和当前块重叠。因此,不需要填补参考块或预测块。IBC标志被编解码为当前CU的预测模式。于是,对于每个CU共有三种预测模式,MODE_INTRA、MODE_INTER和MODE_IBC。

1.3.1.IBC Merge模式

在IBC Merge模式中,从比特流解析指向IBC merge候选列表中的条目的索引。可以根据以下步骤序列总结IBC merge列表的构建:

步骤1:空域候选的推导

步骤2:HMVP候选的插入

步骤3:成对平均候选的插入

在推导空域merge候选时,在位于A1、B1、B0、A0和B2所示位置的候选中选择最多四个merge候选。推导的顺序为A1、B1、B0、A0和B2。仅在位置A1、B1、B0、A0的任何PU不可用(例如,因为它属于另一个条带或片)或未利用IBC模式编解码时,才考虑位置B2。在添加位置A1处的候选之后,对剩余候选的插入进行冗余检查,冗余检查确保从列表排除具有相同运动信息的候选,从而改善编解码效率。

在插入空域候选之后,如果IBC merge列表尺寸仍然小于最大IBC merge列表尺寸,则可以插入来自HMVP表的IBC候选。在插入HMVP候选时执行冗余检查。

最后,向IBC merge列表中插入成对的平均候选。

在merge候选标识的参考块在图片外部,或与当前块重叠,或在重构区域外部,或在某些约束限制的有效区域外部时,该merge候选被称为无效merge候选。

要指出的是,可以向IBC merge列表中插入无效merge候选。

1.3.2 IBC AMVP模式

在IBC AMVP模式中,从比特流解析指向IBC AMVP列表中的条目的AMVP索引。可以根据以下步骤序列总结IBC AMVP列表的构建:

步骤1:空域候选的推导

检查A0、A1,直到发现可用候选。

检查B0、B1、B2,直到发现可用候选。

步骤2:HMVP候选的插入

步骤3:零候选的插入

在插入空域候选之后,如果IBC AMVP列表尺寸仍然小于最大IBC AMVP列表尺寸,则可以插入来自HMVP表的IBC候选。

最后,向IBC AMVP列表中插入零候选。

1.4自适应运动矢量分辨率(AMVR)

在HEVC中,在条带标头中use_integer_mv_flag等于0时,以四分之一亮度样点为单位信令通知运动矢量差值(MVD)(在CU的运动矢量和预测运动矢量之间)。在VVC中,引入了CU级别的自适应运动矢量分辨率(AMVR)方案。AMVR允许以不同精度对CU的MVD编解码。根据当前CU的模式(正常AMVP模式或仿射AVMP模式),可以如下自适应地选择当前CU的MVD:

-正常AMVP模式:四分之一亮度样点、整数亮度样点或四亮度样点。

-仿射AMVP模式:四分之一亮度样点、整数亮度样点或1/16亮度样点。

如果当前CU具有至少一个非零MVD分量,则有条件地信令通知CU级别的MVD分辨率指示。如果所有MVD分量(即,针对参考列表L0和参考列表L1的水平和垂直MVD)都为零,则推断出四分之一亮度样点MVD分辨率。

对于具有至少一个非零MVD分量的CU,信令通知第一标志,以指示是否为CU使用四分之一亮度样点MVD精度。如果第一标志为0,则不需要进一步的信令,并为当前CU使用四分之一亮度样点MVD精度。否则,信令通知第二标志,以指示为正常AMVP CU使用整数亮度样点还是四亮度样点MVD精度。使用相同的第二标志指示为仿射AMVP CU使用整数亮度样点还是1/16亮度样点MVD精度。为了确保重构的MV具有期望精度(四分之一亮度样点、整数亮度样点或四亮度样点),将把CU的运动矢量预测子取整为与MVD一起被添加之前MVD相同的精度。朝向零对运动矢量预测子取整(亦即,向正无穷大对负运动矢量预测子取整,向负无穷大对正运动矢量预测子取整)。

编码器使用RD检查为当前CU确定运动矢量分辨率。为了避免始终针对每种MVD分辨率执行三次CU级别的RD检查,仅有条件地调用四分之一亮度样点之外的MVD精度的RF检查。对于正常AVMP模式而言,首先计算四分之一亮度样点MVD精度和整数亮度样点MV精度的RD成本。然后,将整数样点MVD精度的RD成本与四分之一亮度样点MVD精度进行比较,以决定是否需要进一步检查四亮度样点MVD精度的RD成本。在四分之一亮度样点MVD精度的RD成本远小于整数亮度样点MVD精度时,跳过四亮度样点MVD精度的RD检查。对于仿射AMVP模式,如果在检查仿射merge/skip模式、四分之一亮度样点MVD精度正常AMVP模式和四分之一亮度样点MVD精度仿射AMVP模式的率失真成本之后未选择仿射帧间模式,则不检查1/16亮度样点MV精度和1像素MV精度仿射帧间模式。此外,将在四分之一亮度样点MV精度仿射帧间模式中获得的仿射参数用作1/16亮度样点和四分之一亮度样点MV精度仿射帧间模式中的起始搜索点。

1.5 HEVC屏幕内容编解码扩展(HEVC-SCC)中的调色板模式

调色板模式背后的基本理念在于,通过代表性颜色值的小集合来表示CU中的样点。这个集合被称为调色板。还可以通过信令通知逸出符号,接着是(可能量化的)分量值,来指示调色板外部的样点。在图2中例示了这种情况。

1.5.1调色板条目的编解码

为了对调色板条目进行编解码,维护调色板预测子。在SPS中信令通知调色板和调色板预测子的最大尺寸。在HEVC-SCC中,在PPS中引入palette_predictor_initializer_present_flag。在这个标志为1时,在比特流中信令通知用于初始化调色板预测子的条目。在每个CTU行、每个条带和每个片的开始处对调色板预测子进行初始化。根据palette_predictor_initializer_present_flag的值,将调色板预测子重置为0,或者使用PPS中信令通知的调色板预测子初始化器条目进行初始化。在HEVC-SCC中,启用尺寸为0的调色板预测子初始化器,以允许在PPS级别上显式禁用调色板预测子初始化。

对于调色板预测子中的每个条目,信令通知重复使用标志以指示它是否是当前调色板的一部分。在图3中例示了这种情况。使用零的运行长度编解码发送重复使用标志。在此之后,使用0阶指数Golomb代码信令通知新调色板条目的数量。最后,信令通知用于新调色板条目的分量值。

1.5.2调色板索引的编解码

使用如图4所示的水平和垂直遍历扫描来对调色板索引编解码。使用palette_transpose_flag在比特流中显式地信令通知扫描顺序。对于小节的剩余部分,假设扫描是水平的。

使用两种调色板样点模式:'INDEX'和'COPY_ABOVE',对调色板索引进行编解码。如前所述,逸出符号也被信令通知为'INDEX'模式,并被分配以等于最大调色板尺寸的索引。除了顶行之外,或者在前一模式为'COPY_ABOVE'时,使用标志信令通知该模式。在'COPY_ABOVE'模式中,复制上方行中样点的调色板索引。在'INDEX'模式中,显式地信令通知调色板索引。对于'INDEX'和'COPY_ABOVE'模式两者,信令通知运行值,该运行值规定也使用相同模式编解码的后续样点的数量。在逸出符号是'INDEX'或'COPY_ABOVE'模式中运行的部分时,针对每个逸出符号信令通知逸出分量值。图5中示出了调色板索引的编解码。

如下完成这种语法顺序。首先,信令通知CU的索引值的数量。在此之后,使用截断二元编解码信令通知整个CU的实际索引值。索引数量和索引值都以旁路模式编解码。这样将索引相关的旁路二进制位分到一起。然后以交织方式信令通知调色板样点模式(如果必要)和运行。最后,对应于整个CU的逸出样点的分量逸出值被分在一起并以旁路模式编解码。

在信令通知索引值之后,信令通知额外的语法元素,last_run_type_flag。这一语法元素结合索引数量,消除了信令通知对应于块中最后运行的运行值的需求。

在HEVC-SCC中,还针对4:2:2、4:2:0和单色色度格式启用调色板模式。调色板条目和调色板索引的信令对于所有色度格式几乎相同。对于非单色格式而言,每个调色板条目由3个分量构成。对于单色格式而言,每个调色板条目由单个分量构成。对于欠采样色度方向,色度样点与可除以2的亮度样点索引相关联。在针对CU重构调色板索引之后,如果样点仅具有与其相关联的单个分量,则仅使用调色板条目的第一分量。信令中的仅有差异针对逸出分量值。对于每个逸出样点,根据与该样点相关联的分量数量,信令通知的逸出分量值的数量可以不同。

1.6变换Skip模式中的系数编解码

对变换skip(TS)模式中系数编解码提出了几种修改,以便针对变换skip等级的统计和信号特性调整残差编解码。

如下列出了提出的修改。

无最后显著扫描位置:由于残差信号反映预测之后的空域残差,并且不针对TS由变换执行能量压实,不再给出变换块右下角处尾随零或不显著电平的更高概率。于是,在这种情况下省略了最后有效扫描位置信令。

子块CBF:省去最后有效扫描位置信令要求如下修改具有针对TS的coded_sub_block_flag的子块CBF信令。

由于量化的原因,前述无效序列可能仍然出现于变换块内部本地。于是,如前所述消除最后有效扫描位置,并针对所有子块编解码coded_sub_block_flag,不包括所有CG(除最后CG)都具有零系数的情况,从而,不需要为最后CG编解码coded_sub_block_flag。

针对覆盖DC频率位置的子块(左上子块)的coded_sub_block_flag给出了特殊情况。在VVC草案3中,针对该子块的coded_sub_block_flag永远不被信令通知,并且始终被推断为等于1。当最后有效扫描位置位于另一子块中时,这表示在DC子块外部有至少一个有效电平。因此,DC子块可以仅包含零/非有效电平,尽管针对该子块的coded_sub_block_flag被推断为等于1。在TS中没有最后扫描位置信息的情况下,信令通知针对每个子块的coded_sub_block_flag。

这还包括针对DC子块的coded_sub_block_flag,除了在所有其他coded_sub_block_flag语法元素已经等于0时。在这种情况下,推断DC coded_sub_block_flag等于1(inferDcSbCbf=1)。由于在这个DC子块中有至少一个有效电平,则不信令通知针对(0,0)处第一位置的sig_coeff_flag语法元素并推导为等于1(inferSbDcSigCoeffFlag=1),而不是如果这个DC子块中所有其他sig_coeff_flag语法元素都等于0。

用于coded_sub_block_flag的上下文建模被改变。将上下文模型索引计算为当前子块左侧的coded_sub_block_flag和上方的coded_sub_block_flag之和,以及两者的逻辑分离。

sig_coeff_flag上下文建模:修改sig_coeff_flag上下文建模中的局部模板以仅包括当前扫描位置左侧的邻居(NB0)和上方的邻居(NB1)。上下文模型偏移就是重要临近位置sig_coeff_flag[NB0]+sig_coeff_flag[NB1]的数量。因此,消除了取决于当前变换块之内对角线d的不同上下文集合的选择。这样获得三个上下文模型和单个上下文模型集合用于编解码sig_coeff_flag flag。

abs_level_gt1_flag和par_level_flag上下文建模:为abs_level_gt1_flag和par_level_flag采用单个上下文模型。

abs_remainder编解码:尽管变换skip残差绝对级别的经验分布典型地仍然匹配拉普拉斯或几何分布,但存在比变换系数绝对级别更大的不平稳态。具体而言,相继实现的窗口之内的变体对于残差绝对级别而言更高。这推动了abs_remainder语法二值化和上下文建模的以下修改:

-在二值化中使用更高的截断值,即,从利用sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag编解码到用于abs_remainder的Rice代码的转换点,并且针对每个二进制位位置的专用上下文模型获得更高的压缩效率。提高截断值将获得更多“大于X”标志,例如,引入abs_level_gt5_flag、abs_level_gt7_flag等,直到达到截断值。截断值自身被固定到5(numGtFlags=5)。

-修改了用于rice参数推导的模板,即,仅考虑当前扫描位置左侧的邻居和上方的邻居,类似于针对sig_coeff_flag上下文建模的局部模板。

coeff_sign_flag上下文建模:由于符号序列内部的非稳态以及预测残差常常被偏置的事实,可以使用上下文模型对符号编解码,即使在全局经验分布几乎均匀分布时也如此。使用单个专用上下文模型对符号编解码,并在sig_coeff_flag之后解析符号以将所有上下文编解码的二进制位保持在一起。

1.7量化残差块差分脉码调制(QR-BDPCM)

提出了量化残差块差分脉码调制(QR-BDPCM)以高效率地对屏幕内容进行编解码。

QR-BDPCM中使用的预测方向可以是垂直预测模式和水平预测模式。通过在类似于帧内预测的预测方向(水平或垂直预测)上进行样点复制来对整个块进行帧内预测。对残差进行量化,并对量化残差及其预测子(水平或垂直)量化值之间的差量进行编解码。可以通过如下方式描述这种情况:对于尺寸为M(行)×N(列)的块,令r_(i,j),0≤i≤M-1,0≤j≤N-1为使用来自上方或左侧块边界样点的未滤波样点水平地(在预测块内逐条线地复制左侧相邻像素值)或垂直地(将顶部相邻线复制到预测块中的每条线)执行帧内预测之后的预测残差。令Q(r_(i,j)),0≤i≤M-1,0≤j≤N-1表示残差r_(i,j)的量化版本,其中残差是初始块和预测块值之间的差值。然后,将块DPCM应用于量化残差样点,获得修改的M×N数组R,其元素为在信令通知垂直BDPCM:

对于水平预测而言,适用类似规则,通过如下方程获得残差量化样点:

将残差量化样点发送到解码器。

在解码器侧,逆转以上计算以产生Q(ri,j),0≤i≤M-1,0≤j≤N-1。对于垂直预测情况,

对于水平情况,

将逆量化残差,Q-1(Q(ri,j)),添加到帧内块预测子以产生重构的样点值。

这种方案的主要益处在于,在系数解析期间在工作同时,仅仅通过在解析系数时添加预测子,或者可以在解析之后进行。

如下示出了QR-BDPCM的草案文本变化。

7.3.6.5编解码单元语法

等于1的bdpcm_flag[x0][y0]规定,在位置(x0,y0)处包括亮度编解码块的编解码单元中存在bdpcm_dir_flag

等于0的bdpcm_dir_flag[x0][y0]规定,要在bdpdcm块中使用的预测方向为水平,否则为垂直。

1.8分割结构

在HEVC中,通过使用四叉树结构(表示为编解码树)将CTU划分成CU来适应各种局部特性。在叶CU级别决定是使用图片间(时域)预测还是图片内(空域)预测对图片区域进行编解码。根据PU的划分类型,每个叶CU可以进一步划分成一个、两个或四个PU。在一个PU中,应用相同的预测处理,并且相关信息以PU为基础传输到解码器。在基于PU划分类型通过应用预测处理获得残差块后,可以根据与CU的编解码树相似的另一个四叉树结构将叶CU分割成变换单元(TU)。HEVC结构的一个重要特征是它具有多个划分概念,包括CU、PU以及TU。

在VVC中,具有使用二元和三元划分分段结构的嵌套多类型树的四叉树替代了多种分割单元类型的概念,即,它消除了CU、PU和TU概念的分离,除非尺寸对于最大变换长度而言过大的CU需要,并支持CU分割形状的更大灵活性。在编解码树结构中,CU可以是方形或矩形。编解码树单元(CTU)首先被四叉树(quaternary tree)(又名四叉树(quadtree))结构分割。然后,可以进一步通过多类型树结构分割四叉树叶节点。如图6中所示,在多类型树结构中有四种划分类型,垂直二叉划分(SPLIT_BT_VER)、水平二叉划分(SPLIT_BT_HOR)、垂直三叉划分(SPLIT_TT_VER)和水平三叉划分(SPLIT_TT_HOR)。多类型树叶节点被称为编解码单元(CU),除非CU对于最大变换长度而言过大,就将这种分段用于预测和变换处理而不进行任何进一步分割。这意味着,在大多数情况下,在具有嵌套多类型树编解码块结构的四叉树中,CU、PU和TU具有相同的块尺寸。在最大支持变换长度小于CU的颜色分量的宽度或高度时,发生异常。另外,亮度和色度分量在I片上具有分离的分割结构。

1.9跨分量线性模型预测

为了减小跨分量冗余,在VTM4中使用跨分量线性模型(CCLM)预测模式,为此如下基于使用线性模型重构的同一CU的亮度样点预测色度样点:

predC(i,j)=α·recL′(i,j)+β [方程8]

其中表示CU中的预测色度样点,表示同一CU中降低采样的重构亮度样点。线性模型参数α和β是从来自两个样点的亮度值和色度值之间的关系导出的,两个样点是降低采样的相邻亮度样点集合内部具有最小样点值和最大样点值的亮度样点,及其对应的色度样点。线性模型参数α和β是根据以下方程获得的。

β=Yb-α·Xb [方程10]

其中Ya和Xa表示具有最大亮度样点值的亮度样点的亮度值和色度值。且Xb和Yb分别表示具有最小亮度样点值的亮度样点的亮度值和色度值。图8示出了左侧和上方样点以及CCLM模式中涉及的当前块的样点的位置的示例。

2.10具有色度缩放的亮度映射(LMCS)

在VTM4中,添加了称为具有色度缩放的亮度映射(LMCS)的编解码工具作为环形滤波器之前的新处理块。LMCS具有两个主要分量:1)基于自适应逐件线性模型的亮度分量的环路映射;2)对于色度分量,应用取决于亮度的色度残差缩放。图8示出了从解码器角度看到的LMCS架构。图8中的阴影块指示在映射域中哪里应用该处理;这些包括逆量化、逆变换、亮度帧内预测以及与亮度残差一起添加亮度预测。图8中的无阴影块指示在初始(即,未映射)域中哪里应用该处理;这些包括环形滤波器,例如去块、ALF和SAO、运动补偿预测、色度帧内预测、与色度残差一起添加色度预测,以及存储解码图片作为参考图片。图8中的浅黄色阴影块是新的LMCS功能块,包括亮度信号的正映射和逆映射以及取决于亮度的色度缩放过程。像VVC中大部分其他工具一样,可以在序列级别上使用SPS标志启用/禁用LMCS。

2.11具有67种帧内预测模式的帧内模式编解码

为了捕获自然视频中存在的任意边缘方向,VTM4中的定向帧内模式的数量被从33(如HEVC中使用的)扩展到65。不在HEVC中的新定向模式在图9中被绘示为红色虚线箭头,平面和DC模式保持相同。这些更密集的定向帧内预测模式适用于所有块尺寸以及亮度和色度帧内预测两者。

不论MRL和ISP编解码工具是否适用,针对帧内块提出了统一的6-MPM列表。基于左侧的帧内模式构建MPM列表

语法元素intra_luma_mpm_flag[x0][y0]、intra_luma_not_planar_flag[x0][y0]、intra_luma_mpm_idx[x0][y0]和intra_luma_mpm_remainder[x0][y0]规定用于亮度样点的帧内预测模式。数组索引x0,y0指定所考虑编解码块的左上亮度样点相对于图片左上亮度样点的位置(x0,y0)。在intra_luma_mpm_flag[x0][y0]等于1时,根据条款8.4.2从临近帧内预测的编解码单元推断帧内预测模式。

在没有intra_luma_mpm_flag[x0][y0](例如,ISP被启用,或MRL被启用(参考索引>0))时,推断其等于1。

在没有intra_luma_not_planar_flag[x0][y0](例如,MRL被启用)时,推断其等于1。

8.4.2亮度帧内预测模式的推导过程

对这一过程的输入为:

-亮度位置(xCb,yCb),相对于当前图片的左上亮度样点指定当前亮度编解码块的左上样点,

-变量cbWidth,指定亮度样点中当前编解码块的宽度,

-变量cbHeight,指定亮度样点中当前编解码块的高度。

在这个过程中,推导出亮度帧内预测模式IntraPredModeY[xCb][yCb]。

表8-1指定帧内预测模式IntraPredModeY[xCb][yCb]的值和关联的名称。

表8-1–帧内预测模式和关联名称的规范

NOTE–:帧内预测模式INTRA_LT_CCLM、INTRA_L_CCLM和INTRA_T_CCLM仅适用于色度分量。

如下推导IntraPredModeY[xCb][yCb]:

-如果intra_luma_not_planar_flag[xCb][yCb]等于1,则以下有序的步骤:

1.相邻位置(xNbA,yNbA)和(xNbB,yNbB)分别被设置等于(xCb-1,yCb+cbHeight-1)和(xCb+cbWidth-1,yCb-1)。

2.对于X被A或B替换的情况,如下推导变量candIntraPredModeX:

-针对条款6.4.X[Ed.(BB)中指定的块的可用性推导过程:调用相邻块可用性检查过程tbd],其中设置等于(xCb,yCb)的位置(xCurr,yCurr)和设置等于(xNbX,yNbX)的相邻位置(xNbY,yNbY)作为输入,且输出被分配给availableX。

-如下推导候选帧内预测模式candIntraPredModeX:

-如果下述条件中的一者或多者为真,那么candIntraPredModeX被设置为等于INTRA_PLANAR。

-变量availableX等于假。

-CuPredMode[xNbX][yNbX]不等于MODE_INTRA,ciip_flag[xNbX][yNbX]不等于1。

-pcm_flag[xNbX][yNbX]等于1。

-X等于B,yCb-1小于((yCb>>CtbLog2SizeY)<<CtbLog2SizeY)。

-否则,candIntraPredModeX被设置等于IntraPredModeY[xNbX][yNbX]。

3.如下推导candModeList[x],其中x=0..4。

-如果candIntraPredModeB等于candIntraPredModeA,且candIntraPredModeA大于INTRA_DC,则如下推导candModeList[x],其中x=0..4。

candModeList[0]=candIntraPredModeA [方程11]

candModeList[1]=2+((candIntraPredModeA+61)%64) [方程12]

candModeList[2]=2+((candIntraPredModeA-1)%64) [方程13]

candModeList[3]=INTRA_DC [方程14]

candModeList[4]=2+((candIntraPredModeA+60)%64) [方程15]

-否则,如果candIntraPredModeB不等于candIntraPredModeA,candIntraPredModeA或candIntraPredModeB大于INTRA_DC,则以下适用:

-如下推导变量minAB和maxAB:

minAB=Min(candIntraPredModeA,candIntraPredModeB) [方程16]

maxAB=Max(candIntraPredModeA,candIntraPredModeB) [方程17]

-如果candIntraPredModeA和candIntraPredModeB都大于INTRA_DC,则如下推导candModeList[x],其中x=0..4。

candModeList[0]=candIntraPredModeA [方程18]

candModeList[1]=candIntraPredModeB [方程19]

candModeList[2]=INTRA_DC [方程20]

-如果maxAB-minAB在2到62(包括)的范围中,则以下适用:

candModeList[3]=2+((maxAB+61)%64) [方程21]

candModeList[4]=2+((maxAB-1)%64) [方程22]

-否则,以下适用:

candModeList[3]=2+((maxAB+60)%64) [方程23]

candModeList[4]=2+((maxAB)%64) [方程24]

-否则(candIntraPredModeA或candIntraPredModeB大于INTRA_DC),则如下推导candModeList[x],其中x=0..4:

candModeList[0]=maxAB [方程25]

candModeList[1]=INTRA_DC [方程26]

candModeList[2]=2+((maxAB+61)%64) [方程27]

candModeList[3]=2+((maxAB-1)%64) [方程28]

candModeList[4]=2+((maxAB+60)%64) [方程29]

-否则,以下适用:

candModeList[0]=INTRA_DC [方程30]

candModeList[1]=INTRA_ANGULAR50 [方程31]

candModeList[2]=INTRA_ANGULAR18 [方程32]

candModeList[3]=INTRA_ANGULAR46 [方程33]

candModeList[4]=INTRA_ANGULAR54 [方程34]

4.通过应用以下流程来推导IntraPredModeY[xCb][yCb]:

-如果intra_luma_mpm_flag[xCb][yCb]等于1,IntraPredModeY[xCb][yCb]被设置等于candModeList[intra_luma_mpm_idx[xCb][yCb]]。

-否则,通过应用以下有序步骤来推导IntraPredModeY[xCb][yCb]:

1)在candModeList[i]大于candModeList[j],i=0..3,且对于每个i,j=(i+1)..4,则如下交换两个值:

(candModeList[i],candModeList[j])=Swap(candModeList[i],candModeList[j]) [方程35]

2)通过以下有序步骤推导IntraPredModeY[xCb][yCb]:

i.IntraPredModeY[xCb][yCb]被设置等于intra_luma_mpm_remainder[xCb][yCb]。

ii.IntraPredModeY[xCb][yCb]的值递增1

iii.对于i等于0到4(含),在IntraPredModeY[xCb][yCb]大于或等于candModeList[i]时,将IntraPredModeY[xCb][yCb]的值递增1。

-否则(intra_luma_not_planar_flag[xCb][yCb]等于0),IntraPredModeY[xCb][yCb]被设置等于INTRA_PLANAR。

变量IntraPredModeY[x][y]被设置等于IntraPredModeY[xCb][yCb],其中x=xCb..xCb+cbWidth-1且y=yCb..yCb+cbHeight-1。

1.12多参考线(MRL)帧内预测

多参考线(MRL)帧内预测使用更多参考线进行帧内预测。在图11中,绘示了4条参考线的示例,其中未从重构相邻样点取出片段A和F的样点,而是利用分别来自片段B和E的最近样点填补。HEVC帧内预测使用最近的参考线(即,参考线0)。在MRL中,使用额外的线(参考线1和参考线3)。

选定参考线的索引(mrl_idx)被信令通知并用于生成帧内预测子。对于大于0的参考线idx,在MPM列表中仅包括额外参考线模式,并且仅信令通知mpm索引而没有剩余模式。在帧内预测模式之前信令通知参考线索引,在信令通知非零参考线索引的情况下,从帧内预测模式排除平面和DC模式。

对于CTU内部的块的第一条线,禁用MRL,以防止使用当前CTU线外部的扩展参考样点。而且,在使用额外线时,禁用PDPC。

1.13帧内子分割(ISP)

帧内子分割(ISP)工具根据块尺寸将亮度帧内预测块垂直或水平地划分成2个或4个子分割。例如,ISP的最小块尺寸为4x8(或8x4)。如果块尺寸大于4x8(或8x4),则通过4个子分割划分对应块。图12示出了两种可能性的示例。所有子分割满足具有至少16个样点的条件。

表2-1–熵编解码系数组尺寸

块尺寸 系数组尺寸
1×N,N≥16 1×16
N×1,N≥16 16×1
2×N,N≥8 2×8
N×2,N≥8 8×2
所有其他可能的M×N情况 4×4

对于每个子分割,通过向预测信号添加残差信号来获得重构样点。这里,通过例如熵解码、逆量化和逆变换的过程来生成残差信号。因此,每个子分割的重构样点值可用于生成下一子分割的预测,并且每个子分割都被反复处理。另外,要处理的第一子分割是包含CU左上样点的子分割,然后向下(水平划分)或向右(垂直划分)继续。结果,用于生成子分割预测信号的参考样点仅位于该线的左侧和上侧。所有子分割共享相同的帧内模式。以下是ISP与其他编解码工具交互的摘要。

多参考线(MRL):如果块具有除0之外的MRL索引,那么ISP编解码模式将被推断为0,因此ISP模式信息将不被发送到解码器。

熵编解码系数组尺寸:修改熵编解码子块的尺寸已被修改,使得它们在所有可能情况下都具有16个样点,如表2-1所示。注意,新尺寸仅影响ISP产生的块,其中尺度之一小于4个样点。在所有其他情况下,系数组都保持4×4尺度。

CBF编解码:假设子分割中的至少一个具有非零CBF。因此,如果n是子分割的数量,且第一子分割已经产生零CBF,那么第n子分割的CBF被推断为1。

MPM使用:在ISP模式编解码的块中,MPM标志将被推断为1,修改MPM列表以排除DC模式并针对ISP水平划分优先化水平帧内模式,针对垂直划分优先化垂直帧内模式。

变换尺寸约束:长度大于16个点的所有ISP变换都使用DCT-II。

PDPC:在CU使用ISP编解码模式时,PDPC滤波器将不应用于所得的子分割。

MTS标志:如果CU使用ISP编解码模式,MTS CU标志将被设置为0,并将不会被发送到解码器。因此,解码器将不针对每个所得子分割,针对不同的可用变换执行RD测试。ISP模式的变换选择反而将根据所利用的帧内模式、处理次序和块尺寸被固定并被选择。因此,不需要信令通知。例如,令tH和tV为分别针对w×h子分割选择的水平和垂直变换,其中w为宽度,h为高度。然后,根据以下规则选择变换:

如果w=1或h=1,则分别没有水平或垂直变换。

如果w=2或w>32,=DCT-II

如果h=2或h>32,=DCT-II

否则,如表2-2中选择变换。

表2-2-变换选择取决于帧内模式

现有实施方式的缺点

针对自然序列设计MPM列表。在屏幕内容编解码上,垂直模式和水平模式是两种主要模式,因此在屏幕内容编解码中可能需要不同的MPM列表构建。而且,在混合内容上,可能需要超过一个MPM列表,MPM列表可能能够基于当前块是否是屏幕内容块而切换。

用于屏幕内容编解码的最大可能模式列表构建的示范性方法

下文应被视为解释一般概念的示例。提供这些示例仅仅是为了方便理解公开的技术,不应以狭窄的方式来解释。此外,实施方式可以以任何方式组合。

1.可以为常规帧内模式编解码使用两种或超过两种MPM列表构建方法。

A.在一个示例中,第一MPM列表可以是当前列表,第二MPM列表可以从第一列表导出。

I.在一个示例中,为了生成第二MPM列表,可以首先生成第一MPM列表,之后,可以对第一MPM列表中的那些模式应用重新排序。

a)在一个示例中,可以将平面和/或DC模式放到列表中的不同位置。

ii.在一个示例中,为了生成第二MPM列表,可以首先生成第一MPM列表,之后,可以替换列表中一种或多种模式。

a)在一个示例中,可以用角度模式(例如,水平或垂直)替换平面和/或DC模式。

b)在一个示例中,可以由垂直模式和/或水平模式替换除垂直模式和/或水平模式之外的一些模式。

b.在一个示例中,第二MPM列表可以遵守第一MPM列表的逻辑,但用角度模式替换一些非角度模式。

c.在一个示例中,可以在SPS/VPS/PPS/图片标头/条带标头/片组标头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU等级的组中信令通知是否允许超过一个MPM列表。

d.在一个示例中,可以向解码器预定义或信令通知所允许MPM列表的数量。

i.在一个示例中,MPM列表的数量是固定值,例如,2。

ii.在一个示例中,可以在SPS/VPS/PPS/图片标头/条带标头/片组标头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU等级的组中向解码器信令通知MPM列表的数量。

e.在一个示例中,一个MPM列表用于自然内容编解码,另一个用于屏幕内容编解码。

f.在一个示例中,使用哪个MPM列表可以基于

i.视频内容(例如,屏幕内容或自然内容)

ii.在SPS/VPS/PPS/图片标头/条带标头/片组标头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU等级的组或其他视频单元中信令通知的消息。

a)在一个示例中,可以在条带标头中信令通知标志,以指示要为编解码常规帧内预测模式而选择的列表。

b)在一个示例中,MPM列表可以取决于告知视频内容信息,例如屏幕内容或相机捕获内容的消息。

iii.预测单元(PU)的位置

iv.当前块和/或其相邻块的块尺度

v.当前块和/或其相邻块的块形状

vi.当前块的相邻块的预测模式(帧内/帧间)

vii.当前块的相邻块的帧内预测模式

viii.当前块的相邻块的运动矢量

viiii.当前块的相邻块的QR-BDPCM模式的指示

x.当前块的变换类型的QR-BDPCM模式的指示(例如,由tu_mts_idx指示)

xi.当前块和/或其相邻块的当前量化参数

xii.颜色格式的指示(例如4:2:0、4:4:4)

xiii.编解码树结构

xiv.条带/片组类型和/或图片类型

2.可以在条带/片/图片/CU/LCU/LCU组/块级别切换MPM列表。是否切换MPM列表可以基于

a.视频内容(例如,屏幕内容或自然内容)

b.在SPS/VPS/PPS/图片标头/条带标头/片组标头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU等级的组中信令通知的消息

c.预测单元(PU)的位置

d.当前块和/或其相邻块的块尺度

e.当前块和/或其相邻块的块形状

f.当前块的相邻块的预测模式(帧内/帧间)

g.当前块的相邻块的帧内预测模式

h.当前块的相邻块的运动矢量

i.当前块的相邻块的QR-BDPCM模式的指示

j.当前块的变换类型的QR-BDPCM模式的指示(例如,由tu_mts_idx指示)

k.当前块和/或其相邻块的当前量化参数

l.颜色格式的指示(例如4:2:0、4:4:4)

m.编解码树结构

n.条带/片组类型和/或图片类型

O.颜色分量(例如亮度或色度)

3.在MPM列表的构建中,特定角度模式(例如,垂直模式和/或水平模式)可以始终在MPM列表中。

a.在一个示例中,该特定角度模式可以插入MPM列表中给定位置,例如第一个。

b.在一个示例中,垂直模式和水平模式可以始终按顺序在MPM列表中前两个位置。

c.在一个示例中,水平模式和垂直模式可以始终按顺序在MPM列表中前两个位置。

d.在一个示例中,MPM列表可以始终是{INTRA_ANGULAR50,INTRA_ANGULAR18,DC,平面,INTRA_ANGULAR34,INTRA_ANGULAR66}

e.在一个示例中,MPM列表可以始终是{INTRA_ANGULAR18,INTRA_ANGULAR50,平面,DC,INTRA_ANGULAR34,INTRA_ANGULAR66}

f.在一个示例中,MPM列表可以始终是{INTRA_ANGULAR50,INTRA_ANGULAR18,平面,DC,INTRA_ANGULAR34,INTRA_ANGULAR66}

g.在一个示例中,MPM列表可以始终是{平面,DC,INTRA_ANGULAR18,INTRA_ANGULAR50,INTRA_ANGULAR34,INTRA_ANGULAR66}。

h.在一个示例中,如果左侧相邻帧内模式和上方相邻帧内模式都不可用,则MPM列表可以是{INTRA_ANGULAR50,INTRA_ANGULAR18,DC,平面,INTRA_ANGULAR34,INTRA_ANGULAR66}

i.在一个示例中,如果左侧相邻帧内模式和上方相邻帧内模式都不可用,则MPM列表可以是{INTRA_ANGULAR50,INTRA_ANGULAR18,DC,平面,INTRA_ANGULAR34,INTRA_ANGULAR2}

j.在一个示例中,如果左侧相邻帧内模式和上方相邻帧内模式相同,且这种模式是非角度帧内模式,则MPM列表可以是{DC,平面,INTRA_ANGULAR50,INTRA_ANGULAR18,INTRA_ANGULAR34,INTRA_ANGULAR66}

k.在一个示例中,如果左侧相邻帧内模式和上方相邻帧内模式相同,且这种模式A是角度帧内模式,可以基于A的方向构建MPM列表。

i.在一个示例中,如果A>=2且A<=18,则MPM列表可以始终是{INTRA_ANGULAR18,INTRA_ANGULAR2,INTRA_ANGULAR50,DC,平面,INTRA_ANGULAR66}

ii.在一个示例中,如果A>=18且A<=34,则MPM列表可以始终是{INTRA_ANGULAR18,INTRA_ANGULAR34,INTRA_ANGULAR50,DC,平面,INTRA_ANGULAR2}

iii.在一个示例中,如果A>=34且A<=50,则MPM列表可以始终是{INTRA_ANGULAR50,INTRA_ANGULAR34,INTRA_ANGULAR18,DC,平面,INTRA_ANGULAR66}

iv.在一个示例中,如果A>=50且A<=66,则MPM列表可以始终是{INTRA_ANGULAR50,INTRA_ANGULAR66,INTRA_ANGULAR18,DC,平面,INTRA_ANGULAR34}

l.在一个示例中,左侧相邻帧内模式和上方相邻帧内模式是不同模式,它们之一为非角度模式。

i.在一个示例中,此外,MPM列表可以是{DC,平面,INTRA_ANGULAR50,INTRA_ANGULAR18,INTRA_ANGULAR34,INTRA_ANGULAR66}

m.在一个示例中,左侧相邻帧内模式和上方相邻帧内模式是不同模式,它们两者都是角度模式。

I.在一个示例中,左侧Max表示这两个帧内模式之间的最大值。

ii.在一个示例中,如果Max>=2且Max<=18,则MPM列表可以是{INTRA_ANGULAR18,INTRA_ANGULAR2,INTRA_ANGULAR50,DC,平面,INTRA_ANGULAR66}

iii.在一个示例中,如果Max>=18且Max<=34,则MPM列表可以是{INTRA_ANGULAR18,INTRA_ANGULAR34,INTRA_ANGULAR50,DC,平面,INTRA_ANGULAR2}

iv.在一个示例中,如果Max>=34且Max<=50,则MPM列表可以是{INTRA_ANGULAR50,INTRA_ANGULAR34,INTRA_ANGULAR18,DC,平面,INTRA_ANGULAR66}

v.在一个示例中,如果Max>=50且Max<=66,则MPM列表可以是{INTRA_ANGULAR50,INTRA_ANGULAR66,INTRA_ANGULAR18,DC,平面,INTRA_ANGULAR34}

N.在一个示例中,在MPM列表构建上的当前设计顶部,垂直模式和/或水平模式可以替代MPM列表中的一种现有模式。

i.在一个示例中,在MPM列表中,可以用垂直模式替代具有最接近垂直模式的方向的模式。

ii.在一个示例中,在MPM列表中,可以用水平模式替代具有最接近水平模式的方向的模式。

o.在一个示例中,MPM列表中垂直模式和/或水平模式的位置可以基于

i.在SPS/VPS/PPS/图片标头/条带标头/片组标头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU等级的组中信令通知的消息

ii.预测单元(PU)的位置。

iii.当前块和/或其相邻块的块尺度

iv.当前块和/或其相邻块的块形状

v.当前块的相邻块的预测模式(帧内/帧间)

vi.当前块的相邻块的帧内预测模式

vii.当前块的相邻块的运动矢量

viii.当前块的相邻块的QR-BDPCM模式的指示

ix.当前块的变换类型的QR-BDPCM模式的指示(例如,由tu_mts_idx指示)

x.当前块和/或其相邻块的当前量化参数

xi.颜色格式的指示(例如4:2:0、4:4:4)

xii.编解码树结构

xiii.条带/片组类型和/或图片类型

4.RDPCM的帧内模式可以设置为MPM列表中第一种模式之外的模式。在这种情况下,可以从一种帧内模式生成预测信号,存储的帧内模式可以彼此对应。存储的帧内模式可以用于预测相继编解码块的帧内模式。在一些实施方式中,存储的帧内模式可以与当前块的帧内预测过程中使用的帧内模式不同。

a.在一个示例中,RDPCM编解码块的帧内模式被设置为第二MPM候选(例如,对应于intra_luma_mpm_idx=0)

b.在一个示例中,RDPCM编解码块的帧内模式被设置为MPM列表上除第一个之外的任何MPM候选(例如,对应于intra_luma_mpm_idx=0)

C.在一个示例中,是否应用和/或如何应用以上方法可以基于

i.在SPS/VPS/PPS/图片标头/条带标头/片组标头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU等级的组中信令通知的消息

ii.预测单元(PU)的位置。

iii.当前块和/或其相邻块的块尺度

iv.当前块和/或其相邻块的块形状

v.当前块的相邻块的预测模式(帧内/帧间)

vi.当前块的相邻块的帧内预测模式

vii.当前块的相邻块的运动矢量

viii.当前块的相邻块的QR-BDPCM模式的指示

ix.当前块的变换类型的QR-BDPCM模式的指示(例如,由tu_mts_idx指示)

x.当前块和/或其相邻块的当前量化参数

xi.颜色格式的指示(例如4:2:0、4:4:4)

xii.编解码树结构

xiii.条带/片组类型和/或图片类型

5.平面模式的位置可以不始终是MPM列表中的第一个。

a.在一个示例中,可以将平面模式放到MPM列表中的最后位置。

b.在一个示例中,可以将平面模式放到MPM列表中除第一个之外的任何位置。

c.在一个示例中,可以不允许将平面模式放到MPM列表中的第一个位置。

d.在一个示例中,是否应用和/或如何应用以上方法可以基于

i.在SPS/VPS/PPS/图片标头/条带标头/片组标头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU等级的组中信令通知的消息ii.预测单元(PU)的位置。

iii.当前块和/或其相邻块的块尺度

iv.当前块和/或其相邻块的块形状

v.当前块的相邻块的预测模式(帧内/帧间)

vi.当前块的相邻块的帧内预测模式

vii.当前块的相邻块的运动矢量

viii.当前块的相邻块的QR-BDPCM模式的指示

ix.当前块的变换类型的QR-BDPCM模式的指示(例如,由tu_mts_idx指示)

x.当前块和/或其相邻块的当前量化参数

xi.颜色格式的指示(例如4:2:0、4:4:4)

xii.编解码树结构

xiii.条带/片组类型和/或图片类型

6.MPM索引(例如,intra_luma_mpm_idx)的二值化可以不使用截断一元二值化。

a.在一个示例中,MPM索引(例如,intra_luma_mpm_idx)的码字长度可以是固定的。

b.MPM索引(例如,intra_luma_mpm_idx)的信令可以使用阶次为K的Exp-Golomb二值化。

i.在一个示例中,K为整数(例如,2)并且可以基于

a)预测单元(PU)的位置。

b)当前块和/或其相邻块的块尺度

c)当前块和/或其相邻块的块形状

d)当前块的相邻块的预测模式(帧内/帧间)

e)当前块的相邻块的帧内预测模式

f)当前块的相邻块的运动矢量

g)当前块的相邻块的QR-BDPCM模式的指示

h)当前块的变换类型的QR-BDPCM模式的指示(例如,由tu_mts_idx指示)

i)当前块和/或其相邻块的当前量化参数

j)颜色格式的指示(例如4:2:0、4:4:4)

k)编解码树结构

l)条带/片组类型和/或图片类型

7.为了编解码列表中MPM候选的指示,可以编解码第一标志,接着为剩余索引。使用第一标志指示选择的帧内预测模式与列表中第一MPM候选相同还是不同。

a.intra_luma_not_planar_flag的语义可以被解释为帧内预测模式是否不是MPM列表中的第一个MPM候选,而不是被解释为其是否不是平面模式。

b.可选地,可以有条件地对第一标志编解码。

i.在一个示例中,如果该块表示屏幕内容,则可以不对第一标志编解码。

c.可选地,此外,如果选择的模式不是列表中的第一个MPM候选,可以进一步信令通知剩余MPM索引(例如,intra_luma_mpm_idx)的信令。

8.所提出的MPM列表构建过程中的垂直和水平帧内预测可以对应于在帧内预测过程中直接复制参考样点。

a.在一个示例中,可以通过直接复制同一列中的参考样点来生成垂直帧内预测。

b.在一个示例中,可以通过直接复制同一行中的参考样点来生成水平帧内预测。

c.在一个示例中,是否应用以上预测的指示可以基于

i.视频内容(例如,屏幕内容或自然内容)

ii.在SPS/VPS/PPS/图片标头/条带标头/片组标头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU等级的组中信令通知的消息

iii.预测单元(PU)的位置。

iv.当前块和/或其相邻块的块尺度

v.当前块和/或其相邻块的块形状

vi.当前块的相邻块的预测模式(帧内/帧间)

vii.当前块的相邻块的帧内预测模式

viii.当前块的相邻块的运动矢量

ix.当前块的相邻块的QR-BDPCM模式的指示

x.当前块的变换类型的QR-BDPCM模式的指示(例如,由tu_mts_idx指示)

xi.当前块和/或其相邻块的当前量化参数

xii.颜色格式的指示(例如4:2:0、4:4:4)

xiii.独立/双编解码树结构

xiv.条带/片组类型和/或图片类型

xv.颜色分量(例如,可以仅应用于色度分量或亮度分量)

9.以上方法还可以应用于其他帧内预测方法,例如仿射帧内预测方法(又称基于矩阵的帧内预测方法)、帧内子分割预测(ISP)、多参考线(MRL)等。

图13a和13b示出了视频处理的示范性方法的流程图。参考图13,方法1300包括,在步骤1302,基于当前视频块的相邻块的帧内模式构建帧内编解码模式的第一模式列表。方法1300还包括,在步骤1304,基于第一模式列表构建帧内编解码模式的第二模式列表。方法1300还包括,在步骤1306,使用第一模式列表或第二模式列表中的至少一个,针对当前视频块执行帧内模式编解码。

在一些实施方式中,其中第一模式列表和第二模式列表是MPM(最大可能模式)列表。在一些实施方式中,构建第二模式列表包括第一模式列表的重新排序模式。在一些实施方式中,构建第二模式列表包括替换第一模式列表的一种或多种模式。在一些实施方式中,第二模式列表具有与第一模式列表相同的逻辑。在一些实施方式中,该方法还包括:在当前视频块的比特流表示中包括是否允许第一模式列表和第二模式列表两者的指示。在一些实施方式中,基于SPS、VPS、PPS、图片标头、条带标头、片组标头、最大编解码单元(LCU)、编解码单元(CU)、LCU行、LCU组或其他视频单元中的消息确定是使用第一模式列表还是第二模式列表。在一些实施方式中,执行帧内模式编解码包括从第一模式列表切换到第二模式列表或者从第二模式列表切换到第一模式列表。在一些实施方式中,切换发生于条带、片、图片、CU、LCU、LCU组或块级别。在一些实施方式中,基于如下至少一项进行切换:a.视频内容,b.在SPS、VPS、PPS、图片标头、条带标头、片组标头、最大编解码单元(LCU)、编解码单元(CU)、LCU行、LCU组中信令通知的消息,c.预测单元(PU)的位置,d.当前视频块和/或相邻块的块尺度,e.当前视频块和/或相邻块的块形状,f.当前视频块的相邻块的预测模式,g.当前视频块的相邻块的帧内预测模式,h.当前视频块的相邻块的运动矢量,i.当前视频块的相邻块的QR-BDPCM模式的指示,j.当前视频块的变换类型的QR-BDPCM模式的指示,k.当前视频块和/或相邻块的当前量化参数,l.颜色格式的指示,m.编解码树结构,n.条带、片组标头和/或图片类型,或者o.颜色分量。在一些实施方式中,第一模式列表和第二模式列表的每个包括模式索引,并且不使用截断一元二值化进行模式索引的二值化。在一些实施方式中,应用第一模式列表和第二模式列表中的至少一个以执行帧内预测方法、仿射帧内预测方法、帧内子分割预测(ISP)或多参考线(MRL)。

参考图13b,方法1320包括基于当前视频块的相邻块的帧内模式构建帧内编解码模式的模式列表以包括候选模式,其中构建模式列表包括基于候选模式的类型在模式列表中的位置处定位候选模式。在一些实施方式中,定位候选模式包括在模式列表中的给定位置处定位特定角度模式。在一些实施方式中,定位候选模式包括按照顺序在模式列表中的前两个位置定位垂直模式和水平模式、或者水平模式和垂直模式。在一些实施方式中,定位候选模式包括将RDPCM(残差差分脉码调制)的帧内模式定位到模式列表中除第一位置之外的位置。在一些实施方式中,从帧内模式生成预测信号。在一些实施方式中,使用另一个帧内模式预测后续编解码块的帧内模式。在一些实施方式中,定位候选模式包括将平面模式定位到模式列表中除第一位置之外的位置。在一些实施方式中,模式列表包括模式索引,并且不使用截断一元二值化进行模式索引的二值化。在一些实施方式中,该方法还包括指示选择的帧内预测模式与模式列表中的第一候选模式相同还是不同。在一些实施方式中,该方法还包括通过复制同一列或同一行中的参考样点,基于模式列表生成帧内预测样点。在一些实施方式中,应用模式列表以执行帧内预测方法、仿射帧内预测方法、帧内子分割预测(ISP)或多参考线(MRL)。

图14是视频处理装置1200的框图。装置1200可用于实施本文所述的一种或多种方法。装置1200可包含在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置1200可包括一个或多个处理器1202、一个或多个存储器1204和视频处理硬件1206。处理器1202可以配置为实施本文中描述的一种或多种方法(包括,但不限于方法1100和1150)。(一个或多个)存储器1204可用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件1206可用于在硬件电路中实施本文件中描述的一些技术。

在一些实施例中,可以使用如结合图14所述的硬件平台上实现的装置来实施视频编解码方法。

图15是视频处理的示例方法1500的流程图。方法1500包括,在1502,针对视频的当前块和当前块的比特流表示之间的转换构建当前块的帧内编解码模式的两个或更多最大可能模式(MPM)列表,其中两个或更多MPM列表至少包括利用第一构建方法构建的第一MPM列表以及利用与第一构建方法不同的第二构建方法构建的第二MPM列表;以及在1504,使用从构建的两个或更多MPM列表选择的一个MPM列表执行转换。

在一些示例中,第一MPM列表是当前块的当前MPM列表,第二MPM列表是从第一MPM列表导出的。

在一些示例中,首先生成第一MPM列表,通过对第一MPM列表中的那些模式重新排序来生成第二MPM列表。

在一些示例中,将平面模式和/或DC模式放到第一MPM列表中的不同位置。

在一些示例中,首先生成第一MPM列表,通过替代第一MPM列表中的一个或多个模式来生成第二MPM列表。

在一些示例中,利用角度模式替代平面模式和/或DC模式。

在一些示例中,角度模式包括水平模式和垂直模式的至少一种。

在一些示例中,利用水平模式和/或垂直模式替代第一MPM列表中除该水平模式和垂直模式之外的一些模式。

在一个示例中,第二MPM列表遵守第一MPM列表的逻辑,其中用角度模式替代一些非角度模式。

在一些示例中,在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、图片标头、条带标头、片组标头、最大编解码单元(LCU)、编解码单元(CU)、LCU行和LCU组级别的至少一者中信令通知是否允许两个或更多MPM列表。

在一些示例中,向解码器预定义或信令通知所允许MPM列表的数量。

在一些示例中,MPM列表的数量是固定值。

在一些实施例中,固定值是2。

在一些示例中,在VPS、SPS、PPS、图片标头、条带标头、片组标头、LCU、CU、LCU行和LCU组级别的至少一者中信令通知MPM列表的数量。

在一些示例中,第一MPM列表和第二MPM列表之一用于自然内容编解码,另一个用于屏幕内容编解码。

在一些示例中,选择哪个MPM列表取决于如下一项或多项:

i.包括屏幕内容和自然内容中至少一者的视频内容;

ii.在VPS、SPS、PPS、图片标头、条带标头、片组标头、LCU、CU、LCU行、LCU组或其他视频单元中信令通知的消息;

iii.预测单元(PU)的位置;

iv.当前块和/或其相邻块的块尺度;

v.当前块和/或其相邻块的块形状;

vi.预测模式,包括当前块的相邻块的帧内模式和帧间模式;

vii.当前块的相邻块的帧内预测模式;

viii.当前块的相邻块的运动矢量;

ix.当前块的相邻块的量化残差块差分脉码调制(QR-BDPCM)模式的指示;

x.当前块的变换类型的QR-BDPCM模式的指示;

xi.当前块和/或其相邻块的当前量化参数;

xii.当前块的颜色格式的指示;

xiii.编解码树结构;

xiv.条带、片组类型和/或图片类型。

在一些示例中,在条带标头中信令通知标志,以指示要为编解码常规帧内预测模式而选择的列表。

在一些示例中,MPM列表取决于指示视频内容信息的消息,视频内容信息包括屏幕内容或相机捕获内容的至少一者。

在一些示例中,当前块的颜色格式为4:2:0或4:4:4。

在一些示例中,可以允许在条带、片、图片、CU、LCU、LCU组或块级别切换MPM列表。

在一些示例中,是否切换MPM列表取决于如下至少一项:

xvi.包括屏幕内容和自然内容中至少一者的视频内容;

xvii.在VPS、SPS、PPS、图片标头、条带标头、片组标头、LCU、CU、LCU行、LCU组或其他视频单元中信令通知的消息;

xviii.预测单元(PU)的位置;

xix.当前块和/或其相邻块的块尺度;

xx.当前块和/或其相邻块的块形状;

xxi.预测模式,包括当前块的相邻块的帧内模式和帧间模式;

xxii.当前块的相邻块的帧内预测模式;

xxiii.当前块的相邻块的运动矢量;

xxiv.当前块的相邻块的量化残差块差分脉码调制(QR-BDPCM)模式的指示;

xxv.当前块的变换类型的QR-BDPCM模式的指示;

xxvi.当前块和/或其相邻块的当前量化参数;

xxvii.当前块的颜色格式的指示;

xxviii.编解码树结构;

xxix.条带、片组类型和/或图片类型;

xxx.包括亮度分量和色度分量的至少一个的颜色分量;

在一些示例中,在构建MPM列表期间,特定角度模式始终在MPM列表中。

在一些示例中,特定角度模式为垂直模式和/或水平模式。

在一些示例中,该特定角度模式被插入MPM列表中给定位置处。

在一些示例中,该特定角度模式被插入MPM列表中第一位置处。

在一些示例中,垂直模式和水平模式始终按顺序在MPM列表中前两个位置。

在一些示例中,水平模式和垂直模式始终按顺序在MPM列表中前两个位置。

在一些示例中,MPM列表始终是{INTRA_ANGULAR50,INTRA_ANGULAR18,DC,平面,INTRA_ANGULAR34,INTRA_ANGULAR66}。

在一些示例中,MPM列表始终是{INTRA_ANGULAR18,INTRA_ANGULAR50,平面,DC,INTRA_ANGULAR34,INTRA_ANGULAR66}。

在一些示例中,MPM列表始终是{INTRA_ANGULAR50,INTRA_ANGULAR18,平面,DC,INTRA_ANGULAR34,INTRA_ANGULAR66}。

在一些示例中,MPM列表始终是{平面,DC,INTRA_ANGULAR18,INTRA_ANGULAR50,INTRA_ANGULAR34,INTRA_ANGULAR66}。

在一些示例中,如果当前块的左侧相邻帧内模式和上方相邻帧内模式都不可用,则MPM列表是{INTRA_ANGULAR50,INTRA_ANGULAR18,DC,平面,INTRA_ANGULAR34,INTRA_ANGULAR66}。

在一些示例中,如果当前块的左侧相邻帧内模式和上方相邻帧内模式都不可用,则MPM列表是{INTRA_ANGULAR50,INTRA_ANGULAR18,DC,平面,INTRA_ANGULAR34,INTRA_ANGULAR2}。

在一些示例中,如果当前块的左侧相邻帧内模式和上方相邻帧内模式相同,且这种模式是非角度帧内模式,则MPM列表是{DC,平面,INTRA_ANGULAR50,INTRA_ANGULAR18,INTRA_ANGULAR34,INTRA_ANGULAR66}。

在一些示例中,如果当前块的左侧相邻帧内模式和上方相邻帧内模式相同,且这种模式A是角度帧内模式,则基于这种模式A的方向构建MPM列表。

在一些示例中,如果A>=2且A<=18,则MPM列表始终是{INTRA_ANGULAR18,INTRA_ANGULAR2,INTRA_ANGULAR50,DC,平面,INTRA_ANGULAR66}。

在一些示例中,如果A>=18且A<=34,则MPM列表始终是{INTRA_ANGULAR18,INTRA_ANGULAR34,INTRA_ANGULAR50,DC,平面,INTRA_ANGULAR2}。

在一些示例中,如果A>=34且A<=50,则MPM列表始终是{INTRA_ANGULAR50,INTRA_ANGULAR34,INTRA_ANGULAR18,DC,平面,INTRA_ANGULAR66}。

在一些示例中,如果A>=50且A<=66,则MPM列表始终是{INTRA_ANGULAR50,INTRA_ANGULAR66,INTRA_ANGULAR18,DC,平面,INTRA_ANGULAR34}。

在一些示例中,如果当前块的左侧相邻帧内模式和上方相邻帧内模式是不同模式,且它们之一是非角度模式,则MPM列表是{DC,平面,INTRA_ANGULAR50,INTRA_ANGULAR18,INTRA_ANGULAR34,INTRA_ANGULAR66}。

在一些示例中,当前块的左侧相邻帧内模式和上方相邻帧内模式是不同模式,且它们两者都是角度模式,则其中Max表示这两种帧内模式之间的最大值。

在一些示例中,如果Max>=2且Max<=18,则MPM列表是{INTRA_ANGULAR18,INTRA_ANGULAR2,INTRA_ANGULAR50,DC,平面,INTRA_ANGULAR66}。

在一些示例中,如果Max>=18且Max<=34,则MPM列表可以是{INTRA_ANGULAR18,INTRA_ANGULAR34,INTRA_ANGULAR50,DC,平面,INTRA_ANGULAR2}。

在一些示例中,如果Max>=34且Max<=50,则MPM列表可以是{INTRA_ANGULAR50,INTRA_ANGULAR34,INTRA_ANGULAR18,DC,平面,INTRA_ANGULAR66}。

在一些示例中,如果Max>=50且Max<=66,则MPM列表可以是{INTRA_ANGULAR50,INTRA_ANGULAR66,INTRA_ANGULAR18,DC,平面,INTRA_ANGULAR34}。

在一些示例中,MPM列表中的一种现有模式被垂直模式和/或水平模式替代。

在一些示例中,MPM列表中与垂直模式具有最接近方向的一种现有模式被垂直模式替代。

在一些示例中,MPM列表中与水平模式具有最接近方向的一种现有模式被水平模式替代。

在一些示例中,MPM列表中垂直模式和/或水平模式的位置取决于如下至少一项:

xiv.在VPS、SPS、PPS、图片标头、条带标头、片组标头、LCU、CU、LCU行、LCU组或其他视频单元中信令通知的消息;

xv.预测单元(PU)的位置;

xvi.当前块和/或其相邻块的块尺度;

xvii.当前块和/或其相邻块的块形状;

xviii.预测模式,包括当前块的相邻块的帧内模式和帧间模式;

xix.当前块的相邻块的帧内预测模式;

xx.当前块的相邻块的运动矢量;

xxi.当前块的相邻块的量化残差块差分脉码调制(QR-BDPCM)模式的指示;

xxii.当前块的变换类型的QR-BDPCM模式的指示;

xxiii.当前块和/或其相邻块的当前量化参数;

xxiv.当前块的颜色格式的指示;

xxv.编解码树结构;

xxvi.条带、片组类型和/或图片类型。

在一些示例中,在当前块是残差差分脉码调制(RDPCM)编解码块时,RDPCM编解码块的帧内模式被设置为MPM列表中除第一模式之外的模式。

在一些示例中,RDPCM编解码块的帧内模式被设置为MPM列表中的第二MPM模式,该模式具有intra_luma_mpm_idx=0的指示。

在一些示例中,RDPCM编解码块的帧内模式被设置为MPM列表中除第一模式之外的任何模式,该模式具有intra_luma_mpm_idx=0的指示。

在一些示例中,是否和/或如何设置RDPCM编解码块的帧内模式取决于以下至少一项:

xiv.在VPS、SPS、PPS、图片标头、条带标头、片组标头、LCU、CU、LCU行、LCU组或其他视频单元中信令通知的消息;

xv.预测单元(PU)的位置;

xvi.当前块和/或其相邻块的块尺度;

xvii.当前块和/或其相邻块的块形状;

xviii.预测模式,包括当前块的相邻块的帧内模式和帧间模式;

xix.当前块的相邻块的帧内预测模式;

xx.当前块的相邻块的运动矢量;

xxi.当前块的相邻块的量化残差块差分脉码调制(QR-BDPCM)模式的指示;

xxii.当前块的变换类型的QR-BDPCM模式的指示;

xxiii.当前块和/或其相邻块的当前量化参数;

xxiv.当前块的颜色格式的指示;

xxv.编解码树结构;

xxvi.条带、片组类型和/或图片类型。

在一些示例中,平面模式的位置不始终是MPM列表中的第一位置。

在一些示例中,将平面模式放到MPM列表中的最后位置。

在一些示例中,将平面模式放到MPM列表中除第一位置之外的任何位置。

在一些示例中,不允许将平面模式放到MPM列表中的第一位置。

在一些示例中,是否和/或如何设置平面模式的位置取决于以下至少一项:

xiv.在VPS、SPS、PPS、图片标头、条带标头、片组标头、LCU、CU、LCU行、LCU组或其他视频单元中信令通知的消息;

xv.预测单元(PU)的位置;

xvi.当前块和/或其相邻块的块尺度;

xvii.当前块和/或其相邻块的块形状;

xviii.预测模式,包括当前块的相邻块的帧内模式和帧间模式;

xix.当前块的相邻块的帧内预测模式;

xx.当前块的相邻块的运动矢量;

xxi.当前块的相邻块的量化残差块差分脉码调制(QR-BDPCM)模式的指示;

xxii.当前块的变换类型的QR-BDPCM模式的指示;

xxiii.当前块和/或其相邻块的当前量化参数;

xxiv.当前块的颜色格式的指示;

xxv.编解码树结构;

xxvi.条带、片组类型和/或图片类型。

在一些示例中,MPM列表中MPM索引的二值化不使用截断一元二值化。

在一些示例中,MPM索引为intra_luma_mpm_idx。

在一些示例中,MPM索引的码字长度是固定的。

在一些示例中,MPM索引的信令通知使用具有阶次K的Exp-Golomb二值化,K为整数。

在一些示例中,K为2。

在一些示例中,K取决于如下至少一项:

xiii.预测单元(PU)的位置;

xiv.当前块和/或其相邻块的块尺度;

xv.当前块和/或其相邻块的块形状;

xvi.预测模式,包括当前块的相邻块的帧内模式和帧间模式;

xvii.当前块的相邻块的帧内预测模式;

xviii.当前块的相邻块的运动矢量;

xix.当前块的相邻块的量化残差块差分脉码调制(QR-BDPCM)模式的指示;

xx.当前块的变换类型的QR-BDPCM模式的指示;

xxi.当前块和/或其相邻块的当前量化参数;

xxii.当前块的颜色格式的指示;

xxiii.编解码树结构;

xxiv.条带、片组类型和/或图片类型。

在一些示例中,对MPM列表中的MPM候选的指示编解码,其中对第一标志编解码,接着是MPM候选的剩余MPM索引,第一标志用于指示选择的帧内预测模式与MPM列表中的第一MPM候选相同还是不同。

在一些示例中,第一标志为intra_luma_not_planar_flag,其中intra_luma_not_planar_flag的语义被解释为所选择帧内预测模式是否不是MPM列表中的第一个MPM候选,而不是被解释为其是否不是平面模式。

在一些示例中,该第一标志被有条件地编解码。

在一些示例中,如果当前块具有屏幕内容,则不对第一标志编解码。

在一些示例中,如果选择的帧内预测模式不是MPM列表中的第一MPM候选,则进一步信令通知剩余的MPM索引。

在一些示例中,MPM列表构建过程包括垂直帧内预测和/或水平帧内预测,它们对应于在帧内预测过程中直接复制参考样点。

在一些示例中,通过直接复制同一列中的参考样点来生成垂直帧内预测。

在一些示例中,通过直接复制同一行中的参考样点来生成水平帧内预测。

在一些示例中,应用垂直帧内预测和/或水平帧内预测取决于以下至少一项:

xvi.包括屏幕内容和自然内容中至少一者的视频内容;

xvii.在VPS、SPS、PPS、图片标头、条带标头、片组标头、LCU、CU、LCU行、LCU组或其他视频单元中信令通知的消息;

xviii.预测单元(PU)的位置;

xix.当前块和/或其相邻块的块尺度;

xx.当前块和/或其相邻块的块形状;

xxi.预测模式,包括当前块的相邻块的帧内模式和帧间模式;

xxii.当前块的相邻块的帧内预测模式;

xxiii.当前块的相邻块的运动矢量;

xxiv.当前块的相邻块的量化残差块差分脉码调制(QR-BDPCM)模式的指示;

xxv.当前块的变换类型的QR-BDPCM模式的指示;

xxvi.当前块和/或其相邻块的当前量化参数;

xxvii.当前块的颜色格式的指示;

xxviii.编解码树结构;

xxix.条带、片组类型和/或图片类型;

xxx.包括亮度分量和色度分量的至少一个的颜色分量;

在一些示例中,第一构建方法和/或第二构建方法还包括仿射帧内预测方法、基于矩阵的帧内预测方法、帧内子分割预测(ISP)和多参考线(MRL)的至少一种。

在一些示例中,当前块的颜色格式为4:2:0或4:4:4。

在一些示例中,该转换由比特流表示生成视频的当前块。

在一些示例中,该转换由视频的当前块生成比特流表示。

从前述内容可知,将要认识到,本文已经出于例示的目的描述了本文公开的技术的具体实施例,但可以做出各种修改而不脱离所公开技术的范围。因此,除了所附权利要求之外,本文公开的技术不受限制。

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

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

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

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

意在将说明书连同附图仅视为示范性的,其中示范性表示示例。如本文所用,单数形式“一”、“一个”和“该”旨在同样包括复数形式,除非上下文另外明确指出。此外,使用“或”意在包括“和/或”,除非上下文明确做出其他表述。

虽然本专利文件包含许多细节,但不应将其解释为对任何发明或权利要求范围的限制,而应解释为对特定发明的特定实施例专有特征的描述。本专利文件在单独实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反地,在单个实施例的上下文中描述的各种特征也可单独地或者以任何合适的子组合的形式在多个实施例中实现。此外,虽然某些特征可能在上面被描述为以某些组合来起作用并且甚至最初也这样地来要求保护,但是要求保护的组合的一个或多个特征在某些情况下可从该组合中去除,并且要求保护的组合可涉及子组合或子组合的变型。

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

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

51页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:视频编解码中的缩放方法

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类