在基于调色板的视频译码中确定调色板的制作方法_5

文档序号:9439596阅读:来源:国知局
于有损译码时,一些限制可应用于调色板。举例来说,视频编码器20和视频解码器30可量化调色板,例如第一调色板184和第二调色板192。即,视频编码器20和视频解码器30可当条目的像素值在彼此的预定范围内时合并(量化)调色板的条目。换句话说,如果已经存在在新调色板值的误差裕度内的调色板值,那么不将新调色板值添加到调色板。在另一个实例中,块中的多个不同像素值可映射到单个调色板条目,或等效地映射到单个调色板像素值。
[0172]视频解码器30可以相同方式解码像素值,不管特定调色板是无损的还是有损的。作为一个实例,视频解码器30可针对经译码块中的给定像素位置使用由视频编码器20发射的索引值来选择调色板中用于所述像素位置的条目,而无关于所述调色板是无损的还是有损的。在此实例中,调色板条目的像素值用作经译码块中的像素值,无论其是否确切地匹配原始像素值。
[0173]在有损译码的实例中,出于说明的目的,视频编码器20可确定误差界限,称为差量值。候选像素值条目Plt_cand可对应于在例如CU或PU等待译码块中的位置处的像素值。在调色板的构造期间,视频编码器20确定候选像素值条目Plt_cand与调色板中的所有现有像素值条目之间的绝对差。如果候选像素值条目Plt_cand与调色板中的现有像素值条目之间的所有绝对差大于差量值,那么视频编码器20可将像素值候选者添加到调色板作为条目。如果像素值条目Plt_cand与调色板中的至少一个现有像素值条目之间的绝对差等于或小于差量值,那么视频编码器20可不将候选像素值条目Plt_cand添加到调色板。因此,当对像素值条目Plt_cand进行译码时,视频编码器20可选择具有作为最接近于像素值条目Plt_cand的像素值的条目,进而将一些损失引入到系统中。当调色板由多个分量(例如三个颜色分量)组成时,个别分量值的绝对差总和可以用于对照差量值进行比较。或者或另外,每一分量值的绝对差可对照第二差量值进行比较。
[0174]在一些实例中,上文提到的调色板中的现有像素值条目可能已经使用相似差量比较过程而添加。在其它实例中,调色板中的现有像素值可能已经使用其它过程而添加。举例来说,可将一或多个初始像素值条目添加到调色板(无需差量比较)以开始构造调色板的差量比较过程。上述过程可由视频编码器20和/或视频解码器30实施以产生明度和/或色度调色板。
[0175]上文相对于调色板构造描述的技术也可以由视频编码器20和视频解码器30在像素译码期间使用。举例来说,当像素值的编码时,视频编码器20可将像素的值与调色板中的条目的像素值进行比较。如果所述像素的值与调色板中的条目中的一者之间的绝对像素值差等于或小于差量值,那么视频编码器20可将所述像素值编码为调色板的条目。S卩,在此实例中,视频编码器20当像素值产生对调色板条目的充分小(例如,在预定范围内)绝对差时使用调色板的条目中的一者编码所述像素值。
[0176]在一些实例中,视频编码器20可选择产生最小绝对像素值差(与正译码的像素值相比)的调色板条目来编码像素值。作为一实例,视频编码器20可编码索引以指示将用于像素值的调色板条目,例如,将用以在视频解码器30处重构经译码像素值的调色板像素值条目。如果像素的值与调色板中的所有条目之间的绝对像素值差大于差量,那么编码器可不使用调色板条目中的一者来编码像素值,且可改为将待译码像素的像素值发射到视频解码器30 (且可能将所述像素值作为条目添加到调色板)。
[0177]在另一个实例中,视频编码器20可选择调色板的条目以用于对像素值进行编码。视频编码器20可使用选定条目作为预测性像素值。即,视频编码器20可确定表示实际像素值与选定条目之间的差的残余值且对所述残余进行编码。视频编码器20可针对块中通过调色板的条目预测的像素产生残余值,且可产生包含像素块的相应残余像素值的残余块。视频编码器20可随后将变换和量化(如上文相对于图2所提到)应用于所述残余块。以此方式,视频编码器20可产生经量化残余变换系数。
[0178]视频解码器30可逆变换且逆量化变换系数以再生残余块。视频解码器30可随后使用预测性调色板条目值和像素值的残余值重构像素值。举例来说,视频解码器30可将残余值与调色板条目值组合以重构经译码像素值。
[0179]在一些实例中,差量值可针对不同⑶大小、图片大小、颜色空间或不同颜色分量而不同。差量值可为预定的或基于各种译码条件而确定。举例来说,视频编码器20可使用高级语法将差量值用信号表示给视频解码器30,所述高级语法PPS、SPS、VPS和/或切片标头中的语法。在其它实例中,视频编码器20和视频解码器30可经预配置以使用相同固定差量值。在又其它实例中,视频编码器20和/或视频解码器30可基于辅助信息(例如,例如⑶大小、颜色空间、颜色分量或类似物,如上所述)自适应地导出差量值。
[0180]在一些实例中,可包含有损译码调色板模式作为HEVC译码模式。举例来说,译码模式可包含帧内预测模式、帧间预测模式、无损译码调色板模式和有损译码调色板模式。在HEVC译码中,如上文相对于图2和3所提到,量化参数(QP)用以控制允许的失真。用于基于调色板的译码的差量值可随QP而变而计算或另外确定。举例来说,上述差量值可为l?(QP/6)或l〈〈((QP+d)/6),其中d是常数,且“〈〈”表示逐位左移位算子。
[0181]本发明中描述的使用有损译码技术的调色板的产生可由视频编码器20、视频解码器30或两者执行。举例来说,视频编码器20可使用上述差量比较技术产生⑶的调色板中的条目,且用信号表示供视频解码器30使用的用于构造调色板的信息。S卩,视频编码器20可经配置以用信号表示指示用于CU的调色板中的条目的像素值的信息,且随后使用与此些调色板条目相关联的像素值对像素值进行编码。视频解码器30可使用此信息构造调色板,且随后使用条目对经译码块的像素值进行解码。在一些实例中,视频编码器20可用信号表示识别经译码块的一或多个像素位置的调色板条目的索引值,且视频解码器30可使用所述索引值从调色板检索相关像素值条目。
[0182]在其它实例中,视频解码器30可经配置以通过应用上述差量比较技术构造调色板。举例来说,视频解码器30可接收用于经译码块内的位置的像素值,且确定所述像素值与调色板中的现有像素值条目之间的绝对差是否大于差量值。如果是,那么视频解码器30可在调色板中添加像素值作为条目,例如用于稍后在使用由视频编码器20用信号表示的对应索引值对块的其它像素位置的像素值的基于调色板的解码中使用。在此情况下,视频编码器20和视频解码器30应用相同或相似过程以产生调色板。如果不是,那么视频解码器30可不将像素值添加到调色板。
[0183]在用于说明目的的实例中,视频解码器30可接收用于块中的各种像素位置的索引值或像素值。如果例如针对像素位置接收索引值,那么视频解码器30可使用所述索引值识别调色板中的条目,且使用所述调色板条目的像素值用于所述像素位置。如果针对像素位置接收像素值,那么视频解码器30可使用所接收的像素值用于所述像素位置,并且还应用差量比较以确定所述像素值是否应添加到调色板且随后稍后用于调色板译码。
[0184]在编码器侧,如果用于块中的一位置的像素值产生所述像素值与调色板中的现有像素值条目之间小于或等于差量值的绝对差,那么视频编码器20可发送索引值以识别调色板中的条目以用于重构所述位置的像素值。如果用于块中的一位置的像素值产生所述像素值与调色板中的现有像素值条目之间全部大于差量值的绝对差值,那么视频编码器20可发送所述像素值且在调色板中添加所述像素值作为新条目。为了构造调色板,视频解码器30可使用由编码器用信号表示的差量值,依赖于固定或已知差量值,或推断或导出差量值,例如如上文所描述。
[0185]如上所述,视频编码器20和/或视频解码器30可当对视频数据进行译码时使用包含帧内预测模式、帧间预测模式、无损译码调色板模式和有损译码调色板模式的译码模式。根据本发明的一些方面,视频编码器20和视频解码器30可对指示基于调色板的译码是否经启用的一或多个语法元素进行译码。举例来说,在每一 CU处,视频编码器20可对例如旗标PLT_Mode_flag等语法元素进行编码。PLT_Mode_f lag或其它语法元素可指示基于调色板的译码模式是否将用于给定CU (或在其它实例中为PU)。举例来说,此旗标可在经编码视频位流中在CU层级用信号表示,且随后由视频解码器30在对所述经编码视频位流进行解码时即刻接收。
[0186]在此实例中,等于I的此PLT_Mode_flag的值可指定当前⑶是使用基于调色板的译码模式编码。在此情况下,视频解码器30可应用基于调色板的译码模式以对CU进行解码。在一些实例中,语法元素可指示用于CU的多个不同基于调色板的译码模式中的一者(例如,有损或无损)。等于O的此PLT_Mode_flag的值可指定当前⑶是使用除调色板模式外的模式编码。举例来说,可使用多种帧间预测性、帧内预测性或其它译码模式中的任一者。当PLT_Mode_flag的值是O时,视频编码器20还可对额外数据进行编码以指示用于编码相应CU的特定模式(例如,HEVC译码模式)。PLT_Mode_flag的使用是出于实例的目的而描述。然而,在其它实例中,例如多位码等其它语法元素可用以指示基于调色板的译码模式是否将用于CU(或在其它实例中为PU)或指示多个模式中的哪一者将用于译码。
[0187]在一些实例中,上述旗标或其它语法元素可在比⑶(或PU)层级高的层级发射。举例来说,视频编码器20可在切片层级用信号表示此旗标。在此情况下,等于I的值指示切片中的所有CU是使用调色板模式编码。在此实例中,在CU层级不用信号表示例如用于调色板模式或其它模式的额外模式信息。在另一个实例中,视频编码器20可在PPS、SPS或VPS中用信号表示此旗标。
[0188]根据本发明的一些方面,视频编码器20和/或视频解码器30可在切片、PPS、SPS或VPS层级中的一者处对一或多个语法元素(例如,例如上述旗标)进行译码,其指定调色板模式是否针对特定切片、图片、序列或类似物经启用或停用,同时PLT_Mode_flag指示基于调色板的译码模式是否用于每一 CU。在此情况下,如果在切片、PPS、SPS或VPS层级处发送的旗标或其它语法元素指示调色板译码模式经停用,那么在一些实例中,可不需要用信号表示每一⑶的PLT_Mode_flag。或者,如果在切片、PPS、SPS或VPS层级发送的旗标或其它语法元素指示调色板译码模式经启用,那么可进一步用信号表示PLT_Mode_flag以指示基于调色板的译码模式是否将用于每一 CU。再次,如上所提到,用于指示CU的基于调色板的译码的这些技术的应用可另外或替代地用以指示PU的基于调色板的译码。
[0189]在一些实例中,可在位流中有条件地用信号表示上述语法元素。举例来说,视频编码器20和视频解码器30可基于⑶的大小、帧类型、颜色空间、颜色分量、帧大小、帧速率、可缩放视频译码中的层id或多视图译码中的视图1d而分别仅编码或解码语法元素。
[0190]虽然上述实例涉及例如以位流中的一或多个语法元素的显式信令,但在其它实例中,视频编码器20和/或视频解码器30可隐式地确定调色板译码模式是否有效和/或用于对特定块进行译码。视频编码器20和视频解码器30可基于例如CU的大小、帧类型、颜色空间、颜色分量、帧大小、帧速率、可缩放视频译码中的层id或多视图译码中的视图1d而确定基于调色板的译码是否用于块。
[0191]虽然上文在⑶(HEVC)的上下文中描述图4的技术,但应理解所述技术也可以应用于预测单元(PU)或其它视频译码过程和/或标准中。
[0192]图5是说明与本发明的技术一致的确定到像素块的调色板的索引的实例的概念图。举例来说,图5包含使与索引值相关联的像素的相应位置相关到调色板244的条目的索引值(值1、2和3)的映射240。调色板244可以与上文相对于图4描述的第一调色板184和第二调色板192类似的方式确定。
[0193]再次,出于解释的目的,在视频编码器20 (图1和图2)和视频解码器30 (图1和图3)的上下文中且相对于HEVC视频译码标准描述图5的技术。然而,应理解,本发明的技术不限于此方式,且可由其它视频译码处理器和/或装置在其它视频译码过程和/或标准中应用。
[0194]虽然在图5的实例中将映射240说明为包含用于每一像素位置的索引值,但应理解在其它实例中,不是所有像素位置可与使像素值相关到调色板244的条目的索引值相关联。即,如上所述,在一些实例中,视频编码器20可在像素值并未包含在调色板244中的情况下对用于映射240中的一位置的实际像素值(或其经量化版本)的指示进行编码(且视频解码器30可从经编码位流获得所述指示)。
[0195]在一些实例中,视频编码器20和视频解码器30可经配置以对指示哪些像素位置与索引值相关联的额外映射进行译码。举例来说,假定所述映射中的(i,j)条目对应于CU的(i,j)位置。视频编码器20可针对所述映射的每一条目(即,每一像素位置)编码一或多个语法元素,其指示所述条目是否具有相关联索引值。举例来说,视频编码器20可编码具有值一的旗标以指示在CU中的(i,j)位置的像素值是调色板244中的值中的一者。视频编码器20可在此实例中还编码调色板索引(图5的实例中展示为值1-3)以指示调色板中的像素值且允许视频解码器重构所述像素值。在调色板244包含单个条目和相关联像素值的实例中,视频编码器20可跳过索引值的用信号表示。视频编码器20可将旗标编码为具有值零以指示在CU中的(i,j)位置处的像素值不是调色板244中的值中的一者。在此实例中,视频编码器20还可对供视频解码器30用于重构像素值的像素值的指示进行编码。在一些实例中,可以有损方式对像素值进行译码。
[0196]CU的一个位置中的像素的值可提供所述CU的其它位置中的一或多个其它像素的值的指示。举例来说,可存在CU的相邻像素位置将具有相同像素值或可映射到相同索引值(在有损译码的情况下,其中一个以上像素值可映射到单个索引值)的相对高概率。
[0197]因此,根据本发明的方面,视频编码器20可编码一或多个语法元素,其指示给定扫描次序中具有相同像素值或索引值的连续像素或索引值的数目。如上所述,相同值的像素或索引值的串在本文中可被称作延行。在用于说明目的的实例中,如果给定扫描次序中的两个连续像素或索引具有不同值,那么延行等于零。如果给定扫描次序中的两个连续像素或索引具有相同值但所述扫描次序中的第三像素或索引具有不同值,那么延行等于一。对于具有相同值的三个连续索引或像素,延行为二,等等。视频解码器30可从经编码位流获得指示延行的语法元素且使用所述数据确定具有相同像素或索引值的连续位置的数目。
[0198]在用于说明目的的实例中,考虑映射240的线248。假定水平的从左到右扫描方向,线248包含五个索引值“2”和三个索引值“3”。根据本发明的方面,视频编码器20可针对在扫描方向中线248的第一位置编码索引值2。另外,视频编码器20可编码一或多个语法元素,其指示在扫描方向中具有与用信号表示的索引值相同的索引值的连续值的延行。在线248的实例中,视频编码器20可用信号表示延行4,进而指示在扫描方向中的随后四个位置的索引值共享与用信号表示的索引值相同的索引值。视频编码器20可针对线248中的下一不同索引值执行同一过程。即,视频编码器20可编码索引值3和指示延行二的一或多个语法元素。视频解码器30可获得指示索引值和在扫描方向中具有相同索引值的连续索引的数目(延行)的语法元素。
[0199]如上所述,以特定次序扫描映射的索引。根据本发明的方面,扫描方向可为垂直、水平或处于对角线(例如,在框中成对角线地45度或135度)。在一些实例中,视频编码器20可对每一块的指示用于扫描所述块的索引的扫描方向的一或多个语法元素进行编码。另外或替代地,可基于例如块大小、颜色空间和/或颜色分量等所谓的辅助信息来用信号表示或推断扫描方向。视频编码器20可指定用于块的每一颜色分量的扫描。或者,指定扫描可应用于块的所有颜色分量。
[0200]举例来说,相对于基于列的扫描,考虑映射240的列252。假定垂直的从上到下扫描方向,列252包含六个索引值“2”和两个索引值“3”。根据本发明的方面,视频编码器20可针对在扫描方向中线252的第一位置(在列252的相对顶部)编码索引值2。另外,视频编码器20可用信号表示延行5,进而指示在扫描方向中的随后五个位置的索引值共享与用信号表示的索引值相同的索引值。视频编码器20还可针对在扫描方向中的下一位置编码索引值3以及指示延行一的一或多个语法元素。视频解码器30可获得指示索引值和在扫描方向中具有相同索引值的连续索引的数目(延行)的语法元素。
[0201]根据本发明的方面,视频编码器20和视频解码器30可另外或替代地执行用于映射240的一或多个条目的线复制。在一些实例中,所述线复制可取决于扫描方向。举例来说,视频编码器20可指示用于映射中的特定条目的像素或索引值等于特定条目上方(针对水平扫描)的线或特定条目左边(针对垂直扫描)的列中的像素或索引值。视频编码器20还可将扫描次序中等于特定条目上方的线或左边的列中的条目的像素或索引值的数目指示为延行。在此实例中,视频编码器20和或视频解码器30可从指定相邻线且从当前正译码的映射的线的指定数目的条目复制像素或索引值。
[0202]在用于说明目的的实例中,考虑映射240的列256和260。假定垂直的从上到下扫描方向,列256包含三个索引值“1”、三个索引值“2”和两个索引值“3”。列260包含在扫描方向中具有相同次序的相同索引值。根据本发明的方面,视频编码器20可针对列260编码一或多个语法元素,其指示整个列260是从列256复制的。所述一或多个语法元素可与在映射240的相对顶部处列260的第一条目相关联。视频解码器30可获得指示线复制的语法元素且当对列260进行解码时复制列256的索引值用于列260。
[0203]根据本发明的方面,用于对所谓的条目延行进行译码的技术可与上述用于线复制的技术结合使用。举例来说,视频编码器20可对指示映射中的条目的值是否是从调色板获得或者映射中的条目的值是否是从映射240中的经先前译码的线获得的一或多个语法元素(例如,旗标)进行编码。视频编码器20还可对指示调色板的索引值或线(行或列)中的条目的位置的一或多个语法元素进行编码。视频编码器20还可对指示共享相同值的若干连续条目的一或多个语法元素进行编码。视频解码器30可从经编码位流获得此信息且使用所述信息重构块的映射和像素值。
[0204]在用于说明目的的实例中,考虑映射240的行264和268。假定水平的从左到右扫描方向,行264包含三个索引值“ I ”、两个索引值“ 2 ”和三个索引值“ 3 ”。行268包含五个索引值“I”和三个索引值“3”。在此实例中,视频编码器20可识别行264的特定条目,接着是当编码用于行268的数据时的延行。举例来说,视频编码器20可对指示行268的第一位置(行268的最左边位置)与行264的第一位置相同的一或多个语法元素进行编码。视频编码器20还可对指示行268中在扫描方向中两个连续条目的下一延行与行264的第一位置相同的一或多个语法元素进行编码。
[0205]在一些实例中,视频编码器20还可确定是否相对于另一行(或列)中的位置对当前像素或索引值进行译码或使用延行语法元素对当前像素或索引值进行译码。举例来说,在对指示行264的第一位置和两个条目的延行(上文提到)的一或多个语法元素进行编码之后,视频编码器20可针对线268中的第四和第五位置(从左到右)编码指示用于第四位置的值I的一或多个语法元素以及指示延行I的一或多个语法元素。因此,视频编码器20在不参考另一线(或列)的情况下对这两个位置进行编码。视频编码器20可随后相对于上部行264对行268中具有索引值3的第一位置进行译码(例如,指示从上部行264的复制以及扫描次序中具有相同索引值的连续位置的延行)。因此,根据本发明的方面,视频编码器20可在例如使用延行相对于线(或列)的其它值对所述线(或列)的像素或索引值进行译码、相对于另一线(或列)的值对线(或列)的像素或索引值进行译码或其组合之间进行选择。在一些实例中,视频编码器20可执行速率/失真优化以做出所述选择。
[0206]视频解码器30可接收上述语法元素且重构行268。举例来说,视频解码器30可获得指示相邻行中从其复制当前正译码的映射240的位置的相关联索引值的特定位置的数据。视频解码器30还可获得指示扫描次序中具有相同索引值的连续位置的数目。
[0207]在一些实例中,从其复制条目的线可直接邻近于当前正译码的线的条目(如图5的实例中所示)。然而,在其它实例中,若干线可由视频编码器20和/或视频解码器30缓冲,以使得映射的若干线中的任一者可用作当前正译码的映射的线的预测性条目。因此,在一些实例中,可将用于条目的像素值用信号表示为等于当前行的紧邻上方的行(或左边的列)或者当前行的上方的两个或两个以上行(或左边的列)中的条目的像素值。
[0208]在用于说明目的的实例中,视频编码器20和/或视频解码器30可经配置以在对当前行条目进行译码之前存储先前η行条目。在此实例中,视频编码器20可在位流中以截断一元码或其它码指示预测性行(从其复制条目的行)。在另一个实例中,视频编码器20可对当前线与用作对当前线进行译码的参考的映射240
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1