视频编解码中的量化参数的覆写的制作方法

文档序号:31950050发布日期:2022-10-26 08:04阅读:77来源:国知局
视频编解码中的量化参数的覆写1.相关申请的交叉引用2.根据适用的专利法和/或巴黎公约的规定,本技术及时要求于2020年1月14日提交的国际专利申请no.pct/cn2020/072105的优先权和利益。出于依据法律的全部目的,上述申请的全部公开内容通过引用并入,作为本技术公开内容的一部分。
技术领域
:3.本专利文档涉及图像和视频编解码和解码。
背景技术
::4.数字视频占据了互联网和其他数字通信网络上的最大带宽使用。随着能够接收和显示视频的连接用户设备的数量增加,预计数字视频使用的带宽需求将继续增长。技术实现要素:5.本文档公开了视频编解码和解码的系统、方法和设备,包括量化参数的信令通知和覆写(overwriting)。6.在一个示例方面中,公开了一种视频处理方法。该方法包括,对于使用自适应颜色变换(adaptivecolortransform,act)模式编解码的视频的当前视频块,确定是否为当前视频块启用色度残差联合编解码(jointcodingofchromaresidual,jccr)编解码工具;以及基于该确定执行视频和视频的比特流之间的转换,其中,比特流符合规则,并且其中,该规则规定,当启用jccr编解码工具时,信令通知用于编解码当前视频块的一个或多个量化参数(qp)偏移。7.在另一个示例方面中,公开了一种视频处理方法。该方法包括,执行视频的当前视频块和视频的比特流之间的转换,其中,比特流符合格式规则,并且其中,该格式规则规定,基于当前视频块的编解码信息推导或信令通知增量量化参数(qp)的方式。8.在又一个示例方面中,公开了一种视频处理方法。该方法包括,执行视频的当前视频块和视频的比特流之间的转换,其中,比特流符合格式规则,并且其中,该格式规则规定,在与当前视频块相关联的图片参数集(pps)中信令通知用于编解码当前视频块的一个或多个量化参数(qp)偏移,而与在与当前视频块相关联的序列参数集(sps)中信令通知的信息无关。9.在又一个示例方面中,公开了一种视频处理方法。该方法包括,执行视频的当前视频块和视频的比特流之间的转换,其中,比特流符合格式规则,并且其中,该格式规则规定视频级别,在视频级别上信令通知用于编解码当前视频块的一个或多个量化参数(qp)偏移,其中,视频级别为第一级别或低于第一级别的第二级别。10.在又一个示例方面中,公开了一种视频处理方法。该方法包括,执行视频的当前视频块和视频的比特流之间的转换,其中,比特流符合格式规则,并且其中,该格式规则规定是否或如何将覆写机制用于信令通知用于编解码当前视频块的量化参数(qp)偏移。11.在又一个示例方面中,公开了一种视频编码器装置。该视频编码器装置包括被配置为实现上述方法的处理器。12.在又一个示例方面中,公开了一种视频解码器装置。该视频解码器装置包括被配置为实现上述方法的处理器。13.在又一个示例方面中,公开了一种其上存储有代码的非暂时性计算机可读介质。该代码以处理器可执行代码的形式实施本文描述的方法之一。14.在整个本文档中都描述了这些和其他特征。附图说明15.图1示出了环路自适应颜色变换(act)的屏幕内容编解码(scc)解码器流程。16.图2图示了使用act的解码过程。17.图3示出了以调色板模式编解码的块的示例。18.图4示出了使用调色板预测符来信令通知调色板条目的示例。19.图5示出了水平和垂直遍历扫描的示例。20.图6示出了调色板索引的编解码示例。21.图7是示出可以实施本文公开的各种技术的示例视频处理系统的框图。22.图8是用于视频处理的示例硬件平台的框图。23.图9是说明根据本公开的一些实施例的视频编解码系统的框图。24.图10是说明根据本公开的一些实施例的编码器的框图。25.图11是说明根据本公开的一些实施例的解码器的框图。26.图12-16示出了视频处理的示例方法的流程图。具体实施方式27.在本文档中使用章节标题是为了便于理解,并且不将每个章节中公开的技术和实施例的适用性仅限于该章节。此外,在一些描述中使用h.266术语只是为了便于理解而不是为了限制所公开技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。28.1初步讨论29.视频编解码标准主要是通过众所周知的itu-t和iso/iec标准发展而来的。itu-t制定了h.261和h.263,iso/iec制定了mpeg-1和mpeg-4视觉,这两个组织联合制定了h.262/mpeg-2视频标准、30.本专利文档涉及图像/视频编解码技术。具体来说,涉及图像/视频编解码中的自适应颜色变换。其可以应用于正在开发的标准,例如多功能视频编解码。其也可以适用于未来的视频编解码标准或视频编解码器。31.2视频编解码介绍32.视频编解码标准主要是通过众所周知的itu-t和iso/iec标准发展而来的。itu-t制定了h.261和h.263,iso/iec制定了mpeg-1和mpeg-4视觉,这两个组织联合制定了h.262/mpeg-2视频标准、h.264/mpeg-4高级视频编解码(advancedvideocoding,avc)标准和h.265/hevc标准。自h.262以来,视频编解码标准是基于混合视频编解码结构,其中使用了时域预测加变换编解码。为了探索hevc之外的未来视频编解码技术,vceg和mpeg于2015年联合成立了联合视频探索团队(jointvideoexplorationteam,jvet)。此后,jvet采用了许多新方法,并将其放入名为联合探索模型(jointexplorationmodel,jem)的参考软件中。2018年4月,vceg(q6/16)和iso/iecjtc1sc29/wg11(mpeg)成立了联合视频专家团队(jointvideoexpertteam,jvet),致力于vvc标准的研究,目标是相较于hevc降低50%的比特率。33.vvc草案的最新版本,即多功能视频编解码(草案7)可在以下网址找到:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/16_geneva/wg11/jvet-p2001-v14.zip。34.vvc的最新参考软件,名为vtm,可在以下网址找到:35.https://vcgit.hhi.fraunhofer.de/jvet/vvcsoftware_vtm/tags/vtm-7.02.1hevc-scc中的自适应颜色变换(act)36.在第18届jct-vc会议(2014年6月30日至7月9日,日本札幌)上,自适应颜色变换(act)被采用到hevc屏幕内容编解码(scc)测试模型2中。act使用基于ycocg和ycocg-r颜色空间的颜色变换矩阵在预测残差域中执行环路颜色空间转换。使用标志cu_residual_act_flag在cu级别自适应地打开或关闭act。act可以与跨分量预测(crosscomponentprediction,ccp)结合使用,ccp是hevc中已经支持的另一种帧间分量去相关方法。当两者都启用时,在解码器处的ccp之后执行act,如图1所示。37.2.1.1act中的颜色空间转换38.act中的颜色空间转换是基于ycocg-r变换。有损编解码和无损编解码(cu_transquant_bypass_flag=0或1)都使用相同的逆变换,但在有损编解码的情况下,将附加的1位左移应用于co和cg分量。具体来说,以下颜色空间变换用于有损和无损编解码的正向和后向转换:39.有损编解码的正向变换(非归一化的):[0040][0041]无损编解码的正向变换(非归一化的):[0042]co=r-b[0043]t=b+(co>>1)[0044]cg=(g-t)[0045]y=t+(cg>>1)[0046]后向变换(归一化的):[0047][0048]正向颜色变换是未归一化的,其范数对于y和cg大致等于对于co等于为了补偿正向变换的非归一化性质,(-5,-3,-5)的增量qp分别应用于(y,co,cg)。换句话说,对于cu的给定的“正常(normal)”qp,如果act开启,那么对于(y,co,cg),设置量化参数分别等于(qp-5,qp-3,qp-5)。调整后的量化参数只影响cu中残差的量化和逆量化。对于去方块,仍然使用“正常”qp值。将剪裁到0应用于调整后的qp值,以确保调整后的qp值不会变为负值。请注意,该qp调整仅适用于有损编解码,因为在无损编解码中不执行量化(cu_transquant_bypass_flag=1)。在scm4中,引入了附加的qp偏移值的pps/条带级别信令通知。当应用自适应颜色变换时,可以将这些qp偏移值而非(-5,-3,-5)用于cu。[0049]当颜色分量的输入比特深度不同时,在act期间应用适当的左移使样点比特深度与最大比特深度对准,并在act之后应用适当的右移来恢复原始样点比特深度。[0050]2.2vvc中的act[0051]图2图示了应用act的vvc的解码流程图。如图2所示,颜色空间转换是在残差域中进行的。具体来说,在逆变换后引入了一个附加的解码模块,即逆act,以将残差从ycgco域转换回原始域。[0052]在vvc中,除非最大变换尺寸小于一个编解码单元(codingunit,cu)的宽度或高度,否则一个cu叶节点也被用作变换处理的单元。因此,在提议的实现方式中,对一个cu信令通知act标志以选择对其残差进行编解码的颜色空间。此外,按照hevcact设计,对于帧间和ibccu,act仅在cu中至少存在一个非零系数时启用。对于帧内cu,只有当色度分量选择与亮度分量相同的帧内预测模式(即dm模式)时,才启用act。[0053]用于颜色空间转换的核心转换与用于hevc的核心转换保持相同。此外,与hevc中的act设计相同,为了补偿颜色变换前后残差信令的动态范围变化,将(-5,-5,-3)的qp调整应用于变换残差。[0054]另一方面,正向和逆向颜色变换需要访问所有三个分量的残差。相应地,在提议的实现方式中,act在以下两种情况下被禁用,其中并非三个分量的所有残差都可用。[0055]1.分离树分割:当使用分离树时,一个ctu内的亮度和色度样点被不同的结构分割。这导致亮度树中的cu仅包含亮度分量,而色度树中的cu仅包含两个色度分量。[0056]2.帧内子分割预测(intrasub-partitionprediction,isp):isp子分割仅应用于亮度,而色度信令被编解码而不被划分。在当前的isp设计中,除了最后一个isp子分割外,其他子分割只包含亮度分量。[0057]vvc草案中的编解码单元草案如下所示。[0058][0059][0060][0061][0062][0063][0064][0065][0066][0067]cu_act_enabled_flag等于1表示当前编解码单元的残差在ycgco颜色空间中编解码。cu_act_enabled_flag等于0表示当前编解码单元的残差在原始颜色空间中编解码。当cu_act_enabled_flag不存在时,推断其为等于0。[0068]2.3vvc中的变换跳过模式[0069]与在hevc中一样,可以使用变换跳过模式对块的残差进行编解码,该模式完全跳过块的变换过程。此外,对于变换跳过块,使用在sps中信令通知的最小允许量化参数(qp),其在vtm7.0中被设置为等于6*(internalbitdepth–inputbitdepth)+4。[0070]2.4基于块的增量脉冲编解码调制(block-baseddeltapulsecodemodulation,bdpcm)[0071]在jvet-m0413中,提出了一种基于块的增量脉冲编解码调制(bdpcm)来有效地对屏幕内容进行编解码,然后将其应用到vvc中。[0072]bdpcm中使用的预测方向可以是垂直和水平预测模式。通过类似于帧内预测的预测方向(水平或垂直预测)上的样点复制对整个块进行帧内预测。对残差进行量化,并对量化残差与其预测符(水平或垂直)量化值之间的差值进行编解码。这可以如下描述:对于尺寸为m(行)×n(列)的块,令ri,j,0≤i≤m-1,0≤j≤n-1为使用来自上方或左侧块边界样点的未滤波样点水平(逐行复制预测块的左临近像素值)或垂直(将顶部临近线复制到预测块中的每一行)执行帧内预测后的预测残差。[0073]令q(ri,j),0≤i≤m-1,0≤j≤n-1表示残差ri,j的量化版本,其中残差是原始块与预测块之间的差异。然后将块dpcm应用于量化的残差样点,从而得到具有元素的修改后的m×n阵列当信令通知垂直bdpcm时:[0074][0075]对于水平预测,应用类似的规则,残差量化样点由下式获得[0076][0077]剩余量化样点被发送到解码器。[0078]在解码器端,将上述计算反过来以产生q(ri,j),0≤i≤m-1,0≤j≤n-1。[0079]对于垂直预测情况,[0080][0081]对于水平情况,[0082][0083]将逆量化残差q-1(q(ri,j))添加到块内预测值以产生重构样点值。[0084]该方案的主要好处是,可以在系数解析期间实时完成逆bdpcm,只需在解析系数时添加预测符,或者可以在解析后执行。[0085]在vtm7.0中,bdpcm也可以应用于色度块,并且色度bdpcm具有与亮度bdpcm模式不同的标志和bdpcm方向。[0086]2.5变换系数的缩放过程[0087]jvet-p2001-ve中有关变换系数缩放过程的文本如下。[0088]该过程的输入为:[0089]–亮度位置(xtby,ytby),指定当前亮度变换块的左上角样点相对于当前图片的左上角亮度样点,[0090]–变量ntbw,指定变换块宽度,[0091]–变量ntbh,指定变换块高度,[0092]–变量predmode,指定编解码单元的预测模式[0093]–变量cidx,指定当前块的颜色分量,[0094]该过程的输出是具有元素d[x][y]的缩放变换系数的(ntbw)×(ntbh)阵列d。[0095]量化参数qp推导如下:[0096]–如果cidx等于0,则以下适用:[0097]qp=qp′yꢀꢀ(1129)[0098]–否则,如果tucresmode[xtby][ytby]等于2,则以下适用:[0099]qp=qp′cbcrꢀꢀ(1130)[0100]–否则,如果cidx等于1,则以下适用:[0101]qp=qp′cbꢀꢀ(1131)[0102]–否则(cidx等于2),以下适用:[0103]qp=qp′crꢀꢀ(1132)[0104]量化参数qp被修改,变量rectnontsflag和bdshift推导如下:[0105]–如果transform_skip_flag[xtby][ytby][cidx]等于0,则以下适用:[0106]qp=qp-(cu_act_enabled_flag[xtby][ytby]?5:0)(1133)[0107]rectnontsflag=(((log2(ntbw)+log2(ntbh))&1)==1)?1:0(1134)[0108]bdshift=bitdepth+rectnontsflag+((log2(ntbw)+log2(ntbh))/2)-5+pic_dep_quant_enabled_flag(1135)[0109]–否则(transform_skip_flag[xtby][ytby][cidx]等于1),以下适用:[0110]qp=max(qpprimetsmin,qp)-(cu_act_enabled_flag[xtby][ytby]?5:0)(1136)[0111]rectnontsflag=0ꢀꢀ(1137)[0112]bdshift=10ꢀꢀ(1138)[0113]变量bdoffset推导如下:[0114]bdoffset=(1《《bdshift)》》1ꢀꢀ(1139)[0115]指定列表levelscale[][]为levelscale[j][k]={{40,45,51,57,64,72},{57,64,72,80,90,102}}其中,j=0..1,k=0..5。[0116]设置(ntbw)x(ntbh)阵列dz为等于(ntbw)x(ntbh)阵列transcoefflevel[xtby][ytby][cidx]。[0117]对于其中x=0..ntbw-1,y=0..ntbh-1的缩放变换系数d[x][y]的推导,以下适用:[0118]–中间缩放因子m[x][y]推导如下:[0119]–如果以下一个或多个条件为真,则m[x][y]设置为等于16:[0120]–sps_scaling_list_enabled_flag等于0。[0121]–pic_scaling_list_present_flag等于0。[0122]–transform_skip_flag[xtby][ytby][cidx]等于1。[0123]–scaling_matrix_for_lfnst_disabled_flag等于1且lfnst_idx[xtby][ytby]不等于0。[0124]–否则,以下适用:[0125]–基于表36中规定的predmode、cidx、ntbw和ntbh推导变量id,变量log2matrixsize推导如下:[0126]log2matrixsize=(id《2)?1:(id《8)?2:3ꢀꢀ(1140)[0127]–缩放因子m[x][y]推导如下:[0128]m[x][y]=scalingmatrixrec[id][i][j],其中,i=(x《《log2matrixsize)》》log2(ntbw),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中的像素由一小组代表性颜色值表示。该组被称为调色板。也可以通过信令通知之后为(可能被量化的)分量值的逸出(escape)符号来指示调色板之外的样点。这种像素被称为逸出像素。调色板模式如图3所示。如图3所示,对于具有三个coloc分量(亮度和两个色度分量)的每个像素,建立调色板索引,并且可以根据调色板中找到的值重构块。[0155]2.6.2调色板条目的编解码[0156]对于调色板条目的编解码,保留调色板预测符。调色板的最大尺寸以及调色板预测符在sps中信令通知。在hevc-scc中,在pps中引入了palette_predictor_initializer_present_flag。当此标志为1时,用于初始化调色板预测符的条目在比特流中信令通知。调色板预测符在每个ctu行、每个条带和每个片的开始部分进行初始化。根据palette_predictor_initializer_present_flag的值,将调色板预测符重置为0或使用在pps中信令通知的调色板预测符初始化符(intializer)条目进行初始化。在hevc-scc中,启用了尺寸为0的调色板预测符初始化符,以允许在pps级别明确禁用调色板预测符初始化。[0157]对于调色板预测符中的每个条目,都会发送一个重复使用标志以指示其是否为当前调色板的一部分。这在图4中进行了图示。使用零长度编解码发送重复使用标志。在此之后,新调色板条目的数量使用0阶的指数哥伦布(exponentialgolomb,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的实际索引值。索引的数量和索引值都以旁路模式编解码。这会将与索引相关的旁路二进制数(bins)组合在一起。然后以交错方式信令通知调色板样点模式(如果需要)和运行。最后,将整个cu的逸出样点对应的分量逸出值分组在一起,并以旁路模式进行编解码。逸出符号的二值化是3阶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]vvc采用了基于行的cg调色板模式。在该方法中,调色板模式的每个cu基于遍历扫描模式被划分为m个样点(本测试中m=16)的多段。每个段中调色板运行编解码的编码顺序如下:对于每个像素,信令通知一个上下文编解码二进制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]逸出样点采用三阶指数哥伦布(eg)作为二值化方法,但逸出样点的二值化不依赖于量化参数(qp)。[0176]4技术方案[0177]以下描述的技术方案应被视为解释一般概念的示例。不应狭隘地解释这些技术方案。此外,这些技术方案可以以任何方式组合。[0178]在以下描述中,术语“块”可以表示视频区域,例如编解码单元(cu)、预测单元(predictionunit,pu)、变换单元(transformunit,tu),其可以包含三个颜色分量中的样点。术语“bdpcm”不仅限于vvc中的设计,还可以表示使用不同预测信令生成方法对残差进行编解码的技术。[0179]在以下描述中,使用色度残差的联合编解码(jccr)模式编解码的视频块包括仅信令通知一个色度残差块(例如,cb残差块),基于信令通知的色度残差块和指示特定jccr模式的一个或多个标志(例如,在变换单元级别)推导另一个色度残差块(例如,cr残差块)。如上所述,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.替代地,此外,可以在信令通知act模式的使用指示之后信令通知bdpcm模式的使用指示。[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具有不同的预测模式时,也可以应用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中的cr和cb,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可以被推断为s1–n。[0224]2.在一个示例中,s2可以被推断为s1》》n。[0225]3.在一个示例中,s2可以被推断为floor(s1/n),其中,floor(x)表示不大于x的最大整数。[0226]e.在一个示例中,s1和/或s2可以在高级别(例如,sps/pps/ph/条带标头)被信令通知,并在较低级别(例如,cu/块)被调整。[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),或者被信令号通知,或者在运行中(on-the-fly)被推导。[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.提议有约束标志来指定spsact启用标志(例如,sps_act_enabled_flag)是否应等于0。[0263]a.在一个示例中,该标志可以表示为no_act_constraint_flag[0264]i.当该标志等于1时,spsact启用标志(例如,sps_act_enabled_flag)应等于0。[0265]ii.当该标志等于0时,不施加这样的约束。[0266]12.提议有一个约束标志来指定spsbdpcm启用标志(例如,sps_bdpcm_enabled_flag)是否应等于0。[0267]a.在一个示例中,该标志可以表示为no_bdpcm_constraint_flag。[0268]i.当该标志等于1时,spsbdpcm启用标志(例如,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.提议有一个约束标志来指定spsrpr启用标志(例如,ref_pic_resampling_enabled_flag)是否应等于0。[0279]a.在一个示例中,该标志可以表示为no_ref_pic_resampling_constraint_flag。[0280]i.当该标志等于1时,spsrpr启用标志(例如,ref_pic_resampling_enabled_flag)应等于0。[0281]ii.当该标志等于0时,不施加这样的约束。[0282]16.在上述示例中(项目符号11-15),可以有条件地信令通知这样的约束标志,例如,根据色度格式(例如,chroma_format_idc)和/或单独的平面编解码或chromaarraytype。[0283]actqp偏移(项目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,pps和/或ph偏移不是1。[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.是否信令通知act和jccr编解码块的qp偏移(例如slice_act_cbcr_qp_offset)可以取决于是否启用jccr的条件检查。[0310]a.替代地,此外,是否存在act和jccr编解码块的qp偏移的指示(例如,pps_joint_cbcr_qp_offset_present_flag/pps_slice_cbcr_qp_offset_present_flag)可以取决于是否启用jccr的条件检查。[0311]23.如何推导/信令通知增量qp可以取决于编解码信息,例如编解码模式、编解码工具的使用。[0312]a.在一个示例中,如何推导/信令通知增量qp可以取决于当前块和/或之前编解码块(例如,上方和左侧邻域块)的act使用。[0313]b.在一个示例中,推导/信令通知增量qp可以取决于用于推导qp预测符的当前块和之前编解码块是否共享相同的编解码模式或编解码工具(例如,act)的启用/禁用状态。[0314]c.在一个示例中,对于使用编解码工具x(例如,act/变换跳过)编解码的当前块,qp预测符推导过程可以与x被禁用的其他块不同。[0315]i.在一个示例中,可以从启用了编解码工具x的那些块中导出使用编解码工具x编解码的当前块的qp预测符。[0316]ii.在一个示例中,可以从编解码工具x被禁用的那些块中导出没有使用编解码工具x编解码的当前块的qp预测符。[0317]24.如何在pps中信令通知qp偏移可以独立于sps。[0318]a.替代地,此外,可以在pps中信令通知颜色格式的指示和/或act的启用指示。[0319]i.替代地,此外,可以在指示的条件检查下信令通知qp偏移。[0320]25.是否在第一级别(例如,图片级别)信令通知qp偏移(例如,应用于act编解码块)[0321]a.提议如果qp偏移(例如,应用于act编解码块)存在于第二级别(例如,条带级别)中,则跳过第一级别中的qp偏移的信令通知。[0322]26.上述示例中提到的qp也可以存在于图片/条带/片/子图片级别(例如,图片标头/pps/条带标头)。[0323]27.覆写机制可以用于信令通知可利用的qp偏移。即,qp偏移可以在第一级别(例如,pps)中被信令通知,但在第二级别(例如,图片标头)中被覆写。[0324]a.替代地,此外,可以在第一级别或第二级别中信令通知标志以指示是否启用覆写。[0325]b.替代地,当启用覆写时,无需在第一级别信令通知相关信息。[0326]i.在一个示例中,如果对第二级别(例如,条带)应用覆写,则可能不会在第一级别(例如,pps)中信令通知qp偏移(例如,应用于act编解码块)。[0327]c.替代地,此外,第一和第二级别之间的qp偏移的差异可以在第二级别中信令通知。[0328]一般技术(项目20-21)[0329]28.在上述示例中,s1、s2、l、h、m、n和/或k是整数并且可以取决于[0330]a.在dps/sps/vps/pps/aps/图片标头/条带标头/片组标头/最大编解码单元(largestcodingunit,lcu)/编解码单元(cu)/lcu行/lcu组/tu/pu块/视频编解码单元中信令通知的消息[0331]b.cu/pu/tu/块/视频编解码单元的位置[0332]c.包含沿边缘的样点的块的编解码模式[0333]d.应用于沿边缘包含样点的块的变换矩阵[0334]e.当前块和/或其邻域块的块尺寸/块形状[0335]f.颜色格式的指示(如4:2:0、4:4:4、rgb或yuv)[0336]g.编解码树结构(如双树或单树)[0337]h.条带/片组类型和/或图片类型[0338]i.颜色分量(例如,可以仅适用于cb或cr)[0339]j.时域层id[0340]k.标准的配置文件/级别/层[0341]l.替代地,可以将s1、s2、l、h、m、n和/或k信令通知给解码器。[0342]29.上述提议的方法可以在某些条件下应用。[0343]a.在一个示例中,条件是颜色格式为4:2:0和/或4:2:2。[0344]b.在一个示例中,可以在序列/图片/条带/片/图块/视频区域级别(例如sps/pps/图片标头/条带标头)中信令通知上述方法的使用指示。[0345]c.在一个示例中,上述方法的使用可以取决于[0346]i.视频内容(例如屏幕内容或自然内容)[0347]ii.在dps/sps/vps/pps/aps/图片标头/条带标头/片组标头/最大编解码单元(lcu)/编解码单元(cu)/lcu行/lcu组/tu/pu块/视频编解码单元中信令通知的消息[0348]iii.cu/pu/tu/块/视频编解码单元的位置[0349]iv.包含沿边缘的样点的块的编解码模式[0350]v.应用于沿边缘包含样点的块的变换矩阵[0351]vi.当前块和/或其邻域块的块尺寸[0352]vii.当前块和/或其邻域块的块形状[0353]viii.颜色格式的指示(如4:2:0、4:4:4、rgb或yuv)[0354]ix.编解码树结构(如双树或单树)[0355]x.条带/片组类型和/或图片类型[0356]xi.颜色分量(例如,可以仅适用于cb或cr)[0357]xii.时域层id[0358]xiii.标准的配置文件/级别/层[0359]xiv.替代地,可以将m和/或n信令通知给解码器。[0360]5实施例[0361]这些实施例基于jvet-p2001-ve。新添加的文本以粗斜体下划线文本突出显示。删除的文本以斜体文本标记。[0362]5.1实施例#1[0363]本实施例涉及act和bdpcm模式之间的交互。[0364][0365][0366]5.2实施例#2[0367]本实施例涉及act和bdpcm模式之间的交互。[0368]等于1指定,将bdpcm应用于位置(x0,y0)处的当前色度编解码块,即跳过变换,帧内色度预测模式由intra_bdpcm_chroma_dir_flag指定。intra_bdpcm_chroma_flag等于0指定,bdpcm不应用于位置(x0,y0)处的当前色度编解码块。[0369]当intra_bdpcm_chroma_flag不存在时,推断其等于0。[0370][0371]对于x=x0..x0+cbwidth-1、y=y0..y0+cbheight-1和cidx=1..2,设置变量bdpcmflag[x][y][cidx]为等于intra_bdpcm_chroma_flag。[0372]等于0表示bdpcm预测方向是水平的。intra_bdpcm_chroma_dir_flag等于1表示bdpcm预测方向是垂直的。bdpcm_chroma_dir_flag等于1表示bdpcm预测方向是垂直的。[0373]对于x=x0..x0+cbwidth-1、y=y0..y0+cbheight-1和cidx=1..2,设置变量bdpcmdir[x][y][cidx]为等于intra_bdpcm_chroma_dir_flag。[0374]5.3实施例#3[0375]本实施例涉及qp设置。[0376]8.7.3变换系数的缩放过程[0377]该过程的输入为:[0378]–亮度位置(xtby,ytby),指定当前亮度变换块的左上角样点相对于当前图片的左上角亮度样点,[0379]–变量ntbw,指定变换块宽度,[0380]–变量ntbh,指定变换块高度,[0381]–变量predmode,指定编解码单元的预测模式[0382]–变量cidx,指定当前块的颜色分量,[0383]该过程的输出是具有元素d[x][y]的缩放变换系数的(ntbw)×(ntbh)阵列d。[0384]…[0385]量化参数qp被修改,变量rectnontsflag和bdshift推导如下:[0386]–如果transform_skip_flag[xtby][ytby][cidx]等于0,则以下适用:[0387]qp=qp-(cu_act_enabled_flag[xtby][ytby]?5:0)ꢀꢀ(1133)[0388][0389]rectnontsflag=(((log2(ntbw)+log2(ntbh))&1)==1)?1:0(1134)[0390][0391]–否则(transform_skip_flag[xtby][ytby][cidx]等于1),以下适用:[0392]qp=max(qpprimetsmin,qp)-(cu_act_enabled_flag[xtby][ytby]?5:0)ꢀꢀ(1136)[0393][0394]rectnontsflag=0ꢀꢀ(1137)[0395]bdshift=10ꢀꢀ(1138)[0396]…[0397]5.4实施例#4[0398]8.7.1量化参数的推导过程[0399]…[0400]cb和cr分量的色度量化参数(qp′cb和qp′cr)以及联合cb-cr编解码的色度量化参数qp′cbcr推导如下:[0401]qp′cb=clip3(-qpbdoffset,63,qpcb+pps_cb_qp_offset+slice_cb_qp_offset+cuqpoffsetcb)[0402]+qpbdoffsetꢀꢀ(1122)[0403]qp′cr=clip3(-qpbdoffset,63,qpcr+pps_cr_qp_offset+slice_cr_qp_offset+cuqpoffsetcr)[0404]+qpbdoffsetꢀꢀ(1123)[0405]qp′cbcr=clip3(-qpbdoffset,63,qpcbcr+pps_joint_cbcr_qp_offset+[0406]slice_joint_cbcr_qp_offset+cuqpoffsetcbcr)+qpbdoffsetꢀꢀ(1124)[0407]5.5实施例#5[0408]7.3.9.5编解码单元语法[0409][0410][0411][0412]5.6实施例#6[0413]7.3.9.5编解码单元语法[0414][0415][0416]5.7实施例#7[0417]8.7.3变换系数的缩放过程[0418]该过程的输入为:[0419]–亮度位置(xtby,ytby),指定当前亮度变换块的左上角样点相对于当前图片的左上角亮度样点,[0420]–变量ntbw,指定变换块宽度,[0421]–变量ntbh,指定变换块高度,[0422]–变量predmode,指定编解码单元的预测模式[0423]–变量cidx,指定当前块的颜色分量,[0424]该过程的输出是具有元素d[x][y]的缩放变换系数的(ntbw)×(ntbh)阵列d。[0425]量化参数qp推导如下:[0426]–如果cidx等于0,则以下适用:[0427][0428]qp=qp′yꢀꢀ(1129)[0429]–否则,如果tucresmode[xtby][ytby]等于2,则以下适用:[0430][0431]qp=qp′cbcrꢀꢀ(1130)[0432]–否则,如果cidx等于1,则以下适用:[0433][0434]qp=qp′cbꢀꢀ(1131)[0435]–否则(cidx等于2),以下适用:[0436][0437]qp=qp′crꢀꢀ(1132)[0438]量化参数qp被修改,变量rectnontsflag和bdshift推导如下:[0439]–如果transform_skip_flag[xtby][ytby][cidx]等于0,则以下适用:[0440]qp=qp-(cu_act_enabled_flag[xtby][ytby]?5:0)ꢀꢀ(1133)[0441][0442]rectnontsflag=(((log2(ntbw)+log2(ntbh))&1)==1)?1:0(1134)[0443][0444]–否则(transform_skip_flag[xtby][ytby][cidx]等于1),以下适用:[0445]qp=max(qpprimetsmin,qp)-(cu_act_enabled_flag[xtby][ytby]?5:0)ꢀꢀꢀ(1136)[0446][0447]rectnontsflag=0ꢀꢀ(1137)[0448]bdshift=10ꢀꢀ(1138)[0449]变量bdoffset推导如下:[0450]bdoffset=(1《《bdshift)》》1ꢀꢀ(1139)[0451]指定列表levelscale[][]为levelscale[j][k]={{40,45,51,57,64,72},{57,64,72,80,90,102}}其中,j=0..1,k=0..5。[0452]…[0453]5.8实施例#8[0454]8.7.3变换系数的缩放过程[0455]该过程的输入为:[0456]–亮度位置(xtby,ytby),指定当前亮度变换块的左上角样点相对于当前图片的左上角亮度样点,[0457]–变量ntbw,指定变换块宽度,[0458]–变量ntbh,指定变换块高度,[0459]–变量predmode,指定编解码单元的预测模式[0460]–变量cidx,指定当前块的颜色分量,[0461]该过程的输出是具有元素d[x][y]的缩放变换系数的(ntbw)×(ntbh)阵列d。[0462]–如果cidx等于0,则以下适用:[0463]qp=qp′yꢀꢀꢀ(1129)[0464][0465]–否则,如果tucresmode[xtby][ytby]等于2,则以下适用:[0466][0467]qp=qp′cbcrꢀꢀ(1130)[0468]–否则,如果cidx等于1,则以下适用:[0469][0470]qp=qp′cbꢀꢀ(1131)[0471]–否则(cidx等于2),以下适用:[0472][0473]qp=qp′crꢀꢀ(1132)[0474]量化参数qp被修改,变量rectnontsflag和bdshift推导如下:[0475]–如果transform_skip_flag[xtby][ytby][cidx]等于0,则以下适用:[0476]qp=qp-(cu_act_enabled_flag[xtby][ytby]?5:0)ꢀꢀ(1133)[0477]rectnontsflag=(((log2(ntbw)+log2(ntbh))&1)==1)?1:0(1134)[0478][0479]–否则(transform_skip_flag[xtby][ytby][cidx]等于1),以下适用:[0480]qp=max(qpprimetsmin,qp)-(cu_act_enabled_flag[xtby][ytby]?5:0)ꢀꢀ(1136)[0481][0482]rectnontsflag=0ꢀꢀ(1137)[0483]bdshift=10ꢀꢀ(1138)[0484]变量bdoffset推导如下:[0485]bdoffset=(1《《bdshift)》》1(1139)[0486]指定列表levelscale[][]为levelscale[j][k]={{40,45,51,57,64,72},{57,64,72,80,90,102}}其中,j=0..1,k=0..5。[0487]…[0488]5.9实施例#9[0489]7.4.3.4图片参数集rbsp语义[0490][0491]8.7.3变换系数的缩放过程[0492]该过程的输入为:[0493]–亮度位置(xtby,ytby),指定当前亮度变换块的左上角样点相对于当前图片的左上角亮度样点,[0494]–变量ntbw,指定变换块宽度,[0495]–变量ntbh,指定变换块高度,[0496]–变量predmode,指定编解码单元的预测模式[0497]–变量cidx,指定当前块的颜色分量,[0498]该过程的输出是具有元素d[x][y]的缩放变换系数的(ntbw)×(ntbh)阵列d。[0499]量化参数qp推导如下:[0500]–如果cidx等于0,则以下适用:[0501][0502]qp=qp′yꢀꢀ(1129)[0503]–否则,如果tucresmode[xtby][ytby]等于2,则以下适用:[0504][0505]qp=qp′cbcrꢀꢀ(1130)[0506]–否则,如果cidx等于1,则以下适用:[0507][0508]qp=qp′cbꢀꢀ(1131)[0509]–否则(cidx等于2),以下适用:[0510][0511]qp=qp′crꢀꢀꢀ(1132)[0512]量化参数qp被修改,变量rectnontsflag和bdshift推导如下:[0513]–如果transform_skip_flag[xtby][ytby][cidx]等于0,则以下适用:[0514]qp=qp-(cu_act_enabled_flag[xtby][ytby]?5:0)ꢀꢀ(1133)[0515][0516]rectnontsflag=(((log2(ntbw)+log2(ntbh))&1)==1)?1:0(1134)[0517][0518]–否则(transform_skip_flag[xtby][ytby][cidx]等于1),以下适用:[0519]qp=max(qpprimetsmin,qp)-(cu_act_enabled_flag[xtby][ytby]?5:0)ꢀꢀ(1136)[0520][0521]rectnontsflag=0ꢀꢀ(1137)[0522]bdshift=10ꢀꢀ(1138)[0523]变量bdoffset推导如下:[0524]bdoffset=(1《《bdshift)》》1ꢀꢀ(1139)[0525]指定列表levelscale[][]为levelscale[j][k]={{40,45,51,57,64,72},{57,64,72,80,90,102}}其中,j=0..1,k=0..5。[0526]…[0527]5.10实施例#10[0528]7.4.3.4图片参数集rbsp语义[0529][0530][0531]8.7.3变换系数的缩放过程[0532]该过程的输入为:[0533]–亮度位置(xtby,ytby),指定当前亮度变换块的左上角样点相对于当前图片的左上角亮度样点,[0534]–变量ntbw,指定变换块宽度,[0535]–变量ntbh,指定变换块高度,[0536]–变量predmode,指定编解码单元的预测模式[0537]–变量cidx,指定当前块的颜色分量,[0538]该过程的输出是具有元素d[x][y]的缩放变换系数的(ntbw)×(ntbh)阵列d。[0539]–如果cidx等于0,则以下适用:[0540]qp=qp′yꢀꢀ(1129)[0541][0542]–否则,如果tucresmode[xtby][ytby]等于2,则以下适用:[0543][0544]qp=qp′cbcrꢀꢀ(1130)[0545]–否则,如果cidx等于1,则以下适用:[0546][0547][0548]qp=qp′cb(1131)[0549]–否则(cidx等于2),以下适用:[0550][0551]qp=qp′crꢀꢀ(1132)[0552]量化参数qp被修改,变量rectnontsflag和bdshift推导如下:[0553]–如果transform_skip_flag[xtby][ytby][cidx]等于0,则以下适用:[0554]qp=qp-(cu_act_enabled_flag[xtby][ytby]?5:0)ꢀꢀ(1133)[0555]rectnontsflag=(((log2(ntbw)+log2(ntbh))&1)==1)?1:0(1134)[0556][0557]–否则(transform_skip_flag[xtby][ytby][cidx]等于1),以下适用:[0558]qp=max(qpprimetsmin,qp)-(cu_act_enabled_flag[xtby][ytby]?5:0)ꢀꢀꢀ(1136)[0559][0560]rectnontsflag=0ꢀꢀ(1137)[0561]bdshift=10ꢀꢀ(1138)[0562]变量bdoffset推导如下:[0563]bdoffset=(1《《bdshift)》》1ꢀꢀ(1139)[0564]指定列表levelscale[][]为levelscale[j][k]={{40,45,51,57,64,72},{57,64,72,80,90,102}}其中,j=0..1,k=0..5。[0565]…[0566]5.11实施例#11[0567]pps中的语法更改:[0568][0569][0570]条带标头中的语法更改:[0571][0572]当cu_act_enabled_flag为1时,,和分别指定量化参数qp′y、qp′cb、qp′cr和qp′cbcr的偏移。pps_act_y_qp_offset、pps_act_cb_qp_offset和pps_act_cr_qp_offset的值应在-12到+12的范围内,包括端点。当不存在时,pps_act_y_qp_offset、pps_act_cb_qp_offset和pps_act_cr_qp_offset的值被推断为等于0。[0573]等于1指定slice_act_y_qp_offset、slice_act_cb_qp_offset、slice_act_cr_qp_offset、slice_act_cbcr_qp_offset存在于条带标头中。pps_slice_act_qp_offsets_present_flag等于0表示slice_act_y_qp_offset、slice_act_cb_qp_offset、slice_act_cr_qp_offset、slice_act_cbcr_qp_offset不存在于条带标头中。当不存在时,pps_slice_act_qp_offsets_present_flag的值被推断为等于0。[0574]在确定qp'y、qp'cb、qp'cr和qp'cbcr量化参数的值时,和指定偏移。slice_act_y_qp_offset、slice_act_cb_qp_offset、slice_act_cr_qp_offset和slice_act_cbcr_qp_offset的值应在-12到+12的范围内,包括端点。当不存在时,这些值被推断为等于0。8.7.1量化参数的推导过程[0575]…[0576]变量qpy的推导如下:[0577][0578]亮度量化参数qp'y推导如下:[0579]qp′y=qpy+qpbdoffsetꢀꢀꢀꢀ(1117)[0580]当chromaarraytype不等于0且treetype等于single_tree或dual_tree_chroma时,以下适用:[0581]–当treetype等于dual_tree_chroma时,设置变量qpy等于覆盖亮度位置(xcb+cbwidth/2,ycb+cbheight/2)的亮度编解码单元的亮度量化参数qpy。[0582]–变量qpcb、qpcr和qpcbcr的推导如下:[0583]qpchroma=clip3(-qpbdoffset,63,qpy)[0584]ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(1118)[0585]qpcb=chromaqptable[0][qpchroma][0586](1119)[0587]qpcr=chromaqptable[1][qpchroma][0588](1120)[0589]qpcbcr=chromaqptable[2][qpchroma][0590](1121)[0591]cb和cr分量的色度量化参数qp′cb和qp′cr以及联合cb-cr编解码的的色度量化参数qp′cbcr推导如下:[0592][0593][0594][0595][0596]8.7.3变换系数的缩放过程[0597]…[0598][0599]量化参数qp推导如下:[0600]–如果cidx等于0,则以下适用:[0601]qp=qp′yꢀꢀ(1129)[0602]–否则,如果tucresmode[xtby][ytby]等于2,则以下适用:[0603]qp=qp′cbcrꢀꢀ(1130)[0604]–否则,如果cidx等于1,则以下适用:[0605]qp=qp′cbꢀꢀ(1131)[0606]–否则(cidx等于2),以下适用:[0607]qp=qp′crꢀꢀ(1132)[0608][0609]量化参数qp被修改,变量rectnontsflag和bdshift推导如下:[0610]–如果transform_skip_flag[xtby][ytby][cidx]等于0,则以下适用:[0611][0612][0613]–否则(transform_skip_flag[xtby][ytby][cidx]等于1),以下适用:[0614]qp=max(qpprimetsmin,qp)-(cu_act_enabled_flag[xtby][ytby]?5:0)ꢀꢀ(1136)[0615][0616]图7是示出可以在其中实施本文公开的各种技术的示例视频处理系统700的框图。各种实现方式可以包括视频处理系统700的一些或所有组件。系统700可以包括用于接收视频内容的输入702。视频内容可以以例如8或10比特多分量像素值的原始或未压缩格式而接收,或者可以是以压缩或编码格式接收。输入702可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(passiveopticalnetwork,pon)等的有线接口和诸如wi-fi或蜂窝接口的无线接口。[0617]系统700可以包括可以实现本文档中描述的各种编解码或编码方法的编解码组件704。编解码组件704可以从输入702到编解码组件704的输出减小视频的平均比特率,以产生视频的编解码表示。编解码技术因此有时被称为视频压缩或视频转码技术。编解码组件704的输出可以被存储,或者经由如由组件706表示的通信连接而传输。在输入702处接收的视频的存储或通信传送的比特流(或编解码)表示可以由组件708用于生成像素值或传送到显示接口710的可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是应当理解,编解码工具或操作在编码器处被使用,并且反转编解码结果的对应的解码工具或操作将由解码器执行。[0618]外围总线接口或显示接口的示例可以包括通用串行总线(universalserialbus,usb)、或高清晰度多媒体接口(highdefinitionmultimediainterface,hdmi)、或显示端口(displayport)等。存储接口的示例包括sata(串行高级技术附件)、外围组件互连(peripheralcomponentinterconnect,pci)、集成驱动电子设备(integrateddriveelectronics,ide)接口等。本文档中描述的技术可以体现在各种电子设备中,诸如移动电话、笔记本计算机、智能电话、或能够执行数字数据处理和/或视频显示的其他设备。[0619]图8是视频处理装置800的框图。装置800可以用于实现本文描述的一种或多种方法。装置800可以实施在智能手机、平板计算机、计算机、物联网(iot)接收器等中。装置800可以包括一个或多个处理器802、一个或多个存储器804和视频处理硬件806(又名视频处理电路)。(多个)处理器802可以被配置为实现本文档中描述的一种或多种方法(例如,在图5a和5b中)。存储器(多个存储器)804可以用于存储用于实现本文描述的方法和技术的数据和代码。视频处理硬件806可以用于在硬件电路系统中实现本文档中描述的一些技术。在一些实施例中,硬件806可以部分或完全位于处理器802(例如,图形处理器)内。[0620]图9是示出可以利用本公开的技术的视频编解码系统100的示例的框图。如图9所示,视频编解码系统100可以包括源设备110和目标设备120。源设备110生成编码视频数据,该源设备110可以被称为视频编码设备。目标设备120可以解码由源设备110生成的编码视频数据,该目标设备120可以被称为视频解码设备。源设备110可以包括视频源112、视频编码器114和输入/输出(i/o)接口116。[0621]视频源112可以包括源,诸如视频捕捉设备、从视频内容提供者接收视频数据的接口、和/或用于生成视频数据的计算机图形系统、或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关数据。编解码图片是图片的编解码表示。相关数据可以包括序列参数集、图片参数集和其他语法结构。i/o接口116可以包括调制器/解调器(调制解调器)和/或发射器。编码视频数据可以通过网络130a经由i/o接口116直接发送到目标设备120。编码视频数据也可以存储在存储介质/服务器130b上,以供目标设备120访问。[0622]目标设备120可以包括i/o接口126、视频解码器124和显示设备122。[0623]i/o接口126可以包括接收器和/或调制解调器。i/o接口126可以从源设备110或存储介质/服务器130b获取编码视频数据。视频解码器124可以对编码视频数据进行解码。显示设备122可以向用户显示解码视频数据。显示设备122可以与目标设备120集成,或者可以在可以被配置为与外部显示设备接口的目标设备120的外部。[0624]视频编码器114和视频解码器124可以根据视频压缩标准进行操作,例如高效视频编解码(hevc)标准、多功能视频编解码(vvc)标准和其他当前和/或进一步的标准。[0625]图10是示出视频编码器200的示例的框图,该视频编码器200可以是图9所示的视频编解码系统100中的视频编码器114。[0626]视频编码器200可以被配置为执行本公开的任何或所有技术。在图10的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。[0627]视频编码器200的功能组件可以包括分割单元201、预测单元202(其可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲器213和熵编码单元214。[0628]在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在示例中,预测单元202可以包括帧内块复制(intrablockcopy,ibc)单元。ibc单元可以执行ibc模式下的预测,其中至少一个参考图片是当前视频块所在的图片。[0629]此外,诸如运动估计单元204和运动补偿单元205的一些组件可以高度集成,但是为了解释的目的,在图10的示例中分开表示。[0630]分割单元201可以将图片分割为一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。[0631]模式选择单元203可以例如基于误差结果来选择编解码模式之一(帧内或帧间),并且将作为结果的帧内编解码块或帧间编解码块提供给残差生成单元207以生成残差块数据,以及提供给重构单元212以重构编解码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测模式的组合(combinationofintraandinterprediction,ciip),其中预测基于帧间预测信令和帧内预测信令。在帧间预测的情况下,模式选择单元203还可以选择块的运动矢量的分辨率(例如,子像素或整数像素精度)。[0632]为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较,来生成当前视频块的运动信息。运动补偿单元205可以基于运动信息和来自缓冲器213的除了与当前视频块相关联的图片之外的图片的解码样点来确定当前视频块的预测视频块。[0633]运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,例如,取决于当前视频块是在i条带、p条带还是b条带中。[0634]在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以为当前视频块的参考视频块搜索列表0或列表1的参考图片。运动估计单元204然后可以生成指示列表0或列表1中的参考图片的参考索引,其包含参考视频块和指示当前视频块和参考视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。[0635]在其他示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可以在列表1中的参考图片中搜索当前视频块的另一个参考视频块。运动估计单元204然后可以生成指示列表0或列表1中的参考图片的参考索引,其包含参考视频块以及指示参考视频块和当前视频块之间的空域位移的运动矢量。运动估计单元204可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。[0636]在一些示例中,运动估计单元204可以输出完整的运动信息集,以用于解码器的解码处理。[0637]在一些示例中,运动估计单元204可以不输出当前视频的完整的运动信息集。而是运动估计单元204可以参考另一个视频块的运动信息信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与邻近视频块的运动信息充分相似。[0638]在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示一个值,该值向视频解码器300指示当前视频块具有与另一个视频块相同的运动信息。[0639]在另一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块和运动矢量差(motionvectordifference,mvd)。运动矢量差指示当前视频块的运动矢量和所指示的视频块的运动矢量之间的差异。视频解码器300可以使用所指示的视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。[0640]如上所讨论的,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实施的预测信令通知技术的两个示例包括高级运动矢量预测(advancedmotionvectorpredication,amvp)和merge模式信令通知。[0641]帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中的其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。[0642]残差生成单元207可以通过从当前视频块中减去(例如,由减号指示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括与当前视频块中样点的不同样点分量相对应的残差视频块。[0643]在其他示例中,例如在跳过模式中,对于当前视频块可能没有残差数据,并且残差生成单元207可能不执行减去操作。[0644]变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来为当前视频块生成一个或多个变换系数视频块。[0645]在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(qp)值来量化与当前视频块相关联的变换系数视频块。[0646]逆量化单元210和逆变换单元211可以分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重构残差视频块。重构单元212可以将重构后的残差视频块添加到来自预测单元202生成的一个或多个预测视频块的对应样点中,以产生与当前块相关联的重构视频块,以存储在缓冲器213中。[0647]在重构单元212重构视频块之后,可以执行环路滤波操作,以减少视频块中的视频块状伪影。[0648]熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收到数据时,熵编码单元214可以执行一个或多个熵编码操作,以生成熵编码数据,并输出包括该熵编码数据的比特流。[0649]图11是示出视频解码器300的示例的框图,视频解码器300可以是图9所示的视频编解码系统100中的视频解码器114。[0650]视频解码器300可以被配置为执行本公开的任何或所有技术。在图11的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。[0651]在图11的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重构单元306和缓冲器307。在一些示例中,视频解码器300可以执行通常与针对视频编码器200(图10)描述的编码过程相反的解码过程。[0652]熵解码单元301可以检索编码比特流。编码比特流可以包括熵编解码的视频数据(例如,视频数据的编解码块)。熵解码单元301可以解码熵编解码的视频数据,并且从熵解码的视频数据,运动补偿单元302可以确定运动信息,包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息。运动补偿单元302可以例如通过执行amvp和合并模式信令通知来确定这样的信息。[0653]运动补偿单元302可以产生运动补偿块,可以基于插值滤波执行插值。要以子像素精度使用的插值滤波的标识符可以包括在语法元素中。[0654]运动补偿单元302可以使用视频编码器200在视频块的编码期间使用的插值滤波来计算参考块的子整数像素的插值。运动补偿单元302可以根据所接收的语法信息确定视频编码器200使用的插值滤波,并使用该插值滤波来产生预测块。[0655]运动补偿单元302可以使用一些语法信息来确定用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸、描述编码视频序列的图片的每个宏块如何被分割的分割信息、指示每个分割如何被编码的模式、每个帧间编解码块的一个或多个参考帧(和参考帧列表)以及用于对编码视频序列进行解码的其他信息。[0656]帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域上紧邻的块形成预测块。逆量化单元304对在比特流中提供并由熵解码单元301解码的量化后的视频块系数进行逆量化,即,去量化。逆变换单元305应用逆变换。[0657]重构单元306可以将残差块与由运动补偿单元302或帧内预测单元303生成的对应预测块相加,以形成解码块。如果需要,还可以应用去方块滤波来滤波解码块,以便移除块状伪影。解码的视频块然后被存储在缓冲器307中,为随后的运动补偿/帧内预测提供参考块,并且还产生解码的视频以在显示设备上呈现。[0658]图12-16示出了可以在例如图7-11所示的实施例中实施上述技术方案的示例方法。[0659]图12示出了视频处理的示例方法1200的流程图,包括,在操作1210,对于使用自适应颜色变换(act)模式编解码的视频的当前视频块,确定是否为当前视频块启用色度残差联合编解码(jccr)编解码工具。方法1200包括,在操作1220,基于该确定执行视频和视频的比特流之间的转换,比特流符合规则,该规则规定,当启用jccr编解码工具时,信令通知用于编解码当前视频块的一个或多个量化参数(qp)偏移。[0660]图13示出了视频处理的示例方法1300的流程图,包括,在操作1310,执行视频的当前视频块和视频的比特流之间的转换,比特流符合格式规则,该格式规则规定基于当前视频块的编解码信息推导或信令通知增量量化参数(qp)的方式。[0661]图14示出了视频处理的示例方法1400的流程图,包括,在操作1410,执行视频的当前视频块和视频的比特流之间的转换,其中,比特流符合格式规则,并且其中,该格式规则规定,在与当前视频块相关联的图片参数集(pps)中信令通知用于编解码当前视频块的一个或多个量化参数(qp)偏移,而与在与当前视频块相关联的序列参数集(sps)中信令通知的信息无关。[0662]图15示出了视频处理的示例方法1500的流程图,包括,在操作1510,执行视频的当前视频块和视频的比特流之间的转换,比特流符合格式规则,该格式规则规定视频级别,在视频级别上信令通知用于编解码当前视频块的一个或多个量化参数(qp)偏移,其中,视频级别为第一级别或低于第一级别的第二级别。[0663]图16示出了视频处理的示例方法1600的流程图,包括,在操作1610,执行视频的当前视频块和视频的比特流之间的转换,其中,比特流符合格式规则,并且其中,该格式规则规定是否或如何将覆写机制用于信令通知用于编解码当前视频块的量化参数(qp)偏移。[0664]接下来提供一些实施例优选的解决方案列表。[0665]a1、一种视频处理方法,包括:对于使用自适应颜色变换(act)模式编解码的视频的当前视频块,确定是否为当前视频块启用色度残差联合编解码(jccr)编解码工具;以及基于该确定执行视频和视频的比特流之间的转换,其中,比特流符合规则,并且其中,该规则规定,当启用jccr编解码工具时,信令通知用于编解码当前视频块的一个或多个量化参数(qp)偏移。[0666]a2、解决方案a1的方法,其中,当启用jccr编解码工具时,在条带标头(sh)中信令通知一个或多个qp偏移。[0667]a3、解决方案a1的方法,其中,该规则进一步规定,是否信令通知指示是否存在一个或多个qp偏移的语法元素是基于启用jccr编解码工具。[0668]a4、解决方案a3的方法,其中,语法元素在图片参数集(pps)或条带标头(sh)中。[0669]a5、解决方案a3或a4的方法,其中,语法元素是pps_joint_cbcr_qp_offset_present_flag或slice_joint_cbcr_qp_offset_present_flag。[0670]a6、一种视频处理方法,包括:执行视频的当前视频块和视频的比特流之间的转换,其中,比特流符合格式规则,并且其中,该格式规则规定,基于当前视频块的编解码信息推导或信令通知增量量化参数(qp)的方式。[0671]a7、解决方案a6的方法,其中,编解码信息包括当前视频块或当前视频块的之前编解码的邻域块的编解码模式。[0672]a8、解决方案a7的方法,其中,编解码模式包括自适应颜色变换(act)模式。[0673]a9、解决方案a6的方法,其中,推导和/或信令通知增量qp进一步基于,当前视频块和用于推导qp预测符的当前视频块的之前编解码的邻域块是否共享相同的编解码信息。[0674]a10、解决方案a6的方法,其中,编解码信息包括应用于当前视频块的编解码工具,并且其中,qp预测符的推导是基于已应用编解码工具的一个或多个视频块。[0675]a11、一种视频处理方法,包括:执行视频的当前视频块和视频的比特流之间的转换,其中,比特流符合格式规则,并且其中,该格式规则规定,在与当前视频块相关联的图片参数集(pps)中信令通知用于编解码当前视频块的一个或多个量化参数(qp)偏移,而与在与当前视频块相关联的序列参数集(sps)中信令通知的信息无关。[0676]a12、解决方案a11的方法,其中,在pps中信令通知视频的颜色格式的第一指示和/或启用当前视频块的编解码模式的第二指示。[0677]a13、一种视频处理方法,包括:执行视频的当前视频块和视频的比特流之间的转换,其中,比特流符合格式规则,并且其中,该格式规则规定视频级别,在视频级别上信令通知用于编解码当前视频块的一个或多个量化参数(qp)偏移,其中,视频级别为第一级别或低于第一级别的第二级别。[0678]a14、解决方案a13的方法,其中,第一级别是图片级别,而第二级别是条带级别。[0679]a15、解决方案a14的方法,其中,在第一级别中信令通知一个或多个qp偏移。[0680]a16、解决方案a14的方法,其中,由于一个或多个qp偏移在第二级别中被信令通知,从第一级别中排除一个或多个qp偏移。[0681]a17、解决方案a11至a16任一项的方法,其中,在图片标头(ph)或条带标头(sh)中信令通知一个或多个qp偏移。[0682]a18、解决方案a1至a17任一项的方法,其中,转换包括从比特流解码视频。[0683]a19、解决方案a1至a17任一项的方法,其中,转换包括将视频编码到比特流中。[0684]a20、解决方案a1至a17任一项的方法,其中,转换包括从当前视频块生成比特流,并且其中,该方法还包括:将比特流存储在非暂时性计算机可读记录介质中。[0685]a21、一种将表示视频的比特流存储到计算机可读记录介质的方法,包括:根据解决方案a1至a17中任一项或多项的方法从视频生成比特流;以及将比特流写入到计算机可读记录介质。[0686]a22、一种视频处理装置,包括被配置为实施如解决方案a1至a17中任一项或多项的方法的处理器。[0687]a23、一种计算机可读介质,计算机可读介质存储根据解决方案a1至a17中任一项或多项的方法生成的比特流。[0688]a24、一种其上存储有指令的计算机可读介质,指令在被执行时使处理器实施如解决方案a1至a23中的一项或多项的方法。[0689]a25、一种用于存储比特流的视频处理装置,其中,视频处理装置被配置为实施如解决方案a1至a23中任一项或多项的方法。[0690]接下来提供一些实施例优选的解决方案的另一个列表。[0691]b1、一种视频处理方法。该方法包括,执行视频的当前视频块和视频的比特流之间的转换,其中,比特流符合格式规则,并且其中,该格式规则规定是否或如何将覆写机制用于信令通知用于编解码当前视频块的量化参数(qp)偏移。[0692]b2、解决方案b1的方法,其中,在第一级别中信令通知qp偏移的第一值,并且其中,第一值被在第二级别中信令通知的qp偏移的第二值覆写。[0693]b3、解决方案b2的方法,其中,第一级别高于第二级别。[0694]b4、解决方案b2或b3的方法,其中,在第二级别中信令通知第一组值和第二组值之间的差异。[0695]b5、解决方案b2或b3的方法,其中,在第一级别或第二级别中信令通知第一语法元素,第一语法元素指示是否允许覆写qp偏移。[0696]b6、解决方案b5的方法,其中,第一语法元素等于1指示,qp增量信息被在图片标头(ph)中信令通知并且被从涉及第一级别的条带标头(sh)排除。[0697]b7、解决方案b6的方法,其中,第二语法元素指示,ph中的qp增量信息用于确定qp的初始值,并且其中,qp的初始值用于编解码当前视频块。[0698]b8、解决方案b5的方法,其中,第一语法元素等于0指示,qp增量信息被从图片标头(ph)排除并且被在涉及第一级别的条带标头(sh)中信令通知。[0699]b9、解决方案b8的方法,其中,第二语法元素指示,sh中的qp增量信息用于确定qp的初始值,并且其中,qp的初始值用于编解码当前视频块。[0700]b10、解决方案b5至b9中任一项的方法,其中,第一语法元素是pps_qp_delta_info_in_ph_flag。[0701]b11、解决方案b2至b10中任一项的方法,其中,第一级别包括图片参数集(pps)。[0702]b12、解决方案b2至b10中任一项的方法,其中,第二级别包括图片标头(ph)或条带标头(sh)。[0703]b13、解决方案b1的方法,其中,由于在第二级别中信令通知被配置为覆写第一值的qp偏移的第二值,从第一级别中排除qp偏移的第一值。[0704]b14、解决方案b1至b13中任一项的方法,其中,转换包括从比特流解码视频。[0705]b15、解决方案b1至b13中任一项的方法,其中,转换包括将视频编码到比特流中。[0706]b16、解决方案b1至b13中任一项的方法,其中,转换包括从当前视频块生成比特流,并且其中,该方法还包括将比特流存储在非暂时性计算机可读记录介质中。[0707]b17、一种将表示视频的比特流存储到计算机可读记录介质的方法,包括根据解决方案b1至b13中任一项或多项的方法从视频生成比特流;以及将比特流写入到计算机可读记录介质。[0708]b18、一种视频处理装置,包括被配置为实施如解决方案b1至b13中任一项或多项的方法的处理器。[0709]b19、一种计算机可读介质,计算机可读介质存储根据解决方案b1至b13中任一项或多项的方法生成的比特流。[0710]b20、一种其上存储有指令的计算机可读介质,指令在被执行时使处理器实施如解决方案b1至b19中的一项或多项的方法。[0711]b21、一种用于存储比特流的视频处理装置,其中,视频处理装置被配置为实施如解决方案b1至b19中任一项或多项的方法。[0712]接下来提供一些实施例优选的解决方案的又一个列表。[0713]p1、一种视频处理方法,包括:基于是否启用了使用自适应颜色变换(act)模式和/或视频块的亮度bdpcm模式,执行是否对视频的视频块启用基于色度块的增量脉冲编码调制(bdpcm)模式的确定;以及根据该确定执行视频块和视频的比特流表示之间的转换。[0714]p2、解决方案p1的方法,其中,基于对视频块启用了act模式的信令通知,以及基于与亮度bdpcm模式的使用相关联的第二标志的第二值的信令通知,确定与启用色度bdpcm模式相关联的第一标志的第一值的信令通知。[0715]p3、解决方案p2的方法,其中,响应于act模式被启用并且第二标志的第二值具有伪值,第一标志的第一值具有伪值。[0716]p4、解决方案p2的方法,其中,响应于第二标志的第二值具有真值,第一标志的第一值具有真值。[0717]p5、解决方案p1的方法,其中,视频块的act模式的信令通知是有条件地基于用于视频块的亮度样点和色度样点的相同bdpcm预测方向。[0718]p6、解决方案p5的方法,其中,在色度bdpcm模式和亮度bdpcm模式的信令通知之后指示act模式的信令通知。[0719]p7、解决方案p1的方法,其中,响应于act模式的使用被启用,从指示亮度bdpcm模式的第二预测方向的第二值推导指示色度bdpcm模式的第一预测方向的第一值。[0720]p8、解决方案p7的方法,其中,指示色度bdpcm模式的第一预测方向的第一值与指示亮度bdpcm模式的第二预测方向的第二值相同。[0721]p9、解决方案p8的方法,其中,色度bdpcm模式的第一预测方向和亮度bdpcm模式的第二预测方向为水平方向。[0722]p10、解决方案p8的方法,其中,色度bdpcm模式的第一预测方向和亮度bdpcm模式的第二预测方向为垂直方向。[0723]p11、解决方案p1的方法,其中,响应于act模式的使用被禁用,指示色度bdpcm模式的第一预测方向的第一值为零。[0724]p12、一种视频处理方法,包括:基于是否启用对视频块自适应颜色变换(act)模式的使用,执行是否对视频的视频块启用基于块的增量脉冲编码调制(bdpcm)模式的确定;以及根据该确定执行视频块和视频的比特流表示之间的转换。[0725]p13、解决方案p12的方法,其中,响应于视频块的act模式被启用,视频块的bdpcm模式被禁用。[0726]p14、解决方案p13的方法,其中,在指示act模式的第二标志之后信令通知bdpcm模式的第一标志。[0727]p15、解决方案p13的方法,其中,指示bdpcm模式的标志不被信令通知,其中,该标志被确定为伪值或零。[0728]p16、解决方案p12的方法,其中,响应于视频块的bdpcm模式被启用,该视频块的act模式被禁用。[0729]p17、解决方案p16的方法,其中,在指示act模式的第二标志之前信令通知指示bdpcm模式的第一标志。[0730]p18、解决方案p16的方法,其中,指示act模式的标志不被信令通知,其中,该标志被确定为伪值或零。[0731]p19、解决方案p12至p18中任一项的方法,其中,bdpcm模式包括亮度bdpcm模式和/或色度bdpcm模式。[0732]p20、解决方案p1的方法,其中,当色度bdpcm模式和亮度bdpcm模式与不同的预测模式相关联时,应用act模式。[0733]p21、解决方案p20的方法,其中,在色度bdpcm模式或亮度bdpcm模式之后,应用正向act模式。[0734]p22、解决方案p1至p21中任一项的方法,其中,响应于act模式被启用,对视频块的量化参数(qp)进行裁剪。[0735]p23、解决方案p22的方法,其中,定义裁剪qp的裁剪函数为(l,h,x),其中,l是输入x的最低可能值,h是输入x的最高可能值。[0736]p24、解决方案p23的方法,其中,l等于0。[0737]p25、解决方案p23的方法,其中,h等于63。[0738]p26、解决方案p22的方法,其中,在对act模式调整qp之后,对视频块的qp进行裁剪。[0739]p27、解决方案p23的方法,其中,响应于对视频块应用变换跳过,l等于变换跳过模式的最小允许qp。[0740]p28、解决方案p23至p26中任一项的方法,其中l、h、m、n和/或k是整数,它们取决于(i)在dps/sps/vps/pps/aps/图片标头/条带标头/片组标头/最大编解码单元(largestcodingunit,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)标准的配置文件/级别/层。[0741]p29、解决方案p23至p26中任一项的方法,其中将l、h、m、n和/或k信令通知给解码器。[0742]p30、解决方案p30中任一项的方法,其中,颜色格式为4:2:0或4:2:2。[0743]p31、解决方案p1至p30中任一项的方法,其中,在序列、图片、条带、片、图块或视频区域级别信令通知act模式或bdpcm模式或色度bdpcm模式或亮度bdpcm模式的指示。[0744]p32、一种视频处理方法,包括:确定在启用自适应颜色变换(act)模式的视频的视频块上使用色度残差联合编解码(jccr)工具;以及基于该确定执行视频块和视频的比特流表示之间的转换,其中,act模式的量化参数(qp)是基于jccr工具的模式。[0745]p33、解决方案p32的方法,其中,在确定jccr工具的模式为1时,qp为-5或-6。[0746]p34、解决方案p32的方法,其中,在确定jccr工具的模式为3时,qp为-4或-5。[0747]p35、解决方案p1至p34中任一项的方法,其中,转换包括解析和解码编解码表示以生成视频像素。[0748]p36、解决方案p1至p34中任一项的方法,其中,转换包括通过对视频进行编码来生成编解码表示。[0749]p37、一种视频解码装置,包括被配置为实施解决方案p1至p36中任一项或多项的方法的处理器。[0750]p38、一种视频编码装置,包括被配置为实施解决方案p1至p36中任一项或多项的方法的处理器。[0751]p39、一种其上存储有计算机代码的计算机程序产品,该代码在由处理器执行时使处理器实施解决方案p1至p36中任一项或多项的方法。[0752]在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示转换为对应的比特流表示期间应用,反之亦然。当前视频块的比特流表示可以例如对应于在比特流内位于不同位置或分布在不同位置的比特,如语法所定义。例如,宏块可以根据变换和编解码的误差残差值进行编码,并且还可以使用标头中的比特和比特流中的其他字段。[0753]本文档中描述的所公开的以及其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路中、或者在计算机软件、固件或硬件(包括本文档中公开的结构及其结构等同物)中、或者在它们中的一个或多个的组合中被实施。所公开的以及其他实施例可以被实施为一个或多个计算机程序产品,即在计算机可读介质上编码的计算机程序指令的一个或多个模块,该计算机程序指令用于由数据处理装置运行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质的组合、或它们中的一个或多个的组合。术语“数据处理装置”包含用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机、或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如机器生成的电信号、光学信号或电磁信号,其被生成以对信息进行编码以传输到合适的接收器装置。[0754]计算机程序(也被已知为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言(包括编译或解释语言)编写,并且其可以以任何形式部署,包括作为独立程序或作为适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署以在一台计算机上或位于一个站点上或分布在多个站点上并通过通信网络互连的多台计算机上运行。[0755]本文档中描述的过程和逻辑流程可以由运行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流程也可以由专用逻辑电路执行,并且装置也可以被实施为专用逻辑电路,例如,fpga(fieldprogrammablegatearray,现场可编程门阵列)或asic(applicationspecificintegratedcircuit,专用集成电路)。[0756]适合于运行计算机程序的处理器包括例如通用和专用微处理器、以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括,或可操作地耦合到,一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,以从该一个或多个大容量存储设备接收数据,或向该一个或多个大容量存储设备传输数据,或者从其接收数据并向其传输数据。然而,计算机不需要这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可换式磁盘;磁光盘;以及cdrom和dvd-rom磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。[0757]虽然本专利文档包含许多细节,但这些细节不应被解释为对任何主题或可能要求保护的范围的限制,而是作为特定于特定技术的特定实施例的特征的描述。在本专利文档中在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合实施。此外,尽管特征可以在上面描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合排除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。[0758]类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为需要以所示的特定顺序或以先后顺序执行这样的操作或者执行所有示出的操作以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这样的分离。[0759]仅描述了一些实现方式和示例,并且可以基于本专利文档中描述和示出的内容来进行其他实现方式、增强和变化。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1