基于子块的调色板编码的方法与流程

文档序号:12515722阅读:207来源:国知局
基于子块的调色板编码的方法与流程
本发明主张在2014年11月6日提出的申请号为62/076,135的美国临时专利申请的优先权;以及主张在2014年12月26日提出的申请号为62/096,918的美国临时专利申请的优先权。因此在全文中合并参考这些专利申请案。
技术领域
本发明是有关于视频数据的调色板编码,特别是有关于通过将编码块分割为多个子块并使用单独调色板对每个子块应用调色板编码的调色板编码技术。此外,本发明也有关于根据当前调色板尺寸有条件地更新最后编码的调色板表,最后编码的调色板尺寸和调色板预测子尺寸的过程。
背景技术
:高效率视频编码(HighEfficiencyVideoCoding,以下简称为HEVC)是近年来已经开发的新的编码标准。在高效率视频编码系统中,H.264/AVC中固定尺寸的宏块由称为编码单元(codingunit,CU)的灵活块替换。编码单元中的像素共享相同的编码参数以提高编码效率。编码单元可从最大编码单元(largestCU,LCU)开始,其在HEVC中也被称为编码树单元(codedtreeunit,CTU)。除了编码单元的概念,预测单元(PU)的概念也被引入HEVC中。一旦编码单元分层树的分割完成,则根据预测类型和预测单元分割,将每个叶编码单元进一步分割成一个或多个预测单元(PU)。随着高效率视频编码标准的开发,高效率视频编码的扩展版本的开发也已开始。高效率视频编码的扩展包括范围扩展(RangeExtension,以下简称为RExt)和屏幕内容编码(screencontentcoding,以下简称为SCC)。由于屏幕内容的特定特性,编码工具已经被开发并且在编码效率方面表现出显著的成果。其中,颜色索引编码(也称为基于主要颜色的编码)技术使用对调色板(主要颜色)的索引表示像素块,并且通过利用空间冗余来编码调色板和索引。虽然可能的颜色组合的总数是巨大的,但是对于典型的屏幕内容,图片的区域中的颜色的数量通常是非常有限的。因此,颜色索引编码能有效用于屏幕内容。相关的关键颜色索引编码技术简要回顾如下。采用帧内块复制(IntraBC)的RExt中的当前编码单元语法最初描述于JCTVC-M0350(Budagavi等人,AHG8:VideocodingusingIntramotioncompensation,JointCollaborativeTeamonVideoCoding(JCT-VC)ofITU-TSG16WP3andISO/IECJTC1/SC29/WG1113thMeeting:Incheon,KR,18–26Apr.2013,Document:JCTVC-M0350)中的帧内块复制(IntraBlockCopy,IntraBC)技术与JCTVC-N025(Pang等人,Non-RCE3:IntraMotionCompensationwith2-DMVs,JointCollaborativeTeamonVideoCoding(JCT-VC)ofITU-TSG16WP3andISO/IECJTC1/SC29/WG11,14thMeeting:Vienna,AT,25July–2Aug.2013,Document:JCTVC-N0256)一起被采用于高效率视频编码中。根据高效率视频编码(HEVC)范围的扩展文本规范:草案4(Flynn等人,“HighEfficiencyVideoCoding(HEVC)RangeExtensionTextSpecification:Draft4”,JointCollaborativeTeamonVideoCoding(JCT-VC)ofITU-TSG16WP3andISO/IECJTC1/SC29/WG11,14thMeeting:Vienna,AT,25July–2Aug.2013,Document:JCTVC-N1005)采用的帧内块复制方法被发送于编码单元语法中。表1示出了如JCTVC-N1005中公开的帧内块复制的编码单元语法。表1如表1所示,当如附注(1-1)所示帧内块复制被使能时,如附注(1-2)所示intra_bc_flag被发送。如附注(1-3)所示如果intra_bc_flag不等于1,则如注记(1-4)所示检查切片(slice)是否不是I-片(I-slice)。如果成立,则如附注(1-5)所示pred_mode_flag被发送。此外,如附注(1-6)所示,检查当前预测是否不是帧内模式或者当前编码单元是否是最小编码单元(smallestCU,SCU)。如果是,则如注(1-7)所示part_mode被发送以指示分割模式。基于主要颜色(或调色板)的编码技术在RExt核心实验中已经评估了两种调色板编码技术。第一种技术公开在JCTVC-O0182(Guo等人,EvaluationofPaletteModeCodingonHM-12.0+RExt-4.1,JointCollaborativeTeamonVideoCoding(JCT-VC)ofITU-TSG16WP3andISO/IECJTC1/SC29/WG11,15thMeeting:Geneva,CH,23Oct.–1Nov.2013,Document:JCTVC-O0218)中,其中使用非常简单但有效的基于直方图的算法来对像素进行分类。具体地,直方图中的最重要的N个峰值被选择为主要颜色,如图1所示。对于有损编码,接近主要颜色的像素值被量化为主要颜色。例如,在图1中,量化步长是q,并且在主要颜色周围(即在两条虚线之间)的量化区域是2q。换句话说,两个量化级之间的任何像素值被量化为代表的主要颜色,并且所选择的主要颜色由相应的主要颜色索引来识别。不属于任何主要颜色集合的其他像素称为逸出像素(escapepixels)或逸出颜色(escapecolors),其也可以在编码之前量化。对于无损编码,不使用任何量化处理。对于每个像素,分配颜色索引以指示其属于哪个颜色集。如果使用N种主要颜色,则从0到(N-1)的值被用作索引以用于N个主集,并且最大索引值(即,索引N)用于指示属于逸出像素集的像素。在分类之后,块的像素可以被转换成颜色索引。然后,将预测编码方法应用于索引,其中可以通过不同的模式预测像素线(pixelline)。具体地说,三种线模式(linemodes)用于像素线,即水平模式,垂直模式和正常模式。在水平模式下,同一像素线中的所有像素具有相同的值。如果该值与上方像素线的第一像素相同,则仅传送线模式信令比特(linemodesignalingbits)。否则,还要传送索引值。在垂直模式中,当前像素线与上方像素线相同。因此,仅传送线模式信令比特。在正常模式下,单独预测像素线中的像素。对于每个像素,左侧或上方相邻被用作预测子,并且预测符号被发送到解码器。调色板编码技术的第二种变体(secondvariant)公开在JCTVC-N0249(Guo等人,“Non-RCE3:ModifiedPaletteModeforScreenContentCoding”,JointCollaborativeTeamonVideoCoding(JCT-VC)ofITU-TSG16WP3andISO/IECJTC1/SC29/WG11,14thMeeting:Vienna,AT,25July–2Aug.2013,Document:JCTVC-N0249)。与第一种技术的差异是:(1)“像素模式”被去除,并且所有像素值被转换为用于编码的调色板索引,(2)使用HEVC残差编码方法对可能的残差(从像素值到调色板索引)进行编码,以及(3)调色板索引和“运行(run)”由所有三个颜色分量共享。所有先前提出的调色板编码技术应用于编码单元,即调色板编码过程和信令(signaling)处于CU层。例如,用于JCTVC-O0182和JCTVC-N0249的编码单元语法在表2中示出。表2调色板编码调色板编码模式已经包括在HEVC屏幕内容编码JVCVC-R-1005(Joshi等人,HighEfficiencyVideoCoding(HEVC)ScreenContentCoding:Draft1,JointCollaborativeTeamonVideoCoding(JCT-VC)ofITU-TSG16WP3andISO/IECJTC1/SC29/WG11,18thMeeting:Sapporo,JP,30June–9July2014,Document:JCTVC-R1005)中。根据JCTVC-R1005,调色板被利用来表示具有有限数量的值的给定视频块(例如,编码单元)。一些相关术语如下所示。1.调色板表:从像素值映射到索引的映射表2.颜色索引图:与当前块中的值相关联的已映射的像素索引3.调色板预测子:在SCM-3.0(Joshi等人,Screencontentcodingtestmodel3(SCM3),JointCollaborativeTeamonVideoCoding(JCT-VC)ofITU-TSG16WP3andISO/IECJTC1/SC29/WG11,19thMeeting:Strasbourg,FR,17–24Oct.2014,Document:JCTVC-S1014)中,最后编码的调色板编码单元的调色板表被用作当前调色板表编码的预测子。在调色板表编码中,palette_share_flag首先被发送。如果palette_share_flag是1,则最后编码的调色板表中的所有调色板颜色被重用于当前编码单元。当前调色板尺寸也等于最后编码的调色板编码单元的调色板尺寸。否则(即,palette_share_flag为0),当前调色板表通过选择最后编码的调色板表中的哪些调色板颜色可以被重用,或者通过传输新的调色板颜色而被发送。当前调色板的尺寸被设置为已预测的调色板的尺寸(即,numPredPreviousPalette)加上所传输的调色板的尺寸(即,num_signalled_palette_entries)。预测的调色板是从先前已重建的调色板已编码的编码单元导出的调色板。最后使用的调色板尺寸和调色板预测子尺寸将在每次使能调色板模式时更新。当将当前编码单元编码为调色板模式时,将不使用预测调色板预测的那些调色板颜色直接传送至比特流中。根据JCTVC-R0348(Onno等人,“Suggestedcombinedsoftwareandtextforrun-basedpalettemode”,JointCollaborativeTeamonVideoCoding(JCT-VC)ofITU-TSG16WP3andISO/IECJTC1/SC29/WG11,18thMeeting:Sapporo,JP,30June–9July2014,Document:JCTVC-R0348),解码和解析过程简要描述如下。1.调色板的发送:1.1首先发送“调色板共享标志”,其指示调色板预测子是否被用作当前调色板。如果为真,则跳过步骤1.2至1.4中的以下处理。1.2发送“重用标志”,用于指示调色板预测值的哪些元素在当前调色板中被使用。1.3发送“非预测元素的数量”,其表示当前调色板中有多少元素未从调色板预测子中预测。1.4发送每个非预测元素的值。2.颜色索引图的发送:2.1块中的像素可以按水平光栅扫描顺序,垂直光栅顺序,水平遍历扫描顺序或垂直遍历顺序进行编码。2.2对于每个位置,首先发送标志以指示在“复制上述模式(copyabovemode)”和“新运行模式(newrunmode)”之间的哪种预测模式被使用。2.3当使用“复制上述模式”时,标志后面跟着“运行次数”。对于运行次数,索引与沿扫描顺序的上方行中的索引相同。2.4当使用“新运行模式”时,在标志后发送“索引”。2.4.1当“索引”是“逸出ESCAPE”时,像素值本身被发送。2.4.2当“索引”在调色板表中时,“运行次数”被发送。对于运行次数,索引与已发送的索引相同。期望提高与颜色索引图编码相关联的编码效率。技术实现要素:本发明提供一种调色板编码的方法,用于将调色板编码应用于编码单元的子块,并允许每个子块使用单独的调色板表。如果当前编码块未被分割,则使用第一调色板,将调色板编码应用于当前编码块。如果当前编码块被划分为多个子块,则使用单独的第二调色板将调色板编码应用于每个子块。每个子块可以对应于一个预测单元。在一个实施方式中,当当前编码块的块尺寸对应于2Nx2N时,每个子块的块尺寸对应于2NxM或Mx2N,其中M和N是正整数,并且M小于或等于N。对应于{1,01,00}的码字集合或等效码字集合可用于在2Nx2N,2NxM和Mx2N中的分割模式选择的二进制化。在另一实施方式中,当当前编码块的块尺寸对应于2Nx2N时,每个子块的块尺寸对应于2NxN,Nx2N或NxN,其中N是正整数。对应于{1,01,001,000}的码字集合或等效码字集合可用于在2Nx2N,2NxN,Nx2N和NxN之间的分割模式选择的二进制化。在一个实施方式中,N×N分割模式仅允许用于作为最小编码单元的当前编码块。对于大于最小编码单元的当前编码块,对应于{1,01,00}的码字集合或等效码字集合可用于在2Nx2N,2NxN和Nx2N中的分割模式选择的二进制化。在另一实施方式中,NxN分割模式仅允许用于作为最小编码单元的当前编码块,并且最小编码单元大于8x8。对于大于最小编码单元或当前编码块是最小编码单元且最小编码单元对应于8×8的当前译码块,对应于{1,01,00}的码字集合或等效码字集合可用于分区的二进制化在2Nx2N,2NxN和Nx2N中进行模式选择。在又一实施方式中,当当前编码块的块尺寸对应于2N×2N时,如果当前编码块是最小编码单元,则每个子块的块尺寸可以对应于2N×N,N×2N或N×N,并且如果当前编码块大于最小编码单元,则每个子块的块尺寸可以对应于2NxN,Nx2N,Mx2N或2NxM,其中M和N是正整数,并且M小于或等于N。如果当前编码块是最小编码单元时,对应于{1,01,001,000}的码字集合或等效码字集合可用于在2Nx2N,2NxN,Nx2N和NxN之间的分割模式选择的二进制化,且如果当前编码块大于最小编码单元,对应于{1,011,001,010,000}的码字集合或等效码字集合的集合用于在2Nx2N,2NxN,Nx2N,2NxM和Mx2N中的分割模式选择的二进制化。在又一实施方式中,当当前编码块的块尺寸对应于2Nx2N时,如果当前编码块是最小编码单元,则每个子块的块尺寸可以对应于2NxN,Nx2N或NxN,如果当前编码块大于最小编码单元,则每个子块的块尺寸可以对应于2NxN或Nx2N,或者非对称分割2NxnU,2NxnD,nLx2N和nRx2N,其中N是正整数,nU是指较窄的上方分割,nD指较窄的下方分割,nL指较窄的左侧分割,而nR指较窄的右侧分割。如果当前编码块是最小编码单元,则对应于{1,01,001,000}的码字集合或等效码字集合可用于在2Nx2N,2NxN,Nx2N和NxN中的分割模式选择的二进制化,且如果当前编码块大于最小编码单元,对应于{1,011,001,0100,0101,0000,0001}的码字集合或等效码字集合可用于在2N×2N,2N×N,N×2N,2NxnU,2NxnD,nLx2N和nRx2N中的分割模式选择的二进制化。在一个实施方式中,当前子块的单独的第二调色板可以从当前子块的相邻子块的单独的第二调色板预测。在另一实施方式中,仅当第一调色板中的主要颜色的数目小于用于当前编码块的从1到最大调色板尺寸的选定数目时,才允许多个子块。在又一实施方式中,预测模式语法被发送以指示当前编码块的预测模式,其中所述预测模式选自包括调色板编码模式和至少另一预测模式的预测模式组。例如,如果使能帧内块复制模式或调色板编码模式,并且当前编码块在帧内切片中,则一比特代码被发送以指示帧内模式,或帧内块复制模式和调色板编码模式中的一个是否用于当前编码块。在另一示例中,如果使能帧内块复制模式或调色板编码模式且当前编码块不在帧内切片中,则对应于{1,0,1,00}的码字集合或等效码字集合可以用于在帧间模式,帧内模式,和帧内块复制模式和调色板编码模式中的一个的预测模式选择的二值化。在又一示例中,如果帧内块复制模式和调色板编码模式都被使能,并且当前编码块不在帧内切片中,则对应于{1,01,001,000}的码字集合或等效码字集合可以用于帧间模式,帧内模式,帧内块复制模式和调色板编码模式之间的预测模式选择的二值化。在一个实施方式中,语法标志被发送于序列参数集(SPS)中以指示非正方形调色板编码分割是否被允许,非对称调色板编码分割是否被允许,多于两个分割被是否允许,或当前编码块被划分的分割数目。在本发明的另一实施方式中,揭示了一种方法,如果当前调色板尺寸小于或等于调色板更新尺寸,则跳过与当前编码块相关联的调色板预测子的更新。调色板预测子的更新还包括更新最后编码调色板表,最后编码调色板尺寸和调色板预测子尺寸。调色板更新尺寸的值可在序列参数集(SPS)或图片参数集(PPS)中被发送。调色板预测子根据上方编码树单元中的先前编码块的编码调色板来更新,其中先前编码块是上方编码树单元中的第一编码块,上方编码树单元中的最后一个编码块,或上方编码树单元中的预定义编码块。在本发明的又一实施方式中,揭示一种方法,使用具有默认调色板条目值的默认调色板预测子来编码或解码当前编码块的当前调色板,如果当前编码块对应于当前切片的起始编码块。此外,如果当前编码块对应于当前切片的起始编码块,则使用默认最后使用的调色板尺寸和默认调色板预测子尺寸。附图说明图1描述了基于块中的颜色的直方图通过使用颜色分类导出主要颜色的示意图。图2A描述了根据本发明的实施方式的最后编码调色板是上方编码树单元行的起始编码树单元中的第一编码单元调色板的示意图。图2B描述了根据本发明的实施方式的最后编码调色板是上方编码树单元行的起始编码树单元中的最后编码单元调色板的示意图。图2C描述了根据本发明的实施方式的最后编码调色板是上方编码树单元行的起始编码树单元的指定位置中的任意编码单元调色板的示意图。图3描述了根据本发明实施方式的使用基于子块的调色板编码的系统的流程图。具体实施方式在本发明中,公开了用于改进调色板编码的性能的各种技术。具体地,公开了基于子块的调色板编码,其允许调色板编码应用于当前块的子块,并且允许每个子块使用其自己的调色板表。例如,代替如现有方法所要求的那样对每个编码单元应用调色板编码,本发明允许将调色板编码应用于每个预测单元(predictionunit,PU)。由HEVC所知,每一编码单元可被分割为一个或一个以上的预测单元以用于预测过程。根据本发明的另一实施例,可以跳过用于调色板编码块的量化矩阵的使用,特别是当残差未被变换到频域时。在又一实施例中,揭示了用于发送调色板预测模式连同其他预测模式(例如,帧间,帧内和帧内块复制)的一组编码单元语法。用于预测单元的调色板编码在此实施例中,调色板编码技术应用于子编码单元,例如HEVC及其扩展中所指定的预测单元。根据HEVC,每一编码单元可分割成一个或一个以上子块,称为预测单元。因此,当通过调色板编码方法预测或压缩编码单元时,编码单元将被划分为一个或多个子块(例如,预测单元),并且每个子块将具有调色板(或一组主要颜色)。另一方面,根据现有方法,调色板编码被限制于编码单元,并且每个编码单元仅具有一个调色板(或一组主要颜色)。举例来说,根据本发明的实施例,编码单元可被分割为两个子块(例如,预测单元)且当选择调色板编码作为用于编码单元的预测模式时,分割模式语法(partitionmodesyntax)(即part_mode)的示范性二进制化如表3和表4所示。表3part_modePartMode二进制串0PART_2Nx2N11PART_2NxM012PART_Mx2N00表4part_modePartMode二进制串0PART_2Nx2N11PART_Mx2N012PART_2NxM00在表3和表4中,M和N是正整数。在一个实例中,M等于N。在另一实例中,M是2的整数次方,但小于或等于N。此外,在表3和表4中,码字集合{1,01,00}作为示例。然而,本领域技术人员可以设计具有相同编码效率的等效码字集合。例如,可以交换码字集合中的“0”和“1”,以产生等效码字集合{0,10,11}。因此,本发明不限于特定示例性的码字集合,其也适用于本公开中的其他示例。在另一实施例中,调色板编码可以应用于N×N分割,例如在N×N帧内预测中。每个NxN分割具有其自己的调色板,并且每个编码单元有四个调色板需要被搜索和发送。与2NxM和Mx2N分割模式一起,当调色板编码用于编码单元时,part_mode的示例性二值化在表5和表6中示出。为了方便描述,在表5和表6中M等于N。表5part_modePartMode二进制串0PART_2Nx2N11PART_2NxN012PART_Nx2N0013PART_NxN000表6part_modePartMode二进制串0PART_2Nx2N11PART_Nx2N012PART_2NxN0013PART_NxN000在另一实施例中,仅当编码单元是最小编码单元时,才允许N×N分割用于调色板编码。表7和表8中示出了当调色板编码用于编码单元时,part_mode的示例性二进制化。表7表8在另一实施例中,当调色板编码编码单元尺寸大于8×8时,才允许N×N分割。这等效于N的最小值大于4。表9和表10中示出了当调色板编码用于编码单元时,part_mode的示例性二值化。表9表10在又一实施例中,允许NxN分割模式,而不允许2NxN和Nx2N分割模式用于调色板编码模式。表11中示出了当调色板编码用于编码单元时,part_mode的示例性二进制化。表11在又一实施例中,调色板编码被允许同时用于2Nx2N,2NxN,Nx2N,2NxM和Mx2N分割。在一个示例中,M等于(N/2)。在另一实例中,M是2整数次幂且小于N。当palette_mode_flag等于1时,part_mode的示范性二进制化示于表12和表13中。在此情况下,2N×2N调色板编码(主要颜色编码)编码单元在垂直方向(即2N×M模式)或水平方向(即M×2N模式)中被均匀地分割成(2N/M)个分割。每个2NxM或Mx2N分割使用自己的调色板。因此,每个编码单元有(2N/M)个调色板需要被发送。在一个实例中,当M等于N/2且选择2Nx(N/2)分割模式或(N/2)x2N分割模式时,2Nx2N帧内块复制编码单元被均匀地分割为四个2Nx(N/2)或(N/2)x2N分割。通过具有自身的调色板的调色板编码方法来压缩每个2Nx(N/2)或(N/2)x2N分割。表12表13在又一实施例中,允许调色板编码用于非对称分割。例如,分割模式PART_2NxnU,PART_2NxnD,PART_nLx2N和PART_nRx2N类似于HEVC帧间预测中的非对称运动分割(AsymmetricMotionPartition,AMP)模式。分割模式PART_2NxnU,PART_2NxnD,PART_nLx2N和PART_nRx2N被允许用于2Nx2N调色板(或主要颜色)已编码的编码单元。当使能AMP时,PART_2NxnU,PART_2NxnD,PART_nLx2N和PART_nRx2N的定义可以与用于HEVC帧间预测的那些分割模式的定义相同。2NxnU分割是指具有较窄上方分割的垂直分割。类似地,2NxnD指具有较窄下方分割的垂直分割;nLx2N指具有较窄左侧分割的水平分割;nRx2N是指具有较窄右侧分割的水平分割。在另一个示例中,nU,nD,nL和nR可以是2的整数次幂且小于N。在表14和表15中示出了当调色板编码用于编码单元时的part_mode的示例性二进制化。在这种情况下,2NxnU,2NxnD,nLx2N或nRx2N分割使用其自己的调色板进行调色板编码,并且每个编码单元有两个调色板需要被发送。表14表15在如表3-15所示的上述实施例中,每个预测单元(或编码单元的子块)的调色板可以在一个编码单元中的或在根据编码顺序的相邻编码单元中的先前预测单元的调色板来预测。每个预测单元的调色板还可以从左侧相邻块或上方相邻块而被预测。在上述实施例中,用于调色板编码的预测单元的主要颜色的数量可以小于L,其中L范围是从1到最大调色板尺寸。L可以以高级语法或预定义来被发送。在另一实施例中,当当前编码单元被分割为N+1个子块并且N是大于或等于2的整数时,至多N个子块可以共享相同的调色板表(或一组主要颜色)。每个剩余的子块可以具有单独的调色板表(或一组主要颜色)。在另一实施例中,对于分割成多个子块的当前编码单元的情况,通过调色板编码方法,当前编码单元的至少一个子块被预测或压缩,而剩余的子块通过帧间预测,帧内预测或帧内块复制(Intrablockcopy,IntraBC)而被预测或者压缩。使用调色板编码方法编码的每个子块具有单独的调色板表。将缩放列表(量化矩阵)应用于调色板编码块的过程在本发明的另一实施例中,如果调色板编码块的残差未被变换到频域,则量化矩阵(或缩放列表)的使用被跳过以用于调色板编码块。编码单元语法中的调色板编码信令(PaletteCodingSignaling)在本发明的另一实施例中,公开了包括帧间,帧内,帧内块复制(IntraBC)的预测模式信令和编码单元语法中的调色板编码信令。如表16所示,对基于HEVC的编码单元语法进行的编码单元语法的修改较小。然而,解析过程和对某些语法元素的语义(例如pred_mode_flag)也需要修改。在表16中,语句“if(slice_type!=I)”从附注(16-2)所示的原始位置移动到附注(16-1)所示的新位置。在包括如表16所示的本发明的实施例的示例性编码单元语法中,调色板编码和帧内块复制编码均被认为是帧内切片(即,I切片(I-slice))的编码模式。然而,本发明不限于特定语法或特定语义。表16在一个实施例中,当intra_block_copy_enabled_flag等于1(即,帧内块复制被使能)且调色板编码被使能时,且当切片类型不是帧内(即,slice_type!=I)时,帧间、帧内、帧内块复制和调色板编码palette_coding模式的二进制化可以分别是10,11,01和00。也可以使用模式和码字之间的其他映射。当切片类型是帧内时,帧内、帧内块复制Intra_block_copy和调色板编码模式的二值化可以分别是1,01和00。也可以使用模式和码字之间的其他映射。如果仅使能帧内块复制和调色板编码模式中的一个,那么可使用码字1和0来指定帧内模式或帧内块复制/调色板编码模式以用于帧内切片。对于非帧内切片,1,01和00可以分别用于指定帧间,帧内和帧内块复制/调色板编码模式的使用。也可以使用模式和码字之间的其他映射。在另一实施例中,当Intra_block_copy_enabled_flag等于1(即,帧内块复制被使能)且调色板编码被使能时,且当切片类型不是帧内(即,slice_type!=1)时,帧间、帧内、Intra_block_copy和palette_coding模式的二进制化可以分别是1,01,001和000。换句话说,第一位(或仓(bin))用于指定预测模式是帧间,还是多个帧内图片预测模式中的一个,即帧内,帧内块复制或调色板编码。还可以使用码字集合(即,1,01,001和000)和模式集合(帧间,帧内,帧内块复制和调色板编码)之间的其他映射。此外,也可以使用除{1,01,001和000}之外的其他可变长度码字。可以组合上面公开的方法。例如,调色板编码被应用于编码单元的预测单元,并且如表16所示的编码单元语法中的调色板编码信令也可被应用。调色板编码高级语法在本发明的一个实施例中,高级语法标志用于在序列级,图片级,切片级或其组合中使能和禁能基于子编码块的调色板编码。例如,序列参数集(sequenceparameterset,SPS)标志(例如,“non_square_palette_enabled_flag”)可以用于指定是否可以将非方形调色板编码分割应用于该序列。示例性语法和语义在表17中示出。表17non_square_palette_enabled_flag等于1指示非正方形分割可以在调色板编码树块中使用。non_square_palette_enabled_flag等于0指示非方形分割不能在调色板编码树块中使用。在表17中,如附注(17-1)所示包括palette_coding_enabled_flag。如果如注(17-2)所示palette_coding_enabled_flag是1,则如附注(17-3)所示包括non_square_palette_enabled_flag。在另一实施例中,序列参数集标志(例如,asymmetric_palette_enabled_flag)被发送以指定是否可将非对称调色板编码分割应用于此序列。示例性语法和语义在表18中示出。表18asymmetric_palette_enabled_flag等于1指示非对称分割(例如,等于PART_2NxnU,PART_2NxnD,PART_nLx2N或PART_nRx2N的分割模式)可在调色板编码树块中使用。asymmetric_palette_enabled_flag等于0指示非对称分割不能在调色板编码树块中使用。在表18中,如附注(18-1)所示包括palette_coding_enabled_flag。如果如注(18-2)所示palette_coding_enabled_flag是1,则如附注(18-3)所示包括non_square_palette_enabled_flag。如果如注(18-4)所示non_square_palette_enabled_flag为1,则如附注(18-5)所示包括asymmetric_palette_enabled_flag。在又一实施例中,序列参数集标志(即,multi_part_palette_enabled_flag)被发送以指定两个以上的分割是否可应用于此序列中的一个调色板已编码的编码单元。示例性语法和语义在表19和表20中示出。表19表20multi_part_palette_enabled_flag等于1指示两个以上分割(即,2NxM和Mx2N,或2Nx(N/2)和(N/2)x2N)可在一个调色板编码树块中使用。multi_part_palette_enabled_flag等于0指示不超过两个分割不能在一个调色板编码树块中使用。表19类似于表18,除了附注(18-5)中的语句被附注(19-1)中的语句替换。换句话说,如果non_square_palette_enabled_flag是1,则如附注(19-1)所示包括multi_part_palette_enabled_flag。除附注(18-3)和(18-4)中的语句被移除之外,表20基本上与表19相同。换句话说,如果palette_coding_enabled_flag等于1,则包括如在附注(20-1)中所示的multi_part_palette_enabled_flag。在另一实施例中,序列参数集标志(例如,log2_num_part_ibc_minus2)被发送以指定当前调色板编码单元被划分的分割数目。示例性语法和语义在表21中示出。表21log2_num_part_palette_minus2加2指定调色板编码单元中的分割数量的值如下:NumPartitionPalette=2(log2_num_part_ibc+2)。除了包括由附注(21-1)和(21-2)指示的附加语句之外,表21基本上与表19相同。根据附加语句,如果如附注(21-1)所示multi_part_palette_enabled_flag等于1,则如附注(21-2)所示包括log2_num_part_palette_minus2。在另一实施例中,调色板编码单元在垂直或水平方向上被均匀地分割成NumPartitionPalette分割。调色板预测子更新本发明的另一方面解决调色板预测子更新。根据一个实施例,当当前palette_size小于或等于调色板更新尺寸(例如,PLT_UPDATE_SIZE)时,与当前编码块相关联的调色板预测子的更新(例如最后编码的调色板表,最后编码的调色板尺寸和调色板预测子尺寸)可被跳过以简化更新过程。表22示出了根据本实施例的示例性调色板编码语法。PLT_UPDATE_SIZE的值可以在图片参数集(pictureparameterset,PPS)或序列参数集中被发送。在一个实施例中,PLT_UPDATE_SIZE的值为1,然而,本发明不限于此。表22在另一实施例中,当更新调色板预测子时,重新定义最后的调色板表。例如,对于编码树单元行的每个起始编码单元,最后编码的调色板是上方编码树单元行的起始编码单元的调色板。图2A示出了根据本实施例的示例,其中最后编码调色板是上方编码树单元行的起始编码树单元(即CTU00)中的第一编码单元调色板(210)。在图2A中,点填充正方形是当前编码树单元行的起始编码单元,而交叉线填充正方形是上方编码树单元行的起始编码单元。图2B示出了根据本实施例的另一示例,其中最后编码调色板是上方编码树单元行的起始编码树单元(即,CTU00)中的最后编码单元的调色板(也称为最后编码单元调色板(220))。在图2B中,点填充正方形是当前编码树单元行的起始编码单元,而交叉线填充正方形是上方编码树单元行的起始编码树单元中的最后编码单元。图2C示出了根据该实施例的又一示例,其中最后编码调色板是上方编码树单元行的起始编码树单元(即,CTU00)的指定位置中的任意编码单元的调色板。位置可以在图片参数集或序列参数集中预定义或发送。在图2C中,点填充正方形是当前编码树单元行的起始编码单元,而交叉线填充正方形是上方编码树单元行的起始编码树单元的指定位置中的编码单元。在上述示例中,最后编码调色板将被插入调色板预测子中,并且调色板预测子将相应地更新。在另一实施例中,在每个切片的开始处,可以使用默认调色板预测子,其由默认调色板条目值组成。此外,可以使用默认最后使用的调色板尺寸和默认调色板预测子尺寸。图3示出了根据本发明实施例的基于子块的调色板编码的流程图。如步骤310所示,系统接收与当前编码块相关联的输入数据。在编码器侧的输入数据可以对应于当前块的像素值或索引。在解码器侧的输入数据可以对应于当前块的已编码数据。可以从存储器(例如,计算机存储器,缓冲器(RAM或DRAM)或其他介质)或从处理器检索输入数据。在步骤320中确定是否分割当前编码块以用于调色板编码。如果当前编码块未被分割(即,来自步骤320的“否”路径),则如步骤330所示利用第一调色板,调色板编码被应用于当前编码块。如果当前编码块被划分为多个子块(即,来自步骤320的“是”路径),则如步骤340所示利用独立的第二调色板,调色板编码被应用于每一个子块。上述的流程图用于描述根据本发明实施方式的颜色索引编码的示例。本领域技术人员可在不脱离本发明精神的前提下,修改、重排列、拆分、或组合各个步骤,以实现本发明。在本公开中,已经使用特定语法和语义来说明实现本发明的实施例的示例。本领域技术人员可以在不脱离本发明的精神的情况下,通过用等同的语法和语义代替上述语法和语义来实践本发明。在提供特定应用和其需求的情况下,以上描述使得本领域技术人员能够实现本发明。对本领域技术人员来说,各种修饰是清楚的,以及在此定义的基本原理可以应用与其他实施方式。因此,本发明并不限于描述的特定实施方式,而应与在此公开的原则和新颖性特征相一致的最广范围相符合。在上述详细描述中,为全面理解本发明,描述了各种特定细节。然而,本领域技术人员能够理解本发明可以实现。以上描述的本发明的实施方式可在各种硬件、软件编码或两者组合中进行实施。例如,本发明的实施方式可为集成入视频压缩芯片的电路或集成入视频压缩软件以执行上述过程的程序代码。本发明的实施方式也可为在数据信号处理器(DigitalSignalProcessor,DSP)中执行上述程序的程序代码。本发明也可涉及计算机处理器、数字信号处理器、微处理器或现场可编程门阵列(FieldProgrammableGateArray,FPGA)执行的多种功能。可根据本发明配置上述处理器执行特定任务,其通过执行定义了本发明揭示的特定方法的机器可读软件代码或固件代码来完成。可将软件代码或固件代码发展为不同的程序语言与不同的格式或形式。也可为了不同的目标平台编译软件代码。然而,根据本发明执行任务的软件代码与其他类型配置代码的不同代码样式、类型与语言不脱离本发明的精神与范围。在不脱离本发明精神或本质特征的情况下,可以其他特定形式实施本发明。描述示例被认为仅在所有方面进行说明并且不是限制性的。因此,本发明的范围由权利要求书指示,而非前面描述。所有在权利要求等同的方法与范围中的变化都属于本发明的涵盖范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1