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

文档序号:9439596阅读:来源:国知局
]经译码切片可包括切片标头及切片数据。切片的切片标头可为包含提供关于切片的信息的语法元素的语法结构。切片数据可包含切片的经译码CTU。
[0052]本发明可使用术语“视频单元”或“视频块”或“块”来指代一或多个样本块及用于译码所述一或多个样本块的样本的语法结构。实例类型的视频单元或块可包含CTU、CU、PU、变换单元(TU)、宏块、宏块分区等。在一些上下文中,PU的论述可与宏块分区的宏块的论述互换。
[0053]为了产生经译码的CTU,视频编码器20可以对CTU的译码树块递归地执行四叉树分割,以将译码树块划分为译码块,因此命名为“译码树单元”。译码块是样本的NxN块。CU可以是具有明度样本阵列、Cb样本阵列和Cr样本阵列的图片的明度样本的译码块,以及色度样本的两个对应的译码块,以及用以对译码块的样本进行译码的语法结构。视频编码器20可以将CU的译码块分割成一或多个预测块。预测块可以是应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可以是图片的明度样本的预测块,图片的色度样本的两个对应的预测块,以及用以对预测块样本进行预测的语法结构。视频编码器20可以产生用于CU的每个PU的明度预测块、Cb预测块以及Cr预测块的预测性明度块、Cb块以及Cr块。
[0054]视频编码器20可以使用帧内预测或帧间预测来产生用于PU的预测性块。如果视频编码器20使用帧内预测产生HJ的预测性块,则视频编码器20可以基于与PU相关联的图片的经解码的样本来产生PU的预测性块。
[0055]如果视频编码器20使用帧间预测产生HJ的预测性块,则视频编码器20可以基于不同于与PU相关联的图片的一或多个图片的经解码的样本来产生HJ的预测性块。视频编码器20可以使用单向预测或双向预测以产生PU的预测性块。当视频编码器20使用单向预测以产生PU的预测性块时,PU可以具有单一 MV。当视频编码器20使用双向预测来产生PU的预测性块时,PU可以具有两个MV。
[0056]在视频编码器20产生⑶的一或多个HJ的预测性明度、Cb及Cr块之后,视频编码器20可产生CU的明度残余块。CU的明度残余块中的每个样本指示CU的预测性明度块中的一者中的明度样本与CU的原始明度译码块中对应的样本之间的差异。另外,视频编码器20可以为⑶产生Cb残余块。⑶的Cb残余块中的每个样本可以指示⑶的预测性Cb块中的一者中的Cb样本与CU的原始Cb译码块中对应的样本之间的差异。视频编码器20还可以产生CU的Cr残余块。CU的Cr残余块中的每个样本可以指示CU的预测性Cr块中的一者中的Cr样本与CU的原始Cr译码块中对应的样本之间的差异。
[0057]此外,视频编码器20可使用四叉树分割将⑶的明度、Cb及Cr残余块分解成一或多个明度、Cb及Cr变换块。变换块可以是对其应用相同变换的样本的矩形块。CU的变换单元(TU)可以是明度样本的变换块、色度样本的两个对应的变换块,以及用于对变换块样本进行变换的语法结构。因此,CU的每一 TU可以与明度变换块、Cb变换块以及Cr变换块相关联。与TU相关联的明度变换块可以是CU的明度残余块的子块。Cb变换块可以是CU的Cb残余块的子块。Cr变换块可以是CU的Cr残余块的子块。
[0058]视频编码器20可以将一或多个变换应用到TU的明度变换块从而为TU产生明度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器20可以将一或多个变换应用到TU的Cb变换块从而产生TU的Cb系数块。视频编码器20可以将一或多个变换应用到TU的Cr变换块从而产生TU的Cr系数块。
[0059]在产生系数块(例如,明度系数块、Cb系数块或Cr系数块)之后,视频编码器20可量化系数块。量化大体上指代对变换系数进行量化以可能减少用以表示变换系数的数据的量从而提供进一步压缩的过程。在视频编码器20量化系数块之后,视频编码器20可以对指示经量化的变换系数的语法元素进行熵编码例如,视频编码器20可以对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。视频编码器20可以在位流中输出经熵编码语法元素。
[0060]视频编码器20可以输出包含经熵编码的语法元素的位流。位流可包含形成经译码映射片和相关联数据的表示的位序列。位流可包括网络抽象层(NAL)单元的序列。所述NAL单元中的每一者包含NAL单元标头且囊封原始字节序列有效负载(RBSP)。NAL单元标头可包含指示NAL单元类型代码的语法元素。由NAL单元的NAL单元标头指定的所述NAL单元类型代码指示NAL单元的类型。RBSP可为含有囊封在NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位。
[0061]不同类型的NAL单元可囊封不同类型的RBSP。举例来说,第一类型的NAL单元可囊封用于图片参数集(PPS)的RBSP,第二类型的NAL单元可囊封用于经译码切片的RBSP,第三类型的NAL单元可囊封用于SEI的RBSP等等。囊封用于视频译码数据的RBSP(与用于参数集及SEI消息的RBSP相比)的NAL单元可被称为视频译码层(VCL)NAL单元。
[0062]视频解码器30可以接收由视频编码器20产生的位流。另外,视频解码器30可以剖析位流以对来自位流的语法元素进行解码。视频解码器30可以至少部分基于从位流解码的语法元素重构视频数据的图片。用以重构视频数据的过程通常可与由视频编码器20执行的过程互逆。
[0063]例如,视频解码器30可以使用HJ的MV以为当前⑶的HJ确定预测性样本块。另夕卜,视频解码器30可以逆量化与当前CU的TU相关联的变换系数块。视频解码器30可以对变换系数块执行逆变换以重构与当前CU的TU相关联的变换块。通过将用于当前CU的PU的预测性样本块的样本增加到当前CU的TU的变换块的对应的样本上,视频解码器30可以重构当前⑶的译码块。通过重构用于图片的每个⑶的译码块,视频解码器30可以重构图片。
[0064]在一些实例中,视频编码器20和视频解码器30可经配置以执行基于调色板的译码。举例来说,在基于调色板的译码中,并非执行上述帧内预测性或帧间预测性译码技术,视频编码器20和视频解码器30可将所谓的调色板译码为用于表示特定区域(例如,给定块)的视频数据的颜色的表。每一像素可与调色板中表示像素的颜色的条目相关联。举例来说,视频编码器20和视频解码器30可对使像素值与调色板中的适当值相关的索引进行译码。
[0065]在以上实例中,视频编码器20可通过确定块的调色板、在调色板中定位表示每一像素的值的条目以及以使像素值与调色板相关的用于像素的索引值对调色板进行编码来对视频数据块进行编码。视频解码器30可从经编码位流获得块的调色板以及所述块的像素的索引值。视频解码器30可使像素的索引值与调色板的条目相关以重构块的像素值。
[0066]基于调色板的译码可具有一定量的信令开销。举例来说,可需要若干位来用信号表示调色板的特性(例如调色板的大小)以及调色板自身。另外,可需要若干位来用信号表示块的像素的索引值。在一些实例中,本发明的技术可减少用信号表示此信息所需的位的数目。举例来说,本发明中描述的技术可包含以下各者中的一或多者的各种组合的技术:用信号表示基于调色板的译码模式,发射调色板,预测调色板,导出调色板,以及发射基于调色板的译码映射和其它语法元素。
[0067]本发明的方面是针对调色板预测。举例来说,根据本发明的方面,视频编码器20和/或视频解码器30可确定具有指示第一像素值的第一条目的第一调色板。视频编码器20和/或视频解码器30可随后基于第一调色板的第一条目确定第二调色板的指示第二像素值的一或多个第二条目。视频编码器20和/或视频解码器30还可使用第二调色板对视频数据块的像素进行译码。
[0068]当基于第一条目确定第二调色板的第二条目时,视频编码器20可对多种语法元素进行编码,所述语法元素可由视频解码器使用以重构第二调色板。举例来说,视频编码器20可在位流中编码一或多个语法元素以指示整个调色板(或多个调色板,在视频数据的每一颜色分量(例如,Y、Cb、Cr或Y、U、V或R、G、B)具有单独调色板的情况下)是从当前正译码的块的一或多个相邻块复制。当前块的当前调色板的条目从其预测(例如,复制)的调色板可被称为预测性调色板。预测性调色板可含有来自包含空间相邻块和/或块的特定扫描次序中的相邻块的一或多个相邻块的调色板条目。举例来说,相邻块可在空间上位于当前正译码的块的左边(左边相邻块)或上方(上部相邻块)。在另一实例中,视频编码器20可使用当前块的因果相邻者中的最频繁样本值确定预测性调色板条目。在另一实例中,相邻块可根据用以对块进行译码的特定扫描次序与当前正译码的块相邻。即,相邻块可为在扫描次序中在当前块之前译码的一或多个块。视频编码器20可对一或多个语法元素进行编码以指示调色板从其复制的相邻块的位置。
[0069]在一些实例中,可逐条目执行调色板预测。举例来说,视频编码器20可对一或多个语法元素进行编码以针对预测性调色板的每一条目指示所述调色板条目是否包含在当前块的调色板中。如果视频编码器20未预测当前块的调色板的条目,那么视频编码器20可对一或多个额外语法元素进行编码以指定未预测条目以及此些条目的数目。
[0070]在一些实例中,用于预测整个调色板的技术可与用于预测调色板的一或多个条目的技术组合。举例来说,视频编码器20可在位流中对一或多个语法元素进行编码以指示当前调色板是否是从预测性调色板完全复制。如果情况不是这样,那么视频编码器20可在位流中对一或多个语法元素进行编码以指示预测性调色板中的每一条目是否是复制的。
[0071 ] 在另一个实例中,替代于用信号表示条目的数目和调色板值,视频编码器20可在用信号表示每一调色板值之后用信号表示用以指示用信号表示的调色板值是否是调色板的最终调色板条目的旗标。如果调色板已经达到某一最大大小,那么视频编码器20可不用信号表示此“调色板末端”旗标。
[0072]根据本发明的方面,视频编码器20可对一或多个语法元素进行编码以指示调色板预测是否经启用和/或有效。在用于说明目的的实例中,视频编码器20可对pred_palette_flag进行编码以针对每一块(例如,⑶或PU)指示视频编码器20是否使用调色板预测来预测相应块的调色板。在一些实例中,视频编码器可用信号表示每一颜色分量的单独旗标(例如,每一块的三个旗标)。在其它实例中,视频编码器20可用信号表示适用于块的所有颜色分量的单个旗标。
[0073]视频解码器30可从经编码位流获得以上识别的信息且使用数据重构调色板。举例来说,视频解码器30可接收指示特定调色板是否是从另一调色板预测的数据以及允许视频解码器30使用适当预测性调色板条目的信息。
[0074]在一些实例中,另外或替代地,视频编码器20和/或视频解码器30可在运行中(即,动态地)构造调色板。举例来说,视频编码器20和/或视频解码器30可在译码期间将条目添加到空的调色板。即,视频编码器20可在针对块中的位置产生且发射像素值时将像素值添加到调色板。在块中相对较晚译码的像素可参考调色板的较早添加的条目(例如,以索引值),而不是发射像素值。同样,在接收到块中的位置的新像素值之后,视频解码器30可即刻跟随与视频编码器20相同的过程且在调色板中包含所述像素值。以此方式,视频解码器30构造与视频编码器20相同的调色板。视频解码器30可针对具有已经包含在调色板中的值的像素接收识别所述值的索引值。视频解码器30可使用所接收的信息(例如,调色板的像素值和索引值)重构块的像素。
[0075]在一些实例中,视频编码器20和视频解码器30可维持固定大小的调色板。举例来说,视频编码器20和视频解码器30可添加最近经重构像素值,因而调色板经重构。对于添加到调色板的每一条目,丢弃最早添加到调色板的条目。这也有时称为先进先出(FIFO)。更新调色板的此过程可仅应用于使用调色板模式译码的块或无关于译码模式而应用于所有块。
[0076]上述技术大体上涉及视频编码器20和视频解码器30构造和/或发射用于基于调色板的译码的调色板。本发明的其它方面涉及构造和/或发射允许视频编码器20和/或视频解码器30确定像素值的映射。举例来说,本发明的其它方面涉及构造和/或发射使特定像素与调色板的条目相关的索引映射。
[0077]在一些实例中,视频编码器20可指示块的像素是否具有调色板中的对应值。在用于说明目的的实例中,假定映射的(i,j)条目对应于视频数据块中的(i,j)像素位置。在此实例中,视频编码器20可对用于块的每一像素位置的旗标进行编码。视频编码器20可针对(i,j)条目设定等于一的旗标以指示在(i,j)位置处的像素值为调色板中的多个值中的一者。当颜色包含在调色板中(即,旗标等于一)时,视频编码器20还可对指示识别调色板中的颜色的(i,j)条目的调色板索引的数据进行编码。当像素的颜色并未包含在调色板中(即,旗标等于零)时,视频编码器20还可对指示像素的样本值的数据进行编码。视频解码器30可从经编码位流获得上述数据且使用所述数据确定块中的特定位置的调色板索引和/或像素值。
[0078]在一些实例中,可存在给定位置处的像素映射到的调色板索引与相邻像素映射到同一调色板索引的概率之间的相关性。即,当像素映射到特定调色板索引时,一或多个相邻像素(就空间位置来说)映射到同一调色板索引的概率可相对高。
[0079]根据本发明的方面,视频编码器20和/或视频解码器30可相对于视频数据块的一或多个索引确定且译码同一视频数据块的一或多个索引。举例来说,视频编码器20和/或视频解码器30可经配置以确定与视频数据块中的第一像素相关联的第一索引值,其中所述第一索引值使第一像素的值与调色板的条目相关。视频编码器20和/或视频解码器30还可经配置以基于第一索引值确定与视频数据块中的一或多个第二像素相关联的一或多个第二索引值,且对视频数据块的第一和一或多个第二像素进行译码。因此,在此实例中,可相对于映射的一或多个其它索引译码映射的索引。
[0080]在一些实例中,视频编码器20可对指示映射到同一索引值的处于给定扫描次序的若干连续像素的一或多个语法元素。相同值的索引值的串在本文中可被称作“延行”。在一些实例中,像素值可恰好与调色板中的一个索引值相关联。因此,在一些情况下,值的延行也可指代相同值的像素值的串。在其它实例中,如下文相对于有损译码所描述,一个以上像素值可映射到调色板中的同一索引值。在此些实例中,值的延行指代相同值的索引值。
[0081]在用于说明目的的实例中,如果处于给定扫描次序的两个连续索引具有不同值,那么延行等于零。如果处于给定扫描次序的两个连续索引具有相同值但扫描次序中的第三索引具有不同值,那么延行等于一。视频解码器30可从经编码位流获得指示延行的语法元素且使用所述数据确定具有同一索引值的连续像素位置的数目。
[0082]另外或替代地,根据本发明的方面,视频编码器20和视频解码器30可执行用于映射的一或多个条目的线复制。所述条目由于映射的条目与块的像素位置之间的关系而也可被称作“位置”。在一些实例中,线复制可取决于扫描方向。举例来说,视频编码器20可指示块中的特定位置的像素值或索引映射值等于所述特定位置上方的线(对于水平扫描)或所述特定位置左边的列(对于垂直扫描)中的像素或索引值。视频编码器20还可将等于特定位置的上方的对应像素值或索引或特定位置左边的列的处于扫描次序的像素值或索引的数目指示为延行。在此实例中,视频编码器20和或视频解码器30可从指定相邻线且从当前正译码的块的线的指定数目的条目复制像素或索引值。
[0083]在一些实例中,值从其复制的线可直接邻近于当前正译码的位置的线,例如在其上方或左边。在其它实例中,块的若干线可由视频编码器20和/或视频解码器30缓冲,以使得映射的若干线中的任一者可用作当前正译码的映射的线的预测性值。在用于说明目的的实例中,视频编码器20和/或视频解码器30可经配置以在对像素的当前行进行译码之前存储先前四行的索引或像素值。在此实例中,预测性行(索引或像素值从其复制的行)可在位流中以截断一元码或例如一元代码等其它码来指示。相对于截短一元码,视频编码器20和/或视频解码器30可基于最大行计算(例如,row_index-l)或最大列计算(例如,column_index-l)确定截断一元码的最大值。另外,被复制的来自预测性行的位置的数目的指示也可以包含在位流中。在一些实例中,如果正从其预测当前位置的线或列属于另一块(例如,⑶或CTU),那么可停用此预测。
[0084]根据本发明的方面,用于对所谓的条目延行进行译码的技术可与上述用于线复制的技术结合使用。举例来说,视频编码器20可对指示映射中的条目的值是否是从调色板获得或者映射中的条目的值是否是从映射中的经先前译码的线获得的一或多个语法元素(例如,旗标)进行编码。视频编码器20还可对指示调色板的索引值或线(行或列)中的条目的位置的一或多个语法元素进行编码。视频编码器20还可对指示共享相同值的若干连续条目的一或多个语法元素进行编码。视频解码器30可从经编码位流获得此信息且使用所述信息重构块的映射和像素值。
[0085]如上所述,以特定次序扫描映射的索引。根据本发明的方面,扫描方向可为垂直、水平或处于对角线(例如,在框中成对角线地45度或135度)。在一些实例中,视频编码器20可对每一块的指示用于扫描所述块的索引的扫描方向的一或多个语法元素进行编码。另外或替代地,可基于例如块大小、颜色空间和/或颜色分量等所谓的辅助信息来用信号表示或推断扫描方向。视频编码器20可指定用于块的每一颜色分量的扫描。或者,指定扫描可应用于块的所有颜色分量。
[0086]本发明的技术还包含基于调色板的译码的其它方面。举例来说,根据本发明的方面,视频编码器20和/或视频解码器30可对用于每一块的一或多个语法元素进行译码以指示所述块是使用调色板译码模式译码的。举例来说,视频编码器20和/或视频解码器30可对调色板模式旗标(PLT_M0de_flag)进行译码以指示基于调色板的译码模式是否将用于对特定块进行译码。在此实例中,视频编码器20可编码等于一的PLT_Mode_flag以指定当前正编码的块(“当前块”)是使用调色板模式编码的。等于零的PLT_Mode_flag的值指定当前块不是使用调色板模式编码。在此情况下,视频解码器30可从经编码位流获得PLT_Mode_flag且应用基于调色板的译码模式以对块进行解码。在其中存在一个以上基于调色板的译码模式可用(例如,存在一个以上基于调色板的技术可用于译码)的实例中,一或多个语法元素可指示用于块的多个不同调色板模式中的一者。
[0087]在一些情况下,视频编码器20可编码等于零的PLT_Mode_flag以指定当前块不是使用调色板模式编码。在此些实例中,视频编码器20可使用多种帧间预测性、帧内预测性或其它译码模式中的任一者对块进行编码。当PLT_Mode_flag等于零时,视频编码器20可发射额外信息(例如,语法元素)以指示用于对相应块进行编码的特定模式。在一些实例中,如下所述,所述模式可为HEVC译码模式。PLT_Mode_flag的使用是出于实例的目的而描述。在其它实例中,例如多位码等其它语法元素可用以指示基于调色板的译码模式是否将用于一或多个块,或指示将使用多个模式中的哪一者。
[0088]当使用基于调色板的译码模式时,视频编码器20例如使用本文所描述的技术中的一或多者在供视频解码器30使用的经编码视频数据位流中发射调色板。调色板可针对每一块发射或可在若干块之间共享。调色板可指代对于块来说为主要的和/或代表性的若干像素值。
[0089]根据本发明的方面,例如在调色板中包含的像素值的数目方面的调色板的大小可为固定的,或可使用经编码位流中的一或多个语法元素用信号表示。如下文更详细地描述,像素值可例如取决于用于译码的颜色空间而由若干样本构成。举例来说,像素值可包含明度和色度样本(例如,明度、U色度和V色度(YUV)样本或者明度、Cb色度和Cr色度(YCbCr)样本)。在另一实例中,像素值可包含红、绿及蓝(RGB)样本。如本文所描述,术语像素值可大体上指代贡献于像素的样本中的一或多者。即,术语像素值不一定指代贡献于像素的所有样本,且可用以描述贡献于像素的单个样本值。
[0090]根据本发明的方面,可针对特定块的每一颜色分量单独地发射调色板。举例来说,在YUV颜色空间中,可存在用于Y分量的调色板(表示Y值)、用于U分量的调色板(表示U值)和用于V分量的又一调色板(表示V值)。在另一个实例中,调色板可包含特定块的所有分量。在此实例中,调色板中的第i条目可包含三个值(例如,Y1、U1、Vi)。根据本发明的方面,一或多个语法元素可单独地指示用于每一分量(例如,Y、U、V或类似物)的调色板的大小。在其它实例中,单个大小可以用于所有分量,以使得一或多个语法元素指示所有分量的大小。
[0091 ] 根据本发明的方面,视频编码器20和/或视频解码器可以有损或无损方式执行基于调色板的译码。即,在一些实例中,视频编码器20和/或视频解码器30可使用匹配于块的像素值的调色板条目(或通过在调色板中不包含所述像素值的情况下发送实际像素值)无损地对块的视频数据进行译码。在其它实例中,如下文相对于图5较详细描述,视频编码器20和/或视频解码器30可使用并不精确匹配于块的像素值的调色板条目对块的视频数据进行译码(有损译码)。
[0
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1