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

使用屏幕内容编码工具进行视频编码和解码的制作方法

2022-03-19 18:50:28 来源:中国专利 TAG:

使用屏幕内容编码工具进行视频编码和解码
1.相关申请的交叉引用
2.根据适用专利法和/或适用于巴黎公约的规则,本技术及时要求2019年8月6日提交的国际专利申请no.pct/cn2019/099447号的优先权和权益。出于法律的所有目的,上述申请的全部公开作为本技术公开的一部分通过引用并入。
技术领域
3.本文档涉及视频和图像编解码和解码技术。


背景技术:

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


技术实现要素:

5.所公开的技术可以由视频或图像解码器或编码器实施例使用,在视频或图像解码器或编码器实施例中,在视频编解码或解码中使用参考图片。
6.在一个示例方面,公开了一种视频处理的方法。该方法包括:根据规则基于视频的颜色格式确定用于将视频的色度视频区域分割为一个或多个色度块的分割方案;以及根据分割方案在视频与视频的编解码表示之间进行转换。
7.在另一个示例方面,公开了另一种视频处理的方法。该方法包括:基于视频的颜色格式,确定用于视频的编解码树节点的子块的预测模式或预测类型;以及基于确定在视频与视频的编解码表示之间进行转换,其中,将编解码树节点分割为子块以用于在编解码表示中进行编解码。
8.在另一个示例方面,公开了另一种视频处理的方法。该方法包括:根据规则,在视频与视频的编解码表示之间进行转换,视频包括包含一个或多个亮度块和一个或多个色度块的一个或多个视频区域;其中规则指定不允许使用帧内模式或帧内块复制模式在编解码表示中表示一个或多个色度块中的尺寸为mxn的色度块,其中m和n分别是指示色度块的宽度和高度的整数;其中帧内模式包括基于先前编码或重建的视频块对色度块进行编码,并且其中帧内块复制模式包括至少使用指向包含视频区域的视频帧的块矢量来对色度块进行编码。
9.在另一个示例方面,公开了另一种视频处理的方法。该方法包括:对于视频的视频区域和视频的编解码表示之间的转换,根据规则确定使用组合的帧间和帧内预测(ciip)模式作为帧内模式或帧间模式;以及基于确定进行转换,并且其中,ciip模式包括使用加权系数来组合帧内预测信号和帧间预测信号。
10.在另一个示例方面,公开了另一种视频处理的方法。该方法包括:在视频的色度块与视频的编解码表示之间进行转换,其中,根据尺寸规则使用帧内编解码模式在编解码表示中表示色度块;其中尺寸规则指定:在色度块的宽度等于m或色度块的高度等于n的情况
下,其中m和n是整数,帧内编解码模式来自帧内编解码模式类型的第一集合;否则,帧内编解码模式来自帧内编解码模式类型的第二集合。
11.在另一个示例方面,公开了另一种视频处理的方法。该方法包括:在视频的色度块与视频的编解码表示之间进行转换,其中,根据规则使用变换类型在编解码表示中表示色度块;其中,规则指定:在色度块的宽度等于m或色度块的高度等于n的情况下,其中m和n是整数,变换类型来自变换类型的第一集合;否则,变换类型来自变换类型的第二集合。
12.在另一个示例方面,公开了另一种视频处理的方法。该方法包括:根据规则,在视频与视频的编解码表示之间进行转换,视频包括具有一个或多个亮度块和一个或多个色度块的视频区域,其中,规则指定帧内块复制(ibc)模式的使用可用于块尺寸为mxn的一个或多个亮度块和一个或多个色度块,对于m和n的所有值,其中m和n是整数;其中,使用ibc模式,至少使用指向包含视频块的视频帧的块矢量来对视频块进行编解码。
13.在另一个示例方面,公开了另一种视频处理的方法。该方法包括:在视频的视频块与视频块的编解码表示之间进行转换,其中,编解码表示符合格式化规则,其中,格式化规则指定基于视频块的模式类型在编解码表示中选择性地包括指示使用帧间块复制(ibc)模式的语法元素,并且其中ibc模式包括至少使用指向包含视频块的视频帧的块矢量对视频块进行编码。
14.在另一个示例方面,公开了另一种视频处理的方法。该方法包括:在视频的视频块与视频块的编解码表示之间进行转换,其中,编解码表示符合格式化规则,其中格式化规则指定无论视频块的模式类型,在编解码表示中都包括指示使用调色板模式的语法元素,并且其中调色板模式包括使用代表性样点值的调色板对视频块进行编码。
15.在另一个示例方面,公开了另一种视频处理的方法。该方法包括:对于视频的视频区域与视频的编解码表示之间的转换,基于规则确定准许对于视频区域使用帧间块复制(ibc)模式;以及基于确定来进行转换,其中,ibc模式包括至少使用指向包含视频区域的视频帧的块矢量来对视频区域进行编码。
16.在另一个示例方面,公开了另一种视频处理的方法。该方法包括:对于视频的视频区域与视频的编解码表示之间的转换,基于规则确定是否准许对于视频区域使用调色板模式;以及基于确定进行转换,其中,规则基于视频区域的编解码模式类型或视频区域的颜色类型;并且其中调色板模式包括使用代表性样点值的调色板对视频区域进行编码。
17.在又一个示例方面,上述方法可以由包括处理器的视频编码器装置实现。
18.在又一个示例方面,上述方法可以由包括处理器的视频解码器装置实现。
19.在又一个示例方面,这些方法可以以处理器可执行指令的形式实施并存储在计算机可读程序介质上。
20.在本文档中进一步描述了这些以及其它方面。
附图说明
21.图1示出了帧内块复制编解码工具的示例。
22.图2示出了以调色板模式编解码的块的示例。
23.图3示出了使用调色板预测器来信令通知调色板条目的示例。
24.图4示出了水平和垂直遍历扫描的示例中的示例。
25.图5示出了对调色板索引进行编解码的示例。
26.图6示出了67个帧内预测模式的示例。
27.图7示出了当前块的左领域和上领域的示例。
28.图8示出了alf滤波器形状的示例(色度:5
×
5菱形,亮度:7
×
7菱形)。
29.图9示出了子采样的拉普拉斯计算的示例。
30.图10示出了在虚拟边界处的修改的块分类的示例。
31.图11是图示在虚拟边界处的用于亮度分量的修改的alf滤波的示例。
32.图12示出了eo中的像素分类的四个1维3像素图案的示例。
33.图13示出了四个带被分组在一起并由其起始带位置表示。
34.图14示出了在ciip权重导出中使用的顶邻域块和左邻域块。
35.图15示出了具有色度缩放架构的亮度映射。
36.图16示出了scipu的示例。
37.图17a和17b是用于实现本文档中所描述的技术的硬件平台的示例的框图。
38.图18是视频处理的示例方法的流程图。
39.图19示出了空域merge候选的位置的示例。
40.图20示出了考虑用于空域merge候选的冗余检查的候选对的示例。
41.图21a和21b示出了基于所公开的技术的一些实现方式的视频处理的示例方法的流程图。
42.图22a和22b示出了基于所公开的技术的一些实现方式的视频处理的示例方法的流程图。
43.图23a和23b示出了基于所公开的技术的一些实现方式的视频处理的示例方法的流程图。
具体实施方式
44.本文档提供可由图像或视频比特流的解码器使用的各种技术,以提高解压缩或解码的数字视频或图像的质量。为简洁起见,术语“视频”在本文中用于包括图片的序列(传统上称为视频)和各个图像。此外,视频编码器还可以在编码过程期间实现这些技术,以便重建用于进一步编码的解码帧。
45.在本文档中使用章节标题是为了易于理解,并且不将实施例和技术限于对应的章节。这样,一个章节的实施例可以与其它章节的实施例组合。
46.1.概述
47.本文档与视频编解码技术有关。具体地,它涉及在视频编解码中采用基于基色的表示的调色板编解码。它可以应用于现有的视频编解码标准(如hevc)或者要最终确定的标准(通用视频编解码)。它也可能适用于未来的视频编解码标准或视频编码器。
48.2.初步讨论
49.视频编解码标准主要通过公知的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
之外的未来视频编解码技术,vceg和mpeg于2015年联合成立了联合视频探索小组(jvet)。此后,jvet采用了许多新方法并将其引入到名为“联合探索模型”(jem)的参考软件中。2018年4月,vceg(q6/16)与iso/iec jtc1sc29/wg11(mpeg)之间的联合视频专家团队(jvet)创立,致力于vvc标准,目标是与hevc相比比特率降低50%。
50.可以在以下位置找到vvc草案的最新版本,即通用视频编解码(草案4):
51.http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=5755
52.可以在以下位置找到名为vtm的vvc的最新参考软件:
53.https://vcgit.hhi.fraunhofer.de/jvet/vvcsoftware_vtm/tags/vtm-5.0
54.2.1帧内块复制
55.帧内块复制(ibc),也称为当前图片参考,已在hevc屏幕内容编解码扩展(hevc-scc)和当前vvc测试模型(通过vtm-4.0)中被采用。ibc将运动补偿的概念从帧间编解码扩展到了帧内编解码。如图1所示,当应用ibc时,由相同图片中的参考块预测当前块。在对当前块进行编解码或解码之前,必须已经重建了参考块中的样点。尽管ibc对于大部分相机捕获的序列而言效率不高,但它示出了屏幕内容的显著编解码增益。原因是屏幕内容图片中存在许多重复的图案,诸如图标和文本字符。ibc可以有效地移除这些重复模式之间的冗余。在hevc-scc中,如果选择当前图片作为参考图片,则帧间编解码单元(cu)可以应用ibc。在这种情况下,mv被重命名为块矢量(bv),并且bv始终具有整数像素精度。为了与主要配置文件hevc兼容,当前图片在解码图片缓冲器(dpb)中被标记为“长期”参考图片。应当注意,类似地,在多视图/3d视频编解码标准中,视图间参考图片也被标记为“长期”参考图片。
56.在bv找到其参考块之后,可以通过复制参考块来生成预测。可以通过从原始信号中减去参考像素来获得残差。然后可以像在其它编解码模式中一样应用变换和量化。
57.图1是帧内块复制的图示。
58.然而,当参考块在图片外部、或与当前块重叠、或在重建区域外部、或在受一些约束限制的有效区域外部时,不定义部分或全部像素值。基本上,存在两种解决此问题的方法。一种是不允许这种情况,例如在比特流一致性方面。另一种是对那些未定义的像素值应用填充。以下子章节详细描述了解决方案。
59.2.2在hevc屏幕内容编解码扩展中的ibc
60.在hevc屏幕内容编解码扩展中,当块使用当前图片作为参考时,应保证整个参考块在可用的重建区域内,如以下规范文本所示:
61.变量offsetx和offsety的导出如下:
62.offsetx=(chromaarraytype==0)?0:(mvclx[0]&0x7?2:0)(8-104)
[0063]
offsety=(chromaarraytype==0)?0:(mvclx[1]&0x7?2:0)(8-105)
[0064]
比特流一致性的要求为,当参考图片是当前图片时,亮度运动矢量mvlx应当遵循以下限制:
[0065]-当以将设置为(xcb,ycb)的(xcurr,ycurr)、将设置为等于(xpb (mvlx[0]》》2)-offsetx,ypb (mvlx[1]》》2)-offsety)的相邻亮度位置(xnby,ynby)作为输入调用第6.4.1节中规定的z扫描顺序块可用性的导出过程时,输出应当为真(true)。
[0066]-当以将设置为(xcb,ycb)的(xcurr,ycurr)、将设置为等于(xpb (mvlx[0]》》2)
npbw-1 offsetx,ypb (mvlx[1]》》2) npbh-1 offsety)的相邻亮度位置(xnby,ynby)作为输入调用第6.4.1节中规定的z扫描顺序块可用性的导出过程时,输出应当为真(true)
[0067]-以下条件中的一个或两者应当为真:
[0068]-(mvlx[0]》》2) npbw xb1 offsetx的值小于或等于0。
[0069]-(mvlx[1]》》2) npbh yb1 offsety的值小于或等于0。
[0070]-以下条件应当为真:
[0071]
(xpb (mvlx[0]》》2) npbsw-1 offsetx)/ctbsizey-xcurr/ctbsizey《=ycurr/ctbsizey-(ypb (mvlx[1]》》2) npbsh-1 offsety)/ctbsizey
ꢀꢀꢀꢀ
(8-106)
[0072]
因此,将不会发生参考块与当前块重叠或参考块在图片外部的情况。无需填充参考块或预测块。
[0073]
2.3在vvc测试模型中的ibc
[0074]
在当前的vvc测试模型中,即vtm-4.0设计中,整个参考块应在当前编解码树单元(ctu)内并且不与当前块重叠。因此,不需要填充参考块或预测块。ibc标志被编解码为当前cu的预测模式。因此,对于每个cu,总共存在三种预测模式:mode_intra、mode_inter和mode_ibc。
[0075]
2.3.1ibc merge模式
[0076]
在ibc merge模式中,从比特流中解析出指向ibc merge候选列表中的条目的索引。ibc merge列表的构建可以根据以下步骤顺序进行总结:
[0077]
步骤1:导出空域候选
[0078]
步骤2:插入hmvp候选
[0079]
步骤3:插入成对平均候选
[0080]
在导出空域merge候选时,在位于图19所示位置的候选中最多选择四个merge候选。导出顺序为a1、b1、b0、a0和b2。仅当位置a1、b1、b0、a0中的任何pu不可用(例如,因为它属于另一个条带或片)或未使用ibc模式编解码时,才考虑位置b2。在添加位置a1处的候选之后,对剩余的候选的插入进行冗余检查,以确保将具有相同运动信息的候选从列表中排除,从而提高了编解码效率。为了降低计算复杂度,在提到的冗余检查中并未考虑所有可能的候选对。替代地,仅考虑与图20中的箭头链接的对,并且只有当用于冗余检查的对应候选不具有相同的运动信息时,才会将候选添加到列表中。
[0081]
在插入空域候选之后,如果ibc merge列表尺寸仍然小于最大ibc merge列表尺寸,则可以插入来自hmvp表的ibc候选。当插入hmvp候选时执行冗余检查。
[0082]
最后,将成对平均候选插入ibc merge列表中。
[0083]
当由merge候选标识的参考块在图片外部、或与当前块重叠、或在重建区域外部、或在受一些约束限制的有效区域外部时,merge候选称为无效merge候选。
[0084]
注意,无效merge候选可以被插入到ibc merge列表中。
[0085]
2.3.2ibc amvp模式
[0086]
在ibc amvp模式中,指向ibc amvp列表中的条目的amvp索引从比特流解析。ibc amvp列表的构建可以根据以下步骤顺序进行总结:
[0087]
步骤1:导出空域候选
[0088]
检查a0、a1,直到找到可用候选。
[0089]
检查b0、b1、b2,直到找到可用候选。
[0090]
步骤2:插入hmvp候选
[0091]
步骤3:插入零候选
[0092]
在插入空域候选之后,如果ibc amvp列表尺寸仍然小于最大ibc amvp列表尺寸,则可以插入来自hmvp表的ibc候选。
[0093]
最后,将零候选插入到ibc amvp列表中。
[0094]
2.4调色板模式(palette mode)
[0095]
调色板模式背后的基本思想是cu中的样点由代表性颜色值的小的集合表示。该集合称为调色板。而且,还可能通过信令通知后跟(可能是量化后的)分量值的转义(escape)符号来指示调色板外部的样点。这种样点称为转义样点。调色板模式如图2所示。
[0096]
图2示出了以调色板模式编解码的块的示例。
[0097]
2.5在hevc屏幕内容编解码扩展(hevc-scc)中的调色板模式
[0098]
在hevc-scc的调色板模式中,一种预测方法用于编解码调色板和索引图。
[0099]
2.5.1调色板条目的编解码
[0100]
为了对调色板条目进行编解码,维护调色板预测器。在sps中信令通知调色板的最大尺寸以及调色板预测器。在hevc-scc中,在pps中引入了palette_predictor_initializer_present_flag。当该标志为1时,在比特流中信令通知用于初始化调色板预测器的条目。在每个ctu行、每个条带和每个片的开始处初始化调色板预测器。取决于palette_predictor_initializer_present_flag的值,将调色板预测器重置为0或使用pps中信令通知的调色板预测器初始化器条目进行初始化。在hevc-scc中,启用尺寸为0的调色板预测器初始化器,以允许在pps级别显式禁用调色板预测器初始化。
[0101]
对于调色板预测器中的每个条目,信令通知重用标志以指示其是否是当前调色板的一部分。这如图3所示。使用零的游程长度(run-length)编解码发送重用标志。此后,使用阶数为0的指数golomb代码信令通知新调色板条目的数量。最后,信令通知新调色板条目的分量值。
[0102]
图3示出了使用调色板预测器来信令通知调色板条目的示例。
[0103]
2.5.2调色板索引编解码
[0104]
如图4所示,使用水平和垂直遍历扫描对调色板索引进行编解码。使用palette_transpose_flag在比特流中显式信令通知扫描顺序。对于子章节的其余部分,假定扫描是水平的。
[0105]
图4示出了水平和垂直遍历扫描的示例。
[0106]
使用两个主要调色板样点模式对调色板索引进行编解码:“index”和“copy_above”。如前所述,转义符号也信令通知为“index”模式,并分配等于最大调色板尺寸的索引。使用除顶行以外的标志或当先前模式为“copy_above”时信令通知该模式。在“copy_above”模式下,复制上方行中样点的调色板索引。在“index”模式下,显式信令通知调色板索引。对于“index”和“copy_above”模式,都信令通知游程值,该值指定也使用相同模式进行编解码的后续样点的数量。当“index”或“copy_above”模式下转义符号是游程的一部分时,为每个转义符号信令通知转义分量值。调色板索引的编解码如图5所示。
[0107]
该语法顺序如下完成。首先,信令通知cu的索引值的数量。这之后是使用截断的二
进制编解码来信令通知整个cu的实际索引值。索引的数量以及索引值两者以旁路模式进行编解码。这将与索引相关的旁路二进制数(bin)分组在一起。然后以交错方式信令通知调色板样点模式(如果需要)和游程。最后,将与整个cu的转义样点相对应的分量转义值分组在一起,并以旁路模式进行编解码。
[0108]
在信令通知索引值之后信令通知附加的语法元素,last_run_type_flag。该语法元素结合索引的数量,消除了信令通知与块中最后的游程相对应的游程值的需要。
[0109]
在hevc-scc中,还对4:2:2、4:2:0和单色色度格式启用调色板模式。对于所有色度格式,调色板条目和调色板索引的信令通知几乎相同。在非单色格式的情况下,每个调色板条目由3个分量组成。对于单色格式,每个调色板条目均由单个分量组成。对于子采样的色度方向,色度样点与可被2整除的亮度样点索引相关联。在为cu重建调色板索引之后,如果样点仅具有与其相关联的单个分量,则仅适用调色板条目的第一分量。信令通知的唯一区别在于转义分量值。对于每个转义样点,取决于与该样点相关联的分量的数量,信号通知的转义分量值的数量可能不同。
[0110]
在vvc,双树编解码结构用于基于对帧内条带进行编解码,因此亮度分量和两个色度分量可以具有不同的调色板和调色板索引。另外,两个色度分量共享相同的调色板和调色板索引。
[0111]
图5示出了对调色板索引进行编解码的示例。
[0112]
2.6vvc中的帧内模式编解码
[0113]
为了捕获自然视频中呈现的任意边缘方向,vtm5中的定向帧内模式的数量从hevc中使用的33扩展到65。hevc中没有的新定向模式在图6中用红色虚线箭头描绘,并且平面和dc模式保持相同。这些较密集的定向帧内预测模式适用于所有块尺寸以及亮度和色度帧内预测。
[0114]
在vtm5中,对于非正方形块,使用广角帧内预测模式自适应地替换几种常规角度帧内预测模式。
[0115]
在hevc中,每个帧内编解码块具有正方形形状,并且其每侧的长度是2的幂。因此,使用dc模式生成帧内预测器不需要除法运算。在vtm5中,块可以具有矩形形状,这通常情况下需要对每个块使用除法运算。对于dc预测为了避免除法运算,对于非正方形块仅使用较长侧来计算平均。
[0116]
图6示出了67个帧内预测模式的示例。
[0117]
为了保持最可能模式(mpm)列表生成的复杂度低,通过考虑两个可用的邻域帧内模式,使用具有6个mpm的帧内模式编解码方法。考虑以下三个方面来构建mpm列表:
[0118]-默认帧内模式
[0119]-邻域帧内模式
[0120]-导出帧内模式
[0121]
不管是否应用mrl和isp编解码工具,统一的6-mpm列表都用于帧内块。mpm列表是基于左方和上方邻域块的帧内模式构建的。假设左方块的模式表示为left,而上方块的模式表示为above,则统一的mpm列表的构建如下(左方块和上方块如图7所示):
[0122]
图7是当前块的左方领域和上方领域的示例。
[0123]

当邻域块不可用时,其内部模式默认设置为平面。
[0124]

如果left和above两者是非角度模式:
[0125]

mpm列表

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

如果“left”和“above”中的一个是角度模式,而另一个是非角度模式:
[0127]

设置模式max作为“left”和“above”中的最大模式
[0128]

mpm列表

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

如果left和above都是角度并且它们是不同的:
[0130]

设置模式max作为“left”和“above”中的最大模式
[0131]

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

mpm列表

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

否则
[0134]

mpm列表

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

如果left和above都是角度并且它们是相同的:
[0136]

mpm列表

{平面,left,left-1,left 1,dc,left-2}
[0137]
此外,mpm索引码字的第一二进制数是cabac上下文编解码的。使用总共三种上下文,对应于当前帧内块是启用mrl、启用isp还是正常帧内块。
[0138]
在6个mpm列表生成过程期间,使用修剪来移除重复的模式,以便仅唯一模式可以包括在mpm列表中。对于61个非mpm模式的熵编解码,使用截断二进制码(tbc)。
[0139]
对于色度帧内模式编解码,总共允许8个帧内模式用于色度帧内模式编解码。这些模式包括5个传统帧内模式和3个跨分量线性模型模式(cclm、lm_a和lm_l)。色度模式信令通知和导出过程如表2-4所示。色度模式编解码直接取决于对应亮度块的帧内预测模式。由于在i条带中启用用于亮度和色度分量的分开的块分割结构,所以一个色度块可以对应于多个亮度块。因此,对于色度dm模式,覆盖当前色度块的中心位置的对应亮度块的帧内预测模式被直接继承。
[0140]
表2-4当启用cclm时从亮度模式导出色度预测模式
[0141][0142]
2.7量化残差块差分脉冲编解码调制(qr-bdpcm)
[0143]
在jvet-m0413中,提出了一种量化残差块差分脉冲编解码调制(qr-bdpcm)以有效地对屏幕内容将进行编解码。
[0144]
在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时:
[0145][0146]
对于水平预测,适用类似的规则,并且通过以下方式获得残差量化后的样点:
[0147][0148]
残差量化后的样点被发送到解码器。
[0149]
在解码器侧,逆进行上述计算以产生q(r
i,j
),0≤i≤m-1,0≤j≤n-1。对于垂直预测情况,
[0150]
[0151]
对于水平情况,
[0152][0153]
逆量化后的残差q-1
(q(r
i,j
))被添加到帧内块预测值以产生重建的样点值。
[0154]
该方案的主要优点在于,可以在系数解析期间即时完成逆dpcm,也可以在解析系数时简单地添加预测器,或者在解析后执行逆dpcm。
[0155]
2.8自适应环路滤波器
[0156]
在vtm5中,应用了具有基于块的滤波器自适应的自适应环路滤波器(alf)。对于亮度分量,基于局部梯度的方向和活度,为每个4
×
4块选择25个滤波器中的一个。
[0157]
2.8.1.1滤波器形状
[0158]
在vtm5中,使用了两种菱形滤波器形状(如图8所示)。7
×
7菱形应用于亮度分量,而5
×
5菱形应用于色度分量。
[0159]
图8示出了alf滤波器形状的示例(色度:5
×
5菱形,亮度:7
×
7菱形)
[0160]
2.8.1.2块分类
[0161]
对于亮度分量,每个4
×
4块被归类为25类中的一个。分类索引c基于其方向性d和活度的量化值而导出,如下:
[0162][0163]
为了计算d和首先使用一维拉普拉斯计算计算水平、垂直和两个对角方向的梯度:
[0164][0165][0166][0167][0168]
其中索引i和j指代4
×
4块内左上样点的坐标,而r(i,j)指示在坐标(i,j)处的重建样点。
[0169]
为了降低块分类的复杂度,应用子采样的一维拉普拉斯计算。如图9所示,相同的子采样位置用于所有方向的梯度计算。
[0170]
图9示出了子采样的拉普拉斯计算的示例。(a)垂直梯度的子采样位置(b)水平梯度的子采样位置(c)对角梯度的子采样位置(d)对角梯度的子采样位置。
[0171]
然后,将水平方向和垂直方向的梯度的d最大值和最小值设置为:
[0172]
[0173]
两个对角方向的梯度的最大值和最小值设置为:
[0174][0175]
为了导出方向性d的值,将这些值彼此比较,并使用两个阈值t1和t2:
[0176]
步骤1.如果和都为真,则d设置为0。
[0177]
步骤2.如果则从步骤3继续;否则,则从步骤4继续。
[0178]
步骤3.如果则d设置为2;否则,则d设置为1。
[0179]
步骤3.如果则d设置为4;否则,则d设置为3。
[0180]
活度值a计算为:
[0181][0182]
a被进一步量化到0到4的范围(含端值),并且量化后的值表示为
[0183]
对于图片中的色度分量,不应用分类方法,即,针对每个色度分量应用alf系数的单个集合。
[0184]
2.8.1.3滤波器系数和剪裁值的几何变换
[0185]
在对每个4
×
4亮度块进行滤波之前,取决于针对该块计算的梯度值,将几何变换(诸如旋转或对角和垂直翻转)应用于滤波器系数f(k,l)以及对应的滤波器剪裁值c(k,l)。这等同于将这些变换应用于在滤波器支持区域中的点。想法是通过对齐方向性来使应用了alf的不同块更加相似。
[0186]
引入了三种几何变换,包括对角、垂直翻转和旋转:
[0187]
对角:fd(k,l)=f(l,k),cd(k,l)=c(l,k)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2-9-9)
[0188]
垂直翻转:fv(k,l)=f(k,k-l-1),cv(k,l)=c(k,k-l-1) (2-9-10)
[0189]
旋转:fr(k,l)=f(k-l-1,k),cr(k,l)=c(k-l-1,k)
ꢀꢀꢀꢀ
(2-9-11)
[0190]
其中,k是滤波器的尺寸,并且0≤k,l≤k-1是系数坐标,使得位置(0,0)在左上角而位置(k-1,k-1)在右下角。取决于针对该块计算的梯度值,将变换应用于滤波器系数f(k,l)和剪裁值c(k,l)。下表总结了变换与四个方向的四个梯度之间的关系。
[0191]
表2-5针对一个块计算的梯度与变换的映射
[0192]
梯度值变换g
d2
《g
d1
且gh《gv无变换g
d2
《g
d1
且gv《gh对角g
d1
《g
d2
且gh《gv垂直翻转g
d1
《g
d2
且gv《gh旋转
[0193]
2.8.1.4滤波器参数信令通知
[0194]
在vtm5中,在自适应参数集(aps)中信令通知alf滤波器参数。在一个aps中,最多可以信令通知25个亮度滤波器系数和剪裁值索引的集合,以及最多一个色度滤波器系数和剪裁值索引的集合。为了减少比特开销,可以合并不同分类的滤波器系数。在条带头中,信
令通知用于当前条带的aps的索引。
[0195]
从aps解码的剪裁值索引允许使用剪裁值的亮度表和剪裁值的色度表来确定剪裁值。这些剪裁值取决于内部比特深度。更精确地,裁剪值的亮度表和裁剪值的色度表通过以下公式获得:
[0196][0197]
其中b等于内部比特深度,n等于4,这是vtm5.0中允许的剪裁值的数量。
[0198]
可以在ctb级别控制滤波过程。始终信令通知标志,以指示是否将alf应用于亮度ctb。亮度ctb可以从16个固定滤波器集合和来自aps的滤波器集合中选择滤波器集合。信令通知用于亮度ctb的滤波器集合索引,以指示应用了哪个滤波器集合。16个固定滤波器集合在编码器和解码器两者中是预定义和硬编解码的。
[0199]
滤波器系数以等于128的范数进行量化。为了限制乘法复杂度,应用比特流一致性,使得非中心位置的系数值应在-27至2
7-1的范围内(含端值)。中心位置系数未在比特流中信令通知,并且被认为等于128。
[0200]
2.8.1.5滤波过程
[0201]
在解码器侧,当针对ctb启用alf时,对cu内的每个样点r(i,j)进行滤波,得到样点值r

(i,j),如下所示,
[0202][0203]
其中,f(k,l)表示解码的滤波器系数,k(x,y)是剪裁函数,并且c(k,l)表示解码的剪裁参数。变量k和l在和之间变化,其中l表示滤波器长度。裁剪函数k(x,y)=min(y,max(-y,x))对应于函数clip3(-y,y,x)。
[0204]
2.8.1.6减少线缓冲器的虚拟边界滤波过程
[0205]
在vtm5中,为了减少alf的线缓冲器要求,对水平ctu边界附近的样点采用修改的块分类和滤波。为此,通过移位具有“n”个样点的水平ctu边界将虚拟边界定义为线,如图10所示,其中对于亮度分量n等于4,而对于色度分量n等于2。
[0206]
图10示出了在虚拟边界处的修改的块分类的示例。
[0207]
如图11所示,将修改的块分类应用于亮度分量,通过考虑在一维拉普拉斯梯度计算中使用的样点的减少的数量,来相应地缩放活度值a。
[0208]
对于滤波处理,在虚拟边界处的对称填充操作用于亮度和色度分量两者。如图11所示,当被滤波的样点位于虚拟边界下方时,填充位于虚拟边界上方的邻域样点。同时,也对称地填充另一侧处的对应样点。
[0209]
图11示出了在虚拟边界处的用于亮度分量的修改的alf滤波的示例。
[0210]
2.9样点自适应偏移(sao)
[0211]
编码器通过使用为每个ctb指定的偏移,将样点自适应偏移(sao)应用于在解块滤
波器之后的重建信号。hm编码器首先决定是否将sao过程应用于当前条带。如果将sao应用于条带,则每个ctb被分类为表2-6中所示的五种sao类型中的一种。sao的概念是将像素分类到各类别,并通过向每个类别的像素添加偏移来减少失真。sao操作包括边缘偏移(edge offset,eo)和带偏移(band offset,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向上的偏移。
[0212]
表2

6 sao类型的规定
[0213]
sao类型要使用的样点自适应偏移类型类别号0无011维0度图案边缘偏移421维90度图案边缘偏移431维135度图案边缘偏移441维45度图案边缘偏移45带偏移4
[0214]
2.9.1每种sao类型的操作
[0215]
边缘偏移通过考虑边缘定向信息对当前像素p的分类使用四个1维3像素图案,如图12所示。从左到右,它们分别是:0度、90度、135度和45度。
[0216]
图12示出了eo中的像素分类的四个1维3像素图案的示例。
[0217]
每个ctb根据表2

7分类为五个类别中的一个。
[0218]
表2

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

如果顶领域可用并且是帧内编解码的,则将isintratop设置为1,否则将isintratop设置为0;
[0225]

如果左领域可用并且是帧内编解码的,则将isintraleft设置为1,否则将isintraleft设置为0;
[0226]

如果(isintraleft isintraleft)等于2,则将wt设置为3;
[0227]

否则,如果(isintraleft isintraleft)等于1,则将wt设置为2;
[0228]

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

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

多种类型的树深度mttdepth,
[0257]

变量treetype,其指定是使用单树(single_tree)还是双树对ctu进行分割,并且在使用双树时,指定当前正在处理亮度(dual_tree_luma)还是色度分量(dual_tree_chroma),
[0258][0259]
此过程的输出是变量allowsplitqt。
[0260]
变量allowsplitqt导出如下:
[0261]

如果以下条件中的一个或多个为真,则将allowsplitqt设置为等于假:
[0262]

treetype等于single_tree或dual_tree_luma,并且cbsize小于或等于minqtsizey
[0263]

treetype等于dual_tree_chroma,并且cbsize/subwidthc小于或等于minqtsizec
[0264]

mttdepth不等于0
[0265]

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

否则,将allowsplitqt设置为等于真。
[0268]
允许的二进制划分过程
[0269]
此过程的输入是:
[0270]

二进制划分模式btsplit,
[0271]

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

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

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

多种类型的树深度mttdepth,
[0275]

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

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

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

分割索引partidx,
[0279]

变量treetype,其指定是使用单树(single_tree)还是双树对ctu进行分割,并且在使用双树时,指定当前正在处理亮度(dual_tree_luma)还是色度分量(dual_tree_chroma),
[0280][0281]
此过程的输出是变量allowbtsplit。
[0282]
表6

2基于btsplit的parallelttsplit和cbsize的规定
[0283] btsplit==split_bt_verbtsplit==split_bt_horparallelttsplitsplit_tt_versplit_tt_horcbsizecbwidthcbheight
[0284]
变量parallelttsplit和cbsize如表6

2中规定的被导出。
[0285]
变量allowbtsplit导出如下:
[0286]

如果以下条件中一个或多个为真,则将allowbtsplit设置为等于假:
[0287]

cbsize小于或等于minbtsizey
[0288]

cbwidth大于maxbtsize
[0289]

cbheight大于maxbtsize
[0290]

mttdepth大于或等于maxmttdepth
[0291]

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

否则,如果以下所有条件为真,则将allowbtsplit设置为等于假
[0294]

btsplit等于split_bt_ver
[0295]

y0 cbheight大于pic_height_in_luma_samples
[0296]

否则,如果以下所有条件为真,则将allowbtsplit设置为等于假
[0297]

btsplit等于split_bt_ver
[0298]

cbheight大于maxtbsizey
[0299]

x0 cbwidth大于pic_width_in_luma_samples
[0300]

否则,如果以下所有条件为真,则将allowbtsplit设置为等于假
[0301]

btsplit等于split_bt_hor
[0302]

cbwidth大于maxtbsizey
[0303]

y0 cbheight大于pic_height_in_luma_samples
[0304]

否则,如果以下所有条件为真,则将allowbtsplit设置为等于假
[0305]

x0 cbwidth大于pic_width_in_luma_samples
[0306]

y0 cbheight大于pic_height_in_luma_samples
[0307]

cbwidth大于minqtsize
[0308]

否则,如果以下所有条件为真,则将allowbtsplit设置为等于假
[0309]

btsplit等于split_bt_hor
[0310]

x0 cbwidth大于pic_width_in_luma_samples
[0311]

y0 cbheight小于或等于pic_height_in_luma_samples
[0312]

否则,如果以下所有条件为真,则将allowbtsplit设置为等于假:
[0313]

mttdepth大于0
[0314]

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

否则,如果以下所有条件为真,则将allowbtsplit设置为等于假
[0317]

btsplit等于split_bt_ver
[0318]

cbwidth小于或等于maxtbsizey
[0319]

cbheight大于maxtbsizey
[0320]

否则,如果以下所有条件为真,则将allowbtsplit设置为等于假
[0321]

btsplit等于split_bt_hor
[0322]

cbwidth大于maxtbsizey
[0323]

cbheight小于或等于maxtbsizey
[0324]

否则,将allowbtsplit设置为等于真。
[0325]
允许的三进制划分过程
[0326]
此过程的输入是:
[0327]

三进制划分模式ttsplit,
[0328]

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

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

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

多种类型的树深度mttdepth
[0332]

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

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

变量treetype,其指定是使用单树(single_tree)还是双树对ctu进行分割,并且在使用双树时,指定当前正在处理亮度(dual_tree_luma)还是色度分量(dual_tree_chroma),
[0335][0336]
此过程的输出是变量allowttsplit。
[0337]
表6

3基于ttsplit的cbsize的规定
[0338] ttsplit==split_tt_verttsplit==split_tt_horcbsizecbwidthcbheight
[0339]
变量cbsize如表6

3中规定的被导出。
[0340]
变量allowttsplit导出如下:
[0341]

如果以下条件中一个或多个为真,则将allowttsplit设置为等于假:
[0342]

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

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

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

mttdepth大于或等于maxmttdepth
[0346]

x0 cbwidth大于pic_width_in_luma_samples
[0347]

y0 cbheight大于pic_height_in_luma_samples
[0348]

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

否则,将allowttsplit设置为等于真。
[0351]
等于0指定当前编解码单元是以帧间预测模式编解码的。pred_mode_flag等于1指定当前编解码单元是以帧内预测模式编解码的。
[0352]
当不存在pred_mode_flag时,推断如下:
[0353]-如果cbwidth等于4和cbheight等于4,则推断pred_mode_flag等于1。
[0354][0355]

否则,分别在解码i条带时推断pred_mode_flag等于1,在解码p或b条带时推断pred_mode_flag等于0。
[0356]
对于x=x0..x0 cbwidth-1且y=y0..y0 cbheight-1,变量cupredmode[chtype][x][y]导出如下:
[0357]

如果pred_mode_flag等于0,则将cupredmode[chtype][x][y]设置为等于mode_inter。
[0358]

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

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

否则,如果cbwidth和cbheight都等于128,则推断pred_mode_ibc_flag等于0。
[0363][0364]

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

1且y=y0..y0 cbheight-1,将变量cupredmode[chtype][x][y]设置为等于mode_ibc。
[0366]
3.问题
[0367]
1.当前,ibc被视为mode_type_intra,并且因此不允许小色度块,这导致不必要的编解码效率损失。
[0368]
2.当前,调色板被视为mode_type_intra,并且因此不允许小色度块,这导致不必要的编解码效率损失。
[0369]
3.当前,小色度块约束不考虑颜色子采样格式。
[0370]
4.当前,对小块的相同分割和预测模式约束被应用于所有色度格式。然而,可能期望在4:2:0和4:2:2色度格式中对小块设计不同的约束机制。
[0371]
5.当前,调色板模式标志信令通知取决于modetype,这是不期望的,因为调色板可能不应用小块约束。
[0372]
6.当前,在cu_skip_flag等于1但mode_type等于mode_type_intra的情况下,对于p/b条带,推断ibc模式标志为0,这在语法解析中是不合法的。
[0373]
7.当前,对于scipu亮度块不允许非4x4亮度ibc模式,这可能是不期望的,并且可能导致编解码效率损失。
[0374]
8.仍然允许2xh色度块,这对硬件实现方式不友好。
[0375]
9.尽管ciip使用帧内预测,但ciip被视为mode_inter,这在一些情况下打破了约束。
[0376]
4.技术方案和实施例的示例
[0377]
以下列出的应被视为示例。这些技术不应狭义地解释。此外,可以以任何方式组合这些技术。
[0378]
在本文档中,“mxn编解码树节点”指示m
×
n块,在亮度样点中m是块宽度,n是块高度,其可以被进一步分割,诸如通过qt/bt/tt。例如,块可以是qt节点或bt节点或tt节点。编
解码树节点可以是编解码单元(例如,对于单树具有三个颜色分量,对于双树色度编解码具有两个色度颜色分量,而对于双树亮度编解码仅具有亮度颜色分量),或亮度编解码块,或色度编解码块。“小编解码树节点单元”可以指示在亮度样点中块尺寸mxn等于32/64/128的编解码树节点。
[0379]
如果没有特别提及,则在亮度样点中测量编解码块的宽度w和高度h。例如,mxn编解码块是指mxn亮度块,和/或两个(m/subwidthc)x(n/subheightc)色度块,其中subwidthc和subheightc由色度格式导出如下。
[0380][0381]
1.是否和/或如何分割为小块可以取决于颜色格式。
[0382]
a.在一个示例中,对于4:4:4颜色格式,对色度块尺寸的约束可以遵循对亮度块的那些约束。
[0383]
b.在一个示例中,对于4:2:2颜色格式,对色度块尺寸的约束可以遵循对于4:2:0颜色格式的那些约束。
[0384]
c.在一个示例中,对于4:0:0和/或4:4:4色度格式,可以不应用对小块分割和/或预测模式的约束。
[0385]
d.在一个示例中,对于不同的色度格式可以不同地应用对小块分割和/或预测模式的约束。
[0386]
i.在一个示例中,对于具有水平bt划分的mxn(诸如8x8)编解码树节点,在4:2:2色度格式中,可以对于色度块和亮度块两者允许水平bt划分,而在4:2:0色度格式中,可以对于亮度块允许但对于色度块禁用水平bt划分。
[0387]
ii.在一个示例中,对于具有垂直bt划分的mxn(诸如16x4)编解码树节点,在4:2:2色度格式中,可以对于色度块和亮度块两者允许垂直bt划分,而在4:2:0色度格式中,可以对于亮度块允许但对于色度块禁用垂直bt划分。
[0388]
iii.在一个示例中,对于具有水平tt划分的mxn(诸如8x16)编解码树节点,在4:2:2色度格式中,可以对于色度块和亮度块两者允许水平tt划分,而在4:2:0色度格式中,可以对于亮度块允许但对于色度块禁用水平tt划分。
[0389]
iv.在一个示例中,对于具有垂直tt划分的mxn(诸如32x4)编解码树节点,在4:2:2色度格式中,可以对于色度块和亮度块两者允许垂直tt划分,而在4:2:0色度格式中,可以对于亮度块允许但对于色度块禁用垂直tt划分。
[0390]
v.在一个示例中,对于4:0:0和/或4:4:4颜色格式,可以不应用小块约束。
[0391]
e.在一示例中,是否启用scipu取决于颜色格式。
[0392]
i.在一个示例中,对于4:2:0和4:2:2颜色格式启用scipu。
[0393]
ii.在一个示例中,对于4:0:0和/或4:4:4颜色格式禁用scipu。
[0394]
2.如何确定用于编解码树节点的(子)块的预测模式(和/或modetype)可以取决于色度格式。
[0395]
a.在一个示例中,如果以下条件中的一个为真,则对于4:2:2色度格式由此编解码树节点分割的(子)块的modetype可以等于mode_type_all,而对于4:2:0色度格式,modetype可以等于mode_type_intra或mode_type_inter。
[0396]
i.具有水平bt划分的mxn(诸如8x8)编解码树节点
[0397]
ii.具有垂直bt划分的mxn(诸如16x4)编解码树节点
[0398]
iii.具有水平tt划分的mxn(诸如8x16)编解码树节点
[0399]
iv.具有垂直tt划分的mxn(诸如32x4)编解码树节点
[0400]
例如,当以下条件中的一个为真时,对于4:2:2可以将modetype设置为mode_type_all;而对于4:2:0,modetype必须为mode_type_intra或mode_type_inter:i)具有水平bt的亮度8x8块,ii)具有垂直bt的亮度16x4块,iii)具有水平tt的亮度8x16块,iv)具有垂直tt的亮度32
×
4块。
[0401]
因此,对于在编解码树中具有三个颜色分量的块,当上述条件中的一个为真时,4:2:0的块不被归类为mode_type_all(其中可以选择所有编解码模式)。它是mode_type_intra(其中块可以选择调色板、帧内或帧内块复制)或mode_type_inter(其中只可以选择帧间模式)。
[0402]
3.可以不允许块宽度等于m(诸如,m=2)色度样点的色度帧内(和/或ibc)块。
[0403]
a.在一个示例中,在双树中可以不允许2
×
n(诸如n≤64)色度帧内块。
[0404]
i.在一个示例中,当treetype等于dual_tree_chroma并且块宽度等于4个色度样点时,可以禁用垂直bt划分。
[0405]
ii.在一个示例中,当treetype等于dual_tree_chroma并且块宽度等于8个色度样点时,可以禁用垂直tt划分。
[0406]
b.在一个示例中,在单树中可以不允许2xn(诸如n《=64)色度帧内(和/或ibc)块。
[0407]
i.在一个示例中,对于具有垂直bt划分的m
×
n(诸如m=8和n《=64)编解码树节点,可以应用以下过程中的一个。
[0408]
1.对于4xn或4x(n/2)色度块,可以不允许垂直bt划分,但对于8xn亮度块,可以允许垂直bt划分。
[0409]
2.4xn或4x(n/2)色度块可以不是垂直bt划分,并且它可以由mode_intra或mode_ibc编解码。
[0410]
3.对于8xn亮度块和4xn或4x(n/2)色度块两者可以允许垂直bt划分,但是亮度块和色度块两者不以mode_intra编解码(例如,可以以mode_inter或mode_ibc编解码)。
[0411]
ii.在一个示例中,对于具有垂直tt划分的m
×
n(诸如m=16和n《=64)编解码树节点,可以应用以下过程中的一个。
[0412]
1.对于8xn或8x(n/2)色度块,可以不允许垂直tt划分,但对于16xn亮度块,可以允许垂直tt划分。
[0413]
2.8xn或8
×
(n/2)色度块可以不是垂直tt划分,并且以mode_intra或mode_ibc编
解码。
[0414]
3.对于16xn亮度块和8xn或8
×
(n/2)色度块两者可以允许垂直tt划分,但是亮度块和色度块两者可以不以mode_intra编解码(例如,可以以mode_inter或mode_ibc编解码)。
[0415]
4.无论亮度块和/或色度块是否为小块尺寸,对于亮度块和/或色度块都可以允许ibc模式。
[0416]
a.在一个示例中,对于亮度块——包括8
×
4/8
×
8/16
×
4和4xn(诸如n《=64)亮度块——可以允许ibc模式,即使modetype等于mode_type_intra。
[0417]
b.在一个示例中,对于色度块可以允许ibc模式,即使modetype等于mode_type_intra。
[0418]
5.ibc预测模式标志的信令通知可以取决于预测模式类型(例如,mode_type_intra)。
[0419]
a.在一个示例中,当treetype不等于dual_tree_chroma并且modetype等于mode_type_intra时,可以在比特流中显式信令通知用于非skip块(例如,不以跳过模式编解码的编解码块)的ibc预测模式标志。
[0420]
6.可以取决于cu skip标志和模式类型(例如,modetype)来推断ibc预测模式标志。
[0421]
a.在一个示例中,如果当前块以跳过模式编解码(诸如cu_skip_flag等于1),并且modetype等于mode_type_intra,则ibc预测模式标志(诸如pred_mode_ibc_flag)可以推断为等于1。
[0422]
7.调色板模式标志的显式信令通知可以不取决于modetype。
[0423]
a.在一个示例中,无论modetype是什么,调色板模式标志(诸如pred_mode_plt_flag)信令通知都可以取决于条带类型、块尺寸、预测模式等。
[0424]
b.在一个示例中,当modetype等于mode_type_inter或mode_type_intra时,将调色板模式标志(诸如pred_mode_plt_flag)推断为0。
[0425]
8.当modetype等于mode_type_inter时可以允许使用ibc模式
[0426]
a.在一个示例中,当modetype等于mode_type_intra时,可以不允许色度ibc。
[0427]
b.在一个示例中,当modetype等于mode_type_intra或mode_type_inter时,可以允许使用ibc模式。
[0428]
c.在一个示例中,无论modetype是什么,都可以允许使用ibc模式。
[0429]
d.在一个示例中,在一个scipu内,可以允许ibc和帧间模式两者。
[0430]
e.在一个示例中,ibc色度块的尺寸可以总是对应于对应的亮度块的尺寸。
[0431]
f.在一个示例中,当modetype等于mode_type_inter并且亮度中编解码单元尺寸为4x4时,可以跳过pred_mode_ibc_flag的信令通知并且可以推断pred_mode_ibc_flag等于1。
[0432]
9.当modetype为mode_type_inter时,可以允许使用调色板模式
[0433]
a.在一个示例中,当modetype为mode_type_intra时,可以不允许色度调色板。
[0434]
b.在一个示例中,当modetype等于mode_type_intra或mode_type_inter时,可以允许使用调色板模式。
[0435]
c.在一个示例中,不管modetype是什么,可以允许使用调色板模式。
[0436]
d.在一个示例中,在一个scipu内,可以允许调色板和帧间模式二者。
[0437]
e.在一个示例中,在一个scipu内,可以允许调色板、ibc和帧间模式全部。
[0438]
f.在一个示例中,调色板色度块的尺寸可以总是对应于对应的亮度块的尺寸。
[0439]
g.在一个示例中,当modetype等于mode_type_inter并且在亮度中编解码单元尺寸为4x4时,可以跳过pred_mode_plt_flag的信令通知并且可以推断pred_mode_plt_flag等于1。
[0440]
h.在一个示例中,当modetype等于mode_type_inter并且亮度中编解码单元尺寸为4
×
4时,可以发送一条消息来指示当前预测模式是ibc还是调色板。
[0441]
10.对于宽度等于m(例如,m=2)或高度等于n(例如,n=2)的小色度块,被允许的帧内预测模式可以被限制为与大色度块所允许的帧内预测模式不同。
[0442]
a.在一个示例中,可以仅使用可用色度帧内预测模式的帧内预测模式的子集。
[0443]
b.在一个示例中,可以仅使用intra_dc模式。
[0444]
c.在一个示例中,可以仅使用intra_planar模式。
[0445]
d.在一个示例中,可以仅使用intra_angular18模式。
[0446]
e.在一个示例中,可以仅使用intra_angular50模式。
[0447]
f.在一个示例中,可以不允许cclm模式。
[0448]
11.对于宽度等于m(例如,m=2)或高度等于n(例如,n=2)的小色度块,变换类型可以被限制为与大色度块所允许的变换类型不同。
[0449]
a.在一个示例中,可以仅使用变换跳过。
[0450]
b.在一个示例中,可以仅使用一维变换。
[0451]
c.在一个示例中,不允许支持多种类型变换的编解码工具。
[0452]
i.可替代地,省略支持多种类型变换的编解码工具的信令通知。
[0453]
12.ciip可以被视为mode_type_intra。
[0454]
a.在一个示例中,当使用双树分割时,可以允许ciip模式。
[0455]
i.在一个示例中,当cu类型为dual_treee_chroma时,可以允许ciip模式。
[0456]
b.可替代地,ciip可以被视为mode_type_inter
[0457]
i.在一个示例中,当色度块宽度等于m(例如,m=2)时,可以不允许ciip模式。
[0458]
ii.在一个示例中,当色度块宽度等于m(例如,m=2)时,ciip中用于色度的帧内预测模式可以被限制为简单帧内预测模式。
[0459]
1.在一个示例中,当色度块宽度等于m(例如,m=2)时,可以将intra_dc用于色度帧内预测。
[0460]
2.在一个示例中,当色度块宽度等于m(例如,m=2)时,可以将intra_angular18用于色度帧内预测。
[0461]
3.在一个示例中,当色度块宽度等于m(例如,m=2)时,可以将intra_angular50用于色度帧内预测。
[0462]
iii.在一个示例中,ciip中用于色度的帧内预测模式可以被限制为简单的帧内预测模式。
[0463]
1.在一个示例中,可以将intra_dc用于色度帧内预测。
[0464]
2.在一个示例中,可以将intra_angular18模式用于色度帧内预测。
[0465]
3.在一个示例中,可以将intra_angular50模式用于色度帧内预测。
[0466]
13.对于以上项目符号,变量m和/或n可以是预定义的或信令通知的。
[0467]
a.在一个示例中,m和/或n可以进一步取决于颜色格式(例如4:2:0、4:2:2、4:4:4)。
[0468]
5.实施例
[0469]
新添加的部分以粗体和斜体突出显示,并且从vvc工作草案中删除的部分使用双括号标记(例如,[[a]]表示删除字符“a”)。修改基于最新的vvc工作草案(jvet-o2001-v11)
[0470]
5.1示例实施例#1
[0471]
以下实施例关于:对小块分割和预测模式的约束仅应用于4:2:0和4:4:4色度格式(不应用于4:0:0和4:4:4色度格式)。
[0472]
7.4.9.4编解码树语义
[0473]
变量modetypecondition导出如下:
[0474]

如果以下条件中的一个为真,则将modetypecondition设置为等于0
[0475]

slice_type==i,并且qtbtt_dual_tree_intra_flag等于1
[0476]

modetypecurr不等于mode_type_all
[0477][0478]

否则,如果以下条件中的一个为真,则将modetypecondition设置为等于1
[0479]

cbwidth*cbheight等于64,并且split_qt_flag等于1
[0480]

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

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

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

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

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

否则,将modetypecondition设置为等于0
[0486]
5.2示例实施例#2
[0487]
以下实施例关于:调色板模式标志的信令通知不取决于modetype。
[0488]
7.3.8.5编解码单元语法
[0489]
[0490][0491]
5.3示例实施例#3
[0492]
以下实施例关于:取决于cu skip标志和modetype来推断ibc预测模式标志。
[0493]
pred_mode_ibc_flag等于1指定当前编解码单元是以ibc预测模式下编解码的。pred_mode_ibc_flag等于0指定当前编解码单元不是以ibc预测模式编解码的。
[0494]
当不存在pred_mode_ibc_flag时,推断如下:
[0495]

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

否则,如果cbwidth和cbheight都等于128,则推断pred_mode_ibc_flag等于0。
[0497][0498]

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

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

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

1且y=y0..y0 cbheight-1,将变量cupredmode[chtype][x][y]设置为等于mode_ibc。
[0502]
5.4示例实施例#4
[0503]
以下实施例关于:ibc预测模式标志的信令通知取决于mode_type_intra,和/或对于亮度块允许ibc模式,而无论亮度块是否为小块尺寸。
[0504]
7.3.8.5编解码单元语法
[0505]
[0506][0507]
5.5示例实施例#5
[0508]
以下实施例关于:对于4:2:0和4:2:2颜色格式应用不同的帧内块约束。
[0509]
7.4.9.4编解码树语义
[0510]
变量modetypecondition导出如下:
[0511]

如果以下条件中的一个为真,则将modetypecondition设置为等于0
[0512]

slice_type==i,并且qtbtt_dual_tree_intra_flag等于1
[0513]

modetypecurr不等于mode_type_all
[0514]

否则,如果以下条件中的一个为真,则将modetypecondition设置为等于1
[0515]

cbwidth*cbheight等于64,并且split_qt_flag等于1
[0516]

cbwidth*cbheight等于64,并且mttsplitmode[x0][y0][mttdepth]等于split_
tt_hor或split_tt_ver
[0517]

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

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

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

cbwidth*cbheight等于128,并且mttsplitmode[x0][y0][mttdepth]等于split_tt_hor或split_tt_ver,
[0521][0522]

否则,将modetypecondition设置为等于0
[0523]
5.6示例实施例#6
[0524]
以下实施方式关于:在单树中不允许2
×
n色度帧内块。
[0525]
7.4.9.4编解码树语义
[0526]
变量modetypecondition导出如下:
[0527]

如果以下条件中的一个为真,则将modetypecondition设置为等于0
[0528]

slice_type==i,并且qtbtt_dual_tree_intra_flag等于1
[0529]

modetypecurr不等于mode_type_all
[0530]

否则,如果以下条件中的一个为真,则将modetypecondition设置为等于1
[0531]

cbwidth*cbheight等于64,并且split_qt_flag等于1
[0532]

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

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

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

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

cbwidth*cbheight等于128,并且mttsplitmode[x0][y0][mttdepth]等于split_tt_hor或split_tt_ver
[0537][0538]

否则,将modetypecondition设置为等于0
[0539]
5.7示例实施例#7
[0540]
以下实施例关于:在双树中不允许2
×
n色度帧内块。
[0541]
6.4.2允许的二进制划分过程
[0542]
变量allowbtsplit导出如下:
[0543]

如果以下条件中一个或多个为真,则将allowbtsplit设置为等于假:
[0544]

cbsize小于或等于minbtsizey
[0545]

cbwidth大于maxbtsize
[0546]

cbheight大于maxbtsize
[0547]

mttdepth大于或等于maxmttdepth
[0548]

treetype等于dual_tree_chroma,并且(cbwidth/subwidthc)*(cbheight/subheightc)小于或等于16
[0549][0550]

treetype等于dual_tree_chroma,并且modetype等于mode_type_intra
[0551]

[0552]
6.4.3允许的三进制划分过程
[0553]
变量allowttsplit导出如下:
[0554]

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

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

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

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

mttdepth大于或等于maxmttdepth
[0559]

x0 cbwidth大于pic_width_in_luma_samples
[0560]

y0 cbheight大于pic_height_in_luma_samples
[0561]

treetype等于dual_tree_chroma,并且(cbwidth/subwidthc)*(cbheight/subheightc)小于或等于32
[0562][0563]

treetype等于dual_tree_chroma,并且modetype等于mode_type_intra
[0564]

否则,将allowttsplit设置为等于真。
[0565]
5.8示例实施例#8
[0566]
以下实施例关于:对于scipu色度块启用mode_ibc。
[0567]
7.3.8.5编解码单元语法
[0568]
[0569][0570]
图17a是视频处理装置1700的框图。装置1700可以用于实现一个或多个本文所述的方法。装置1700可以实施在智能电话、平板计算机、计算机、物联网(iot)接收器等中。装置1700可以包括一个或多个处理器1702,一个或多个存储器1704和视频处理硬件1706。(一个或多个)处理器1702可以被配置为实现本文档中描述的一个或多个方法。(一个或多个)存储器1704可以用于存储用于实现本文描述的方法和技术的数据和代码。视频处理硬件1706可以用于以硬件电路实现本文档中描述的一些技术。在一些实施例中,硬件1706可以至少部分地或完全地包括在处理器1702(例如,图形协处理器)内。
[0571]
图17b是其中可实现所公开的技术的视频处理系统的框图的另一个示例。图17b是示出可以在其中实现本文所公开的各种技术的示例视频处理系统1710的框图。各种实现方
式可以包括系统1710的一些或所有组件。系统1710可以包括输入1712,用于接收视频内容。视频内容可以以原始或未压缩的格式(例如8或10比特多分量像素值)接收,或者可以以压缩或编码的格式接收。输入1712可以表示网络接口、外围总线接口或储存接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(pon)等)和无线接口(诸如wi-fi或蜂窝接口)。
[0572]
系统1710可以包括编解码组件1714,该编解码组件1714可以实现本文中档描述的各种编解码或编码方法。编解码组件1714可以减少从编解码组件1714的输入1712到输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时称为视频压缩或视频转码技术。如组件1716所示,编解码组件1714的输出可以被存储或经由所连接的通信来发送。在输入1712处接收的视频的存储或传送的比特流(或编解码)表示可以被组件1718使用,以生成被发送到显示接口1720的像素值或可显示视频。从比特流表示中生成用户可见视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但是应当理解,在编码器处使用编解码工具或操作,并且将由解码器执行将编解码结果相逆的对应的解码工具或操作。
[0573]
外围总线接口或显示接口的示例可以包括通用串行总线(usb)或高清多媒体接口(hdmi)或displayport等。储存接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文档中描述的技术可以实施在各种电子设备中,诸如移动电话、膝上型计算机、智能电话或其它能够执行数字数据处理和/或视频显示的设备。
[0574]
图18是用于处理视频的方法1800的流程图。方法1800包括:1802,对于视频的视频区域与视频区域的编解码表示之间的转换,根据语法规则解析编解码表示,该语法规则定义色度块尺寸和视频区域的颜色格式之间的关系;1804,通过根据语法规则执行解析来进行转换。
[0575]
图21a是用于处理视频的方法2110的流程图。方法2110包括,在步骤2112中处,根据规则基于视频的颜色格式确定用于将视频的色度视频区域分割为一个或多个色度块的分割方案。方法2110还包括,在步骤2114处,根据分割方案在视频与视频的编解码表示之间进行转换。
[0576]
图21b是用于处理视频的方法2120的流程图。方法2120包括,在步骤2122处,基于视频的颜色格式,确定用于视频的编解码树节点的子块的预测模式或预测类型。方法2120还包括,在步骤2124处,基于确定在视频与视频的编解码表示之间进行转换。在一些实现方式中,将编解码树节点分割为多个子块以用于在编解码表示中进行编解码。
[0577]
图22a是用于处理视频的方法2210的流程图。方法2210包括,在步骤2212处,在视频和视频的编解码表示之间进行转换。在一些实现方式中,根据规则,在视频与编解码表示之间进行转换,该视频包括包含一个或多个亮度块和一个或多个色度的一个或多个视频区域,其中规则指定不允许使用帧内模式或帧内块复制模式在编解码表示中表示一个或多个色度块中的尺寸为mxn的色度块,其中m和n分别是指示色度块宽度和高度的整数,其中帧内模式包括基于先前编码或重建的视频块对色度块进行编码,并且其中帧内块复制模式包括至少使用指向包含视频区域的视频帧的块矢量来对色度块进行编码。
[0578]
在一些实现方式中,在视频的色度块与视频的编解码表示之间进行转换,其中,根据尺寸规则使用帧内编解码模式在编解码表示中表示色度块;其中,尺寸规则指定:在色度
块的宽度等于m或色度块的高度等于n的情况下,其中m和n是整数,帧内编解码模式来自帧内编解码模式类型的第一集合;否则,帧内编解码模式来自帧内编解码模式类型的第二集合。
[0579]
在一些实现方式中,在视频的色度块与视频的编解码表示之间进行转换,其中,根据规则使用变换类型在编解码表示中表示色度块,其中,规则指定:在色度块的宽度等于m或色度块的高度等于n的情况下,其中m和n是整数,变换类型来自变换类型的第一集合;否则,变换类型来自变换类型的第二集合。
[0580]
在一些实现方式中,根据规则在视频与视频的编解码表示之间进行转换,该视频包括具有一个或多个亮度块和一个或多个色度块的视频区域,其中,规则指定帧内块复制(ibc)模式的使用可用于块尺寸为mxn的一个或多个亮度块和一个或多个色度块,对于m和n的所有值,其中m和n是整数;其中,使用ibc模式,至少使用指向包含视频块的视频帧的块矢量来对视频块进行编码。
[0581]
在一些实现方式中,在视频的视频块与视频块的编解码表示之间进行转换,其中编解码表示符合格式化规则,其中格式化规则指定基于视频块的模式类型在编解码表示中选择性地包括语法元素,该语法元素指示使用帧间块复制(ibc)模式,并且其中ibc模式包括至少使用指向包含视频块的视频帧的块矢量对视频块进行编码。
[0582]
在一些实现方式中,在视频的视频块与视频块的编解码表示之间进行转换,其中编解码表示符合格式化规则,其中格式化规则指定无论视频块的模式类型在编解码表示中都包括语法元素,该语法元素指示使用调色板模式,并且其中调色板模式包括使用代表性样点值的调色板对视频块进行编码。
[0583]
图22b是用于处理视频的方法2220的流程图。方法2220包括,在步骤2222处,对于视频的视频区域和视频的编解码表示之间的转换,根据规则确定使用组合的帧间和帧内预测(ciip)模式作为帧内模式或帧间模式。方法2220还包括在步骤2224处基于该确定来进行转换。ciip模式包括使用加权系数来组合帧内预测信号和帧间预测信号。
[0584]
图23a是用于处理视频的方法2310的流程图。方法2310包括,在步骤2312处,对于视频的视频区域与视频的编解码表示之间的转换,基于规则确定准许对于视频区域使用帧间块复制(ibc)模式。方法2310还包括,在步骤2314处,基于确定来进行转换。ibc模式包括至少使用指向包含视频区域的视频帧的块矢量来对视频区域进行编码。
[0585]
图23b是用于处理视频的方法2320的流程图。方法2320包括,在步骤2322处,对于视频的视频区域与视频的编解码表示之间的转换,基于规则确定是否准许对于视频区域使用调色板模式。方法2320还包括,在步骤2324中,基于确定来进行转换。在一些实现方式中,规则基于视频区域的编解码模式类型或视频区域的颜色类型,并且其中调色板模式包括使用代表性样点值的调色板对视频区域进行编码。
[0586]
所公开的技术的一些实施例包括决定或确定启用视频处理工具或模式。在示例中,当启用视频处理工具或模式时,编码器将在视频块的处理中使用或实现该工具或模式,但是不一定基于该工具或模式的使用来修改所得到的比特流。换言之,从视频块到视频的比特流表示的转换将在基于决定或确定启用视频处理工具或模式时使用视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将在知道已经基于视频处理工具或模式修改比特流的情况下处理比特流。换言之,将使用基于决定或确定而启用的视频
处理工具或模式来执行从视频的比特流表示到视频块的转换。
[0587]
所公开的技术的一些实施例包括决定或确定禁用视频处理工具或模式。在示例中,当禁用视频处理工具或模式时,编码器将在视频块到视频的比特流表示的转换中不使用该工具或模式。在另一示例中,当禁用视频处理工具或模式时,解码器将在知道尚未使用基于决定或确定而禁用的视频处理工具或模式修改比特流的情况下处理比特流。
[0588]
在本文档中,术语“视频处理”可以指代视频编码、视频解码、视频压缩或视频解压缩。例如,可以在从视频的像素表示到对应的比特流表示的转换期间应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流表示可以例如对应于位于比特流内的不同位置中并置或散布的比特。例如,可以根据变换和编解码的误差残差值并且还使用头中的比特和比特流中的其它字段来对宏块进行编码。
[0589]
以下条款描述了一些实施例和技术。条款的第一集合描述了先前章节中所公开的技术的某些特征和方面。
[0590]
1.一种视频处理的方法,包括:对于视频的视频区域与所述视频区域的编解码表示之间的转换,根据语法规则解析所述编解码表示,所述语法规则定义色度块尺寸与所述视频区域的颜色格式之间的关系;以及通过根据所述语法规则进行所述解析来进行所述转换。
[0591]
2.根据条款1所述的方法,其中,所述颜色格式为4:4:4,并且其中所述语法规则指定所述色度块受到与用于亮度块的尺寸约束相同的尺寸约束。
[0592]
3.根据条款1所述的方法,其中,所述颜色格式为4:2:2,并且其中所述语法规则指定所述色度块受到与4:2:0颜色格式的尺寸约束相同的尺寸约束。
[0593]
4.根据条款1-3中任一项所述的方法,其中,所述语法指定以取决于色度格式的方式使用预测模式和小块分割。
[0594]
5.根据条款1所述的方法,其中,所述语法规则定义基于所述视频区域的颜色格式对于所述视频区域的转换启用最小允许尺寸特征。
[0595]
以下条款可以与在先前章节的项目2中所描述的附加技术一起实现。
[0596]
6.一种视频处理的方法,包括:基于视频的属性和所述视频的色度格式,确定所述视频的编解码树节点的编解码模式;以及使用所确定的编解码模式在所述视频的编解码表示与所述编解码树节点的视频块之间进行转换。
[0597]
7.根据条款6所述的方法,其中,在所述属性为以下的情况下,对于所述色度格式为4:2:2,所述编解码模式被确定为mode_type_all,对于所述色度格式为4:2:0,所述编解码模式被确定为mode_type_intra或mode_type_inter:
[0598]
i.所述编解码节点是具有水平二叉树划分的mxn编解码树节点;
[0599]
ii.所述编解码节点是具有垂直二叉树划分的mxn编解码树节点;
[0600]
iii.所述编解码节点是具有水平三叉树划分的mxn编解码树节点;或者
[0601]
iv.所述编解码节点是具有垂直三叉树划分的mxn编解码树节点。
[0602]
8.根据条款7所述的方法,其中,m=8或16或32,并且n=4或8或16。
[0603]
以下条款可以与先前章节的项目3中所描述的附加技术一起实现。
[0604]
9.一种视频处理的方法,包括:基于规则确定在视频的视频区域中是否允许某一尺寸的色度块;以及基于所述确定在所述视频区域与所述视频区域的编解码表示之间进行
转换。
[0605]
10.根据条款9所述的方法,其中,所述规则指定由于所述视频区域包括双树分割而不允许2xn色度块。
[0606]
11.根据条款9所述的方法,其中,所述规则指定由于所述视频区域包括单树分割而不允许2n色度块。
[0607]
12.根据条款10或11所述的方法,其中,n≤64。
[0608]
以下条款可以与先前章节的项目4、8和9中所描述的附加技术一起实现。
[0609]
13.一种视频处理的方法,包括:基于允许对于视频条件使用编解码模式的规则,确定对于视频区域准许编解码模式;以及基于所述确定在所述视频区域中的像素的编解码表示与所述视频区域的像素之间进行转换。
[0610]
14.根据条款13所述的方法,其中,所述视频条件是块尺寸,并且其中所述规则允许对于小块尺寸亮度块使用帧内块复制模式。
[0611]
15.根据条款14所述的方法,其中,所述小块尺寸包括8x4、8x8、16x4或4xn亮度块尺寸。
[0612]
16.根据条款13所述的方法,其中,所述规则允许对于使用mode_type_inter模式进行编解码的所述视频区域的转换使用帧内块复制模式。
[0613]
17.根据条款13所述的方法,其中,所述规则允许对于使用mode_type_inter模式进行编解码的所述视频区域的转换使用调色板编解码模式。
[0614]
以下条款可以与先前章节的项目5、6和7中所描述的附加技术一起实现。
[0615]
18.一种视频处理的方法,包括:使用视频编解码模式在视频的视频块与所述视频块的编解码表示之间进行转换,其中,基于规则将信令通知所述编解码模式的语法元素选择性地包括在所述编解码表示中。
[0616]
19.根据条款18所述的方法,其中,所述视频编解码模式是帧内块编解码模式,并且其中所述规则指定使用所述视频编解码模式的类型来控制所述语法元素包括在所述编解码表示中。
[0617]
20.根据条款19所述的方法,其中,所述规则指定显式信令通知非skip块。
[0618]
21.根据条款18所述的方法,其中,所述规则指定基于所述视频块的模式类型和跳过模式隐式信令通知帧内块复制标志。
[0619]
22.根据条款18所述的方法,其中,所述编解码模式是调色板编解码模式,并且其中所述规则指定基于所述视频块的模式类型选择性地包括调色板编解码指示符。
[0620]
以下条款可以与先前章节的项目11中所描述的附加技术一起实现。
[0621]
23.一种视频处理的方法,包括:由于色度块具有小于阈值尺寸的尺寸,确定在所述色度块与所述色度块的编解码表示之间的转换期间使用的变换类型与用于对应的亮度块转换的变换类型不同;以及基于所述确定进行所述转换。
[0622]
24.根据条款23所述的方法,其中,阈值尺寸为mxn,其中m是2或n是2。
[0623]
以下条款可以与先前章节的项目12中所描述的附加技术一起实现。
[0624]
25.根据条款1至24中任一项所述的方法,其中,所述转换使用组合的帧间和帧内预测模式作为mode_type_intra模式。
[0625]
26.根据条款18至22中任一项所述的方法,其中,所述转换使用组合的帧间和帧内
预测模式作为mode_type_inter模式。例如,当将ciip视为mode_type_inter时,可以应用先前章节的项目5 6 7中所描述的方法。或者,当应用项目5 6 7中所描述的方法时,ciip可被视为mode_type_inter。
[0626]
27.根据条款1至26中任一项所述的方法,其中,所述转换包括将所述视频编码为所述编解码表示。
[0627]
28.根据条款1至26中任一项所述的方法,其中,所述转换包括对所述编解码表示进行解码以生成所述视频的像素值。
[0628]
29.一种视频解码装置,包括处理器,所述处理器配置为实现条款1至28中的一项或多项所述的方法。
[0629]
30.一种视频编码装置,包括处理器,所述处理器配置为实现条款1至28中的一项或多项所述的方法。
[0630]
31.一种其上存储有计算机代码的计算机程序产品,所述代码在由处理器执行时使得所述处理器实现条款1至28中任一项所述的方法。
[0631]
32.本文档中所描述的方法、装置或系统。
[0632]
条款的第二集合描述了先前章节中所公开的技术的某些特征和方面,例如,示例实现方式1、2和13。
[0633]
1.一种视频处理的方法,包括:根据规则基于视频的颜色格式确定用于将视频的色度视频区域分割为一个或多个色度块的分割方案;以及根据所述分割方案在所述视频与所述视频的编解码表示之间进行转换。
[0634]
2.根据条款1所述的方法,其中,所述规则指定对于帧间条带或帧内条带具有由相同的编解码树节点表示的三个颜色分量。
[0635]
3.根据条款1或2所述的方法,其中,所述规则指定对于4:4:4颜色格式对色度块和亮度块使用相同的分割方案。
[0636]
4.根据条款1或2所述的方法,其中,所述规则指定对于4:2:0和4:2:2颜色格式使用相同的分割约束。
[0637]
5.根据条款1或2所述的方法,其中,所述规则指定对于4:0:0或4:4:4颜色格式不对预测模式应用的分割方案和/或约束。
[0638]
6.根据条款1或2中任一项所述的方法,其中,所述规则指定基于所述视频的颜色格式而应用所述分割方案和/或预测模式。
[0639]
7.根据条款6所述的方法,其中,对于具有水平bt(二叉树)划分或水平tt(三叉树)划分的m
×
n编解码树节点,在4:2:2颜色格式中,对于色度块和亮度块两者允许所述水平bt划分或所述水平tt划分。
[0640]
8.根据条款6所述的方法,其中,对于具有水平bt(二叉树)划分或水平tt(三叉树)划分的m
×
n编解码树节点,在4:2:0颜色格式中,对于亮度块允许但对于色度块不允许所述水平bt划分或所述水平tt(三叉树)划分。
[0641]
9.根据条款6所述的方法,其中,对于具有垂直bt(二叉树)划分或垂直tt(三叉树)划分的mxn编解码树节点,在4:2:2颜色格式中,对于色度块和亮度块两者允许所述垂直bt划分或所述垂直tt划分。
[0642]
10.根据条款6所述的方法,其中,对于具有垂直bt(二叉树)划分或垂直tt(三叉
树)划分的mxn编解码树节点,在4:2:0颜色格式中,对于亮度块允许但对于色度块不允许所述垂直bt划分或所述垂直tt(三叉树)划分。
[0643]
11.根据条款7-10中任一项所述的方法,其中,m和/或n是预定义的或信令通知的。
[0644]
12.根据条款11所述的方法,其中,m和/或n取决于所述视频区域的颜色格式。
[0645]
13.根据条款6所述的方法,其中,所述规则指定不将分割方案应用于4:0:0和/或4:4:4颜色格式。
[0646]
14.根据条款1所述的方法,其中,所述规则指定基于所述视频的颜色格式对于所述转换启用定义为限制色度块的尺寸的最小色度帧内预测单元(scipu)。
[0647]
15.根据条款14所述的方法,其中,对于4:2:0和/或4:2:2颜色格式允许最小色度帧内预测单元。
[0648]
16.根据条款14所述的方法,其中,对于4:0:0和/或4:4:4颜色格式不允许最小色度帧内预测单元。
[0649]
17.一种视频处理的方法,包括:基于视频的颜色格式,确定用于所述视频的编解码树节点的子块的预测模式或预测类型;以及基于所述确定在所述视频与所述视频的编解码表示之间进行转换,其中,将所述编解码树节点分割为所述子块以用于在所述编解码表示中进行编解码。
[0650]
18.根据条款17所述的方法,其中,由于所述颜色格式为4:2:2,将子块的预测模式确定为mode_type_all,其指示帧间编解码模式、帧内模式、调色板模式和帧内块复制模式的适用性。
[0651]
19.根据条款17所述的方法,其中,由于所述颜色格式为4:2:0,将子块的预测模式确定为i)mode_type_inter,其仅指示帧间编解码模式的适用性,或者ii)mode_type_intra,其指示帧内模式、调色板模式和帧内块复制模式的适用性。
[0652]
20.根据条款18或19所述的方法,其中,所述帧间编解码模式包括使用时域相关性来表示或重建所述视频,所述帧间模式包括基于先前处理的视频块来表示或重建所述视频,所述调色板模式包括使用代表性样点值的调色板来表示或重建所述视频,或者所述帧内块复制模式包括至少使用指向视频帧的块矢量来表示或重建所述视频。
[0653]
21.根据条款18至20中任一项所述的方法,其中,所述编解码树节点满足以下条件中的一个:i)所述编解码树节点对应于具有水平二叉树划分的8x8亮度块,ii)所述编解码树节点对应于具有垂直二叉树划分的16x4亮度块,iii)所述编解码树节点对应于具有水平三叉树划分的8x16亮度块,或者iv)所述编解码树节点对应于具有垂直三叉树划分的32x4亮度块。
[0654]
22.根据条款17所述的方法,其中,所述编解码树节点是m
×
n编解码树节点,并且m和/或n是预定义的或信令通知的。
[0655]
23.根据条款22所述的方法,其中,m和/或n取决于所述视频的颜色格式。
[0656]
24.根据条款1至23中任一项所述的方法,其中,进行所述转换包括从所述视频生成所述编解码表示。
[0657]
25.根据条款1至23中任一项所述的方法,其中,进行所述转换包括从所述编解码表示生成所述视频。
[0658]
26.一种视频处理装置,包括处理器,所述处理器配置为实现条款1至25中任一项
或多项所述的方法。
[0659]
27.一种存储程序代码的计算机可读介质,所述程序代码在被执行时使得处理器实现条款1至25中任一项或多项所述的方法。
[0660]
条款的第三集合描述了先前章节中所公开的技术的某些特征和方面,例如,示例实现方式3和10-13。
[0661]
1.一种视频处理的方法,包括:根据规则,在视频与所述视频的编解码表示之间进行转换,所述视频包括包含一个或多个亮度块和一个或多个色度块的一个或多个视频区域;其中所述规则指定不允许使用帧内模式或帧内块复制模式在所述编解码表示中表示所述一个或多个色度块中的尺寸为mxn的色度块,其中m和n分别是指示所述色度块的宽度和高度的整数;其中所述帧内模式包括基于先前编码或重建的视频块对所述色度块进行编码,并且其中所述帧内块复制模式包括至少使用指向包含视频区域的视频帧的块矢量来对所述色度块进行编码。
[0662]
2.根据条款1所述的方法,其中,所述规则指定由于所述视频区域被分割为双树分割而不允许尺寸为2
×
n的色度块。
[0663]
3.根据条款2所述的方法,其中,所述规则指定在以下情况下对于所述色度块禁用垂直bt(二叉树)划分:i)所述色度块的树类型等于双树类型,以及ii)m等于4个色度样点。
[0664]
4.根据条款2所述的方法,其中,所述规则指定在以下情况下对于所述色度块禁用垂直tt(三叉树)划分:i)所述色度块的树类型等于双树类型,以及ii)m等于8个色度样点。
[0665]
5.根据条款1所述的方法,其中,所述规则指定由于所述视频区域被分割为单树分割而不允许尺寸为2
×
n的色度块。
[0666]
6.根据条款5所述的方法,其中,对于具有垂直bt(二叉树)划分的m
×
n编解码树节点,对于尺寸为4
×
n或4x(n/2)的所述色度块不允许但对于尺寸为8xn的亮度块允许所述垂直bt划分。
[0667]
7.根据条款5所述的方法,其中,对于具有垂直bt(二叉树)划分的mxn编解码树节点,对于尺寸为4xn或4x(n/2)的所述色度块不允许所述垂直bt划分。
[0668]
8.根据条款5所述的方法,其中,对于具有垂直bt(二叉树)划分的mxn编解码树节点,对于尺寸为4xn或4x(n/2)的所述色度块和尺寸为8
×
n的亮度块允许所述垂直bt划分,并且其中所述色度块和所述亮度块不以所述帧内模式编解码。
[0669]
9.根据条款5所述的方法,其中,对于具有垂直tt(三叉树)划分的mxn编解码树节点,对于尺寸为8xn或8x(n/2)的所述色度块不允许但对于尺寸为16xn的亮度块允许所述垂直tt划分。
[0670]
10.根据条款5所述的方法,其中,对于具有垂直tt(三叉树)划分的mxn编解码树节点,对于尺寸为8xn或8x(n/2)的所述色度块不允许所述垂直tt划分。
[0671]
11.根据条款5所述的方法,其中,对于具有垂直tt(三叉树)划分的mxn编解码树节点,对于尺寸为8xn或8x(n/2)的所述色度块和尺寸为16
×
n的亮度块允许所述垂直tt划分,并且其中所述色度块和所述亮度块不以所述帧内模式编解码。
[0672]
12.一种视频处理的方法,包括:对于视频的视频区域和所述视频的编解码表示之间的转换,根据规则确定使用组合的帧间和帧内预测(ciip)模式作为帧内模式或帧间模式;以及基于所述确定进行所述转换,并且其中,所述ciip模式包括使用加权系数来组合帧
内预测信号和帧间预测信号。
[0673]
13.根据条款12所述的方法,其中,所述规则指定由于在所述视频区域中使用双树分割而使用所述ciip模式作为所述帧内模式。
[0674]
14.根据条款12所述的方法,其中,所述规则指定使用所述ciip模式作为所述帧间模式。
[0675]
15.根据条款14所述的方法,其中,所述规则指定由于色度块宽度等于m而禁用所述ciip模式。
[0676]
16.根据条款12所述的方法,其中,所述规则指定将用于以ciip模式编解码的色度块的帧内预测模式限制为所述帧内模式。
[0677]
17.根据条款16所述的方法,其中,所述帧内预测模式包括intra_dc、intra_angular18模式或intra_angular50模式。
[0678]
18.根据条款16所述的方法,其中,所述色度块宽度等于2。
[0679]
19.一种视频处理的方法,包括:在视频的色度块与所述视频的编解码表示之间进行转换,其中,根据尺寸规则使用帧内编解码模式在所述编解码表示中表示所述色度块;其中所述尺寸规则指定:在所述色度块的宽度等于m或所述色度块的高度等于n的情况下,其中m和n是整数,所述帧内编解码模式来自帧内编解码模式类型的第一集合;否则,所述帧内编解码模式来自帧内编解码模式类型的第二集合。
[0680]
20.根据条款19所述的方法,其中m=2或n=2。
[0681]
21.根据条款19或20所述的方法,其中,帧内编解码模式类型的所述第一集合是在所述转换中所有允许的帧内编解码模式类型的子集。
[0682]
22.根据条款19或20所述的方法,其中,帧内编解码模式类型的所述第一集合对应于intra_dc模式。
[0683]
23.根据条款19或20所述的方法,其中,帧内编解码模式类型的所述第一集合对应于intra_planar模式。
[0684]
24.根据条款19或20所述的方法,其中,帧内编解码模式类型的所述第一集合对应于intra_angular18模式。
[0685]
25.根据条款19或20所述的方法,其中,帧内编解码模式类型的所述第一集合对应于intra_angular50模式。
[0686]
26.根据条款19或20所述的方法,其中,所述规则指定不允许cclm模式,所述cclm模式使用线性模式从另一个分量导出色度分量的预测值。
[0687]
27.一种视频处理的方法,包括:在视频的色度块与所述视频的编解码表示之间进行转换,其中,根据规则使用变换类型在所述编解码表示中表示所述色度块;其中,所述规则指定:在所述色度块的宽度等于m或所述色度块的高度等于n的情况下,其中m和n是整数,所述变换类型来自变换类型的第一集合;否则,所述变换类型来自变换类型的第二集合。
[0688]
28.根据条款27所述的方法,其中,m是2或n是2。
[0689]
29.根据条款1-11、15、19-28中任一项所述的方法,其中,m和/或n是预定义的或信令通知的。
[0690]
30.根据条款29所述的方法,其中,m和/或n取决于所述视频区域的颜色格式。
[0691]
31.根据条款1至30中任一项所述的方法,其中,所述转换包括将所述视频编码为
所述编解码表示。
[0692]
32.根据条款1至30中任一项所述的方法,其中,所述转换包括对所述编解码表示进行解码以生成所述视频。
[0693]
33.一种视频处理装置,包括处理器,所述处理器配置为实现条款1至32中任一项或多项所述的方法。
[0694]
34.一种存储程序代码的计算机可读介质,所述程序代码在被执行时使得处理器实现条款1至32中任一项或多项所述的方法。
[0695]
条款的第四集合描述了先前章节中所公开的技术的某些特征和方面,例如,示例实现方式4-9和13。
[0696]
1.一种视频处理的方法,包括:根据规则,在视频与所述视频的编解码表示之间进行转换,所述视频包括具有一个或多个亮度块和一个或多个色度块的视频区域,其中,所述规则指定帧内块复制(ibc)模式的使用可用于块尺寸为mxn的所述一个或多个亮度块和所述一个或多个色度块,对于m和n的所有值,其中m和n是整数;其中,使用所述ibc模式,至少使用指向包含所述视频块的视频帧的块矢量来对所述视频块进行编解码。
[0697]
2.根据条款1所述的方法,其中,所述规则指定亮度块的尺寸为8
×
4、8
×
8、16
×
4或4
×
n。
[0698]
3.根据条款2所述的方法,其中,所述亮度块具有等于mode_type_intra的模式类型,所述mode_type_intra指示帧内模式、ibc模式和调色板模式的适用性。
[0699]
4.根据条款1所述的方法,其中,所述规则指定色度块具有等于mode_type_intra的模式类型,所述mode_type_intra指示帧内模式、ibc模式和调色板模式的适用性。
[0700]
5.一种视频处理的方法,包括:在视频的视频块与所述视频块的编解码表示之间进行转换,其中,所述编解码表示符合格式化规则,其中,所述格式化规则指定基于所述视频块的模式类型在所述编解码表示中选择性地包括指示使用帧间块复制(ibc)模式的语法元素,并且其中所述ibc模式包括至少使用指向包含所述视频块的视频帧的块矢量对所述视频块进行编码。
[0701]
6.根据条款5所述的方法,其中,所述格式化规则指定在所述视频块的树类型不等于dual_tree_chroma且所述视频块的模式类型等于所述mode_type_intra的情况下,其中所述mode_type_intra指示帧内模式、所述ibc模式和调色板模式的适用性,显式信令通知不以跳过模式编解码的所述视频块的所述语法元素。
[0702]
7.根据条款5所述的方法,其中,所述格式化规则指定基于所述视频块的模式类型和跳过标志来推断所述语法元素。
[0703]
8.根据条款7所述的方法,其中,所述格式化规则指定在所述视频块的模式类型等于mode_type_intra的情况下,其中所述mode_type_intra指示帧内模式、所述ibc模式和调色板模式的适用性,对于以跳过模式编解码的所述视频块,推断所述语法元素等于1。
[0704]
9.一种视频处理的方法,包括:在视频的视频块与所述视频块的编解码表示之间进行转换,其中,所述编解码表示符合格式化规则,其中所述格式化规则指定无论所述视频块的模式类型,在所述编解码表示中都包括指示使用调色板模式的语法元素,并且其中调色板模式包括使用代表性样点值的调色板对所述视频块进行编码。
[0705]
10.根据条款9所述的方法,其中,所述格式化规则指定基于所述视频块的条带类
型、块尺寸或预测模式中的至少一者的所述显式信令通知。
[0706]
11.根据条款9所述的方法,其中,所述格式化规则指定在所述视频块的模式类型等于所述mode_type_inter或所述mode_type_intra的情况下,其中所述mode_type_inter仅指示帧间编解码模式的适用性,所述mode_type_intra指示帧内模式、所述ibc模式和调色板模式的适用性,推断所述语法元素等于0。
[0707]
12.一种视频处理的方法,包括:对于视频的视频区域与所述视频的编解码表示之间的转换,基于规则确定准许对于所述视频区域使用帧间块复制(ibc)模式;以及基于所述确定来进行所述转换,其中,所述ibc模式包括至少使用指向包含所述视频区域的视频帧的块矢量来对所述视频区域进行编码。
[0708]
13.根据条款12所述的方法,其中,所述规则指定在所述视频区域的模式类型等于mode_type_inter的情况下,其中mode_type_inter仅指示帧间编解码模式的适用性,允许所述ibc模式。
[0709]
14.根据条款12所述的方法,其中,所述规则指定在所述视频区域的模式类型等于mode_type_intra的情况下,其中所述mode_type_intra指示帧内模式、所述ibc模式和调色板模式的适用性,对于色度块不允许所述ibc模式。
[0710]
15.根据条款12所述的方法,其中,所述规则指定在所述模式类型等于mode_type_inter或mode_type_intra的情况下,其中所述mode_type_inter仅指示帧间编解码模式的适用性,所述mode_type_intra指示帧内编解码模式、所述ibc模式和调色板模式的适用性,允许所述ibc模式。
[0711]
16.根据条款12所述的方法,其中,所述规则指定独立于所述视频区域的模式类型而允许ibc模式。
[0712]
17.根据条款12所述的方法,其中,在定义为限制色度块的尺寸的最小色度帧内预测单元(scipu)内允许所述ibc模式和帧间模式。
[0713]
18.根据条款12所述的方法,其中,使用所述ibc模式编解码的色度块具有与对应于所述色度块的亮度块的尺寸相对应的尺寸。
[0714]
19.根据条款12所述的方法,其中,在所述视频区域的模式类型等于mode_type_inter且所述视频区域对应于4x4亮度块的情况下,其中所述mode_type_inter仅指示帧间编解码模式的适用性,跳过指示使用所述ibc模式的语法元素的信令通知,并且推断所述语法元素等于1。
[0715]
20.一种视频处理的方法,包括:对于视频的视频区域与所述视频的编解码表示之间的转换,基于规则确定是否准许对于所述视频区域使用调色板模式;以及基于所述确定进行所述转换,其中,所述规则基于所述视频区域的编解码模式类型或所述视频区域的颜色类型;其中所述调色板模式包括使用代表性样点值的调色板对所述视频区域进行编码。
[0716]
21.根据条款20所述的方法,所述规则指定在所述视频区域的模式类型等于mode_type_inter的情况下,其中所述mode_type_inter仅指示帧间编解码模式的适用性,允许所述调色板模式。
[0717]
22.根据条款20所述的方法,其中,所述规则指定在所述视频区域的模式类型等于mode_type_intra的情况下,其中所述mode_type_intra指示帧内模式、ibc模式和调色板模式的适用性,对于色度块不允许所述调色板模式,并且其中所述ibc模式包括至少使用指向
包含所述视频区域的视频帧的块矢量对所述视频区域进行编码。
[0718]
23.根据条款20所述的方法,其中,所述规则指定在所述模式类型等于mode_type_inter或mode_type_intra的情况下,其中所述mode_type_inter仅指示帧间编解码模式的适用性,所述mode_type_intra指示帧内模式、ibc模式和调色板模式的适用性,允许所述调色板模式,并且其中所述ibc模式包括至少使用指向包含所述视频区域的视频帧的块矢量来对所述视频区域进行编码。
[0719]
24.根据条款20所述的方法,其中,所述规则指定独立于所述视频区域的模式类型而允许所述调色板模式。
[0720]
25.根据条款20所述的方法,其中,在定义为限制色度块的尺寸的最小色度帧内预测单元(scipu)内允许所述调色板模式和帧间模式。
[0721]
26.根据条款20所述的方法,其中,在定义为限制色度块的尺寸的最小色度帧内预测单元(scipu)内允许所述调色板模式、ibc模式和帧间模式的全部,所述ibc模式包括至少使用指向包含所述视频区域的视频帧的块矢量来对所述视频区域进行编码。
[0722]
27.根据条款20所述的方法,其中,使用所述调色板模式编解码的色度块具有与对应于所述色度块的亮度块的尺寸相对应的尺寸。
[0723]
28.根据条款20所述的方法,其中,在所述视频区域的模式类型等于mode_type_inter且所述视频区域对应于4x4亮度块的情况下,其中所述mode_type_inter仅指示帧间编解码模式的适用性,跳过指示使用所述调色板模式的语法元素的信令通知,并且推断所述语法元素等于1。
[0724]
29.根据条款20所述的方法,其中,在以下情况下,将指示使用所述调色板模式或ibc模式的语法元素包括在所述编解码表示中:1)所述视频区域的模式类型等于mode_type_inter,所述mode_type_inter仅指示帧间编解码模式的适用性;2)所述视频区域对应于4x4亮度块,并且其中所述ibc模式包括至少使用指向包含所述视频区域的视频帧的块矢量对所述视频区域进行编码。
[0725]
30.根据条款1-4中任一项所述的方法,其中,m和/或n是预定义的或信令通知的。
[0726]
31.根据条款30所述的方法,其中,m和/或n取决于所述视频区域的颜色格式。
[0727]
32.根据条款1至31中任一项所述的方法,其中,进行所述转换包括从所述视频生成所述编解码表示。
[0728]
33.根据条款1至31中任一项所述的方法,其中,进行所述转换包括从所述编解码表示生成所述视频。
[0729]
34.一种视频处理装置,包括处理器,所述处理器配置为实现条款1至33中任一项或多项所述的方法。
[0730]
35.一种存储程序代码的计算机可读介质,所述程序代码在被执行时使得处理器实现条款1至33中任一项或多项所述的方法。
[0731]
本文档中描述的所公开的和其它的解决方案、示例、实施例、模块和功能性操作可以在数字电子电路中实现,或者在计算机软件、固件或硬件(包括本文档中所公开的结构及其结构等同物)中实现,或者在其一个或多个的组合中实现。所公开的和其它的实施例可以被实现为一个或多个计算机程序产品,即,在计算机可读介质上编码的计算机程序指令的一个或多个模块,以用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介
质可以是机器可读储存设备、机器可读储存基板、存储器设备、影响机器可读传播信号的物质的合成、或者其一个或多个的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或者多个处理器或计算机。除了硬件之外,装置可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统及其一个或多个的组合的代码。传播信号是人工生成的信号,例如机器生成的电、光或电磁信号,其被生成以对信息进行编码以传输到合适的接收器装置。
[0732]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或其它适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件相对应。程序可以存储在保存其它程序或数据的文件的部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于所讨论的程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来执行,这些计算机位于一个站点或分布在多个站点并通过通信网络互连。
[0733]
本文档中描述的过程和逻辑流可以由一个或多个可编程处理器执行,该一个或多个处理器执行一个或多个计算机程序,通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流也可以由专用逻辑电路来执行,并且装置也可以实现为专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。
[0734]
例如,适用于执行计算机程序的处理器包括通用和专用微处理器、以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量储存设备,例如,磁盘、磁光盘或光盘,或可操作地耦接到一个或多个大容量储存设备,以从其接收数据或向其传送数据,或两者兼有。然而,计算机不必具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪速存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和cd rom和dvd-rom磁盘。处理器和存储器可以由专用逻辑电路来补充,或并入到专用逻辑电路中。
[0735]
虽然本专利文档包含许多细节,但不应将其解释为对任何主题或要求保护的范围的限制,而应解释为针对特定技术的特定实施例的特征的描述。本专利文档在分开的实施例的上下文描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分开地实现,或在任何合适的子组合中实现。此外,虽然特征可以被描述为在某些组合中起作用,甚至最初这样要求保护,但在一些情况下,可以从组合中移除来自要求保护的组合的一个或多个特征,并且要求保护的组合可以指向子组合或子组合的变体。
[0736]
类似地,尽管在附图中以特定顺序描述了操作,但这不应理解为要实现期望的结果必须按照所示的特定顺序或次序顺序来执行这些操作,或执行所有图示的操作。此外,本专利文档所述实施例中的各种系统组件的分开不应理解为在所有实施例中都需要这样的分开。
[0737]
仅描述了一些实现方式和示例,其它实现方式、增强和变体可以基于本专利文档
中描述和说明的内容做出。
再多了解一些

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

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

相关文献