调色板模式使用指示的独立编解码

文档序号:75082 发布日期:2021-10-01 浏览:28次 >En<

阅读说明:本技术 调色板模式使用指示的独立编解码 (Independent encoding and decoding of palette mode usage indication ) 是由 朱维佳 张莉 许继征 张凯 刘鸿彬 王悦 于 2020-02-24 设计创作,主要内容包括:描述了用于调色板模式编解码的设备、系统和方法。用于视频处理的示例性方法包括:进行视频的视频区域的块与视频的比特流表示之间的转换。根据第一格式规则以及第二格式规则来处理比特流表示,该第一格式规则指定是否对块信令通知对调色板模式的使用的第一指示,该第二格式规则指定第一指示相对于对块的预测模式的使用的第二指示的位置。(An apparatus, system, and method for palette mode codec are described. An exemplary method for video processing comprises: a conversion is made between blocks of a video region of the video and a bitstream representation of the video. The bitstream representation is processed according to a first format rule specifying whether the block is signaled with a first indication of use of the palette mode and according to a second format rule specifying a position of the first indication relative to a second indication of use of the prediction mode of the block.)

调色板模式使用指示的独立编解码

相关申请的交叉引用

根据适用专利法和/或适用于巴黎公约的规则,本申请及时要求2019年2月24日提交的国际专利申请No.PCT/CN2019/075994、2019年3月8日提交的国际专利申请No.PCT/CN2019/077454、2019年4月9日提交的国际专利申请No.PCT/CN2019/081863、2019年7月20日提交的国际专利申请No.PCT/CN2019/096933、2019年7月23日提交的国际专利申请No.PCT/CN2019/097288、以及2019年7月29日提交的国际专利申请No.PCT/CN2019/098204的优先权和权益。出于美国法律的所有目的,上述申请的全部公开作为本申请公开的一部分通过引用并入。

技术领域

本文件涉及视频和图像编解码技术。

背景技术

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

发明内容

所公开的技术可以由其中使用调色板模式编解码的视频或图像解码器或编码器实施例使用。

在一个示例方面,公开了一种视频处理方法。该方法包括:在视频的视频区域的块与视频的比特流表示之间进行转换。根据第一格式规则以及第二格式规则来处理比特流表示,第一格式规则指定是否对块信令通知对调色板模式的使用的第一指示,第二格式规则指定第一指示相对于对块的预测模式的使用的第二指示的位置。

在一个示例方面,公开了一种视频处理方法。该方法包括:对于视频中视频区域的块和视频的比特流表示之间的转换,基于一个或多个允许的至少包括块的调色板模式的预测模式来确定预测模式。根据预测模式来确定调色板模式的使用的指示。该方法还包括基于一个或多个允许的预测模式进行转换。

在另一个示例方面,公开了一种视频处理方法。该方法包括:进行视频的块和视频的比特流表示之间的转换。根据格式规则来处理比特流表示,该格式规则指定彼此相互依赖地信令通知的对调色板模式的使用的第一指示和对帧内块复制(IBC)模式的使用的第二指示。

在另一个示例方面,公开了一种视频处理方法。该方法包括:对于视频的块和视频的比特流表示之间的转换,基于块的尺寸,确定在比特流表示中对调色板模式的使用的指示的存在;以及基于确定进行转换。

在另一个示例方面,公开了一种视频处理方法。该方法包括:对于视频的块与视频的比特流表示之间的转换,基于块的尺寸,确定在比特流表示中对帧内块复制(IBC)模式的使用的指示的存在;以及基于确定进行转换。

在另一个示例方面,公开了一种视频处理方法。该方法包括:对于视频的块和视频的比特流表示之间的转换,基于包含块的视频区域的第二指示,确定块是否允许调色板模式;以及基于确定进行转换。

在另一个示例方面,公开了一种视频处理方法。该方法包括:对于视频的块和视频的比特流表示之间的转换,基于包含块的视频区域的第二指示,确定块是否允许帧内块复制(IBC)模式,以及基于确定进行转换。

在另一个示例方面,公开了一种视频处理方法。该方法包括:确定调色板模式将被用于处理变换单元、编解码块或区域,调色板模式的使用与预测模式分开被编解码,以及执行对变换单元、编解码块或使用调色板模式的区域的进一步处理。

在另一个示例方面,公开了一种视频处理方法。该方法包括:对于当前视频块,确定与调色板模式的一个调色板条目相关联的样点具有不同于与当前视频块相关联的第二比特深度的第一比特深度,并且至少基于一个调色板条目,执行针对当前视频块的进一步处理。

在另一个示例方面,公开了另一种视频处理方法。该方法包括:在视频的图片的当前视频块与视频的比特流表示之间进行转换,其中,在该转换中,在比特流表示中信令通知或者基于当前视频块的编解码条件导出关于在该转换中是否使用帧内块复制模式的信息;其中,帧内块复制模式包括对来自图片中另一视频块的当前视频块进行编解码。

在又一个示例方面,公开了另一种视频处理方法。该方法包括:确定在视频的图片的当前视频块的转换期间是否将应用解块滤波器,其中,使用调色板模式编解码来对当前视频块进行编解码,其中使用少于当前视频块的总像素的代表性样点值来表示当前视频块,以及在确定要应用解块滤波器的情况下,进行转换以使得应用解块滤波器。

在又一个示例方面,公开了另一种视频处理方法。该方法包括:确定在视频的图片的当前视频块与视频的比特流表示之间的转换期间使用的量化或逆量化过程,其中,使用调色板模式编解码对当前视频块进行编解码,其中使用少于当前视频块的总像素的代表性样点值来表示当前视频块,以及基于确定量化或逆量化过程来进行转换。

在又一个示例方面,公开了另一种视频处理方法。该方法包括:对于包括多个视频块的视频的当前视频块和视频的比特流表示之间的转换,确定当前视频块是调色板编解码的块;基于该确定,通过将当前视频块视为帧内编解码的块来执行最可能的模式的列表构建过程,并基于列表构建过程的结果进行转换;其中使用调色板或表示样点值对调色板编解码的块进行编解码或解码。

在又一个示例方面,公开了另一种视频处理方法。该方法包括:

在又一个示例方面,公开了另一种视频处理方法。该方法包括:对于包括多个视频块的视频的当前视频块和视频的比特流表示之间的转换,确定当前视频块是调色板编解码的块;基于该确定,通过将当前视频块视为非帧内编解码的块来执行最可能的模式的列表构建过程,并基于列表构建过程的结果进行转换;其中使用调色板或表示样点值对调色板编解码的块进行编解码或解码。

在又一个示例方面,公开了另一种视频处理方法。该方法包括:对于包括多个视频块的视频的当前视频块和视频的比特流表示之间的转换,确定当前视频块是调色板编解码的块;基于该确定,通过将当前视频块视为不可用块来执行列表构建过程,并基于列表构建过程的结果进行转换;其中使用调色板或表示样点值对调色板编解码的块进行编解码或解码。

在又一个示例方面,公开了另一种视频处理方法。该方法包括:在当前视频块和当前视频块的比特流表示之间的转换期间,确定当前视频块是调色板编解码的块,基于当前视频块确定是调色板编解码的块,确定用于转换的上下文编解码的二进制位的范围;以及根据上下文编解码的二进制位的范围进行转换。

在又一个示例方面,上述方法可以由包括处理器的视频编码器装置实现。

在又一个示例方面,这些方法可以以处理器可执行指令的形式体现并存储在计算机可读程序介质上。

在本文件中进一步描述了这些以及其他方面。

附图说明

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

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

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

图4示出了水平和垂直遍历扫描的示例。

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

图6是视频处理装置的示例的框图。

图7示出了视频编码器的示例实现方式的框图。

图8是用于视频处理方法的示例的流程图。

图9示出了涉及滤波器开/关决策和强/弱滤波器选择的像素的示例。

图10示出了四个模式的二值化的示例。

图11示出了四个模式的二值化的示例。

图12示出了67个帧内模式预测方向的示例。

图13示出了相邻视频块的示例。

图14示出了ALF滤波器形状的示例(色度:5×5菱形,亮度:7×7菱形)。

图15(a)示出了用于垂直梯度的子样点拉普拉斯计算(Laplacian calculation)的示例。

图15(b)示出了用于水平梯度的子样点拉普拉斯计算的示例。

图15(c)示出了用于对角梯度的子样点拉普拉斯计算的示例。

图15(d)示出了用于对角梯度的子样点拉普拉斯计算的示例。

图16示出了在虚拟边界处的修改的块分类的示例。

图17示出了针对虚拟边界处的亮度分量的修改的ALF滤波的示例。

图18示出了用于EO中的像素分类的四个1-D 3像素图案的示例。

图19示出了四个频带被分组在一起并且由其起始频带位置表示的示例。

图20示出了在CIIP权重推导中使用的顶部和左侧相邻块的示例。

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

图22示出了4×4块的扫描顺序的示例。

图23示出了4×4块的扫描顺序的另一示例。

图24是其中可以实现所公开的技术的示例视频处理系统的框图。

图25是根据本技术的用于视频处理的方法的流程图表示。

图26是根据本技术的用于视频处理的方法的流程图表示。

图27是根据本技术的用于视频处理的另一种方法的另一流程图表示。

图28是根据本技术的用于视频处理的另一种方法的另一流程图表示。

图29是根据本技术的用于视频处理的另一种方法的另一流程图表示。

图30是根据本技术的用于视频处理的另一种方法的另一流程图表示。

图31是根据本技术的用于视频处理的另一种方法的又一流程图表示。

具体实施方式

本文件提供了可由图像或视频比特流的解码器用来改善解压缩或解码的数字视频或图像的质量的各种技术。为了简洁起见,术语“视频”在本文中用于包括图片序列(传统上称为视频)和单个图像。此外,视频编码器还可在编码过程期间实现这些技术,以便重建用于进一步编码的解码帧。

在本文件中使用章节标题是为了易于理解,并且不将实施例和技术限于相应的章节。这样,一个部分的实施例可以与其他部分的实施例组合。

1.综述

该文件涉及视频编解码技术。具体地,它涉及运动矢量调色板编解码,其中在视频编解码中采用基于基色的表示。它可以应用于现有的视频编解码标准(例如HEVC),或者最终确定的标准(通用视频编解码)。它也可能适用于未来的视频编解码标准或视频编码器。

2.初步讨论

视频编解码标准主要通过公知的ITU-T和ISO/IEC标准的发展而发展。ITU-T制作了H.261和H.263,ISO/IEC制作了MPEG-1和MPEG-4 Visual,这两个组织共同制作了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%比特率。

图7是视频编码器的示例实现方式的框图。图7示出了编码器实现方式具有内置的反馈路径,视频编码器还在其中执行视频解码功能(重建视频数据的压缩表示以用于下一个视频数据的编码)

2.1帧内块复制

HEVC屏幕内容编解码扩展(HEVC-SCC)和当前VVC测试模型(VTM-4.0)已采用了帧内块复制(IBC),又称当前图片参考。IBC将运动补偿的概念从帧间编解码扩展到了帧内编解码。如图1所示,当应用IBC时,当前块由同一图片中的参考块预测。在对当前块进行编解码或解码之前,必须已经重建了参考块中的样点。尽管IBC对于大多数相机捕获的序列而言效率不高,但它示出了屏幕内容的显着编解码增益。原因是屏幕内容图片中有很多重复的模式,诸如图标和文本字符。IBC可以有效地消除这些重复模式之间的冗余。在HEVC-SCC中,如果选择当前图片作为其参考图片,则帧间编解码的编解码单元(CU)可以应用IBC。在这种情况下,MV被重命名为块矢量(BV),并且BV始终具有整数像素精度。为了与主配置文件HEVC兼容,当前图片在解码图片缓冲器(Decoded Picture Buffer,DPB)中被标记为“长期”参考图片。应当注意,类似地,在多视图/3D视频编解码标准中,视图间参考图片也被标记为“长期”参考图片。

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

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

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

在HEVC的屏幕内容编解码扩展中,当块使用当前图片作为参考时,应确保整个参考块在可用的重建区域内,如说明书中的以下文本所示(粗体):

变量offsetX和offsetY的推导如下:

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

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

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

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

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

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

-(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 (8-108)

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

2.3.VVC测试模型中的IBC

在当前的VVC测试模型(例如VTM-4.0设计)中,整个参考块应与当前的编解码树单元(CTU)重叠,且不与当前块重叠。因此,不需要填充参考或预测块。IBC标志被编解码为当前CU的预测模式。因此,每个CU总共存在三种预测模式:MODE_INTRA\MODE_INTER和MODE_IBC。

2.3.1.IBC Merge模式

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

●步骤1:推导空域候选

●步骤2:插入HMVP候选

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

在空域Merge候选的推导中,在位于附图描绘的位置的候选当中选择最多四个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候选。

注意,可以将无效的Merge候选插入到IBC Merge列表中。

2.3.2IBC 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列表中。

2.4调色板模式(Palette Mode)

调色板模式背后的基本思想是CU中的样点由一小组代表性颜色值表示。该组称为调色板。也可以通过信令通知在其后跟随(可能是量化的)分量值的逸出符号(escapesymbol)来指示在调色板之外的样点。这在图2中示出。

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

在HEVC-SCC的调色板模式中,预测方式用于编解码调色板和索引图。

2.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中示出。使用零的游程长度(run-length)编解码发送重用标志。此后,使用零阶的指数Golomb代码信令通知新调色板的数量。最后,信令通知新调色板条目的分量值(component value)。

2.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重建调色板索引之后,如果样点仅具有与其相关联的单个分量,则仅使用调色板条目的第一个分量。信令的唯一区别在于逸出分量值。对于每个逸出样点,信令通知的逸出分量值的数量可能会有所不同,具体取决于与该样点相关联的分量的数量。

在VVC中,双树编解码结构用于对帧内条带进行编解码,因此亮度分量和两个色度分量可能具有不同的调色板和调色板索引。另外,两个色度分量共享相同的调色板和调色板索引。

2.6VVC中的解块方案

注意,在以下描述中,pNM表示相对于垂直边缘的第M行中的左侧第N个样点、或相对于水平边缘的第M列中的顶侧第N个样点,qNM表示相对于垂直边缘的第M行的右侧第N个样点、或相对于水平边缘的第M列的底侧第N个样点。pNM和qNM的示例在图9中示出。

注意,在以下描述中,pN表示相对于垂直边缘的行中的左侧第N个样点、或相对于水平边缘的列中的顶侧第N个样点,qN表示相对于垂直边缘的行中的右侧第N个样点、或者相对于水平边缘的行中的底侧第N个样点。

滤波器开/关决策以四行为单元进行。图9示出了涉及滤波器开/关决策的像素。前四行的两个红色框中的6个像素用于确定4行的滤波器开/关。后四行的两个红色框中的6个像素用于确定后四行的滤波器开/关。

在一些实施例中,首先对图片中的垂直边缘进行滤波。然后,将图片中的水平边缘与通过垂直边缘滤波过程修改的样点作为输入进行滤波。每个CTU的CTB中的垂直边缘和水平边缘分别以编解码单元为基础进行处理。从编解码块左手侧的边缘开始以其几何顺序穿过边缘朝向编解码块的右手侧对编解码单元中的编解码块的垂直边缘进行滤波。从编解码块顶部的边缘开始以其几何顺序穿过边缘朝向编解码块的底部开始对编解码单元中的编解码块的水平边缘进行滤波。

2.6.1边界决策

滤波被应用于8x8的块边界。另外,它必须是变换块边界或编解码子块边界(例如,由于使用仿射运动预测(Affine motion prediction,ATMVP))。对于那些没有这种边界的将禁用滤波器。

2.6.2边界强度计算

对于变换块边界/编解码子块边界,如果其位于8x8网格中,则可以对其进行滤波并且将对该边缘的bS[xDi][yDj](其中[xDi][yDj]表示坐标)的设置定义如下:

–如果样点p0或q0在以帧内预测模式进行编解码的编解码单元的编解码块中,则将bS[xDi][yDj]设置为等于2。

–否则,如果块边缘也是变换块边缘,并且样点p0或q0在包含一个或多个非零变换系数级别的变换块中,则将bS[xDi][yDj]设置为等于1。

–否则,如果包含样点p0的编解码子块的预测模式与包含样点q0的编解码子块的预测模式不同,则将bS[xDi][yDj]设置为等于1。

–否则,如果以下一个或多个条件为真,则将bS[xDi][yDj]设置为等于1:

–包含样点p0的编解码子块和包含样点q0的编解码子块均以IBC预测模式进行编解码,并且用于两个编解码子块的预测的运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一亮度样点为单位)。

–对于包含样点p0的编解码子块的预测,使用与包含样点q0的编解码子块的预测不同的参考图片或不同数量的运动矢量。

注1–确定用于两个编解码子块的参考图片是相同还是不同,仅取决于参考了哪些图片,而与使用参考图片列表0的索引还是使用参考图片列表1的索引来形成预测无关,并且也与参考图片列表中的索引位置是否不同无关。

注2–用于使用覆盖(xSb,ySb)的左上角样点预测编解码子块的运动矢量的数量等于PredFlagL0[xSb][ySb]+PredFlagL1[xSb][ySb]。

–使用一个运动矢量来预测包含样点p0的编解码子块,并且使用一个运动矢量来预测包含样点q0的编解码子块,并且所使用运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一亮度样点为单位)。

–使用两个运动矢量和两个不同的参考图片来预测包含样点p0的编解码子块,使用相同的两个参考图片的两个运动矢量来预测包含样点q0的编解码子块,并且对相同参考图片,用于两个编解码子块的预测的运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一亮度样点为单位)。

–使用相同参考图片的两个运动矢量来预测包含样点p0的编解码子块,使用相同参考图片的两个运动矢量来预测包含样点q0的编解码子块,并且以下两个条件均为真:

–用于两个编解码子块的预测中的列表0运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一亮度样点为单位),或者用于两个编解码子块的预测中的列表1的运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一亮度样点为单位)。

–用于预测包含样点p0的编解码子块的列表0运动矢量与用于预测包含样点q0的编解码子块的列表1运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一亮度样点为单位),或者,用于预测包含样点p0的编解码子块的列表1运动矢量与用于预测包含样点q0的编解码子块的列表0运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一亮度样点为单位)。

–否则,将变量bS[xDi][yDj]设置为等于0。

表2-1和2-2总结了BS计算规则。

表2-1.边界强度(当禁用SPS IBC时)

表2-2.边界强度(当启用SPS IBC时)

2.6.3用于亮度分量的解块决策

在本小节中描述了解块(deblocking)决策过程。

更宽更强的亮度滤波器是仅当条件1、条件2和条件3都为TRUE(真)时才使用的滤波器。

条件1是“大块条件”。该条件检测P边(p side)和Q边(q side)的样点是否属于大块,分别由变量bSidePisLargeBlk和bSideQisLargeBlk表示。bSidePisLargeBlk和bSideQisLargeBlk定义如下。

bSidePisLargeBlk=((边缘类型为垂直并且p0属于宽度>=32的CU)||(边缘类型为水平并且p0属于高度>=32的CU))?TRUE:FALSE

bSideQisLargeBlk=((边缘类型为垂直并且q0属于宽度>=32的CU)||(边缘类型为水平并且q0属于高度>=32的CU))?TRUE:FALSE

基于bSidePisLargeBlk和bSideQisLargeBlk,条件1定义如下。

条件1=(bSidePisLargeBlk||bSidePisLargeBlk)?TRUE:FALSE

接下来,如果条件1为真,则将进一步检查条件2。首先,推导以下变量:

–如在HEVC中一样首先推导dp0、dp3、dq0、dq3

–如果p边大于或等于32

dp0=(dp0+Abs(p50-2*p40+p30)+1)>>1

dp3=(dp3+Abs(p53-2*p43+p33)+1)>>1

–如果q边大于或等于32

dq0=(dq0+Abs(q50-2*q40+q30)+1)>>1

dq3=(dq3+Abs(q53-2*q43+q33)+1)>>1

条件2=(d<β)?TRUE:FALSE

其中d=dp0+dq0+dp3+dq3,如第2.2.4节所示。

如果Condition1和Condition2有效,则进一步检查是否有任何块使用了子块:

最后,如果条件1和条件2均有效,则所提出的解块方法将检查条件3(大块强滤波条件),其定义如下。

在条件3StrongFilterCondition中,推导以下变量:

如在HEVC中一样推导dpq。

sp3=Abs(p3-p0),如在HEVC中一样推导

如果p边大于或等于32

如果q边大于或等于32

如在HEVC中一样,StrongFilterCondition=(dpq小于(β>>2),sp3+sq3小于(3*β>>5),且Abs(p0-q0)小于(5*tC+1)>>1)?TRUE:FALSE。

2.6.4用于亮度的更强的解块滤波器(为更大的块设计)

当边界任一边的样点属于大块时,使用双线性滤波器。属于大块的样点定义为:垂直边缘的宽度>=32,并且水平边缘的高度>=32。

双线性滤波器在下面列出。

在上述HEVC解块中,对于i=0到Sp-1的块边界样点pi和对于j=0到Sq-1的块边界样点qj(pi和qi是用于对垂直边缘进行滤波的行中的第i个样点,或者是用于对水平边缘进行滤波的列中的第i个样点)由如下线性插值替代:

—pi′=(fi*Middles,t+(64-fi)*Ps+32)>>6),裁剪为pi±tcPDi

—qj′=(gj*Middles,t+(64-gj)*Qs+32>>6),裁剪为qj±tcPDj

其中tcPDi和tcPDj项是第2.3.6节中描述的与位置有关的裁剪,表2-3中给出了gj、fi、Middles,t、Ps和Qs

表2-3.长抽头解块滤波器

2.6.5用于色度的解块控制

在块边界的两边都使用了色度强滤波器。此处,当色度边缘的两边都大于或等于8(色度位置)时,选择色度滤波器,并满足以下具有三个条件的决策:第一个条件用于边界强度以及大块的决策。当在色度样点域中正交于块边缘的块宽度或高度等于或大于8时,可以应用所提出的滤波器。第二个和第三个条件基本上与HEVC亮度解块决策相同,分别是开/关决策和强滤波器决策。

在第一决策中,对于色度滤波,如表2-2中所示修改边界强度(bS)。依次检查表2-2中的条件。如果满足条件,则跳过优先级较低的剩余条件。

当检测到大块边界时,当bS等于2或bS等于1时,执行色度解块。

第二个和第三个条件基本上与HEVC亮度强滤波器决策相同,如下。

在第二个条件中:

然后如在HEVC亮度解块中一样推导d。

当d小于β时,第二个条件为TRUE。

在第三个条件中,StrongFilterCondition推导如下:

如在HEVC中一样推导dpq。

sp3=Abs(p3-p0),如在HEVC中一样推导

sq3=Abs(q0-q3),如在HEVC中一样推导

如在HEVC设计中一样,StrongFilterCondition=(dpq小于(β>>2),sp3+sq3小于(β>>3),且Abs(p0-q0)小于(5*tC+1)>>1)

2.6.6用于色度的强解块滤波器

定义了以下用于色度的强解块滤波器:

p2′=(3*p3+2*p2+p1+p0+q0+4)>>3

p1′=(2*p3+p2+2*p1+p0+q0+q1+4)>>3

p0′=(p3+p2+p1+2*p0+q0+q1+q2+4)>>3

所提出的色度滤波器对4x4色度样点网格执行解块。

2.6.7位置相关的裁剪

将位置相关的裁剪tcPD应用于涉及强滤波器和长滤波器的亮度滤波过程的输出样点,该强滤波器和长滤波器在边界处修改7、5和3个样点。假设量化误差分布,建议对期望具有更高量化噪声的样点增加裁剪值,从而期望具有更大的相对于真实样点值的重建样点值的偏差。

对于用非对称滤波器进行滤波的每个P或Q边界,取决于2.3.3节中的决策过程的结果,从作为辅信息为解码器提供的两个表(即,下面列出的Tc7和Tc3)中选择位置相关的阈值表:

Tc7={6,5,4,3,2,1,1};

Tc3={6,4,2};

tcPD=(Sp==3)?Tc3:Tc7;

tcQD=(Sq==3)?Tc3:Tc7;

对于用短对称滤波器进行滤波的P或Q边界,应用较低幅度的位置相关的阈值:

Tc3={3,2,1};

在定义阈值之后,根据tcP和tcQ裁剪值对滤波的p’i和q’i样点值进行裁剪:

p”i=Clip3(p’i+tcPi,p’i–tcPi,p’i);

q”j=Clip3(q’j+tcQj,q’j–tcQj,q’j);

其中,p’i和q’i是滤波后的样点值,p”i和q”j是裁剪之后的输出样点值,tcPi tcPi是从VVC tc参数以及tcPD和tcQD推导的裁剪阈值。函数Clip3是如在VVC中指定的裁剪函数。

2.6.8子块解块调整

为了启用使用长滤波器和子块解块二者的并行友好解块(friendlydeblocking),如在对长滤波器的亮度控制中所示,将长滤波器限制为在使用子块解块(AFFINE或ATMVP或DMVR)的边最多修改5个样点。另外,调整子块解块,使得在8x8网格上接近CU或隐式TU边界的子块边界被限制为在每边最多修改两个样点。

以下适用于与CU边界不对齐的子块边界。

其中等于0的边缘对应于CU边界,等于2或等于orthogonalLength-2的边对应于来自CU边界等的子块边界8个样点等。如果使用TU的隐式划分,则隐式TU为真。

2.6.9对亮度/色度的4CTU/2CTU行缓冲器的限制

当水平边缘与CTU边界对齐时,对于亮度,水平边缘的滤波限制Sp=3,对于色度,水平边缘的滤波限制Sp=1且Sq=1。

2.7VVC中的帧内模式编解码

为了捕获自然视频中呈现的任意边缘方向,将VTM5中的定向帧内模式的数量从如在HEVC中使用的33扩展到65。在图12中用红色虚线箭头表示HEVC中不存在的新定向模式,而平面模式和DC模式保持相同。这些更密集的定向帧内预测模式适用于所有块尺寸并适用于亮度和色度帧内预测。

在VTM5中,对于非正方形块,将几种传统的角度帧内预测模式自适应地替换为的广角帧内预测模式。广角帧内预测在第3.3.1.2节中描述。

在HEVC中,每个帧内编解码块具有正方形形状,并且其每边的长度是2的幂。因此,不需要除法运算即可使用DC模式生成帧内预测器。在VTM5中,块可以具有矩形形状,在通常情况下,必须对每个块使用除法运算。为避免对DC预测进行除法运算,仅将较长的边用于对非正方形块计算平均值。

为了保持较低的最可能的模式(MPM)列表生成的复杂度,通过考虑两个可用的相邻帧内模式,使用具有6MPM的帧内模式编解码方法。考虑以下三个方面来构造MPM列表:

i.默认帧内模式

ii.相邻帧内模式

iii.推导的帧内模式

不论是否应用MRL和ISP编解码工具,都将统一的6-MPM列表用于帧内块。基于左侧和上方相邻块的帧内模式来构造MPM列表。假设将左侧块的模式表示为Left,并将上方块的模式表示为Above,则统一的MPM列表的构造如下(图13示出了左侧和上方块)

–当相邻块不可用时,默认将其帧内模式设置为“平面”。

–如果模式Left和Above均为非角度模式:

○MPM list→{平面,DC,V,H,V-4,V+4}

–如果模式Left和Above中的一个是角度模式,而另一个是非角度模式:

○将模式Max设置为Left和Above中的较大模式

○MPM列表→{平面,Max,DC,Max-1,Max+1,Max-2}

–如果Left和Above均为角度模式,并且它们是不同的:

○将模式Max设置为Left和Above中的较大模式

○如果模式Left和Above的差在2到62之间(包括2和62),

■MPM列表→{平面,Left,Above,DC,Max-1,Max+1}

○否则

■MPM列表→{平面,Left,Above,DC,Max-2,Max+2}

–如果Left和Above均为角度模式,并且它们相同:

○MPM列表→{平面,Left,Left-1,Left+1,DC,Left-2}

此外,MPM索引码字的第一二进制位是CABAC上下文编解码的。总共使用三个上下文,对应于当前帧内块是否启用MRL,是否启用ISP或是否是正常帧内块。

在6个MPM列表生成过程中,将修剪用于删除重复的模式,使得仅唯一的模式可以包括在MPM列表中。对于61个非MPM模式的熵编解码,使用截断二进制码(TBC)。

对于色度帧内模式编解码,总共允许8个帧内模式用于色度帧内模式编解码。这些模式包括五个传统的帧内模式和三个跨分量线性模型模式(CCLM,LM_A和LM_L)。色度模式信令和推导过程在表2-4中示出。色度模式编解码直接取决于对应的亮度块的帧内预测模式。由于在I条带中对亮度和色度分量启用了单独的块分割结构,因此一个色度块可以对应于多个亮度块。因此,对于色度DM模式,覆盖当前色度块的中心位置的对应的亮度块的帧内预测模式被直接继承。

表2 4–启用cclm_时从亮度模式推导色度预测模式

2.8量化残差块差分脉冲编解码调制(QR-BDPCM)

在JVET-M0413中,提出了一种量化残差块差分脉冲编解码调制(QR-BDPCM)来有效地对屏幕内容进行编解码。

QR-BDPCM中使用的预测方向可以是垂直和水平预测模式。通过在类似于帧内预测的预测方向(水平或垂直预测)上进行样点复制来对整个块进行帧内预测。对残差进行量化,并对量化后的残差及其预测器(水平或垂直)量化值之间的增量(delta)进行编解码。这可以由以下进行描述:对于尺寸为M(行)×N(列)的块,令ri,j,0≤i≤M-1,0≤j≤N-1为使用来自上方或左侧块边界样点的未经滤波的样点水平地(逐行复制整个预测块的左侧相邻像素值)或垂直地(将顶部近邻行复制到预测块中的每一行)进行帧内预测之后的预测残差。令Q(ri,j),0≤i≤M-1,0≤j≤N-1表示残差ri,j的量化版本,其中残差是原始块与预测块值之间的差。然后,将块DPCM应用于量化后的残差样点,得到具有元素的修改后的M×N阵列当信令通知垂直BDPCM时:

对于水平预测,适用类似的规则,并且通过以下获得残差量化样点

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

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

对于水平情况,

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

该方案的主要优点在于,逆DPCM可以在系数解析期间动态完成,只需简单地在解析系数时添加预测器即可,或者可以在解析之后执行。

2.9自适应环路滤波器

在VTM5中,应用具有基于块的滤波器自适应的自适应环路滤波器(ALF)。对于亮度分量,基于局部梯度的方向和活动,为每个4×4块选择25个滤波器中的一个。

2.9.1滤波器形状

在VTM5中,使用两个菱形滤波器形状(如图14所示)。7×7菱形适用于亮度分量,而5×5菱形适用于色度分量。

2.9.2块分类

对于亮度分量,将每个4×4块分类为25个类中的一个。分类索引C基于其方向性D和活动的量化值进行推导,如下:

为了计算D和首先使用一维拉普拉斯变换计算水平、垂直和两个对角线方向的梯度:

其中索引i和j指代4×4块内左上样点的坐标,并且R(i,j)指示在坐标(i,j)处的重建样点。

为了降低块分类的复杂度,应用了子样点的一维拉普拉斯计算。如图15(a)-(d)中所示,将相同的子样点位置用于所有方向的梯度计算。

然后将水平和垂直方向的梯度的D个最大值和最小值设置为:

将两个对角线方向的梯度的最大值和最小值设置为:

为了推导方向性D的值,使用两个阈值t1和t2将这些值相互比较:

步骤1.如果为真,则将D设置为0。

步骤2.如果则从步骤3继续;否则从步骤4继续。

步骤3.如果则将D设置为2;否则将D设=设置为1。

步骤4.如果则将D设置为4;否则将D设置为3。

将活动值A计算为:

将A进一步量化到0到4的范围(包括0和4),并且将量化值表示为

对于图片中的色度分量,不应用分类方法,即,对每个色度分量应用单个ALF系数集。

2.9.3滤波器系数和裁剪值的几何变换

在对每个4×4亮度块进行滤波之前,取决于为该块计算的梯度值,将诸如旋转或对角线和垂直翻转的几何变换应用于滤波器系数f(k,l)和对应的滤波器裁剪值c(k,l)。这等效于将这些变换应用于滤波器支持区域中的样点。想法是通过对齐它们的方向性来使应用了ALF的不同块更加相似。

引入了三种几何变换,包括对角线、垂直翻转和旋转:

对角线:fD(k,l)=f(l,k),cD(k,l)=c(l,k), (2-9-9)

垂直翻转:fV(k,l)=f(k,K-l-1),cV(k,l)=c(k,K-l-1)(2-9-10)

旋转:fR(k,l)=f(K-l-1,k),cR(k,l)=c(K-l-1,k) (2-9-11)

其中K是滤波器的尺寸,并且0≤k,l≤K一1是系数坐标,使得位置(0,0)在左上角,并且位置(K-1,K-1)在右下角。取决于为该块计算的梯度值,将变换应用于滤波器系数f(k,l)和裁剪值c(k,l)。下表总结了变换与四个方向的四个梯度之间的关系。

表2-5-为一个块计算的梯度和变换之间的映射

梯度值 变换
g<sub>d2</sub><g<sub>d1</sub>且g<sub>h</sub><g<sub>v</sub> 无变换
g<sub>d2</sub><g<sub>d1</sub>且g<sub>v</sub><g<sub>h</sub> 对角线
g<sub>d1</sub><g<sub>d2</sub>且g<sub>h</sub><g<sub>v</sub> 垂直翻转
g<sub>d1</sub><g<sub>d2</sub>且g<sub>v</sub><g<sub>h</sub> 旋转

2.9.4滤波器参数信令

在VTM5中,在自适应参数集(APS)中信令通知ALF滤波器参数。在一个APS中,可以信令通知最多25个亮度滤波器系数和裁剪值索引的集合,以及最多一个色度滤波器系数和裁剪值索引的集合。为了减少比特开销,可以合并不同类别的滤波器系数。在条带标头中,信令通知用于当前条带的APS的索引。

从APS解码的裁剪值索引允许使用裁剪值的亮度表和裁剪值的色度表确定裁剪值。这些裁剪值取决于内部比特深度。更精确地,裁剪值的亮度表和裁剪值的色度表通过以下公式获得:

其中B等于内部比特深度,并且N等于4是VTM5.0中所允许的裁剪值的数量。

可以在CTB级别上控制滤波过程。始终信令通知标志以指示是否将ALF应用于亮度CTB。亮度CTB可以从16个固定滤波器集和来自APS的滤波器集中选择滤波器集。对于亮度CTB,信令通知滤波器集索引,以指示应用了哪个滤波器集。16个固定滤波器集都是预定义的且在编码器和解码器中硬编解码。

滤波器系数以等于128的规范进行量化。为了限制乘法复杂度,应用了比特流一致性,使得非中心位置的系数值应在-27到27-1的范围内(包括-27和27-1)。中心位置系数未在比特流中信令通知,并且被认为等于128。

2.9.5滤波过程

在解码器侧,当对CTB启用ALF时,对CU中的每个样点R(i,j)进行滤波,得到如下所示的样点值R′(i,j),

R′(i,j)=R(i,j)+((∑k≠0l≠0f(k,l)×K(R(i+k,j+l)-R(i,j),c(k,l))+64)>>7) (2-9-14)

其中f(k,l)表示解码的滤波器系数,K(x,y)是裁剪函数,并且c(k,l)表示解码的裁剪参数。变量k和l在之间变化,其中L表示滤波器长度。裁剪函数K(x,y)=min(y,max(-y,x)),其对应于函数Clip3(-y,y,x)。

2.9.6减少行缓冲器的虚拟边界滤波过程

在VTM5中,为减少ALF的行缓冲器需求,对水平CTU边界附近的样点采用修改的块分类和滤波。为了这个目的,将虚拟边界定义为通过将水平CTU边界移位“N”个样点的行,如图16所示,其中,对于亮度分量,N等于4,对于色度分量,N等于2。

如图2-11所示,将修改的块分类应用于亮度分量。对于虚拟边界上方4x4块的一维拉普拉斯梯度计算,仅使用虚拟边界上方的样点。类似地,对于虚拟边界下方的4x4块的一维拉普拉斯梯度计算,仅使用虚拟边界下方的样点。因此,通过考虑一维拉普拉斯梯度计算中使用的减少的样点数量,可以对活动值A的量化进行缩放。

对于滤波处理,将在虚拟边界处的对称填充操作用于亮度和色度分量。如图17所示,当要滤波的样点位于虚拟边界下方时,对位于虚拟边界上方的相邻样点进行填充。同时,也对其他边的对应样点称地进行填充。

2.10样点自适应偏移(SAO)

通过使用编码器为每个CTB指定的偏移,将样点自适应偏移(SAO)应用于解块滤波器之后的重建信号。HM编码器首先决定是否将SAO过程应用于当前条带。如果将SAO应用于条带,则将每个CTB分类为五个SAO类型中的一个,如表2-6所示。SAO的概念是将像素分类,并通过向每个类别的像素添加偏移来减少失真。SAO操作包括边缘偏移(EO)和带偏移(BO),在SAO类型1-4中,边缘偏移(EO)使用边缘属性进行像素分类,在SAO类型5中,带偏移(BO)使用像素强度进行像素分类。每个适用的CTB具有SAO参数,包括sao_merge_left_flag、sao_merge_up_flag、SAO类型和四个偏移。如果sao_merge_left_flag等于1,则当前的CTB将重用左侧CTB的SAO类型和偏移。如果sao_merge_up_flag等于1,则当前CTB将重用上方CTB的SAO类型和偏移。

表2-6–SAO类型的规范

2.10.1每个SAO类型的操作

通过考虑边缘定向信息,边缘偏移对当前像素p的分类使用四个1-D 3像素模式,如图18所示。这些从左到右是:0度、90度、135度和45度。

根据表2-7,将每个CTB分类为五个类别中的一个。

表2-7–EO的像素分类规则

类别 条件 含义
0 以下都不是 大部分单调
1 p<2个近邻 局部最小
2 p<1个近邻&&p==1个近邻 边缘
3 p>1个近邻&&p==1个近邻 边缘
4 p>2个近邻 局部最大

带偏移(BO)通过将像素值的五个最高有效位用作带索引,将一个CTB区域中的所有像素分类为32个均匀带。换句话说,像素强度范围被分为从零到最大强度值(例如,对于8位像素为255)的32个相等的段。将四个相邻的带分组在一起,并且每组由其最左侧位置指示,如图19所示。编码器搜索所有位置,以通过补偿每个频带的偏移来获得失真减少最大的组。

2.11组合的帧间和帧内预测(CIIP)

在VTM5中,当CU以Merge模式进行编解码时,如果CU包含至少64个亮度样点(即CU宽度乘以CU高度等于或大于64),并且如果CU宽度和CU高度均小于128个亮度样点,则信令通知附加标志以指示是否将组合的帧间/帧内预测(CIIP)模式应用于当前CU。顾名思义,CIIP预测将帧间预测信号与帧内预测信号进行组合。CIIP模式中的帧间预测信号Pinter是使用与常规Merge模式相同的帧间预测过程来推导。并且,帧内预测信号Pintra按照平面模式的常规帧内预测过程来导出。然后,使用加权平均来组合帧内和帧间预测信号,其中,根据顶部和左侧相邻块(在图20中描绘)的编解码模式来计算权重值,如下所示:

–如果顶部近邻可用并且已是帧内编解码的,则将isIntraTop设置为1,否则将isIntraTop设置为0;

–如果左侧近邻可用并且是帧内编解码的,则将isIntraLeft设置为1,否则将isIntraLeft设置为0;

–如果(isIntraLeft+isIntraLeft)等于2,则将wt设置为3;

–否则,如果(isIntraLeft+isIntraLeft)等于1,则将wt设置为2;

–否则,将wt设置为1。

CIIP预测形成如下:

PCIIP=((4-wt)*Pinter+wt*Pintra+2)>>2(3-1)

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

在VTM5中,在环路滤波器之前,添加了一种称为具有色度缩放的亮度映射(LMCS)的编解码工具,作为新的处理块。LMCS具有两个主要分量:1)基于自适应分段线性模型的亮度分量的环路映射;2)对于色度分量,应用与亮度相关的色度残留缩放。图21从解码器的角度示出了LMCS架构。图21中的浅蓝色阴影块指示在映射域中的何处应用处理;并且这些包括逆量化、逆变换、亮度帧内预测以及亮度预测与亮度残差的相加。图21中的非阴影块指示在原始(即非映射)域中的何处应用处理;并且这些包括诸如解块、ALF和SAO的环路滤波器、运动补偿预测、色度帧内预测、色度预测与色度残差的相加,以及将解码后的图片存储为参考图片。图21中的浅黄色阴影块是新的LMCS功能块,包括亮度信号的正向和反向映射以及与亮度相关的色度缩放过程。与VVC中的大多数其他工具一样,可以使用SPS标志在序列级别启用/禁用LMCS。

3.实施例解决的问题的示例

通常使用一个调色板标志来指示在当前CU上是否采用了调色板模式,这可以对其熵编解码具有不同的限制和差异。然而,在先前的视频编解码标准中尚未对如何更好地编解码调色板标志进行充分研究。

如果调色板样点由后回路滤波过程进行处理,则它们可以具有视觉伪影。

对于非正方形块,可以改进调色板扫描顺序。

4.实施例的示例

下面的详细发明应被认为是解释一般概念的示例。这些发明不应被狭义地解释。此外,这些发明可以以任何方式组合。

1.对用于变换单元/预测单元/编解码块/区域的调色板模式的使用指示可以与预测模式分开编解码。

a.在一个示例中,可以在对调色板的使用的指示之前对预测模式进行编解码。

i.可替代地,此外,可以基于预测模式有条件地信令通知对调色板的使用的指示。

1.在一个示例中,当预测模式是帧内块复制模式(即,MODE_IBC)时,可以跳过信令通知对调色板模式的使用的指示。可替代地,此外,当当前预测模式是MODE_IBC时,可以将对调色板的使用的指示推断为假。

2.在一个示例中,当预测模式是帧间模式(即,MODE_INTER)时,可以跳过信令通知对调色板模式的使用的指示。可替代地,此外,当当前预测模式是MODE_INTER时,可以将对调色板模式的使用的指示推断为假。

3.在一个示例中,当预测模式是帧内模式(即,MODE_INTRA)时,可以跳过信令通知对调色板模式的使用的指示。可替代地,此外,当当前预测模式是MODE_INTRA时,可以将对调色板模式的使用的指示推断为假。

4.在一个示例中,当预测模式是跳过模式(即,跳过标志等于1)时,可以跳过信令通知对调色板模式的使用的指示。可替代地,此外,当在当前CU上采用跳过模式时,可以将对调色板模式的使用的指示推断为假。

5.在一个示例中,当预测模式是帧内模式(即,MODE_INTRA)时,可以信令通知对调色板模式的使用的指示。可替代地,此外,当预测模式是帧间模式或帧内块复制模式时,可以跳过信令通知对调色板模式的使用的指示。

a)可替代地,此外,当预测模式是帧内模式且不是脉冲编解码调制(PCM)模式时,可以信令通知对调色板模式的使用的指示。

b)可替代地,此外,当预测模式是帧内模式时,可以在对PCM模式的使用的指示之前信令通知对调色板模式的使用的指示。在一个示例中,当应用调色板模式时,可以跳过信令通知PCM模式的使用。

c)可替代地,此外,当预测模式是帧间模式或帧内块复制模式时,可以跳过信令通知调色板模式的使用的指示。

6.在一个示例中,当预测模式是帧间模式(即,MODE_INTER)时,可以信令通知调色板模式的使用的指示。

a)可替代地,此外,当预测模式是帧内模式时,可以跳过信令通知调色板模式的使用的指示。

7.在一个示例中,当预测模式是帧内块复制模式时,可以信令通知对调色板模式的使用的指示。可替代地,此外,当预测模式是帧间模式或帧内模式时,可以跳过信令通知对调色板模式的使用的指示。

ii.可替代地,此外,可以基于图片/条带/片组类型有条件地信令通知对调色板模式的使用的指示。

b.在一个示例中,可以在对调色板模式的使用的指示之后对预测模式进行编解码。

c.在一个示例中,当预测模式是INTRA模式或INTER_MODE时,可以信令通知对调色板模式的使用的指示。

i.在一个示例中,可以在跳过标志、预测模式和PCM模式的标志之后对调色板模式的使用的指示进行编解码。

ii.在一个示例中,可以在跳过标志、预测模式之后,在PCM模式的标志之前对调色板模式的使用的指示进行编解码。

iii.在一个示例中,当当前块以帧内模式进行编解码时,可以进一步信令通知对调色板和IBC模式的指示。

1.在一个示例中,可以信令通知一个比特标志以指示是否信令通知调色板或IBC模式。

2.在一个示例中,在某些条件下,诸如块尺寸、是否对一个片/片组/条带/图片/序列启用IBC或调色板模式,可以跳过信令通知比特标志。

d.在一个示例中,可以首先对预测模式(诸如,其是帧内还是帧间模式)进行编解码,然后是对其是否是调色板模式的条件信令进行编解码。

i.在一个示例中,当预测模式是帧内模式时,还可以信令通知另一标志以指示其是否是调色板模式。

1.在一个示例中,当对一个视频数据单元(例如,序列/图片/片组/片)启用调色板模式时,可以信令通知“另一标志”。

2.在一个示例中,在块尺寸的条件下,可以信令通知“另一标志”。

3.可替代地,此外,如果其不是调色板模式,则还可以信令通知一个标志以指示其是否是PCM模式。

4.在一个示例中,可以根据相邻块的信息来对“另一标志”进行上下文编解码。可替代地,也可以仅用一个上下文来对“另一标志”进行上下文编解码。可替代地,也可以对“另一标志”进行旁路编解码,即没有上下文。

ii.可替代地,当预测模式是帧间模式时,还可以信令通知另一标志以指示其是否是IBC模式。

1.在一个示例中,当对一个视频数据单元(例如,序列/图片/片组/片)启用IBC模式时,可以信令通知“另一标志”。

2.在一个示例中,在块尺寸的条件下,可以信令通知“另一个标志”。

2.建议将调色板模式添加为预测模式的附加候选。对调色板模式的使用指示可以基于预测模式来确定/信令通知,例如,如以上示例实施例1中所讨论的。在一些实施例中,不需要与预测模式分开信令通知对调色板模式的使用指示。

a.在一个示例中,预测模式可以包括用于帧内条带/I图片/帧内片组的帧内模式、帧内块复制模式和调色板模式。

b.可替代地,预测模式可以包括用于帧内条带/I图片/帧内片组的帧内模式、调色板模式。

c.在一个示例中,预测模式可以包括用于4×4块的帧内模式、帧内块复制模式和调色板模式。

d.在一个示例中,预测模式可包括用于帧间条带/P和/或B图片/帧间片组的帧内模式、帧间模式、帧内块复制模式和调色板模式。

e.在一个示例中,预测模式可以包括用于帧间条带/P和/或B图片/帧间片组的帧内模式、帧间模式、帧内块复制模式。

f.可替代地,预测模式可以包括帧内模式、帧间模式、帧内块复制模式和调色板模式中的至少两个。

g.在一个示例中,对于4×4块。可以不将帧间模式包括在预测模式中。

h.在一个示例中,当未按照跳过模式对块进行编解码时(这是帧间模式的特殊情况),可以使用不同的位对预测模式索引进行上下文编解码。在一些实施例中,由于诸如块尺寸(例如4×4)或禁用预测模式(例如,禁用IBC模式从而跳过对应的二进制位)的条件,可以跳过信令通知一个或多个二进制位。

i.在一个示例中,将四个模式的二进制化定义为:帧内(1)、帧间(00)、IBC(010)和调色板(011)。这里,使用了三个二进制位,每比特对应一个二进制位值。

ii.在一个示例中,将四个模式的二进制化定义为:帧内(10)、帧间(00)、IBC(01)和调色板(11),如图10所示。这里,使用了两个二进制位,每个比特对应一个二进制位值。

iii.在一个示例中,如果当前条带是帧内条带并且在SPS中未启用IBC,则将调色板模式和帧内模式的二进制化定义为:调色板(1)和帧内(0)。在这里,使用一个二进制位。

iv.在一个示例中,如果当前条带不是帧内条带并且未在SPS中启用IBC,则将调色板模式、帧间模式和帧内模式的二进制化定义为:帧内(1)、帧间(00)和调色板(01)。这里,使用了两个二进制位,每个比特对应一个二进制位值。

v.在一个示例中,如果当前条带是帧内条带并且在SPS中启用了IBC,则将调色板模式和帧内模式的二进制化定义为:IBC(1)、调色板(01)和帧内(00)。这里,使用了两个二进制位,每个比特对应一个二进制位值。

vi.在一个示例中,将四个模式的二进制化定义为:帧间(1)、帧内(01)、IBC(001)和调色板(000)。这里,使用了三个二进制位,每个比特对应一个二进制位值。

vii.在一个示例中,将四个模式的二进制化定义为:帧内(1)、帧间(01)、IBC(001)和调色板(000)。这里,使用了三个二进制位,每个比特对应一个二进制位值。

viii.在一个示例中,将四个模式的二进制化定义为:帧间(0)、帧内(10)、IBC(111)和调色板(110),如图11所示。这里,使用了三个二进制位,每个比特对应一个二进制位值。

3.信令通知对调色板/IBC模式的使用的指示可以取决于其他模式的信息。

a.在一个示例中,当当前预测模式是帧内模式并且不是IBC模式时,可以信令通知对调色板模式的使用的指示。

b.在一个示例中,当当前预测模式是帧内模式并且不是调色板模式时,可以信令通知对IBC模式的使用的指示。

4.如何信令通知模式信息可以取决于条带/图片/片组类型。

a.在一个示例中,当其是I条带/帧内片组时,可以信令通知一个标志以指示其是否是IBC模式。如果不是IBC模式,则还可以信令通知另一标志以指示其是调色板模式还是帧内模式。

b.在一个示例中,当其是I条带/帧内片组时,可以信令通知一个标志以指示其是否是帧内模式。如果不是帧内模式,则还可以信令通知另一标志以指示其是调色板模式还是IBC模式。

5.可以基于以下条件来信令通知和/或推导对调色板模式的使用的指示。

a.当前块的块尺寸

i.在一个示例中,可以仅对宽度*高度小于或等于阈值(诸如64*64)的块信令通知对调色板模式的使用的指示。

ii.在一个示例中,可以仅对宽度和高度均大于或等于阈值(诸如64)的块信令通知对调色板模式的使用的指示。

iii.在一个示例中,可以仅对所有以下条件都为真的块信令通知对调色板模式的使用的指示:

1.宽度和/或高度大于或等于阈值,诸如16;

2.宽度和/或高度小于或等于阈值,诸如32或64

iv.在一个示例中,可以仅针对宽度等于高度的块(即,正方形块)信令通知对调色板模式的使用的指示。

b.当前块的预测模式

c.当前块的当前量化参数

d.相邻块的调色板标志

e.相邻块的帧内块复制标志

f.颜色格式指示(诸如4:2:0、4:4:4)

g.分离/双重编解码树结构

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

6.可以基于以下条件来信令通知和/或推导对IBC模式的使用的指示。

a.当前块的块尺寸

i.在一个示例中,可以仅对宽度或高度均小于128的块信令通知对IBC模式的使用的指示。

b.当前块的预测模式

c.当前块的当前量化参数

d.相邻块的调色板标志

e.相邻块的帧内块复制标志

f.颜色格式指示(诸如4:2:0、4:4:4)

g.分离/双重编解码树结构

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

7.在解块决策过程中,可以将调色板模式视为帧内模式(例如,MODE_INTRA)。

a.在一个示例中,如果用调色板模式对p侧或q侧的样点进行编解码,则将边界强度设置为2。

b.在一个示例中,如果用调色板模式对p侧和q侧的样点进行编解码,则将边界强度设置为2。

c.可替代地,在解块决策过程中,可以将调色板模式视为帧间模式(例如,MODE_INTER)。

8.在解块决策过程中,可以将调色板模式视为单独的模式(例如MODE_PLT)。

a.在一个示例中,如果用调色板模式对p侧和q侧的样点进行编解码,则将边界强度设置为0。

i..可替代地,如果用调色板模式对一侧的样点进行编解码,则将边界强度设置为0。

b.在一个示例中,如果用IBC模式对p侧的样点进行编解码,并且用调色板模式对q侧的样点进行编解码,则将边界强度设置为1,反之亦然。

c.在一个示例中,如果用帧内模式对p侧的样点进行编解码,并且用调色板模式对q侧的样点进行编解码,则将边界强度将设置为2,反之亦然。

9.在解块过程中,可以将调色板模式视为变换-跳过(transform-skip)块

a.可替代地,在解块过程中,可以将调色板模式视为BDPCM块。

10.可以基于条带/片组/图片级别标志来信令通知和/或推导对块的调色板模式的指示。

a.在一个示例中,标志指示在与运动矢量差(MMVD,又称为UMVE)和/或自适应运动矢量分辨率(AMVR)模式的合并中是否允许分数运动矢量差(MVD),(例如,slice_fracmmvd_flag)。可替代地,此外,如果slice_fracmmvd_flag指示启用了分数MVD,则跳过信令通知对调色板模式的使用的指示,并且将调色板模式推断为禁用。

b.在一个示例中,标志指示是否对条带/片组/图片启用调色板模式。可替代地,此外,当这样的标志指示禁用调色板模式时,跳过信令通知块的调色板模式的使用,并且将调色板模式推断为禁用。

11.可以基于条带/片组/图片水平标志来信令通知和/推导对块的块内块复制模式(IBC)的使用的指示。

a.在一个示例中,标志指示在与运动矢量差(MMVD,又称为UMVE)和/或自适应运动矢量分辨率(AMVR)模式的合并中是否允许分数运动矢量差(MVD),(例如,slice_fracmmvd_flag)。可替代地,此外,如果slice_fracmmvd_flag指示启用了分数MVD,则跳过信令通知对IBC模式的指示,并且将IBC模式推断为禁用。

b.在一个示例中,标志指示是否对条带/片组/图片启用IBC模式。可替代地,此外,当这样的标志指示禁用IBC模式时,跳过信令通知块的IBC模式的使用,并且将IBC模式推断为禁用。

12.与一个调色板条目相关联的样点可以具有与内部比特深度和/或原始/重建样点的比特深度不同的比特深度。

a.在一个示例中,表示与一个相关联的样点的比特深度可以等于N,以下可以适用:

i.在一个示例中,N可以是整数(例如8)。

ii.在一个示例中,N可以大于内部比特深度和/或原始/重建样点的比特深度。

iii.在一个示例中,N可以小于内部比特深度和/或原始/重建样点的比特深度。

iv.在一个示例中,N可取决于

1.当前块的块尺寸

2.当前块的当前量化参数

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

4.分离/双重编解码树结构

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

6.调色板条目数

7.预测调色板条目数

8.颜色分量的索引

b.在一个示例中,与多个调色板条目相关联的样点可以具有不同的比特深度。

i.在一个示例中,令C0、C1为当前调色板中的两个调色板条目,并且它们可以分别具有等于b0和b1的比特深度。b0可以不等于b1

1.在一个示例中,b0可以大于/小于内部比特深度和/或原始/重建样点的内部比特深度,和/或b1可以大于/小于内部比特深度和/或原始/重建样点的内部比特深度。

c.在一个示例中,在调色板模式中,可以根据与调色板条目相关联的样点的移位值来重建样点。

i.在一个示例中,可通过将调色板条目中的样点左移M位来重建样点。

ii.在一个示例中,重建值可以是(C<<M)+(1<<(M-1)),其中C是调色板条目。

iii.在一个示例中,可通过将调色板条目中的样点右移M位来重建样点。

iv.在一个示例中,重建值可以是clip((C+(1<<(M-1)))>>M,0,(1<<N)-1),其中C是调色板条目,并且N是重建的比特深度。

v.可替代地,此外,在一个示例中,M可以取决于与调色板条目相关联的样点以及重建样点/原始样点的内部比特深度之间的比特深度差。

1.在一个示例中,M可以等于内部比特深度减去调色板条目中样点的比特深度

2.在一个示例中,M可以等于调色板条目中样点的比特深度减去内部比特深度

3.在一个示例中,M可以等于原始样点的比特深度减去调色板条目中样点的比特深度

4.在一个示例中,M可以等于调色板条目中的样点的比特深度减去原始样点的比特深度。

5.在一个示例中,M可以等于重建样点的比特深度减去调色板条目中样点的比特深度。

6.在一个示例中,M可以等于调色板条目中样点的比特深度减去重建样点的比特深度。

vi.在一个示例中,M可以是整数(例如2)。

vii.可替代地,此外,在一个示例中,M可以取决于

1.当前块的块尺寸

2.当前块的当前量化参数

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

4.分离/双重编解码树结构

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

6.调色板条目数

7.预测调色板条目数

8.块/图片/条带/片中的样点位置

9.颜色分量的索引

viii.在一个示例中,在样点的重建期间可以使用基于调色板条目中的样点的查找操作。

1.在一个示例中,可以在SPS/VPS/PPS/图片标头/条带标头/片组标头/LCU行/LCU组中信令通知查找表中的值。

2.在一个示例中,可以在SPS/VPS/PPS/图片标头/条带标头/片组标头/LCU行/LCU组中推断查找表中的值。

13.在被用于推导逸出像素/样点(诸如被裁剪)之前,可以首先修改信令通知的/推导的调色板编解码块的量化参数(QP)。

a.在一个示例中,可以以与变换跳过模式和/或BDPCM模式相同的方式来对应用于调色板编解码块的QP范围进行处理。

b.在一个示例中,可以将应用于调色板编解码块的QP修改为max(Qp,4+T),其中,T是整数值,并且Qp是对该块信令通知的或推导的量化参数。

i.在一个示例中,T可以是预定阈值。

ii.在一个示例中,T可以等于(4+min_qp_prime_ts_minus4),其中可以信令通知min_qp_prime_ts_minus4。

14.无论是否启用了变换量化(transquant)旁路,如何编解码逸出样点/符号都可以统一。

a.在一个示例中,可以以固定长度信令通知逸出样点。

b.在一个示例中,可以使用N比特以固定长度信令通知逸出样点。

i.在一个示例中,N可以是整数(例如8或10)并且可以取决于

1.在SPS/VPS/PPS/图片标头/条带标头/片组标头/LCU行/LCU组中信令通知的消息。

2.内部比特深度

3.输入比特深度

4.当前块的块尺寸

5.当前块的当前量化参数

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

7.分离/双重编解码树结构

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

c.在一个示例中,用以信令通知逸出像素/样点的编解码长度可以取决于内部比特深度。

i.可替代地,用以信令通知逸出像素/样点的编解码长度可以取决于输入比特深度。

d.在一个示例中,用以信令通知逸出像素/样点的编解码长度可以取决于量化参数。

i.在一个示例中,用以信令通知逸出像素/样点的编解码长度可以是f(Qp)

1.在一个示例中,可以将函数f定义为(内部比特深度-(Qp-4)/6)。

15.可以以不同的方式定义调色板编解码块和非调色板编解码块的量化和/或逆量化过程。

a.在一个示例中,可以使用右移位来对逸出样点进行量化,而不是对变换系数或残差使用量化过程。

b.在一个示例中,可以使用左移位来对逸出样点进行逆量化,而不是对变换系数或残差使用逆量化过程。

c.在编码器侧,以下可以适用:

i.在一个示例中,可以将逸出像素/样点值信令通知为f(p,Qp),其中p是像素/样点值。

ii.在一个示例中,可以将函数f定义为p>>((Qp-4)/6),其中p是像素/样点值,并且Qp是量化参数。

iii.在一个示例中,可以将逸出像素/样点值信令通知为p>>N,其中p是像素/样点值。

1.在一个示例中,N可以是整数(例如2),并且可以取决于

a)在SPS/VPS/PPS/图片标头/条带标头/片组标头/LCU行/LCU组中信令通知的消息。

b)内部比特深度

c)输入比特深度

d)当前块的块尺寸

e)当前块的当前量化参数

f)颜色格式的指示(诸如4:2:0、4:4:4)

g)分离/双重编解码树结构

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

d.在解码器端,以下可以适用:

i.在一个示例中,可以将逸出像素/样点值信令通知为f(bd,p,Qp)

1.在一个示例中,可以将函数f定义为clip(0,(1<<(bd-(Qp-4)/6))-1,(p+(1<<(bd-1)))>>((Qp-4)/6))。

ii.在一个示例中,可以将逸出像素/样点值重建为f(p,Qp),其中p是解码的逸出像素/样点值。

1.在一个示例中,可以将f定义为p<<((Qp-4)/6)

iii.在一个示例中,可以将逸出像素/样点值重建为f(bd,p,Qp),其中p是解码的逸出像素/样点值。

1.在一个示例中,可以将函数裁剪定义为clip(0,(1<<bd)-1,p<<((Qp-4)/6))

iv.在以上示例中,可以将裁剪函数clip(a,i,b)定义为(i<a?a:(i>b?b:i))。

v.在以上示例中,可以将裁剪函数clip(a,i,b)定义为(i<=a?a:(i>=b?b:i))。

vi.在以上示例中,p可以是像素/样点值,bd可以是内部比特深度或输入比特深度,并且Qp是量化参数。

16.在最可能的模式(MPM)的列表构建过程期间,可以将调色板编解码块视为帧内块(例如,MODE_INTRA)。

a.在一个示例中,当在MPM列表的构造期间获取相邻(相邻或不相邻)块的帧内模式时,如果相邻块(例如,左侧和/或上方)以调色板模式进行编解码,则可以将其视为具有默认模式的传统帧内编解码块(例如MODE_INTRA)。

i.在一个示例中,默认模式可以是DC/PLANAR/VER/HOR模式。

ii.在一个示例中,默认模式可以是任何一种帧内预测模式。

iii.在一个示例中,默认模式可以在DPS/SPS/VPS/PPS/APS/图片标头/条带标头/片组标头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU组/TU/PU块/视频编解码单元中信令通知。

17.在最可能的模式(MPM)的列表构建过程期间,可以将调色板编解码块视为非帧内块(例如,视为预测模式等于MODE_PLT的块)。

a.在一个示例中,当在MPM列表的构造期间获取相邻块的帧内模式时,如果相邻块(例如,左侧和/或上方)以调色板模式进行编解码,则可以以与用帧间模式进行编解码的块相同或相似的方式对其进行处理。

b.在一个示例中,当在MPM列表的构造期间获取相邻块的帧内模式时,如果相邻块(例如,左侧和/或上方)以调色板模式编解码,则可以以用IBC模式进行编解码的块相同或相似的方式对其进行处理。

18.用调色板模式进行编解码的亮度块对应于用DM模式进行编解码的色度块,可以解释为具有默认帧内预测模式。

a.在一个示例中,当色度块用DM模式编解码时,可以将用调色板模式进行编解码的对应亮度块视为帧内块(例如,MODE_INTRA)或调色板块(例如,MODE_PLT)。

b.在一个示例中,默认预测模式可以是DC/PLANAR/VER/HOR模式。

c.在一个示例中,默认预测模式可以是任何一种帧内预测模式。

d.在一个示例中,可以在DPS/SPS/VPS/PPS/APS/图片标头/条带标头/片组标头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU组/TU/PU块/视频编解码单元中信令通知默认预测模式。

19.在基于历史的运动矢量预测(HMVP)、Merge(MERGE)和/或高级运动矢量预测(AMVP)模式的列表构建期间,可以将调色板编解码块视为不可用块。

a.在一个示例中,不可用块可以表示不具有任何运动信息或者其运动信息不能用作对其他块的预测的块。

b.在一个示例中,在HMVP、MERGE和/或AMVP模式中的列表构建过程中,可以将用调色板模式进行编解码的块视为帧内块(例如,MODE_INTRA)或调色板块(例如,MODE_PLT)。

i.可替代地,在一个示例中,当在HMVP、MERGE和/或AMVP列表的构造期间获取相邻块的运动信息时,可以将用调色板模式进行编解码的相邻块视为具有无效参考索引的块。

ii.可替代地,在一个示例中,当在HMVP、MERGE和/或AMVP列表的构造期间获取相邻块的运动信息时,可以将用调色板模式进行编解码的相邻块视为参考索引等于0的帧间块。

iii.可替代地,在一个示例中,当在HMVP、MERGE和/或AMVP模式的列表构建期间获取相邻块的运动信息时,可以将用调色板模式进行编解码的相邻块视为具有零运动矢量的帧间块。

20.如何处理用调色板模式进行编解码的块(例如,是否应用和/或如何应用上述方法)可以基于:

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

b.在DPS/SPS/VPS/PPS/APS/图片标头/条带标头/片组标头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU组/TU/PU块/视频编解码单元中信令通知的消息

c.CU/PU/TU/块/视频编解码单元的位置

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

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

f.颜色格式的指示(诸如4:2:0、4:4:4、RGB或YUV)

g.编解码树结构(诸如双树或单树)

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

i.颜色分量(例如可以仅应用于亮度分量和/或色度分量)

j.时域层ID

k.标准的配置文件/级别/层级

21.可以将调色板编解码块的上下文编解码二进制位限制在一定范围内。

a.在一个示例中,将计数器分配给块以记录已经对多少个二进制位进行了上下文编解码。当计数器超过阈值时,将应用旁路编解码,而不使用上下文编解码。

i.可替代地,可以分配NumColorComp计数器以记录已为每个颜色分量对多少个二进制位进行了上下文编解码。NumColorComp是要在一个块中进行编解码的颜色分量数(例如,对于一个YUV格式的CU,将NumColorComp设置为3)。

ii.可替代地,可以将计数器初始化为零,并且在利用上下文对一个二进制位进行编解码之后,将该计数器增加1。

b.可替代地,可以用大于零的某个值(例如,W*H*K)来初始化计数器,并且在利用上下文对一个二进制位进行编解码之后,将该计数器减一。当计数器小于或等于T时,将应用旁路编解码,而不使用上下文编解码。

i.在一个示例中,将T设置为0或1。

ii.在一个示例中,根据解码信息或旁路编解码次数等来设置T。

c.在一个示例中,就上下文编解码的二进制位而言,调色板编解码块与TS编解码块或非TS编解码块相比可以具有相同或不同的阈值。

i.在一个示例中,可以将调色板编解码块的上下文编解码位的数量设置为(W*H*T),其中,W和H分别是一个块的宽度和高度,并且T是整数。在一个示例中,将T设置为与用于TS编解码块的T相同,诸如1.75或2。

ii.在一个示例中,可以将调色板编解码块的上下文编解码位的数量设置为(W*H*NumColorComp*T),其中,W和H分别是一个块的宽度和高度。NumColorComp是要在一个块中进行编解码的颜色分量的数量(例如,对于一个YUV格式的CU,将NumColorComp设置为3),并且T是整数。在一个示例中,将T设置为与用于TS编解码块的T相同,诸如1.75或2。

d.在一个示例中,就上下文编解码的二进制位而言,调色板编解码块的阈值可小于TS编解码块或非TS编解码块。

e.在一个示例中,就上下文编解码的二进制位而言,调色板编解码块的阈值可大于TS编解码块或非TS编解码块。

22.在对CIIP模式中的相邻帧内块进行计数的过程期间,可以将调色板编解码块视为非帧内块(例如,视为预测模式等于MODE_PLT的块)。

a.在一个示例中,当在CIIP模式中对相邻的帧内块进行计数期间获取相邻块的帧内模式时,如果相邻块(例如,左侧和/或上方)以调色板模式进行编解码,则可以以与用帧间模式进行编解码的块相同或相似的方式进行处理。

b.在一个示例中,当在CIIP模式中对相邻的帧内块进行计数期间获取相邻块的帧内模式时,如果相邻块(例如,左侧和/或上方)以调色板模式进行编解码,则可以以与用IBC模式进行编解码的块相同或相似的方式进行处理。

c.可替代地,在CIIP模式中对相邻帧内块进行计数的过程期间,可以将调色板编解码块视为帧内块。

23.建议跳过调色板编解码样点的预滤波和/或后滤波过程。

a.在一个示例中,可以不对调色板编解码样点进行解块。

b.在一个示例中,可以不对调色板编解码样点在SAO过程中补偿偏移。

c.在一个示例中,可以不在ALF过程中对调色板编解码样点进行滤波。

i.在一个示例中,ALF过程中的分类可跳过调色板编解码样点。

d.在一个示例中,可对调色板编解码样点禁用LMCS。

24.建议在调色板模式中添加更多扫描顺序。

a.在一个示例中,可以使用如下定义的反向水平遍历扫描顺序。

i.在一个示例中,奇数行的扫描方向可以是从左到右。

ii.在一个示例中,偶数行的扫描方向可以是从右到左。

iii.在一个示例中,4×4块的扫描顺序可以如图22所示。

b.在一个示例中,可以使用如下定义的反向垂直遍历扫描顺序。

i.在一个示例中,奇数行的扫描方向可以是从顶部到底部。

ii.在一个示例中,偶数行的扫描方向可以是从底部到顶部。

iii.在一个示例中,4×4块的扫描顺序可以如图23所示。

25.允许的扫描顺序的组合可以取决于块形状。

a.在一个示例中,当块的宽度与高度之间的比率大于阈值时,可以仅应用水平遍历和反向水平遍历扫描顺序。

i.在一个示例中,阈值等于1。

ii.在一个示例中,阈值等于4。

b.在一个示例中,当块的高度与宽度之间的比率大于阈值时,可以仅应用垂直遍历和反向垂直遍历扫描顺序。

i.在一个示例中,阈值等于1。

ii.在一个示例中,阈值等于4。

26.建议在QR-BDPCM过程中仅允许一个帧内预测方向和/或一个扫描方向。

a.在一个示例中,在宽度大于高度的块上仅允许垂直方向。

b.在一个示例中,在宽度小于高度的块上仅允许水平方向。

c.在一个示例中,可以对非正方形块推断QR-BDPCM的方向的指示。

i.此外,在一个示例中,对于宽度大于高度的块,可以将QR-BDPCM的方向的指示推断为垂直方向。

ii.此外,在一个示例中,对于宽度小于高度的块,可以将QR-BDPCM的方向的指示推断为水平方向。

27.项目符号24,25和26中的方法可以仅应用于w*Th>=h或h*Th>=w的块,其中w和h分别是块的宽度和高度,并且Th是阈值。

a.在一个示例中,Th是整数(例如4或8)并且可以基于

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

ii.在DPS/SPS/VPS/PPS/APS/图片标头/条带标头/片组标头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU组/TU/PU块/视频编解码单元中信令通知的消息

iii.CU/PU/TU/块/视频编解码单元的位置

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

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

vi.颜色格式的指示(例如4:2:0、4:4:4、RGB或YUV)

vii.编解码树结构(诸如双树或单树)

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

ix.颜色分量(例如可以仅应用于亮度分量和/或色度分量)

x.时域层ID

xi.标准的配置文件/级别/层级

5.附加实施例

5.1实施例1

该部分示出了示例实施例,其中与基准比特流语法相比,视频的比特流表示可以改变。使用斜体加粗文本条目突出显示改变。

表9-4语法元素和相关联的二进制化

表9-10–使用上下文编解码位将ctxInc赋值给语法元素

5.2实施例#2

该实施例描述了modeType。新添加的文本以斜体加粗显示。

变量modeType指定对于编解码树节点内的编解码单元是否可以使用帧内、IBC,调色板和帧间编解码模式(MODE_TYPE_ALL),或者是否仅可以使用帧内、调色板和IBC编解码模式(MODE_TYPE_INTRA),或者是否仅可以使用帧间编解码模式(MODE_TYPE_INTER)。

5.3实施例#3

该实施例描述了编解码单元语法。在该实施例中,在pred_mode_ibc_flag之后信令通知pred_mode_plt_flag。新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

7.3.7.5编解码单元语法

5.4实施例#4

该实施例描述了编解码单元语法。在该实施例中,在pred_mode_ibc_flag之后信令通知pred_mode_plt_flag,并且仅在当前预测模式是MODE_INTRA时,信令通知pred_mode_plt_flag。新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

7.3.7.5编解码单元语法

5.5实施例#5

该实施例描述了编解码单元语法。在该实施例中,在pred_mode_plt_flag之后信令通知pred_mode_ibc_flag。新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

7.3.7.5编解码单元语法

5.6实施例#6

该实施例描述了编解码单元语法。在该实施例中,在pred_mode_plt_flag之后信令通知pred_mode_ibc_flag,并且仅在当前预测模式为MODE_INTRA时,信令通知pred_mode_plt_flag。新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

7.3.7.5编解码单元语法

5.7实施例#7

该实施例描述了编解码单元语法。在该实施例中,当预测模式是MODE_INTRA时,信令通知pred_mode_plt_flag和pred_mode_ibc_flag。新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

7.3.7.5编解码单元语法

5.8实施例#8

该实施例描述了编解码单元语法。在该实施例中,当预测模式不是MODE_INTRA时,信令通知pred_mode_plt_flag和pred_mode_ibc_flag。新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

7.3.7.5编解码单元语法

5.9实施例#9

该实施例描述了编解码单元语法。在该实施例中,当预测模式是MODE_INTER时,信令通知pred_mode_plt_flag和pred_mode_ibc_flag。新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

7.3.7.5编解码单元语法

5.10实施例#10

该实施例描述了pred_mode_plt_flag的语义。新添加的文本以斜体加粗显示。

5.11实施方案#11

该实施例描述了pred_mode_plt_flag的语义。新添加的文本以斜体加粗显示。

5.12实施例#12

该实施例描述了边界强度的推导。新添加的文本以斜体加粗显示。

8.8.3.5边界滤波强度的推导过程

该过程的输入是:

图片样点阵列recPicture,

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

指定当前编解码块的宽度的变量nCbW,

指定当前编解码块的高度的变量nCbH,

指定是对垂直(EDGE_VER)还是水平(EDGE_HOR)边缘进行滤波的变量edgeType,

指定当前编解码块的颜色分量的变量cIdx,

二维(nCbW)x(nCbH)阵列edgeFlags。

该过程的输出是指定边界滤波强度的二维(nCbW)x(nCbH)阵列bS。

变量bS[xDi][yDj]推导如下:

如果cIdx等于0,并且样点p0和q0都在intra_bdpcm_flag等于1的编解码块中,则将bS[xDi][yDj]设置为等于0。

否则,如果样点p0或q0在以帧内预测模式进行编解码的编解码单元的编解码块中,则将bS[xDi][yDj]设置为等于2。

否则,如果块边缘也是变换块边缘,并且样点p0或q0在ciip_flag等于1的编解码块中,则将bS[xDi][yDj]设置为等于2。

否则,如果块边缘也是变换块边缘,并且样点p0或q0在包含一个或多个非零变换系数级别的变换块中,则将bS[xDi][yDj]设置为等于1。

否则,如果包含样点p0的编解码子块的预测模式与包含样点q0的编解码子块的预测模式不同,则将bS[xDi][yDj]设置为等于1。

否则,如果cIdx等于0并且以下一个或多个条件为真,则将bS[xDi][yDj]设置为等于1:

包含样点p0的编解码子块和包含样点q0的编解码子块均以IBC预测模式进行编解码,并且用于两个编解码子块的预测中的运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一亮度样点为单位)。

对于包含样点p0的编解码子块的预测,使用与对于包含样点q0的编解码子块不同的参考图片或不同数量的运动矢量。

注1–仅基于参考了哪些图片来确定用于两个编解码子块的参考图片是相同还是不同,不论使用参考图片列表0的索引还是使用参考图片列表1的索引来形成预测,也不论参考图片列表中的索引位置是否不同。

注2–用于左上样点覆盖(xSb,ySb)的编解码子块的预测的运动矢量的数量等于PredFlagL0[xSb][ySb]+PredFlagL1[xSb][ySb]。

一个运动矢量用于预测包含样点p0的编解码子块,一个运动矢量用于预测包含样点q0的编解码子块,并且所使用的运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一亮度样点为单位)。

将两个运动矢量和两个不同的参考图片用于预测包含样点p0的编解码子块,将两个相同的参考图片的两个运动矢量用于预测包含样点q0的编解码子块,并且对于相同的参考图片,用于两个编解码子块的预测的运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一亮度样点为单位)。

将相同参考图片的两个运动矢量用于预测包含样点p0的编解码子块,将相同参考图片的两个运动矢量用于预测包含样点q0的编解码子块,并且以下条件二者为真:

用于两个编解码子块的预测的列表0运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一的亮度样点为单位),用于两个编解码子块的预测的列表1运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一的亮度样点为单位)。

用于包含样点p0的编解码子块的预测的列表0运动矢量以及用于包含样点q0的编解码子块的预测的列表1运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一亮度样点为单位),或者用于包含样点p0的编解码子块的预测的列表1运动矢量以及用于包含样点q0的编解码子块的预测的列表0运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一亮度样点为单位)。

否则,将变量bS[xDi][yDj]设置为等于0。

5.13a实施方案#13a

该实施例描述了边界强度的推导。新添加的文本以斜体加粗显示。

8.8.3.5边界滤波强度的推导过程

该过程的输入是:

图片样点阵列recPicture,

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

指定当前编解码块的宽度的变量nCbW,

指定当前编解码块的高度的变量nCbH,

指定是对垂直(EDGE_VER)还是水平(EDGE_HOR)边缘进行滤波的变量edgeType,

指定当前编解码块的颜色分量的变量cIdx,

二维(nCbW)x(nCbH)阵列edgeFlags。

该过程的输出是指定边界滤波强度的二维(nCbW)x(nCbH)阵列bS。

变量bS[xDi][yDj]推导如下:

如果cIdx等于0,并且样点p0和q0都在intra_bdpcm_flag等于1的编解码块中,将则bS[xDi][yDj]设置为等于0。

否则,如果样点p0或q0在以帧内预测模式进行编解码的编解码单元的编解码块中,则将bS[xDi][yDj]设置为等于2。

否则,如果块边缘也是变换块边缘,并且样点p0或q0在ciip_flag等于1的编解码块中,则将bS[xDi][yDj]设置为等于2。

否则,如果块边缘也是变换块边缘,并且样点p0或q0在包含一个或多个非零变换系数级别的变换块中,则将bS[xDi][yDj]设置为等于1。

否则,如果包含样点p0的编解码子块的预测模式与包含样点q0的编解码子块的预测模式不同,则将bS[xDi][yDj]设置为等于1。

否则,如果cIdx等于0,并且以下一个或多个条件为真,则将bS[xDi][yDj]设置为等于1:

包含样点p0的编解码子块和包含样点q0的编解码子块均以IBC预测模式进行编解码,并且用于两个编解码子块的预测的运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一亮度样点为单位)。

对于包含样点p0的编解码子块的预测,使用与对于包含样点q0的编解码子块不同的参考图片或不同数量的运动矢量。

注1–仅基于参考了哪些图片来确定用于两个编解码子块的参考图片是相同还是不同,不论使用参考图片列表0的索引还是使用参考图片列表1的索引来形成预测,也不论参考图片列表中的索引位置是否不同。

注2–用于左上样点覆盖(xSb,ySb)的编解码子块的预测的运动矢量的数量等于PredFlagL0[xSb][ySb]+PredFlagL1[xSb][ySb]。

一个运动矢量用于预测包含样点p0的编解码子块,一个运动矢量用于预测包含样点q0的编解码子块,并且所使用的运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一亮度样点为单位)。

将两个运动矢量和两个不同的参考图片用于预测包含样点p0的编解码子块,将两个相同的参考图片的两个运动矢量用于预测包含样点q0的编解码子块,并且对于相同的参考图片,用于两个编解码子块的预测的运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一亮度样点为单位)。

将相同参考图片的两个运动矢量用于预测包含样点p0的编解码子块,将相同参考图片的两个运动矢量用于预测包含样点q0的编解码子块,并且以下条件二者为真:

用于两个编解码子块的预测的列表0运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一的亮度样点为单位),用于两个编解码子块的预测的列表1运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一的亮度样点为单位)。

用于包含样点p0的编解码子块的预测的列表0运动矢量以及用于包含样点q0的编解码子块的预测的列表1运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一亮度样点为单位),或者用于包含样点p0的编解码子块的预测的列表1运动矢量以及用于包含样点q0的编解码子块的预测的列表0运动矢量的水平或垂直分量之间的绝对差大于或等于4(以四分之一亮度样点为单位)。

否则,将变量bS[xDi][yDj]设置为等于0。

5.13b实施方案#13b

该实施例描述了逸出样点编解码和重建。新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

[[列表levelScale[]被指定为levelScale[k]={40,45,51,57,64,72},其中k=0..5。]]

适用以下内容:

[[tmpVal=(PaletteEscapeVal[cIdx][xCb+xL][yCb+yL]*

levelScale[qP%6])<<(qP/6)+32)>>6(8-77)

recSamples[x][y]=Clip3(0,(1<<bitDepth)-1,tmpVal)(8-78)]]

recSamples[x][y]=Clip3(0,(1<<bitDepth)-1,PaletteEscapeVal[cIdx][xCb+xL][yCb+yL]) (8-78)

5.14实施例#14

新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

8.4.5.3调色板模式的解码过程

该过程的输入是:

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

–指定调色板表中的第一颜色分量的变量startComp,

–指定当前块的颜色分量的变量cIdx,

–分别指定当前块的宽度和高度的两个变量nCbW和nCbH。

该过程的输出是指定该块的重建样点值的阵列recSamples[x][y],其中x=0..nCbW-1,y=0..nCbH-1。

取决于cIdx的值,变量nSubWidth和nSubHeight推导如下:

–如果cIdx等于0,则将nSubWidth设置为1,并且将nSubHeight设置为1。

–否则,将nSubWidth设置为SubWidthC,并且将nSubHeight设置为SubHeightC。

位置(xCb,yCb)处的重建样点阵列recSamples的(nCbW x nCbH)块由recSamples[x][y]表示,其中x=0..nCTbW-1且y=0..nCbH-1,并且对于在范围0到nCbW-1(包括0和nCbW-1)中每个x,以及在范围0到nCbH-1(包括0和nCbH-1)中每个y,recSamples[x][y]的值推导如下:

–变量xL和yL推导如下:

xL=palette_transpose_flag?x*nSubHeight:x*nSubWidth(8-234)

yL=palette_transpose_flag?y*nSubWidth:y*nSubHeight(8-235)

–变量bIsEscapeSample推导如下:

–如果PaletteIndexMap[xCb+xL][yCb+yL]等于MaxPaletteIndex,且palette_escape_val_present_flag等于1,则将bIsEscapeSample设置为等于1。

–否则,将bIsEscapeSample设置为等于0。

–如果bIsEscapeSample等于0,则适用以下内容:

recSamples[x][y]=CurrentPaletteEntries[cIdx][PaletteIndexMap[xCb+xL][yCb+yL]](8-236)

–否则,如果cu_transquant_bypass_flag等于1,则适用以下内容:

recSamples[x][y]=PaletteEscapeVal[cIdx][xCb+xL][yCb+yL](8-237)

–否则(bIsEscapeSample等于1且cu_transquant_bypass_flag等于0),适用以下有序步骤:

1.用指定当前块的左上样点相对于当前图片的左上样点的位置(xCb,yCb)调用第8.7.1节中指定的量化参数推导过程。

[Ed.(BB):QP在帧内CU解码过程开始时就已经被推导,因此无需在此子条款中再次对其进行推导。尽管类似于HEVC v4 SCC,但我认为可以删除此冗余。请确认。]

QpPrimeTsMin=4+min_qp_prime_ts_minus4

3.变量bitDepth推导如下:

bitDepth=(cIdx==0)?BitDepthY:BitDepthC (8-241)

4.列表levelScale[]被指定为levelScale[k]={40,45,51,57,64,72},其中k=0..5。

[Ed.(BB):对于非调色板CU,levelScale取决于rectNonTsFlag,这也应在此应用吗?]

5.适用以下内容:

tmpVal=(PaletteEscapeVal[cIdx][xCb+xL][yCb+yL]*levelScale[qP%6])<<(qP/6)+32)>>6(8-242)

recSamples[x][y]=Clip3(0,(1<<bitDepth)-1,tmpVal)(8-243)

当以下条件中的一个为真时:

–cIdx等于0,且numComps等于1;

–cIdx等于3;

变量PredictorPaletteSize[startComp]和阵列PredictorPaletteEntries推导或修改如下:

for(i=0;i<CurrentPaletteSize[startComp];i++)

for(cIdx=startComp;cIdx<(startComp+numComps);cIdx++)

newPredictorPaletteEntries[cIdx][i]=CurrentPaletteEntries[cIdx][i]

newPredictorPaletteSize=CurrentPaletteSize[startComp]

for(i=0;i<PredictorPaletteSize&&newPredictorPaletteSize<PaletteMaxPredictorSize;i++)

if(!PalettePredictorEntryReuseFlags[i]){

for(cIdx=startComp;cIdx<(startComp+numComps);cIdx++) (8-244)

newPredictorPaletteEntries[cIdx][newPredictorPaletteSize]=PredictorPaletteEntries[cIdx][i]

newPredictorPaletteSize++

}

for(cIdx=startComp;cIdx<(startComp+numComps);cIdx++)

for(i=0;i<newPredictorPaletteSize;i++)

PredictorPaletteEntries[cIdx][i]=newPredictorPaletteEntries[cIdx][i]

PredictorPaletteSize[startComp]=newPredictorPaletteSize

比特流一致性的要求是PredictorPaletteSize[startComp]的值应在0到PaletteMaxPredictorSize(包括0和PaletteMaxPredictorSize)的范围内。

5.15实施例15

新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

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

–否则(skip_intra_flag[xPb][yPb]和DimFlag[xPb][yPb]都等于0),通过以下有序步骤来推导IntraPredModeY[xPb][yPb]:

1.分别将相邻位置(xNbA,yNbA)和(xNbB,yNbB)置为等于(xPb-1,yPb)和(xPb,yPb-1)。

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

■–将设置为等于(xPb,yPb)的位置(xCurr,yCurr)、设置为相等于(xNbX,yNbX)的相邻位置(xNbY,yNbY)作为输入来调用第6.4.1节中指定的按z扫描顺序的块的可用性推导过程,并且将输出赋值配给availableX。

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

■–如果availableX等于FALSE,则将candIntraPredModeX设置为等于INTRA_DC。

■[[–否则,如果CuPredMode[xNbX][yNbX]不等于MODE_INTRA或pcm_flag[xNbX][yNbX]等于1或,则将candIntraPredModeX设置为等于INTRA_DC,]]

■–否则,如果X等于B并且yPb-1小于((yPb>>CtbLog2SizeY)<<CtbLog2SizeY),则将candIntraPredModeB设置为等于INTRA_DC。

■–否则,如果IntraPredModeY[xNbX][yNbX]大于34,则将candIntraPredModeX设置为等于INTRA_DC。

5.16实施例#16

新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

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

该过程的输入是:

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

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

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

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

1.对于由A或B替换的X,变量candIntraPredModeX推导如下:

–将设置为等于(xCb,yCb)的位置(xCurr,yCurr)和设置为等于(xNbX,yNbX)的相邻位置(xNbY,yNbY)作为输入来调用第6.4.X节[Ed.(BB):相邻块可用性检查过程有待确定]中指定的可用性推导过程,并将输出赋值给availableX。

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

–如果以下一个或多个条件为真,则将candIntraPredModeX设置为等于INTRA_PLANAR。

–变量availableX等于FALSE。

–CuPredMode[xNbX][yNbX]不等于MODE_INTRA。

–pred_mode_plt_flag等于1。

–intra_mip_flag[xNbX][yNbX]等于1。

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

–否则,将candIntraPredModeX设置为等于IntraPredModeY

[xNbX][yNbX]。

将变量IntraPredModeY[x][y](其中x=xCb..xCb+cbWidth-1且y=yCb..yCb+cbHeight–1)设置为等于IntraPredModeY[xCb][yCb]。

5.17实施例#17

新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

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

该过程的输入是:

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

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

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

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

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

–将设置为(xCb,yCb)的位置(xCurr,yCurr)和设置为等于(xNbX,yNbX)的相邻位置(xNbY,yNbY)作为输入来调用第6.4.X节[Ed.(BB):相邻块可用性检查过程待定]中指定的可用性推导过程,并且将输出赋值给availableX。

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

–如果以下一个或多个条件为真,则将candIntraPredModeX设置为等于[[INTRA_PLANAR]]INTRA_DC。

–变量availableX等于FALSE。

–CuPredMode[xNbX][yNbX]不等于MODE_INTRA。

–intra_mip_flag[xNbX][yNbX]等于1。

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

–否则,将candIntraPredModeX设置为等于IntraPredModeY[xNbX][yNbX]。

将变量IntraPredModeY[x][y](其中x=xCb..xCb+cbWidth-1且y=yCb..yCb+cbHeight–1)设置为等于IntraPredModeY[xCb][yCb]。

5.18实施例#18

新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

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

该过程的输入是:

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

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

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

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

3.对于由A或B替换的X,变量candIntraPredModeX推导如下:

–将设置为等于(xCb,yCb)的位置(xCurr,yCurr)和设置为等于(xNbX,yNbX)的相邻位置(xNbY,yNbY)作为输入来调用第6.4.X节[Ed.(BB):相邻块可用性检查过程待定]中指定的可用性推导过程,并且将输出赋值给availableX。

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

–如果以下一个或多个条件为真,则将candIntraPredModeX设置为等于[[INTRA_PLANAR]]INTRA_DC。

–变量availableX等于FALSE。

–CuPredMode[xNbX][yNbX]不等于MODE_INTRA。

–intra_mip_flag[xNbX][yNbX]等于1。

–pred_mode_plt_flag等于1。

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

–否则,将candIntraPredModeX设置为等于IntraPredModeY[xNbX][yNbX]。

将变量IntraPredModeY[x][y](其中x=xCb..xCb+cbWidth-1且y=yCb..yCb+cbHeight–1)设置为等于IntraPredModeY[xCb][yCb]。

5.19实施例#19

新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

5.20实施例#20

新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

5.21实施例#21

新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

5.22实施例#22

该实施例描述了编解码单元语法。在该实施例中,在pred_mode_ibc_flag之后信令通知pred_mode_plt_flag。新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

7.3.7.5编解码单元语法

5.23实施例#23

新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

5.24实施例#24

该实施例描述了编解码单元语法。该实施例中,在pred_mode_ibc_flag之后信令通知pred_mode_plt_flag。新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

7.3.7.5编解码单元语法

5.25实施例#25

该实施例描述了编解码单元语法。在该实施例中,如果当前预测模式是MODE_PLT,则信令通知调色板语法。新添加的文本以斜体加粗显示,并且删除的文本以“[[]]”标记。

7.3.7.5编解码单元语法

5.26实施例#26

该实施例描述了色度帧内预测模式的推导过程。新添加的文本以斜体加粗显示。

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

该过程的输入是:

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

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

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

在该过程中,推导了色度帧内预测模式IntraPredModeC[xCb][yCb]。

对应的亮度帧内预测模式lumaIntraPredMode推导得出:

–如果intra_mip_flag[xCb][yCb]等于1,则将lumaIntraPredMode设置为等于INTRA_PLANAR。

–否则,如果CuPredMode[0][xCb][yCb]等于MODE_IBC或MODE_PLT,则lumaIntraPredMode设置为等于INTRA_DC。

–否则,将lumaIntraPredMode设置为等于IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]。

5.27实施例#27

该实施例描述具有亮度样点映射过程的图片重建过程。新添加的文本以斜体加粗显示。

具有亮度样点映射过程的图片重建。该过程的输入是:

–当前块的左上样点相对于当前图片的左上样点的位置(xCurr,yCurr),

–指定块的宽度的变量nCurrSw,

–指定块的高度的变量nCurrSh,

–指定当前块的亮度预测样点的(nCurrSw)x(nCurrSh)阵列predSamples,

–指定当前块的亮度残差样点的(nCurrSw)x(nCurrSh)阵列resSamples。

该过程的输出是重建的亮度图像样点阵列recSamples。

映射的预测亮度样点predMapSamples的(nCurrSw)x(nCurrSh)阵列推导如下:

–如果以下条件中的一个为真,则对于i=0..nCurrSw-1,j=0..nCurrSh-1,将predMapSamples[i][j]设置为等于predSamples[i][j]。

–CuPredMode[0][xCurr][yCurr]等于MODE_INTRA。

–CuPredMode[0][xCurr][yCurr]等于MODE_IBC。

–CuPredMode[0][xCurr][yCurr]等于MODE_PLT。

–CuPredMode[0][xCurr][yCurr]等于MODE_INTER,ciip_flag[xCurr][yCurr]等于1。

–否则(CuPredMode[0][xCurr][yCurr]等于MODE_INTER且ciip_flag[xCurr][yCurr]等于0),适用以下内容:

5.28实施例#28

该实施例描述了与第4节中的示例24对应的示例扫描顺序。

该过程的输入是块宽度blkWidth和块高度blkHeight。

该过程的输出是阵列hReverScan[sPos][sComp]和vReverScan[sPos][sComp]。阵列hReverScan代表水平反向扫描顺序,并且阵列vReverScan代表垂直反向扫描顺序。阵列索引sPos指定扫描位置,范围从0到(blkWidth*blkHeight)-1(包含0和(blkWidth*blkHeight)-1)。阵列索引sComp等于0指定水平分量,并且阵列索引sComp等于1指定垂直分量。取决于blkWidth和blkHeight的值,阵列hTravScan和vTravScan推导如下:

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

图8是用于处理视频的方法800的流程图。方法800包括确定(805)调色板模式将被用于处理变换单元、编解码块或区域,调色板模式的使用与预测模式分开被编解码,以及执行(810)对使用调色板模式的变换单元、编解码块或区域的进一步处理。

参考方法800,在本文件的第4节中描述了调色板模式编解码及其使用的一些示例。

参考方法800,可以在视频比特流中对视频块进行编码,其中可以通过使用与调色板模式编解码有关的比特流生成规则来实现比特效率。

该方法可以包括,其中,在指示调色板模式的使用之前对预测模式进行编解码。

该方法可以包括,其中,基于预测模式有条件地信令通知调色板模式的使用。

该方法可以包括,其中,预测模式是帧内块复制模式,并且跳过对调色板模式的使用的指示的信令。

该方法可以包括,其中,基于当前预测模式是帧内块复制模式,将调色板模式的使用的指示确定为假(false)。

该方法可以包括,其中,预测模式是帧间模式,并且跳过调色板模式的使用的指示的信令。

该方法可以包括,其中,基于当前的预测模式是帧间模式,将调色板模式的使用的指示确定为假。

该方法可以包括,其中,预测模式是帧内模式,并且跳过调色板模式的使用的指示的信令。

该方法可以包括,其中,基于当前预测模式是帧内模式,将调色板模式的使用的指示确定为假。

该方法可以包括,其中,预测模式是帧内模式,并且跳过调色板模式的使用的指示的信令。

该方法可以包括,其中,预测模式是帧内块复制模式,并且执行调色板模式的使用的指示的信令。

该方法可以包括,其中,基于图片、条带或片组类型来信令通知调色板模式的使用的指示。

该方法可以包括,其中,将调色板模式添加为预测模式的候选。

该方法可以包括,其中,预测模式包括以下一种或多种:帧内模式、帧内块复制模式或用于帧内条带、帧间条带、I图片、P图片、B图片或帧内片组的调色板模式。

该方法可以包括,其中,预测模式包括以下两种或多种:帧内模式、帧间模式、帧内块复制模式或调色板模式。

该方法可以包括,其中,调色板模式的使用经由信令通知指示或基于条件导出。

该方法可以包括,其中,该条件包括以下一项或多项:当前块的块尺寸、当前块的预测模式、当前块的量化参数(QP)、相邻块的调色板标志、相邻块的帧内块复制标志、颜色格式的指示、单独或双重编解码树结构或条带类型或组类型或图片类型。

该方法可以包括,其中,基于条带级别标志、片组级别标志或图片级别标志来信令通知或推导调色板模式的使用。

该方法可以包括,其中,基于条带级别标志、片组级别标志或图片级别标志来信令通知或推导对帧内块复制模式的使用的指示。

参考先前部分中公开的第6至9项,一些实施例可以优选地使用以下解决方案。

一种解决方案可以包括视频处理的方法,该方法包括:在视频的图片的当前视频块与视频的比特流表示之间进行转换,其中,在该转换中,在比特流表示中信令通知或者基于当前视频块的编解码条件导出关于在该转换中是否使用帧内块复制模式的信息;其中,帧内块复制模式包括对来自图片中另一视频块的当前视频块进行编解码。可以在各种实施例中实现以下特征:

-其中,编解码条件包括当前视频块的块尺寸。

-其中,编解码条件包括当前视频块的预测模式或在当前视频块的转换中使用的量化参数。

参考在先前部分中公开的第13至15项,一些实施例可以优选地实现以下解决方案。

解决方案可以包括用于确定在视频的图片的当前视频块的转换期间是否将应用解块滤波器的方法,其中,使用调色板模式编解码来对当前视频块进行编解码,其中使用少于当前视频块的总像素的代表性样点值来表示当前视频块;以及在确定要应用解块滤波器的情况下,进行转换以使得应用解块滤波器。

另一解决方案可以包括视频处理的方法,包括确定在视频的图片的当前视频块与视频的比特流表示之间的转换期间使用量化或逆量化过程,其中,使用调色板模式编解码对当前视频块进行编解码,其中使用少于当前视频块的总像素的代表性样点值来表示当前视频块;以及基于确定量化或逆量化过程来进行转换。其他特征可能包括:

-其中,为当前视频块确定的量化或逆量化过程不同于应用于与调色板编解码模式不同地编解码的另一视频块的另一量化或逆量化过程。

-其中,转换包括将当前视频块编码为比特流表示。

-其中,转换包括对比特流表示进行解码以生成视频的当前视频块。

-其中,该确定使用与用于帧内编解码的另一视频块的转换的另一决策过程相同的决策过程。

将会理解,所公开的技术可以体现在视频编码器或解码器中,以使用增强的编解码树结构来提高压缩效率。

参照先前部分的第16至21项,一些解决方案可以如下:

一种视频处理方法,包括:对于包括多个视频块的视频的当前视频块和视频的比特流表示之间的转换,确定当前视频块是调色板编解码的块;基于该确定,通过将当前视频块视为帧内编解码的块来执行最可能的模式的列表构建过程,并基于列表构建过程的结果进行转换;其中使用调色板或表示样点值对调色板编解码的块进行编解码或解码。

以上方法,其中列表构建过程将相邻的调色板编解码的块视为具有默认模式的帧内块。

一种视频处理方法,包括:对于包括多个视频块的视频的当前视频块和视频的比特流表示之间的转换,确定当前视频块是调色板编解码的块;基于该确定,通过将当前视频块视为非帧内编解码的块来执行最可能的模式的列表构建过程,并基于列表构建过程的结果进行转换;其中使用调色板或表示样点值对调色板编解码的块进行编解码或解码。

以上方法,其中当获取相邻的调色板编解码的块的帧内模式时,列表构建处理将相邻的调色板编解码的块视为帧间编解码的块。

一种视频处理方法,包括:对于包括多个视频块的视频的当前视频块和视频的比特流表示之间的转换,确定当前视频块是调色板编解码的块;基于该确定,通过将当前视频块视为不可用块来执行列表构建过程,并基于列表构建过程的结果进行转换;其中使用调色板或表示样点值对调色板编解码的块进行编解码或解码。

以上方法,其中,列表构建过程用于基于历史的运动矢量预测。

以上方法,其中,列表构建过程是用于MERGE或高级运动矢量预测模式的。

以上方法,其中,该确定还包括基于视频的内容来确定。

以上方法,其中,该确定对应于比特流表示中的字段。

一种视频处理的方法,包括:在当前视频块和当前视频块的比特流表示之间的转换期间,确定当前视频块是调色板编解码的块,基于当前视频块确定是调色板编解码的块,确定用于转换的上下文编解码的位的范围;以及根据上下文编解码的位的范围进行转换。

以上方法,其中,在转换期间,使用旁路编解码技术对落在该范围之外的当前视频块的位进行编解码或使用旁路解码技术对落在该范围之外的当前视频块的位进行解码。

以上方法,其中,转换包括将视频编码为比特流表示。

以上方法,其中,转换包括解码比特流表示以生成视频。

图24是示出其中可实现本文中所公开的各种技术的示例视频处理系统2400的框图。各种实现方式可以包括系统2400的一些或全部组件。系统2400可以包括用于接收视频内容的输入2402。视频内容可以以原始或未压缩的格式(例如8或10位多分量像素值)接收,或者可以以压缩或编码的格式接收。输入1902可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(PON)等)和无线接口(诸如Wi-Fi或蜂窝接口)。

系统2400可以包括可以实现本文中描述的各种编解码或编码方法的编解码组件2404。编解码组件2404可以减少从编解码组件2404的输入2402到输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时称为视频压缩或视频转码技术。如组件2406所表示的,编解码组件2404的输出可以被存储或经由所连接的通信来发送。在输入2402处接收的视频的存储或传送的比特流(或编解码)表示可以被组件2408使用,以生成被发送到显示接口2410的像素值或可显示视频。从比特流表示中生成用户可见视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但是应当理解,在编码器处使用编解码工具或操作,并且将由编码器执行反向编解码结果的相应解码工具或操作。

外围总线接口或显示接口的示例可以包括通用串行总线(USB)或高清多媒体接口(HDMI)或Displayport等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文中描述的技术可以体现在各种电子设备中,诸如移动电话、膝上型计算机、智能电话或其他能够执行数字数据处理和/或视频显示的设备。

图25是根据本技术的用于视频处理的方法2500的流程图。方法2500包括,在操作2510,在视频的视频区域的块与视频的比特流表示之间进行转换。根据第一格式规则以及第二格式规则来处理比特流表示,第一格式规则指定是否对块信令通知对调色板模式的使用的第一指示,第二格式规则指定第一指示相对于对块的预测模式的使用的第二指示的位置。

在一些实施例中,视频区域包括变换单元、编解码单元、预测单元或视频的区域。在一些实施例中,在比特流表示中,将对预测模式的使用的第二指示放置在对调色板模式的使用的第一指示之前。

在一些实施例中,基于对预测模式的使用的第二指示,调色板模式的使用的第一指示有条件地包括在比特流表示中。在一些实施例中,在对预测模式的使用的第二指示指示帧内块复制(IBC)预测模式的情况下,在比特流表示中跳过对调色板模式的使用的第一指示。在一些实施例中,在对预测模式的使用的第二指示指示帧间预测模式的情况下,在比特流表示中跳过对调色板模式的使用的第一指示。在一些实施例中,在对预测模式的使用的第二指示指示帧内预测模式的情况下,在比特流表示中跳过对调色板模式的使用的第一指示。在一些实施例中,在对预测模式的使用的第二指示指示跳过模式的情况下,在比特流表示中跳过对调色板模式的使用的第一指示。在一些实施例中,在比特流表示中跳过对调色板模式的使用的第一指示指示未使用调色板模式。

在一些实施例中,在对预测模式的使用的第二指示指示IBC预测模式的情况下,在比特流中对调色板模式的使用的第一指示进行编解码。在一些实施例中,在对预测模式的使用的第二指示指示帧内预测模式的情况下,在比特流中对调色板模式的使用的第一指示进行编解码。在一些实施例中,预测模式不是脉冲编解码调制(PCM)模式。在一些实施例中,在比特流表示中,在对PCM模式的使用的指示之前对调色板模式的使用的第一指示进行编解码。在一些实施例中,在比特流表示中跳过对PCM模式的使用的指示。在一些实施例中,在比特流表示中对IBC模式的指示进行编解码。在一些实施例中,在使用帧内预测模式的情况下,比特流表示中的标志指示在比特流表示中信令通知调色板模式还是IBC模式。在一些实施例中,基于块的条件跳过标志,条件包括块的尺寸、是否对与块相关联的区域启用了IBC模式,或者是否对与块关联的区域启用了调色板模式。

在一些实施例中,其中在对预测模式的使用的第二指示指示帧间预测模式的情况下,在比特流中对调色板模式的使用的第一指示进行编解码。在一些实施例中,在以下至少一项之后对调色板模式的使用的第一指示进行编解码:对跳过模式、预测模式的指示,或对PCM模式的使用的指示。在一些实施例中,在对跳过模式或预测模式的指示之后对调色板模式的使用的第一指示进行编解码,并且在对PCM模式的使用的指示之前对调色板模式的使用的第一指示进行编解码。

在一些实施例中,在比特流表示中,将对调色板模式的使用的第一指示放置在对预测模式的使用的第二指示之前。在一些实施例中,将对调色板模式的使用的第一指示放置在对预测模式的使用的第二指示之后,对预测模式的使用的第二指示指示比特流表示中的帧内或帧间预测模式。在一些实施例中,基于图片、条带或片组类型来信令通知对调色板模式的使用的第一指示。在一些实施例中,对调色板模式的使用的第一指示包括第一标志,第一标志指示对块启用了调色板模式。在一些实施例中,基于指示在序列级别、图片级别、片组级别或片级别启用调色板模式的第一标志,将对调色板模式的使用的第一指示有条件地包括在比特流表示中。在一些实施例中,在对块禁用调色板模式的情况下,在比特流表示中包括指示块的PCM模式的另一标志。在一些实施例中,基于当前块的一个或多个相邻块的信息对第一标志进行上下文编解码。在一些实施例中,在没有来自当前块的一个或多个相邻块的上下文信息的情况下,对第一标志进行编解码。

在一些实施例中,对预测模式的使用的第二指示包括指示预测模式的第二标志。在一些实施例中,在比特流表示中的第二标志指示预测模式是帧间模式的情况下,比特流表示还包括指示是否启用帧内块复制模式的第三标志。在一些实施例中,在比特流表示中的第二标志指示预测模式是帧内模式的情况下,比特流表示还包括指示是否启用帧内块复制模式的第三标志。在一些实施例中,基于块的尺寸,将第三标志有条件地包括在比特流表示中。

在一些实施例中,块是编解码单元,并且其中,比特流表示中的第二标志指示预测模式是帧内模式。在一些实施例中,基于块的尺寸,将第一标志有条件地包括在比特流表示中。

图26是根据本技术的用于视频处理的方法2600的流程图。方法2600包括,在操作2610,对于视频中视频区域的块和视频的比特流表示之间的转换,基于一个或多个允许的至少包括块的调色板模式的预测模式来确定预测模式。根据预测模式来确定调色板模式的使用的指示。该方法2600包括,在操作2620,基于确定进行转换。

在一些实施例中,一个或多个允许的预测模式包括帧内模式。在一些实施例中,一个或多个允许的预测模式包括帧内块复制(IBC)模式。在一些实施例中,一个或多个允许的预测模式包括帧间模式。

在一些实施例中,视频区域包括帧内条带、帧内图片或帧内片组。在一些实施例中,一个或多个允许的预测模式包括帧内模式、帧内块复制模式和调色板模式。

在一些实施例中,视频区域包括帧间条带、帧间图片、帧间片组、P条带、B条带、P图片或B图片。在一些实施例中,一个或多个允许的预测模式包括帧内模式、帧内块复制模式、调色板模式和帧间模式。

在一些实施例中,块具有4×4的尺寸。在一些实施例中,在块具有4×4的尺寸的情况下,一个或多个允许的预测模式不包括帧间模式。

在一些实施例中,在未以跳过模式对块进行编解码的情况下,比特流表示至少包括表示一个或多个允许的预测模式的预测模式索引,其中,使用一个或多个二进制位来表示预测模式索引。

在一些实施例中,使用三个二进制位来表示预测模式索引,其中第一二进制位值“1”指示帧内模式,其中第一二进制位值“0”和第二二进制位值“0”指示帧间模式,其中第一二进制位值“0”,第二二进制位值“1”,第三二进制位值“0”指示IBC模式,并且其中第一二进制位值“0”,第二二进制位值“1”和第三二进制位值“1”指示调色板模式。

在一些实施例中,使用两个二进制位来表示预测模式索引,其中第一二进制位值“1”和第二二进制位值“0”指示帧内模式,其中第一二进制位值“0”和第二二进制位值“0”指示帧间模式,其中第一二进制位值“0”和第二二进制位值“1”指示IBC模式,并且其中第一二进制位值“1”和第二二进制位值“1”指示调色板模式。

在一些实施例中,在视频的当前条带是帧内条带并且禁用IBC模式的情况下,使用一个二进制位来表示预测模式索引,第一二进制位值“0”指示帧内模式,并且第二二进制位值“1”指示调色板模式。

在一些实施例中,在视频的当前条带不是帧内条带并且禁用IBC模式的情况下,使用两个二进制位来表示预测模式索引,其中第一二进制位值“1”表示帧内模式,其中第一二进制位值“0”和第二二进制位值“0”指示帧间模式,并且其中第一二进制位值“0”和第二二进制位值“1”指示调色板模式。在一些实施例中,在视频的当前条带是帧内条带且启用IBC模式的情况下,使用两个二进制位来表示预测模式索引,其中第一二进制位值“1”指示IBC模式,其中第一二进制位值“0”和第二二进制位值“1”指示调色板模式,并且其中第一二进制位值“0”和第二二进制位值“0”指示帧内模式。在一些实施例中,在比特流表示的序列参数集(SPS)中信令通知对IBC模式的使用的指示。

在一些实施例中,使用三个二进制位来表示预测模式索引,其中第一二进制位值“1”指示帧间模式,其中第一二进制位值“0”和第二二进制位值“1”指示帧内模式,其中第一二进制位值“0”、第二二进制位值“0”和第三二进制位值“1”指示IBC模式,并且其中第一二进制位值“0”、第二二进制位值“0”和第三二进制位值“0”指示调色板模式。

在一些实施例中,使用三个二进制位来表示预测模式索引,其中第一二进制位值“1”指示帧内模式,其中第一二进制位值“0”和第二二进制位值“1”指示帧间模式,其中第一二进制位值“0”、第二二进制位值“0”和第三二进制位值“1”指示IBC模式,并且其中第一二进制位值“0”、第二二进制位值“0”和第三二进制位值“0”指示调色板模式。

在一些实施例中,使用三个二进制位来表示预测模式索引,其中第一二进制位值“0”指示帧间模式,其中第一二进制位值“1”和第二二进制位值“0”指示帧内模式,其中第一二进制位值“1”、第二二进制位值“1”和第三二进制位值“1”指示IBC模式,并且其中第一二进制位值“1”,第二二进制位值“1”和第三二进制位值“0”指示调色板模式。

在一些实施例中,在满足条件的情况下,在比特流表示中跳过一个或多个二进制位中的一个的信令。在一些实施例中,条件包括块的尺寸。在一些实施例中,条件包括:禁用预测模式,并且其中,在比特流表示中跳过与预测模式相对应的二进制位。

图27是根据本技术的用于视频处理的方法2700的流程图。方法2700包括,在操作2710,执行视频的块和视频的比特流表示之间的转换。根据格式规则来处理比特流表示,该格式规则指定彼此相互依赖地信令通知的对调色板模式的使用的第一指示和对帧内块复制(IBC)模式的使用的第二指示。

在一些实施例中,在块的预测模式等于不是IBC模式的第一预测模式的情况下,格式规则指定在比特流表示中信令通知第一指示。在一些实施例中,在块的预测模式等于不是调色板模式的第一预测模式的情况下,格式规则指定在比特流表示中信令通知第二指示。在一些实施例中,第一预测模式是帧内模式。

图28是根据本技术的用于视频处理的方法2800的流程图。方法2800包括,在操作2810,对于视频的块和视频的比特流表示之间的转换,基于块的尺寸,确定在比特流表示中对调色板模式的使用的指示的存在。方法2800包括,在操作2820,基于确定进行转换。

图29是根据本技术的用于视频处理的方法2900的流程图。方法2900包括,在操作2910,对于视频的块与视频的比特流表示之间的转换,基于块的尺寸,确定在比特流表示中对帧内块复制(IBC)模式的使用的指示的存在。方法2900包括在操作2920,基于确定进行转换。在一些实施例中,块的尺寸包括以下中的至少一个:块中的样点数量、块的宽度或块的高度。

在一些实施例中,在块的宽度等于或小于阈值的情况下,在比特流表示中信令通知指示。在一些实施例中,在块的高度等于或小于阈值的情况下,在比特流表示中信令通知指示。在一些实施例中,阈值为64。

在一些实施例中,在块的宽度和高度大于阈值的情况下,在比特流表示中信令通知指示。在一些实施例中,阈值为4。在一些实施例中,在块中的样点数量大于阈值的情况下,在比特流表示中信令通知指示。在一些实施例中,阈值为16。在一些实施例中,在块的宽度等于块的高度的情况下,在比特流表示中信令通知指示。

在一些实施例中,在以下情况下,在比特流表示中不存在指示:(1)块的宽度大于第一阈值,(2)块的高度大于第二阈值,或(3)块中的样点数量等于或小于第三阈值。在一些实施例中,第一阈值和第二阈值为64。在一些实施例中,其中第三阈值为16。

在一些实施例中,确定还基于与块相关联的特性。在一些实施例中,特性包括块的预测模式。在一些实施例中,特性包括块的量化参数。在一些实施例中,特性包括块的相邻块的调色板标志。在一些实施例中,特性包括块的相邻块的IBC标志。在一些实施例中,特征包括对块的颜色格式的指示。在一些实施例中,特性包括块的编解码树结构。在一些实施例中,特征包括块的条带组类型、片组类型或图片类型。

图30是根据本技术的用于视频处理的方法3000的流程图。方法3000包括,在操作3010,对于视频的块和视频的比特流表示之间的转换,基于包含块的视频区域的第二指示,确定块是否允许调色板模式。方法3000还包括,在操作3020,基于确定进行转换。

在一些实施例中,视频区域包括条带、片组或图片。在一些实施例中,在第二指示指示启用分数运动矢量差的情况下,比特流表示不包括对是否允许调色板模式的显式指示。在一些实施例中,将第二指示表示为存在于比特流表示中的标志。在一些实施例中,第二指示指示是否对视频区域启用调色板模式。在一些实施例中,在第二指示指示对视频区域禁用调色板模式的情况下,比特流表示不包括对是否允许调色板模式的显式指示。在一些实施例中,在比特流表示不包括对是否允许调色板模式的显式指示的情况下,块不允许调色板模式。

图31是根据本技术的用于视频处理的方法3100的流程图。方法3100包括,在操作3110,对于视频的块和视频的比特流表示之间的转换,基于包含块的视频区域的第二指示,确定块是否允许帧内块复制(IBC)模式。方法3100包括,在操作3120,基于确定进行转换。

在一些实施例中,视频区域包括条带、片组或图片。在一些实施例中,在第二指示指示启用分数运动矢量差的情况下,比特流表示不包括对是否允许IBC模式的显式指示。在一些实施例中,将第二指示表示为存在于比特流表示中的标志。在一些实施例中,第二指示指示是否对视频区域启用IBC模式。在一些实施例中,在第二指示指示对视频区域禁用IBC模式的情况下,比特流表示不包括对是否允许IBC模式的显式指示。在一些实施例中,在比特流表示不包括对是否允许IBC模式的显式指示的情况下,块不允许IBC模式。

在一些实施例中,转换从比特流表示生成当前块。在一些实施例中,转换从当前块生成比特流表示。

所公开技术的一些实施例包含做出决策或确定以启用视频处理工具或模式。在示例中,当启用视频处理工具或模式时,编码器将在视频块的处理中使用或实现该工具或模式,但是不一定基于该工具或模式的使用来修改结果比特流。也就是说,从视频块到视频的比特流表示的转换将在基于决策或确定启用视频处理工具或模式时使用视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将基于视频处理工具或模式已经知道比特流已被修改的情况下处理比特流。也就是说,将使用基于决策或确定而启用的视频处理工具或模式来执行从视频的比特流表示到视频块的转换。

所公开技术的一些实施例包含作出决策或确定以禁用视频处理工具或模式。在示例中,当禁用视频处理工具或模式时,编码器将在视频块到视频的比特流表示的转换中不使用该工具或模式。在另一示例中,当禁用视频处理工具或模式时,解码器将在知道尚未使用基于决策或确定启用的视频处理工具或模式修改比特流的情况下处理比特流。

本文件中描述的公开的和其他解决方案、示例、实施例、模块和功能操作可以在、数字电子电路中实施,或者在计算机软件、固件或硬件中实施,包括本文件中公开的结构及其结构等同物,或者以他们的一个或多个的组合实施。所公开的和其他实施例可以被实施为一个或多个计算机程序产品,即,在计算机可读介质上编码的一个或多个计算机程序指令模块,用于由数据处理装置运行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质的合成、或者它们中的一个或多个的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或者多个处理器或计算机。除了硬件之外,装置可以包括为所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统及其一个或多个的组合的代码。传播的信号是人工产生的信号,例如机器产生的电、光或电磁信号,其被产生以对信息进行编码以传输到合适的接收器装置。

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

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

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

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

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

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

124页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于小帧间块的存储器带宽减小的方法和装置

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类