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

使用自适应参数集的视频编解码的制作方法

2022-12-06 22:11:14 来源:中国专利 TAG:

使用自适应参数集的视频编解码
1.相关申请的交叉引用
2.根据适用的专利法和/或依据巴黎公约的规则,本技术适时要求于2020年4月2日提交的国际专利申请no.pct/cn2020/082983的优先权和权益。出于根据法律的所有目的,前述申请的全部公开通过引用而并入作为本技术的公开的一部分。
技术领域
3.本专利文档涉及图像和视频编解码和解码。


背景技术:

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


技术实现要素:

5.本文公开了可以由视频编码器和解码器用于使用对编解码表示的解码有用的控制信息来处理视频的编解码表示的技术。
6.在一个示例方面,公开了一种视频处理方法。该方法包括执行视频的当前块和视频的比特流之间的转换,其中,比特流符合指定上下文索引偏移用于将第一系数的第一符号标志包括在比特流中的规则,其中该规则指定上下文索引偏移的值基于第一编解码模式是否在比特流中被应用于当前块。
7.在另一个示例方面,公开了一种视频处理方法。该方法包括执行视频的当前块和视频的比特流之间的转换,其中比特流符合指定当前块的符号标志基于剩余的上下文编解码二进制位的数量来使用上下文模式和旁路模式中的任意一个而包括在比特流中的规则。
8.在另一个示例方面,公开了一种视频处理方法。该方法包括执行视频的当前块和视频的比特流之间的转换,其中比特流符合指定上下文索引偏移用于将当前块的符号标志包括在比特流中的规则,并且该规则指定上下文索引偏移基于当前块的信息来确定。
9.在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则来执行包括一个或多个视频层的视频和视频的比特流之间的转换,其中,该规则指定对视频的多个自适应参数集网络抽象层单元的使用,其中每个自适应参数集网络抽象层单元具有对应的自适应参数类型值,其中每个自适应参数集网络抽象层单元与对应的视频层标识符相关联,其中每个自适应参数集网络抽象层单元是前缀单元或后缀单元,并且其中该规则指定,响应于多个自适应参数集网络抽象层单元共享相同的自适应参数类型值,多个自适应参数集网络抽象层单元的自适应参数集标识符值属于相同的标识符空间。
10.在另一个示例方面,公开了一种视频处理方法。该方法包括执行视频的当前块和视频的比特流之间的转换,其中比特流符合一规则,该规则指定不允许具有特定特性的第一辅助增强信息消息:(1)响应于具有特定特性的第二辅助增强信息消息被包括在条带单元中而在比特流中的条带单元内重复,或者(2)响应于第一辅助增强消息在比特流中的条
带单元内而更新,其中条带单元包括按照解码顺序连续的网络抽象层单元集合,并且其中网络抽象层集合包括单个编解码条带和与该单个编解码条带相关联的一个或多个非视频编解码层网络抽象层单元。
11.在另一个示例方面,公开了一种视频处理方法。该方法包括执行视频的当前块和视频的比特流之间的转换,其中比特流符合一规则,该规则指定响应于:(1)条带单元包括具有与第一非视频编解码层网络抽象层单元相同的特性的第二非视频编解码层网络抽象层单元,以及(2)第一非视频编解码层网络抽象层单元具有除了前缀辅助增强信息或后缀辅助增强信息之外的网络抽象层单元类型,比特流中的条带单元不允许第一非视频编解码层网络抽象层单元的重复。
12.在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则来执行包括多个视频层的视频和视频的比特流之间的转换,其中该规则指定不允许多个自适应参数集中的哪些自适应参数集跨多个视频层进行共享。
13.在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则来执行包括一个或多个视频层的视频和视频的比特流之间的转换,其中比特流包括一个或多个自适应环路滤波器自适应参数集,并且其中该规则指定是否允许一个或多个自适应环路滤波器自适应参数集在图片单元内被更新。
14.在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则来执行包括一个或多个编解码层视频序列的视频和视频的比特流之间的转换,其中比特流包括自适应环路滤波器自适应参数集,并且其中该规则指定,响应于自适应环路滤波器自适应参数集具有一个或多个特定特性,不允许自适应环路滤波器自适应参数集跨一个或多个编解码层视频序列进行共享。
15.在另一个示例方面,公开了一种视频处理方法。该方法包括执行视频的当前块和视频的编解码表示之间的转换。编解码表示符合指定用于在编解码表示中对当前块的符号标志进行编解码的上下文索引偏移在一范围内的格式规则,其中编解码模式的范围函数用于在编解码表示中表示当前块。
16.在另一个示例方面,公开了另一种视频处理方法。该方法包括:执行视频的当前块和视频的编解码表示之间的转换;其中编解码表示符合格式规则,该格式规则指定当前块的符号标志根据剩余的上下文编解码二进制位的数量使用上下文编解码二进制位或旁路模式中的一个在编解码表示中被编解码。
17.在另一个示例方面,公开了另一种视频处理方法。该方法包括:执行视频的当前块和视频的编解码表示之间的转换;其中该转换使用基于块的增量脉冲编解码调制(bdpcm)模式,其中编解码表示符合格式规则,该格式规则指定来自bdpcm的符号标志在编解码表示中被上下文编解码,使得用于对符号标志进行编解码的上下文索引偏移是当前块的编解码条件的函数。
18.在另一个示例方面,公开了另一种视频处理方法。该方法包括:执行视频的当前块和视频的编解码表示之间的转换;其中编解码表示符合格式规则,该格式规则指定至多一次允许编解码表示中对应于按照连续解码顺序并包含单个编解码条带的网络抽象层单元集合的条带单元包括辅助增强信息(sei)的至少一部分。
19.在另一个示例方面,公开了另一种视频处理方法。该方法包括:执行视频的当前块
和视频的编解码表示之间的转换;其中编解码表示符合格式规则,该格式规则指定编解码表示中对应于按照连续解码顺序并包含单个编解码条带的网络抽象层单元集合的条带单元包括一个或多个视频编解码层网络抽象层(vcl nal)单元,其中该格式规则还指定被允许在条带单元中重复的第一类型的单元和不被允许在条带单元中重复的第二类型的单元。
20.在另一个示例方面,公开了另一种视频处理方法。该方法包括:根据规则来执行包括一个或多个视频层的视频和视频的编解码表示之间的转换;其中编解码表示包括一个或多个自适应参数集(aps);并且其中该规则指定一个或多个aps中的一些对一个或多个视频层的转换的应用性。
21.在另一个示例方面,公开了另一种视频处理方法。该方法包括:根据规则来执行包括一个或多个视频层的视频和视频的编解码表示之间的转换;其中编解码表示被布置到一个或多个网络抽象层(nal)单元中;其中编解码表示包括用于控制转换的特性的一个或多个自适应参数集。
22.在又一个示例方面,公开了一种视频编码器装置。视频编码器包括被配置为实施上述方法的处理器。
23.在又一个示例方面,公开了一种视频解码器装置。视频解码器包括被配置为实施上述方法的处理器。
24.在又一示例方面,公开了一种存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现本文描述的方法之一。
25.这些以及其他特征将在本文中描述。
附图说明
26.图1是一种示例视频处理系统的框图;
27.图2是一种视频处理装置的框图;
28.图3是一种视频处理的示例方法的流程图;
29.图4是示出根据本公开的一些实施例的视频编解码系统的框图;
30.图5是示出根据本公开的一些实施例的编码器的框图;
31.图6是示出根据本公开的一些实施例的解码器的框图;
32.图7示出了自适应环路滤波器(alf)滤波器形状(色度:5
×
5菱形,亮度:7
×
7菱形)的示例;
33.图8示出了alf和cc-alf示图的示例;以及
34.图9至图17是视频处理的示例方法的流程图。
具体实施方式
35.在本文中使用章节标题是为了易于理解,而不是将每个章节中公开的技术和实施例的适用性仅限制于该章节。此外,在一些描述中使用h.266术语仅仅是为了易于理解,而不是为了限制所公开技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。
36.1.引言
37.本专利文档涉及视频编解码技术。具体地,它涉及变换跳过模式下的系数编解码
以及视频编解码中非vcl数据单元的重复和更新。它可以被应用于现有的视频编解码标准(如hevc)或者即将完成的标准(多功能视频编解码)。它也可以适用于未来的视频编解码标准或视频编解码器。
38.2.缩写
39.alf
ꢀꢀꢀꢀ
自适应环路滤波器
40.aps
ꢀꢀꢀꢀ
自适应参数集
41.au
ꢀꢀꢀꢀꢀ
接入单元
42.aud
ꢀꢀꢀꢀ
接入单元分隔符
43.avc
ꢀꢀꢀꢀ
高级视频编解码
44.clvs
ꢀꢀꢀ
编解码层视频序列
45.cpb
ꢀꢀꢀꢀ
编解码图片缓冲区
46.cra
ꢀꢀꢀꢀ
完全随机接入
47.ctu
ꢀꢀꢀꢀ
编解码树单元
48.cvs
ꢀꢀꢀꢀ
编解码视频序列
49.dci
ꢀꢀꢀꢀ
解码能力信息
50.dpb
ꢀꢀꢀꢀ
解码图片缓冲区
51.du
ꢀꢀꢀꢀꢀ
解码单元
52.eob
ꢀꢀꢀꢀ
比特流结尾
53.eos
ꢀꢀꢀꢀ
序列结尾
54.gdr
ꢀꢀꢀꢀ
逐渐解码刷新
55.hevc
ꢀꢀꢀ
高效视频编解码
56.hrd
ꢀꢀꢀꢀ
假设参考解码器
57.idr
ꢀꢀꢀꢀ
即时解码刷新
58.jem
ꢀꢀꢀꢀ
联合探索模型
59.lmcs
ꢀꢀꢀ
亮度映射与色度缩放
60.mcts
ꢀꢀꢀ
运动约束片集
61.nal
ꢀꢀꢀꢀ
网络抽象层
62.ols
ꢀꢀꢀꢀ
输出层集
63.ph
ꢀꢀꢀꢀꢀ
图片标头
64.pps
ꢀꢀꢀꢀ
图片参数集
65.ptl
ꢀꢀꢀꢀ
档次、层和级别
66.pu
ꢀꢀꢀꢀꢀ
图片单元
67.radl
ꢀꢀꢀ
随机接入可解码前置(图片)
68.rap
ꢀꢀꢀꢀ
随机接入点
69.rasl
ꢀꢀꢀ
随机接入跳过前置(图片)
70.rbsp
ꢀꢀꢀ
原始字节序列有效载荷
71.rpl
ꢀꢀꢀꢀ
参考图片列表
72.sao
ꢀꢀꢀꢀ
样点自适应偏移
73.sei
ꢀꢀꢀꢀ
辅助增强信息
74.sps
ꢀꢀꢀꢀ
序列参数集
75.stsa
ꢀꢀꢀ
逐步时域子层接入
76.svc
ꢀꢀꢀꢀ
可缩放视频编解码
77.vcl
ꢀꢀꢀꢀ
视频编解码层
78.vps
ꢀꢀꢀꢀ
视频参数集
79.vtm
ꢀꢀꢀꢀ
vvc测试模型
80.vui
ꢀꢀꢀꢀ
视频可用性信息
81.vvc
ꢀꢀꢀꢀ
多功能视频编解码
82.3.视频编解码介绍
83.视频编解码标准主要是通过众所周知的itu-t和iso/iec标准发展而来的。itu-t制定了h.261和h.263,iso/iec制定了mpeg-1和mpeg-4视频,并且这两个组织共同制定了h.262/mpeg-2视频标准和h.264/mpeg-4高级视频编解码(advanced video coding,avc)和h.265/hevc标准。自h.262开始,视频编解码标准是基于混合视频编解码结构,其中使用了时域预测加变换编解码。为探索hevc之外的未来视频编解码技术,vceg和mpeg于2015年共同成立了联合视频探索团队(joint video exploration team,jvet)。从那时起,jvet采用了许多新的方法,并将其放入名为联合探索模型(joint exploration model,jem)的参考软件中。jvet会议每季度举行一次,新编解码标准的目标是与hevc相比降低50%的比特率。新视频编解码标准在2018年4月的jvet会议上被正式命名为多功能视频编解码(vvc),第一版vvc测试模型(vtm)也在当时发布。由于对vvc标准化的持续努力,新的编解码技术在每次jvet会议上都被采用到vvc标准中。vvc的工作草案和测试模型vtm在每次会议后都会被更新。vvc项目现在的目标是在2020年7月的会议上技术上完成(fdis)。
84.3.1 vvc中与本公开最相关的概念和定义
85.接入单元(au):属于不同层并且包含与从dpb输出的相同时间相关联的编解码图片的pu集合。
86.自适应环路滤波器(alf):被应用作为解码过程的一部分并且通过aps中传送的参数控制的滤波过程。
87.alf aps:控制alf过程的aps。
88.自适应参数集(aps):包含适用于零个或更多个条带的语法元素的语法结构,如在条带标头中找到的零个或更多个语法元素所确定的。
89.相关联的非vcl nal单元:vcl nal单元的非vcl nal单元(当存在时),其中vcl nal单元是非vcl nal单元的相关联的vcl nal单元。
90.相关联的vcl nal单元:nal_unit_type等于eos_nut、eob_nut、suffix_aps_nut、suffix_sei_nut、fd_nut、rsv_nvcl_27或者在unspec_30..unspec_31的范围内的非vcl nal单元的按照解码顺序的前一个vcl nal单元;否则,按照解码顺序的下一个vcl
·
nal单元。
91.解码单元(du):如果decodingunithrdflag等于0,则为au,否则为au的子集,由au中的一个或多个vcl nal单元以及相关联的非vcl nal单元组成。
92.层:全部具有nuh_layer_id的特定值的vcl nal单元和相关联的非vcl nal单元的集合。
93.lmcs aps:控制lmcs过程的aps。
94.亮度映射与色度缩放(lmcs):被应用作为解码过程的一部分的过程,将亮度样点映射到特定值,并且可以对色度样点的值应用缩放操作。
95.图片单元(pu):根据指定的分类规则彼此关联、按照解码顺序连续、并且恰好包含一个编解码图片的nal单元的集合。
96.缩放列表:将每个频率索引与缩放过程的缩放因子相关联的列表。
97.缩放列表aps:具有用于构建缩放列表的语法元素的aps。
98.视频编解码层(vcl)nal单元:编解码条带nal单元和nal单元的子集的统称,其具有nal_unit_type的保留值,在本规范中被分类为vcl nal单元。
99.3.2变换跳过模式下的系数编解码
100.在当前的vvc草案中,与非ts系数编解码相比,对变换跳过(ts)模式下的系数编解码提出了若干修改,以便使残差编解码适应变换跳过级别的统计和信号特性。
101.jvet-q2001-ve中与该部分相关的最新文本如下所示。
102.7.3.10.11残差编解码语法
103.104.105.106.107.108.109.[0110][0111]
[0112]
[0113]
[0114]
[0115]
[0116][0117]
3.2.1符号标志coeff_sign_flag的上下文建模和上下文索引偏移推导
[0118]
表51

初始化过程中ctxidx和每个initializationtype的语法元素的关联
[0119][0120]
表125

coeff_sign_flag的ctxinc的initvalue和shiftidx的规范
[0121][0122]
表131

将ctxinc分配给具有上下文编解码二进制位的语法元素
[0123][0124]
9.3.4.2.10变换跳过模式的语法元素coeff_sign_flag的ctxinc的推导过程
[0125]
该过程的输入是色彩分量索引cidx、指定当前变换块的相对于当前图片的左上样点的左上样点的亮度位置(x0,y0)、当前系数扫描位置(xc,yc)
[0126]
该过程的输出是变量ctxinc。
[0127]
变量leftsign和abovesign被推导如下:
[0128]
leftsign=(xc==0)?0:coeffsignlevel[xc-1][yc]
ꢀꢀ
(1595)
[0129]
abovesign=(yc==0)?0:coeffsignlevel[xc][yc-1]
ꢀꢀ
(1596)
[0130]
变量ctxinc被推导如下:
[0131]

如果leftsign等于0并且abovesign等于0,或者如果leftsign等于-abovesign,则以下适用:
[0132]
ctxinc=(bdpcmflag[x0][y0][cidx]==0?0:3)
ꢀꢀ
(1597)
[0133]

否则,如果leftsign大于或等于0,并且abovesign大于或等于0,则以下适用:
[0134]
ctxinc=(bdpcmflag[x0][y0][cidx]?1:4)
ꢀꢀꢀ
(1598)
[0135]

否则,以下适用:
[0136]
ctxinc=(bdpcmflag[x0][y0][cidx]?2:5)
ꢀꢀꢀꢀ
(1599)
[0137]
3.3基于块的量化残差域dpcm(bdpcm)
[0138]
在jvet-m0413中,提出了量化残差块差分脉冲编解码调制(bdpcm),并被vvc草案采用以有效地编解码屏幕内容。
[0139]
qr-bdpcm中使用的预测方向可以是垂直和水平预测模式。类似于帧内预测,通过预测方向(水平或垂直预测)上的样点复制对整个块进行帧内预测。残差被量化,并且量化
的残差与其预测值(水平或垂直)量化值之间的增量被编解码。这可以通过以下描述:对于尺寸为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被信令通知时:
[0140][0141]
对于水平预测,类似的规则适用,并且残差量化样点通过下式获得
[0142][0143]
残差量化样点被传送到解码器。
[0144]
在解码器侧,以上计算被反转以产生q(r
i,j
),0≤i≤m-1,0≤j≤n-1。对于垂直预测情况,
[0145][0146]
对于水平情况,
[0147][0148]
逆量化残差q-1
(q(r
i,j
))被加到帧内块预测值,以产生重构样点值。
[0149]
该方案的主要益处是,逆dpcm可以在系数解析运行期间完成,只需在解析系数时添加预测值,或者可以在解析之后执行。
[0150]
3.4通常以及vvc中的可缩放视频编解码(svc)
[0151]
可缩放视频编解码(svc,有时也称为视频编解码中的可缩放性)是指使用基本层(bl)(有时被称为参考层(rl))以及一个或多个可缩放增强层(el)的视频编解码。在svc中,基本层可以携带具有基本质量水平的视频数据。一个或多个增强层可以携带附加的视频数据,以支持例如更高的空域、时域和/或信噪比(snr)水平。可以相对于先前编码的层来定义增强层。例如,底部层可以充当bl,而顶部层可以充当el。中间层可以充当el或rl,或者充当两者。例如,中间层(例如,既不是最低层也不是最高层的层)可以是中间层下方的层(诸如基本层或任何居间增强层)的el,并且同时充当中间层上方的一个或多个增强层的rl。类似地,在hevc标准的多视图或3d扩展中,可以有多个视图,并且一个视图的信息可以用于编解码(例如,编码或解码)另一个视图的信息(例如,运动估计、运动矢量预测和/或其他冗余)。
[0152]
在svc中,由编码器或解码器使用的参数基于可以利用它们的编解码级别(例如,视频级别、序列级别、图片级别、条带级别等)被分组为参数集。例如,比特流中不同层的一个或多个编解码视频序列可以利用的参数可以被包括在视频参数集(vps)中,并且编解码视频序列中的一个或多个图片可以利用的参数可以被包括在序列参数集(sps)中。类似地,图片中的一个或多个条带利用的参数可以被包括在图片参数集(pps)中,并且特定于单个条带的其他参数可以被包括在条带标头中。类似地,可以在各种编解码级别提供特定层在
给定时间使用哪个(哪些)参数集的指示。
[0153]
由于vvc中对参考图片重采样(rpr)的支持,可以设计对包含多个层(例如,vvc中具有sd和hd分辨率的两个层)的比特流的支持,而不需要任何附加的信号处理级别编解码工具,因为空域可缩放性支持所需的上采样可以仅使用rpr上采样滤波器。然而,对于可缩放性支持,需要高级别语法改变(与不支持可缩放性相比)。在vvc版本1中指定了可缩放性支持。与任何更早的视频编解码标准(包括avc和hevc的扩展)中的可缩放性支持不同,vvc可缩放性的设计已经尽可能对单层解码器设计友好。多层比特流的解码能力以比特流中只有单个层的方式被指定。例如,诸如dpb尺寸的解码能力以独立于要被解码的比特流中的层的数量的方式被指定。基本上,为单层比特流设计的解码器不需要太多改变以能够解码多层比特流。与avc和hevc的多层扩展的设计相比,hls方面在牺牲一些灵活性的情况下得到显著简化。例如,要求irap au包含存在于cvs中的每个层的图片。
[0154]
vvc比特流可以由一个或多个输出层集(ols)组成。ols是一个或多个层被指定为输出层的层集合。输出层是在解码之后被输出的层。
[0155]
3.5参数集
[0156]
avc、hevc和vvc指定了参数集。参数集的类型包括sps、pps、aps和vps。avc、hevc和vvc全部都支持sps和pps。vps从hevc开始引入,并且被包括在hevc和vvc中。aps没有被包括在avc或hevc中,但是被包括在最新的vvc草案文本中。
[0157]
sps被设计为携带序列级别标头信息,并且pps被设计为携带不频繁改变的图片级别标头信息。利用sps和pps,不频繁改变的信息不需要针对每个序列或图片重复,因此可以避免该信息的冗余信令。此外,sps和pps的使用实现了重要标头信息的带外传输,因此不仅避免了对冗余传输的需要,还提高了容错性。
[0158]
引入vps用于携带对多层比特流中的所有层共同的序列级别标头信息。
[0159]
引入aps用于携带这样的图片级别或条带级别信息,该信息需要相当多的比特来编解码,可以由多个图片共享,并且在序列中可以有相当多的不同变化。
[0160]
在vvc中,aps用于携带alf、lmcs的参数以及缩放列表参数。
[0161]
3.6 vvc中的nal单元类型以及nal单元标头语法和语义
[0162]
在最新的vvc文本中(在jvet-q2001-ve/v15中),nal单元标头语法和语义如下所示。
[0163]
7.3.1.2 nal单元标头语法
[0164][0165]
7.4.2.2nal单元标头语义
[0166]
forbidden_zero_bit应当等于0。
[0167]
nuh_reserved_zero_bit应当等于0。nuh_reserved_zero_bit的值1可以在未来由
itu-t|iso/iec指定。解码器应当忽略(即,从比特流中移除并且丢弃)nuh_reserved_zero_bit等于1的nal单元。
[0168]
nuh_layer_id指定vcl nal单元所属的层的标识符或者非vcl nal单元适用的层的标识符。nuh_layer_id的值应当在0到55的范围(包括0和55)内。nuh_layer_id的其他值被保留以供itu-t|iso/iec未来使用。
[0169]
nuh_layer_id的值对于编解码图片的所有vcl nal单元应当是相同的。编解码图片或pu的nuh_layer_id的值是编解码图片或pu的vcl nal单元的nuh_layer_id的值。
[0170]
aud、ph、eos和fd nal单元的nuh_layer_id的值被约束如下:
[0171]-如果nal_unit_type等于aud_nut,则nuh_layer_id应当等于vps_layer_id[0]。
[0172]-否则,当nal_unit_type等于ph_nut、eos_nut或fd_nut时,nuh_layer_id应当等于相关联的vcl nal单元的nuh_layer_id。
[0173]
注1

dci、vps和eob nal单元的nuh_layer_id的值不受约束。
[0174]
nal_unit_type的值对于cvss au的所有图片应当是相同的。
[0175]
nal_unit_type指定nal单元类型,即如表5所指定的nal单元中包含的rbsp数据结构的类型。
[0176]
具有在unspec_28..unspec_31(未指定语义)的范围(包括unspec_28和unspec_31)内的nal_unit_type的nal单元不应当影响本规范中指定的解码过程。
[0177]
注2

可以如应用所确定的使用在unspec_28..unspec_31的范围内的nal单元类型。在本规范中没有指定nal_unit_type的这些值的解码过程。由于不同的应用可能出于不同的目的使用这些nal单元类型,所以在生成具有这些nal_unit_type值的nal单元的编码器的设计中、以及在解释具有这些nal_unit_type值的nal单元的内容的解码器的设计中,必须特别小心。本规范没有定义这些值的任何管理。这些nal_unit_type值可能仅适合于在使用的“冲突”(即,相同nal_unit_type值的nal单元内容的含义的不同定义)不重要、或不可能、或被管理(例如,在控制应用或传输规范中定义或管理、或通过控制比特流被分布的环境)的上下文中使用。
[0178]
出于除了确定比特流的du中的数据量(如附录c所指定的)之外的目的,解码器应当忽略(从比特流中移除并且丢弃)使用nal_unit_type的保留值的所有nal单元的内容。
[0179]
注3

该要求允许对本规范的兼容扩展的未来定义。
[0180]
表5

nal单元类型码和nal单元类型分类
[0181]
[0182][0183]
注4

完全随机接入(cra)图片可以具有存在于比特流中的相关联的rasl或radl图片。
[0184]
注5

具有等于idr_n_lp的nal_unit_type的即时解码刷新(idr)图片不具有存在于比特流中的相关联前置图片。具有等于idr_w_radl的nal_unit_type的idr图片不具有存在于比特流中的相关联的rasl图片,但是可以具有比特流中的相关联的radl图片。
[0185]
nal_unit_type的值对于子图片的所有vcl nal单元应当是相同的。子图片被称为具有与子图片的vcl nal单元相同的nal单元类型。
[0186]
对于任何特定图片的vcl nal单元,适用以下内容:
[0187]-如果mixed_nalu_types_in_pic_flag等于0,则nal_unit_type的值对于图片的所有vcl nal单元应当是相同的,并且图片或pu被称为具有与图片或pu的编解码条带nal单
元相同的nal单元类型。
[0188]-否则(mixed_nalu_types_in_pic_flag等于1),图片应当具有至少两个子图片,并且图片的vcl nal单元应当恰好具有两个不同的nal_unit_type值,如下所示:图片的至少一个子图片的vcl nal单元都应当具有等于stsa_nut、radl_nut、rasl_nut、idr_w_radl、idr_n_lp或cra_nut的nal_unit_type的特定值,而图片中的其他子图片的vcl nal单元都应当具有等于trail_nut、radl_nut或rasl_nut的nal_unit_type的不同特定值。
[0189]
对于单层比特流,适用以下约束:
[0190]-除了比特流中按照解码顺序的第一个图片之外的每个图片被认为与按照解码顺序的先前irap图片相关联。
[0191]-当图片是irap图片的前置图片时,其应当是radl或rasl图片。
[0192]-当图片是irap图片的拖尾图片时,其不应当是radl或rasl图片。
[0193]-在比特流中不应当存在与idr图片相关联的rasl图片。
[0194]-在比特流中不应当存在与具有等于idr_n_lp的nal_unit_type的idr图片相关联的radl图片。
[0195]
注6

通过丢弃irap pu之前的所有pu,可以在irap pu的位置处执行随机接入(并且按照解码顺序正确解码irap图片和所有后续非rasl图片),前提是每个参数集在其被参考时(在比特流中或者通过本规范中未指定的外部手段)可用。
[0196]-按照解码顺序在irap图片之前的任何图片按照输出顺序应当在irap图片之前,并且按照输出顺序应当在与irap图片相关联的任何radl图片之前。
[0197]-与cra图片相关联的任何rasl图片按照输出顺序应当在与cra图片相关联的任何radl图片之前。
[0198]-与cra图片相关联的任何rasl图片按照输出顺序应当在按照解码顺序在cra图片之前的任何irap图片之后。
[0199]-如果field_seq_flag等于0,并且当前图片是与irap图片相关联的前置图片,则它按照解码顺序应当在与相同的irap图片相关联的所有非前置图片之前。否则,设pica和picb分别是与irap图片相关联的按照解码顺序的第一个和最后一个前置图片,应当有按照解码顺序在pica之前的至多一个非前置图片,并且不应当有按照解码顺序在pica和picb之间的非前置图片。
[0200]
nuh_temporal_id_plus1减1指定nal单元的时域标识符。
[0201]
nuh_temporal_id_plus1的值不应当等于0。
[0202]
变量temporalid被推导如下:
[0203]
temporalid=nuh_temporal_id_plus1-1
ꢀꢀꢀꢀꢀꢀꢀ
(36)
[0204]
当nal_unit_type在idr_w_radl到rsv_irap_12的范围(包括idr_w_radl和rsv_irap_12)内时,temporalid应当等于0。
[0205]
当nal_unit_type等于stsa_nut并且vps_independent_layer_flag[generallayeridx[nuh_layer_id]]等于1时,temporalid不应当等于0。
[0206]
temporalid的值对于au的所有vcl nal单元应当是相同的。编解码图片、pu或au的temporalid的值是编解码图片、pu或au的vcl nal单元的temporalid的值。子层表示的temporalid的值是子层表示中的所有vcl nal单元的temporalid的最大值。
[0207]
非vcl nal单元的temporalid的值被约束如下:
[0208]-如果nal_unit_type等于dci_nut、vps_nut或sps_nut,则temporalid应当等于0,并且包含nal单元的au的temporalid应当等于0。
[0209]-否则,如果nal_unit_type等于ph_nut,则temporalid应当等于包含nal单元的pu的temporalid。
[0210]-否则,如果nal_unit_type等于eos_nut或eob_nut,则temporalid应当等于0。
[0211]-否则,如果nal_unit_type等于aud_nut、fd_nut、prefix_sei_nut或suffix_sei_nut,则temporalid应当等于包含nal单元的au的temporalid。
[0212]-否则,当nal_unit_type等于pps_nut、prefix_aps_nut或suffix_aps_nut时,temporalid应当大于或等于包含nal单元的pu的temporalid。
[0213]
注7

当nal单元是非vcl nal单元时,temporalid的值等于非vcl nal单元适用的所有au的temporalid值中的最小值。当nal_unit_type等于pps_nut、prefix_aps_nut或suffix_aps_nut时,temporalid可以大于或等于包含au的temporalid,因为所有pps和aps都可以被包括在比特流的开头(例如,当它们在带外传输,并且接收器将它们放置在比特流的开头时),其中第一个编解码图片具有等于0的temporalid。
[0214]
3.7自适应环路滤波器(alf)
[0215]
两个菱形滤波器形状(如图7所示)用于基于块的alf。7
×
7菱形被应用于亮度分量,并且5
×
5菱形被应用于色度分量。基于局部梯度的方向和活动,为每个4
×
4块选择多达25个滤波器中的一个。图片中的每个4
×
4块根据方向性和活动性进行分类。在对每个4
×
4块进行滤波之前,可以根据为该块计算的梯度值,对滤波器系数应用简单的几何变换,诸如旋转或对角和垂直翻转。这相当于将这些变换应用于滤波器支持区域中的样点。这个想法是通过对齐alf被应用于的不同块的方向性来使不同块更类似。基于块的分类不应用于色度分量。
[0216]
alf滤波器参数在自适应参数集(aps)中被信令通知。在一个aps中,可以信令通知多达25个亮度滤波器系数和裁剪值索引的集合、以及多达8个色度滤波器系数和裁剪值索引的集合。为了减少比特开销,可以合并亮度分量的不同分类的滤波器系数。在图片或条带标头中,可以信令通知多达7个aps的id,以指定用于当前图片或条带的亮度滤波器集。滤波过程在ctb级别被进一步控制。亮度ctb可以在16个固定滤波器集和aps中信令通知的滤波器集当中选择滤波器集。对于色度分量,在图片或条带标头中信令通知aps id,以指示用于当前图片或条带的色度滤波器集。在ctb级别,如果在aps中有多于一个色度滤波器集,则针对每个色度ctb信令通知滤波器索引。当对ctb启用alf时,对于ctb内的每个样点,执行利用信令通知的权重的菱形滤波器,其中裁剪操作被应用来裁剪邻近样点和当前样点之间的差。裁剪操作引入了非线性,以通过减少与当前样点值相差太大的邻近样点值的影响来使alf更高效。
[0217]
跨分量自适应环路滤波器(cc-alf)可以在先前描述的alf之上进一步增强每个色度分量。cc-alf的目标是使用亮度样点值来细化每个色度分量。这通过应用菱形高通线性滤波器、然后将该滤波操作的输出用于色度细化来实现。图8提供了关于其他环路滤波器的cc-alf过程的系统级示图。如图8所示,cc-alf使用与亮度alf相同的输入,以避免整个环路滤波过程的附加步骤。
[0218]
3.8亮度映射与色度缩放(lmcs)
[0219]
不同于通常通过使用当前样点的空域邻近样点的信息来对当前样点应用滤波过程以减少编解码伪像的其它环路滤波器(即,去方块、sao和alf),亮度映射与色度缩放(lmcs)通过跨整个动态范围重新分布码字,在编码之前修改输入信号,以改进压缩效率。lmcs具有两个主要组成部分:(a)基于自适应分段线性模型的亮度分量的环路映射,以及(b)用于色度分量的亮度依赖的色度残差缩放。亮度映射利用正向映射函数fwdmap和对应的逆向映射函数invmap。fwdmap函数使用具有16个相等片段的分段线性模型来信令通知。invmap函数不需要被信令通知,而是从fwdmap函数推导。在aps中信令通知亮度映射模型。可以在编解码视频序列中使用多达4个lmcs aps。当对图片启用lmcs时,在图片标头中信令通知aps id,以识别携带亮度映射参数的aps。当对条带启用lmcs时,invmap函数被应用于所有重构亮度块,以将样点转换回原始域。对于帧间编解码块,需要附加的映射过程,其应用fwdmap函数将原始域中的亮度预测块映射到正常补偿过程之后的映射域。色度残差缩放被设计为补偿亮度信号及其对应色度信号之间的相互作用。当启用亮度映射时,信令通知附加标志,以指示是否启用亮度依赖的色度残差缩放。色度残差缩放因子依赖于当前cu的顶部和/或左侧重构的邻近亮度样点的平均值。一旦确定了缩放因子,正向缩放就在编码阶段被应用于帧内和帧间预测残差,并且逆向缩放被应用于重构残差。
[0220]
4通过所公开的技术方案解决的技术问题的示例
[0221]
在最新的vvc文本中(jvet-q2001-ve/v15中)的现有设计有以下问题:1)尽管jvet-n0280中的系数编解码可以实现屏幕内容编解码的编解码益处,但是系数编解码和ts模式可能仍然有一些缺点。
[0222]
a)例如,当对序列禁用bdpcm时,用于对符号标志进行编解码的上下文(如第3.2.1节所述)可能是非连续的。这样的设计将导致上下文切换困难,因为与非连续上下文索引相关联的存储器地址也将是非连续的。
[0223]
b)对于以下情况,对符号标志使用旁路编解码还是上下文编解码还不清楚:
[0224]

剩余的允许的上下文编解码二进制位的数量(由remccbs表示)等于0。
[0225]

当前块以ts模式进行编解码。
[0226]

slice_ts_residual_coding_disabled_flag为假(false)。
[0227]
2)大多数sei消息的重复被限制为在pu内至多4次,并且解码单元信息sei消息的重复被限制为在du内至多4次。然而,在两个vcl nal单元之间仍然可能多次重复相同的sei信息,这是没有意义的。
[0228]
3)允许两个vcl nal单元之间除了sei nal单元之外的非vcl nal单元的重复,然而,这也没有意义。
[0229]
4)aps nal单元可以跨层进行共享。然而,对于alf,滤波器非常依赖于重构样点,而对于不同的层,即使具有相同的视频内容,也可以不同地使用qp,因此大多数情况下alf滤波器从为不同层的图片生成的进行继承不会给出任何可忽略的编解码增益益处。因此,应该禁止跨层共享aps nal单元,以使得alf aps操作更简单。对于其他类型的aps(即,lmcs aps和缩放列表aps)是类似的。
[0230]
5)存在以下约束:
[0231]
pu内具有adaptation_parameter_set_id的特定值和aps_params_type的特定值
的所有aps nal单元都应当具有相同的内容,而不管它们是前缀aps nal单元还是后缀aps nal单元。
[0232]
该约束不允许pu内aps nal单元的内容的更新。然而,当图片被划分为多个条带时,允许编码器单独算出条带的alf参数是有意义的。当条带的数量很大时,例如,在360
°
视频应用中,可能需要对alf aps nal单元的更新(即,除了nal单元类型、aps id和aps类型字段之外,改变aps nal单元的语法元素的值)。
[0233]
6)指定了具有aps_params_type的特定值的所有aps nal单元都共享adaptation_parameter_set_id的相同值空间,而不管nuh_layer_id值如何。然而,另一方面,指定了pu内具有adaptation_parameter_set_id的特定值和aps_params_type的特定值的所有aps nal单元都应当具有相同的内容,而不管它们是前缀aps nal单元还是后缀aps nal单元。因此,具有不同nal单元类型的相同类型的aps也共享adaptation_parameter_set_id的相同值空间是有意义的。
[0234]
7)允许aps nal单元(具有nal_unit_type的特定值、adaptation_parameter_set_id的特定值和aps_params_type的特定值)跨pu甚至跨clvs进行共享。然而,不期望有好的编解码增益来允许跨clvs共享特定的aps nal单元。
[0235]
5技术方案和实施例的列表
[0236]
为了解决以上问题以及其他问题,公开了如下总结的方法。这些项应该被认为是解释一般概念的示例,而不应该以狭隘的方式解释。此外,这些项可以被单独应用或者以任何方式被组合。
[0237]
解决问题1的方案:
[0238]
设bdpcmflag是当前bdpcm标志,leftsign是左邻近系数的符号,并且abovesign是上邻近系数的符号。
[0239]
设条件m为leftsign等于0并且abovesign等于0,或者leftsign等于-abovesign。
[0240]
1.提出如果当前块以模式x进行编解码,则用于对符号标志进行编解码的允许的上下文索引偏移可以在第一范围[n0,n1]内,否则在[n2,n3]内。
[0241]
a.在一个示例中,模式x可以是亮度和/或色度bdpcm模式。
[0242]
b.在一个示例中,n0、n1、n2和n3可以分别为0、2、3和5。
[0243]
c.在一个示例中,当条件m为假时,可以应用以上示例。
[0244]
d.在一个示例中,当对块应用变换跳过时,可以应用以上示例。
[0245]
e.n0、n1、n2和n3可以基于以下中的一个或多个来确定:
[0246]
i.在sps/vps/pps/图片标头/条带标头/片组标头/lcu行
[0247]
/lcu组/lcu/cu中信令通知的指示
[0248]
ii.当前块和/或其邻近块的块维度
[0249]
iii.当前块和/或其邻近块的块形状
[0250]
iv.色彩格式(诸如4:2:0、4:4:4)的指示
[0251]
v.使用单独编解码树结构还是双编解码树结构
[0252]
vi.条带类型和/或图片类型
[0253]
vii.色彩分量的数量
[0254]
2.提出当剩余的允许的上下文编解码二进制位的数量(由remccbs表示)小于n时,
符号标志以旁路模式进行编解码
[0255]
a.在一个示例中,当remccbs《n时,符号标志以旁路模式进行编解码。
[0256]
i.可替代地,在一个示例中,当remccbs》=n时,符号标志以上下文模式进行编解码。
[0257]
b.在一个示例中,当remccbs等于n时,符号标志以旁路模式进行编解码。
[0258]
i.可替代地,在一个示例中,当remccbs》n时,符号标志以旁路模式进行编解码。
[0259]
c.在一个示例中,n可以被设置为等于4。
[0260]
i.可替代地,在一个示例中,n可以被设置为等于0。
[0261]
d.在一个示例中,n是整数,并且可以基于
[0262]
i.在sps/vps/pps/图片标头/条带标头/片组标头/lcu行/lcu组/lcu/cu中信令通知的指示
[0263]
ii.当前块和/或其邻近块的块维度
[0264]
iii.当前块和/或其邻近块的块形状
[0265]
iv.色彩格式(诸如4:2:0、4:4:4)的指示
[0266]
v.使用单独编解码树结构还是双编解码树结构
[0267]
vi.条带类型和/或图片类型
[0268]
vii.色彩分量的数量
[0269]
e.以上示例可以被应用于包括或排除bdpcm编解码块的变换块和/或变换跳过块。
[0270]
3.用于对符号标志进行编解码的上下文索引偏移可以基于以下中的一个或多个来确定:
[0271]
a.在sps/vps/pps/图片标头/条带标头/片组标头/lcu行/lcu组/lcu/cu中信令通知的指示
[0272]
b.当前块和/或其邻近块的块维度
[0273]
c.当前块和/或其邻近块的块形状
[0274]
i.在一个示例中,对于不同的块形状,符号标志的上下文值可以是单独的。
[0275]
d.当前块的邻近块的预测模式(帧内/帧间)
[0276]
i.在一个示例中,对于帧内块和帧间块,符号标志的上下文值可以是单独的。
[0277]
e.当前块的邻近块的bdpcm模式的指示
[0278]
f.色彩格式(诸如4:2:0、4:4:4)的指示
[0279]
g.使用单独编解码树结构还是双编解码树结构
[0280]
h.条带类型和/或图片类型
[0281]
i.色彩分量的数量
[0282]
i.在一个示例中,对于亮度色彩分量和色度色彩分量,符号标志的上下文值可以是单独的。
[0283]
解决问题2至5的方案:
[0284]
定义了术语“条带单元”,如下所示:
[0285]
条带单元(su):按照解码顺序连续并恰好包含一个编解码条带及所有其相关联的非vcl nal单元的nal单元集合。
[0286]
4.为了解决问题2,可以不允许所有类型的sei消息中的一个或多个在su内被重
复。
[0287]
a.在一个示例中,不允许具有特定内容的特定payloadtype值的任何sei消息在su内被重复,并且约束被指定如下:su内具有payloadtype的任意特定值的同等sei_payload()语法结构的数量不应当大于1。
[0288]
b.可替代地,不允许特定payloadtype值的任何sei消息(无论内容如何)在su内被重复。
[0289]
i.在一个示例中,约束被指定如下:su内具有payloadtype的任意特定值的sei_payload()语法结构的数量不应当大于1。
[0290]
c.可替代地,不允许具有特定payloadtype的任何sei消息在su内被更新。
[0291]
i.在一个示例中,约束被指定如下:su内具有payloadtype的特定值的所有sei_payload()语法结构应当具有相同的内容。
[0292]
5.为了解决问题3,对于除了prefix_sei_nut和suffix_sei_nut之外的非vcl nal类型中的一个或多个,可以不允许su内非vcl nal单元的重复。
[0293]
a.在一个示例中,指定了以下约束中的一个或多个:
[0294]
i.在一个示例中,约束被指定如下:su内的dci nal单元的数量不应当大于1。
[0295]
ii.在一个示例中,约束被指定如下:su内具有vps_video_parameter_set_id的特定值的vps nal单元的数量不应当大于1。
[0296]
iii.在一个示例中,约束被指定如下:su内具有sps_seq_parameter_set_id的特定值的sps nal单元的数量不应当大于1。
[0297]
iv.在一个示例中,约束被指定如下:su内具有pps_pic_parameter_set_id的特定值的pps nal单元的数量不应当大于1。
[0298]
v.在一个示例中,约束被指定如下:su内具有adaptation_parameter_set_id的特定值和aps_params_type的特定值的aps nal单元的数量不应当大于1。
[0299]
vi.在一个示例中,约束被指定如下:su内具有nal_unit_type的特定值、adaptation_parameter_set_id的特定值和aps_params_type的特定值的aps nal单元的数量不应当大于1。
[0300]
b.可替代地或可附加地,不允许dci nal单元在clvs或cvs内被重复。
[0301]
c.可替代地或可附加地,不允许具有vps_video_parameter_set_id的特定值的vps nal单元在clvs或cvs内被重复。
[0302]
d.可替代地或可附加地,不允许具有sps_seq_parameter_set_id的特定值的sps nal单元在clvs内被重复。
[0303]
6.为了解决问题4,可以指定所有类型的aps不应当跨层进行共享。
[0304]
a.可替代地,可以指定alf aps不应当跨层进行共享。
[0305]
7.为了解决问题5,可以指定alf aps可以在pu内被更新。
[0306]
a.可替代地,可以指定没有自适应参数集被允许在图片单元内更新。
[0307]
8.为了解决问题6,可以指定具有aps_params_type的特定值的所有aps nal单元都共享adaptation_parameter_set_id的相同值空间,而不管nuh_layer_id值如何以及它们是前缀aps nal单元还是后缀aps nal单元。
[0308]
a.可替代地,可以指定lmcs aps nal单元共享adaptation_parameter_set_id的
相同值空间,而不管nuh_layer_id值如何以及它们是前缀aps nal单元还是后缀aps nal单元。
[0309]
b.可替代地,可以指定alf aps nal单元共享adaptation_parameter_set_id的相同值空间,而不管nuh_layer_id值如何以及它们是前缀aps nal单元还是后缀aps nal单元。
[0310]
9.为了解决问题6,可以指定aps nal单元(具有nal_unit_type的特定值、adaptation_parameter_set_id的特定值和aps_params_type的特定值)不应当跨clvs进行共享。
[0311]
a.在一个示例中,指定vcl nal单元vclnalunita所参考的aps nal单元不应当是与包含vclnalunita的clvs不同的clvs中的vcl nal单元的相关联的非vcl nal单元。
[0312]
b.可替代地,指定vcl nal单元vclnalunita所参考的aps nal单元不应当是与和vclnalunita所关联的irap图片不同的irap图片相关联的vcl nal单元的相关联的非vcl nal单元。
[0313]
c.可替代地,指定vcl nal单元vclnalunita所参考的aps nal单元不应当是与和vclnalunita所关联的irap或gdr图片不同的irap或gdr图片相关联的vcl nal单元的相关联的非vcl nal单元。
[0314]
d.可替代地,可以指定aps不应当跨cvs进行共享。
[0315]
i.可替代地,可以指定具有特定aps类型(例如,alf、lmcs、scaling)的aps不应当跨cvs进行共享。
[0316]
6实施例
[0317]
这些实施例基于jvet-q2001-ve。删除的文本通过左右双括号(例如[[]])标记,其中删除的文本在双括号之间。添加的文本通过标记。
[0318]
6.1实施例#1
[0319][0320]
该过程的输入是色彩分量索引cidx、指定当前变换块相对于当前图片的左上样点的左上样点的亮度位置(x0,y0)、当前系数扫描位置(xc,yc)
[0321]
该过程的输出是变量ctxinc。
[0322]
变量leftsign和abovesign被推导如下:
[0323]
leftsign=(xc==0)?0:coeffsignlevel[xc-1][yc]
ꢀꢀ
(1595)
[0324]
abovesign=(yc==0)?0:coeffsignlevel[xc][yc-1] (1596)
[0325]
变量ctxinc被推导如下:
[0326]

如果leftsign等于0并且abovesign等于0,或者如果leftsign等于
[0327]-abovesign,则适用以下内容:
[0328]
ctxinc=(bdpcmflag[x0][y0][cidx]==0?0:3)
ꢀꢀ
(1597)
[0329]

否则,如果leftsign大于或等于0,并且abovesign大于或等于0,
[0330]
则适用以下内容:
[0331][0332]

否则,适用以下内容:
[0333][0334]
6.2实施例#2
[0335][0336]
该过程的输入是色彩分量索引cidx、指定当前变换块相对于当前图片的左上样点的左上样点的亮度位置(x0,y0)、当前系数扫描位置(xc,yc)
[0337]
该过程的输出是变量ctxinc。
[0338]
变量leftsign和abovesign被推导如下:
[0339]
leftsign=(xc==0)?0:coeffsignlevel[xc-1][yc]
ꢀꢀ
(1595)
[0340]
abovesign=(yc==0)?0:coeffsignlevel[xc][yc-1] (1596)
[0341]
变量ctxinc被推导如下:
[0342]

如果leftsign等于0并且abovesign等于0,或者如果leftsign等于
[0343]-abovesign,则适用以下内容:
[0344]
ctxinc=[[(bdpcmflag[x0][y0][cidx]==0?]]0[[:3)]](1597)
[0345]

否则,如果leftsign大于或等于0,并且abovesign大于或等于0,
[0346]
则适用以下内容:
[0347]
ctxinc=[[(bdpcmflag[x0][y0][cidx]?]]1[[:4)]]
ꢀꢀ
(1598)
[0348]

否则,适用以下内容:
[0349]
ctxinc=[[(bdpcmflag[x0][y0][cidx]?]]2[[:5)]]
ꢀꢀ
(1599)
[0350]

如果bdpcmflag[x0][y0][cidx]等于1,则适用以下内容:
[0351]
ctxinc=ctxinc 3
[0352]
6.3实施例#3
[0353]
sb_coded_flag[xs][ys]针对当前变换块内的位置(xs,ys)处的子块指定以下内容,其中子块是变换系数级别的阵列:
[0354]

如果sb_coded_flag[xs][ys]等于0,则位置(xs,ys)处的子块的16个变换系数级别被推断为等于0。
[0355]

否则(sb_coded_flag[xs][ys]等于1),适用以下内容:
[0356]

如果(xs,ys)等于(0,0),并且(lastsignificantcoeffx,lastsignificantcoeffy)不等于(0,0),则对于位置(xs,ys)处的子块,存在[[16]个sig_coeff_flag语法元素中的至少一个。
[0357]

否则,位置(xs,ys)处的子块的[[16]]个变换系数级别中的至少一个具有非零值。
[0358]
当不存在sb_coded_flag[xs][ys]时,其被推断为等于1。
[0359]
6.4实施例#4
[0360]
该实施例针对第5至7项。
[0361]
7.4.3.5自适应参数集语义
[0362]
每个aps rbsp在被参考之前应当可用于解码过程,其被包括在temporalid小于或等于参考它的编解码条带nal单元的temporalid的至少一个au中或者通过外部手段提供。
[0363]
pu内具有adaptation_parameter_set_id的特定值和pu内具有adaptation_parameter_set_id的特定值和的aps_params_type的特定值的所有aps nal单元都应当具有相同的内容,而不管它们是前缀aps nal单元还是后缀aps nal单元。
[0364]
adaptation_parameter_set_id提供aps的标识符,以供其他语法元素参考。
[0365]
当aps_params_type等于alf_aps或scaling_aps时,adaptation_parameter_set_id的值应当在0到7的范围(包括0和7)内。
[0366]
当aps_params_type等于lmcs_aps时,adaptation_parameter_set_id的值应当在0到3的范围(包括0和3)内。
[0367]
设apslayerid是特定aps nal单元的nuh_layer_id的值,并且设vcllayerid是特定vcl nal单元的nuh_layer_id的值。特定vcl nal单元不应当参考特定aps nal单元,除非apslayerid[[小于或]]等于vcllayerid[[并且nuh_layer_id等于apslayerid的层被包括在包括nuh_layer_id等于vcllayerid的层的至少一个ols中]]。
[0368]
aps_params_type指定aps中携带的aps参数的类型,如表6所指定的。
[0369]
1.表6

aps参数类型码和aps参数的类型
[0370][0371]
具有aps_params_type的特定值的所有aps nal单元都共享adaptation_parameter_set_id的相同值空间,而不管nuh_layer_id如何如何具有aps_params_type的不同值的aps nal单元使用adaptation_parameter_set_id的单独值空间。
[0372]
注1

aps nal单元(具有adaptation_parameter_set_id的特定值和aps_params_type的特定值)可以跨图片进行共享,并且图片内的不同条带可以参考不同的alf aps。
[0373]
注2

与特定vcl nal单元相关联的后缀aps nal单元(该vcl nal单元按照解码顺序在后缀aps nal单元之前)不是由特定vcl nal单元使用,而是由按照解码顺序在后缀aps nal单元之后的vcl nal单元使用。
[0374]
aps_extension_flag等于0指定没有aps_extension_data_flag语法元素存在于aps rbsp语法结构中。aps_extension_flag等于1指定aps rbsp语法结构中存在aps_extension_data_flag语法元素。
[0375]
aps_extension_data_flag可以具有任意值。它的存在和值不影响解码器符合本规范的该版本中指定的档次。符合本规范的该版本的解码器应当忽略所有aps_extension_
data_flag语法元素。
[0376]
6.5对符号标志进行编解码的实施例
[0377]
在一个实施例中,当remccbs小于0时,使用旁路编解码。
[0378]
表131

将ctxinc分配给具有上下文编解码二进制位的语法元素
[0379][0380]
表131

将ctxinc分配给具有上下文编解码二进制位的语法元素
[0381][0382]
可替代地,在一个实施例中,当当前块以变换跳过模式进行编解码并且remccbs0和!slice_ts_residual_coding_disabled_flag,使用上下文编解码。
[0383]
表131

将ctxinc分配给具有上下文编解码二进制位的语法元素
[0384][0385]
可替代地,在一个实施例中,当remccbs小于4时,使用旁路编解码。
[0386]
表131

将ctxinc分配给具有上下文编解码二进制位的语法元素
[0387][0388]
图1是示出可以在其中实施本文公开的各种技术的示例视频处理系统1900的框图。各种实施方式可以包括系统1900的一些或所有组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以例如8或10比特多分量像素值的原始或未压缩格式而接收,或者可以是压缩或编码格式。输入1902可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(pon)等的有线接口和诸如wi-fi或蜂窝接口的无线接口。
[0389]
系统1900可以包括可以实施本文中描述的各种编解码或编码方法的编解码组件1904。编解码组件1904可以将来自输入1902的视频的平均比特率减小到编解码组件1904的输出,以产生视频的编解码表示。编解码技术因此有时被称为视频压缩或视频转码技术。编解码组件1904的输出可以被存储,或者经由如组件1906所表示的通信连接来发送。在输入1902处接收的视频的存储或通信传送的比特流(或编解码)表示可以由组件1908用于生成像素值或传送到显示接口1910的可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是将理解,编解码工具或操作在编码器处被使用,并且反转编解码结果的对应的解码工具或操作将由解码器执行。
[0390]
外围总线接口或显示接口的示例可以包括通用串行总线(usb)、或高清晰度多媒体接口(hdmi)、或显示端口(displayport)等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文档中描述的技术可以体现在各种电子设备中,诸如移动电话、膝上型电脑、智能电话、或能够执行数字数据处理和/或视频显示的其他设备。
[0391]
图2是视频处理装置3600的框图。装置3600可以用于实施本文描述的一种或多种方法。装置3600可以体现在智能手机、平板电脑、计算机、物联网(iot)接收器等中。装置3600可以包括一个或多个处理器3602、一个或多个存储器3604和视频处理硬件3606。(多个)处理器3602可以被配置为实施本文档中描述的一种或多种方法。存储器(多个存储器)3604可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件3606可以用于在硬件电路系统中实施本文档中描述的一些技术。
[0392]
图4是示出可以利用本公开的技术的示例视频编解码系统100的框图。
[0393]
如图4所示,视频编解码系统100可以包括源设备110和目标设备120。源设备110生成编码视频数据,其中该源设备110可以被称为视频编码设备。目标设备120可以解码由源设备110生成的编码视频数据,其中该目标设备120可以被称为视频解码设备。
[0394]
源设备110可以包括视频源112、视频编码器114和输入/输出(i/o)接口116。
[0395]
视频源112可以包括源,诸如视频捕捉设备、从视频内容提供器接收视频数据的接口、和/或用于生成视频数据的计算机图形系统、或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关数据。编解码图片是图片的编解码表示。相关数据可以包括序列参数集、图片参数集和其他语法结构。i/o接口116可以包括调制器/解调器(调制解调器)和/或发射器。编码视频数据可以通过网络130a经由i/o接口116直接发送到目标设备120。编码视频数据也可以存储在存储介质/服务器130b上,以供目标设备120访问。
[0396]
目标设备120可以包括i/o接口126、视频解码器124和显示设备122。
[0397]
i/o接口126可以包括接收器和/或调制解调器。i/o接口126可以从源设备110或存储介质/服务器130b获取编码视频数据。视频解码器124可以对编码视频数据进行解码。显示设备122可以向用户显示解码视频数据。显示设备122可以与目标设备120集成,或者可以在被配置为与外部显示设备接口的目标设备120的外部。
[0398]
视频编码器114和视频解码器124可以根据视频压缩标准进行操作,例如高效视频编解码(hevc)标准、多功能视频编解码(vvc)标准和其他当前和/或另外的标准。
[0399]
图5是示出视频编码器200的示例的框图,该视频编码器200可以是图4所示的系统100中的视频编码器114。
[0400]
视频编码器200可以被配置为执行本公开的任何或所有技术。在图5的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任意或所有技术。
[0401]
视频编码器200的功能组件可以包括分割单元201、预测单元202(其可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲区213和熵编码单元214。
[0402]
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在示例中,预测单元202可以包括帧内块复制(ibc)单元。ibc单元可以执行ibc模式下的预测,其中至少一个参考图片是当前视频块所在的图片。
[0403]
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以高度集成,但是
出于解释的目的,在图5的示例中被单独表示。
[0404]
分割单元201可以将图片分割为一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
[0405]
模式选择单元203可以基于误差结果选择编解码模式(例如,帧内或帧间)之一,并且将作为结果的帧内编解码块或帧间编解码块提供给残差生成单元207以生成残差块数据,以及提供给重构单元212以重构编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测模式的组合(ciip),其中预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以选择块的运动矢量的分辨率(例如,子像素或整数像素精度)。
[0406]
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲区213的一个或多个参考帧与当前视频块进行比较,来生成当前视频块的运动信息。运动补偿单元205可以基于运动信息和来自缓冲区213的除了与当前视频块相关联的图片之外的图片的解码样点,来确定当前视频块的预测视频块。
[0407]
运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,例如,依赖于当前视频块是在i条带、p条带还是b条带中。
[0408]
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以为当前视频块的参考视频块搜索列表0或列表1的参考图片。运动估计单元204然后可以生成指示列表0或列表1中的参考图片的参考索引,该参考索引包含参考视频块和指示当前视频块和参考视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
[0409]
在其他示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可以在列表1中搜索当前视频块的另一个参考视频块。运动估计单元204然后可以生成参考索引,该参考索引指示包含参考视频块的列表0和列表1中的参考图片以及指示参考视频块和当前视频块之间的空域位移的运动矢量。运动估计单元204可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
[0410]
在一些示例中,运动估计单元204可以输出完整的运动信息集,以用于解码器的解码处理。
[0411]
在一些示例中,运动估计单元204可以不输出当前视频的完整的运动信息集。而是运动估计单元204可以参考另一个视频块的运动信息信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与邻近视频块的运动信息足够相似。
[0412]
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示值,该值向视频解码器300指示当前视频块具有与另一个视频块相同的运动信息。
[0413]
在另一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块和运动矢量差(mvd)。运动矢量差指示当前视频块的运动矢量和所指示的视频块的运动矢量之间的差。视频解码器300可以使用所指示的视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
[0414]
如上所讨论的,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实施的预测信令通知技术的两个示例包括高级运动矢量预测(amvp)和merge模式信令通知。
[0415]
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于相同图片中的其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
[0416]
残差生成单元207可以通过从当前视频块中减去(例如,由减号指示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括与当前视频块中样点的不同样点分量相对应的残差视频块。
[0417]
在其他示例中,例如在跳过模式下,对于当前视频块可能没有残差数据,并且残差生成单元207可能不执行减去操作。
[0418]
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来为当前视频块生成一个或多个变换系数视频块。
[0419]
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(qp)值来量化与当前视频块相关联的变换系数视频块。
[0420]
逆量化单元210和逆变换单元211可以分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重构残差视频块。重构单元212可以将重构后的残差视频块添加到来自预测单元202生成的一个或多个预测视频块的对应样点,以产生与当前块相关联的重构视频块,用于存储在缓冲区213中。
[0421]
在重构单元212重构视频块之后,可以执行环路滤波操作,以减少视频块中的视频块效应。
[0422]
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收到数据时,熵编码单元214可以执行一个或多个熵编码操作,以生成熵编码数据,并输出包括该熵编码数据的比特流。
[0423]
所公开的技术的一些实施例包括做出启用视频处理工具或模式的决定或确定。在一个示例中,当启用视频处理工具或模式时,编码器将在视频的块的处理中使用或实施该工具或模式,但可能不一定基于该工具或模式的使用来修改产生的比特流。也就是说,当基于该决定或确定来启用视频处理工具或模式时,从视频的块到视频的比特流(或比特流表示)的转换将使用该视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将在知道比特流已经基于视频处理工具或模式而修改的情况下处理比特流。也就是说,将使用基于该决定或确定而启用的视频处理工具或模式来执行从视频的比特流到视频的块的转换。
[0424]
图6是示出视频解码器300的示例的框图,该视频解码器300可以是图4所示的系统100中的视频解码器114。
[0425]
视频解码器300可以被配置为执行本公开的任何或所有技术。在图6的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任意或所有技术。
[0426]
在图6的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重构单元306和缓冲区307。在一些示例中,视频解码器300可以执行通常与针对视频编码器200(图5)描述的编码过程相反的解码过程。
[0427]
熵解码单元301可以检索编码比特流。编码比特流可以包括熵编解码的视频数据(例如,视频数据的编码块)。熵解码单元301可以对熵编解码的视频数据进行解码,并且从熵解码的视频数据中,运动补偿单元302可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元302可以例如通过执行amvp和merge模式来确定这样的信息。
[0428]
运动补偿单元302可以产生运动补偿块,可以基于插值滤波器执行插值。要以子像素精度使用的插值滤波器的标识符可以包括在语法元素中。
[0429]
运动补偿单元302可以使用如视频编码器200在视频块的编码期间所使用的插值滤波器来计算参考块的子整数像素的插值。运动补偿单元302可以根据所接收的语法信息确定视频编码器200使用的插值滤波器,并使用该插值滤波器来产生预测块。
[0430]
运动补偿单元302可以使用一些语法信息来确定用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸、描述编码视频序列的图片的每个宏块如何被分割的分割信息、指示每个分割如何被编码的模式、每个帧间编码块的一个或多个参考帧(和参考帧列表)、以及用于对编码视频序列进行解码的其他信息。
[0431]
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域上相邻的块形成预测块。逆量化单元303对在比特流中提供并由熵解码单元301解码的量化后的视频块系数进行逆量化,即,反量化。逆变换单元303应用逆变换。
[0432]
重构单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的对应预测块相加,以形成解码块。如果需要,还可以应用去方块滤波器对解码块进行滤波,以便移除块效应。解码视频块然后被存储在缓冲区307中,为随后的运动补偿/帧内预测提供参考块,并且还产生解码视频以在显示设备上呈现。
[0433]
接下来提供一些实施例优选的技术方案的列表。
[0434]
以下技术方案示出了在前一节(例如,第1项)中讨论的技术的示例实施例。
[0435]
1.一种视频处理方法(例如,图3中示出的方法3000),包括执行视频的当前块和视频的编解码表示之间的转换(3002);其中编解码表示符合指定用于在编解码表示中对当前块的符号标志进行编解码的上下文索引偏移在一范围内的格式规则,其中编解码模式的范围函数用于在编解码表示中表示当前块。
[0436]
2.根据技术方案1所述的方法,其中,在编解码模式是特定模式的情况下,该规则指定范围为[n0,n1],否则为[n2,n3]。
[0437]
3.根据技术方案2所述的方法,其中,特定模式是色度或亮度块差分脉冲编解码调制模式。
[0438]
以下技术方案示出了在前一节(例如,第2项)中讨论的技术的示例实施例。
[0439]
4.一种视频处理方法,包括:执行视频的当前块和视频的编解码表示之间的转换;其中编解码表示符合格式规则,该格式规则指定当前块的符号标志根据剩余的上下文编解码二进制位的数量使用上下文编解码二进制位或旁路模式中的一个在编解码表示中被编解码。
[0440]
5.根据技术方案4所述的方法,其中,当且仅当剩余的上下文编解码二进制位的数量小于n时,旁路模式用于编解码,其中n是正整数。
[0441]
6.根据技术方案5所述的方法,其中,当且仅当剩余的上下文编解码二进制位的数量等于n时,旁路模式用于编解码,其中n是正整数。
[0442]
以下技术方案示出了在前一节(例如,第2项)中讨论的技术的示例实施例。
[0443]
7.一种视频处理方法,包括:执行视频的当前块和视频的编解码表示之间的转换;其中该转换使用基于块的增量脉冲编解码调制(bdpcm)模式,其中编解码表示符合格式规则,该格式规则指定来自bdpcm的符号标志在编解码表示中被上下文编解码,使得用于对符号标志进行编解码的上下文索引偏移是当前块的编解码条件的函数。
[0444]
8.根据技术方案7所述的方法,其中,编解码条件对应于序列参数集或视频参数集或图片参数集或图片标头或条带标头或片组标头或逻辑编解码单元级别或lcu组或编解码单元级别中的编解码表示中包括的语法元素。
[0445]
9.根据技术方案7所述的方法,其中,编解码条件对应于当前块和/或邻近块的块维度。
[0446]
以下技术方案示出了在前一节(例如,第4项)中讨论的技术的示例实施例。
[0447]
10.一种视频处理方法,包括:执行视频的当前块和视频的编解码表示之间的转换;其中编解码表示符合格式规则,该格式规则指定至多一次允许编解码表示中对应于按照连续解码顺序并包含单个编解码条带的网络抽象层单元集合的条带单元包括辅助增强信息(sei)的至少一部分。
[0448]
11.根据技术方案10所述的方法,其中,sei的一部分对应于整个sei。
[0449]
12.根据技术方案10所述的方法,其中,sei的一部分对应于特定类型的sei信息字段。
[0450]
以下技术方案示出了在前一节(例如,第5项)中讨论的技术的示例实施例。
[0451]
13.一种视频处理方法,包括:执行视频的当前块和视频的编解码表示之间的转换;其中编解码表示符合格式规则,该格式规则指定编解码表示中对应于按照连续解码顺序并包含单个编解码条带的网络抽象层单元集合的条带单元包括一个或多个视频编解码层网络抽象层(vcl nal)单元,其中该格式规则还指定被允许在条带单元中重复的第一类型的单元和不被允许在条带单元中重复的第二类型的单元。
[0452]
14.根据技术方案13所述的方法,其中,第二类型的单元包括具有一个范围内的类型的单元。
[0453]
以下技术方案示出了在前一节(例如,第6、7项)中讨论的技术的示例实施例。
[0454]
15.一种视频处理方法,包括:根据规则来执行包括一个或多个视频层的视频和视频的编解码表示之间的转换;其中编解码表示包括一个或多个自适应参数集(aps);并且其中该规则指定一个或多个aps中的一些对一个或多个视频层的转换的应用性。
[0455]
16.根据技术方案15所述的方法,其中,该规则指定禁用一个或多个aps中的全部跨一个或多个视频层进行共享。
[0456]
以下技术方案示出了在前一节(例如,第8、9项)中讨论的技术的示例实施例。
[0457]
17.一种视频处理方法,包括:根据规则来执行包括一个或多个视频层的视频和视频的编解码表示之间的转换;其中编解码表示被布置到一个或多个网络抽象层(nal)单元
中;其中编解码表示包括用于控制转换的特性的一个或多个自适应参数集。
[0458]
18.根据技术方案17所述的方法,其中,该规则指定具有特定类型的所有自适应参数集也共享相应标识符值的相同空间值。
[0459]
19.根据技术方案17所述的方法,其中,该规则指定不允许一个或多个视频层共享特定的自适应参数集网络抽象层单元。
[0460]
20.根据技术方案1至19中任一项所述的方法,其中,该转换包括将视频编码为编解码表示。
[0461]
21.根据技术方案1至19中任一项所述的方法,其中,该转换包括对编解码表示进行解码以生成视频的像素值。
[0462]
22.一种视频解码装置,包括被配置为实施根据技术方案1至21中的一项或多项所述的方法的处理器。
[0463]
23.一种视频编码装置,包括被配置为实施根据技术方案1至21中的一项或多项所述的方法的处理器。
[0464]
24.一种存储有计算机代码的计算机程序产品,该代码在由处理器执行时使得处理器实施根据技术方案1至21中任一项所述的方法。
[0465]
25.一种本文档中描述的方法、装置或系统。
[0466]
图9是视频处理的示例方法900的流程图。操作902包括执行视频的当前块和视频的比特流之间的转换,其中比特流符合指定上下文索引偏移用于将第一系数的第一符号标志包括在比特流中的规则,其中该规则指定上下文索引偏移的值基于第一编解码模式是否在比特流中被应用于当前块。
[0467]
在方法900的一些实施例中,该规则指定,在不应用第一编解码模式的情况下,上下文索引偏移的值在从n0到n1的第一范围内,该第一范围包括n0和n1,并且该规则指定,在应用第一编解码模式的情况下,上下文索引偏移的值在从n2到n3的第二范围内,该第二范围包括n2和n3。在方法900的一些实施例中,在第一编解码模式下,使用脉冲编解码调制表示在比特流中表示量化残差和量化残差的预测之间的差。在方法900的一些实施例中,n0、n1、n2和n3分别为0、2、3和5。在方法900的一些实施例中,响应于第一邻近符号值和第二邻近符号值满足第一条件,上下文索引偏移的值等于0或3,并且第一条件是:(1)第一邻近符号值等于0,并且第二邻近符号值等于0,或者(2)第一邻近符号值等于第二邻近符号值的负值,并且其中响应于第一系数的水平坐标为0,第一邻近符号值等于0,并且响应于第一系数的水平坐标不为0,第一邻近符号值等于左邻近系数的符号值,并且响应于第一系数的垂直坐标为0,第二邻近符号值等于0,并且响应于第一系数的垂直坐标不为0,第二邻近符号值等于上邻近系数的符号值。
[0468]
在方法900的一些实施例中,响应于第一编解码模式未被应用于当前块,上下文索引偏移的值等于0,并且响应于第一编解码模式被应用于当前块,上下文索引偏移的值等于3。在方法900的一些实施例中,响应于第一邻近符号值和第二邻近符号值不满足第一条件,并且响应于第一邻近符号值和第二邻近符号值满足第二条件,上下文索引偏移的值等于1或4,并且第二条件是:(1)第一邻近符号值大于或等于0,并且第二邻近符号值大于或等于0。在方法900的一些实施例中,响应于第一编解码模式未被应用于当前块,上下文索引偏移的值等于1,并且响应于第一编解码模式被应用于当前块,上下文索引偏移的值等于4。在方
法900的一些实施例中,响应于第一邻近符号值和第二邻近符号值不满足第一条件和第二条件,上下文索引偏移的值等于2或5。
[0469]
在方法900的一些实施例中,响应于第一编解码模式未被应用于当前块,上下文索引偏移的值等于2,并且响应于第一编解码模式被应用于当前块,上下文索引偏移的值等于5。在方法900的一些实施例中,变换跳过操作被应用于当前块。在方法900的一些实施例中,该规则指定n0、n1、n2和n3基于以下中的任何一个或多个来确定:(1)序列参数集、视频参数集、图片参数集、图片标头、条带标头、片组标头、最大编解码单元行、最大编解码单元组、最大编解码单元或编解码单元中包括的指示,(2)当前块的块维度和/或当前块的邻近块的块维度,(3)当前块的块形状和/或当前块的邻近块的块形状,(4)视频的色彩格式的指示,(5)单独编解码树结构还是双编解码树结构被应用于当前块,(6)当前块所属的条带类型和/或图片类型,以及(7)当前块的色彩分量的数量。
[0470]
图10是视频处理的示例方法1000的流程图。操作1002包括执行视频的当前块和视频的比特流之间的转换,其中比特流符合指定当前块的符号标志基于剩余的上下文编解码二进制位的数量来使用上下文模式和旁路模式中的任何一个而包括在比特流中的规则。
[0471]
在方法1000的一些实施例中,该规则指定,响应于剩余的上下文编解码二进制位的数量小于n,旁路模式用于将符号标志包括在比特流中,其中n是整数。在方法1000的一些实施例中,该规则指定,响应于剩余的上下文编解码二进制位的数量大于或等于n,上下文模式用于将符号标志包括在比特流中,其中n是整数。在方法1000的一些实施例中,该规则指定,响应于剩余的上下文编解码二进制位的数量等于n,旁路模式用于将符号标志包括在比特流中,其中n是整数。在方法1000的一些实施例中,该规则指定,响应于剩余的上下文编解码二进制位的数量大于n,旁路模式用于将符号标志包括在比特流中,其中n是整数。在方法1000的一些实施例中,n等于4。在方法1000的一些实施例中,n等于0。
[0472]
在方法1000的一些实施例中,n是基于以下的整数:(1)序列参数集、视频参数集、图片参数集、图片标头、条带标头、片组标头、最大编解码单元行、最大编解码单元组、最大编解码单元或编解码单元中包括的指示,(2)当前块的块维度和/或当前块的邻近块的块维度,(3)当前块的块形状和/或当前块的邻近块的块形状,(4)视频的色彩格式的指示,(5)单独编解码树结构还是双编解码树结构被应用于当前块,(6)当前块所属的条带类型和/或图片类型,以及(7)当前块的色彩分量的数量。在方法1000的一些实施例中,该规则指定当前块是变换块或变换跳过块。在方法1000的一些实施例中,该规则指定块差分脉冲编解码调制模式被应用于当前块。在方法1000的一些实施例中,该规则指定块差分脉冲编解码调制模式不应用于当前块。
[0473]
图11是视频处理的示例方法1100的流程图。操作1102包括执行视频的当前块和视频的比特流之间的转换,其中比特流符合指定上下文索引偏移用于将当前块的符号标志包括在比特流中的规则,并且其中该规则指定上下文索引偏移基于当前块的信息来确定。
[0474]
在方法1100的一些实施例中,该信息包括序列参数集、视频参数集、图片参数集、图片标头、条带标头、片组标头、最大编解码单元行、最大编解码单元组、最大编解码单元或编解码单元中的指示。在方法1100的一些实施例中,该信息包括当前块的块维度和/或当前块的邻近块的块维度。在方法1100的一些实施例中,该信息包括当前块的块形状和/或当前块的邻近块的块形状。在方法1100的一些实施例中,符号标志的上下文值对于不同的块形
状是单独的。在方法1100的一些实施例中,该信息包括当前块的一个或多个邻近块的一个或多个预测模式。在方法1100的一些实施例中,一个或多个预测模式包括帧内预测模式。在方法1100的一些实施例中,一个或多个预测模式包括帧间预测模式。
[0475]
在方法1100的一些实施例中,符号标志的上下文值对于一个或多个帧间编解码块并且对于一个或多个帧内编解码块是单独的。在方法1100的一些实施例中,该信息包括当前块的邻近块的基于块的增量脉冲编解码调制模式的指示。在方法1100的一些实施例中,该信息包括视频的色彩格式的指示。在方法1100的一些实施例中,该信息包括单独编解码树结构还是双编解码树结构被应用于当前块。在方法1100的一些实施例中,该信息包括当前块所属的条带类型和/或图片类型。在方法1100的一些实施例中,该信息包括当前块的色彩分量的数量。在方法1100的一些实施例中,符号标志的上下文值对于当前块的亮度色彩分量并且对于当前块的色度色彩分量是单独的。在(多个)方法900-1100的一些实施例中,使用二进制增量脉冲编解码调制模式在比特流中表示当前块。
[0476]
图12是视频处理的示例方法1200的流程图。操作1202包括根据规则来执行包括一个或多个视频层的视频和视频的比特流之间的转换,其中该规则指定对视频的多个自适应参数集网络抽象层单元的使用,每个自适应参数集网络抽象层单元具有对应的自适应参数类型值,每个自适应参数集网络抽象层单元与对应的视频层标识符相关联,每个自适应参数集网络抽象层单元是前缀单元或后缀单元,并且该规则指定,响应于多个自适应参数集网络抽象层单元共享相同的自适应参数类型值,多个自适应参数集网络抽象层单元的自适应参数集标识符值属于相同的标识符空间。
[0477]
在方法1200的一些实施例中,该规则指定多个自适应参数集网络抽象层单元共享相同的自适应参数类型值,而不依赖多个自适应参数集网络抽象层单元的多个视频层标识符。在方法1200的一些实施例中,该规则指定多个自适应参数集网络抽象层单元共享相同的自适应参数类型值,而不依赖多个自适应参数集网络抽象层单元是前缀单元还是后缀单元。在方法1200的一些实施例中,多个自适应参数集网络抽象层单元是多个第一模式自适应参数集网络抽象层单元,其中在第一模式下,映射的亮度预测样点基于线性模型来推导,并进一步用于推导亮度重构样点,并且色度残差值基于亮度重构样点进行缩放。在方法1200的一些实施例中,多个自适应参数集网络抽象层单元是多个第二模式自适应参数集网络抽象层单元,其中在第二模式下,亮度重构样点利用基于不同方向上的亮度重构样点之间的差生成滤波器索引的分类操作进行滤波,并且色度重构样点在没有分类操作的情况下进行滤波。
[0478]
图13是视频处理的示例方法1300的流程图。操作1302包括执行视频的当前块和视频的比特流之间的转换,其中比特流符合一规则,该规则指定不允许具有特定特性的第一辅助增强信息消息:(1)响应于具有特定特性的第二辅助增强信息消息被包括在条带单元中而在所述比特流中的条带单元内重复,或者(2)响应于第一辅助增强消息在比特流中的条带单元内而更新,其中条带单元包括按照解码顺序连续的网络抽象层单元集合,并且网络抽象层集合包括单个编解码条带和与该单个编解码条带相关联的一个或多个非视频编解码层网络抽象层单元。
[0479]
在方法1300的一些实施例中,该规则指定,响应于第一辅助增强信息消息具有与条带单元中包括的第二辅助增强信息消息的值相同的特定有效载荷类型的值,不允许第一
辅助增强信息消息在条带单元内被重复。在方法1300的一些实施例中,该规则指定条带单元内特定有效载荷类型的同等语法结构的数量不大于1。在方法1300的一些实施例中,该规则指定,响应于第一辅助增强信息消息具有特定有效载荷类型,不允许第一辅助增强信息消息在条带单元内被重复。在方法1300的一些实施例中,该规则指定条带单元内特定有效载荷类型的语法结构的数量不大于1。
[0480]
在方法1300的一些实施例中,该规则指定,响应于第一辅助增强信息消息具有特定有效载荷类型,不允许第一辅助增强信息消息在条带单元内被更新。在方法1300的一些实施例中,该规则指定条带单元内特定有效载荷类型的一个或多个语法结构具有相同的内容。
[0481]
图14是视频处理的示例方法1400的流程图。操作1402包括执行视频的当前块和视频的比特流之间的转换,其中比特流符合一规则,该规则指定响应于:(1)比特流中的条带单元包括具有与第一非视频编解码层网络抽象层单元相同的特性的第二非视频编解码层网络抽象层单元,以及(2)第一非视频编解码层网络抽象层单元具有除了前缀辅助增强信息或后缀辅助增强信息之外的网络抽象层单元类型,比特流中的条带单元不允许第一非视频编解码层网络抽象层单元的重复。
[0482]
在方法1400的一些实施例中,第二非视频编解码层网络抽象层单元是解码能力信息网络抽象层单元,并且其中该规则指定条带单元内的解码能力信息网络抽象层单元的数量不大于1。在方法1400的一些实施例中,第二非视频编解码层网络抽象层单元是具有特定标识符的视频参数集网络抽象层单元,并且该规则指定条带单元内具有特定标识符的视频参数集网络抽象层单元的数量不大于1。在方法1400的一些实施例中,第二非视频编解码层网络抽象层单元是具有特定标识符的序列参数集网络抽象层单元,并且该规则指定条带单元内具有特定标识符的序列参数集网络抽象层单元的数量不大于1。在方法1400的一些实施例中,第二非视频编解码层网络抽象层单元是具有特定标识符的图片参数集网络抽象层单元,并且该规则指定条带单元内具有特定标识符的图片参数集网络抽象层单元的数量不应当大于1。
[0483]
在方法1400的一些实施例中,第二非视频编解码层网络抽象层单元是具有特定标识符和特定参数类型的自适应参数集网络抽象层单元,并且该规则指定条带单元内具有特定标识符和特定参数类型的自适应参数集网络抽象层单元的数量不大于1。在方法1400的一些实施例中,第二非视频编解码层网络抽象层单元是具有网络抽象层单元的特定类型、特定标识符和特定参数类型的自适应参数集网络抽象层单元,并且该规则指定条带单元内具有网络抽象层单元的特定类型、特定标识符和特定参数类型的自适应参数集网络抽象层单元的数量不大于1。在方法1400的一些实施例中,第二非视频编解码层网络抽象层单元是解码能力信息网络抽象层单元,并且该规则指定,响应于第一非视频编解码层网络抽象层单元是解码能力信息网络抽象层单元,不允许第一非视频编解码层网络抽象层单元在编解码层视频序列或编解码视频序列内被重复。
[0484]
在方法1400的一些实施例中,第二非视频编解码层网络抽象层单元是具有特定标识符的视频参数集网络抽象层单元,并且该规则指定,响应于第一非视频编解码层网络抽象层单元是具有特定标识符的视频参数集网络抽象层单元,不允许第一非视频编解码层网络抽象层单元在编解码层视频序列或编解码视频序列内被重复。在方法1400的一些实施例
中,第二非视频编解码层网络抽象层单元是具有特定标识符的序列参数集网络抽象层单元,并且该规则指定,响应于第一非视频编解码层网络抽象层单元是具有特定标识符的序列参数集网络抽象层单元,不允许第一非视频编解码层网络抽象层单元在编解码层视频序列或编解码视频序列内被重复。
[0485]
图15是视频处理的示例方法1500的流程图。操作1502包括根据规则来执行包括多个视频层的视频和视频的比特流之间的转换,其中该规则指定不允许多个自适应参数集中的哪些自适应参数集跨多个视频层进行共享。
[0486]
在方法1500的一些实施例中,该规则指定不允许多个自适应参数集中的全部被共享。在方法1500的一些实施例中,该规则指定不允许自适应环路滤波器类型的多个自适应参数集被共享。
[0487]
图16是视频处理的示例方法1600的流程图。操作1602包括根据规则来执行包括一个或多个视频层的视频和视频的比特流之间的转换,其中比特流包括一个或多个自适应环路滤波器自适应参数集,并且其中该规则指定是否允许一个或多个自适应环路滤波器自适应参数集在图片单元内被更新。
[0488]
在方法1600的一些实施例中,该规则指定允许一个或多个自适应环路滤波器自适应参数集在图片单元内被更新。在方法1600的一些实施例中,该规则指定没有自适应参数集被允许在图片单元内更新。
[0489]
图17是视频处理的示例方法1700的流程图。操作1702包括根据规则来执行包括一个或多个编解码层视频序列的视频和视频的比特流之间的转换,其中比特流包括自适应环路滤波器自适应参数集,并且其中该规则指定,响应于自适应环路滤波器自适应参数集具有一个或多个特定特性,不允许自适应环路滤波器自适应参数集跨一个或多个编解码层视频序列进行共享。
[0490]
在方法1700的一些实施例中,一个或多个特定特性包括具有特定网络抽象层单元类型的自适应环路滤波器自适应参数集。在方法1700的一些实施例中,一个或多个特定特性包括具有特定标识符的自适应环路滤波器自适应参数集。在方法1700的一些实施例中,一个或多个特定特性包括具有特定参数类型的自适应环路滤波器自适应参数集。在方法1700的一些实施例中,该规则指定第一编解码层视频序列中的视频编解码层网络抽象层单元所参考的自适应环路滤波器自适应参数集不与第二编解码层视频序列中的非视频编解码层网络抽象层单元相关联,并且第一编解码层视频序列不同于第二编解码层视频序列。在方法1700的一些实施例中,该规则指定与第一帧内随机接入图片相关联的视频编解码层网络抽象层单元所参考的自适应环路滤波器自适应参数集不与和第二帧内随机接入图片相关联的非视频编解码层网络抽象层单元相关联,并且第一帧内随机接入图片不同于第二帧内随机接入图片。
[0491]
在方法1700的一些实施例中,该规则指定与第一帧内随机接入图片或第一逐渐解码刷新图片相关联的视频编解码层网络抽象层单元所参考的自适应环路滤波器自适应参数集不与和第二帧内随机接入图片或第二逐渐解码刷新图片相关联的非视频编解码层网络抽象层单元相关联,并且第一帧内随机接入图片或第一逐渐解码刷新图片不同于第二帧内随机接入图片或第二逐渐解码刷新图片。在方法1700的一些实施例中,该规则指定自适应环路滤波器自适应参数集被包括在不跨视频的一个或多个编解码视频序列进行共享的、
视频的一个或多个自适应参数集中。在方法1700的一些实施例中,该规则指定不允许属于特定类型的一个或多个自适应参数集跨一个或多个编解码视频序列进行共享。在方法1700的一些实施例中,特定类型包括自适应环路滤波器自适应参数集。在方法1700的一些实施例中,特定类型包括亮度映射与色度缩放自适应参数集。在方法1700的一些实施例中,特定类型包括缩放自适应参数集。
[0492]
在(多个)方法900-1700的一些实施例中,执行转换包括将视频编码为比特流。在(多个)方法900-1700的一些实施例中,执行转换包括从视频生成比特流,并且该方法还包括将比特流存储在非暂时性计算机可读记录介质中。在(多个)方法900-1700的一些实施例中,执行转换包括从比特流解码视频。在一些实施例中,一种视频解码装置,包括被配置为实施针对(多个)方法900-1700描述的操作的处理器。
[0493]
在一些实施例中,一种视频编码装置,包括被配置为实施针对(多个)方法900-1700描述的操作的处理器。在一些实施例中,一种存储有计算机指令的计算机程序产品,该指令在由处理器执行时使得处理器实施针对(多个)方法900-1700描述的操作。在一些实施例中,一种非暂时性计算机可读存储介质,存储根据针对(多个)方法900-1700描述的操作而生成的比特流。在一些实施例中,一种存储指令的非暂时性计算机可读存储介质,该指令使得处理器实施针对(多个)方法900-1700描述的操作。在一些实施例中,一种比特流生成的方法,包括:根据针对(多个)方法900-1700描述的操作来生成视频的比特流,以及将比特流存储在计算机可读程序介质上。在一些实施例中,一种方法、一种装置、一种根据本文档中描述的所公开的方法或系统生成的比特流。
[0494]
在本文中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,可以在从视频的像素表示到对应的比特流表示的转换期间应用视频压缩算法,反之亦然。例如,当前视频块的比特流表示可以对应于由语法定义的比特流中的并置位置或在不同位置传播的比特。例如,可以根据经过变换和编码的误差残差值、并且也可以使用比特流中的标头和其他字段中的比特对宏块进行编码。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上技术方案所描述的。类似地,编码器可以确定包括或不包括特定语法字段,并通过包括语法字段或从编解码表示中排除语法字段来相应地生成编解码表示。
[0495]
本文中描述的所公开的和其他技术方案、示例、实施例、模块和功能操作可以在数字电子电路或计算机软件、固件或硬件中实现,包括本文中公开的结构及其结构等效物,或者其中一个或多个的组合。所公开的实施例和其他实施例可以实现为一个或多个计算机程序产品,即在计算机可读介质上编码以供数据处理装置执行或控制其操作的计算机程序指令的一个或多个模块。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质的组合,或者一个或多个它们的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除硬件外,装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或其中一个或多个的组合的代码。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成以编码信息以传输到合适的接收器装置。
[0496]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语
言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、分量、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标志语言文件中的一个或多个脚本)、专用于该程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。
[0497]
本文件中描述的处理和逻辑流可以通过一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过在输入数据上操作并生成输出来执行功能。处理和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实现为特殊用途的逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。
[0498]
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或通过操作耦合到一个或多个大容量存储设备来从其接收数据或将数据传输到一个或多个大容量存储设备,或两者兼有。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如,帧内硬盘或可移动硬盘;磁光盘;以及cd rom和dvd rom盘。处理器和存储器可以由专用逻辑电路来补充,或并入专用逻辑电路中。
[0499]
虽然本专利文件包含许多细节,但不应将其解释为对任何主题或权利要求范围的限制,而应解释为对特定技术的特定实施例的特征的描述。本专利文件在单独实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中单独实施,或在任何合适的子组合中实施。此外,尽管上述特征可以描述为在某些组合中起作用,甚至最初要求是这样,但在某些情况下,可以从组合中移除权利要求组合中的一个或多个特征,并且权利要求的组合可以指向子组合或子组合的变体。
[0500]
类似地,尽管附图中以特定顺序描述了操作,但这不应理解为要获得想要的结果必须按照所示的特定顺序或顺序执行此类操作,或执行所有说明的操作。此外,本专利文档实施例中各种系统组件的分离不应理解为在所有实施例中都需要这样的分离。
[0501]
仅描述了一些实现和示例,其他实施、增强和变体可以基于本专利文件中描述和说明的内容做出。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献