使用不对称运动分割的视频译码技术的制作方法_2

文档序号:9872759阅读:来源:国知局
规范中,视频序列通常包含一系列图片。图片也可被称作“帧”。图片可以包含三个样本阵列,标示为SL、Scb以及Scr Al是明度样本的二维阵列(gp,块)ο Scb是Cb色度样本的二维阵列。Scr是Cr色度样本的二维阵列。色度样本在本文中还可以被称为“色度”样本。在其它情况下,图片可为单色的且可仅包含明度样本阵列。
[0061]为了产生图片的经编码的表示,视频编码器20可以产生一组译码树单元(CTU)。CTU中的每一者可包括明度样本的译码树块、色度样本的两个对应的译码树块,以及用以对译码树块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,CTU可包括单个译码树块及用于对所述译码树块的样本进行译码的语法结构。译码树块可为样本的NxNi夬。CTU也可以被称为“树块”或“最大译码单元(LCU)”。HEVC的CTU可以广泛地类似于例如H.264/A VC等其它标准的宏块。然而,CTU未必限于特定大小,并且可以包含一或多个译码单元(CU)。切片可包含按光栅扫描次序连续排序的整数数目的CTU。
[0062]为了产生经译码CTU,视频编码器20可在CTU的译码树块上以递归方式执行四叉树分割,以将译码树块划分为译码块,因此命名为“译码树单元”。译码块是样本的NxNi夬。译码单元(CU)可包括具有明度样本阵列、Cb样本阵列和Cr样本阵列的图片的明度样本的译码块以及色度样本的两个对应的译码块,以及用以对译码块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,CU可包括单个译码块和用以对译码块的样本进行译码的语法结构。
[0063]视频编码器20可将CU的译码块分割为一或多个预测块。预测块是应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可包括明度样本的预测块、色度样本的两个对应预测块和用以预测预测块的语法结构。在单色图片或具有三个单独颜色平面的图片中,PU可包括单个预测块和用以预测预测块的语法结构。视频编码器20可以产生用于CU的每个PU的明度预测块、Cb预测块以及Cr预测块的预测性明度块、Cb块以及Cr块。
[0064]视频编码器20可使用帧内预测或帧间预测来产生PU的预测块。如果视频编码器20使用帧内预测产生PU的预测性块,则视频编码器20可以基于与PU相关联的图片的经解码的样本来产生PU的预测性块。在HEVC的一些版本中,对于每一PU的明度分量,以33个角度预测模式(从2到34编索引)、DC模式(以I编索引)和平面模式(以O编索引)利用帧内预测方法。
[0065]如果视频编码器20使用帧间预测产生PU的预测性块,则视频编码器20可基于除与PU相关的图片以外的一或多个图片的经解码样本产生HJ的预测性块。帧间预测可为单向帧间预测(即,单向预测或单向预测性预测)或双向帧间预测(即,双向预测或双向预测性预测)。为了执行单向预测或双向预测,视频编码器20可产生当前切片的第一参考图片列表(RefPicListO)及第二参考图片列表(RefPicListl)。参考图片列表中的每一者可包含一或多个参考图片。当使用单向预测时,视频编码器20可以搜索RefPicListO以及RefPicListl中的任一者或两者中的参考图片,以确定参考图片内的参考位置。此外,当使用单向预测时,视频编码器20可以至少部分基于对应于参考位置的样本产生用于PU的预测样本块。此夕卜,在使用单向预测时,视频编码器20可产生指示PU的预测块与参考位置之间的空间移位的单一运动向量。为了指示PU的预测块与参考位置之间的空间移位,运动向量可以包含指定PU的预测块与参考位置之间的水平移位的水平分量并且可以包含指定PU的预测块与参考位置之间的垂直移位的垂直分量。
[0066]在使用双向预测来编码PU时,视频编码器20可确定RefPicListO中的参考图片中的第一参考位置及Ref PicLi st I中的参考图片中的第二参考位置。视频编码器20接着可至少部分基于对应于第一及第二参考位置的样本产生PU的预测性块。此外,当使用双向预测对PU进行编码时,视频编码器20可以产生指示PU的样本块与第一参考位置之间的空间移位的第一运动向量,以及指示PU的预测块与第二参考位置之间的空间移位的第二运动向量。
[0067]通常,B图片的第一或第二参考图片列表(例如,RefPicListO或RefPicListl)的参考图片列表构造包含两个步骤:参考图片列表初始化和参考图片列表重新排序(修改)。参考图片列表初始化是显式机制,其基于P0C(图片次序计数,与图片的显示次序对准)次序值将参考图片存储器(也被称作经解码图片缓冲器)中的参考图片放入列表中。参考图片列表重新排序机制可将在参考图片列表初始化期间放置在列表中的图片的位置修改为任何新位置,或即使在图片不属于初始化列表的情况下也将参考图片存储器中的任何参考图片放置在任何位置。可将参考图片列表重新排序(修改)后的一些图片放置在列表中的再另一位置。然而,如果图片的位置超过列表的有效参考图片的数目,则不将所述图片视为最终参考图片列表的条目。可在每一列表的切片标头中用信号表示有效参考图片的数目。
[0068]在构造参考图片列表(S卩RefPicListO和RefPicListl,如果可用)之后,可使用到参考图片列表的参考索引来识别参考图片列表中包含的任何参考图片。
[0069]在视频编码器20产生⑶的一或多个PU的预测性明度、Cb及Cr块之后,视频编码器20可产生CU的明度残余块。CU的明度残余块中的每个样本指示CU的预测性明度块中的一者中的明度样本与CU的原始明度译码块中对应的样本之间的差异。另外,视频编码器20可以产生CU的Cb残余块。CU的Cb残余块中的每一样本可以指示CU的预测性Cb块中的一者中的Cb样本与⑶的原始Cb译码块中对应的样本之间的差异。视频编码器20还可产生⑶的Cr残余块。CU的Cr残余块中的每一样本可指示CU的预测性Cr块中的一者中的Cr样本与CU的原始Cr译码块中的对应样本之间的差异。
[0070]此外,视频编码器20可使用四叉树分割将⑶的明度、Cb及Cr残余块分解成一或多个明度、Cb及Cr变换块。变换块是应用同一变换的样本的矩形(例如,正方形或非正方形)块。CU的变换单元(TU)可包括明度样本的变换块、色度样本的两个对应变换块及用以对变换块样本进行变换的语法结构。因此,CU的每个TU可以与明度变换块、Cb变换块以及Cr变换块相关联。与TU相关联的明度变换块可以是CU的明度残余块的子块。Cb变换块可为CU的Cb残余块的子块。Cr变换块可以是CU的Cr残余块的子块。在单色图片或具有三个单独颜色平面的图片中,TU可包括单个变换块和用以对变换块的样本进行变换的语法结构。
[0071]视频编码器20可将一或多个变换应用到TU的明度变换块以产生TU的明度系数块。系数块可为变换系数的二维阵列。变换系数可为标量。视频编码器20可将一或多个变换应用至TU的Cb变换块以产生TU的Cb系数块。视频编码器20可将一或多个变换应用至TU的Cr变换块以产生TU的Cr系数块。
[0072]在产生系数块(例如,明度系数块、Cb系数块或Cr系数块)之后,视频编码器20可以量化系数块。量化总体上是指对变换系数进行量化以可能减少用以表示变换系数的数据的量从而提供进一步压缩的过程。在视频编码器20量化系数块之后,视频编码器20可以对指示经量化变换系数的语法元素进行熵编码。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。
[0073]视频编码器20可输出包含形成经译码图片及相关联数据的表示的位元序列的位流。位流可包括一连串网络抽象层(NAL)单元。NAL单元为含有NAL单元中的数据类型类型的指示及含有所述数据的呈按需要穿插有模拟阻止位的原始字节序列有效负载(RBSP)的形式的字节的语法结构。NAL单元中的每一者包含NAL单元标头且囊封RBSP JAL单元标头可包含指示NAL单元类型码的语法元素。由NAL单元的NAL单元标头指定的所述NAL单元类型代码指示NAL单元的类型。RBSP可为含有囊封在NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位。
[0074]不同类型的NAL单元可囊封不同类型的RBSP。举例来说,第一类型的NAL单元可囊封用于图片参数集(PPS)的RBSP,第二类型的NAL单元可囊封用于经译码切片的RBSP,第三类型的NAL单元可囊封用于SEI的RBSP等等。囊封视频译码数据的RBSP(与参数集及SEI消息的RBSP相对)的NAL单元可被称为视频译码层(VCL)NAL单元。
[0075]视频解码器30可以接收由视频编码器20产生的位流。另外,视频解码器30可以剖析位流以获得来自位流的语法元素。视频解码器30可至少部分基于从位流获得的语法元素重构视频数据的图片。用以重构视频数据的过程通常可与由视频编码器20执行的过程互逆。举例来说,视频解码器30可使用PU的运动向量,以确定当前CU的PU的预测性块。另外,视频解码器30可逆量化与当前CU的TU相关联的系数块。视频解码器30可以对系数块执行逆变换以重构与当前CU的TU相关联的变换块。通过将用于当前CU的PU的预测性块的样本增加到当前CU的TU的变换块的对应的样本上,视频解码器30可以重构当前CU的译码块。通过重构用于图片的每一 CU的译码块,视频解码器30可重构图片。
[0076]在一些实例中,视频编码器20可使用合并模式或高级运动向量预测(AMVP)模式用信号表示PU的运动信息。换句话说,在HEVC中,存在预测运动参数的两个模式,一者为合并模式及另一者为AMVP。运动预测可包括基于一或多个其它视频单元的运动信息的视频单元(例如,PU)的运动信息的确定。PU的运动信息可以包含PU的运动向量以及PU的参考索引。
[0077]当视频编码器20使用合并模式用信号表示当前PU的运动信息时,视频编码器20产生合并候选者列表。换句话说,视频编码器20可执行运动向量预测符列表构造过程。合并候选者列表包含指示在空间上或在时间上相邻于当前PU的PU的运动信息的合并候选者的集合。也就是说,在合并模式中,构造运动参数(例如,参考索引、运动向量等)的候选者列表,其中候选者可来自空间及时间相邻块。在一些实例中,候选者还可包含人工产生的候选者。
[0078]此外,在合并模式中,视频编码器20可从合并候选者列表选择合并候选者且可使用由所选合并候选者指示的运动信息作为当前PU的运动信息。视频编码器20可用信号表示所选合并候选者的合并候选者列表中的位置。举例来说,视频编码器20可通过将索引发射到候选者列表中而用信号发送所选择的运动向量参数。视频解码器30可从位流获得进入候选者列表的索引(即,候选者列表索引)。另外,视频解码器30可产生相同合并候选者列表,且可基于所选合并候选者的位置的指示确定所选合并候选者。接着,视频解码器30可以使用选定的合并候选者的运动信息来产生当前PU的预测性块。也就是说,视频解码器30可至少部分地基于候选者列表索引确定候选者列表中的所选候选者,其中所选候选者指定当前PU的运动向量。以此方式,在解码器侧处,一旦索引被解码,索引所指向的对应块的所有运动参数便可由当前PU继承。
[0079]跳过模式类似于合并模式。在跳过模式中,视频编码器20及视频解码器30以视频编码器20及视频解码器30在合并模式中使用合并候选者列表的相同方式来产生及使用合并候选者列表。然而,当视频编码器20使用跳过模式用信号发送当前PU的运动信息时,视频编码器20不用信号发送当前PU的任何残余数据。因此,视频解码器30可在不使用残余数据的情况下基于由合并候选者列表中的选定候选者的运动信息指示的参考块而确定PU的预测块。
[0080]AMVP模式类似于合并模式,类似之处在于视频编码器20可产生候选者列表并且可从候选者列表选择候选者。然而,当视频编码器20使用AMVP模式发信号通知当前PU的RefPicListX运动信息时,视频编码器20可除了发信号通知当前PU的RefPicListX旗标之外还发信号通知当前HJ的RefPicListX运动向量差(MVD)及当前PU的RefPicListX参考索引。当前PU的RefPicListX MVP旗标可指示AMVP候选者列表中的选定AMVP候选者的位置。当前PU的RefPicListX MVD可指示当前PU的RefPicListX运动向量与选定AMVP候选者的运动向量之间的差。以此方式,视频编码器20可通过发信号通知RefPicListX运动向量预测符(MVP)旗标、Ref PicLi StX参考索引值和Ref Pi cLi stX MVD而发信号通知当前PU的RefPi cL i stX运动信息。换句话说,在位流中的表示当前PU的运动向量的数据可包含表示参考索引的数据、到候选者列表的索引及MVD。
[0081]此外,在使用AMVP模式发信号通知当前PU的运动信息时,视频解码器30可从所述位流获得当前PU的MVD及MVP旗标。视频解码器30可产生相同的AMVP候选者列表且可基于MVP旗标确定所述选定AMVP候选者。视频解码器30可通过将MVD添加到由所述选定AMVP候选者指示的运动向量来恢复当前PU的运动向量。也就是说,视频解码器30可基于由所述选定AMVP候选者指示的运动向量和MVD确定当前PU的运动向量。视频解码器30接着可使用当前HJ的所恢复的一或多个运动向量来产生当前PU的预测性块。
[0082]当视频解码器30产生当前PU的AMVP候选者列表时,视频解码器30可基于覆盖在空间上与当前PU相邻的位置的HK S卩,在空间上相邻的PU)的运动信息而导出一或多个AMVP候选者。在HJ的预测块包含一位置时,PU可覆盖所述位置。
[0083]合并候选者列表或AMVP候选者列表中基于在时间上相邻于当前PU的PU(S卩,在与当前PU不同的时间实例中的PU)的运动信息的候选者可被称为TMVPO即,TMVP可用以提高HEVC的译码效率,并且不同于其它译码工具,TMVP可需要存取经解码图片缓冲器中、更具体来说参考图片列表中的帧的运动向量。
[0084]可基于逐CVS(经译码视频序列)、逐切片或另一基础来启用或停用TMVP的使用。SPS中的语法元素(例如,sp s_t empora l_mvp_enab I e_f lag)可指示TMVP的使用是否针对CVS经启用。此外,当TMVP的使用针对CVS经启用时,可针对所述CVS内的特定切片启用或停用TMVP的使用。举例来说,切片标头中的语法元素(例如,s I i ce_t empora l_mvp_enab I e_f I ag)可指示TMVP的使用是否针对切片经启用。因此,在帧间预测切片中,当TMVP针对整个CVS经启用(例如,SPS中的sps_temporal_mvp_enable_flag设定成I)时,在切片标头中用信号表示slice_temporal_mvp_enable_f lag以指示TMVP是否针对当前切片经启用。
[0085]为了确定TMVP,视频编解码器可首先识别包含与当前PU位于同一地点的PU的参考图片。换句话说,视频译码器可识别位于同一地点的图片。如果当前图片的当前切片是B切片(即,允许包含经双向帧间预测的PU的切片),那么视频编码器20可在切片标头中用信号表示指示相同位置图片是否来自RefPicListO或RefPicListl的语法元素(例如,COllOCated_frOm_10_flag)。换句话说,当针对当前切片启用TMVP的使用且当前切片是B切片(例如,允许包含双向帧间预测PU的切片)时,视频编码器20可在切片标头中用信号表示语法元素(例如,col located_from_10_f lag)以指示位于同一地点的图片是否处于RefPicListO或RefPicListl中。换句话说,为了得到TMVP,首先将识别位于同一地点的图片。如果当前图片为B切片,那么在切片标头中用信号表示collocated_from_10_flag以指示相同位置的图片是来自RefPicListO还是来自RefPicListl。
[0086]在视频解码器30识别包含位于同一地点的图片的参考图片列表之后,视频解码器30可使用可在切片标头中用信号发送的另一语法元素(例如,collocated_ref_idx)来识别所识别的参考图片列表中的图片(即,位于同一地点的图片)。即,在识别参考图片列表之后,在切片标头中用信号表示的c0ll0Cated_ref_idX用以识别参考图片列表中的图片。
[0087]视频译码器可通过检查位于同一地点的图片来识别位于同一地点的PU JMVP可指示含有位于同一地点的HJ的⑶的右下方PU的运动信息或含有此PU的⑶的中心PU内的右下方PU的运动信息。因此,使用含有此PU的⑶的右下方PU的运动或含有此PU的⑶的中心PU内的右下方PU的运动。含有位于同一地点的PU的CU的右下方PU可为覆盖直接在所述PU的预测块的右下方样本的右下方的位置的HJ。换句话说,TMVP可指示在参考图片中且覆盖与当前PU的右下方拐角位于同一地点的位置的HJ的运动信息,或TMVP可指示在参考图片中且覆盖与当前PU的中心位于同一地点的位置的PU的运动信息。
[0088]当由以上过程识别的运动向量(S卩,TMVP的运动向量)用以产生用于合并模式或AMVP模式的运动候选者时,视频译码器可基于时间位置(由POC值反映)按比例缩放所述运动向量。举例来说,当当前图片与参考图片的POC值之间的差大于当当前图片与参考图片的POC值之间的差较小时的值时,视频编解码器可将运动向量的量值增大多出的量。
[0089]从TMVP导出的时间合并候选者的所有可能的参考图片列表的目标参考索引可始终设定成O。然而,对于AMVP,所有可能的参考图片的目标参考索引设定成等于经解码参考索引。换句话说,将从TMVP导出的时间合并候选者的所有可能参考图片列表的目标参考索引设定为O,而对于AMVP,其经设定为等于经解码参考索引。在HEVC中,SPS可包含旗标(例如,sps_temporal_mvp_enable_flag)且当 sps_temporal_mvp_enable_flag 等于 I 时切片标头可包含旗标(例如,pic_temporal_mvp_enable_f lag)。当对于特定图片,pic_temporal_mvp_enable_flag与temporal_id两者都等于O时,在所述特定图片或按解码次序在所述特定图片之后的图片的解码中并不将来自按解码次序在所述特定图片之前的图片的运动向量用作TMVP。
[0090]在接下来的部分中,将论述多视图(例如,H.264/MVC中)和多视图加深度(例如,3D-HEVC中)译码技术。最初,将论述MVC技术。如上所述,MVC是ITU-T H.264/AVC的多视图译码扩展。在MVC中,按时间优先次序对多个视图的数据进行译码,且因此,解码次序布置被称作时间优先译码。确切地说,可对在共同时间实例处的多个视图中的每一者的视图分量(即,图片)进行译码,接着可对用于不同时间实例的视图分量的另一集合进行译码,诸如此类。存取单元可包含用于一个输出时间实例的所有视图的经译码图片。应理解,存取单元的解码次序未必等同于输出(或显示)次序。
[0091]图2中展示了典型MVC解码次序(S卩,位流次序)。解码次序布置被称作时间优先译码。应注意,存取单元的解码顺序可并不相同于输出或显示顺序。在图2中,SO到S7各自指代多视图视频的不同视图。TO到T8各自表示一个输出时间实例。存取单元可包含针对一个输出时间实例的所有视图的经译码图片。举例来说,第一存取单元可包含针对时间实例TO的所有视图SO到S7,第二存取单元可包含针对时间实例TI的所有视图SO到S7,等。
[0092]出于简洁目的,本发明可使用以下定义:
[0093]视图分量:单个存取单元中的视图的经译码表示。当视图包含经译码纹理及深度表示两者时,视图分量由纹理视图分量及深度视图分量构成。
[0094]纹理视图分量:单个存取单元中的视图的纹理的经译码表示。
[0095]深度视图分量:单个存取单元中的视图的深度的经译码表示。
[0096]在图2中,所述视图中的每一者包含若干图片集合。举例来说,视图SO包含图片集合0、8、16、24、32、40、48、56及64,视图31包含图片集合1、9、17、25、33、41、49、57及65,等。对于3D视频译码,例如3D-HEVC,每一图片可包含两个分量图片:一个分量图片称为纹理视图分量,且另一分量图片称为深度视图分量。视图的一图片集合内的纹理视图分量及深度视图分量可被视为对应于彼此。举例来说,视图的一组图片内的纹理视图分量被视为对应于视图的图片的所述组内的深度视图分量,且反过来也一样(即,深度视图分量对应于其在所述组中的纹理视图分量,且反过来也一样)。如本发明中所使用,对应于深度视图分量的纹理视图分量可被视为纹理视图分量且深度视图分量为单一存取单元的同一视图的部分。
[0097]纹理视图分量包含所显示的实际图像内容。举例来说,所述纹理视图分量可包含明度(Y)及色度(Cb及Cr)分量。深度视图分量可指示其对应纹理视图分量中的像素的相对深度。作为一个实例,深度视图分量为仅包含明度值的灰阶图像。换句话说,深度视图分量可不传达任何图像内容,而是提供纹理视图分量中的像素的相对深度的量度。
[0098]举例来说,深度视图分量中的纯白色像素指示对应纹理视图分量中的其对应像素较接近于观察者的视角,且深度视图分量中的纯黑色像素指示对应纹理视图分量中的其对应像素距观察者的视角较远。黑色与白色之间的各种灰度渐变指示不同深度水平。举例来说,深度视图分量中的深灰色像素指示纹理视图分量中的其对应像素比深度视图分量中的浅灰色像素更远。因为仅需要灰阶来识别像素的深度,因此深度视图分量不需要包含色度分量,因为深度视图分量的色彩值可能不服务于任何目的。
[0099]仅使用明度值(例如,强度值)来识别深度的深度视图分量是出于说明的目的而提供,且不应被视为限制性。在其它实例中,可利用任何技术来指示纹理视图分量中的像素的相对深度。
[0100]图3中展示了用于多视图视频译码的典型MVC预测结构(包含每一视图内的图片间预测及视图间预测两者)。预测方向由箭头指示,箭头指向的对象使用箭头出发的对象作为预测参考。在MVC中,由视差运动补偿支持视图间预测,所述视差运动补偿使用H.264/AVC运动补偿的语法但允许将不同视图中的图片用作参考图片。
[0101]在图3的实例中,说明八个视图(具有视图1D“S0”到“S7”),且
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1