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

文档序号:9872759阅读:来源:国知局
60的全部来导出PU 255的视差运动向量,视频编码器20和/或视频解码器30可经配置以从子块255的深度块260的4x8子块264导出视差运动向量,且从子块256的深度块26的4x8子块262导出视差运动向量。
[0220]视频编码器20和/或视频解码器30可随后使用对应导出视差运动向量合成子块255和256中的每一者的参考块以关于对应于具有等于refVIdxLX的视图次序的视图间参考图片的参考图片执行运动补偿。通过导出子块255和256中的每一者的个别视差运动向量,可合成较准确的参考视图且对应运动补偿过程可实现增加的译码增益。
[0221]在本发明的另一实例中,当当前大小是16xl2(或12x16)且当前PU经单向预测时,视频编码器20和/或视频解码器30可经配置以将当前PU分割为8x4(或4x8)子块(也被称为BVSP子区)且使用BVSP导出每一子块的视差运动向量。
[0222]在另一实例中,BVS子区的大小可指派给16x12或12x16。在再一实例中,每一 16x12(或12x16)子块进一步分割成16x8(或8x16)子块和两个8x4(或4x8)子块,其邻近于同一 CU中的16x4(4xl6)PU。在另一实例中,16x8(或8x16)子块可基于例如对应深度块的4个拐角而进一步分成两个8x8子区或四个4x8(或8x4)子区。
[0223]在本发明的另一实例中,当当前PU的高度和宽度两者大于或等于8且PU经双向预测时,视频编码器20和/或视频解码器30经配置以将BVSP子区的大小设定为8x8而不是4x8或8x4,如3D-HEVC的先前提议中。在另一实例中,替代于使用双向预测BVSP用于具有等于12x16或16x12的大小的PU,可应用单向预测BVSP。在此情况下,运动补偿大小可进一步设定成4x16或16x4。在另一实例中,当当前PU大小是16x4或4x16且当前PU经双向预测时,将BVSP子区的大小设定成等于PU大小。
[0224]子PU运动预测可展现以下缺陷。在此上下文中,子PU运动预测可包含如上文所描述的JCT3V-E0184中所提议的子PU运动预测技术,以及子PU运动预测扩展到从纹理视图到深度视图的MVI。
[0225]作为一个缺点,当不对称运动分割(AMP)经启用时,当前PU大小等于例如4x16、16x4,且VPS中用信号表示的子PU块大小等于8x8,基于子PU运动预测的先前提议,此些PU将分裂成两个4x8或8x4子块。对于每一子块,继承来自参考块的运动信息。运动信息可通过用于视图间运动预测的参考纹理视图中的视差向量识别,或可从用于运动向量继承的对应纹理视图中的位于同一地点的纹理块再使用。在此实例中,可调用基于4x8或8x4的双向预测,HEVC不允许这样。
[0226]作为另一缺点,当AMP经启用时,PU大小等于例如12x16或16x12,且VPS中用信号表示的子PU块大小(S卩,子块大小)等于8x8,基于子PU运动预测的先前提议,此些PU将分裂成两个8x8和两个4x8/8x4子块。类似于以上情况,4x8/8x4子块可使用双向预测,HEVC不允许这样。
[0227]本发明中提出与视图间运动预测和运动向量继承(用于深度PU)相关的技术。在当合并索引指示视图间运动预测或MVI时的情境中可应用本发明的技术。确切地说,本发明的视图间运动预测和/或MVI技术包含用于将AMP PU进一步分割为子块且获得子块中的每一者的单独运动信息的技术。以此方式,可针对子块中的每一者改善视图间运动预测和/或MVI的准确性,且因此可增加译码效率。
[0228]在本发明的一个实例中,当当前PU是使用视图间运动预测和/或MVI经译码且当前PU大小等于4x16或16x4时,视频编码器20和/或视频解码器30可经配置以将PU分裂为两个4x8或8x4子块。对于子块中的每一者,视频编码器20和/或视频解码器30可经配置以仅从对应于特定参考图片列表(例如,RefPicListO)的参考块获得运动信息。对应于RefPicListO中的参考块的运动信息是针对4x8或8x4子块继承。在此情况下,子块是从RefPicListO中的图片单向预测。
[0229]图18是说明用于不对称分割成大小4x16和16x4的PU的运动向量继承和运动补偿技术的概念图。举例来说,对于4xl6PU,视频编码器20和/或视频解码器30经配置以将4xl6PU进一步划分为两个4x8子块300和302。子块300和302中的每一者的运动信息是从属于特定参考图片列表(例如,RefPicListO)的参考图片中的参考块获得。随后相对于RefPicListO中的参考块针对子块300和302中的每一者执行运动补偿。同样,对于16x4PU,视频编码器20和/或视频解码器30经配置以将16x5PU进一步划分为两个8x4子块304和306。子块304和306中的每一者的运动信息是从属于特定参考图片列表(例如,RefPicListO)的参考图片中的参考块获得。随后相对于RefPicListO中的参考块针对子块304和306中的每一者执行运动补偿。
[0230]在本发明的另一实例中,当当前PU大小是16x12、12xl6、4xl6或16x4中的一者时,视频编码器20及视频解码器30经配置以当应用子PU层级视图间运动预测和/或MVI (用于深度)时不使用用于8x4/4x8子块的双向预测。即,当当前PU大小是16xl2、12xl6、4xl6或16x4中的一者时,视频编码器20及视频解码器30经配置以当应用子PU层级视图间运动预测和/或MVI(用于深度)时仅使用用于8x4/4x8子块的单向预测。
[0231]在本发明的另一实例中,提出当应用子PU层级视图间运动预测或MVI且当前PU大小等于4x16或16x4时,PU不分裂成子PU。
[0232]在本发明的另一实例中,提出当应用子PU层级视图间运动预测或MVI且当前PU大小等于12x16或16x12时,将PU分裂成三个相等大小的子PU块,具有等于4x16或16x4的大小。对于每一子PU块,继承对应参考块的运动信息。
[0233]在本发明的另一实例中,当当前PU大小等于12x16或16x12时,将PU分裂为两个8x8和一个4x 16或16x4子PU块,其中8x8子PU形成含有此PU的⑶的左边或上半部。在此实例的另一方面中,4x16和16x4子块进一步分裂成两个4x8或8x4子PU块。对于每一4x8或8x4子]3U,仅获得对应于参考图片列表(RefPicListO)的参考块的运动信息且再用于4x8或8x4子PU。在此情况下,子F1U是从Ref PicListO中的图片单向预测。
[0234]在本发明的另一实例中,当BVSP用于具有等于12x16或16x12的大小的PU时,将PU分裂成三个相等大小的子PU块,具有等于4x16或16x4的大小。视频编码器20和/或视频解码器30可随后从对应深度块导出每一子PU的唯一视差运动向量。
[0235]图19是说明可以实施本发明的技术的视频编码器20的实例的框图。视频编码器20可执行视频切片内的视频块的帧内和帧间译码(包含视图间译码),所述视频切片例如纹理图像和深度图两者的切片。纹理信息大体上包含明度(亮度或强度)和色度(颜色,例如红色调和蓝色调)信息。一般来说,视频编码器20可确定相对于明度切片的译码模式,且再使用来自对明度信息进行译码的预测信息以编码色度信息(例如,通过再使用分割信息、帧内预测模式选择、运动向量或类似物)。帧内译码依赖于空间预测来减少或移除给定视频帧或图片内的视频中的空间冗余。帧间译码依靠时间预测来减少或移除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(I模式)可指代若干基于空间的译码模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指代若干基于时间的译码模式中的任一者。
[0236]如图19中所展示,视频编码器20接收待编码的视频帧(S卩,纹理图像或深度图)内的当前视频块(即,视频数据块,例如明度块、色度块或深度块)。在图19的实例中,视频编码器20包含视频数据存储器40、模式选择单元41、经解码图片缓冲器(DPB)64、求和器50、变换处理单元52、量化单元54、环路滤波器单元63和熵编码单元56。模式选择单元41又包含运动补偿单元44、运动估计单元42、帧内预测处理单元46和分割单元48。为了视频块重构,视频编码器20还包含逆量化单元58、逆变换处理单元60,及求和器62。环路滤波器单元63可包含解块滤波器和SAO滤波器以对块边界进行滤波以从经重构视频移除成块效应假象。除了解块滤波器之外,还可使用额外滤波器(环路内或环路后)。为简洁起见未图示此些滤波器,但是必要时,此些滤波器可以对求和器50的输出进行滤波(作为环路内滤波器)。
[0237]视频数据存储器40可存储待由视频编码器20的组件编码的视频数据。可(例如)从视频源18获得存储在视频数据存储器40中的视频数据。DPB 64是存储参考视频数据供视频编码器20用于编码视频数据(例如,在帧内或帧间译码模式中,也被称作帧内或帧间预测译码模式)的缓冲器。视频数据存储器40和DPB 64可由多种存储器装置中的任一者形成,例如包含同步DRAM(SDRAM)的动态随机存储器(DRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM),或其它类型的存储器装置。视频数据存储器40和DPB 64可由同一存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器40可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。
[0238]在编码过程期间,视频编码器20接收待译码的视频帧或切片。所述帧或切片可以划分成多个视频块。运动估计单元42和运动补偿单元44执行所接收视频块相对于一或多个参考帧(包含视图间参考帧)中的一或多个块的帧间预测性译码以提供时间预测。帧内预测处理单元46可替代地相对于与待译码块相同的帧或切片中的一或多个相邻块执行对所接收视频块的帧内预测性译码以提供空间预测。视频编码器20可以执行多个译码遍次,例如,以为每一视频数据块选择适当的译码模式。
[0239]此外,分割单元48可以基于前述译码遍次中的前述划分方案的评估将视频数据块分割成子块。举例来说,分割单元48最初可以将帧或切片分割成LCU,并且基于速率失真分析(例如,速率失真优化)将LCU中的每一者分割成子CU。模式选择单元41可进一步产生指示将LCU分割成若干子CU的四叉树数据结构。四叉树的叶节点CU可以包含一或多个PU和一或多个TU。
[0240]模式选择单元41可例如基于误差结果而选择帧内或帧间译码模式中的一者,且将所得帧内或帧间译码块提供到求和器50以产生残余块数据且提供到求和器62以重构经编码块以用作参考帧。模式选择单元41还将语法元素(例如,运动向量、帧内模式指示符、分割信息和其它此类语法信息)提供给熵编码单元56。
[0241]运动估计单元42和运动补偿单元44可高度集成,但出于概念的目的分别加以说明。运动估计单元42所执行的运动估计是产生运动向量的过程,所述过程估计视频块的运动。举例来说,运动向量可指示当前视频帧或图片内的视频块的PU相对于参考帧(或其它经译码单元)内的预测性块相对于当前帧(或其它经译码单元)内正被译码的当前块的位移。
[0242]预测性块是被发现在像素差方面与待译码块紧密匹配的块,像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差度量来确定。在一些实例中,视频编码器20可计算存储于DPB 64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可以内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可相对于全像素位置和分数像素位置执行运动搜索并且输出具有分数像素精度的运动向量。
[0243]运动估计单元42通过比较PU的位置与参考图片的预测性块的位置来计算用于经帧间译码切片中的视频块的PU的运动向量。可从第一参考图片列表(列表O)或第二参考图片列表(列表I)来选择参考图片,所述列表中的每一者识别存储于DPB 64中的一或多个参考图片。可使用本发明的技术构造参考图片列表。运动估计单元42将计算出来的运动向量发送到熵编码单元56和运动补偿单元44。
[0244]由运动补偿单元44执行的运动补偿可涉及基于由运动估计单元42确定的运动向量来获取或产生预测性块。再次,在一些实例中,运动估计单元42与运动补偿单元44可在功能上集成。在接收到当前视频块的PU的运动向量后,运动补偿单元44可在参考图片列表中的一者中定位所述运动向量指向的预测块。求和器50通过从正经译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块,如下文所论述。一般来说,运动估计单元42相对于明度分量执行运动估计,并且运动补偿单元44对于色度分量及明度分量两者使用基于明度分量计算的运动向量。以此方式,运动补偿单元44可再用针对明度分量确定的运动信息来对色度分量进行译码,以使得运动估计单元42不需要对色度分量执行运动搜索。模式选择单元41还可产生与视频块及视频切片相关联的语法元素以供视频解码器30在解码视频切片的视频块时使用。
[0245]作为如上文所描述由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测处理单元46可以对当前块进行帧内预测。具体来说,帧内预测处理单元46可确定用来对当前块进行编码的帧内预测模式。在一些实例中,帧内预测处理单元46可(例如)在不同的编码编次期间使用各种帧内预测模式对当前块进行编码,且帧内预测处理单元46(或在一些实例中为模式选择单元41)可从测试模式中选择适当帧内预测模式来使用。
[0246]举例来说,帧内预测处理单元46可使用速率失真分析计算用于各种所测试的帧内预测模式的速率失真值,并从所述所测试的模式当中选择具有最佳速率失真特性的帧内预测模式。速率失真分析一般确定经编码块与经编码以产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(也就是说,位数目)。帧内预测处理单元46可根据用于各种经编码块的失真及速率计算比率,以确定哪个帧内预测模式对于所述块展现最佳速率失真值。
[0247]在选择用于块的帧内预测模式之后,帧内预测处理单元46可将指示块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可编码指示所选帧内预测模式的信息。视频编码器20在所发射的位流中可包含配置数据,其可包含多个帧内预测模式索引表和多个经修改的帧内预测模式索引表(也称为码字映射表),对用于各种块的上下文进行编码的定义,以及对最可能帧内预测模式、帧内预测模式索引表和经修改的帧内预测模式索引表的指示以用于所述上下文中的每一者。
[0248]视频编码器20通过从正译码原始视频块减去来自模式选择单元41的预测数据而形成残余视频块。求和器50表示执行此减法运算的一或多个组件。变换处理单元52将例如离散余弦变换(DCT)或概念上类似的变换等变换应用于残余块,从而产生包括残余变换系数值的视频块。变换处理单元52可以执行概念上类似于DCT的其它变换。也可使用小波变换、整数变换、子带变换或其它类型的变换。在任何状况下,变换处理单元52向残余块应用所述变换,从而产生残余变换系数的块。
[0249]所述变换可将残余信息从像素值域转换到变换域(例如,频域)。变换处理单元52可将所得变换系数发送到量化单元54。量化单元54可量化所述变换系数以进一步减小位速率。量化过程可以减少与系数中的一些或全部相关联的位深度。可以通过调整量化参数来修改量化程度。在一些实例中,量化单元54可以接着执行对包含经量化的变换系数的矩阵的扫描。替代地,熵编码单元56可以执行所述扫描。
[0250]在量化之后,熵编码单元56对经量化的变换系数进行熵译码。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵译码技术。就基于上下文的熵译码而论,上下文可以基于相邻块。在熵编码单元56的熵译码之后,可以将经编码位流发射到另一装置(例如,视频解码器30),或者将所述视频存档以用于稍后发射或检索。
[0251]逆量化单元58及逆变换处理单元60分别应用逆量化及逆变换以在像素域中重构残余块,例如以供稍后用作参考块。运动补偿单元44可通过将残余块相加到DPB 64的帧中的一者的预测性块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于经重构的残余块以计算子整数像素值以用于运动估计。求和器62将经重构建的残余块添加到由运动补偿单元44产生的经运动补偿的预测块,以产生经重构建的视频块以用于存储于DPB64中。经重构的视频块可由运动估计单元42和运动补偿单元44用作参考块以帧间译码后续视频帧中的块。
[0252]视频编码器20可以实质上类似用于对明度分量进行译码的译码技术的方式对深度图进行编码,即使是在无对应色度分量的情况下。举例来说,帧内预测处理单元46可对深度图的块进行帧内预测,而运动估计单元42和运动补偿单元44可对深度图的块进行帧间预测。然而,如上文所论述,在深度图的帧间预测期间,运动补偿单元44可基于深度范围中的差及深度范围的精度值按比例缩放(也就是说,调整)参考深度图的值。举例来说,如果当前深度图和参考深度图中的不同最大深度值对应于相同现实世界深度,那么视频编码器20可将参考深度图的最大深度值按比例缩放为等于当前深度图中的最大深度值以用于预测的目的。另外或替代地,视频编码器20可例如使用大体类似于视图间预测的技术,使用经更新深度范围值和精度值以产生用于视图合成预测的视图合成图片。
[0253]如下文将参考图21到23更详细地论述,视频编码器20可经配置以采用上述本发明的技术。确切地说,视频编码器20可经配置以当PU是根据不对称分割模式分割时将此些PU分割为子块。视频编码器20可随后经配置以继承和/或导出子块中的每一者的运动向量或视差运动向量。
[0254]图20是说明可实施本发明的技术的视频解码器30的实例的框图。在图20的实例中,视频解码器30包含视频数据存储器79、熵解码单元70、运动补偿单元72、帧内预测处理单元74、逆量化单元76、逆变换处理单元78、经解码图片缓冲器(DPB)82、环路滤波器单元83和求和器80。在一些实例中,视频解码器30可执行总体上与关于视频编码器20(图19)描述的编码遍次互逆的解码遍次。运动补偿单元72可基于从熵解码单元70接收的运动向量产生预测数据,而帧内预测处理单元74可基于从熵解码单元70接收的帧内预测模式指示符产生预测数据。
[0255]视频数据存储器79可以存储待由视频解码器30的组件解码的视频数据,例如经编码视频位流。存储在视频数据存储器79中的视频数据可从例如相机等局部视频源、经由视频数据的有线或无线网络通信或通过存取物理数据存储媒体而获得。视频数据存储器79可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB) JPB 82是存储参考视频数据供视频解码器30用于解码视频数据(例如,在帧内或帧间译码模式中,也被称作帧内或帧间预测译码模式)的DPB的一个实例。视频数据存储器79和DPB 82可由多种存储器装置中的任一者形成,例如包含同步DRAM(SDRAM)的动态随机存储器(DRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM),或其它类型的存储器装置。视频数据存储器79和DPB 82可由同一存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器79可与视频解码器30的其它组件一起在芯片上,或相对于所述组件在芯片外。
[0256]在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块和相关联的语法元素的经编码视频位流。视频解码器30的熵解码单元70熵解码位流以产生经量化系数、运动向量或帧内预测模式指示符和其它语法元素。熵解码单元70将运动向量及其它语法元素转发到运动补偿单元72。视频解码器30可在视频切片层级及/或视频块层级接收语法元素。
[0257]当视频切片经译码为经帧内译码(I)切片时,帧内预测处理单元74可以基于用信号表示的帧内预测模式及来自当前帧或图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据。当视频帧被译码为经帧间译码(即,B、P或GPB)切片时,运动补偿单元72基于从熵解码单元70接收的运动向量及其它语法元素产生用于当前视频切片的视频块的预测性块。可从参考图片列表中的一者内的参考图片中的一者产生所述预测性块。视频解码器30可基于存储于经解码图片缓冲器82中的参考图片使用本发明的技术构造参考帧列表:列表O及列表I。运动补偿单元72通过剖析运动向量和其它语法元素确定用于当前视频切片的视频块的预测信息,并且使用所述预测信息产生用于正被解码的当前视频块的预测性块。举例来说,运动补偿单元72使用一些接收到的语法元素来确定用以译码视频片段的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测片段类型(例如,B片段、P片段或GPB片段)、用于片段的参考图片列表中的一或多者的构造信息、片段的每一经帧间编码的视频块的运动向量、片段的每一经帧间译码的视频块的帧间预测状态,以及解码当前视频片段中的视频块的其它信息。
[0258]运动补偿单元72还可以基于内插滤波器执行内插。运动补偿单元72可以使用如视频编码器20在视频块的编码期间使用的内插滤波器来计算参考块的子整数像素的内插值。在此情况下,运动补偿单元72可根据接收的语法元素而确定由视频编码器20使用的内插滤波器并使用所述内插滤波器来产生预测性块。
[0259]逆量化单元76将提供于位流中且由熵解码单元70解码的经量化的变换系数逆量化,即解量化。逆量化过程可包含使用视频解码器30针对视频切片中的每一视频块计算以确定应应用的量化程度和同样逆量化程度的量化参数QPy。
[0260]逆变换处理单元78对变换系数应用逆变换(例如,逆DCT、逆整数变换,或概念上类似的逆变换过程),以便产生像素域中的残余块。
[0261]在运动补偿单元72基于运动向量及其它语法元素产生当前视频块的预测性块后,视频解码器30通过对来自逆变换处理单元78的残余块与由运动补偿单元72产生的对应预测性块求和而形成经解码的视频块。求和器90表示执行此求和运算的一或多个组件。环路滤波器单元63可包含解块滤波器和SAO滤波器以对块边界进行滤波以从经重构视频移除成块效应假象。除了解块滤波器之外,还可使用额外滤波器(环路内或环路后)。为简洁起见未图示此些滤波器,但是必要时,此
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1