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

隐式选择变换候选的制作方法

2022-02-22 15:10:11 来源:中国专利 TAG:
隐式选择变换候选1.相关申请的交叉引用2.根据关于《巴黎公约》的适用的专利法和/或实施细则,本技术及时要求2019年6月6日提交的国际专利申请号为pct/cn2019/090261、2019年6月15日提交的国际专利申请号为pct/cn2019/091435、2019年7月30日提交的国际专利申请号为pct/cn2019/098468和2019年8月21日提交的国际专利申请号为pct/cn2019/101793的优先权和利益而提出。出于法律规定的所有目的,上述申请的全部公开内容作为本技术公开内容的一部分通过引用合并于此。
技术领域
:3.本专利文档涉及视频编解码和解码技术、设备和系统。
背景技术
::4.尽管在视频压缩方面取得了进步,但数字视频仍然是互联网和其他数字通信网络上使用的最大带宽。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。技术实现要素:5.描述了与数字视频编解码相关的设备、系统和方法,并且特别是用于视频编解码的多重变换方法。所描述的方法可以应用于现有的视频编解码标准(例如,高效视频编解码(hevc))和未来的视频编解码标准(例如,通用视频编解码(vvc))或编解码器。6.在一个代表性方面,所公开的技术可以用于提供视频处理的示例方法。该方法包括基于一个或多个解码的系数并且在缺少一个或多个变换索引的情况下,做出关于对视频的当前块应用变换的决策,并且基于该决策执行当前块和视频的比特流表示之间的转换。7.在另一代表性方面,所公开的技术可用于提供视频处理的示例方法。该方法包括基于代表性系数集并且在缺少一个或多个变换索引的情况下做出关于对当前块应用变换的决策,并且基于该决策执行当前块和比特流表示之间的转换,其中所述代表性系数集包括在有效系数集中,并且其中所述有效系数集中的每个系数都是非零的。8.在又一代表性方面,所公开的技术可用于提供视频处理的示例方法。该方法包括从预定义变换集中选择变换集中的一个或多个变换,作为隐式选择变换(ist)模式的一部分,以及作为执行当前块和比特流表示之间的转换的一部分,将一个或多个变换中的至少一个应用于当前块。9.在又一代表性方面,所公开的技术可用于提供视频处理的示例方法。该方法包括基于视频的当前块的编解码模式做出关于将隐式多重变换集(mts)处理应用于编解码模式,而不管在视频的比特流表示中在序列级、图片级、子图片级、条带(silce)级、片组级、片(tile)级、图块(brick)级、编解码树单元(ctu)行、ctu级启用mts处理的指示值的决策,以及基于该决策执行当前块和比特流表示之间的转换,其中隐式mts处理包括使用当前块的特性来确定在转换期间使用的变换。10.在又一代表性方面,所公开的技术可用于提供视频处理的示例方法。该方法包括基于对视频的视频区域的多重变换集(mts)处理的启用,做出关于对视频区域的子块内分割(isp)模式或子块变换(sbt)模式的启用的决策,并且基于该决策执行视频区域和视频的比特流表示之间的转换。11.在又一代表性方面,所公开的技术可用于提供视频处理的示例方法。该方法包括基于对视频的视频区域的子块内分割(isp)模式或子块变换(sbt)模式的启用,做出关于对视频区域的多重变换集(mts)处理的启用的决策,并且基于该决策执行视频区域和视频的比特流表示之间的转换。12.在又一代表性方面,所公开的技术可用于提供视频处理的示例方法。该方法包括执行视频的当前块和视频的比特流表示之间的转换,其中比特流表示包括控制对当前块的隐式多重变换集(mts)处理的使用的第一语法元素和控制对当前块的显式mts处理的使用的第二语法元素,并且其中第一语法元素不同于第二语法元素,其中隐式mts处理包括使用当前块的特性来确定在转换期间使用的变换。13.在又一代表性方面,所公开的技术可用于提供视频处理的示例方法。该方法包括:对于视频的视频区域,做出关于使用基于视频区域的编解码模式的一个或多个控制参数,将隐式多重变换集(mts)处理和/或显式mts处理应用于视频区域的决策;以及基于该决策,执行视频区域和视频的比特流表示之间的转换,其中隐式mts处理包括使用当前块的特性来确定在转换期间使用的变换。14.在又一代表性方面,上述方法以处理器可执行代码的形式体现并存储在计算机可读程序介质中。15.在又一代表性方面,公开了一种被配置或可操作来执行上述方法的设备。该设备可以包括被编程为实现该方法的处理器。16.在又一代表性方面,视频解码器装置可以实现本文描述的方法。17.在附图、说明书和权利要求书中更详细地描述了所公开技术的上述和其他方面和特征。附图说明18.图1示出了编解码器框图的示例。19.图2示出了67种帧内预测模式的示例。20.图3a和3b示出了非正方形块的广角帧内预测模式的参考样点的示例。21.图4示出了当使用广角帧内预测时的不连续性的示例。22.图5a-5d示出了由位置相关帧内预测组合(pdpc)方法使用的样点的示例。23.图6示出了4×8和8×4块的划分的示例。24.图7示出了除4×8、8×4和4×4之外的所有块的划分的示例。25.图8示出了将4×8样点的块分成两个独立可解码区域的示例。26.图9示出了利用垂直预测值最大化4xn块的吞吐量的像素行的处理顺序的示例。27.图10示出了jem的二次变换的示例。28.图11示出了所提出的简化二次变换(rst)的示例。29.图12示出了正向和反向简化变换的示例。30.图13示出了具有16×48矩阵的正向rst8×8处理的示例。31.图14示出了针对非零元素在8×8块中扫描位置17到64的示例。32.图15示出了子块变换模式sbt-v和sbt-h的示例33.图16a和16b示出了基于扫描区域的系数编解码的示例。34.图17a-17h示出了视频处理的示例方法的流程图。35.图18是用于实现本文档中描述的可视媒体解码或可视媒体编码技术的硬件平台的示例的框图。36.图19是其中可以实现所公开的技术的示例视频处理系统的框图。具体实施方式37.1引言38.由于对更高分辨率视频的需求日益增长,视频编解码方法和技术在现代技术中无处不在。视频编解码器通常包括压缩或解压缩数字视频的电子电路或软件,并且不断被改进以提供更高的编解码效率。视频编解码器将未压缩的视频转换为压缩格式,反之亦然。视频质量、用于表示视频的数据量(由比特率决策)、编码和解码算法的复杂度、对数据丢失和错误的敏感性、编辑的便利性、随机访问和端到端延迟(时延)之间存在复杂的关系。压缩格式通常符合标准视频压缩规范,例如高效视频编解码(hevc)标准(也称为h.265或mpeg-hpart2)、待最终确定的通用视频编解码(vvc)标准或其他当前和/或未来的视频编解码标准。39.所公开的技术的实施例可以应用于现有的视频编解码标准(例如,hevc,h.265)和未来的标准,以提高运行时性能。在本文档中使用章节标题来提高描述的可读性,并且不以任何方式将讨论或实施例(和/或实现)仅限制于相应的章节。40.2多重变换方法的实施例和示例41.2.1色彩空间和色度二次采样42.颜色空间,也称为颜色模型(或颜色系统),是一种抽象的数学模型,它简单地将颜色的范围描述为数字的元组,通常是3或4个值或颜色分量(例如rgb)。从根本上讲,色彩空间是坐标系和子空间的细化。43.对于视频压缩,最常用的颜色空间是ycbcr和rgb。44.ycbcr,y’cbcr,或ypb/cbpr/cr,也称为ycbcr或y’cbcr,是一个色彩空间家族,在视频和数字摄影系统中用作彩色图像流水线的一部分。y’是亮度分量,cb和cr是蓝色差和红色差色度分量。y’(带基色)与y(亮度)不同,这意味着光强是基于伽马校正的rgb基色进行非线性编解码的。45.色度二次采样是通过对色度信息实施比亮度信息更低的分辨率来编码图像的实践,利用了人类可视系统对色差的敏感度低于亮度的优势。46.4:4:4格式。三个y'cbcr分量中的每一个都具有相同的采样率,因此没有色度二次采样。这种方案有时用于高端电影扫描仪和电影后期制作。47.4:2:2格式。两个色度分量以亮度采样率的一半进行采样:水平色度分辨率减半。这将未压缩视频信号的带宽减少了三分之一,几乎没有可视差异48.4:2:0格式。在4:2:0中,水平采样比4:1:1加倍,但由于在该方案中cb和cr通道仅在每条交替线上采样,垂直分辨率减半。因此数据速率是相同的。cb和cr在水平和垂直方向均以2的系数进行二次采样。4:2:0方案有三种变型,具有不同的水平和垂直位置。49.ο在mpeg-2中,cb和cr在水平方向上位于同一位置。cb和cr位于垂直方向上的像素之间(位于空隙中)。50.ο在jpeg/jif、h.261和mpeg-1中,cb和cr位于空隙中,在交替亮度样点的中间。51.ο在4:2:0dv中,cb和cr在水平方向上位于同一位置。在垂直方向上,它们位于交替的线上。52.2.2典型视频编解码器的编解码流程53.图1示出了vvc编解码器框图的示例,其包含三个环内滤波块:去方块滤波器(df)、样点自适应偏移(sao)和alf。与使用预定义滤波器的df不同,sao和alf利用当前图片的原始样点,分别通过添加偏移和通过应用有限脉冲响应(fir)滤波器来减少原始样点和重构样点之间的均方误差,其中编解码的边信息信令通知偏移和滤波器系数。alf位于每张图片的最后一个处理阶段,可以被视为试图捕捉和修复前几个阶段创建的伪影的工具。54.2.3具有67种帧内预测模式的帧内模式编解码55.为了捕捉自然视频中呈现的任意边缘方向,方向帧内模式的数量从hevc使用的33个扩展到65个。额外的方向模式在图2中被描绘为红点箭头,并且平面模式和dc模式保持相同。这些密集的方向帧内预测模式适用于所有块尺寸以及亮度和色度帧内预测。56.如图1所示,传统的角度帧内预测方向被定义为在顺时针方向上的从45度到-135度。在vtm2中,对于非正方形块,几个传统的角度帧内预测模式被自适应地替换为广角帧内预测模式。被替换的模式使用原始方法被信令通知,并在解析后重新映射到广角模式的索引。帧内预测模式的总数不变(例如,67),并且帧内模式编解码不变。57.在hevc,每个帧内编解码块都有一个正方形,其每边的长度都是2的幂。因此,使用dc模式生成帧内预测值不需要除法运算。在vtv2中,块可以具有矩形形状,在一般情况下,每个块必须使用除法运算。为了避免dc预测的除法运算,仅使用较长的边来计算非正方形块的平均值。58.2.4非正方形块的广角帧内预测59.在一些实施例中,传统的角度帧内预测方向被定义为在顺时针方向上从45度到-135度。在vtm2中,对于非正方形块,几种传统的角度帧内预测模式被自适应地替换为广角帧内预测模式。被替换的模式使用原始方法被信令通知,并在解析后重新映射到广角模式的索引。某个块的帧内预测模式的总数不变(例如,67),并且帧内模式编解码不变。60.为了支持这些预测方向,长度为2w 1的顶部参考和长度为2h 1的左侧参考被定义为如图3a和3b中的示例所示。61.在一些实施例中,广角方向模式中被替换模式的模式数量取决于块的纵横比。表1示出了被替换的帧内预测模式。62.表1:被广角模式替换的帧内预测模式[0063][0064]如图4所示,在广角帧内预测的情况下,两个垂直相邻的预测样点可以使用两个不相邻的参考样点。因此,低通参考样点滤波和侧平滑被应用于广角预测,以减少增加的间隙δpα的负面影响。[0065]2.5位置相关帧内预测组合(pdpc)的示例[0066]在vtm2中,通过位置相关的帧内预测组合(pdpc)方法进一步修改平面模式的帧内预测的结果。pdpc是一种帧内预测方法,其调用未滤波边界参考样点和具有滤波边界参考样点的hevc类型帧内预测的组合。pdpc适用于以下无需信令的帧内模式:平面、dc、水平、垂直、左下角模式及其八个相邻角模式,以及右上角模式及其八个相邻角模式。[0067]预测样点pred(x,y)是使用帧内预测模式(dc、平面、角度)和参考样点的线性组合根据如下等式来预测的:[0068]pred(x,y)=(wl×r-1,y wt×rx,-1–wtl×r-1,-1 (64–wl–wt wtl)×pred(x,y) 32)》》shift[0069]本文,rx,-1,r-1,y分别表示位于当前样点(x,y)顶部和左侧的参考样点,r-1,-1表示位于当前块左上角的参考样点。[0070]在一些实施例中,并且如果pdpc被应用于dc、平面、水平和垂直帧内模式,则不需要如在hevcdc模式边界滤波器或水平/垂直模式边缘滤波器的情况下所需要的额外的边界滤波器。[0071]图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。[0072]在一些实施例中,pdpc权重取决于预测模式,并且在表2中示出,其中s=shift。[0073]表2:根据预测模式的pdpc权重的示例[0074]预测模式wtwlwtl右上角对角线16》》((y'《《1)》》s)16》》((x'《《1)》》s)0左下角对角线16》》((y'《《1)》》s)16》》((x'《《1)》》s)0右上角相邻对角线32》》((y'《《1)》》s)00左下角相邻对角线032》》((x'《《1)》》s)0[0075]2.6子块帧内分割[0076]在jvet-m0102中,提出了isp,它根据块的尺寸大小,将亮度帧内预测块垂直或水平划分为2或4个子分区,如表3所示。图6和图7示出了两种可能性的示例。所有子分区都满足至少有16个样点的条件。[0077]表3:取决于块尺寸的子分区数量[0078][0079][0080]对于这些子分区中的每一个,通过对编码器发送的系数进行熵解码,然后对其进行反量化和反变换,来生成残差信号。然后,子分区被帧内预测,并且最终通过将残差信号添加到预测信号来获得对应的重构样点。因此,每个子分区的重构值将可用于生成下一个子分区的预测,下一个子分区将重复该过程等等。所有子分区共享相同的帧内模式。[0081]基于所使用的帧内模式和划分,使用两种不同类别的处理顺序(称为正常和反向顺序)。按照正常顺序,要处理的第一个子分区是包含cu左上角样点的分区,并且然后继续向下(水平划分)或向右(垂直划分)。结果,用于生成子分区预测信号的参考样点仅位于线的左侧和上方。另一方面,反向处理顺序或者从包含cu的左下角样点的子分区开始并继续向上,或者从包含cu的右上角样点的子分区开始并继续向左。[0082]2.7块差分脉冲编解码调制编解码(bdpc)[0083]jvet-m0057中提出了bdpcm。由于水平(或者,垂直)预测值的形状(使用左(a)(或者,上方(b))像素用于当前像素的预测),处理块的最有吞吐量效率的方式是处理一列(或者,一行)的所有像素,并顺序地处理这些列(或行)。为了增加吞吐量,我们引入以下处理:当在该块上选择的预测值是垂直的时,宽度为4的块被划分成具有水平边界的两半,并且当在该块上选择的预测值是水平的时,高度为4的块被划分成具有垂直边界的两半。[0084]当划分一个块时,不允许来自一个区域的样点使用来自另一个区域的像素来计算预测:如果出现这种情况,预测像素将被预测方向上的参考像素替换。这在图8中示出,针对垂直预测的、4×8块中的当前像素x的不同位置。[0085]由于这个特性,现在可以在2个周期内处理4×4块,以及在4个周期内处理4×8或8×4块,以此类推,如图9所示。[0086]表4总结了处理数据块所需的周期数,这取决于数据块尺寸。示出两个维度都大于或等于8的任何块可以以每周期8个像素或更多像素处理是常见的。[0087]表4:尺寸为4xn、nx4的块的吞吐量[0088][0089][0090]2.8量化残差域bdpcm[0091]在jvet-n0413中,提出了量化残差域bdpcm(在下文中称为rbdpcm)。类似于帧内预测,通过在预测方向(水平或垂直预测)上的样点复制,对整个块进行帧内预测。残差被量化,并且量化残差与其预测值(水平或垂直)量化值之间的偏差被编解码。[0092]对于尺寸为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被信令通知:[0093][0094]对于水平预测,应用类似的规则,并且通过以下方式获得残差量化样点[0095][0096]残差量化样点被发送到解码器。[0097]在解码器侧,上述计算被反向以产生q(ri,j),0≤i≤m-1,0≤j≤n-1。对于垂直预测情况,[0098][0099]对于水平情况,[0100][0101]反量化残差q-1(q(ri,j))被添加到帧内块预测值,以产生重构样点值。[0102]这种方案的好处之一是,在简单地在解析系数时添加预测值的系数解析过程期间可以动态地进行dpcm反运算,或者在解析后执行dpcm反运算。[0103]变换跳过总是用在量化残差域bdpcm中。[0104]2.9vvc中的多重变换集(mts)[0105]在vtm4中,支持最大64×64的大的块尺寸转换,这主要适用于更高分辨率的视频,例如1080p和4k序列。对于尺寸(宽度或高度,或宽度和高度两者)等于64的变换块,高频变换系数被归零,从而仅保留低频系数。例如,对于m×n变换块,以m为块宽,n为块高,当m等于64时,只保留左侧32列变换系数。类似地,当n等于64时,仅保留上方32行变换系数。当对一个大的块使用变换跳过模式时,将使用整个块而不归零任何值。[0106]除了已经在hevc使用的dct-ii之外,多重变换选择(mts)方案被用于帧间和帧内编解码块的残差编解码。它使用来自dct8/dst7的多重所选择的变换。新引入的变换矩阵是dst-vii和dct-viii。下表4示出了所选dst/dct的基函数。[0107]表4:vvc中使用的变换矩阵的基函数[0108][0109]为了保持变换矩阵的正交性,变换矩阵比hevc中的变换矩阵更精确地量化。为了将变换系数的中间值保持在16位范围内,在水平和垂直变换之后,所有系数都要有10位。[0110]为了控制mts方案,在sps级分别为帧内和帧间指定了单独的启用标志。当在sps启用mts时,将信令通知cu级标志,以指示是否应用了mts。这里,mts仅适用于亮度。当满足以下条件时,信令通知mtscu级标志。[0111]ο宽度和高度两者都小于或等于32[0112]οcbf标志等于一[0113]如果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位主变换核心。[0114][0115]为了降低大尺寸dst-7和dct-8的复杂度,对于尺寸(宽度或高度,或宽度和高度两者)等于32的dst-7和dct-8块,高频变换系数被归零。仅保留16×16低频区域内的系数。[0116]如在hevc中一样,可以用变换跳过模式对块的残差进行编解码。为了避免语法编解码的冗余,当cu级的mts_cu_flag不等于0时,不信令通知变换跳过标志。变换跳过的块尺寸限制与jem4中的mts相同,这指示当块宽度和高度都等于或小于32时,变换跳过适用于cu。[0117]隐式mts是vvc最近的一种工具。变量implicitmtsenabled的推导如下:[0118]–如果sps_mts_enabled_flag等于1,并且下列条件之一为真,则implicitmtsenabled设置为1:[0119]–intrasubpartitionssplittype不等于isp_no_split[0120]–cu_sbt_flag等于1并且max(ntbw,ntbh)小于或等于32[0121]–sps_explicit_mts_intra_enabled_flag等于0,cupredmode[0][xtby][ytby]等于mode_intra,lfnst_idx[x0][y0]等于0,并且intra_mip_flag[x0][y0]等于0[0122]–否则,implicitmtsenabled设置为0。[0123]在vvc草稿v6中,如果当前编解码块是亮度分量,并且implicitmtsenabled等于1,则隐式mts变换选择由以下公式决策:[0124]trtypehor=(ntbw》=4&&ntbw《=16)?dst7:dct2[0125](8-965)[0126]trtypever=(ntbh》=4&&ntbh《=16)?dst7:dct2[0127](8-966)[0128]其中trtypehor和trtypever指定水平和垂直变换核,ntbw和ntbh指定变换块的宽度和高度。这两个公式指示隐式mts转换是从以下对中选择的:{dst7,dst7}、{dst7,dct2}、{dct2,dst7}、{dct2,dct2}[0129]2.10jvet-n0193中提出的简化二次变换(rst)[0130]2.10.1jem的不可分二次变换(nsst)[0131]在jem,在正向主变换和量化之间(在编码器侧)以及在反量化和反向主变换之间(在解码器侧)应用二次变换。如图10所示,根据块尺寸执行4×4(或8×8)二次变换。例如,对于每个8×8块,4×4二次变换被应用于小块(即,min(宽度,高度)《8),并且8×8二次变换被应用于较大块(即,min(宽度,高度)》4)。[0132]下面以输入为例描述不可分变换的应用。为了应用不可分变换,4x4输入块[0133]首先表示为矢量[0134][0135]不可分变换被计算为其中指示变换系数矢量,并且t是16×16变换矩阵。16×1系数矢量随后使用该块的扫描顺序(水平、垂直或对角线)被重新组织为4×4块。具有较小索引的系数将与较小扫描索引一起放置在4x4系数块中。总共有35个变换集,并且每个变换集使用3个不可分变换矩阵(核)。从帧内预测模式到变换集的映射是预先定义的。对于每个变换集,所选择的不可分二次变换(nsst)候选进一步由显式信令通知的二次变换索引来指定。在变换系数之后,在比特流中每帧内cu信令通知一次该索引。[0136]2.10.2jvet-n0193中简化二次变换(rst)[0137]在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的示例。[0138]rst计算[0139]简化变换(rt)的主要思想是将n维矢量映射到不同空间中的r维矢量,其中r/n(r《n)是简化因子。[0140]rt矩阵是一个r×n矩阵,如下所示:[0141][0142]其中变换的r行是n维空间的r个基。rt的反变换矩阵是其正向变换的转置。正向和反向rt如图12所示。[0143]在此提案中,应用了简化因子为4(1/4尺寸)的rst8×8。因此,使用16×64直接矩阵代替64×64,64×64是传统的8×8不可分变换矩阵尺寸。换句话说,在解码器侧使用64×16反rst矩阵来生成8×8左上角区域中的核心(主)变换系数。正向rst8×8使用16×64(或8×8块的8×64)矩阵,因此它只在给定8×8区域内的左上角4×4区域产生非零系数。换句话说,如果应用rst,那么除了左上4×4区域之外的8×8区域将只有零系数。对于rst4×4,应用16×16(或用于4×4块的8×16)直接矩阵乘法。[0144]当满足以下两个条件时,有条件地应用反rst:[0145]ο块尺寸大于或等于给定阈值(w》=4&&h》=4)[0146]ο变换跳过模式标志等于零[0147]如果变换系数块的宽度(w)和高度(h)两者都大于4,则rst8×8被应用于变换系数块的左上角8×8区域。否则,将rst4×4应用于变换系数块的左上角min(8,w)×min(8,h)区域。[0148]如果rst索引等于0,则不应用rst。否则,应用rst,其内核与rst索引一起选择。rst索引的rst选择方法和编解码将在后面解释。[0149]此外,rst被应用于帧内和帧间条带中的帧内cu,以及应用于亮度和色度两者。如果启用了双树,则亮度和色度的rst索引会单独地信令通知。对于帧间条带(双树被禁用),单个rst索引被信令通知并用于亮度和色度两者。[0150]在第13次jvet会议上,采用了帧内子分区(isp)作为一种新的帧内预测模式。当选择isp模式时,将禁用rst,并且不会信令通知rst索引,因为即使将rst应用于每个可行的分区块,性能提升也是微乎其微的。此外,对isp预测的残差禁用rst可以降低编码复杂度。[0151]rst选择[0152]从四个变换集中选择rst矩阵,每个变换集由两个变换组成。应用哪个变换集根据帧内预测模式如下确定:[0153](1)如果指示了三种cclm模式之一,则选择变换集0。[0154](2)否则,根据下表进行变换集选择:[0155]变换集选择表[0156]帧内模式变换集索引帧内模式《010《=帧内模式《=102《=帧内模式《=12113《=帧内模式《=23224《=帧内模式《=44345《=帧内模式《=55256《=帧内模式1[0157]访问上表的索引(表示为帧内模式(intrapredmode))的范围为[-14,83],这是用于广角帧内预测的变换模式索引。[0158]降维rst矩阵[0159]作为进一步的简化,应用16×48矩阵代替具有相同变换集配置的16×64矩阵,每个16×48矩阵从左上角8×8块中的三个4×4块(不包括右下角4×4块)中获取48个输入数据(如图13所示)。[0160]rst信令[0161]r=16的正向rst8×8使用16×64矩阵,因此它仅在给定8×8区域内的左上角4×4区域产生非零系数。换句话说,如果应用rst,那么除了左上角4×4区域之外的8×8区域仅生成零系数。结果,当在除了左上角4×4之外的8×8块区域内检测到任何非零元素时,rst索引不被编解码(其在图14中示出),因为这意味着没有应用rst。在这种情况下,rst索引被推断为零。[0162]归零范围[0163]通常,在对4×4子块应用反rst之前,4×4子块中的任何系数都可以是非零的。然而,在某些情况下,限制4×4子块中的某些系数必须为零,才能对子块应用反rst。[0164]让nonzerosize为变量。要求在反rst之前在重新排列成一维数组时具有不小于nonzerosize的索引的系数必须为零。[0165]当nonzerosize等于16时,左上角4×4子块中的系数没有归零约束。[0166]在jvet-n0193中,当当前块尺寸为4×4或8×8时,nonzerosize设置为等于8(即具有在[8,15]范围内的扫描索引的系数(如图14所示)应为0)。对于其他块大小,nonzerosize设置为等于16。[0167]工作草案中对rst的描述[0168]序列参数集rbsp语法[0169][0170]残差编解码语法[0171][0172][0173]编解码单元语法[0174][0175]序列参数集rbsp语义[0176]……[0177]sps_st_enabled_flag等于1指定st_idx可以存在于帧内编解码单元的残差编解码语法中。sps_st_enabled_flag等于0指定st_idx不存在于帧内编解码单元的残差编解码语法中。[0178]……[0179]编解码单元语义[0180]……[0181]st_idx[x0][y0]指定在所选变换集中的两个候选核之间应用哪个二次变换核。st_idx[x0][y0]等于0指定不应用二次变换。数组索引x0,y0指定所考虑的变换块的左上角样点相对于图片的左上角样点的位置(x0,y0)。[0182]当st_idx[x0][y0]不存在时,st_idx[x0][y0]被推断为等于0。[0183]缩放的变换系数的变换处理[0184]概述[0185]该处理的输入包括:[0186]–指定当前亮度变换块的左上角样点相对于当前图像的左上角亮度样点的亮度位置(xtby,ytby),[0187]–指定当前变换块宽度的变量ntbw,[0188]–指定当前变换块高度的变量ntbh,[0189]–指定当前块的颜色分量的变量cidx,[0190]–具有缩放的变换系数的(ntbw)x(ntbh)数组d[x][y],其中x=0..ntbw-1,y=0..ntbh-1。[0191]该处理的输出是残差样点的(ntbw)x(ntbh)数组r[x][y],其中x=0..ntbw-1,y=0..ntbh-1。[0192]如果st_idx[xtby][ytby]不等于0,则适用以下:[0193]1.变量nstsize、log2stsize、numstx、numsty和nonzerosize推导如下:[0194]–如果ntbw和ntbh两者都大于或等于8,则log2stsize设置为3,并且nstoutsize设置为48。[0195]–否则,log2stsize设置为2,并且nstoutsize设置为16。[0196]–nstsize设置为(1《《log2stsize)。[0197]–如果ntbh等于4,并且ntbw大于8,则numstx设置为2。[0198]–否则,numstx设置为1。[0199]–如果ntbw等于4,并且ntbh大于8,则numsty设置为2。[0200]–否则,numsty设置为等于1。[0201]–如果ntbw和ntbh两者都等于4,或者ntbw和ntbh两者都等于8,则nonzerosize设置为等于8。[0202]–否则,nonzerosize设置为16。[0203]2.对于xsbidx=0..numstx–1并且ysbidx=0..numsty–1,适用以下:[0204]–变量数组u[x](x=0..nonzerosize–1)的推导如下:[0205]xc=(xsbidx《《log2stsize) [0206]diagscanorder[log2stsize][log2stsize][x][0][0207]yc=(ysbidx《《log2stsize) [0208]diagscanorder[log2stsize][log2stsize][x][1][0209]u[x]=d[xc][yc][0210]–通过调用8.7.4.4条款中指定的一维变换处理,u[x](x=0..nonzerosize–1)被转换为变量数组v[x](x=0..nstoutsize–1),在该一维变换处理中,缩放的变换系数的变换输入长度nonzerosize,变换输出长度nstoutsize,列表u[x](x=0..nonzerosize–1),变换集选择的索引stpredmodeintra和变换集中的变换选择的索引st_idx[xtby][ytby]作为输入,输出是列表v[x](x=0..nstoutsize–1)。变量stpredmodeintra被设置为第8.4.4.2.1条款中指定的predmodeintra。[0211]–数组d[(xsbidx《《log2tsize) x][(ysbidx《《log2tsize) y](x=0..nstsize–1,y=0..nstsize–1)推导如下:[0212]–如果stpredmodeintra小于或等于34,或等于intra_lt_cclm、intra_t_cclm或intra_l_cclm,则适用以下:[0213]d[(xsbidx《《log2stsize) x][(ysbidx《《log2stsize) y][0214]=[0215](y《4)?v[x (y《《log2stsize)]:((x《4)?[0216]v[32 x ((y–4)《《2)]:[0217]d[(xsbidx《《log2stsize) x][(ysbidx《《[0218]log2stsize) y])[0219]–否则,以下内容适用:[0220]d[(xsbidx《《log2stsize) x][(ysbidx《《log2stsize) y][0221]=[0222](y《4)?v[y (x《《log2stsize)]:((x《4)?[0223]v[32 (y–4) (x《《2)]:[0224]d[(xsbidx《《log2stsize) x][(ysbidx《《[0225]log2stsize) y])[0226]二次变换处理[0227]该处理的输入是:[0228]–指定变换输出长度的变量ntrs,[0229]–指定转换输入长度的变量nonzerosize,[0230]–变换输入的列表x[j](j=0..nonzerosize-1),[0231]–指定变换集选择的索引的变量stpredmodeintra,[0232]–指定集合中变换选择的索引的变量stidx,。[0233]该处理的输出是变换样点的列表y[i](i=0..ntrs-1)。[0234]条款8.7.4.5中指定的变换矩阵推导处理涉及变换输出长度ntrs、变换集选择的索引stpredmodeintra和变换集中的变换选择索引stidx作为输入,变换矩阵sectransmatrix作为输出。[0235]变换样点列表y[i](i=0..ntrs-1)的推导如下:[0236]y[i]=clip3(coeffmin,coeffmax,y[i]=clip3(coeffmin,coeffmax,(i=0..ntrs-1)[0237]coeffmin=-(1《《15)andcoeffmax=(1《《15)-1;[0238]二次变换矩阵推导处理[0239]该处理的输入包括:[0240]–指定变换输出长度的变量ntrs,[0241]–指定变换集选择的索引的变量stpredmodeintra,[0242]–指定指定变换集中变换选择的索引的变量stidx。[0243]这个处理的输出是变换矩阵sectransmatrix。[0244]变量sttrsetidx的推导如下:[0245][0246][0247]变换矩阵sectransmatrix基于ntrs、sttrsetidx和stidx导出,如下所示:[0248]–如果ntrs等于16,sttrsetidx等于0,并且stidx等于1,则适用以下:[0249]sectransmatrix[m][n]=…[0250]–如果ntrs等于16,sttrsetidx等于0,并且stidx等于2,则适用以下:[0251]sectransmatrix[m][n]=…[0252]–如果ntrs等于16,sttrsetidx等于1,并且stidx等于1,则适用以下:[0253]sectransmatrix[m][n]=…[0254]–如果ntrs等于16,sttrsetidx等于1,并且stidx等于2,则适用以下:[0255]sectransmatrix[m][n]=…[0256]–如果ntrs等于16,sttrsetidx等于2,并且stidx等于1,则适用以下:[0257]sectransmatrix[m][n]=…[0258]–如果ntrs等于16,sttrsetidx等于2,并且stidx等于2,则适用以下:[0259]sectransmatrix[m][n]=…[0260]–如果ntrs等于16,sttrsetidx等于3,并且stidx等于1,则适用以下:[0261]sectransmatrix[m][n]=…[0262]–如果ntrs等于16,sttrsetidx等于3,并且stidx等于2,则适用以下:[0263]sectransmatrix[m][n]=…[0264]–如果ntrs等于48,sttrsetidx等于0,并且stidx等于1,则适用以下:[0265]sectransmatrix[m][n]=…[0266]–如果ntrs等于48,sttrsetidx等于0,并且stidx等于2,则适用以下:[0267]sectransmatrix[m][n]=…[0268]–如果ntrs等于48,sttrsetidx等于1,并且stidx等于1,则适用以下:[0269]sectransmatrix[m][n]=…[0270]–如果ntrs等于48,sttrsetidx等于1,并且stidx等于2,则适用以下:[0271]sectransmatrix[m][n]=…[0272]–如果ntrs等于48,sttrsetidx等于2,并且stidx等于1,则适用以下:[0273]sectransmatrix[m][n]=…[0274]–如果ntrs等于48,sttrsetidx等于2,并且stidx等于2,则适用以下:[0275]sectransmatrix[m][n]=…[0276]–如果ntrs等于48,sttrsetidx等于3,并且stidx等于1,则适用以下:[0277]sectransmatrix[m][n]=…[0278]–如果ntrs等于48,sttrsetidx等于3,并且stidx等于2,则适用以下:[0279]sectransmatrix[m][n]=…[0280]2.11hevc中反量化限幅[0281]在hevc中,缩放的变换系数d’计算如下[0282]d'=clip3(coeffmin,coeffmax,d),[0283]其中d是限幅前的缩放的变换系数。[0284]对于亮度分量,[0285]coeffmin=coeffminy,coeffmax=coeffmaxy[0286]对于色度分量,[0287]coeffmin=coeffminc,coeffmax=coeffmaxc。[0288]在本文,[0289]coeffminy=-(1《《(extended_precision_processing_flag?max(15,bitdepthy 6):15))[0290]coeffminc=-(1《《(extended_precision_processing_flag?max(15,bitdepthc 6):15))[0291]coeffmaxy=(1《《(extended_precision_processing_flag?max(15,bitdepthy 6):15)-1[0292]coeffmaxc=(1《《(extended_precision_processing_flag?max(15,bitdepthc 6):15))–1[0293]extended_precision_processing_flag是在sps中信令通知的语法元素。[0294]2.12仿射线性加权帧内预测(alwip,或基于矩阵的帧内预测)[0295]jvet-n0217中提出了仿射线性加权帧内预测(alwip,或基于矩阵的帧内预测(mip))。[0296]在jvet-n0217中,进行了两项测试。在测试1中,alwip被设计为存储器限制为8k字节,并且每个样点最多进行4次乘法。测试2类似于测试1,但在存储器要求和模型架构方面进一步简化了设计。[0297]ο所有块形状的矩阵和偏移矢量的单一集合。[0298]ο将用于所有块形状的模式数量减少到19。[0299]ο将存储器要求减少到5760个10位值,即7.20千字节。[0300]ο预测样点的线性插值在每个方向上在单个步骤中进行,代替第一测试中的迭代插值。[0301]2.13子块变换[0302]对于cu_cbf等于1的帧间预测cu,可以信令通知cu_sbt_flag来指示是解码整个残差块还是残差块的子部分。在前一种情况下,进一步解析mts信息以确定cu的变换类型。在后一种情况下,残差块的一部分用推断的自适应变换编解码,并且残差块的另一部分归零。sbt不适用于组合帧间帧内模式。[0303]在子块变换中,位置相关变换被应用于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,这可以被认为是块的主要残差在块的一侧的情况下的语法快捷方式。[0304]2.14avs-m4763:基于扫描区域的系数编解码(srcc)[0305]srcc已被纳入avs-3。利用srcc,如图16a和16b所示的右下角位置(srx,sry)被信令通知,并且只有具有四个角(0,0),(srx,0),(0,sry),(srx,sry)的矩形内的系数被扫描和信令通知。矩形之外的所有系数都为零。[0306]3现有实现方式中的缺陷的示例[0307]mts目前的设计存在以下问题:[0308]信令通知的索引可能会导致开销位。[0309]在mts和sbt,某些变换组合可能效率不高。[0310]隐式mts的决策可能效率不高。在当前的vvc,implicitmtsenabled取决于等于1的sps_mts_enabled_flag。但是,当sps_mts_enabled_flag等于0时,可能也需要应用implicitmtsenabled。[0311]在当前的vvc中,无论当前块是否用qr-bdpcm模式编解码,变换跳过(ts)标志都被编解码。但是,当启用qr-bdpcm时,不需要应用变换。因此,当用qr-bdpcm编解码一个块时,ts标志的信令通知是冗余的。[0312]在当前的vvc中,变换跳过标志是用一个上下文进行上下文编解码的,该上下文也可以用于对指示变换矩阵是否是dct2的二进制位(bin)进行编解码。共享上下文可能效率较低。[0313]有5个上下文编解码的二进制位使用对变换矩阵索引进行编解码所要求的9个上下文,这影响解析吞吐量。[0314]qr-bdpcm/ts也可能适用于色度块。如何更好地确定qr-bdpcm/ts的使用,还需要进一步研究。[0315]4多重变换的示例性方法[0316]当前公开的技术的实施例克服了现有实现方式的缺点,从而提供了具有更高编解码效率但更低计算复杂度的视频编解码。如本文档中所描述的,用于多重变换的方法可以增强现有的和未来的视频编解码标准,在以下针对各种实现方式描述的示例中进行了阐述。下面提供的公开技术的示例解释了一般概念,并且不意味着解释为限制。在示例中,除非明确指出相反的情况,否则这些示例中描述的各种特征可以被组合。[0317]在以下示例中,假设:[0318]οmax(x,y)返回x和y中较大的一个,以及[0319]οmin(x,y)返回x和y中较小的一个。[0320]隐式mts[0321]建议在不接收变换索引的情况下,根据解码的系数来决定应用于一个块的变换(水平和/或垂直变换)。[0322]1.解码的系数可以与同当前块相同颜色分量或不同颜色分量的一个或多个代表性块相关联。[0323]a.在一个示例中,对第一块的变换的确定可以取决于第一块的解码的系数。[0324]b.在一个示例中,对第一块的变换的确定可以取决于可以不同于第一块的第二块的解码的系数。[0325]i.在一个示例中,第二块可以与第一块的颜色分量具有相同的颜色分量,诸如亮度分量。[0326]1)在一个示例中,第二块可以与第一块临近。[0327]2)在一个示例中,第二块可以具有与第一块相同的帧内预测模式。[0328]3)在一个示例中,第二块可以具有与第一块相同的块大小。[0329]4)在一个示例中,第二块可以是在解码顺序中在第一块之前的、满足特定条件(诸如相同的帧内预测模式或相同的大小)的最后一个解码块。[0330]ii.在一个示例中,第二块可以具有与第一块不同的颜色分量。[0331]1)在一个示例中,第一块可以是亮度分量,并且第二块可以是色度分量(例如,cb/cr、b/r分量)。[0332]a)在一个示例中,三个块在同一编解码单元中。[0333]b)此外,可替代地,隐式mts仅应用于亮度块,而不应用于色度块。[0334]2)在一个示例中,在第一颜色分量中的第一块和在第二颜色分量中的第二块可以彼此位于图片的对应位置。[0335]c.在一个示例中,对第一块的变换的确定可以取决于包括与第一块不相同的至少一个块的多个块的解码的系数。[0336]i.在一个示例中,多个块可以包括第一块。[0337]ii.在一个示例中,多个块可以包括与第一块临近的一个块或多个块。[0338]iii.在一个示例中,多个块可以包括具有与第一块相同的块大小的一个块或多个块。[0339]iv.在一个示例中,多个块可以包括在解码顺序中在第一块之前的、满足特定条件(诸如相同的帧内预测模式或相同的大小)的最后n个解码块。n是大于1的整数。[0340]v.在一个示例中,多个块可以包括与第一块不在同一颜色分量中的一个块或多个块。[0341]1)在一个示例中,第一块可以在亮度分量中。多个块可以包括色度分量中的块(例如,cb/b分量中的第二块,以及cr/r分量中的第三块)。[0342]a)在一个示例中,三个块在同一编解码单元中。[0343]b)此外,可替代地,隐式mts仅应用于亮度块,而不应用于色度块。[0344]2)在一个示例中,在第一颜色分量中的第一块和包括在该多个块中的、不在第一分量颜色分量中的数个块可以位于具有第一块的图片的对应位置。[0345]2.用于变换确定的解码的系数是那些不等于零的系数(表示为有效系数[0346](significantcoefficient))。用于变换确定的那些系数被称为代表性系数。[0347]a.在一个示例中,代表性系数是代表性块中的所有有效系数。[0348]b.可替代地,代表性系数是代表性块中有效系数的一部分。[0349]i.在一个示例中,代表性系数是那些大于或不小于阈值的解码的有效系数[0350]ii.在一个示例中,代表性系数是那些小于或不大于阈值的解码的有效系数[0351]iii.在一个示例中,代表性系数是解码顺序中的前k(k》=1)个解码的有效系数。[0352]iv.在一个示例中,代表性系数是解码顺序中最后的k(k》=1)个解码的有效系数。[0353]v.在一个示例中,代表性系数可以是块中预定位置的那些系数。[0354]1)在一个示例中,代表性系数可以仅包括相对于代表性块位于(xpos,ypos)坐标的一个系数。例如xpos=ypos=0。[0355]2)例如,位置可以取决于块的大小。[0356]vi.在一个示例中,代表性系数可以是在系数扫描顺序中的预定位置的那些系数。[0357]c.可替代地,代表性系数也可以包括那些零系数。[0358]d.可替代地,代表性系数可以是从解码的系数中导出的那些系数,诸如通过限幅到一个范围,通过量化。[0359]3.变换确定可以取决于代表性系数的函数,诸如使用代表性系数作为输入的具有值v作为输出的函数。[0360]a.在一个示例中,v被导出为代表性系数的数量。[0361]i.可替代地,v被导出为代表性系数的和。[0362]1)可替代地,此外,该和可以被限幅以导出v。[0363]ii.可替代地,v被导出为代表性系数的绝对值的和。[0364]1)可替代地,此外,该和可以被限幅以导出v。[0365]b.在一个示例中,可以取决于v的奇偶校验在解码器处隐式地确定选择[0366]i.例如,如果v为偶数,则选择第一种变换作为水平变换,并且选择第二种变换作为垂直变换;如果v是奇数,则选择第三种变换作为水平变换,并且选择第四种变换作为垂直变换。[0367]1)在一个示例中,第一种变换与第二种变换相同。[0368]a)可替代地,第一种变换不同于第二种变换。[0369]2)在一个示例中,第三种变换与第四种变换相同。[0370]a)可替代地,第三种变换不同于第四种变换。[0371]3)第一/第二/第三/第四种变换是特定的变换,诸如dct-x或dst-y。x可以是整数,诸如2或8。y可以是整数,诸如7或8。[0372]4)可替代地,此外,第三和第四种变换中的至少一种不同于第一和第二种变换。[0373]a)在一个示例中,当v是偶数时,第一和第二种变换是dct-2,并且当v是奇数时,第三和第四种变换是dst-7。[0374]b)可替代地,当v是奇数时,第一和第二种变换是dct-2,并且当v是偶数时,第三和第四种变换是dst-7。[0375]c.在一个示例中,如果v小于阈值t1,则选择第五种变换作为水平变换,并且选择transform)。[0398]d.在一个示例中,变换集可以取决于编解码信息、颜色分量、分割结构(例如,双树/单树;四叉树/二叉树/三叉树/扩展四叉树)、条带/图片类型等。[0399]i.在一个示例中,变换集可以取决于块大小。[0400]ii.在一个示例中,对于帧内编解码的块,可以包括dct-2和dst-7。[0401]iii.在一个示例中,对于用同一图片中的参考样点编解码的块(例如,帧内块复制),可以包括dst-7和恒等变换(即,不应用变换)。[0402]6.在一个示例中,第1-5点中公开的一种或多种方法只能应用于特定的块。[0403]a.例如,第1-5点中公开的一种或多种方法只能应用于帧内编解码块。[0404]b.例如,第1-5点中公开的一种或多种方法只能应用于对系数有特定约束的块。[0405]i.有四个角(0,0),(crx,0),(0,cry),(crx,cry)的矩形被定义为约束矩形。在一个示例中,只有当约束矩形之外的所有系数都为零时,才能应用第1-5点中公开的一种或多种方法。例如crx=cry=16。[0406]1)例如,crx=srx和cry=sry,其中(srx,sry)在srcc定义,如第2.14节所述。[0407]2)可替代地,此外,上述方法仅在块宽度或块高度大于k时应用。[0408]a)在一个示例中,k等于16。[0409]b)在一个示例中,上述方法仅在块宽度大于k1并且k1等于crx时或者块高度大于k2且k2等于cry时应用。[0410]7.当第1-5点中公开的所提出的变换选择方法未被应用时,使用默认变换,例如dct2。[0411]简化的mts/sbt[0412]8.在一个示例中,mts中的垂直变换和水平变换必须相同。[0413]a.在一个示例中,块只能选择以下两种变换之一:[0414]i.水平变换中的dct-2和垂直变换中的dct-2;[0415]ii.水平变换中的dst-7和垂直变换中的dst-7;[0416]b.在一个示例中,用于mts的信令可以包括块的至多一个标志。[0417]i.在一个示例中,如果标志等于0,则选择水平变换中的dct-2和垂直变换中的dct-2;如果标志等于1,则选择水平变换中的dst-7和垂直变换中的dst-7。[0418]ii.在一个示例中,如果标志等于1,则选择水平变换中的dct-2和垂直变换中的dct-2;如果标志等于0,则选择水平变换中的dst-7和垂直变换中的dst-7。[0419]9.假设块的宽度和高度分别为w和h。只有在下列情况下,才可以应用第7点:[0420]a.w》=t1,且h》=t2,例如t1=t2=8;[0421]b.w《=t1,且h《=t2,例如t1=t2=16;[0422]c.min(w,h)》=t1,例如t1=8;[0423]d.max(w,h)《=t1,例如t1=32[0424]e.w*h》=t1,例如t1=64[0425]f.w*h《=t1,例如t1=256。[0426]10.在一个示例中,不包括dst-8的变换可以应用于用sbt编解码的块。[0427]a.在一个示例中,只有dct-2和dst-7可以应用在用sbt编解码的块。[0428]b.在一个示例中,在如图15所示的sbt(sbt-v,位置0)的情况下,水平地应用dct-2,并且垂直地应用dst-7。[0429]c.在一个示例中,在如图15所示的sbt(sbt-h,位置0)的情况下,水平地应用dst-7,并且垂直地应用dct-2。[0430]11.假设变换块的宽度和高度分别为w和h。在一个示例中,对用sbt编解码的块的变换的选择可以取决于变换块大小,其中当应用sbt时,变换块可以小于编解码块。[0431]a.在一个示例中,在如图15所示的sbt(sbt-v,位置0)的情况下,如果w》=t1,则水平地应用dct-2,并且垂直地应用dst-7;否则,水平地应用dct-8,并且垂直地应用dst-7。例如,t1=8。[0432]b.在一个示例中,在如图15所示的sbt(sbt-h,位置0)的情况下,如果h》=t1,则水平地应用dst-7,并且垂直地应用dct-2;否则,水平地应用dst-7,并且垂直地应用dct-8。例如,t1=8。[0433]12.是否应用变换系数归零可以取决于从编解码器向解码器信令通知的一个或多个消息,诸如在vps/sps/pps/aps/dps/条带头/图片头/序列头/片组头/片/ctu行/ctu/cu/pu/tu等中。[0434]a.在一个示例中,消息可以包括控制mts的使用的标志(例如,sps中的sps_mts_enabled_flag)。[0435]b.在一个示例中,消息可以包括控制sbt的使用的标志(例如,cu中的cu_sbt_flag)。[0436]c.在一个示例中,是否应用变换系数归零可以取决于信令通知的消息以及变换块大小。[0437]d.在一个示例中,一旦比特流中不允许mts(例如,sps_mts_enabled_flag等于“假”),则变换系数归零可能不应用于具有指定大小的变换块。[0438]i.例如,如果sps_mts_enabled_flag等于“假”,则对于具有大小m×32(m《=32)或32xn(n《=32)的变换块,可以不应用变换系数归零,因此整个m×n(m《=32,n《=32)块被编解码而不归零任何变换系数。[0439]e.在一个示例中,一旦在比特流中允许mts(例如,sps_mts_enabled_flag等于“真”),对于具有大小m×32(m《=32)或32×n(n《=32)的变换块,可以应用变换系数归零。[0440]i.在一个示例中,对于m×n变换块,如果sps_mts_enabled_flag等于“真”,并且cu_sbt_flag等于“真”,则当m等于32时,仅保留左16列变换系数。类似地,当n等于32时,仅保留上16行变换系数。所有其他系数都归零。[0441]13.是否应用变换系数归零可以取决于变换类型和/或变换尺寸。[0442]a.在一个示例中,当变换类型是dct-2时,对于m×64(m《=64)[0443]或64×n(n《=64)变换块,可以应用变换系数归零。[0444]i.在一个示例中,对于用dct-2编解码的m×n变换块,当m等于64时,仅保留左32列变换系数。类似地,当n等于62时,仅保留上32行变换系数。[0445]b.在一个示例中,当变换类型是dct-8或dst-7时,对于m×32(m《=32)或32×n(n《=32)变换块,可以应用变换系数归零。[0446]i.在一个示例中,对于用dct8或dst7编解码的m×n变换块,当m等于32时,仅保留左16列变换系数。类似地,当n等于32时,仅保留上16行变换系数。[0447]c.在一个示例中,当对块使用变换跳过模式时,整个块被编解码而不归零任何变换系数。[0448]14.是否应用变换系数归零可以取决于隐式变换。[0449]a.在一个示例中,对于用隐式变换编解码的m×32(m《=32)或32×n(n《=32)变换块,可以应用变换系数归零。[0450]i.在一个示例中,对于用隐式变换编解码的m×n变换块,当m等于32时,仅保留左16列变换系数。类似地,当n等于32时,仅保留上16行变换系数。[0451]隐式mts的决策[0452]15.无论在序列/图片/子图片/条带/片组/片/图块/ctu行/ctu级是否启用mts(例如,sps_mts_enabled_flag等于1或0),隐式mts都可以应用于某些模式。[0453]a.在一个示例中,当在序列/图片/子图片/条带/片组/片/图块/ctu行/ctu级禁用mts时(例如,sps_mts_enabled_flag等于0),隐式mts可以应用于isp模式。[0454]b.在一个示例中,当在序列/图片/子图片/条带/片组/片/图块/ctu行/ctu级禁用mts时(例如,sps_mts_enabled_flag等于0),隐式mts可以应用于sbt模式。[0455]c.在一个示例中,当不应用mip和/或lfnst和/或显式mts并且在序列/图片/子图片/条带/片组/片/图块/ctu行/ctu级禁用mts(例如,sps_mts_enabled_flag等于0)时,隐式mts可以应用于帧内预测模式。[0456]d.可替代地,当在序列/图片/子图片/条带/片组/片/图块/ctu行/ctu级禁用mts时(例如,sps_mts_enabled_flag等于0),隐式mts可以不应用于具有某些模式的块。[0457]i.在一个示例中,当在序列/图片/子图片/条带/片组/片/图块[0458]/ctu行/ctu级禁用mts时(例如,sps_mts_enabled_flag等于0),隐式mts可以不应用于具有帧内预测模式的块。ii.在一个示例中,当在序列/图片/子图片/条带/片组/片/图块[0459]/ctu行/ctu级禁用mts时(例如,sps_mts_enabled_flag等于0),隐式mts可以不应用于具有不包括isp模式的帧内预测模式的块。[0460]e.在一个示例中,对于isp编解码的块,可以强制使用隐式mts。i.例如,隐式变换可以被强制用于isp编解码的块(例如,对于isp编解码的块,变量implicitmtsenabled可以被推断为1)。[0461]ii.例如,可以应用比特流约束,即隐式mts必须用于isp编解码的块。[0462]iii.可替代地,如果sps级mts标志等于0(诸如sps_mts_enabled_flag等于0),则可以对isp编解码的块使用dct-2变换。[0463]f.在一个示例中,对于sbt编解码的块,可以强制使用隐式mts。i.例如,当sbt编解码块的块宽度和块高度两者都小于或等于32,并且当前编解码块是亮度分量时,则隐式mts可以被强制应用于这样的sbt编解码块(例如,对于这样的sbt编解码块,变量implicitmtsenabled可以被强制为1)。[0464]1)在另一个示例中,可以应用比特流约束,即对于这种isp编解码的块,必须使用隐式mts。[0465]ii.可替代地,如果sps级mts标志等于0(诸如sps_mts_enabled_flag等于0),则dct-2变换可以用于sbt编解码块。[0466]g.在一个示例中,sps级mts标志和隐式mts之间的相关性可以仅用于帧内但非isp编解码的块。[0467]i.例如,对于帧内编解码但非isp编解码的块,是否使用隐式mts可以由(多个)sps级mts控制标志(诸如当sps_mts_enabled_flag等于1且sps_explicit_mts_intra_enabled_flag等于0时)来确定。[0468]1)可替代地,隐式mts是否用于isp/sbt编解码块与sps级的mts标志无关。[0469]16.序列/视频/图片/条带/片组/片/图块/子图片/ctu行/ctu/cu/块是否允许sbt/isp可以取决于序列/视频/图片/条带/片组/片/图块/子图片[0470]/ctu行/ctu/cu/块是否启用mts(例如,sps_mts_enabled_flag等于1或0)。[0471]a.在一个示例中,当禁用mts时(例如,sps_mts_enabled_flag等于0),可以不允许sbt/isp。[0472]b.在一个示例中,isp标志和/或sbt标志的显式信令可以在启用mts的条件下(例如,sps_mts_enabled_flag等于1)。[0473]i.例如,一旦sps_mts_enabled_flag等于1,就可以信令通知isp标志(例如,intra_subpartitions_mode_flag、intra_subpartitions_split_flag)。[0474]ii.例如,一旦sps_mts_enabled_flag等于1,就可以信令通知sbt标志(例如,cu_sbt_flag、cu_sbt_quad_flag、cu_sbt_horizontal_flag、cu_sbt_pos_flag)。[0475]c.在一个示例中,当隐式mts被禁用时,可以不允许sbt/isp。[0476]d.在一个示例中,当一致性比特流中mts被禁用时(例如,sps_mts_enabled_flag等于0),序列/视频/图片/条带/片组/片/图块/子图片/ctu行/ctu/cu/块的sbt和/或isp的控制信息(例如,sps_isp_enabled_flag和/或sps_sbt_enabled_flag)必须为0。[0477]i.可替代地,当mts被禁用时(例如,当sps_mts_enabled_flag等于0),序列/视频/图片/条带/片组/片/图块/子图片/ctu行/ctu/cu/块的sbt和/或isp的控制信息(例如,sps_isp_enabled_flag和/或sps_sbt_enabled_flag)不被信令通知并且被推断为0。[0478]ii.可替代地,序列/视频/图片/条带/片组/片/图块/子图片/ctu行/ctu/cu/块的sbt和/或isp的控制信息(例如,sps_isp_enabled_flag和/或sps_sbt_enabled_flag)被信令通知,但被解码器省略。当禁用mts时(例如,sps_mts_enabled_flag等于0),sbt和/或isp被推断为禁用。[0479]17.对于序列/视频/图片/条带/片组/片/图块/子图片/ctu行/ctu/cu/块是否启用mts(例如,sps_mts_enabled_flag等于1或0)可以取决于序列/视频/图片/条带/片组/片/图块/子图片/ctu行/ctu/cu/块是否允许sbt/isp。[0480]a.在一个示例中,当在一致性比特流中没有对序列/视频/图片/条带/片组/片/图块/子图片/ctu行/ctu/cu/块启用sbt和/或isp时,可以启用mts(例如,sps_mts_enabled_flag必须等于1)。[0481]i.可替代地,当没有对序列/视频/图片/条带/片组/片/图块/子图片/ctu行/ctu/cu/块启用sbt和/或isp时,sps_mts_enabled_flag不被信令通知并被推断为1。[0482]ii.可替代地,当没有对序列/视频/图片/条带/片组/片/图块/子图片/ctu行/ctu/cu/块启用sbt和/或isp时,sps_mts_enabled_flag被信令通知但被解码器省略,并且mts被推断为已启用。[0483]18.隐式mts和显式mts可以用分离的语法元素来控制。例如,sps_implicit_mts_intra_enabled_flag和sps_explicit_mts_intra_enabled_flag分别控制是否在序列级启用隐式mts和显式mts。[0484]a.在一个示例中,第11-13点中控制mts的语法元素(例如,sps_mts_enabled_flag)可以被控制隐式mts的语法元素(例如,sps_implict_mts_intra_enabled_flag)替换。[0485]b.在一个示例中,只有当sps_mts_enabled_flag等于1时,才会信令通知sps_implict_mts_intra_enabled_flag。如果sps_implict_mts_intra_enabled_flag不存在,则可以推断为0。[0486]19.在一个示例中,对于序列/视频/图片/条带/片组/片/图块/子图片/ctu行/ctu/cu/块的不同编解码模式,可以单独控制是否和/或如何应用隐式和/或显式mts。[0487]a.在一个示例中,当对帧内编解码的cu禁用隐式和/或显式mts时,sps_mts_enabled_flag为0。[0488]b.在一个示例中,sps_mts_enabled_flag不控制是否对帧间编解码/非帧内编解码的cu启用隐式和/或显式mts。[0489]一般声称[0490]20.变换矩阵的决策可以在cu/cb级或tu级进行。[0491]a.在一个示例中,在cu级做出决策,其中所有tu共享相同的变换矩阵。[0492]i.可替代地,此外,当一个cu被划分成多个tu时,一个tu(例如,第一个或最后一个tu)或部分或全部tu中的系数可以被用来确定变换矩阵。[0493]b.是使用cu级解决方案还是tu级解决方案可以取决于块尺寸和/或vpdu尺寸和/或最大ctu尺寸和/或一个块的编解码信息。[0494]i.在一个示例中,当块尺寸大于vpdu尺寸时,可以应用cu级确定方法。[0495]21.在本文档中公开的方法中,系数或代表性系数可以被量化或反量化。[0496]22.变换跳过也可以由系数或代表性系数用本文档中公开的任何方法隐式地确定。[0497]23.在本文档中公开的方法中,系数或代表性系数可以在用于导出变换之前被修改。[0498]a.例如,系数或代表性系数可以在被用于导出变换之前被限幅。[0499]b.例如,系数或代表性系数可以在被用于导出变换之前被缩放。[0500]c.例如,系数或代表性系数可以在被用于导出变换之前被添加偏移。[0501]d.例如,系数或代表性系数可以在被用于导出变换之前被滤波。[0502]e.例如,系数或代表性系数可以在被用于导出变换之前被映射到其他值(例如,通过查找表)。[0503]24.本文档中公开的方法也可用于通过系数或代表性系数隐式地导出其他编解码模式/信息。[0504]a.在一个示例中,所公开的方法可以用于导出可以应用于块的子区域的二次变换。[0505]b.可替代地,此外,代表性系数来自对应于子区域而不是整个块的那些系数。[0506]25.在一个示例中,是否和/或如何应用上述公开的方法可以在序列级/图片级/条带级/片组级,诸如在序列头/图片头/sps/vps/dps/pps/aps/条带头/片组头中信令通知。[0507]26.在一个示例中,是否和/或如何应用上述公开的方法可以取决于编解码信息,编解码信息可以包括:[0508]a.块大小。[0509]i.在一个示例中,对于宽度和高度两者都不大于阈值(例如,32)的块,可以应用上述隐式mts方法。[0510]b.qp[0511]c.图片或条带类型(如i帧或p/b帧、i条带或p/b条带)[0512]i.在一个示例中,所提出的方法可以在i帧上启用,但是在p/b帧上禁用。[0513]d.结构分割方法(单树或双树)[0514]i.在一个示例中,对于单树划分应用的条带/图片/图块/片,可以应用上述隐式mts方法。[0515]e.编解码模式(诸如帧间模式/帧内模式/ibc模式等)[0516]i.在一个示例中,对于帧内编解码块,可以应用上述隐式mts方法。[0517]f.编解码方法(诸如子块内分割、派生树(dt)法等)[0518]i.在一个示例中,对于应用了dt的帧内编解码块,可以禁用上述隐式mts方法。[0519]ii.在一个示例中,对于应用了isp的帧内编解码块,可以禁用上述隐式mts方法。[0520]g.颜色分量[0521]i.在一个示例中,对于亮度块,可以应用上述隐式mts方法,而对于色度块,则不应用。[0522]h.帧内预测模式(诸如dc、垂直、水平等。)[0523]i.运动信息(诸如mv和参考索引)。[0524]j.标准档次(profile)/级别(level)/层(tier)[0525]色度分量上的编解码工具[0526]27.提议编解码工具x可以应用于块的一个或多个色度分量,这取决于它是应用于一个还是多个对应的亮度块。在下面的讨论中,“色度分量”可以指“一个或多个色度分量”。[0527]a.在一个示例中,对于色度块,编解码工具x的使用是从编解码工具是否被应用于对应的亮度块的信息中导出的。因此,不需要色度块的编解码工具x的使用的额外信令。[0528]i.在一个示例中,如果编解码工具x被应用于对应的亮度块,则它可以被应用于块的色度分量;并且如果它没有被应用于对应的亮度块,则它不被应用于块的色度分量。[0529]ii.在一个示例中,当编解码工具x被应用于对应的亮度块时,它可以以相同的方式被应用于亮度分量和色度分量。[0530]b.在一个示例中,可以有条件地信令通知消息(诸如标志或索引),以指示编解码工具x是否被应用于块的色度分量。该条件可以定义为是否将其应用于对应的亮度块。可替代地,此外,如果它没有应用于对应的亮度块,则它在没有信令通知的情况下不会应用于块的色度分量。[0531]i.在一个示例中,当编解码工具x被应用于对应的亮度块并且消息指示它也被应用于色度分量时,编解码工具x可以以相同的方式被应用于亮度分量和色度分量。[0532]ii.在一个示例中,编解码工具x可以以不同的方式应用于亮度分量和色度分量。[0533]1)可以信令通知如何对亮度分量和色度分量分别应用编解码工具x。[0534]c.在以上讨论中,“对应的亮度块”可以指覆盖色度块的至少一个“对应样点”的亮度块。样点位置可以根据颜色格式(诸如4:4:4或4:2:0)进行缩放。假设色度块的左上角位置是(x0,y0),并且色度块的宽度和高度是w和h,所有这些都缩放到亮度采样单元。[0535]i.在一个示例中,对应的样点可以在(x0,y0);[0536]ii.在一个示例中,对应的样点可以在(x0 w-1,y0 h-1);[0537]iii.在一个示例中,对应的样点可以在(x0 w/2-1,y0 h/2-1);[0538]iv.在一个示例中,对应的样点可以在(x0 w/2,y0 h/2);[0539]v.在一个示例中,对应的样点可以在(x0 w/2,y0 h/2-1);[0540]vi.在一个示例中,对应的样点可以在(x0 w/2-1,y0 h/2);[0541]28.提议编解码工具x可以应用于块的一个色度分量,这取决于它是否被应用于其他色度分量的一个或多个对应块。[0542]a.在一个示例中,对于色度块,编解码工具x的使用是从编解码工具是否被应用于其他色度分量的对应块的信息中导出的。因此,不需要色度块的编解码工具x的使用的额外信令。[0543]b.在一个示例中,可以有条件地信令通知消息(诸如标志),以指示编解码工具x是否被应用于块的色度分量。该条件可以被定义为它是否被应用于其他色度分量的对应块。可替代地,此外,如果它没有被应用于其他色度分量的对应块,则它在没有信令通知的情况下不会被应用于块的色度分量。[0544]29.提议编解码工具x可以应用于块的亮度分量,这取决于它是否被应用于色度分量的一个还是多个对应块。[0545]a.在一个示例中,对于亮度块,编解码工具x的使用是从编解码工具是否被应用于色度分量的对应块的信息中导出的。因此,不需要亮度块的编解码工具x的使用的额外信令。[0546]b.在一个示例中,可以有条件地信令通知消息(诸如标志),以指示编解码工具x是否被应用于块的亮度分量。该条件可以被定义为它是否被应用于色度分量的对应块。可替代地,此外,如果它没有被应用于色度分量的对应块,则它在没有信令通知的情况下不会被应用于块的亮度分量。[0547]30.上面提到的编解码工具x可以定义如下。[0548]a.在一个示例中,编解码工具x可以是mts。[0549]b.在一个示例中,编解码工具x可以是变换跳过。[0550]c.在一个示例中,编解码工具x可以是rst。[0551]d.在一个示例中,编解码工具x可以是rbdpcm。[0552]e.在一个示例中,编解码工具x可以是bdpcm。[0553]mts索引和转换跳跃标志的信令通知[0554]31.提议可以有条件地信令通知mts索引和/或变换跳过标志,这取决于bdpcm或qr-bdpcm的使用或bdpcm的任何变化(anyvariance)。[0555]a.在一个示例中,当对块启用bdpcm或qr-bdpcm或bdpcm的任何变化(诸如,intra_bdpcm_flag等于“真”)时,可以不在比特流中针对块信令通知mts索引和/或变换跳过标志。[0556]i.可替代地,此外,当在块中启用了bdpcm或qr-bdpcm或bdpcm的任何变化时,可以推断块的变换跳过标志为“真”。[0557]b.在一个示例中,当在块中启用了bdpcm或qr-bdpcm或bdpcm的任何变化时,可以推断块的mts索引为0。[0558]32.固定长度编解码可用于对不同的mts类型(诸如vvc规范中的dst7-dst7、dct8-dst7、dst7-dct8、dct8-dct8)进行编解码,但不包括ts和dct-2。[0559]a.在一个示例中,可以应用具有2个二进制位的固定长度。[0560]b.在一个示例中,每个二进制位可以被上下文编解码。[0561]c.在一个示例中,第一或最后一个二进制位可以被上下文编解码,并且剩余的二进制位被旁路编解码。[0562]d.在一个示例中,所有二进制位都被旁路编解码。[0563]33.变换矩阵索引(例如,ts、dct-2、其他变换矩阵)的上下文建模可以取决于编解码模式、变换块尺寸和/或qt深度和/或mtt深度和/或bt深度和/或tt深度。[0564]a.在一个示例中,变换矩阵索引的上下文建模可以取决于块的编解码模式,诸如块是否用帧内/帧间/ibc模式编解码。[0565]b.在一个示例中,变换矩阵索引的上下文建模可以取决于多个分割深度的函数,这些分割深度可以包括qt深度、mtt深度、bt深度、tt深度。[0566]c.在一个示例中,变换矩阵索引的上下文建模可以取决于相对于cu/pu的tu/tb的变换深度。[0567]d.在一个示例中,上下文索引增加可以被设置为tu/tb大小的函数。[0568]i.在一个示例中,上下文索引增加可以被设置为((log2(tbw) log2(tbh))》》1)–x,其中tbw和tbh指示变换块的宽度和高度,x是整数(诸如x=2)。[0569]ii.在一个示例中,上下文索引增加可以被设置为log2(max(tbw,tbh))–x,其中tbw和tbh指示变换块的宽度和高度,x是整数(诸如x=2),max(a,b)返回较大的值。[0570]iii.在一个示例中,上下文索引增加可以被设置为log2(min(tbw,tbh))–x,其中tbw和tbh指示变换块的宽度和高度,x是整数(诸如x=2),min(a,b)返回较小的值。[0571]iv.上面提到的上下文索引增加可以进一步被限幅到一个范围,诸如[k0,k1],其中k0和k1是整数。[0572]e.在一个示例中,上下文索引增加可以被设置为tu/tb宽度或高度的函数。[0573]f.在一个示例中,上下文索引增加可以被设置为mtt深度的函数。[0574]g.在一个示例中,上下文索引增加可以被设置为min(k,四叉树深度),其中函数min(a,b)返回a和b之间的较小值,k是诸如4或5的整数。[0575]h.在一个示例中,上述方法可以应用于对矩阵索引编解码中使用的特定二进制位进行编解码。[0576]i.在一个示例中,用于指示它是否是dct2的二进制位被上下文编解码,并且上下文建模基于上述方法,诸如tu_mts_idx的第一个二进制位。[0577]34.提议可以共享对它是ts还是dct2的指示进行编解码的上下文建模。[0578]a.在一个示例中,用于编解码transform_skip_flag和tu_mts_idx的第一个二进制位的上下文建模(即,如何选择上下文索引)可以是相同的。[0579]b.可替代地,此外,用于编解码这两个二进制位的上下文可以不同或部分共享。[0580]i.在一个示例中,第一组上下文可用于编解码transform_skip_flag,并且第二组上下文可用于编解码tu_mts_idx的第一个二进制位。而且这两组是不共享的。[0581]c.可替代地,此外,用于编解码这两个二进制位的上下文可以完全共享。[0582]35.提议将单个上下文用于语法元素tu_mts_idx的部分或所有上下文编解码的二进制位。[0583]a.例如,单个上下文可以用于tu_mts_idx的第一个二进制位。[0584]b.例如,除了tu_mts_idx的第一个二进制位之外,单个上下文可以用于所有二进制位。[0585]i.可替代地,此外,tu_mts_idx的第一个二进制位可以使用第24点中提到的上下文建模方法进行上下文编解码。[0586]1.在一个示例中,取决于变换尺寸,可以用n个上下文对第一个二进制位进行上下文编解码(例如,可以将上下文索引增加设置为((log2(tbw) log2(tbh))》》1)–2,使得n=4),并且可以用单个上下文对所有剩余二进制位进行上下文编解码。[0587]c.可替代地,此外,tu_mts_idx的第一个和第二个二进制位可以被上下文编解码,而所有剩余的二进制位可以被旁路编解码。[0588]d.在一个示例中,取决于变换尺寸(例如,n=4),第一个二进制位可以用n个上下文进行上下文编解码,而第二个二进制位可以用单个上下文进行上下文编解码,并且剩余二进制位可以被旁路编解码。例如,tu_mts_idx的所有二进制位都可以被旁路编解码。[0589]36.变换矩阵的二值化可以用以下方式定义:[0590]a.在一个示例中,下表示出了映射的二进制位和对应的矩阵。[0591][0592][0593]b.在一个示例中,下表示出了映射的二进制位和对应的矩阵。[0594]变换矩阵二进制位字符串ts0dct2-dct210dst7-dst71100dct8-dst71101dst7-dct81110dct8-dct81111[0595]c.在一个示例中,下表示出了映射的二进制位和对应的矩阵。[0596]变换矩阵二进制位字符串ts1dct2-dct201dst7-dst70000dct8-dst70001dst7-dct80010dct8-dct80011[0597]d.在一个示例中,下表示出了映射的二进制位和对应的矩阵。[0598]变换矩阵二进制位字符串ts0dct2-dct210dst7-dst711[0599]e.在一个示例中,下表示出了映射的二进制位和对应的矩阵。[0600]变换矩阵二进制位字符串ts0dct2-dct211dst7-dst710[0601]f.在一个示例中,下表示出了映射的二进制位和对应的矩阵。[0602][0603][0604]g.在一个示例中,下表示出了映射的二进制位和对应的矩阵。[0605]变换矩阵二进制位字符串ts1dct2-dct201dst7-dst700[0606]37.提议mts只有两个候选变换组合:dct2-dct2和dst7-dst7。[0607]上面描述的示例可以结合在下面描述的方法的上下文中,例如方法1705、1710、1715、1720、1725、1730、1735和1740,其可以在视频编码器和/或解码器处实现。[0608]图17a示出了用于视频处理的示例性方法的流程图。方法1705包括,在步骤1706,基于一个或多个解码的系数,并且在缺少一个或多个变换索引的情况下,做出关于对视频的当前块应用变换的决策。[0609]方法1705包括,在步骤1707,基于该决策,执行当前块和视频的比特流表示之间的转换。[0610]图17b示出了用于视频处理的示例性方法的流程图。方法1710包括,在步骤1711,基于代表性系数集并且在缺少一个或多个变换索引的情况下,做出关于对当前块应用变换的决策。[0611]方法1710包括,在步骤1712,基于该决策,执行当前块和比特流表示之间的转换。在一些实施例中,所述代表性系数集包括在有效系数集中,并且所述有效系数集中的每个系数都是非零的。[0612]图17c示出了用于视频处理的示例性方法的流程图。方法1715包括,在步骤1716,从预定义变换集中选择变换集中的一个或多个变换,作为变换的隐式选择(ist)模式的一部分。[0613]方法1715包括,在步骤1717,将一个或多个变换中的至少一个应用于当前块,作为执行当前块和比特流表示之间的转换的一部分。[0614]图17d示出了用于视频处理的示例性方法的流程图。方法1720包括,在步骤1721,基于视频的当前块的编解码模式,做出关于将隐式多重变换集(mts)处理应用于编解码模式,而不管在视频的比特流表示中在序列级、图片级、子图片级、条带级、片组级、片级、图块级、编解码树单元(ctu)行、或ctu级启用mts处理的指示的值的决策。[0615]方法1720包括,在步骤1722,基于该决策,执行当前块和比特流表示之间的转换。在一些实施例中,隐式mts处理包括使用当前块的特性来确定转换期间使用的变换。[0616]图17e示出了用于视频处理的示例性方法的流程图。方法1725包括,在步骤1726,基于对视频的视频区域的多重变换集(mts)处理的启用,做出关于对视频区域的子块内分割(isp)模式或子块变换(sbt)模式的启用的决策。[0617]方法1725包括,在步骤1727,基于该决策,执行视频区域和视频的比特流表示之间的转换。[0618]图17f示出了用于视频处理的示例性方法的流程图。方法1730包括,在步骤1731,基于对视频的视频区域的子块内分割(isp)模式或子块变换(sbt)模式的启用,做出关于对视频区域的多重变换集(mts)处理的启用的决策。[0619]方法1730包括,在步骤1732,基于该决策,执行视频区域和视频的比特流表示之间的转换。[0620]图17g示出了用于视频处理的示例性方法的流程图。方法1735包括,在步骤1736,执行视频的当前块和视频的比特流表示之间的转换。在一些实施例中,比特流表示包括控制对当前块隐式多重变换集(mts)处理的使用的第一语法元素和控制对当前块显式mts处理的使用的第二语法元素,第一语法元素不同于第二语法元素,并且隐式mts处理包括使用当前块的特性来确定转换期间使用的变换。[0621]图17h示出了用于视频处理的示例性方法的流程图。方法1740包括在步骤1741,对于视频的视频区域,使用基于视频区域的编解码模式的一个或多个控制参数,做出关于将隐式多重变换集(mts)处理和/或显式mts处理应用于视频区域的决策。[0622]方法1740包括,在步骤1742,基于该决策,执行视频区域和视频的比特流表示之间的转换。在一些实施例中,隐式mts处理包括使用当前块的特性来确定转换期间使用的变换。[0623]5所公开技术的示例实现方式[0624]在以下实施例中,添加使用粗体双括号来指示,例如,{{a}}指示“a”已被添加,而删除使用粗体双括号来指示,例如,[[a]]指示“a”已被删除。[0625]5.1实施例#1[0626]jvet-n1001-v7中规定的工作草案可以修改如下。[0627]8.7.4缩放的变换系数的变换处理[0628]8.7.4.1概述[0629]…[0630]表8-17–取决于cu_sbt_horizontal_flag和cu_sbt_pos_flag的trtypehor和trtypever的规范[0631]cu_sbt_horizontal_flagcu_sbt_pos_flagtrtypehortrtypever00{{ntbw》=8?0:}}210111101{{ntbh》=8?0:}}21111[0632]…[0633]5.2实施例2[0634]jvet-n1001-v8中规定的工作草案可以修改如下。[0635]7.3.7.10变换单元语法[0636][0637]可替代地,以下内容可以应用:[0638][0639]5.3实施例3[0640]jvet-n1001-v8中规定的工作草案可以修改如下。[0641]9.5.3.7固定长度二值化处理[0642]…[0643]{{[0644]9.5.3.8tu_mts_idx的二值化处理[0645]这个处理的输入是对语法元素tu_mts_idx进行二进制化的请求。[0646]这个处理的输出是语法元素的二值化。[0647]语法元素tu_mts_idx的二进制化在表9-14中规定。[0648]表0-14-tu_mts_idx的二值化[0649][0650]}}[0651]5.4实施例4[0652]jvet-n1001-v8中规定的工作草案可以修改如下。[0653]9.5.4.2ctxtable、ctxidx和bypassflag的导出过程[0654]9.5.4.2.1概述[0655]…[0656]表0-17-将ctxinc分配给带有上下文编解码二进制位的语法元素[0657][0658]5.5实施例5[0659]jvet-n1001-v8中规定的工作草案可以修改如下。[0660]9.5.4.3ctxtable、ctxidx和bypassflag的推导处理[0661]9.5.4.3.1概述[0662]…[0663]表0-17-将ctxinc分配给带有上下文编解码二进制位的语法元素[0664][0665]5.6实施例6[0666]jvet-n1001-v8中规定的工作草案可以修改如下。[0667]9.5.4.4ctxtable、ctxidx和bypassflag的推导处理[0668]9.5.4.4.1概述[0669]…[0670]表0-17-将ctxinc分配给带有上下文编解码二进制位的语法元素[0671][0672]5.7实施例7[0673]jvet-n1001-v8中规定的工作草案可以修改如下。[0674]9.5.4.5ctxtable、ctxidx和bypassflag的推导处理[0675]9.5.4.5.1概述[0676]…[0677]表0-17-将ctxinc分配给带有上下文编解码二进制位的语法元素[0678][0679]5.8实施例8[0680]jvet-n1001-v8中规定的工作草案可以修改如下。[0681]9.5.4.6ctxtable、ctxidx和bypassflag的推导处理[0682]9.5.4.6.1概述[0683]…[0684]表0-17-将ctxinc分配给带有上下文编解码二进制位的语法元素[0685][0686]或者,以下内容可以应用:[0687][0688]5.9实施例9[0689]jvet-o2001-vc中规定的工作草案可做如下修改。[0690]8.7.4缩放的变换系数的变换处理[0691]8.7.4.1概述[0692]…[0693]变量implicitmtsenabled的推导如下:[0694]–如果[[sps_mts_enabled_flag等于1并且]]下列条件之一为“真”,则implicitmtsenabled被设置为等于1:[0695]–intdrasubpartitionssplittype不等于isp_no_split[0696]–cu_sbt_flag等于1,并且max(ntbw,ntbh)小于或等于32[0697]–sps_explicit_mts_intra_enabled_flag等于0,cupredmode[0][xtby][ytby][0698]等于mode_intra,lfnst_idx[x0][y0]等于0,并且[0699]intra_mip_flag[x0][y0]等于0[0700]–否则,implicitmtsenabled被设置为等于0。[0701]5.10实施例10[0702]jvet-o2001-vc中规定的工作草案可做如下修改。[0703]8.7.4缩放的变换系数的变换处理[0704]8.7.4.1概述[0705]…[0706]变量implicitmtsenabled的推导如下:[0707]–如果[[sps_mts_enabled_flag等于1并且]]下列条件之一为“真”,则implicitmtsenabled被设置为等于1:[0708]–intdrasubpartitionssplittype不等于isp_no_split[0709]–cu_sbt_flag等于1,并且max(ntbw,ntbh)小于或等于32[0710]–{{sps_mts_enabled_flag等于1并且}}sps_explicit_mts_intra_enabled_flag等于0并且cupredmode[0][xtby][ytby]等于mode_intra并且lfnst_idx[x0][y0]等于0并且intra_mip_flag[x0][y0]等于0[0711]–否则,implicitmtsenabled设置为0。[0712]5.11实施例11[0713]jvet-o2001-vc中规定的工作草案可做如下修改。[0714]7.3.2.3序列参数集rbsp语法[0715]…[0716][0717]5.12实施例12[0718]jvet-o2001-vc中规定的工作草案可做如下修改。[0719]7.3.2.3序列参数集rbsp语法[0720]…[0721][0722]1.4.3.3序列参数集rbsp语义[0723][[sps_mts_enabled_flag等于1指定sps_explicit_mts_intra_enabled_flag存在于序列参数集rbsp语法中,且sps_explicit_mts_inter_enabled_flag存在于序列参数集rbsp语法中。等于0的sps_mts_enabled_flag指定sps_explicit_mts_intra_enabled_flag不存在于序列参数集rbsp语法中,并且sps_explicit_mts_inter_enabled_flag不存在于序列参数集rbsp语法中。]][0724]8.7.4缩放的变换系数的变换过程[0725]8.7.4.1概述[0726]…[0727]变量implicitmtsenabled的推导如下:[0728]–如果[[sps_mts_enabled_flag等于1并且]]下列条件之一为“真”,则implicitmtsenabled被设置为等于1:[0729]–intdrasubpartitionssplittype不等于isp_no_split[0730]–cu_sbt_flag等于1,并且max(ntbw,ntbh)小于或等于32[0731]–sps_explicit_mts_intra_enabled_flag等于0,cupredmode[0][xtby][ytby]等于mode_intra,lfnst_idx[x0][y0]等于0,且intra_mip_flag[x0][y0]等于0[0732]–否则,implicitmtsenabled被设置为等于0。[0733]5.13实施例13[0734]jvet-o2001-vc中规定的工作草案可做如下修改。[0735]8.7.4缩放的变换系数的变换处理[0736]8.7.4.1概述[0737]…[0738]变量implicitmtsenabled的推导如下:[0739]–如果[[sps_mts_enabled_flag等于1并且]]下列条件之一为“真”,则implicitmtsenabled被设置为等于1:[0740]–intdrasubpartitionssplittype不等于isp_no_split[0741]–cu_sbt_flag等于1,max(ntbw,ntbh)小于或等于32[0742]–{{sps_mts_enabled_flag等于1并且}}sps_explicit_mts_intra_enabled_flag等于0并且cupredmode[0][xtby][ytby]等于mode_intra并且lfnst_idx[x0][y0]等于0并且intra_mip_flag[x0][y0]等于0[0743]–否则,implicitmtsenabled被设置为等于0。[0744]5.14实施例14[0745]jvet-o2001-vc中规定的工作草案可做如下修改。[0746]7.3.8.5编解码单元语法[0747][0748]5.15实施例15[0749]本实施例是根据sps标志sps_mts_enabled_flag应用变换系数归零。[0750]jvet-o2001-v14中规定的工作草案可进行如下修改。[0751]7.3.8.11残差编解码语法[0752][0753][0754]在一些实施例中,可以实现以下技术方案:[0755]a1.一种用于视频处理的方法,包括:基于一个或多个解码的系数,并且在缺少一个或多个变换索引的情况下,做出关于对视频的当前块应用变换的决策;以及基于该决策,执行当前块和视频的比特流表示之间的转换。[0756]a2.解决方案a1的方法,其中,所述一个或多个解码的系数和与当前块的颜色分量相同的颜色分量中的一个或多个代表性块相关联。[0757]a3.解决方案a1的方法,其中,所述一个或多个解码的系数与不同于当前块的颜色分量的颜色分量中的一个或多个代表性块相关联。[0758]a4.解决方案a1的方法,其中,变换的类型基于与当前块相关联的解码的系数。[0759]a5.解决方案a1的方法,其中,变换的类型基于与不同于当前块的第二块相关联的解码的系数。[0760]a6.解决方案a5的方法,其中,第二块是当前块的邻居。[0761]a7.解决方案a5的方法,其中,当前块和第二块用相同的帧内预测模式编解码。[0762]a8.解决方案a5的方法,其中,当前块的尺寸与第二块的尺寸相同。[0763]a9.解决方案a5的方法,其中,当前块在亮度分量中,并且其中,第二块在色度分量中。[0764]a10.解决方案a1的方法,其中,变换的类型基于与多个块相关联的多个解码的系数。[0765]a11.解决方案a10的方法,其中,多个块包括当前块。[0766]a12.解决方案a10或a11的方法,其中,多个块包括当前块的至少一个临近块。[0767]a13.解决方案a10的方法,其中,所述多个块包括以解码顺序在当前块之前的最后n个解码块,其中,最后n个解码块中的每一个满足条件,并且其中n是大于1的整数。[0768]a14.解决方案a13的方法,其中,所述条件包括最后n个解码块中的每一个是用与当前块相同的帧内预测模式进行编解码的。[0769]a15.解决方案a13的方法,其中,所述条件包括最后n个解码块中的每一个具有与当前块相同的尺寸。[0770]a16.一种用于视频处理的方法,包括:基于代表性系数集,并且在缺少一个或多个变换索引的情况下,做出关于对当前块应用变换的决策;以及基于该决策,执行当前块和比特流表示之间的转换,其中所述代表性系数集包括在有效系数集中,并且其中所述有效系数集中的每个系数都是非零的。[0771]a17.解决方案a16的方法,其中,所述有效系数集中的每个系数被包括在所述代表性系数集中。[0772]a18.解决方案a17的方法,其中,所述决策进一步包括确定当前块的变换类型。[0773]a19.解决方案a16的方法,其中,所述有效系数集中的至少一个系数被从所述代表性系数集排除。[0774]a20.解决方案a19的方法,其中,所述至少一个系数大于或等于预定阈值。[0775]a21.解决方案a19的方法,其中,所述至少一个系数小于或等于预定阈值。[0776]a22.解决方案a19的方法,其中,所述至少一个系数包括所述有效系数集中以解码顺序的前k个系数,其中k是整数,并且其中k≥1。[0777]a23.解决方案a19的方法,其中,所述至少一个系数包括所述有效系数集中以解码顺序的最后k个系数,其中k是整数,并且其中k≥1。[0778]a24.解决方案a16的方法,其中,所述代表性系数集包括当前块中一个或多个预定义位置的系数。[0779]a25.解决方案a16的方法,其中,所述代表性系数集包括在系数扫描顺序中的一个或多个预定位置处的系数。[0780]a26.解决方案a16的方法,其中,所述代表性系数集包括至少一个零系数。[0781]a27.解决方案a16的方法,其中,所述变换包括水平变换和垂直变换,并且其中,水平变换的类型或垂直变换的类型基于所述代表性系数集的函数。[0782]a28.解决方案a27的方法,其中,函数是所述代表性系数集的基数。[0783]a29.解决方案a27的方法,其中,该函数基于所述代表性系数集的每个系数的值的总和。[0784]a30.解决方案a27的方法,其中,该函数基于所述代表性系数集的每个系数的绝对值的总和。[0785]a31.解决方案a27的方法,其中,该函数是所述代表性系数集中的多个系数的奇偶校验。[0786]a32.解决方案a31的方法,其中,当奇偶校验为偶数时,水平变换包括第一变换并且垂直变换包括第二变换,并且其中,当奇偶校验为奇数时,水平变换包括第三变换并且垂直变换包括第四变换。[0787]a33.解决方案a31的方法,其中,当包括当前块的当前图片或当前条带被帧内编解码时,当奇偶校验为偶数时,水平变换包括第一变换且垂直变换包括第二变换,并且当奇偶校验为奇数时,水平变换包括第三变换且垂直变换包括第四变换,并且当当前图片或当前条带未被帧内编解码时,当奇偶校验为偶数时,水平变换包括第三变换且垂直变换包括第四变换,并且当奇偶校验为奇数时,水平变换包括第一变换且垂直变换包括第二变换。[0788]a34.解决方案a32或a33的方法,其中,第一变换的类型与第二变换的类型相同。[0789]a35.解决方案a32或a33的方法,其中,第一变换的类型不同于第二变换的类型。[0790]a36.解决方案a32或a33的方法,其中,第三变换的类型与第四变换的类型相同。[0791]a37.解决方案a32或a33的方法,其中,第三变换的类型不同于第四变换的类型。[0792]a38.解决方案a31的方法,其中,i条带或i图片包括帧内编解码的当前块,其中,当奇偶校验为偶数时,变换是类型vii的离散正弦变换(dst-vii),并且其中,当奇偶校验为奇数时,变换是类型ii的离散余弦变换(dct-ii)。[0793]a39.解决方案a31的方法,其中,p/b条带或p/b图片包括帧内编解码的当前块,其中,当奇偶校验为偶数时,变换是类型ii的离散余弦变换(dct-ii),并且其中,当奇偶校验为奇数时,变换是类型vii的离散正弦变换(dst-vii)。[0794]a40.解决方案a31的方法,其中,变换的类型基于包括覆盖所述有效系数集的最小矩形的扫描区域。[0795]a41.解决方案a29或a30的方法,其中,当总和小于阈值时,水平变换包括第一变换且垂直变换包括第二变换,并且其中,当总和大于或等于阈值时,水平变换包括第三变换且垂直变换包括第四变换。[0796]a42.解决方案a41的方法,其中,阈值基于当前块的尺寸。[0797]a43.解决方案a41的方法,其中,阈值基于与当前块相关联的量化参数。[0798]a44.解决方案a32至a43中任一项的方法,其中,第一、第二、第三和第四变换中的每一个是类型ii的离散余弦变换(dct)(dct-ii)、dct-viii、类型vii的离散正弦变换(dst)(dst-vii)或dst-viii之一。[0799]a45.一种用于视频处理的方法,包括:从预定义变换集中选择变换集中的一个或多个变换,作为变换的隐式选择(ist)模式的一部分;以及将该一个或多个变换中的至少一个应用于当前块,作为执行当前块和比特流表示之间的转换的一部分。[0800]a46.解决方案a45的方法,其中,变换集包括垂直变换集和水平变换集。[0801]a47.解决方案a46的方法,其中,垂直变换集与水平变换集相同。[0802]a48.解决方案a46的方法,其中,垂直变换集不同于水平变换集。[0803]a49.解决方案a45的方法,其中,变换集包括类型ii的离散余弦变换(dct-ii)和类型vii的离散正弦变换(dct-vii)。[0804]a50.解决方案a49的方法,其中,变换集还包括恒等变换。[0805]a51.解决方案a45的方法,其中,变换集基于以下各项中的至少一个:当前块的编解码信息、颜色分量、当前块的划分结构、包括当前块的当前条带的条带类型和包括当前块的当前图片的图片类型。[0806]a52.解决方案a51的方法,其中,变换集基于当前块的大小。[0807]a53.解决方案a51的方法,其中,当当前块被帧内编解码时,变换集包括类型ii的离散余弦变换(dct-ii)和类型vii的离散正弦变换(dst-vii)。[0808]a54.解决方案a51的方法,其中,当使用帧内块复制(ibc)模式编解码当前块时,变换集包括类型vii的离散正弦变换(dst-vii)和恒等变换。[0809]a55.解决方案a1至a54中任一个的方法,其中,当前块是帧内编解码块。[0810]a56.解决方案a1至a54中任一个的方法,其中,与当前块相关联的系数集受到约束。[0811]a57.解决方案a56的方法,其中,系数集中位于当前块的预定区域之外的每个系数为零。[0812]a58.解决方案a1至a54中任一个的方法,其中,当前块被配置为当没有选择另一变换时使用默认变换。[0813]a59.解决方案a58的方法,其中,默认变换是类型ii的离散余弦变换(dct-ii)。[0814]a60.一种用于视频处理的方法,包括:基于视频的当前块的编解码模式,做出关于将隐式多重变换集(mts)处理应用于编解码模式,而不管在视频的比特流表示中在序列级、图片级、子图片级、条带级、片组级、片级、图块级、编解码树单元(ctu)行或ctu级启用mts处理的指示的值的决策;以及基于该决策执行当前块和比特流表示之间的转换,其中,隐式mts处理包括使用当前块的特性来确定转换期间使用的变换。[0815]a61.解决方案a60的方法,其中,当所述编解码模式是子块内分割(isp)模式并且所述mts处理被禁用时,应用隐式mts处理。[0816]a62.解决方案a60的方法,其中,当所述编解码模式是子块变换(sbt)模式并且所述mts处理被禁用时,应用隐式mts处理。[0817]a63.一种用于视频处理的方法,包括:基于对视频的视频区域的多重变换集(mts)处理的启用,做出关于对视频区域的子块内分割(isp)模式或子块变换(sbt)模式的启用的决策;以及基于该决策,执行视频区域和视频的比特流表示之间的转换。[0818]a64.解决方案a63的方法,其中,视频区域包括序列、视频、图片、条带、片组、片、图块、子图片、编解码树单元(ctu)行、ctu、编解码单元(cu)或块。[0819]a65.解决方案a63或a64的方法,其中,当mts处理被禁用时,isp模式和/或sbt模式被禁用。[0820]a66.解决方案a63或a64的方法,其中,当mts处理被启用时,比特流表示包括用于isp模式和/或sbt模式的显式标志。[0821]a67.解决方案a63或a64的方法,其中,当隐式mts处理被禁用时,isp模式和/或sbt模式被禁用。[0822]a68.一种用于视频处理的方法,包括:基于对视频的视频区域的子块内分割(isp)模式或子块变换(sbt)模式的启用,做出关于对视频区域的多重变换集(mts)处理的启用的决策;以及基于该决策,执行视频区域和视频的比特流表示之间的转换。[0823]a69.解决方案a68的方法,其中,视频区域包括序列、视频、图片、条带、片组、片、图块、子图片、编解码树单元(ctu)行、ctu、编解码单元(cu)或块。[0824]a70.解决方案a68或a69的方法,其中,当isp模式和/或sbt模式被禁用时,mts处理被启用。[0825]a71.一种用于视频处理的方法,包括执行视频的当前块和视频的比特流表示之间的转换,其中,比特流表示包括第一语法元素和第二语法元素,第一语法元素控制对当前块的隐式多重变换集(mts)处理的使用,并且第二语法元素控制对当前块的显式mts处理的使用,并且其中,第一语法元素不同于第二语法元素,其中,隐式mts处理包括使用当前块的特性来确定在转换期间使用的变换。[0826]a72.解决方案a71的方法,其中,在比特流表示中在序列级信令通知第一语法元素和第二语法元素。[0827]a73.一种用于视频处理的方法,包括:对于视频的视频区域,使用基于视频区域的编解码模式的一个或多个控制参数,做出关于将隐式多重变换集(mts)处理和/或显式mts处理应用于视频区域的决策;以及基于该决策,执行视频区域和视频的比特流表示之间的转换,其中,隐式mts处理包括使用当前块的特性来确定转换期间使用的变换。[0828]a74.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中,所述指令在由处理器执行时,使得处理器实现解决方案a1至a73中的任何一个中的方法。[0829]a75.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行解决方案a1至a73中的任何一个中的方法的程序代码。[0830]图18是视频处理装置1800的框图。装置1800可用于实施本文所述的一种或多种方法。装置1800可以体现在智能手机、平板电脑、计算机、物联网接收器等中。装置1800可以包括一个或多个处理器1802、一个或多个存储器1804和视频处理硬件1806。(多个)处理器1802可以被配置成实现本文档中描述的一种或多种方法(包括但不限于方法1705、1710、1715、1720、1725、1730、1735和1740)。存储器(多个存储器)1804可以用于存储用于实现本文描述的方法和技术的数据和代码。视频处理硬件1806可以用于在硬件电路中实现本文档中描述的一些技术。[0831]在一些实施例中,视频编解码方法可以使用在硬件平台上实现的装置来实现,如参考图18所述。[0832]所公开的技术的一些实施例包括做出启用视频处理工具或模式的决策或确定。在示例中,当启用视频处理工具或模式时,编码器将在视频块的处理中使用或实现该工具或模式,但是不一定基于工具或模式的使用来修改得到的比特流。也就是说,当基于决策或确定启用视频处理工具或模式时,从视频块到视频的比特流表示的转换将使用视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将利用已经基于视频处理工具或模式修改比特流的认知来处理比特流。也就是说,从视频的比特流表示到视频块的转换将使用基于决策或确定而启用的视频处理工具或模式来执行。[0833]所公开的技术的一些实施例包括做出禁用视频处理工具或模式的决策或决策。在一个示例中,当视频处理工具或模式被禁用时,编码器将不会在视频块到视频的比特流表示的转换中使用该工具或模式。在另一示例中,当视频处理工具或模式被禁用时,解码器将利用没有使用基于决策或确定被启用的视频处理工具或模式修改比特流的认知来处理比特流。[0834]图19是示出示例视频处理系统1900的框图,其中可以实现这里公开的各种技术。各种实现方式可以包括系统1900的一些或所有组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以原始或未压缩格式接收,例如8或10位多分量像素值,或者可以是压缩或编码格式。输入1902可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络等)和无线接口(诸如无线网络或蜂窝接口)。[0835]系统1900可以包括编解码组件1904,其可以实现本文档中描述的各种编解码或编码方法。编解码组件1904可以降低从编解码组件1904的输入1902到输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频代码转换技术。编解码组件1904的输出可以被存储,或者通过连接的通信(如组件1906所表示的)来传输。组件1908可以使用在输入端1902接收的视频的存储或传达的比特流(或编解码)表示来生成发送到显示接口1910的像素值或可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是应当理解,编解码工具或操作在编码器处使用,并且对编解码结果进行反向的相应解码工具或操作将由解码器执行。[0836]外围总线接口或显示接口的示例可以包括通用串行总线(usb)或高清晰度多媒体接口(hdmi)或显示端口等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文档中描述的技术可以体现在各种电子设备中,诸如移动电话、膝上型电脑、智能手机或能够执行数字数据处理和/或视频显示的其他设备。[0837]从以上所述,将会理解,为了说明的目的,这里已经描述了当前公开的技术的具体实施例,但是在不脱离本发明的范围的情况下,可以进行各种修改。因此,当前公开的技术除了由所附权利要求限定之外不受限制。[0838]本专利文档中描述的主题和功能操作的实现可以在各种系统、数字电子电路中实现,或者在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)中实现,或者在它们中的一个或多个的组合中实现。本说明书中描述的主题的实现可以被实现为一个或多个计算机程序产品,即编码在有形和非暂时性计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基底、存储设备、实现机器可读传播信号的物质组合,或者它们中的一个或多个的组合。术语“数据处理单元”或“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。[0839]计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或者存储在多个协同文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以被部署为在一台计算机上或位于一个站点或分布在多个站点并通过通信网络互连的多台计算机上执行。[0840]本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流程也可以由专用逻辑电路来执行,并且设备也可以被实现为专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。[0841]举例来说,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,以从其接收数据或向其传输数据,或两者兼有。然而,计算机不需要有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如eprom、eeprom和闪存设备。处理器和存储器可以由专用逻辑电路来补充或结合在其中。[0842]尽管本专利文档包含许多细节,但这些细节不应被解释为对任何发明或所要求保护的范围的限制,而是对可能特定于特定发明的特定实施例的特征的描述。本专利文档中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独实现或者在任何合适的子组合中实现。此外,尽管特征可以在上面被描述为在某些组合中起作用,并且甚至最初被这样要求保护,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中删除,并且所要求保护的组合可以指向子组合或子组合的变体。[0843]类似地,虽然在附图中以特定顺序描述了操作,但是这不应该被理解为要求以所示的特定顺序或顺序执行这些操作,或者要求执行所有示出的操作,以获得期望的结果。此外,本专利文档中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离。[0844]仅描述了几个实现方式和示例,并且可以基于本专利文档中描述和示出的内容进行其他实现、增强和变化。当前第1页12当前第1页12
再多了解一些

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

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

相关文献