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

色度残差的联合编解码和自适应颜色变换的制作方法

2022-08-28 06:20:41 来源:中国专利 TAG:

色度残差的联合编解码和自适应颜色变换
1.相关申请的交叉参考
2.根据适用专利法和/或应用于巴黎公约的规则,本技术及时要求于2020年1月8日提交的第pct/cn2020/070957号国际专利申请的优先权和权益。上述申请的全部公开内容通过引用并入本技术公开的一部分。
技术领域
3.本专利文档涉及图片编码和解码以及视频编码和解码。


背景技术:

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


技术实现要素:

5.本文档公开了用于视频编码和解码的系统、方法和设备,除了使用其他编解码工具外,还使用色度残差的联合编解码(jccr)和自适应颜色变换(act)模式。
6.在一个示例方面中,公开了一种视频处理方法。该方法包括,确定视频的当前视频块的编解码模式包括自适应颜色变换(act)模式,并且为编解码当前视频块启用色度残差联合编解码(jccr)编解码工具,以及基于该确定执行视频和视频的比特流之间的转换,其中,用于编解码当前视频块的量化参数偏移基于jccr编解码工具使用的模式。
7.在又一个示例方面中,公开了一种视频编码器装置。视频编码器包括配置为实现上述方法的处理器。
8.在又一个示例方面中,公开了一种视频解码器装置。视频解码器包括配置为实现上述方法的处理器。
9.在又一个示例方面中,公开了一种其上存储有代码的非暂时性计算机可读介质。该代码以处理器可执行代码的形式体现了本文描述的方法之一。
10.通过本文档描述了这些特征和其他特征。
附图说明
11.图1示出了环路自适应颜色变换(act)的屏幕内容编解码(scc)解码器流程。
12.图2示出了利用act的解码过程。
13.图3示出了以调色板模式编解码的块的示例。
14.图4示出了使用调色板预测值信令通知调色板条目的示例。
15.图5示出了水平遍历扫描和垂直遍历扫描的示例。
16.图6示出调色板索引的编解码的示例。
17.图7是示出示例视频处理系统的框图,其中可以实现本文公开的各种技术。
18.图8是用于视频处理的示例硬件平台的框图。
19.图9是示出根据本公开的一些实施例的视频编解码系统的框图。
20.图10是示出根据本公开的一些实施例的编码器的框图。
21.图11是示出根据本公开的一些实施例的解码器的框图。
22.图12示出了视频处理的示例方法的流程图。
具体实施方式
23.在本文档中使用章节标题是为了便于理解,并且不限制每个章节中公开的技术和实施例仅适用于该章节。此外,在一些描述中使用h.266术语只是为了便于理解,而不是为了限制所公开技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。
24.1.初始讨论
25.本专利文档涉及图片/视频编解码技术。具体而言,它与图片/视频编解码中的自适应颜色变换有关。它可以应用于正在开发的标准,例如,通用视频编解码。它也可以适用于未来的视频编解码标准或视频编解码器。
26.2、视频编解码介绍
27.视频编解码标准主要是通过著名的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 jtc1 sc29/wg11(mpeg)之间的联合视频专家组(jvet),以致力于与hevc相比目标是降低50%的比特率的vvc标准。
28.vvc草案的最新版本,即通用视频编解码(草案7),可以在以下网址找到:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/16_geneva/wg11/jvet-p2001-v14.zip
29.vvc的最新参考软件vtm可以在以下网址找到:https://vcgit.hhi.fraunhofer.de/jvet/vvcsoftware_vtm/tags/vtm-7.0
30.2.1.hevc-scc中的自适应颜色变换(act)
31.在第18届jct-vc会议(2014年6月30日至7月9日,日本札幌)上,自适应颜色变换(act)被采用到hevc屏幕内容编解码(scc)测试模型2中。act使用基于ycocg和ycocg-r颜色空间的颜色变换矩阵在预测残差域中执行环路颜色空间转换。在cu级别处使用标志cu_residual_act_flag自适应打开或关闭act。act可以与交叉分量预测(ccp)相结合,后者是hevc中已经支持的另一种帧间分量去相关方法。当两者都启用时,在解码器处的ccp之后执行act,如图1所示。
32.2.1.1.act中的颜色空间转换
33.act中的颜色空间转换基于ycocg-r变换。有损编解码和无损编解码(cu_transquant_bypass_flag=0或1)都使用相同的逆变换,但在有损编解码的情况下,附加的1位左移应用于co和cg分量。具体而言,以下颜色空间变换用于有损编解码和无损编解码的前向转换和后向转换:
34.有损编解码的前向变换(非规范):
[0035][0036]
无损编解码的前向变换(非规范):
[0037]
co=r-b
[0038]
t=b (co>>1)
[0039]
cg=(g-t)
[0040]
y=t (cg>>1)
[0041]
后向变换(规范):
[0042][0043]
t=y-(cg>>1)
[0044]
g=cg t
[0045]
b=t-(co>>1)
[0046]
r=co b
[0047]
前向颜色变换未被归一化,其中其范数对于y和cg大致等于并且对于co大致等于为了补偿前向变换的非归一化性质,(-5,-3,-5)的增量qps被分别应用于(y,co,cg)。换言之,对于cu的给定“正常”qp,如果打开act,则量化参数分别对于(y,co,cg)被设置为等于(qp-5,qp-3,qp-5)。调整后的量化参数仅影响cu中残差的量化和逆量化。对于去方块,仍使用“正常”qp值。将剪裁为0应用于调整后的qp值,以确保它们将不会变为负值。注意,此qp调整仅适用于有损编解码,这是由于在无损编解码中不执行量化(cu_transquant_bypass_flag=1)。在scm 4中,引入了附加qp偏移值的pps/条带级信令。当应用自适应颜色变换时,可以将这些qp偏移值而不是(-5,-3,-5)用于cu。
[0048]
当颜色分量的输入位深度不同时,在act期间应用适当的左移位以将样点位深度与最大位深度对齐,并在act之后应用适当的右移位以恢复原始样点位深度。
[0049]
2.2.在vvc中的act
[0050]
图2示出了应用act的vvc的解码流程图。如图2所示,在残差域中执行颜色空间转换。具体而言,在逆变换后引入一个附加的解码模块,即逆act,以将来自ycgco域的残差转换回原始域。
[0051]
在vvc中,除非最大变换尺寸小于一个编解码单元(cu)的宽度或高度,否则一个cu叶节点也被用作变换处理的单元。因此,在所提议的实现中,针对一个cu信令通知act标志,以选择颜色空间来对其残差进行编解码。另外,在hevc act设计之后,对于帧间cu和ibc cu,仅当cu中至少有一个非零系数时,才会启用act。对于帧内cu,仅当色度分量选择与亮度分量相同的帧内预测模式,即dm模式时,才启用act。
[0052]
用于颜色空间转换的核心变换与用于hevc的核心变换保持一致。另外,与hevc中
的act设计相同,为了补偿颜色变换前后的残差信号的动态范围变化,对变换残差应用(-5,-5,-3)的qp调整。
[0053]
另一方面,前向颜色变换和逆颜色变换需要访问所有三个分量的残差。对应地,在所提议的实现中,在以下两种情况中禁用act,其中三个分量的残差并非全部可用。
[0054]
1.分离树分区:应用分离树时,一个ctu内的亮度样点和色度样点按不同的结构进行分区。这导致亮度树中的cu仅包含亮度分量,而色度树中的cu仅包含两个色度分量。
[0055]
2.帧内子分区预测(isp):isp子分区仅应用于亮度,而在不划分的情况下对色度信号进行编解码。在当前的isp设计中,除了最后的isp子分区外,其他子分区仅包含亮度分量。
[0056]
vvc草案中的编解码单元的文本如下所示。
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064][0065]
cu_act_enabled_flag等于1规定当前编解码单元的残差在ycgco颜色空间中进行编解码。cu_act_enabled_flag等于0规定当前编解码单元的残差在原始颜色空间中进行编解码。当cu_act_enabled_flag不存在,则其被推断为等于0。
[0066]
2.3.vvc中的变换跳过模式
[0067]
如在hevc中,可以使用变换跳过模式对块的残差进行编解码,该模式完全跳过块的变换过程。此外,对于变换跳过块,使用sps中信令通知的最小允许量化参数(qp),该参数在vtm7.0中被设置为等于6*(internalbitdepth inputbitdepth) 4。
[0068]
2.4.基于块的增量脉冲编解码调制(bdpcm)
[0069]
在jvet-m0413中,提出了一种基于块的增量脉冲编解码调制(bdpcm)来高效地对屏幕内容进行编解码,然后将其采用到vvc中。
[0070]
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时:
[0071][0072]
对于水平预测,类似规则适用,并且残差量化样点通过以下方式获得:
[0073][0074]
残差量化样点被发送到解码器。
[0075]
在解码器侧,上述计算被被反转以产生q(r
i,j
),0≤i≤m-1,0≤j≤n-1。
[0076]
对于垂直预测情况,
[0077][0078]
对于水平情况,
[0079][0080]
将逆量化残差q-1(q(r
i,j
))添加到帧内块预测值以产生重构的样点值。
[0081]
此方案的主要优点是,逆bdpcm可以在系数解析期间被动态完成,只需添加预测值作为系数,或者其可以在解析后被执行。
[0082]
在vtm7.0中,bdpcm也可以应用于色度块,并且色度bdpcm具有与亮度bdpcm模式不同的单独标志和bdpcm方向。
[0083]
2.5.变换系数的缩放过程
[0084]
按照如下方式给出jvet-p2001-ve中与变换系数的缩放过程相关的文本。
[0085]
此过程的输入为:
[0086]
规定当前亮度变换块相对于当前图片的左上方亮度样点的左上方亮度样点的亮度位置(xtby,ytby),
[0087]
规定变换块宽度的变量ntbw,
[0088]
规定变换块高度的变量ntbh,
[0089]
规定编解码单元的预测模式的变量predmode,
[0090]
规定当前块的颜色分量的变量cidx。
[0091]
此过程的输出是具有元素d[x][y]的缩放变换系数的(ntbw)
×
(ntbh)阵列d。
[0092]
按照如下方式推导量化参数qp:
[0093]
如果cidx等于0,则以下内容适用:
[0094]
qp=qp'y
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1129)
[0095]
否则,如果tucresmode[xtby][ytby]等于2,则以下内容适用:
[0096]
qp=qp'cbcr
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1130)
[0097]
否则,如果cidx等于1,则以下内容适用:
[0098]
qp=qp'cb
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1131)
[0099]
否则(cidx等于2),以下内容适用:
[0100]
qp=qp'cr
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1132)
[0101]
修改量化参数qp,并按照如下方式推导变量rectnontsflag和bdshift:
[0102]
如果transform_skip_flag[xtby][ytby][cidx]等于0,则以下内容适用:
[0103]
qp=qp-(cu_act_enabled_flag[xtby][ytby]?5:0)
ꢀꢀꢀꢀ
(1133)
[0104]
rectnontsflag=(((log2(ntbw) log2(ntbh))&1)==1)?1:0
ꢀꢀꢀꢀꢀ
(1134)
[0105]
bdshift=bitdepth rectnontsflag
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1135)
[0106]
((log2(ntbw) log2(ntbh))/2)-5 pic_dep_quant_enabled_flag
[0107]
否则(transform_skip_flag[xtby][ytby][cidx]等于1),以下内容适用:
[0108]
qp=max(qpprimetsmin,qp)-(cu_act_enabled_flag[xtby][ytby]?5:0)
ꢀꢀ
(1136)
[0109]
rectnontsflag=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1137)
[0110]
bdshift=10
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1138)
[0111]
按照如下方式推导变量bdoffset:
[0112]
bdoffset=(1《《bdshift)》》1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1139)
[0113]
列表levelscale[][]被规定为levelscale[j][k]={{40,45,51,57,64,72},{57,64,72,80,90,102}},其中j=0..1,k=0..5。
[0114]
(ntbw)
×
(ntbh)阵列dz被设置为等于(ntbw)
×
(ntbh)阵列transcoefflevel[xtby][ytby][cidx]。
[0115]
对于缩放变换系数d[x][y]的推导(其中x=0..ntbw-1,y=0..ntbh-1),以下内容适用:
[0116]
按照如下方式推导中间缩放因子m[x][y]:
[0117]
如果以下条件中的一个或多个为真,则m[x][y]被设置为等于16:
[0118]
sps_scaling_list_enabled_flag等于0。
[0119]
pic_scaling_list_present_flag等于0。
[0120]
transform_skip_flag[xtby][ytby][cidx]等于1。
[0121]
scaling_matrix_for_lfnst_disabled_flag等于1,并且lfnst_idx[xtby][ytby]不等于0。
[0122]
否则,以下内容适用:
[0123]
根据表36中规定的基于predmode、cidx、ntbw和ntbh推导变量id,并且按照如下方式推导变量log2matrixsize:
[0124]
log2matrixsize=(id《2)?1:(id《8)?2:3
ꢀꢀ
(1140)
[0125]
按照如下方式推导比例因子m[x][y]:
[0126]
m[x][y]=scalingmatrixrec[id][i][j]
[0127]
其中i=(x《《log2matrixsize)》》log2(ntbw),
[0128]
j=(y《《log2matrixsize)》》log2(ntbh)
ꢀꢀ
(1141)
[0129]
如果id大于13且x和y均等于0,则按照如下方式进一步修改m[0][0]:
[0130]
m[0][0]=scalingmatrixdcrec[id-14]
ꢀꢀ
(1142)
[0131]
注当以下条件中的任一个为真时,量化矩阵元素m[x][y]可以被归零
[0132]
x大于32
[0133]
y大于32
[0134]
通过默认变换模式不对解码的tu进行编解码(即变换类型不等于0)并且x大于16
[0135]
通过默认变换模式不对解码的tu进行编解码(即变换类型不等于0),并且y大于16
[0136]
按照如下方式推导比例因子ls[x][y]:
[0137]
如果pic_dep_quant_enabled_flag等于1且transform_skip_flag[xtby][ytby][cidx]等于0,则以下内容适用:
[0138]
ls[x][y]=(m[x][y]*levelscale[rectnontsflag][(qp 1)%6])《《((qp 1)/6)
ꢀꢀ
(1143)
[0139]
否则(pic_dep_quant_enabled_flag等于0或transform_skip_flag[xtby][ytby][cidx]等于1),以下内容适用:
[0140]
ls[x][y]=(m[x][y]*levelscale[rectnontsflag][qp%6])《《(qp/6)
ꢀꢀ
(1144)
[0141]
当bdpcmflag[xtby][yyby][cidx]等于1时,按照如下方式修改dz[x][y]:
[0142]
如果bdpcmdir[xtby][yyby][cidx]等于0且x大于0,则以下内容适用:
[0143]
dz[x][y]=clip3(coeffmin,coeffmax,dz[x-1][y] dz[x][y])
ꢀꢀ
(1145)
[0144]
否则,如果bdpcmdir[xtby][ytby][cidx]等于1且y大于0,则以下内容适用:
[0145]
dz[x][y]=clip3(coeffmin,coeffmax,dz[x][y-1] dz[x][y])
ꢀꢀ
(1146)
[0146]
按照如下方式推导值dnc[x][y]:
[0147]
dnc[x][y]=(dz[x][y]*ls[x][y] bdoffset)》》bdshift
ꢀꢀ
(1147)
[0148]
按照如下方式推导缩放变换系数d[x][y]:
[0149]
d[x][y]=clip3(coeffmin,coeffmax,dnc[x][y])
ꢀꢀ
(1148)
[0150]
表36-根据predmode、cidx、ntbw和ntbh的缩放矩阵标识符变量id的规定
[0151][0152]
2.6.调色板模式
[0153]
2.6.1.调色板模式的概念
[0154]
调色板模式背后的基本思想是,cu中的像素由代表性颜色值的小集合表示。此集合被称为调色板。并且还可以通过在(可能量化的)分量值之后信令通知逸出符号来指示调色板之外的样点。这种像素被称为逸出像素。调色板模式如图3所示。如图3所示,对于具有
三个颜色分量(亮度和两个色度分量)的每个像素,建立调色板的索引,并且可以基于调色板中的所建立的值重构块。
[0155]
2.6.2.调色板条目的编解码
[0156]
对于调色板条目的编解码,保留调色板预测值。在sps中信令通知调色板的最大尺寸以及调色板预测值。在hevc-scc中,在pps中引入了palette_predictor_initializer_present_flag。当此标志为1时,在比特流中信令通知用于初始化调色板预测值的条目。在每个ctu行、每个条带和每个片的开头初始化调色板预测值。取决于palette_predictor_initializer_present_flag的值,调色板预测值被重置为0或使用pps中信令通知的调色板预测值初始化器条目进行初始化。在hevc-scc中,启用了尺寸为0的调色板预测值初始化器以允许在pps级别显式禁用调色板预测值初始化。
[0157]
对于调色板预测值中的每个条目,都会信令通知重用标志,以指示其是否是当前调色板的一部分。这在图4中示出。使用零的游程编解码发送重用标志。在此之后,使用0阶指数golomb(eg)代码(即eg-0)信令通知新调色板条目的数目。最后,信令通知新调色板条目的分量值。
[0158]
2.6.3.调色板索引的编解码
[0159]
使用图5所示的水平遍历扫描和垂直遍历扫描对调色板索引进行编解码。在比特流中使用palette_transpose_flag显式地信令通知扫描顺序。对于子章节的其余部分,假设扫描是水平的。
[0160]
使用两种调色板示例模式对调色板索引进行编解码:“copy_left”和“copy_above”。在“copy_left”模式下,调色板索引被分配给解码索引。在“copy_above”模式下,复制上方的行中的样点的调色板索引。对于“copy_left”和“copy_above”两种模式,都会信令通知游程值,该游程值规定也使用相同模式进行编解码的后续样点的数目。
[0161]
在调色板模式下,逸出符号的索引值是调色板条目的数目。并且,当逸出符号是“copy_left”或“copy_above”模式下的游程的一部分时,会为每个逸出符号信令通知逸出分量值。调色板索引的编解码如图6所示。
[0162]
按照如下方式完成此语法顺序。首先,信令通知cu的索引值的数目。然后使用截断二进制编解码信令通知整个cu的实际索引值。索引数目以及索引值均以旁路模式进行编解码。这会将索引相关的旁路二进制位分组在一起。然后,以交叉方式信令通知调色板采样模式(如有必要)和游程。最后,将与整个cu的逸出符号相对应的分量逸出值分组在一起,并以旁路模式进行编解码。逸出符号的二值化是三阶编解码的eg,即eg-3。
[0163]
在信令通知索引值后信令通知附加的语法元素last_run_type_flag。此语法元素与索引的数目结合在一起,消除了信令通知对应于块中最后游程的游程值的需要。
[0164]
在hevc-scc中,还启用调色板模式用于4:2:2、4:2:0和单色色度格式。对于所有的色度格式,调色板条目和调色板索引的信令几乎是相同的。在非单色格式的情况下,每个调色板条目由3个分量组成。对于单色格式,每个调色板条目由单个分量组成。对于子采样色度方向,色度样点与可被2整除的亮度样点索引相关联。在重构cu的调色板索引后,如果样点只有与之相关联的单个分量,则仅使用调色板条目的第一个分量。信令的唯一差在于逸出分量值。对于每个逸出符号,信令通知的逸出分量值的数目可能会不同,这取决于与该符号相关联的分量的数目。
[0165]
2.6.4.双树中的调色板
[0166]
在vvc中,双树编解码结构用于对帧内条带进行编解码,因此亮度分量和两个色度分量可能具有不同的调色板和调色板索引。此外,两个色度分量共享相同的调色板和调色板索引。
[0167]
2.6.5.基于线路的cg调色板模式
[0168]
基于线路的cg调色板模式被采用于vvc。在此方法中,调色板模式的每个cu基于遍历扫描模式被划分为m个样点的多个片段(在此测试中m=16)。每个片段中的调色板游程编解码的编码顺序如下:对于每个像素,信令通知1个上下文编码的二进制位run_copy_flag=0的信号,指示该像素是否与前一个像素具有相同的模式,即,如果先前扫描的像素和当前像素都是游程类型copy_above,或者如果先前扫描的像素和当前像素都是游程类型index和相同的索引值。否则,信令通知run_copy_flag=1。如果像素和前一个像素的模式不同,则信令通知一个上下文编解码的二进制位copy_above_palette_indices_flag,指示像素的游程类型,即index或copy_above。与vtm6.0中的调色板模式相同,如果样点位于第一行(水平遍历扫描)或第一列(垂直遍历扫描),解码器不必解析游程类型,这是由于默认情况下使用index模式。此外,如果先前解析的游程类型是copy_above,则解码器不必解析游程类型。在对一个片段中的像素进行调色板游程编解码后,索引值(用于index模式)和量化逸出颜色被旁路编解码,并与上下文编解码的二进制位的编码/解析分开分组,以提高每个线路cg内的吞吐量。由于索引值现在是在游程编解码之后进行编解码/解析的,而不是像vtm中那样在调色板游程编解码之前进行处理,编码器不必信令通知索引值的数目num_palette_indices_minus1和最后游程类型copy_above_indices_for_final_run_flag。
[0169]
3.由本文所描述实施例和解决方案解决的技术问题
[0170]
在当前设计中,可以为一个块启用act和亮度bdpcm模式。然而,在对于使用act模式编解码的块,色度bdpcm模式始终被禁用。因此,对于同一编解码单元中的亮度块和色度块,可以不同地推导预测信号,这可能效率较低。
[0171]
当启用act时,块的量化参数(qp)可以变成负数。
[0172]
act的当前设计不支持无损编解码。
[0173]
act的使用的信令不依赖于块尺寸。
[0174]
最大调色板尺寸和最大预测值尺寸是固定的数字,这可能会限制调色板模式的灵活性。
[0175]
逸出样点采用三阶指数哥伦布(exponential-golomb,eg)作为二值化方法,但逸出样点的二值化不依赖于量化参数(qp)。
[0176]
4.技术解决方案
[0177]
以下描述的技术解决方案应被认为是解释一般概念的示例。这些技术解决方案不应当被狭隘地解读。此外,这些技术解决方案可以以任何方式组合。
[0178]
在以下描述中,术语“块”可以表示视频区域,例如编解码单元(cu)、预测单元(pu)、变换单元(tu),其可以包含三个颜色分量中的样点。术语“bdpcm”不限于vvc中的设计,但它可能表示使用不同预测信号生成方法对残差进行编解码的技术。
[0179]
在以下描述中,使用色度残差联合编解码(jccr)模式进行编解码的视频块包括仅信令通知一个色度残差块(例如,cb残差块),而另一个色度残差块(例如,cr残差块)是基于
信令通知的色度残差块和指示特定jccr模式的一个或多个标志(例如,在变换单元级)进行推导的。如上所述,jccr模式利用cb残差和cr残差之间的相关性来提高编解码效率。
[0180]
act和bdpcm之间的交互(项目1-4)
[0181]
1、是否启用色度bdpcm模式可能取决于act和/或亮度bdpcm模式的使用。
[0182]
a.在一个示例中,当在块上启用act时,色度bdpcm模式的使用的指示(例如intra_bdpcm_chroma_flag)可以被推断为亮度bdpcm模式的使用的指示(例如intra_bdpcm_luma_flag)。
[0183]
i.在一个示例中,色度bdpcm模式的推断值被定义为(启用act和亮度bdpcm模式?真:假)。
[0184]
1.在一个示例中,当intra_bdpcm_luma_flag为假时,intra_bdpcm_chroma_flag可以被设置为等于假。
[0185]
a.可替代地,当intra_bdpcm_luma_flag为真时,intra_bdpcm_chroma_flag可以被设置为等于真。
[0186]
ii.可替代地,在一个示例中,如果块的亮度bdpcm模式和act的使用的指示为真,则色度bdpcm模式的使用的指示可以被推断为真。
[0187]
b.可替代地,可以有条件地检查是否信令通知块的act的使用,例如对块中的亮度样点和色度样点使用相同的bdpcm预测方向。
[0188]
i.可替代地,此外,在使用bdpcm模式后,信令通知act的使用的指示。
[0189]
2.当在块上启用act时,色度bdpcm模式的预测方向的指示(例如intra_bdpcm_chroma_dir_flag)可以被推断为亮度bdpcm模式的使用的预测方向的指示(例如intra_bdpcm_luma_dir_flag)。
[0190]
a.在一个示例中,intra_bdpcm_chroma_dir_flag的推断值被定义为(启用act?intra_bdpcm_luma_dir_flag:0)。
[0191]
i.在一个示例中,如果亮度bdpcm模式的预测方向的指示是水平的,则色度bdpcm模式的预测方向的指示可以被推断为水平。
[0192]
ii.可替代地,在一个示例中,如果亮度bdpcm模式的预测方向的指示是垂直的,则色度bdpcm模式的预测方向的指示可以被推断为垂直。
[0193]
3.act和bdpcm模式可以被互斥地应用。
[0194]
a.在一个示例中,当在块上启用act模式时,可以在块上禁用bdpcm模式。
[0195]
i.可替代地,此外,可以在信令通知bdpcm模式的使用的指示之后信令通知act模式的使用的指示。
[0196]
ii.可替代地,此外,bdpcm模式的使用的指示可能不会被信令通知并被推断为假(0)。
[0197]
b.在一个示例中,当在块上启用bdpcm模式时,可以在块上禁用act模式。
[0198]
i.可替代地,此外,可以在信令通知bdpcm模式的使用的指示后,信令通知act模式的使用的指示。
[0199]
ii.可替代地,此外,act模式的使用的指示可以不被信令通知并被推断为假(0)。
[0200]
c.在一个示例中,上述示例中的bdpcm模式可以表示亮度bdpcm模式和/或色度bdpcm模式。
[0201]
4.可以在解码器处的逆bdpcm之前应用逆act。
[0202]
a.在一个示例中,即使在亮度bdpcm和色度bdpcm具有不同的预测模式时,也可以应用act。
[0203]
b.可替代地,在编码器处,可以在bdpcm之后应用正向act。
[0204]
启用act时的qp设置(项目5)
[0205]
5.提议在启用act时对qp进行剪裁。
[0206]
a.在一个示例中,剪裁函数可以被定义为(l,h,x),其中l是输入x的最低可能值,并且h是输入x的最高可能值。
[0207]
i.在一个示例中,l可以被设置为等于0。
[0208]
ii.在一个示例中,h可以被设置为等于63。
[0209]
b.在一个示例中,qp可以是第2.5节中给出的qp。
[0210]
c.在一个示例中,可以在act模式的qp调整之后执行剪裁。
[0211]
d.在一个示例中,当应用变换跳过时,l可以被设置为等于变换跳过模式的最小允许qp。
[0212]
相关的调色板模式(项目6-7)
[0213]
6.最大允许调色板尺寸和/或最大允许预测值尺寸的值可能取决于编解码特性。假设s1是与第一编解码特性相关联的最大调色板尺寸(或调色板预测值尺寸);并且s2是与第二编解码特性相关联的最大调色板尺寸(或调色板预测值尺寸)。
[0214]
a.在一个示例中,编解码特性可以是颜色分量。
[0215]
i.在一个示例中,不同颜色分量的最大允许调色板尺寸和/或最大允许预测值尺寸可能具有不同的值。
[0216]
ii.在一个示例中,第一颜色分量(例如,ycbcr中的y,rgb中的g)的最大允许调色板尺寸和/或最大允许预测值尺寸的值可能不同于不包括第一颜色分量的其他两种颜色分量(例如,ycbcr中的cb和cr,rgb中的b和r)的最大允许调色板尺寸和/或最大允许预测值尺寸的值。
[0217]
b.在一个示例中,编解码特性可以是量化参数(qp)。
[0218]
i.在一个示例中,如果qp1大于qp2,则qp1的s1和/或s2应当小于qp2的s1和/或s2[0219]
ii.在一个示例中,qp可以是条带级qp或块级qp。
[0220]
c.在一个示例中,s2可以大于或等于s1。
[0221]
d.对于第一编解码特性和第二编解码特性,最大调色板尺寸/调色板预测值尺寸的指示可以被单独信令通知或从一个到另一个进行推断。
[0222]
i.在一个示例中,可以信令通知s1,并且可以基于s1推导s2。
[0223]
1.在一个示例中,s2可以被推断为s
1 n。
[0224]
2.在一个示例中,s2可以被推断为s1》》n。
[0225]
3.在一个示例中,s2可以被推断为floor(s1/n),其中floor(x)表示不大于x的最大整数。
[0226]
e.在一个示例中,可以在高级别(例如sps/pps/ph/条带标头)信令通知s1和/或s2,并在低级别(例如cu/块)调整s1和/或s2。
[0227]
i.如何调整s1和/或s2可能取决于编解码信息。
[0228]
1.如何调整s1和/或s2可能取决于当前qp。
[0229]
a.在一个示例中,如果当前qp增加,则应当减少s1和/或s2。
[0230]
2.如何调整s1和/或s2可能取决于块维度。
[0231]
a.在一个示例中,如果当前块尺寸增加,则s1和/或s2应增加。
[0232]
f.s1和/或s2可能取决于是否使用lmcs。
[0233]
7.与逸出样点/像素的二值化方法相关联的参数可能取决于编解码信息,例如量化参数(qp)。
[0234]
a.在一个示例中,可以使用eg二值化方法,并且由k表示的eg二值化的阶数可以取决于编解码信息。
[0235]
i.在一个示例中,当当前qp增加时,可以减少k。
[0236]
act模式的信令通知(项目8-10)
[0237]
8.可以在序列/视频/条带/片/子图片/图块/其他视频处理单元级别信令通知或者基于编解码信息推导允许的最大和/或最小act尺寸的指示。
[0238]
a.在一个示例中,可以在sps/pps/图片标头/条带标头中信令通知它们。
[0239]
b.在一个示例中,可以有条件地信令通知它们,例如根据启用的act。
[0240]
c.在一个示例中,可以信令通知/定义允许的最大和/或最小act尺寸的n级,例如,n=2。
[0241]
i.在一个示例中,允许的最大和/或最小act尺寸可以被设置为k0或k1(例如,k0=64,k1=32)。
[0242]
ii.可替代地,此外,可以信令通知级别的指示,例如,当n=2时,可以信令通知标志。
[0243]
d.在一个示例中,可以信令通知允许的最大和/或最小act尺寸与允许的最大和/或最小变换(或变换跳过)尺寸之间的差值(例如,对于亮度分量)。
[0244]
e.在一个示例中,可以根据允许的最大和/或最小(或变换跳过)尺寸推导允许的最大和/或最小act尺寸(例如,对于亮度分量)。
[0245]
f.可替代地,此外,是否和/或如何信令通知act使用的指示和与act相关的其他边信息可能取决于允许的最大值和/或最小值。
[0246]
9.当块大于允许的最大act尺寸(或允许的最大变换尺寸)时,该块可以被自动划分为多个子块,其中,所有子块共享相同的预测模式(例如,所有子块都是帧内编解码的),并且可以在子块级而不是块级启用act。
[0247]
10.可以基于块维度(例如,块宽度和/或块高度、块宽度乘以高度、块宽度和块高度之间的比率、块宽度和块高度的最大值/最小值)和/或最大允许的act尺寸,有条件地信令通知act模式的使用的指示。
[0248]
a.在一个示例中,当满足某些条件(例如,根据块维度)时,可以信令通知act模式的使用的指示。
[0249]
i.在一个示例中,条件是是否当前块宽度小于或等于m和/或当前块高度小于或等于n。
[0250]
ii.在一个示例中,条件是当前块宽度乘以高度是否小于或不大于m。
[0251]
iii.在一个示例中,条件是当前块宽度乘以高度是否大于或不小于m。
[0252]
b.可替代地,在一个示例中,当不满足某些条件(例如,根据块维度)时,可以不信令通知act模式的使用的指示。
[0253]
i.在一个示例中,条件是是否当前块宽度大于m和/或当前块高度大于n。
[0254]
ii.在一个示例中,条件是当前块宽度乘以高度是否小于或不大于m。
[0255]
iii.在一个示例中,条件是当前块宽度乘以高度是否大于或不小于m。
[0256]
iv.可替代地,此外,act模式的使用的指示可以被推断为0。
[0257]
c.在上述示例中,变量m、n可以被预定义(例如,4、64、128),或者被信令通知,或者被即时推导。
[0258]
i.在一个示例中,可以基于sps/pps/aps/ctu行/ctu组/cu/块中的解码消息推导m和/或n。
[0259]
1.在一个示例中,m和/或n可以被设置为等于最大允许的变换尺寸(例如maxtbsizey)。
[0260]
通用约束信息语法中约束标志的信令(项目11-16)
[0261]
可以在sps以外的视频单元中信令通知以下约束标志。例如,可以在jvet-p2001-ve中规定的通用约束信息语法中信令通知它们。
[0262]
11.提议使用约束标志来规定sps act启用标志(例如sps_act_enabled_flag)是否应当等于0。
[0263]
a.在一个示例中,该标志可以被表示为no_act_constraint_flag
[0264]
i.当此标志等于1时,sps act启用标志(例如sps_act_enabled_flag)应当等于0。
[0265]
ii.当此标志等于0时,它不会施加这种约束。
[0266]
12.提议使用约束标志来规定sps bdpcm启用标志(例如sps_bdpcm_enabled_flag)是否应等于0。
[0267]
a.在一个示例中,该标志可以被表示为no_bdpcm_constraint_flag。
[0268]
i.当此标志等于1时,sps bdpcm启用标志(例如sps_bdpcm_enabled_flag)应等于0。
[0269]
ii.当此标志等于0时,它不会施加这种约束。
[0270]
13.提议使用约束标志来规定sps色度bdpcm启用标志(例如sps_bdpcm_chroma_enabled_flag)是否应等于0。
[0271]
a.在一个示例中,该标志可以被表示为no_bdpcm_chroma_constraint_flag。
[0272]
i.当此标志等于1时,sps色度bdpcm启用标志(例如sps_bdpcm_chroma_enabled_flag)应等于0。
[0273]
ii.当此标志等于0时,它不会施加这种约束。
[0274]
14.提议使用约束标志来规定sps调色板启用标志(例如sps_palette_enabled_flag)是否应等于0。
[0275]
a.在一个示例中,该标志可以被表示为no_palette_constraint_flag。
[0276]
i.当此标志等于1时,sps调色板启用标志(例如sps_palette_enabled_flag)应等于0。
[0277]
ii.当此标志等于0时,它不会施加这种约束。
[0278]
15.提议使用约束标志来规定sps rpr启用标志(例如ref_pic_resampling_
enabled_flag)是否应等于0。
[0279]
a.在一个示例中,该标志可以被表示为no_ref_pic_resampling_constraint_flag。
[0280]
i.当此标志等于1时,sps rpr启用标志(例如ref_pic_resampling_enabled_flag)应等于0。
[0281]
ii.当此标志等于0时,它不会施加这种约束。
[0282]
16.在上述示例(项目符号11-15)中,可以例如根据色度格式(例如,chroma_format_idc)和/或单独的平面编解码或chromaarraytype有条件地信令通知这种约束标志。
[0283]
act qp偏移(项目17-19)
[0284]
17.提议在对块应用act时,可以在应用其他色度偏移(例如,pps和/或图片标头(ph)和/或条带标头(sh)中的色度偏移)之后应用act偏移。
[0285]
18.提议在块上应用ycgco颜色变换时,为jcbcr模式2设置除了-5以外的pps和/或ph偏移。
[0286]
a.在一个示例中,偏移可以是除了-5以外的数。
[0287]
b.在一个示例中,偏移可以在pps中指示(例如,作为pps_act_cbcr_qp_offset_plus6),并且偏移可以被设置为pps_act_cbcr_qp_offset_plus6-6。
[0288]
c.在一个示例中,偏移可以在pps中指示(例如,作为pps_act_cbcr_qp_offset_plus7),并且偏移可以被设置为pps_act_cbcr_qp_offset_plus7-7。
[0289]
19.提议在块上应用ycgco-r时,为jcbcr模式2设置除了1以外的pps和/或ph偏移。
[0290]
a.在一个示例中,偏移可以是除了-1以外的数。
[0291]
b.在一个示例中,偏移可以在pps中指示(例如,作为pps_act_cbcr_qp_offset),并且偏移可以被设置为pps_act_cbcr_qp_offset。
[0292]
c.在一个示例中,偏移可以在pps中指示(例如,作为pps_act_cbcr_qp_offset_plus1),并且偏移可以被设置为pps_act_cbcr_qp_offset_plus1-1。
[0293]
20.提议在使用jccr时,带有ycgco变换的act的qp偏移(被表示为act_qp_offset)可能取决于jccr模式。
[0294]
a.在一个示例中,当jccr模式为1时,act_qp_offset可以为-5。
[0295]
i.可替代地,在一个示例中,当jccr模式为1时,act_qp_offset可以为-6。
[0296]
b.在一个示例中,当jccr模式为2时,act_qp_offset可以为-7。
[0297]
i.可替代地,在一个示例中,当jccr模式为2时,act_qp_offset可以是(-7-pps_joint_cbcr_qp_offset-slice_joint_cbcr_qp_offset)。
[0298]
ii.可替代地,在一个示例中,当jccr模式为2时,act_qp_offset可以是(-7 pps_joint_cbcr_qp_offset slice_joint_cbcr_qp_offset)。
[0299]
c.在一个示例中,当jccr模式为3时,act偏移可以为-4。
[0300]
i.可替代地,在一个示例中,当jccr模式为3时,act偏移可以为-5。
[0301]
21.提议在使用jccr时,带有ycgco-r变换的act的qp偏移(被表示为act_qp_offset)可能取决于jccr模式。
[0302]
a.在一个示例中,当jccr模式为1时,act_qp_offset可以为1。
[0303]
i.可替代地,在一个示例中,当jccr模式为1时,act_qp_offset可以为0。
[0304]
b.在一个示例中,当jccr模式为2时,act_qp_offset可以为-1。
[0305]
i.可替代地,在一个示例中,当jccr模式为2时,act_qp_offset可以是(-1-pps_joint_cbcr_qp_offset-slice_joint_cbcr_qp_offset)。
[0306]
ii.可替代地,在一个示例中,当jccr模式为2时,act_qp_offset可以是(-1 pps_joint_cbcr_qp_offset slice_joint_cbcr_qp_offset)。
[0307]
c.在一个示例中,当jccr模式为3时,act偏移可以为2。
[0308]
i.可替代地,在一个示例中,当jccr模式为3时,act偏移可以为1。
[0309]
通用技术(项目22-23)
[0310]
22.在上述示例中,s1、s2、l、h、m、n和/或k是整数,并且可能取决于a.在dps/sps/vps/pps/aps/图片标头/条带标头/片组标头/最大编解码单元(lcu)/编解码单元(cu)/lcu行/lcu组/tu/pu块/视频编解码单元中信令通知的消息
[0311]
b.cu/pu/tu/块/视频编解码单元的位置
[0312]
c.包含沿边缘的样点的块的编解码模式
[0313]
d.应用于包含沿边缘的样点的块的变换矩阵
[0314]
e.当前块和/或其邻近块的块维度/块形状
[0315]
f.颜色格式指示(例如4:2:0、4:4:4、rgb或yuv)
[0316]
g.编解码树结构(例如双树或单树)
[0317]
h.条带/片组类型和/或图片类型
[0318]
i.颜色分量(例如,仅可能应用于cb或cr)
[0319]
j.时域层id
[0320]
k.标准的档次/级别/层级
[0321]
l.可替代地,s1、s2、l、h、m、n和/或k可以被信令通知给解码器。
[0322]
23.可以在某些条件下应用上述提议的方法。
[0323]
a.在一个示例中,条件是颜色格式为4:2:0和/或4:2:2。
[0324]
b.在一个示例中,可以在序列/图片/条带/片/图块/视频区域级别(例如sps/pps/图片标头/条带标头)中信令通知上述方法的使用的指示。
[0325]
c.在一个示例中,上述方法的使用可能取决于
[0326]
i.视频内容(例如屏幕内容或自然内容)
[0327]
ii.在dps/sps/vps/pps/aps/图片标头/条带标头/片组标头/最大编解码单元(lcu)/编解码单元(cu)/lcu行/lcu组/tu/pu块/视频编解码单元中信令通知的消息
[0328]
iii.cu/pu/tu/块/视频编解码单元的位置
[0329]
iv.包含沿边缘的样点的块的编解码模式
[0330]
v.应用于包含沿边缘的样点的块的变换矩阵
[0331]
vi.当前块和/或其邻近块的块维度
[0332]
vii.当前块和/或其邻近块的块形状
[0333]
viii.颜色格式指示(例如4:2:0、4:4:4、rgb或yuv)
[0334]
ix.编解码树结构(例如双树或单树)
[0335]
x.条带/片组类型和/或图片类型
[0336]
xi.颜色分量(例如,可能仅应用于cb或cr)
[0337]
xii.时域层id
[0338]
xiii.标准的档次/级别/层级
[0339]
xiv.可替代地,m和/或n可以被信令通知给解码器。
[0340]
5.实施例
[0341]
实施例基于jvet-p2001-ve。新添加的文本用突出显示。删除的文本用斜体文本标记。
[0342]
5.1实施例#1
[0343]
此实施例涉及act和bdpcm模式之间的交互。
[0344]
[0345][0346]
5.2.实施例#2
[0347]
此实施例涉及act和bdpcm模式之间的交互。
[0348]
intra_bdpcm_chroma_flag等于1规定bdpcm应用于位置(x0,y0)处的当前色度编解码块,即跳过变换,帧内色度预测模式由intra_bdpcm_chroma_dir_flag规定。intra_bdpcm_chroma_flag等于0规定bdpcm不应用于位置(x0,y0)处的当前色度编解码块。
[0349]
当intra_bdpcm_chroma_flag不存在且为假时,其被推断为等于0。
[0350][0351]
对于x0..x0 cbwidth-1、y=y0..y0 cbheight-1且cidx=1..2,变量bdpcmflag[x][y][cidx]被设置为等于intra_bdpcm_chroma_flag。
[0352]
intra_bdpcm_chroma_dir_flag等于0规定bdpcm预测方向为水平。intra_bdpcm_chroma_dir_flag等于1规定bdpcm预测方向是垂直的。chroma_dir_flag等于1规定bdpcm预测方向是垂直的。
[0353]
变量bdpcmdir[x][y][cidx]被设置为等于intra_bdpcm_chroma_dir_flag(x=x0..x0 cbwidth-1、y=y0..y0 cbheight-1且cidx=1..2)。
[0354]
5.3.实施例#3
[0355]
此实施例与qp设置有关。
[0356]
8.7.3变换系数的缩放过程
[0357]
此过程的输入为:
[0358]
规定当前亮度变换块相对于当前图片的左上方亮度样点的左上方样点的亮度位置(xtby,ytby),
[0359]
规定变换块宽度的变量ntbw,
[0360]
规定变换块高度的变量ntbh,
[0361]
规定编解码单元的预测模式的变量predmode,
[0362]
规定当前块的颜色分量的变量cidx。
[0363]
此过程的输出是具有元素d[x][y]的缩放变换系数的(ntbw)
×
(ntbh)阵列d。
[0364]

[0365]
对量化参数qp进行了修改,并且按照如下方式推导变量rectnontsflag和bdshift:
[0366]
如果transform_skip_flag[xtby][ytby][cidx]等于0,则以下内容适用:
[0367]
qp=qp-(cu_act_enabled_flag[xtby][ytby]?5:0)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1133)
[0368][0369]
rectnontsflag=(((log2(ntbw) log2(ntbh))&1)==1)?1:0
ꢀꢀ
(1134)
[0370][0371]
否则(transform_skip_flag[xtby][ytby][cidx]等于1),以下内容适用:
[0372]
qp=max(qpprimetsmin,qp)-(cu_act_enabled_flag[xtby][ytby]?5:0)
ꢀꢀ
(1136)
[0373][0374]
rectnontsflag=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1137)
[0375]
bdshift=10
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1138)
[0376]

[0377]
5.4.实施例#4
[0378]
8.7.1量化参数的推导过程
[0379]

[0380]
按照如下方式推导cb和cr分量、qp'cb和qp'cr以及联合cb-cr编解码qp'cbcr的色度量化参数:
[0381]
qp

cb=clip3(-qpbdoffset,63,qpcb pps_cb_qp_offset slice_cb_qp_offset cuqpoffsetcb) qpbdoffset
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1122)
[0382]
qp

cr=clip3(-qpbdoffset,63,qpcr pps_cr_qp_offset slice_cr_qp_offset cuqpoffsetcr) qpbdoffset
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1123)
[0383]
qp

cbcr=clip3(-qpbdoffset,63,qpcbcr pps_joint_cbcr_qp_offset slice_joint_cbcr_qp_offset cuqpoffsetcbcr) qpbdoffset
ꢀꢀ
(1124)
[0384]
5.5.实施例#5
[0385]
7.3.9.5编解码单元语法
[0386][0387][0388]
k0和k1被设置为等于32。
[0389]
5.6.实施例#6
[0390]
7.3.9.5编解码单元语法
[0391][0392]
5.7.实施例#7
[0393]
8.7.3变换系数的缩放过程
[0394]
此过程的输入为:
[0395]

规定当前亮度变换块相对于当前图片的左上方亮度样点的左上方样点的亮度位置(xtby,ytby),
[0396]

规定变换块宽度的变量ntbw,
[0397]

规定变换块高度的变量ntbh,
[0398]

规定编解码单元的预测模式的变量predmode,
[0399]

规定当前块的颜色分量的变量cidx。
[0400]
此过程的输出是具有元素d[x][y]的缩放变换系数的(ntbw)
×
(ntbh)阵列d。
[0401]

如果cidx等于0,则以下内容适用:
[0402][0403]
qp=qp
′yꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1129)
[0404]

否则,如果tucresmode[xtby][ytby]等于2,则以下内容适用:
[0405][0406]
qp=qp

cbcr
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1130)
[0407]

否则,如果cidx等于1,则以下内容适用:
[0408]
actqpoffset=-5
[0409]
qp=qp

cb
ꢀꢀ
(1131)
[0410]

否则(cidx等于2),以下内容适用:
[0411][0412]
qp=qp

cb
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1131)
[0413]
修改量化参数qp,并按照如下方式推导变量rectnontsflag和bdshift:
[0414]

如果transform_skip_flag[xtby][ytby][cidx]等于0,则以下内容适用:
[0415]
qp=qp-(cu_act_enabled_flag[xtby][ytby]?5:0)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1133)
[0416][0417]
rectnontsflag=(((log2(ntbw) log2(ntbh))&1)==1)?1:0
ꢀꢀ
(1134)
[0418][0419]

否则(transform_skip_flag[xtby][ytby][cidx]等于1),以下内容适用:
[0420]
qp=max(qpprimetsmin,qp)-(cu_act_enabled_flag[xtby][ytby]?5:0)
ꢀꢀ
(1136)
[0421][0422]
rectnontsflag=0
ꢀꢀꢀꢀ
(1137)
[0423]
bdshift=10
ꢀꢀꢀꢀꢀ
(1138)
[0424]
按照如下方式推导变量bdoffset:
[0425]
bdoffset=(1《《bdshift)》》1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1139)
[0426]
列表levelscale[][]被规定为levelscale[j][k]={{40,45,51,57,64,72},{57,64,72,80,90,102}}其中j=0..1,k=0..5.
[0427]

[0428]
5.8.实施例#8
[0429]
8.7.3变换系数的缩放过程
[0430]
此过程的输入包括:
[0431]

规定当前亮度变换块相对于当前图片的左上方亮度样点的左上方样点的亮度位置(xtby,ytby),
[0432]

规定变换块宽度的变量ntbw,
[0433]

规定变换块高度的变量ntbh,
[0434]

规定编解码单元的预测模式的变量predmode,
[0435]

规定当前块的颜色分量的变量cidx。
[0436]
此过程的输出是具有元素d[x][y]的缩放变换系数的(ntbw)
×
(ntbh)阵列d。
[0437]

如果cidx等于0,则以下内容适用:
[0438]
qp=qp
′yꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1129)
[0439][0440]

否则,如果tucresmode[xtby][ytby]等于2,则以下内容适用:
[0441][0442]
qp=qp

cbcr
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1130)
[0443]

否则,如果cidx等于1,则以下内容适用:
[0444][0445]
qp=qp

cb
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1131)
[0446]

否则(cidx等于2),以下内容适用:
[0447][0448]
qp=qp

cr
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1132)
[0449]
修改量化参数qp,并按照如下方式推导变量rectnontsflag和bdshift:
[0450]

如果transform_skip_flag[xtby][ytby][cidx]等于0,则以下内容适用:
[0451]
qp=qp-(cu_act_enabled_flag[xtby][ytby]?5:0)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1133)
[0452]
rectnontsflag=(((log2(ntbw) log2(ntbh))&1)==1)?1:0
ꢀꢀꢀꢀꢀꢀꢀꢀ
(1134)
[0453]
bdshift=bitdepth rectnontsflag
ꢀꢀꢀꢀ
(1135)
[0454]
((log2(ntbw) log2(ntbh))/2)-5 pic_dep_quant_enabled_flag
[0455]

否则(transform_skip_flag[xtby][ytby][cidx]等于1),以下内容适用:
[0456]
qp=max(qpprimetsmin,qp)-(cu_act_enabled_flag[xtby][ytby]?5:0)
ꢀꢀ
(1136)
[0457][0458]
rectnontsflag=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1137)
[0459]
bdshift=10
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1138)
[0460]
按照如下方式推导变量bdoffset:
[0461]
bdoffset=(1《《bdshift)》》1
ꢀꢀꢀ
(1139)
[0462]
列表levelscale[][]被规定为levelscale[j][k]={{40,45,51,57,64,72},{57,64,72,80,90,102}}其中j=0..1,k=0..5。
[0463]

[0464]
5.9.实施例#9
[0465]
7.4.3.4图片参数集rbsp语义
[0466][0467]
8.7.3变换系数的缩放过程
[0468]
此过程的输入为:
[0469]

规定当前亮度变换块相对于当前图片的左上方亮度样点的左上方样点的亮度位置(xtby,ytby),
[0470]

规定变换块宽度的变量ntbw,
[0471]

规定变换块高度的变量ntbh,
[0472]

规定编解码单元的预测模式的变量predmode,
[0473]

规定当前块的颜色分量的变量cidx。
[0474]
此过程的输出是具有元素d[x][y]的缩放变换系数的(ntbw)
×
(ntbh)阵列d。
[0475]

如果cidx等于0,则以下内容适用:
[0476][0477]
qp=qp
′yꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1129)
[0478]

否则,如果tucresmode[xtby][ytby]等于2,则以下内容适用:
[0479][0480]
qp=qp

cbcr
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1130)
[0481]

否则,如果cidx等于1,则以下内容适用:
[0482][0483]
qp=qp

cb
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1131)
[0484]

否则(cidx等于2),以下内容适用:
[0485][0486]
qp=qp

cr
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1132)
[0487]
修改量化参数qp,并按照如下方式推导变量rectnontsflag和bdshift:
[0488]

如果transform_skip_flag[xtby][ytby][cidx]等于0,则以下内容适用:
[0489]
qp=qp-(cu_act_enabled_flag[xtby][ytby]?5:0)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(1133)
[0490][0491]
rectnontsflag=(((log2(ntbw) log2(ntbh))&1)==1)?1:0
ꢀꢀꢀꢀꢀꢀꢀꢀ
(1134)
[0492][0493]

否则(transform_skip_flag[xtby][ytby][cidx]等于1),以下内容适用:
[0494]
qp=max(qpprimetsmin,qp)-(cu_act_enabled_flag[xtby][ytby]?5:0)
ꢀꢀ
(1136)
[0495][0496]
rectnontsflag=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1137)
[0497]
bdshift=10
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1138)
[0498]
按照如下方式推导变量bdoffset:
[0499]
bdoffset=(1《《bdshift)》》1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1139)
[0500]
列表levelscale[][]被规定为levelscale[j][k]={{40,45,51,57,64,72},{57,64,72,80,90,102}}其中j=0..1,k=0..5。
[0501]

[0502]
5.10.实施例#10
[0503]
7.4.3.4图片参数集rbsp语义
[0504][0505]
8.7.3变换系数的缩放过程
[0506]
此过程的输入为:
[0507]

规定当前亮度变换块相对于当前图片的左上方亮度样点的左上方样点的亮度位置(xtby,ytby),
[0508]

规定变换块宽度的变量ntbw,
[0509]

规定变换块高度的变量ntbh,
[0510]

规定编解码单元的预测模式的变量predmode,
[0511]

规定当前块的颜色分量的变量cidx。
[0512]
此过程的输出是具有元素d[x][y]的缩放变换系数的(ntbw)
×
(ntbh)阵列d。
[0513]

如果cidx等于0,则以下各项适用:
[0514]
qp=qp
′yꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1129)
[0515][0516]

否则,如果tucresmode[xtby][ytby]等于2,则以下内容适用:
[0517][0518][0519]
qp=qp

cbcr
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1130)
[0520]

否则,如果cidx等于1,则以下内容适用:
[0521]

如果cu_act_enabled_flag[xtby][ytby]等于1,则以下情况适用:
[0522][0523]
qp=qp

cb
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1131)
[0524]

否则(cidx等于2),以下内容适用:
[0525][0526]
qp=qp

cr
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1132)
[0527]
修改量化参数qp,并按照如下方式推导变量rectnontsflag和bdshift:
[0528]

如果transform_skip_flag[xtby][ytby][cidx]等于0,则以下内容适用:
[0529]
qp=qp-(cu_act_enabled_flag[xtby][ytby]?5:0)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1133)
[0530]
rectnontsflag=(((log2(ntbw) log2(ntbh))&1)==1)?1:0
ꢀꢀꢀꢀꢀꢀꢀꢀ
(1134)
[0531]

否则(transform_skip_flag[xtby][ytby][cidx]等于1),以下内容适用:
[0532]
qp=max(qpprimetsmin,qp)-(cu_act_enabled_flag[xtby][ytby]?5:0)
ꢀꢀ
(1136)
[0533][0534]
rectnontsflag=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1137)
[0535]
bdshift=10
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1138)
[0536]
按照如下方式推导变量bdoffset:
[0537]
bdoffset=(1《《bdshift)》》1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1139)
[0538]
列表levelscale[][]被规定为levelscale[j][k]={{40,45,51,57,64,72},{57,64,72,80,90,102}}其中j=0..1,k=0..5。
[0539]

[0540]
图7是示出示例视频处理系统700的框图,其中,可以实现本文公开的各种技术。各种实现可以包括系统700的部分或全部组件。系统700可以包括用于接收视频内容的输入702。视频内容可以以原始格式或未压缩格式接收,例如8或10位多分量像素值,或者可以以压缩或编码格式接收。输入702可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口,例如以太网、无源光网络(pon)等,以及无线接口,例如wi-fi或蜂窝接口。
[0541]
系统700可以包括编解码组件704,其可以实现本文档中描述的各种编解码或编码方法。编解码组件704可以将视频的平均比特率从输入702降低到编解码组件704的输出,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件704的输出可以被存储,也可以经由组件706所表示的连接的通信来传输。在输入702处接收的视频的存储的或传送的比特流(或编解码的)表示可以由组件708用于生成发送到显示接口710的像素值或可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但将理解的是,在编码器处使用编码工具或操作,并且将由解码器执行反转编码结果的对应的解码工具或操作。
[0542]
外围总线接口或显示接口的示例可以包括通用串行总线(usb)或高清多媒体接口(hdmi)或显示端口等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文档中描述的技术可以体现在各种电子设备中,例如移动电话、膝上型计算机、智能手机或能够执行数字数据处理和/或视频显示的其他设备。
[0543]
图8是视频处理装置800的框图。装置800可以用于实现本文所描述的一种或多种方法。装置800可以体现在智能手机、平板电脑、计算机、物联网(iot)接收器等中。装置800可以包括一个或多个处理器802、一个或多个存储器804和视频处理硬件806。处理器802可
以被配置为实现本文档(例如,图5a和5b)中描述的一个或多个方法。一个或多个存储器804可以用于存储用于实现本文所描述方法和技术的数据和代码。视频处理硬件806可以用于在硬件电路中实现本文档中描述的一些技术。在一些实施例中,硬件806可以部分或全部位于处理器802(例如图形处理器)中。
[0544]
图9是示出可以利用本公开的技术的示例视频编解码系统100的框图。如图9所示,视频编解码系统100可以包括源设备110和目的地设备120。源设备110生成可以被称为视频编码设备的编码视频数据。目的地设备120可以对源设备110生成的编码视频数据进行解码,源设备110可以被称为视频解码设备。源设备110可以包括视频源112、视频编码器114和输入/输出(i/o)接口116。
[0545]
视频源112可以包括诸如视频捕获设备之类的源、从视频内容提供商接收视频数据的接口和/或用于生成视频数据的计算机图形系统,或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法结构。i/o接口116可以包括调制器/解调器(调制解调器)和/或发射器。编码的视频数据可以通过网络130a经由i/o接口116直接发送到目的地设备120。编码的视频数据还可以存储在存储介质/服务器130b上,以供目的地设备120访问。
[0546]
目的地设备120可以包括i/o接口126、视频解码器124和显示设备122。
[0547]
i/o接口126可以包括接收器和/或调制解调器。i/o接口126可以从源设备110或存储介质/服务器130b获取编码的视频数据。视频解码器124可以对编码的视频数据进行解码。显示设备122可以向用户显示解码的视频数据。显示设备122可以与目的地设备120集成,或者可以位于目的地设备120的外部,目的地设备120被配置为与外部显示设备接合。
[0548]
视频编码器114和视频解码器124可以根据视频压缩标准(例如高效视频编解码(hevc)标准、通用视频编解码(vvm)标准和其他当前和/或帘外的标准)进行操作。
[0549]
图10是示出视频编码器200的示例的框图,视频编码器200可以是图9所示的系统100中的视频编码器114。
[0550]
视频编码器200可以被配置为执行本公开的任何或所有技术。在图10的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
[0551]
视频编码器200的功能组件可以包括分割单元201、可以包括模式选择单元203的预测单元202、运动估计单元204、运动补偿单元205和帧内预测单元206、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211,重构单元212、缓冲器213和熵编码单元214。
[0552]
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括块内复制(ibc)单元。ibc单元可以在ibc模式下执行预测,其中,至少一个参考图片是当前视频块所在的图片。
[0553]
此外,一些组件,例如运动估计单元204和运动补偿单元205可以被高度集成,但出于解释的目的,在图10的示例中被分别表示。
[0554]
分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器
300可以支持各种视频块尺寸。
[0555]
模式选择单元203可以例如基于错误结果选择编解码模式中的一种,帧内或帧间,并将得到的帧内或帧间编解码块提供给残差生成单元207以生成残差块数据,并提供给重构单元212以重构编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内预测和帧间预测(ciip)模式的组合,其中,预测基于帧间预测信号和帧内预测信号。模式选择单元203还可以在帧间预测的情况下为块选择运动向量的分辨率(例如,子像素或整数像素精度)。
[0556]
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可以基于运动信息和来自缓冲器213的图片(与当前视频块相关联的图片除外)的解码样点来确定当前视频块的预测视频块。
[0557]
运动估计单元204和运动补偿单元205可以例如依赖于当前视频块是在i条带、p条带还是b条带中,对当前视频块执行不同的操作。
[0558]
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。然后,运动估计单元204可以生成参考索引,该索引指示包含参考视频块的列表0或列表1中的参考图片,以及指示当前视频块和参考视频块之间的空域位移的运动向量。运动估计单元204可以输出参考索引、预测方向指示符和运动向量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
[0559]
在其他示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可以在列表1中的参考图片中搜索当前视频块的另一参考视频块。然后,运动估计单元204可以生成参考索引,该索引指示包含参考视频块的列表0和列表1中的参考图片,以及指示参考视频块和当前视频块之间的空域位移的运动向量。运动估计单元204可以输出当前视频块的参考索引和运动向量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
[0560]
在一些示例中,运动估计单元204可以输出用于解码器的解码处理的运动信息的完整集合。
[0561]
在一些示例中,运动估计单元204可能不输出当前视频的运动信息的完整集合。相反,运动估计单元204可以参考另一视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与邻近视频块的运动信息足够相似。
[0562]
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示值,该值向视频解码器300指示当前视频块具有与另一视频块相同的运动信息。
[0563]
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中识别另一视频块和运动向量差(mvd)。运动向量差指示当前视频块的运动向量与所指示视频块的运动向量之间的差。视频解码器300可以使用所指示视频块的运动向量和运动向量差来确定当前视频块的运动向量。
[0564]
如上所讨论的,视频编码器200可以预测地信令通知运动向量。可以由视频编码器
200实现的预测信令技术的两个示例包括高级运动向量预测(amvp)和merge模式信令。
[0565]
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中其他视频块的解码样点生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
[0566]
残差生成单元207可以通过从当前视频块减去(例如,用减号指示)当前视频块的预测视频块来生成当前视频块的残差数据。当前视频块的残余数据可以包括对应于当前视频块中的样点的不同样点分量的残差视频块。
[0567]
在其他示例中,例如在跳过模式下,对于当前视频块可能没有当前视频块的残差数据,并且残差生成单元207可能不执行减法操作。
[0568]
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块,为当前视频块生成一个或多个变换系数视频块。
[0569]
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(qp)值对与当前视频块相关联的变换系数视频块进行量化。
[0570]
逆量化单元210和逆变换单元211可以分别对变换系数视频块应用逆量化和逆变换,以根据变换系数视频块重构残差视频块。重构单元212可以将重构的残差视频块添加到来自预测单元202生成的一个或多个预测视频块的对应样点中,以产生与当前块相关联的重构视频块,以存储在缓冲器213中。
[0571]
在重构单元212重构视频块之后,可以执行环路滤波操作以减少视频块中的视频块伪像。
[0572]
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收到数据时,熵编码单元214可以执行一个或多个熵编码操作以生成熵编码数据并输出包括熵编码数据的比特流。
[0573]
图11是示出视频解码器300的示例的框图,视频解码器300可以是图9所示的系统100中的视频解码器114。
[0574]
视频解码器300可以被配置为执行本公开的任何或所有技术。在图11的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
[0575]
在图11的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重构单元306和缓冲器307。在一些示例中,视频解码器300可以执行通常与关于视频编码器200(图10)描述的编码过程相反的解码过程。
[0576]
熵解码单元301可以取回编码比特流。编码比特流可以包括熵编码视频数据(例如,视频数据的编码块)。熵解码单元301可以对熵编码视频数据进行解码,并且运动补偿单元302可以从熵解码视频数据确定运动信息,该运动信息包括运动向量、运动向量精度、参考图片列表索引和其他运动信息。例如,运动补偿单元302可以通过执行amvp和merge模式来确定这种信息。
[0577]
运动补偿单元302可以产生运动补偿块,可能基于插值滤波器执行插值。用于以子像素精度使用的插值滤波器的标识符可以被包括在语法元素中。
[0578]
运动补偿单元302可以使用视频编码器20在视频块编码期间使用的插值滤波器来
计算参考块的子整数像素的插值。运动补偿单元302可以根据接收到的语法信息确定视频编码器200使用的插值滤波器,并使用插值滤波器来产生预测块。
[0579]
运动补偿单元302可以使用一些语法信息来确定用于对编码视频序列的帧和/或条带进行编码的块的尺寸、描述如何对编码视频序列的图片的每个宏块进行分割的分割信息、指示如何对每个分区进行编码的模式、每个帧间编码块的一个或多个参考帧(和参考帧列表)、以及用于对编码视频序列进行解码的其他信息。
[0580]
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来根据空域邻近的块形成预测块。逆量化单元303对比特流中提供并由熵解码单元301解码的量化视频块系数进行逆量化(即,去量化)。逆变换单元303应用逆变换。
[0581]
重构单元306可以将残差块与运动补偿单元202或帧内预测单元303生成的对应预测块求和,以形成解码块。如果需要,去方块滤波器还可以被应用于过滤解码块,以便移除块性伪像。解码视频块随后被存储在缓冲器307中,缓冲器307为后续运动补偿/帧内预测提供参考块,并且还产生解码视频以在显示设备上呈现。
[0582]
图12示出了可以实现上述技术方案的示例方法,例如,图7-11中所示的实施例。
[0583]
如图12所示,视频处理的示例方法1200的流程图包括,在操作1210处,确定视频的当前视频块的编解码模式包括自适应颜色变换(act)模式,以及为编解码当前视频块启用色度残差联合编解码(jccr)编解码工具。
[0584]
在操作1220处,方法1200包括基于该确定执行视频和视频的比特流之间的转换,用于编解码当前视频块的量化参数偏移基于jccr编解码工具使用的模式。
[0585]
下面提供了一些实施例优选的解决方案列表。
[0586]
1.一种视频处理方法,包括确定视频的当前视频块的编解码模式包括自适应颜色变换(act)模式,以及为编解码当前视频块启用色度残差联合编解码(jccr)编解码工具,以及基于该确定执行视频和视频的比特流之间的转换,其中,用于对当前视频块进行编解码的量化参数偏移基于jccr编解码工具使用的模式。
[0587]
2.根据解决方案1的方法,其中,act模式使用ycgco颜色变换。
[0588]
3.根据解决方案2的方法,其中,由于jccr工具的模式为1,qp偏移为-5或-6。
[0589]
4.根据解决方案2的方法,其中,由于jccr工具的模式为2,qp偏移为-7。
[0590]
5.根据解决方案2的方法,其中,由于jccr工具的模式为3,qp偏移为-4或-5。
[0591]
6.根据解决方案1的方法,其中,act模式使用ycgco-r颜色变换。
[0592]
7.根据解决方案6的方法,其中,由于jccr工具的模式为1,qp偏移为0或1。
[0593]
8.根据解决方案6的方法,其中,由于jccr工具的模式为2,qp偏移为-1。
[0594]
9.根据解决方案6的方法,其中,由于jccr工具的模式为3,qp偏移为1或2。
[0595]
10.根据解决方案1至9中的任一项的方法,其中,qp偏移为act_qp_offset。
[0596]
11.根据解决方案1至10中的任一项的方法,其中,转换包括从比特流表示解码视频。
[0597]
12.根据解决方案1至10中的任一项的方法,其中,转换包括将视频编码为比特流表示。
[0598]
13.根据解决方案1至10中的任一项的方法,其中,转换包括根据当前视频块生成比特流,并且其中所述方法进一步包括将所述比特流存储在非暂时性计算机可读存储介质
中。
[0599]
14.一种将表示视频的比特流存储到计算机可读存储介质的方法,包括根据权利要求1至10中任一项或多项所述的方法来根据视频生成比特流;以及将比特流写入计算机可读存储介质。
[0600]
15.一种视频处理装置,包括处理器,该处理器被配置为实现根据权利要求1至14中任一项或多项所述的方法。
[0601]
16.一种计算机可读介质,其上存储有指令,这些指令在被执行时使得处理器实现根据权利要求1至14中任一项或多项所述的方法。
[0602]
17.一种计算机可读介质,其存储根据权利要求1至14中任一项或多项生成的比特流表示。
[0603]
18.一种用于存储比特流表示的视频处理装置,其中,该视频处理装置被配置为实现根据权利要求1至14中任一项或多项所述的方法。
[0604]
接下来提供一些实施例优选的解决方案的另一列表。
[0605]
p1.一种视频处理方法,包括基于是否启用视频块的自适应颜色变换(act)模式和/或亮度bdpcm模式的使用,来确定是否为视频的视频块启用基于色度块的增量脉冲编解码调制(bdpcm)模式;以及根据确定执行视频块和视频的比特流表示之间的转换。
[0606]
p2.根据解决方案p1的方法,其中,与启用色度bdpcm模式相关联的第一标志的第一值的信令是基于为视频块启用的act模式的信令和与亮度bdpcm模式的使用相关联的第二标志的第二值的信令来确定的。
[0607]
p3.根据解决方案p2的方法,其中,第一标志的第一值响应于act模式被启用以及第二标志的第二值具有假值而具有假值。
[0608]
p4.根据解决方案p2的方法,其中,第一标志的第一值响应于第二标志的第二值具有真值而具有真值。
[0609]
p5.根据解决方案p1的方法,其中,视频块的act模式的信令有条件地基于用于视频块的亮度样点和色度样点的相同bdpcm预测方向。
[0610]
p6.根据解决方案p5的方法,其中,act模式的信令在色度bdpcm模式和亮度bdpcm模式的信令之后被指示。
[0611]
p7.根据解决方案p1的方法,其中,响应于act模式的使用被启用,根据指示亮度bdpcm模式的第二预测方向的第二值推导指示色度bdpcm模式的第一预测方向的第一值。
[0612]
p8.根据解决方案p7的方法,其中,指示色度bdpcm模式的第一预测方向的第一值与指示亮度bdpcm模式的第二预测方向的第二值相同。
[0613]
p9.根据解决方案p8的方法,其中,色度bdpcm模式的第一预测方向和亮度bdpcm模式的第二预测方向在水平方向上。
[0614]
p10.根据解决方案p8的方法,其中,色度bdpcm模式的第一预测方向和亮度bdpcm模式的第二预测方向在垂直方向上。
[0615]
p11.根据解决方案p1的方法,其中,响应于act模式的使用被禁用,指示色度bdpcm模式的第一预测方向的第一值为零。
[0616]
p12.一种视频处理方法,包括基于视频块的自适应颜色变换(act)模式的使用是否被启用,来确定是否为视频的视频块启用基于块的增量脉冲编解码调制(bdpcm)模式;以
及根据确定执行视频块和视频的比特流表示之间的转换。
[0617]
p13.根据解决方案p12的方法,其中,响应于对视频块启用act模式,对视频块禁用bdpcm模式。
[0618]
p14.根据解决方案p13的方法,其中,在指示act模式的第二标志之后信令通知指示bdpcm模式的第一标志。
[0619]
p15.根据解决方案p13的方法,其中,没有信令通知指示bdpcm模式的标志,其中,该标志被确定为假值或零。
[0620]
p16.根据解决方案p12的方法,其中,响应于对视频块启用bdpcm模式,对视频块禁用act模式。
[0621]
p17.根据解决方案p16的方法,其中,在指示act模式的第二标志之前信令通知指示bdpcm模式的第一标志。
[0622]
p18.根据解决方案p16的方法,其中,没有信令通知指示act模式的标志,其中,该标志被确定为假值或零。
[0623]
p19.根据解决方案p12至p18中任一种的方法,其中,bdpcm模式包括亮度bdpcm模式和/或色度bdpcm模式。
[0624]
p20.根据解决方案p1的方法,其中,当色度bdpcm模式和亮度bdpcm模式与不同的预测模式相关联时,应用act模式。
[0625]
p21.根据解决方案p20的方法,其中,在色度bdpcm模式或亮度bdpcm模式之后应用前向act模式。
[0626]
p22.根据解决方案p1至p21中的任一种的方法,其中,响应于act模式被启用,对视频块的量化参数(qp)进行剪裁。
[0627]
p23.根据解决方案p22的方法,其中,用于剪裁qp的剪裁函数被定义为(l,h,x),其中l是输入x的最低可能值,并且h是输入x的最高可能值。
[0628]
p24.根据解决方案p23的方法,其中,l等于零。
[0629]
p25.根据解决方案p23的方法,其中,h等于63。
[0630]
p26.根据解决方案p22的方法,其中,在对act模式调整qp之后,对视频块的qp进行剪裁。
[0631]
p27.根据解决方案p23的方法,其中,响应于变换跳过被应用于视频块,l等于变换跳过模式的最小允许qp。
[0632]
p28.根据解决方案p23至p26中任一种的方法,其中l、h、m、n和/或k是整数,其取决于(i)在dps/sps/vps/pps/aps/图片标头/条带标头/片组标头/最大编解码单元(lcu)/编解码单元(cu)/lcu行/lcu组/tu/pu块/视频编解码单元中信令通知的消息,(ii)cu/pu/tu/块/视频编解码单元的位置,(iii)包含沿边的样点的块的编解码模式,(iv)被应用于包含沿边的样点的块的变换矩阵,(v)当前块和/或其邻近块的块尺寸/块形状,(vi)颜色格式(例如4:2:0、4:4:4、rgb或yuv)的指示,(vii)编解码树结构(例如双树或单树),(viii)条带/片组类型和/或图片类型,(ix)颜色分量(例如,仅可以被应用于cb或cr),(x)时域层id,或(xi)标准的档次/级别/层级。
[0633]
p29.根据解决方案p23至p26中任一种的方法,其中,l、h、m、n和/或k被信令通知给解码器。
[0634]
p30.根据解决方案p30的方法,其中,颜色格式为4:2:0或4:2:2。
[0635]
p31.根据解决方案p1至p30中的任一种的方法,其中,在序列、图片、条带、片、砖块或视频区域级别信令通知act模式或bdpcm模式或色度bdpcm模式或亮度bdpcm模式的指示。
[0636]
p32.一种视频处理方法,包括确定对启用了自适应颜色变换(act)模式的视频的视频块使用色度残差联合编解码(jccr)工具;以及基于该确定执行视频块和视频的比特流表示之间的转换,其中,act模式的量化参数(qp)基于jccr工具的模式。
[0637]
p33.根据解决方案p32所述的方法,其中,确定jccr工具的模式为1时,qp为-5或-6。
[0638]
p34.根据溶液p32所述的方法,其中,确定jccr工具的模式为3时,qp为-4或-5。
[0639]
p35.根据解决方案p1至p34中的任一项所述方法,其中,转换包括对编解码表示进行解析和解码以生成视频像素。
[0640]
p36.根据解决方案p1至p34中的任一项所述的方法,其中,转换包括通过对视频进行编码来生成编解码表示。
[0641]
p37.一种视频解码设备,包括处理器,该处理器被配置为实现根据解决方案p1至p36中的一个或多个所述的方法。
[0642]
p38.一种视频编码设备,包括处理器,该处理器被配置为实现解决方案p1至p36中的一个或多个所述的方法。
[0643]
p39.一种其上存储有计算机代码的计算机程序产品,该代码在由处理器执行时使得处理器实现根据解决方案p1至p36所述的方法。
[0644]
在本文档中,术语“视频处理”可以指代视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示转换为对应的比特流表示期间应用,反之亦然。例如,当前视频块的比特流表示可以对应于在比特流内共置或分散在不同位置的比特,如语法所定义的。例如,宏块可以根据变换和编解码的错误残差值进行编码,并且还可以使用标头中的比特和比特流中的其他字段进行编码。
[0645]
本文档中描述的公开和其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路中,或在计算机软件、固件或硬件(包括本文档中公开的结构及其结构等同物)中实现,或在其一个或多个的组合中实现。所公开的实施例和其他实施例可以被实现为一个或多个计算机程序产品,即编码在计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理设备执行或控制其操作。计算机可读介质可以是机器可读存储装置、机器可读存储基板、存储装置、影响机器可读传播信号的物质的组合物,或者一个或多个它们的组合。术语“数据处理设备”包含用于处理数据的所有设备、装置和机器,例如包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,设备还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或其一个或多个的组合的代码。传播信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成用于编码信息以传输到合适的接收器设备。
[0646]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且其可以以任何形式部署,包括作为独立程序或模块、组件、子例程或适合在计算环境中使用的其他单元。计算机程序不一定与文件系统中的文件相对应。程序可以被存储在保存其他程序或数据的文件部分(例如,标记语言文档中存储的
一个或多个脚本)、专用于所讨论程序的单个文件或多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可以被部署以在一台计算机上执行,也可以被部署以在位于一个站点或分布在多个站点并通过通信网络互连的多台计算机上执行。
[0647]
本文档中描述的过程和逻辑流可以由一个或多个可编程处理器执行,可编程处理器通过对输入数据进行操作并生成输出来执行一个或多个计算机程序以执行功能。过程和逻辑流还可以由专用逻辑电路执行,并且设备也可以被实现为专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。
[0648]
适用于执行计算机程序的处理器例如包括通用微处理器和专用微处理器,以及任何类型数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者中接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器装置。通常,计算机还将包括用于存储数据的一个或多个大容量存储装置(例如,磁盘、磁光盘或光盘),或被可操作地耦合以从其中接收数据或将数据传输到其中或两者。然而,计算机不需要有这样的装置。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器装置,包括例如半导体存储器装置,例如eprom、eeprom和闪速存储器装置;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd-rom和dvd-rom磁盘。处理器和存储器可以由专用逻辑电路补充或合并到专用逻辑电路中。
[0649]
尽管本专利文档包含许多细节,但这些细节不应解释为对任何主题或可能要求保护的内容的范围的限制,而应解释为对特定技术的特定实施例可能特定的特征的描述。本专利文档中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反地,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或在任何合适的子组合中实现。此外,尽管特征可以在上文中描述为在某些组合中起作用,并且甚至最初也是这样声明的,但在一些情况下可以从所声明的组合中删除一个或多个特征,并且所声明的组合可以指向子组合或子组合的变体。
[0650]
类似地,尽管在附图中以特定的顺序描绘操作,但这不应理解为要求按照所示的特定顺序或序列顺序执行这样的操作,或要求执行所有示出的操作,以获得理想的结果。此外,在本专利文档中描述的实施例中,各种系统组件的分离不应理解为在所有实施例中都需要这种分离。
[0651]
仅描述了少数实现和示例,并且可以基于本专利文档中描述和说明的内容来进行其他实现、增强和变体。
再多了解一些

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

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

相关文献