编码方法、编码装置和相应地计算机可读存储介质与流程

文档序号:23665039发布日期:2021-01-15 14:03阅读:113来源:国知局
【交叉引用】本申请要求申请日为2015年4月8日,美国临时申请号为62/144,529的美国临时申请案、申请日为2015年6月9日,美国临时申请号为62/173,030的美国临时申请案和申请日为2015年6月22日,美国临时申请号为62/182,690的美国临时申请案的优先权,上述临时申请案的内容一并并入本申请。【
技术领域
:】本发明有关于视频数据的调色板编解码(palettecoding)。更具体而言,本发明有关于与调色板编解码相关的语法元素的信令、二值化(binarization)和约束的各种技术。
背景技术
::高效视频编解码(highefficiencyvideocoding,简写为hevc)是近年来发展的新编解码标准。在高效视频编解码(hevc)系统中,h.264/avc的固定大小的宏块(macroblock)被灵活的块(flexibleblock)取代。在今年的hevc发展中,基于调色板的编解码用于屏幕上下文编解码(screencontentcoding,简写为scc)。调色板编解码的语法主要由两部分组成。一个是信令(signaling)调色板表,另一个是信令块(例如,cu)的索引图(indexmap)(其表示被编解码的块的信息)。对于索引图,信令(signal)索引数、最后的run_type标志和分组索引(groupedindices)。在信令索引信息之后,一组运行类型(runtype)和运行数被反复信令。最后,若有需要,信令逸出值(escapevalue)组。在hevc文档jctvc-t1005(joshi等人,hevcscreencontentcodingdrafttext3,itu-tsg16wp3和iso/iecjtc1/sc29/wg11视频编解码联合协作小组(jointcollaborativeteamonvideocoding)(jct-vc),第20次会议:geneva,ch,2015.2.10-2.18,文档编号:jctvc-t1005)中,调色板索引在用于对应块的编解码数据之前(即,在用于当前块的位流中的palette_run_mode和palette_run语法元素之前)被分组和信令。另一方面,逸出像素(escapepixel)在对应块的编解码数据的末尾被编解码。语法元素palette_run_mode和palette_run在调色板索引和逸出像素之间被编解码。图1是依据jctvc-t1005的索引映射语法信令的范例流程图。信令索引数(110)、最后的run_type标志(130)和分组索引(120)。在信令索引信息之后,一组运行类型(140)和运行数(150)被反复信令。最后,若有需要,信令一组逸出值(160)。在jctvc-t1005中,last_palette_run_type_flag使用其自身的上下文来编解码。表1中示出了上下文表(contexttable),其中指定了palette_run_type_flag和last_palette_run_type_flag的初始值(即,initvalue)。表1此外,palette_run_type和last_palette_run_type(每个具有一个上下文(ctxidx=0))在下表中被指定。表2调色板编解码的语法主要由两部分组成。一个是信令(signaling)调色板表,另一个是信令块(例如,cu)的索引图(indexmap)(其表示被编解码的块的信息)。对于索引图,信令(signal)索引数、最后的run_type标志和分组索引(groupedindices)。在信令索引信息之后,一组运行类型(runtype)和运行数被反复信令。最后,若有需要,信令逸出值(escapevalue)组。scm4.0中的调色板索引映射语法信令可以描述如下:在jctvc-t1005中,信令numpaletteindices和maxpaletteindex之间的差异,其中maxpaletteindex指定当前编解码单元的调色板索引的最大可能值。maxpaletteindex的值设置为等于currentpalettesize-1+palette_escape_val_present_flag。索引数量的相应语法元素为num_palette_indices_idc。相应的语法如下:num_palette_indices_idc是针对当前块信令的调色板索引数的指示。当num_palette_indices_idc不存在时,推断其等于0。变量numpaletteindices指定针对当前块信令的调色板索引数,并且如下表所示导出。表3在jctvc-t1005中,它还公开了一种基于调色板预测值来信令当前块的调色板表的方法。图2示出了基于如jctvc-t1005中指定的调色板预测值重建当前块的调色板的过程的示例。调色板预测值220的一些条目(entry)由当前块210的调色板重新使用。调色板预测值220的重新使用的条目和当前块的调色板的重新使用的条目之间的对应关系由箭头215指示。调色板重用标志230用于标识被重新使用的调色板预测值的条目。如果调色板重用标志等于1,则表示相应的条目被重新使用。如果调色板重用标志等于0,则表示相应的条目不被重用。调色板重用标志由运行长度编解码编解码,其中运行“1”被编码为语法元素palette_predictor_run。技术实现要素:揭露了与调色板编码相关的语法元素的信令、二值化和约束的多种方法。在一个实施例中,揭露了对调色板索引数的简化的语法信令,其中语法元素对应于(调色板索引的总数-1)、(调色板索引的总数-2)或(调色板索引的总数-2加上逸出像素的数量),语法元素被信令,且调色板索引与当前块中的复制索引模式相关联。可以使用n阶指数哥伦布码二值化语法元素,且n为非负整数。可以依据块大小自适应的选择n。语法元素也可以被二值化为对应于语法元素的最大有效位的前缀部分和后缀部分。前缀部分可以使用基于上下文的熵编码被编码。在另一实施例中,信令对应于调色板索引数量减1的语法,其中调色板索引与当前块中的复制索引模式相关联。根据该实施例,语法被约束为从0至块大小减1的范围内。在又一实施例中,对调色板预测值运行实施一致性约束。依据该实施例,对于调色板预测值列表的当前位置,从输入位流中解析对应于当前调色板预测值运行的语法元素,且该语法元素被约束在多个值的范围以使所述调色板预测值列表的(当前调色板预测值运行+1)连续调色板条目在所述调色板预测值列表内,其中调色板预测值列表的(当前调色板预测值运行+1)连续调色板条目依据包括语法元素的位置信息被放置。基于依据包括语法元素的位置信息被放置的调色板预测值列表的(当前调色板预测值运行+1)连续调色板条目生成当前调色板的(当前调色板预测值运行+1)连续调色板条目。在有一个实施例中,信令语法元素,其中该语法元素对应于与当前块中的一个或多个复制索引模式相关联的调色板索引的总数减去当前调色板的条目的总数,并进一步减去非负整数n。信令该当前块的位流中的语法元素的正负号部分和绝对值部分。在又一个实施例中,若与当前块中国的一个或多个复制索引模式相关联的调色板索引的总数大于或等于当前调色板的条目的总数加n(从0至当前块的大小),将语法元素映射到调色板索引的总数减去当前调色板的条目的总数并减去正n。否则,将语法元素映射到不同的表达式。例如,当n为0时,不同的表达可以对应于当前块大小减去调色板索引的总数。在其他示例中,语法元素可以映射到大值。【附图说明】图1是依据基于屏幕上下文编码测试模块版本4(scm-4.0)的hevc(高效视频编码)的调色板索引映射语法信令的范例。图2示出了基于如jctvc-t1005中指定的调色板预测值重建当前块的调色板的过程的示例。图3示出了根据本发明的实施例的调色板编解码的示例性流程图,其中对应于(与当前块中的一个或多个复制索引模式相关联的调色板索引的总数减去一)的语法元素被信令。图4示出了根据本发明的实施例的调色板编解码的示例性流程图,其中对与对应于与当前块的一个或多个复制索引模式相关联的调色板索引的总数减一的语法元素施加约束。图5示出了根据本发明的实施例的调色板编解码的示例性流程图,其中对与调色板预测值运行相对应的语法元素施加一致性约束。【具体实施方式】以下描述是实施本发明的最佳设想模式。这一描述是为了说明本发明的一般原理,而不应被认为是限制性的。本发明的范围最好通过所附权利要求书来确定。调色板索引编解码的数量如前所述,与当前块的复制索引模式相关联的调色板索引必须被信令。与复制索引模式相关联的调色板索引可以被分组并一起被信令。如图1所示,在各个调色板索引值被信令之前,必须信令与当前块的复制索引模式相关联的调色板索引的总数。在下文中,解决了用于信令与复制索引模式相关联的调色板索引的总数以及各个调色板索引值的编解码技术。为方便起见,调色板索引的总数(thetotalnumberofpaletteindices)也被称为索引数(numberofindices)。编解码(索引数-1)在现有的hevc(高效率视频编解码)中,索引数的编解码相当复杂。本发明的实施例直接信令(索引数-1)。当(当前块的调色板大小+escape_present_flag)大于1时,索引数始终为正值,因为块中应该有大于或者等于1个的索引。语法元素escape_present_flag等于1指定当前块中至少有一个逸出像素,而escape_present_flag等于0表示当前块中没有逸出像素。因此,在第一组实施例中,编解码的索引数与实际的索引数量相关联。特别地,(索引数量-1)被编解码。在解码之后,通过添加1来重建该值。在一些hevc文档中,索引数也被称为变量numpaletteindices。在这种情况下,(numpaletteindices-1)被编解码。编解码的索引数可以使用各种二值化处理进行二值化。例如,它可以使用n阶指数golomb(eg)代码进行二值化,其中n可以是0到6或0到10,这取决于当前的块大小。下表说明了0阶指数golomb码的示例,其中“x”可以是“0”或“1”。表4值二值化011,201x3-6001xx7-140001xx在另一个实施例中,可以使用多达m个索引数二进制数的上下文。例如,如果使用3个上下文,则值0的第一个二进制值(bin),值1和值2的前2个二进制值以及值3到6的前3个二进制值可以使用它们各自的上下文。此外,它可以使用与二值化运行数量相同的方法来二值化,其中运行数量被二值化为对应于运行数量的msb(最高有效位)的前缀部分和运行数量的剩余部分。下表示出了根据本发明的实施例的二值化处理的示例。对于剩余部分,“x”表示“0”或“1”,并且根据总块大小和解码的运行数量通过截断的二进制(truncatedbinarization)决定二进制值数量。对于msb部分,最多5个二进制值可以使用上下文模型。表5相同的二值化处理可以应用在信令具有等于块中的像素数量的最大值的索引数量。在另一个实施例中,索引数量的二值化处理的最大值可以被设置为(块大小-1),因为当(调色板大小+escape_present_flag)大于1时,块中应存在多于一个的copy_index。在一个实施例中,可以使用多达m个索引数二进制数的上下文。例如,如果使用3个上下文,则值0的第一个二进制值,值1和值2的前2个二进制值以及值3到6的前3个二进制值可以使用它们各自的上下文。在另一个实施例中,当palette_escape_val_present_flag等于0时,使用上述二值化表将(索引数量-2)的值编码为编解码的索引数。在另一个实施例中,使用上述二值化表将(索引数量-2+palette_escape_val_present_flag)的值编码为编解码的索引数。在另一个实施例中,使用当前映射处理将(索引数量-调色板数量-n)编码为编解码的索引数,并且二值化scm4.0中的(索引数量-调色板数量)。n是从1到块大小的整数。在另一个实施例中,用于编码(索引数量-调色板大小)的当前二值化过程是根据具有rice参数cparam等于(2+indexmax/6)的“xwritecoefremainexgolomb”,其中“xwritecoefremainexgolomb”是使用rice参数的截断的rice代码对语法元素进行二值化的hevc测试模型4.0版软件中的功能调用(functionalcall)。目前的二值化过程可用于编码(索引数-1),(索引数-2),(索引数-2+palette_escape_val_present_flag)或(索引数-调色板数-n)。cparam可以是任何数字。参数indexmax在不同的文档中也称为maxpaletteindex。上述块大小对应于当前cu的大小。调色板条目的数量可以根据等式(2)导出:numberofpaletteentries=palettesizeofcurrentblock+escape_present_flag.(2)在另一个实施例中,使用criceparam=2+maxpaletteindex/6(即,直接使用scm4.0中的xwritecoefremainexgolomb())的hevc系数编解码方法直接对(numpaletteindices-1)进行编码。因此,num_palette_indices_idc=被信令的(numpaletteindices-1)。根据表3所示的scm-4.0的语法和语义可以简单地替换为:numpaletteindices=num_palette_indices_idc++.编码(索引数-调色板大小)为了简化与复制索引模式相关联的信令索引数的过程,本发明的一组实施例的信令(索引数量-调色板大小)代替索引数或编码的索引数量。由于不能保证(索引数量-调色板大小)总是等于或大于0,因此可能必须信令一个值为负的值。例如,可以信令一个表示正负号(sign)的标志。此外,信令(索引数量-调色板大小)的绝对值。一个上下文可以用于指示正负号的标志。用于编码(索引数-1)的上述情况的相同二值化和上下文可以应用于(索引数量-调色板大小)的绝对值的编码。在scm-4.0中,语法元素numpaletteindices表示索引数,并且语法元素maxpaletteindex指定了如前所述的当前编解码单元的调色板索引的最大可能值。此外,maxpaletteindex的值设置为等于currentpalettesize-1+palette_escape_val_present_flag。因此,编码(索引数量-调色板大小)变为编码(numpaletteindices-maxpaletteindex)。当使用(numpaletteindices-maxpaletteindex)(即num_palette_indices_idc=(numpaletteindices-maxpaletteindex))对语法元素num_palette_indices_idc进行编码时,其值可能变为零或为负。在另一个实施例中,(numpaletteindices-maxpaletteindex-n)被编码,其中n是非负整数。为了处理num_palette_indices_idc可能为正、零或负的情况,指示正负号的标志与num_palette_indices_idc的绝对值一起被信令。一个上下文可以用于指示正负号的标志。在另一个实施例中,如果(索引数量-调色板大小)为0或负数,则信令编号为0(索引数量-调色板尺寸)和索引总数和调色板大小之间的差异。例如,在索引数量和调色板尺寸均为3的情况下,编解码的索引数为0,并且发送差值0。由于可以确定当前块的调色板大小,因此可以从差值和调色板大小导出索引数。在索引总数为3并且调色板大小为5的情况下,编码的索引数为0,并且信令差异2。在索引总数为7并且调色板大小为5的情况下,如果编码的索引数不为0,则仅对索引数量编码2。可以用一个或多个上下文来编码差异。在另一个实施例中,如果索引数小于调色板大小,则调色板索引的值被设置为调色板大小,并且(调色板大小-索引数)虚拟信息(dummyinformation)被信令。每个运行类型的运行数量也被信令,而不信令last_runtype_flag。此外,不跳过信令最后一次运行(lastnumberofrun)。下面的语法表显示了必须进行的更改,其中由括号对中的星号对包围的文本(即[*删除的文本*])表示删除。表6在另一个实施例中,如果(调色板索引的值-调色板的数量)小于0,那么(调色板索引的值-调色板的数量)被映射如下表所示。在本公开中调色板的数量也被称为调色板大小。表7在上表中,uimappedvalue对应于要在位流中信令的语法元素。在上表中可以分别使用语法元素numpaletteindices和maxpaletteindex替换(索引数)和(调色板数)。块大小可以是当前编解码单元(cu)或预测单元(pu)的大小。根据表3所示的jctvc-t1005的语法和语义可以简单地由下表中的过程代替。表8在上表中,uitotal对应于块大小。根据一个实施例,numpaletteindices的值应该被约束到从1到palettecodedarea的范围,其对应于块大小。根据另一实施例,num_palette_indices_idc的值应该被限制在从0到palettecodedarea-1的范围内。例如,palettecodedarea可以是ncbs*ncbs。如果从相邻cu或其他方法预测调色板模式cu的l行或列,则palettecodedarea可以是ncbs*(ncbs-l)。在另一个实施例中,当num_palette_indices_idc=(numpaletteindices-maxpaletteindex)具有负值时,num_palette_indices_idc被映射到一个较大的值,例如max(uitotal,palette_max_size)-numpaletteindices。语义的一个例子如下表所示。如前所述,uitotal对应于本公开中的块大小。表9在另一个实施例中,负num_palette_indices_idc(即,(numpaletteindices-maxpaletteindex))被映射到大值,例如max(uitotal,palette_max_size)+numpaletteindices。示例性语义如下表所示。表10在另一个实施例中,负num_palette_indices_idc(即,(numpaletteindices-maxpaletteindex))被映射到大的值,诸如uitotal+numpaletteindices。示例性语义如下表所示。表11下表中示出了上述表的替代语义。表12在上述情况下,m是大于uitotal的预定义大数,使得(m+maxpaletteindex)大于(numpaletteindices-maxpaletteindex)。在另一个实施例中,num_palette_indices_idc被编码为(numpaletteindices-maxpaletteindex-n),其中n是从0到块大小的任何整数。当num_palette_indices_idc被编码为(numpaletteindices-maxpaletteindex-n)时,不能保证其值始终等于或大于0。在这种情况下,可以应用以下映射方法。在一个实施例中,负数被映射到相对较大的值。n等于1的示例性语义如下表所示。表13在另一个实施例中,对应于(numpaletteindices-maxpaletteindex-n)的负num_palette_indices_idc被映射到大的值,例如max(uitotal,palette_max_size)-numpaletteindices。n等于1的示例性语义如下表所示。表14在另一个实施例中,对应于(numpaletteindices-maxpaletteindex-n)的负num_palette_indices_idc被映射到大的值,例如max(uitotal,palette_max_size)-numpaletteindices。n等于1的示例性语义如下表所示。表15在另一个实施例中,对应于(numpaletteindices-maxpaletteindex-n)的负num_palette_indices_idc被映射到大值,诸如uitotal+numpaletteindices。n等于1的示例性语义如下表所示。表16在另一实施例中,对应于(numpaletteindices-maxpaletteindex-n)的负num_palette_indices_idc被映射到诸如uitotal+numpaletteindices之类的大值。n等于1的示例性语义如下表所示。表17在上述示例中,m是大于uitotal的大数(bignumber),使得(m+maxpaletteindex)大于(numpaletteindices-n+maxpaletteindex)。在上面的例子中,uitotal可以等于ncbsw*ncbsh,其中ncbsw是当前块的宽度,ncbsh是当前块的高度。在另一个实施例中,使用正负号标志来对与(numpaletteindices-maxpaletteindex-n)对应的num_palette_indices_idc的正负号进行编码,并且其绝对值如下。正负号标志可以是cabac上下文编码或cabac旁路编码。当对应于(numpaletteindices-maxpaletteindex)的num_palette_indices_idc的值范围总是等于或大于0时,可以直接编码num_palette_indices_idc而不进行映射。下表中显示了n等于1的示例性语义,其中表3中的语义被以下语句所替代:numpaletteindices=num_palette_indices_idc+(maxpaletteindex).在另一个实施例中,当对应于(numpaletteindices-maxpaletteindex-1)的num_palette_indices_idc的值范围总是等于或大于0时,可以直接编码num_palette_indices_idc而不进行映射。下表中显示了n等于1的示例性语义,其中表3中的语义被以下语句所替代:numpaletteindices=num_palette_indices_idc+(maxpaletteindex+1).在另一个实施例中,当对应于(numpaletteindices-maxpaletteindex-n)的num_palette_indices_idc的值范围总是等于或大于0时,可以直接编码num_palette_indices_idc而不进行映射。下表中显示了n等于1的示例性语义,其中表3中的语义被以下语句所替代:numpaletteindices=num_palette_indices_idc+(maxpaletteindex+n).在另一个实施例中,映射可以遵循当前scm4.0中的规范。但是,语法可能不同。变量numpaletteindices指定为当前块信令的调色板索引数,并导出如下表所示。表18使用cparam=2+indexmax/6的xwritecoefremainexgolomb进程的二值化将用于对uimappedvalue进行编码。cparam可以是任何非负整数。为了对cu中的索引数进行二值化,(索引数)、(编解码的索引数)或(索引数-调色板大小)可以与块大小相关。在一个实施例中,具有不同大小的所有调色板编解码cu使用相同的二值化表。在另一个实施例中,可以通过块大小来确定二值化表。例如,如果使用指数golomb码,则可以基于cu大小来确定阶参数(orderparameter)n。特别是,32x32cu使用2阶的eg代码;16x16cu使用1阶的eg代码;并且8×8cu使用0阶的eg代码。通常,具有较小块大小的块具有更高的概率包括更小的调色板索引值。在另一个实施例中,可以信令(copy_above模式的数量)、(copy_above模式的数量-调色板大小)、(copy_above模式的数量-新的调色板大小)或(copy_above模式的数量-重复使用的调色板的数量)。新的调色板大小可以由语法元素num_signalled_palette_entries指示,并且重用调色板的数量可以由语法元素numpredictedpaletteentries指示。可以应用“编码(索引数-1)”部分和“编码(索引-调色板大小)”部分中公开的二值化处理。调色板大小和索引数量的限制语法num_palette_indices_idc表示针对当前块信令的调色板索引数始终小于或等于当前块大小。在这种情况下,语法描述可以如下:num_palette_indices_idc是针对当前块信令的调色板索引数的指示。换句话说,num_palette_indices_idc应在0到ncbs*ncbs-in的范围内,其中ncbs是块宽度和长度,(ncbs*ncbs)对应于块大小。当num_palette_indices_idc不存在时,推断为等于0。在根据本发明的一个示例中,如果从相邻cu或其他方法预测当前cu中的l个行或列,则num_palette_indices_idc应在0到ncbs*(ncbs-l)-1的范围内,包括0和ncbs*(ncbs-l)-1。在另一实施例中,指示当前块的调色板大小的currentpalettesize总是小于或等于当前块大小。在这种情况下,语法描述可以如下所示:num_signalled_palette_entries指定当前调色板中被明确信令的条目数。当num_signalled_palette_entries不存在时,推断为其等于0。变量currentpalettesize指定当前调色板的大小,并按如下方式派生:currentpalettesize=numpredictedpaletteentries+num_signalled_palette_entries(3)currentpalettesize的值应在0到min(ncbs*ncbs,palette_max_size)的范围内,包括0和min(ncbs*ncbs,palette_max_size),其中变量palette_max_size对应于最大调色板大小,也称为maxpaletteindex。例如,如果从相邻cu或其他方法预测调色板模式cu的l行或列,则currentpalettesize的值应在0至min(ncbs*(ncbs-l),palette_max_size)的范围内,包括0和min(ncbs*(ncbs-l),palette_max_size)。在另一个实施例中,palette_max_size小于或等于32×32或所定义的最大ctu大小的最小值。在这种情况下,语法描述可以如下所示:palette_max_size指定最大允许的调色板大小。palette_max_size应在0到min(32*32,1<<(ctblog2sizey+1))的范围内(包括0和min(32*32,1<<(ctblog2sizey+1))),其中ctblog2sizey对应于在日志基础2中表示的亮度ctu大小。当不存在时,推断出palette_max_size的值为0。在另一个实施例中,当当前调色板大小大于或等于当前块大小时,可以将指示当前块中的逸出值的存在的palette_escape_val_present_flag推定为0。在这种情况下,语法描述可以如下:palette_escape_val_present_flag等于1指定当前编解码单元包含至少一个逸出编码样本。等于0的escape_val_present_flag指定当前编解码单元中没有逸出编码样本。当不存在时,推断palette_escape_val_present_flag的值等于1。当currentpalettesize大于或等于ncbs*ncbs时,推断palette_escape_val_present_flag等于0。在一个示例中,如果从相邻cu或其他方法预测调色板模式cu的l行或列,并且currentpalettesize大于或等于ncbs*(ncbs-l),则推断palette_escape_val_present_flag等于0。在另一个实施例中,变量numpaletteindices指定针对当前块信令的调色板索引数。numpaletteindices的值应该被约束。根据另一个实施例,numpaletteindices的值应该在1到ncbs*ncbs的范围内。例如,numpaletteindices的值应在1到palettecodedarea之间。palettecodedarea可以是ncbs*ncbs。对于调色板模式cu,如果从相邻cu或其他方法预测l行或列,palettecodedarea可以是ncbs*(ncbs-l)。应对num_palette_indices_idc施加约束。num_palette_indices_idc的值应在0到palettecodedarea-1的范围内。在palettecodedarea等于ncbs*ncbs的情况下,如果从相邻cu或其他方法预测调色板模式cu的l行或列,则palettecodedarea可以是ncbs*(ncbs-l)。调色表条目本发明的另一方面涉及调色板条目的编码。为了确保在索引图中使用所有调色板条目,可以应用限制。语法元素palette_entry指定当前调色板的调色板条目中的组件的值。变量predictorpaletteentries[cidx][i]指定颜色分量cidx的预测变量调色板中的第i个元素。为了确保在索引映射中使用所有调色板条目,对于palette_idx,至少应使用currentpaletteentries的每个条目一次。此外,语法元素num_palette_indices_idc是针对当前块信令的调色板索引数的指示。当num_palette_indices_idc不存在时,推断为等于0。变量numpaletteindices指定为当前块信令的调色板索引数,numpaletteindices应大于或等于(maxpaletteindex+1)。numpaletteindices可以根据表3导出。intrabc切片的cabac_init_flag和inittype根据本发明的实施例,可以通过几种方式来识别intabc切片。例如,可以根据以下过程识别intabc切片:表19在上表中,等于1的语法元素currpiconlyref指定当前图片是唯一的参考图片,这意味着正在使用intrabc模式。当切片是intrabc切片时,参考图片是当前图片。在这种情况下,无论是否在sliceheader中信令cabac_init_flag,cabac_init_flag可被强制为0。语法元素cabac_init_flag指定用于确定在上下文变量的初始化过程中使用的初始化表的方法。当cabac_init_flag不存在时,推断为等于0。当currpiconlyref为假(false)时,cabac_init_flag被设置为等于0。在另一个实施例中,无论cabac_init_flag如何,切片(intrabc切片)的inittype都可以设置为1,其中inittype指定上下文编码的初始化类型,inittype的值为0到2.示例性过程如下表。表20在另一个实施例中,cabac_init_flag可以被推断为1而不在切片报头中信令。在下表中示出了包含实施例的示例性语法表,其中仅当cabac_init_present_flag的值为1并且currpiconlyref具有值0(如注释(21-1)所示)时,包括如注释(21-2)所示的cabac_init_flag。表21在另一个实施例中,当语法元素cabac_init_flag不存在时,推断为等于0.当currpiconlyref为假时,cabac_init_flag被推断为1。在另一个实施例中,语法元素cabac_init_flag可以被设置为1,无论是否在sliceheader中信令。文字将如下。在这种情况下,当cabac_init_flag不存在时,推断为等于0。当currpiconlyref为假时,cabac_init_flag设置为1。在另一个实施例中,无论cabac_init_flag如何,切片(intrabc切片)的inittype都可以设置为2。示例性过程如下表所示。表22在另一个实施例中,cabac_init_flag可以具有0、1或2的值。具有值2的语法元素cabac_init_flag表示当前切片的inittype为0(即i_slice)。示例性过程如下表所示。表23在另一个实施例中,上述提到的这个特征可以仅在切片是intrabc切片时被应用如下:表24具有从0到2的值范围的信令cabac_init_flag在以下示例性语法表中示出,其中由括号对内的星号对包围的文本(即,[*删除的文本*])指示删除:表25在上述语法表中,cabac_init_flag_pb指定用于确定用于上下文变量的初始化过程中的p切片和b切片的初始化表的方法。当cabac_init_flag_pb不存在时,推断为等于0。语法元素cabac_init_flag_i指定用于确定用于上下文变量的初始化过程中的i切片的初始化表的方法。当cabac_init_flag_i不存在时,推断为等于0。语法元素cabac_init_flag可以根据以下方式导出:cabac_init_flag=cabac_init_flag_i_<<1+cabac_init_flag_pb也可以信令每个切片类型的单独标志,以指示当前切片在sliceheader中使用inittype0。示例性语法表如下所示。表26相关联的inittype进程如下表所示。表27palette_predictor_run和调色板重用标志的一致性约束在jctvc-t1005中,palette_predictor_run和调色板重用标志的解析和解码过程如下面的语法表所示。表28当语法元素palette_predictor_run(使用0阶指数哥伦布(eg-0)编码)被解析时,导出相应的位置i将重用标志设置为1。调色板预测值中的相应条目将用于当前cu。然而,编码器可能生成因超出palettepredictorentryreuseflag[]大小而使i为无效值的palette_predictor_run。palettepredictorentryreuseflag[]的大小与调色板预测值的大小相同。例如,如果调色板预测值大小为17,i的当前位置为14,并且编码/解析的palette_predictor_run为10,则i+=10-1变为23,超过调色板预测值的大小。为了克服这个问题,公开了本发明的实施例,以防止超出数列大小的访问,并且防止在这种情况下增加numpredictedpaletteentries的值。实施例1:一致性约束。根据该实施例,对位流施加约束以确保位流总是一致的位流。因此,对于一致的位流,变量i将始终指向palette_predictor_run的有效位置。例如,可以对解析的语法palette_predictor_run施加一致性约束:(palette_predictor_run–1)<predictorpalettesize–i,whereiisthecurrentpositionbeforeparsingthecurrentpalette_predictor_run.在另一示例中,可以在添加解析的语法palette_predictor_run之后对该位置施加一致性约束:i+(palette_predictor_run–1)<predictorpalettesize,whereiisthecurrentpositionbeforeparsingthecurrentpalette_predictor_run.根据该实施例,(i+=palette_predictor_run-1)应该小于predictorpalettesize。图3示出了根据本发明的实施例的调色板编解码的示例性流程图,其中对应于(与当前块中的一个或多个复制索引模式相关联的调色板索引的总数减去一个)的语法元素被信令。在步骤310中,系统接收与图片中的当前块相关联的输入数据。然后在步骤320中将当前调色板的调色板编解码应用于当前块,以使用包括复制索引模式和复制上方(copeabove)模式的调色板编解码模式来生成当前块的一个或多个编码符号,其中复制索引模式表示均具有一个第一索引值的第一连续索引,并且复制上方模式表示均具有与对应的上方像素相同的索引值的第二连续索引。在步骤330中将对应于(第一变量减1)、(第一变量减去2)或(第一变量减去2加上第二变量)的语法元素编码为编码的语法元素,其中第一变量对应于与当前块中的一个或多个复制索引模式相关联的调色板索引的总数,第二变量对应于当前块中的逸出像素的总数。然后,在步骤340中,针对当前块在位流中信令编码的语法元素。可以使用图3中的流程图的逆处理来导出与图3中的编码器对应的解码器流程图。图4示出了根据本发明的实施例的调色板编解码的示例性流程图,其中对与对应于与当前块的一个或多个复制索引模式相关联的调色板索引的总数减一的语法元素施加约束。在步骤410中,该系统接收与图片中的当前块相关联的输入数据。然后,在步骤420中,对当前块应用具有当前调色板的调色板编解码,以使用包括复制索引模式和复制上方模式的调色板编解码模式来生成当前块的一个或多个编码符号,其中复制索引模式表示全部具有一个第一索引值的第一连续索引,复制上方模式表示均具有与对应的上方像素相同的索引值的第二连续索引。在步骤430中确定对应于(第一变量-1)的语法元素,其中第一变量对应于与当前块中的一个或多个复制索引模式相关联的调色板索引的总数。在步骤440中,如果语法元素为负或大于(当前块的大小-1),则将语法元素修改为从0到(当前块的大小-1)的范围。然后在步骤450中,在当前块的位流中信令语法元素。图5示出了根据本发明的实施例的调色板编解码的示例性流程图,其中对与调色板预测值运行相对应的语法元素施加一致性约束。在步骤510中,系统接收当前图片中当前块的当前调色板。在步骤520中,系统还接收当前调色板的调色板预测值列表。在步骤530中,对于调色板预测值列表的当前位置,确定当前调色板预测值运行,从调色板预测值列表的当前位置的调色板预测值列表的(当前调色板预测值运行+1)连续调色板条目用于预测当前调色板的(当前调色板预测值运行+1)调色板条目。步骤540中,语法元素被约束到一个值的范围,以使调色板预测值列表的(当前调色板预测值运行+1)连续调色板条目在调色板预测值列表范围内,其中根据包括语法元素的位置信息来定位调色板预测值列表的(当前调色板预测值运行+1)连续调色板条目调色板预测值列表的连续调色板条目。在步骤550中,在当前块的位流中信令语法元素。呈现上述描述以使得本领域普通技术人员能够在特定应用及其要求的上下文中实施本发明。对所描述的实施例的各种修改对于本领域技术人员将是显而易见的,并且本文定义的一般原理可以应用于其他实施例。因此,本发明不旨在限于所示出和描述的特定实施例,而是符合与本文公开的原理和新颖特征相一致的最广范围。在上述详细描述中,示出了各种具体细节以便提供对本发明的透彻理解。然而,本领域技术人员将理解,可以实施本发明。如上所述的本发明的实施例可以以各种硬件、软件代码或两者的组合来实现。例如,本发明的实施例可以是集成到视频压缩芯片中的一个或多个电子电路或集成到视频压缩软件中的程序代码,以执行本文所述的处理。本发明的实施例还可以是要在数字信号处理器(dsp)上执行以执行本文所述的处理的程序代码。本发明还可涉及由计算机处理器、数字信号处理器、微处理器或现场可编程门阵列(fpga)执行的多个功能。这些处理器可以被配置为通过执行定义本发明所体现的特定方法的机器可读软件代码或固件代码来执行根据本发明的特定任务。软件代码或固件代码可以以不同的编程语言和不同的格式或风格开发。也可以为不同的目标平台编译软件代码。然而,根据本发明的不同的代码格式,软件代码的样式和语言以及配置代码的其他方式将不会脱离本发明的精神和范围。在不脱离本发明的精神或基本特征的情况下,本发明可以以其他具体形式实施。所描述的例子仅在所有方面被认为是说明性的而不是限制性的。因此,本发明的范围由所附权利要求而不是前面的描述来指示。在权利要求的等同物的含义和范围内的所有变化将被包括在其范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1