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

调色板模式编解码的扫描顺序改进的制作方法

2022-03-19 15:00:49 来源:中国专利 TAG:

调色板模式编解码的扫描顺序改进
1.相关申请的交叉引用
2.根据适用的《专利法》和/或《巴黎公约》的规定,本技术及时要求于2019年7月29日提交的国际专利申请号pct/cn2019/098204的优先权和权益。出于法律规定的所有目的,上述申请的全部公开通过引用并入本文作为本技术的公开的一部分。
技术领域
3.本文件涉及视频和图像编码及解码技术。


背景技术:

4.数字视频导致了因特网和其他数字通信网络上的最大带宽使用。随着连接的、能够接收和显示视频的用户设备的数量的增加,预期用于数字视频用途的带宽需求将继续增长。


技术实现要素:

5.所公开的技术可以由使用调色板模式编解码的视频或图像解码器或编码器实施例使用。
6.在一个示例性方面中,公开了一种视频处理方法。该方法包括执行视频的视频区域的块与该视频的比特流表示之间的转换。根据第一格式规则和第二格式规则处理该比特流表示,其中第一格式规则指定对于该块是否信令通知调色板模式的使用的第一指示,以及第二格式规则相对于用于该块的预测模式的使用的第二指示来指定该第一指示的位置。
7.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:针对视频的视频区域的块与该视频的比特流表示之间的转换,基于该块的至少包括调色板模式的一个或多个所允许的预测模式确定预测模式。根据该预测模式确定调色板模式的使用的指示。该方法还包括基于该一个或多个所允许的预测模式执行该转换。
8.在另一示例性方面中,公开了一种视频处理的方法。该方法包括执行视频的块与该视频的比特流表示之间的转换。根据格式规则处理该比特流表示,其中该格式规则指定对调色板模式的使用的第一指示和帧内块复制(ibc)模式的使用的第二指示进行依赖于彼此的信令通知。
9.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:针对视频的块与该视频的比特流表示之间的转换,基于该块的维度确定调色板模式的使用指示在该比特流表示中的存在;以及基于该确定的步骤,执行该转换。
10.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:针对视频的块与该视频的比特流表示之间的转换,基于该块的维度确定帧内块复制(ibc)模式的使用指示在该比特流表示中的存在;以及基于该确定的步骤,执行该转换。
11.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:针对视频的块与该视频的比特流表示之间的转换,基于包括该块的视频区域的第二指示确定对该块是否允
许调色板模式;以及基于该确定的步骤,执行该转换。
12.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:针对视频的块与该视频的比特流表示之间的转换,基于包括该块的视频区域的第二指示确定对于该块是否允许帧内块复制(ibc)模式;以及基于该确定的步骤,执行该转换。
13.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:针对视频的块与该视频的比特流表示之间的转换,确定与调色板模式中的调色板条目相关联的第一样点的第一比特深度。第一比特深度不同于与该块相关联的第二比特深度。该方法还包括:基于该确定的步骤,执行该转换。
14.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:针对视频的当前块与该视频的比特流表示之间的转换,如果以调色板模式编解码的当前块的相邻块位于当前块的上侧或左侧,确定在当前块的最可能模式(mpm)候选列表的构建期间将以调色板模式编解码的当前块的相邻块作为具有默认模式的帧内编解码块处理。该方法还包括:基于该确定的步骤,执行该转换。
15.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:针对作为调色板模式编解码块编解码到比特流表示中的视频块,根据规则确定用于去方块滤波的参数。该方法还包括:使用该用于去方块滤波的参数,执行该块与该视频的比特流表示之间的转换。
16.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:针对视频的当前块与该视频的比特流表示之间的转换,确定在当前块的最可能模式(mpm)候选列表的构建期间将以调色板模式编解码的当前块的相邻块作为非帧内编解码的块处理。该方法还包括:基于该确定的步骤,执行该转换。
17.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:针对视频的块确定与该块相关联的量化参数;部分地基于该量化参数的修改值将该视频块作为调色板编解码的块编解码到该视频的比特流表示中;以及在该比特流表示中信令通知与该量化参数有关的编解码信息。
18.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:基于视频的比特流表示推导量化参数;以及部分地基于通过修改该量化参数确定的经修改量化参数对调色板编解码块解码。
19.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:针对作为调色板编解码的块编解码到视频的比特流表示中的视频块,确定该块的逸出样点在该比特流表示中的表示,而不管是否针对该块启用了旁路模式。该方法还包括:基于该确定的步骤,执行该块与该比特流表示之间的转换。
20.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:针对作为调色板编解码的块编解码到比特流表示中的视频块,确定第一量化过程。第一量化过程与适用于非调色板模式编解码的块的第二量化过程不同。该方法还包括:基于该确定的步骤,执行该块与该比特流表示之间的转换。
21.在另一示例性方面中,公开了一种视频处理的方法。该方法包括根据规则执行包括亮度块和对应色度块的视频与该视频的比特流表示之间的转换。该规则指定对于使用调色板编解码模式编解码的当前亮度块和使用推导模式编解码的对应当前色度块,将当前亮度块作为具有默认帧内预测模式来对待,并且采用默认帧内预测模式对当前色度块编解
码。调色板编解码模式包括采用代表性样点值的调色板对当前亮度块编解码。
22.在另一示例性方面中,公开了一种视频处理的方法。该方法包括执行包括一个或多个块的视频与该视频的比特流表示之间的转换。对于该转换,根据规则为每个块构建运动候选的列表。该规则指定:针对将连续的块编解码,将使用调色板编解码模式编解码的块的运动信息作为不可用或无效对待。
23.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:针对作为调色板模式编解码的块编解码到比特流表示中的视频块,基于规则确定该块的上下文编解码的二进制数的数量。该方法还包括:基于该确定的步骤,执行该视频块与该视频的比特流表示之间的转换。
24.在另一示例性方面中,公开了一种视频处理的方法。该方法包括根据规则执行包括亮度块和对应色度块的视频与该视频的比特流表示之间的转换,该规则指定对于使用调色板编解码模式编解码的当前亮度块和利用推导模式编解码的对应当前色度块,将当前亮度块作为具有默认帧内预测模式来对待,以及采用默认帧内预测模式对当前色度块编解码。调色板编解码模式包括采用代表性样点值的调色板对当前亮度块编解码。
25.在另一示例性方面中,公开了一种视频处理的方法。该方法包括执行包括一个或多个块的视频与该视频的比特流表示之间的转换,其中,对于该转换,根据规则构建每个块的运动候选列表,该规则指定对于将连续的块编解码,将采用调色板编解码模式编解码的块的运动信息作为不可用或无效对待。
26.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:针对作为调色板模式编解码的块编解码到比特流表示中的视频块,基于规则确定该块的上下文编解码的二进制数的数量。该方法还包括:基于该确定的步骤,执行该视频块与该视频的比特流表示之间的转换。
27.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:针对视频的当前块与该视频的比特流表示之间的转换,根据规则确定用于结合的帧间和帧内预测模式的、当前块的帧内编解码的相邻块的数量。该规则指定在对用于结合的帧间和帧内预测模式的、帧内编解码的相邻块的数量计数的过程中对待使用调色板编解码模式编解码的块的方式,其中,使用调色板编解码模式包括使用代表性样点值的调色板对块编解码。该方法还包括基于该确定的步骤,执行该转换。
28.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:针对视频的当前块与该视频的比特流表示之间的转换,确定在滤波过程中对于当前块的样点跳过操作。该样点是使用调色板编解码模式编解码的,其中,使用调色板编解码模式包括使用代表性样点值的调色板对块编解码。该方法还包括基于该确定的步骤,执行该转换。
29.在另一示例性方面中,公开了一种视频处理的方法。该方法包括针对视频的块与该视频的比特流表示之间的转换确定从三种或更多种扫描顺序中选择的扫描顺序。该块是使用代表性样点值的调色板以调色板模式编解码的。该方法还包括基于该确定的步骤,执行该转换。
30.在另一示例性方面中,公开了一种视频处理的方法。该方法包括针对视频的块与该视频的比特流表示之间的转换确定一种或多种扫描顺序,其中以该一种或多种扫描顺序基于该块的形状扫描该块的系数。该方法还包括基于该确定的步骤,执行该转换。
31.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:针对视频的块与该视频的比特流表示之间的转换,对于基于块的量化残差域差分脉冲编解码调制(bdpcm)过程,确定对该块应用唯一扫描顺序,其中以该唯一扫描顺序对该块的系数进行扫描,以及在bdpcm过程中,使用差分脉冲编解码调制(dpcm)将该块的帧内预测的量化残差和该量化残差的预测之间的差值表示到该块的比特流表示中。该方法还包括基于该确定的步骤,执行该转换。
32.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:确定调色板模式待被用于处理变换单元、编解码块或区域,与预测模式分开对调色板模式的使用编解码;以及使用该调色板模式执行对变换单元、编解码块或区域的进一步处理。
33.在另一示例性方面中,公开了一种视频处理的方法。该方法包括:针对当前视频块,确定与调色板模式的一个调色板条目相关联的样点具有第一比特深度,该第一比特深度不同于与当前视频块相关联的第二比特深度;以及至少基于该一个调色板条目执行对当前视频块的进一步处理。
34.在另一示例性方面中,公开了另一种视频处理方法。该方法包括:执行视频的图片的当前视频块与该视频的比特流表示之间的转换,其中,在该比特流表示中信令通知或者基于当前视频块的编解码条件推导有关在该转换中是否使用帧内块复制的信息;其中,帧内块复制模式包括从该图片中的另一视频块对当前视频块编解码。
35.在又一示例性方面中,公开了另一种视频处理的方法。该方法包括:确定在视频图片的当前视频块的转换期间是否应用去方块滤波器,其中,使用调色板模式编解码对当前视频块编解码,在调色板模式编解码中,使用比当前视频块的总像素少的代表性样点值表示当前视频块;以及执行该转换,以使得在确定将应用去方块滤波器的情况下应用去方块滤波器。
36.在又一示例性方面中,公开了另一种视频处理的方法。该方法包括确定用于在视频的图片的当前视频块与该视频的比特流表示之间的转换期间使用的量化或逆量化过程,其中,当前视频块是使用调色板模式编解码来编解码的,在调色板模式编解码中,使用比当前视频块的总像素少的代表性样点值表示当前视频块;以及基于量化或逆量化过程的确定执行该转换。
37.在又一示例性方面中,公开了另一种视频处理的方法。该方法包括:针对包括多个视频块的视频的当前视频块与该视频的比特流表示之间的转换,确定当前视频块是调色板编解码的块;基于该确定的步骤,通过将当前视频块考虑为帧内编解码的块来执行最可能模式的列表构建过程;以及基于该列表构建过程的结果执行该转换;其中,使用调色板或代表性样点值对调色板编解码的块进行编码或解码。
38.在又一示例性方面中,公开了另一种视频处理的方法。该方法包括:针对包括多个视频块的视频的当前视频块与该视频的比特流表示之间的转换,确定当前视频块是调色板编解码的块;基于该确定的步骤,通过将当前视频块考虑为非帧内编解码块来执行最可能模式的列表构建过程;以及基于该列表构建过程的结果执行该转换;其中,使用调色板或代表性样点值对调色板编解码块进行编码或解码。
39.在又一示例性方面中,公开了另一种视频处理的方法。该方法包括:针对包括多个视频块的视频的当前视频块与该视频的比特流表示之间的转换,确定当前视频块是调色板
编解码的块;基于该确定的步骤,通过将当前视频块考虑为不可用块来执行列表构建过程;以及基于该列表构建过程的结果执行该转换;其中,使用调色板或代表性样点值对调色板编解码块进行编码或解码。
40.在又一示例性方面中,公开了另一种视频处理的方法。该方法包括:在当前视频块与当前视频块的比特流表示之间的转换期间确定当前视频块是调色板编解码的块;基于当前视频块是调色板编解码的块确定用于该转换的上下文编解码的二进制数的范围;以及基于上下文编解码的二进制数的范围执行该转换。
41.在又一示例性方面中,可以通过包括处理器的视频编码器装置实施上述方法。
42.在又一示例性方面中,这些方法可以实施为处理器可执行指令的形式并存储于计算机可读程序介质上。
43.将在本文件中进一步描述这些和其他方面。
附图说明
44.图1示出了帧内块复制的示例。
45.图2示出了以调色板模式编解码的块的示例。
46.图3示出了使用调色板预测子信令通知调色板条目的示例。
47.图4示出了水平和垂直遍历扫描的示例。
48.图5示出了调色板索引的编解码示例。
49.图6是视频处理装置的示例的框图。
50.图7示出了视频编码器的示例性实施的框图。
51.图8是视频处理方法的示例的流程图。
52.图9示出了滤波器开/关决策和强/弱滤波器选择中涉及的像素的示例。
53.图10示出了四个模式的二值化的示例。
54.图11示出了四个模式的二值化的示例。
55.图12示出了67个帧内模式预测方向的示例。
56.图13示出了相邻视频块的示例。
57.图14示出了alf滤波器形状的示例(色度:5
×
5菱形,亮度:7
×
7菱形)。
58.图15a示出了针对垂直梯度的子采样拉普拉斯计算的示例。
59.图15b示出了针对水平梯度的子采样拉普拉斯计算的示例。
60.图15c示出了针对对角线梯度的子采样拉普拉斯计算的示例。
61.图15d示出了针对对角线梯度的子采样拉普拉斯计算的示例。
62.图16示出了虚拟边界处经修改的块分类的示例。
63.图17示出了虚拟边界处针对亮度分量的、经修改的alf滤波的示例。
64.图18示出了eo中用于像素分类的四个1-d 3像素图案的示例。
65.图19示出了四个带的示例,其中这四个带被群集到一起并且通过其起始带位置来表示。
66.图20示出了在ciip权重推导中使用的上侧和左侧相邻块的示例。
67.图21示出了具有色度缩放架构的亮度映射的示例。
68.图22示出了4x4块的扫描顺序的示例。
t制定了h.261和h.263,iso/iec制定了mpeg-1和mpeg-4视觉,并且两个组织联合制定了h.262/mpeg-2视觉、h.264/mpeg-4高级视频编解码(avc)和h.265/hevc标准。自h.262以来,视频编解码标准基于混合视频编解码结构,其中采用了时域预测加变换编解码。为探索超越hevc的未来视频编解码技术,vceg和mpeg于2015年共同成立了联合视频探索组(jvet)。从那时起,jvet采用了许多新的方法,并将其放入了名为联合探索模型(jem)的参考软件中。在2018年4月,在vceg(q6/16)和iso/iec jtc1 sc29/wg11(mpeg)之间成立了联合视频专家组(jvet)以制定vvc标准,其中vvc标准的目标为与hevc相比降低50%的比特率。
100.图7是视频编码器的示例性实施的框图。图7示出了该编码器实施具有内置的反馈路径,在该反馈路径中视频编码器还执行解码功能(重建视频数据的压缩表示,以供在后面视频数据的编码中使用)。
101.2.1帧内块复制
102.帧内块复制(ibc),又名当前图片引用,已经被采纳到hevc屏幕内容编解码扩展(hevc-scc)和当前vvc测试模型(vtm-4.0)中。ibc将运动补偿的概念从帧间编解码扩展到帧内编解码。如图1所示,在应用ibc时,通过同一图片中的参考块预测当前块。在对当前块进行编码或解码之前,必须已经重建了参考块中的样点。尽管ibc并非对于大部分相机捕获序列都那么高效率,但其对于屏幕内容展现出显著的编解码增益。原因在于在屏幕内容图片中存在大量的重复图案,例如图标和文本字符。ibc能够有效地消除这些重复图案之间的冗余。在hevc-scc中,如果帧间编解码的编解码单元(cu)选择当前图片作为其参考图片,则cu可以应用ibc。在这种情况下,mv被重新命名为块矢量(bv),bv始终具有整数像素的精度。为了与主简档hevc兼容,在解码图片缓冲区(dpb)中将当前图片标记为“长期”参考图片。应注意,类似地,在多视图/3d视频编解码标准中,视图间参考图片也被标记为“长期”参考图片。
103.在按照bv寻找其参考块的情况下,可以通过复制参考块来生成预测。可以通过从初始信号减去参考像素来获得残差。然后可以如其他编解码模式中那样,应用变换和量化。
104.不过,在参考块在图片外部、或与当前块重叠、或在重建区域外部,或在由某些约束限制的有效区域外部时,不定义部分或全部像素值。基本上,有两种方案来处理此类问题。一种方案是不允许此类状况,例如,在比特流一致性中。另一种方案是针对那些未定义的像素值应用填充。以下子章节将详细描述这些方案。
105.2.2hevc屏幕内容编解码扩展中的ibc
106.在hevc的屏幕内容编解码扩展中,在块使用当前图片作为参考时,应当保证整个参考块都在可用重建区域中,如以下规范文本中所示:
107.变量offsetx和offsety推导如下:
108.offsetx=(chromaarraytype==0)?0:(mvclx[0]&0x7?2:0)
ꢀꢀꢀꢀꢀꢀꢀ
(8-106)
[0109]
offsety=(chromaarraytype==0)?0:(mvclx[1]&0x7?2:0)
ꢀꢀꢀ
(8-107)
[0110]
比特流一致性的要求是,在参考图片是当前图片时,亮度运动矢量mvlx必须遵守以下约束条件:
[0111]-在以设置为等于(xcb,ycb)的(xcurr,ycurr)以及设置为等于(xpb (mvlx[0]》》2)-offsetx,ypb (mvlx[1]》》2)-offsety)的相邻亮度位置(xnby,ynby)作为输入来调用条款6.4.1中指定的z扫描顺序块可用性的推导过程时,输出应等于真。
[0112]-在以设置为等于(xcb,ycb)的(xcurr,ycurr),以及设置为等于(xpb (mvlx[0]》》2) npbw-1 offsetx,ypb (mvlx[1]》》2) npbh-1 offsety)的相邻亮度位置(xnby,ynby)作为输入来调用条款6.4.1中指定的z扫描顺序块可用性的推导过程时,输出应等于真。
[0113]-以下条件之一或两者必须为真:
[0114]-(mvlx[0]》》2) npbw xb1 offsetx的值小于或等于0。
[0115]-(mvlx[1]》》2) npbh yb1 offsety的值小于或等于0。
[0116]-以下条件应为真:
[0117]
(xpb (mvlx[0]》》2) npbsw-1 offsetx)/ctbsizey-xcurr/ctbsizey《=ycurr/ctbsizey-(ypb (mvlx[1]》》2) npbsh-1 offsety)/ctbsizey
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-108)
[0118]
因而,不会发生参考块与当前块重叠或参考块在图片外部的情况。不需要填充参考块或预测块。
[0119]
2.3vcc测试模型中的ibc
[0120]
在当前的vcc测试模型中,例如,vtm-4.0设计中,整个参考块应与当前编解码树单元(ctu)在一起,而且不和当前块重叠。因此,不需要填充参考块或预测块。ibc标志被编解码为当前cu的预测模式。于是,对于每个cu共有三种预测模式,即mode_intra、mode_inter和mode_ibc。
[0121]
2.3.1ibc merge模式
[0122]
在ibc merge模式中,从比特流解析指向ibc merge候选列表中的条目的索引。可以根据以下步骤序列总结ibc merge列表的构建:
[0123]
步骤1:空域候选的推导
[0124]
步骤2:hmvp候选的插入
[0125]
步骤3:成对平均候选的插入
[0126]
在空域merge候选的推导中,在位于附图所示的位置上的候选中选择最多四个merge候选。推导的顺序为a1、b1、b0、a0和b2。只有在位置a1、b1、b0、a0的任何预测单元(pu)不可用(例如,因为其属于另一条带或片)或者未采用ibc模式编解码时才考虑位置b2。在添加位置a1处的候选之后,对剩余候选的插入进行冗余检查,其中该冗余检查确保从列表排除具有相同运动信息的候选,从而改善编解码效率。为了降低计算复杂性,在所提及的冗余检查中并未考虑所有可能的候选对。相反,仅考虑用附图中所示的箭头联系起来的对,并且候选只有在用于冗余检查的对应候选不具有相同的运动信息时才将被添加至列表。
[0127]
在插入空域候选之后,如果ibc merge列表尺寸仍然小于最大ibc merge列表尺寸,则可以插入来自hmvp表的ibc候选。在插入hmvp候选时执行冗余检查。
[0128]
最后,向ibc merge列表中插入成对的平均候选。
[0129]
在merge候选标识的参考块在图片外部、或与当前块重叠、或在重建区域外部、或在由某些约束条件限制的有效区域外部时,该merge候选被称为无效merge候选。
[0130]
应注意,可以向ibc merge列表中插入无效merge候选。
[0131]
2.3.2ibc amvp模式
[0132]
在ibc amvp模式中,从比特流解析指向ibc amvp列表中的条目的amvp索引。可以根据以下步骤序列总结ibc amvp列表的构建:
[0133]
步骤1:空域候选的推导
[0134]
检查a0、a1,直到发现可用候选。
[0135]
检查b0、b1、b2,直到发现可用候选。
[0136]
步骤2:hmvp候选的插入
[0137]
步骤3:零候选的插入
[0138]
在插入空域候选之后,如果ibc amvp列表尺寸仍然小于最大ibc amvp列表尺寸,则可以插入来自hmvp表的ibc候选。
[0139]
最后,向ibc amvp列表中插入零候选。
[0140]
2.4调色板模式
[0141]
调色板模式背后的基本概念在于,通过代表性颜色值的小集合来表示cu中的样点。这个集合被称为调色板。还可以通过信令通知后接(可能量化的)分量值的逸出符号来指示调色板外部的样点。在图2中例示了这种情况。
[0142]
2.5hevc屏幕内容编解码扩展(hevc-scc)中的调色板模式
[0143]
在hevc-scc中的调色板模式中,采用预测方式对调色板和索引映射编解码。
[0144]
2.5.1调色板条目的编解码
[0145]
为了对调色板条目进行编解码,保持调色板预测子。在序列参数集(sps)中信令通知调色板的最大尺寸以及调色板预测子。在hevc-scc中,在pps中引入palette_predictor_initializer_present_flag。在该标志为1时,在比特流中信令通知用于初始化调色板预测子的条目。在每个ctu行、每个条带和每个片的开始处对调色板预测子进行初始化。根据palette_predictor_initializer_present_flag的值,将调色板预测子重置为0,或者使用pps中信令通知的调色板预测子初始化器条目对其进行初始化。在hevc-scc中,启用尺寸为0的调色板预测子初始化器,以允许在pps水平上显式禁用调色板预测子初始化。
[0146]
对于调色板预测子中的每个条目,信令通知重复使用标志以指示该重复使用标志是否是当前调色板的一部分。在图3中示出了这种情况。使用零的游程长度编解码发送重复使用标志。在此之后,使用0阶指数哥伦布代码信令通知新调色板条目的数量。最后,信令通知用于新调色板条目的分量值。
[0147]
2.5.2调色板索引的编解码
[0148]
使用如图4所示的水平和垂直遍历扫描来对调色板索引进行编解码。使用palette_transpose_flag在比特流中显式地信令通知扫描顺序。对于子章节的剩余部分,假设扫描是水平的。
[0149]
使用如下两种主要调色板样点模式对调色板索引进行编解码:“index”和“copy_above”。如前所述,还将逸出符号作为“index”模式进行信令通知,并为其分配等于最大调色板尺寸的索引。除了顶行之外,或者在先前模式为“copy_above”时,使用标志信令通知该模式。在“copy_above”模式中,复制上方行中样点的调色板索引。在“index”模式中,显式地信令通知调色板索引。对于“index”和“copy_above”模式两者,信令通知游程值,其中该游程值指定也使用相同模式编解码的后续样点的数量。在逸出符号是“index”或“copy_above”模式中游程的部分时,针对每个逸出符号信令通知逸出分量值。图5中示出了调色板索引的编解码。
[0150]
如下完成这种语法顺序。首先,信令通知cu的索引值的数量。在此之后,使用截断二元编解码信令通知整个cu的实际索引值。索引数量和索引值都以旁路模式编解码。这样
将索引相关的旁路二进制数群集到了一起。然后以交替方式信令通知调色板样点模式(如果必要)和游程。最后,将对应于整个cu的逸出样点的分量逸出值群集到一起并以旁路模式进行编解码。
[0151]
在信令通知索引值之后,信令通知附加语法元素last_run_type_flag。这一语法元素结合索引数量消除了信令通知对应于块中最后游程的游程值的需求。
[0152]
在hevc-scc中,还针对4:2:2、4:2:0和单色色度格式启用调色板模式。调色板条目和调色板索引的信令对于所有色度格式几乎相同。对于非单色格式而言,每个调色板条目由3个分量构成。对于单色格式而言,每个调色板条目由单个分量构成。对于子采样的色度方向,色度样点与可被2整除的亮度样点索引相关联。在针对cu重建调色板索引之后,如果样点仅具有与其相关联的单个分量,则仅使用调色板条目的第一分量。信令中的仅有差异是针对逸出分量值。对于每个逸出样点,根据与该样点相关联的分量数量,信令通知的逸出分量值的数量可以不同。
[0153]
在vvc中,在对帧内条带进行编解码时使用双树编解码结构,因而亮度分量和两个色度分量可以具有不同的调色板和调色板索引。此外,两个色度分量共享相同的调色板和调色板索引。
[0154]
2.6vvc中的去方块方案
[0155]
注意,在下文的描述中,pnm表示第m行中的相对于垂直边缘的左侧第n样点或者第m列中的相对于水平边缘的顶侧第n样点,qnm表示第m行中的相对于垂直边缘的右侧第n样点或者第m列中的相对于水平边缘的底侧第n样点。图9中示出了pnm和qnm的示例。
[0156]
注意,在下文的描述中,pn表示一行中相对于垂直边缘的左侧第n样点或者一列之中相对于水平边缘的顶侧第n样点,qn表示一行之中相对于垂直边缘的右侧第n样点或者一列之中相对于水平边缘的底侧第n样点。
[0157]
针对四条线为一个单元,做出滤波器开/关决策。图9示出了滤波器开/关决策中涉及的像素。使用用于第一4条线的两个红色框中的6个像素针对4条线确定滤波器开/关。使用用于第二4条线的两个红色框中的6个像素针对第二四条线确定滤波器开/关。
[0158]
在一些实施例中,首先对图片中的垂直边缘进行滤波。然后利用由垂直边缘滤波过程修改的样点作为输入对图片中的水平边缘进行滤波。基于编解码单元,单独处理每个ctu的ctb中的垂直和水平边缘。从编解码块左侧的边缘开始,按照其几何顺序,通过各个边缘朝向编解码块的右侧,对编解码单元中编解码块的垂直边缘进行滤波。从编解码块顶侧的边缘开始,按照其几何顺序,通过各个边缘朝向编解码块的底部,对编解码单元中编解码块的水平边缘进行滤波。
[0159]
2.6.1边界决策
[0160]
对8x8块边界应用滤波。此外,其必须是变换块边界或者编解码子块边界(例如,由于使用仿射运动预测、atmvp)。对于那些不是此类边界的边界而言,禁用滤波器。
[0161]
2.6.2边界强度计算
[0162]
对于变换块边界/编解码子块边界,如果其位于8x8网格中,那么可以对其滤波,并且如下定义了这一边缘的bs[xdi][ydj]的设置(其中,[xdi][ydj]表示坐标):
[0163]-如果样点p0或q0处于采用帧内预测模式编解码的编解码单元的编解码块内,那么将bs[xdi][ydj]设置为等于2。
[0164]-否则,如果块边缘也是变换块边缘,且样点p0或q0处于包括一个或多个非零变换系数等级的变换块中,那么将bs[xdi][ydj]设置为等于1。
[0165]-否则,如果包括样点p0的编解码子块的预测模式与包括样点q0的编解码子块的预测模式不同,那么将bs[xdi][ydj]设置为等于1。
[0166]-否则,如果下述条件中的一个或多个为真,那么将bs[xdi][ydj]设置为等于1:
[0167]-包括样点p0的编解码子块和包括样点q0的编解码子块都以ibc预测模式编解码,并且两个编解码子块的预测中使用的运动矢量的水平或垂直分量之间的绝对差值在以四分之一亮度样点为单位时大于或等于4。
[0168]-对于包括样点p0的编解码子块的预测,使用与包括样点q0的编解码子块的预测所使用的不同的参考图片或不同数量的运动矢量。
[0169]
注1

判断用于两个编解码子块的参考图片相同或不同仅基于参考哪些图片,而不论使用参考图片列表0的索引还是参考图片列表1的索引形成预测,也不论参考图片列表之内的索引位置是否不同。
[0170]
注2

用于预测具有覆盖(xsb,ysb)的左上样点的编解码子块的运动矢量的数量等于predflagl0[xsb][ysb] predflagl1[xsb][ysb]。
[0171]-使用一个运动矢量预测包括样点p0的编解码子块,并使用一个运动矢量预测包括样点q0的编解码子块,所用运动矢量的水平或垂直分量之间的绝对差值在以四分之一亮度样点为单位时大于或等于4。
[0172]-使用两个运动矢量和两个不同参考图片来预测包括样点p0的编解码子块,针对相同的两个参考图片的两个运动矢量用于预测包括样点q0的编解码子块,对于同一参考图片在两个编解码子块的预测中使用的两个运动矢量的水平或垂直分量之间的绝对差值在以四分之一亮度样点为单位时大于或等于4。
[0173]-使用用于同一参考图片的两个运动矢量预测包括样点p0的编解码子块,使用用于同一参考图片的两个运动矢量预测包括样点q0的编解码子块,并且以下两个条件都为真:
[0174]-在两个编解码子块的预测中使用的列表0运动矢量的水平或垂直分量之间的绝对差值在以四分之一样点为单位时大于或等于4,或者在两个编解码子块的预测中使用的列表1运动矢量的水平或垂直分量之间的绝对差值在以四分之一样点为单位时大于或等于4。
[0175]-在包括样点p0的编解码子块的预测中使用的列表0运动矢量和在包括样点q0的编解码子块的预测中使用的列表1运动矢量的水平或垂直分量之间的绝对差值在以四分之一样点为单位时大于或等于4,或者在包括样点p0的编解码子块的预测中使用的列表1运动矢量和在包括样点q0的编解码子块的预测中使用的列表0运动矢量的水平或垂直分量之间的绝对差值在以四分之一样点为单位时大于或等于4。
[0176]-否则,将变量bs[xdi][ydj]设置为等于0。
[0177]
表2-1和表2-2总结了bs计算规则。
[0178]
表2-1边界强度(在禁用sps ibc时)
[0179][0180][0181]
表2-2边界强度(在启用sps ibc时)
[0182][0183]
2.6.3针对亮度分量的去方块决策
[0184]
在本子章节中描述去方块决策过程。
[0185]
更宽更强亮度滤波器是仅在条件1、条件2和条件3全部为真时才使用的滤波器。
[0186]
条件1是“大块条件”。该条件检测位于p侧和q侧的样点是否属于分别由变量bsidepislargeblk和bsideqislargeblk表示的大块。如下定义bsidepislargeblk和
bsideqislargeblk。
[0187]
bsidepislargeblk=((边缘类型为垂直,且p0属于宽度》=32的cu)||(边缘类型为水平,且p0属于高度》=32的cu))?true:false
[0188]
bsideqislargeblk=((边缘类型为垂直,且q0属于宽度》=32的cu)||(边缘类型为水平,且q0属于高度》=32的cu))?true:false
[0189]
基于bsidepislargeblk和bsideqislargeblk,如下定义条件1。
[0190]
条件1=(bsidepislargeblk||bsidepislargeblk)?true:false
[0191]
接下来,如果条件1为真,将进一步检查条件2。首先,推导以下变量:
[0192]-首先,如hevc中那样推导dp0、dp3、dq0、dq3
[0193]-if(p侧大于或等于32)
[0194]
dp0=(dp0 abs(p5
0-2*p40 p30) 1)》》1
[0195]
dp3=(dp3 abs(p5
3-2*p43 p33) 1)》》1
[0196]-if(q侧大于或等于32)
[0197]
dq0=(dq0 abs(q5
0-2*q40 q30) 1)》》1
[0198]
dq3=(dq3 abs(q5
3-2*q43 q33) 1)》》1
[0199]
条件2=(d《β)?true:false
[0200]
其中,d=dp0 dq0 dp3 dq3,如2.2.4章节所示。
[0201]
如果条件1和条件2有效,则进一步检查是否任何块使用了子块:
[0202][0203][0204]
最后,如果条件1和条件2都有效,所提出的去方块方法将检查条件3(大块强滤波器条件),条件3如下定义。
[0205]
在条件3strongfiltercondition中,推导以下变量:
[0206]
如在hevc中那样推导dpq。
[0207]
sp3=abs(p
3-p0),如在hevc中那样推导
[0208]
if(p侧大于或等于32)
[0209][0210]
sq3=abs(q
0-q3),如在hevc中那样推导
[0211]
if(q侧大于或等于32)
[0212][0213]
如hevc中那样,strongfiltercondition=(dpq小于(β》》2),sp3 sq3小于(3*β》》5),并且abs(p
0-q0)小于(5*tc 1)》》1)?true:false。
[0214]
2.6.4针对亮度的更强的去方块滤波器(设计为用于更大块)
[0215]
在边界的任一侧的样点属于大块时,使用双线性滤波器。如当对于垂直边缘而言宽度》=32或者对于水平边缘而言高度》=32时那样定义属于大块的样点。
[0216]
下文列举了双线性滤波器。
[0217]
然后如下通过线性内插替代块边界样点pi(对于i=0到sp-1)和qi(对于j=0到sq-1),pi和qi是在上述hevc去方块中用于对垂直边缘滤波的行内的第i样点或者用于对水平边缘滤波的列内的第i样点:
[0218]
—pi′
=(fi*middle
s,t
(64-fi)*ps 32)>>6),,裁剪至pi±
tcpdi[0219]
—qj′
=(gj*middle
s,t
(64-gj)*qs 32)>>6),裁剪至qj±
tcpdj[0220]
其中,tcpdi和tcpdj项是在章节2.3.6中描述的位置相关裁剪,并且gj、fi、middle
s,t
、ps和qs在表2-3中给出:
[0221]
表2-3长抽头去方块滤波器
[0222]
[0223][0224]
2.6.5针对色度的去方块控制
[0225]
在块边界的两侧上都使用色度强滤波器。在此,在色度边缘的两侧都大于或等于8(色度位置)时,选择色度滤波器,并且接下来的决策满足三个条件:第一条件针对边界强度以及大块的决策。在与块边缘正交交叉的块宽度或高度在色度样点域中等于或大于8时,可以应用所提出的滤波器。第二和第三条件与用于hevc亮度去方块决策的基本相同,分别为开/关决策和强滤波器决策。
[0226]
在第一决策中,如表2-2中所示,针对色度滤波修改边界强度(bs)。顺序地检查表2-2中的条件。如果满足条件,则跳过具有更低优先级的剩余条件。
[0227]
在bs等于2或者当检测到大块边界时bs等于1时,执行色度去方块。
[0228]
第二和第三条件与如下的hevc亮度强滤波器决策基本相同。
[0229]
在第二条件中:然后如hevc亮度去方块中那样推导d。
[0230]
在d小于β时,第二条件将为真。
[0231]
在第三条件中,如下推导strongfiltercondition:
[0232]
如在hevc中那样推导dpq
[0233]
sp3=abs(p
3-p0),如在hevc中那样推导
[0234]
sq3=abs(q
0-q3),如在hevc中那样推导
[0235]
如hevc设计中那样,strongfiltercondition=(dpq小于(β》》2),sp3 sq3小于(β》》3)并且abs(p
0-q0)小于(5*tc 1)》》1)
[0236]
2.6.6用于色度的强去方块滤波器
[0237]
定义以下用于色度的强去方块滤波器:
[0238]
p2′
=(3*p3 2*p2 p1 p0 q0 4)》》3
[0239]
p1′
=(2*p3 p2 2*p1 p0 q0 q1 4)》》3
[0240]
p0′
=(p3 p2 p1 2*p0 q0 q1 q2 4)》》3
[0241]
所提出的色度滤波器对4x4色度样点网格执行去方块。
[0242]
2.6.7位置相关裁剪
[0243]
对涉及修改边界处的7、5和3个样点的强且长滤波器的亮度滤波过程的输出样点
应用位置相关裁剪tcpd。在假设量化错误分布的情况下,提出了针对预计具有更高量化噪声并因而预计相对于真实样点值具有更高的重建样点值偏差的样点增大裁剪值。
[0244]
对于利用不对称滤波器滤波的每个p或q边界,取决于章节2.3.3中的决策制定过程的结果,从作为边信息提供给解码器的两个表(即,以下制成表的tc7和tc3)中选择位置相关阈值表:
[0245]
tc7={6,5,4,3,2,1,1};
[0246]
tc3={6,4,2};
[0247]
tcpd=(sp==3)?tc3:tc7;
[0248]
tcqd=(sq==3)?tc3:tc7;
[0249]
对于利用短对称滤波器滤波的p或q边界,应用更低量值的位置相关阈值:
[0250]
tc3={3,2,1};
[0251]
在定义阈值之后,根据tcp和tcq裁剪值裁剪经滤波的p’i
和q’i
样点值:
[0252]
p”i
=clip3(p’i
tcpi,p’i

tcpi,p’i
);
[0253]
q”j
=clip3(q’j
tcqj,q’j

tcqj,q’j
);
[0254]
其中,p’i
和q’i
是经滤波的样点值,p”i
和q”j
是裁剪之后的输出样点值,tcpi和tcqi是从vvc tc参数以及tcpd和tcqd推导出的裁剪阈值。函数clip3是裁剪函数,如vvc中对其所做的规定。
[0255]
2.6.8子块去方块调整
[0256]
为了能够使用长滤波器和子块去方块两者并行友好地去方块,长滤波器被限制为在使用如针对长滤波器的亮度控制中所示的子块去方块(affine或atmvp或dmvr)的一侧修改最多5个样点。此外,调整子块去方块,使得将8x8网格上的接近cu或隐式tu边界的子块边界限制为仅修改每一侧的最多两个样点。
[0257]
下文适用于不与cu边界对齐的子块边界。
[0258][0259]
其中,等于0的边缘对应于cu边界,等于2或等于orthogonallength-2的边缘对应于来自cu边界等的子块边界8个样点。其中如果使用tu的隐式划分,隐式tu为真。
[0260]
2.6.9对于亮度/色度局限于4ctu/2ctu线缓存
[0261]
在水平边缘与ctu边界对齐时,水平边缘的滤波对于亮度限制sp=3,对于色度限
制sp=1和sq=1。
[0262]
2.7vvc中的帧内模式编解码
[0263]
为了捕获自然视频中存在的任意边缘方向,vtm5中的方向性帧内模式的数量被从33(如hevc中使用的)扩展到65。不在hevc中的新方向性模式在图12中示出为红色虚线箭头,平面和dc模式保持相同。这些更密集的方向性帧内预测模式应用于所有块尺寸以及亮度帧内预测和色度帧内预测两者。
[0264]
在vtm5中,针对非方形块,几个常规的角度帧内预测模式被宽角度帧内预测模式自适应地替代。将在章节3.3.1.2中描述宽角度帧内预测。
[0265]
在hevc中,每一帧内编解码块具有方形形状,并且其每条边的长度均为2的幂。因而,在使用dc模式的情况下,不需要划分操作来生成帧内预测子。在vtm5中,块可以具有矩形形状,其在一般情况下必须使用针对每一块的划分操作。为了避免用于dc预测的划分操作,仅使用较长边来计算非方形块的均值。
[0266]
为了保持最可能模式(mpm)列表生成的低复杂性,通过考虑两种可用相邻帧内模式来使用具有6个mpm的帧内模式编解码方法。考虑下文的三个方面来构建mpm列表:
[0267]
1.默认帧内模式
[0268]
2.相邻帧内模式
[0269]
3.推导的帧内模式
[0270]
不论是否应用mrl和isp编解码工具,都对帧内块使用统一的6-mpm列表。该mpm列表是基于左侧和上侧相邻块的帧内模式构建的。假定将左侧块的模式表示为left,并且将上侧块的模式表示为above,那么如下构建统一mpm列表(在图13中示出了左侧块和上侧块)。
[0271]-在相邻块不可用时,将其帧内模式默认设置为平面。
[0272]-如果模式left和above两者均为非角度模式:
[0273]
*mp列表

{平面,dc,v,h,v-4,v 4}
[0274]-如果模式left和above之一为角度模式,并且另一个为非角度模式:
[0275]
*将模式max设置为left和above中的较大模式
[0276]
*mpm列表

{平面,max,dc,max-1,max 1,max-2}
[0277]-如果left和above两者均为角度模式,并且两者是不同的
[0278]
*将模式max设置为left和above中的较大模式
[0279]
*如果模式left和above的差处于范围2到62内(含端点)
[0280]
mpm列表

{平面,left,above,dc,max-1,max 1}
[0281]
*否则
[0282]
mpm列表

{平面,left,above,dc,max-2,max 2}
[0283]-如果left和above两者均为角度模式,并且两者是相同的:
[0284]
*mpm列表

{平面,left,left-1,left 1,dc,left-2}
[0285]
此外,对mpm索引代码字的第一二进制值进行cabac上下文编解码。总共使用三个上下文,其对应于当前帧内块是启用mrl的、启用isp的还是普通帧内块。
[0286]
在6mpm列表生成过程期间,使用剪枝去除重复模式,从而能够仅将唯一性模式包括到mpm列表内。对于61种非mpm模式的熵编解码,使用截断二进制码(tbc)。
[0287]
对于色度帧内模式编解码而言,对色度帧内模式编解码允许总共8个帧内模式。这些模式包括五个传统帧内模式和三个跨分量线性模型模式(cclm、lm_a和lm_l)。在表2-4中示出了色度模式信令通知和推导过程。色度模式编解码直接取决于对应亮度块的帧内预测模式。由于在i条带中启用针对亮度分量和色度分量的单独块分割结构,因而一个色度块可以对应于多个亮度块。因此,对于色度dm模式,直接继承覆盖当前色度块的中心位置的对应亮度块的帧内预测模式。
[0288]
表2-4

在启用cclm时从亮度模式推导色度预测模式
[0289][0290]
2.8量化残差块差分脉冲编解码调制(qr-bdpcm)
[0291]
在一些实施例中,提出了量化残差块差分脉冲编解码调制(qr-bdpcm),以有效率地对屏幕内容进行编解码。
[0292]
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时:
[0293][0294]
对于水平预测而言,适用类似规则,并且通过如下方程获得残差量化样点
[0295]
[0296]
将残差量化样点发送到解码器。
[0297]
在解码器侧,反转以上计算,从而产生q(r
i,j
),0≤i≤m-1,0≤j≤n-1。对于垂直预测情况,
[0298][0299]
对于水平情况,
[0300][0301]
将逆量化残差q-1
(q(r
i,j
))加到帧内块预测值上,以产生重建样点值。
[0302]
这种方案的主要益处在于,能够在解析系数时简单地通过加上预测子而在系数解析期间即时完成逆dpcm,或者其可以在解析之后执行。
[0303]
2.9自适应环路滤波器
[0304]
在vtm5中,应用采用基于块的滤波器自适应的自适应环路滤波器(alf)。对于亮度分量,基于局部梯度的方向和活动性选择25个滤波器中的一个用于每一4
×
4块。
[0305]
2.9.1滤波器形状
[0306]
在vtm5中,使用两种菱形滤波器形状(如图14中所示)。对亮度分量应用7
×
7菱形形状,并且对色度分量应用5
×
5菱形形状。
[0307]
2.9.2块分类
[0308]
对于亮度分量,每一4
×
4块被分类至25个种类中的一个种类中。基于其方向性d和活动性的量化值如下推导出种类索引c:
[0309][0310]
为了计算d和首先使用1-d拉普拉斯计算水平、垂直和两个对角线方向的梯度:
[0311][0312][0313][0314][0315]
其中,索引i和j是指4
×
4块内的左上样点的坐标,r(i,j)指示处于坐标(i,j)处重建的样点。
[0316]
为了降低块分类的复杂性,应用子采样1-d拉普拉斯计算。如图15a-d中所示,将相同的子采样位置用于所有方向的梯度计算。
[0317]
之后,将水平和垂直方向的梯度的d最大值和最小值设置为:
[0318][0319]
将两个对角线方向的梯度的最大值和最小值设置为:
[0320]
[0321]
为了导出方向性d的值,将这些值相对于彼此进行比较并且与两个阈值t1和t2进行比较:
[0322]
步骤1:如果和两者均为真,那么将d设置为0。
[0323]
步骤2:如果那么从步骤3继续;否则从步骤4继续。
[0324]
步骤3:如果那么将d设置为2;否则将d设置为1。
[0325]
步骤4:如果那么将d设置为4;否则将d设置为3。
[0326]
将活动性值a计算为:
[0327][0328]
将a进一步量化到0到4的范围(包括端点)内,并且将量化值表示为
[0329]
对于图片内的色度分量,不应用分类方法,即对每一色度分量应用单个alf系数组。
[0330]
2.9.3.滤波器系数和裁剪值的几何变换
[0331]
在对每一4
×
4亮度块滤波之前,依据针对该块计算出的梯度值对滤波器系数f(k,l)以及对对应的滤波器裁剪值c(k,l)应用诸如旋转或者对角线和垂直翻转的几何变换。这等价于对滤波器支持区域内的样点应用这些变换。该想法为通过使应用alf的不同块的方向性对准而使这些不同块更加相似。
[0332]
引入了包括对角线、垂直翻转和旋转的三种几何变换:
[0333]
对角线:fd(k,l)=f(l,k),cd(k,l)=c(l,k),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2-9-9)
[0334]
垂直翻转:fv(k,l)=f(k,k-l-1),cv(k,l)=c(k,k-l-1)
ꢀꢀꢀꢀꢀ
(2-9-10)
[0335]
旋转:fr(k,l)=f(k-l-1,k),cr(k,l)=c(k-l-1,k)
ꢀꢀꢀ
(2-9-11)
[0336]
其中,k是滤波器的尺寸,并且0≤k,l≤k-1是系数坐标,使得位置(0,0)处于左上角,并且位置(k-1,k-1)处于右下角。依据对该块计算出的梯度值,对滤波器系数f(k,l)和裁剪值c(k,l)应用变换。在下面的表中总结了变换与四个方向的四个梯度之间的关系。
[0337]
表2-5-针对一个块计算出的梯度与变换的映射
[0338]
梯度值变换g
d2
《g
d1
并且gh《gv无变换g
d2
《g
d1
并且gv《gh对角线g
d1
《g
d2
并且gh《gv垂直翻转g
d1
《g
d2
并且gv《gh旋转
[0339]
2.9.4滤波器参数信令通知
[0340]
在vtm5中,在自适应参数集(aps)中信令通知alf滤波器参数。在一个aps中,可以信令通知多达25组亮度滤波器系数和裁剪值索引以及多达一组色度滤波器系数和裁剪值索引。为了降低比特开销,可以合并不同分类的滤波器系数。在条带标头中,信令通知用于当前条带的aps的索引。
[0341]
从aps解码的裁剪值索引允许使用亮度的裁剪值表和色度的裁剪值表确定裁剪值。这些裁剪值取决于内部比特深度。更确切地来讲,通过下述公式获得亮度的裁剪值表和色度的裁剪值表:
[0342][0343][0344]
其中,b等于内部比特深度,n等于4,其为vtm5.0中允许的裁剪值的数量。
[0345]
可以在ctb水平上控制该滤波过程。总是通过信令通知标志以指示是否对亮度ctb应用alf。亮度ctb可以在16个固定滤波器集合以及来自aps的滤波器集合中选择滤波器集合。针对亮度ctb信令通知滤波器集合索引,以指示应用哪个滤波器集合。这16个固定滤波器集合是预定义的,并且被硬编解码到编码器和解码器两者中。
[0346]
在范数等于128的情况下量化滤波器系数。为了限制乘法复杂性,应用比特流一致性,使得非中心位置的系数值必须处于范围-27到2
7-1内(含端点)。不在比特流中信令通知中心位置系数,并且认为其等于128。
[0347]
2.9.5滤波过程
[0348]
在解码器侧,在对ctb启用alf时,对cu内的每个样点r(i,j)滤波,从而得到如下所示的样点值r

(i,j),
[0349]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)
[0350]
其中,f(k,l)表示经解码的滤波器系数,k(x,y)是裁剪函数,并且c(k,l)表示经解码的裁剪参数。变量k和l在和之间变化,其中,l表示滤波器长度。裁剪函数k(x,y)=min(y,max(-y,x)),其对应于函数clip3(-y,y,x)。
[0351]
2.9.6实现线缓存缩小的虚拟边界滤波过程
[0352]
在vtm5中,为了降低alf的线缓存要求,将经修改的块分类和滤波用于水平ctu边界附近的样点。出于该目的,将虚拟边界定义为通过使水平ctu边界移动“n”个样点而得到的线,如图16所示,其中,对于亮度分量而言,n等于4,以及对于色度分量而言,n等于2。
[0353]
对亮度分量应用经修改的块分类,如图2-11中所示。对于处于虚拟边界之上的4x4块的1d拉普拉斯算子梯度计算而言,仅使用虚拟边界之上的样点。类似地,对于处于虚拟边界之下的4x4块的1d拉普拉斯算子梯度计算而言,仅使用虚拟边界之下的样点。通过将在1d拉普拉斯算子梯度计算中使用的降低的样点数量考虑在内,相应地缩放活动性值a的量化。
[0354]
对于滤波处理,对亮度分量和色度分量两者使用虚拟边界处的对称填充操作。如图17所示,在正在滤波的样点位于虚拟边界之下时,填充位于虚拟边界之上的相邻样点。与此同时,还对称地填充处于其他侧的对应样点。
[0355]
2.10样点自适应偏移(sao)
[0356]
通过使用编码器针对每一ctb指定的偏移在去方块滤波器之后对重建信号应用样点自适应偏移(sao)。hm编码器首先做出关于是否对当前条带应用sao过程的决策。如果对该条带应用sao,那么将每一ctb分类成如表2-6中所示的五种sao类型之一。sao的概念为将像素分类成各个类别,并且通过向每一类别的像素添加偏移而减少失真。sao操作包括sao类型1-4中的使用边缘特征进行像素分类的边缘偏移(eo)和sao类型5中的使用像素强度进行像素分类的带偏移(bo)。每个可应用的ctb具有包括sao_merge_left_flag、sao_merge_up_flag、sao类型和四个偏移的sao参数。如果sao_merge_left_flag等于1,那么当前ctb将
ctb的sao类型和偏移重复使用至左侧。如果sao_merge_up_flag等于1,那么当前ctb将重复使用上侧ctb的sao类型和偏移。
[0357]
表2-6

sao类型的规范
[0358][0359]
2.10.1.每一sao类型的操作
[0360]
边缘偏移通过考虑边缘方向信息使用四个1-d 3像素图案对当前像素p进行分类,如图18所示。从左到右这些图案为:0度、90度、135度和45度。
[0361]
根据表2-7将每个ctb分类成五种类别之一。
[0362]
表2-7

eo的像素分类规则
[0363][0364][0365]
带偏移(bo)通过使用像素值的五个最高有效位作为带索引而将一个ctb区域中的所有像素分类成32个均匀的带。换言之,将像素强度范围划分成从零到最大强度值(例如,对于8比特像素为255)的32个均等区段。将四个临近带群集到一起,并且由每一群组的最左侧位置指示每一群组,如图19所示。编码器搜索所有位置,以通过补偿每个带的偏移而得到具有最大失真下降的群组。
[0366]
2.11结合的帧间和帧内预测(ciip)
[0367]
在vtm5中,当以merge模式对cu进行编解码时,如果cu包括至少64个亮度样点(也就是说,cu宽度乘以cu高度等于或者大于64),并且如果cu宽度和cu高度两者均小于128个
亮度样点,那么信令通知附加的标志,以指示是否对当前cu应用结合的帧间/帧内预测(ciip)模式。如其名称所指示的,ciip预测将帧间预测信号与帧内预测信号相结合。ciip模式中的帧间预测信号p
inter
是使用与应用至常规merge模式的帧间预测过程相同的帧间预测过程推导的;并且帧内预测信号p
intra
是遵循采用平面模式的常规帧内预测过程推导的。之后,使用加权平均使帧内预测信号和帧间预测信号相结合,其中,如下依据顶部和左侧相邻块(图20中所示)的编解码模式计算权重值:
[0368]-如果顶部相邻块可用并且是帧内编解码的,那么将isintratop设置为1,否则将isintratop设置为0;
[0369]-如果左侧相邻块可用并且是帧内编解码的,那么将isintraleft设置为1,否则将isintraleft设置为0;
[0370]-如果(isintraleft isintraleft)等于2,那么将wt设置为3;
[0371]-否则,如果(isintraleft isintraleft)等于1,那么将wt设置为2;
[0372]-否则,将wt设置为1。
[0373]
如下形成ciip预测:
[0374]
p
ciip
=((4-wt)*p
inter
wt*p
intra
2)>>2
ꢀꢀꢀꢀꢀꢀꢀ
(3-1)
[0375]
2.12具有色度缩放的亮度映射(lmcs)
[0376]
在vtm5中,添加了被称为具有色度缩放的亮度映射(lmcs)的编解码工具作为环路滤波器之前的新处理块。lmcs具有两个主要构成部分:1)基于自适应分段线性模型的亮度分量的环路映射;2)对于色度分量,应用亮度相关的色度残差缩放。图21从解码器角度示出了lmcs架构。图21中的浅蓝色阴影块指示在映射域中应用该处理的位置;并且这些包括逆量化、逆变换、亮度帧内预测以及将亮度预测与亮度残差相加。图21中的无阴影块指示在原始(即,未映射)域中应用该处理的位置;并且这些包括诸如去方块、alf和sao的环路滤波器、运动补偿预测、色度帧内预测、将色度预测与色度残差相加以及将解码图片作为参考图片存储。图21中的浅黄色阴影块是新的lmcs功能块,包括亮度信号的正映射和逆映射以及取决于亮度的色度缩放过程。像vvc中大部分其他工具一样,可以在序列级上使用sps标志启用/禁用lmcs。
[0377]
3.实施例解决的问题的示例
[0378]
通常使用一个调色板标志来指示是否对当前cu采用可能对其熵编解码带来不同限制和变化的调色板模式。然而,在先前的视频编解码标准中尚未全面地研究如何更好地对调色板标志进行编解码。
[0379]
如果通过后环路滤波过程来处理调色板样点,那么调色板样点可能具有视觉伪像。
[0380]
对于非方形块可以改善调色板扫描顺序。
[0381]
4.实施例的示例
[0382]
下文详述的发明应当被视为解释一般概念的示例。不应狭义地解释这些发明。此外,可以按照任何方式结合这些方面。
[0383]
1.可以独立于预测模式对针对变换单元/预测单元/编解码块/区域使用调色板模式的指示进行编解码。
[0384]
a.在一个示例中,可以在调色板的使用的指示之前对预测模式编解码。
[0385]
i.可替代性地,此外,可以基于预测模式有条件地信令通知调色板的使用的指示。
[0386]
1.在一个示例中,当预测模式是帧内块复制模式(即,mode_ibc)时,可以跳过对调色板模式的使用的指示的信令通知。可替代性地,此外,在当前预测模式为mode_ibc时,可以推断调色板的使用的指示为假。
[0387]
2.在一个示例中,在预测模式为帧间模式(即,mode_inter)时,可以跳过对调色板模式的使用的指示的信令通知。可替代性地,此外,在当前预测模式为mode_inter时,可以将调色板模式的使用的指示推断为假。
[0388]
3.在一个示例中,当预测模式是帧内模式(即,mode_intra)时,可以跳过对调色板模式的使用的指示的信令通知。可替代性地,此外,在当前预测模式为mode_intra时,可以推断调色板的使用的指示为假。
[0389]
4.在一个示例中,在预测模式为跳过模式(即,跳过标志等于1)时,可以跳过对调色板模式的使用的指示的信令通知。可替代性地,此外,在对当前cu采用跳过模式时,可以将调色板模式的使用的指示推断为假。
[0390]
5.在一个示例中,当预测模式是帧内模式(例如,mode_intra)时,可以信令通知调色板模式的使用的指示。可替代性地,此外,在预测模式为帧间模式或帧内块复制模式时,可以跳过对调色板模式的使用的指示的信令通知。
[0391]
a)可替代性地,此外,在预测模式是帧内模式并且不是脉冲编解码调制(pcm)模式时,可以信令通知调色板模式的使用的指示。
[0392]
b)可替代性地,此外,在预测模式是帧内模式时,可以在pcm模式的使用的指示之前信令通知调色板模式的使用的指示。在一个示例中,在应用调色板模式时,可以跳过对pcm模式的使用的信令通知。
[0393]
c)可替代性地,此外,在预测模式为帧间模式或帧内块复制模式时,可以跳过对调色板模式的使用的指示的信令通知。
[0394]
6.在一个示例中,当预测模式是帧间模式(例如,mode_inter)时,可以信令通知调色板模式的使用的指示。
[0395]
a)可替代性地,当预测模式是帧内模式时,可以跳过对调色板模式的使用的指示的信令通知。
[0396]
7.在一个示例中,当预测模式是帧内块复制模式时,可以信令通知调色板模式的使用的指示。可替代性地,此外,在预测模式为帧间模式或帧内模式时,可以跳过对调色板模式的使用的指示的信令通知。
[0397]
ii.可替代性地,此外,可以基于图片/条带/片组类型有条件地信令通知调色板模式的使用的指示。
[0398]
b.在一个示例中,可以在调色板模式的使用的指示之后对预测模式进行编解码。
[0399]
c.在一个示例中,在预测模式为intra模式或者inter_mode时,可以信令通知调色板模式的使用的指示。
[0400]
i.在一个示例中,可以在跳过标志、预测模式以及pcm模式的标志之后对调色板模式的使用的指示进行编解码。
[0401]
ii.在一个示例中,可以在跳过标志、预测模式之后,在pcm模式的标志之前对调色板模式的使用的指示进行编解码。
[0402]
iii.在一个示例中,在当前块采用帧内模式编解码时,可以进一步信令通知调色板模式和ibc模式的指示。
[0403]
1.在一个示例中,可以信令通知一个比特标志,以指示是否信令通知调色板或ibc模式。
[0404]
2.在一个示例中,在某些条件下可以跳过对该比特标志的信令通知,例如,这些条件是块维度、对一个片/片组/条带/图片/序列启用ibc模式还是调色板模式。
[0405]
d.在一个示例中,可以首先对预测模式编解码(例如,其为帧内模式还是帧间模式),随后对其是否为调色板模式进行有条件地信令通知。
[0406]
i.在一个示例中,当预测模式是帧内模式时,可以进一步信令通知另一标志,以指示其是否为调色板模式。
[0407]
1.在一个示例中,在对一个视频数据单元(例如,序列/图片/片组/片)启用调色板模式时,可以信令通知该“另一标志”。
[0408]
2.在一个示例中,可以根据块维度的条件信令通知该“另一标志”。
[0409]
3.可替代性地,此外,如果其不是调色板模式,那么可以进一步信令通知一个标志,以指示其是否为pcm模式。
[0410]
4.在一个示例中,可以根据相邻块的信息对该“另一标志”进行上下文编解码。可替代性地,可以仅采用一个上下文对该“另一标志”进行上下文编解码。可替代性地,可以对该“另一标志”进行旁路编解码,即,无需上下文。
[0411]
ii.可替代性地,当预测模式是帧间模式时,可以进一步信令通知另一标志,以指示其是否为ibc模式。
[0412]
1.在一个示例中,在对一个视频数据单元(例如,序列/图片/片组/片)启用ibc模式时,可以信令通知该“另一标志”。
[0413]
2.在一个示例中,可以根据块维度的条件信令通知该“另一标志”。
[0414]
2.提出了添加调色板模式作为附加的预测模式候选。因此,不需要独立于预测模式信令通知调色板模式的使用的指示。
[0415]
a.在一个示例中,预测模式可以包括用于帧内条带/i图片/帧内片组的帧内模式、帧内块复制模式和调色板模式。
[0416]
b.可替代性地,预测模式可以包括用于帧内条带/i图片/帧内片组的帧内模式、调色板模式。
[0417]
c.在一个示例中,预测模式可以包括用于4x4块的帧内模式、帧内块复制模式和调色板模式。
[0418]
d.在一个示例中,预测模式可以包括用于帧间条带/p和/或b图片/帧间片组的帧内模式、帧间模式、帧内块复制模式和调色板模式。
[0419]
e.在一个示例中,预测模式可以包括用于帧间条带/p和/或b图片/帧间片组的帧内模式、帧间模式、帧内块复制模式。
[0420]
f.可替代性地,预测模式可以包括帧内模式、帧间模式、帧内块复制模式和调色板模式中的至少两者。
[0421]
g.在一个示例中,帧间模式可以不包括在用于4x4块的预测模式中。
[0422]
h.在一个示例中,在没有如跳过模式(其为帧间模式的特殊情况)那样对块进行编
解码时,可以信令通知预测模式索引。
[0423]
i.在一个示例中,将四个模式的二值化定义为:帧内(1)、帧间(00)、ibc(010)和调色板(011)。
[0424]
ii.在一个示例中,将四个模式的二值化定义为:帧内(10)、帧间(00)、ibc(01)和调色板(11),如图10所示。
[0425]
iii.在一个示例中,如果当前条带是帧内条带,并且在sps中未启用ibc,那么将调色板模式和帧内模式的二值化定义为:调色板(1)和帧内(0)。
[0426]
iv.在一个示例中,如果当前条带不是帧内条带,并且在sps中不启用ibc,那么将调色板模式、帧间模式和帧内模式的二值化定义为:帧内(1)、帧间(00)和调色板(01)。
[0427]
v.在一个示例中,如果当前条带是帧内条带,并且在sps中启用ibc,那么将调色板模式和帧内模式的二值化定义为:ibc(1)、调色板(01)和帧内(00)。
[0428]
vi.在一个示例中,将四个模式的二值化定义为:帧间(1)、帧内(01)、ibc(001)和调色板(000)。
[0429]
vii.在一个示例中,将四个模式的二值化定义为:帧内(1)、帧间(01)、ibc(001)和调色板(000)。
[0430]
viii.在一个示例中,将四个模式的二值化定义为:帧间(0)、帧内(10)、ibc(111)和调色板(110),如图11所示。
[0431]
3.对调色板/ibc模式的使用的指示的信令通知可以取决于其他模式的信息。
[0432]
a.在一个示例中,在预测模式为帧内模式并且不是ibc模式时,可以信令通知调色板模式的使用的指示。
[0433]
b.在一个示例中,在当前预测模式是帧内模式并且不是调色板模式时,可以信令通知ibc模式的使用的指示。
[0434]
4.如何信令通知模式信息可以取决于条带/图片/片组类型。
[0435]
a.在一个示例中,在为i条带/帧内片组时,可以信令通知一个标志,以指示是否为ibc模式。如果不是ibc模式,那么可以进一步信令通知另一标志,以指示为调色板模式还是帧内模式。
[0436]
b.在一个示例中,在为i条带/帧内片组时,可以信令通知一个标志,以指示是否为帧内模式。如果不是帧内模式,那么可以进一步信令通知另一标志,以指示为调色板模式还是ibc模式。
[0437]
5.可以基于下述条件信令通知和/或推导调色板模式的使用的指示。
[0438]
a.当前块的块维度
[0439]
i.在一个示例中,可以仅对具有小于或等于阈值(例如,64*64)的宽度*高度的块信令通知调色板模式的使用的指示。
[0440]
ii.在一个示例中,可以仅对宽度和高度两者均大于或等于阈值(例如,64)的块信令通知调色板模式的使用的指示。
[0441]
iii.在一个示例中,可以仅对所有以下条件全部为真的块信令通知调色板模式的使用的指示:
[0442]
1.宽度和/或高度大于或等于阈值(例如,16);
[0443]
2.宽度和/或高度小于或等于阈值(诸如32或64)
[0444]
iv.在一个示例中,可以仅对所具有的宽度等于高度的块(例如,方形块)信令通知调色板模式的使用的指示
[0445]
b.当前块的预测模式
[0446]
c.当前块的当前量化参数
[0447]
d.相邻块的调色板标志
[0448]
e.相邻块的帧内块复制标志
[0449]
f.颜色格式的指示(诸如4:2:0、4:4:4)
[0450]
g.单独/双编解码树结构
[0451]
h.条带/片组类型和/或图片类型
[0452]
6.可以基于下述条件信令通知和/或推导ibc模式的使用的指示。
[0453]
a.当前块的块维度
[0454]
i.在一个示例中,可以仅对所具有的宽度和高度两者均小于128的块信令通知调色板模式的使用的指示
[0455]
b.当前块的预测模式
[0456]
c.当前块的当前量化参数
[0457]
d.相邻块的调色板标志
[0458]
e.相邻块的帧内块复制标志
[0459]
f.颜色格式的指示(诸如4:2:0、4:4:4)
[0460]
g.单独/双编解码树结构
[0461]
h.条带/片组类型和/或图片类型
[0462]
7.在去方块决策过程中可以将调色板模式作为帧内模式(例如,mode_intra)对待。
[0463]
a.在一个示例中,如果p侧或q侧的样点是采用调色板模式编解码的,那么将边界强度设置为2。
[0464]
b.在一个示例中,如果p侧和q侧的样点都是采用调色板模式编解码的,那么将边界强度设置为2。
[0465]
c.可替代性地,在去方块决策过程中可以将调色板模式作为帧间模式(例如,mode_inter)对待。
[0466]
8.在去方块决策过程中可以将调色板模式作为单独模式(例如,mode_plt)对待。
[0467]
a.在一个示例中,如果p侧和q侧的样点是采用调色板模式编解码的,那么将边界强度设置为0。
[0468]
i.可替代性地,如果一侧的样点是采用调色板模式编解码的,那么将边界强度设置为0。
[0469]
b.在一个示例中,如果p侧的样点是采用ibc模式编解码的,并且q侧的样点是采用调色板模式编解码的,那么将边界强度设置为1,反之亦然。
[0470]
c.在一个示例中,如果p侧的样点是采用帧内模式编解码的,并且q侧的样点是采用调色板模式编解码的,那么将边界强度设置为2,反之亦然。
[0471]
9.在去方块决策过程中可以将调色板模式作为变换跳过块对待。
[0472]
a.可替代性地,在去方块决策过程中可以将调色板模式作为bdpcm块对待。
[0473]
10.可以基于条带/片组/图片级标志信令通知和/或推导对块使用调色板模式的指示。
[0474]
a.在一个示例中,该标志指示在采用运动矢量差的merge(mmvd,又名umve)和/或自适应运动矢量分辨率(amvr)模式中是否允许分数运动矢量差(mvd)(例如,slice_fracmmvd_flag)。可替代性地,此外,如果slice_fracmmvd_flag指示启用分数mvd,那么跳过对调色板模式的使用指示的信令通知并且将调色板模式推断为被禁用。
[0475]
b.在一个示例中,该标志指示对该条带/片组/图片是否启用调色板模式。可替代性地,此外,在这样的标志指示禁用调色板模式时,跳过表明对块使用调色板模式的信令通知,并且将调色板模式推断为被禁用。
[0476]
11.可以基于条带/片组/图片级标志信令通知和/或推导对块使用帧内块复制模式(ibc)的指示。
[0477]
a.在一个示例中,该标志指示在采用运动矢量差的merge(mmvd,又名umve)和/或自适应运动矢量分辨率(amvr)模式中是否允许分数运动矢量差(mvd)(例如,slice_fracmmvd_flag)。可替代性地,此外,如果slice_fracmmvd_flag指示启用分数mvd,那么跳过对ibc模式的使用指示的信令通知并且将ibc模式推断为被禁用。
[0478]
b.在一个示例中,该标志指示对条带/片组/图片是否启用ibc模式。可替代性地,此外,在这样的标志指示禁用ibc模式时,跳过表明对块使用ibc模式的信令通知,并且将ibc模式推断为被禁用。
[0479]
12.与一个调色板条目相关联的样点可以具有与内部比特深度和/或原始/重建样点的比特深度不同的比特深度。
[0480]
a.在一个示例中,表示与一个相关联的样点可以具有等于n的比特深度,那么可以应用以下:
[0481]
i.在一个示例中,n可以是整数(例如,8)。
[0482]
ii.在一个示例中,n可以大于内部比特深度和/或原始/重建样点的比特深度。
[0483]
iii.在一个示例中,n可以小于内部比特深度和/或原始/重建样点的比特深度。
[0484]
iv.在一个示例中,n可以取决于
[0485]
1.当前块的块维度
[0486]
2.当前块的当前量化参数
[0487]
3.颜色格式的指示(诸如4:2:0、4:4:4)
[0488]
4.单独/双编解码树结构
[0489]
5.条带/片组类型和/或图片类型
[0490]
6.调色板条目的数量
[0491]
7.预测调色板条目的数量
[0492]
8.颜色分量的索引
[0493]
b.在一个示例中,与多个调色板条目相关联的样点可以具有不同比特深度。
[0494]
i.在一个示例中,令c0、c1为当前调色板中的两个调色板条目,并且其分别具有等于b0和b1的比特深度。b0可以不等于b1。
[0495]
1.在一个示例中,b0可以大于/小于内部比特深度和/或原始/重建样点的比特深度,和/或b1可以大于/小于内部比特深度和/或原始/重建样点的比特深度。
[0496]
c.在一个示例中,在调色板模式中,可以根据与调色板条目相关联的样点的移位值重建样点。
[0497]
i.在一个示例中,可以通过使调色板条目中的样点左移m比特而重建样点。
[0498]
ii.在一个示例中,重建值可以是(c《《m) (1《《(m-1)),其中,c是调色板条目。
[0499]
iii.在一个示例中,可以通过使调色板条目中的样点右移m比特而重建样点。
[0500]
iv.在一个示例中,重建值可以是clip((c (1《《(m-1)))》》m,0,(1《《n)-1),其中,c是调色板条目,并且n是重建的比特深度。
[0501]
v.可替代性地,此外,在一个示例中,m可以取决于与调色板条目相关联的样点与重建样点/原始样点的内部比特深度之间的比特深度差。
[0502]
1.在一个示例中,m可以等于该内部比特深度减去调色板条目中的样点的比特深度。
[0503]
2.在一个示例中,m可以等于调色板条目中的样点的比特深度减去该内部比特深度。
[0504]
3.在一个示例中,m可以等于原始样点的比特深度减去调色板条目中的样点的比特深度。
[0505]
4.在一个示例中,m可以等于调色板条目中的比特深度减去原始样点的比特深度。
[0506]
5.在一个示例中,m可以等于重建样点的比特深度减去调色板条目中的样点的比特深度。
[0507]
6.在一个示例中,m可以等于调色板条目中的样点的比特深度减去重建样点的比特深度。
[0508]
vi.在一个示例中,m可以是整数(例如,2)。
[0509]
vii.可替代性地,此外,在一个示例中,m可以取决于
[0510]
1.当前块的块维度
[0511]
2.当前块的当前量化参数
[0512]
3.颜色格式的指示(诸如4:2:0、4:4:4)
[0513]
4.单独/双编解码树结构
[0514]
5.条带/片组类型和/或图片类型
[0515]
6.调色板条目的数量
[0516]
7.预测调色板条目的数量
[0517]
8.块/图片/条带/片中的样点位置
[0518]
9.颜色分量的索引
[0519]
viii.在一个示例中,可以在样点的重建期间使用基于调色板条目中的样点的查找操作。
[0520]
1.在一个示例中,可以在序列参数集(sps)/视频参数集(vps)/图片参数集(pps)/图片标头/条带标头/片组标头/lcu行/lcu的群组内信令通知查找表中的值。
[0521]
2.在一个示例中,可以在sps/vps/pps/图片标头/条带标头/片组标头/lcu行/lcu的群组内推断查找表中的值。
[0522]
13.可以首先修改用于调色板编解码的块的、信令通知的/推导的量化参数(qp),而后再将其用来推导逸出像素/样点,例如,对其进行裁剪。
[0523]
a.在一个示例中,可以按照与变换跳过模式和/或bdpcm模式相同的方式对待对于调色板编解码的块所应用的qp范围。
[0524]
b.在一个示例中,可以将对于调色板编解码的块所应用的qp修订为max(qp,4 t),其中,t是整数值,qp是用于该块的信令通知的或推导的量化参数。
[0525]
i.在一个示例中,t可以是预定义阈值。
[0526]
ii.在一个示例中,t可以等于(4 min_qp_prime_ts_minus4),其中,可以信令通知min_qp_prime_ts_minus4。
[0527]
14.如何对逸出样点/符号进行编解码可以是统一的,而不管是否启用变换量化旁路。
[0528]
a.在一个示例中,可以采用固定长度信令通知逸出样点。
[0529]
b.在一个示例中,可以按照使用n个比特的固定长度信令通知逸出样点。
[0530]
i.在一个示例中,n可以是整数(例如,8或10)并且可以取决于
[0531]
1.在sps/vps/pps/图片标头/条带标头/片组标头/lcu行/lcu群组中信令通知的消息。
[0532]
2.内部比特深度
[0533]
3.输入比特深度
[0534]
4.当前块的块维度
[0535]
5.当前块的当前量化参数
[0536]
6.颜色格式的指示(诸如4:2:0、4:4:4)
[0537]
7.单独/双编解码树结构
[0538]
8.条带/片组类型和/或图片类型
[0539]
c.在一个示例中,信令通知逸出像素/样点的代码长度可以取决于内部比特深度。
[0540]
i.可替代性地,信令通知逸出像素/样点的代码长度可以取决于输入比特深度。
[0541]
d.在一个示例中,信令通知逸出像素/样点的代码长度可以取决于量化参数。
[0542]
i.在一个示例中,用于信令通知逸出像素/样点的代码长度可以是f(qp)
[0543]
1.在一个示例中,可以将函数f定义为(内部比特深度-(qp-4)/6)。
[0544]
15.可以按照不同方式定义调色板编解码块和非调色板编解码块的量化和/或逆量化过程。
[0545]
a.在一个示例中,可以将右比特移位用于量化逸出样点,而不使用用于变换系数或残差的量化过程。
[0546]
b.在一个示例中,可以将左比特移位用于逆量化逸出样点,而不使用用于变换系数或残差的逆量化过程。
[0547]
c.在编码器侧,可应用以下内容:
[0548]
i.在一个示例中,可以将逸出像素/样点值信令通知为f(p,qp),其中,p是像素/样点值。
[0549]
ii.在一个示例中,可以将函数f定义为p》》((qp-4)/6),其中,p是像素/样点值,并且qp是量化参数。
[0550]
iii.在一个示例中,可以将逸出像素/样点值信令通知为p》》n,其中,p是像素/样点值。
[0551]
1.在一个示例中,n可以是整数(例如,2)并且可以取决于
[0552]
a)在sps/vps/pps/图片标头/条带标头/片组标头/lcu行/lcu群组中信令通知的消息。
[0553]
b)内部比特深度
[0554]
c)输入比特深度
[0555]
d)当前块的块维度
[0556]
e)当前块的当前量化参数
[0557]
f)颜色格式的指示(诸如4:2:0、4:4:4)
[0558]
g)单独/双编解码树结构
[0559]
h)条带/片组类型和/或图片类型
[0560]
d.在解码器侧,可应用以下:
[0561]
i.在一个示例中,可以将逸出像素/样点值信令通知为f(bd,p,qp)
[0562]
1.在一个示例中,可以将函数f定义为clip(0,(1《《(bd-(qp-4)/6))-1,(p (1《《(bd-1)))》》((qp-4)/6))。
[0563]
ii.在一个示例中,可以将逸出像素/样点值重建为f(p,qp),其中,p是经解码的像素/样点值。
[0564]
1.在一个示例中,可以将f定义为p《《((qp-4)/6)
[0565]
iii.在一个示例中,可以将逸出像素/样点值重建为f(bd,p,qp),其中,p是经解码的像素/样点值。
[0566]
1.在一个示例中,可以将函数clip定义为clip(0,(1《《bd)-1,p《《((qp-4)/6))
[0567]
iv.在以上示例中,可以将clip函数clip(a,i,b)定义为(i《a?a:(i》b?b:i))。
[0568]
v.在以上示例中,可以将clip函数clip(a,i,b)定义为(i《=a?a:(i》=b?b:i))。
[0569]
vi.在以上示例中,p可以是像素/样点值,bd可以是内部比特深度或输入比特深度,并且qp是量化参数。
[0570]
16.在最可能模式(mpm)的列表构建过程期间可以将调色板编解码的块作为帧内块对待(例如,mode_intra)。
[0571]
a.在一个示例中,当在mpm列表的构建期间取回相邻(邻近或非邻近)块的帧内模式时,如果相邻块(例如,左侧和/或上侧)是采用调色板模式编解码的,那么可以将其作为采用默认模式的常规帧内编解码块(例如,mode_intra)来对待。
[0572]
i.在一个示例中,默认模式可以是dc/planar/ver/hor模式。
[0573]
ii.在一个示例中,默认模式可以是任何一种帧内预测模式。
[0574]
iii.在一个示例中,可以在依赖性参数集(dps)/sps/vps/pps/aps/图片标头/条带标头/片组标头/最大编解码单元(lcu)/编解码单元(cu)/lcu行/lcu组/tu/pu块/视频编解码单元中信令通知默认模式。
[0575]
17.在最可能模式(mpm)的列表构建过程期间可以将调色板编解码的块作为非帧内块对待(例如,作为采用等于mode_plt的预测模式的块对待)。
[0576]
a.在一个示例中,当在mpm列表的构建期间取回相邻块的帧内模式时,如果相邻块(例如,左侧和/或上侧)是采用调色板模式编解码的,那么可以按照与那些采用帧间模式编解码的块相同或类似的方式对其进行对待。
[0577]
b.在一个示例中,当在mpm列表的构建期间取回相邻块的帧内模式时,如果相邻块(例如,左侧和/或上侧)是采用调色板模式编解码的,那么可以按照与那些采用ibc模式编解码的块相同或类似的方式对其进行对待。
[0578]
18.可以将与采用dm模式编解码的色度块相对应的采用调色板模式编解码的亮度块理解为具有默认帧内预测模式。
[0579]
a.在一个示例中,在色度块采用dm模式编解码时,可以将采用调色板模式编解码的对应亮度块作为帧内块(例如,mode_intra)或调色板(例如,mode_plt)块对待。
[0580]
b.在一个示例中,默认预测模式可以是dc/planar/ver/hor模式。
[0581]
c.在一个示例中,默认预测模式可以是任何一种帧内预测模式。
[0582]
d.在一个示例中,可以在dps/sps/vps/pps/aps/图片标头/条带标头/片组标头/最大编解码单元(lcu)/编解码单元(cu)/lcu行/lcu组/tu/pu块/视频编解码单元中信令通知默认预测模式。
[0583]
19.可以在基于历史的运动矢量预测(hmvp)模式、merge(merge)模式和/或高级运动矢量预测(amvp)模式的列表构建期间将调色板编解码的块作为不可用块来对待。
[0584]
a.在一个示例中,不可用块可以表示不具有任何运动信息或者不能将其运动信息用于其他块的预测的块。
[0585]
b.在一个示例中,在hmvp模式、merge模式和/或amvp模式中的列表构建过程中,可以将采用调色板模式编解码的块作为帧内块(例如,mode_intra)或调色板(例如,mode_plt)块对待。
[0586]
i.可替代性地,在一个示例中,当在hmvp、merge和/或amvp列表的构建期间取回相邻块的运动信息时,可以将采用调色板模式编解码的相邻块作为具有无效参考索引的块对待。
[0587]
ii.可替代性地,在一个示例中,当在hmvp、merge和/或amvp列表的构建期间取回相邻块的运动信息时,可以将采用调色板模式编解码的相邻块作为具有等于0的参考索引的帧间块对待。
[0588]
iii.可替代性地,在一个示例中,当在hmvp、merge和/或amvp模式的列表构建期间取回相邻块的运动信息时,可以将采用调色板模式编解码的相邻块作为具有零运动矢量的帧间块对待。
[0589]
20.如何对待采用调色板模式编解码的块(例如,是否和/或如何应用以上方法)可以取决于
[0590]
a.视频内容(例如,屏幕内容或自然内容)
[0591]
b.在dps/sps/vps/pps/aps/图片标头/条带标头/片组标头/最大编解码单元(lcu)/编解码单元(cu)/lcu行/lcu组/tu/pu块/视频编解码单元中信令通知的消息
[0592]
c.cu/pu/tu/块/视频编解码单元的位置
[0593]
d.当前块和/或其相邻块的块尺度
[0594]
e.当前块和/或其相邻块的块形状
[0595]
f.颜色格式的指示(诸如4:2:0、4:4:4、rgb或yuv)
[0596]
g.编解码树结构(诸如双树或单树)
[0597]
h.条带/片组类型和/或图片类型
[0598]
i.颜色分量(例如,可以仅应用于亮度分量或色度分量)
[0599]
j.时域层id
[0600]
k.标准的档次/水平/层次
[0601]
21.可以将用于调色板编解码的块的上下文编解码二进制数局限为处于某一范围内。
[0602]
a.在一个示例中,向块分配计数器,以记录已经对多少个二进制数进行了上下文编解码。当计数器超过阈值时,应用旁路编解码而不使用上下文编解码。
[0603]
i.可替代性地,可以分配numcolorcomp计数器,以记录对于每个颜色分量已经对多少个二进制数进行了上下文编解码。numcolorcomp是待在一个块中编解码的颜色分量的数量(例如,对于具有yuv格式的一个cu,numcolorcomp设置为3)。
[0604]
ii.可替代性地,可以将计数器初始化为零,并且在采用上下文对一个二进制数编解码之后,使计数器加一。
[0605]
b.可替代性地,可以采用某一大于零的值(例如,w*h*k)对计数器初始化,并且在采用上下文对一个二进制数编解码之后,使计数器减一。当计数器小于或等于t时,应用旁路编解码而不使用上下文编解码。
[0606]
i.在一个示例中,t设置为0或1。
[0607]
ii.在一个示例中,根据经解码的信息或者编解码过程的数量等设置t。
[0608]
c.在一个示例中,就上下文编解码的二进制数而言,调色板编解码的块与ts编解码的块或者非ts编解码的块相比可以具有相同或不同阈值。
[0609]
i.在一个示例中,可以将用于调色板编解码的块的上下文编解码的二进制数的数量设置为(w*h*t),其中,w和h分别是一个块的宽度和高度,并且t为整数。在一个示例中,t设置为与用于ts编解码的块的t相同,诸如1.75或2。
[0610]
ii.在一个示例中,可以将用于调色板编解码的块的上下文编解码的二进制数的数量设置为(w*h*numcolorcomp*t),其中,w和h分别是一个块的宽度和高度;numcolorcomp是待在一个块中编解码的颜色分量的数量(例如,对于具有yuv格式的一个cu,将numcolorcomp设置为3),并且t是整数。在一个示例中,将t设置为与用于ts编解码的块的t相同,诸如1.75或2。
[0611]
d.在一个示例中,就上下文编解码的二进制数而言,调色板编解码的块的阈值可以小于ts编解码的块或非ts编解码的块的阈值。
[0612]
e.在一个示例中,就上下文编解码的二进制数而言,调色板编解码的块的阈值可以大于ts编解码的块或非ts编解码的块的阈值。
[0613]
22.在对ciip模式中的相邻帧内块计数的过程期间可以将调色板编解码的块作为非帧内块对待(例如,作为采用等于mode_plt的预测模式的块对待)。
[0614]
a.在一个示例中,当在对ciip模式中的相邻帧内块计数期间取回相邻块的帧内模式时,如果相邻块(例如,左侧和/或上侧)是采用调色板模式编解码的,那么可以按照与那些采用帧间模式编解码的块相同或类似的方式对其进行对待。
[0615]
b.在一个示例中,当在对ciip模式中的相邻帧内块计数期间取回相邻块的帧内模式时,如果相邻块(例如,左侧和/或上侧)是采用调色板模式编解码的,那么可以按照与那些采用ibc模式编解码的块相同或类似的方式对其进行对待。
[0616]
c.可替代性地,在对ciip模式中的相邻帧内块计数的过程期间可以将调色板编解码的块作为帧内块对待。
[0617]
23.提出了对于调色板编解码的样点跳过前滤波和/或后滤波过程。
[0618]
a.在一个示例中,可以不对调色板编解码的样点去方块。
[0619]
b.在一个示例中,可以不在sao过程中对调色板编解码的样点补偿偏移。
[0620]
c.在一个示例中,可以不在alf过程中对调色板编解码的样点滤波。
[0621]
i.在一个示例中,alf过程中的分类可以跳过调色板编解码的样点。
[0622]
d.在一个示例中,可以对调色板编解码的样点禁用lmcs。
[0623]
24.提出了在调色板模式中添加更多的扫描顺序。
[0624]
a.在一个示例中,可以使用如下定义的反向水平遍历扫描顺序。
[0625]
i.在一个示例中,奇数行的扫描方向可以是从左到右。
[0626]
ii.在一个示例中,偶数行的扫描方向可以是从右到左。
[0627]
iii.在一个示例中,4x4块的扫描顺序可以如图22中所示。
[0628]
b.在一个示例中,可以使用如下定义的反向垂直遍历扫描顺序。
[0629]
i.在一个示例中,奇数列的扫描方向可以是从上到下。
[0630]
ii.在一个示例中,偶数列的扫描方向可以是从下到上。
[0631]
iii.在一个示例中,4x4块的扫描顺序可以如图23中所示。25.所允许的扫描顺序的组合可以取决于块形状。
[0632]
a.在一个示例中,当块的宽度和高度的比例大于阈值时,可以仅应用水平遍历和反向水平遍历扫描顺序。
[0633]
i.在一个示例中,该阈值等于1。
[0634]
ii.在一个示例中,该阈值等于4。
[0635]
b.在一个示例中,当块的高度和宽度的比例大于阈值时,可以仅应用垂直遍历和反向垂直遍历扫描顺序。
[0636]
i.在一个示例中,该阈值等于1。
[0637]
ii.在一个示例中,该阈值等于4。
[0638]
26.提出了在qr-bdpcm过程中只允许一个帧内预测方向和/或一个扫描方向。
[0639]
a.在一个示例中,在宽度大于高度的的块上只允许垂直方向。
[0640]
b.在一个示例中,在宽度小于高度的的块上只允许水平方向。
[0641]
c.在一个示例中,可以针对非方形块推断qr-bdpcm的方向的指示。
[0642]
i.在一个示例中,此外,可以针对宽度大于高度的的块将qr-bdpcm的方向的指示推断为垂直方向。
[0643]
ii.在一个示例中,此外,可以针对宽度小于高度的的块将qr-bdpcm的方向的指示推断为水平方向。
[0644]
27.可以仅对具有w*th》=h或h*th》=w的块应用项目符号24、25和26中的方法,其中,w和h分别是块宽度和高度,并且th是阈值。
[0645]
a.在一个示例中,th为整数(例如,4或8)并且可以基于
[0646]
i.视频内容(例如,屏幕内容或自然内容)
[0647]
ii.在dps/sps/vps/pps/aps/图片标头/条带标头/片组标头/最大编解码单元
(lcu)/编解码单元(cu)/lcu行/lcu组/tu/pu块/视频编解码单元中信令通知的消息
[0648]
iii.cu/pu/tu/块/视频编解码单元的位置
[0649]
iv.当前块和/或其相邻块的块尺度
[0650]
v.当前块和/或其相邻块的块形状
[0651]
vi.颜色格式的指示(诸如4:2:0、4:4:4、rgb或yuv)
[0652]
vii.编解码树结构(诸如双树或单树)
[0653]
viii.条带/片组类型和/或图片类型
[0654]
ix.颜色分量(例如,可以仅应用于亮度分量或色度分量)
[0655]
x.时域层id
[0656]
xi.标准的档次/水平/层次
[0657]
5.附加实施例
[0658]
在下文的实施例中,新添加的文本为粗斜体,并且通过“[[]]”标记删除的文本。
[0659]
5.1实施例1
[0660]
该章节示出了一种示例性实施例,其中,与基线比特流语法相比可以改变视频的比特流表示。
[0661][0662][0663]
[0664][0665]
[0666][0667]
[0668][0669]
[0670][0671][0672]
[0673][0674][0675]
[0676][0677]
[0678][0679]
[0680][0681]
[0682][0683][0684]
[0685][0686]
表9-4语法元素和相关联的二值化
[0687][0688]
表9-10

对具有上下文编解码的二进制数的语法元素的ctxinc分配
[0689][0690][0691]
5.2实施例#2
[0692]
该实施例将描述modetype。
[0693]
变量modetype指定对于编解码树节点内的编解码单元是否可以使用帧内、ibc、和帧间编解码模式(mode_type_all),是否可以仅使用帧内、和ibc编解码模式(mode_type_intra)或者是否可以仅使用帧间编解码模式(mode_type_inter)。
[0694]
5.3实施例#3
[0695]
该实施例描述了编解码单元语法。在该实施例中,在pred_mode_ibc_flag之后信令通知pred_mode_plt_flag。
[0696]
7.3.7.5编解码单元语法
[0697]
[0698][0699]
[0700]
5.4实施例#4
[0701]
该实施例描述了编解码单元语法。在该实施例中,在pred_mode_ibc_flag之后信令通知pred_mode_plt_flag,并且只有在当前预测模式为mode_intra时信令通知pred_mode_plt_flag。
[0702]
7.3.7.5编解码单元语法
[0703]
[0704][0705]
5.5实施例#5
[0706]
该实施例描述了编解码单元语法。在该实施例中,在pred_mode_plt_flag之后信令通知pred_mode_ibc_flag。
[0707]
7.3.7.5编解码单元语法
[0708]
[0709]
[0710][0711]
5.6实施例#6
[0712]
该实施例描述了编解码单元语法。在该实施例中,在pred_mode_plt_flag之后信令通知pred_mode_ibc_flag,并且只有在当前预测模式为mode_intra时信令通知pred_mode_plt_flag。
[0713]
7.3.7.5编解码单元语法
[0714]
[0715]
[0716][0717]
5.7实施例#7
[0718]
该实施例描述了编解码单元语法。在该实施例中,在预测模式为mode_intra时信令通知pred_mode_plt_flag和pred_mode_ibc_flag。
[0719]
7.3.7.5编解码单元语法
[0720]
[0721][0722]
5.8实施例#8
[0723]
该实施例描述了编解码单元语法。在该实施例中,在预测模式不是mode_intra时信令通知pred_mode_plt_flag和pred_mode_ibc_flag。
[0724]
7.3.7.5编解码单元语法
[0725]
[0726][0727]
5.9实施例#9
[0728]
该实施例描述了编解码单元语法。在该实施例中,在预测模式为mode_inter时信令通知pred_mode_plt_flag和pred_mode_ibc_flag。
[0729]
7.3.7.5编解码单元语法
[0730]
[0731]
[0732][0733]
5.10实施例#10
[0734]
该实施例描述了pred_mode_plt_flag的语义。
[0735][0736]
5.11实施例#11
[0737]
该实施例描述了pred_mode_plt_flag的语义。
[0738][0739]
5.12实施例#12
[0740]
该实施例描述了边界强度推导。
[0741]
8.8.3.5边界滤波强度的推导过程
[0742]
该过程的输入为:
[0743]
图片样点数组recpicture,
[0744]
位置(xcb,ycb),相对于当前图片的左上样点指定当前编解码块的左上样点,
[0745]
变量ncbw,指定当前编解码块的宽度,
[0746]
变量ncbh,指定当前编解码块的高度,
[0747]
变量edgetype,指定对垂直边缘(edge_ver)还是水平边缘(edge_hor)滤波,
[0748]
变量cidx,指定当前编解码块的颜色分量,
[0749]
二维(ncbw)x(ncbh)数组edgeflags。
[0750]
这个过程的输出是指定边界滤波强度的二维(ncbw)x(ncbh)数组bs。
[0751]

[0752]
如下推导变量bs[xdi][ydj]:
[0753]
如果cidx等于0,且样点p0和q0都在intra_bdpcm_flag等于1的编解码块中,那么bs[xdi][ydj]设置为等于0。
[0754]
否则,如果样点p0或q0处于采用帧内预测模式编解码的编解码单元的编解码块内,那么bs[xdi][ydj]设置为等于2。
[0755]
否则,如果块边缘也是变换块边缘,且样点p0或q0在ciip_flag等于1的编解码块中,那么bs[xdi][ydj]设置为等于2。
[0756]
否则,如果块边缘也是变换块边缘,且样点p0或q0处于包括一个或多个非零变换系数幅值的变换块中,那么将bs[xdi][ydj]设置为等于1。
[0757][0758]
否则,如果包括样点p0的编解码子块的预测模式与包括样点q0的编解码子块的预测模式不同,那么bs[xdi][ydj]设置为等于1。
[0759]
否则,如果cidx等于0且以下条件中的一个或多个为真,那么bs[xdi][ydj]设置为等于1:
[0760]
包括样点p0的编解码子块和包括样点q0的编解码子块都以ibc预测模式编解码,并且两个编解码子块的预测中使用的运动矢量的水平或垂直分量之间的绝对差值在以四分之一亮度样点为单位时大于或等于4。
[0761]
对于包括样点p0的编解码子块的预测,使用与包括样点q0的编解码子块的预测所使用的不同的参考图片或不同数量的运动矢量。
[0762]
注1

判断用于两个编解码子块的参考图片相同或不同仅基于参考了哪些图片,而不论使用对参考图片列表0的索引还是对参考图片列表1的索引形成预测,也不论参考图片列表之内的索引位置是否不同。
[0763]
注2

用于预测具有覆盖(xsb,ysb)的左上样点的编解码子块的运动矢量的数量等于predflagl0[xsb][ysb] predflagl1[xsb][ysb]。
[0764]
使用一个运动矢量预测包括样点p0的编解码子块,并使用一个运动矢量预测包括样点q0的编解码子块,所用运动矢量的水平或垂直分量之间的绝对差值在以四分之一亮度样点为单位时大于或等于4。
[0765]
使用两个运动矢量和两个不同参考图片来预测包括样点p0的编解码子块,使用用于相同两个参考图片的两个运动矢量来预测包括样点q0的编解码子块,对于同一参考图片在两个编解码子块的预测中使用的两个运动矢量的水平或垂直分量之间的绝对差值在以四分之一亮度样点为单位时大于或等于4。
[0766]
使用用于同一参考图片的两个运动矢量预测包括样点p0的编解码子块,使用用于同一参考图片的两个运动矢量预测包括样点q0的编解码子块,并且以下两个条件都为真:
[0767]
在两个编解码子块的预测中使用的列表0运动矢量的水平或垂直分量之间的绝对差值在以四分之一样点为单位时大于或等于4,或者在两个编解码子块的预测中使用的列表1运动矢量的水平或垂直分量之间的绝对差值在以四分之一样点为单位时大于或等于4。
[0768]
在包括样点p0的编解码子块的预测中使用的列表0运动矢量和在包括样点q0的编解码子块的预测中使用的列表1运动矢量的水平或垂直分量之间的绝对差值在以四分之一样点为单位时大于或等于4,或者在包括样点p0的编解码子块的预测中使用的列表1运动矢量和在包括样点q0的编解码子块的预测中使用的列表0运动矢量的水平或垂直分量之间的绝对差值在以四分之一样点为单位时大于或等于4。
[0769]
否则,变量bs[xdi][ydj]设置为等于0。
[0770]
5.13a实施例#13a
[0771]
该实施例描述了边界强度推导
[0772]
8.8.3.5边界滤波强度的推导过程
[0773]
该过程的输入为:
[0774]
图片样点数组recpicture,
[0775]
位置(xcb,ycb),相对于当前图片的左上样点指定当前编解码块的左上样点,
[0776]
变量ncbw,指定当前编解码块的宽度,
[0777]
变量ncbh,指定当前编解码块的高度,
[0778]
变量edgetype,指定对垂直边缘(edge_ver)还是水平边缘(edge_hor)滤波,
[0779]
变量cidx,指定当前编解码块的颜色分量,
[0780]
二维(ncbw)x(ncbh)数组edgeflags。
[0781]
该过程的输出是指定边界滤波强度的二维(ncbw)x(ncbh)数组bs。
[0782]

[0783]
如下推导变量bs[xdi][ydj]:
[0784]
如果cidx等于0,且样点p0和q0都在intra_bdpcm_flag等于1的编解码块中,那么bs[xdi][ydj]设置为等于0。
[0785]
否则,如果样点p0或q0处于采用帧内预测模式编解码的编解码单元的编解码块内,那么bs[xdi][ydj]设置为等于2。
[0786]
否则,如果块边缘也是变换块边缘,且样点p0或q0在ciip_flag等于1的编解码块中,那么bs[xdi][ydj]设置为等于2。
[0787]
否则,如果块边缘也是变换块边缘,且样点p0或q0处于包括一个或多个非零变换系数级的变换块中,那么bs[xdi][ydj]设置为等于1。
[0788][0789]
否则,如果包括样点p0的编解码子块的预测模式与包括样点q0的编解码子块的预测模式不同,那么将bs[xdi][ydj]设置为等于1。
[0790]
否则,如果cidx等于0且以下条件中的一个或多个为真,那么将bs[xdi][ydj]设置为等于1:
[0791]
包括样点p0的编解码子块和包括样点q0的编解码子块都以ibc预测模式编解码,并且两个编解码子块的预测中使用的运动矢量的水平或垂直分量之间的绝对差值在以四分之一亮度样点为单位时大于或等于4。
[0792]
对于包括样点p0的编解码子块的预测,使用与包括样点q0的编解码子块的预测所使用的不同的参考图片或不同数量的运动矢量。
[0793]
注1

判断用于两个编解码子块的参考图片相同或不同仅基于参考了哪些图片,而不论使用对参考图片列表0的索引还是对参考图片列表1的索引形成预测,也不论参考图片列表之内的索引位置是否不同。
[0794]
注2

用于预测具有覆盖(xsb,ysb)的左上样点的编解码子块的运动矢量的数量等于predflagl0[xsb][ysb] predflagl1[xsb][ysb]。
[0795]
使用一个运动矢量预测包括样点p0的编解码子块,并使用一个运动矢量预测包括样点q0的编解码子块,所用运动矢量的水平或垂直分量之间的绝对差值在以四分之一亮度样点为单位时大于或等于4。
[0796]
使用两个运动矢量和两个不同参考图片来预测包括样点p0的编解码子块,使用用于相同两个参考图片的两个运动矢量来预测包括样点q0的编解码子块,对于同一参考图片在两个编解码子块的预测中使用的两个运动矢量的水平或垂直分量之间的绝对差值在以四分之一亮度样点为单位时大于或等于4。
[0797]
使用用于同一参考图片的两个运动矢量预测包括样点p0的编解码子块,使用用于同一参考图片的两个运动矢量预测包括样点q0的编解码子块,并且以下两个条件都为真:
[0798]
在两个编解码子块的预测中使用的列表0运动矢量的水平或垂直分量之间的绝对差值在以四分之一样点为单位时大于或等于4,或者在两个编解码子块的预测中使用的列表1运动矢量的水平或垂直分量之间的绝对差值在以四分之一样点为单位时大于或等于4。
[0799]
在包括样点p0的编解码子块的预测中使用的列表0运动矢量和在包括样点q0的编解码子块的预测中使用的列表1运动矢量的水平或垂直分量之间的绝对差值在以四分之一样点为单位时大于或等于4,或者在包括样点p0的编解码子块的预测中使用的列表1运动矢量和在包括样点q0的编解码子块的预测中使用的列表0运动矢量的水平或垂直分量之间的绝对差值在以四分之一样点为单位时大于或等于4。
[0800]
否则,变量bs[xdi][ydj]设置为等于0。
[0801]
5.13b实施例#13b
[0802]
该实施例描述了逸出样点编解码和重建。
[0803][0804]
[0805]
[0806][0807]
[[将列表levelscale[]指定为levelscale[k]={40,45,51,57,64,72},其中,k=0..5.]]
[0808]
应用以下:
[0809]
[[tmpval=(paletteescapeval[cidx][xcb xl][ycb yl]*
[0810]
levelscale[qp%6])《《(qp/6) 32)》》6(8-77)
[0811]
recsamples[x][y]=clip3(0,(1《《bitdepth)-1,tmpval)
[0812]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-78)]]
[0813]
[0814][0815]
5.14实施例#14
[0816]
8.4.5.3用于调色板模式的解码过程
[0817]
该过程的输入为:
[0818]

位置(xcb,ycb),相对于当前图片的左上亮度样点指定当前块的左上亮度样点,
[0819]

变量startcomp,指定调色板表中的第一颜色分量,
[0820]

变量cidx,指定当前块的颜色分量,
[0821]

两个变量ncbw和ncbh,分别指定当前块的宽度和高度。
[0822]
该过程的输出是指定该块的重建样点值的数组recsamples[x][y],其中,x=0..ncbw-1,y=0..ncbh-1。
[0823]
依据cidx的值,如下推导变量nsubwidth和nsubheight:
[0824]

如果cidx等于0,那么nsubwidth设置为1,并且nsubheight设置为1。
[0825]

否则,nsubwidth设置为subwidthc,并且nsubheight设置为subheightc。
[0826]
通过x=0..nctbw-1并且y=0..ncbh

1的recsamples[x][y]表示重建样点数组recsamples在位置(xcb,ycb)处的的(ncbw x ncbh)块,并且针对0到ncbw

1的范围内(包括端值)的每个x和0到ncbh

1的范围内(包括端值)的每个y如下推导recsamples[x][y]的值:
[0827]

如下推导变量xl和yl:
[0828]
xl=palette_transpose_flag?x*nsubheight:x*nsubwidth
[0829]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-234)
[0830]
yl=palette_transpose_flag?y*nsubwidth:y*nsubheight
[0831]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-235)
[0832]

如下推导变量bisescapesample:
[0833]

如果paletteindexmap[xcb xl][ycb yl]等于maxpaletteindex,并且palette_escape_val_present_flag等于1,那么将bisescapesample设置为等于1。
[0834]

否则,将bisescapesample设置为等于0。
[0835]

如果bisescapesample等于0,那么应用以下:
[0836]
recsamples[x][y]=currentpaletteentries[cidx][paletteindexmap[xcb xl][ycb yl]]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-236)
[0837]

否则,如果cu_transquant_bypass_flag等于1,那么应用以下:
[0838]
recsamples[x][y]=paletteescapeval[cidx][xcb xl][ycb yl](8-237)
[0839]

否则(bisescapesample等于1并且cu_transquant_bypass_flag等于0),那么应用以下:
[0840]
1.在相对于当前图片的左上样点以位置(xcb,ycb)指定当前块的左上样点的情况下,调用条款8.7.1中指定的针对量化参数的推导过程。
[0841]
[ed.(bb):在帧内cu解码过程的开始就已经推导了qp,因而在该子条款中没有必要再次推导它们。尽管其与hevc v4 scc中情况类似,但是我认为可以消除该冗余。请确认。]
[0842][0843]
qpprimetsmin=4 min_qp_prime_ts_minus4
[0844]
3.如下推导变量bitdepth:
[0845]
bitdepth=(cidx==0)?bitdepthy:bitdepthcꢀꢀꢀ
(8-241)
[0846]
4.将列表levelscale[]指定为levelscale[k]={40,45,51,57,64,72},其中,k=0..5。
[0847]
[ed.(bb):对于非调色板cu,levelscale取决于rectnontsflag,其应当应用于此处吗?]
[0848]
5.应用以下:
[0849]
tmpval=(paletteescapeval[cidx][xcb xl][ycb yl]*
[0850]
levelscale[qp%6])《《(qp/6) 32)》》6
ꢀꢀꢀꢀꢀꢀꢀ
(8-242)
[0851]
recsamples[x][y]=clip3(0,(1《《bitdepth)-1,tmpval)
[0852]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-243)
[0853]
当以下条件之一为真时:
[0854]

cidx等于0并且numcomps等于1;
[0855]

cidx等于3;
[0856]
如下推导或修改变量predictorpalettesize[startcomp]和数组predictorpaletteentries:
[0857][0858][0859]
比特流一致性的要求是predictorpalettesize[startcomp]的值必须处于0到palettemaxpredictorsize的范围内(包括端值)。
[0860]
5.15实施例#15
[0861]
8.4.2用于亮度帧内预测模式的推导过程
[0862]

[0863]

否则(skip_intra_flag[xpb][ypb]和dimflag[xpb][ypb]都等于0),通过以下有序步骤推导intrapredmodey[xpb][ypb]。
[0864]
1.相邻位置(xnba,ynba)和(xnbb,ynbb)分别设置为等于(xpb-1,ypb)和(xpb,ypb-1)。
[0865]
2.对于x被a或者b替换的情况,如下推导变量candintrapredmodex:
[0866]
■–
在以被设置为等于(xpb,ypb)的位置(xcurr,ycurr)和被设置为等于(xnbx,ynbx)的相邻位置(xnby,ynby)为输入的情况下调用如条款6.4.1中指定的按照z扫描顺序的用于块的可用性推导过程,并且将输出赋予availablex。
[0867]
■–
如下推导候选帧内预测模式candintrapredmodex:
[0868]
■–
如果availablex等于假,那么将candintrapredmodex设置为等于intra_dc。
[0869]

[[

否则,如果cupredmode[xnbx][ynbx]不等于mode_intra,或者pcm_flag[xnbx][ynbx]等于1,那么candintrapredmodex设置为等于intra_dc,]]
[0870][0871]
■‑
否则,如果x等于b,并且ypb-1小于((ypb》》ctblog2sizey)《《ctblog2sizey),那么candintrapredmodeb设置为等于intra_dc。
[0872]
■–
否则,如果intrapredmodey[xnbx][ynbx]大于34,那么将candintrapredmodex设置为等于intra_dc。
[0873]
5.16实施例#16
[0874]
8.4.2用于亮度帧内预测模式的推导过程
[0875]
该过程的输入为:
[0876]

亮度位置(xcb,ycb),相对于当前图片的左上亮度样点指定当前亮度编解码块的左上样点,
[0877]

变量cbwidth,指定亮度样点中当前编解码块的宽度,
[0878]

变量cbheight,指定亮度样点中当前编解码块的高度,
[0879]
在该过程中,推导出亮度帧内预测模式intrapredmodey[xcb][ycb]。
[0880]
1.对于x被a或者b替换的情况,如下推导变量candintrapredmodex:
[0881]

在以被设置为等于(xcb,ycb)的位置(xcurr,ycurr)和被设置为等于(xnbx,ynbx)的相邻位置(xnby,ynby)作为输入的情况下调用条款中指定的用于块的可用性推导过程,并且将输出赋予availablex。
[0882]

如下推导候选帧内预测模式candintrapredmodex:
[0883]

如果下述条件中的一个或多个为真,那么candintrapredmodex设置为等于intra_planar。
[0884]

变量availablex等于假。
[0885]

cupredmode[xnbx][ynbx]不等于mode_intra。
[0886][0887]

intra_mip_flag[xnbx][ynbx]等于1。
[0888]

x等于b,并且ycb-1小于((ycb》》ctblog2sizey)《《ctblog2sizey)。
[0889]

否则,candintrapredmodex设置为等于intrapredmodey[xnbx][ynbx]。
[0890]

[0891]
变量intrapredmodey[x][y]设置为等于intrapredmodey[xcb][ycb],其中x=xcb..xcb cbwidth-1并且y=ycb..ycb cbheight-1。
[0892]
5.17实施例#17
[0893]
8.4.3用于亮度帧内预测模式的推导过程
[0894]
该过程的输入为:
[0895]

亮度位置(xcb,ycb),相对于当前图片的左上亮度样点指定当前亮度编解码块的
左上样点,
[0896]

变量cbwidth,指定亮度样点中当前编解码块的宽度,
[0897]

变量cbheight,指定亮度样点中当前编解码块的高度,
[0898]
在该过程中,推导出亮度帧内预测模式intrapredmodey[xcb][ycb]。
[0899]
2.对于x被a或者b替换的情况,如下推导变量candintrapredmodex:
[0900]

在以被设置为等于(xcb,ycb)的位置(xcurr,ycurr)和被设置为等于(xnbx,ynbx)的相邻位置(xnby,ynby)作为输入的情况下调用条款6.4.x[ed.(bb):相邻块可用性检查过程待定]中指定的针对块的可用性推导过程,并且将输出赋予availablex。
[0901]

如下推导候选帧内预测模式candintrapredmodex:
[0902]

如果下述条件中的一个或多个为真,那么将candintrapredmodex设置为等于[[intra_planar]]
[0903]

变量availablex等于假。
[0904]

cupredmode[xnbx][ynbx]不等于mode_intra。
[0905]

intra_mip_flag[xnbx][ynbx]等于1。
[0906]

x等于b,并且ycb-1小于((ycb》》ctblog2sizey)《《ctblog2sizey)。
[0907]

否则,将candintrapredmodex设置为等于intrapredmodey[xnbx][ynbx]。
[0908]

[0909]
将变量intrapredmodey[x][y]设置为等于intrapredmodey[xcb][ycb],其中x=xcb..xcb cbwidth-1并且y=ycb..ycb cbheight-1。
[0910]
5.18实施例#18
[0911]
8.4.3用于亮度帧内预测模式的推导过程
[0912]
该过程的输入为:
[0913]

亮度位置(xcb,ycb),相对于当前图片的左上亮度样点指定当前亮度编解码块的左上样点,
[0914]

变量cbwidth,指定亮度样点中当前编解码块的宽度,
[0915]

变量cbheight,指定亮度样点中当前编解码块的高度,
[0916]
在该过程中,推导出亮度帧内预测模式intrapredmodey[xcb][ycb]。
[0917]
3.对于x被a或者b替换的情况,如下推导变量candintrapredmodex:
[0918]

在以被设置为等于(xcb,ycb)的位置(xcurr,ycurr)和被设置为等于(xnbx,ynbx)的相邻位置(xnby,ynby)作为输入的情况下调用条款中指定的针对块的可用性推导过程,并且将输出赋予availablex。
[0919]

如下推导候选帧内预测模式candintrapredmodex:
[0920]

如果下述条件中的一个或多个为真,那么candintrapredmodex设置为等于[[intra_planar]]
[0921]

变量availablex等于假。
[0922]

cupredmode[xnbx][ynbx]不等于mode_intra。
[0923]

intra_mip_flag[xnbx][ynbx]等于1。
[0924][0925]

x等于b,并且ycb-1小于((ycb》》ctblog2sizey)《《ctblog2sizey)。
[0926]

否则,将candintrapredmodex设置为等于intrapredmodey[xnbx][ynbx]。
[0927]

[0928]
将变量intrapredmodey[x][y]设置为等于intrapredmodey[xcb][ycb],其中x=xcb..xcb cbwidth-1并且y=ycb..ycb cbheight-1。
[0929]
5.19实施例#19
[0930][0931]
[0932][0933]
5.20实施例#20
[0934]
[0935][0936]
5.21实施例#21
[0937]
[0938]
[0939][0940]
5.22实施例#22
[0941]
该实施例描述了编解码单元语法。在该实施例中,在pred_mode_ibc_flag之后信令通知pred_mode_plt_flag。
[0942]
7.3.7.5编解码单元语法
[0943]
[0944]
[0945][0946]
5.23实施例#23
[0947]
[0948][0949]
5.24实施例#24
[0950]
该实施例描述了编解码单元语法。在该实施例中,在pred_mode_ibc_flag之后信令通知pred_mode_plt_flag。
[0951]
7.3.7.5编解码单元语法
[0952]
[0953]
[0954][0955]
5.25实施例#25
[0956]
该实施例描述了编解码单元语法。在该实施例中,如果当前预测模式是mode_plt,那么信令通知调色板语法。
[0957]
7.3.7.5编解码单元语法
[0958]
[0959]
[0960][0961]
5.26实施例#26
[0962]
该实施例描述了色度帧内预测模式的推导过程。
[0963]
用于色度帧内预测模式的推导过程
[0964]
该过程的输入为:
[0965]

亮度位置(xcb,ycb),相对于当前图片的左上亮度样点指定当前色度编解码块的左上样点,
[0966]

变量cbwidth,指定亮度样点中当前编解码块的宽度,
[0967]

变量cbheight,指定亮度样点中当前编解码块的高度,
[0968]
在该过程中,推导出色度帧内预测模式intrapredmodec[xcb][ycb]。
[0969]
如下推导对应的亮度帧内预测模式lumaintrapredmode:
[0970]

如果intra_mip_flag[xcb][ycb]等于1,那么lumaintrapredmode设置为等于intra_planar。
[0971]

否则,如果cupredmode[0][xcb][ycb]等于mode_ibc如果cupredmode[0][xcb][ycb]等于mode_ibc那么lumaintrapredmode设置为等于intra_dc。
[0972]

否则,lumaintrapredmode设置为等于intrapredmodey[xcb cbwidth/2][ycb cbheight/2]。
[0973]

[0974]
5.27实施例#27
[0975]
该实施例描述了采用用于亮度样点的映射过程的图片重建过程。
[0976]
采用针对亮度样点的映射过程的图片重建过程。该过程的输入为:
[0977]

当前块的左上样点相对于当前图片的左上样点的位置(xcurr,ycurr),
[0978]

指定块宽度的变量ncurrsw,
[0979]

指定块高度的变量ncurrsh,
[0980]

(ncurrsw)x(ncurrsh)数组predsamples,指定当前块的亮度预测样点的,
[0981]

(ncurrsw)x(ncurrsh)数组ressamples,指定当前块的亮度残差样点的。
[0982]
该过程的输出是重建的亮度图片样点数组recsamples。
[0983]
如下推导经映射的预测亮度样点的(ncurrsw)x(ncurrsh)数组predmapsamples:
[0984]

如果以下条件之一为真,那么对于i=0..ncurrsw-1,j=0..ncurrsh-1,predmapsamples[i][j]设置为等于predsamples[i][j]。
[0985]

cupredmode[0][xcurr][ycurr]等于mode_intra。
[0986]

cupredmode[0][xcurr][ycurr]等于mode_ibc。
[0987][0988]

cupredmode[0][xcurr][ycurr]等于mode_inter,并且ciip_flag[xcurr][ycurr]等于1。
[0989]

否则(cupredmode[0][xcurr][ycurr]等于mode_inter,并且ciip_flag[xcurr][ycurr]等于0),应用以下:
[0990]

[0991]
5.28实施例#28
[0992]
该实施例描述了与章节4中的项目符号24对应的示例性扫描顺序。
[0993]
该过程的输入是块宽度blkwidth和块高度blkheight。
[0994]
该过程的输出是数组hreverscan[spos][scomp]和vreverscan[spos][scomp]。数组hreverscan表示水平反向扫描顺序,并且数组vreverscan表示垂直反向扫描顺序。数组索引spos指定处于从0到(blkwidth*blkheight)-1的范围内(包括端值)的扫描位置。等于0的数组索引scomp指定水平分量,等于1的数组索引scomp指定垂直分量。依据blkwidth和blkheight的值,如下推导数组htravscan和vtravscan:
[0995]
[0996][0997]
图6是视频处理装置600的框图。装置600可以用于实施本文描述的方法中的一个或多个。装置600可以实施在智能手机、平板计算机、计算机、物联网(iot)接收器等中。装置600可以包括一个或多个处理器602、一个或多个存储器604以及视频处理硬件606。一个或多个处理器602可以被配置为实施本文件中描述的一种或多种方法。一个或多个存储器604可用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件606可以用于在硬件电路中实施本文件中描述的一些技术。在一些实施例中,硬件606可以至少部分地处于处理器602(例如,图形协处理器)内。
[0998]
图8是处理视频的方法800的流程图。方法800包括:确定(805)调色板模式待被用于处理变换单元、编解码块或区域,与预测模式分开对调色板模式的使用编解码;以及使用该调色板模式执行对变换单元、编解码块或区域的进一步处理。
[0999]
参照方法800,在本文件的章节4中描述了调色板模式编解码及其使用的一些示例。
[1000]
参照方法800,可以将视频块编码到视频比特流中,其中在视频比特流中可以通过使用与调色板模式编解码有关的比特流生成规则来实现高比特效率。
[1001]
该方法可以包括:其中,在调色板模式的使用的指示之前对预测模式编解码。
[1002]
该方法可以包括:其中,基于预测模式有条件地信令通知调色板模式的使用。
[1003]
该方法可以包括:其中,预测模式是帧内块复制模式,并且跳过调色板模式的使用的指示的信令通知。
[1004]
该方法可以包括,其中,基于当前预测模式是帧内块复制模式,将调色板模式的使用指示确定为假。
[1005]
该方法可以包括:其中,预测模式是帧间模式,并且跳过调色板模式的使用的指示的信令通知。
[1006]
该方法可以包括:其中,基于当前预测模式为帧间模式,将调色板模式的使用的指示确定为假。
[1007]
该方法可以包括:其中,预测模式是帧内模式,并且跳过调色板模式的使用的指示的信令通知。
[1008]
该方法可以包括,其中,基于当前预测模式是帧内模式,将调色板模式的使用的指示确定为假。
[1009]
该方法可以包括:其中,预测模式是帧内模式,并且跳过调色板模式的使用的指示的信令通知。
[1010]
该方法可以包括:其中,预测模式是帧内块复制模式,并且执行对调色板模式的使用的指示的信令通知。
[1011]
该方法可以包括,其中,基于图片、条带或片组类型,信令通知调色板模式的使用的指示。
[1012]
该方法可以包括,其中,添加调色板模式作为预测模式的候选。
[1013]
该方法可以包括:其中,预测模式包括用于帧内条带、帧间条带、i图片、p图片、b图片或帧内片组的帧内模式、帧内块复制模式或调色板模式中的一个或多个。
[1014]
该方法可以包括:其中,预测模式包括帧内模式、帧间模式、帧内块复制模式或调色板模式中的两个或更多个。
[1015]
该方法可以包括:其中,通过信令通知指示或者基于条件推导调色板模式的使用。
[1016]
该方法可以包括:其中,该条件包括下述中的一个或多个:当前块的块维度、当前块的预测模式、当前块的量化参数(qp)、相邻块的调色板标志、相邻块的帧内块复制标志、颜色格式的指示、单独或双编解码树结构或者条带类型或群组类型或图片类型。
[1017]
该方法可以包括:其中,基于条带级标志、片组级标志或图片级标志,信令通知或推导调色板模式的使用。
[1018]
该方法可以包括:其中,基于条带级标志、片组级标志或图片级标志,信令通知或推导帧内块复制模式的使用指示。
[1019]
参照之前章节中公开的项目6到9,一些实施例可以优选使用以下解决方案。
[1020]
一种解决方案可以包括一种视频处理方法,该方法包括:执行视频的图片的当前视频块与该视频的比特流表示之间的转换,其中,在该比特流表示中信令通知或者基于当前视频块的编解码条件推导有关在该转换中是否使用帧内块复制的信息;其中,帧内块复制模式包括从该图片中的另一视频块对当前视频块编解码。可以在各种实施例中实施以下特征
[1021]-其中,编解码条件包括当前视频块的块维度。
[1022]-其中,编解码条件包括当前视频块的预测模式或者在针对当前视频块的转换中使用的量化参数。
[1023]
参照之前章节中公开的项目13-15,一些实施例可以优选实施以下解决方案。
[1024]
一种解决方案可以包括一种方法,该方法用于确定在视频图片的当前视频块的转换期间是否应用去方块滤波器,其中,使用调色板模式编解码对当前视频块编解码,在调色板模式编解码中,使用比当前视频块的总像素少的代表性样点值表示当前视频块;以及执行该转换,以使得在确定将应用去方块滤波器的情况下应用去方块滤波器。
[1025]
另一种解决方案可以包括一种视频处理方法,其包括确定在视频的图片的当前视频块与该视频的比特流表示之间的转换期间使用的量化或逆量化过程,其中,当前视频块是使用调色板模式编解码来编解码的,在调色板模式编解码中,使用比当前视频块的总像素少的代表性样点值表示当前视频块;以及基于量化或逆量化过程的确定步骤执行该转
换。额外特征可以包括:
[1026]-其中,确定用于当前视频块的量化或逆量化过程不同于对按照与调色板编解码模式不同的方式编解码的另一视频块应用的另一量化或另一逆量化过程。
[1027]-其中,该转换包括将当前视频块编码成比特流表示。
[1028]-其中,该转换包括对比特流表示解码,以生成该视频的当前视频块。
[1029]-其中,该确定的步骤使用与进行帧内编解码的另一视频块的转换所用的另一决策过程相同的决策过程。
[1030]
应理解,可以将所公开的技术体现到视频编码器或解码器中,从而使用增强编解码树结构提高压缩效率。
[1031]
参照之前章节中公开的项目16到21,一些解决方案可以如下:
[1032]
一种视频处理方法,包括:针对包括多个视频块的视频的当前视频块与该视频的比特流表示之间的转换,确定当前视频块是调色板编解码的块;基于该确定的步骤,通过将当前视频块考虑为帧内编解码块来执行最可能模式的列表构建过程;以及基于该列表构建过程的结果,执行该转换;其中,使用调色板或代表性样点值对调色板编解码块进行编解码或解码。
[1033]
以上方法,其中,列表构建过程将相邻调色板编解码块作为具有默认模式的帧内块对待。
[1034]
一种视频处理的方法,包括:针对包括多个视频块的视频的当前视频块与该视频的比特流表示之间的转换,确定当前视频块是调色板编解码块;基于该确定的步骤通过将当前视频块考虑为非帧内编解码的块来执行最可能模式的列表构建过程;以及基于该列表构建过程的结果执行该转换;其中,使用调色板或代表性样点值对调色板编解码块进行编解码或解码。
[1035]
以上方法,其中,在取回相邻调色板编解码块的帧内模式时,列表构建过程将相邻调色板编解码块作为帧间编解码块对待。
[1036]
一种视频处理方法,包括:针对包括多个视频块的视频的当前视频块与该视频的比特流表示之间的转换,确定当前视频块是调色板编解码的块;基于该确定的步骤通过将当前视频块考虑为不可用块来执行构建过程;以及基于该列表构建过程的结果执行该转换;其中,使用调色板或代表性样点值对调色板编解码的块进行编解码或解码。
[1037]
以上方法,其中,该列表构建过程用于基于历史的运动矢量预测。
[1038]
以上方法,其中,该列表构建过程用于merge或高级运动矢量预测模式。
[1039]
以上方法,其中,该确定的步骤还包括基于该视频的内容进行确定。
[1040]
以上方法,其中,该确定的步骤对应于比特流表示中的字段。
[1041]
一种视频处理方法,包括:在当前视频块与当前视频块的比特流表示之间的转换期间确定当前视频块是调色板编解码的块;基于当前视频块是调色板编解码的块确定用于该转换的上下文编解码的二进制数的范围;以及基于上下文编解码的二进制数的范围执行该转换。
[1042]
以上方法,其中,在该转换期间使用旁路编解码技术对当前视频块的落在该范围以外的二进制数编解码或者使用旁路解码技术对当前视频块的落在该范围以外的二进制数解码。
[1043]
以上方法,其中,该转换包括将该视频编码成比特流表示。
[1044]
以上方法,其中,该转换包括将对该比特流表示解码,以生成该视频。
[1045]
图24是示出了示例性视频处理系统2400的框图,在该系统中可以实施本文中公开的各种技术。各种实施可以包括系统2400的部分或全部部件。系统2400可以包括用于接收视频内容的输入2402。视频内容可以是按照原始或未压缩格式接收的,例如8比特或10比特多分量像素值,或者可以是按照经压缩或经编码的格式接收的。输入1902可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(pon)等的有线接口,以及诸如wi-fi或蜂窝接口的无线接口。
[1046]
系统2400可以包括编解码部件2404,其可以实施本文件中所描述的各种编解码或编码方法。编解码部件2404可以降低从输入2402到编解码部件2404的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码部件2404的输出可以被存储,也可以通过所连接的通信进行传输,如部件2406所示。输入2402处接收的视频的存储或传输的比特流(或经编解码的)表示可由部件2408用于生成像素值或发送到显示接口2410的可显示视频。从比特流表示生成用户可观看视频的处理有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但应当理解的是,编解码工具或操作被用于编码器处,并且反转编解码结果的对应的解码工具或操作将由解码器执行。
[1047]
外围总线接口或显示接口的示例可以包括通用串行总线(usb)或高清晰度多媒体接口(hdmi)或displayport等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文件中描述的技术可实施在各种电子设备中,诸如移动电话、笔记本电脑、智能电话或其他能够执行数字数据处理和/或视频显示的设备。
[1048]
图25是根据本技术的用于视频处理的方法2500的流程图表示。方法2500包括:在操作2510,执行视频的视频区域的块与该视频的比特流表示之间的转换。根据第一格式规则和第二格式规则处理该比特流表示,其中第一格式规则指定对于该块是否信令通知调色板模式的使用的第一指示,以及第二格式规则相对于用于该块的预测模式的使用的第二指示来指定该第一指示的的位置。
[1049]
在一些实施例中,视频区域包括该视频的变换单元、编解码单元、预测单元或区域。在一些实施例中,在比特流表示中,预测模式的使用的第二指示位于调色板模式的使用的第一指示之前。
[1050]
在一些实施例中,基于预测模式的使用的第二指示,将调色板模式的使用的第一指示有条件地包括到该比特流表示中。在一些实施例中,如果预测模式的使用的第二指示指示帧内块复制(ibc)预测模式,那么在比特流表示中跳过对调色板模式的使用的第一指示。在一些实施例中,如果预测模式的使用的第二指示指示帧间预测模式,那么在比特流表示中跳过调色板模式的使用的第一指示。在一些实施例中,如果预测模式的使用的第二指示指示了帧内预测模式,那么在比特流表示中跳过调色板模式的使用的第一指示。在一些实施例中,如果预测模式的使用的第二指示指示了跳过模式,那么在比特流表示中跳过调色板模式的使用的第一指示。在一些实施例中,在比特流表示中跳过调色板模式的使用的第一指示指示不使用调色板模式。
[1051]
在一些实施例中,如果预测模式的使用的第二指示指示了ibc预测模式,那么将调
色板模式的使用的第一指示编解码到该比特流中。在一些实施例中,如果预测模式的使用的第二指示指示了帧内预测模式,那么将调色板模式的使用的第一指示编解码到该比特流中。在一些实施例中,预测模式不是脉冲编解码调制(pcm)模式。在一些实施例中,在该比特流表示中将调色板模式的使用的第一指示编解码到pcm模式的使用的指示之前。在一些实施例中,在比特流表示中跳过pcm模式的使用的指示。在一些实施例中,将ibc模式的指示编解码到比特流表示中。在一些实施例中,如果使用了帧内预测模式,那么比特流表示中的一个标志指示是否在比特流表示中信令通知调色板模式或ibc模式。在一些实施例中,基于该块的条件跳过该标志,该条件包括该块的维度、对于与该块相关联的区域是否启用ibc模式或者对于与该块相关联的区域是否启用调色板模式。
[1052]
在一些实施例中,如果预测模式的使用的第二指示指示了帧间预测模式,那么将调色板模式的使用的第一指示编解码到该比特流中。在一些实施例中,将调色板模式的使用的第一指示编解码到以下中至少之一之后:跳过模式的指示、预测模式、或者pcm模式的使用的指示。在一些实施例中,将调色板模式的使用的第一指示编解码到跳过模式或预测模式的指示之后,并且编解码到pcm模式的使用的指示之前。
[1053]
在一些实施例中,在比特流表示中,调色板模式的使用的第一指示位于预测模式的使用的第二指示之前。在一些实施例中,调色板模式的使用的第一指示位于预测模式的使用的第二指示之后,预测模式的使用的第二指示指示该比特流表示中的帧内或帧间预测模式。在一些实施例中,基于图片、条带或片组类型信令通知调色板模式的使用的第一指示。在一些实施例中,调色板模式的使用的第一指示包括指示对于该块启用调色板模式的第一标志。在一些实施例中,基于指示在序列级、图片级、片组级或片级内启用调色板模式的第一标志,将调色板模式的使用的第一指示有条件地包括到比特流表示中。在一些实施例中,如果对块禁用调色板模式,那么将指示该块的pcm模式的另一标志包括到该比特流表示中。在一些实施例中,基于当前块的一个或多个相邻块的信息对第一标志进行上下文编解码。在一些实施例中,在无需来自当前块的一个或多个相邻块的上下文信息的情况下对第一标志编解码。
[1054]
在一些实施例中,预测模式的使用的第二指示包括指示预测模式的第二标志。在一些实施例中,如果该比特流表示中的第二标志指示预测模式为帧间模式,那么该比特流表示还包括指示是否启用帧内块复制模式的第三标志。在一些实施例中,如果该比特流表示中的第二标志指示预测模式是帧内模式,那么该比特流表示还包括指示是否启用帧内块复制模式的第三标志。在一些示例中,基于该块的维度将第三标志有条件地包括到该比特流表示中。
[1055]
在一些实施例中,该块为编解码单元,并且该比特流表示中的第二标志指示预测模式是帧内模式。在一些示例中,基于该块的维度将该第一标志有条件地包括到该比特流表示中。
[1056]
图26是根据本技术的用于视频处理的方法2600的流程图表示。方法2600包括:在操作2610,针对视频的视频区域的块与该视频的比特流表示之间的转换,基于该块的至少包括调色板模式的一个或多个所允许的预测模式,确定预测模式。根据该预测模式确定调色板模式的使用的指示。方法2600包括:在操作2620,基于该确定的步骤,执行该转换。
[1057]
在一些实施例中,该一个或多个所允许的预测模式包括帧内模式。在一些实施例
中,该一个或多个所允许的预测模式包括帧内块复制(ibc)模式。在一些实施例中,该一个或多个所允许的预测模式包括帧间模式。
[1058]
在一些实施例中,该视频区域包括帧内条带、帧内图片或帧内片组。在一些实施例中,该一个或多个所允许的预测模式包括帧内模式、帧内块复制模式和调色板模式。
[1059]
在一些实施例中,该视频区域包括帧间条带、帧间图片、帧间片组、p条带、b条带、p图片或b图片。在一些实施例中,该一个或多个所允许的预测模式包括帧内模式、帧内块复制模式、调色板模式和帧间模式。
[1060]
在一些实施例中,该块具有4x4的维度。在一些实施例中,如果该块具有4x4的维度,那么该一个或多个所允许的预测模式排除帧间模式。
[1061]
在一些实施例中,如果该块不是以跳过模式编解码的,那么该比特流表示至少包括表示该一个或多个所允许的预测模式的预测模式索引,其中,该预测模式索引是使用一个或多个二进制数表示的。
[1062]
在一些实施例中,使用三个二进制数表示预测模式索引,其中,第一二进制数值“1”指示帧内模式,其中,第一二进制数值“0”和第二二进制数值“0”指示帧间模式,其中,第一二进制数值“0”、第二二进制数值“1”和第三二进制数值“0”指示ibc模式,并且其中,第一二进制数值“0”、第二二进制数值“1”和第三二进制数值“1”指示调色板模式。
[1063]
在一些实施例中,使用两个二进制数表示预测模式索引,其中,第一二进制数值“1”和第二二进制数值“0”指示帧内模式,其中,第一二进制数值“0”和第二二进制数值“0”指示帧间模式,其中,第一二进制数值“0”和第二二进制数值“1”指示ibc模式,并且其中,第一二进制数值“1”和第二二进制数值“1”指示调色板模式。
[1064]
在一些实施例中,如果视频的当前条带是帧内条带并且禁用ibc模式,那么使用一个二进制数表示预测模式索引,第一二进制数值“0”指示帧内模式,并且第二二进制数值“1”指示调色板模式。
[1065]
在一些实施例中,如果视频的当前条带不是帧内条带并且禁用ibc模式,那么使用两个二进制数表示预测模式索引,其中,第一二进制数值“1”指示帧内模式,其中,第一二进制数值“0”和第二二进制数值“0”指示帧间模式,并且其中,第一二进制数值“0”和第二二进制数值“1”指示调色板模式。在一些实施例中,如果视频的当前条带是帧内条带并且启用ibc模式,那么使用两个二进制数表示预测模式索引,其中,第一二进制数值“1”指示ibc模式,其中,第一二进制数值“0”和第二二进制数值“1”指示调色板模式,并且其中,第一二进制数值“0”和第二二进制数值“0”指示帧内模式。在一些实施例中,在比特流表示的序列参数集(sps)中信令通知ibc模式的使用的指示。
[1066]
在一些实施例中,使用三个二进制数表示预测模式索引,
[1067]
其中,第一二进制数值“1”指示帧间模式,其中,第一二进制数值“0”和第二二进制数值“1”指示帧内模式,其中,第一二进制数值“0”、第二二进制数值“0”和第三二进制数值“1”指示ibc模式,并且其中,第一二进制数值“0”、第二二进制数值“0”和第三二进制数值“0”指示调色板模式。
[1068]
在一些实施例中,使用三个二进制数表示预测模式索引,
[1069]
其中,第一二进制数值“1”指示帧内模式,其中,第一二进制数值“0”和第二二进制数值“1”指示帧间模式,其中,第一二进制数值“0”、第二二进制数值“0”和第三二进制数值“1”指示ibc模式,并且其中,第一二进制数值“0”、第二二进制数值“0”和第三二进制数值“0”指示调色板模式。
[1070]
在一些实施例中,使用三个二进制数表示预测模式索引,其中,第一二进制数值“0”指示帧间模式,其中,第一二进制数值“1”和第二二进制数值“0”指示帧内模式,其中,第一二进制数值“1”、第二二进制数值“1”和第三二进制数值“1”指示ibc模式,并且其中,第一二进制数值“1”、第二二进制数值“1”和第三二进制数值“0”指示调色板模式。
[1071]
在一些实施例中,如果满足条件则在比特流表示中跳过该一个或多个二进制数之一的信令通知。在一些实施例中,该条件包括块的维度。在一些实施例中,该条件包括禁用某一预测模式,并且其中,在该比特流表示中跳过对应于该预测模式的二进制数。
[1072]
图27是根据本技术的用于视频处理的方法2700的流程图表示。方法2700包括:在操作2710,执行视频的块与该视频的比特流表示之间的转换。根据格式规则处理该比特流表示,其中该格式规则指定对调色板模式的使用的第一指示和帧内块复制(ibc)模式的使用的第二指示进行依赖于彼此的信令通知。
[1073]
在一些实施例中,该格式规则指定:如果该块的预测模式等于不是ibc模式的第一预测模式,那么在比特流表示中信令通知该第一指示。在一些实施例中,该格式规则指定:如果该块的预测模式等于不是调色板模式的第一预测模式,那么在比特流表示中信令通知该第二指示。在一些实施例中,第一预测模式是帧内模式。
[1074]
图28是根据本技术的用于视频处理的方法2800的流程图表示。方法2800包括:在操作2810,针对视频的块与该视频的比特流表示之间的转换,基于该块的维度,确定调色板模式的使用指示在该比特流表示中的存在。方法2800包括:在操作2820,基于该确定的步骤,执行该转换。
[1075]
图29示出了根据本技术的用于视频处理的方法2900的流程图表示。方法2900包括:在操作2910,针对视频的块与该视频的比特流表示之间的转换,基于该块的维度确定帧内块复制(ibc)模式的使用指示在该比特流表示中的存在。方法2900包括:在操作2920,基于该确定的步骤,执行该转换。在一些实施例中,该块的维度至少包括以下之一:块中样点的数量、该块的宽度或该块的高度。
[1076]
在一些实施例中,如果该块的宽度等于或小于阈值,那么在比特流表示中信令通知该指示。在一些实施例中,如果该块的高度等于或小于阈值,那么在比特流表示中信令通知该指示。在一些实施例中,该阈值为64。
[1077]
在一些实施例中,如果该块的宽度和高度大于阈值,那么在比特流表示中信令通知该指示。在一些实施例中,该阈值为4。在一些实施例中,如果该块中的样点的数量大于阈值,那么在比特流表示中信令通知该指示。在一些实施例中,该阈值为16。在一些实施例中,如果该块的宽度等于该块的高度,那么在比特流表示中信令通知该指示。
[1078]
在一些实施例中,如果(1)该块的宽度大于第一阈值,(2)该块的高度大于第二阈值,或者(3)该块中的样点的数量等于或小于第三阈值,那么该指示不存在于比特流表示中。在一些实施例中,第一阈值和第二阈值为64。在一些实施例中,第三阈值为16。
[1079]
在一些实施例中,该确定的步骤还基于与该块相关联的特性。在一些实施例中,该特性包括该块的预测模式。在一些实施例中,该特性包括该块的量化参数。在一些实施例中,该特性包括该块的相邻块的调色板标志。在一些实施例中,该特性包括该块的相邻块的
ibc标志。在一些实施例中,该特性包括该块的颜色格式的指示。在一些实施例中,该特性包括该块的编解码树结构。在一些实施例中,该特性包括该块的条带组类型、片组类型或者图片类型。
[1080]
图30是根据本技术的用于视频处理的方法3000的流程图表示。方法3000包括:在操作3010,针对视频的块与该视频的比特流表示之间的转换,基于含有该块的视频区域的第二指示确定对该块是否允许调色板模式。方法3000还包括:在操作3020,基于该确定的步骤,执行该转换。
[1081]
在一些实施例中,该视频区域包括条带、片组或图片。在一些实施例中,如果该第二指示指示启用分数运动矢量差,那么该比特流表示排除是否允许调色板模式的显式指示。在一些实施例中,将该第二指示表示为存在于比特流表示中的标志。在一些实施例中,该第二指示表明对该视频区域是否启用调色板模式。在一些实施例中,如果该第二指示表明对该视频区域禁用调色板模式,那么该比特流表示排除是否允许调色板模式的显式指示。在一些实施例中,如果该比特流表示排除是否允许调色板模式的显式指示,那么对于该块不允许调色板模式。
[1082]
图31是根据本技术的用于视频处理的方法3100的流程图表示。方法3100包括:在操作3110,针对视频的块与该视频的比特流表示之间的转换,基于含有该块的视频区域的第二指示确定对该块是否允许帧内块复制(ibc)模式。方法3100还包括:在操作3120,基于该确定的步骤,执行该转换。
[1083]
在一些实施例中,该视频区域包括条带、片组或图片。在一些实施例中,如果该第二指示指示启用分数运动矢量差,那么该比特流表示排除是否允许ibc模式的显式指示。在一些实施例中,将该第二指示表示为存在于比特流表示中的标志。在一些实施例中,该第二指示指示对该视频区域是否启用ibc模式。在一些实施例中,如果该第二指示指示对该视频区域禁用ibc模式,那么该比特流表示排除是否允许ibc模式的显式指示。在一些实施例中,如果该比特流表示排除是否允许ibc模式的显式指示,那么不允许ibc模式用于该块。
[1084]
图32是根据本技术的用于视频处理的方法3200的流程图表示。方法3200包括:在操作3210,针对视频的块与该视频的比特流表示之间的转换,确定与调色板模式中的调色板条目相关联的第一样点的第一比特深度。第一比特深度不同于与该块相关联的第二比特深度。方法3200还包括:在操作3220,基于该确定的步骤,执行该转换。
[1085]
在一些实施例中,第二比特深度包括用于该块的内部比特深度。在一些实施例中,第二比特深度包括与该块的原始样点相关联的比特深度。在一些实施例中,第二比特深度包括与该块的重建样点相关联的比特深度。在一些实施例中,第一比特深度是正整数。在一些实施例中,第一比特深度等于8。在一些实施例中,第一比特深度大于第二比特深度。在一些实施例中,第一比特深度小于第二比特深度。在一些实施例中,第一比特深度是基于该块的维度确定的。在一些实施例中,第一比特深度是基于该块的量化参数确定的。在一些实施例中,第一比特深度是基于该块的颜色格式的指示确定的。在一些实施例中,第一比特深度是基于该块的编解码树结构确定的。在一些实施例中,第一比特深度是基于该块的条带组类型、片组类型或图片类型确定的。
[1086]
在一些实施例中,第一比特深度是基于与该块相关联的调色板条目的数量确定的。在一些实施例中,第一比特深度是基与该块相关联的调色板预测子中的条目的数量确
定的。在一些实施例中,第一比特深度是基于该块的颜色分量的一个或多个索引确定的。
[1087]
在一些实施例中,第二样点与调色板模式中的另一调色板条目相关联,第二样点具有与第一比特深度不同的第三比特深度。在一些实施例中,第三比特深度大于第二比特深度。在一些实施例中,第三比特深度小于第二比特深度。
[1088]
在一些实施例中,该块的第三样点是基于使第一样点的值发生m比特的移位而重建的,m为正整数。在一些实施例中,使第一样点的值移位包括使第一样点发生m比特的左移位。在一些实施例中,第一样点具有值c,并且其中,重建第二样点具有值(c《《m) (1《《(m-1))。在一些实施例中,使第一样点的值移位包括使第一样点发生m比特的右移位。在一些实施例中,第一样点具有值c,并且其中,重建的第二样点具有基于(c (1《《(m-1)))》》m确定的值,该值由最小值0和最大值(1《《n)-1限制。在一些实施例中,m是基于第一比特深度和第二比特深度之间的差确定的。在一些实施例中,m等于第二比特深度减去第一比特深度。在一些实施例中,m等于第一比特深度减去第二比特深度。在一些实施例中,m等于2。在一些示例中,m是基于该块的维度确定的。在一些实施例中,m是基于该块的量化参数确定的。在一些实施例中,m是基于该块的颜色格式的指示确定的。在一些示例中,m是基于该块的编解码树结构确定的。在一些实施例中,m是基于该块的条带组类型、片组类型或图片类型确定的。在一些实施例中,m是基于与该块相关联的调色板条目的数量确定的。在一些实施例中,m是基于与该块相关联的预测调色板条目的数量确定的。在一些实施例中,m是基于第一样点和第三样点在该块中的位置确定的。在一些实施例中,m是基于该块的颜色格式的索引确定的。
[1089]
在一些实施例中,该方法包括基于对样点的表执行的查找操作确定与调色板条目相关联的第一样点。在一些实施例中,在比特流表示中的序列参数集(sps)、视频参数集(vps)、图片参数集(pps)、图片标头、条带标头、片组标头、一行最大编解码单元(lcu)或者一组lcu中信令通知该样点表的值。在一些实施例中,基于比特流表示中的序列参数集(sps)、视频参数集(vps)、图片参数集(pps)、图片标头、条带标头、片组标头、一行最大编解码单元(lcu)或者一组lcu中的信息推导样点的表的值。
[1090]
图33示出了根据本技术的用于视频处理的方法3300的流程图表示。方法3300包括:在操作3310,针对视频的当前块与该视频的比特流表示之间的转换,如果以调色板模式编解码的当前块的相邻块位于当前块的上侧或左侧,确定在当前块的最可能模式(mpm)候选列表的构建期间将以调色板模式编解码的当前块的相邻块作为具有默认模式的帧内编解码块进行处理。方法3300包括:在操作3320,基于该确定的步骤,执行该转换。
[1091]
在一些实施例中,该默认模式包括平面模式。在一些实施例中,该默认模式包括dc模式、垂直模式或水平模式。在一些实施例中,在比特流表示中的依赖性参数集、序列参数集、视频参数集、图片参数集(pps)、图片标头、条带标头、片组标头、最大编解码单元(lcu)、编解码单元(cu)、lcu行、lcu组、变换单元(tu)、预测单元(pu)块或视频编解码单元中信令通知该默认模式。
[1092]
图34示出了根据本技术的用于视频处理的方法3400的流程图表示。方法3400包括:在操作3410,针对被作为调色板模式编解码的块编解码到比特流表示中的视频块,根据规则确定用于去方块滤波的参数。方法3400还包括:在操作3420,使用该用于去方块滤波的参数执行该块与该视频的比特流表示之间的转换。
[1093]
在一些实施例中,该规则指定:为了确定用于去方块滤波的参数的步骤,将该块作
为该视频的帧内编解码块对待。
[1094]
在一些实施例中,如果该块的边界的第一侧或者该块的边界的第二侧是以调色板模式编解码的,那么用于去方块滤波的边界强度为2。在一些实施例中,如果该块的边界的第一侧和该块的边界的第二侧是以调色板模式编解码的,那么将用于去方块滤波的边界强度确定为2。在一些实施例中,该规则指定:对于确定用于去方块滤波的参数的步骤,将该块作为该视频的帧间编解码块对待。
[1095]
在一些实施例中,该规则指定:对于确定用于去方块滤波的参数的步骤,将调色板模式与去方块滤波中的其他模式分开对待。在一些实施例中,如果该块的边界的第一侧或该块的边界的第二侧是以调色板模式编解码的,那么将用于去方块滤波的边界强度确定为0。在一些实施例中,如果该块的边界的第一侧是以调色板模式编解码的,并且该块的边界的第二侧是以帧内块复制(ibc)模式编解码的,那么用于去方块滤波的边界强度为1。在一些实施例中,如果该块的边界的第一侧是以调色板模式编解码的,并且该块的边界的第二侧是以帧内模式编解码的,那么用于去方块滤波的边界强度为2。
[1096]
在一些实施例中,该规则指定:对于确定用于去方块滤波的参数的步骤,在去方块滤波中将调色板模式作为变换跳过模式对待。在一些实施例中,该规则指定:对于确定用于去方块滤波的参数的步骤,在去方块滤波中将调色板模式作为基于块的差量脉冲编解码调制(bdpcm)模式对待。
[1097]
图35是根据本技术的用于视频处理的方法3500的流程图表示。方法3500包括:在操作3410,针对视频的当前块与该视频的比特流表示之间的转换,确定在当前块的最可能模式(mpm)候选列表的构建期间将以调色板模式编解码的当前块的相邻块作为非帧内编解码块处理。方法3500还包括:在操作3520,基于该确定的步骤,执行该转换。
[1098]
在一些实施例中,如果该相邻块位于当前块的上侧或左侧,那么将该相邻块作为帧间编解码块处理。在一些实施例中,如果该相邻块位于当前块的上侧或左侧,那么将该相邻块作为帧内块复制(ibc)编解码的块处理。
[1099]
图36a是根据本技术的用于视频处理的方法3600的流程图表示。方法3600包括:在操作3610,针对视频的块,确定与该块相关联的量化参数。方法3600包括:在操作3620,部分地基于该量化参数的修改值,将该视频块作为调色板编解码块编解码到该视频的比特流表示中。该方法还包括:在操作3630,在比特流表示中信令通知与量化参数有关的编解码信息。
[1100]
图36b是根据本技术的用于视频处理的方法3650的流程图表示。方法3650包括:在操作3660,基于视频的比特流表示,推导量化参数。方法3650还包括:在操作3670,部分地基于通过修改该量化参数确定的经修改量化参数对调色板编解码块解码。
[1101]
在一些实施例中,基于为该量化参数设置最高限制来修改该量化参数。在一些实施例中,基于为该量化参数设置最低限制来修改该量化参数。在一些实施例中,按照与以变换跳过模式编解码的块相关联的第二量化参数相同的方式对该量化参数进行修改。在一些实施例中,按照与以基于块的差量脉冲编解码调制(bdpcm)模式编解码的块相关联的第三量化参数相同的方式对该量化参数进行修改。
[1102]
在一些实施例中,将量化参数表示为qp,并且其中,修改量化参数包括将qp的值修订为max(qp,4 t),t为非负整数值。在一些实施例中,t基于预定义阈值。在一些实施例中,t
为4 ts,并且在比特流表示中信令通知ts。在一些实施例中,在比特流表示中的语法元素min_qp_prime_ts_minus4中信令通知ts。
[1103]
图37是根据本技术的用于视频处理的方法3700的流程图表示。方法3700包括:在操作3710,针对作为调色板编解码的块编解码到视频的比特流表示中的视频块,确定该块的逸出样点在该比特流表示中的表示,而不管是否针对该块启用了旁路模式。方法3700还包括:在操作3720,基于该确定的步骤,执行该块与该比特流表示之间的转换。
[1104]
在一些实施例中,在比特流表示中使用固定长度表示逸出样点。在一些实施例中,该固定长度包括n比特,n是正整数。在一些实施例中,n为8或10。
[1105]
在一些实施例中,使用基于该块的内部比特深度确定的长度,在比特流表示中表示逸出样点。在一些实施例中,在比特流表示中使用基于该块的输入比特深度确定的长度表示逸出样点。在一些实施例中,使用基于该块的量化参数确定的长度,在比特流表示中表示逸出样点。在一些实施例中,将该长度定义为量化参数的函数,其被表示为f(qp)。在一些实施例中,该块的内部比特深度为d,并且其中,f(qp)=(d-(qp-4)/6)。
[1106]
图38是根据本技术的用于视频处理的方法3800的流程图表示。方法3800包括:在操作3810,针对作为调色板编解码的块编解码到比特流表示中的视频块,确定第一量化过程。第一量化过程与适用于非调色板模式编解码的块的第二量化过程不同。方法3800还包括:在操作3820,基于该确定的步骤,执行该块与该比特流表示之间的转换。
[1107]
在一些实施例中,第一量化过程包括使所述块的逸出样点发生右比特移位,从而使该逸出样点量化。在一些实施例中,第一量化过程包括使该块的逸出样点左比特移位,从而使逸出样点逆量化。在一些实施例中,将样点表示为p并且将量化样点表示为qp,并其中,将逸出样点的值作为p和qp的函数编解码,该函数被表示为f(p,qp)。在一些实施例中,f(p,qp)=p》》((qp-4)/6)。在一些实施例中,将样点表示为p并且将逸出样点的值编解码为p》》n,n为整数。在一些实施例中,n为2。在一些实施例中,n是基于与该块相关联的特性确定的。
[1108]
在一些实施例中,该特性包括在序列参数集、视频参数集、图片参数集、图片标头、条带标头、片组标头、最大编解码单元(lcu)行或者lcu组中信令通知的值。在一些实施例中,该特性包括该块的内部比特深度。在一些实施例中,该特性包括该块的输入比特深度。在一些实施例中,该特性包括该块的维度。在一些实施例中,该特性包括该块的量化参数。在一些实施例中,该特性包括该块的颜色格式的指示。在一些实施例中,该特性包括该块的编解码树结构。在一些实施例中,该特性包括与该块相关联的条带类型、片组类型或者图片类型。
[1109]
在一些实施例中,将样点表示为p,将与该块相关联的比特深度表示为bd,并且将量化样点表示为qp,并且其中,将逸出样点的值作为bd、p和qp的函数进行信令通知,该函数被表示为f(bd,p,qp)。在一个示例中,f(bd,p,qp)=clip(0,(1《《(bd-(qp-4)/6))-1,(p (1《《(bd-1)))》》((qp-4)/6))。在一些实施例中,f(bd,p,qp)=clip(0,(1《《bd)-1,p《《((qp-4)/6))。在一些实施例中,将clip定义为clip(a,i,b)=(i《a?a:(i》b?b:i))。在一些实施例中,将clip定义为clip(a,i,b)=(i《=a?a:(i》=b?b:i))。在一些实施例中,比特深度包括内部比特深度或输入比特深度。
[1110]
图39示出了根据本技术的用于视频处理的方法3900的流程图表示。方法3900包括:在操作3910,根据规则执行包括亮度块和对应色度块的视频与该视频的比特流表示之
间的转换。该规则指定,如果当前亮度块是使用调色板编解码模式编解码的以及对应当前色度块是使用推导模式编解码的,将当前亮度块作为具有默认帧内预测模式来对待,并且采用默认帧内预测模式对当前色度块编解码。调色板编解码模式包括采用代表性样点值的调色板对当前亮度块编解码。
[1111]
在一些实施例中,将使用调色板编解码模式编解码的当前亮度块作为帧内块处理。在一些实施例中,将使用调色板编解码模式编解码的当前亮度块作为调色板块处理。在一些实施例中,默认帧内预测模式包括dc模式、平面模式、垂直模式或水平模式。在一些实施例中,默认帧内预测方法包括任何帧内预测模式。在一些实施例中,在依赖性参数集、序列参数集、视频参数集、图片参数集、调适参数集、图片标头、条带标头、片组标头、最大编解码单元(lcu)、编解码单元(cu)、lcu行、lcu组、变换单元(tu)、预测单元(pu)块或视频编解码单元中信令通知该默认帧内预测模式。
[1112]
图40是根据本技术的用于视频处理的方法4000的流程图表示。方法4000包括:在操作4010,执行包括一个或多个块的视频与该视频的比特流表示之间的转换。对于该转换,根据规则为每个块构建运动候选的列表。该规则指定:针对将连续的块编解码,将使用调色板编解码模式编解码的块的运动信息作为不可用或无效对待。
[1113]
在一些实施例中,运动候选的列表包括基于历史的运动矢量预测候选列表。在一些实施例中,运动候选的列表包括merge候选列表。在一些实施例中,运动候选的列表包括运动矢量预测候选。
[1114]
在一些实施例中,将该块作为具有无效参考索引对待。在一些实施例中,将该块作为具有参考索引0对待。在一些实施例中,将该块作为具有零运动矢量对待。
[1115]
在一些实施例中,该规则是否适用基于与该块相关联的特性。在一些实施例中,该特性包括该块中的视频内容。在一些实施例中,该特性包括在与该块相关联的依赖性参数集、序列参数集、视频参数集、图片参数集、调适参数集、图片标头、条带标头、片组标头、最大编解码单元(lcu)、编解码单元(cu)、lcu行、lcu组、变换单元(tu)、预测单元(pu)块或视频编解码单元中信令通知的消息。在一些实施例中,该特性包括与该块相关联的视频区域的位置,该视频区域包括cu、pu、tu或视频编解码单元。在一些实施例中,该特性包括该块或相邻块的维度。在一些实施例中,该特性包括该块或相邻块的形状。在一些实施例中,在特性包括该块的颜色格式的指示。在一些实施例中,该特性包括该块的编解码树结构。在一些实施例中,该特性包括该块的条带类型、片组类型或者图片类型。在一些实施例中,该特性包括该块的颜色分量。在一些实施例中,该特性包括该块的时域层标识符。
[1116]
图41示出了根据本技术的用于视频处理的方法4100的流程图表示。方法4100包括:在操作4110,针对作为调色板模式的编解码块编解码到比特流表示中的视频块,基于规则确定该块的上下文编解码的二进制数的数量。方法4100还包括:在操作4120,基于该确定执行该视频块与该视频的比特流表示之间的转换。
[1117]
在一些实施例中,确定上下文编解码的二进制数的数量包括向该块分配计数器,以跟踪上下文编解码二进制数的数量。在一些实施例中,该计数器包括用于跟踪该块中待编解码的分量的数量的计数器。在一些实施例中,将该计数器初始化为0,并且对于每一使用上下文编解码进行编解码的二进制数使该计数器加一。在一些实施例中,将该计数器初始化为n,n是正整数。对于每一使用上下文编解码进行编解码的二进制数使该计数器减一。
[1118]
在一些实施例中,该规则指定阈值,并且该方法进一步包括向超过或者达不到阈值的额外数量的二进制数应用旁路编解码。在一些实施例中,该阈值为0或1。在一些实施例中,该阈值是基于该块的编解码过程的数量或者该块的经解码的信息确定的。
[1119]
在一些实施例中,该阈值是基于与用于传送流编解码的块或非ts编解码的块的上下文编解码的二进制数的数量相关联的第二阈值确定的。在一些实施例中,将第二阈值表示为t,t为正整数。该规则指定该阈值为w
×h×
t,w是该块的宽度,h是该块的高度。在一些实施例中,将第二阈值表示为t,t为正整数。该规则指定该阈值为w
×h×c×
t,w是该块的宽度,h是该块的高度,c是在该块中将要编解码的颜色分量的数量。在一些实施例中,t为1.75或2。在一些实施例中,该阈值小于该第二阈值。在一些实施例中,该阈值大于该第二阈值。
[1120]
图42是根据本技术的用于视频处理的方法4200的流程图表示。方法4200包括:在操作4210,针对视频的当前块与该视频的比特流表示之间的转换,根据规则确定用于结合的帧间和帧内预测模式的、当前块的帧内编解码的相邻块的数量。该规则指定了在对用于结合的帧间和帧内预测模式的、帧内编解码的相邻块的数量计数的过程中对待使用调色板编解码模式编解码的块的方式,其中,使用调色板编解码模式包括使用代表性样点值的调色板对块编解码。方法4200还包括:在操作4220,基于该确定的步骤,执行该转换。
[1121]
在一些实施例中,该方式指定将使用调色板编解码模式编解码的块作为非帧内编解码的块对待,从而将其从对帧内编解码的相邻块的数量的计数中排除。在一些实施例中,将使用调色板编解码模式编解码的块作为具有mode_plt预测模式的块来对待。在一些实施例中,将使用调色板编解码模式编解码的块作为帧间编解码块对待。在一些实施例中,将使用调色板编解码模式编解码的块作为以帧内块复制(ibc)编解码模式编解码的块对待,在帧内块复制模式中,采用来自当前块的当前图片的样点对当前块编解码。在一些实施例中,使用调色板编解码模式编解码的块是处于当前块上侧或者当前块左侧的相邻块。
[1122]
在一些实施例中,该方式指定将使用调色板编解码模式编解码的块作为帧内编解码的块对待,从而将其包括到对帧内编解码的相邻块的数量的计数中。
[1123]
图43是根据本技术的用于视频处理的方法4300的流程图表示。方法4300包括:在操作4310,针对视频的当前块与该视频的比特流表示之间的转换,确定在滤波过程中跳过对当前块的样点的操作。该样点是使用调色板编解码模式编解码的,其中,使用调色板编解码模式包括使用代表性样点值的调色板对块编解码。方法4300还包括:在操作4320,基于该确定的步骤,执行该转换。
[1124]
在一些实施例中,该操作包括使当前块的一个或多个边界平滑的去方块操作。在一些实施例中,该操作包括补偿样点自适应偏移过程中的偏移,其中在样点自适应偏移过程中对样点分类以减少失真。在一些实施例中,该操作包括自适应环路滤波过程中的滤波操作。在一些实施例中,该操作包括自适应环路滤波过程中的分类操作。在一些实施例中,该操作包括亮度映射及色度缩放操作,其中在亮度映射及色度缩放中,使用自适应分段线性模型映射亮度样点并且使色度样点经受亮度相关的色度残差缩放操作。
[1125]
图44是根据本技术的用于视频处理的方法4400的流程图表示。方法4400包括:在操作4410,针对视频的块与该视频的比特流表示之间的转换确定从三种或更多种扫描顺序中选择的扫描顺序。该块是使用代表性样点值的调色板以调色板模式编解码的。方法4400包括:在操作4420,基于该确定的步骤,执行该转换。
[1126]
在一些实施例中,该三种或更多种扫描顺序包括反向水平遍历扫描顺序。在一些实施例中,反向水平遍历扫描顺序包括对于具有奇数索引的行从左到右对该块进行扫描,其中,向该块的第一行分配索引0。在一些实施例中,反向水平遍历扫描顺序包括对于具有偶数索引的行从右到左对该块进行扫描,其中,向该块的第一行分配索引0。
[1127]
在一些实施例中,该三种或更多种扫描顺序包括反向垂直遍历扫描顺序。在一些实施例中,反向垂直遍历扫描顺序包括对于具有奇数索引的列从上到下对该块进行扫描,其中,向该块的第一列分配索引0。在一些实施例中,反向垂直遍历扫描顺序包括对于具有偶数索引的列从下到上对该块进行扫描,其中,向该块的第一列分配索引0。
[1128]
在一些实施例中,该三种或更多种扫描顺序包括水平遍历扫描顺序,其对于具有偶数索引的行从左到右扫描该块的系数,并且对于具有奇数索引的行从右到左扫描该块的系数。该三种或更多种扫描顺序还包括垂直遍历扫描顺序,其对于具有偶数索引的行从上到下扫描该块的系数,并且对于具有奇数索引的行从下到上扫描该块的系数,其中,向该块的第一行分配索引0并且向该块的第一列分配索引0。
[1129]
图45是根据本技术的用于视频处理的方法4500的流程图表示。方法4500包括:在操作4510,针对视频的块与该视频的比特流表示之间的转换,确定一种或多种扫描顺序,其中以该一种或多种扫描顺序基于该块的形状扫描该块的系数。方法4500还包括:在操作4520,基于该确定的步骤,执行该转换。
[1130]
在一些实施例中,如果该块的宽度与高度之比大于阈值,那么应用该一种或多种扫描顺序。在一些实施例中,如果该块的高度与宽度之比大于阈值,那么应用该一种或多种扫描顺序。在一些实施例中,该阈值等于1。在一些实施例中,该阈值等于4。
[1131]
图46是根据本技术的用于视频处理的方法4600的流程图表示。方法4600包括:在操作4610,针对视频的块与该视频的比特流表示之间的转换,对于基于块的量化残差域差分脉冲编解码调制(bdpcm)过程,确定对该块应用唯一扫描顺序,其中以该唯一扫描顺序对该块的系数进行扫描,以及在bdpcm过程中,使用差分脉冲编解码调制(dpcm)将该块的帧内预测的量化残差和该量化残差的预测之间的差值表示到该块的比特流表示中。方法4600还包括:在操作4620,基于该确定的步骤,执行该转换。
[1132]
在一些实施例中,如果该块的宽度大于该块的高度,那么该唯一扫描顺序包括在垂直方向内对该块进行扫描。在一些实施例中,如果该块的宽度小于该块的高度,那么该唯一扫描顺序包括在水平方向内对该块进行扫描。在一些实施例中,该唯一扫描顺序是基于该块的形状推导的。
[1133]
在一些实施例中,如果该块的表示为w的宽度和该块的表示为h的高度满足条件,那么至少一种扫描顺序适用。在一些实施例中,该条件包括w
×
th≥h或h
×
th≥w,th是阈值,该阈值为整数。在一些实施例中,th为4或8。在一些示例中,th是基于该视频的特性确定的。在一些实施例中,该特性包括该视频的内容。在一些实施例中,该特性包括在比特流表示的解码器参数集、条带参数集、视频参数集、图片参数集、自适应参数集、图片标头、条带标头、片组标头、最大编解码单元(lcu)、编解码单元(cu)、lcu行、lcu组、树单元(tu)、图片单元(pu)块或视频编解码单元中信令通知的信息。在一些实施例中,该特性包括该块在该视频的视频图片中的位置。在一些实施例中,该特性包括该块的维度或者该块的相邻块的维度。在一些实施例中,该特性包括该块的形状或者该块的相邻块的形状。在一些实施例
中,该特性包括该块的颜色格式。在一些实施例中,该特性包括该视频的编解码树结构。在一些实施例中,该特性包括该视频的条带类型、片组类型或图片类型。在一些实施例中,该特性包括该块的颜色分量。在一些实施例中,该特性包括该视频的时域层身份。在一些实施例中,该特性包括用于该视频的标准的档次、水平、层次。
[1134]
在一些实施例中,该转换由比特流表示生成当前块。在一些实施例中,该转换从当前块生成比特流表示。
[1135]
所公开技术的一些实施例包括作出启用视频处理工具或模式的决策或决定。在一个示例中,当视频处理工具或模式被启用时,编码器将在视频块的处理中使用或实施该工具或模式,但不一定基于该工具或模式的使用来修改所得到的比特流。也就是说,当基于决策或决定启用视频处理工具或模式时,从视频块到视频的比特流表示的转换使用该视频处理工具或模式。在另一示例中,当视频处理工具或模式被启用时,解码器在知道已经基于视频处理工具或模式修改了比特流的情况下处理比特流。也就是说,使用基于决策或决定而启用的视频处理工具或模式来执行从视频的比特流表示到视频块的转换。
[1136]
所公开技术的一些实施例包括作出禁用视频处理工具或模式的决策或决定。在一个示例中,当视频处理工具或模式被禁用时,编码器在视频块转到视频的比特流表示的转换中不使用该工具或模式。在另一示例中,当视频处理工具或模式被禁用时,解码器在知道并未使用基于决策或决定启用的视频处理工具或模式对比特流做出修改的情况下处理比特流。
[1137]
本文件中描述的所公开的以及其他的解决方案、示例、实施例、模块和功能操作可以在数字电子电路或者计算机软件、固件或硬件中实施,包括本文中所公开的结构及其结构等同方案,或上述一个或多个的组合。所公开的实施例和其他实施例可以被实施成一个或多个计算机程序产品,即编码在计算机可读介质上的计算机程序指令的一个或多个模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基体、存储设备、影响机器可读传播信号的物质组成或者它们中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或者多个处理器或计算机。除硬件外,该装置还可以包括为所考虑的计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或者它们中的一个或多个的组合。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成为对信息编码,以传输到合适的接收器装置。
[1138]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以按照任何形式部署,包括作为独立程序或作为模块、部件、子例程或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的部分中、专用于该程序的单个文件中、或者多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可被部署为在一个计算机上执行或在位于一个站点或分布在多个站点上并通过通信网络互连的多个计算机上执行。
[1139]
本说明书中描述的过程和逻辑流可以通过由执行一个或多个计算机程序的一个或多个可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流也可以通过专用逻辑电路(例如,fpga(现场可编程门阵列)或asic(专用集成电
路))来执行,并且装置也可以被实施成专用逻辑电路。
[1140]
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是执行指令的处理器以及存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或被操作性地耦接为从一个或多个大容量存储设备接收数据或向其传输数据,或两者兼有。然而,计算机不一定具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储设备,例如eprom、eeprom和闪存设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;以及cd rom和dvd rom盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
[1141]
虽然本专利文档包括许多细节,但这些不应被解释为对任何主题或所要求保护的范围的限制,而应被解释为对具体技术的具体实施例可能特定的特征的描述。在本专利文档中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或以任何合适的子组合来实施。此外,尽管上面可以将特征描述为在某些组合中起作用,并且甚至最初如此要求保护,但是在一些情况下,可以从组合中去除要求保护的组合中的一个或多个特征,并且要求保护的组合可以针对子组合或子组合的变型。
[1142]
类似地,虽然在附图中以特定顺序描述了操作,但这不应被理解为要求以所示的特定顺序或顺序地执行这些操作,或者要求执行所有示出的操作以获得期望的结果。此外,在本专利文献中描述的实施例中的各种系统部件的分离不应被理解为在所有实施例中需要这种分离。
[1143]
仅描述了一些实施和示例,并且可以基于在本专利文档中描述和示出的内容来做出其他实施,增强和变化。
再多了解一些

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

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

相关文献