在索引图编码中将跳出像素作为预测器的方法与流程

文档序号:12143609阅读:317来源:国知局
本申请要求下列申请的优先权:2014年7月7日提交的申请号为62/021,289的美国临时案;2014年7月22日提交的申请号为62/027,334的美国临时案;2014年7月30日提交的申请号为62/030,714的美国临时案;2014年8月11日提交的申请号为62/035,625的美国临时案;2008年8月21日提交的申请号为62/040,020的美国临时案;以及2014年8月21日提交的申请号为62/040,022的美国临时案。在此合并参考这些申请案的申请标的。
技术领域
:本发明涉及视频数据的调色板编码。具体来说,本发明涉及解决当预测器(predictor)对应于跳出像素时与预测器复制模式相关的问题的各种技术。
背景技术
::高效率视频编码(HighEfficiencyVideoCoding,HEVC)是近年来已经开发出来的新的编码标准。在高效率视频编码系统中,H.264/AVC的固定大小宏块被称为编码单元(codingunit,编码单元)的灵活块(flexibleblock)所替换。编码单元中的像素共享相同的编码参数以提高编码效率。编码单元可以从最大编码单元(largestCU,LCU)开始,其在HEVC中也被称为编码树单元(codedtreeunit,CTU)。除了编码单元的概念,预测单元(PU)的概念也引入到了HEVC中。一旦编码单元层次树(CUhierarchicaltree)的拆分(splitting)完成,则根据预测类型和预测单元分区(PUpartition)将每个叶编码单元(leafCU)进一步拆分成一个或多个预测单元。已经开发了用于屏幕内容编码的几种编码工具。与本发明相关的这些工具简要回顾如下。调色板编码在HEVC屏幕内容编码(SCC)的开发期间,已经公开了若干建议来解决基于调色板的编码。例如,在JCTVC-N0247(Guoetal.,“RCE3:ResultsofTest3.1onPaletteModeforScreenContentCoding”,JointCollaborativeTeamonVideoCoding(JCT-VC)ofITU-TSG16WP3andISO/IECJTC1/SC29/WG11,14thMeeting:Vienna,AT,25July–2Aug.2013Do编码单元ment:JCTVC-N0247)和JCTVC-O0218(Guoetal.,“EvaluationofPaletteModeCodingonHM-12.0+RExt-4.1”,JointCollaborativeTeamonVideoCoding(JCT-VC)ofITU-TSG16WP3andISO/IECJTC1/SC29/WG11,15thMeeting:Geneva,CH,23Oct.–1,Nov.2013,Do编码单元ment:JCTVC-O0218)中公开了调色板预测和共享技术。在JCTVC-N0247中,每个颜色分量(colorcomponent)的调色板被构造和发送。可以从其左边相邻的编码单元来预测(或共享)调色板以减小比特率。然后,使用它们的调色板索引来对给定块内的所有像素进行编码。根据JCTVC-N0247的编码处理的示例如下所示。1.调色板的发送:首先发送颜色索引表(也称为调色板表)大小,然后是调色板元素(即,颜色值)。2.像素值的发送:编码单元中的像素以光栅扫描顺序编码。对于一个或多个像素的每个组,首先发送用于基于游程的模式(run-basedmode)的标志,以指示是否正在使用“复制索引模式(copy-indexmode)”或“复制上方模式(copy-abovemode)”。2.1复制索引模式:在基于游程的模式中,首先发信(signal)调色板索引,然后是表示游程值的“palette_run”(例如,M)。在一些文献中,“复制索引模式”也被称为“索引”模式。在本发明中,术语“palette_run”也可以被称为“pixel_run”或简称为“run”。游程值指示总共M个连续样本都使用游程模式来编码。对于当前位置和随后的M个位置,不需要发送进一步的信息,因为它们具有与在比特流中发信的相同的调色板索引。调色板索引(例如,i)也可以由所有的三个颜色分量共享,这意味着,对于YUV色彩空间的情况,重构的像素值是(Y,U,V)=(paletteY[i],paletteU[i],paletteV[i])。2.2复制上方模式:在复制上方模式中,发送值“palette_run”(例如,N),以指示对于当前像素和随后的N个像素,调色板索引与上方的行中的相应调色板索引相同。3.残差(residue)的发送:在阶段2中发送的调色板索引被转换回像素值并且用作预测。使用HEVC残留编码(HEVCresidualcoding)来发送残差信息,并将残差信息添加到用于重构的预测中。在本发明中,复制索引模式和复制上方模式都被称为“复制模式”。在复制索引模式中,发送复制索引编码像素(copy-indexcodedpixels)的前导像素(leadingpixel)的调色板索引。还发送复制索引编码像素的数量。在解码器侧,在确定基础像素(underlyingpixels)的编码模式(即,复制索引模式)之后,仅需要前导像素的调色板索引的信息和复制索引编码像素的数量来重构复制索引编码像素。可以通过从预测器(即,左侧的像素)“复制”,来重构在前导像素之后的像素。可以使用调色板表来重构像素值。在复制上方模式中,由于上方像素已被重构,所以不需要发送与预测器(即,上方像素)相关的调色板索引。当前像素可以从上方像素“复制”得到。在JCTVC-N0247中,每个分量的调色板可被构造和发送。可以从左侧相邻的编码单元来预测(共享)调色板以减小比特率。在JCTVC-O0218中,调色板中的每个元素是三位字节(triplet),表示三个颜色分量的特定组合。此外,编码单元外的调色板的预测编码被移除。还公开了类似于JCTVC-O0218的另一种调色板编码技术。代替从左侧编码单元预测整个调色板表,调色板中的单独调色板颜色条目是从上方编码单元或左侧编码单元中的精确对应的调色板颜色条目来预测的。对于像素调色板索引值的发送,如JCTVC-O0182(Guoetal.,“AHG8:Major-color-basedscreencontentcoding”,JointCollaborativeTeamonVideoCoding(JCT-VC)ofITU-TSG16WP3andISO/IECJTC1/SC29/WG11,15thMeeting:Geneva,CH,23Oct.–1Nov.2013,Document:JCTVC-O0182)中所公开的,将预测编码方法应用于索引。使用三种类型的行模式(linemode),即,水平模式、垂直模式和正常模式,来对每个索引行进行编码。在水平模式下,同一行中的所有索引具有相同的值。如果该值与上方像素行中的第一像素相同,则仅发送行模式信令比特(linemodesignalingbits)。否则,还需发送索引值。在垂直模式中,它指示当前索引行与上方索引行相同。因此,仅发送行模式信令比特。在正常模式下,一行中的索引是单独预测的。对于每个索引位置,左侧或上方的相邻像素被用作预测器,并且预测器号(predictionsymbol)也被发送到解码器。此外,根据JCTVC-O0182,将像素分类成主要颜色像素(具有指向调色板颜色的调色板索引)和跳出像素。对于主要颜色像素,根据解码器侧中的主要颜色索引(即,调色板索引)和调色板表来重构像素值。对于跳出像素,在比特流中进一步发信(signal)像素值。调色板表发信(Palettetablesignaling)在屏幕内容编码(screencontentcoding,SCC)标准的参考软件(即,SCM-2.0(Joshietal.,Screencontentcodingtestmodel2(SCM2),JointCollaborativeTeamonVideoCoding(JCT-VC)ofITU-TSG16WP3andISO/IECJTC1/SC29/WG11,18thMeeting:Sapporo,JP,30June–9July2014,Document:JCTVC-R1014))中,改进的调色板方案统一到JCTVC-R0348(Onnoetal.,Suggestedcombinedsoftwareandtextforrun-basedpalettemode,JointCollaborativeTeamonVideoCoding(JCT-VC)ofITU-TSG16WP3andISO/IECJTC1/SC29/WG11,18thMeeting:Sapporo,JP,30June–9July2014,Document:JCTVC-R0348)中。先前调色板编码的编码单元的调色板表被用作当前调色板表编码的预测器。在调色板表编码中,通过选择先前编码调色板表(调色板预测器)中的哪些调色板颜色被重用,或通过发送新调色板颜色,来发信(signal)当前调色板表。当前调色板大小被设置为预测调色板大小(即,numPredPreviousPalette)加上所发送的调色板大小(即,num_signaled_palette_entries)。预测调色板是从先前重构的调色板编码的编码单元导出的调色板。当将当前编码单元编码为调色板模式时,那些调色板颜色,不使用预测调色板来预测,而是在比特流(即,发信的条目)中直接发送。调色板更新的示例如下所示。在此实例中,当前编码单元被编码为具有调色板大小等于6的调色板模式。六种主要颜色中的三种是从调色板预测器来预测的(numPredPreviousPalette=3),以及另外三种是通过比特流直接发送的。可以使用下面示出的示例性语法来发信所发送的三种颜色。由于在该示例中调色板大小是6,所以从0到5的调色板索引用于指示调色板颜色表中的主要颜色条目。3个预测调色板颜色由索引0到2来表示。因此,3个新的调色板条目为索引3到5而发送。在SCM-2.0中,如果不应用波前并行处理(wavefrontparallelprocessing,WPP),则在每个切片(slice)的开始处或在每个图像块(tile)的开始处初始化(重置)调色板预测器表。如果应用WPP,则最后编码的调色板表不仅在每个切片的开始处或在每个图像块的开始处被初始化(重置),而且还在每个编码树单元行(CTUrow)的开始处被初始化(重置)。调色板预测编码在JCTVC-O0218和JCTVC-N0247中,调色板预测标志(flag)用于从最后的编码调色板编码单元(lastcodedpaletteCU)来预测调色板。每个条目使用一位(bit)。如果调色板条目的调色板预测标志是1,则该调色板被重用于当前编码单元。在JCTVC-R0348中,公开了用于码字的不同的二进制化方法,其中对位于每个预测调色板之间的零游程(zero-runs)进行编码。码字N意味着在为1的下一个调色板重用标记之前存在N个0。例如,“0”表示下一个调色板(nextpalette)被重用(即,在当前和下一个重用标志1之间没有0)。“1”表示第二个下一个调色板被重用。图1中为具有10个调色板的调色板预测表的基于零游程的调色板预测的另一示例。对应于0,2,3,5和8的调色板表条目的调色板由当前编码单元重用。预测调色板的零游程分别是{0,1,1,0,1,2}。二进制化方法可以是具有K阶的索引哥伦布码(Exponential-Golombcodewithorder-K,EG-K码)、具有K阶的截断索引哥伦布码(截断EG-K码)或者N位截断一元码+EG-K码。K可以是0,1,2或3。N可以是0,1,2或3。为了发信最后使用的调色板,在JCTVC-R0228(Seregin,etal.,Non-SCCE3:Run-lengthcodingforpalettepredictor,JointCollaborativeTeamonVideoCoding(JCT-VC)ofITU-TSG16WP3andISO/IECJTC1/SC29/WG11,18thMeeting:Sapporo,JP,July2014,DocumentNo.:JCTVC-R0228)中,公开了将结束码(end-code,EC)插入到码字中的方法。等于或大于结束码的零游程将增加1。在解码器侧,如果解码的零游程等于结束码,则意味着没有其他预测调色板。如果解码的零游程大于结束码,则实际零游程为解码的零游程减1。例如,结束码可以被设置为1,并且大于或等于1的任何零游程将增加1。因此,图1中的示例的编码/解码的码字可以变为如图2所示的{0,2,0,2,3,1}。在现有的调色板编码中,当预测器是跳出像素时,解码器可能会遇到问题。例如,如果选择了复制上方模式并且上方像素是跳出像素,则跳出像素下面的当前像素可能不能被正确地重构。根据现有的复制上方模式,仅用发信游程值(runvalue)。可以将跳出索引分配给上方跳出像素下面的当前像素。然而,由于不传送跳出值,所以不能重构上方跳出像素下面的当前像素。因此,期望开发解决与预测器是跳出像素相关的问题的方法。技术实现要素:本发明公开了解决与使用复制模式的调色板编码中的预测器为跳出像素相关的问题的方法。根据本发明的一个实施例,如果用于复制上方模式的预测器是跳出像素,则发送当前跳出像素的跳出值,使得可以使用所发送的像素值来重构与预测器相关的跳出像素。可以传送跳出像素的每个分量的像素值。可以发信、导出或推断出与通过复制上方模式预测的连续像素的数量相对应的游程值。如果发信游程值,则可以在跳出像素的跳出值之前发信。如果位于当前像素的前导像素上方的上方像素是跳出像素,则游程值可以被限制为零。如果当前编码模式对应于复制索引模式并且发信的索引是跳出索引,则可以发信、导出或推断出与由复制索引模式预测的连续像素的数量相对应的游程值。如果发信游程值,则可以在跳出像素的跳出值之前发信。连续像素被编码为跳出像素。连续跳出像素的调色板索引被编码为跳出索引,并且跳出像素的跳出值被发送。除了编码单元中的第一样本之外,调整最大调色板索引(AdjustedMaxPaletteIndex)被固定为等于的最大调色板索引减1(即,MaxPaletteIndex-1)。本发明还公开了相应解码器侧的实施例。在另一实施例中,通过对编码器侧应用限制来解决与预测器是跳出像素相关的问题。在复制上方模式中,每当位于当前像素上方的上方像素是跳出像素时,终止复制上方游程,将复制上方模式指定为对于当前像素不可用,或者复制上方模式是当前像素不能选择的。因此,与预测器是跳出像素相关的问题将永远不会发生。在又一个实施例中,通过直接复制跳出值、跳出索引和跳出值、或者当预测器是跳出像素时的预测器的重构像素值来解决与预测器是跳出像素相关的问题。例如,在复制上方模式中,如果位于当前像素上方的上方像素是跳出像素,则可以通过复制跳出索引和跳出值、或者上方像素的重构像素值来重构当前像素。在又一个实施例中,通过使用预定义的调色板索引(例如调色板索引0)替换预测器来解决与预测器是跳出像素相关的问题。例如,在复制上方模式中,是跳出像素的任何上方像素被作为预定义的索引。换句话说,如果当前像素是预定义的索引并且上方像素是跳出像素,则复制上方将继续。在复制索引模式的情况下,如果N个连续像素是跳出像素,则通过传送调色板索引(即,跳出索引)和像素值(即,跳出值)来对前导像素进行编码。所有后续像素将被编码为预定义的索引。附图说明图1为基于零游程的调色板预测的示例,其中对应于0,2,3,5和8的调色板表条目由当前编码单元重用(reuse),并且预测调色板的零游程为{0,1,0,1,2}。图2为基于零游程的调色板预测的示例,其中对应于“1”的结束码用于指示重用标志编码的结束,以及对应于图1的零游程变为{0,2,0,2,3,1}。图3A-3B为根据表1的颜色索引表将相邻像素的颜色值转换为颜色索引的示例,其中图3A中的相邻像素值被转换为图3B中的相邻像素索引。图4为来自相邻像素的颜色索引预测的示例,其中使用上方相邻像素作为预测器,以将第一像素的索引解码为1。图5A为与先前的复制上方模式相关的冗余的示例,其中当前样本被指示为“?”,并且上方索引为“A”。图5B为与先前的复制右上方模式(copy-above-rightmode)相关的冗余的示例,其中当前样本被指示为“?”并且右上方索引为“C”。图6A为与先前复制索引模式相关的冗余的示例,其中当前样本被指示为“?”,左索引为“A”。图6B为根据本发明实施例的在确定冗余的情况下使用替换索引预测器的示例。具体实施方式以下描述为本发明的较佳实施例。以下实施例仅用来举例阐释本发明的技术特征,并非用以限定本发明。本发明的保护范围当视权利要求书所界定为准。在预测模式中以跳出像素作为的预测器的问题在JCTVC-O0218,JCTVC-N0247和JCTVC-O0182中,若干预测模式,例如复制上方模式和复制索引模式,支持调色板索引图编码(paletteindexmapcoding)。复制索引模式有时也称为“复制左侧模式”,因为当以从左到右的光栅扫描顺序处理块中的像素时,左侧像素的索引被复制。此外,在本发明中,还可以将复制左侧模式扩展为指代在遍历扫描顺序(traversescanorder)中复制先前像素。在这些模式中,颜色索引是从预测器复制的,例如一个或多个上方的样本或左侧的样本。在屏幕内容编码测试模型2(SCM-2.0)中,基于游程的调色板编码方法类似于JCTVC-O0218和JCTVC-N0247中的方法。在SCM-2.0中,使用复制上方模式和复制索引模式。跳出样本(Escapesample)使用等于游程模式中的最大调色板大小的颜色索引来进行编码。在游程模式中,如果编码调色板大小等于复制索引模式中的最大调色板大小,则发信每个分量(例如,R/G/B分量或Y/U/V分量)的值。然而,在SCM-2.0中,如果使用复制上方模式并且上方样本被编码为跳出索引,则不发信跳出值。解码器将不能重构这些样本值。为了克服这个问题,公开了下列的各种方法:A.用于跳出值信令(Escapevaluessignaling)的编码器限制根据本实施例,公开了编码器限制(constraint),使得仅可以在复制索引模式或新索引模式中对跳出样本或跳出颜色索引进行编码。换句话说,在这种情况下,不允许其他预测复制模式,诸如复制上方模式。因此,在复制上方模式的情况下,只有上方像素的非跳出像素可以用作为复制上方模式的预测器。因此,如果应用复制上方模式,则不需要发信跳出值。在本发明中,样本(sample)和像素(pixel)可互换使用。因此,跳出样本也可以被称为跳出像素。B.不允许跳出样本作为预测器根据该实施例,仅可以在复制索引模式或新索引模式中对跳出样本或跳出颜色索引进行编码。换句话说,在这种情况下,不允许其他预测复制模式,诸如复制上方模式。因此,如果应用预测器复制模式(例如,模式上方复制),则不需要发信跳出值。此外,如果复制模式中的预测器(例如,复制上方模式中的上方样本)是跳出样本,则复制模式将不可用。复制模式的语法可以被移除。例如,如果上方样本是跳出样本,则对于当前样本将不存在复制上方模式。例如,如果上方样本是跳出样本,则当前预测模式可以被推断为复制索引模式。在另一示例中,如果使用复制上方模式,对于当前像素则复制上方样本的颜色索引。如果上方示例是跳出示例,则可以终止索引复制过程。例如,如果发信复制上方模式,游程是5,并且上方第三样本是跳出样本,则将仅复制上方两个样本。实际游程值等于1。C.在复制模式中直接复制重构像素值在复制模式中,发送、导出(derive)或推断出(infer)值“palette_run”(例如N),以指示对于当前像素和后续的N个像素,像素值等于在复制模式中编码的各自的位置(例如,上方、左侧、左上方、上方M行或右上方位置)的重构像素值。在这些预测器复制模式中,不需要使用跳出码(Escapecode)(例如,编码跳出值)。在该方法中,即使发信的索引等于跳出索引,也可以发信palette_run以用于复制索引模式。如果跳出索引的palette_run大于0(例如N),则解码器将填充当前样本和N个后续样本的重构值。可以在palette_run语法之后发信跳出值。D.为跳出样本预测器在复制模式中直接复制跳出值和索引在复制模式中,发送、导出或推断出值“palette_run”(例如N),以指示对于当前像素和后续的N个像素,颜色索引等于在复制模式中编码的位置中的各自的颜色索引,颜色索引等于在各自的复制模式位置(例如,上方、左侧、左上方、上方M行、右上方...)上的颜色索引。然而,如果预测器是跳出样本,则当前样本不仅从预测器复制索引(即,跳出索引),还复制跳出值(例如,palette_Escape_val)。在这些预测器复制模式中,不需要使用跳出码(例如,编码跳出值)。即使发信的索引等于跳出索引,也可以为复制索引模式发信palette_run。如果跳出索引的palette_run大于0(例如N),则解码器将填充当前样本和后续的N个样本的跳出值。可以在palette_run语法之后发信跳出值。在另一示例中,如果跳出索引的palette_run大于0,则发信(N+1)个样本的跳出值。E.为跳出样本预测器在复制模式中直接复制跳出值在复制模式中,发送、导出或推断出值“palette_run”(例如N),以指示对于当前像素和后续的N个像素,颜色索引等于各自的复制模式位置(例如,上方、左侧、左上方、上方M行、右上方...)上的颜色索引。然而,如果预测器是跳出样本,则当前样本从预测器复制跳出值(例如,palette_Escape_val),并将当前索引设置为预定义的索引(例如,0)。在这些预测器复制模式中,不需要使用跳出码(例如,编码跳出值)。在该方法中,即使发信的索引等于跳出索引,也可以为复制索引模式发信palette_run。如果跳出索引的palette_run大于0(例如N),则用跳出值重构第一样本,并且用预定义的索引重构其余样本。可以在palette_run语法之后发信跳出值。F.为跳出样本预测器,在预测器复制模式中将跳出样本视为预定义颜色索引(pre-definedcolorindex)在复制模式中,发送、导出或推断出值“palette_run”(例如N),以指示对于当前像素和后续的N个像素,颜色索引等于各自的复制模式位置(例如,上方、左侧、左上方、上方M行、右上方...)上的颜色索引。然而,如果预测器是跳出样本,根据本发明的实施例,预测器的颜色索引被视为预定义颜色索引(例如,0)。例如,如果为当前像素发信复制上方模式,并且预测器(即,当前像素上方的像素)是跳出像素,则将预测器视为预定义的索引。因此,如果当前像素等于预定义的索引,则复制上方游程将继续。在解码器侧,如果预测器(即,当前像素上方的像素)是跳出像素,则将当前索引设置为预定义的索引。在这些预测器复制模式中,不需要使用跳出码(例如,编码跳出值)。本实施例还可以应用于复制索引模式的情况。因此,即使发信的索引等于跳出索引,也可以为复制索引模式发信palette_run。与发信的索引相关的跳出值可以在palette_run语法之后发信。如果跳出索引的palette_run大于0,则使用跳出值重构第一样本,并使用预定义的索引重构其余的样本。例如,如果使用复制索引模式并且palette_run为4,则前导像素是跳出像素,并且后续的四个像素具有预定义的索引。根据当前实施例,将使用复制索引模式对五个像素进行编码。很明显,通过使能前导像素作为跳出像素并将该预测器作为预定义的索引,可以从常规的复制索引模式修改复制索引模式。在另一示例中,如果跳出索引的palette_run大于0(例如N),则使用跳出值重构第一样本,并且剩余样本还需要发信每个样本的跳出值。剩余样本分别用发信的跳出值来重构。(N+1)个跳出值的样本被发信。根据一个实施例,除了编码单元中的第一样本之外,复制索引模式中的调整最大调色板索引(AdjustedMaxPaletteIndex)是固定的(例如,固定到MaxPaletteIndex-1)。对于编码单元中的第一样本,AdjustedMaxPaletteIndex等于MaxPaletteIndex。AdjustedMaxPaletteIndex与预测器或最后编码的索引是否为跳出样本无关。该参数可用于具有固定长度码编码(fixed-lengthcodecoding)或截断二进制码编码(truncatebinarycodecoding)的索引编码。G.如果预测器是跳出样本,则发送跳出值在复制模式中,发送、导出或推断出值“palette_run”(例如N),以指示对于当前像素和后续的N个像素,颜色索引等于各自的复制模式位置(例如,上方、左侧、左上方、上方M行、右上方...)上的颜色索引。然而,如果预测器是跳出样本,则根据本发明的实施例,为这些样本发信跳出码(例如,编码跳出值)。例如,如果上方样本是跳出样本并且为当前样本(也称为当前跳出像素)选择了复制上方模式,则发信当前样本的每个分量的跳出值。也就是说,如果选择了复制上方模式并且上方像素是跳出像素,则发信当前像素的3个分量(例如,YUV分量或RGB分量)的值。可以在“palette_run”之后发信跳出值。要发信的跳出值的数量取决于从预测器中预测的跳出样本的数量。此外,如果来自预测器的第一样本是跳出样本,则palette_run可以推断为0或设置为0。可以添加另一个限制,即如果预测器是跳出样本,则将结束palette_run。以这种方式,可以终止palette_run。H.如果预测器是跳出样本,则使用跳出游程(Escaperun)发送跳出值在复制模式中,发送、导出或推断出值“palette_run”(例如N),以指示对于当前像素和后续的N个像素,颜色索引等于各自的复制模式位置(例如,上方、左侧、左上方、上方M行、右上方...)上的颜色索引。然而,如果预测器是跳出样本,则对这些样本发信跳出码(例如,编码跳出值)。例如,如果上方样本是跳出样本并且选择了复制上方模式,则发信当前样本(也称为当前跳出像素)的每个分量的跳出值。可以在“palette_run”之后立即发信跳出值。要发信的跳出值的数量取决于从预测器中预测的跳出样本的数量。对于复制索引模式,当发信的索引是跳出索引时,可以发信palette_run以指示当前像素和后续的N个像素是跳出样本。发信这些样本的跳出码(例如,编码跳出值)。可以在palette_run语法之后发信跳出值。根据该实施例,除了编码单元中的第一样本之外,复制索引模式中的调整最大调色板索引(AdjustedMaxPaletteIndex)是固定的(例如,固定为MaxPaletteIndex-1)。对于编码单元中的第一样本,AdjustedMaxPaletteIndex等于MaxPaletteIndex。AdjustedMaxPaletteIndex与预测器或最后编码的索引是否为跳出样本无关。该参数可用于具有固定长度码编码或截断二进制码编码的索引编码。I.来自跳出索引的索引预测如果预测源(例如,上方索引或左侧索引)是跳出索引,则当前样本的索引被推断为跳出索引。然后发信当前样本的跳出值。例如,如果当前palette_run被发信为复制上方模式,并且至少一个上方样本是跳出索引,则具有跳出索引的样本被推断为跳出索引。然后发信跳出值。在另一示例中,如果当前palette_run被发信为复制左侧模式并且左侧索引是跳出索引,则当前样本被推断为跳出索引。然后发信跳出值。因此,如果当前palette_run被发信为复制索引模式,并且新的发信的索引是跳出索引,则与palette_run相关的所有样本被推断为跳出索引。然后发信跳出值。在本实施例中,当palette_run中的N个样本被推断为跳出索引时,则发信M个跳出像素值,其中N和M是正整数。对于这种情况,M可以等于N,并且为palette_run中的所有样本发信单独的跳出像素值。M可以小于N,并且为palette_run中的部分样本发送跳出像素值,以及剩余样本共享所发送的跳出值。例如,M为1并且为所有样本发送的一个跳出值被推断为跳出索引,以共享该跳出值。J.通过使用导出的或预定义的索引以从跳出索引进行索引预测如果预测源(例如,上方索引或左侧索引)是跳出索引,如果源被用于预测,则当前样本的索引被推断为导出的或预定义的索引。预定义的索引可以为0。例如,如果当前palette_run被发信为复制上方模式,并且上方样本中的至少一个是跳出索引,则如果使用相关的预测模式,具有跳出索引的样本被推断为导出的或预定义的索引。预定义的索引可以为0。在另一实例中,如果当前palette_run由复制索引模式来发信且左侧索引为跳出索引,则如果使用相关的预测模式,当前样本被推断为导出的或预定义的索引。预定义的索引可以为0。在另一实例中,如果当前palette_run由复制索引模式来发信,那么将发信palette_run值以指示新的发信的索引是否为跳出索引。如果新的发信的索引是跳出索引,则palette_run中的第一样本被推断为跳出索引,剩余样本被推断为派生或预定义的索引。预定义的索引可以为0。K.移除索引编码中的冗余索引在SCM2.0中,解码器需要检查若干条件,使得冗余索引可被移除。例如,解码器可以检查先前palette_run是否是复制上方模式以及上方样本是否未被编码为跳出索引。如果两个条件都为真,则上方样本的索引可以被视为冗余索引值,并且在索引编码期间被移除。在一个实施例中,可以在解析阶段中移除条件检查。如果在除了编码单元中的第一样本之外的任何样本位置中使用复制索引模式,则存在至少一个冗余索引值。因此,在解析阶段中,解码器可以直接移除固定的冗余索引数(例如,1),而无需任何条件检查。如果将任何预测方法应用于编码单元中的第一样本(例如,跨越编码单元边界的预测),则先前所揭示的跳出像素预测可与上文所揭示的冗余移除处理组合起来。索引值解析方法可以被细化(refine)为如下:如果在任何样本位置中使用复制索引模式,则存在至少一个冗余索引值。因此,在解析阶段,解码器可以直接移除固定的冗余索引而无需任何条件检查。L.在索引编码中移除冗余索引之后索引值的重构在索引重构阶段,解码器将计算移除的冗余索引值。如果解析的索引值大于或等于移除的冗余索引值,则重构的索引值等于解析的索引值加1。否则,重构的索引值为解析的索引值。基于在“I.来自跳出索引的索引预测”中公开的实施例,如果预测源是跳出索引,则移除的冗余索引值是跳出索引值。基于在“J.通过使用导出的或预定义的索引以从跳出索引进行索引预测”中公开的实施例,如果预测源是跳出索引,则移除的冗余索引值是导出的或预定义的索引。预定义的索引可以为0。M.来自相邻像素的颜色索引图编码的预测当前编码单元的主要颜色索引图可以从当前编码单元的相邻像素(neighboringpixels,NPs)来预测。当编码颜色索引图时,编码器/解码器可以首先确定相邻像素。相邻像素可以用于预测当前编码单元的颜色索引。在预测之前,相邻像素的像素值可以通过主颜色表映射到颜色索引,并且映射的颜色索引用于预测当前编码单元的颜色索引。例如,通过使用如表1中所示的当前编码单元的主要颜色表,可以将相邻像素的像素值映射到如图3A和图3B所示的颜色索引,其中相邻像素的值由斜体字和括号来指明(indicted),并且映射的颜色索引在相应相邻像素的像素值之下指明。表1.颜色索引像素值1202200相邻像素可以是任何先前解码或重构的像素,包括空间相邻或时间相邻样本和相应的残差。相邻像素可以是没有任何环路滤波(例如样本自适应偏移(SAO)或去块滤波)的重构像素。相邻像素也可以是由SAO、去块滤波或SAO和去块滤波来滤波的重构像素。时间相邻像素可以是参考图片中的同位位置(collocatedposition)或由运动矢量指示的位置处的像素。在一个示例中,相邻像素被简化为最近的上方的行和最近的左侧的列的像素。在解码期间,颜色索引可以由相邻像素来预测。图4为一个示例,其中像素的颜色索引由上方的相邻像素来预测。在该示例中,第一像素的索引被解码为1。为了简化将相邻像素的颜色值映射到颜色索引的量化方法,解码器可以仅测试调色板中的部分颜色。如果对于相邻像素没有匹配的颜色,则解码器可以向相邻像素分配固定或导出的索引。例如,解码器仅测试从Ntest1到Ntest2的颜色索引。如果没有匹配的颜色,则解码器向相邻像素分配索引Ntest3,并且Ntest3可以是0。Ntest1和Ntest2可以是固定的或导出的。Ntest1和Ntest2可以根据编码单元大小来导出。为了识别相邻像素的匹配颜色,解码器还可以测试Ntest个颜色和相邻像素。如果测试颜Ctest1和相邻像素之间的差异小于阈值,则向相邻像素分配索引Ctest1。阈值可以是固定的或导出的。例如,可以根据量化参数(QuantizationParameter,QP)设置来导出阈值。如果对于相邻像素存在对应的差异小于阈值的多于一个的测试颜色,则相邻像素可以被量化为具有较小差异的测试颜色。为了简化相邻像素值到颜色索引的量化,如果存在具有小于相邻像素的阈值的差的多于一个的测试颜色,则相邻像素可以被量化为最新的测试颜色。测试颜色的顺序可以为从最大索引到最小索引(即最小出现的索引到最高出现的索引)。换句话说,如果它们都在差异阈值内,则较高的出现索引将重写较小出现的索引。在另一实施例中,如果对于相邻像素存在具有的差异小于阈值的多于一个的测试颜色,则相邻像素可以被量化为最早测试的颜色。测试颜色的顺序可以为从最小索引到最大索引(即最高出现的索引到最小出现的索引)。如果任何测试颜色是匹配的,则测试过程可以提前终止。另一种简化相邻像素值到颜色索引的量化的方法,解码器可以仅使用颜色值的NMSB_COLOR个最高有效位来与具有调色板中的颜色的像素进行比较。NMSB_COLOR可以是固定的或导出的。NMSB_COLOR可以根据编码单元大小来导出。对于不同颜色的分量,NMSB_COLOR可以不同。例如,Y/G分量的NMSB_COLOR可以大于UV/RB分量的NMSB_COLOR。可以统一上面公开的“具有预测模式的跳出颜色”和“从相邻像素来预测颜色索引图”的技术。例如,解码器可以直接将相邻像素量化为“从相邻像素来预测颜色索引图”中的跳出索引。结果,如果第一行中的像素被用信号通知为复制上述模式,则将根据跳出索引来预测像素。为了处理来自跳出索引的预测,“复制模式中的重构值的直接复制”或“用于跳出样本预测器的复制模式中的重构值的直接复制”。换句话说,解码器将复制NP的重建像素值到第一行中的像素。在第一行中从上面预测的像素的重建索引可以被推断为跳出索引。本发明的一个方面涉及用于编码“跳出”索引的颜色索引编码。索引“跳出”被施加于其值不能映射到调色板表中的任何索引的像素。以下公开了用于颜色索引编码的各种实施例。i.跳出的游程在JCTVC-N0247中公开的调色板编码方案中,首先发信“复制索引模式(copy_indexmode)”和索引“跳出”,并且随后发信其实际像素值,以便对具有索引“跳出”的像素进行编码。当具有索引“跳出”的像素的位置是连续地时,对具有索引“跳出”的每个像素重复该过程。例如,对于具有索引“跳出”的连续像素,可以重复对应于{“copy_indexmode”,“Escapeindex”,value}的语法集合。在一个实施例中,除了“复制索引模式”或“复制上方模式”之外,还包括用于跳出索引的新的预测模式(例如,“跳出游程模式(Escaperunmode)”)。在发信该模式之后,发信“游程数量(numberofrun)”和像素值,而不发信索引“跳出”。示例性处理描述如下:1)对于每个位置,发送标志(flag)以指示在“复制上方模式”、“复制索引模式”和“跳出游程模式”之中选择的预测模式。2)如果使用“复制上方模式”,则在标志之后发送“palette_run”。从当前位置开始的游程数量的索引与沿着扫描顺序的上方行中的索引相同。3)如果使用“复制索引模式”,则在标志之后发信“palette_index”,并且随后发信“palette_run”。对于游程数量,索引与发信的索引相同。4)如果使用“跳出游程模式”,则发信“palette_run”。发信游程数量的像素值。ii.在复制上方模式中的跳出当像素处于“复制上方模式”时,像素的索引与沿着扫描方向的上方像素相同。当跳出像素或跳出索引被包括在“复制上方模式”的游程中时,现有技术没有定义该过程。在一个实施例中,发信“复制上方模式”的游程是否包括跳出索引。根据本实施例的示例性处理和信令被描述如下。1)如果使用“复制上方模式”,则在模式标志之后发信“palette_run”。从当前位置开始的游程数量的索引与沿着扫描顺序的上方行中的索引相同。2)在游程数量之后,发送“游程中的跳出”标志以指示在“复制上方”像素中是否存在任何跳出像素。3)如果“游程中的跳出”为真,则依序发信这些跳出像素的像素值。在上述示例中,导出跳出索引的数量。在另一实施例中,可在发信像素值之前明确地发信“复制上方模式”的当前集合中的“跳出”索引的数量。这种显式发信可以替代“游程中的跳出”标志。iii.发信“palette_run”可在发信索引之前或之后发信“palette_run”。在现有技术中,在索引之后发信“游程数量”。在本发明的实施例中,“palette_run”的发信顺序是自适应的。例如,当“索引”存在时,在“索引”之前发信“palette_run”;或者在不存在“索引”时在预测模式之后发信“palette_run”。根据实施例的示例性处理和信令被描述如下。1)对于每个位置,首先发送标志以指示从“复制上方模式”和“复制索引模式”中选择的预测模式。2)发送“palette_run”。3)当使用“复制上方模式”时,从当前位置开始的游程数量的索引与沿着扫描顺序的上方行中的索引相同。4)当使用“复制索引模式”时,在标志之后发信“索引”。a.如果“索引”是“跳出”,则发信从当前位置开始的游程数量的像素值。b.如果“索引”在调色板表中,则从当前位置开始的游程数量的索引与发信的索引相同。上面公开的“palette_run”发信的技术可以与本发明中公开的其它技术组合。在另一实例中,在预测模式和索引之前发信“palette_run”。示例性信令和处理公开如下。1)对于每个位置,发信“palette_run”。2)在“palette_run”之后发信标志以指示从“复制上方模式”和“复制索引模式”中选择的预测模式。a.如果使用“复制上方模式”,则从当前位置开始的游程数量的索引与沿着扫描顺序的上方行中的索引相同。b.如果使用“复制索引模式”,则在标志之后发信“索引”。i.如果“索引”是“跳出”,则发信从当前位置开始的游程数量的像素值。ii.如果“索引”在调色板表中,则从当前位置开始的游程数量的索引与发信的索引相同。上面公开的“palette_run”发信的技术可以与本发明中公开的其它技术组合。在另一实施例中,当“palette_run”等于1时,为当前位置发信索引。换句话说,不需要发信预测模式。如果索引是跳出,则在跳出索引之后发信像素值。示例性信令和处理如下所示。1)对于每个位置,发信“palette_run”。2)如果“palette_run”等于1,则发信“索引”。此外,如果“索引”是“跳出”,则发信像素值。3)否则(即,“palette_run”大于1)在“palette_run”之后发信标志以指示在“复制上方模式”和“复制索引模式”之间选择的预测模式。a.如果使用“复制上方模式”,则从当前位置开始的游程数量的索引与沿着扫描顺序的上方行中的索引相同。b.如果使用“复制索引模式”,则在标志之后发信“索引”。i.如果“索引”是“跳出”,则发送从当前位置开始的游程数量的像素值。ii.如果“索引”在调色板表中,则从当前位置开始的游程数量的索引与发信的索引相同。上面公开的“palette_run”发信的技术可以与本发明中公开的其它技术组合。iv.发信“跳出”的像素值当发信对应于“跳出”索引的像素值时,可直接发信实际值。代替直接发信样本值,也可以发信实际值和参考值之间的差异(即,差分编码)。在现有技术中,差分编码的参考值是基于同一编码单元中已经重构的跳出值。在本发明的一些实施例中,也可以使用其他参考值。例如,可以直接发信或导出参考值。在另一示例中,参考值可以是调色板预测值表中的第N个索引,其中发信索引N和值差(valuedifference)。在又一示例中,参考值可以是来自相邻块的重构值。参考值可以重构常规的帧内/帧间(Intra/Inter)、调色板值或跳出值。参考值可以是连续“跳出”像素中的最小像素值。此外,参考值可以是连续的“跳出”像素中的第N个值。N.用于转换复制预测的希尔伯特索引扫描在转换复制(Transitioncopy,TC)预测中,发送或导出值“palette_run”(例如,N),以指示对于当前像素和后续的N个像素,调色板索引等于导出的转换复制表(transition-copy-table-derived,导出的TCT)索引。N可以是1。在解码期间,解码器维持转换复制表(TCT)以重新编码先前的K个解码索引与后续的N个索引之间的关系。然后,在解码新的N个索引之前,解码器使用先前的K个解码索引来搜索后续的N个索引的预测模式(predictionpattern)。发送或导出N和K。对于转换复制,根据遍历该块的扫描模式来处理块中的颜色索引。根据本发明的实施例,使用希尔伯特扫描顺序来扫描索引图。然后对从希尔伯特扫描得到的游程长度进行编码。可以为希尔伯特扫描更改开始位置。索引图可以先旋转然后扫描。扫描模式可以用于不同的调色板相关编码,诸如在JCTVC-R0348中公开的那些。O.移除冗余预测模式语法如果预测模式是冗余的,则本发明的一个实施例移除预测模式语法。例如,如果上方像素是跳出像素,则可以移除复制上方模式,并且可以将预测模式推断为复制索引模式。在另一示例中,如果最后的(last)预测模式是复制索引模式,则上方像素不是跳出像素,并且上方像素和先前像素的索引相同,则可以移除复制上方模式。预测模式可以被推断为复制索引模式。在又一示例中,如果最后的预测模式是复制索引模式并且上方的像素和先前像素的索引相同,则可以移除复制上方模式。预测模式可以被推断为复制索引模式。在又一示例中,如果上方像素是跳出像素,或者如果最后的预测模式是复制索引模式并且上方的像素和先前像素的索引相同,则可以移除复制上方模式。预测模式可以被推断为复制索引模式。P.细化复制上方游程模式的预测源在调色板编码中,当前像素的冗余索引Irun_red可从最后的编码预测模式导出。对于除了最后的编码预测模式之外的预测模式,如果第一索引预测器与Irun_red相同,则第一索引预测器可以由是固定索引或导出索引的替换索引来替换。替换索引可以是0,或不等于Irun_red的最小可能的和非冗余的索引。例如,如果Irun_red是0,则替换索引可以被设置为1;否则,替换索引可以设置为0。如果Irun_red等于跳出索引,则可以禁能索引替换方法。在SCM2.0中,如果先前预测模式是复制上方模式,则当前索引不能与上方索引相同。否则,当前索引编码可以被合并到复制上方模式的先前游程中。该冗余索引值被称为Irun_red。图5A为与复制上方模式相关的冗余的示例,其中当前样本被表示为“?”并且上方索引是“A”。当前索引不能是“A”,对于编码当前索引,索引A是冗余的。因此,在这种情况下,如果使用其他预测模式,则公开预测源的细化。例如,如果预测模式是复制右上方,则右上方像素的索引不能为A。它可以由对应于固定索引或导出索引的替换索引来替代,诸如索引C,如图5B所示,其中“C”可以是0,或不等于Irun_red的最小可能和非冗余的索引。例如,如果Irun_red是0,则索引C可以被设置为1;否则,索引C可以设置为0。在另一实施例中,如果先前预测模式是复制索引模式,则当前索引不能与左侧索引相同。否则,当前索引编码将被合并到复制索引模式的先前游程中。该冗余索引值被称为Irun_red。图6A为与复制上方模式相关的冗余的示例,其中当前样本被表示为“?”并且上方索引是“A”。然而,如果当前待编码索引(currentto-be-encodeindex)的上方索引等于Irun_red,则当前索引的复制上方预测是冗余的。因此,在这种情况下,如果使用复制上方模式,则替换上方索引的索引预测器。如果当前待编码索引的上方索引等于Irun_red,例如,图6A中的索引A,解码器可以通过对应于固定索引或导出索引(例如图6B中的索引C)的替换索引来替换复制上方模式的上方索引的索引预测器。索引C可以是0,或不等于Irun_red的最小可能的和非冗余的索引。例如,如果Irun_red是0,则索引C可以被设置为1;否则,索引C可以设置为0。在根据实施例的另一示例中,Irun_red可以是任何预测模式的冗余索引,诸如复制上方2行模式的上方2行的索引。如果最后的编码模式是复制索引模式并且先前编码的索引与Irun_red相同,则预测模式的Irun_red(例如,复制上方2行模式的上方2行的索引)可以被替换为导出索引。在根据实施例的另一示例中,如果复制上方模式是可以选择的编码模式之一,则即使复制索引模式的游程远大于复制上方模式的游程,复制模式也被设置为复制上方模式。如果预测器被替换索引替代,则可以修改复制索引模式的索引编码。可以移除两个冗余索引(即,Irun_red和替换索引)。例如,如果最后的编码模式是复制索引模式,上方索引与先前索引相同,并且上方索引不是跳出索引,则当前像素的复制索引模式的索引编码中可以移除两个索引。两个索引之一是先前索引,另一个是替换索引。在根据实施例的又一示例中,如果最后的编码模式是复制索引模式,上方索引与先前索引相同,最大可能的索引大于2,并且上方索引不是跳出索引,则当前像素的复制索引模式的索引编码中可以移除两个索引。两个索引之一是先前索引,另一个是替换索引。在根据实施例的又一示例中,如果最后的编码模式是复制索引模式,上方索引与先前索引相同,并且最大可能的索引大于2,则当前像素的复制索引模式的索引编码中可以移除两个索引。两个索引之一是先前索引,另一个是替换索引。根据本发明的实施例检查一个或多个索引冗余。该技术还可以应用于如本发明中先前公开的转换复制细化处理。因此,当基于索引冗余细化转换复制预测器时,解码器还可以考虑通过如上所公开的技术检查的附加冗余。Q.来自相邻像素的颜色索引图编码的冗余索引移除如先前在本发明中所讨论的,索引冗余存在于SCM2.0中。如果先前游程是复制上方游程,则当它由新的复制左侧游程来编码时,当前索引不能与当前索引的上方索引相同。否则,当前索引编码可以被合并到先前游程中。另一方面,在SCM2.0中,在第一行中没有复制上方游程。因此,解码器不对第一行中的复制上方游程执行这种冗余索引检查。根据另一实施例,冗余索引移除也被应用于第一行。根据相邻像素修改冗余索引移除处理。当编码第一行中的像素时,编码器可以检查:先前游程是否是复制上方游程。当由新的复制左侧游程来编码时,当前索引不能与当前索引的上方相邻像素的索引相同。在这种情况下,Irun_red等于当前索引的上方相邻像素的索引。为了提高解析吞吐量,解码器只能解析在解析阶段中的编码索引值(即,移除Irun_red),并在重构阶段中重构真实调色板索引(即,添加Irun_red)。因此,从相邻像素到颜色索引的量化处理可以被移动到重构阶段,以提高解析吞吐量。以上的描述是使本领域的技术人员在本文提供的特定应用和需求下能够实践本发明。本领域的技术人员将容易地观察到,在不例外本发明的精神和范围内,可以进行多种修改和变动。因此,本发明并非限定在所示和描述的特定的实施例上,而本发明公开是为了符合原则和新颖性的最广泛的范围。在上述详细的描述中,各种具体的细节,用以提供对本发明的透彻的了解。尽管如此,将被本领域的技术人员理解的是,本发明能够被实践。如上述所述的本发明的实施例,可以使用硬件、软件或其组合来实现。例如,本发明的一实施例可以是集成到视频压缩芯片中的电路或集成到视频压缩软件中的程序代码,以执行所描述的处理。本发明的实施例也可以是将在数字信号处理器上执行的程序代码来执行所描述的处理。本发明还涉及一系列的由计算机处理器、数字信号处理器、微处理器和现场可编程门阵列(FPGA)执行的功能。根据本发明,这些处理器可以被配置为执行特定任务,通过执行定义特定方法的计算机可读软件代码或固件代码来实现。软件代码或固件代码可以用不同的编程语言和不同的格式或样式来开发。软件代码也可以为不同的目标平台所编译。然而,软件代码的不同的代码格式、风格和语言,以及配置代码的其他方式以执行任务,均不例外本发明之精神和范围。本发明可以以其它具体形式实施而不背离其精神或本质特征。所描述的实施例在所有方面都仅是说明性的而不是限制性。本发明的范围因此由所附权利要求为准而不是由前面的描述所界定。因此,各种修改、改编以及所描述的实施例的各种特征的组合可以在不例外本发明的范围如权利要求书中阐述的情况下实施。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1