视频中的简化二次变换的上下文建模

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

阅读说明:本技术 视频中的简化二次变换的上下文建模 (Context modeling for simplified quadratic transforms in video ) 是由 张莉 张凯 刘鸿彬 王悦 于 2020-05-11 设计创作,主要内容包括:提供了一种视频处理方法,包括:执行视频的当前视频块和视频的编解码表示之间的转换,其中执行转换包括基于视频的当前视频块的特性来配置用于对二进制位进行编解码或对与二次变换工具的索引相对应的二进制位串的二进制位进行旁路编解码的上下文模型,其中索引指示二次变换工具的应用性和/或二次变换工具的核信息,并且其中二次变换工具包括在编码期间,在量化之前对应用于视频块的残差的正一次变换的输出应用正二次变换,或者其中二次变换工具包括在解码期间,在应用逆一次变换之前对视频块的解量化的输出应用逆二次变换。(There is provided a video processing method comprising: performing a transformation between a current video block of a video and a codec representation of the video, wherein performing the transformation comprises configuring a context model for coding or bypass coding of bins of a bin string corresponding to an index of a secondary transformation tool based on a characteristic of the current video block of the video, wherein the index indicates applicability of the secondary transformation tool and/or kernel information of the secondary transformation tool, and wherein the secondary transformation tool comprises applying a positive secondary transformation to an output of the positive primary transformation corresponding to a residue of the video block prior to quantization during encoding, or wherein the secondary transformation tool comprises applying an inverse secondary transformation to an output of a dequantization of the video block prior to applying the inverse primary transformation during decoding.)

视频中的简化二次变换的上下文建模

相关申请的交叉引用

根据适用的专利法和/或依据巴黎公约的规则,本申请旨在及时要求2019年5月10日提交的国际专利申请No.PCT/CN2019/086420的优先权和利益。出于根据法律的所有目的,前述申请的整个公开通过引用并入本文作为本申请的公开的一部分。

技术领域

本专利文档涉及视频处理技术、设备和系统。

背景技术

尽管在视频压缩方面取得了进步,但数字视频仍然占互联网和其他数字通信网络上的最大带宽使用。随着能够接收和显示视频的连接用户设备的数量增加,预计数字视频使用的带宽需求将继续增长。

发明内容

涉及数字视频处理的设备、系统和方法,并且具体地,涉及视频处理中用于残差编解码的上下文建模。所描述的方法可以被应用于现有的视频编解码标准(例如,高效视频编解码(HEVC))和未来的视频编解码标准或视频编解码器。

在一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:执行视频的当前视频块和视频的编解码表示之间的转换,其中该转换包括:基于当前视频块的特性,为视频的当前视频块选择要在二次变换工具对当前视频块的应用中使用的变换集或变换矩阵;以及将所选择的变换集或变换矩阵应用于当前视频块,并且其中,使用二次变换工具:在编码期间,正二次变换在量化之前被应用于应用于当前视频块的残差的正一次变换的输出,或者在解码期间,逆二次变换在应用逆一次变换之前被应用于当前视频块的解量化的输出。

在一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:执行视频的当前视频块和视频的编解码表示之间的转换,其中该转换包括将二次变换工具应用于不是当前视频块的左顶部部分的当前视频块的子区域,并且其中,使用二次变换工具:在编码期间,正二次变换在量化之前被应用于应用于当前视频块的子区域的残差的正一次变换的输出,或者在解码期间,逆二次变换在应用逆一次变换之前被应用于当前视频块的子区域的解量化的输出。

在一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:为视频的当前图片的当前视频块和视频的编解码表示之间的转换确定由于与用于对当前视频块进行编解码的帧内预测方向、编解码工具的使用和/或当前视频块来自的视频的色彩分量有关的规则的二次变换工具对于当前视频块的应用性;以及基于该确定来执行转换。

在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:执行视频的当前视频块和视频的编解码表示之间的转换,其中编解码表示符合指定当前视频块的残差中的最后一个非零系数并且控制关于二次变换工具的边信息是否或如何被包括在编解码表示中的格式规则,并且其中二次变换工具包括在编码期间,在量化之前对应用于视频块的残差的正一次变换的输出应用正二次变换,或者在解码期间,在应用逆一次变换之前对视频块的解量化的输出应用逆二次变换。

在一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:执行视频的当前视频块和视频的编解码表示之间的转换,其中编解码表示符合指定当前视频块的部分的残差中的一个或多个系数并且控制关于二次变换工具的边信息是否或如何被包括在编解码表示中的格式规则,并且其中二次变换工具包括在编码期间,在量化之前对应用于视频块的残差的正一次变换的输出应用正二次变换,或者在解码期间,在应用逆一次变换之前对视频块的解量化的输出应用逆二次变换。

在一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:执行视频的当前视频块和视频的编解码表示之间的转换,其中执行转换包括基于当前视频块的一个或多个编解码组中非零系数的存在来确定二次变换工具对当前视频块的应用性,并且其中二次变换工具包括在编码期间,在量化之前对应用于视频块的残差的正一次变换的输出应用正二次变换,或者在解码期间,在应用逆一次变换之前对视频块的解量化的输出应用逆二次变换。

在一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:执行视频的当前视频块和当前视频块的编解码表示之间的转换,其中编解码表示符合指定与当前视频块的二次变换工具的边信息相对应的语法元素在变换相关信息之前在编解码表示中被信令通知的格式规则,其中二次变换工具包括在编码期间,在量化之前对应用于视频块的残差的正一次变换的输出应用正二次变换,或者在解码期间,在应用逆一次变换之前对视频块的解量化的输出应用逆二次变换。

在一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:执行视频的当前视频块和视频的编解码表示之间的转换,其中编解码表示符合指定与当前视频块的二次变换工具的边信息相对应的语法元素在残差编解码信息之前在编解码表示中被信令通知的格式规则,其中二次变换工具包括在编码期间,在量化之前对应用于视频块的残差的正一次变换的输出应用正二次变换,或者在解码期间,在应用逆一次变换之前对视频块的解量化的输出应用逆二次变换。

在一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:执行视频的当前视频块和视频的编解码表示之间的转换,其中执行转换包括根据基于与二次变换工具有关的信息的规则对当前视频块的残差进行编解码,其中二次变换工具包括在编码期间,在量化之前对应用于视频块的残差的正一次变换的输出应用正二次变换,或者在解码期间,在应用逆一次变换之前对视频块的解量化的输出应用逆二次变换。

在一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:执行视频的当前视频块和视频的编解码表示之间的转换,其中执行转换包括根据规则使用不同的上下文建模方法对当前视频块的一个或多个部分应用算术编解码。

在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括执行视频的当前视频块和视频的编解码表示之间的转换,其中执行转换包括基于视频的当前视频块的特性来配置用于对二进制位进行编解码或对与二次变换工具的索引相对应的二进制位串的二进制位进行旁路编解码的上下文模型,其中索引指示二次变换工具的应用性和/或二次变换工具的核信息,并且其中二次变换工具包括在编码期间,在量化之前对应用于视频块的残差的正一次变换的输出应用正二次变换,或者其中二次变换工具包括在解码期间,在应用逆一次变换之前对视频块的解量化的输出应用逆二次变换。

在一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:执行视频的当前视频块和当前视频块的编解码表示之间的转换,其中执行转换包括基于当前视频块的大小来确定语法元素是否被包括在编解码表示中,其中语法元素对应于二次变换工具包括应用二次变换的指示和在二次变换过程中使用的变换核的索引中的至少一个的边信息,并且其中使用二次变换,逆二次变换用于对编解码表示进行解码,并且在应用逆一次变换之前被应用于当前视频块的解量化的输出。

在一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:执行视频的当前视频块和当前视频块的编解码表示之间的转换,其中执行转换包括基于当前视频块的大小来确定语法元素是否被包括在当前视频块的编解码表示中,其中语法元素对应于二次变换包括应用二次变换的指示和在二次变换过程中使用的变换核的索引中的至少一个的边信息,并且其中使用二次变换,正二次变换用于对当前视频块进行编码,并且在应用量化过程之前被应用于当前视频块的一次变换的输出。

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

在又一个代表性方面,公开了一种被配置为或可操作来执行上述方法的设备。该设备可以包括被编程为实施该方法的处理器。

在又一个代表性方面,视频解码器装置可以实施本文描述的方法。

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

附图说明

图1示出了示例编码器的框图。

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

图3示出了用于4×4块的ALWIP的示例。

图4示出了用于8×8块的ALWIP的示例。

图5示出了用于8×4块的ALWIP的示例。

图6示出了用于16×16块的ALWIP的示例。

图7示出了与预测块邻近的四个参考线的示例。

图8示出了4×8和8×4块的划分的示例。

图9示出了除了4×8、8×4和4×4之外的所有块的划分的示例。

图10示出了JEM的二次变换的示例。

图11示出了所提出的简化二次变换(RST)的示例。

图12示出了正简化变换和逆简化变换的示例。

图13示出了利用16×48矩阵的正RST 8×8过程的示例。

图14示出了8×8矩阵的归零(zero-out)区域的示例。

图15示出了子块变换模式SBT-V和SBT-H的示例

图16示出了4×4编解码组的对角线右上扫描顺序的示例。

图17示出了具有尺寸为4×4的编解码组的8×8块的对角线右上扫描顺序的示例。

图18示出了用于选择概率模型的模板的示例。

图19示出了用于依赖量化的两个标量量化器的示例。

图20示出了所提出的依赖量化过程的状态转变和量化器选择的示例。

图21是具有4个编解码组的8×8块的示例。

图22A和图22B是用于实施本文档中描述的可视媒体解码或可视媒体编码技术的硬件平台的示例的框图。

图23A和图23B示出了用于视频处理的示例方法的流程图。

具体实施方式

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

2视频编解码介绍

由于对更高分辨率视频的需求日益增长,视频编解码方法和技术在现代技术中无处不在。视频编解码器通常包括压缩或解压缩数字视频的电子电路或软件,并且不断被改进以提供更高的编解码效率。视频编解码器将未压缩的视频转换为压缩格式,反之亦然。视频质量、用于表示视频的数据量(由比特率决定)、编码和解码算法的复杂性、对数据丢失和错误的敏感性、编辑的便利性、随机访问和端到端延迟(等待时间)之间存在复杂的关系。压缩格式通常符合标准视频压缩规范,例如高效视频编解码(HEVC)标准(也称为H.265或MPEG-H Part 2)、待最终确定的多功能视频编解码标准或其他当前和/或未来的视频编解码标准。

视频编解码标准主要是通过熟知的ITU-T和ISO/IEC标准的发展而演变的。ITU-T制定了H.261和H.263,ISO/IEC制定了MPEG-1和MPEG-4可视化,并且这两个组织联合制定了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(Advanced Video Coding,AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中利用了时域预测加变换编解码。为了探索HEVC以外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索组(Joint Video Exploration Team,JVET)。此后,JVET采用了许多新方法,并将其放入名为联合探索模型(Joint Exploration Model,JEM)[3][4]的参考软件中。2018年4月,VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家组(JVET)成立,以致力于VVC(Versatile Video Coding,多功能视频编解码)标准,目标是与HEVC相比比特率降低50%。

2.1典型视频编解码器的编解码流程

图1示出了VVC的编码器框图的示例,其包含三个环内滤波块:去方块滤波器(DF)、样点自适应偏移(SAO)和ALF。与使用预定义滤波器的DF不同,SAO和ALF利用当前图片的原始样点,用信令通知偏移和滤波器系数的编解码边信息,分别通过添加偏移并且通过应用有限脉冲响应(FIR)滤波器来减少原始样点和重构样点之间的均方误差。ALF位于每个图片的最后一个处理阶段,并且可以被视为试图捕捉和修复先前阶段创建的伪像(artifact)的工具。

2.2 VVC中的帧内编解码

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

为了捕获自然视频中呈现的任意边缘方向,方向帧内模式的数量从HEVC中使用的33个扩展到65个。附加的方向模式如图2中的虚线箭头描绘,并且平面模式和DC模式保持不变。这些密集的方向帧内预测模式适用于所有块尺寸以及亮度和色度帧内预测。

传统的角度帧内预测方向被定义为在顺时针方向上从45度到-135度,如图2所示。在VTM2中,对于非正方形块,几个传统的角度帧内预测模式被自适应地替换为宽角度帧内预测模式。替换的模式使用原始方法来信令通知,并在解析之后重新映射到宽角度模式的索引。帧内预测模式的总数不变,即67,并且帧内模式编解码不变。

在HEVC中,每个帧内编解码块具有正方形形状,其每边的长度为2的幂。因此,不需要除法运算来使用DC模式生成帧内预测值。在VVV2中,块可以具有矩形形状,这在一般情况下需要对每个块使用除法运算。为了避免DC预测的除法运算,仅使用较长的边来计算非正方形块的平均值。

除了67种帧内预测模式之外,还对特定块启用非方形块的宽角度帧内预测(WAIP)和位置依赖帧内预测组合(PDPC)方法。PDPC在没有信令通知的情况下被应用于以下帧内模式:平面、DC、水平、垂直、左底部角度模式及其八个相邻角度模式、以及右顶部角度模式及其八个相邻角度模式。

2.2.2仿射线性加权帧内预测(ALWIP或基于矩阵的帧内预测)

JVET-N0217中提出了仿射线性加权帧内预测(ALWIP,又名基于矩阵的帧内预测(MIP))。

2.2.2.1通过矩阵矢量乘法生成简化的预测信号

邻近参考样点首先经由平均进行下采样,以生成简化的参考信号bdryred。然后,简化的预测信号predred通过计算矩阵矢量积并添加偏移来计算:

predred=A·bdryred+b

这里,A是矩阵,如果W=H=4,则具有Wred·Hred行和4列,并且在所有其他情况下,具有8列。b是尺寸为Wred·Hred的矢量。

2.2.2.2整个ALWIP过程的说明

在图3-图6中针对不同形状示出了平均、矩阵矢量乘法和线性插值的整个过程。请注意,剩余形状被视为所描述的情况之一。

1.给出4×4块,ALWIP沿着边界的每个轴取两个平均值。得到的四个输入样点进入矩阵矢量乘法。矩阵取自集合s0。在添加偏移之后,这产生16个最终预测样点。线性插值对于生成预测信号不是必需的。因此,执行每个样点总共(4·16)/(4·4)=4次乘法。

2.给出8×8块,ALWIP沿着边界的每个轴取四个平均值。得到的八个输入样点进入矩阵矢量乘法。矩阵取自集合S1。这在预测块的奇数位置产生16个样点。因此,执行每个样点总共(8·16)/(8·8)=2次乘法。在添加偏移之后,通过使用简化的顶部边界对这些样点进行垂直插值。使用原始的左边界进行水平插值。

3.给出8×4块,ALWIP沿着边界的水平轴取四个平均值,并且在左边界上取四个原始边界值。得到的八个输入样点进入矩阵矢量乘法。矩阵取自集合S1。这在预测块的奇数水平和每个垂直位置上产生16个样点。因此,执行每个样点总共(8·16)/(8·4)=4次乘法。在添加偏移之后,通过使用原始左边界对这些样点进行水平插值。

4.给出16×16块,ALWIP沿着边界的每个轴取四个平均值。得到的八个输入样点进入矩阵矢量乘法。矩阵取自集合S2。这在预测块的奇数位置产生64个样点。因此,执行每个样点总共(8·64)/(16·16)=2次乘法。在添加偏移之后,通过使用顶部边界的八个平均值对这些样点进行垂直插值。使用原始的左边界进行水平插值。在这种情况下,插值过程不添加任何乘法。因此,计算ALWIP预测总共需要每个样点两次乘法。

对于较大的形状,过程基本相同,并且容易检查每个样点的乘法次数少于四次。

对于W×8块(其中W>8),只需要水平插值,因为样点是在奇数水平和每个垂直位置给出的。

最终,对于W×4块(其中W>8),设A_kbe是这样出现的矩阵,即沿着下采样块的水平轴省去对应于奇数条目的每一行。因此,输出尺寸为32,并且再次,仅水平插值保持执行。

转置后的情况被相应地对待。

2.2.2.3语法和语义

7.3.6.5编解码单元语法

2.2.3多参考线(MRL)

多参考线(MRL)帧内预测使用更多参考线进行帧内预测。在图7中,描绘了4个参考线的示例,其中段A和F的样点不是从重构的邻近样点中提取的,而是分别用来自段B和E的最接近的样点填充的。HEVC帧内图片预测使用最近的参考线(即,参考线0)。在MRL中,使用2个附加线(参考线1和参考线3)。

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

对CTU内的第一线的块禁用MRL,以防止使用当前CTU线之外的扩展参考样点。此外,当使用附加线时,PDPC被禁用。

2.2.4帧内子块分割(ISP)

在JVET-M0102中,提出了ISP,其根据块尺寸大小,将亮度帧内预测块垂直或水平划分为2个或4个子分割,如表1所示。图8和图9示出了两种可能性的示例。所有子分割都满足至少具有16个样点的条件。对于块尺寸,4xN或Nx4(其中N>8),如果允许,可以存在1xN或Nx1子分割。

表1:根据块尺寸的子分割的数量(通过maxTBSize的表示的最大变换尺寸)

对于这些子分割中的每一个,通过对由编码器传送的系数进行熵解码,然后对其进行逆量化和逆变换,来生成残差信号。然后,子分割被帧内预测,并且最终通过将残差信号添加到预测信号来获得对应的重构样点。因此,每个子分割的重构值将可用于生成下一个的预测,这将重复该过程等等。所有子分割共享相同的帧内模式。

表2:根据predModeIntra的trTypeHor和trTypeVer的规范

2.2.4.1语法和语义

7.3.7.5编解码单元语法

等于1的intra_subpartitions_mode_flag[x0][y0]指定将当前帧内编解码单元分割为NumIntraSubPartitions[x0][y0]个矩形变换块子分割。等于0的intra_subpartitions_mode_flag[x0][y0]指定当前帧内编解码单元没有被分割为矩形变换块子分割。

当intra_subpartitions_mode_flag[x0][y0]不存在时,其被推断为等于0。

intra_subpartitions_split_flag[x0][y0]指定帧内子分割划分类型是水平还是垂直。当intra_subpartitions_split_flag[x0][y0]不存在时,其被推断如下:

–如果cbHeight大于MaxTbSizeY,则intra_subpartitions_split_flag[x0][y0]被推断为等于0。

–否则(cbWidth大于MaxTbSizeY),intra_subpartitions_split_flag[x0][y0]被推断为等于1。

变量IntraSubPartitionsSplitType指定用于当前亮度编解码块的划分的类型,如表7-9所示。IntraSubPartitionsSplitType被推导如下:

–如果intra_subpartitions_mode_flag[x0][y0]等于0,则IntraSubPartitionsSplitType被设置为等于0。

–否则,IntraSubPartitionsSplitType被设置为等于1+intra_subpartitions_split_flag[x0][y0]。

表7-9–IntraSubPartitionsSplitType的名称关联

IntraSubPartitionsSplitType IntraSubPartitionsSplitType的名称
0 ISP_NO_SPLIT
1 ISP_HOR_SPLIT
2 ISP_VER_SPLIT

变量NumIntraSubPartitions指定帧内亮度编解码块被划分为的变换块子分割的数量。NumIntraSubPartitions被推导如下:

–如果IntraSubPartitionsSplitType等于ISP_NO_SPLIT,则NumIntraSubPartitions被设置为等于1。

–否则,如果以下条件之一为真,则NumIntraSubPartitions被设置为等于2:

–cbWidth等于4,并且cbHeight等于8,

–cbWidth等于8,并且cbHeight等于4。

–否则,NumIntraSubPartitions被设置为等于4。

2.3色度帧内模式编解码

对于色度帧内模式编解码,根据跨分量线性模型(CCLM)是否被启用,允许总共8种或5种帧内模式用于色度帧内模式编解码。这些模式包括五种传统的帧内模式和三种跨分量线性模型模式。色度DM模式使用对应的亮度帧内预测模式。由于在I条带中启用亮度和色度分量的单独块分割结构,因此一个色度块可以对应于多个亮度块。因此,对于色度DM模式,直接继承覆盖当前色度块的中心位置的对应亮度块的帧内预测模式。

表8-2–当sps_cclm_enabled_flag等于0时根据

intra_chroma_pred_mode[xCb][yCb]和IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]的IntraPredModeC[xCb][yCb]的规范

表8-3–当sps_cclm_enabled_flag等于1时根据intra_chroma_pred_mode[xCb][yCb]和IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]的IntraPredModeC[xCb][yCb]的规范

2.4 VVC中的变换编解码

2.4.1 VVC中的多变换集(MTS)

2.4.1.1显式多变换集(MTS)

在VTM4中,其中尺寸最大64×64的大块尺寸变换,这主要用于更高分辨率视频,例如1080p和4K序列。对于尺寸(宽度或高度,或宽度和高度两者)等于64的变换块,高频变换系数被归零,以便仅保留低频系数。例如,对于M×N变换块,以M为块宽度,并且N为块高度,当M等于64时,仅保留变换系数的左边32列。类似地,当N等于64时,仅保留变换系数的顶部32行。当变换跳过模式用于大块时,将使用整个块而不归零任何值。

除了已经在HEVC中采用的DCT-II之外,多变换选择(MTS)方案用于对帧间和帧内编解码块进行残差编解码。它使用来自DCT8/DST7的多个所选择的变换。新引入的变换矩阵是DST-VII和DCT-VIII。下表4示出了所选择的DST/DCT的基函数。

表4:VVC中使用的变换矩阵的基函数

为了保持变换矩阵的正交性,变换矩阵比HEVC中的变换矩阵更精确地量化。为了将变换系数的中间值保持在16比特范围内,在水平和垂直变换之后,所有系数都要有10比特。

为了控制MTS方案,在SPS级别分别为帧内和帧间指定单独启用标志。当在SPS启用MTS时,信令通知CU级别标志,以指示是否应用MTS。这里,MTS仅适用于亮度。当满足以下条件时,MTS CU级别标志被信令通知。

ο宽度和高度都小于或等于32

οCBF标志等于1

如果MTS CU标志等于零,则在两个方向上应用DCT2。然而,如果MTS CU标志等于1,则附加信令通知两个其它标志,以分别指示水平和垂直方向的变换类型。变换和信令映射表如表5所示。当涉及变换矩阵精度时,使用8比特一次变换核心。因此,在HEVC中使用的所有变换核心保持相同,包括4点DCT-2和DST-7、8点、16点和32点DCT-2。此外,包括64点DCT-2、4点DCT-8、8点、16点、32点DST-7和DCT-8的其他变换核心使用8比特一次变换核心。

表5:tu_mts_idx的解码值与水平和垂直方向的对应变换矩阵的映射

为了降低大尺寸DST-7和DCT-8的复杂性,对于尺寸(宽度或高度,或宽度和高度两者)等于32的DST-7和DCT-8块,高频变换系数被归零。仅保留16x16低频区域内的系数。

除了应用不同变换的情况之外,VVC还支持称为变换跳过(TS)的模式,类似于HEVC中的TS的概念。TS被视为MTS的特例。

2.4.2 JVET-N 0193中提出的简化二次变换(RST)

2.4.2.1 JEM中的不可分二次变换(NSST)

在JEM中,在正一次变换和量化之间(在编码器处)以及在解量化和逆一次变换之间(在解码器侧)应用二次变换。如图10所示,根据块尺寸执行4x4(或8x8)二次变换。例如,对于每个8x8块,4x4二次变换被应用于小块(即,min(width,height)<8),并且8x8二次变换被应用于较大块(即,min(width,height)>4)。

下面使用输入作为示例描述不可分变换的应用。为了应用不可分变换,4x4输入块X

被首先表示为矢量

不可分变换被计算为其中指示变换系数矢量,并且T是16x16变换矩阵。随后使用该块的扫描顺序(水平、垂直或对角线)将16x1系数矢量重新组织为4x4块。具有较小索引的系数将与较小扫描索引一起放置在4x4系数块中。总共有35个变换集,并且每个变换集使用3个不可分变换矩阵(核)。从帧内预测模式到变换集的映射是预定义的。对于每个变换集,所选择的不可分二次变换(NSST)候选进一步由显式信令通知的二次变换索引来指定。在变换系数之后,该索引在比特流中每帧内CU一次进行信令通知。

2.4.2.2 JVET-N0193中的简化二次变换(RST)

在JVET-K0099中引入了RST(又名低频不可分变换(LFNST)),并且在JVET-L0133中引入了4个变换集(而不是35个变换集)映射。在这个JVET-N0193中,利用16x64(进一步简化为16x48)和16x16矩阵。为了便于标注,16x64(简化为16x48)转换被表示为RST 8x8,并且16x16转换被表示为RST 4x4。图11示出了RST的示例。

2.4.2.2.1 RST计算

简化变换(RT)的主要思想是将N维矢量映射到不同空间中的R维矢量,其中R/N(R<N)是简化因子。

RT矩阵是R×N矩阵,如下:

其中变换的R行是N维空间的R个基。RT的逆变换矩阵是其正变换的转置。正RT和逆RT如图12所描绘。

在该稿中,应用简化因子为4(1/4尺寸)的RST 8x8。因此,代替64x64,使用16x64直接矩阵,其是传统的8x8不可分变换矩阵尺寸。换句话说,在解码器侧使用64×16逆RST矩阵来生成8×8左顶部区域中的核心(一次)变换系数。正RST 8x8使用16×64(或8x64,对于8x8块)矩阵,使得它仅在给定8×8区域内的左顶部4×4区域中产生非零系数。换句话说,如果应用RST,则除了左顶部4×4区域之外的8×8区域将仅具有零系数。对于RST 4x4,应用16x16(或8x16,对于4x4块)直接矩阵乘法。

当满足以下两个条件时,有条件地应用逆RST:

ο块尺寸大于或等于给定阈值(W>=4&&H>=4)

ο变换跳过模式标志等于零

如果变换系数块的宽度(W)和高度(H)都大于4,则RST 8x8被应用于变换系数块的左顶部8×8区域。否则,将RST 4x4应用于变换系数块的左顶部min(8,W)×min(8,H)区域。

如果RST索引等于0,则不应用RST。否则,应用RST,其核与RST索引一起选择。RST选择方法和RST索引的编解码将在后面解释。

此外,RST被应用于帧内和帧间条带中的帧内CU,以及亮度和色度。如果启用了双树,亮度和色度的RST索引被单独信令通知。对于帧间条带(双树被禁用),单个RST索引被信令通知并用于亮度和色度。

2.4.2.2.2 RST的限制

当选择ISP模式时,禁用RST,并且不信令通知RST索引,因为即使将RST应用于每个可行的分割块,性能改进也是微乎其微的。此外,对ISP预测残差禁用RST可以降低编码复杂性。

2.4.2.2.3 RST选择

从四个变换集中选择RST矩阵,每个变换集由两个变换组成。应用哪个变换集从帧内预测模式确定,如下:

(1)如果指示三种CCLM模式之一,则选择变换集0。

(2)否则,根据下表执行变换集选择:

变换集选择表

访问上表的索引,表示为IntraPredMode,范围为[-14,83],这是用于宽角度帧内预测的变换模式索引。

2.4.2.2.4简化大小的RST矩阵

作为进一步简略化,应用16x48矩阵代替具有相同变换集配置的16x64,每个矩阵从左顶部8x8块中排除右底部4x4块的三个4x4块中获取48个输入数据(如图13所示)。

2.4.2.2.5 RST信令通知

正RST 8x8使用16×48矩阵,使得它只在前3个3×4区域的左顶部4×4区域中产生非零系数。换句话说,如果应用RST 8x8,则仅左顶部4×4(由于RST 8x8)和右底部4x4区域(由于一次变换)可以具有非零系数。结果,当在右顶部4x4和左底部4x4块区域(如图14所示,称为“归零”区域)内检测到任何非零元素时,RST索引不被编解码,因为这暗示没有应用RST。在这种情况下,RST索引被推断为零。

2.4.2.2.6一个CG内的归零区域

通常,在对4×4子块应用逆RST之前,4×4子块中的任何系数都可以为非零。然而,在一些情况下受到约束,在将逆RST应用于子块之前,4×4子块中的一些系数必须为零。

设nonZeroSize为变量。要求在逆RST之前将具有不小于nonZeroSize的索引的任何系数重新排列到1-D阵列中时,该任何系数必须为零。

当nonZeroSize等于16时,左顶部4×4子块中的系数没有归零约束。

在JVET-N0193中,当当前块尺寸为4×4或8×8时,nonZeroSize被设置为等于8(即,扫描索引在[8,15]范围内的系数,如图14所示,应当为0)。对于其他块大小,nonZeroSize被设置为等于16。

2.4.2.2.7工作草案中对RST的描述

7.3.2.3序列参数集RBSP语法

7.3.7.11残差编解码语法

7.3.7.5编解码单元语法

等于1的sps_st_enabled_flag指定st_idx可以存在于帧内编解码单元的残差编解码语法中。等于0的sps_st_enabled_flag指定st_idx不存在于帧内编解码单元的残差编解码语法中。

st_idx[x0][y0]指定在所选择的变换集中的两个候选核之间应用哪个二次变换核。等于0的st_idx[x0][y0]指定不应用二次变换。阵列索引x0、y0指定所考虑的变换块相对于图片的左顶部样点的左顶部样点的位置(x0,y0)。

当st_idx[x0][y0]不存在时,st_idx[x0][y0]被推断为等于0。

st_idx的二进制位是上下文编解码的。更具体地,以下适用:

表9-9–语法元素和相关联的二值化

表9-15–将ctxInc分配给具有上下文编解码二进制位的语法元素

9.5.4.2.8语法元素st_idx的ctxInc的推导过程

该过程的输入是色彩分量索引cIdx、根据cIdx指定当前亮度或色度编解码块相对于当前图片的左顶部样点的左顶部样点的亮度或色度位置(x0,y0)、树类型treeType、第8.4.2条中指定的亮度帧内预测模式IntraPredModeY[x0][y0]、第7.4.7.5条中指定的指定色度样点的帧内预测模式的语法元素intra_chroma_pred_mode[x0][y0]、以及多变换选择索引tu_mts_idx[x0][y0]。

该过程的输出是变量ctxInc。

变量intraModeCtx被推导如下:

如果cIdx等于0,则intraModeCtx被推导如下:

intraModeCtx=(IntraPredModeY[x0][y0]<=1)?1:0

否则(cIdx大于0),intraModeCtx被推导如下:

intraModeCtx=(intra_chroma_pred_mode[x0][y0]>=4)?1:0

变量mtsCtx被推导如下:

mtsCtx=(tu_mts_idx[x0][y0]==0&&treeType!=SINGLE_TREE)?1:0

变量ctxInc被推导如下:

ctxInc=(binIdx<<1)+intraModeCtx+(mtsCtx<<2)

2.4.2.2.8 RST使用的概述

只有当一个块中的非零系数的数量分别对于单个树和单独树大于2和1时,才能启用RST。此外,当启用RST时,还需要对RST应用的编解码组(CG)的非零系数的位置的以下限制。

表1:RST的使用

2.4.3子块变换

对于具有等于1的cu_cbf的帧间预测CU,可以信令通知cu_sbt_flag以指示解码整个残差块还是残差块的子部分。在前一种情况下,进一步解析帧间MTS信息以确定CU的变换类型。在后一种情况下,残差块的一部分用推断的自适应变换进行编解码,并且残差块的另一部分归零。SBT不应用于组合帧间-帧内模式。

在子块变换中,位置依赖变换被应用于SBT-V和SBT-H中的亮度变换块(色度TB总是使用DCT-2)。SBT-H和SBT-V的两个位置与不同的核心变换相关联。更具体地,每个SBT位置的水平和垂直变换在图3中指定。例如,SBT-V位置0的水平和垂直变换分别是DCT-8和DST-7。当残差TU的一侧大于32时,对应的变换被设置为DCT-2。因此,子块变换联合指定TU平铺(tiling)、cbf以及残差块的水平和垂直变换,这可以被认为是块的主要残差在块的一侧的情况的语法快捷方式。

2.4.3.1语法元素

7.3.7.5编解码单元语法

等于1的cu_sbt_flag指定对于当前编解码单元,使用子块变换。等于0的cu_sbt_flag指示对于当前编解码单元,不使用子块变换。

当cu_sbt_flag不存在时,其值被推断为等于0。

注意–:当使用子块变换时,编解码单元被划分为两个变换单元;一个变换单元具有残差数据,另一个不具有残差数据。

等于1的cu_sbt_quad_flag指定对于当前编解码单元,子块变换包括当前编解码单元的1/4尺寸的变换单元。等于0的cu_sbt_quad_flag指定对于当前编解码单元,子块变换包括当前编解码单元的1/2尺寸的变换单元。

当cu_sbt_quad_flag不存在时,其值被推断为等于0。

等于1的cu_sbt_horizontal_flag指定当前编解码单元被水平划分为2个变换单元。等于0的cu_sbt_horizontal_flag[x0][y0]指定当前编解码单元被垂直划分为2个变换单元。

当cu_sbt_horizontal_flag不存在时,其值被推导如下:

–如果cu_sbt_quad_flag等于1,则cu_sbt_horizontal_flag被设置为等于allowSbtHorQ。

–否则(cu_sbt_quad_flag等于0),cu_sbt_horizontal_flag被设置为等于allowSbtHorH。

等于1的cu_sbt_pos_flag指定当前编解码单元中的第一变换单元的tu_cbf_luma、tu_cbf_cb和tu_cbf_cr不存在于比特流中。等于0的cu_sbt_pos_flag指定当前编解码单元中的第二变换单元的tu_cbf_luma、tu_cbf_cb和tu_cbf_cr不存在于比特流中。

变量SbtNumFourthsTb0被推导如下:

sbtMinNumFourths=cu_sbt_quad_flag?1:2 (7-117)

SbtNumFourthsTb0=cu_sbt_pos_flag?(4-sbtMinNumFourths):sbtMinNumFourths (7-118)

等于0的sps_sbt_max_size_64_flag指定允许子块变换的最大CU宽度和高度为32个亮度样点。等于1的sps_sbt_max_size_64_flag指定允许子块变换的最大CU宽度和高度为64个亮度样点。

MaxSbtSize=sps_sbt_max_size_64_flag?64:32 (7-33)

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

在JVET-N0413中,提出了量化残差域BDPCM(以下表示为RBDPCM)。通过在类似于帧内预测的预测方向(水平或垂直预测)上的样点复制,对整个块进行帧内预测。残差被量化,并且量化残差与其预测值(水平或垂直)量化值之间的增量被编解码。

对于尺寸为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))被添加到帧内块预测值,以产生重构的样点值。

当选择QR-BDPCM时,不应用任何变换。

2.5系数的熵编解码

2.5.1变换应用块的系数编解码

在HEVC中,使用非重叠的系数组(或子块)对编解码块的变换系数进行编解码,并且每个CG包含编解码块的4x4块的系数。编解码块内的CG和CG内的变换系数根据预定义的扫描顺序进行编解码。

编解码块内的CG和CG内的变换系数根据预定义的扫描顺序进行编解码。CG和CG内的系数都遵循对角线右上扫描顺序。4x4块和8x8扫描顺序的示例分别在图16和图17中描绘。

注意,编解码顺序是相反的扫描顺序(即,在图17中从CG3到CG0的解码),当解码一个块时,首先解码最后一个非零系数的坐标。

具有至少一个非零变换系数的CG的变换系数级别的编解码可以分开为多个扫描遍次(pass)。在第一遍次中,第一二进制位(由bin0表示,也称为significant_coeff_flag,其指示系数的幅度大于0)被编解码。接下来,可以应用对第二/第三二进制位(分别由bin1和bin2表示,也称为coeff_abs_greater1_flag和coeff_abs_greater2_flag)进行上下文编解码的两个扫描遍次。最终,如果需要,调用对符号信息和系数级别的剩余值(也称为coeff_abs_level_remaining)进行编解码的两个更多扫描遍次。注意,仅前三个扫描遍次中的二进制位在常规模式下进行编解码,并且这些二进制位在下面的描述中被称为常规二进制位。

在VVC3中,对于每个CG,常规编解码二进制位和旁路编解码二进制位按照编解码顺序分开;首先,发送子块的所有常规编解码二进制位,此后,发送旁路编解码二进制位。子块的变换系数级别在扫描位置上在五个遍次中进行编解码,如下:

ο遍次1:按照编解码顺序处理重要性(sig_flag)、大于1标志(gt1_flag)、奇偶校验(par_level_flag)和大于2标志(gt2_flag)的编解码。如果sig_flag等于1,首先对gt1_flag进行编解码(指定绝对级别是否大于1)。如果gt1_flag等于1,对par_flag进行附加编解码(它指定绝对级别减2的奇偶性)。

ο遍次2:对具有等于1的gt2_flag或等于1的gt1_flag的所有扫描位置处理剩余绝对级别(余数)的编解码。用Golomb-Rice码对非二进制语法元素进行二值化,并在算术编解码引擎的旁路模式下对产生的二进制位进行编解码。

ο遍次3:在第一遍次中没有sig_flag被编解码的系数的绝对级别(absLevel)(由于达到了常规编解码二进制位的限制)在算术编解码引擎的旁路模式下使用Golomb-Rice码进行完全编解码。

ο遍次4:具有等于1的sig_coeff_flag的所有扫描位置的符号(sign_flag)的编解码

对于4x4子块,保证不超过32个常规编解码二进制位(sig_flag、par_flag、gt1_flag和gt2_flag)被编码或解码。对于2x2色度子块,常规编解码二进制位的数量被限制为8。

用于非二进制语法元素余数(在遍次3中)进行编解码的Rice参数(ricePar)类似于HEVC来推导。在每个子块的开始,ricePar被设置为等于0。在对语法元素余数进行编解码之后,Rice参数根据预定义的等式进行修改。对于对非二进制语法元素absLevel进行编解码(在遍次4中),确定局部模板中的绝对值之和sumAbs。变量ricePar和posZero是通过查表基于依赖量化和sumAbs确定的。中间变量codeValue被推导如下:

ο如果absLevel[k]等于0,则codeValue被设置为等于posZero;

ο否则,如果absLevel[k]小于或等于posZero,则codeValue被设置为等于absLevel[k]–1;

ο否则(absLevel[k]大于posZero),codeValue被设置为等于absLevel[k]。

codeValue的值是使用具有Rice参数ricePar的Golomb-Rice码进行编解码的。

2.5.1.1用于系数编解码的上下文建模

与变换系数级别的绝对值相关的语法元素的概率模型的选择取决于局部邻域中的绝对级别或部分重构的绝对级别的值。使用的模板如图18所示。

所选择的概率模型取决于局部邻域中的绝对级别(或部分重构的绝对级别)之和以及局部邻域中大于0的绝对级别的数量(由等于1的sig_coeff_flags的数量给出)。上下文建模和二值化取决于局部邻域的以下测量:

οnumSig:局部邻域中的非零级别的数量;

οsumAbs1:局部邻域中的第一遍次之后的部分重构的绝对级别(absLevel1)之和;

οsumab:局部邻域中的重构的绝对级别之和

ο对角线位置(d):变换块内的当前扫描位置的水平和垂直坐标之和

基于numSig、sumAbs1和d的值,选择用于对sig_flag、par_flag、gt1_flag和gt2_flag进行编解码的概率模型。用于对abs_remainder进行二值化的Rice参数是基于sumAbs和numSig的值来选择的。

2.5.1.2依赖量化(DQ)

此外,相同的HEVC标量量化与新的概念一起使用,称为依赖标量量化。依赖标量量化是指这样的方法,其中变换系数的容许重构值集合取决于按照重构顺序在当前变换系数级别之前的变换系数级别的值。这种方法的主要效果是,与在HEVC中使用的传统独立标量量化相比,容许重构矢量在N维矢量空间中被更密集地封装(N表示变换块中的变换系数的数量)。这意味着,对于每N维单位体积的给定平均数量的容许重构矢量,输入矢量和最接近的重构矢量之间的平均失真减小。依赖标量量化的方法通过以下实现:(a)定义具有不同重构级别的两个标量量化器,以及(b)定义两个标量量化器之间的切换过程。

使用的两个标量量化器,由Q0和Q1表示,如图19所示。可用重构级别的位置由量化步长Δ唯一指定。使用的标量量化器(Q0或Q1)不在比特流中显式信令通知。相反,用于当前变换系数的量化器由按照编解码/重构顺序在当前变换系数之前的变换系数级别的奇偶性确定。

如图20所示,两个标量量化器(Q0和Q1)之间的切换经由具有四种状态的状态机来实现。状态可以取四个不同的值:0、1、2、3。它由按照编解码/重构顺序在当前变换系数之前的变换系数级别的奇偶性唯一确定。在变换块的逆量化的开始,状态被设置为等于0。变换系数按照扫描顺序重构(即,按照与它们被熵解码相同的顺序)。在当前变换系数被重构之后,状态被更新,如图20所示,其中k表示变换系数级别的值。

2.5.1.3语法和语义

7.3.7.11残差编解码语法

2.5.2 TS编解码块和QR-BDPCM编解码块的系数编解码

QR-BDPCM遵循TS编解码块的上下文建模方法。

TS残差的修改的变换系数级别编解码。相对于常规残差编解码情况,TS的残差编解码包括以下改变:

(1)没有最后x/y位置的信令通知

(2)当所有先前标志等于0时,为除了最后一个子块之外的每个子块编解码的coded_sub_block_flag

(3)用简化模板的sig_coeff_flag上下文建模,

(4)abs_level_gt1_flag和par_level_flag的单个上下文模型,

(5)符号标志的上下文建模,附加大于5、7、9的标志,

(6)余数二值化的修改的Rice参数推导

(7)对每个样点的上下文编解码二进制位的数量的限制,一个块内每个样点2个二进制位。

2.5.2.1语法和语义

7.3.6.10变换单元语法

对于每个CG,上下文编解码二进制位的数量被限制为不大于每个样点2个二进制位。

表9 15–将ctxInc分配给具有上下文编解码二进制位的语法元素

3.现有实施方式的缺点

当前设计有以下问题:

(1)色度分量的四个预定义变换集与亮度分量的相同。此外,具有相同帧内预测模式的亮度和色度块使用相同的变换集。然而,与亮度分量相比,色度信号通常更平滑。使用相同的集可能是次优的。

(2)RST仅被应用于特定CG,而不是所有CG。然而,关于信令通知RST索引的决定取决于整个块中的非零系数的数量。当应用RST的CG中的所有系数都为零时,没有必要信令通知RST索引。然而,当前设计仍然可能信令通知浪费不必要比特的索引。

(3)RST索引是在残差编解码之后信令通知的,因为它需要记录有多少非零系数,在特定位置是否存在非零系数(例如,第2.3.2.2.7节中的numZeroOutSigCoeff、numSigCoeff)。这样的设计使得解析过程更加复杂。

(4)RST索引是上下文编解码的,并且上下文建模取决于编解码的亮度/色度帧内预测模式和MTS索引。这样的设计在帧内预测模式的重构方面引入了解析延迟。并且引入了8个上下文,这可能是硬件实施的负担。

(a)DM和CCLM共享相同的上下文索引偏移,这没有意义,因为它们是两种不同的色度帧内预测方法。

(5)非TS残差编解码的当前设计首先对系数信息进行编解码,然后是RST索引(即,使用或不使用RST,如果使用,则选择哪个矩阵)。在这样的设计的情况下,残差的熵编解码中不能考虑RST开/关的信息。

(6)RST始终被应用于应用了一次变换的变换块的左顶部区域。然而,对于不同的一次变换基,能量并不总是集中在变换块的左顶部区域中。

4用于残差编解码的上下文建模的示例方法

当前公开的技术的实施例克服了现有实施方式的缺点,从而提供了具有更高编解码效率的视频编解码。基于所公开的技术,用于残差编解码的上下文建模的方法可以增强现有和未来的视频编解码标准,这在针对各种实施方式描述的以下示例中进行了阐述。下面提供的所公开的技术的示例解释了一般概念,并且不意味着被解释为限制。在示例中,除非明确指示相反的情况,否则这些示例中描述的各种特征可以被组合。

在这些示例中,RST可以是JVET-N0193中的设计的任何变体。RST可以是可以对一个块应用二次变换或者对变换跳过(TS)编解码块应用变换的任何技术(例如,在JVET-N0193中提出的应用于TS编解码块的RST)。

此外,“归零区域”或“归零CG”可以指示由于二次变换过程中使用的减小的变换尺寸而总是具有零系数的那些区域/CG。例如,如果二次变换尺寸为16x32,并且CG尺寸为4x4,它将被应用于前两个CG,但仅第一CG可以具有非零系数,第二4x4CG也被称为归零CG。

RST中的变换矩阵的选择

1.RST被应用于的子区域可以为不是块的左顶部部分的子区域。

a.在一个示例中,RST可以被应用于块的右顶部或右底部或左底部或中心子区域。

b.RST被应用于的哪个子区域可以取决于帧内预测模式和/或一次变换矩阵(例如,DCT-II、DST-VII、恒等变换)。

2.在RST中使用的变换集和/或变换矩阵的选择可以取决于色彩分量。

a.在一个示例中,变换矩阵的一个集合可以用于亮度(或G)分量,并且一个集合用于色度分量(或B/R)。

b.在一个示例中,每个色彩分量可以对应于一个集合。

c.在一个示例中,对于不同的色彩分量,至少一个矩阵在两个或多个集合中的任何集合中是不同的。

3.在RST中使用的变换集和/或变换矩阵的选择可以取决于帧内预测方法(例如,CCLM、基于多参考线的帧内预测方法、基于矩阵的帧内预测方法)。

a.在一个示例中,变换矩阵的一个集合可以用于CCLM编解码块,并且另一个集合用于非CCLM编解码块。

b.在一个示例中,变换矩阵的一个集合可以用于正常的帧内预测编解码块,并且另一个集合用于多参考线启用块(即,其不使用相邻线进行帧内预测)。

c.在一个示例中,变换矩阵的一个集合可以用于利用联合色度残差编解码的块,并且另一个集合用于没有应用联合色度残差编解码的块。

d.在一个示例中,对于不同的帧内预测方法,至少一个矩阵在两个或多个集合中的任何集合中是不同的。

e.可替代地,可以对利用特定帧内预测方向和/或特定编解码工具(例如,CCLM、和/或联合色度残差编解码)和/或特定色彩分量(例如,色度)编解码的块禁用RST。

4.在RST中使用的变换集和/或变换矩阵的选择可以取决于一次变换。

a.在一个示例中,如果应用于一个块的一次变换是恒等变换(例如,TS模式被应用于一个块),则在RST中使用的变换集和/或变换矩阵可以不同于其他种类的一次变换。

b.在一个示例中,如果应用于一个块的水平和垂直1-D一次变换是相同的基(例如,都为DCT-II),则在RST中使用的变换集和/或变换矩阵可以不同于来自不同方向(垂直或水平)的不同基的一次变换。

RST边信息的信令通知和残差编解码

5.是否和/或如何信令通知RST的边信息(例如,st_idx)可以取决于块中的最后一个非零系数(按照扫描顺序)。

a.在一个示例中,仅当最后一个非零系数位于RST被应用于的CG中时,RST才可以被启用,并且RST的索引可以被信令通知。

b.在一个示例中,如果最后一个非零系数不位于RST被应用于的CG中,则RST被禁用,并且RST的信令通知被跳过。

6.是否和/或如何信令通知RST的边信息(例如,st_idx)可以取决于一个块的部分区域而不是整个块内的系数。

a.在一个示例中,部分区域可以被定义为RST被应用于的CG。

b.在一个示例中,部分区域可以被定义为块的按照扫描顺序或逆扫描顺序的前或后M(例如,M=1或2)个CG。

i.在一个示例中,M可以取决于块大小。

ii.在一个示例中,如果块尺寸为4xN和/或Nx4(N>8),则M被设置为2。

iii.在一个示例中,如果块尺寸为4x8和/或8x4和/或WxH(W>=8,H>=8),则M被设置为1。

c.在一个示例中,它可以取决于部分区域内的非零系数的位置。

d.在一个示例中,它可以取决于部分区域内的非零系数的能量(诸如平方和或绝对值之和)。

e.在一个示例中,它可以取决于一个块的部分区域而不是整个块内的非零系数的数量。

i.当一个块的部分区域内的非零系数的数量小于阈值时,可以跳过RST的边信息的信令通知。

ii.在一个示例中,阈值可以取决于条带类型/图片类型/分割树类型(双或单个)/视频内容(屏幕内容或相机捕获内容)。

iii.在一个示例中,阈值可以取决于色彩格式(诸如4:2:0或4:4:4)和/或色彩分量(诸如Y或Cb/Cr)。

7.当RST可以被应用于的CG中没有非零系数时,应当禁用RST。

a.在一个示例中,当RST被应用于一个块时,RST被应用于的至少一个CG必须包含至少一个非零系数。

b.在一个示例中,对于4xN和/或Nx4(N>8),如果应用RST,则前两个4x4CG必须包含至少一个非零系数。

c.在一个示例中,对于4x8和/或8x4,如果应用RST,左顶部4x4必须包含至少一个非零系数。

d.在一个示例中,对于WxH(W>=8,H>=8),如果应用RST,则左顶部4x4必须包含至少一个非零系数。

e.一致性比特流必须满足以上条件中的一个或多个。

8.可以在对残差(例如,变换系数/直接量化)进行编解码之前信令通知RST相关语法元素。

a.在一个示例中,在系数的解析过程中移除对归零区域中非零系数的数量(例如,numZeroOutSigCoeff)和整个块中的非零系数的数量(例如,numSigCoeff)的计数。

b.在一个示例中,可以在residual_coding之前对RST相关语法元素(例如,st_idx)进行编解码。

c.可以(例如,根据编解码块标志、TS模式使用)有条件地信令通知RST相关语法元素。

iv.在一个示例中,可以在编解码块标志的信令通知之后或者在TS/MTS相关语法元素的信令通知之后对RST相关语法元素(例如,st_idx)进行编解码。

v.在一个示例中,当启用TS模式时(例如,解码的transform_skip_flag等于1),跳过RST相关语法元素的信令通知。

d.可以不针对归零CG信令通知残差相关语法。

e.如何对残差进行编解码(例如,扫描顺序、二值化、要解码的语法、上下文建模)可以取决于RST。

i.在一个示例中,可以应用光栅扫描顺序,而不是对角线右上扫描顺序。

1)光栅扫描顺序是从左到右并且从上到下,或者按照逆序。

2)可替换地,可以应用垂直扫描顺序(从上到下并且从左到右,或者按照逆序),而不是对角线右上扫描顺序。

3)此外,可替代地,可以修改上下文建模。

a.在一个示例中,上下文建模可以取决于模板中的先前编解码信息,其是按照扫描顺序的最近N个邻居,而不是使用右边、底部、右底部邻居。

b.在一个示例中,上下文建模可以根据扫描的索引(例如,-1、-2、...,假设当前索引等于0)取决于模板中的先前编解码信息。

ii.在一个示例中,可以应用不同的二值化方法(例如,莱斯参数推导)来对与RST编解码块和非RST编解码块相关联的残差进行编解码。

iii.在一个示例中,可以针对RST编解码块跳过特定语法元素的信令通知。

1)可以跳过RST被应用于的CG的CG编解码块标志(coded_sub_block_flag)的信令通知。

a.在一个示例中,当RST 8x8应用于按照对角线扫描顺序的前三个CG时,针对第二和第三CG(例如,块的左顶部8x8区域中的右顶部4x4CG和左下方4x4CG)跳过CG编解码块标志的信令通知。

i.此外,可替代地,对应的CG编解码块标志被推断为0,即,所有系数都为零。

b.在一个示例中,当RST被应用于一个块时,针对按照扫描顺序的第一个CG(或按照逆扫描顺序的最后一个CG)跳过CG编解码块标志的信令通知。

ii.此外,可替代地,块中的左顶部CG的CG编解码块标志被推断为1,即,它包含至少一个非零系数。

c.在图21中描绘了8x8块的示例。当RST 8x8或RST 4x4被应用于8x8块时,CG0的coded_sub_block_flag被推断为1,CG1和CG2的coded_sub_block_flag被推断为0。

2)可以跳过系数的幅度和/或特定坐标的符号标志的信令通知。

a.在一个示例中,如果相对于按照扫描顺序的一个CG的索引不小于非零系数可以存在的最大允许索引(例如,第0节中的nonZeroSize),则可以跳过系数的信令通知。

b.在一个示例中,可以跳过语法元素(诸如sig_coeff_flag、abs_level_gtX_flag、par_level_flag、abs_remainder、coeff_sign_flag、dec_abs_level)的信令通知。

3)可替代地,可以保持残差(例如,CG编解码块标志、系数的幅度和/或特定坐标的符号标志)的信令通知,然而,上下文建模可以被修改为不同于其他CG。

iv.在一个示例中,RST应用的CG和其他CG中的残差的编解码可以不同。

1)对于以上子项目符号,它们可以仅被应用于RST被应用的CG。

9.RST相关语法元素可以在其他变换指示(诸如变换跳过和/或MTS索引)之前被信令通知。

a.在一个示例中,变换跳过的信令通知可以取决于RST信息。

i.在一个示例中,如果在块中应用RST,则对于该块,变换跳过指示不被信令通知并且被推断为0。

b.在一个示例中,MTS索引的信令通知可以取决于RST信息。

i.在一个示例中,如果在块中应用RST,则对于该块,一个或多个MTS变换指示不被信令通知并且被推断为不使用。

10.提出使用算术编解码中的不同上下文建模方法用于一个块内的不同部分。

a.在一个示例中,块被视为两个部分,按照扫描顺序的前M个CG、以及剩余CG。

i.在一个示例中,M被设置为1。

ii.在一个示例中,对于4xN和Nx4(N>8)块,M被设置为2;对于所有其他情况,M被设置为1。

b.在一个示例中,块被视为两个部分,RST被应用的子区域和RST不应用的子区域。

i.如果应用RST 4x4,则应用RST的子区域是当前块的前一个或两个CG。

ii.如果应用RST 4x4,则应用RST的子区域是当前块的前三个CG。

c.在一个示例中,提出在一个块内的第一部分的上下文建模过程中禁用先前编解码信息的使用,而对第二部分启用它。

d.在一个示例中,当对第一CG进行解码时,可以不允许使用剩余的一个或多个CG的信息。

i.在一个示例中,当对第一CG的CG编解码块标志进行编解码时,不考虑第二CG(例如,右边或下方)的值。

ii.在一个示例中,当对第一CG的CG编解码块标志进行编解码时,不考虑第二和第三CG(例如,WxH(W>=8并且H>=8)的右边和下方CG)的值。

iii.在一个示例中,当对当前系数进行编解码时,如果其在上下文模板中的邻居在不同的CG中,则不允许使用来自该邻居的信息。

e.在一个示例中,当对应用RST的区域中的系数进行解码时,可以不允许使用RST没有被应用于的其余区域的信息。

f.此外,可替代地,以上方法可以在特定条件下应用。

i.条件可以包括是否启用RST。

ii.条件可以包括块大小。

RST边信息的算术编解码中的上下文建模

11.当对RST索引进行编解码时,上下文建模可以取决于启用显式还是隐式多变换选择(MTS)。

a.在一个示例中,当启用隐式MTS时,可以针对以相同帧内预测模式编解码的块选择不同的上下文。

i.在一个示例中,块大小(诸如形状(正方形或非正方形))用于选择上下文。

b.在一个示例中,代替检查针对显式MTS编解码的变换索引(例如,tu_mts_idx),反而可以使用变换矩阵基。

i.在一个示例中,对于具有水平和垂直1-D变换的DCT-II的变换矩阵基,对应的上下文可以不同于其他种类的变换矩阵。

12.当对RST索引进行编解码时,上下文建模可以取决于CCLM是否被启用(例如,sps_cclm_enabled_flag)。

a.可替代地,是否启用或如何选择RST索引编解码的上下文可以取决于CCLM是否被应用于一个块。

b.在一个示例中,上下文建模可以取决于是否对当前块启用CCLM。

i.在一个示例中,intraModeCtx=sps_cclm_enabled_flag?(intra_chroma_pred_mode[x0][y0]是CCLM:intra_chroma_pred_mode[x0][y0]是DM)?1:0。

c.可替代地,是否启用或如何选择RST索引编解码的上下文可以取决于当前色度块是否以DM模式进行编解码。

i.在一个示例中,intraModeCtx=(intra_chroma_pred_mode[x0][y0]==(sps_cclm_enabled_flag?7:4))?1:0.

13.当对RST索引进行编解码时,上下文建模可以取决于块大小/划分深度(例如,四叉树深度和/或BT/TT深度)。

14.当对RST索引进行编解码时,上下文建模可以取决于色彩格式和/或色彩分量。

15.当对RST索引进行编解码时,上下文建模可以独立于帧内预测模式和/或MTS索引。

16.当对RST索引进行编解码时,第一和/或第二二进制位可以仅用一个上下文进行上下文编解码;或者旁路编解码。

在条件下调用RST过程

17.是否调用逆RST过程可以取决于CG编解码块标志。

a.在一个示例中,如果左顶部CG编解码块标志为零,则不需要调用该过程。

i.在一个示例中,如果左顶部CG编解码块标志为零,并且块尺寸不等于4xN/Nx4(N>8),则不需要调用该过程。

b.在一个示例中,如果按照扫描顺序的前两个CG编解码块标志都等于零,则不需要调用该过程。

i.在一个示例中,如果按照扫描顺序的前两个CG编解码块标志都等于零,并且块尺寸等于4xN/Nx4(N>8),则不需要调用该过程。

18.是否调用逆RST过程可以取决于块大小。

a.在一个示例中,对于特定块大小,诸如4x8/8x4,可以禁用RST。此外,可替代地,可以跳过RST相关语法元素的信令通知。

5所公开的技术的示例实施方式

在以下示例性实施例中,在JVET-N0193上的改变以粗体和斜体突出显示。删除的文本用双括号标记(例如,[[a]]表示删除字符“a”)。

5.1实施例#1

RST索引的信令通知取决于块的子区域而不是整个块内的非零系数的数量。

7.3.6.11残差编解码语法

可替代地,该条件可以由以下替换:

if(i=0[[||(i==1&&(log2TbWidth+log2TbHeight==5))]])

5.2实施例#2

根据特定CG的编解码块标志,可以不调用RST。

8.7.4.缩放变换系数的变换过程

8.7.4.1通用

该过程的输入是:

–亮度位置(xTbY,yTbY),指定当前亮度变换块相对于当前图片的左顶部亮度样点的左顶部样点,

–变量nTbW,指定当前变换块的宽度,

–变量nTbH,指定当前变换块的高度,

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

–缩放变换系数的(nTbW)x(nTbH)阵列d[x][y],其中x=0..nTbW-1,y=0..nTbH-1。

该过程的输出是残差样点的(nTbW)x(nTbH)阵列r[x][y],其中x=0..nTbW-1,y=0..nTbH-1。

变量bInvokeST被设置为0,并且如果以下条件之一为真,则被进一步修改为1:

–如果coded_sub_block_flag[0][0]等于1并且nTbW x nTbH!=32

–如果coded_sub_block_flag[0][0]和coded_sub_block_flag[0][1]等于1,并且nTbW等于4且nTbH大于8

–如果coded_sub_block_flag[0][0]和coded_sub_block_flag[1][0]等于1,并且nTbW大于8且nTbH等于4

如果bInvokeST等于1并且st_idx[xTbY][yTbY]不等于0,则以下适用:

1.变量nStSize、log2StSize、numStX、numStY和nonZeroSize被推导如下:

–如果nTbW和nTbH都大于或等于8,则log2StSize被设置为3,并且nStOutSize被设置为48。

–否则,log2StSize被设置为2,并且nStOutSize被设置为16。

–nStSize被设置为(1<<log2StSize)。

–如果nTbH等于4并且nTbW大于8,则numStX被设置为等于2。

–否则,numStX被设置为等于1。

–如果nTbW等于4并且nTbH大于8,则numStY被设置为等于2。

–否则,numStY被设置为等于1。

–如果nTbW和nTbH都等于4或者nTbW和nTbH都等于8,则nonZeroSize被设置为等于8。

–否则,nonZeroSize被设置为等于16。

2.对于xSbIdx=0..numStX–1并且ySbIdx=0..numStY–1,以下适用:

–变量阵列u[x](其中x=0..nonZeroSize–1)被推导如下:

xC=(xSbIdx<<log2StSize)+DiagScanOrder[log2StSize][log2StSize][x][0]

yC=(ySbIdx<<log2StSize)+DiagScanOrder[log2StSize][log2StSize][x][1]

u[x]=d[xC][yC]

–u[x](其中x=0..nonZeroSize–1)被变换为变量阵列v[x](其中x=0..nStOutSize–1),这通过以缩放变换系数的变换输入长度nonZeroSize、列表u[x](其中x=0..nonZeroSize–1)的变换输出长度nStOutSize、变换集选择的索引stPredModeIntra和变换集中的变换选择的索引st_idx[xTbY][yTbY]作为输入调用第8.7.4.4条中指定的一维变换过程,并且输出是列表v[x](其中x=0..nStOutSize–1)。变量stPredModeIntra被设置为第8.4.4.2.1条中指定的predModeIntra。

–阵列d[(xSbIdx<<log2StSize)+x][(ySbIdx<<log2StSize)+y](其中x=0..nStSize–1,y=0..nStSize–1)被推导如下:

–如果stPredModeIntra小于或等于34,或者等于INTRA_LT_CCLM、INTRA_T_CCLM或INTRA_L_CCLM,则以下适用:

d[(xSbIdx<<log2StSize)+x][(ySbIdx<<log2StSize)+y]=(y<4)?v[x+(y<<log2StSize)]:((x<4)?v[32+x+((y–4)<<2)]:d[(xSbIdx<<log2StSize)+x][(ySbIdx<<log2StSize)+y])

–否则,以下适用:

d[(xSbIdx<<log2StSize)+x][(ySbIdx<<log2StSize)+y]=(y<4)?v[y+(x<<log2StSize)]:((x<4)?v[32+(y–4)+(x<<2)]:d[(xSbIdx<<log2StSize)+x][(ySbIdx<<log2StSize)+y])

变量implicitMtsEnabled被推导如下:

–如果sps_mts_enabled_flag等于1,并且以下条件之一为真,则implicitMtsEnabled被设置为1:

–IntraSubPartitionsSplitType不等于ISP_NO_SPLIT

–cu_sbt_flag等于1,并且Max(nTbW,nTbH)小于或等于32

–sps_explicit_mts_intra_enabled_flag和sps_explicit_mts_inter_enabled_flag都等于0,并且CuPredMode[xTbY][yTbY]等于MODE_INTRA

–否则,implicitMtsEnabled被设置为等于0。

指定水平变换核的变量trTypeHor和指定垂直变换核的变量trTypeVer被推导如下:

–如果cIdx大于0,则trTypeHor和trTypeVer被设置为等于0。

–否则,如果implicitMtsEnabled等于1,则以下适用:

–如果IntraSubPartitionsSplitType不等于ISP_NO_SPLIT,则根据intraPredMode在表8-15中指定trTypeHor和trTypeVer。

–否则,如果cu_sbt_flag等于1,则根据cu_sbt_horizontal_flag和cu_sbt_pos_flag在表8-14中指定trTypeHor和trTypeVer。

–否则(sps_explicit_mts_intra_enabled_flag和sps_explicit_mts_inter_enabled_flag等于0),trTypeHor和trTypeVer被推导如下:

trTypeHor=(nTbW>=4&&nTbW<=16&&nTbW<=nTbH)?1:0 (8-1029)

trTypeVer=(nTbH>=4&&nTbH<=16&&nTbH<=nTbW)?1:0 (8-1030)

–否则,根据tu_mts_idx[xTbY][yTbY]在表8-13中指定trTypeHor和trTypeVer。

变量nonZeroW和nonZeroH被推导如下:

nonZeroW=Min(nTbW,(trTypeHor>0)?16:32) (8-1031)

nonZeroH=Min(nTbH,(trTypeVer>0)?16:32) (8-1032)

残差样点的(nTbW)x(nTbH)阵列r被推导如下:

1.当nTbH大于1时,缩放变换系数d[x][y](其中x=0..nonZeroW-1,y=0..nonZeroH-1)的每个(垂直)列被变换为e[x][y](其中x=0..nonZeroW-1,y=0..nTbH-1),这通过以变换块的高度nTbH、缩放变换系数的非零高度nonZeroH、列表d[x][y](其中y=0..nonZeroH-1)和设置为等于trTypeVer的变换类型变量trType作为输入针对每列x=0..nonZeroW-1调用第8.7.4.2条中指定的一维变换过程,并且输出是列表list e[x][y](其中y=0..nTbH-1)。

2.当nTbH和nTbW都大于1时,中间样点值g[x][y](其中x=0..nonZeroW-1,y=0..nTbH-1)被推导如下:

g[x][y]=Clip3(CoeffMin,CoeffMax,(e[x][y]+64)>>7) (8-1033)

当nTbW大于1时,结果阵列g[x][y](其中x=0..nonZeroW-1,y=0..nTbH-1)的每个(水平)行被变换为r[x][y](其中x=0..nTbW-1,y=0..nTbH-1),这通过以变换块的宽度nTbW、结果阵列g[x][y]的非零宽度nonZeroW、列表g[x][y](其中x=0..nonZeroW-1)和设置为等于trTypeHor的变换类型变量trType作为输入针对每行y=0..nTbH-1调用第8.7.4.2条中指定的一维变换过程,并且输出是列表r[x][y](其中x=0..nTbW-1)。

5.3实施例#3

修正RST索引的上下文建模。

5.3.1替代方案#1

9.5.4.2.8语法元素st_idx的ctxInc的推导过程

该过程的输入是色彩分量索引cIdx、根据cIdx指定当前亮度或色度编解码块相对于当前图片的左顶部样点的左顶部样点的亮度或色度位置(x0,y0)、树类型treeType、第8.4.2条中指定的亮度帧内预测模式IntraPredModeY[x0][y0]、第7.4.7.5条中指定的指定色度样点的帧内预测模式的语法元素intra_chroma_pred_mode[x0][y0]、块宽度nTbW和高度nTbH以及多变换选择索引tu_mts_idx[x0][y0]。

该过程的输出是变量ctxInc。

变量intraModeCtx被推导如下:

如果cIdx等于0,则intraModeCtx被推导如下:

intraModeCtx=(IntraPredModeY[x0][y0]<=1)?1:0

否则(cIdx大于0),intraModeCtx被推导如下:

intraModeCtx=(intra_chroma_pred_mode[x0][y0]>=4)?1:0

变量mtsCtx被推导如下:

mtsCtx=((sps_explicit_mts_intra_enabled_flag?tu_mts_idx[x0][y0]==0:nTbW==nTbH)&&treeType!=SINGLE_TREE)?1:0

变量ctxInc被推导如下:

ctxInc=(binIdx<<1)+intraModeCtx+(mtsCtx<<2)

5.3.2替代方案#2

表9-15–将ctxInc分配给具有上下文编解码二进制位的语法元素

[[9.5.4.2.8语法元素st_idx的ctxInc的推导过程

该过程的输入是色彩分量索引cIdx、根据cIdx指定当前亮度或色度编解码块相对于当前图片的左顶部样点的左顶部样点的亮度或色度位置(x0,y0)、树类型treeType、第8.4.2条中指定的亮度帧内预测模式IntraPredModeY[x0][y0]、第7.4.7.5条中指定的指定色度样点的帧内预测模式的语法元素intra_chroma_pred_mode[x0][y0]、以及多变换选择索引tu_mts_idx[x0][y0]。

该过程的输出是变量ctxInc。

变量intraModeCtx被推导如下:

如果cIdx等于0,则intraModeCtx被推导如下:

intraModeCtx=(IntraPredModeY[x0][y0]<=1)?1:0

否则(cIdx大于0),intraModeCtx被推导如下:

intraModeCtx=(intra_chroma_pred_mode[x0][y0]>=4)?1:0

变量mtsCtx被推导如下:

mtsCtx=(tu_mts_idx[x0][y0]==0&&treeType!=SINGLE_TREE)?1:0

变量ctxInc被推导如下:

ctxInc=(binIdx<<1)+intraModeCtx+(mtsCtx<<2)]]

图22A是视频处理装置2210的框图。装置2210可以用于实施本文描述的一个或多个方法。装置2210可以体现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置2210可以包括一个或多个处理器2212、一个或多个存储器2214和视频处理硬件2216。(多个)处理器2212可以被配置为实施本文档中描述的一种或多种方法。存储器(多个存储器)2214可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件2216可以用于在硬件电路系统中实施本文档中描述的一些技术。

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

系统2220可以包括可以实施本文档中描述的各种编解码或编码方法的编解码组件2224。编解码组件2224可以将来自输入2222的视频的平均比特率减小到编解码组件2224的输出,以产生视频的编解码表示。编解码技术因此有时被称为视频压缩或视频转码技术。编解码组件2224的输出可以被存储,或者经由如由组件2226表示的通信连接而发送。在输入2222处接收的视频的存储或通信传送的比特流(或编解码)表示可以由组件2228用于生成像素值或传送到显示接口2229的可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然特定视频处理操作被称为“编解码”操作或工具,但是将理解,编解码工具或操作在编码器处被使用,并且反转编解码结果的对应的解码工具或操作将由解码器执行。

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

上面描述的示例可以并入下面描述的方法的上下文,例如方法2310和2320,其可以在视频解码器或视频编码器处实施。

图23A示出了用于视频处理的示例性方法的流程图。方法2310包括,在步骤2312,执行视频的当前视频块和视频的编解码表示之间的转换。在一些实施方式中,二次变换工具包括在编码期间,在量化之前对应用于当前视频块的残差的正一次变换的输出应用正二次变换,或者在解码期间,在应用逆一次变换之前对当前视频块的解量化的输出应用逆二次变换。

在一些实施方式中,该转换包括:基于当前视频块的特性,为视频的当前视频块选择要在二次变换工具对当前视频块的应用中使用的变换集或变换矩阵;以及将所选择的变换集或变换矩阵应用于当前视频块。在一些实施方式中,该转换包括将二次变换工具应用于不是当前视频块的左顶部部分的当前视频块的子区域。

在一些实施方式中,编解码表示符合指定当前视频块的残差中的最后一个非零系数并且控制关于二次变换工具的边信息是否或如何被包括在编解码表示中的格式规则。在一些实施方式中,编解码表示符合指定当前视频块的部分的残差中的一个或多个系数并且控制关于二次变换工具的边信息是否或如何被包括在编解码表示中的格式规则。在一些实施方式中,执行转换包括基于当前视频块的一个或多个编解码组中非零系数的存在来确定二次变换工具对当前视频块的应用性。

在一些实施方式中,编解码表示符合指定与当前视频块的二次变换工具的边信息相对应的语法元素在变换相关信息之前在编解码表示中被信令通知的格式规则。在一些实施方式中,编解码表示符合指定与当前视频块的二次变换工具的边信息相对应的语法元素在残差编解码信息之前在编解码表示中被信令通知的格式规则。在一些实施方式中,执行转换包括根据基于与二次变换工具有关的信息的规则对当前视频块的残差进行编解码。在一些实施方式中,执行转换包括根据规则使用不同的上下文建模方法对当前视频块的一个或多个部分应用算术编解码。

在一些实施方式中,执行转换包括基于视频的当前视频块的特性来配置用于对二进制位进行编解码或对与二次变换工具的索引相对应的二进制位串的二进制位进行旁路编解码的上下文模型,并且索引指示二次变换工具的应用性和/或二次变换工具的核信息。在一些实施方式中,执行转换包括基于当前视频块的大小来确定语法元素是否被包括在编解码表示中。在一些实施方式中,语法元素对应于二次变换工具包括应用二次变换的指示和在二次变换过程中使用的变换核的索引中的至少一个的边信息。

图23B示出了用于视频处理的示例性方法的流程图。方法2320包括,在步骤2322,为视频的当前图片的当前视频块和视频的编解码表示之间的转换确定由于与用于对当前视频块进行编解码的帧内预测方向、编解码工具的使用和/或当前视频块来自的视频的色彩分量有关的规则的二次变换工具对于当前视频块的应用性。方法2320还包括,在步骤2324,基于该确定来执行转换。

在一些实施例中,视频编解码方法可以使用如参考图23A或23B所述的在硬件平台上实施的装置来实施。

所公开的技术的一些实施例包括做出启用视频处理工具或模式的决定或确定。在示例中,当启用视频处理工具或模式时,编码器将在视频的块的处理中使用或实施工具或模式,但是不一定基于工具或模式的使用来修改产生的比特流。也就是说,当基于决定或确定启用视频处理工具或模式时,从视频的块到视频的比特流表示的转换将使用视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将在知道比特流已经基于视频处理工具或模式进行修改的情况下处理比特流。也就是说,从视频的比特流表示到视频的块的转换将使用基于决定或确定而启用的视频处理工具或模式来执行。

所公开的技术的一些实施例包括做出禁用视频处理工具或模式的决定或确定。在示例中,当禁用视频处理工具或模式时,编码器将不会在视频的块到视频的比特流表示的转换中使用工具或模式。在另一示例中,当禁用视频处理工具或模式时,解码器将在知道比特流没有使用基于决定或确定而禁用的视频处理工具或模式进行修改的情况下处理比特流。

在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示到对应的比特流表示的转换期间被应用,反之亦然。当前视频块的比特流表示可以例如对应于比特流内并置的或分散在不同地方的比特,如通过语法定义的。例如,块可以根据变换和编解码误差残差值并且也使用比特流中的头和其它字段中的比特进行编码。本文中,块可以对应于用于操作的样点或像素的分组,例如编解码单元或变换单元或预测单元等。

各种技术和实施例可以使用以下基于条款的格式来描述。在下文中,可以使用二次变换工具,在编码期间,正二次变换在量化之前被应用于应用于当前视频块的残差的正一次变换的输出,或者在解码期间,逆二次变换在应用逆一次变换之前被应用于当前视频块的解量化的输出。二次变换工具适用于正一次变换和量化步骤之间或者解量化步骤和逆一次变换之间的块,并且其中简化大小对应于从块的大小简化的子块。在一些实施方式中,二次变换工具对应于低频不可分变换(LFNST)工具。

第一条款集合描述了先前章节中的所公开的技术的特定特征和方面。

1.一种用于视频处理的方法,包括:基于当前视频块的特性,选择用于简化二次变换对当前视频块的应用的变换集或变换矩阵;以及作为当前视频块和包括当前视频块的视频的比特流表示之间的转换的部分,将所选择的变换集或变换矩阵应用于当前视频块的部分。

2.根据条款1所述的方法,其中,当前视频块的部分是当前视频块的右顶部子区域、右底部子区域、左底部子区域或中心子区域。

3.根据条款1或2所述的方法,其中,当前视频块的特性是当前视频块的帧内预测模式或一次变换矩阵。

4.根据条款1所述的方法,其中,特性是当前视频块的色彩分量。

5.根据条款4所述的方法,其中,为当前视频块的亮度分量选择第一变换集,并且其中为当前视频块的一个或多个色度分量选择不同于第一变换集的第二变换集。

6.根据条款1所述的方法,其中,特性是当前视频块的帧内预测模式或帧内编解码方法。

7.根据条款6所述的方法,其中,帧内预测方法包括基于多参考线(MRL)的预测方法或基于矩阵的帧内预测方法。

8.根据条款6所述的方法,其中,当当前视频块是跨分量线性模型(CCLM)编解码块时,第一变换集被选择,并且其中当当前视频块是非CCLM编解码块时,不同于第一变换集的第二变换集被选择。

9.根据条款6所述的方法,其中,当当前视频块用联合色度残差编解码方法进行编解码时,第一变换集被选择,并且其中当当前视频块不用联合色度残差编解码方法进行编解码时,不同于第一变换集的第二变换集被选择。

10.根据条款1所述的方法,其中,特性是当前视频块的一次变换。

11.一种用于视频处理的方法,包括:基于与当前视频块相关联的一个或多个系数,做出关于在当前视频块的比特流表示中选择性地包括用于简化二次变换(RST)的应用的边信息的信令通知的决定;以及基于该决定,执行当前视频块和包括当前视频块的比特流表示的视频之间的转换。

12.根据条款11所述的方法,其中,一个或多个系数包括按照当前视频块的扫描顺序的最后一个非零系数。

13.根据条款11所述的方法,其中,一个或多个系数包括当前视频块的部分区域内的多个系数。

14.根据条款13所述的方法,其中,部分区域包括RST能够被应用于的一个或多个编解码组。

15.根据条款13所述的方法,其中,部分区域包括按照当前视频块的扫描顺序的前M个编解码组或后M个编解码组。

16.根据条款13所述的方法,其中,部分区域包括按照当前视频块的逆扫描顺序的前M个编解码组或后M个编解码组。

17.根据条款13所述的方法,其中,做出该决定还基于多个系数中的一个或多个非零系数的能量。

18.一种用于视频处理的方法,包括:为简化二次变换(RST)对当前视频块的应用配置当前视频块的比特流表示,其中在编解码残差信息之前,与RST有关的语法元素在比特流表示中被信令通知;以及基于该配置,执行当前视频块和当前视频块的比特流表示之间的转换。

19.根据条款18所述的方法,其中,信令通知与RST有关的语法元素基于至少一个编解码块标志或者变换选择模式的使用。

20.根据条款18所述的方法,其中,比特流表示排除对应于具有所有零系数的编解码组的编解码残差信息。

21.根据条款18所述的方法,其中,编解码残差信息基于RST的应用。

22.一种用于视频处理的方法,包括:为简化二次变换(RST)对当前视频块的应用配置当前视频块的比特流表示,其中在变换跳过指示或多变换集(MTS)索引之前,与RST有关的语法元素在比特流表示中被信令通知;以及基于该配置,执行当前视频块和当前视频块的比特流表示之间的转换。

23.根据条款22所述的方法,其中,变换跳过指示或MTS索引基于与RST有关的语法元素。

24.一种用于视频处理的方法,包括:基于当前视频块的特性,配置用于对简化二次变换(RST)的索引进行编解码的上下文模型;以及基于该配置,执行当前视频块和包括当前视频块的视频的比特流表示之间的转换。

25.根据条款24所述的方法,其中,特性是多变换选择(MTS)过程的显式或隐式启用。

26.根据条款24所述的方法,其中,特性是当前视频块中的跨分量线性模型(CCLM)编解码模式的启用。

27.根据条款24所述的方法,其中,特性是当前视频块的尺寸。

28.根据条款24所述的方法,其中,特性是应用于当前视频块的分割过程的划分深度。

29.根据条款28所述的方法,其中,分割过程是四叉树(QT)分割过程、二叉树(BT)分割过程或三叉树(TT)分割过程。

30.根据条款24所述的方法,其中,特性是当前视频块的色彩格式或色彩分量。

31.根据条款24所述的方法,其中,特性排除当前视频块的帧内预测模式和多变换选择(MTS)过程的索引。

32.一种用于视频处理的方法,包括:基于当前视频块的特性,做出关于逆简化二次变换(RST)过程对当前视频块的选择性应用的决定;以及基于该决定,执行当前视频块和包括当前视频块的视频的比特流表示之间的转换。

33.根据条款32所述的方法,其中,特性是当前视频块的编解码组的编解码块标志。

34.根据条款33所述的方法,其中,逆RST过程没有被应用,并且其中左顶部编解码组的编解码块标志为零。

35.根据条款33所述的方法,其中,逆RST过程没有被应用,并且其中按照当前视频块的扫描顺序的第一编解码组和第二编解码组的编解码块标志为零。

36.根据条款32所述的方法,其中,特性是当前视频块的高度(M)或宽度(N)。

37.根据条款36所述的方法,其中,逆RST过程没有被应用,并且其中(i)M=8并且N=4,或者(ii)M=4并且N=8。

38.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中该指令在由该处理器执行时使得该处理器实施条款1至37中任一项中的方法。

39.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行条款1至37中任一项中的方法的程序代码。

第二条款集合描述了先前章节中的所公开的技术的特定特征和方面,例如示例实施方式1-4。

1.一种视频处理方法,包括:执行视频的当前视频块和视频的编解码表示之间的转换,其中该转换包括:

基于当前视频块的特性,为视频的当前视频块选择要在二次变换工具对当前视频块的应用中使用的变换集或变换矩阵;以及将所选择的变换集或变换矩阵应用于当前视频块,并且其中,使用二次变换工具:在编码期间,正二次变换在量化之前被应用于应用于当前视频块的残差的正一次变换的输出,或者在解码期间,逆二次变换在应用逆一次变换之前被应用于当前视频块的解量化的输出。

2.根据条款1所述的方法,其中,二次变换工具对应于低频不可分变换(LFNST)工具。

3.根据条款1或2所述的方法,其中,特性是当前视频块的色彩分量。

4.根据条款3所述的方法,其中,为当前视频块的亮度分量选择第一变换集,并且为当前视频块的一个或多个色度分量选择不同于第一变换集的第二变换集。

5.根据条款3所述的方法,其中,当前视频块的每个色彩分量对应于一个变换集。

6.根据条款3所述的方法,其中,对于当前视频块的不同色彩分量,变换矩阵的多个集合被选择,使得多个集合中的一个集合包括不同于剩余集合的矩阵的至少一个变换矩阵。

7.根据条款1所述的方法,其中,特性是当前视频块的帧内预测方法。

8.根据条款7所述的方法,其中,当前视频块的帧内预测方法包括跨分量线性模型(CCLM)或基于矩阵的帧内预测方法(MIP)模式,其中CCLM使用线性模式来推导当前视频块的色度分量的预测值,并且其中MIP模式包括通过对视频的先前编解码样点执行边界下采样操作、随后执行矩阵矢量乘法操作、并且选择性地随后执行上采样操作来确定当前视频块的预测值。

9.根据条款7所述的方法,其中,选择变换集或变换矩阵是根据基于使用线性模式来推导当前视频块的色度分量的预测值的跨分量线性模型(CCLM)的使用的规则。

10.根据条款7所述的方法,其中,选择变换集或变换矩阵是根据基于当前视频块的预测模式下的单个或多个参考线的使用的规则。

11.根据条款7所述的方法,其中,选择变换集或变换矩阵是根据基于当前视频块的联合色度残差编解码的使用的规则。

12.根据条款1所述的方法,其中,特性是当前视频块的正一次变换的类型或逆一次变换的类型。

13.根据条款12所述的方法,其中,正一次变换或逆一次变换是恒等变换,并且其中在二次变换工具的应用中使用的变换集和/或变换矩阵不同于在正一次变换或逆一次变换中使用的度量。

14.根据条款12所述的方法,其中,正一次变换或逆一次变换是用具有相同基函数的水平1D变换和垂直1-D变换来执行的,并且其中在二次变换工具的应用中使用的变换集和/或变换矩阵是在正一次变换或逆一次变换中使用的垂直和水平变换的不同基函数。

15.根据条款1至14中任一项所述的方法,其中,执行转换包括从当前视频块生成编解码表示或者从编解码表示生成当前视频块。

16.一种视频处理方法,包括:执行视频的当前视频块和视频的编解码表示之间的转换,其中该转换包括将二次变换工具应用于不是当前视频块的左顶部部分的当前视频块的子区域,并且其中,使用二次变换工具:在编码期间,正二次变换在量化之前被应用于应用于当前视频块的子区域的残差的正一次变换的输出,或者在解码期间,逆二次变换在应用逆一次变换之前被应用于当前视频块的子区域的解量化的输出。

17.根据条款16所述的方法,其中,二次变换工具对应于低频不可分变换(LFNST)工具。

18.根据条款16所述的方法,其中,当前视频块的子区域对应于当前视频块的右顶部、右底部、左底部或中心。

19.根据条款16所述的方法,其中,子区域基于当前视频块的帧内预测模式或一次变换矩阵来确定。

20.根据条款16至19中任一项所述的方法,其中,执行转换包括从当前视频块生成编解码表示或者从编解码表示生成当前视频块。

21.一种视频处理方法,包括:为视频的当前图片的当前视频块和视频的编解码表示之间的转换确定由于与用于对当前视频块进行编解码的帧内预测方向、编解码工具的使用和/或当前视频块来自的视频的色彩分量有关的规则的二次变换工具对于当前视频块的应用性;以及基于该确定来执行转换。

22.根据条款21所述的方法,其中,二次变换工具对应于低频不可分变换(LFNST)工具。

23.根据条款21所述的方法,其中,该确定确定二次变换工具被应用于当前视频块,并且其中,使用二次变换工具:在编码期间,正二次变换在量化之前被应用于应用于当前视频块的残差的正一次变换的输出;或者在解码期间,逆二次变换在应用逆一次变换之前被应用于当前视频块的解量化的输出。

24.根据条款21所述的方法,其中,该确定确定二次变换工具没有被应用于当前视频块,并且其中在编码期间,没有正二次变换在量化之前被应用于应用于当前视频块的残差的正一次变换的输出;或者其中在解码期间,在应用逆一次变换之前对当前视频块的解量化的输出的逆二次变换被省略。

25.根据条款21所述的方法,其中,编解码工具对应于跨分量线性模型(CCLM)或联合色度残差编解码。

26.根据条款21所述的方法,其中,色彩分量对应于当前视频块的色度分量。

27.根据条款21所述的方法,其中,在色彩分量对应于色度分量的情况下,该确定确定二次变换工具没有被应用于当前视频块。

28.根据条款21所述的方法,其中,编解码工具对应于帧内预测方法。

29.根据条款21至28中任一项所述的方法,其中,执行转换包括从当前视频块生成编解码表示或者从编解码表示生成当前视频块。

30.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中该指令在由该处理器执行时使得该处理器实施条款1至29中任一项中的方法。

31.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行条款1至29中任一项中的方法的程序代码。

第三条款集合描述了先前章节中的所公开的技术的特定特征和方面,例如示例实施方式5-7。

1.一种视频处理方法,包括:执行视频的当前视频块和视频的编解码表示之间的转换,其中编解码表示符合指定当前视频块的残差中的最后一个非零系数并且控制关于二次变换工具的边信息是否或如何被包括在编解码表示中的格式规则,并且其中二次变换工具包括在编码期间,在量化之前对应用于视频块的残差的正一次变换的输出应用正二次变换,或者在解码期间,在应用逆一次变换之前对视频块的解量化的输出应用逆二次变换。

2.根据条款1所述的方法,其中,二次变换工具对应于低频不可分变换(LFNST)工具。

3.根据条款1所述的方法,其中,格式规则指定按照当前视频块的扫描顺序的最后一个非零系数。

4.根据条款1所述的方法,其中,在最后一个非零系数位于二次变换工具被应用于的当前视频块的编解码组中的情况下,格式规则控制执行信令通知LFNST工具的边信息。

5.根据条款1所述的方法,其中,在最后一个非零系数不位于二次变换工具被应用于的当前视频块的编解码组中的情况下,格式规则控制跳过边信息的信令通知。

6.根据条款1所述的方法,其中,边信息包括应用二次变换工具的指示、在二次变换工具中使用的变换核的索引中的至少一个。

7.根据条款1所述的方法,其中,在变换的边信息不包括在编解码表示中的情况下,对当前视频块禁用二次变换工具。

8.根据条款1至7中任一项所述的方法,其中,执行转换包括从视频生成编解码表示或者从编解码表示生成视频。

9.一种视频处理方法,包括:执行视频的当前视频块和视频的编解码表示之间的转换,其中编解码表示符合指定当前视频块的部分的残差中的一个或多个系数并且控制关于二次变换工具的边信息是否或如何被包括在编解码表示中的格式规则,并且其中二次变换工具包括在编码期间,在量化之前对应用于视频块的残差的正一次变换的输出应用正二次变换,或者在解码期间,在应用逆一次变换之前对视频块的解量化的输出应用逆二次变换。

10.根据条款9所述的方法,其中,二次变换工具对应于低频不可分变换(LFNST)工具。

11.根据条款9所述的方法,其中,格式规则将该部分定义为二次转换工具被应用于的一个或多个编解码组。

12.根据条款9所述的方法,其中,格式规则将该部分定义为按照扫描顺序或逆扫描顺序的当前视频块的前M个编解码组或后M个编解码组。

13.根据条款12所述的方法,其中,M取决于当前视频块的大小。

14.根据条款12所述的方法,其中,在当前视频块的尺寸为4xN和/或Nx4的情况下,M为2,其中N是大于8的整数。

15.根据条款12所述的方法,其中,在当前视频块的尺寸为4x8和/或8x4和/或WxH的情况下,M为1,其中W和H是等于或大于8的整数。

16.根据条款9所述的方法,其中,格式规则基于该部分内的一个或多个系数的位置。

17.根据条款9所述的方法,其中,格式规则基于该部分内的一个或多个非零系数的能量。

18.根据条款9所述的方法,其中,格式规则基于该部分内的一个或多个系数的数量。

19.根据条款18所述的方法,其中,在该部分内的一个或多个系数的数量小于阈值的情况下,格式规则控制跳过边信息的信令通知。

20.根据条款19所述的方法,其中,阈值基于条带类型、图片类型、分割树类型或视频内容。

21.根据条款19所述的方法,其中,阈值基于当前视频块的色彩格式和/或色彩分量。

22.根据条款9所述的方法,其中,边信息包括应用二次变换工具的指示、在二次变换工具中使用的变换核的索引中的至少一个。

23.根据条款9所述的方法,其中,在变换的边信息不包括在编解码表示中的情况下,对当前视频块禁用二次变换工具。

24.根据条款9至23中任一项所述的方法,其中,执行转换包括从视频生成编解码表示或者从编解码表示生成视频。

25.一种视频处理方法,包括:执行视频的当前视频块和视频的编解码表示之间的转换,其中执行转换包括基于当前视频块的一个或多个编解码组中非零系数的存在来确定二次变换工具对当前视频块的应用性,并且其中二次变换工具包括在编码期间,在量化之前对应用于视频块的残差的正一次变换的输出应用正二次变换,或者在解码期间,在应用逆一次变换之前对视频块的解量化的输出应用逆二次变换。

26.根据条款25所述的方法,其中,二次变换工具对应于低频不可分变换(LFNST)工具。

27.根据条款25所述的方法,其中,在编解码组中的至少一个编解码组包含至少一个非零系数的情况下,该确定确定应用二次变换工具。

28.根据条款25所述的方法,其中,对于尺寸为4xN和/或Nx4的当前视频块,在前两个4x4编解码组包含至少一个非零系数的情况下,该确定确定启用二次变换工具,其中N是大于8的整数。

29.根据条款25所述的方法,其中,对于尺寸为4x8和/或8x4的当前视频块,在左顶部4x4编解码组包含至少一个非零系数的情况下,该确定确定启用二次变换工具。

30.根据条款25所述的方法,其中,对于尺寸为WxH的当前视频块,在左顶部4x4编解码组包含至少一个非零系数的情况下,该确定确定启用二次变换工具,其中W和H是等于或大于8的整数。

31.根据条款25所述的方法,其中,在编解码组中不存在非零系数的情况下,该确定确定不允许LFNST工具。

32.根据条款31所述的方法,其中,对于尺寸为4xN和/或Nx4的当前视频块,在前两个4x4编解码组中不存在非零系数的情况下,该确定确定禁用二次变换工具,其中N是大于8的整数。

33.根据条款31所述的方法,其中,对于尺寸为4x8和/或8x4的当前视频块,在左顶部4x4编解码组中不存在非零系数的情况下,该确定确定禁用二次变换工具。

34.根据条款31所述的方法,其中,对于尺寸为WxH的当前视频块,在左顶部4x4编解码组中不存在非零系数的情况下,该确定确定禁用二次变换工具,其中W和H是等于或大于8的整数。

35.根据条款31所述的方法,其中,对于尺寸为WxH的当前视频块,在左顶部4x4编解码组中不存在非零系数的情况下,该确定确定禁用二次变换工具,其中W和H是等于或大于8的整数。

36.根据条款25至35中任一项所述的方法,其中,在对当前视频块禁用二次变换工具的情况下,二次变换工具的边信息不包括在编解码表示中。

37.根据条款36所述的方法,其中,边信息包括应用二次变换工具的指示、在二次变换过程中使用的变换核的索引中的至少一个。

38.根据条款25至37中任一项所述的方法,其中,执行转换包括从视频生成编解码表示或者从编解码表示生成视频。

39.根据条款1至38中任一项所述的方法,其中,视频的至少一些块使用二次变换工具在编解码表示中被编解码。

40.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中该指令在由该处理器执行时使得该处理器实施条款1至39中任一项中的方法。

41.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行条款1至39中任一项中的方法的程序代码。

第四条款集合描述了先前章节中的所公开的技术的特定特征和方面,例如示例实施方式8-10。

1.一种视频处理方法,包括:执行视频的当前视频块和当前视频块的编解码表示之间的转换,其中编解码表示符合指定与当前视频块的二次变换工具的边信息相对应的语法元素在变换相关信息之前在编解码表示中被信令通知的格式规则,其中二次变换工具包括在编码期间,在量化之前对应用于视频块的残差的正一次变换的输出应用正二次变换,或者在解码期间,在应用逆一次变换之前对视频块的解量化的输出应用逆二次变换。

2.根据条款1所述的方法,其中,二次变换工具对应于低频不可分变换(LFNST)工具。

3.根据条款1所述的方法,其中,边信息包括应用二次变换工具的指示、在二次变换过程中使用的变换核的索引中的至少一个。

4.根据条款1所述的方法,其中,变换相关信息包括指示跳过正/逆变换的变换跳过指示、多变换集(MTS)工具的边信息中的至少一个。

5.根据条款4所述的方法,还包括MTS工具的边信息包括指示用于当前视频块的变换集中的一个或多个变换类型的索引。

6.根据条款4所述的方法,其中,格式规则基于语法元素来控制变换跳过指示的信令通知。

7.根据条款4所述的方法,其中,格式规则基于语法元素来控制多变换集(MTS)索引的信令通知。

8.根据条款7所述的方法,其中,对于二次变换工具被启用的当前视频块,多变换集(MTS)索引不被信令通知,并且被推断为零。

9.根据条款1至8中任一项所述的方法,其中,语法元素是LFNST(低频不可分变换)索引。

10.根据条款1至9中任一项所述的方法,其中,执行转换包括从视频生成编解码表示或者从编解码表示生成视频。

11.一种视频处理方法,包括:执行视频的当前视频块和视频的编解码表示之间的转换,其中编解码表示符合指定与当前视频块的二次变换工具的边信息相对应的语法元素在残差编解码信息之前在编解码表示中被信令通知的格式规则,其中二次变换工具包括在编码期间,在量化之前对应用于视频块的残差的正一次变换的输出应用正二次变换,或者在解码期间,在应用逆一次变换之前对视频块的解量化的输出应用逆二次变换。

12.根据条款11所述的方法,其中,二次变换工具对应于低频不可分变换(LFNST)工具。

13.根据条款11所述的方法,其中,边信息包括应用二次变换工具的指示、在二次变换过程中使用的变换核的索引中的至少一个。

14.根据条款11所述的方法,其中,对当前视频块的部分区域和整个区域中的非零系数的数量的计数被省略。

15.根据条款11所述的方法,其中,语法元素在与残差编解码信息的编解码有关的语法元素之前被编解码。

16.根据条款11所述的方法,其中,格式规则指定语法元素基于编解码块标志的信令通知或变换选择模式的使用来信令通知。

17.根据条款16所述的方法,其中,格式规则指定语法元素在编解码块标志的信令通知或变换选择模式的使用之后被编解码。

18.根据条款16所述的方法,其中,格式规则指定语法元素由于作为变换跳过(TS)模式的变换选择模式的使用而被跳过。

19.根据条款11所述的方法,其中,编解码表示排除对应于总是具有零系数的编解码组的残差编解码信息。

20.根据条款11至16中任一项所述的方法,其中,执行转换包括从视频生成编解码表示或者从编解码表示生成视频。

21.一种视频处理方法,包括:执行视频的当前视频块和视频的编解码表示之间的转换,其中执行转换包括根据基于与二次变换工具有关的信息的规则对当前视频块的残差进行编解码,并且其中二次变换工具包括在编码期间,在量化之前对应用于视频块的残差的正一次变换的输出应用正二次变换,或者在解码期间,在应用逆一次变换之前对视频块的解量化的输出应用逆二次变换。

22.根据条款21所述的方法,其中,规则指定应用光栅扫描顺序或垂直扫描顺序,而不是对角线右上扫描顺序。

23.根据条款21所述的方法,其中,规则指定基于作为按照扫描顺序的最近N个邻居的模板中的先前编解码信息来应用上下文建模,。

24.根据条款21所述的方法,其中,规则指定根据扫描的索引基于模板中的先前编解码信息来应用上下文建模。

25.根据条款21所述的方法,其中,规则指定根据二次变换工具是否被应用于当前视频块来应用不同的二值化方法。

26.根据条款21所述的方法,其中,规则指定由于二次变换工具的应用而跳过语法元素的信令通知。

27.根据条款26所述的方法,其中,规则指定,对于当前视频块的编解码组,跳过指示二次变换工具的应用的标志的信令通知。

28.根据条款27所述的方法,其中,标志被推断为0或1。

29.根据条款21所述的方法,其中,规则指定由于二次变换工具的应用而跳过系数和/或坐标的符号标志的信令通知。

30.根据条款21所述的方法,其中,规则指定将与应用于其他编解码组的上下文建模不同的修改的上下文建模应用于LFNST工具被应用于的当前视频块的编解码组。

31.根据条款21至30中任一项所述的方法,其中,执行转换包括从视频生成编解码表示或者从编解码表示生成视频。

32.一种视频处理方法,包括:执行视频的当前视频块和视频的编解码表示之间的转换,其中执行转换包括根据规则使用不同的上下文建模方法对当前视频块的一个或多个部分应用算术编解码。

33.根据条款32所述的方法,其中,一个或多个部分包括第一部分和第二部分,其中该第一部分包括根据扫描顺序的当前视频块的前M个编解码组,该第二部分包括当前视频块的剩余编解码组,其中M是整数。

34.根据条款33所述的方法,其中,M为1或2。

35.根据条款32所述的方法,其中,一个或多个部分包括当前视频块包括低频不可分变换(LFNST)工具被应用于的一个或多个编解码块的子区域和当前视频块包括LFNST没有被应用于的一个或多个编解码块的另一子区域。

36.根据条款32所述的方法,其中,规则指定对当前视频块的第一部分禁用上下文建模方法中的先前编解码信息的使用,但对当前视频块的第二部分启用该使用。

37.根据条款32所述的方法,其中,规则指定,对于当前视频块的第一编解码组的解码,不允许当前视频块的剩余一个或多个编解码组的信息。

38.根据条款37所述的方法,其中,规则指定,对于编解码对应于第一编解码组的标志,不考虑第二编解码组和/或第三编解码组的值。

39.根据条款37所述的方法,其中,规则指定,对于对当前变换系数进行编解码,不考虑来自处于不同编解码组中的上下文模板中的邻居的信息。

40.根据条款32所述的方法,其中,规则指定,对于在低频不可分变换(LFNST)工具被应用于的部分中使用的系数的解码,不允许在LFNST工具没有被应用于的另一部分中使用的信息。

41.根据条款32所述的方法,其中,规则指定该应用基于是否应用低频不可分变换(LFNST)工具和/或当前视频块的块大小来执行。

42.根据条款35、40和41中任一项所述的方法,其中,使用LFNST工具,在编码期间,正二次变换在量化之前被应用于应用于当前视频块的残差的正一次变换的输出,或者其中,使用LFNST工具,在解码期间,逆二次变换在应用逆一次变换之前被应用于对当前视频块的解量化的输出。

43.根据条款32至42中任一项所述的方法,其中,执行转换包括从视频生成编解码表示或者从编解码表示生成视频。

44.根据条款1至43中任一项所述的方法,其中,视频的至少一些块使用二次变换工具在编解码表示中被编解码。

45.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中该指令在由该处理器执行时使得该处理器实施条款1至44中任一项中的方法。

46.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行条款1至44中任一项中的方法的程序代码。

第五条款集合描述了先前章节中的所公开的技术的特定特征和方面,例如示例实施方式11-16。

1.一种视频处理方法,包括:执行视频的当前视频块和视频的编解码表示之间的转换,其中执行转换包括基于视频的当前视频块的特性来配置用于对二进制位进行编解码或对与二次变换工具的索引相对应的二进制位串的二进制位进行旁路编解码的上下文模型,其中索引指示二次变换工具的应用性和/或二次变换工具的核信息,并且其中二次变换工具包括在编码期间,在量化之前对应用于视频块的残差的正一次变换的输出应用正二次变换,或者其中二次变换工具包括在解码期间,在应用逆一次变换之前对视频块的解量化的输出应用逆二次变换。

2.根据条款1所述的方法,其中,二次变换工具对应于低频不可分变换(LFNST)工具。

3.根据条款1所述的方法,其中,上下文模型允许第一二进制位和/或第二二进制位仅用一个上下文进行编解码或者被旁路编解码。

4.根据条款1所述的方法,其中,特性是显式或隐式多变换选择(MTS)的启用。

5.根据条款4所述的方法,其中,在显式多变换选择被启用的情况下,上下文基于应用于当前视频块的帧内预测模式的类型来选择,使用帧内预测模式的类型为另一块选择上下文。

6.根据条款5所述的方法,其中,上下文基于当前视频块的大小来选择。

7.根据条款4所述的方法,其中,变换矩阵基被使用,而不是检查针对显式多变换选择(MTS)编解码的变换索引。

8.根据条款1所述的方法,其中,特性是使用线性模式来推导当前视频块的色度分量的预测值的跨分量线性模型(CCLM)编解码模式的启用。

9.根据条款1所述的方法,其中,使用线性模式来推导当前视频块的色度分量的预测值的跨分量线性模型(CCLM)编解码模式的启用确定用于对二次变换工具的索引进行编解码的上下文模型的启用或选择。

10.根据条款1所述的方法,其中,用于对二次变换工具的索引进行编解码的上下文模型的启用或选择取决于当前视频块的色度块是否以色度块继承对应亮度块的相同帧内预测编解码模式的DM模式进行编解码。

11.根据条款1所述的方法,其中,特性是当前视频块的尺寸。

12.根据条款1所述的方法,其中,特性是应用于当前视频块的分割过程的划分深度。

13.根据条款12所述的方法,其中,分割过程是四叉树(QT)分割过程、二叉树(BT)分割过程或三叉树(TT)分割过程。

14.根据条款1所述的方法,其中,特性是当前视频块的色彩格式或色彩分量。

15.根据条款1所述的方法,其中,特性排除当前视频块的帧内预测模式和/或多变换选择(MTS)过程的索引。

16.根据条款1至15中任一项所述的方法,其中,执行转换包括从视频生成编解码表示或者从编解码表示生成视频。

17.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中该指令在由该处理器执行时使得该处理器实施条款1至16中任一项中的方法。

18.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行条款1至16中任一项中的方法的程序代码。

第六条款集合描述了先前章节中的所公开的技术的特定特征和方面,例如示例实施方式17和18。

1.一种视频处理方法,包括:执行视频的当前视频块和当前视频块的编解码表示之间的转换,其中执行转换包括基于当前视频块的大小来确定语法元素是否被包括在编解码表示中,其中语法元素对应于二次变换工具包括应用二次变换的指示和在二次变换过程中使用的变换核的索引中的至少一个的边信息,并且其中使用二次变换,逆二次变换用于对编解码表示进行解码,并且在应用逆一次变换之前被应用于当前视频块的解量化的输出。

2.一种视频处理方法,包括:执行视频的当前视频块和当前视频块的编解码表示之间的转换,其中执行转换包括基于当前视频块的大小来确定语法元素是否被包括在当前视频块的编解码表示中,其中语法元素对应于二次变换包括应用二次变换的指示和在二次变换过程中使用的变换核的索引中的至少一个的边信息,并且其中使用二次变换,正二次变换用于对当前视频块进行编码,并且在应用量化过程之前被应用于当前视频块的一次变换的输出。

3.根据条款1或2所述的方法,其中,二次变换对应于低频不可分变换(LFNST)工具。

4.根据条款1至3中任一项所述的方法,其中,当前视频块的大小是当前视频块的高度(M)或宽度(N)。

5.根据条款1、3和4中任一项所述的方法,其中,语法元素不包括在编解码表示中,并且在(i)M=8并且N=4或者(ii)M=4并且N=8的情况下,不应用逆二次变换。

6.根据条款1、3和4中任一项所述的方法,其中,在没有应用逆二次变换的情况下,与逆二次变换有关的语法元素被跳过。

7.根据条款1至3中任一项所述的方法,其中,语法元素包括当前视频块的一个或多个编解码组的一个或多个编解码标志。

8.根据条款7所述的方法,其中,在左顶部编解码组的编解码标志为零的情况下,不应用逆二次变换。

9.根据条款8所述的方法,其中,当前视频块具有不等于4xN或Nx4的尺寸,其中N是大于8的整数。

10.根据条款7所述的方法,其中,在根据当前视频块的扫描顺序的第一编解码组和第二编解码组的编解码标志为零的情况下,不应用逆二次变换。

11.根据条款10所述的方法,其中,当前视频块具有等于4xN或Nx4的尺寸,其中N是大于8的整数。

12.根据条款1至11中任一项所述的方法,其中,执行转换包括从编解码表示生成视频或者从视频生成编解码表示。

13.根据条款1至12中任一项所述的方法,其中,视频的至少一些块使用二次变换工具在编解码表示中被编解码。

14.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中该指令在由该处理器执行时使得该处理器实施条款1至13中任一项中的方法。

15.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行条款1至13中任一项中的方法的程序代码。

从前面可以理解,为了说明的目的,本文已经描述了当前公开的技术的特定实施例,但是在不脱离本发明的范围的情况下,可以进行各种修改。因此,当前公开的技术不受除了所附权利要求之外的限制。

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

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

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

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

本说明书以及附图旨在被认为仅是示例性的,其中示例性意味着示例。如本文所使用的,“或”的使用旨在包括“和/或”,除非上下文另外清楚地指示。

虽然本专利文档包含许多细节,但这些细节不应被解释为对任何发明或可能要求保护的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。在本专利文档中在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合实施。此外,尽管特征可以在上面描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合排除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为需要以所示的特定顺序或以先后顺序执行这样的操作或者执行所有示出的操作以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这样的分离。

仅描述了一些实施方式和示例,并且可以基于本专利文档中描述和示出的内容来进行其他实施方式、增强和变化。

72页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于视频编解码的去方块滤波器

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类