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

基于色彩格式的视频区分割的制作方法

2022-04-14 04:37:20 来源:中国专利 TAG:

基于色彩格式的视频区分割
1.相关申请的交叉引用
2.在适用专利法和/或根据巴黎公约的规则下,本技术即时要求提交于2019年9月2日的国际专利申请no.pct/cn2019/103959的优先权和权益。出于法律下的全部目的,前述申请的全部公开通过引用并入作为本技术的公开的一部分。
技术领域
3.本文档涉及视频和图像编解码和解码技术。


背景技术:

4.数字视频占据互联网和其他数字通信网络上使用的最大带宽。随着连接的能够接收和显示视频的用户装置的数目不断增大,预计数字视频使用的带宽需求将持续增长。


技术实现要素:

5.本公开技术可以由在视频编解码或解码中使用参考图片的视频或图像解码器或编码器实施例来使用。
6.在一个示例性方面中,公开了视频处理的方法。方法包含:为视频的视频区与视频的编解码表示之间的转换,根据规则基于视频的色彩格式确定视频区的帧内编解码特性;以及根据帧内编解码特性进行转换。
7.在另一示例性方面中,公开了另一视频处理的方法。方法包含:进行视频的当前视频块与视频的编解码表示之间的转换,其中编解码表示符合格式规则,并且其中格式规则指定语法元素modetype,其指示当前视频块的编解码模式,等于mode_type_no_inter或mode_type_no_intra,mode_type_no_inter限制对转换使用帧间编解码模式,mode_type_no_intra限制对转换使用帧内模式。
8.在另一示例性方面中,公开了另一视频处理的方法。方法包含:进行视频与视频的编解码表示之间的转换,其中编解码表示符合格式规则,该格式规则指定标志,该标志指示,在视频的色度格式是4:2:2、4:0:0,或4:4:4的情况下,预测模式约束不被包含在编解码表示中。
9.在另一示例性方面中,公开了另一视频处理的方法。方法包含:为视频的视频区与视频的编解码表示之间的转换,根据规则确定对视频区是否和/或如何启用对最小色度帧内预测块的尺寸的限制;以及基于确定进行转换,其中规则取决于视频的色彩格式是4:2:0还是4:2:2。
10.在另一示例性方面中,公开了另一视频处理的方法。方法包含:为视频的视频区与视频的编解码表示之间的转换,根据规则确定对视频区是否启用对最小色度帧内预测块的尺寸的限制;以及基于确定进行转换,其中规则取决于视频的色彩格式和/或视频区的宽度(m)和高度(n),并且其中规则还指定,对于作为具有bt(二叉树)划分的编解码树节点的视频区,则在以下情况下禁用对最小色度帧内预测块的限制:1)视频的色彩格式是4:2:2;并
且2)m和n的乘积是来自值的集合的值,其中值的集合包含64。
11.在另一示例性方面中,公开了另一视频处理的方法。方法包含:根据对最小色度帧内预测块尺寸的限制进行视频的视频区与视频的编解码表示之间的转换,其中编解码表示符合格式规则,该规则由于视频的4:2:2色彩格式而指定在编解码表示中的语法字段的值。
12.在另一示例性方面中,公开了另一视频处理的方法。方法包含:为视频的当前视频块与视频的编解码表示之间的转换,根据规则确定分割方案对当前视频块的适用性;以及基于确定进行转换。
13.在另一示例性方面中,公开了另一视频处理的方法。方法包含为视频的视频块与视频的编解码表示之间的转换,根据规则确定是否启用帧间模式,以及基于确定进行转换,其中规则指定在对视频块启用亮度样点的双树分割的情况下启用帧间模式。
14.在另一示例性方面中,公开了另一视频处理的方法。方法包含:为视频的视频区与视频的编解码表示之间的转换,基于规则确定对视频区是否允许使用调色板模式;以及基于确定进行转换,其中调色板模式包含使用代表性样点值的调色板编码视频区。
15.在另一示例性方面中,公开了另一视频处理的方法。方法包含:进行视频的当前视频块与视频的编解码表示之间的转换,其中编解码表示符合格式规则,其中该格式规则指定语法元素modetype,语法元素modetype包含mode_type_ibc或mode_type_palette,mode_type_ibc允许对转换使用帧内块复制模式,mode_type_palette允许对转换使用调色板模式,其中帧内块复制模式包含至少使用指向含有当前视频块的视频帧的块矢量编码当前视频块,并且其中调色板模式包含使用代表性样点值的调色板编码当前视频块。
16.在另一示例性方面中,公开了另一视频处理的方法。方法包含:为视频的当前视频块与视频的编解码表示之间的转换,根据规则确定对当前视频块是否允许某分割方案,规则取决于用于在编解码表示中表示当前视频块的编解码模式类型和当前视频块的维度;以及基于确定进行转换。
17.在另一示例性方面中,公开了另一视频处理的方法。方法包含:进行视频的视频块与视频的编解码表示之间的转换,其中编解码表示符合格式规则,其中格式规则指定视频块的特性控制编解码表示中的语法元素是否指示视频块的预测模式。
18.在另一示例性方面中,公开了另一视频处理的方法。方法包含:进行视频的第一分量的视频区与视频的编解码表示之间的转换,其中编解码表示符合格式规则,其中格式规则指定,是否和/或如何在编解码表示中将语法字段配置为指示视频区的差分量化参数取决于用于划分第一分量的样点的划分方案。
19.在另一示例性方面中,公开了另一视频处理的方法。方法包含:根据规则进行视频的第一分量的视频区与视频的编解码表示之间的转换,其中在双树和/或局部双树编解码结构被应用于视频区的情况下,规则指定与第一分量的差分量化参数有关的变量在视频的第二分量的解码或解析过程期间不被修改。
20.在又一示例性方面中,上述方法可以由包括处理器的视频编码器设备实现。
21.在又一示例性方面中,上述方法可以由包括处理器的视频解码器设备实现。
22.在又一示例性方面中,这些方法可以实施为处理器可执行指令的形式并储存在计算机可读程序介质上。
23.本文档中进一步描述了这些和其他方面。
附图说明
24.图1示出了帧内块复制编解码工具的示例。
25.图2示出了以调色板模式编解码的块的示例。
26.图3示出了使用调色板预测器来信令通知调色板条目的示例。
27.图4示出了水平和垂直遍历扫描的示例的示例。
28.图5示出了调色板索引的编解码的示例。
29.图6示出了67个帧内预测模式的示例。
30.图7示出了当前块的左侧和上方邻域的示例。
31.图8示出了alf滤波形状(色度:5
×
5菱形,亮度:7
×
7菱形)的示例。
32.图9示出了子采样拉普拉斯算子计算的示例。
33.图10示出了在虚拟边界处的修改的块分类的示例。
34.图11是虚拟边界处的亮度分量的修改的alf滤波的示例性图示。
35.图12示出了eo中的像素分类的四个一维3像素图案的示例。
36.图13示出了四个带(band)被分组在一起且由其起始带位置表示。
37.图14示出了ciip权重导出中使用的顶部和左侧邻域块。
38.图15示出了具有色度缩放的亮度映射架构。
39.图16示出了scipu的示例。
40.图17是用于实现本文档中所描述的技术的硬件平台的示例的框图。
41.图18是示例性视频处理的方法的流程图。
42.图19示出了空域merge候选的位置的示例。
43.图20示出了为空域merge候选的冗余检查考虑的候选对的示例。
44.图21a至图21g是视频处理的示例性方法的流程图。
具体实施方式
45.本文档提供了可以由图像或视频比特流的解码器使用的各种技术,以改善解压缩或解码的数字视频或图像的质量。为简洁起见,术语“视频”在本文中用于包含图片的序列(传统上称为视频)和单独的图像。此外,视频编码器还可在编码过程期间实施这些技术,以便重构用于进一步编码的解码帧。
46.在本文档中使用章节标题是为了易于理解,并且不将实施例和技术限于对应的章节。因此,来自一个章节的实施例可以与其他章节的实施例组合。
47.1.概述
48.本文档涉及视频编解码技术。具体地,其涉及调色板编解码,其在视频编解码中采用基于基色的表示。其可以应用于如hevc的现有视频编解码标准,或尚待定案的标准(多功能视频编解码)。其还可以适用于未来视频编解码标准或视频编解码器。
49.2.初始讨论
50.视频编解码标准已经主要通过熟知的itu-t和iso/iec标准的发展而演进。itu-t制作了h.261和h.263,iso/iec制作了mpeg-1和mpeg-4visual,并且两个组织联合地制作了h.262/mpeg-2视频和h.264/mpeg-4先进视频编解码(avc)和h.265/hevc标准。自从h.262,视频编解码标准是基于混合视频编解码结构,其中采用时域预测加上变换编解码。为了探
索超越hevc的未来视频编解码技术,联合视频探索小组(jvet)在2015年由vceg和mpeg联合地成立。自此,许多新的方法已经被jvet采用并置入名为联合探索模型(jem)的参考软件中。在2018年4月,vceg(q6/16)与iso/iec jtc1 sc29/wg11(mpeg)之间创立了联合视频专家小组(jvet),以研究vvc标准,目标为与hevc相比减少50%比特率。
51.2.1帧内块复制
52.帧内块复制(ibc)(又称当前图片参考)已经被采用在hevc屏幕内容编解码扩展(hevc-scc)和当前vvc测试模型(vtm-4.0)中。ibc将运动补偿的概念从帧间编解码扩展到帧内编解码。如图1所展示,由在应用ibc时相同图片中的参考块预测当前块。参考块中的样点在当前块被编解码或解码之前必须已经重构。虽然ibc对于大多数相机捕捉的序列并不很高效,但其示出了对屏幕内容的显著编解码增益。原因在于存在许多重复图案,诸如屏幕内容图片中的图标和文本字符。ibc可以有效地移除这些重复的图案之间的冗余。在hevc-scc中,帧间编解码的编解码单元(cu)如果选择当前图片作为其参考图片则可以应用ibc。mv在此情况下被重命名为块矢量(bv),并且bv总是具有整数像素精度。为了与主要配置文件(profile)的hevc兼容,当前图片在解码图片缓冲器(dpb)中被标记为“长期”参考图片。应注意到,相似地,在多视图/3d视频编解码标准中,视图间参考图片也被标记为“长期”参考图片。
53.bv找到其参考块之后,可以通过复制参考块生成预测。可以通过从原始信令通知减去参考像素而得到残差。然后可以如其他编解码模式般应用变换和量化。
54.图1是帧内块复制的图示。
55.然而,当参考块在图片之外或与当前块重叠或在重构的区域之外或在由一些约束限制的有效区域之外时,未定义部分或全部像素值。基本上,存在两种方案来解决这样的问题。一种方案是例如在比特流一致性中不允许这样的情况。另一种方案是对这些未定义的像素值应用填充。以下子章节详细描述所述方案。
56.2.2 hevc屏幕内容编解码扩展中的ibc
57.在hevc的屏幕内容编解码扩展中,当块使用当前图片作为参考时,应当保证整个参考块在可用重构区域内,如以下规范文本中所指示:
58.变量offsetx和offsety的导出如下:
59.offsetx=(chromaarraytype==0)?0:(mvclx[0]&0x7?2:0)
ꢀꢀ
(8-104)
[0060]
offsety=(chromaarraytype==0)?0:(mvclx[1]&0x7?2:0)
ꢀꢀ
(8-105)
[0061]
比特流一致性的要求为,当参考图片是当前图片时,亮度运动矢量mvlx应当遵循以下约束:
[0062]-当以将设置为(xcb,ycb)的(xcurr,ycurr)、将设置为等于(xpb (mvlx[0]》》2)-offsetx,ypb (mvlx[1]》》2)-offsety)的邻域亮度位置(xnby,ynby)作为输入调用第6.4.1节中指定的z扫描顺序块可用性的导出过程时,输出应当等于真(true)。
[0063]-当以将设置为(xcb,ycb)的(xcurr,ycurr)、将设置为等于(xpb (mvlx[0]》》2) npbw-1 offsetx,ypb (mvlx[1]》》2) npbh-1 offsety)的相邻亮度位置(xnby,ynby)作为输入调用第6.4.1节中指定的z扫描顺序块可用性的导出过程时,输出应当等于真
[0064]-以下条件中的一者或两者应当为真:
[0065]-(mvlx[0]》》2) npbw xb1 offsetx的值小于或等于0。
[0066]-(mvlx[1]》》2) npbh yb1 offsety的值小于或等于0。
[0067]-以下条件应当为真:
[0068]
(xpb (mvlx[0]》》2) npbsw-1 offsetx)/ctbsizey-xcurr/ctbsizey《=ycurr/ctbsizey-(ypb (mvlx[1]》》2) npbsh-1 offsety)/ctbsizey
ꢀꢀ
(8-106)
[0069]
从而,参考块与当前块重叠或参考块在图片之外的情况将不会发生。不需要填充参考或预测块。
[0070]
2.3 vvc测试模型中的ibc
[0071]
在当前vvc测试模型(即,vtm-4.0设计)中,整个参考块应当在当前编解码树单元(ctu)中且不与当前块重叠。从而,不需要填充参考或预测块。ibc标志被编解码为当前cu的预测模式。从而,对每个cu总共存在三个预测模式mode_intra、mode_inter和mode_ibc。
[0072]
2.3.1 ibc merge模式
[0073]
在ibc merge模式中,从比特流解析指向ibc merge候选列表中的条目的索引。ibc merge列表的构建可以根据以下步骤的序列概括:
[0074]
·
步骤1:空域候选的导出
[0075]
·
步骤2:hmvp候选的插入
[0076]
·
步骤3:成对平均候选的插入
[0077]
在空域merge候选的导出中,从位于图19中所示的位置的候选中选择最多四个merge候选。导出的顺序是a1,b1,b0,a0和b2。仅在位置a1,b1,b0,a0的任何pu不可用(例如因为其属于另一条带或片)或用ibc模式编解码时才考虑位置b2。在位置a1处的候选被添加之后,插入其余候选经受冗余检查,其确保具有相同运动信息的候选被从列表排除,使得编解码效率改善。为降低计算复杂度,在提到的冗余检查中不考虑所有可能的候选对。替代地,仅在图20中用箭头联接的对被考虑,并且只有用于冗余检查的对应的候选不具有相同的运动信息才将候选添加到列表。
[0078]
在插入空域候选之后,如果ibc merge列表尺寸仍小于最大ibc merge列表尺寸,则来自hmvp表的ibc候选可以被插入。当插入hmvp候选时进行冗余检查。
[0079]
最终,成对平均候选被插入到ibc merge列表中。
[0080]
当由merge候选识别的参考块在图片之外或与当前块重叠或在重构区域之外或在由一些约束限制的有效区域之外时,merge候选称为无效merge候选。
[0081]
注意到,无效merge候选可以被插入到ibcmerge列表中。
[0082]
2.3.2 ibc amvp模式
[0083]
在ibc amvp模式中,从比特流中解析出指向ibc amvp列表中的条目的amvp索引。ibc amvp列表的构建可以根据以下步骤的序列来概括:
[0084]
·
步骤1:导出空域候选
[0085]

检查a0,a1直到找到可用候选。
[0086]

检查b0,b1,b2直到找到可用候选。
[0087]
·
步骤2:插入hmvp候选
[0088]
·
步骤3:插入零候选
[0089]
在插入空域候选之后,如果ibc amvp列表尺寸仍小于最大ibc amvp列表尺寸,则来自hmvp表的ibc候选可以被插入。
[0090]
最终,零候选被插入到ibc amvp列表中。
[0091]
2.4调色板模式
[0092]
调色板模式背后的基本思想是cu中的样点由代表性色彩值的小集合表示。该集合被称为调色板。并且可以通过信令通知逸出符号和之后的(可能量化的)分量值而指示调色板外部的样点。这种样点称为逸出样点。图2中图示了调色板模式。
[0093]
图2示出了以调色板模式编解码的块的示例。
[0094]
2.5 hevc屏幕内容编解码扩展(hevc-scc)中的调色板模式
[0095]
在hevc-scc中的调色板模式中,使用预测性方式来编解码调色板和索引图。
[0096]
2.5.1调色板条目的编解码
[0097]
对于调色板条目的编解码,保持调色板预测器。在sps中信令通知调色板的最大尺寸以及调色板预测器。在hevc-scc中,在pps中引入palette_predictor_initializer_present_flag。当该标志为1时,在比特流中信令通知用于初始化调色板预测器的条目。在每个ctu行、每个条带和每个片的开始处初始化调色板预测器。取决于palette_predictor_initializer_present_flag的值,调色板预测器被重设为0或使用pps中信令通知的调色板预测器初始化器条目进行初始化。在hevc-scc中,启用尺寸0的调色板预测器初始化器,以允许在pps级显式禁用调色板预测器初始化。
[0098]
对于调色板预测器中的每个条目,信令通知重复使用标志以指示其是否是当前调色板的一部分。这如图3所示。使用零的游程长度(run-length)编解码发送重复使用标志。之后,使用0阶指数golomb码来信令通知新的调色板条目的数目。最终,信令通知新的调色板条目的分量值。
[0099]
图3示出了使用调色板预测器来信令通知调色板条目的示例。
[0100]
2.5.2编解码调色板索引
[0101]
使用图4中所示的水平和垂直遍历扫描编解码调色板索引。使用palette_transpose_flag在比特流中显式地信令通知扫描顺序。对于子章节的其余部分,假设扫描是水平的。
[0102]
图4示出了水平和垂直遍历扫描的示例。
[0103]
使用两个主要调色板样点模式编解码调色板索引:

index’和

copy_above’。如之前解释的,逸出符号也作为

index’模式被信令通知并分配等于最大调色板尺寸的索引。使用除顶部行以外的标志或者当之前的模式是

copy_above’时信令通知模式。在

copy_above’模式中,上方行中的样点的调色板索引被复制。在

index’模式下,显式地信令通知调色板索引。对于

index’和

copy_above’模式两者,都信令通知游程值,该值指定也使用相同模式进行编解码的后续样点的数目。当逸出符号是

index’和

copy_above’模式中的游程的一部分时,对每个逸出符号信令通知逸出分量值。图5中图示了调色板索引的编解码。
[0104]
该语法顺序如下完成。首先信令通知cu的索引值的数目。这之后是使用截断的二进制编解码信令通知整个cu的实际索引值。索引的数目以及索引值两者都以旁路模式编解码。这将索引相关的旁路二进制数(bin)分组在一起。然后以交错方式信令通知调色板样点模式(如果需要)和游程。最终,将与整个cu的逸出样点相对应的分量逸出值分组在一起,并以旁路模式进行编解码。
[0105]
在信令通知索引值之后信令通知附加语法元素last_run_type_flag。结合索引的数目,该语法元素消除对信令通知与块中的最后的游程相对应的游程值的需求。
[0106]
在hevc-scc中,还对4:2:2、4:2:0和单色色度格式启用调色板模式。对于全部色度格式,调色板条目和调色板索引的信令通知几乎相同。在非单色格式的情况下,每个调色板条目由3个分量构成。对于单色格式,每个调色板条目由单个分量构成。对于子采样的色度方向,色度样点与可被2整除的亮度样点索引相关联。在为cu重构的调色板索引之后,如果样点仅具有与之相关联的单个分量,则仅适用调色板条目的第一分量。信令通知上的唯一区别在于关于逸出分量值。对于每个逸出样点,取决于与该样点相关联的分量的数目,信令通知的逸出分量值的数目可以不同。
[0107]
在vvc中,在编解码帧内条带中使用双树编解码结构,因此亮度分量和两个色度分量可以具有不同的调色板和调色板索引。此外,两个色度分量共享相同的调色板和调色板索引。
[0108]
图5示出了调色板索引的编解码的示例。
[0109]
2.6 vvc中的帧内模式编解码
[0110]
为了捕捉自然视频中出现的任意边缘方向,vtm5中的方向性帧内模式的数目被从hevc中使用的33个扩展到65个。不在hevc中的新的方向模式被描绘为图6中的红色虚线箭头,并且平面和dc模式保持相同。这些较密的方向性帧内预测模式应用于全部块尺寸且应用于亮度和色度帧内预测两者。
[0111]
在vtm5中,对于非正方形块,若干常规角度帧内预测模式使用广角帧内预测模式自适应地替换。
[0112]
在hevc中,每个帧内编解码块具有正方形形状,并且其每侧边的长度是2的幂。从而,不需要除法运算来使用dc模式生成帧内预测器。在vtm5中,块可以具有长方形形状,这通常情况下需要对每块使用除法运算。为了避免用于dc预测的除法运算,仅长侧边用于计算非正方形块的平均。
[0113]
图6示出了67个帧内预测模式的示例。
[0114]
为了保持最可能模式(mpm)列表生成的低复杂度,通过考虑两个可用邻域帧内模式,使用具有6个mpm的帧内模式编解码方法。考虑以下三个方面来构建mpm列表:
[0115]-默认帧内模式
[0116]-邻域帧内模式
[0117]-导出帧内模式
[0118]
无论是否应用mrl和isp编解码工具,统一的6-mpm列表都用于帧内块。基于左侧和上方邻域块的帧内模式构建mpm列表。假设左侧块的模式指代为left且上方块的模式指代为above,则统一mpm列表构建如下(左侧和上方块在图7中示出):
[0119]
图7是当前块的左侧和上方邻域的示例。
[0120]

当邻域块不可用时,其帧内模式默认被设定为平面。
[0121]

如果模式left和above都是非角度模式:
[0122]

mpm列表

{平面,dc,v,h,v-4,v 4}
[0123]

如果模式left和above中的一个是角度模式,并且另一个是非角度模式:
[0124]

设定模式max作为left和above中的较大模式
[0125]

mpm列表

{平面,max,dc,max-1,max 1,max-2}
[0126]

如果left和above都是角度模式且它们不同:
[0127]

设定模式max作为left和above中的较大模式
[0128]

如果模式left和above的差在2至62的范围内(含端值)
[0129]

mpm列表

{平面,left,above,dc,max-1,max 1}
[0130]

否则
[0131]

mpm列表

{平面,left,above,dc,max-2,max 2}
[0132]

如果left和above都是角度模式且它们相同:
[0133]

mpm列表

{平面,left,left-1,left 1,dc,left-2}
[0134]
另外,mpm索引码字的第一二进制数是cabac上下文编解码的。使用总共三个上下文,对应于当前帧内块是启用mrl、启用isp还是正常帧内块。
[0135]
在6个mpm列表生成过程期间,使用裁剪来移除重复模式,使得仅唯一模式可以被包含在mpm列表中。对于61个非mpm模式的熵编解码,使用截断二进制编解码(tbc)。
[0136]
对于色度帧内模式编解码,对色度帧内模式编解码允许总共8个帧内模式。这些模式包含五个传统帧内模式和三个跨分量线性模型模式(cclm、lm_a和lm_l)。色度模式信令通知和导出过程如表2-4中示出。色度模式编解码直接取决于对应的亮度块的帧内预测模式。因为i条带中对亮度和色度分量启用分开的块分割结构,一个色度块可以对应于多个亮度块。因此,对于色度dm模式,覆盖当前色度块的中央位置的对应的亮度块的帧内预测模式被直接继承。
[0137]
表2-4

当启用cclm_时从亮度模式导出色度预测模式
[0138][0139]
2.7量化残差块差分脉冲编解码调制(qr-bdpcm)
[0140]
在jvet-m0413中,提出量化残差块差分脉冲编解码调制(qr-bdpcm)以高效编解码屏幕内容。
[0141]
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被信令通知时:
[0142][0143]
对于水平预测,适用相似规则,并且通过以下获得残差量化的样点
[0144][0145]
残差量化的样点被发送到解码器。
[0146]
在解码器侧,逆向进行以上计算以产生q(r
i,j
),0≤i≤m-1,0≤j≤n-1。对于垂直预测情况,
[0147][0148]
对于水平情况,
[0149][0150]
逆量化的残差q-1
(q(r
i,j
))被添加到帧内块预测值以产生重构的样点值。
[0151]
该方案的主要优点在于,可以在系数解析期间即时完成逆dpcm,在系数被解析时简单地添加预测器或可以在解析之后进行逆dpcm。
[0152]
2.8自适应环路滤波器
[0153]
在vtm5中,应用了具有基于块的滤波器自适应的自适应环路滤波(alf)。对于亮度分量,基于局部梯度的方向和活动度,对每个4
×
4块选择25个滤波器中的一个。
[0154]
2.8.1.1滤波器形状
[0155]
在vtm5中,使用两个菱形滤波器形状(如图8所示)。7
×
7菱形形状应用于亮度分量,且5
×
5菱形形状应用于色度分量。
[0156]
图8示出了alf滤波器形状的示例(色度:5
×
5菱形,亮度:7
×
7菱形)
[0157]
2.8.1.2块分类
[0158]
对于亮度分量,每个4
×
4块被归类为25类中的一个。基于其方向性d和活动度的量化值导出分类索引c,如下:
[0159][0160]
为计算d和首先使用一维拉普拉斯算子计算水平、垂直和两个对角方向的梯度:
[0161]
[0162][0163][0164][0165]
其中索引i和j指代4
×
4块内的左上方样点的坐标,并且r(i,j)指示坐标(i,j)处的重构样点。
[0166]
为降低块分类的复杂度,应用子采样的一维拉普拉斯算子计算。如图9所示,相同子采样位置用于全部方向的梯度计算。
[0167]
图9示出了子采样的拉普拉斯算子计算的示例。(a)垂直梯度的子采样位置(b)水平梯度的子采样位置(c)对角梯度的子采样位置(d)对角梯度的子采样位置。
[0168]
然后,水平和垂直方向的梯度的d最大和最小值设定为:
[0169][0170]
两个对角方向的梯度的最大和最小值设定为:
[0171][0172]
为了导出方向性d的值,这些值被彼此比较并与两个阈值t1和t2比较:
[0173]
步骤1.如果和都为真,则d被设定为0。
[0174]
步骤2.如果则从步骤3继续;否则从步骤4继续。
[0175]
步骤3.如果则d被设定为2;否则d被设定为1。
[0176]
步骤4.如果则d被设定为4;否则d被设定为3。
[0177]
活动度值a被计算为:
[0178][0179]
a被进一步量化到0至4的范围(含端值),并且量化值指代为
[0180]
对于图片中的色度分量,不应用分类方法,即,alf系数的单个集合应用于每个色度分量。
[0181]
2.8.1.3滤波器系数和修剪值的几何变换
[0182]
在滤波每个4
×
4亮度块之前,诸如旋转或对角和垂直翻转的几何变换被应用于滤波器系数f(k,l)和对应的滤波器修剪值c(k,l),取决于对该块计算的梯度值。这等同于将这些变换应用于滤波支持区域中的样点。该思想是使应用alf的不同块通过对准它们的方向性而更加相似。
[0183]
引入三个几何变换,包含对角、垂直翻转和旋转:
[0184]
对角:fd(k,l)=f(l,k),cd(k,l)=c(l,k),
ꢀꢀ
(2-9-9)
[0185]
垂直翻转:fv(k,l)=f(k,k-l-1),cv(k,l)=c(k,k-l-1)
ꢀꢀ
(2-9-10)
[0186]
旋转:fr(k,l)=f(k-l-1,k),cr(k,l)=c(k-l-1,k)
ꢀꢀ
(2-9-11)
[0187]
其中k是滤波器的尺寸,并且0≤k,l≤k-1是系数坐标,使得位置(0,0)在左上角而位置(k-1,k-1)在右下角。变换被应用于滤波器系数f(k,l)和修剪值c(k,l),取决于对该块计算的梯度值。下表总结了变换与四个方向的四个梯度之间的关系。
[0188]
表2-5

对于一个块而计算的梯度与变换的映射
[0189]
梯度值变换g
d2
《g
d1
且gh《gv无变换g
d2
《g
d1
且gv《gh对角g
d1
《g
d2
且gh《gv垂直翻转g
d1
《g
d2
且gv《gh旋转
[0190]
2.8.1.4滤波器参数信令通知
[0191]
在vtm5中,在自适应参数集(aps)中信令通知alf滤波器参数。在一个aps中,可以信令通知修剪值索引和亮度滤波器系数的多至25个集合,以及修剪值索引和色度滤波器系数的多至一个集合。为了减少比特开销,可以合并不同分类的滤波器系数。在条带头中,信令通知用于当前条带的aps的索引。
[0192]
从aps解码的修剪值索引允许使用修剪值的亮度表和修剪值的色度表确定修剪值。这些修剪值取决于内部比特深度。更准确地,修剪值的亮度表和修剪值的色度表由以下公式获得:
[0193][0194]
其中b等于内部比特深度且n等于4,其为vtm5.0中允许的修剪值的数目。
[0195]
滤波过程可以在ctb级控制。总是信令通知标志,以指示alf是否被应用于亮度ctb。亮度ctb可以从16个固定滤波器集合和来自aps的滤波器集合中选择滤波器集合。信令通知用于亮度ctb的滤波集合索引,以指示应用哪个滤波器集合。16个固定滤波集合在编码器和解码器两者中是预定义的且硬编解码的。
[0196]
滤波器系数被以等于128的范数(norm)量化。为了限制乘法复杂度,应用比特流一致性,使得非中央位置的系数值应在-27至2
7-1的范围内(含端值)。中央位置系数不被在比特流中信令通知且视为等于128。
[0197]
2.8.1.5滤波过程
[0198]
在解码器侧,当对ctb启用alf时,滤波cu内的每个样点r(i,j),得到样点值r

(i,j)如下所示,
[0199]r′
(i,j)=r(i,j) ((∑
k≠0

l≠0
f(k,l)
×
k(r(i k,j l)-r(i,j),c(k,l)) 64)>>7)
ꢀꢀ
(2-9-14)
[0200]
其中f(k,l)指代解码的滤波器系数,k(x,y)是修剪函数,并且c(k,l)指代解码的修剪参数。变量k和l在与之间变化,其中l指代滤波器长度。修剪函数k(x,y)=min(y,max(-y,x)),其对应于函数clip3(-y,y,x)。
[0201]
2.8.1.6用于减少行缓冲器的虚拟边界滤波过程
[0202]
在vtm5中,为减少alf的行缓冲器要求,对于靠近水平ctu边界的样点采用修改的块分类和滤波。出于此目的,虚拟边界被定义为通过将水平ctu边界移位“n”个样点的线,如图10所示,其中n对于亮度分量等于4且对于色度分量等于2。
[0203]
图10示出了虚拟边界处的修改的块分类的示例。
[0204]
修改的块分类应用于亮度分量,如图11所示,活动度值a通过考虑一维拉普拉斯算子梯度计算中使用的减少数目的样点而相应地缩放。
[0205]
对于滤波过程,对亮度和色度分量两者使用虚拟边界处的对称填充操作。如图11所示,当正在滤波的样点在虚拟边界下方时,位于虚拟边界上方的邻域样点被填充。同时,另一侧处的对应样点也被对称地填充。
[0206]
图11示出了对于虚拟边界处的亮度分量的修改的alf滤波的示例。
[0207]
2.9样点自适应偏移(sao)
[0208]
通过使用由编码器对每个ctb指定的偏移,样点自适应偏移(sao)应用于在去块(deblocking)滤波之后的重构信令通知。hm编码器首先进行sao过程是否要应用于当前条带的决定。如果sao应用于条带,则每个ctb被分类为五个sao类型中的一个,如表2-6所示。sao的概念是将像素分类到各类别,并通过将偏移添加到每个类别的像素而降低失真。sao操作包含边缘偏移(eo)和带偏移(bo),该边缘偏移(eo)使用sao类型1-4中的像素分类的边缘性质,该带偏移(bo)使用sao类型5中的像素分类的像素强度。每个适用ctb具有sao参数,包含sao_merge_left_flag,sao_merge_up_flag,sao类型和四个偏移。如果sao_merge_left_flag等于1,则当前ctb将重复使用sao类型和ctb向左的偏移。如果sao_merge_up_flag等于1,则当前ctb将重复使用sao类型和ctb向上的偏移。
[0209]
表2-6

sao类型的规范
[0210][0211]
2.9.1每个sao类型的操作
[0212]
边缘偏移通过考虑边缘方向性信息使用当前像素p的分类的四个一维3像素图案,如图12所示。这些从左到右为:0度,90度,135度和45度。
[0213]
图12示出了eo中的像素分类的四个一维3像素图案的示例。
[0214]
每个ctb根据表2-7被分类为五个类别中的一个。
[0215]
表2-7

eo的像素分类规则
[0216]
类别条件含义0以下都不是大体上单调1p《2邻域局部最小2p《1邻域&&p==1邻域边缘3p》1邻域&&p==1邻域边缘4p》2邻域局部最大
[0217]
带偏移(bo)通过使用像素值的五个最高有效比特作为带索引,将一个ctb区域中的全部像素分类为32个均匀的带。换而言之,像素强度范围被分为从零至最大强度值(例如对于8比特像素为255)的32个相等的段。四个相邻带被分组在一起,并且每个组由最左手边位置指示,如图13所示。编码器搜索全部位置以通过补偿每个带的偏移而得到具有最大失真降低的组。
[0218]
图13示出了被分组在一起且由其起始带位置表示的四个带的示例。
[0219]
2.10组合的帧间和帧内预测(ciip)
[0220]
在vtm5中,当以merge模式编解码cu时,如果cu含有至少64个亮度样点(即,cu宽度乘以cu高度等于或大于64),并且如果cu宽度和cu高度两者都小于128个亮度样点,则信令通知附加标志以指示组合帧间/帧内预测(ciip)模式是否被应用于当前cu。如其名称所指示,ciip预测将帧间预测信令通知与帧内预测信令通知组合。使用应用于常规merge模式的相同的帧间预测过程来导出ciip模式中的帧间预测信令通知p
inter
;并且在常规帧内预测过程之后用平面模式导出帧内预测信令通知p
intra
。然后,使用加权平均对帧内和帧间预测信令通知进行组合,其中取决于顶部和左侧邻域块(图14所示)的编解码模式计算权重值,如下:
[0221]

如果顶部邻域可用且为帧内编解码的,则将isintratop设定为1,否则将isintratop设定为0;
[0222]

如果左侧邻域可用且为帧内编解码的,则将isintraleft设定为1,否则将isintraleft设定为0;
[0223]

如果(isintraleft isintraleft)等于2,则wt被设定为3;
[0224]

否则,如果(isintraleft isintraleft)等于1,则wt被设定为2;
[0225]

否则,将wt设定为1。
[0226]
ciip预测形成如下:
[0227]
p
ciip
=((4-wt)*p
inter
wt*p
intra
2)>>2
ꢀꢀ
(3-2)
[0228]
图14示出了ciip加权导出中使用的顶部和左侧邻域块的示例。
[0229]
2.11具有色度缩放的亮度映射(lmcs)
[0230]
在vtm5中,称为具有色度缩放的亮度映射(lmcs)的编解码工具被添加作为环路滤波之前的新的处理块。lmcs具有两个主要组成部分:1)基于自适应分段线性模型的亮度分量的环路内映射;2)对于色度分量,应用亮度相关的色度残差缩放。图15示出了从解码器角度的lmcs架构。图15中的虚线框指示在映射域中应用该过程的地方;并且这些包含逆量化、逆变换、亮度帧内预测和与亮度残差一起添加亮度预测。图15中的无图案的框指示在原始(即,非映射的)域中应用该过程的地方;并且这些包含环路滤波(诸如去块化、alf和sao)、运动补偿预测、色度帧内预测、与色度残差一起添加色度预测,以及储存解码的图片作为参
考图片。图15中的带格子的框是新的lmcs功能框,包含亮度信令通知的正映射和逆映射以及亮度相关的色度缩放过程。与vvc中的大多数其他工具相同,可以在序列级使用sps标志来启用/禁用lmcs。
[0231]
图15示出了具有色度缩放的亮度映射架构的示例。
[0232]
2.12双树分割
[0233]
在当前vvc设计中,对于i条带,每个ctu可以使用隐式四叉树划分来划分为具有64x64亮度样点的编解码单元,并且这些编解码单元是亮度和色度的两个分开的coding_tree语法结构的根。
[0234]
由于帧内图片中的双树允许在色度编解码树中应用与亮度编解码树相比不同的分割,因此双树引入较长编解码管线,并且色度树中的qtbt minqtsizec值范围和minbtsizey和minttsizey允许小色度块,诸如2x2、4x2和2x4。这在实际解码器设计中造成困难。此外,诸如cclm、平面和角度模式的若干预测模式需要乘法。为了缓解上述问题,小色度块尺寸(2x2/2x4/4x2)在双树中被限制作为分割限制。
[0235]
2.13 jvet-o0050中的最小色度帧内预测单元(scipu)
[0236]
小色度尺寸对硬件实现方式不友好。在双树情况下,具有过小的尺寸的色度块不被允许。然而,在单树情况下,vvc草案5仍允许2x2、2x4、4x2色度块。为限制色度块的尺寸,在单个编解码树中,scipu在jvet-o0050中定义为编解码树节点,该编解码树节点的色度块尺寸大于或等于th色度样点,并且具有小于4th亮度样点的至少一个子亮度块,其中th在该投稿(contribution)中被设定为16。要求在每个scipu中,全部cb是帧间的,或全部cb是非帧间的,即,帧内或ibc。在非帧间scipu的情况下,还要求非帧间scipu的色度不应进一步划分,并且scipu的亮度允许进一步划分。以此方式,最小色度帧内cb尺寸是16个色度样点,并且移除了2x2、2x4和4x2色度cb。此外,在非帧间scipu的情况下,不应用色度缩放。
[0237]
图16中示出了两个scipu示例。在图16(a)中,8x4色度样点的一个色度cb和三个亮度cb(4x8、8x8、4x8亮度cb)形成一个scipu,因为自8x4色度样点的三叉树(tt)划分将导致色度cb小于16个色度样点。在图16(b)中,4x4色度样点的一个色度cb(8x4色度样点的左侧)和三个亮度cb(8x4、4x4、4x4亮度cb)形成一个scipu,并且4x4样点的另一个色度cb(8x4色度样点的右侧)和两个亮度cb(8x4、8x4亮度cb)形成一个scipu,因为自4x4色度样点的二叉树(bt)划分将导致色度cb小于16个色度样点。
[0238]
图16示出了scipu示例。
[0239]
如果当前条带是i条带或当前scipu在在进一步划分一次之后其中具有4x4亮度分割,则scipu的类型被推断为非帧间(因为在vvc中不允许帧间4x4);否则,scipu的类型(帧间或非帧间)在解析scipu中的cu之前由一个信令通知的标志来指示。
[0240]
2.14 vvc草案6中的小色度块约束
[0241]
在vvc草案6(jvet-o2001-ve.docx)中,对小色度块的约束如下实现(相关部分标记为粗斜体)。
[0242]
[0243]
[0244]
[0245]
[0246][0247]
2.14.1.1编解码单元语法
[0248]
[0249][0250][0251][0252]
允许的四叉划分过程
[0253]
对该过程的输入为:
[0254]

亮度样点中的编解码块尺寸cbsize,
[0255]

多类型树深度mttdepth,
[0256]

变量treetype指定单树(single_tree)还是双树被用于分割ctu,并且当使用双树时,当前处理亮度分量(dual_tree_luma)还是色度分量(dual_tree_chroma),
[0257][0258]
该过程的输出为变量allowsplitqt。
[0259]
变量allowsplitqt导出如下:
[0260]

如果以下条件中的一个或多个为真,则allowsplitqt被设定为等于假(false):
[0261]

treetype等于single_tree或dual_tree_luma且cbsize小于或等于minqtsizey
[0262]

treetype等于dual_tree_chroma且cbsize/subwidthc小于或等于minqtsizec
[0263]

mttdepth不等于0
[0264]

treetype等于dual_tree_chroma且(cbsize/subwidthc)小于或等于4
[0265][0266]

否则,allowsplitqt被设定为等于真(true)。
[0267]
允许的二叉划分过程
[0268]
对该过程的输入为:
[0269]

二叉划分模式btsplit,
[0270]

亮度样点中的编解码块宽度cbwidth,
[0271]

亮度样点中的编解码块高度cbheight,
[0272]

相对于图片的左顶方亮度样点的考虑的编解码块的左顶方亮度样点的位置(x0,y0),
[0273]

多类型树深度mttdepth,
[0274]

具有偏移的最大多类型树深度maxmttdepth,
[0275]

最大二叉树尺寸maxbtsize,
[0276]

最小四叉树尺寸minqtsize,
[0277]

分割索引partidx,
[0278]

变量treetype,指定单树(single_tree)还是双树被用于分割ctu,并且当使用双树时,当前处理亮度分量(dual_tree_luma)还是色度分量(dual_tree_chroma),
[0279][0280]
该过程的输出为变量allowbtsplit。
[0281]
表6-2

基于btsplit的parallelttsplit和cbsize的规范。
[0282][0283]
变量parallelttsplit和cbsize如表6-2中所指定地导出。
[0284]
变量allowbtsplit导出如下:
[0285]

如果以下条件中的一个或多个为真,则allowbtsplit被设定为等于假:
[0286]

cbsize小于或等于minbtsizey
[0287]

cbwidth大于maxbtsize
[0288]

cbheight大于maxbtsize
[0289]

mttdepth大于或等于maxmttdepth
[0290]

treetype等于dual_tree_chroma且(cbwidth/subwidthc)*(cbheight/subheightc)小于或等于16
[0291][0292]

否则,如果以下全部条件为真,则allowbtsplit被设定为等于假
[0293]

btsplit等于split_bt_ver
[0294]

y0 cbheight大于pic_height_in_luma_samples
[0295]

否则,如果以下全部条件为真,则allowbtsplit被设定为等于假
[0296]

btsplit等于split_bt_ver
[0297]

cbheight大于maxtbsizey
[0298]

x0 cbwidth大于pic_width_in_luma_samples
[0299]

否则,如果以下全部条件为真,则allowbtsplit被设定为等于假
[0300]

btsplit等于split_bt_hor
[0301]

cbwidth大于maxtbsizey
[0302]

y0 cbheight大于pic_height_in_luma_samples
[0303]

否则,如果以下全部条件为真,则allowbtsplit被设定为等于假
[0304]

x0 cbwidth大于pic_width_in_luma_samples
[0305]

y0 cbheight大于pic_height_in_luma_samples
[0306]

cbwidth大于minqtsize
[0307]

否则,如果以下全部条件为真,则allowbtsplit被设定为等于假
[0308]

btsplit等于split_bt_hor
[0309]

x0 cbwidth大于pic_width_in_luma_samples
[0310]

y0 cbheight小于或等于pic_height_in_luma_samples
[0311]

否则,如果以下全部条件为真,则allowbtsplit被设定为等于假:
[0312]

mttdepth大于0
[0313]

partidx等于1
[0314]

mttsplitmode[x0][y0][mttdepth-1]等于parallelttsplit
[0315]

否则,如果以下全部条件为真,则allowbtsplit被设定为等于假
[0316]

btsplit等于split_bt_ver
[0317]

cbwidth小于或等于maxtbsizey
[0318]

cbheight大于maxtbsizey
[0319]

否则,如果以下全部条件为真,则allowbtsplit被设定为等于假
[0320]

btsplit等于split_bt_hor
[0321]

cbwidth大于maxtbsizey
[0322]

cbheight小于或等于maxtbsizey
[0323]

否则,allowbtsplit被设定为等于真。
[0324]
允许的三叉划分过程
[0325]
对该过程的输入为:
[0326]

三叉划分模式ttsplit,
[0327]

亮度样点中的编解码块宽度cbwidth,
[0328]

亮度样点中的编解码块高度cbheight,
[0329]

相对于图片的左顶方亮度样点的考虑的编解码块的左顶方亮度样点的位置(x0,y0),
[0330]

多类型树深度mttdepth
[0331]

具有偏移的最大多类型树深度maxmttdepth,
[0332]

最大三叉树尺寸maxttsize,
[0333]

变量treetype指定单树(single_tree)还是双树被用于分割ctu,并且当使用双树时,当前处理亮度分量(dual_tree_luma)还是色度分量(dual_tree_chroma),
[0334][0335]
该过程的输出为变量allowttsplit。
[0336]
表6-3

基于ttsplit的cbsize的规范。
[0337][0338]
变量cbsize如表6-3所指定地导出。
[0339]
变量allowttsplit导出如下:
[0340]

如果以下条件中的一个或多个为真,则allowttsplit被设定为等于假:
[0341]

cbsize小于或等于2*minttsizey
[0342]

cbwidth大于min(maxtbsizey,maxttsize)
[0343]

cbheight大于min(maxtbsizey,maxttsize)
[0344]

mttdepth大于或等于maxmttdepth
[0345]

x0 cbwidth大于pic_width_in_luma_samples
[0346]

y0 cbheight大于pic_height_in_luma_samples
[0347]

treetype等于dual_tree_chroma且(cbwidth/subwidthc)*(cbheight/subheightc)小于或等于32
[0348][0349]

否则,allowttsplit被设定为等于真。
[0350]
等于0的指定当前编解码单元是以帧间预测模式编解码的。等于1的pred_mode_flag指定当前编解码单元是以帧内预测模式编解码的。
[0351]
当pred_mode_flag不存在时,其被如下推断:
[0352]

如果cbwidth等于4且cbheight等于4,则pred_mode_flag被推断为等于1。
[0353][0354]

否则,pred_mode_flag在解码i条带时被推断为等于1,并且在解码p或b条带时被推断为等于0。
[0355]
对于x=x0..x0 cbwidth-1且y=y0..y0 cbheight

1,变量cupredmode[chtype][x][y]导出如下:
[0356]

如果pred_mode_flag等于0,则cupredmode[chtype][x][y]被设定为等于mode_inter。
[0357]

否则(pred_mode_flag等于1),则cupredmode[chtype][x][y]被设定为等于mode_intra。
[0358]
等于1的指定当前编解码单元是以ibc预测模式编解码的。等于0的pred_mode_ibc_flag指定当前编解码单元不是以ibc预测模式编解码的。
[0359]
当pred_mode_ibc_flag不存在时,其被如下推断:
[0360]

如果cu_skip_flag[x0][y0]等于1,且cbwidth等于4,且cbheight等于4,则pred_
mode_ibc_flag被推断为等于1。
[0361]

否则,如果cbwidth和cbheight两者都等于128,则pred_mode_ibc_flag被推断为等于0。
[0362][0363]

否则,pred_mode_ibc_flag被推断为在解码i条带时等于sps_ibc_enabled_flag的值,并且在解码p或b条带时等于0。
[0364]
当pred_mode_ibc_flag等于1时,对于x=x0..x0 cbwidth

1且y=y0..y0 cbheight

1,变量cupredmode[chtype][x][y]被设定为等于mode_ibc。
[0365]
3.本公开技术方案解决的技术问题的示例
[0366]
1.当前ibc视为mode_type_intra并且因此不允许小色度块,导致不必要的编解码效率损失。
[0367]
2.当前调色板视为mode_type_intra并且因此不允许小色度块,导致不必要的编解码效率损失。
[0368]
3.当前小色度块约束不考虑色彩子采样格式。
[0369]
4.当前对小块的相同分割和预测模式约束被应用于全部色度格式。然而,可能期望对4:2:0和4:2:2色度格式的小块设计不同的约束机制。
[0370]
5.当前调色板模式标志信令通知取决于modetype,这不合期望,因为调色板可能不应用小块约束。
[0371]
6.在cu_skip_flag等于1但mode_type等于mode_type_intra的情况下,当前ibc模式标志对p/b条带推断为0,这在语法解析中不合法。
[0372]
7.当前,对scipu亮度块不允许非4x4亮度ibc模式,这可能是不合期望的并可能导致编解码效率损失。
[0373]
8.2xh色度块仍被允许,这对于硬件实现方式不友好。
[0374]
9.ciip被视为mode_inter,而其使用帧内预测,这在一些条件下破坏了约束。
[0375]
10.当应用scipu时,色度的增量(delta)qp可以取决于亮度划分被信令通知。例如,当当前块尺寸为亮度样点中的16
×
8且以垂直tt划分时,可以应用局部双树。指定了
[0376]
qgonc=qgonc&&(cbsubdiv 2《=cu_chroma_qp_offset_subdiv)
[0377]
因此,如果cbsubdiv 2《=cu_chroma_qp_offset_subdiv,则qgonc被设定为零。该条件设定假设了色度分量也以tt划分。在局部双树的情况下,色度分量可能不划分,因此cbsubdiv可能大于cu_chroma_qp_offset_subdiv。iscuchromaqpoffsetcoded应被设定为0,以允许信令通知色度的增量qp。然而,iscuchromaqpoffsetcoded没有被设定为0,因为qgonc被设定为0。
[0378]
4.技术方案和实施例的示例
[0379]
以下列举的应视为示例。这些技术不应以狭义方式理解。此外,这些技术可以以任意方式组合。
[0380]
在本文档中,“mxn编解码树节点”指示m
×
n块,且在亮度样点中m为块宽度而n为块高度,其可以被诸如qt/bt/tt进一步分割。例如,块可以是qt节点,或bt节点,或tt节点。编解码树节点可以是编解码单元(例如,对于单树具有三个色彩分量,对于双树色度编解码具有两个色度色彩分量,并且对于双树亮度编解码仅亮度色彩分量),或亮度编解码块,或色度编解码块。“小编解码树节点单元”可以指示具有等于亮度样点中的32/64/128的块尺寸mxn的编解码树节点。
[0381]
如果未明确提到,编解码块的宽度w和高度h是以亮度样点测量的。例如,mxn编解码块意味着mxn亮度块,和/或两个(m/subwidthc)x(n/subheightc)色度块,其中subwidthc和subheightc由色度格式导出如下。
[0382][0383]
1.是否和/或如何分割为小块可以取决于色彩格式。
[0384]
a.在一个示例中,对于4:4:4色彩格式,对色度块的尺寸的约束可以遵循对亮度块的那些约束。
[0385]
b.在一个示例中,对于4:2:2色彩格式,对色度块的尺寸的约束可以遵循对4:2:0色彩格式的那些约束。
[0386]
c.在一个示例中,对于4:0:0和/或4:4:4色度格式,可以不应用对小块分割和/或预测模式的约束。
[0387]
d.在一个示例中,对小块分割和/或预测模式的约束对不同色度格式可以不同地应用。
[0388]
i.在一个示例中,对于具有水平bt划分的mxn(诸如8x8)编解码树节点,在4:2:2色度格式中,可以对色度块和亮度块两者允许水平bt划分,而在4:2:0色度格式中,可以对亮度块允许水平bt划分但对于色度块禁用水平bt划分。
[0389]
ii.在一个示例中,对于具有垂直bt划分的mxn(诸如16x4)编解码树节点,在4:2:2色度格式中,可以对色度块和亮度块两者允许垂直bt划分,而在4:2:0色度格式中,可以对亮度块允许垂直bt划分但对于色度块禁用垂直bt划分。
[0390]
iii.在一个示例中,对于具有水平tt划分的mxn(诸如8x16)编解码树节点,在4:2:2色度格式中,可以对色度块和亮度块两者允许水平tt划分,而在4:2:0色度格式中,可以对亮度块允许水平tt划分但对于色度块禁用水平tt划分。
[0391]
iv.在一个示例中,对于具有垂直tt划分的mxn(诸如32x4)编解码树节点,在4:2:2色度格式中,可以对色度块和亮度块两者允许垂直tt划分,而在4:2:0色度格式中,可以对亮度块允许垂直tt划分但对于色度块禁用垂直tt划分。
[0392]
v.在一个示例中,对于4:0:0,和/或4:4:4色彩格式,可以不应用小块约束。
[0393]
e.在一个示例中,是否启用scipu取决于色彩格式。
[0394]
i.在一个示例中,对于4:2:0和4:2:2色彩格式启用scipu。
[0395]
ii.在一个示例中,对于4:0:0和/或4:4:4色彩格式禁用scipu。
[0396]
1.在一个示例中,modetype可以对于4:0:0和/或4:4:4色彩格式总是等于mode_type_all。
[0397]
2.在一个示例中,modetypecondition对于4:0:0和/或4:4:4色彩格式可以总是等于0。
[0398]
2.如何对编解码树节点的(子)块确定预测模式(和/或modetype)可以取决于色度格式。
[0399]
a.在一个示例中,如果以下条件中的一个为真,则对于4:2:2色度格式,由该编解码树节点分割的(子)块的modetype可以等于mode_type_all,而对于4:2:0色度格式,modetype可以等于mode_type_intra或mode_type_inter。
[0400]
i.具有水平bt划分的mxn(诸如8x8)编解码树节点
[0401]
ii.具有垂直bt划分的mxn(诸如16x4)编解码树节点
[0402]
iii.具有水平tt划分的mxn(诸如8x16)编解码树节点
[0403]
iv.具有垂直tt划分的mxn(诸如32x4)编解码树节点
[0404]
3.提出了将mode_type_intra重命名为mode_type_no_inter,并且限制mode_inter的使用。
[0405]
a.在一个示例中,当编解码单元的modetype等于mode_type_no_inter时,可以不允许mode_inter。
[0406]
4.提出了将mode_type_inter重命名为mode_type_no_intra,并且限制mode_intra的使用。
[0407]
a.在一个示例中,当编解码单元的modetype等于mode_type_no_intra时,可以不允许mode_intra。
[0408]
5.模式约束标志可以从不被在4:2:2和/或4:0:0和/或4:4:4色度格式中信令通知。
[0409]
a.在一个示例中,当式约束标志不存在时,其可以被推断为等于1。
[0410]
i.替代地,当式约束标志不存在时,其可以被推断为等于0。
[0411]
6.对具有m作为块宽度和n作为块高度的mxn编解码块是否和/或如何应用scipu可以取决于色彩格式是4:2:0还是4:2:2。
[0412]
a.在一个示例中,在4:2:2色彩格式中,对于具有m作为块宽度和n作为块高度的mxn编解码块,仅如果m乘以n(由m*n指代)等于64或32,则可以启用scipu。
[0413]
b.在一个示例中,m*n=128的编解码树节点可以从不被视为4:2:2色彩格式中的scipu块。
[0414]
c.在一个示例中,具有bt划分和m*n=64的编解码树节点可以从不被视为4:2:2色彩格式中的scipu块。
[0415]
d.在一个示例中,具有等于1的split_qt_flag和m*n=64的编解码树节点,可以是4:2:2色彩格式中的scipu块。
[0416]
e.在一个示例中,具有tt划分和m*n=64的编解码树节点,可以被视为4:2:2色彩格式中的scipu块。
[0417]
f.在一个示例中,具有bt划分和m*n=32的编解码树节点,可以被视为4:2:2色彩格式中的scipu块。
[0418]
g.在以上描述中,对于4:2:2色彩格式中的scipu块,modetypecondition可以总是等于1。
[0419]
h.在以上描述中,对于4:2:2色彩格式中的scipu块,可以对父(parent)节点中的当前块和子叶节点下的全部子块两者仅允许mode_type_intra。
[0420]
7.在4:2:2色彩格式中,scipu块的modetypecondition可以总是等于1。
[0421]
a.在一个示例中,modetypecondition对于4:2:2色彩格式可以等于0或1。
[0422]
b.在一个示例中,对于4:2:2色彩格式中的scipu块,modetypecondition可以从不等于2。
[0423]
8.在4:2:2色彩格式中,scipu块的modetype可以总是等于mode_type_intra。
[0424]
a.在一个示例中,modetype在4:2:2色彩格式中可以等于mode_type_all或mode_type_intra。
[0425]
b.在一个示例中,对于4:2:2色彩格式中的scipu块,mode_type_inter可以被禁用。
[0426]
9.是否允许块分割可以取决于modetype,和/或块尺寸。
[0427]
a.在一个示例中,对块是否允许bt和/或tt划分可以取决于modetype。
[0428]
i.在一个示例中,如果modetype等于mode_type_inter,则对于当前编解码块可以不允许bt划分(例如,allowbtsplit被设定为等于假)。
[0429]
ii.在一个示例中,如果modetype等于mode_type_inter,则对于当前编解码块可以不允许tt划分(例如,allowttsplit被设定为等于假)。
[0430]
b.在一个示例中,对块是否允许bt和/或tt划分可以取决于modetype和块尺寸。
[0431]
i.在一个示例中,对于mxn编解码块,m作为块宽度且n作为块高度,当m*n小于或等于32且modetype等于mode_type_inter时,bt划分可以不被允许(例如,allowbtsplit被设定为等于假)。
[0432]
ii.在一个示例中,对于mxn编解码块,m作为块宽度且n作为块高度,当m*n小于或等于64且modetype等于mode_type_inter,tt划分可以不被允许(例如,allowttsplit被设定为等于假)。
[0433]
10.当编解码树的modetypecurr等于mode_type_inter时,编解码树的划分可以被限制
[0434]
a.在一个示例中,当编解码树的modetypecurr等于mode_type_inter时,bt划分可以不被允许。
[0435]
b.在一个示例中,当编解码树的modetypecurr等于mode_type_inter时,tt划分可以不被允许。
[0436]
c.在一个示例中,当编解码树的modetypecurr等于mode_type_inter时,qt划分可以不被允许。
[0437]
d.在一个示例中,当编解码树的modetypecurr等于mode_type_inter且亮度块尺
寸小于或等于32时,bt划分可以不被允许。
[0438]
e.在一个示例中,当编解码树的modetypecurr等于mode_type_inter且亮度块尺寸小于或等于64时,tt划分可以不被允许。
[0439]
11.具有treetype为dual_tree_luma的编解码单元可以以帧间模式编解码。
[0440]
a.在一个示例中,以帧间编解码模式(即,mode_inter)编解码的编解码单元即使对于具有多个色彩分量的色彩格式也可以仅含有亮度分量。
[0441]
b.在一个示例中,对dual_tree_luma块可能需要解析pred_mode_flag。
[0442]
c.在一个示例中,对于以帧间模式编解码的dual_tree_luma块,也可以应用single_tree的帧间模式的相同的约束。
[0443]
i.在一个示例中,4x4 dual_tree_luma帧间块可以不被允许。
[0444]
12.块宽度等于m(诸如m=2)色度样点的色度帧内(和/或ibc)块可以不被允许。
[0445]
a.在一个示例中,2xn(诸如n《=64)色度帧内块在双树中可以不被允许。
[0446]
i.在一个示例中,当treetype等于dual_tree_chroma且块宽度等于4个色度样点时,垂直bt划分可以被禁用。
[0447]
ii.在一个示例中,当treetype等于dual_tree_chroma且块宽度等于8个色度样点时,垂直tt划分可以被禁用。
[0448]
b.在一个示例中,2xn(诸如n《=64)色度帧内(和/或ibc)块在单树中可以不被允许。
[0449]
i.在一个示例中,对于具有垂直bt划分的mxn(诸如m=8 and n《=64)编解码树节点,可以应用以下过程中的一个。
[0450]
1.垂直bt划分可以对于4xn或4x(n/2)色度块不被允许但对于8xn亮度块被允许。
[0451]
2.4xn或4x(n/2)色度块可以不被垂直bt划分,并且其可以由mode_intra或mode_ibc编解码。
[0452]
3.可以对8xn亮度块和4xn或4x(n/2)色度块两者允许垂直bt划分,但亮度和色度块两者不是由mode_intra编解码的(例如,可以由mode_inter或mode_ibc编解码)。
[0453]
ii.在一个示例中,对于使用垂直tt划分的mxn(诸如m=16且n《=64)编解码树节点,可以应用以下过程中的一个。
[0454]
1.垂直tt划分可以对于8xn或8x(n/2)色度块不被允许但对于16xn亮度块被允许。
[0455]
2.8xn或8x(n/2)色度块可以不被垂直tt划分且由mode_intra或mode_ibc编解码。
[0456]
3.可以对16xn亮度块和8xn或8x(n/2)色度块两者允许垂直tt划分,但亮度和色度块两者都可以不由mode_intra编解码(例如,可以由mode_inter或mode_ibc编解码)。
[0457]
13.可以对亮度和/或色度块允许ibc模式,而与其是否具有小块尺寸无关。
[0458]
a.在一个示例中,可以对包含8x4/8x8/16x4和4xn(诸如n《=64)亮度块的亮度块允许ibc模式,即使modetype等于mode_type_intra。
[0459]
b.在一个示例中,可以对色度块允许ibc模式,即使modetype等于mode_type_intra。
[0460]
14.ibc预测模式标志的信令通知可以取决于预测模式类型(例如,mode_type_intra)。
[0461]
a.在一个示例中,当treetype不等于dual_tree_chroma且modetype等于mode_
type_intra时,非跳过块(例如不是由跳过模式编解码的编解码块)的ibc预测模式标志可以在比特流中被显式地信令通知。
[0462]
15.可以取决于cu skip标志和模式类型(例如,modetype)推断ibc预测模式标志。
[0463]
a.在一个示例中,如果当前块是以跳过模式编解码的(诸如cu_skip_flag等于1),并且modetype等于mode_type_intra,则ibc预测模式标志(诸如pred_mode_ibc_flag)可以被推断为等于1。
[0464]
16.调色板模式标志的显式信令通知可以不取决于modetype。
[0465]
a.在一个示例中,调色板模式标志(诸如pred_mode_plt_flag)信令通知可以取决于条带类型、块尺寸、预测模式等,但不论modetype为何。
[0466]
b.在一个示例中,当modetype等于mode_type_inter或mode_type_intra时,调色板模式标志(诸如pred_mode_plt_flag)被推断为0。
[0467]
17.当modetype等于mode_type_inter时,可以允许使用ibc模式
[0468]
a.在一个示例中,当modetype等于mode_type_intra时,色度ibc可以不被允许。
[0469]
b.在一个示例中,当modetype等于mode_type_intra或mode_type_inter时,可以允许使用ibc模式。
[0470]
c.在一个示例中,可以允许使用ibc模式,无论modetype为何。
[0471]
d.在一个示例中,在一个scipu内,ibc和帧间模式可以都被允许。
[0472]
e.在一个示例中,ibc色度块的尺寸可以总是对应于对应的亮度块的尺寸。
[0473]
f.在一个示例中,当modetype等于mode_type_inter且编解码单元尺寸为以亮度的4x4时,pred_mode_ibc_flag的信令通知可以被跳过且pred_mode_ibc_flag可以被推断为等于1。
[0474]
18.当modetype为mode_type_inter时,可以允许使用调色板模式
[0475]
a.在一个示例中,当modetype为mode_type_intra时,色度调色板可以不被允许。
[0476]
b.在一个示例中,当modetype等于mode_type_intra或mode_type_inter时,可以允许使用ibc模式。
[0477]
c.在一个示例中,可以允许使用ibc模式,无论modetype为何。
[0478]
d.在一个示例中,当modetype等于mode_type_intra或mode_type_inter时,可以允许使用调色板模式。
[0479]
e.在一个示例中,可以允许使用调色板模式,无论modetype为何。
[0480]
f.在一个示例中,在一个scipu内,调色板和帧间模式可以都被允许。
[0481]
g.在一个示例中,在一个scipu内,调色板、ibc和帧间模式可以全部被允许。
[0482]
h.在一个示例中,调色板色度块的尺寸可以总是对应于对应的亮度块的尺寸。
[0483]
i.在一个示例中,当modetype等于mode_type_inter且编解码单元尺寸为以亮度的4x4时,pred_mode_plt_flag的信令通知可以被跳过且pred_mode_plt_flag可以被推断为等于1。
[0484]
j.在一个示例中,当modetype等于mode_type_inter且编解码单元尺寸为以亮度的4x4时,可以发送一条消息以指示当前预测模式是ibc还是调色板。
[0485]
k.在一个示例中,启用还是禁用调色板模式可以取决于条带类型和modetype。
[0486]
i.在一个示例中,对于具有mode_type_intra的i条带,调色板模式可以被启用。
[0487]
ii.在一个示例中,对于具有mode_type_inter的p/b条带,调色板模式可以被启用。
[0488]
19.当调色板模式被启用时,局部双树可以不被允许。
[0489]
a.在一个示例中,当调色板模式被启用时,modetypecondition可以总是设定为等于0。
[0490]
20.对于具有等于m(例如,m=2)的宽度或等于n(例如,n=2)的高度的小色度块,允许的帧内预测模式可以被限制为与对大色度块允许的那些模式不同。
[0491]
a.在一个示例中,仅可用色度帧内预测模式的帧内预测模式的子集可以被使用。
[0492]
b.在一个示例中,仅intra_dc模式可以被使用。
[0493]
c.在一个示例中,仅intra_planar模式可以被使用。
[0494]
d.在一个示例中,仅intra_angular18模式可以被使用。
[0495]
e.在一个示例中,仅intra_angular50模式可以被使用。
[0496]
f.在一个示例中,cclm墨水可以不被允许。
[0497]
21.对于具有等于m(例如,m=2)的宽度或等于n(例如,n=2)的高度的小色度块,变换类型可以被限制为不同于对大色度块允许的那些模式。
[0498]
a.在一个示例中,仅变换跳过可以被使用。
[0499]
b.在一个示例中,仅一维变换可以被使用。
[0500]
c.在一个示例中,支持多个类型的变换的编解码工具不被允许。
[0501]
i.替代地,支持多个类型的变换的编解码工具的信令通知被省略。
[0502]
22.ciip可以被视为mode_type_intra。
[0503]
a.在一个示例中,当使用双树分割时,ciip模式可以被允许。
[0504]
i.在一个示例中,当cu类型具有dual_treee_chroma时,ciip模式可以被允许。
[0505]
b.替代地,ciip可以被视为mode_type_inter
[0506]
i.在一个示例中,当色度块宽度等于m(例如,m=2)时,ciip模式可以不被允许。
[0507]
ii.在一个示例中,当色度块宽度等于m(例如,m=2)时,ciip中的色度的帧内预测模式可以被限制为简单帧内预测模式。
[0508]
1.在一个示例中,当色度块宽度等于m(例如,m=2)时,intra_dc可以被用于色度帧内预测。
[0509]
2.在一个示例中,当色度块宽度等于m(例如,m=2)时,intra_angular18可以被用于色度帧内预测。
[0510]
3.在一个示例中,当色度块宽度等于m(例如,m=2)时,intra_angular50可以被用于色度帧内预测。
[0511]
iii.在一个示例中,ciip中的色度的帧内预测模式可以被限制为简单帧内预测模式。
[0512]
1.在一个示例中,intra_dc可以被用于色度帧内预测。
[0513]
2.在一个示例中,intra_angular18模式可以被用于色度帧内预测。
[0514]
3.在一个示例中,intra_angular50模式可以被用于色度帧内预测。
[0515]
23.对于以上项目符号,变量m和/或n可以预定义或被信令通知。
[0516]
a.在一个示例中,m和/或n可以进一步取决于色彩格式(例如,4:2:0、4:2:2、4:4:
4)。
[0517]
24.modetype可以扩展以覆盖更多类型。
[0518]
a.在一个示例中,modetype可以是mode_type_ibc。当modetype等于mode_type_ibc时,预测模式推断为ibc。
[0519]
i.在一个示例中,pred_mode_flag在此情况下不被信令通知。
[0520]
ii.在一个示例中,pred_mode_ibc_flag在此情况下不被信令通知。
[0521]
iii.在一个示例中,pred_mode_plt_flag在此情况下不被信令通知。
[0522]
b.在一个示例中,modetype可以是mode_type_palette。当modetype等于mode_type_palette时,预测模式推断为调色板模式。
[0523]
i.在一个示例中,pred_mode_flag在此情况下不被信令通知。
[0524]
ii.在一个示例中,pred_mode_ibc_flag在此情况下不被信令通知。
[0525]
iii.在一个示例中,pred_mode_plt_flag在此情况下不被信令通知。
[0526]
c.在一个示例中,mode_constraint_flag可以被索引替换以告知使用允许的modetypes中的哪一个。
[0527]
25.在一个示例中,对于具有维度w
×
h的块是否允许qt划分可以取决于与维度组合的modetype。
[0528]
a.例如,如果modetype等于mode_type_inter且w等于8且h等于8,则qt划分不被允许。
[0529]
26.在一个示例中,对于具有维度w
×
h的块是否允许垂直tt划分可以取决于与维度组合的modetype。
[0530]
a.例如,如果modetype等于mode_type_inter且w等于16且h等于4,则垂直tt划分不被允许。
[0531]
27.在一个示例中,对具有维度w
×
h的块是否允许水平tt划分可以取决于与维度组合的modetype。
[0532]
a.例如,如果modetype等于mode_type_inter且w等于4且h等于16,则水平tt划分不被允许。
[0533]
28.在一个示例中,对具有维度w
×
h的块是否允许垂直bt划分可以取决于与维度组合的modetype。
[0534]
a.例如,如果modetype等于mode_type_inter且w等于8且h等于4,则垂直bt划分不被允许。
[0535]
29.在一个示例中,对具有维度w
×
h的块是否允许水平bt划分可以取决于与维度组合的modetype。
[0536]
a.例如,如果modetype等于mode_type_inter且w等于4且h等于8,则水平bt划分不被允许。
[0537]
30.在一个示例中,是否由modetype推断cu的预测模式可以取决于色彩分量和/或块维度w
×
h。
[0538]
a.例如,由modetype推断色度cu的预测模式;但亮度cu的预测模式被信令通知而非由modetype推断。
[0539]
i.例如,如果w》4或h》4,则亮度cu的预测模式被信令通知而非由modetype推断。
[0540]
31.当应用scipu时,是否和/或如何信令通知关于第一分量的增量qp的信息可以取决于第一分量的划分方式。
[0541]
a.在一个示例中,当应用scipu时,是否和/或如何信令通知关于第一分量的增量qp的信息可以取决于第一分量的划分方式,并且与第二分量的划分方式解耦。
[0542]
b.在一个示例中,第一分量是亮度且第二分量是色度。
[0543]
c.在一个示例中,第一分量是色度且第二分量是亮度。
[0544]
32.当应用双树和/或局部双树编解码结构时,与第一分量的增值qp有关的任何变量在第二分量的解码或解析过程期间不可以被修改。
[0545]
a.在一个示例中,根据scipu可以使用局部双树编解码结构。
[0546]
b.在一个示例中,第一分量是亮度且第二分量是色度。
[0547]
i.变量可以是iscuqpdeltacoded。
[0548]
c.在一个示例中,第一分量是色度且第二分量是亮度。
[0549]
i.变量可以是iscuchromaqpoffsetcoded。
[0550]
33.当应用scipu时,与分量(诸如亮度或色度)的增量qp有关的信息在特定区域中被信令通知至多一次,其中亮度分量和色度分量要求共享相同的模式类型(诸如mode_type_inter或mode_type_intra)。
[0551]
a.在一个示例中,特定区域被视为量化组。
[0552]
5.实施例
[0553][0554]
5.1示例性实施例#1
[0555]
以下实施例是关于对小块分割的约束,并且预测模式仅被应用于4:2:0和4:4:4色度格式(不应用于4:0:0和4:4:4色度格式)。
[0556]
7.4.9.4编解码树语义
[0557]
变量modetypecondition导出如下:
[0558]

如果以下条件中的一个为真,则modetypecondition被设定为等于0
[0559]

slice_type==i且qtbtt_dual_tree_intra_flag等于1
[0560]

modetypecurr不等于mode_type_all
[0561][0562]

否则,如果以下条件中的一个为真,则modetypecondition被设定为等于1
[0563]

cbwidth*cbheight等于64且split_qt_flag等于1
[0564]

cbwidth*cbheight等于64且mttsplitmode[x0][y0][mttdepth]等于split_tt_hor或split_tt_ver
[0565]

cbwidth*cbheight等于32且mttsplitmode[x0][y0][mttdepth]等于split_bt_hor或split_bt_ver
[0566]

否则,如果以下条件中的一个为真,则modetypecondition被设定为等于1
(slice_type!=i?1:0)
[0567]

cbwidth*cbheight等于64且mttsplitmode[x0][y0][mttdepth]等于split_bt_hor或split_bt_ver
[0568]

cbwidth*cbheight等于128且mttsplitmode[x0][y0][mttdepth]等于split_tt_hor或split_tt_ver
[0569]

否则,modetypecondition被设定为等于0
[0570]
5.2示例性实施例#2
[0571][0572]
7.3.8.5编解码单元语法
[0573]
[0574][0575]
5.3示例性实施例#3
[0576][0577]
等于1的当前编解码单元是以ibc预测模式编解码的。等于0的pred_mode_ibc_flag指定当前编解码单元不是以ibc预测模式编解码的。
[0578]
当pred_mode_ibc_flag不存在时,其被如下推断:
[0579]

如果cu_skip_flag[x0][y0]等于1,且cbwidth等于4,且cbheight等于4,则pred_mode_ibc_flag被推断为等于1。
[0580]

否则,如果cbwidth和cbheight两者都等于128,则pred_mode_ibc_flag被推断为等于0。
[0581][0582]

否则,如果modetype等于mode_type_inter,则pred_mode_ibc_flag被推断为等于0。
[0583]

否则,如果treetype等于dual_tree_chroma,则pred_mode_ibc_flag被推断为等于0。
[0584]

否则,pred_mode_ibc_flag分别在解码i条带时被推断为等于sps_ibc_enabled_flag的值,并且在解码p或b条带时被推断为0。
[0585]
当pred_mode_ibc_flag等于1时,对于x=x0..x0 cbwidth-1且y=y0..y0 cbheight

1,变量cupredmode[chtype][x][y]被设定为等于mode_ibc。
[0586]
5.4示例性实施例#4
[0587]
以下实施例是关于对亮度块允许取决于mode_type_intra和/或ibc模式的ibc预测模式标志的信令通知,而与该亮度块是否是小块尺寸无关。
[0588]
7.3.8.5编解码单元语法
[0589][0590]
5.5示例性实施例#5
[0591]
以下实施例是关于对4:2:0和4:2:2色彩格式应用不同的帧内块约束。
[0592]
7.4.9.4编解码树语义
[0593]
变量modetypecondition导出如下:
[0594]

如果以下条件中的一个为真,则modetypecondition被设定为等于0
[0595]

slice_type==i且qtbtt_dual_tree_intra_flag等于1
[0596]

modetypecurr不等于mode_type_all
[0597]

否则,如果以下条件中的一个为真,则modetypecondition被设定为等于1
[0598]

cbwidth*cbheight等于64且split_qt_flag等于1
[0599]

cbwidth*cbheight等于64且mttsplitmode[x0][y0][mttdepth]等于split_tt_hor或split_tt_ver
[0600]

cbwidth*cbheight等于32且mttsplitmode[x0][y0][mttdepth]等于split_bt_hor或split_bt_ver
[0601]

否则,如果以下条件中的一个为真,则modetypecondition被设定为等于1 (slice_type!=i?1:0)
[0602]

cbwidth*cbheight等于64且mttsplitmode[x0][y0][mttdepth]等于split_bt_hor或split_bt_ver且
[0603]

cbwidth*cbheight等于128且mttsplitmode[x0][y0][mttdepth]等于split_tt_hor或split_tt_ver且
[0604][0605]

否则,modetypecondition被设定为等于0
[0606]
5.6示例性实施例#6
[0607][0608]
7.4.9.4编解码树语义
[0609]
变量modetypecondition导出如下:
[0610]

如果以下条件中的一个为真,则modetypecondition被设定为等于0
[0611]

slice_type==i且qtbtt_dual_tree_intra_flag等于1
[0612]

modetypecurr不等于mode_type_all
[0613]

否则,如果以下条件中的一个为真,则modetypecondition被设定为等于1
[0614]

cbwidth*cbheight等于64且split_qt_flag等于1
[0615]

cbwidth*cbheight等于64且mttsplitmode[x0][y0][mttdepth]等于split_tt_hor或split_tt_ver
[0616]

cbwidth*cbheight等于32且mttsplitmode[x0][y0][mttdepth]等于split_bt_hor或split_bt_ver
[0617]

否则,如果以下条件中的一个为真,则modetypecondition被设定为等于1 (slice_type!=i?1:0)
[0618]

cbwidth*cbheight等于64且mttsplitmode[x0][y0][mttdepth]等于split_bt_hor或split_bt_ver
[0619]

cbwidth*cbheight等于128且mttsplitmode[x0][y0][mttdepth]等于split_tt_hor或split_tt_ver
[0620][0621]

否则,modetypecondition被设定为等于0
[0622]
5.7示例性实施例#7
[0623][0624]
6.4.2允许的二叉划分过程
[0625]
变量allowbtsplit导出如下:
[0626]

如果以下条件中的一个或多个为真,则allowbtsplit被设定为等于假:
[0627]

cbsize小于或等于minbtsizey
[0628]

cbwidth大于maxbtsize
[0629]

cbheight大于maxbtsize
[0630]

mttdepth大于或等于maxmttdepth
[0631]

treetype等于dual_tree_chroma且(cbwidth/subwidthc)*(cbheight/subheightc)小于或等于16
[0632][0633]

treetype等于dual_tree_chroma且modetype等于mode_type_intra
[0634]

[0635]
6.4.3允许的三叉划分过程
[0636]
变量allowttsplit导出如下:
[0637]

如果以下条件中的一个或多个为真,则allowttsplit被设定为等于假:
[0638]

cbsize小于或等于2*minttsizey
[0639]

cbwidth大于min(maxtbsizey,maxttsize)
[0640]

cbheight大于min(maxtbsizey,maxttsize)
[0641]

mttdepth大于或等于maxmttdepth
[0642]

x0 cbwidth大于pic_width_in_luma_samples
[0643]

y0 cbheight大于pic_height_in_luma_samples
[0644]

treetype等于dual_tree_chroma且(cbwidth/subwidthc)*(cbheight/subheightc)小于或等于32
[0645][0646]

treetype等于dual_tree_chroma且modetype等于mode_type_intra
[0647]

否则,allowttsplit被设定为等于真。
[0648]
5.8示例性实施例#8
[0649][0650]
7.3.8.5编解码单元语法
[0651]
[0652][0653]
5.9关于在modetype为mode_type_inter时不允许块分割的示例性实施例#9(方案1)
[0654]
6.4.2允许的二叉划分过程
[0655]
变量allowbtsplit导出如下:
[0656]

如果以下条件中的一个或多个为真,则allowbtsplit被设定为等于假:
[0657]

cbsize小于或等于minbtsizey
[0658]

cbwidth大于maxbtsize
[0659]

cbheight大于maxbtsize
[0660]

mttdepth大于或等于maxmttdepth
[0661]

treetype等于dual_tree_chroma且(cbwidth/subwidthc)*(cbheight/subheightc)小于或等于16
[0662][0663]

treetype等于dual_tree_chroma且modetype等于mode_type_intra
[0664]

[0665]
6.4.3允许的三叉划分过程
[0666]
变量allowttsplit导出如下:
[0667]

如果以下条件中的一个或多个为真,则allowttsplit被设定为等于假:
[0668]

cbsize小于或等于2*minttsizey
[0669]

cbwidth大于min(maxtbsizey,maxttsize)
[0670]

cbheight大于min(maxtbsizey,maxttsize)
[0671]

mttdepth大于或等于maxmttdepth
[0672]

x0 cbwidth大于pic_width_in_luma_samples
[0673]

y0 cbheight大于pic_height_in_luma_samples
[0674]

treetype等于dual_tree_chroma且(cbwidth/subwidthc)*(cbheight/subheightc)小于或等于32
[0675][0676]

treetype等于dual_tree_chroma且modetype等于mode_type_intra
[0677]

否则,allowttsplit被设定为等于真。
[0678]
5.10关于在modetype为mode_type_inter时不允许块分割的示例性实施例#10(方案2)
[0679]
6.4.2允许的二叉划分过程
[0680]
变量allowbtsplit导出如下:
[0681]

如果以下条件中的一个或多个为真,则allowbtsplit被设定为等于假:
[0682]

cbsize小于或等于minbtsizey
[0683]

cbwidth大于maxbtsize
[0684]

cbheight大于maxbtsize
[0685]

mttdepth大于或等于maxmttdepth
[0686]

treetype等于dual_tree_chroma且(cbwidth/subwidthc)*(cbheight/subheightc)小于或等于16
[0687][0688]

treetype等于dual_tree_chroma且modetype等于mode_type_intra
[0689]

[0690]
6.4.3允许的三叉划分过程
[0691]
变量allowttsplit导出如下:
[0692]

如果以下条件中的一个或多个为真,则allowttsplit被设定为等于假:
[0693]

cbsize小于或等于2*minttsizey
[0694]

cbwidth大于min(maxtbsizey,maxttsize)
[0695]

cbheight大于min(maxtbsizey,maxttsize)
[0696]

mttdepth大于或等于maxmttdepth
[0697]

x0 cbwidth大于pic_width_in_luma_samples
[0698]

y0 cbheight大于pic_height_in_luma_samples
[0699]

treetype等于dual_tree_chroma且(cbwidth/subwidthc)*(cbheight/subheightc)小于或等于32
[0700][0701]

treetype等于dual_tree_chroma且modetype等于mode_type_intra
[0702]

否则,allowttsplit被设定为等于真。
[0703]
5.11示例性实施例#11
[0704][0705]
7.3.8.4编解码树语法
[0706][0707]
5.12示例性实施例#12
[0708][0709]
7.4.9.4编解码树语义
[0710]
变量modetypecondition导出如下:
[0711]

如果以下条件中的一个为真,则modetypecondition被设定为等于0
[0712]

slice_type==i且qtbtt_dual_tree_intra_flag等于1
[0713]

modetypecurr不等于mode_type_all
[0714][0715]

否则,如果以下条件中的一个为真,则modetypecondition被设定为等于1
[0716]

cbwidth*cbheight等于64且split_qt_flag等于1
[0717]

cbwidth*cbheight等于64且mttsplitmode[x0][y0][mttdepth]等于split_tt_hor或split_tt_ver
[0718]

cbwidth*cbheight等于32且mttsplitmode[x0][y0][mttdepth]等于split_bt_hor或split_bt_ver
[0719]

否则,如果以下条件中的一个为真,则modetypecondition被设定为等于1 (slice_type!=i?1:0)
[0720]

cbwidth*cbheight等于64且mttsplitmode[x0][y0][mttdepth]等于split_bt_hor或split_bt_ver
[0721]

cbwidth*cbheight等于128且mttsplitmode[x0][y0][mttdepth]等于split_tt_hor或split_tt_ver
[0722]

否则,modetypecondition被设定为等于0
[0723]

[0724]
5.13示例性实施例#13
[0725][0726]
7.4.9.4编解码树语义
[0727]
变量modetypecondition导出如下:
[0728]

如果以下条件中的一个为真,则modetypecondition被设定为等于0
[0729]

slice_type==i且qtbtt_dual_tree_intra_flag等于1
[0730]

modetypecurr不等于mode_type_all
[0731]

否则,如果以下条件中的一个为真,则modetypecondition被设定为等于1
[0732]

cbwidth*cbheight等于64且split_qt_flag等于1
[0733]

cbwidth*cbheight等于64且mttsplitmode[x0][y0][mttdepth]等于split_tt_hor或split_tt_ver
[0734]

cbwidth*cbheight等于32且mttsplitmode[x0][y0][mttdepth]等于split_bt_hor或split_bt_ver
[0735]

否则,如果以下条件中的一个为真,则modetypecondition被设定为等于1 (slice_type!=i?1:0)
[0736]

cbwidth*cbheight等于64且mttsplitmode[x0][y0][mttdepth]等于split_bt_hor或split_bt_ver
[0737]

cbwidth*cbheight等于128且mttsplitmode[x0][y0][mttdepth]等于split_tt_hor或split_tt_ver
[0738]

否则,modetypecondition被设定为等于0
[0739]
5.14 scipu中的增量qp信令通知的示例#1
[0740]
[0741]
[0742]
[0743][0744]
5.15 scipu中的增量qp信令通知的示例#2
[0745]
[0746]
[0747]
[0748]
[0749][0750]
5.16 scipu中的增量qp信令通知的示例#3
[0751]
[0752]
[0753]
[0754]
[0755][0756]
5.17 scipu中的增量qp信令通知的示例#4
[0757]
[0758]
[0759]
[0760]
[0761][0762]
图17是视频处理设备1700的框图。设备1700可以用于实现本文所描述的方法中的一个或多个。设备1700可以实施为智能电话、平板计算机、计算机,物联网(iot)接收器等等。设备1700可以包含一个或多个处理器1702、一个或多个存储器1704和视频处理硬件1706。(一个或多个)处理器1702可以配置为实现本文档中所描述的一个或多个方法。(一个或多个)存储器1704可以被用于储存用于实现本文中所描述的方法和技术的数据和代码。视频处理硬件1706可以用于在硬件电路中实现本文档中描述的一些技术。在一些实施例中,硬件1706可以至少部分地在处理器1702内,例如,图形协处理器。
[0763]
图18是处理视频的方法1800的流程图。方法1800包含:为视频的视频区与视频区的编解码表示之间的转换,根据语法规则解析(1802)编解码表示,语法规则定义色度块尺寸与视频区的色彩格式之间的关系;以及通过根据语法规则进行解析来进行(1804)转换。
[0764]
本公开技术的一些实施例包含进行启用视频处理工具或模式的决定或确定。在示例中,当启用视频处理工具或模式时,编码器将在视频块的处理中使用或实现工具或模式,但可以不必基于工具或模式的使用来修改所得的比特流。即,从视频块到视频的比特流表示的转换将在基于决定或确定启用视频处理工具或模式时使用视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将在了解比特流已经被基于视频处理工具或模式修改的情况下处理比特流。即,使用基于决定或确定启用的视频处理工具或模式将进行从视频的比特流表示到视频块的转换。
[0765]
本公开技术的一些实施例包含进行禁用视频处理工具或模式的决定或确定。在示例中,当禁用视频处理工具或模式时,编码器在视频块到视频的比特流表示的转换中将不使用工具或模式。在另一示例中,当禁用视频处理工具或模式时,解码器将在了解比特流未被使用基于决定或确定禁用的视频处理工具或模式修改的情况下处理比特流。
[0766]
在本文档中,术语“视频处理”可以指代视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流表示的转换期间可以应用视频压缩算法,反之亦然。当前视频块的比特流表示可以例如对应于共位的或分布在比特流内的不同位置的比特,如由语法定义的。例如,宏块可以就变换和编解码的误差残差值而言被编码,并且也使用比特流中的头和其他字段中的比特。
[0767]
在一些实施例中可以实现以下第一组条款。
[0768]
以下条款可以与之前章节的项目1中描述的附加技术一起实现。
[0769]
1.一种视频处理的方法,包括:为视频的视频区与视频区的编解码表示之间的转换,根据语法规则解析编解码表示,语法规则定义色度块尺寸与视频区的色彩格式区之间的关系;并且通过根据语法规则进行解析来进行转换。
[0770]
2.如条款1所述的方法,其中色彩格式是4:4:4,并且其中语法规则指定色度块经受与亮度块相同的尺寸约束。
[0771]
3.如条款1所述的方法,其中色彩格式是4:2:2,并且其中语法规则指定色度块经
受与4:2:0色彩格式相同的尺寸约束。
[0772]
4.如条款1-3中任一项所述的方法,其中语法指定以色度格式相关的方式使用预测模式和小块分割。
[0773]
5.如条款1所述的方法,其中语法规则定义基于视频区的色彩格式对视频区的转换启用最小允许尺寸特征。
[0774]
以下条款可以与之前章节的项目2中描述的附加技术一起实现。
[0775]
6.一种视频处理的方法,包括:基于视频的性质和视频的色度格式,确定视频的编解码树节点的编解码模式;以及使用确定的编解码模式进行视频的编解码表示与编解码树节点的视频块之间的转换。
[0776]
7.如条款6所述的方法,其中具有以下性质的情况下,编解码模式对于作为4:2:2的色度格式被确定为mode_type_all,对于作为4:2:0的色度格式被确定为mode_type_intra或mode_type_inter:
[0777]
i.编解码节点是具有水平二叉树划分的mxn编解码树节点;
[0778]
ii.编解码节点是具有垂直二叉树划分的mxn编解码树节点;
[0779]
iii.编解码节点是具有水平三叉树划分的mxn编解码树节点;或
[0780]
iv.编解码节点是具有垂直三叉树划分的mxn编解码树节点。
[0781]
8.如条款7所述的方法,其中m=8或16或32,并且n=4或8或16。
[0782]
以下条款可以与之前章节的项目12中描述的附加技术一起实现。
[0783]
9.一种视频处理的方法,包括:基于规则确定在视频的视频区中是否允许某尺寸的色度块;以及基于确定进行视频区与视频区的编解码表示之间的转换。
[0784]
10.如条款9所述的方法,其中规则指定由于视频区包含双树分割,2xn色度块不被允许。
[0785]
11.如条款9所述的方法,其中规则指定,由于视频区包含单树分割,2n色度块不被允许。
[0786]
12.如条款10或11所述的方法,其中n《=64。
[0787]
以下条款可以与之前章节的项目13、14和15中描述的附加技术一起实现。
[0788]
13.一种视频处理的方法,包括:基于对视频条件允许使用编解码模式的规则,确定了对视频区允许编解码模式;以及基于确定进行视频区中的像素的编解码表示与视频区的像素之间的转换。
[0789]
14.如条款13所述的方法,其中视频条件是块尺寸,并且其中规则允许对小块尺寸的亮度块使用帧内块复制模式。
[0790]
15.如条款14所述的方法,其中小块尺寸包含8x4、8x8、16x4或4xn亮度块尺寸。
[0791]
16.如条款13所述的方法,其中规则允许对使用编解码的mode_type_inter模式的视频区的转换使用帧内块复制模式。
[0792]
17.如条款13所述的方法,其中规则允许对使用编解码的mode_type_inter模式的视频区的转换使用调色板编解码模式。
[0793]
以下条款可以与之前章节的项目16、17、18中描述的附加技术一起实现。
[0794]
18.一种视频处理的方法,包括:使用视频编解码模式进行视频的视频块与视频块的编解码表示之间的转换,其中信令通知编解码模式的语法元素基于规则被选择性地包含
在编解码表示中。
[0795]
19.如条款18所述的方法,其中视频编解码模式是帧内块编解码模式,并且其中规则指定使用视频编解码模式的类型来控制语法元素在编解码表示中的包含。
[0796]
20.如条款19所述的方法,其中规则指定显式地信令通知非跳过块。
[0797]
21.如条款18所述的方法,其中规则指定基于跳过标志和视频块的模式类型隐式地信令通知帧内块复制标志。
[0798]
22.如条款18所述的方法,其中编解码模式是调色板编解码模式,并且其中规则指定基于视频块的模式类型选择性地包含调色板编解码指示符。
[0799]
以下条款可以与之前章节的项目21中描述的附加技术一起实现。
[0800]
23.一种视频处理的方法,包括:由于色度块的尺寸小于阈值尺寸,确定在色度块与色度块的编解码表示之间的转换期间所使用的变换类型与用于对应的亮度块转换的变换类型不同;以及基于确定进行转换。
[0801]
24.如条款23所述的方法,其中阈值尺寸是mxn,其中m是2。
[0802]
以下条款可以与之前章节的项目22中描述的附加技术一起实现。
[0803]
25.如条款1至24中任一项所述的方法,其中,转换使用组合帧间和帧内预测模式作为mode_type_intra模式。
[0804]
26.如条款18至22中任一项所述的方法,其中转换使用组合帧间和帧内预测模式作为mode_type_inter模式。例如,当考虑ciip作为mode_type_inter时,可以应用在项目之前章节中的14-17中描述的方法。或当应用项目14-16中描述的方法时,ciip可以被视为mode_type_inter。
[0805]
以下条款可以与之前章节的项目3-6中描述的附加技术一起实现。
[0806]
27.一种视频处理的方法,包括:基于视频区的编解码条件,确定在视频区的编解码表示与视频区的像素值的转换期间是否强制最小色度块规则;以及基于确定进行转换。
[0807]
28.如条款27所述的方法,其中编解码条件包括视频区的色彩格式。
[0808]
29.如条款28所述的方法,其中视频区具有m像素的宽度和n像素的高度,并且其中编解码条件还取决于m和/或n的值。
[0809]
30.如条款29所述的方法,其中由于视频区具有4:2:2色彩格式且m*n=32或m*n=64而启用最小色度块规则。
[0810]
以下条款可以与之前章节的项目7-11中描述的附加技术一起实现。
[0811]
31.一种视频处理的方法,包括:为4:2:2格式的视频区的编解码表示与视频区的像素值之间的转换,基于对视频区是否启用最小色度块规则,确定要用于转换的模式类型;以及基于确定进行转换。
[0812]
32.如条款31所述的方法,其中由于视频区具有4:2:2格式且启用最小色度块规则,视频区的模式类型被设定为1。
[0813]
33.如条款31所述的方法,其中确定模式类型包含:由于对视频区启用最小色度块规则,将模式类型确定为帧内(intra)类型。
[0814]
34.如条款31所述的方法,其中确定模式类型包含:由于对视频区启用最小色度块规则,确定模式类型帧间(inter)被禁用。
[0815]
以下条款可以与之前章节的项目7-11中描述的附加技术一起实现。
[0816]
35.一种视频处理的方法,包括:为视频块的编解码表示与视频的视频块之间的转换,基于在转换期间使用的模式类型或视频块的维度,确定在转换期间是否允许块分割;以及使用确定进行转换。
[0817]
36.如条款35所述的方法,其中块分割包括二叉树分割或三叉树分割。
[0818]
37.如条款35-36中任一项所述的方法,其中,在模式类型是帧间(inter)模式的情况下,块分割是基于允许或不允许分割类型的限制规则。
[0819]
38.如条款1至37中任一项所述的方法,其中转换包括将视频编码为编解码表示。
[0820]
39.如条款1至37中任一项所述的方法,其中转换包括解码编解码表示以生成视频的像素值。
[0821]
40.一种视频解码设备,包括处理器,处理器配置为实现条款1至39中一项或多项所列举的方法。
[0822]
41.一种视频编码设备,包括处理器,处理器配置为实现条款1至39中一项或多项所列举的方法。
[0823]
42.一种计算机程序产品,具有其上储存的计算机代码,当由处理器执行代码时,使处理器实现条款1至39中任一项所列举的方法。
[0824]
43.一种本文档中描述的方法、设备或系统。
[0825]
第二组条款描述之前章节(例如,项目1、3-11、18、19和24)中的本公开技术的某些特征和方面。
[0826]
1.一种视频处理的方法(例如,图21a所示的方法2110),包括:为视频的视频区与所述视频的编解码表示之间的转换,根据规则基于所述视频的色彩格式确定(2112)所述视频区的帧内编解码特性;以及根据所述帧内编解码特性进行(2114)所述转换。
[0827]
2.如条款1所述的方法,其中所述规则指定,在所述视频区的色彩格式是4:0:0或4:4:4的情况下,所述帧内编解码特性是对所述视频区启用全部编解码模式,并且其中所述编解码表示包含指示用于所述视频区的模式类型的语法元素的mode_type_all值。
[0828]
3.如条款1-2中任一项所述的方法,其中所述规则指定,在所述色彩格式是4:0:0或4:4:4的情况下,所述编解码表示包含指示确定模式类型的条件的语法元素被设定为0。
[0829]
4.如条款1-3中任一项所述的方法,其中所述规则指定,是否启用对所述视频区中的帧内编解码色度块的最小允许尺寸的限制取决于所述色彩格式。
[0830]
5.如条款4所述的方法,其中所述规则指定对4:2:0和4:2:2格式启用所述限制。
[0831]
6.如条款4所述的方法,其中所述规则指定对4:0:0和4:4:4格式禁用所述限制。
[0832]
7.一种视频处理的方法(例如,图21b中所示的方法2120),包括:进行(2122)视频的当前视频块与所述视频的编解码表示之间的转换,其中所述编解码表示符合格式规则,并且其中所述格式规则指定语法元素modetype,所述语法元素modetype指示所述当前视频块的编解码模式,所述编解码模式等于mode_type_no_inter或者mode_type_no_intra,所述mode_type_no_inter限制将所述帧间编解码模式用于所述转换,所述mode_type_no_intra限制将所述帧内模式用于所述转换。
[0833]
8.一种视频处理的方法(例如,图21b中所示的方法2120),包括:进行(2122)视频与所述视频的编解码表示之间的转换,其中所述编解码表示符合格式规则,所述格式规则指定标志,所述标志指示,所述视频的色度格式是4:2:2、4:0:0或4:4:4的情况下,预测模式
约束不被包含在所述编解码表示中。
[0834]
9.如条款8所述的方法,其中在所述标志不存在的情况下,对应的值被推断为0或1。
[0835]
10.一种视频处理的方法(例如,图21c中所示的方法2130),包括:为视频的视频区与所述视频的编解码表示之间的转换,根据规则确定(2132)对所述视频区是否和/或如何启用对最小色度帧内预测块的尺寸的限制;以及基于所述确定进行(2134)所述转换,其中所述规则取决于所述视频的色彩格式是4:2:0还是4:2:2。
[0836]
11.一种视频处理的方法,包括:为视频的视频区与所述视频的编解码表示之间的转换,根据规则确定对所述视频区是否启用对最小色度帧内预测块的尺寸的限制;以及基于所述确定进行所述转换,其中所述规则取决于所述视频的色彩格式和/或所述视频区的宽度(m)和高度(n),并且其中所述规则还指定,对于作为具有bt(二叉树)划分的编解码树节点的所述视频区,则在以下情况下禁用对所述最小色度帧内预测块的限制:1)所述视频的色彩格式是4:2:2;并且2)m和n的乘积是来自值的集合中的值,其中所述值的集合包含64。
[0837]
12.如条款11所述的方法,其中所述规则还指定在以下情况下启用对所述最小色度帧内预测块的限制:1)所述视频的色彩格式是4:2:2;并且2)所述值的集合还包含32。
[0838]
13.如条款11所述的方法,其中所述规则还指定在以下情况下禁用对所述最小色度帧内预测块的限制:1)所述视频的色彩格式是4:2:2;并且2)所述值的集合还包含128。
[0839]
14.如条款11所述的方法,其中所述规则还指定,对于作为具有等于1的split_qt_flag的编解码树节点的所述视频区,在所述视频的色彩格式是4:2:2的情况下启用对所述最小色度帧内预测块的限制。
[0840]
15.如条款11所述的方法,其中所述规则还指定,对于作为具有tt(三叉树)划分的编解码树节点的所述视频区,在所述视频的色彩格式是4:2:2的情况下启用对所述最小色度帧内预测块的限制。
[0841]
16.如条款11所述的方法,其中所述规则还指定,对于作为具有bt(二叉树)划分的编解码树节点的所述视频区,在以下情况下启用对所述最小色度帧内预测块的限制:1)所述视频的色彩格式是4:2:2;并且2)所述值的集合还包含32。
[0842]
17.如条款11至16中任一项所述的方法,其中所述规则还指定,对于具有4:2:2色彩格式的所述视频中的所述最小色度帧内预测块,modetypecondition总是等于1。
[0843]
18.如条款11至17中任一项所述的方法,其中所述规则还指定,对于具有4:2:2色彩格式的所述视频中的所述最小色度帧内预测块,仅允许mode_type_intra,所述mode_type_intra允许对所述转换使用帧内模式、调色板模式,以及帧内块复制模式。
[0844]
19.一种视频处理的方法,包括:根据对最小色度帧内预测块尺寸的限制,进行视频的视频区与所述视频的编解码表示之间的转换,其中所述编解码表示符合格式规则,所述格式规则由于所述视频的4:2:2色彩格式而指定所述编解码表示中的语法字段的值。
[0845]
20.如条款19所述的方法,其中所述语法字段对应于所述scipu块的modetypecondition,并且其中所述格式规则由于所述4:2:2色彩格式还指定所述modetypecondition总是1。
[0846]
21.如条款19所述的方法,其中所述语法字段对应于所述scipu块的
modetypecondition,并且其中所述格式规则由于所述4:2:2色彩格式还指定所述modetypecondition是0或1。
[0847]
22.如条款19所述的方法,其中所述语法字段对应于所述scipu块的modetypecondition,并且其中所述格式规则由于所述4:2:2色彩格式还指定所述modetypecondition不是2。
[0848]
23.如条款19所述的方法,其中所述语法字段对应于所述scipu块的modetype,并且其中所述格式规则由于所述4:2:2色彩格式还指定所述modetype总是等于mode_type_intra,所述mode_type_intra允许使用帧内模式、调色板模式,以及帧内块复制模式。
[0849]
24.如条款19所述的方法,其中所述语法字段对应于所述scipu块的modetype,并且其中所述格式规则由于所述4:2:2色彩格式还指定所述modetype等于1)mode_type_all,所述mode_type_all允许对所述转换使用帧间编解码模式、帧内模式、调色板模式,以及帧内块复制模式;或2)mode_type_intra,所述mode_type_intra允许使用帧内模式、调色板模式,以及帧内块复制模式。
[0850]
25.如条款19所述的方法,其中所述语法字段对应于所述scipu块的modetype,并且其中所述格式规则由于所述4:2:2色彩格式还指定所述modetype不对应于mode_type_inter,所述mode_type_inter仅允许对所述转换使用帧间模式。
[0851]
26.一种视频处理的方法(例如,图21d中所示的方法2140),包括:为视频的当前视频块与所述视频的编解码表示之间的转换,根据规则确定(2142)分割方案对所述当前视频块的适用性;以及基于所述确定进行(2144)所述转换。
[0852]
27.如条款26所述的方法,其中所述规则指定,所述确定基于在所述转换期间使用的模式类型或所述当前视频块的维度中的至少一者来确定所述适用性,并且其中所述分割方案包括bt(二叉树)划分和/或tt(三叉树)划分。
[0853]
28.如条款27所述的方法,其中在所述模式类型等于仅允许对所述转换使用帧间模式的mode_type_inter的情况下,对所述当前视频块不允许所述bt划分。
[0854]
29.如条款27所述的方法,其中在所述模式类型等于仅允许对所述转换使用帧间模式的mode_type_inter的情况下,对所述当前视频块不允许所述tt划分。
[0855]
30.如条款27所述的方法,其中在m*n小于或等于32且所述模式类型等于仅允许对所述转换使用帧间模式的mode_type_inter的情况下,不允许所述bt划分,从而m和n对应于所述当前视频块的高度和宽度。
[0856]
31.如条款27所述的方法,其中在m*n小于或等于64且所述模式类型等于仅允许对所述转换使用帧间模式的mode_type_inter的情况下,不允许所述tt划分,从而m和n对应于所述当前视频块的高度和宽度。
[0857]
32.如条款26所述的方法,其中所述规则指定,基于语法元素modetypecurr限制某分割方案,所述语法元素modetypecurr被包含在所述编解码表示中并描述在所述转换期间使用的模式类型,并且其中所述某分割方案包括bt(二叉树)划分、tt(三叉树)划分,和/或qt(四叉树)划分。
[0858]
33.如条款32所述的方法,其中,由于所述modetypecurr等于仅允许对所述转换使用帧间模式的mode_type_inter,因而不允许所述bt划分。
[0859]
34.如条款32所述的方法,其中,由于所述modetypecurr等于仅允许对所述转换使
用帧间模式的mode_type_inter,因而不允许所述tt划分。
[0860]
35.如条款32所述的方法,其中,由于所述modetypecurr等于仅允许对所述转换使用帧间模式的mode_type_inter,因而不允许所述qt划分。
[0861]
36.如条款32所述的方法,其中在所述modetypecurr等于仅允许对所述转换使用帧间模式的mode_type_inter且亮度块尺寸小于或等于32的情况下,不允许所述bt划分。
[0862]
37.如条款32所述的方法,其中在所述modetypecurr等于仅允许对所述转换使用帧间模式的mode_type_inter且亮度块尺寸小于或等于64的情况下,不允许所述tt划分。
[0863]
38.一种视频处理的方法(例如,图21e所示的方法2150),包括:为视频的视频块与所述视频的编解码表示之间的转换,根据规则确定(2152)是否启用帧间模式,以及基于所述确定进行(2154)所述转换,其中所述规则指定,在对所述视频块启用亮度样点的双树分割的情况下,启用所述帧间模式。
[0864]
39.如条款38所述的方法,其中所述编解码表示包含等于dual_tree_luma的语法字段。
[0865]
40.如条款38所述的方法,其中以所述帧间模式编解码的所述编解码单元仅对具有多个色彩分量的色彩格式含有所述亮度样点。
[0866]
41.如条款38所述的方法,其中所述编解码表示包含指示应用于所述视频块的预测模式的标志,并且对与具有双树类型的亮度块相对应的所述视频块解析所述标志。
[0867]
42.如条款38所述的方法,其中所述规则还指定,无论对所述视频块启用所述亮度样点的双树分割还是单树分割,都应用关于所述帧间模式的相同的约束。
[0868]
43.一种视频处理的方法(例如,图21f所示的方法2160),包括:为视频的视频区与所述视频的编解码表示之间的转换,基于规则确定(2162)是否允许对所述视频区使用调色板模式;以及基于所述确定进行(2164)所述转换,其中所述调色板模式包含使用代表性样点值的调色板编码所述视频区。
[0869]
44.如条款43所述的方法,所述规则指定,在所述视频区的模式类型等于mode_type_intra或mode_type_inter的情况下,允许所述调色板模式,所述mode_type_intra允许对所述转换使用帧内模式、调色板模式和帧内块复制模式,所述mode_type_inter仅允许对所述转换使用帧间模式。
[0870]
45.如条款43所述的方法,其中所述规则指定独立于所述视频区的模式类型而允许所述调色板模式。
[0871]
46.如条款43所述的方法,其中所述规则是基于所述视频区的条带类型和模式类型。
[0872]
47.如条款46所述的方法,其中所述规则指定,对于具有等于mode_type_intra的模式类型的i条带允许所述调色板模式,所述mode_type_intra对所述转换允许使用帧内模式、调色板模式和帧内块复制模式。
[0873]
48.如条款46所述的方法,其中所述规则指定,对具有等于mode_type_intra的模式类型的p/b条带允许所述调色板模式,所述mode_type_intra对所述转换允许使用帧内模式、调色板模式和帧内块复制模式。
[0874]
49.如条款43所述的方法,其中所述规则还指定,在允许所述调色板模式的情况下,不允许局部双树。
[0875]
50.如条款43所述的方法,其中在启用所述调色板模式的情况下,modetypecondition总是设定为0。
[0876]
51.一种视频处理的方法,包括:进行视频的当前视频块与所述视频的编解码表示之间的转换,其中所述编解码表示符合格式规则,其中所述格式规则指定语法元素modetype,所述语法元素modetype包含对所述转换允许使用帧内块复制模式的mode_type_ibc或对所述转换允许使用调色板模式的mode_type_palette,其中所述帧内块复制模式包含至少使用指向含有所述当前视频块的视频帧的块矢量来编码所述当前视频块,并且其中所述调色板模式包含使用代表性样点值的调色板来编码所述当前视频块。
[0877]
52.如条款51所述的方法,其中所述格式规则还指定,在所述modetype是所述mode_type_ibc或所述mode_type_palette的情况下,所述编解码表示不包含pred_mode_flag、pred_mode_ibc_flag和/或pre_mode_plt_flag。
[0878]
53.如条款51所述的方法,其中所述编解码表示包含指示用于所述转换的模式类型的索引而非mode_constraint_flag。
[0879]
54.如条款1至53中任一项所述的方法,其中所述转换包含将所述视频编码为所述编解码表示。
[0880]
55.如条款1至53中任一项所述的方法,其中所述转换包含解码所述编解码表示以生成所述视频。
[0881]
56.一种视频处理设备,包括处理器,所述处理器配置为实现条款1至55中任一项所述的方法。
[0882]
57.一种计算机可读介质,储存程序代码,所述程序代码当被执行时,使处理器实现条款1至55中任一项所述的方法。
[0883]
58.一种计算机可读介质,储存根据上述方法中任一项生成的编解码表示或比特流表示。
[0884]
第三组条款描述之前章节(例如,项目25-33)中的本公开技术的某些特征和方面。
[0885]
1.一种视频处理的方法,包括:为视频的当前视频块与所述视频的编解码表示之间的转换,根据规则确定对所述当前视频块是否允许某分割方案,所述规则取决于用于在所述编解码表示中表示所述当前视频块的编解码模式类型和所述当前视频块的维度;以及基于所述确定进行所述转换。
[0886]
2.如条款1所述的方法,其中所述某分割方案包括qt(四叉树)划分、垂直tt(三叉树)划分、水平tt划分、垂直bt(二叉树)划分和/或水平bt划分,在所述qt(四叉树)划分中所述当前视频块在水平方向和垂直方向上被划分为四个部分,在所述垂直tt(三叉树)划分中所述当前视频块在垂直方向上被划分为三个部分,在所述水平tt划分中所述当前视频块在水平方向上被划分为三个部分,在所述垂直bt(二叉树)划分中所述当前视频块在垂直方向上被划分为两个部分,在所述水平bt划分中所述当前视频块在水平方向上被划分为两个部分。
[0887]
3.如条款1所述的方法,其中所述规则指定在以下情况下对所述当前视频块不允许qt(四叉树)划分:1)所述编解码表示包含与对所述当前视频块仅允许帧间模式的编解码模式类型相对应的mode_type_inter值;并且2)所述当前视频块的宽度和高度都是8。
[0888]
4.如条款1所述的方法,其中所述规则指定在以下情况下对所述当前视频块不允
许tt(三叉树)划分:1)所述编解码表示包含与对所述当前视频块仅允许帧间模式的编解码模式类型相对应的mode_type_inter值;以及2)所述当前视频块的宽度和高度的乘积是64。
[0889]
5.如条款4所述的方法,其中所述规则还指定,在所述编解码表示包含mode_type_inter值且所述当前视频块的宽度和高度分别是16和4的情况下,不允许垂直tt(三叉树)划分。
[0890]
6.如条款4所述的方法,其中所述规则还指定,在所述编解码表示包含mode_type_inter值且所述当前视频块的宽度和高度分别是4和16的情况下,不允许水平tt(三叉树)划分。
[0891]
7.如条款1所述的方法,其中所述规则指定在以下情况下对所述当前视频块不允许bt(二叉树)划分:1)所述编解码表示包含与对所述当前视频块仅允许帧间模式的编解码模式类型相对应的mode_type_inter值;以及2)所述当前视频块的宽度和高度的乘积是32。
[0892]
8.如条款7所述的方法,其中所述规则还指定,在所述编解码表示包含mode_type_inter值且所述当前视频块的宽度和高度分别是8和4的情况下,不允许垂直bt(二叉树)划分。
[0893]
9.如条款7所述的方法,其中所述规则指定,在所述编解码表示包含mode_type_inter值且所述当前视频块的宽度和高度分别是4和8的情况下,不允许水平bt(二叉树)划分。
[0894]
10.一种视频处理的方法,包括:进行视频的视频块与所述视频的编解码表示之间的转换,其中所述编解码表示符合格式规则,其中所述格式规则指定所述视频块的特性控制所述编解码表示中的语法元素是否指示所述视频块的预测模式。
[0895]
11.如条款10所述的方法,其中所述视频块的特性包含色彩分量中的一个或所述视频块的维度。
[0896]
12.如条款10或11所述的方法,其中所述格式规则还指定所述语法元素指示与色度块相对应的所述视频块的预测模式。
[0897]
13.如条款10至12中任一项所述的方法,其中所述格式规则还指定,所述语法元素不指示与亮度块相对应的所述视频块的预测模式和与所述亮度块相对应的所述视频块的预测模式被包含在所述编解码表示中。
[0898]
14.如条款13所述的方法,其中所述视频块的宽度和高度都大于4。
[0899]
15.一种视频处理的方法,包括:进行视频的第一分量的视频区与所述视频的编解码表示之间的转换,其中所述编解码表示符合格式规则,其中所述格式规则指定,在所述编解码表示中是否和/或如何配置语法字段以指示所述视频区的差分量化参数取决于用于划分所述第一分量的样点的划分方案。
[0900]
16.如条款15所述的方法,其中所述格式规则还指定,在所述编解码表示中是否和/或如何配置所述语法字段是独立于用于划分所述视频的第二分量的样点的划分方案的。
[0901]
17.如条款15或16所述的方法,其中所述第一分量是亮度分量且所述第二分量是色度分量。
[0902]
18.如条款15或16所述的方法,其中所述第一分量是色度分量且所述第二分量是亮度分量。
[0903]
19.如条款15所述的方法,其中所述格式规则还指定在其中亮度分量和色度分量共享相同模式类型的特定区域中包含与所述差分量化参数有关的信息至多一次。
[0904]
20.如条款19所述的方法,其中所述特定区域对应于量化组。
[0905]
21.一种视频处理的方法,包括:根据规则进行视频的第一分量的视频区与所述视频的编解码表示之间的转换,其中所述规则指定,在双树和/或局部双树编解码结构被应用于所述视频区的情况下,在所述视频的第二分量的解码或解析过程期间不修改与所述第一分量的差分量化参数有关的变量。
[0906]
22.如条款21所述的方法,其中在对色度块的最小允许尺寸的限制被应用于所述视频区的情况下,所述局部双树结构被应用于所述视频区。
[0907]
23.如条款21或22所述的方法,其中所述第一分量是亮度分量且所述第二分量是色度分量。
[0908]
24.如条款21或22所述的方法,其中所述第一分量是色度分量且所述第二分量是亮度分量。
[0909]
25.如条款21至24中任一项所述的方法,其中所述差分量化参数指示应用于所述视频块的量化值与应用于邻域视频块的之前的量化值之间的差。
[0910]
26.如条款1至25中任一项所述的方法,其中进行所述转换包含从所述视频生成所述编解码表示。
[0911]
27.如条款1至25中任一项所述的方法,其中进行所述转换包含从所述编解码表示生成所述视频。
[0912]
28.一种视频处理设备,包括处理器,所述处理器配置为实现条款1至27中任一项所述的方法。
[0913]
29.一种计算机可读介质,储存程序代码,所述程序代码当被执行时使处理器实现条款1至27中任一项所述的方法。
[0914]
30.一种计算机可读介质,储存根据上述方法中任一项生成的编解码表示或比特流表示。
[0915]
本文档中描述的所公开的和其他的解决方案、示例、实施例、模块和功能操作可以以数字电子电路或计算机软件、固件或硬件来实现,包括本文档中公开的结构及其结构等同,或其中一种或多种的组合。所公开的实施例和其他实施例可以被实现为一个或多个计算机程序产品,即,在计算机可读介质上编码的计算机程序指令的一个或多个模块,以由数据处理装置执行或控制数据处理装置的操作。所述计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器装置、实现机器可读传播信号的物质组成或它们中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有设备、装置和机器,例如包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,设备还可以包含为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个组合的代码。传播的信号是人工产生的信号,例如机器产生的电、光或电磁信号,其被产生以对信息进行编码以传输到合适的接收器设备。
[0916]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译或解释语言)编写,并且可以以任何形式进行部署,包括独立程序或适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定与文件系统中的文件相
对应。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),专用于所讨论程序的单个文件中或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)。可以将计算机程序部署为在一台计算机上执行,或者在位于一个站点上或分布在多个站点上并通过通信网络互连的多台计算机上执行。
[0917]
本文档中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,该可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(应用专用集成电路)。
[0918]
例如,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括或可操作地耦合以从一个或多个大容量存储设备(例如,磁、磁光盘或光盘)接收数据或将数据传输到一个或多个大容量存储装置或将数据传输到这两个或多个存储装置。但是,计算机不必具有此类装置。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器装置,包括例如半导体存储器装置,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
[0919]
虽然该专利文件包含许多细节,但是这些细节不应被解释为对任何主题或所要求保护的范围的限制,而是对特定于特定技术的具体实施例的特征的描述。在单独的实施例的上下文中在该专利文件中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实现。而且,尽管以上可以将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是在某些情况下,可以从组合中剔除所要求保护的组合中的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变体。
[0920]
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有示出的操作以实现期望的效果。此外,在该专利文档中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离。
[0921]
仅描述了一些实施方式和示例,并且基于该专利文件中所描述和示出的内容可以进行其他实施方式、增强和变化。
再多了解一些

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

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

相关文献