一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于色度分量的编解码工具的制作方法

2022-02-22 17:45:22 来源:中国专利 TAG:
用于色度分量的编解码工具1.相关申请的交叉引用2.根据适用的《专利法》和/或《巴黎公约》的规定,本技术及时要求于2019年6月21日提交的第pct/cn2019/092388号国际专利申请的优先权和权益。出于法律的所有目的,上述申请的全部公开通过引用并入本文,作为本技术的公开的一部分。
技术领域
:3.本专利文档涉及视频编解码技术、设备和系统。
背景技术
::4.尽管在视频压缩方面有了进展,但是数字视频导致了因特网和其它数字通信网络上的最大带宽使用。随着能够接收和显示视频的连接的用户设备的数量的增加,预期用于数字视频用途的带宽需求将继续增长。技术实现要素:5.描述了设备,系统和方法,其涉及数字视频编解码,具体涉及用于色度分量的编解码工具。所描述的方法可应用于现有的视频编解码标准(例如,高效视频编解码(hevc))和未来的视频编解码标准(例如,通用视频编解码(vvc))或编码器。6.在一代表性方面中,所公开的技术可用于提供用于视频处理的示例方法。该方法包括:作为视频的当前块和视频的比特流表示之间的转换的一部分,基于对视频的对应亮度分量的编解码工具的选择性应用,将编解码工具应用至视频的一个或多个色度分量;以及进行转换。7.在另一代表性方面中,所公开的技术可用于提供用于视频处理的示例方法。该方法包括:作为视频的第一色度分量的当前块和视频的比特流表示之间的转换的一部分,基于编解码工具对视频的其它色度分量的一个或多个对应块的选择性应用,将编解码工具应用至当前块;以及进行转换。8.在又一代表性方面中,所公开的技术可用于提供用于视频处理的示例性方法。该方法包括:作为视频的当前块和视频的比特流表示之间的转换的一部分,基于编解码工具对视频的一个或多个对应色度分量的选择性应用,将编解码工具应用至视频的亮度分量;以及进行转换。9.在又一代表性方面中,所公开的技术可用于提供用于视频处理的示例性方法。该方法包括:执行视频的当前块和视频的比特流表示之间的转换,其中在比特流表示中是否信令通知多变换集(mts)索引和/或变换跳过标志是基于用于当前块的基于块差分脉冲编解码调制(bdpcm)的编解码工具的启用。10.在又一代表性方面中,所公开的技术可用于提供用于视频处理的示例性方法。该方法包括:基于用于视频的当前块的多变换集(mts)类型,选择具有多个二进制数的编解码类型;以及将编解码类型作为当前块和视频的比特流表示之间的转换的一部分应用至mts类型的指示。11.在又一代表性方面中,上述方法以处理器可执行代码的形式来实现,并存储在计算机可读程序介质中。12.在又一代表性方面中,公开了一种被配置为或可操作为执行上述方法的设备。该设备可包括编程为实施该方法的处理器。13.在又一代表性方面中,视频解码器装置可以实施如本文所描述的方法。14.在附图,说明书和权利要求书中更详细地描述了所公开的技术的上述和其它方面和特征。附图说明15.图1示出了编码器框图的示例。16.图2示出67个帧内预测模式的示例。17.图3a和3b示出了用于非方形块的广角帧内预测模式的参考采样的示例。18.图4示出了当使用广角帧内预测时不连续性的示例。19.图5a-5d示出了依赖于位置的帧内预测组合(pdpc)方法所使用的采样的示例。20.图6示出了4×8块和8×4块的划分的示例。21.图7示出了除4×8,8×4和4×4之外的所有块的划分的示例。22.图8示出了将4×8采样块划分为两个可独立解码区域的示例。23.图9示出了利用垂直预测器对像素行进行处理以最大化4×n块的吞吐量的顺序的示例。24.图10示出了jem中的二次变换的示例。25.图11示出了所提出的简化二次变换(rst)的示例。26.图12示出了正简化变换和逆简化变换的示例。27.图13示出了利用16×48矩阵的正rst8×8过程的示例。28.图14示出了对于非零元素在8×8块中扫描位置17到64的示例。29.图15示出了子块变换模式sbt-v和sbt-h的示例。30.图16a-图16e示出了根据公开的技术的用于多个变换的示例方法的流程图。31.图17是用于实施本文档中描述的可视媒体解码技术或可视媒体编码技术的硬件平台的示例的框图。32.图18是可以在其中实施公开的技术的示例性视频处理系统的框图。具体实施方式33.1介绍34.由于对更高分辨率视频的日益增长的需求,视频编解码方法和技术在现代技术中普遍存在。视频编码器通常包括压缩或解压缩数字视频的电子电路或软件,并且被不断改进以提供更高的编解码效率。视频编码器将未压缩的视频转换为压缩格式,反之亦然。在视频质量、用于表示视频的数据量(由比特率确定)、编码和解码算法的复杂性、对数据丢失和错误的敏感性、编辑的方便性、随机访问和端到端时延(延迟)之间存在复杂的关系。压缩格式通常符合标准视频压缩规范,例如,高效视频编解码(hevc)标准(也称为h.265或mpeg-h第2部分),待最终确定的通用视频编解码(vvc)标准,或其它当前和/或将来的视频编解码标准。35.公开的技术的实施例可以应用于现有的视频编解码标准(例如,hevc,h.265)和未来的标准,以改善运行时性能。在本说明书中使用章节标题来改善说明书的可读性,而不以任何方式将讨论或实施例(和/或实施)仅限制于对应章节。36.2用于多种变换的方法的实施例和示例37.2.1颜色空间和色度子采样38.颜色空间(也称为颜色模型(或颜色系统))是抽象的数学模型,其简单地将颜色范围描述为数字元组,通常描述为3个或4个值或颜色分量(例如rgb)。从根本上讲,颜色空间是对坐标系和子空间的详细阐述。39.对于视频压缩,最常用的颜色空间是ycbcr和rgb。40.ycbcr,y'cbcr,或ypb/cbpr/cr,也被写为ycbcr或y'cbcr,是在视频和数字摄影系统中用作彩色图像管线的一部分的颜色空间族。y'是亮度分量,cb和cr是蓝色色差色度分量和红色色差色度分量。y'(具有上撇号)与亮度y不同,这意味着基于伽马校正的rgb基色对光强度进行非线性编码。41.色度子采样是通过对色度信息实现比亮度信息更低的分辨率来编码图像的实践,其利用了人类视觉系统对色差的敏锐度比对亮度的敏锐度低。42.4:4:4格式。三个y'cbcr分量中的每一个具有相同的采样率,因此没有色度子采样。该方案有时用于高端胶片扫描仪和电影后期制作。43.4:2:2格式。两个色度分量以亮度的采样率的一半进行采样:水平色度分辨率被减半。这将未压缩的视频信号的带宽减小了三分之一而具有很小至没有视觉差异。44.4:2:0格式。在4:2:0中,水平采样与4:1:1相比被加倍,但是由于在该方案中cb和cr信道仅每隔一排被采样,因此垂直分辨率被减半。因此,数据速率是相同的。cb和cr中的每一个都以2倍的因子水平和垂直地进行子采样。4:2:0方案具有三种不同的变化,具有不同的水平和垂直定位。45.ο在mpeg-2中,cb和cr水平地共同定位。cb和cr在垂直方向上定位在像素之间(间隙地定位)。46.ο在jpeg/jfif,h.261和mpeg-1中,cb和cr间隙地定位于间隔的亮度采样之间,定位在间隔的亮度采样之间的中间位置。47.ο在4:2:0dv中,cb和cr在水平方向上共同定位。在垂直方向上,cb和cr共同定位在间隔的行上。48.2.2典型视频编码器的编解码流49.图1示出了vvc的编码器框图的示例,其包括三个环路内滤波块:去块滤波器(df)、采样自适应偏移(sao)和alf。与使用预定滤波器的df不同,利用编解码的边信息来信令通知偏移和滤波器系数,sao和alf分别通过添加偏移和通过应用有限脉冲响应(fir)滤波器,使用当前图片的原始采样来减小原始采样和重建采样之间的均方误差。alf位于每个图片的最后处理阶段,并且可以被认为是尝试捕捉和修补由先前阶段产生的伪像的工具。50.2.3利用67个帧内预测模式的帧内模式编解码51.为了捕获自然视频中出现的任意边缘方向,方向性帧内模式的数目从如在hevc中使用的33扩展到65。在图2中,附加的方向性模式被示出为红色虚线箭头,并且平面和dc模式保持相同。这些更密集的方向性帧内预测模式应用于所有的块尺寸以及亮度和色度帧内预测。52.如图1所示,传统的角度帧内预测方向被定义为顺时针方向上45度到-135度。在vtm2中,多个传统的角帧内预测模式被用于非方形块的广角帧内预测模式自适应地代替。使用原始方法来信令通知被替换的模式,并且被替换的模式在解析之后被重新映射到广角度模式的索引。帧内预测模式的总数未改变(例如,67),且帧内模式编解码未改变。53.在hevc中,每个帧内编解码块具有方形形状,并且其每一侧的长度是2的幂。因此,不需要除法运算来使用dc模式形成帧内预测器。在vtv2中,块可以具有矩形形状,这在一般情况下需要为每个块使用除法运算。为了避免用于dc预测的除法运算,仅使用较长的一侧来计算非方形块的平均值。54.2.4用于非方形块的广角帧内预测55.在一些实施例中,传统的角度帧内预测方向被定义为顺时针方向上45度到-135度。在vtm2中,多个传统的角帧内预测模式被用于非方形块的广角帧内预测模式自适应地代替。使用原始方法来信令通知被替换的模式,并且被替换的模式在解析之后被重新映射到广角度模式的索引。帧内预测模式的总数未改变(例如,67),且帧内模式编解码未改变。56.如图3a和图3b中的示例所定义,为了支持这些预测方向,长度为2w 1的顶部参考和长度为2h 1的左侧参考被定义。57.在一些实施例中,在广角方向模式中被替换模式的模式数目取决于块的纵横比。表1示出了被替换的帧内预测模式。[0058][0059]表1:由广角模式替换的帧内预测模式[0060]如图4所示,在广角帧内预测的情况下,两个垂直地相邻的预测采样可以使用两个非相邻的参考采样。因此,低通参考采样滤波和侧平滑应用于广角预测以减小增加的间隙δpα的负面影响。[0061]2.5依赖于位置的帧内预测组合(pdpc)的示例。[0062]在vtm2中,通过依赖于位置的帧内预测组合(pdpc)方法进一步修改平面模式的帧内预测结果。pdpc是一种帧内预测方法,其调用未滤波的边界参考采样和具有经过滤波的边界参考采样的hevc式帧内预测的组合。pdpc被应用于以下不具有信令通知的帧内模式:平面、dc、水平、垂直、左下角度模式及其八个相邻角度模式,以及右上角度模式及其八个相邻角度模式。[0063]预测采样pred(x,y)通过使用帧内预测模式(dc、平面、角度)和参考采样的线性组合根据以下等式来预测:[0064]pred(x,y)=(wl×r-1,y wt×rx,-1-wtl×r-1,-1 (64-wl-wt wtl)×pred(x,y) 32)》》shift[0065]本文中,rx,-1,r-1,y分别表示位于当前采样(x,y)的顶部和左侧的参考采样,而r-1,-1表示位于当前块的左上角的参考采样。[0066]在一些实施例中,并且如果pdpc被应用于dc,平面,水平和垂直帧内模式,则不需要如在hevcdc模式边界滤波器或水平/垂直模式边缘滤波器的情况下所需的另外的边界滤波器。[0067]图5a-图5d示出了应用于各种预测模式的pdpc的参考采样(rx,-1,r-1,y和r-1,-1)的定义。预测采样pred(x',y')位于预测块内的(x',y')处。参考采样rx,-1的坐标x由下式给出:x=x' y' 1,并且参考采样r-1,y的坐标y类似地由下式给出:y=x' y' 1。[0068]在一些实施例中,pdpc权重取决于预测模式,并且在表2中示出,其中s=shift。[0069][0070]表2:根据预测模式的pdpc权重的示例[0071]2.6帧内子块分割[0072]在jvet-m0102中,提出了isp,其根据块尺寸维度将亮度帧内预测块垂直地或水平地划分为2个或4个子分割,如表3所示。图6和图7示出了两种可能性的示例。所有子分割满足具有至少16个采样的条件。[0073][0074][0075]表3:取决于块尺寸的子分割的数目[0076]对于这些子分割中的每一个,通过对由编码器发送的系数进行熵解码,然后进行逆量化和逆变换,来产生残差信号。然后,对子分割进行帧内预测,最后通过将残差信号与预测信号相加来获得对应的重建采样。因此,每个子分割的重建值将可用于生成下一个子分割的预测,这将重复该过程等等。所有子分割共享相同的帧内模式。[0077]基于帧内模式和所利用的划分,使用两个不同类别的处理顺序,其被称为正常和反向顺序。按照正常顺序,待处理的第一子分割是包括cu的左上采样的子分割,然后继续向下(水平划分)或向右(垂直划分)。因此,用于产生子分割预测信号的参考采样仅位于行的左侧和上侧。另一方面,反向处理顺序从包括cu的左下采样的子分割开始并继续向上,或者从包括cu的右上采样的子分割开始并继续向左。[0078]2.7块差分脉冲码调制编解码。[0079]在jvet-m0057中提出了bdpcm。由于使用左(a)(上(b))像素来预测当前像素的水平(垂直)预测器的形状,处理块的最吞吐量有效的方式是并行地处理一列(行)的所有像素,并顺序地处理这些列(行)。为了增加吞吐量,我们引入以下过程:当在该块上选择的预测器是垂直的时,宽度为4的块被分成具有水平前沿的两半,并且当在该块上选择的预测器是水平的时,高度为4的块被分成具有垂直前沿的两半。[0080]在划分块时,不允许来自一个区域的采样使用来自另一区域的像素来计算预测:如果这种情况发生,则预测像素在预测方向上被参考像素代替。在图8中针对垂直地预测的4×8块中的当前像素x的不同位置示出了该情况。[0081]由于该特性,现在可以在2个周期中处理4×4块,并且在4个周期中处理4×8或8×4块,等等,如图9所示。[0082]表4总结了处理块所需的周期的数量,该数量取决于块的尺寸。显然可以以每周期8个像素或更多像素处理两个维度都大于或等于8的任何块。[0083][0084]表4:尺寸为4×n、n×4的块的吞吐量[0085]2.8量化的残差域bdpcm[0086]在jvet-n0413中,提出了量化的残差域bdpcm(在下文中表示为rbdpcm)。帧内预测通过在类似于帧内预测的预测方向(水平预测或垂直预测)上的采样复制在整个块上进行。对残差进行量化,并对量化的残差与其预测器(水平或垂直)量化值之间的增量进行编解码。[0087]对于尺寸为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应用于量化的残差采样ri,j,得到修改的具有元素的m×n阵列当信令通知垂直bdpcm时:[0088][0089]对于水平预测,应用类似的规则,并且通过下式获得残差量化采样[0090][0091]残差量化采样被发送到解码器。[0092]在解码器侧,上述计算被反向以得到q(ri,j),0≤i≤m-1,0≤j≤n-1。对于垂直预测情况,[0093]值。[0094]该方案的一个优点是,dpcm的倒置可以在系数解析的过程中完成,或者可以在解析之后完成,系数解析简单地添加预测器作为解析的系数。[0095]变换跳过总是用在量化的残差域bdpcm中。[0096]2.9vvc中多变换集(mts)[0097]在vtm4中,允许进行大的块尺寸变换(尺寸高达64×64),这主要有益于更高分辨率的视频(例如,1080p和4k序列)。对于尺寸(宽度或高度,或者宽度和高度两者)等于64的变换块,高频变换系数被调零,从而仅保留低频系数。例如,对于m×n变换块,以m为块宽度,n为块高度,当m等于64时,仅保留变换系数的左32列。类似地,当n等于64时,仅保持变换系数的上32行。当变换跳过模式用于大的块时,使用整个块而不调零任何值。[0098]除了已使用在hevc中的dct-ii之外,多变换选择(mts)方案被用于帧间编解码块和帧内编解码块两者的残差编解码。该方案使用从dct8/dst7选择的多个变换。新引入的变换矩阵为dst-vii和dct-viii。下面的表4示出了所选择的dst/dct的基函数。[0099][0100][0101]表4:在vvc中使用的变换矩阵的基函数[0102]为了保持变换矩阵的正交性,比hevc中的变换矩阵更精确地量化变换矩阵。为了将变换的系数的中间值保持在16位范围内,在水平变换之后和在垂直变换之后,所有系数将具有10位。[0103]为了控制mts方案,分别在sps级别为帧内和帧间指定单独的使能标志。当在sps启用mts时,信令通知cu级别标志来指示mts是否被应用。这里,mts仅用于亮度。当满足以下条件时,信令通知mtscu级别标志。[0104]ο宽度和高度均小于或等于32[0105]οcbf标志等于1[0106]如果mtscu标志等于零,则在两个方向上应用dct2。然而,如果mtscu标志等于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位主变换核心。[0107][0108]为了降低大尺寸dst-7和dct-8的复杂度,对于尺寸(宽度或高度,或者宽度和高度两者)等于32的dst-7和dct-8块,将高频变换系数调零。仅16×16低频区域内的系数被保留。[0109]如在hevc中,块的残差可以用变换跳过模式来编解码。为了避免语法编解码的冗余,当cu级别mts_cu_flag不等于零时,不信令通知变换跳过标志。变换跳过的块尺寸限制与jem4中的mts的块尺寸限制相同,这表明当块宽度和高度都等于或小于32时,变换跳过可应用于cu。[0110]2.10jvet-n0193中提出的简化二次变换(rst)[0111]2.10.1jem中的不可分二次变换(nsst)[0112]在jem中,在正主变换和量化(在编码器处)之间以及在去量化和逆主变换(在解码器侧)之间应用二次变换。如图10所示,执行4×4(或8×8)二次变换取决于块尺寸。例如,对于小块(即,min(宽度,高度)《8)应用4×4二次变换,而对于较大块(即,min(宽度,高度)》4),每8×8块应用8×8二次变换。[0113]下面使用输入作为示例来描述不可分变换的应用。为了应用不可分变换,4×4输入块x[0114][0115]首先表示为向量:[0116][0117]不可分变换被计算为其中表示变换系数向量,并且t是16×16变换矩阵。16×1系数向量随后使用该块的扫描顺序(水平的,垂直的或对角线的)被重新组织为4×4块。具有较小索引的系数将以较小的扫描索引被放置在4×4系数块中。总共35个变换集,并且每个变换集使用3个不可分变换矩阵(核)。从帧内预测模式到变换集的映射是预定义的。对于每个变换集,所选择的不可分二次变换(nsst)候选还由明确地信令通知的二次变换索引来指定。在变换系数之后,对于每个帧内cu,在比特流中以信令通知索引一次。[0118]2.10.2jvet-n0193中的简化二次变换(rst)[0119]在jvet-k0099中引入rst(又被称为低频不可分变换(lfnst)),并且在jvet-l0133中引入4个变换集(而不是35个变换集)映射。在该jvet-n0193中,使用16×64(进一步减少到16×48)和16×16矩阵。为了方便表示,16×64(减少到16×48)变换被表示为rst8×8,而16×16变换被表示为rst4×4。图11示出了rst的示例。[0120]rst计算[0121]简化变换(rt)的主要思想是将n维向量映射到不同空间中的r维向量,其中r/n(r《n)是简化因子。[0122]rt矩阵是如下的r×n矩阵:[0123][0124]其中变换的r行是n维空间的r基。rt的逆变换矩阵是其正变换的转置。正rt和逆rt在图12中示出。[0125]在该贡献中,应用具有简化因子4(1/4尺寸)的rst8×8。因此,使用了16×64直接矩阵代替64×64,其中64×64为传统的8×8不可分变换矩阵尺寸。换句话说,在解码器侧使用64×16逆rst矩阵在8×8左上区域中产生核心(主)变换系数。前向rst8×8使用16×64(或8×64,对于8×8块)矩阵,使得其只在给定的8×8区域内的左上4×4区域中产生非零系数。换句话说,如果应用rst,则除左上4×4区域外的8×8区域将仅具有零系数。对于rst4×4,应用16×16(或对于4×4块,应用8×16)直接矩阵乘法。[0126]当满足以下两个条件时,有条件地应用逆rst:[0127]ο块尺寸大于或等于给定阈值(w》=4&&h》=4)[0128]ο变换跳过模式标志等于零[0129]如果变换系数块的宽度(w)和高度(h)都大于4,则将rst8×8应用于变换系数块的左上8×8区域。否则,rst4×4应用于变换系数块的左上min(8,w)×min(8,h)区域。[0130]如果rst索引等于0,则不应用rst。否则,应用rst,用rst索引选择其中的核。随后将解释rst选择方法和rst索引的编解码。[0131]此外,rst用于帧内条带(slice)和帧间条带二者中的帧内cu,并且用于亮度和色度两者。如果启用了双树,则分别信令通知用于亮度和色度的rst索引。对于片间(禁用双树),信令通知单个rst索引,并将其用于亮度和色度。[0132]在第13次jvet会议中,采用了帧内子分割(isp)作为新的帧内预测模式。当选择isp模式时,rst被禁用,并且rst索引不被信令通知,因为即使rst应用于每个可行的分割块,性能改善也是微不足道的。此外,为isp预测的残差禁用rst可以降低编码复杂度。[0133]rst选择[0134]从四个变换集中选择rst矩阵,每个变换集由两个变换组成。应用哪个变换集是根据帧内预测模式而确定的,如下所述:[0135](1)如果指示三个cclm模式中的一个,则选择变换集0。[0136](2)否则,根据下表进行变换集选择:[0137]变换集选择表[0138][0139]访问上表的索引(表示为intrapredmode)具有[-14,83]的范围,它是用于广角帧内预测的变换后的模式索引。[0140]降维的rst矩阵[0141]作为进一步的简化,应用16×48矩阵来代替具有相同变换集配置的16×64,其中每个变换集配置从左上8×8块中的除右下4×4块之外的三个4×4块中取48个输入数据(如图13所示)。[0142]rst信令[0143]r=16的正rst8×8使用16×64矩阵,使得在给定的8×8区域内只在左上4×4区域产生非零系数。换句话说,如果应用rst,则除左上4×4区域外的8×8区域仅产生零系数。因此,当除了左上4×4(在图14中描述)之外的8×8块区域内检测到任何非零元素时,rst索引不被编解码,因为这意味着rst没有被应用。在这种情况下,rst索引被推断为零。[0144]调零范围[0145]通常,在对4×4子块应用逆rst之前,4×4子块中的任何系数可以是非零的。然而,在某些情况下,在对子块应用逆rst之前,4×4子块中的一些系数必须为零。[0146]让nonzerosize为变量。当在逆rst之前将其重新排列成1-d阵列时,要求索引不小于nonzerosize的任何系数必须为零。[0147]当nonzerosize等于16时,左上4×4子块中的系数没有调零约束。[0148]在jvet-n0193中,当当前块尺寸为4×4或8×8时,nonzerosize被设置为等于8(即,如图14所示,扫描索引在[8,15]范围内的系数将为0)。对于其它的块尺寸,nonzerosize被设置为等于16。[0149]工作草案中rst的描述[0150]序列参数集rbsp语法[0151][0152][0153]残差编解码语法[0154][0155][0156]编解码单元语法[0157][0158][0159]序列参数集rbsp语义[0160]......[0161]sps_st_enabled_flag等于1指定了st_idx可以存在于用于帧内编解码单元的残差编解码语法中。sps_st_enabled_flag等于0指定了st_idx不存在于用于帧内编解码单元的残差编解码语法中。[0162]......[0163]编解码单元语义[0164]......[0165]st_idx[x0][y0]指定了在所选变换集中的两个候选核之间应用哪个二次变换核。st_idx[x0][y0]等于0指定了不应用二次变换。矩阵索引x0,y0指定了所考虑的变换块的左上采样相对于图片的左上采样的位置(x0,y0)。[0166]当st_idx[x0][y0]不存在时,推断st_idx[x0][y0]等于0。[0167]缩放变换系数的变换过程[0168]一般情况[0169]该过程的输入为:[0170]–亮度位置(xtby,ytby),其指定相对于当前图片的左上亮度采样的当前亮度变换块的左上采样;[0171]–变量ntbw,其指定当前变换块的宽度,[0172]–变量ntbh,其指定当前变换块的高度,[0173]–变量cidx,其指定当前块的颜色分量,[0174]–具有缩放变换系数的(ntbw)x(ntbh)矩阵d[x][y],其中x=0..ntbw-1,y=0..ntbh-1。[0175]该过程的输出是残差采样的(ntbw)x(ntbh)矩阵r[x][y],其中x=0..ntbw-1,y=0..ntbh-1。[0176]如果st_idx[xtby][ytby]不等于0,适用以下条件:[0177]1.变量nstsize,log2stsize,numstx,numsty和nonzerosize推导如下:[0178]–如果ntbw和ntbh都大于或等于8,则log2stsize被设置为3,并且nstoutsize被设置为48。[0179]–否则,log2stsize被设置为2,并且nstoutsize被设置为16。[0180]–nstsize被设置为(1《《log2stsize)。[0181]–如果ntbh等于4并且ntbw大于8,则numstx设置为等于2。[0182]–否则,numstx设置为等于1。[0183]–如果ntbw等于4并且ntbh大于8,则numsty被设置为等于2。[0184]–否则,numsty设置为等于1。[0185]–如果ntbw和ntbh都等于4,或者ntbw和ntbh都等于8,则nonzerosize被设置为等于8。[0186]–否则,将nonzerosize设置为等于16。[0187]2.对于xsbidx=0..numstx-1和ysbidx=0..numsty-1,适用以下:[0188]–x=0..nonzerosize-1的变量矩阵u[x]推导如下:[0189]xc=(xsbidx《《log2stsize) [0190]diagscanorder[log2stsize][log2stsize][x][0][0191]yc=(ysbidx《《log2stsize) [0192]diagscanorder[log2stsize][log2stsize][x][1][0193]u[x]=d[xc][yc][0194]–通过以下调用如条款8.7.4.4中所指定的一维变换过程而将x=0..nonzerosize-1的u[x]变换为x=0.nstoutsize-1的变量矩阵v[x]:缩放的变换系数nonzerosize的变换输入长度、x=0..nonzerosize-1的列表u[x]的变换输出长度nstoutsize、用于变换集选择的索引stpredmodeintra和变换集st_idx[xtby][ytby]中的变换选择的索引作为输入,并且输出是x=0..nstoutsize-1的列表v[x]。变量stpredmodeintra被设置为条款8.4.4.2.1中指定的predmodeintra。[0195]–x=0..nstsize-1,y=0..nstsize-1的阵列d[(xsbidx《《log2stsize) x][(ysbidx《《log2stsize) y]推导如下:[0196]–如果stpredmodeintra小于或等于34,或等于intra_lt_cclm,intra_t_cclm或intra_l_cclm,则适用以下:[0197]d[(xsbidx《《log2stsize) x][(ysbidx《log2stsize) y]=(y《4)?v[x (y《log2stsize)]:((x《4)?v[32 x ((y-4)《2)]:[0198]d[(xsbidx《《log2stsize) x][(ysbidx《log2stsize) y])[0199]–否则,适用以下:[0200]d[(xsbidx《《log2stsize) x][(ysbidx《log2stsize) y]=(y《4)?v[y (x《log2stsize)]:((x《4)?v[32 (y-4) (x《2)]:[0201]d[(xsbidx《《log2stsize) x][(ysbidx《log2stsize) y])[0202]二次变换过程[0203]此过程的输入为:[0204]–变量ntrs,其指定变换输出长度,[0205]–变量nonzerosize,其指定变换输入长度,[0206]–变换输入x[j]的列表,其中j=0..nonzerosize-1,[0207]–变量stpredmodeintra,指定用于变换集选择的索引。[0208]–变量stidx,其指定用于集合中的变换选择的索引。[0209]该过程的输出是i=0..ntrs-1的经过变换的采样y[i]的列表。[0210]如条款8.7.4.5中指定的变换矩阵推导过程涉及:变换输出长度ntrs、用于变换集选择的索引stpredmodeintra、用于变换集中变换选择的索引stidx作为输入,并且变换矩阵sectransmatrix作为输出。[0211]i=0..ntrs-1的经过变换的采样y[i]的列表推导如下:[0212]y[i]=clip3(coeffmin,coeffmax,y[i]=clip3(coeffmin,coeffmax,其中,i=0..ntrs-1[0213]coeffmin=-(1《《15)andcoeffmax=(1《《15)-1;[0214]二次变换矩阵推导过程[0215]此过程的输入为:[0216]–变量ntrs,其指定变换输出长度,[0217]–变量stpredmodeintra,其指定用于变换集选择的索引,[0218]–变量stidx,其指定用于指定变换集中的变换选择的索引。[0219]这个过程的输出是变换矩阵sectransmatrix。[0220]变量sttrsetidx推导如下:[0221][0222]如下基于ntrs,sttrsetidx和stidx推导变换矩阵sectransmatrix:[0223]–如果ntrs等于16,sttrsetidx等于0,且stidx等于1,则适用以下:[0224]sectransmatrix[m][n]=...[0225]–如果ntrs等于16,sttrsetidx等于0,且stidx等于2,则适用以下:[0226]sectransmatrix[m][n]=...[0227]–如果ntrs等于16,sttrsetidx等于1,且stidx等于1,则适用以下:[0228]sectransmatrix[m][n]=...[0229]–如果ntrs等于16,sttrsetidx等于1,且stidx等于2,则适用以下:[0230]sectransmatrix[m][n]=...[0231]–如果ntrs等于16,sttrsetidx等于2,且stidx等于1,则适用以下:[0232]sectransmatrix[m][n]=...[0233]–如果ntrs等于16,sttrsetidx等于2,且stidx等于2,则适用以下:[0234]sectransmatrix[m][n]=...[0235]–如果ntrs等于16,sttrsetidx等于3,且stidx等于1,则适用以下:[0236]sectransmatrix[m][n]=...[0237]–如果ntrs等于16,sttrsetidx等于3,且stidx等于2,则适用以下:[0238]sectransmatrix[m][n]=...[0239]–如果ntrs等于48,sttrsetidx等于0,并且stidx等于1,则适用以下:[0240]sectransmatrix[m][n]=...[0241]–如果ntrs等于48,sttrsetidx等于0,并且stidx等于2,则适用以下:[0242]sectransmatrix[m][n]=...[0243]–如果ntrs等于48,sttrsetidx等于1,并且stidx等于1,则适用以下:[0244]sectransmatrix[m][n]=...[0245]–如果ntrs等于48,sttrsetidx等于1,并且stidx等于2,则适用以下:[0246]sectransmatrix[m][n]=...[0247]–如果ntrs等于48,sttrsetidx等于2,并且stidx等于1,则适用以下:[0248]sectransmatrix[m][n]=...[0249]–如果ntrs等于48,sttrsetidx等于2,并且stidx等于2,则适用以下:[0250]sectransmatrix[m][n]=...[0251]–如果ntrs等于48,sttrsetidx等于3,并且stidx等于1,则适用以下:[0252]sectransmatrix[m][n]=...[0253]–如果ntrs等于48,sttrsetidx等于3,并且stidx等于2,则适用以下:[0254]sectransmatrix[m][n]=...[0255]2.11hevc中去量化的削减[0256]在hevc中,缩放的变换系数d’被计算为[0257]d'=clip3(coeffmin,coeffmax,d),[0258]其中d是削减之前的缩放的变换系数。[0259]对于亮度分量,[0260]coeffmin=coeffminy,coeffmax=coeffmaxy;[0261]对于色度分量,[0262]coeffmin=coeffminc,coeffmax=coeffmaxc。[0263]本文中,[0264]coeffminy=-(1《《(extended_precision_processing_flag?max(15,bitdepthy 6):15))[0265]coeffminc=-(1《《(extended_precision_processing_flag?max(15,bitdepthc 6):15))[0266]coeffmaxy=(1《《(extended_precision_processing_flag?max(15,bitdepthy 6):15))-1[0267]coeffmaxc=(1《《(extended_precision_processing_flag?max(15,bitdepthc 6):15))–1[0268]extended_precision_processing_flag是在sps中信令通知的语法元素。[0269]2.12仿射线性加权帧内预测(alwip,或基于矩阵的帧内预测)[0270]在jvet-n0217中提出了仿射线性加权帧内预测(alwip,或基于矩阵的帧内预测(mip))。[0271]在jvet-n0217中,进行了两个测试。在测试1中,alwip被设计为具有8k字节的存储器限制,并且每个采样至多4次乘法。测试2类似于测试1,但在存储器需求和模型结构方面进一步简化了设计。[0272]ο用于所有块形状的矩阵和偏移向量的单个集合。[0273]ο对于所有的块形状,模式数量减少到19。[0274]ο将存储器需求减少到5760个10位值,即7.20千字节。[0275]ο在每个方向的单个步骤中执行预测的采样的线性内插,代替如第一测试中的迭代内插。[0276]2.13子块变换[0277]对于cu_cbf等于1的帧间预测的cu,可以信令通知cu_sbt_flag以指示是否对整个残差块或残差块的子部分进行了解码。在前一种情况下,进一步解析帧间mts信息以确定cu的变换类型。在后一种情况下,利用推断的适应性变换对残差块的一部分进行编解码,并且将残差块的另一部分调零。sbt不被应用于组合的帧间-帧内模式。[0278]在子块变换中,对sbt-v和sbt-h(总是使用dct-2的色度tb)中的亮度变换块应用依赖于位置的变换。sbt-h和sbt-v的两个位置与不同的核心转换有关。更具体地,在图15中指定了每个sbt位置的水平和垂直变换。例如,sbt-v位置0的水平和垂直变换分别是dct-8和dst-7。当残差tu的一侧大于32时,对应的变换被设置为dct-2。因此,子块变换联合指定残差块的tu平铺,cbf以及水平和垂直变换,这可以被认为是用于块的主要残差在该块的一侧的情况的语法快捷方式。[0279]3现有实现方式中的缺陷示例[0280]mts的当前设计存在以下问题:[0281]信令通知的索引可能导致开销位。[0282]一些变换的组合在mts和sbt中可能不是有效的。[0283]在当前vvc中,不论当前块是否以qr-bdpcm模式编解码,都对变换跳过(ts)标志进行编解码。然而,当启用qr-bdpcm时,不需要应用变换。因此,当一个块用qr-bdpcm编解码时,ts标志的信令是冗余的。[0284]在当前的vvc中,用一个上下文对变换跳过标志进行上下文编解码,该上下文也可以用于对指示变换矩阵是否是dct2的二进制数进行编解码。共享的上下文可能效率较低。[0285]存在使用9个上下文的5个上下文编解码的二进制数(bin),其中该9个上下文用于对影响解析吞吐量的变换矩阵索引进行编解码。[0286]qr-bdpcm/ts也可应用于色度块。如何更好地确定qr-bdpcm/ts的使用需要进一步研究。[0287]4用于多种变换的示例性方法[0288]当前公开的技术的实施例克服了现有实现方式的缺点,从而提供了具有更高编解码效率但计算复杂度更低的视频编解码。在以下针对各种实现方式所描述的示例中阐述了如本文档中所描述的用于多种变换的方法,其可以增强现有的和未来的视频编解码标准。下面提供的所公开的技术的示例解释了一般概念,并且不意味着被解释为限制。在示例中,除非明确指出相反的情况,可以组合在这些示例中描述的各特征。[0289]在以下示例中,假定:[0290]οmax(x,y)返回x和y中较大的一个[0291]οmin(x,y)返回x和y中较小的一个。[0292]隐式mts[0293]提出根据经过解码的系数来决定应用于一个块的变换(水平变化和/或垂直变换),而不接收变换索引。[0294]1.经过解码的系数可以和与当前块相同的颜色分量或不同颜色分量中的一个或多个代表块相关联。[0295]a.在一个示例中,对第一块的变换的确定可以取决于第一块的经过解码的系数。[0296]b.在一个示例中,对第一块的变换的确定可以取决于第二块的经过解码的系数,该经过解码的系数可以不同于第一块。[0297]i.在一个示例中,第二块可以在与第一块的颜色分量相同的颜色分量(例如亮度分量)中。[0298]1)在一个示例中,第二块可以与第一块相邻。[0299]2)在一个示例中,第二块可具有与第一块相同的帧内预测模式。[0300]3)在一个示例中,第二块可以具有与第一块相同的块维度。[0301]4)在一个示例中,第二块可以是在解码次序中第一块之前的、满足某些条件(例如,相同的帧内预测模式或相同的维度)的最后的经过解码的块。[0302]ii.在一个示例中,第二块可以在与第一块的颜色分量不同的颜色分量中。[0303]1)在一个示例中,第一块可以在亮度分量中,而第二块可以在色度分量(例如,cb/cr,b/r分量)中。[0304]a)在一个示例中,三个块在相同的编解码单元中。[0305]b)此外,可替代地,隐式mts仅应用于亮度块,而不应用于色度块。[0306]2)在一个示例中,第一颜色分量中的第一块和第二颜色分量中的第二块可以彼此位于图片的对应位置。[0307]c.在一个示例中,对第一块的变换的确定可取决于包括与第一块不同的至少一个块的多个块的经过解码的系数。[0308]i.在一个示例中,多个块可以包括第一块。[0309]ii.在一个示例中,多个块可以包括一个块或与第一块相邻的多个块。[0310]iii.在一个示例中,多个块可以包括一个块或具有与第一块相同的块维度的多个块。[0311]iv.在一个示例中,多个块可以包括解码次序中第一块之前的、满足特定条件(例如,相同的帧内预测模式或相同的维度)的最后n个经过解码的块。n是大于1的整数。[0312]v.在一个示例中,多个块可以包括不与第一块处于相同颜色分量的一个或多个块。[0313]1)在一个示例中,第一块可以在亮度分量中。多个块可以包括色度分量中的块(例如,cb/b分量中的第二块,以及cr/r分量中的第三块)。[0314]a)在一个示例中,三个块在相同的编解码单元中。[0315]b)此外,可替代地,隐式mts仅应用于亮度块,而不应用于色度块。[0316]2)在一个示例中,包括在多个块中的第一颜色分量中的第一块和不在第一分量颜色分量中的块中的多个可以位于具有第一块的图片的对应位置。[0317]2.用于变换确定的经过解码的系数是不等于零的系数(表示为重要系数)。用于变换确定的系数被称为代表系数。[0318]a.在一个示例中,代表系数是代表块中的所有重要系数。[0319]b.可替代地,代表系数是代表块中的部分重要系数。[0320]i.在一个示例中,代表系数是大于或不大于阈值的经过解码的重要系数[0321]ii.在一个示例中,代表系数是小于或不大于阈值的经过解码的重要系数[0322]iii.在一个示例中,代表系数是解码次序中的前k(k》=1)个经过解码的重要系数。[0323]iv.在一个示例中,代表系数是解码次序中最后的k(k》=1)个经过解码的重要系数。[0324]v.在一个示例中,代表系数可以是块中预定位置处的那些。[0325]1)在一个示例中,代表系数可以仅包括位于相对于代表性块的(xpos,ypos)坐标处的一个系数。例如,xpos=ypos=0。[0326]2)例如,位置可以取决于块的维度。[0327]vi.在一个示例中,代表系数可以是在系数扫描顺序中的预定位置处的那些。[0328]c.可替代地,代表系数也可以包括零系数。[0329]d.可替代地,代表系数可以是从经过解码的系数推导出的系数,例如通过经由量化削减到一范围。[0330]3.变换确定可以取决于代表系数的函数,诸如以值v作为输出并使用代表系数作为输入的函数。[0331]a.在一个示例中,v被推导为代表系数的数目。[0332]i.可替代地,v被推导为代表系数的和。[0333]1)此外,可替代地,可对和进行削减以得到v。[0334]ii.可替代地,v被推导为代表系数的绝对值之和。[0335]1)此外,可替代地,可对和进行削减以得到v。[0336]b.在一个示例中,可以根据v的奇偶性在解码器处隐式地确定选择。[0337]i.例如,如果v是偶数,则将第一类变换选择为水平变换,并且将第二类变换选择为垂直变换;若v为奇数,则将第三类变换选择为水平变换,将第四类变换选择为垂直变换。[0338]1)在一个示例中,第一类变换与第二类变换相同。[0339]a)可替代地,第一类变换不同于第二类变换。[0340]2)在一个示例中,第三类变换与第四类变换相同。[0341]a)可替代地,第三类变换不同于第四类变换。[0342]3)第一/第二/第三/第四类变换是特定变换,例如dct-x或dst-y。x可以是整数,例如2或8。y可以是整数,例如7或8。[0343]4)此外,可替代地,第三类变换和第四类变换中的至少一个不同于第一和第二类变换。[0344]a)在一个示例中,当v是偶数时,第一类变换和第二类变换是dct-2,而当v是奇数时,第三类变换和第四类变换是dst-7。[0345]b)可替代地,当v是奇数时,第一类变换和第二类变换是dct-2,而当v是偶数时,第三类变换和第四类变换是dst-7。[0346]c.在一个示例中,如果v小于阈值t1,则将第五类变换选择为水平变换,并选择第六类变换作为垂直变换。例如,t1=1或2。[0347]i.可替代地,如果v大于阈值t2,则将第五类变换选择为水平变换,并将第六类变换选择为垂直变换。[0348]ii.例如,阈值可以取决于块的维度。[0349]iii.例如,阈值可以取决于qp。[0350]iv.在一个示例中,第五类变换与第六类变换相同。[0351]1)可替代地,第五类变换不同于第六类变换。[0352]v.在一个示例中,第五/第六类变换是特定变换,例如dct-x或dst-y。x可以是整数,例如2或8。y可以是整数,例如7或8。[0353]4.变换确定还可以取决于当前块的经过编解码的信息。[0354]a.在一个示例中,如果当前帧内编解码块处于i-条带/图片中,则当v为偶数时,可将dst-7应用于当前块,且当v为奇数时,可将dct-2应用于当前块。[0355]b.在一个示例中,如果当前帧内编解码块处于p/b-条带/图片中,且v为偶数,则可将dct-2应用至当前块,且当v为奇数时,可将dst-7应用至当前块。[0356]c.在一个示例中,所述确定可进一步取决于模式信息(例如,帧内或帧间)。[0357]5.可以预先定义可以从中选择隐式mts变换的变换集。[0358]a.在一个示例中,水平和垂直变换集可以不相同。[0359]i.可替代地,水平和垂直变换集可以不相同。[0360]b.在一个示例中,变换集可以包括dct-2和dst-7。[0361]c.在一个示例中,变换集可以包括dct-2,dst-7和识别变换。[0362]d.在一个示例中,变换集可以取决于经过编解码的信息,颜色分量,分割结构(例如,双树/单树;四叉树/二叉树/三叉树/扩展四叉树),条带/图片类型等。[0363]i.在一个示例中,变换集可以取决于块维度。[0364]ii.在一个示例中,对于帧内编解码块,可以包括dct-2和dst-7。[0365]iii.在一个示例中,对于在同一图片(例如,帧内块拷贝)中利用参考采样进行编解码的块,可以包括dst-7和身份变换(即,不应用变换)。[0366]6.在一个示例中,项目1-5中公开的方法中的一个或多个只能应用于特定的块。[0367]a.例如,项目1-5中公开的方法中的一个或多个只能应用于帧内编解码块。[0368]简化mts/sbt[0369]7.在一个示例中,在mts中垂直变换和水平变换必须是相同的。[0370]a.在一个示例中,块只能选择如下两类转换之一:[0371]i.水平变换中的dct-2和垂直变换中的dct-2;[0372]ii.水平变换中的dst-7和垂直变换中的dst-7;[0373]b.在一个示例中,用于mts的信令可以包括用于块的至多一个标志。[0374]i.在一个示例中,如果标志等于0,水平变换中的dct-2和垂直变换中的dct-2;如果标志等于1,水平变换中的dst-7和垂直变换中的dst-7。[0375]ii.在一个示例中,如果标志等于1,水平变换中的dct-2和垂直变换中的dct-2;如果标志等于0,水平变换中的dst-7和垂直变换中的dst-7。[0376]8.假设块的宽度和高度分别为w和h。仅当以下情况时,项目7被应用[0377]a.w》=t1且h》=t2,例如t1=t2=8;[0378]b.w《=t1且h《=t2,例如t1=t2=16;[0379]c.min(w,h)》=t1,例如t1=8;[0380]d.max(w,h)《=t1,例如t1=32;[0381]e.w*h》=t1,例如t1=64;[0382]f.w*h《=t1,例如t1=256。[0383]9.在一个示例中,可以在用sbt进行编解码的块中应用除dst-8之外的变换。[0384]a.在一个示例中,只有dct-2和dst-7可以应用于用sbt进行编解码的块中。[0385]b.在一个示例中,在用于如图15所示的sbt的(sbt-v,位置0)的情况下,水平地应用dct-2并且垂直地应用dst-7。[0386]c.在一个示例中,在用于如图15所示的sbt的(sbt-h,位置0)的情况下,水平地应用dst-7并且垂直地应用dct-2。[0387]10.假设变换块的宽度和高度分别是w和h。在一个示例中,对用sbt进行编解码的块的变换的选择可取决于变换块维度,其中当应用sbt时,变换块可小于编解码块。[0388]a.在一个示例中,在如图15所示的用于sbt的(sbt-v,位置0)的情况下,如果w》=t1,则水平地应用dct-2并且垂直地应用dst-7。否则,水平地应用dct-8并且垂直地应用dst-7。例如,t1=8。[0389]b.在一个示例中,在用于如图15所示的sbt的(sbt-h,位置0)的情况下,如果h》=t1,则水平地应用dst-7并且垂直地应用dct-2。否则,水平地应用dst-7并且垂直地应用dct-8。例如,t1=8。[0390]一般特征[0391]11.变换矩阵的决定可以在cu/cb级别或tu级别中完成。[0392]a.在一个示例中,在cu级别中做出决定,其中所有tu共享相同的变换矩阵。[0393]i.此外,可替代地,当一个cu被划分成多个tu时,可以利用一个tu(例如,第一个或最后一个tu)或者部分或全部tu中的系数来确定变换矩阵。[0394]b.使用cu级别解决方案还是tu级别解决方案可以取决于块尺寸和/或vpdu尺寸和/或一个块的最大ctu尺寸和/或经过编解码的信息。[0395]i.在一个示例中,当块尺寸大于vpdu尺寸时,可应用cu级别确定方法。[0396]12.在本文档中公开的方法中,可以对系数或代表系数进行量化或去量化。[0397]13.变换跳过也可以由系数或代表系数隐式地利用本文档中公开的任何方法来确定。[0398]14.在本文档中公开的方法中,系数或代表系数可以在用于推导变换之前被修改。[0399]a.例如,系数或代表系数可以在用于推导变换之前被削减。[0400]b.例如,系数或代表系数可以在用于推导变换之前被缩放。[0401]c.例如,系数或代表系数可以在用于推导变换之前与一个偏移相加。[0402]d.例如,系数或代表系数可以在用于推导变换之前被进行滤波。[0403]e.例如,系数或代表系数可以在用于推导变换之前被映射到其它值(例如,经由查找表)。[0404]15.本文档中公开的方法也可以被用于通过系数或代表系数隐式地推导其它编解码模式/信息。[0405]a.在一个示例中,所公开的方法可用于推导可应用于块的子区域的二次变换。[0406]b.此外,可替代地,代表系数来自与子区域而不是整个块对应的系数。[0407]16.在一个示例中,可以在序列级别/图片级别/条带级别/片组级别(tilegrouplevel),诸如在序列标头/图片标头/sps/vps/dps/pps/aps/条[0408]带标头/片组标头,信令通知是否和/或如何应用上文所公开的方法。[0409]17.在一个示例中,是否和/或如何应用上文所公开的方法可以取决于编解码信息,其中编解码信息可以包括:[0410]a.块维度。[0411]i.在一个示例中,对于宽度和高度都不大于阈值(例如,32)的块,可以应用上述隐式mts方法。[0412]b.qp[0413]c.图片或条带类型(例如i-帧或p/b-帧,i-条带或p/b-条带)[0414]i.在一个示例中,所提出的方法可在i-帧上启用,但在p/b-帧上禁用。[0415]d.一种结构划分方法(单树或双树)[0416]i.在一个示例中,对于单树划分应用的条带/图片/砖块/片,可以应用上述隐式mts方法。[0417]e.编解码模式(例如帧间模式/帧内模式/ibc模式等)[0418]i.在一个示例中,对于帧内编解码块,可应用上述隐式mts方法。[0419]f.编解码方法(例如,帧内子块分割,派生树(dt)方法等)[0420]i.在一个示例中,对于应用dt的帧内编解码块,可以禁用上述隐式mts方法。[0421]ii.在一个示例中,对于应用了isp的帧内编解码块,可以禁用上述隐式mts方法。[0422]g.颜色分量[0423]i.在一个示例中,对于亮度块,可以应用上述隐式mts方法,而对于色度块,可以不应用上述隐式mts方法。[0424]h.帧内预测模式(例如dc,垂直,水平等)[0425]i.运动信息(例如mv和参考索引)。[0426]j.标准配置文件/级别/层级[0427]用于色度分量的编解码工具[0428]18.提出了取决于编解码工具x是否被应用于一个或多个对应的亮度块,编解码工具x可以被应用于块的一个或多个色度分量。在下面的讨论中,"色度分量"可以指"一个或多个色度分量"。[0429]a.在一个示例中,用于色度块的编解码工具x的使用是从编解码工具是否被应用于对应亮度块的信息推导出的。因此,不需要额外的用于色度块的编解码工具x的使用的信令通知。[0430]i.在一个示例中,如果编解码工具x应用于对应的亮度块,则编解码工具x可以应用于块的色度分量;并且,如果编解码工具x没有应用于对应的亮度块,则不将编解码工具x应用于该块的色度分量。[0431]ii.在一个示例中,当编解码工具x应用于对应的亮度块时,编解码工具x可以以相同的方式应用于亮度分量和色度分量。[0432]b.在一个示例中,可以有条件地信令通知消息(例如标志或索引)以指示编解码工具x是否被应用于块的色度分量。该条件可以被定义为编解码工具x是否应用于对应的亮度块。另外,可替代地,如果编解码工具x没有应用于对应的亮度块,则编解码工具x在没有信令通知的情况下不被应用于块的色度分量。[0433]i.在一个示例中,当编解码工具x应用于对应的亮度块并且消息指示编解码工具x也被应用于色度分量时,编解码工具x可以以相同的方式应用于亮度分量和色度分量。[0434]ii.在一个示例中,编解码工具x可以以不同的方式应用于亮度分量和色度分量。[0435]1)可以信令通知如何将编解码工具x分别应用于亮度分量和色度分量。[0436]c.在上述讨论中,“对应的亮度块”可以指覆盖色度块的至少一个“对应采样”的亮度块。采样位置可以根据颜色格式来缩放,例如4:4:4或4:2:0。假设色度块的左上角位置是(x0,y0),并且色度块的宽度和高度是w和h,所有这些都被缩放到亮度采样单元。[0437]i.在一个示例中,对应的采样可以在(x0,y0)处;[0438]ii.在一个示例中,对应的采样可以在(x0 w-1,y0 h-1)处;[0439]iii.在一个示例中,对应的采样可以在(x0 w/2-1,y0 h/2-1)处;[0440]iv.在一个示例中,对应的采样可以在(x0 w/2,y0 h/2)处;[0441]v.在一个示例中,对应的采样可以在(x0 w/2,y0 h/2-1)处;[0442]vi.在一个示例中,对应的采样可以在(x0 w/2-1,y0 h/2)处;[0443]19.提出了取决于编解码工具x是否被应用于另一色度分量的一个或多个对应块,编解码工具x可以被应用于块的一个色度分量。[0444]a.在一个示例中,用于色度块的编解码工具x的使用是从编解码工具是否被应用于其它色度分量的对应块的信息推导出来的。因此,不需要额外的用于色度块的编解码工具x的使用的信令通知。[0445]b.在一个示例中,可有条件地信令通知消息(例如标志)以指示编解码工具x是否被应用于块的色度分量。该条件可以被定义为编解码工具x是否被应用于其它色度分量的对应块。另外,可替代地,如果编解码工具x没有应用于其它色度分量的对应的块,则编解码工具x在没有信令的情况下不被应用于块的色度分量。[0446]20.提出了取决于编解码工具x是否应用于色度分量的一个或多个对应的块,编解码工具x可以应用于块的亮度分量。[0447]a.在一个示例中,用于亮度块的编解码工具x的使用是从编解码工具是否被应用于色度分量的对应块的信息推导出来的。因此,不需要额外的用于色度块的编解码工具x的使用的信令通知。[0448]b.在一个示例中,可有条件地信令通知消息(例如标志)以指示编解码工具x是否被应用于块的亮度分量。该条件可以被定义为编解码工具x是否被应用于色度分量的对应块。可替代地,如果编解码工具x没有应用于色度分量的对应的块,则编解码工具x在没有信令的情况下不被应用于块的亮度分量。[0449]21.上述编解码工具x可以定义如下。[0450]a.在一个示例中,编解码工具x可以是mts。[0451]b.在一个示例中,编解码工具x可以是变换跳过。[0452]c.在一个示例中,编解码工具x可以是rst。[0453]d.在一个示例中,编解码工具x可以是rbdpcm。[0454]e.在一个示例中,编解码工具x可以是bdpcm。[0455]mts索引和变换跳过标志的信令[0456]22.提出了取决于bdpcm或qr-bdpcm的使用或bdpcm的任何变型,可以有条件地信令通知mts索引和/或变换跳过标志。[0457]a.在一个示例中,当对于比特流中的块启用bdpcm或qr-bdpcm或bdpcm的任何变型时(例如intra_bdpcm_flag等于真),对于该块可以不信令通知mts索引和/或变换跳过标志。[0458]i.此外,可替代地,当在块中启用bdpcm或qr-bdpcm或bdpcm的任何变型时,可以推断块的变换跳过标志为真。[0459]b.在一个示例中,当在块中启用bdpcm或qr-bdpcm或bdpcm的任何变型时,可以推断块的mts索引为0。[0460]23.可应用固定长度编解码以对除ts和dct-2之外的不同mts类型(诸如vvc规范中的dst7-dst7,dct8-dst7,dst7-dct8,dct8-dct8)进行编解码。[0461]a.在一个示例中,可以应用具有2个二进制数的固定长度。[0462]b.在一个示例中,每个二进制数可以是上下文编解码的。[0463]c.在一个示例中,第一二进制数或最后的二进制数可以是上下文编解码的,而剩余的二进制数是旁路编解码的。[0464]d.在一个示例中,所有的二进制数都被旁路编解码。[0465]24.变换矩阵索引(例如,ts,dct-2,其它变换矩阵)的上下文建模可取决于经过编解码的模式,变换块尺寸和/或qt深度和/或mtt深度和/或bt深度和/或tt深度。[0466]a.在一个示例中,用于变换矩阵索引的上下文建模可取决于块的编解码模式,例如块是否以帧内/帧间/ibc模式进行编解码。[0467]b.在一个示例中,用于变换矩阵索引的上下文建模可取决于多个分割深度的函数,其中该多个分割深度可包括qt深度、mtt深度、bt深度、tt深度。[0468]c.在一个示例中,变换矩阵索引的上下文建模可取决于tu/tb相对于cu/pu的变换深度。[0469]d.在一个示例中,可以将上下文索引增量设置为tu/tb维度的函数。[0470]i.在一个示例中,上下文索引增量可以被设置为((log2(tbw) log2(tbh))》》1)–x,其中tbw和tbh指示变换块的宽度和高度,x是整数(诸如x=2)。[0471]ii.在一个示例中,上下文索引增量可被设置为log2(max(tbw,tbh))–x,其中tbw和tbh指示变换块的宽度和高度,x是整数(诸如x=2),max(a,b)返回较大的值。[0472]iii.在一个示例中,上下文索引增量可以被设置为log2(min(tbw,tbh))–x,其中tbw和tbh指示变换块的宽度和高度,x是整数(诸如x=2),min(a,b)返回较小的值。[0473]iv.上述上下文索引增量可以进一步被裁剪到例如[k0,k1]的范围,其中k0和k1是整数。[0474]e.在一个示例中,可以将上下文索引增量设置为tu/tb宽度或高度的函数。[0475]f.在一个示例中,可以将上下文索引增量设置为mtt深度的函数。[0476]g.在一个示例中,可以将上下文索引增量设置为min(k,四叉树深度),其中函数min(a,b)返回a和b之间的较小值,k是诸如4或5的整数。[0477]h.在一个示例中,上述方法可应用于矩阵索引编解码中使用的特定于代码的二进制数。[0478]i.在一个示例中,用于指示它是否是dct2的二进制数是上下文编解码的,并且上下文建模基于上述方法,例如tu_mts_idx的第一二进制数。[0479]25.提出了可以共享用于对是ts还是dct2的指示进行编解码的上下文建模。[0480]a.在一个示例中,用于编解码transform_skip_flag和tu_mts_idx的第一二进制数的上下文建模(即,如何选择上下文索引)可以是相同的。[0481]b.此外,可替代地,用于对这两个二进制数进行编解码的上下文可以是不同的或部分共享的。[0482]i.在一个示例中,第一集合上下文可用于对transform_skip_flag进行编解码,且第二集合上下文可用于对tu_mts_idx的第一二进制数进行编解码。并且这两个集合不共享。[0483]c.此外,可替代地,用于对这两个二进制数进行编解码的上下文也可以完全共享。[0484]26.提出了可以将单个上下文用于语法元素tu_mts_idx的部分或全部上下文编解码的二进制数。[0485]a.例如,可以将单个上下文用于tu_mts_idx的第一二进制数。[0486]b.例如,可以将单个上下文用于除tu_mts_idx的第一二进制数之外的所有二进制数。[0487]i.此外,可替代地,可以使用项目24中提到的上下文建模方法对tu_mts_idx的第一二进制数进行上下文编解码。[0488]1.在一个示例中,取决于变换尺寸,第一二进制数可以用n个上下文进行上下文编解码(例如,上下文索引增量可以被设置为((log2(tbw) log2(tbh))》》1)–2,使得n=4),并且所有剩余二进制数可以是用单个上下文进行编解码的上下文。[0489]c.此外,可替代地,可以对tu_mts_idx的第一二进制数和第二二进制数进行上下文编解码,并且可以对所有剩余的二进制数进行旁路编解码。[0490]d.在一个示例中,可以根据变换尺寸(例如,n=4),用n个上下文对第一二进制数进行上下文编解码,而可以用单个上下文对第二二进制数进行上下文编解码,并且可以对剩余的二进制数进行旁路编解码。例如,tu_mts_idx的所有二进制数可以被旁路编解码。[0491]27.可以以以下方式定义变换矩阵的二进制化:[0492]a.在一个示例中,下表示出了映射的二进制数和对应的矩阵。[0493]变换矩阵二进制数串ts0dct2-dct210dst7-dst7110dct8-dst71110dst7-dct811110dct8-dct811111[0494]b.在一个示例中,下表示出了映射的二进制数和对应的矩阵。[0495]变换矩阵二进制数串ts0dct2-dct210dst7-dst71100dct8-dst71101dst7-dct81110dct8-dct81111[0496]c.在一个示例中,下表示出了映射的二进制数和对应的矩阵。[0497]变换矩阵二进制数串ts1dct2-dct201dst7-dst70000dct8-dst70001dst7-dct80010dct8-dct80011[0498]d.在一个示例中,下表示出了映射的二进制数和对应的矩阵。[0499][0500][0501]e.在一个示例中,下表示出了映射的二进制数和对应的矩阵。[0502]变换矩阵二进制数串ts0dct2-dct211dst7-dst710[0503]f.在一个示例中,下表示出了映射的二进制数和对应的矩阵。[0504]变换矩阵二进制数串ts1dct2-dct200dst7-dst701[0505]g.在一个示例中,下表示出了映射的二进制数和对应的矩阵。[0506]变换矩阵二进制数串ts1dct2-dct201dst7-dst700[0507]28.提出了mts仅具有转换的两种候选组合:dct2-dct2和dst7-dst7。[0508]上述示例可以结合在下文中描述的方法的上下文中,例如,方法1610、1620、1630、1640和1650,其可以在视频编码器和/或解码器处实现。[0509]图16a示出了用于视频处理的示例性方法的流程图。方法1610包括:在操作1612中,作为视频的当前块和视频的比特流表示之间的转换的一部分,基于编解码工具对视频的对应亮度分量的选择性应用,将编解码工具应用至视频的一个或多个色度分量。[0510]方法1610包括:在操作1614中,进行转换。[0511]图16b示出了用于视频处理的示例性方法的流程图。方法1620包括:在操作1622中,作为视频的第一色度分量的当前块和视频的比特流表示之间的转换的一部分,基于编解码工具对视频的其它色度分量的一个或多个对应块的选择性应用,将编解码工具应用至当前块。[0512]方法1620包括:在操作1624中,进行转换。[0513]图16c示出了用于视频处理的示例性方法的流程图。方法1630包括:在操作1632中,作为视频的当前块和视频的比特流表示之间的转换的一部分,基于编解码工具对视频的一个或多个对应色度分量的选择性应用,将编解码工具应用至视频的亮度分量。[0514]方法1630包括:在操作1634中,进行转换。[0515]图16d示出了用于视频处理的示例性方法的流程图。方法1640包括:在操作1642中,执行视频的当前块与视频的比特流表示之间的转换。在一些实施例中,多变换集(mts)索引和/或变换跳过标志是否在比特流表示中信令通知是基于用于当前块的、基于块差分脉冲编解码调制(bdpcm)的编解码工具的启用。[0516]图16e示出了用于视频处理的示例性方法的流程图。方法1650包括:在操作1652中,基于用于视频的当前块的多变换集(mts)类型,选择具有多个二进制数的编解码类型。[0517]方法1650包括:在操作1654中,作为当前块和视频的比特流表示之间的转换的一部分,将编解码类型应用至mts类型的指示。[0518]5所公开的技术的示例性实施[0519]在以下实施例中,使用粗体双大括号指示添加,例如,{{a}}指示已添加“a”,而使用粗体双括号指示删除,例如,[[a]]指示已删除“a”。[0520]5.1实施例#1[0521]jvet-n1001-v7中指定的工作草案可以如下改变。[0522]8.7.4用于缩放的变换系数的变换过程[0523]8.7.4.1一般情况[0524]...[0525]表8-17-取决于cu_sbt_horizontal_flag和cu_sbt_pos_flag的trtypehor和trtypever的说明[0526]cu_sbt_horizontal_flagcu_sbt_pos_flagtrtypehortrtypever00{{ntbw》=8?0:}}210111101{{ntbh》=8?0:}}21111[0527]5.2实施例2[0528]jvet-n1001-v8中指定的工作草案可以如下改变。[0529]7.3.7.10变换单元语法[0530][0531]可替代地,可应用以下:[0532][0533]5.3实施例3[0534]jvet-n1001-v8中指定的工作草案可以如下改变。[0535]9.5.3.7固定长度二进制化过程[0536]...[0537]{{[0538]9.5.3.8用于tu_mts_idx的二进制化过程[0539]该过程的输入是对语法元素tu_mts_idx的二进制化的请求。该过程的输出是语法元素的二进制化。[0540]用于语法元素tu_mts_idx的二进制化在表9-14中指定。[0541]表9-14—tu_mts_idx的二进制化[0542][0543]}}[0544]5.4实施例4[0545]jvet-n1001-v8中指定的工作草案可以如下改变。[0546]9.5.4.2用于ctxtable、ctxidx和bypassflag的推导过程[0547]9.5.4.2.1一般情况[0548]...[0549]表9-17–对具有经过上下文编解码的二进制数的语法元素分配ctxinc[0550][0551]5.5实施例5[0552]jvet-n1001-v8中指定的工作草案可以如下改变。[0553]9.5.4.3用于ctxtable、ctxidx和bypassflag的推导过程[0554]9.5.4.3.1一般情况[0555]...[0556]表9-17–对具有经过上下文编解码的二进制数的语法元素分配ctxinc[0557][0558]5.6实施例6[0559]jvet-n1001-v8中指定的工作草案可以如下改变。[0560]9.5.4.4用于ctxtable、ctxidx和bypassflag的推导过程[0561]9.5.4.4.1一般情况[0562]...[0563]表9-17–对具有经过上下文编解码的二进制数的语法元素分配ctxinc[0564][0565]5.7实施例6[0566]jvet-n1001-v8中指定的工作草案可以如下改变。[0567]9.5.4.5用于ctxtable、ctxidx和bypassflag的推导过程[0568]9.5.4.5.1一般情况[0569]...[0570]表9-17–对具有经过上下文编解码的二进制数的语法元素分配ctxinc[0571][0572]5.8实施例7[0573]jvet-n1001-v8中指定的工作草案可以如下改变。[0574]9.5.4.6用于ctxtable、ctxidx和bypassflag的推导过程[0575]9.5.4.6.1一般情况[0576]...[0577]表9-17–对具有经过上下文编解码的二进制数的语法元素分配ctxinc[0578][0579]可替代地,可应用以下内容:[0580][0581]图17是视频处理装置1700的框图。设备1700可以用于实现本文中描述的一个或多个方法。装置1700可以实施在智能电话、平板计算机、计算机、物联网(iot)接收器等中。装置1700可以包括一个或多个处理器1702,一个或多个存储器1704和视频处理硬件1706。处理器1702可经配置以实现本文档中所描述的一个或多个方法(包括但不限于方法1610、1620、1630、1640和1650)。一个或多个存储器1704可用于存储用于实现本文中描述的方法和技术的数据和代码。视频处理硬件1706可用于在硬件电路中实现本文档中描述的一些技术。[0582]在一些实施例中,如参照图17所描述的,可以使用在硬件平台上实现的设备来实现视频编解码方法。[0583]所公开的技术的一些实施例包括决定或确定启用视频处理工具或模式。在一个示例中,当启用视频处理工具或模式时,编码器将在视频块的处理中使用或实现该工具或模式,但是可以不必基于工具或模式的使用来修改所产生的比特流。也就是说,从视频的块到视频的比特流表示的转换将在基于决定或确定启用视频处理工具或模式时使用视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将利用已经知晓比特流已基于视频处理工具或模式被修改而来处理比特流。也就是说,将使用基于决定或确定而启用的视频处理工具或模式来执行从视频的比特流表示到视频的块的转换。[0584]所公开的技术的一些实施例包括决定或确定禁用视频处理工具或模式。在一个示例中,当视频处理工具或模式被禁用时,编码器将不在从视频的块到视频的比特流表示的转换中使用工具或模式。在另一示例中,当视频处理工具或模式被禁用时,解码器将利用已经知晓比特流还没有使用基于决定或确定而被启用的视频处理工具或模式被修改而来处理比特流。[0585]图18是示出可在其中实现本文所公开的各种技术的示例性视频处理系统1800的框图。各种实现方式可以包括系统1800的一些或全部部件。系统1800可以包括用于接收视频内容的输入1802。视频内容可以以原始或未压缩格式(例如,8或10位多分量像素值)来接收,或者可以以压缩或编码格式来接收。输入1802可表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(pon)等的有线接口,以及诸如wi-fi或蜂窝接口的无线接口。[0586]系统1800可以包括编解码部件1804,其可以实现本文档中描述的各种编解码和编码方法。编解码组件1804可将来自输入1802的视频的平均比特率降低到编解码部件1804的输出,以产生视频的经过编解码的表示。因此,编解码技术有时被称为视频压缩或视频代码转换技术。编解码部件1804的输出可以被存储,或者通过连接的通信部件(如部件1806所示)被发送。在输入1802处接收的视频的存储的或传送的比特流(或经过编解码的)表示可以由组件1808用于生成被发送到显示接口1810的像素值或可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是应理解,编解码工具或操作在编码器处使用,并且反转编解码结果的对应解码工具或操作将由解码器执行。[0587]外围总线接口或显示器接口的示例可包括通用串行总线(usb)或高清晰度多媒体接口(hdmi)或显示器端口(displayport)等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文档中描述的技术可以实施在各种电子设备中,例如移动电话、膝上型计算机、智能电话或能够进行数字数据处理和/或视频显示的其它设备。[0588]在一些实施例中,可以实施以下技术方案:[0589]1.一种用于视频处理的方法,包括:进行视频的当前块与视频的比特流表示之间的转换,其中,在比特流表示中是否信令通知多变换集(mts)索引和/或变换跳过标志是基于用于当前块的基于块差分脉冲编解码调制(bdpcm)的编解码工具的启用。[0590]2.如技术方案1所述的方法,其中,基于bdpcm的编解码工具为量化残差域bdpcm(qr-bdpcm)。[0591]3.如技术方案1或2所述的方法,其中,当基于bdpcm的编解码工具对于当前块被启用时,将mts索引和/或变换跳过标志从比特流表示中排除。[0592]4.如技术方案1或2所述的方法,其中,当基于bdpcm的编解码工具对于当前块被启用时,推断mts索引和/或变换跳过标志为假。[0593]5.如技术方案1或2所述的方法,其中,当基于bdpcm的编解码工具对于当前块被启用时,推断变换跳过标志为真。[0594]6.如技术方案1至5中任一项所述的方法,其中,mts过程包括:基于mts索引,在转换期间使用多个预定变换中的至少一个。[0595]7.如技术方案1至5中任一项所述的方法,其中,在基于变换跳过标志的变换跳过模式中,在不应用变换的情况下,将当前视频块与参考视频块之间的预测误差的残差量化。[0596]8.如技术方案1至5中任一项所述的方法,其中,在基于bdpcm的编解码工具中,使用差分脉冲编解码调制(dpcm)将当前视频块的帧内预测的残差与残差的预测之间的差表示在比特流表示中。[0597]9.一种用于视频处理的方法,包括:作为视频的当前块和视频的比特流表示之间的转换的一部分,基于编解码工具对视频的对应亮度分量的选择性应用,将编解码工具应用至视频的一个或多个色度分量;以及进行转换。[0598]10.如技术方案9所述的方法,其中,从比特流表示中排除了将编解码工具应用至一个或多个色度分量的指示。[0599]11.如技术方案9所述的方法,其中,基于条件,在比特流表示中信令通知将编解码工具应用至一个或多个色度分量的指示。[0600]12.如技术方案11所述的方法,其中,条件包括将编解码工具应用至视频的对应亮度分量。[0601]13.如技术方案10至12中任一项所述的方法,其中,指示包括标志或索引。[0602]14.如技术方案9至13中任一项所述的方法,其中,亮度分量覆盖了一个或多个色度分量中的色度分量的对应采样。[0603]15.如技术方案14的方法,其中,基于当前块的颜色格式来缩放对应采样。[0604]16.一种用于视频处理的方法,包括:作为视频的第一色度分量的当前块与视频的比特流表示之间的转换的一部分,基于编解码工具对视频的其它色度分量的一个或多个对应块的选择性应用,将编解码工具应用至当前块;以及进行转换。[0605]17.如技术方案16所述的方法,其中,从比特流表示中排除了将编解码工具应用至当前块的指示。[0606]18.如技术方案16所述的方法,其中,基于条件,在比特流表示中信令通知将编解码工具应用至当前块的指示。[0607]19.如技术方案18所述的方法,其中,条件包括将编解码工具应用至其它色度分量的一个或多个对应块。[0608]20.一种用于视频处理的方法,包括:作为视频的当前块和视频的比特流表示之间的转换的一部分,基于编解码工具对视频的一个或多个对应色度分量的选择性应用,将编解码工具应用至视频的亮度分量;以及进行转换。[0609]21.如技术方案20所述的方法,其中,从比特流表示中排除了将编解码工具应用至亮度分量的指示。[0610]22.如技术方案20所述的方法,其中,基于条件,在比特流表示中信令通知将编解码工具应用至亮度分量的指示。[0611]23.如技术方案22所述的方法,其中,条件包括将编解码工具应用至一个或多个对应色度分量。[0612]24.如技术方案9至23中任一项所述的方法,其中,编解码工具选自由以下构成的组:多变换集(mts)、变换跳过、简化二次变换(rst)、块差分脉冲编解码调制(bdpcm)和量化残差域bdpcm(qr-bdpcm)。[0613]25.一种用于视频处理的方法,包括:基于用于视频的当前块的多变换集(mts)类型,选择具有多个二进制数的编解码类型;以及作为当前块和视频的比特流表示之间的转换的一部分,将编解码类型应用至mts类型的指示。[0614]26.如技术方案25所述的方法,其中,编解码类型为固定长度编解码,其中mts类型为dst7-dst7、dct8-dst7、dst7-dct8或dct8-dct8,其中dst#为类型#的离散正弦变换,而dct#为类型#的离散余弦变换。[0615]27.如技术方案26所述的方法,其中,多个二进制数中的每个是上下文编解码的。[0616]28.如技术方案26所述的方法,其中,多个二进制数中的每个是旁路编解码的。[0617]29.如技术方案25所述的方法,其中,mts类型为变换跳过(ts)或类型ii的离散余弦变换(dct-ii),并且其中指示的上下文模型基于当前块的编解码模式、用于当前块的变换块尺寸和/或应用至当前块的编解码树的深度。[0618]30.如技术方案29所述的方法,其中,编解码模式为帧内模式、帧间模式或帧内块复制(ibc)模式。[0619]31.如技术方案29所述的方法,其中,编解码树为四叉树(qt)、多类型树(mtt)、三叉树(tt)或二叉树(bt)。[0620]32.如技术方案29所述的方法,其中,上下文模型的索引的增加基于变换单元(tu)的维度或与当前块相关联的变换块(tb)的维度。[0621]33.如技术方案29所述的方法,其中,上下文模型的索引的增加基于编解码树的深度,并且其中编解码树为多类型树(mtt)。[0622]34.如技术方案25所述的方法,其中,mts类型为变换跳过(ts)或类型ii的离散余弦变换(dct-ii),并且其中用于指示的上下文模型被共享。[0623]35.如技术方案25所述的方法,其中,指示为语法元素,并且其中单个上下文用于多个二进制数中的一个或多个。[0624]36.如技术方案35所述的方法,其中,语法元素为tu_mts_idx。[0625]37.如技术方案35或36所述的方法,其中,单个上下文用于多个二进制数中的第一二进制数。[0626]38.如技术方案35或36所述的方法,其中,单个上下文用于多个二进制数中的第一二进制数和第二二进制数,并且多个二进制数中的剩余二进制数被旁路编解码。[0627]39.如技术方案25所述的方法,其中,mts类型为变换跳过(ts)、dct2-dct2、dst7-dst7、dct8-dst7、dst7-dct8或dct8-dct8,其中dst#为类型#的离散正弦变换,并且dct#为类型#的离散余弦变换,并且其中编解码类型为基于如下定义的表的二进制化:[0628]变换矩阵二进制数串ts0dct2-dct210dst7-dst7110dct8-dst71110dst7-dct811110dct8-dct811111[0629]40.如技术方案25所述的方法,其中,mts类型为dct2-dct2或dst7-dst7,其中dst#为类型#的离散正弦变换,并且dct为类型#的离散余弦变换。[0630]41.如技术方案1至40中任一项所述的方法,其中,转换从比特流表示生成当前块。[0631]42.如技术方案1至40中任一项所述的方法,其中,转换从当前块生成比特流表示。[0632]43.一种视频系统中的装置,该装置包括:处理器;以及非瞬态存储器,该非瞬态存储器上具有指令,其中该指令在由处理器执行时使得处理器实现如技术方案1至42中任一项所述的方法。[0633]44.一种存储在非瞬态计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行如技术方案1至42中任一项所述的方法的程序代码。[0634]从上文可以理解,本文中出于说明的目的已经描述了当前公开的技术的具体实施例,但是可以在不背离本发明的范围的情况下进行各种修改。因此,当前公开的技术并不限于此,而是由所附权利要求限定。[0635]在本专利文件中描述的主题和功能操作的实现方式可以实现在各种系统、数字电子电路中,或者计算机软件、固件或硬件中,包括在本说明书中公开的结构及其等同结构,或者上述的一个或多个的组合。本说明书中描述的主题的实现方式可以被实现为一个或多个计算机程序产品,即,在有形的非瞬态计算机可读介质上编解码的计算机程序指令的一个或多个模块,用于由数据处理设备执行或控制数据处理设备的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质组合物,或上述的一个或多个的组合。术语“数据处理单元”或“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或上述的一个或多个的组合的代码。[0636]计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言(包括编译或解释语言)来编写,并且可以以任何形式来部署,包括作为独立的程序或作为模块、部件、子例程或其它适合在计算环境中使用的单元。计算机程序不必对应于文件系统中的文件。程序可以存储在保持其它程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分,存储在专用于所讨论的程序的单个文件中,或者存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可被部署为在一个计算机上执行或在位于一个站点或分布在多个站点上并通过通信网络互连的多个计算机上执行。[0637]本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器来执行,这些可编程处理器执行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如,fpga(现场可编程门阵列)或asic(专用集成电路))来执行,并且装置也可以实现为专用逻辑电路。[0638]例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或只读存储器和随机存取存储器接收指令和数据。计算机的必要元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或被可操作地耦合以从一个或多个大容量存储设备接收数据或向一个或多个大容量存储设备传送数据,所述大容量存储设备用于存储数据,例如磁盘、磁光盘或光盘。然而,计算机不需要具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备。处理器和存储器可以由专用逻辑电路补充或结合在专用逻辑电路中。[0639]虽然本专利文档包括许多细节,但这些不应被解释为对任何发明的范围或所要求保护的范围的限制,而应被解释为对具体发明的具体实施例可能特定的特征的描述。在本专利文档中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或以任何合适的子组合来实现。此外,尽管上面可以将特征描述为在某些组合中起作用,并且甚至最初如此要求保护,但是在一些情况下,可以从组合中去除要求保护的组合中的一个或多个特征,并且要求保护的组合可以针对子组合或子组合的变型。[0640]类似地,虽然在附图中以特定顺序描述了操作,但这不应被理解为要求以所示的特定顺序或以顺序的顺序执行这些操作,或者要求执行所有示出的操作以获得期望的结果。此外,在本专利文献中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中需要这种分离。[0641]仅描述了一些实现方式和示例,并且可以基于在本专利文档中描述和示出的内容来进行其它实现方式、增强和变化。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献