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

经变换跳过的块的残差编解码的制作方法

2022-03-31 11:33:13 来源:中国专利 TAG:

经变换跳过的块的残差编解码
1.相关申请的交叉引用
2.根据适用的专利法和/或依据巴黎公约的规则,本技术及时要求于2019年8月20日提交的国际专利申请no.pct/cn2019/101608的优先权和利益。出于根据该法律的所有目的,将前述申请的全部公开内容以引用方式并入本文,以作为本技术公开内容的部分。
技术领域
3.本专利文件涉及视频编解码技术、设备和系统。


背景技术:

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


技术实现要素:

5.公开了涉及数字视频编解码的,尤其涉及使用变换跳过块编解码工具的视频编解码和解码的设备、系统和方法。
6.在一个示例性方面,公开了一种视频处理方法。该方法包括:为视频的当前块与视频的比特流表示之间的转换,基于规则确定是否启用级别映射(level mapping)操作或级别重新映射(level remapping)操作,其中,所述级别映射操作或级别重新映射操作包括基于当前块的残差系数的邻近残差系数在当前块的残差系数的第一表示和当前块的残差系数的第二表示之间变化;以及通过基于该确定选择性地使用该级别映射操作或级别重新映射操作而执行该转换。
7.在另一个示例性方面,公开了一种视频处理的方法。该方法包括:基于规则确定在级别映射操作或级别重新映射操作期间被用作预测值(predictor)的一个或多个先前解码的系数,其中,该级别映射操作或级别重新映射操作包括基于残差系数的邻近残差系数在当前块的残差系数的第一表示和当前块的残差系数的第二表示之间变化,其中,根据解码顺序或扫描顺序使用该一个或多个先前解码的系数;以及使用该一个或多个先前解码的系数执行视频的当前块和该视频的比特流表示之间的转换。
8.在另一个示例性方面,公开了一种视频处理方法。该方法包括:执行视频的当前块与该视频的比特流表示之间的转换,其中,该比特流表示符合格式规则,该格式规则规定在该比特流中包含用于指示当前块的视频单元的系数子集的绝对值大于m的语法元素,其中,m为整数。
9.在另一个示例性方面中,公开了一种视频处理方法。该方法包括:确定是否满足与为视频的当前块与比特流表示之间的转换启用级别重计算有关的条件;执行该转换,其中,基于该确定选择性地使用该级别重计算,其中,该级别重计算包括在该转换期间在当前块的残差系数的第一表示和所述残差系数的第二表示之间变化。
10.在另一个示例性方面,公开了另一种视频处理方法。该方法包括:确定为视频的当前块与比特流表示之间的转换执行级别重计算,其中,该级别重计算包括在该转换间使用的当前块的残差系数的第一表示和所述残差系数的第二表示之间变化;基于规则确定在该级别重计算期间被用作预测值的一个或多个解码系数;以及使用该一个或多个解码系数执行该转换。
11.在另一个示例性方面,公开了另一种视频处理方法。该方法包括:为视频的当前块与编解码表示之间的转换确定对应于当前块的视频单元的绝对系数子集是否全部大于m,其中,m为整数;以及基于该确定执行该转换。
12.在另一个示例性方面,公开了另一种视频处理方法。该方法包括:确定是否满足与为视频的当前块与比特流表示之间的转换启用级别重计算有关的规则,其中,该转换使用块差分脉冲编解码调制(bdpcm)编解码工具;执行该转换,其中,基于该确定选择性地使用该级别重计算,其中,该级别重计算包括在该转换期间使用的当前块的残差系数的第一表示和所述残差系数的第二表示之间变化。
13.在另一个示例性方面,公开了另一种视频处理方法。该方法包括:确定是否满足与为视频的当前块与比特流表示之间的转换启用级别重计算有关的规则,其中,该转换基于调色板编解码模式;执行该转换,其中,基于该确定选择性地使用该级别重计算,其中,该级别重计算包括在该转换期间在调色板索引或逸出符号的第一表示和所述调色板索引或逸出符号的第二表示之间变化。
14.在又一个示例性方面,公开了另一种视频处理方法。该方法包括:确定当前块与当前块的比特流表示之间的转换是基于变换跳过模式,在变换跳过模式中跳过对当前块的系数的变换操作;基于系数和规则确定为该转换的上下文模型;以及基于该上下文模型并且使用该变换跳过模式执行该转换。
15.在又一代表性方面中,上述方法被体现为处理器可执行代码的形式并存储于计算机可读程序介质中。
16.在又一代表性方面当中,公开了一种被配置为或可操作以执行上述方法的设备。该设备可以包括被编程为实施这种方法的处理器。
17.在又一典型的方面,一种视频解码器装置可以实施本文描述的方法。
18.在附图、说明书和权利要求书中更详细地描述了所公开的技术的上述和其他方面和特征。
附图说明
19.图1是一种示例视频编码器实施方式的框图。
20.图2示出了联合探索模型中的二次变换的示例。
21.图3示出了缩减二次变换(reduced secondary transform,rst)的示例。
22.图4示出了正向缩减变换和逆向缩减变换的示例。
23.图5示出了采用16
×
48矩阵的正向rst 8
×
8处理的示例。
24.图6是子块变换模式sbt-v和sbt-h的图示。
25.图7示出了朝右上对角线扫描顺序(例如,以4
×
4作为cg)。
26.图8示出了对8
×
8块(cg尺寸:4
×
4)的朝右上对角线扫描的示例。
27.图9示出了用于选择概率模型的模板的图示。
28.图10是在所提出的依赖性量化方案中使用的两个标量量化器的图示。
29.图11示出了所提出的依赖性量化的状态转换和量化器选择的示例。
30.图12示出了当前系数值x、邻近的左侧系数值x0和邻近的上方系数值x1的示例。
31.图13示出了在调色板模式中编解码的块的示例。
32.图14示出了使用调色板预测值来信令通知调色板条目。
33.图15示出了水平和垂直遍历扫描的示例。
34.图16示出了调色板索引的示例编解码。
35.图17是为视频处理的硬件平台的示例实施方式的框图。
36.图18是视频处理的示例方法的流程图。
37.图19是示出视频解码器的示例的框图。
38.图20是示出示例视频处理系统的框图,在该系统中可以实施本文公开的各种技术。
39.图21是示出可以利用本公开的技术的示例视频编解码系统的框图。
40.图22是示出了视频编码器的示例的框图。
41.图23-25示出视频处理的示例方法的流程图。
具体实施方式
42.可以将所公开的技术的实施例应用于现有视频编解码标准(例如,hevc、h.265)和将来的标准,以改善压缩性能。在本文中,使用章节标题来提高描述的可读性,并且不以任何方式使讨论或实施例(和/或实施方式)仅局限于各自章节。
43.1.概述
44.本文件涉及图像/视频编解码技术。具体地,本文件涉及图像/视频编解码中的残差编解码。其可以应用于现有的视频编解码标准,如hevc,或待定案的标准(多功能视频编解码)。其还可以适用于未来的视频编解码标准或视频编解码器。
45.2.初步讨论
46.视频编解码标准主要是通过开发公知的itu-t和iso/iec标准而演变的。itu-t开发了h.261和h.263,iso/iec开发了mpeg-1和mpeg-4视觉,并且两个组织联合开发了h.262/mpeg-2视频、h.264/mpeg-4高级视频编解码(avc)和h.265/hevc标准。自h.262以来,视频编解码标准基于混合视频编解码结构,其中采用了时域预测加变换编解码。为探索hevc之外的未来视频编解码技术,vceg和mpeg于2015年共同成立了联合视频探索团队(jvet)。从那时起,jvet采用了许多新的方法,并将其应用到了名为联合探索模型(jem)的参考软件中。2018年4月,在vceg(q6/16)和iso/iec jtc1 sc29/wg11(mpeg)之间创建了联合视频专家团队(jvet),其致力于研究以相较于hevc有50%的比特率下降为目标的vvc标准。
47.可以在下述网址找到vvc草案的最新版本,即多功能视频编解码(委员会草案):
48.http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/15_gothenburg/wg11/jvet-o2001-v14.zip
49.可以在下述网址找到vvc的名为vtm的最新参考软件:
50.https://vcgit.hhi.fraunhofer.de/jvet/vvcsoftware_vtm/tags/vtm-5.0
51.2.1典型视频编解码器的编解码流程
52.图1示出了vvc的编码器框图的示例,其含有三个环路滤波框:去方块滤波器(deblocking filter,df)、样点自适应偏移(sample adaptive offset,sao)和alf。与使用预定义滤波器的df不同,sao和alf借助于信令通知偏移和滤波器系数的编解码边信息分别通过添加偏移以及应用有限脉冲响应(finite impulse response,fir)滤波器而利用当前图片的原始样点来减少原始样点和重建样点之间的均方误差。alf位于每一图片的最后处理阶段上,并且可以被视为尝试捕捉并且修复先前阶段建立的伪像的工具。
53.2.2vvc中的变换编解码
54.2.2.1vvc中的多变换集(multiple transform set,mts)
55.2.2.1.1.显式多变换集(mts)
56.在vtm4中,启用了在尺寸上高达64
×
64的大块尺寸变换,其主要可用于较高分辨率视频,例如,1080p序列和4k序列。对于具有等于64的尺寸(宽度或高度,或者宽度和高度两者)的变换块,使高频变换系数归零,从而只保留低频系数。例如,对于m
×
n变换块(其中,m作为块宽度,并且n作为块高度),当m等于64时,仅保持左侧的32列变换系数。类似地,当n等于64时,仅保持顶部的32行变换系数。在将变换跳过模式用于大块时,使用整个块而不使任何值归零。
57.除了已经在hevc中采用的dct-ii之外,还将多变换选择(mts)方案用于对帧间编解码块和帧内编解码块两者进行残差编解码。其采用来自dct8/dst7的多种所选择的变换。新引入的变换矩阵是dst-vii和dct-viii。下面的表格1示出了所选择的dst/dct的基函数。
58.表格1:vvc中使用的变换矩阵的基函数
[0059][0060]
为了保持变换矩阵的正交性,要对这些变换矩阵做出比hevc中的变换矩阵更准确的量化。为了使经变换的系数的中间值保持在16比特范围内,在水平变换之后以及在垂直变换之后,所有的系数都将具有10比特。
[0061]
为了控制mts方案,分别对帧内和帧间在sps级上规定单独的启用标志。当在sps上启用mts时,信令通知cu级标志,以指示是否应用mts。这里,仅对亮度应用mts。在满足下述条件时信令通知mts cu级标志。
[0062]

宽度和高度两者都小于或者等于32
[0063]

cbf标志等于1
[0064]
如果mts cu标志等于0,那么在两个方向上都应用dct2。然而,如果mts cu标志等于1,那么附加地信令通知其他两个标志,从而分别指示水平方向和垂直方向的变换类型。变换和信令通知映射表格如表格2中所示。在涉及到变换矩阵精度时,采用8比特主变换核心(core)。因此,使hevc中使用的所有变换核心保持相同,其包括4点dct-2和dst-7以及8点dct-2、16点dct-2和32点dct-2。而且,其他变换核心包括采用8比特主变换核心的64点dct-2、4点dct-8以及8点、16点、32点dst-7和dct-8。
[0065]
表格2:tu_mts_idx的解码值与水平和垂直方向的对应变换矩阵的映射
[0066][0067]
为了降低大尺寸dst-7和dct-8的复杂性,对于具有等于32的尺寸(宽度或高度,或者宽度和高度两者)的dst-7块和dct-8块使高频变换系数归零。仅保留处于16
×
16较低频率区域内的系数。
[0068]
除了应用不同变换的情况之外,vvc还支持被称为变换跳过(ts)的模式,其与hevc中的ts的概念类似。ts被作为mts的特例对待。
[0069]
2.2.2.在jvet-n0193中提出的缩减二次变换(rst)
[0070]
2.2.2.1jem中的不可分二次变换(nsst)
[0071]
在jem中,在正向主变换和量化(编码器处)之间以及在反量化和逆向主变换(在解码器侧)之间应用二次变换。如图2所示,4
×
4(或8
×
8)二次变换的执行取决于块尺寸。例如,对于小块(即,min(宽度,高度)《8)应用4
×
4二次变换,并且对较大块(即,min(宽度,高度)》4)按照每一8
×
8块应用8
×
8二次变换。
[0072]
下文将使用作为示例的输入描述不可分变换的应用。为了应用不可分变换,4
×
4输入块x
[0073][0074]
被首先表示为矢量
[0075][0076]
计算作为该不可分变换,其中,指示变换系数矢量,并且t是16
×
16变
换矩阵。接下来,使用对该块的扫描顺序(水平、垂直或对角)将16
×
1系数矢量重新组织成4
×
4块。在4
×
4系数块中,具有较小索引的系数将被该较小扫描索引替代。总共有35个变换集,并且每变换集采用3个不可分变换矩阵(内核)。从帧内预测模式到变换集的映射是预定义的。对于每一变换集,通过显式信令通知的二次变换索引进一步规定所选的不可分二次变换(nsst)候选。在变换系数之后在比特流中对索引进行每帧内cu一次的信令通知。
[0077]
2.2.2.2.jvet-n0193中的缩减二次变换(rst)
[0078]
在jvet-k0099中引入了rst(又名低频不可分变换(low frequency non-separable transform,lfnst))并且在jvet-l0133中还引入了4个变换集(而非35个变换集)映射。在这一jvet-n0193中,采用16
×
64(进一步缩减至16
×
48)矩阵和16
×
16矩阵。为了标记方便,将16
×
64(缩减至16
×
48)变换表示为rst 8
×
8,将16
×
16变换表示为rst 4
×
4。图3示出了rst的示例。
[0079]
2.2.2.2.1.rst计算
[0080]
缩减变换(rt)的主要思想是将n维矢量映射至不同空间内的r维矢量,其中,r/n(r《n)是缩减因子。
[0081]
该rt矩阵是如下的r
×
n矩阵:
[0082][0083]
其中,该变换的r行是该n维空间的r个基。rt的逆变换矩阵是其正向变换的转置。在图4中绘示了正向rt和逆rt。
[0084]
在本文献中,应用具有缩减因子4(1/4尺寸)的rst 8
×
8。因而,采用16
×
64直接矩阵,而非作为常规8
×
8不可分变换矩阵尺寸的64
×
64。换言之,在解码器侧使用64
×
16逆向rst矩阵来生成8
×
8左上区域内的核心(主)变换系数。正向rst 8
×
8使用16
×
64(或者8
×
8块的8
×
64)矩阵,使得其仅在给定8
×
8区域内的左上4
×
4区域内产生非零系数。换言之,如果应用rst,那么该8
×
8区域除了左上的4
×
4区域之外将仅具有零系数。对于rst 4
×
4,应用16
×
16(或者4
×
4块的8
×
16)直接矩阵乘法。
[0085]
在满足下述两个条件时有条件地应用逆向rst:
[0086]

块尺寸大于或等于给定阈值(w》=4&&h》=4)
[0087]

变换跳过模式标志等于0
[0088]
如果变换系数块的宽度(w)和高度(h)两者均大于4,那么对变换系数块的左上8
×
8区域应用rst 8
×
8。否则,在变换系数块的左上min(8,w)
×
min(8,h)区域上应用rst 4
×
4。
[0089]
如果rst索引等于0,则不应用rst。否则,应用rst,借助于rst索引选择其内核。稍后将解释rst选择方法和rst索引的编解码。
[0090]
此外,对在帧内条带和帧间条带两者内的帧内cu,并且对亮度和色度两者,应用rst。如果启用双树,那么单独信令通知亮度和色度的rst索引。对于帧间条带(禁用双树),信令通知单个rst索引,并且将该索引用于亮度和色度两者。
[0091]
2.2.2.2.2.rst的限制
[0092]
在选择isp模式时,禁用rst,并且不对rst索引进行信令通知,因为即使对每一可行的分割块应用rst,所带来的性能提高也是微不足道的。此外,对isp预测残差禁用rst可能降低编码复杂性。
[0093]
2.2.2.2.3.rst选择
[0094]
从四个变换集中选择rst矩阵,该四个变换集中的每一个由两个变换构成。如下文所述从帧内预测模式确定应用哪一变换集:
[0095]
1)如果指示三个cclm模式之一,那么选择变换集0。
[0096]
2)否则,根据表格3执行变换集选择。
[0097]
表格3:变换集选择表格
[0098][0099]
访问该表格的索引(被表示为intrapredmode)具有范围[-14,83],其为用于宽角度帧内预测的经变换的模式索引。
[0100]
2.2.2.2.4.缩减维度后的rst矩阵
[0101]
作为进一步的简化,在相同的变换集配置的情况下,应用16
×
48矩阵而非16
×
64矩阵,这些16
×
48矩阵的每一个采取来自左上8
×
8块中的排除右下4
×
4块之外的三个4
×
4块的输入数据(图5)。
[0102]
图5示出了采用16
×
48矩阵的正向rst 8
×
8处理的示例。
[0103]
2.2.3子块变换
[0104]
对于其中cu_cbf等于1的帧间预测cu,可以信令通知cu_sbt_flag,以指示是对整个残差块解码,还是对残差块的子部分解码。在前一种情况下,对帧间mts信息做进一步解析,以确定cu的变换类型。在后一种情况下(即,启用sbt),采用推断出的自适应变换对残差块的部分编解码,并且使残差块的其他部分归零。不对组合帧间-帧内模式和三角形预测模式应用sbt。
[0105]
在子块变换中,对sbt-v和sbt-h中的亮度变换块应用位置相关变换(色度tb总是使用dct-2)。sbt-h和sbt-v的两个位置与不同的核心变换相关联。更具体地,在图6中规定了对每一sbt位置的水平变换和垂直变换。例如,对sbt-v位置0的水平变换和垂直变换分别为dct-8和dst-7。当残差tu的一侧大于32时,对应的变换被设置为dct-2。因此,子块变换联合规定残差块的tu拼接(tiling)、cbf以及水平变换和垂直变换,其可以被视为对于块的主要残差处于块的一侧的情况的语法快捷方式。
[0106]
图6是子块变换模式sbt-v和sbt-h的图示。
[0107]
2.2.4量化残差域块差分脉冲编解码调制编解码(qr-bdpcm)
[0108]
在vvc中采用hevc中的bdpcm的变型,其被称为量化残差域bdpcm(下文表示为qr-bdpcm)。不同于bdpcm,通过在类似于帧内预测的预测方向(水平或垂直预测)内进行样点复制来对整个块进行帧内预测。对残差进行量化,并对量化残差与其预测值(水平或垂直)量化值之间的δ进行编解码。
[0109]
对于尺寸为m(宽度)
×
n(高度)的块,令r
i,j
,0≤i≤m-1,0≤j≤n-1为使用来自上方或左侧块边界样点的未滤波样点水平地(跨预测块逐条线地复制左侧邻居像素值)或垂直地(将顶部邻居线复制到预测块中的每条线)执行帧内预测之后的预测残差。令q(r
i,j
),0≤i≤m-1,0≤j≤n-1表示残差r
i,j
的量化版本,其中,残差是初始块和预测块值之间的差值。然后,将块dpcm应用于量化残差样点,获得修改的m
×
n数组其中元素为在信令通知垂直bdpcm时:
[0110][0111]
对于水平预测,适用类似规则,并且通过如下等式获得残差量化样点
[0112][0113]
将残差量化样点发送到解码器。
[0114]
在解码器侧,逆转以上计算,从而产生q(r
i,j
),0≤i≤m-1,0≤j≤n-1。对于垂直预测情况,
[0115][0116]
对于水平情况,
[0117][0118]
将逆向量化残差q-1
(q(r
i,j
))添加到帧内块预测值以产生重建的样点值。
[0119]
在qr-bdpcm中总是使用变换跳过。
[0120]
2.3.系数的熵编解码
[0121]
2.3.1.应用了变换的块的系数编解码
[0122]
在hevc中,采用不重叠系数群组(cg,或子块)对编解码块的变换系数编解码,并且每一cg含有编解码块的4
×
4块的系数。根据预定义扫描顺序对编解码块内的cg以及cg内的变换系数编解码。
[0123]
根据预定义扫描顺序对编解码块内的cg以及cg内的变换系数编解码。cg和cg内的系数两者均遵循朝右上的对角线扫描顺序。在图7和图8中分别描绘了4
×
4块和8
×
8扫描顺序的示例。
[0124]
图7示出了朝右上对角线扫描顺序(例如,以4
×
4作为cg)。
[0125]
图8示出了对8x8块(cg尺寸:4
×
4)的朝右上对角线扫描的示例。
[0126]
注意,编解码顺序是颠倒的扫描顺序(即,从图8中的cg3到cg0解码),在对一个块
解码时,首先对最后的非零系数的坐标解码。
[0127]
对具有至少一个非零变换系数的cg的变换系数级的编解码可以被分成多趟扫描。在vvc3中,对于每一cg,按照编解码顺序划分常规编解码二进制位和旁路编解码二进制位;首先传输子块的所有常规编解码二进制位,而后传输旁路编解码二进制位。在扫描位置范围内通过五趟对子块的变换系数级进行编解码,具体如下:
[0128]

第1趟:按照编解码顺序处理对有效性(sig_flag)、大于1标志(gt1_flag)、奇偶性(par_level_flag)和大于2标志(gt2_flag)的编解码。如果sig_flag等于1,那么对第一gt1_flag编解码(其规定绝对级是否大于1)。如果gt1_flag等于1,那么附加地对par_flag编解码(其规定绝对级减2的奇偶性)。
[0129]

第2趟:在gt2_flag等于1或者gt1_flag等于1的情况下,对所有扫描位置处理对剩余绝对级(余数)的编解码。采用golomb-rice编解码使非二进制语法元素二值化,并且在算术编解码引擎的旁路模式中对所得到的二进制位编解码。
[0130]

第3趟:使用golomb-rice编解码在算术编解码引擎的旁路模式下对在第一趟中未对其sig_flag进行编解码(由于达到了常规编解码二进制位的极限)的系数的绝对级(abslevel)进行完全编解码。
[0131]

第4趟:在sig_coeff_flag等于1的情况下对所有扫描位置的符号(sign_flag)编解码
[0132]
保证了对于4
×
4子块不超过32个的常规编解码二进制位(sig_flag、par_flag、gt1_flag和gt2_flag)进行编码或解码。对于2
×
2色度子块,常规编解码二进制位的数量局限于8。
[0133]
按照与hevc类似的方式推导为非二进制语法元素余数的编解码(在第3趟中)的rice参数(ricepar)。在每一子块开始时,将ricepar设置为等于0。在对语法元素余数编解码之后,根据预定义公式修改rice参数。对于非二进制语法元素abslevel的编解码(第4趟中),确定局部模板中的绝对值的和sumabs。通过表格查找,基于依赖性量化和sumabs确定变量ricepar和poszero。对中间变量codevalue的推导如下:
[0134]

如果abslevel[k]等于0,那么codevalue被设置为等于poszero;
[0135]

否则,如果abslevel[k]小于或者等于poszero,那么codevalue被设置为等于abslevel[k]

1;
[0136]

否则(abslevel[k]大于poszero),那么codevalue被设置为等于abslevel[k]。
[0137]
借助于rice参数ricepar,使用golomb-rice编解码对codevalue的值进行编解码。
[0138]
2.3.1.1.系数编解码的上下文建模
[0139]
选择与变换系数级的绝对值相关的语法元素的概率模型取决于局部邻域中的绝对级或者部分重建绝对级的值。在图9中示出了所使用的模板。
[0140]
图9是用于选择概率模型的模板的图示。黑色方形规定了当前扫描位置并且被示为带有图案的方形表示所使用的局部邻域。
[0141]
所选择的概率模型取决于局部邻域中的绝对级(或者部分重建绝对级)之和以及局部邻域中的大于0的绝对级的数量(通过等于1的sig_coeff_flags的数量给出)。上下文建模和二值化取决于下述对局部邻域的度量:
[0142]
·
numsig:局部邻域中的非零级的数量;
[0143]
·
sumabs1:局部邻域中第一趟之后部分重建绝对级(abslevel1)之和;
[0144]
·
sumabs:局部邻域中重建绝对级之和
[0145]
·
对角位置(d):变换块内的当前扫描位置的水平坐标和垂直坐标之和
[0146]
基于numsig、sumabs1和d的值,选择用于对sig_flag、par_flag、gt1_flag和gt2_flag编解码的概率模型。基于sumabs和numsig的值选择用于使abs_remainder二值化的rice参数。
[0147]
2.3.1.2.依赖性量化(dq)
[0148]
此外,将同样的hevc标量量化与一种被称为依赖性标量量化的新的理念一起使用。依赖性标量量化是指一种方案,其中,变换系数的一组可容许的重建值依赖于在重建顺序中处于当前变换系数级之前的变换系数级的值。这一方案的主要作用在于,与hevc中使用的常规独立标量量化相比,在n维矢量空间(n表示变换块中的变换系数的数量)内更致密地填充可容许重建矢量。这意味着,对于给定的每一个n维单元体积的可容许重建矢量的平均数量而言,降低了输入矢量与最接近的重建矢量之间的平均失真。该依赖性标量量化方案是通过下述操作实现的:(a)定义两个具有不同重建级的标量量化器以及(b)定义用于在两个标量量化器之间切换的处理。
[0149]
图10是在所提出的依赖性量化方案中使用的两个标量量化器的图示。
[0150]
在图10中示出了通过q0和q1表示的所使用的两个标量量化器。通过量化步长尺寸δ唯一地规定可用重建级的位置。所使用的标量量化器(q0或q1)未在比特流中显式信令通知。相反,通过按照编解码/重建顺序处于当前变换系数之前的变换系数级的奇偶性确定用于当前变换系数的量化器。
[0151]
图11示出了所提出的依赖性量化的状态转换和量化器选择的示例。
[0152]
如图11所示,通过具有四个状态的状态机实现两个标量量化器(q0和q1)之间的切换。状态可以采用四个不同值:0、1、2、3。其由按照编解码/重建顺序处于当前变换系数之前的变换系数级的奇偶性唯一地确定。在对变换块的反量化开始时,状态被设置为0。按照扫描顺序(即,按照它们被熵解码的相同顺序)重建变换系数。在重建当前变换系数之后,对状态进行更新,如图11所示,其中,k表示变换系数级的值。
[0153]
2.3.2.ts-编解码块和qr-bdpcm编解码块的系数编解码
[0154]
qr-bdpcm跟随对ts-编解码块的上下文建模方法之后。
[0155]
2.3.2.1.级别映射和重新映射
[0156]
如果在当前编解码单元中未应用rdpcm,那么将绝对系数级abscoefflevel映射至将通过下述方法被编解码的经修改的级别,该方法取决于当前残差样点的左侧和上方的量化残差样点的值。令x0表示当前系数的左侧的绝对系数级,并且令x1表示上方系数的绝对系数级。对于采用绝对系数级abscoeff表示系数的情况,对经映射的abscoeffmod编解码,其推导如下:
[0157]
·
编码器侧的级别映射,其中,abscoeff是量化绝对系数,并且abscoeffmod是将在比特流中传输的系数:
[0158][0159]
·
解码器侧的级别重新映射,其中,abscoeffmod是来自比特流的解码值,并且abscoeff是将要用在反量化处理中的绝对系数:
[0160][0161][0162]
此外,通过下述利用上方邻近系数和左侧邻近系数(图12中的x0和x1)的信息的方法代替vtm5.0中的对abs_level_gt1_flag的上下文推导。如果在当前编解码单元中未应用rdpcm,那么在x0和x1两者为零的情况下使用上下文偏移量0,在两个邻近系数中只有一个非零的情况下使用上下文偏移量1,并且在x0和x1两者均非零的情况下使用上下文偏移量2。如果在当前编解码单元中应用了rdpcm,那么使用上下文偏移量3。
[0163]
2.3.2.2.符号上下文建模
[0164]
通过利用上方邻近系数和左侧邻近系数的符号信息来推导符号编解码上下文偏移量的以下方法来替代vtm5.0中的符号编解码上下文推导。
[0165]
图12示出了当前系数值x、邻近的左侧系数值x0和邻近的上方系数值x1的示例。
[0166]
x0是左侧邻近系数值,x1是上方邻近系数值,如图12中所示。如果在当前编解码单元中未应用rdpcm,那么在x0和x1两者均为零或者均非零但具有相反符号的情况下使用上下文偏移量0,在x0和x1两者均非负的情况下使用上下文偏移量1,并且在其他情况下使用上下文偏移量2。如果在当前编解码单元中应用rdpcm,那么在x0和x1两者均为零或者均非零但具有相反符号的情况下使用上下文偏移量3,在x0和x1两者均非负的情况下使用上下文偏移量4,并且在其他情况下使用上下文偏移量5。可以通过下表对此做出总结。
[0167][0168]
2.3.2.3.编解码趟
[0169]
用于ts残差的经修改的变换系数级编解码。如果cg含有非零系数,那么应用多趟对每一cg编解码。
[0170]
·
第一趟:如果需要的话,对大于0标志(sig_coeff_flag)、符号标志(coeff_sign_flag)、大于1标志(abs_level_gtx_flag[0])和奇偶性标志(par_level_flag)编解码
[0171]
·
第2趟到第5趟:
[0172]
o对于第j趟,对大于(2*j)标志(abs_level_gtx_flag[j-1])编解码
[0173]
·
第6趟:对该系数的幅度的剩余部分(abs_remainder)编解码
[0174]
2.3.2.4.相较于非ts残差编解码的变化总结
[0175]
相对于常规残差编解码情况,ts的残差编解码包括下述改变:
[0176]
1)不对最后的x/y位置进行信令通知
[0177]
2)在所有的先前标志都等于0时对除了最后子块之外的每一子块编解码coded_sub_block_flag;
[0178]
3)采用缩减模板的sig_coeff_flag上下文建模,
[0179]
4)为abs_level_gtx_flag[0]和par_level_flag的单个上下文模型,
[0180]
5)为符号标志以及附加的大于5标志、大于7标志、大于9标志的上下文建模,
[0181]
6)用于余数二值化的经修改的rice参数推导
[0182]
7)每一样点的上下文编解码二进制位的数量的极限,一个块内每一样点2个二进制位。
[0183]
2.3.2.5语法和语义
[0184]
7.3.8.10变换单元语法
[0185]
[0186][0187]
7.3.8.11残差编解码语法
[0188]
[0189]
[0190]
[0191][0192]
上下文编解码二进制位的数量局限于对于每cg而言每样点不大于2个二进制位。
[0193]
表格9-15

对具有上下文编解码二进制位的语法元素的ctxinc分配
[0194]
表格9-15

对具有上下文编解码二进制位的语法元素的ctxinc分配
[0195][0196]
2.4.hevc屏幕内容编解码扩展(hevc-scc)中的调色板模式
[0197]
2.4.1.调色板模式的概念
[0198]
调色板模式背后的基本理念在于,通过代表性颜色值的小集合来表示cu中的像素。这个集合被称为调色板。而且还有可能通过信令通知逸出符号和随后的(可能量化的)分量值,来指示调色板外部的样点。将这种像素称为逸出像素。在图13中例示了调色板模
式。如图13中所示,对于每一个具有三个颜色分量(亮度分量以及两个色度分量)的像素,找到对调色板的索引,并且可以基于在调色板中找到的值重建该块。在图13中,标有“x”的块表明输入块的那些区域具有处于调色板值0和1之间的样点值,并且标有“y”的块表明输入块的该区域具有处于调色板值3和4之间的样点值。
[0199]
图13示出了在调色板模式下编解码的块的示例。
[0200]
2.4.2.调色板条目的编解码
[0201]
为了对调色板条目进行编解码,保持调色板预测值。在sps中信令通知调色板的最大尺寸以及调色板预测值。在hevc-scc中,在pps中引入palette_predictor_initializer_present_flag。在这个标志为1时,在比特流中信令通知用于初始化调色板预测值的条目。在每个ctu行、每个条带和每个片的开始处对调色板预测值进行初始化。根据palette_predictor_initializer_present_flag的值,将调色板预测值重置为0,或者使用pps中信令通知的调色板预测值初始化器条目对其进行初始化。在hevc-scc中,启用尺寸为0的调色板预测值初始化器,以允许在pps级别上显式禁用调色板预测值初始化。
[0202]
对于调色板预测值中的每个条目,信令通知重复使用标志以指示它是否是当前调色板的一部分。在图14中示出了这种情况。使用零的游程长度编解码发送重复使用标志。在此之后,使用0阶指数哥伦布(eg)编解码(即eg-0)信令通知新调色板条目的数量。最后,信令通知新调色板条目的分量值。
[0203]
图14示出了使用调色板预测值信令通知调色板条目。
[0204]
2.4.3.调色板索引的编解码
[0205]
使用如图15所示的水平和垂直遍历扫描来对调色板索引编解码。使用palette_transpose_flag在比特流中显式地信令通知扫描顺序。对于本小节的剩余部分,假设扫描是水平的。
[0206]
图15示出了水平和垂直遍历扫描的示例。
[0207]
使用如下两种调色板样点模式对调色板索引进行编解码:“copy_left”和“copy_above”。在“copy_left”模式中,将调色板索引赋值给解码索引。在“copy_above”模式中,复制上方行中样点的调色板索引。对于“copy_left”和“copy_above”模式两者,信令通知游程值(run value),该游程值规定也使用相同模式编解码的后续样点的数量。
[0208]
在调色板模式下,用于逸出样点的索引的值是调色板条目的数量。而且,当逸出符号是“copy_left”或“copy_above”模式中游程的部分时,对每个逸出符号信令通知逸出分量值。图16中示出了调色板索引的编解码。
[0209]
如下完成这种语法顺序。首先,信令通知cu的索引值的数量。在此之后,使用截断二元编解码信令通知整个cu的实际索引值。索引数量和索引值都以旁路模式编解码。这样将索引相关的旁路二进制位群集到了一起。然后以交替方式信令通知调色板样点模式(如果必要)和游程。最后,将对应于整个cu的逸出样点的分量逸出值群集到一起并以旁路模式对其编解码。逸出样点的二值化是3阶eg编解码,即eg-3。
[0210]
在信令通知索引值之后,信令通知附加语法元素last_run_type_flag。这一语法元素结合索引数量,消除了对信令通知与块中最后游程相对应的游程值的需求。
[0211]
在hevc-scc中,还针对4:2:2、4:2:0和单色色度格式启用调色板模式。调色板条目和调色板索引的信令对于所有色度格式几乎相同。对于非单色格式,每个调色板条目由3个
分量构成。对于单色格式而言,每个调色板条目由单个分量构成。对于子采样色度方向,色度样点与可除以2的亮度样点索引相关联。在重建该cu的调色板索引之后,如果样点仅具有与其相关联的单个分量,则仅使用调色板条目的第一分量。信令中的仅有差异针对逸出分量值。对于每个逸出样点,根据与该样点相关联的分量数量,信令通知的逸出分量值的数量可以不同。
[0212]
此外,在调色板索引编解码中存在索引调整处理。在信令通知调色板索引时,左侧邻近索引或者上方邻近索引应当不同于当前索引。因此,通过去掉一种可能性可以使当前调色板索引的范围缩小1。而后,采用截断二元码(tb)二值化信令通知该索引。
[0213]
如下示出了与这一部分有关的文本,其中,currpaletteindex是当前调色板索引,并且adjustedrefpaletteindex是预测索引。
[0214]
变量paletteindexmap[xc][yc]规定调色板索引,其为对通过currentpaletteentries表示的阵列的索引。阵列索引xc、yc规定样点相对于该图片的左上亮度样点的位置(xc,yc)。paletteindexmap[xc][yc]的值必须处于0到maxpaletteindex(含端点)的范围内。
[0215]
如下推导变量adjustedrefpaletteindex:
[0216][0217]
当copyaboveindicesflag[xc][yc]等于0时,如下推导变量currpaletteindex:
[0218]
if(currpaletteindex》=adjustedrefpaletteindex)
[0219]
currpaletteindex
[0220]
2.4.4.vvc中的调色板模式
[0221]
2.4.4.1.双树中的调色板
[0222]
在vvc中,在对帧内条带编解码时使用双树结构,因而亮度分量和两个色度分量可以具有不同的调色板和调色板索引。此外,两个色度分量共享相同的调色板和调色板索引。
[0223]
2.4.4.2.作为单独模式的调色板
[0224]
在jvet-n0258和当前vtm中,用于编解码单元的预测模式可以是mode_intra、mode_inter、mode_ibc和mode_plt。相应地改变预测模式的二值化。
[0225]
在关闭ibc时,在i片上,采用第一个二进制位来指示当前预测模式是否是mode_plt。而在p/b片上,则采用第一二进制位指示当前预测模式是否是mode_intra。如果不是,那么采用一个附加的二进制位指示当前预测模式为mode_plt或mode_inter。
[0226]
在开启ibc时,在i片上,采用第一二进制位来指示当前预测模式是否是mode_ibc。如果不是,那么采用第二二进制位来指示当前预测模式是mode_plt还是mode_intra。而在p/b片上,则采用第一二进制位指示当前预测模式是否是mode_intra。如果其为帧内模式,那么采用第二二进制位指示当前预测模式为mode_plt或mode_intra。如果不是,那么采用第二二进制位来指示当前预测模式是mode_ibc或mode_inter。
[0227]
3.通过实施例解决的技术问题
[0228]
当前设计具有下述问题:
[0229]
1.级别映射/重新映射的当前设计将不允许解码后的系数等于零,因为总是执行重新映射处理。
[0230]
a.例如,如果解码后的abslevelpassx[xc][yc] abs_remainder[n]等于0,那么根据子条款7.3.8.11,即使解码后的有效(significant)标志等于0,transcoefflevel也将被重置为-1。
[0231]
b.同时,可能需要这样的编码器约束条件,即必须只对非零系数应用映射处理。否则,同一值“1”可能被按照不同方式解释,其要么被解释成等于0的系数,要么被解释成等于预测值的系数。
[0232]
2.对符号标志/大于一标志的上下文建模取决于两个空域邻居。然而,对于不同编解码块,与按照扫描顺序挨着当前块的那些块相比,相对于空域邻居的相关性可能较弱。
[0233]
3.调色板索引编解码纯粹基于来自上方样点或左侧样点的信息。上方邻居和左侧邻居两者之间的关系未得到很好利用。
[0234]
4.根据我们的分析,对于不同上下文,当前系数与邻近系数的相关性如下:
[0235]
表格5符号标志的上下文和概率相关性
[0236][0237]
可以看出,相同的二进制值根据不同上下文可以与不同概率相关联。在相关联的概率相对较低(例如,上下文偏移量等于2)时,上下文编解码二进制位的效率也较低。
[0238]
4.示例实施例和技术
[0239]
对以下项目的列举应被视为解释一般概念的示例。不应狭义地解释这些项目。此外,可以按照任何方式使这些项目相结合。
[0240]
在下文的讨论中,在单树编解码结构的情况下,cu可以包括与所有的三色分量相关联的信息。或者,在单色编解码的情况下,cu可以包括仅与亮度颜色分量相关联的信息。或者,在双树编解码结构的情况下,cu可以包括仅与亮度颜色分量(例如,ycbcr格式中的y分量或者gbr格式中的g分量)相关联的信息。或者,在双树编解码结构的情况下,cu可以包括仅与两个色度分量(例如,ycbcr中的cb和cr分量或者gbr格式中的b和r分量)相关联的信息。
[0241]
在下文的描述当中,“块”可以指编解码单元(cu)或变换单元(tu)或编解码块(cb)或变换块(tb)。
[0242]
与启用级别映射/重新映射有关的1.对于解码后的残差系数是否启用级别映射(在编码器侧)或级别重新映射(在解码器侧)处理可以取决于解码后的值是否不等于0。
[0243]
a.在一个示例中,当解码后的值(例如,abslevelpassx[xc][yc]或sig_coeff_flag[xc][yc]或abslevelpassx[xc][yc] abs_remainder[n])等于0时,跳过级别映射/重新映射处理。
[0244]
b.在一个示例中,根据解码后的值(例如,abslevelpassx[xc][yc]或sig_coeff_flag[xc][yc]或abslevelpassx[xc][yc] abs_remainder[n])不等于0的条件,调用级别映射/重新映射处理。
[0245]
c.在一个示例中,一致性比特流必须满足:在该量化值或者将在级别映射之前编解码的值等于0时,编解码后的有效性标志(例如sig_coeff_flag)必须等于0。
[0246]
2.是否启用级别映射(在编码器侧)或级别重新映射(在解码器侧)处理可以取决于当前块和/或邻近块(毗邻或非毗邻块)的解码后的残差信息。
[0247]
a.在一个示例中,除了当前块是采用非bdpcm ts模式编解码的这一条件之外即时推导是否应用级别重新映射。
[0248]
3.是否启用级别映射(在编码器侧)或级别重新映射(在解码器侧)处理可以取决于在视频单元中信令通知的边信息。
[0249]
a.在一个示例中,可以信令通知一个标志以指示应当对至少一个解码后的值重新映射,而后在将其用于重建当前块。
[0250]
b.在一个示例中,视频单元是ctu的子区域(例如,vpdu)/ctu/ctb/多个ctu/多个cu/ctu行/片/图块/条带/图片/子图片/序列/视图等。
[0251]
c.在一个示例中,可以在序列参数集/视图参数集/自适应参数集/图片参数集/图片标头/条带标头/cu/pu/tu/ctu/ctb等当中信令通知是否启用所提出的方法和/或如何启用所提出的方法。
[0252]
4.是否启用级别映射(在编码器侧)或级别重新映射(在解码器侧)处理可以取决于颜色格式/颜色分量。
[0253]
a.例如,可以只对亮度分量而不对色度分量应用级别映射(在编码器侧)或级别重新映射(在解码器侧)处理。
[0254]
b.例如,在颜色格式为4:2:0时,可以只对亮度分量而不对色度分量应用级别映射(在编码器侧)或级别重新映射(在解码器侧)处理。
[0255]
c.例如,在颜色格式为4:4:4或者使用单独颜色平面编解码时可以对所有颜色分量应用级别映射(在编码器侧)或级别重新映射(在解码器侧)处理。
[0256]
5.是否启用级别映射(在编码器侧)或级别重新映射(在解码器侧)处理可以取决于块维度w
×
h。
[0257]
a.例如,如果w*h》=t1或w*h》t1,那么不启用级别映射(编码器侧)或级别重新映射(解码器侧)处理。
[0258]
b.例如,如果w*h《=t1或w*h《t1,那么不启用级别映射(编码器侧)或级别重新映射(解码器侧)处理。
[0259]
c.例如,如果min(w,h)》=t1或min(w,h)》t1,那么不启用级别映射(编码器侧)或级别重新映射(解码器侧)处理。
[0260]
d.例如,如果max(w,h)《=t1或max(w,h)《t1,那么不启用级别映射(编码器侧)或级别重新映射(解码器侧)处理。
[0261]
e.例如,如果min(w,h)《=t1或min(w,h)《t1,那么不启用级别映射(编码器侧)或级别重新映射(解码器侧)处理。
[0262]
f.例如,如果max(w,h)》=t1或max(w,h)》t1,那么不启用级别映射(编码器侧)或级别重新映射(解码器侧)处理。
[0263]
g.例如,如果w》=t1并且h》=t2,那么不启用级别映射(编码器侧)或级别重新映射(解码器侧)处理。
[0264]
h.例如,如果w《=t1并且h《=t2,那么不启用级别映射(编码器侧)或级别重新映射(解码器侧)处理。
[0265]
i.在以上项目符号中t1和t2为整数。
[0266]
6.替代使用两个空域邻近解码系数(左侧或上方)来判定级别映射/重新映射处理中使用的预测值,提出了根据解码/扫描顺序使用一个或多个解码系数。
[0267]
a.在一个示例中,使用最新近的k个解码系数。
[0268]
b.在一个示例中,使用最新近的m(m》k)个解码系数中的k个解码系数。
[0269]
c.在一个示例中,k可以是预定义或信令通知的。
[0270]
d.在一个示例中,k可以是基于解码信息即时推导的。
[0271]
e.在一个示例中,k可以取决于已经解码了多少个系数。
[0272]
i.例如,已经解码了s个系数。之后,将k推导为k=min(s,m),其中,m是固定数值,例如2。
[0273]
与语法元素有关
[0274]
7.可以对语法元素进行编解码以指示视频单元内的绝对系数子集是否全部大于m的,其中,m为整数。
[0275]
a.在一个示例中,视频单元是系数群组(cg,例如,4
×
4)/变换块/变换单元/预测块/编解码块。
[0276]
b.在一个示例中,该子集是基于扫描顺序定义的。
[0277]
i.在一个示例中,该子集可以包括根据正向扫描顺序的前l个系数。
[0278]
ii.在一个示例中,该子集可以包括视频单元中的根据正向扫描顺序的最后l个系数或者根据解码顺序的前l个系数。
[0279]
c.在一个示例中,该子集是基于坐标定义的。
[0280]
i.在一个示例中,该子集可以包括矩形区域中的系数。
[0281]
ii.在一个示例中,该子集可以包括方形区域内的系数。
[0282]
d.在一个示例中,该子集是基于编解码模式信息/块维度定义的。
[0283]
i.在一个示例中,如果当前块是采用qr-bdpcm或者bdpcm的其他变型编解码的,并且是在垂直方向上预测的,那么将该子集定义为最顶部行中的那些。
[0284]
ii.在一个示例中,如果当前块是采用qr-bdpcm或者bdpcm的其他变型编解码的,并且是在水平方向上预测的,那么将该子集定义为最左侧列中的那些。
[0285]
e.在一个示例中,m等于0、1、2、3、4、5。
[0286]
与上下文建模有关
[0287]
8.该级别映射/重新映射概念也可以适用于其他非ts编解码块(例如,bdpcm编解码块)。
[0288]
a.替代性地,此外,只有对于处在所定义位置上的残差才应用该级别映射/重新映射处理。
[0289]
i.在一个示例中,所定义位置可以取决于预测方向。
[0290]
1)在一个示例中,对于垂直预测方向,可以对位于第一行的残差映射/重新映射。
[0291]
2)在一个示例中,对于水平预测方向,可以对位于第一列的残差映射/重新映射。
[0292]
b.替代性地,此外,只有对未被预测编解码的残差才应用级别映射/重新映射处理。
[0293]
i.在一个示例中,对于垂直预测方向,可以对位于第一行的残差映射/重新映射。
[0294]
ii.在一个示例中,对于水平预测方向,可以对位于第一列的残差映射/重新映射。
[0295]
9.可以利用该级别映射/重新映射处理对调色板模式中的调色板索引或逸出符号编解码进行编解码。
[0296]
a.在一个示例中,基于先前编解码的调色板索引的最大值,可以在编码器侧对该调色板索引进行映射并且在解码器侧对该调色板索引进行重新映射。
[0297]
b.在一个示例中,可以对所有调色板编解码块调用该映射和重新映射处理。
[0298]
i.替代性地,可以在某些条件下调用它们。
[0299]
10.提出了在上下文建模处理中使用函数f(a0,a1,

,),其中,参数ai表示先前编解码的系数/调色板索引等。
[0300]
a.在一个示例中,可以将函数f定义为max或min函数。
[0301]
b.参数ai可以是覆盖当前样点/系数和一些邻居(毗邻或非毗邻)的模板中的那些。
[0302]
i.在一个示例中,对于调色板索引编解码,可以基于函数f利用左侧和上方调色板索引来对索引进行编解码。
[0303]
c.参数ai可以按照相对于当前样点/系数的扫描/解码顺序的那些。
[0304]
11.替代使用两个空域邻近解码系数(左侧或上方)对符号标志或其他语法元素的编解码进行上下文建模,提出了根据解码/扫描顺序使用一个或多个解码系数。
[0305]
a.在一个示例中,使用最新近的k(例如,k=2)个解码系数。
[0306]
b.在一个示例中,使用最新近的m(m》k)个解码系数中的k个解码系数。
[0307]
c.在一个示例中,k可以是预定义或信令通知的。
[0308]
d.在一个示例中,k可以是基于解码信息即时推导的。
[0309]
e.在一个示例中,k可以取决于已经解码了多少个系数。
[0310]
i.例如,已经解码了s个系数。之后,将k推导为k=min(s,m),其中,m是固定数值,例如2。
[0311]
12.替代使用两个空域邻近解码系数(左侧或上方)对符号标志或其他语法元素的编解码进行上下文建模,提出了根据预测方向使用一个或多个解码系数。
[0312]
a.在一个示例中,对于采用垂直预测方向的bdpcm编解码块,可以使用同一列中的先前解码的系数。
[0313]
b.在一个示例中,对于采用水平预测方向的bdpcm编解码块,可以使用同一行中的先前解码的系数。
[0314]
c.在一个示例中,对于采用垂直预测方向的bdpcm编解码块,可以使用同一行中的先前解码的系数。
[0315]
d.在一个示例中,对于采用水平预测方向的bdpcm编解码块,可以使用同一列中的先前解码的系数。
[0316]
13.替代采用相同二值化(例如,“0”指示正值,并且“1”指示负值)对符号标志编解码,提出了动态设置符号值(即,可以将解码后的二进制值解释为不同语义),例如,其基于来自邻近块的信息或者基于所选的上下文。
[0317]
a.在一个示例中,在编码器侧,待编解码的二进制值是基于当前系数的符号信息是否与先前编解码的系数的符号信息中的大多数相同。
[0318]
b.在一个示例中,如果所选的上下文表示大多数邻居为负(例如,假定检查了两个邻居并且如果两个邻居都为负,或者如果一个为负并且另一个等于零),那么等于“1”的解码二进制位可以指示正值,并且“0”指示负值。
[0319]
i.替代性地,此外,如果所选的上下文表示大多数邻居为正(例如,假定检查了两个邻居并且如果两个邻居都为正,或者如果一个为正并且另一个等于零),那么等于“0”的解码二进制位可以指示正值,并且“1”可以指示负值。
[0320]
c.在一个示例中,如果所选的上下文表示大多数邻居为负(例如,假定检查了两个邻居并且如果两个邻居都为负,或者如果一个为负并且另一个等于零),那么等于“0”的解码二进制位可以指示正值,并且“1”指示负值。
[0321]
i.替代性地,此外,如果所选的上下文表示大多数邻居为正(例如,假定检查了两个邻居并且如果两个邻居都为正,或者如果一个为正并且另一个等于零),那么等于“1”的解码二进制位可以指示正值,并且“0”可以指示负值。
[0322]
大致用法
[0323]
14.可以在视频单元级别内信令通知是否启用所提出方法和/或将应用哪些项目符号的指示。
[0324]
a.在一个示例中,视频单元可以是片/图块/条带/图片/子图片/序列/视图等。
[0325]
b.在一个示例中,可以在序列参数集/视图参数集/自适应参数集/图片参数集/图片标头/条带标头当中信令通知是否启用所提出的方法和/或如何启用所提出的方法。
[0326]
c.在一个示例中,可以通过其他语法元素(例如,用于指示视频内容是否是屏幕内
容的一个语法元素)来控制是否启用所提出的方法和/或如何启用所提出的方法。
[0327]
15.是否启用所提出的方法和/或如何启用所提出的方法可以取决于编解码信息,例如,块维度、条带类型/图片类型/时域层索引/视频内容/颜色分量/分割树类型/编解码模式/变换信息等。
[0328]
d.在一个示例中,对于宽度不大于t1并且高度不大于t2的块,可以应用所提出的方法。
[0329]
e.在一个示例中,对于宽度不大于t1或者高度不大于t2的块,可以应用所提出的方法。
[0330]
f.在一个示例中,对于宽度乘以高度不大于t3的块,可以应用所提出的方法。
[0331]
出于说明目的描述了使用以上列举的技术的一些实施例。
[0332]
5.实施例
[0333]
5.1实施例#1
[0334]
这一实施例示出了是否启用级别重新映射处理取决于解码值(例如,abslevelpassx[xc][yc]或sig_coeff_flag[xc][yc]或(abslevelpassx[xc][yc] abs_remainder[n]))不等于0。
[0335]
通过粗斜体文本突出表示与vvc wd相比的变化。
[0336]
7.3.8.11残差编解码语法
[0337]
[0338]
[0339]
[0340][0341]
图17是视频处理装置1700的框图。装置1700可以用于实施本文描述的方法中的一个或多个。装置1700可以被体现到智能手机、平板电脑、计算机、物联网(iot)接收器等当中。装置1700可以包括一个或多个处理器1702、一个或多个存储器1704以及视频处理硬件1706。(多个)处理器1702可以被配置为实施本文件中描述的一种或多种方法。(多个)存储器1704可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件1706可以用于在硬件电路中实施本文件中描述的一些技术。在一些实施例中,视频处理硬件1706可以至少部分地处于处理器1702(例如,图形协处理器)内。
[0342]
可以实施以下解决方案作为一些实施例中的优选解决方案。
[0343]
可以将下述解决方案与先前章节中列举的项目(例如,项目1)当中描述的附加技术一起实施。
[0344]
1.一种视频处理方法(例如,图18中所示的方法1800),包括:确定(1802)是否满足与为视频的当前块与比特流表示之间的转换启用级别重计算有关的条件;执行(1804)该转换,其中,基于该确定选择性地使用该级别重计算,其中,该级别重计算包括在该转换期间使用的当前块的残差系数的第一表示和残差系数的第二表示之间变化。
[0345]
2.根据解决方案1所述的方法,其中,该条件取决于在该转换期间的残差系数的解码值。
[0346]
3.根据解决方案2所述的方法,其中,该条件是该残差系数的解码值不等于零。
[0347]
4.根据解决方案2所述的方法,其中,该条件是该残差系数的解码值等于零。
[0348]
5.根据解决方案4所述的方法,还包括由于不满足该条件而禁用级别重计算。
[0349]
可以将下述解决方案与先前章节中列举的项目(例如,项目2)当中描述的附加技术一起实施。
[0350]
6.根据解决方案1所述的方法,其中,该条件取决于在该转换期间使用的当前块的编解码模式。
[0351]
可以将下述解决方案与先前章节中列举的项目(例如,项目3)当中描述的附加技术一起实施。
[0352]
7.根据解决方案1所述的方法,其中,该条件基于在该转换当中使用的关于当前块的边信息。
[0353]
8.根据解决方案7所述的方法,其中,该边信息包括信令通知为当前块的转换启用级别重计算的语法元素。
[0354]
9.根据解决方案8所述的方法,其中,在视频区域级上包括该语法元素,其中,该视频区域包括当前块。
[0355]
10.根据解决方案9所述的方法,其中,该视频区域包括该视频的单一编解码树单
元或多个编解码单元或行或片或图块或条带或图片或子图片或序列或视图。
[0356]
可以将下述解决方案与先前章节中列举的项目(例如,项目4)当中描述的附加技术一起实施。
[0357]
11.根据解决方案1-10中的任何解决方案所述的方法,其中,该条件还取决于当前块所属的视频的颜色格式或颜色分量。
[0358]
12.根据解决方案11所述的方法,其中,该条件是对亮度块启用级别重计算并且对色度块禁用级别重计算。
[0359]
13.根据解决方案11或12所述的方法,其中,该条件是只对4:4:4格式启用级别重计算。
[0360]
可以将下述解决方案与先前章节中列举的项目(例如,项目5)当中描述的附加技术一起实施。
[0361]
14.根据解决方案1-13中的任何解决方案所述的方法,其中,该条件基于当前块的维度。
[0362]
15.根据解决方案14所述的方法,其中,当前块的维度包括高度h和宽度w,并且其中,该条件是由于当前块满足w*h》=t1而禁用级别重计算,其中,t1为整数。
[0363]
16.根据解决方案14所述的方法,其中,当前块的维度包括高度h和宽度w,并且其中,该条件是由于当前块满足w*h》=t1而启用级别重计算,其中,t1为整数。
[0364]
17.根据解决方案14所述的方法,其中,当前块的维度包括高度h和宽度w,并且其中,该条件是由于min(w,h)》=t1而禁用级别重计算,其中,t1为整数。
[0365]
18.根据解决方案14所述的方法,其中,当前块的维度包括高度h和宽度w,并且其中,该条件是由于min(w,h)》=t1而启用级别重计算,其中,t1为整数。
[0366]
可以将下述解决方案与先前章节中列举的项目(例如,项目6)当中描述的附加技术一起实施。
[0367]
19.一种视频处理方法,包括:满足确定为视频的当前块与比特流表示之间的转换执行级别重计算,其中,该级别重计算包括在该转换期间使用的当前块的残差系数的第一表示和所述残差系数的第二表示之间变化;基于规则确定在该级别重计算期间被用作预测值的一个或多个解码系数;以及使用该一个或多个解码系数执行该转换。
[0368]
20.根据解决方案19所述的方法,其中,该规则规定该一个或多个解码系数的数量和/或身份。
[0369]
21.根据解决方案20所述的方法,其中,该规则规定使用最新近的k个解码系数,其中,k为整数。
[0370]
22.根据解决方案21所述的方法,其中,通过语法元素在该编解码表示中信令通知k。
[0371]
23.根据解决方案21所述的方法,其中,不在该编解码表示中信令通知k。
[0372]
24.根据解决方案21所述的方法,其中,k可基于当前块的转换的状态确定。
[0373]
可以将下述解决方案与先前章节中列举的项目(例如,项目7)当中描述的附加技术一起实施。
[0374]
25.一种视频处理方法,包括:为视频的当前块与编解码表示之间的转换,确定与当前块相对应的视频单元的绝对系数子集是否全部大于m,其中,m为整数;以及基于该确定
执行该转换。
[0375]
26.根据解决方案25所述的方法,其中,该视频单元是当前块的系数群组。
[0376]
27.根据解决方案25所述的方法,其中,该视频单元是当前块的变换块或预测块或编解码块。
[0377]
28.根据解决方案25-27中的任何解决方案所述的方法,其中,该子集基于在该转换中使用的系数的扫描顺序。
[0378]
29.根据解决方案25-28中的任何解决方案所述的方法,其中,该子集基于构成该视频单元的像素的坐标。
[0379]
30.根据解决方案25-29中的任何解决方案所述的方法,其中,该子集基于当前块的编解码模式。
[0380]
31.根据解决方案25-30中的任何解决方案所述的方法,其中,该子集基于当前块的维度。
[0381]
32.根据解决方案25-31中的任何解决方案所述的方法,其中,m为零。
[0382]
33.根据解决方案25-31中的任何解决方案所述的方法,其中,m为一。
[0383]
可以将下述解决方案与先前章节中列举的项目(例如,项目8)当中描述的附加技术一起实施。
[0384]
34.一种视频处理方法,包括:确定是否满足与为视频的当前块与比特流表示之间的转换启用级别重计算有关的规则,其中,该转换使用块差分脉冲编解码调制(bdpcm)编解码工具;执行该转换,其中,基于该确定选择性地使用该级别重计算,其中,该级别重计算包括在该转换期间使用的当前块的残差系数的第一表示和残差系数的第二表示之间变化。
[0385]
35.根据解决方案34所述的方法,其中,该规则规定仅对残差块的特定位置执行级别重计算。
[0386]
36.根据解决方案34所述的方法,其中,该规则规定只对当前块的非预测编解码的残差系数应用级别重计算。
[0387]
可以将下述解决方案与先前章节中列举的项目(例如,项目9)当中描述的附加技术一起实施。
[0388]
37.一种视频处理方法,包括:确定是否满足与为视频的当前块与比特流表示之间的转换启用级别重计算有关的规则,其中,该转换基于调色板编解码模式;执行该转换,其中,基于该确定选择性地使用该级别重计算,其中,该级别重计算包括在该转换期间在调色板索引或逸出符号的第一表示和调色板索引或逸出符号的第二表示之间变化。
[0389]
38.根据解决方案37所述的方法,其中,该规则还规定该级别重计算基于对先前块执行的级别重计算。
[0390]
可以将下述解决方案与先前章节中列举的项目(例如,项目10)当中描述的附加技术一起实施。
[0391]
39.根据解决方案1-38中的任何解决方案所述的方法,其中,该转换还使用上下文建模函数f(a0,a1,

,),其中,参数ai表示调色板索引的先前编解码系数。
[0392]
40.根据解决方案39所述的方法,其中,参数ai的顺序是根据当前块使用的扫描顺序。
[0393]
可以将下述解决方案与先前章节中列举的项目(例如,项目11、12)当中描述的附
加技术一起实施。
[0394]
41.一种视频处理方法,包括:确定当前块与当前块的比特流表示之间的转换基于变换跳过模式,在该变换跳过模式中跳过对当前块的系数的变换操作;基于系数和规则确定该转换的上下文模型;以及基于该上下文模型并且使用该变换跳过模式执行该转换。
[0395]
42.根据解决方案41所述的方法,其中,该规则规定使用系数的解码或扫描顺序来确定该上下文模型。
[0396]
43.根据解决方案42所述的方法,其中,该规则规定使用最新近的k个解码系数。
[0397]
44.根据解决方案41所述的方法,其中,该规则规定使用系数的预测方向来确定该上下文模型。
[0398]
可以将下述解决方案与先前章节中列举的项目(例如,项目13)当中描述的附加技术一起实施。
[0399]
45.根据解决方案1-44中的任何解决方案所述的方法,其中,使用语法元素在该编解码表示中信令通知该方法的使用。
[0400]
46.根据解决方案45所述的方法,其中,将该语法元素被包含在序列参数集、视图参数集、自适应参数集、图片参数集、图片标头或条带标头处。
[0401]
可以将下述解决方案与先前章节中列举的项目(例如,项目14)当中描述的附加技术一起实施。
[0402]
47.根据解决方案1-46中的任何解决方案所述的方法,其中,基于编解码条件选择性地使用该方法。
[0403]
48.根据解决方案47所述的方法,其中,该编解码条件是编解码信息或块维度或条带类型或图片类型或时域层索引或视频内容或颜色分量或分割树类型或编解码模式或变换信息。
[0404]
49.根据解决方案1到48中的任何解决方案所述的方法,其中,该转换包括将视频编码成编解码表示。
[0405]
50.根据解决方案1到48中的任何解决方案所述的方法,其中,该转换包括对编解码表示解码,以生成该视频的像素值。
[0406]
51.一种视频解码装置,包括处理器,该处理器被配置为实施根据解决方案1到50中的一者或多者所述的方法。
[0407]
52.一种视频编码装置,包括处理器,该处理器被配置为实施根据解决方案1到50中的一者或多者所述的方法。
[0408]
53.一种其上存储有计算机代码的计算机程序产品,代码在被处理器执行时使得该处理器实施根据解决方案1到50中的任何解决方案所述的方法。
[0409]
54.本文件中描述的方法、装置或系统。
[0410]
所公开技术的一些实施例包括作出启用视频处理工具或模式的判定或决定。在一个示例中,当视频处理工具或模式被启用时,编码器将在视频块的处理中使用或实施该工具或模式,但不一定基于该工具或模式的使用来修改所得的比特流。也就是说,当基于判定或决定启用视频处理工具或模式时,从视频块到视频的比特流表示的转换将使用该视频处理工具或模式。在另一示例中,当视频处理工具或模式被启用时,解码器将在知道已经基于视频处理工具或模式修改了比特流的情况下处理比特流。也就是说,将使用基于判定或决
定而启用的视频处理工具或模式来执行从视频的比特流表示到视频块的转换。
[0411]
所公开技术的一些实施例包括作出禁用视频处理工具或模式的判定或决定。在一个示例中,当视频处理工具或模式被禁用时,编码器在将视频块转换为视频的比特流表示中将不使用该工具或模式。在另一示例中,当视频处理工具或模式被禁用时,解码器将在知道并未使用基于判定或决定禁用的视频处理工具或模式对比特流做出修改的情况下处理比特流。
[0412]
图21是示出了可以利用本公开的技术的示例性视频编解码系统100的框图。如图21中所示,视频编解码系统100可以包括源设备110和目标设备120。可以被称为视频编码设备的源设备110生成编码视频数据。可以被称为视频解码设备的目标设备120可以对源设备110生成的编码视频数据解码。源设备110可以包括视频源112、视频编码器114和输入/输出(i/o)接口116。
[0413]
视频源112可以包括诸如视频捕获设备的源、从视频内容提供商接收视频数据的接口、和/或为生成视频数据的计算机图形系统、或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关数据。编解码图片是图片的编解码表示。相关数据可以包括序列参数集、图片参数集和其他语法结构。i/o接口116可以包括调制器/解调器(调制解调器)和/或发射器。编码的视频数据可以通过网络130a经由i/o接口116直接传输到目标设备120。编码的视频数据也可以存储在存储介质/服务器130b上,以供目标设备120访问。
[0414]
目标设备120可以包括i/o接口126、视频解码器124和显示设备122。
[0415]
目标设备120可以包括i/o接口126、视频解码器124和显示设备122。
[0416]
i/o接口126可以包括接收器和/或调制解调器。i/o接口126可以从源设备110或存储介质/服务器130b获取编码的视频数据。视频解码器124可以解码编码的视频数据。显示设备122可以向用户显示解码的视频数据。显示设备122可以与目标设备120集成,或者可以在目标设备120的外部,目标设备120被配置为与外部显示设备接口。
[0417]
视频编码器114和视频解码器124可以根据视频压缩标准操作,诸如高效视频编解码(hevc)标准、通用视频编解码(vvm)标准和其他当前和/或进一步的标准。
[0418]
图22是示出视频编码器200的示例的框图,视频编码器200可以是图21所示的系统100中的视频编码器114。
[0419]
视频编码器200可以被配置成执行本公开的任何或所有技术。在图22的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
[0420]
视频编码器200的功能组件可以包括分割单元201、可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206的预测单元202、残差生成单元207、变换单元208、量化单元209、反量化单元210、逆变换单元211、重建单元212、缓冲器213和熵编码单元214。
[0421]
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块拷贝(intra block copy,ibc)单元。ibc单元可以在ibc模式下执行预测,在ibc模式下,至少一个参考图片是当前视频块所在的图片。
[0422]
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以是高度集成的,但是为了解释的目的,在图18的示例中单独表示。
[0423]
分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
[0424]
模式选择单元203可以例如基于误差结果选择帧内或帧间编解码模式之一,并将所得的帧内或帧间编解码块提供给残差生成单元207以生成残差块数据,并提供给重建单元212以重建编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测组合(ciip)模式,在ciip模式下,预测是基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以为块选择运动矢量的分辨率(例如,子像素或整数像素精度)。
[0425]
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可以基于运动信息和来自缓冲器213的除了与当前视频块相关联的图片之外的图片的解码样点来确定当前视频块的预测视频块。
[0426]
运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,例如,取决于当前视频块是在i条带中、p条带中还是在b条带中。
[0427]
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以为当前视频块的参考视频块搜索列表0或列表1的参考图片。运动估计单元204然后可以生成指示包含参考视频块的列表0或列表1中的参考图片的参考索引和指示当前视频块和参考视频块之间的空间位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
[0428]
在其他示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以为当前视频块的参考视频块搜索列表0中的参考图片,并且还可以为当前视频块的另一个参考视频块搜索列表1中的参考图片。运动估计单元204然后可以生成指示包含参考视频块的列表0和列表1中的参考图片的参考索引以及指示参考视频块和当前视频块之间的空间位移的运动矢量。运动估计单元204可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
[0429]
在一些示例中,运动估计单元204可以输出完整的运动信息集,用于解码器的解码处理。
[0430]
在一些示例中,运动估计单元204可能不输出当前视频的完整的运动信息集。相反,运动估计单元204可以参考另一视频块的运动信息信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
[0431]
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示一个值,该值向视频解码器300指示当前视频块具有与另一视频块相同的运动信息。
[0432]
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中识别另一视频块和运动矢量差值(mvd)。运动矢量差值指示当前视频块的运动矢量和所指示的视频块的运动矢量之间的差值。视频解码器300可以使用所指示的视频块的运动矢量和运
动矢量差值来确定当前视频块的运动矢量。
[0433]
如上所述,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实施的预测信令通知技术的两个示例包括高级运动矢量预测(advanced motion vector predication,amvp)和merge模式信令通知。
[0434]
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中的其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
[0435]
残差生成单元207可以通过从当前视频块中减去(例如,由减号表示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样点的不同样点分量的残差视频块。
[0436]
在其他示例中,例如在跳过模式中,当前视频块可能没有当前视频块的残差数据,并且残差生成单元207可能不执行减去操作。
[0437]
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来为当前视频块生成一个或多个变换系数视频块。
[0438]
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(quantization parameter,qp)值来量化与当前视频块相关联的变换系数视频块。
[0439]
反量化单元210和逆变换单元211可以分别对变换系数视频块应用反量化和逆变换,以从变换系数视频块重建残差视频块。重建单元212可以将重建的残差视频块添加到由预测单元202生成的一个或多个预测视频块的相应样点,以产生与当前块相关联的重建视频块,用于存储在缓冲器213中。
[0440]
在重建单元212重建视频块之后,可以执行环路滤波操作来减少视频块中的视频块伪影。
[0441]
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收到数据时,熵编码单元214可以执行一个或多个熵编码操作以生成熵编码数据,并输出包括熵编码数据的比特流。
[0442]
图19是示出视频解码器300的示例的框图,视频解码器300可以是图21所示的系统100中的视频解码器114。
[0443]
视频解码器300可以被配置为执行本公开的任何或所有技术。在图19的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
[0444]
在图19的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、反量化单元304、逆变换单元305以及重建单元306和缓冲器307。在一些示例中,视频解码器300可以执行通常与视频编码器200(图22)描述的编码过程相反的解码过程。
[0445]
熵解码单元301可以获取编码比特流。该编码比特流可以包括熵编解码的视频数据(例如,视频数据的编码块)。熵解码单元301可以解码熵编解码的视频数据,并且根据熵解码的视频数据,运动补偿单元302可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元302可以例如通过执行amvp和merge模式来
确定这样的信息。
[0446]
运动补偿单元302可以产生运动补偿块,可能基于插值滤波器执行插值。要以亚像素精度使用的插值滤波器的标识符可以包括在语法元素中。
[0447]
运动补偿单元302可以使用视频编码器20在视频块编码期间使用的插值滤波器来计算参考块的亚整数像素的插值。运动补偿单元302可以根据接收的语法信息确定视频编码器200使用的插值滤波器,并使用插值滤波器来产生预测块。
[0448]
运动补偿单元302可以使用一些语法信息来确定用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸、描述编码视频序列的图片的每个宏块如何被分割的分割信息、指示每个分区如何被编码的模式、每个帧间编码块的一个或多个参考帧(和参考帧列表)以及对编码视频序列进行解码的其他信息。
[0449]
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空间毗邻的块形成预测块。反量化单元303对在比特流中提供并由熵解码单元301解码的量化视频块系数进行反量化,即,解量化。逆变换单元303应用逆变换。
[0450]
重建单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的相应预测块相加,以形成解码块。如果需要,还可以应用去块滤波器来滤波解码的块,以便去除成块效应(blockiness artifacts)。解码的视频块然后被存储在缓冲器307中,缓冲器307为随后的运动补偿/帧内预测提供参考块,并且还产生解码的视频以在显示设备上呈现。
[0451]
在本文件中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示到相应比特流表示的转换期间应用,反之亦然。当前视频块的比特流表示或编解码表示可以例如对应于比特流中的并置或分布在不同位置的比特,如语法所定义的。例如,视频块可以根据变换和编解码误差残余值来编码,并且还可以使用比特流中的标头和其他字段中的比特来编码。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上解决方案中所述。类似地,编码器可以确定是否包括某些语法字段,并通过从编解码表示中包括或排除语法字段来相应地生成编解码表示。
[0452]
图20是示出其中可以实施本文公开的各种技术的示例视频处理系统2000的框图。各种实施方式可以包括系统2000的一些或全部组件。系统2000可以包括用于接收视频内容的输入2002。视频内容可以以原始或未压缩格式接收,例如8或10比特多分量像素值,或者可以以压缩或编码格式接收。输入2002可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(passive optical network,pon)等的有线接口和诸如wi-fi或蜂窝接口的无线接口。
[0453]
系统2000可以包括编解码组件2004,其可以实施本文档中描述的各种编解码或编码方法。编解码组件2004可以降低从输入2002到编解码组件2004的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件2004的输出可以被存储,或者经由连接的通信(如由组件2006表示的)传输。组件2008可以使用存储的或在输入2002处接收的视频的通信传送的比特流(或编解码)表示来生成发送到显示接口2010的像素值或可显示视频。从比特流表示生成用户可观看的视频的过程有时被称为视频解压缩。此外,虽然特定视频处理操作被称为“编解码”操作或工具,但是应当理解,编解码工具或操作在编码器处使用,并且将由解码器来执行反转编解码结果
的对应的解码工具或操作。
[0454]
外围总线接口或显示接口的示例可以包括通用串行总线(usb)或高清晰度多媒体接口(hdmi)或显示端口(displayport)等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文档中描述的技术可以体现在各种电子设备中,诸如移动电话、膝上型计算机、智能手机或能够执行数字数据处理和/或视频显示的其他设备。
[0455]
图23示出了一种视频处理方法2300,其包括:为视频的当前块与视频的比特流表示之间的转换,基于规则确定(2302)是否启用级别映射操作或级别重新映射操作,其中,级别映射操作或级别重新映射操作包括基于当前块的残差系数的邻近残差系数在当前块的残差系数的第一表示和当前块的残差系数的第二表示之间变化;以及基于该确定通过选择性地使用该级别映射操作或级别重新映射操作而执行(2304)该转换。
[0456]
图24示出了一种视频处理方法2400,其包括:基于规则确定(2402)在级别映射操作或级别重新映射操作期间被用作预测值的一个或多个先前解码的系数,其中,该级别映射操作或级别重新映射操作包括基于当前块的残差系数的邻近残差系数在当前块的残差系数的第一表示和当前块的残差系数的第二表示之间变化,其中,根据解码顺序或扫描顺序使用该一个或多个先前解码的系数;以及使用该一个或多个先前解码的系数执行(2404)视频的当前块和该视频的比特流表示之间的转换。
[0457]
图25示出了一种视频处理方法2500,其包括:执行(2502)视频的当前块与该视频的比特流表示之间的转换,其中,该比特流表示符合格式规则,该格式规则规定在该比特流中包括语法元素以指示当前块的视频单元的系数子集的的绝对值大于m的语法元素,其中,m为整数。
[0458]
下文的章节描述了具有下述编号的示例性视频处理技术:
[0459]
1.一种视频处理方法,包括:为视频的当前块与视频的比特流表示之间的转换,基于规则确定是否启用级别映射操作或级别重新映射操作,其中,级别映射操作或级别重新映射操作包括基于当前块的残差系数的邻近残差系数在当前块的残差系数的第一表示和当前块的残差系数的第二表示之间变化;以及基于确定通过选择性地使用级别映射操作或级别重新映射操作执行转换。
[0460]
2.根据示例1所述的方法,其中,该规则规定是否启用级别映射操作或者级别重新映射操作基于残差系数的解码值或者残差系数的信令通知值是否不等于零。
[0461]
3.根据示例1所述的方法,其中,该规则规定响应于该残差系数的解码值或者该残差系数的信令通知值等于零而禁用级别映射操作或者级别重新映射操作。
[0462]
4.根据示例2或3中的任何一项所述的方法,其中,该残差系数的解码值或者该残差系数的信令通知值包括该比特流表示中的有效系数标志的值,其指示该残差系数是否具有大于零的绝对级。
[0463]
5.根据示例2或3中的任何示例所述的方法,其中,该残差系数的解码值或者该残差系数的信令通知值包括系数级的绝对值。
[0464]
6a.根据示例2或3中的任何示例所述的方法,其中,该残差系数的解码值或者该残差系数的信令通知值包括该残差系数的系数级的第一绝对值以及该残差系数的幅度的余数的第二绝对值的组合。
[0465]
6b.根据示例2或3中的任何示例所述的方法,其中,该残差系数的解码值或者该残
差系数的信令通知值包括该残差系数的幅度的余数。
[0466]
7.根据示例1所述的方法,其中,当该残差系数的量化值或者将在应用该级别映射操作之前被编解码的该残差系数的值等于零时,在该比特流表示中指示的有效系数标志等于零,并且其中,该有效系数标志指示该残差系数是否具有大于零的绝对级。
[0467]
8.根据示例1所述的方法,其中,该规则规定是否启用级别映射操作或者级别重新映射操作取决于当前块的或者当前块的邻近块的解码残差信息。
[0468]
9.根据示例8所述的方法,其中,该邻近块是位于与当前块毗邻的位置上的毗邻邻近块,或者其中,该邻近块是不与当前块毗邻的非毗邻邻近块。
[0469]
10.根据示例8所述的方法,其中,该规则规定是否启用级别映射操作或者级别重新映射操作可基于在该转换期间使用的当前块的编解码模式确定。
[0470]
11.根据示例10所述的方法,其中,该编解码模式包括非块差分脉冲编解码调制(非bdpcm)变换跳过(ts)模式,在该模式中,跳过对当前块的残差系数的变换操作。
[0471]
12.根据示例1所述的方法,其中,该规则规定是否启用级别映射操作或者级别重新映射操作基于当前块的边信息,并且其中,在包括当前块的视频区域级内信令通知该边信息。
[0472]
13.根据示例12所述的方法,其中,该边信息与信令通知是否为当前块的转换启用级别映射操作或者级别重新映射操作的语法元素相关联。
[0473]
14.根据示例12所述的方法,其中,该视频区域级别包括编解码树单元(ctu)的子区域。
[0474]
15.根据示例14所述的方法,其中,所述的编解码树单元(ctu)的子区域包括该视频的虚拟流水线数据单元(vpdu)、单一编解码树单元(ctu)、编解码树块(ctb)、多重编解码树单元(ctu)、多个编解码单元(cu)、编解码树单元(ctu)行、片、图块、条带、图片、子图片、序列或者视图。
[0475]
16.根据示例12所述的方法,其中,在该比特流表示当中在该视频的序列参数集、视图参数集、自适应参数集、图片参数集、图片标头、条带标头、编解码单元(cu)、图片单元(pu)、变换单元(tu)、编解码树单元(ctu)或编解码树块(ctb)中指示是否启用所述级别映射操作或级别重新映射操作。
[0476]
17.根据示例1所述的方法,其中,该规则规定是否启用级别映射操作或者级别重新映射操作基于当前块所属的视频的颜色格式或颜色分量。
[0477]
18.根据示例17所述的方法,其中,该规则规定对亮度块启用级别映射操作或级别重新映射操作,并且对色度块禁用级别映射操作或级别重新映射操作。
[0478]
19.根据示例17所述的方法,其中,该规则规定在该视频的颜色格式为4:2:0格式时,对亮度块启用级别映射操作或级别重新映射操作,并且对色度块禁用级别映射操作或级别重新映射操作。
[0479]
20.根据示例17所述的方法,其中,该规则规定在该视频的颜色格式为4:4:4格式时或者当在该转换期间使用单独颜色平面编解码模式时,对所有颜色分量启用级别映射操作或级别重新映射操作。
[0480]
21.根据示例1所述的方法,其中,该规则规定是否启用级别映射操作或级别重新映射操作基于当前块的维度。
[0481]
22.根据示例21所述的方法,其中,当前块的维度包括高度h和宽度w,并且其中,该规则规定由于当前块满足w*h》=t1而禁用级别映射操作或级别重新映射操作,其中,t1为整数。
[0482]
23.根据示例21所述的方法,其中,当前块的维度包括高度h和宽度w,并且其中,该规则规定由于当前块满足w*h《=t1而禁用级别映射操作或级别重新映射操作,其中,t1为整数。
[0483]
24.根据示例21所述的方法,其中,当前块的维度包括高度h和宽度w,并且其中,该规则规定由于min(w,h)》=t1而禁用级别映射操作或级别重新映射操作,其中,t1为整数。
[0484]
25.根据示例21所述的方法,其中,当前块的维度包括高度h和宽度w,并且其中,该规则规定由于max(w,h)《=t1而禁用级别映射操作或级别重新映射操作,其中,t1为整数。
[0485]
26.根据示例21所述的方法,其中,当前块的维度包括高度h和宽度w,并且其中,该规则规定由于min(w,h)《=t1而禁用级别映射操作或级别重新映射操作,其中,t1为整数。
[0486]
27.根据示例21所述的方法,其中,当前块的维度包括高度h和宽度w,并且其中,该规则规定由于max(w,h)》=t1而禁用级别映射操作或级别重新映射操作,其中,t1为整数。
[0487]
28.根据示例21所述的方法,其中,当前块的维度包括高度h和宽度w,并且其中,该规则规定由于w》=t1并且h》=t2而禁用级别映射操作或级别重新映射操作,其中,t1和t2为整数。
[0488]
29.根据示例21所述的方法,其中,当前块的维度包括高度h和宽度w,并且其中,该规则规定由于w《=t1并且h《=t2而禁用级别映射操作或级别重新映射操作,其中,t1和t2为整数。
[0489]
30.一种视频处理方法,包括:基于规则确定在级别映射操作或级别重新映射操作期间被用作预测值的一个或多个先前解码的系数,其中,该级别映射操作或级别重新映射操作包括基于当前块的残差系数的邻近残差系数在当前块的残差系数的第一表示和当前块的残差系数的第二表示之间变化,其中,根据解码顺序或扫描顺序使用该一个或多个先前解码的系数;以及使用该一个或多个先前解码的系数执行视频的当前块和该视频的比特流表示之间的转换。
[0490]
31.根据示例30所述的方法,其中,该规则规定使用最新近的k个先前解码的系数,其中,k为整数。
[0491]
32.根据示例30所述的方法,其中,该规则规定使用最新近的m个先前解码的系数中的k个先前解码的系数,其中,k和m为整数并且其中m大于k。
[0492]
33.根据示例30所述的方法,其中,通过语法元素在该比特流表示中信令通知该一个或多个先前解码的系数的数量。
[0493]
34.根据示例30所述的方法,其中,该一个或多个先前解码的系数的数量是预定义的。
[0494]
35.根据示例30所述的方法,其中,该一个或多个先前解码的系数的数量可基于当前块的解码信息确定。
[0495]
36.根据示例30所述的方法,其中,该一个或多个先前解码的系数的数量取决于已经解码的残差系数的数量。
[0496]
37.根据示例36所述的方法,其中,该数量是s或m中的最小值,其中,s是已经解码
的残差系数的数量,并且其中,m是固定数量。
[0497]
38.一种视频处理方法,包括:执行视频的当前块与该视频的比特流表示之间的转换,其中,该比特流表示符合格式规则,该格式规则规定在该比特流中包括用于指示当前块的视频单元的系数子集的的绝对值大于m的语法元素,其中,m为整数。
[0498]
39.根据示例38所述的方法,其中,该视频单元是当前块的系数群组或变换块或预测块或编解码块。
[0499]
40.根据示例38所述的方法,其中,该子集基于在该转换中使用的扫描顺序。
[0500]
41.根据示例40所述的方法,其中,该子集包括根据正向扫描顺序的前l个系数,其中,l为整数。
[0501]
42.根据示例40所述的方法,其中,该子集包括根据正向扫描顺序的最后l个系数,其中,l为整数。
[0502]
43.根据示例40所述的方法,其中,该子集包括该视频单元中的根据解码顺序的前l个系数,其中,l为整数。
[0503]
44.根据示例38所述的方法,其中,该子集基于包括该视频单元的像素的坐标。
[0504]
45.根据示例44所述的方法,其中,该子集包括处于该视频单元的矩形区域中的系数。
[0505]
46.根据示例44所述的方法,其中,该子集包括处于该视频单元的方形区域内的系数。
[0506]
47.根据示例38所述的方法,其中,该子集基于当前块的编解码模式。
[0507]
48.根据示例47所述的方法,其中,响应于当前块是采用块差分脉冲编解码调制(bdpcm)编解码工具或量化残差域bdpcm(qr-bdpcm)编解码工具编解码的或者响应于当前块是按照垂直方向预测的而将该子集定义为包括最顶部行的系数。
[0508]
49.根据示例47所述的方法,其中,响应于当前块是采用块差分脉冲编解码调制(bdpcm)编解码工具或量化残差域bdpcm(qr-bdpcm)编解码工具编解码的或者响应于当前块是按照水平方向预测的而将该子集定义为包括最左侧列的系数。
[0509]
50.根据示例38所述的方法,其中,该子集基于当前块的维度。
[0510]
51.根据示例38所述的方法,其中,m等于0、1、2、3、4或5。
[0511]
52.根据示例1所述的方法,其中,当前块是非变换跳过编解码块。
[0512]
53.根据示例52所述的方法,其中,该转换对当前块使用块差分脉冲编解码调制(bdpcm)编解码工具。
[0513]
54.根据示例52所述的方法,其中,该规则规定只对特定位置的残差系数执行级别映射操作或级别重新映射操作。
[0514]
55.根据示例54所述的方法,其中,特定位置取决于预测方向。
[0515]
56.根据示例55所述的方法,其中,响应于预测方向为垂直方向,残差系数位于第一行处。
[0516]
57.根据示例55所述的方法,其中,响应于预测方向为水平方向,残差系数位于第一列处。
[0517]
58.根据示例52所述的方法,其中,该规则规定只对非预测编解码的残差系数启用级别映射操作或级别重新映射操作。
[0518]
59.根据示例58所述的方法,其中,对于垂直预测方向,所述残差系数位于第一行处。
[0519]
60.根据示例58所述的方法,其中,对于水平预测方向,所述残差系数位于第一列处。
[0520]
61.根据示例1所述的方法,其中,该转换基于调色板编解码模式。
[0521]
62.根据示例61所述的方法,其中,该规则还规定:该调色板索引基于来自该视频的先前块的先前编解码调色板索引的最大值。
[0522]
63.根据示例61所述的方法,其中,该规则还规定对该视频的所有调色板编解码块启用级别映射操作或级别重新映射操作。
[0523]
64.根据示例61所述的方法,其中,该规则还规定在指定条件下启用级别映射操作或级别重新映射操作。
[0524]
65.根据示例1-64中的任何示例所述的方法,其中,该转换还使用上下文建模处理,在该处理中,该残差系数取决于当前块的邻近块的残差信息,其中,该上下文建模处理使用上下文建模函数f(a0,a1,

,),其中,参数ai表示先前编解码的系数或者调色板索引,并且其中,i大于或等于零。
[0525]
66.根据示例65所述的方法,其中,该上下文建模函数f(a0,a1,

,)是最大值函数或最小值函数。
[0526]
67.根据示例65所述的方法,其中,参数ai包括覆盖当前样点或系数以及当前块的至少一些邻近块的模板。
[0527]
68.根据示例67所述的方法,其中,对于调色板索引编解码而言,基于该上下文建模函数f(a0,a1,

,)使用左侧调色板索引和上方调色板索引对该调色板索引编解码。
[0528]
69.根据示例67所述的方法,其中,对于调色板索引编解码,基于该上下文建模函数f(a0,a1,

,)使用左侧调色板索引和上方调色板索引对该调色板索引编解码。
[0529]
70.根据示例65所述的方法,其中,参数ai的顺序是用于当前块的扫描顺序的函数。
[0530]
71.根据示例1所述的方法,其中,使用该一个或多个解码系数获得用于该转换期间的上下文建模处理的语法元素,并且其中,根据解码顺序或扫描顺序使用该一个或多个解码系数。
[0531]
72.根据示例71所述的方法,其中,该语法元素包括编解码符号标志。
[0532]
73.根据示例71所述的方法,其中,使用最新近的k个解码系数,其中,k为整数。
[0533]
74.根据示例71所述的方法,其中,使用最新近的m个解码系数中的k个解码系数,其中,k和m为整数,并且其中,m大于k。
[0534]
75.根据示例71所述的方法,其中,通过语法元素在该比特流表示中信令通知该一个或多个解码系数的数量。
[0535]
76.根据示例71所述的方法,其中,该一个或多个解码系数的数量是预定义的。
[0536]
77.根据示例71所述的方法,其中,该一个或多个解码系数的数量可基于当前块的解码信息确定。
[0537]
78.根据示例71所述的方法,其中,该一个或多个解码系数的数量取决于已经解码的残差系数的数量。
[0538]
79.根据示例78所述的方法,其中,该数量是s或m中的最小值,其中,s是已经解码的残差系数的数量,并且其中,m是固定数量。
[0539]
80.根据示例1所述的方法,其中,使用该一个或多个解码系数获得为该转换期间的上下文建模处理的语法元素,并且其中,根据预测方向使用该一个或多个解码系数。
[0540]
81.根据示例80所述的方法,其中,该语法元素包括编解码符号标志。
[0541]
82.根据示例80所述的方法,其中,响应于当前块是采用垂直预测方向的块差分脉冲编解码调制(bdpcm)编解码块,该一个或多个解码系数是与当前块的系数处于同一列内的一个或多个先前解码的系数。
[0542]
83.根据示例80所述的方法,其中,响应于当前块是采用水平预测方向的块差分脉冲编解码调制(bdpcm)编解码块,该一个或多个解码系数是与当前块的系数处于同一行内的一个或多个先前解码的系数。
[0543]
84.根据示例80所述的方法,其中,响应于当前块是采用垂直预测方向的块差分脉冲编解码调制(bdpcm)编解码块,该一个或多个解码系数是与当前块的系数处于同一行内的一个或多个先前解码的系数。
[0544]
85.根据示例80所述的方法,其中,响应于当前块是采用水平预测方向的块差分脉冲编解码调制(bdpcm)编解码块,该一个或多个解码系数是与当前块的系数处于同一列内的一个或多个先前解码的系数。
[0545]
86.根据示例1所述的方法,其中,使用该一个或多个解码系数获得用于该转换期间的上下文建模处理的语法元素,并且其中,根据当前块的邻近块的信息或者根据所选的上下文动态设置该语法元素的值。
[0546]
87.根据示例86所述的方法,其中,该语法元素的值基于当前系数的符号信息是否与该视频的先前编解码的系数的符号信息中的大多数相同。
[0547]
88.根据示例86所述的方法,其中,响应于所选择的上下文表示邻近块中的大多数为负,该语法元素的值等于一以指示正值并且该语法元素的值等于零以指示负值。
[0548]
89.根据示例88所述的方法,其中,响应于两个邻近块为负或者响应于一个邻近块为负并且另一个邻近块等于零,所述邻近块中的大多数为负。
[0549]
90.根据示例86所述的方法,其中,响应于所选择的上下文表示邻近块中的大多数为正,该语法元素的值等于零以指示正值并且该语法元素的值等于一以指示负值。
[0550]
91.根据示例90所述的方法,其中,响应于两个邻近块为正或者响应于一个邻近块为正并且另一个邻近块等于零,所述邻近块中的大多数为正。
[0551]
92.根据示例86所述的方法,其中,响应于所选择的上下文表示邻近块中的大多数为负,该语法元素的值等于零以指示正值并且该语法元素的值等于一以指示负值。
[0552]
93.根据示例92所述的方法,其中,响应于两个邻近块为负或者响应于一个邻近块为负并且另一个邻近块等于零,所述邻近块中的大多数为负。
[0553]
94.根据示例86所述的方法,其中,响应于所选择的上下文表示邻近块中的大多数为正,该语法元素的值等于一以指示正值并且该语法元素的值等于零以指示负值。
[0554]
95.根据示例94所述的方法,其中,响应于两个邻近块为正或者响应于一个邻近块为正并且另一个邻近块等于零,所述邻近块中的大多数为正。
[0555]
96.根据示例1到95中的任何一项所述的方法,其中,在视频单元级指示是否对当
前块启用级别映射操作或级别重新映射操作。
[0556]
97.根据示例96所述的方法,其中,该视频单元包括片、图块、条带、图片、子图片、序列、视图。
[0557]
98.根据示例96所述的方法,其中,在序列参数集、视图参数集、自适应参数集、图片参数集、图片标头或条带标头中信令通知是否启用级别映射操作或级别重新映射操作以及启用该级别重新映射操作所遵循的处理。
[0558]
99.根据示例96所述的方法,其中,通过语法元素指示是否启用级别映射操作或级别重新映射操作以及启用级别映射操作或级别重新映射操作所遵循的处理。
[0559]
100.根据示例99所述的方法,其中,该语法元素指示与该视频相关联的视频内容是否是屏幕内容。
[0560]
101.根据示例1到95中的任何示例所述的方法,其中,是否启用级别映射操作或者级别重新映射操作基于当前块的编解码信息。
[0561]
102.根据示例101所述的方法,其中,该编解码信息包括当前块的块维度、条带类型、图片类型、时域层索引、视频内容、颜色分量、分割树类型、编解码模式或变换信息。
[0562]
103.根据示例101所述的方法,其中,响应于当前块的宽度不大于t1并且当前块的高度不大于t2而启用级别映射操作或级别重新映射操作。
[0563]
104.根据示例101所述的方法,其中,响应于当前块的宽度不大于t1或者当前块的高度不大于t2而启用级别映射操作或级别重新映射操作。
[0564]
105.根据示例101所述的方法,其中,响应于当前块的宽度乘以当前块的高度不大于t3而启用级别映射操作或级别重新映射操作。
[0565]
106.根据示例1到105中的任何示例所述的方法,其中,该转换包括将当前块编码到该比特流表示当中。
[0566]
107.根据示例1到105中的任何示例所述的方法,其中,该转换包括对比特流表示解码,以生成当前块的像素值。
[0567]
108.一种视频解码装置,包括处理器,其被配置为实施示例1到107中的一个或多个所述的方法。
[0568]
109.一种视频编解码装置,包括处理器,其被配置为实施示例1到107中的一个或多个所述的方法。
[0569]
110.一种其上存储有计算机代码的计算机程序产品,所述代码在由处理器执行时使所述处理器实施示例1到107中的任何示例当中所述的方法。
[0570]
本文件中描述的所公开的以及其他的解决方案、示例、实施例、模块和功能操作可以在数字电子电路或者计算机软件、固件或硬件中实施,其包括本文件中所公开的结构及其结构等同物,或其中一个或多个的组合。所公开的实施例和其他实施例可以被实施成一个或多个计算机程序产品,即编码在计算机可读介质上的计算机程序指令的一个或多个模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储衬底、存储设备、影响机器可读传播信号的物质组成或者它们当中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括(例如)可编程处理器、计算机或者多个处理器或计算机。除硬件外,该装置还可以包括为所考虑的计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库
管理系统、操作系统或者它们当中的一个或多个的组合。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成为对信息编码,以便传输到合适的接收器装置。
[0571]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以按照任何形式部署,包括作为独立程序或作为模块、部件、子例程或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的部分中,专用于所讨论的程序的单个文件中,或者多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。可以将计算机程序部署为在一个或多个计算机上执行,这一个或多个计算机位于一个站点上,或者跨越多个站点分布并通过通信网络互连。
[0572]
本说明书中描述的过程和逻辑流可以通过由一个或多个可编程处理器执行一个或多个计算机程序来执行,从而通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流也可以通过专用逻辑电路来执行,并且装置也可以被实施成专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。
[0573]
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。一般来讲,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是执行指令的处理器以及存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或被操作性地耦接为从一个或多个大容量存储设备接收数据或向其传输数据,或两者兼有。然而,计算机不一定具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括(例如)半导体存储设备,例如,eprom、eeprom和闪存设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;以及cd rom和dvd rom盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
[0574]
虽然本专利文件包含许多细节,但不应将其解释为对任何主题或权利要求范围的限制,而应解释为对特定技术的特定实施例的具体特征的描述。本专利文件在各单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或者以任何合适的子组合的形式在多个实施例中实施。此外,虽然某些特征可能在上面被描述为以某些组合来起作用并且甚至最初也这样地来要求对其的权利保护,但是来自要求权利保护的组合的一个或多个特征在某些情况下可从该组合中去除,并且要求权利保护的组合可以涉及子组合或子组合的变型。
[0575]
类似地,尽管附图中以特定顺序描述了操作,但这不应被理解为要获得想要的结果必须按照所示的特定顺序或者按照顺次排序执行此类操作,或者必须执行所有例示操作。此外,在本专利文件中描述的实施例当中对各种系统部件的划分不应被理解为在所有实施例中都要求这样的划分。
[0576]
仅描述了几种实施方式和示例,并且其他实施方式、增强和变化可以基于本专利文件中描述和说明的内容做出。
再多了解一些

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

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

相关文献