用于视频编解码的方法、装置及计算机可读存储介质与流程

文档序号:16151213发布日期:2018-12-05 17:41阅读:218来源:国知局

技术领域

本发明涉及视频编码及解码。



背景技术:

数字视频能力可并入到广泛多种装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频串流装置及其类似者。数字视频装置实施视频压缩技术,例如,在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)定义的标准、目前正在开发的高效率视频译码(HEVC)标准及此类标准的扩展中所描述的那些视频压缩技术。视频装置可通过实施此类视频压缩技术来更有效地发射、接收、编码、解码及/或存储数字视频信息。

视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测来减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割成视频块。使用关于同一图片中的相邻块中的参考样本的空间预测来编码图片的经帧内译码(I)切片中的视频块。图片的经帧间译码(P或B)切片中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测或关于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。

空间或时间预测导致待译码块的预测性块。残余数据表示待译码原始块与预测性块之间的像素差。经帧间译码块是根据指向形成预测性块的参考样本块的运动向量及指示经译码块与预测性块之间的差的残余数据而编码。根据帧内译码模式及残余数据来编码经帧内译码块。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生可接着量化的残余系数。可扫描最初布置为二维阵列的经量化系数,以便产生系数的一维向量,且可应用熵译码以实现甚至更多压缩。

可通过例如从多个观点编码视图来产生多视图译码位流。已开发利用多视图译码方面的一些三维(3D)视频标准。举例来说,不同视图可发射左眼及右眼视图以支持3D视频。替代性地,一些3D视频译码过程可应用所谓的多视图加深度译码。在多视图加深度译码中,3D视频位流可不仅含有纹理视图分量而且含有深度视图分量。举例来说,每一视图可包括一个纹理视图分量及一个深度视图分量。



技术实现要素:

一般来说,本发明涉及基于高级编解码器的三维(3D)视频译码,包含深度译码技术。举例来说,本发明的技术中的一些涉及用于3维高效率视频译码(3D-HEVC)的高级运动预测。在一些实例中,视频译码器确定用于包含在用于当前预测单元(PU)的候选者列表中的候选者。所述候选者基于所述当前PU的多个子PU的运动参数。当产生所述候选者时,所述视频译码器可以特定次序(例如,光栅扫描次序)处理所述子PU。如果不使用运动补偿预测译码对应于子PU的参考块,则所述视频译码器将所述子PU的运动参数设定为默认运动参数。对于来自所述多个子PU的每一相应子PU,如果不使用运动补偿预测译码所述相应子PU的参考块,则响应于后续确定使用运动补偿预测译码所述次序中的任何稍后子PU的参考块,不设定所述相应子PU的运动参数。

在一个实例中,本发明描述一种用于解码多视图视频数据的方法,所述方法包括:将当前预测单元(PU)划分成多个子PU,其中所述当前PU在当前图片中;确定默认运动参数;以特定次序处理来自所述多个子PU的子PU,其中对于来自所述多个子PU的每一相应子PU,如果不使用运动补偿预测译码所述相应子PU的参考块,则响应于后续确定使用运动补偿预测译码所述次序中的任何稍后子PU的参考块,不设定所述相应子PU的运动参数,其中不使用运动补偿预测译码所述子PU中的至少一者的参考块,且其中处理所述子PU包括,对于来自所述多个子PU的每一相应子PU:确定所述相应子PU的参考块,其中参考图片包含所述相应子PU的所述参考块;如果使用运动补偿预测译码所述相应子PU的所述参考块,则基于所述相应子PU的所述参考块的运动参数设定所述相应子PU的运动参数;及如果不使用运动补偿预测译码所述相应子PU的所述参考块,则将所述相应子PU的所述运动参数设定为所述默认运动参数;及将候选者包含于所述当前PU的候选者列表中,其中所述候选者基于所述多个子PU的所述运动参数;从位流获得指示所述候选者列表中的所选择候选者的语法元素;及使用所述所选择候选者的运动参数以重建构所述当前PU的预测性块。

在另一实例中,本发明描述一种编码视频数据的方法,所述方法包括:将当前预测单元(PU)划分成多个子PU,其中所述当前PU在当前图片中;确定默认运动参数;以特定次序处理来自所述多个子PU的子PU,其中对于来自所述多个子PU的每一相应子PU,如果不使用运动补偿预测译码所述相应子PU的参考块,则响应于后续确定使用运动补偿预测译码所述次序中的任何稍后子PU的参考块,不设定所述相应子PU的运动参数,其中不使用运动补偿预测译码所述子PU中的至少一者的参考块,且其中处理所述子PU包括,对于来自所述多个子PU的每一相应子PU:确定所述相应子PU的参考块,其中参考图片包含所述相应子PU的所述参考块;如果使用运动补偿预测译码所述相应子PU的所述参考块,则基于所述相应子PU的所述参考块的运动参数设定所述相应子PU的运动参数;及如果不使用运动补偿预测译码所述相应子PU的所述参考块,则将所述相应子PU的所述运动参数设定为所述默认运动参数;及将候选者包含于所述当前PU的候选者列表中,其中所述候选者基于所述多个子PU的所述运动参数;及在位流中用信号通知指示所述候选者列表中的所选择候选者的语法元素。

在另一实例中,本发明描述一种用于译码视频数据的装置,所述装置包括:用于存储经解码图片的存储器;及经配置以进行以下操作的一或多个处理器:将当前预测单元(PU)划分成多个子PU,其中所述当前PU在当前图片中;确定默认运动参数;以特定次序处理来自所述多个子PU的子PU,其中对于来自所述多个子PU的每一相应子PU,如果不使用运动补偿预测译码所述相应子PU的参考块,则响应于后续确定使用运动补偿预测译码所述次序中的任何稍后子PU的参考块,不设定所述相应子PU的运动参数,其中不使用运动补偿预测译码所述子PU中的至少一者的参考块,且其中处理所述子PU包括,对于来自所述多个子PU的每一相应子PU:确定所述相应子PU的参考块,其中参考图片包含所述相应子PU的所述参考块;如果使用运动补偿预测译码所述相应子PU的所述参考块,则基于所述相应子PU的所述参考块的运动参数设定所述相应子PU的运动参数;及如果不使用运动补偿预测译码所述相应子PU的所述参考块,则将所述相应子PU的所述运动参数设定为所述默认运动参数;及将候选者包含于所述当前PU的候选者列表中,其中所述候选者基于所述多个子PU的所述运动参数。

在另一实例中,本发明描述一种用于译码视频数据的装置,所述装置包括:用于将当前预测单元(PU)划分成多个子PU的装置,其中所述当前PU在当前图片中;用于确定默认运动参数的装置;用于以特定次序处理来自所述多个子PU的子PU的装置,其中对于来自所述多个子PU的每一相应子PU,如果不使用运动补偿预测译码所述相应子PU的参考块,则响应于后续确定使用运动补偿预测译码所述次序中的任何稍后子PU的参考块,不设定所述相应子PU的运动参数,其中不使用运动补偿预测译码所述子PU中的至少一者的参考块,且其中所述用于处理所述子PU的装置包括,对于来自所述多个子PU的每一相应子PU:用于确定所述相应子PU的参考块的装置,其中参考图片包含所述相应子PU的所述参考块;用于如果使用运动补偿预测译码所述相应子PU的所述参考块,则基于所述相应子PU的所述参考块的运动参数设定所述相应子PU的运动参数的装置;及用于如果不使用运动补偿预测译码所述相应子PU的所述参考块,则将所述相应子PU的所述运动参数设定为所述默认运动参数的装置;及用于将候选者包含于所述当前PU的候选者列表中的装置,其中所述候选者基于所述多个子PU的所述运动参数。

在另一实例中,本发明描述一种非暂时性计算机可读数据存储媒体,其具有存储在其上的指令,所述指令在被执行时致使装置:将当前预测单元(PU)划分成多个子PU,其中所述当前PU处于当前图片中;确定默认运动参数;以特定次序处理来自所述多个子PU的子PU,其中对于来自所述多个子PU的每一相应子PU,如果不使用运动补偿预测译码所述相应子PU的参考块,则响应于后续确定使用运动补偿预测译码所述次序中的任何稍后子PU的参考块,不设定所述相应子PU的运动参数,其中不使用运动补偿预测译码所述子PU中的至少一者的参考块,且其中处理所述子PU包括,对于来自所述多个子PU的每一相应子PU:确定所述相应子PU的参考块,其中参考图片包含所述相应子PU的所述参考块;如果使用运动补偿预测译码所述相应子PU的所述参考块,则基于所述相应子PU的所述参考块的运动参数而设定所述相应子PU的运动参数;及如果不使用运动补偿预测译码所述相应子PU的所述参考块,则将所述相应子PU的所述运动参数设定到所述默认运动参数;及将候选者包含在所述当前PU的候选者列表中,其中所述候选者基于所述多个子PU的所述运动参数。

在附图及下文描述中阐述本发明的一或多个实例的细节。其它特征、目标及优势将从所述描述、图式及权利要求书而显而易见。

附图说明

图1为说明可利用本发明中描述的技术的实例视频译码系统的框图。

图2为说明高效率视频译码(HEVC)中的实例帧内预测模式的概念图。

图3为说明相对于当前块的实例空间相邻块的概念图。

图4为说明实例多视图解码次序的概念图。

图5为说明用于多视图译码的实例预测结构的概念图。

图6为说明基于相邻块的视差向量(NBDV)导出中的实例时间相邻块的概念图。

图7为说明从参考视图的深度块导出以执行反向视图合成预测(BVSP)的概念图。

图8为说明用于合并/跳过模式的经视图间预测的运动向量候选者的实例导出的概念图。

图9为指示3D-HEVC中的l0CandIdx及l1CandIdx的实例指定的表格。

图10为说明用于深度译码的运动向量继承候选者的实例导出的概念图。

图11说明多视图视频译码中的高级残余预测(ARP)的实例预测结构。

图12为说明当前块、参考块及运动补偿块当中的实例关系的概念图。

图13为说明子预测单元(PU)视图间运动预测的概念图。

图14为说明可实施本发明中描述的技术的实例视频编码器的框图。

图15为说明可实施本发明中描述的技术的实例视频解码器的框图。

图16A为根据本发明的实例说明使用帧间预测来编码译码单元(CU)的视频编码器的实例操作的流程图。

图16B为根据本发明的实例说明使用帧间预测来解码CU的视频解码器的实例操作的流程图。

图17为根据本发明的实例说明建构用于当前视图分量中的当前PU的合并候选者列表的视频译码器的实例操作的流程图。

图18为根据本发明的实例说明图17的参考图片列表建构操作的延续部分的流程图。

图19为根据本发明的实例说明确定视图间预测运动向量候选者或纹理合并候选者的视频译码器的操作的流程图。

具体实施方式

高效率视频译码(HEVC)是新开发的视频译码标准。3D-HEVC为HEVC针对3D视频数据的扩展。3D-HEVC提供同一场景来自不同视点的多个视图。3D-HEVC的标准化努力的部分包含基于HEVC的多视图视频编解码器的标准化。在3D-HEVC中,实现基于来自不同视图的经重建构视图分量的视图间预测。

在3D-HEVC中,视图间运动预测类似于用于标准HEVC的运动补偿且可利用相同或类似语法元素。合并模式、跳过模式及高级运动向量预测(AMVP)模式为运动预测的实例类型。当视频译码器对预测单元(PU)执行视图间运动预测时,视频译码器可使用在相同于PU的接入单元中但在不同视图中的图片作为运动信息的来源。相反地,其它运动补偿方法可仅使用不同接入单元中的图片作为参考图片。因此,在3D-HEVC中,相依视图中的块的运动参数可基于相同接入单元的其它视图中的已经译码运动参数来预测或推断。

当视频译码器执行运动预测时,视频译码器可在使用合并模式、跳过模式或AMVP模式用信号通知当前PU的运动信息时产生候选者列表(例如,合并候选者列表或AMVP候选者列表)。为在3D-HEVC中实施视图间运动预测,视频译码器可在合并候选者列表及AMVP候选者列表中包含经视图间预测的运动向量候选者(IPMVC)。视频译码器可以相同于候选者列表中的其它候选者的方式使用IPMVC。IPMVC可指定视图间参考图片中的PU(即,参考PU)的运动信息。视图间参考图片可在相同于当前PU的接入单元中但在不同于当前PU的视图中。

在一些实例中,IPMVC可指定当前PU的多个子PU的运动参数(例如,运动向量、参考索引等)。一般来说,PU的每一子PU可与PU的预测块的不同大小相等子块相关联。举例来说,如果PU的明度预测块为32×32且子PU大小为4×4,则视频译码器可将PU分割成与PU的明度预测块的不同4×4子块相关联的64个子PU。在此实例中,子PU还可与PU的色度预测块的对应子块相关联。因此,IPMVC可指定多个运动参数集合。在此类实例中,如果IPMVC为候选者列表中的所选择候选者,则视频译码器可基于由IPMVC指定的多个运动参数集合确定当前PU的预测性块。

为确定指定当前PU的子PU的运动参数的IPMVC,视频译码器可根据光栅扫描次序处理子PU中的每一者。当视频译码器处理子PU(即,当前子PU)时,视频译码器可基于当前PU的视差向量确定对应于子PU的参考块。参考块可在相同于当前图片的时间实例中但在不同于当前图片的视图中。如果使用运动补偿预测译码对应于当前子PU的参考块(例如,参考块具有一或多个运动向量、参考索引等),则视频译码器可将当前子PU的运动参数设定为对应于子PU的参考块的运动参数。否则,如果不使用运动补偿预测译码对应于当前子PU的参考块(例如,参考块经使用帧内预测译码),则视频译码器可在光栅扫描次序中识别其对应参考块经使用运动补偿预测译码的最近子PU。视频译码器可接着将当前子PU的运动参数设定为对应于所识别子PU的参考块的运动参数。

在一些情况下,所识别子PU相比当前子PU在子PU的光栅扫描次序中稍后出现。因此,当确定当前子PU的运动参数时,视频译码器可前向扫描以找到其对应参考块经使用运动补偿预测译码的子PU。替代性地,视频译码器可延迟确定当前子PU的运动参数,直至视频译码器在子PU的处理期间遇到其对应参考块经使用运动补偿预测译码的PU为止。在这些状况中的任一者中,添加额外复杂性及译码延迟。

根据本发明的一或多种技术,视频译码器可将当前PU分割成多个子PU。此外,视频译码器可确定默认运动参数。另外,视频译码器可以特定次序处理来自多个子PU的子PU。在一些情况下,视频译码器可在处理子PU中的任一者之前确定默认运动参数。对于当前PU的每一相应PU,视频译码器可确定相应子PU的参考块。如果使用运动补偿预测译码相应子PU的参考块,则视频译码器可基于相应子PU的参考块的运动参数设定相应子PU的运动参数。然而,如果不使用运动补偿预测译码相应子PU的参考块,则视频译码器可将相应子PU的运动参数设定为默认运动参数。

根据本发明的一或多种技术,如果不使用运动补偿预测译码相应子PU的参考块,则响应于后续确定使用运动补偿预测译码特定次序中的任何稍后子PU的参考块,不设定相应子PU的运动参数。因此,当视频译码器处理子PU时,视频译码器可不需要前向扫描以找到其对应参考块经使用运动补偿预测译码的子PU或延迟确定相应子PU的运动参数,直至视频译码器在子PU的处理期间遇到其对应参考块经使用运动补偿预测译码的PU为止。有利地,此情况可降低复杂性及译码延迟。

图1为说明可利用本发明的技术的实例视频译码系统10的框图。如本文中所使用,术语“视频译码器”一般是指视频编码器及视频解码器两者。在本发明中,术语“视频译码”或“译码”可一般指视频编码或视频解码。

如图1中所展示,视频译码系统10包含源装置12及目的地装置14。源装置12产生经编码视频数据。因此,源装置12可被称为视频编码装置或视频编码设备。目的地装置14可解码由源装置12所产生的经编码视频数据。因此,目的地装置14可被称为视频解码装置或视频解码设备。源装置12及目的地装置14可为视频译码装置或视频译码设备的实例。

源装置12及目的地装置14可包括广泛范围的装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机(in-car computer)或其类似者。

目的地装置14可经由信道16从源装置12接收经编码视频数据。信道16可包括能够将经编码视频数据从源装置12移动到目的地装置14的一或多个媒体或装置。在一个实例中,信道16可包括使得源装置12能够实时地将经编码视频数据直接发射到目的地装置14的一或多个通信媒体。在此实例中,源装置12可根据通信标准(例如,无线通信协议)来调制经编码视频数据,且可将经调制视频数据发射到目的地装置14。一或多个通信媒体可包含无线及/或有线通信媒体,例如射频(RF)频谱或一或多个物理发射线。一或多个通信媒体可形成分组网络的部分,例如局域网、广域网或全球网络(例如,因特网)。一或多个通信媒体可包含路由器、交换器、基站或促进从源装置12到目的地装置14的通信的其它设备。

在另一实例中,信道16可包含存储由源装置12产生的经编码视频数据的存储媒体。在此实例中,目的地装置14可例如经由磁盘接入或卡接入来接入存储媒体。存储媒体可包含多种本地接入的数据存储媒体,例如蓝光光盘、DVD、CD-ROM、快闪存储器或用于存储经编码视频数据的其它合适数字存储媒体。

在另一实例中,信道16可包含存储由源装置12产生的经编码视频数据的文件服务器或另一中间存储装置。在此实例中,目的地装置14可经由串流或下载来接入存储于文件服务器或其它中间存储装置处的经编码视频数据。文件服务器可为能够存储经编码视频数据并将经编码视频数据发射到目的地装置14的服务器类型。实例文件服务器包含网络服务器(例如,用于网站)、文件传输协议(FTP)服务器、网络附接存储(NAS)装置及本地磁盘驱动器。

目的地装置14可通过标准数据连接(例如,因特网连接)来接入经编码视频数据。数据连接的实例类型可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,数字订户线(DSL)、电缆调制解调器等)或适于接入存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从文件服务器的发射可为串流发射、下载发射或两者的组合。

本发明的技术不限于无线应用或设定。所述技术可应用于视频译码以支持多种多媒体应用,例如空中电视广播、有线电视发射、卫星电视发射、串流视频发射(例如,经由因特网)、编码视频数据以存储于数据存储媒体上、解码存储于数据存储媒体上的视频数据,或其它应用。在一些实例中,视频译码系统10可经配置以支持单向或双向视频发射以支持例如视频串流、视频回放、视频广播及/或视频电话的应用。

图1仅仅为实例,且本发明的技术可适用于未必包含编码装置与解码装置之间的任何数据通信的视频译码设定(例如,视频编码或视频解码)。在其它实例中,数据可从本地存储器检索、在网络上串流或其类似者。视频编码装置可编码数据并将数据存储到存储器,及/或视频解码装置可从存储器检索数据并解码数据。在许多实例中,由并不彼此通信而是仅编码数据到存储器及/或从存储器检索数据且解码数据的装置执行编码及解码。

在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。在一些实例中,输出接口22可包含调制器/解调器(调制解调器)及/或发射器。视频源18可包含视频俘获装置(例如,摄像机)、含有先前俘获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频馈入接口,及/或用于产生视频数据的计算机图形系统,或视频数据的此类来源的组合。

视频编码器20可编码来自视频源18的视频数据。在一些实例中,源装置12经由输出接口22将经编码视频数据直接发射到目的地装置14。在其它实例中,经编码视频数据也可存储到存储媒体或文件服务器上以供稍后由目的地装置14接入以用于解码及/或回放。

在图1的实例中,目的地装置14包含输入接口28、视频解码器30及显示装置32。在一些实例中,输入接口28包含接收器及/或调制解调器。输入接口28可经由信道16接收经编码视频数据。视频解码器30可解码经编码视频数据。显示装置32可显示经解码视频数据。显示装置32可与目的地装置14集成或可在目的地装置外部。显示装置32可包括多种显示装置,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。

视频编码器20及视频解码器30各自可实施为例如以下各者的多种合适电路中的任一者:一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合。当部分地以软件实施技术时,装置可将软件的指令存储于合适的非暂时性计算机可读存储媒体中且可使用一或多个处理器以硬件执行指令以执行本发明的技术。可将前述内容中的任一者(包含硬件、软件、硬件与软件的组合等)视为一或多个处理器。视频编码器20及视频解码器30中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(编解码器)的部分。

本发明通常可指视频编码器20将某些信息“用信号通知”到另一装置(例如,视频解码器30)。术语“用信号通知”可通常指用以解码经压缩视频数据的语法元素及/或其它数据的传达。此传达可实时或几乎实时发生。替代性地,此传达可历时时间跨度发生,例如当在编码时以经编码位流将语法元素存储到计算机可读存储媒体时,可发生此传达,接着,在存储到此媒体之后可由解码装置在任何时间处检索所述语法元素。

在一些实例中,视频编码器20及视频解码器30根据视频压缩标准而操作,例如ISO/IEC MPEG-4视觉及ITU-T H.264(也称为ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)扩展、多视图视频译码(MVC)扩展及基于MVC的3DV扩展。在一些情况下,符合H.264/AVC的基于MVC的3DV扩展的任何位流始终含有顺应H.264/AVC的MVC扩展的子位流。此外,正致力于产生H.264/AVC的三维视频(3DV)译码扩展,即基于AVC的3DV。在其它实例中,视频编码器20及视频解码器30可根据ITU-T H.261、ISO/IEC MPEG-1视觉、ITU-T H.262或ISO/IEC MPEG-2视觉及ITU-T H.264、ISO/IEC视觉来操作。

在其它实例中,视频编码器20及视频解码器30可根据由ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合合作小组(JCT-VC)开发的高效率视频译码(HEVC)标准操作。HEVC标准的草案(被称作“HEVC工作草案10”)描述于布洛斯等人的“高效率视频译码(HEVC)文本规范草案10(用于FDIS及许可(Consent))”中(ITU-T SG16 WP 3及ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第12次会议,瑞士日内瓦,2013年1月)(在下文中称为“HEVC工作草案10”或“HEVC基本规范”)。此外,正致力于产生对HEVC的可缩放视频译码扩展。HEVC的可缩放视频译码扩展可被称为SHEVC或SHVC。

此外,VCEG及MPEG的3D视频译码联合合作小组(JCT-3V)当前正开发HEVC的多视图译码扩展(即,MV-HEVC)。泰克等人的“MV-HEVC草案文本4”(ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发联合合作小组,第4次会议:韩国仁川,2013年4月)(在下文中称为“MV-HEVC测试模型4”)为MV-HEVC的草案。在MV-HEVC中,可仅存在高层级语法(HLS)改变,使得HEVC中在CU或PU层级处的模块不需要再设计。这情况可允许经配置以用于HEVC的模块再用于MV-HEVC。换句话说,MV-HEVC仅提供高层级语法改变而不提供低层级语法改变,例如CU/PU层级处的改变。

另外,VCEG及MPEG的JCT-3V正基于HEVC开发3DV标准,其中标准化努力的部分包含基于HEVC的多视图视频编解码器的标准化(MV-HEVC)及基于HEVC的另一3D视频译码部分(3D-HEVC)。对于3D-HEVC,可包含且支持用于纹理及深度视图两者的新译码工具(包含CU及/或PU层级处的那些译码工具)。到2013年12月17日为止,用于3D-HEVC的软件(例如,3D-HTM)可从以下链接下载:[3D-HTM版本7.0]:https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM-7.0/。

参考软件描述以及3D-HEVC的工作草案可如下获得:格哈德泰克等人的“3D-HEVC测试模型4”(JCT3V-D1005_spec_v1,ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发联合合作小组,第4次会议:韩国仁川,2013年4月)(在下文中称为“3D-HEVC测试模型4”),到2013年12月17日为止所述测试模型可从以下链接下载:http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/2_Shanghai/wg11/JCT3V-B1005-v1.zip。泰克等人的“3D-HEVC草案文本3”(ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发联合合作小组,第3次会议:瑞士日内瓦,2013年1月,文件第JCT3V-C1005号)(在下文中称为“3D-HEVC测试模型3”)(到2013年12月17日为止可从http://phenix.it-sudparis.eu/jct2/doc_end_user/current_document.php?id=706获得)为3D-HEVC的参考软件描述的另一版本。3D-HEVC也描述于泰克等人的“3D-HEVC草案文本2”中(ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发联合合作小组,第6次会议:瑞士日内瓦,2013年10月25日到11月1日,文件第JCT3V-F1001-v2号)(在下文中称为“3D-HEVC草案文本2”)。视频编码器20及视频解码器30可根据SHEVC、MV-HEVC及/或3D-HEVC而操作。

在HEVC及其它视频译码规范中,视频序列通常包含一系列图片。图片也可被称作“帧”。图片可包含三个样本阵列,表示为SL、SCb及SCr。SL是明度样本的二维阵列(即,块)。SCb是Cb色度样本的二维阵列。SCr是Cr色度样本的二维阵列。色度样本在本文中还可被称为“色度”样本。在其它情况下,图片可为单色的且可仅包含明度样本阵列。

为产生图片的经编码表示,视频编码器20可产生译码树单元(CTU)的集合。CTU中的每一者可包括明度样本的译码树块、色度样本的两个对应译码树块,及用以译码所述译码树块的样本的语法结构。在单色图片或具有三个单独色彩平面的图片中,CTU可包括单个译码树块及用于译码所述译码树块的样本的语法结构。译码树块可为样本的N×N块。CTU也可被称为“树块”或“最大译码单元(LCU)”。HEVC的CTU可广泛地类似于例如H.264/AVC的其它标准的宏块。然而,CTU未必限于特定大小,且可包含一或多个译码单元(CU)。切片可包含按光栅扫描次序连续排序的整数数目个CTU。

本发明可使用术语“视频单元”或“视频块”或“块”来指代一或多个样本块及用于译码所述一或多个样本块的样本的语法结构。实例类型的视频单元可包含CTU、CU、PU、变换单元(TU)、宏块、宏块分区等等。在一些情形中,PU的论述可与宏块或宏块分区的论述互换。

为产生经译码CTU,视频编码器20可对CTU的译码树块以递归方式执行四叉树分割,以将译码树块划分成译码块,因此命名为“译码树单元”。译码块是样本的N×N块。CU可包括具有明度样本阵列、Cb样本阵列及Cr样本阵列的图片的明度样本的译码块及色度样本的两个对应译码块,及用以译码所述译码块的样本的语法结构。在单色图片或具有三个单独色彩平面的图片中,CU可包括单个译码块及用以译码所述译码块的样本的语法结构。

视频编码器20可将CU的译码块分割成一或多个预测块。预测块为应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可包括明度样本的预测块、色度样本的两个对应预测块及用以预测预测块的语法结构。在单色图片或具有三个单独色彩平面的图片中,PU可包括单个预测块及用以预测预测块的语法结构。视频编码器20可产生用于CU的每一PU的明度预测块、Cb预测块及Cr预测块的预测性明度块、Cb块及Cr块。

视频编码器20可使用帧内预测或帧间预测来产生PU的预测性块。如果视频编码器20使用帧内预测产生PU的预测性块,则视频编码器20可基于与PU相关联的图片的经解码样本来产生PU的预测性块。在HEVC的一些版本中,对于每一PU的明度分量,使用33个角度预测模式(从2到34编制索引)、DC模式(以1编制索引)及平面模式(以0编制索引)利用帧内预测方法,如图2中所展示。图2为说明HEVC中的实例帧内预测模式的概念图。

如果视频编码器20使用帧间预测产生PU的预测性块,则视频编码器20可基于除与PU相关联的图片以外的一或多个图片的经解码样本产生PU的预测性块。帧间预测可为单向帧间预测(即,单向预测)或双向帧间预测(即,双向预测)。为执行帧间预测,视频编码器20可产生当前切片的第一参考图片列表(RefPicList0)且在一些情况下还可产生当前切片的第二参考图片列表(RefPicList1)。参考图片列表中的每一者可包含一或多个参考图片。当使用单向预测时,视频编码器20可搜索RefPicList0及RefPicList1中的任一者或两者中的参考图片以确定参考图片内的参考位置。此外,当使用单向预测时,视频编码器20可至少部分基于对应于参考位置的样本产生PU的预测性样本块。此外,当使用单向预测时,视频编码器20可产生指示PU的预测块与参考位置之间的空间移位的单一运动向量。为指示PU的预测块与参考位置之间的空间移位,运动向量可包含指定PU的预测块与参考位置之间的水平移位的水平分量且可包含指定PU的预测块与参考位置之间的垂直移位的垂直分量。

当使用双向预测来编码PU时,视频编码器20可确定RefPicList0中的参考图片中的第一参考位置及RefPicList1中的参考图片中的第二参考位置。视频编码器20接着可至少部分基于对应于第一及第二参考位置的样本来产生PU的预测性块。此外,当使用双向预测来编码PU时,视频编码器20可产生指示PU的样本块与第一参考位置之间的空间移位的第一运动向量,及指示PU的预测块与第二参考位置之间的空间移位的第二运动向量。

通常,B图片的第一或第二参考图片列表(例如,RefPicList0或RefPicList1)的参考图片列表建构包含两个步骤:参考图片列表初始化及参考图片列表重排(修改)。参考图片列表初始化为基于POC(图片次序计数,其与图片的显示次序对齐)值的次序将参考图片存储器(也被称作经解码图片缓冲器(DPB))中的参考图片放置成列表的明确机制。参考图片列表重排机制可将在参考图片列表初始化期间放置于列表中的图片的位置修改为任何新位置,或将参考图片存储器中的任何参考图片放置于任何位置,即使图片并不属于初始化列表也如此。可将参考图片列表重排(修改)之后的一些图片放置在列表中的极远位置。然而,如果图片的位置超过列表的有效参考图片的数目,则不将所述图片视为最终参考图片列表的项目。可在切片标头中用信号通知每一列表的有效参考图片的数目。在建构参考图片列表(即RefPicList0及RefPicList1,如果可用)之后,可使用到参考图片列表的参考索引来识别参考图片列表中包含的任何参考图片。

在视频编码器20产生CU的一或多个PU的预测性块(例如,明度块、Cb块及Cr块)之后,视频编码器20可产生CU的一或多个残余块。举例来说,视频编码器20可产生CU的明度残余块。CU的明度残余块中的每一样本指示CU的预测性明度块中的一者中的明度样本与CU的原始明度译码块中的对应样本之间的差。另外,视频编码器20可产生CU的Cb残余块。CU的Cb残余块中的每一样本可指示CU的预测性Cb块中的一者中的Cb样本与CU的原始Cb译码块中的对应样本之间的差。视频编码器20还可产生CU的Cr残余块。CU的Cr残余块中的每一样本可指示CU的预测性Cr块中的一者中的Cr样本与CU的原始Cr译码块中的对应样本之间的差。

此外,视频编码器20可使用四叉树分割来将CU的残余块(例如,明度、Cb及Cr残余块)分解为一或多个变换块(例如,明度、Cb及Cr变换块)。变换块为应用相同变换的样本的矩形(例如,正方形或非正方形)块。CU的变换单元(TU)可包括明度样本的变换块、色度样本的两个对应变换块及用以变换所述变换块样本的语法结构。因此,CU的每一TU可与明度变换块、Cb变换块及Cr变换块相关联。与TU相关联的明度变换块可为CU的明残余块的子块。Cb变换块可为CU的Cb残余块的子块。Cr变换块可为CU的Cr残余块的子块。在单色图片或具有三个单独色彩平面的图片中,TU可包括单个变换块及用以变换所述变换块的样本的语法结构。

视频编码器20可将一或多个变换应用到TU的变换块以产生TU的系数块。举例来说,视频编码器20可将一或多个变换应用到TU的明度变换块以产生TU的明度系数块。系数块可为变换系数的二维阵列。变换系数可为标量。视频编码器20可将一或多个变换应用到TU的Cb变换块以产生TU的Cb系数块。视频编码器20可将一或多个变换应用到TU的Cr变换块以产生TU的Cr系数块。

在产生系数块(例如,明度系数块、Cb系数块或Cr系数块)之后,视频编码器20可量化系数块。量化一般是指量化变换系数以可能减少用以表示变换系数的数据量从而提供进一步压缩的过程。在视频编码器20量化系数块之后,视频编码器20可对指示经量化变换系数的语法元素进行熵编码。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。

视频编码器20可输出包含形成经译码图片及相关联数据的表示的位序列的位流。位流可包括网络抽象层(NAL)单元的序列。NAL单元为含有NAL单元中的数据类型的指示及含有所述数据的呈按需要穿插有模拟阻止位的原始字节序列有效负载(RBSP)形式的字节的语法结构。NAL单元中的每一者包含NAL单元标头且囊封RBSP。NAL单元标头可包含指示NAL单元类型码的语法元素。由NAL单元的NAL单元标头指定的NAL单元类型码指示NAL单元的类型。RBSP可为含有囊封在NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位。

不同类型的NAL单元可包封不同类型的RBSP。举例来说,不同类型的NAL单元可囊封用于视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、经译码切片、补充增强信息(SEI)等等的不同RBSP。囊封视频译码数据的RBSP(与用于参数集及SEI消息的RBSP相反)的NAL单元可被称为视频译码层(VCL)NAL单元。

在HEVC中,SPS可含有应用于经译码视频序列(CVS)的所有切片的信息。CVS可包括图片序列。在HEVC中,CVS可开始于瞬时解码刷新(IDR)图片,或断链接入(BLA)图片,或为位流中的第一图片的清洁随机接入(CRA)图片,包含并非IDR或BLA图片的所有后续图片。也就是说,在HEVC中,CVS可包括按解码次序可由以下各项组成的接入单元序列:作为位流中的第一接入单元的CRA接入单元,IDR接入单元或BLA接入单元,接着是零或多个非IDR及非BLA接入单元,包含直到但不包含任何后续IDR或BLA接入单元的所有后续接入单元。在HEVC中,接入单元可为按解码次序连续且含有确切一个经译码图片的NAL单元的集合。除经译码图片的经译码切片NAL单元之外,接入单元还可含有不含经译码图片的切片的其它NAL单元。在一些实例中,对接入单元的解码始终产生经解码图片。

VPS是包括应用于零或多个整个CVS的语法元素的语法结构。SPS也为包括应用于零或多个整个CVS的语法元素的语法结构。SPS可包含识别在SPS在作用中时在作用中的VPS的语法元素。因此,VPS的语法元素可比SPS的语法元素更一般地适用。PPS为包括应用于零或多个经译码图片的语法元素的语法结构。PPS可包含识别在PPS在作用中时在作用中的SPS的语法元素。切片的切片标头可包含指示当切片正经译码时在作用中的PPS的语法元素。

视频解码器30可接收由视频编码器20产生的位流。另外,视频解码器30可剖析位流以获得来自位流的语法元素。视频解码器30可至少部分基于从位流获得的语法元素重建构视频数据的图片。重建构视频数据的过程可通常与由视频编码器20执行的过程互逆。举例来说,视频解码器30可使用PU的运动向量确定当前CU的PU的预测性块。另外,视频解码器30可反量化与当前CU的TU相关联的系数块。视频解码器30可对系数块执行反变换以重建构与当前CU的TU相关联的变换块。通过将当前CU的PU的预测性块的样本添加到当前CU的TU的变换块的对应样本上,视频解码器30可重建构当前CU的译码块。通过重建构图片的每一CU的译码块,视频解码器30可重建构图片。

在一些实例中,视频编码器20可使用合并模式或高级运动向量预测(AMVP)模式用信号通知PU的运动信息。举例来说,在HEVC中,存在用于运动参数预测的两种模式,一个为合并模式且另一个为AMVP。运动预测可包括基于一或多个其它块的运动信息确定块(例如,PU)的运动信息。PU的运动信息(在本文中也被称作运动参数)可包含PU的运动向量及PU的参考索引。

当视频编码器20使用合并模式用信号通知当前PU的运动信息时,视频编码器20产生合并候选者列表。换句话说,视频编码器20可执行运动向量预测符列表建构过程。合并候选者列表包含指示在空间上或时间上相邻当前PU的PU的运动信息的合并候选者的集合。也就是说,在合并模式中,建构运动参数(例如,参考索引、运动向量等)的候选者列表,其中候选者可来自空间及时间相邻块。

此外,在合并模式中,视频编码器20可从合并候选者列表选择合并候选者且可使用由所选择合并候选者指示的运动信息作为当前PU的运动信息。视频编码器20可用信号通知所选择合并候选者的合并候选者列表中的位置。举例来说,视频编码器20可通过将索引发射到候选者列表而用信号通知所选择运动向量参数。视频解码器30可从位流获得到候选者列表的索引(即,候选者列表索引)。另外,视频解码器30可产生相同合并候选者列表,且可基于所选择合并候选者的位置的指示确定所选择合并候选者。接着,视频解码器30可使用所选择合并候选者的运动信息来产生当前PU的预测性块。也就是说,视频解码器30可至少部分基于候选者列表索引确定候选者列表中的所选择候选者,其中所选择候选者指定当前PU的运动向量。以此方式,在解码器侧处,一旦索引被解码,索引所指向的对应块的所有运动参数便可由当前PU继承。

跳过模式类似于合并模式。在跳过模式中,视频编码器20及视频解码器30以相同于视频编码器20及视频解码器30在合并模式中使用合并候选者列表的方式来产生及使用合并候选者列表。然而,当视频编码器20使用跳过模式用信号通知当前PU的运动信息时,视频编码器20不用信号通知当前PU的任何残余数据。因此,视频解码器30可在不使用残余数据的情况下基于由合并候选者列表中的所选择候选者的运动信息指示的参考块而确定PU的预测性块。

AMVP模式类似于合并模式,类似之处在于视频编码器20可产生候选者列表且可从候选者列表选择候选者。然而,当视频编码器20使用AMVP模式用信号通知当前PU的RefPicListX运动信息时,视频编码器20可除了用信号通知当前PU的RefPicListX MVP旗标之外还用信号通知当前PU的RefPicListX运动向量差(MVD)及当前PU的RefPicListX参考索引。当前PU的RefPicListX MVP旗标可指示AMVP候选者列表中的所选择AMVP候选者的位置。当前PU的RefPicListX MVD可指示当前PU的RefPicListX运动向量与所选择AMVP候选者的运动向量之间的差。以此方式,视频编码器20可通过用信号通知RefPicListX运动向量预测符(MVP)旗标、RefPicListX参考索引值及RefPicListX MVD而用信号通知当前PU的RefPicListX运动信息。换句话说,位流中表示当前PU的运动向量的数据可包含表示参考索引的数据、到候选者列表的索引及MVD。

此外,当使用AMVP模式用信号通知当前PU的运动信息时,视频解码器30可从位流获得当前PU的MVD及MVP旗标。视频解码器30可产生相同的AMVP候选者列表且可基于MVP旗标确定所选择AMVP候选者。视频解码器30可通过将MVD添加到由所选择AMVP候选者指示的运动向量来恢复当前PU的运动向量。也就是说,视频解码器30可基于由所选择AMVP候选者指示的运动向量及MVD确定当前PU的运动向量。视频解码器30接着可使用当前PU的所恢复(多个)运动向量来产生当前PU的预测性块。

当视频解码器30产生当前PU的AMVP候选者列表时,视频解码器30可基于覆盖在空间上相邻当前PU的位置的PU(即,空间相邻PU)的运动信息导出一或多个AMVP候选者。图3为说明相对于当前块40的实例空间相邻PU的概念图。在图3的实例中,空间相邻PU可为覆盖指示为A0、A1、B0、B1及B2的位置的PU。当PU的预测块包含一位置时,PU可覆盖所述位置。

合并候选者列表或AMVP候选者列表中基于在时间上相邻当前PU的PU(即,在与当前PU不同的时间实例中的PU)的运动信息的候选者可被称为时间运动向量预测符。时间运动向量预测的使用可被称为时间运动向量预测(TMVP)。TMVP可用以改善HEVC的译码效率,且不同于其它译码工具,TMVP可需要接入经解码图片缓冲器中(更具体来说参考图片列表中)的帧的运动向量。

可基于逐CVS、基于逐切片或基于另一者启用或停用TMVP。SPS中的语法元素(例如,sps_temporal_mvp_enable_flag)可指示是否针对CVS启用TMVP的使用。此外,当针对CVS启用TMVP时,可针对CVS内的特定切片启用或停用TMVP。举例来说,切片标头中的语法元素(例如,slice_temporal_mvp_enable_flag)可指示是否针对切片启用TMVP。因此,在经帧间预测切片中,当针对整个CVS启用TMVP(例如,SPS中的sps_temporal_mvp_enable_flag设定成1)时,在切片标头中用信号通知slice_temporal_mvp_enable_flag以指示是否针对当前切片启用TMVP。

为确定时间运动向量预测符,视频译码器可首先识别包含与当前PU共置的PU的参考图片。换句话说,视频译码器可识别所谓的“共置图片”。如果当前图片的当前切片为B切片(即,允许包含经双向帧间预测的PU的切片),则视频编码器20可在切片标头中用信号通知指示共置图片是否来自RefPicList0或RefPicList1的语法元素(例如,collocated_from_l0_flag)。换句话说,当针对当前切片启用TMVP且当前切片为B切片(例如,允许包含经双向帧间预测的PU的切片)时,视频编码器20可在切片标头中用信号通知指示共置图片是否处于RefPicList0或RefPicList1中的语法元素(例如,collocated_from_l0_flag)。

切片标头中的语法元素(例如,collocated_ref_idx)可指示所识别参考图片列表中的共置图片。因此,在视频解码器30识别包含共置图片的参考图片列表之后,视频解码器30可使用可在切片标头中用信号通知的collocated_ref_idx来识别所识别参考图片列表中的共置图片。视频译码器可通过检查共置图片来识别共置PU。时间运动向量预测符可指示共置PU的右下方PU的运动信息,或共置PU的中心PU的运动信息。

当由上文过程所识别的运动向量(即,时间运动向量预测符的运动向量)用于产生合并模式或AMVP模式的运动候选者时,视频译码器可基于时间位置(由POC值所反映)缩放运动向量。举例来说,当当前图片与参考图片的POC值之间的差大于当当前图片与参考图片的POC值之间的差较小时的值时,视频译码器可将运动向量的量值增加多出的量。

可将从时间运动向量预测符导出的时间合并候选者的所有可能参考图片列表的目标参考索引始终设定成0。然而,对于AMVP,所有可能参考图片的目标参考索引可设定成等于经解码参考索引。换句话说,从TMVP导出的时间合并候选者的所有可能参考图片列表的目标参考索引始终设定成0,而对于AMVP,时间合并候选者可设定成等于经解码参考索引。在HEVC中,SPS可包含旗标(例如,sps_temporal_mvp_enable_flag)且当sps_temporal_mvp_enable_flag等于1时,切片标头可包含旗标(例如,pic_temporal_mvp_enable_flag)。当pic_temporal_mvp_enable_flag及temporal_id两者对于特定图片都等于0时,并不将来自在解码次序上在所述特定图片之前的图片的运动向量用作时间运动向量预测符以解码特定图片或在解码次序上在特定图片之后的图片。

本发明的技术潜在地适用于多视图译码及/或3DV标准及规范,包含MV-HEVC及3D-HEVC。在例如MV-HEVC及3D-HEVC中定义的多视图译码中,可存在同一场景来自不同视点的多个视图。在多视图译码的上下文中,术语“接入单元”可用以指对应于同一时间实例的图片的集合。在一些情况下,在多视图译码的上下文中,接入单元可为NAL单元的集合,其根据指定分类规则而彼此相关联、在解码次序上连续且含有与相同输出时间相关联的所有经译码图片的VCL NAL单元及其相关联非VCL NAL单元。因此,视频数据可概念化为随时间出现的一系列接入单元。

在例如3D-HEVC中定义的3DV译码中,“视图分量”可为单一接入单元中的视图的经译码表示。视图分量可含有深度视图分量及纹理视图分量。深度视图分量可为单一接入单元中的视图的深度的经译码表示。纹理视图分量可为单一接入单元中的视图的纹理的经译码表示。在本发明中,“视图”可指与相同视图识别符相关联的视图分量序列。

视图的图片集合内的纹理视图分量及深度视图分量可被视为对应于彼此。举例来说,视图的图片集合内的纹理视图分量被视为对应于视图的图片集合内的深度视图分量,且反过来也一样(即,深度视图分量对应于其在所述集合中的纹理视图分量,且反过来也一样)。如本发明中所使用,对应于深度视图分量的纹理视图分量可被视为纹理视图分量且深度视图分量为单一接入单元的同一视图的部分。

纹理视图分量包含所显示的实际图像内容。举例来说,纹理视图分量可包含明度(Y)及色度(Cb及Cr)分量。深度视图分量可指示其对应纹理视图分量中的像素的相对深度。作为一个实例,深度视图分量为仅包含明度值的灰阶图像。换句话说,深度视图分量可不传达任何图像内容,而是提供纹理视图分量中的像素的相对深度的测量。

举例来说,深度视图分量中的纯白色像素指示对应纹理视图分量中的其对应像素较接近于检视者的视角,且深度视图分量中的纯黑色像素指示对应纹理视图分量中的其对应像素距检视者的视角较远。黑色与白色之间的各种灰度渐变指示不同深度水平。举例来说,深度视图分量中的深灰色像素指示纹理视图分量中的其对应像素比深度视图分量中的浅灰色像素更远。因为仅需要灰阶来识别像素的深度,因此深度视图分量不需要包含色度分量,这是由于深度视图分量的色彩值可不服务于任何目的。

仅使用明度值(例如,强度值)来识别深度的深度视图分量是出于说明目的而提供,且不应被视为限制性的。在其它实例中,可利用任何技术来指示纹理视图分量中的像素的相对深度。

在多视图译码中,如果视频解码器(例如,视频解码器30)可解码视图中的图片而无需参考任何其它视图中的图片,则所述视图可被称为“基础视图”。当译码非基础视图中的一者中的图片时,如果图片在不同视图中但在相同于视频译码器当前译码的图片的时间实例(即,接入单元)内,则视频译码器(例如,视频编码器20或视频解码器30)可将所述图片添加到参考图片列表(例如,RefPicList0或RefPicList1)。如同其它帧间预测参考图片,视频译码器可在参考图片列表的任何位置处插入视图间预测参考图片。

多视图译码支持视图间预测。视图间预测类似于H.264/AVC、HEVC或其它视频译码规范中所使用的帧间预测,且可使用相同语法元素。然而,当视频译码器对当前块(例如,宏块、CU或PU)执行视图间预测时,视频编码器20可使用在相同于当前块的接入单元中但在不同视图中的图片作为参考图片。换句话说,在多视图译码中,在同一接入单元(即,同一时间实例内)的不同视图中俘获的图片当中执行视图间预测以移除视图之间的相关性。相反地,常规帧间预测仅使用不同接入单元中的图片作为参考图片。

图4为说明实例多视图解码次序的概念图。多视图解码次序可为位流次序。在图4的实例中,每一正方形对应于视图分量。正方形的列对应于接入单元。每一接入单元可经定义为含有时间实例的所有视图的经译码图片。正方形的行对应于视图。在图4的实例中,接入单元标记为T0……T8且视图标记为S0……S7。因为在下一接入单元的任何视图分量之前解码接入单元的每一视图分量,所以图4的解码次序可被称作时间优先译码。接入单元的解码次序与视图的输出或显示次序可不相同。

图5为说明用于多视图译码的实例预测结构的概念图。图5的多视图预测结构包含时间及视图间预测。在图5的实例中,每一正方形对应于视图分量。在图5的实例中,接入单元标记为T0……T11且视图标记为S0……S7。标记为“I”的正方形为经帧内预测视图分量。标记为“P”的正方形为经单向帧间预测视图分量。标记为“B”及“b”的正方形为经双向帧间预测视图分量。标记为“b”的正方形可将标记为“B”的正方形用作参考图片。从第一正方形指向第二正方形的箭头指示第一正方形在帧间预测中可用作第二正方形的参考图片。如由图5中的垂直箭头所指示,可将相同接入单元的不同视图中的视图分量用作参考图片。将接入单元的一个视图分量用作同一接入单元的另一视图分量的参考图片可被称为视图间预测。

在例如H.264/AVC的MVC扩展的多视图译码中,视差运动补偿支持视图间预测,所述视差运动补偿使用H.264/AVC运动补偿的语法,但允许将不同视图中的图片用作参考图片。对两个视图的译码还可由H.264/AVC的MVC扩展支持。H.264/AVC的MVC扩展的优势中的一者是,MVC编码器可将两个以上视图视为3D视频输入且MVC解码器可解码此多视图表示。因此,具有MVC解码器的任何显现器可预期具有两个以上视图的3D视频内容。

在例如MV-HEVC及3D-HEVC中定义的多视图视频译码的上下文中,存在两个种类的运动向量。一个种类的运动向量是指向时间参考图片的正常运动向量。对应于正常时间运动向量的帧间预测类型可被称为“运动补偿预测”或“MCP”。当视图间预测参考图片用于运动补偿时,对应运动向量被称为“视差运动向量”。换句话说,视差运动向量指向不同视图中的图片(即,视图间参考图片)。对应于视差运动向量的帧间预测类型可被称为“视差补偿预测”或“DCP”。

3D-HEVC可使用视图间运动预测及视图间残余预测而改善译码效率。换句话说,为进一步改善译码效率,已在参考软件中采用两个新技术,即“视图间运动预测”及“视图间残余预测”。在视图间运动预测中,视频译码器可基于在不同于当前PU的视图中的PU的运动信息而确定(即,预测)当前PU的运动信息。在视图间残余预测中,视频译码器可基于在不同于当前CU的视图中的残余数据而确定当前CU的残余块。

为启用视图间运动预测及视图间残余预测,视频译码器可确定块(例如,PU、CU等)的视差向量。换句话说,为启用这两个译码工具,第一步骤是导出视差向量。一般来说,视差向量用作两个视图之间的移位的估计器。视频译码器可使用块的视差向量来定位另一视图中的参考块以用于视图间运动或残余预测,或视频译码器可将视差向量转换为用于视图间运动预测的视差运动向量。也就是说,视差向量可用于定位另一视图中的对应块以用于视图间运动/残余预测,或可转换成用于视图间运动预测的视差运动向量。

在一些实例中,视频译码器可使用基于相邻块的视差向量(NBDV)导出方法以导出PU(即,当前PU)的视差向量。举例来说,为导出当前PU的视差向量,称为NBDV导出的过程可用于3D-HEVC的测试模型(即,3D-HTM)中。

NBDV导出过程使用来自空间及时间相邻块的视差运动向量以导出当前块的视差向量。因为相邻块(例如,在空间上或时间上相邻当前块的块)很可能在视频译码中共用几乎相同的运动及视差信息,所以当前块可使用相邻块中的运动向量信息作为当前块的视差向量的预测符。因此,NBDV导出过程使用用于估计不同视图中的视差向量的相邻视差信息。

在NBDV导出过程中,视频译码器可以固定检查次序检查空间相邻及时间相邻PU的运动向量。当视频译码器检查空间相邻或时间相邻PU的运动向量时,视频译码器可确定运动向量是否为视差运动向量。图片的PU的视差运动向量为指向图片的视图间参考图片内的位置的运动向量。图片的视图间参考图片可为在相同于图片的接入单元中但在不同视图中的图片。当视频译码器识别出视差运动向量或隐式视差向量(IDV)时,视频译码器可终止检查过程。IDV可为使用视图间预测译码的空间或时间相邻PU的视差向量。当PU利用视图间运动向量预测(即,借助于视差向量,从另一视图中的参考块导出AMVP或合并模式的候选者)时,可产生IDV。出于视差向量导出的目的,IDV可存储到PU。此外,当视频译码器识别出视差运动向量或IDV时,视频译码器可传回所识别视差运动向量或IDV。

IDV与NBDV导出过程的简化版本一起包含于宋(Sung)等人的“3D-CE5.h:用于基于HEVC的3D视频译码的简化视差向量导出,文件JCTV3-A0126”中。通过移除存储于经解码图片缓冲器中的IDV且还通过随机接入点(RAP)图片选择提供经改善译码增益,IDV在NBDV导出过程中的使用进一步简化于康等人的“3D-CE5.h相关:视差向量导出改善”,文件JCT3V-B0047中。视频译码器可将所传回视差运动向量或IDV转换为视差向量且可使用所述视差向量以用于视图间运动预测及视图间残余预测。

在3D-HEVC的一些设计中,当视频译码器执行NBDV导出过程时,视频译码器按次序检查时间相邻块中的视差运动向量、空间相邻块中的视差运动向量且接着检查IDV。一旦视频译码器找到当前块的视差运动向量,视频译码器可终止NBDV导出过程。因此,一旦识别出视差运动向量或IDV,终止检查过程且传回所识别视差运动向量并将其转换成将用于视图间运动预测及视图间残余预测的视差向量。当视频译码器不能够通过执行NBDV导出过程确定当前块的视差向量(即,当在NBDV导出过程期间未找到视差运动向量或IDV)时,视频译码器可将NBDV标记为不可用。

在一些实例中,如果视频译码器不能够通过执行NBDV导出过程导出当前PU的视差向量(即,如果未找到视差向量),则视频译码器可使用零视差向量作为当前PU的视差向量。零视差向量是水平分量及垂直分量均等于0的视差向量。因此,甚至当NBDV导出过程传回不可用结果时,视频译码器的要求视差向量的其它译码过程也可使用零视差向量用于当前块。

在一些实例中,如果视频译码器不能够通过执行NBDV导出过程而导出当前PU的视差向量,则视频译码器可停用对当前PU的视图间残余预测。然而,不管视频译码器是否能够通过执行NBDV导出过程而导出当前PU的视差向量,视频译码器都可使用视图间运动预测用于当前PU。也就是说,如果在检查所有预定义相邻块之后未找到视差向量,则零视差向量可用于视图间运动预测,同时可停用针对对应PU的视图间残余预测。

如上文所提及,作为确定当前PU的视差向量的过程的部分,视频译码器可检查空间相邻PU。在一些实例中,视频译码器检查以下空间相邻块:左下方空间相邻块,左边空间相邻块,右上方空间相邻块,上方空间相邻块,及左上方空间相邻块。举例来说,在NBDV导出过程的一些版本中,使用五个空间相邻块以用于视差向量导出。所述五个空间相邻块可分别覆盖位置A0、A1、B0、B1及B2,如图3中所指示。视频译码器可按A1、B1、B0、A0及B2的次序检查五个空间相邻块。相同五个空间相邻块可用于HEVC的合并模式。因此,在一些实例中,不需要额外的存储器接入。如果空间相邻块中的一者具有视差运动向量,则视频译码器可终止检查过程,且视频译码器可使用视差运动向量作为当前PU的最终视差向量。换句话说,如果其中的一者使用视差运动向量,则终止检查过程且对应视差运动向量将被用作最终视差向量。

此外,如上文所提及,作为确定当前PU的视差向量的过程的部分,视频译码器可检查时间相邻PU。为检查时间相邻块(例如,PU),可首先执行候选者图片列表的建构过程。在一些实例中,视频译码器可检查来自当前视图的至多两个参考图片以找到视差运动向量。第一参考图片可为共置图片。因此,共置图片(即,共置参考图片)可首先插入候选者图片列表中。第二参考图片可为随机接入图片,或具有最小POC值差及最小时间识别符的参考图片。换句话说,来自当前视图的至多两个参考图片、共置图片及随机接入图片或具有最小POC差及最小时间ID的参考图片被视为用于时间块检查。视频译码器可首先检查随机接入图片接着检查共置图片。

对于每一候选者图片(即,随机接入图片及共置图片),视频译码器可检查两个块。具体来说,视频译码器可检查中心块(CR)及右下块(BR)。图6为说明NBDV导出过程中的实例时间相邻块的概念图。中心块可为当前PU的共置区的中心4×4块。右下块可为当前PU的共置区的右下4×4块。因此,对于每一候选者图片,按次序检查两个块,对于第一非基础视图为CR及BR,或对于第二非基础视图为BR、CR。如果覆盖CR或BR的PU中的一者具有视差运动向量,则视频译码器可终止检查过程,且可使用视差运动向量作为当前PU的最终视差向量。在此实例中,与第一非基础视图相关联的图片的解码可取决于与基础视图相关联的图片而非与其它视图相关联的图片的解码。此外,在此实例中,与第二非基础视图相关联的图片的解码可取决于与基础视图相关联且在一些情况下与第一非基础视图相关联的图片而非与其它视图(如果存在)相关联的图片的解码。

在图6的实例中,块42指示当前PU的共置区。此外,在图6的实例中,标记为“Pos.A”的块对应于中心块。标记为“Pos.B”的块对应于右下块。如图6的实例中所指示,中心块可直接位于共置区的中心点的中心的右下方。

当视频译码器检查相邻PU(即,空间或时间相邻PU)时,视频译码器可首先检查相邻PU是否具有视差运动向量。如果相邻PU均不具有视差运动向量,则视频译码器可确定空间相邻PU中的任一者是否具有IDV。换句话说,首先针对所有空间/时间相邻块检查是否使用视差运动向量接着检查IDV。首先检查空间相邻块接着检查时间相邻块。当检查相邻块以找到IDV时,视频译码器可按A0、A1、B0、B1及B2的次序检查空间相邻PU。如果空间相邻PU中的一者具有IDV且所述IDV是作为合并/跳过模式而经译码,则视频译码器可终止检查过程且可使用所述IDV作为当前PU的最终视差向量。换句话说,按A0、A1、B0、B1及B2的次序检查五个空间相邻块。如果相邻块中的一者使用IDV且其可作为跳过/合并模式经译码,则终止检查过程且可将对应IDV用作最终视差向量。

如上文所指示,当前块的视差向量可指示参考视图中的参考图片(即,参考视图分量)中的位置。在一些3D-HEVC设计中,允许视频译码器接入参考视图的深度信息。在一些此类3D-HEVC设计中,当视频译码器使用NBDV导出过程导出当前块的视差向量时,视频译码器可应用优化过程以进一步优化当前块的视差向量。视频译码器可基于参考图片的深度图优化当前块的视差向量。换句话说,可使用经译码深度图中的信息进一步优化从NBDV方案产生的视差向量。也就是说,可通过利用基础视图深度图中所译码的信息增强视差向量的准确性。此优化过程可在本文中被称作NBDV优化(“NBDV-R”)、NBDV优化过程或深度定向的NBDV(Do-NBDV)。

当NBDV导出过程传回可用视差向量时(例如,当NBDV导出过程传回指示NBDV导出过程能够基于相邻块的视差运动向量或IDV导出当前块的视差向量的变量时),视频译码器可通过从参考视图的深度图检索深度数据进一步优化视差向量。在一些实例中,优化过程包含以下步骤:

1.使用当前块的视差向量以定位参考视图的深度图中的块。换句话说,通过所导出视差向量定位先前经译码参考深度视图(例如,基础视图)中的对应深度块。在此实例中,深度中的对应块的大小可与当前PU的大小(即,当前PU的预测块的大小)相同。

2.从共置深度块的四个拐角深度值的最大值计算视差向量。此值设定成等于视差向量的水平分量,而视差向量的垂直分量设定为0。

在一些实例中,当NBDV导出过程并不传回可用视差向量时(例如,当NBDV导出过程传回指示NBDV导出过程不能够基于相邻块的视差运动向量或IDV导出当前块的视差向量的变量时),视频译码器并不执行NBDV优化过程且视频译码器可使用零视差向量作为当前块的视差向量。换句话说,当NBDV导出过程并不提供可用视差向量且因此NBDV导出过程的结果不可用时,跳过上文的NBDV-R过程且直接传回零视差向量。

在3D-HEVC的一些提议中,视频译码器使用当前块的经优化视差向量以用于视图间运动预测同时视频译码器使用当前块的未经优化视差向量以用于视图间残余预测。举例来说,视频译码器可使用NBDV导出过程以导出当前块的未经优化视差向量。视频译码器可接着应用NBDV优化过程以导出当前块的经优化视差向量。视频译码器可使用当前块的经优化视差向量以用于确定当前块的运动信息。此外,视频译码器可使用当前块的未经优化视差向量以用于确定当前块的残余块。

以此方式,此新视差向量被称为“深度定向的基于相邻块的视差向量(DoNBDV)”。接着用来自DoNBDV方案的此新近导出视差向量替换来自NBDV方案的视差向量以用于AMVP及合并模式的视图间候选者导出。视频译码器可使用未经优化视差向量以用于视图间残余预测。

视频译码器可使用类似优化过程以优化视差运动向量以用于反向视图合成预测(BVSP)。以此方式,深度可用于优化视差向量或待用于BVSP的视差运动向量。如果经优化视差向量以BVSP模式译码,则经优化视差向量可存储为一个PU的运动向量。

视频译码器可执行BVSP以合成视图分量。BVSP方法提出于田等人的“CE1.h:使用相邻块的反向视图合成预测”,文件JCT3V-C0152(在下文中称为“JCT3V-C0152”)中且在第三次JCT-3V会议中采用。BVSP概念上类似于3D-AVC中的基于块的VSP。换句话说,反向变形VSP的基本想法与3D-AVC中的基于块的VSP相同。BVSP与3D-AVC中的基于块的VSP两者都使用反向变形及基于块的VSP以避免发射运动向量差及使用较精确运动向量。然而,归因于不同平台实施细节可不同。

在3D-HEVC的一些版本中,应用纹理优先译码。在纹理优先译码中,视频译码器在译码对应深度视图分量(即,具有相同于纹理视图分量的POC值及视图识别符的深度视图分量)之前译码(例如,编码或解码)纹理视图分量。因此,非基础视图深度视图分量不可用于译码对应的非基础视图纹理视图分量。换句话说,当视频译码器译码非基础纹理视图分量时,对应的非基础深度视图分量不可用。因此,可估计深度信息且将其用以执行BVSP。

为了估计块的深度信息,提出首先从相邻块导出视差向量,且接着使用所导出视差向量以从参考视图获得深度块。在3D-HEVC测试模型5.1(即,HTM 5.1测试模型)中,存在称为NBDV导出过程的导出视差向量预测符的过程。使(dvx,dvy)表示从NBDV导出过程识别的视差向量,且当前块位置为(blockx,blocky)。视频译码器可在参考视图的深度图像中的(blockx+dvx,blocky+dvy)处提取深度块。所提取深度块可具有相同于当前PU的大小。视频译码器可接着使用所提取深度块以进行当前PU的反向变形。图7为说明从参考视图的深度块导出以执行BVSP的概念图。图7说明来自参考视图的深度块如何定位且接着用于BVSP预测的三个步骤。

如果在序列中启用BVSP,则可改变用于视图间运动预测的NBDV导出过程且在以下段落中以粗体展示差异:

●对于时间相邻块中的每一者,如果时间相邻块使用视差运动向量,则传回视差运动向量作为视差向量且用本发明中其它地方所描述的方法进一步优化所述视差向量。

●对于空间相邻块中的每一者,以下适用:

○对于每一参考图片列表0或参考图片列表1,以下适用:

■如果空间相邻块使用视差运动向量,则传回视差运动向量作为视差向量且用本发明中其它地方所描述的方法进一步优化所述视差向量。

■否则,如果空间相邻块使用BVSP模式,则可传回相关联运动向量作为视差向量。可进一步以类似于如本发明中其它地方所描述的方式优化视差向量。

然而,最大深度值可选自对应深度块的所有像素而非四个拐角像素。

对于空间相邻块中的每一者,如果空间相邻块使用IDV,则传回IDV作为视差向量。视频译码器可进一步使用本发明中其它地方所描述的方法中的一或多者优化视差向量。

视频译码器可将上文所描述的BVSP模式处理为特殊经帧间译码模式且视频译码器可维持指示BVSP模式针对每一PU的使用的旗标。视频译码器可将新合并候选者(BVSP合并候选者)添加到合并候选者列表而非在位流中用信号通知旗标且所述旗标取决于经解码合并候选者索引是否对应于BVSP合并候选者。在一些实例中,BVSP合并候选者定义为如下:

●每一参考图片列表的参考图片索引:-1

●每一参考图片列表的运动向量:经优化视差向量

在一些实例中,BVSP合并候选者的插入位置取决于空间相邻块。举例来说,如果以BVSP模式译码五个空间相邻块(A0、A1、B0、B1或B2),即,相邻块的所维持旗标等于1,则视频译码器可将BVSP合并候选者处理为对应空间合并候选者且可将BVSP合并候选者插入到合并候选者列表。视频译码器可仅将BVSP合并候选者插入到合并候选者列表中一次。否则,在此实例中(例如,当五个空间相邻块均未以BVSP模式译码时),视频译码器可在紧接着任何时间合并候选者之前将BVSP合并候选者插入到合并候选者列表。在组合双向预测性合并候选者导出过程期间,视频译码器可检查额外条件以避免包含BVSP合并候选者。

对于每一经BVSP译码PU,视频译码器可进一步将BVSP分割成具有等于K×K的大小的若干子区(其中K可为4或2)。经BVSP译码PU的大小可由N×M表示。对于每一子区,视频译码器可导出单独视差运动向量。此外,视频译码器可从由视图间参考图片中的所导出视差运动向量定位的一个块预测每一子区。换句话说,用于经BVSP译码PU的运动补偿单元的大小设定成K×K。在一些测试条件中,K设定成4。

关于BVSP,视频译码器可执行以下视差运动向量导出过程。对于以BVSP模式译码的一个PU内的每一子区(4×4块),视频译码器可首先用上文所提及的经优化视差向量定位参考深度视图中的对应4×4深度块。其次,视频译码器可选择对应深度块中的十六个深度像素的最大值。再次,视频译码器可将最大值转换为视差运动向量的水平分量。视频译码器可将视差运动向量的垂直分量设定为0。

基于从DoNBDV技术导出的视差向量,视频译码器可将新运动向量候选者(即,经视图间预测的运动向量候选者(IPMVC))(如果可用)添加到AMVP及跳过/合并模式。IPMVC(如果可用)为时间运动向量。由于跳过模式具有相同于合并模式的运动向量导出过程,因此本文件中所描述的技术可适用于合并及跳过模式两者。

对于合并/跳过模式,可通过以下步骤导出IPMVC。首先,视频译码器可使用视差向量定位相同接入单元的参考视图中的当前块(例如,PU、CU等)的对应块。其次,如果对应块未经帧内译码及视图间预测且对应块的参考图片具有等于当前块的相同参考图片列表中的一个项目的POC值,则视频译码器可基于POC值转换对应块的参考索引。此外,视频译码器可导出IPMVC以指定对应块的预测方向、对应块的运动向量及经转换参考索引。

3D-HEVC测试模型4的章节H.8.5.2.1.10描述时间视图间运动向量候选者的导出过程。IPMVC可被称为时间视图间运动向量候选者,这是因为其指示时间参考图片中的位置。如描述于3D-HEVC测试模型4的章节H.8.5.2.1.10中,如下导出参考层明度位置(xRef,yRef):

xRef=Clip3(0,PicWidthInSamplesL-1,xP+((nPSW-1)>>1)+

((mvDisp[0]+2)>>2))(H-124)

yRef=Clip3(0,PicHeightInSamplesL-1,yP+((nPSH-1)>>1)+

((mvDisp[1]+2)>>2))(H-125)

在上文的方程式H-124及H-125中,(xP,yP)表示当前PU的左上方明度样本相对于当前图片的左上方明度样本的坐标,nPSW及nPSH分别表示当前预测单元的宽度及高度,refViewIdx表示参考视图次序索引且mvDisp表示视差向量。对应块被设定成覆盖具有等于refViewIdx的ViewIdx的视图分量中的明度位置(xRef,yRef)的PU。在上文的方程式H-124及H-125及本发明中的其它方程式中,Clip3函数可定义为:

图8为说明用于合并/跳过模式的IPMVC的实例导出的概念图。换句话说,图8展示经视图间预测的运动向量候选者的导出过程的实例。在图8的实例中,当前PU 50出现于时间实例T1处的视图V1中。当前PU 50的参考PU 52出现于不同于当前PU 50的视图(即,视图V0)中,但在相同于当前PU的时间实例(即,时间实例T1)处。在图8的实例中,参考PU 52经双向帧间预测。之后,参考PU 52具有第一运动向量54及第二运动向量56。运动向量54指示参考图片58中的位置。参考图片58出现于视图V0及时间实例T0中。运动向量56指示参考图片60中的位置。参考图片60出现于视图V0及时间实例T3中。

视频译码器可基于参考PU 52的运动信息产生用于包含在当前PU 50的合并候选者列表中的IPMVC。IPMVC可具有第一运动向量62及第二运动向量64。运动向量62匹配运动向量54且运动向量64匹配运动向量56。视频译码器产生IPMVC,使得IPMVC的第一参考索引指示出现于相同于参考图片58的时间实例(即,时间实例T0)中的参考图片(即,参考图片66)的当前PU 50的RefPicList0中的位置。在图8的实例中,参考图片66出现于当前PU 50的RefPicList0中的第一位置(即,Ref0)中。此外,视频译码器产生IPMVC,使得IPMVC的第二参考索引指示出现于相同于参考图片60的时间实例中的参考图片(即,参考图片68)的当前PU 50的RefPicList1中的位置。因此,在图8的实例中,IPMVC的RefPicList0参考索引可等于0。在图8的实例中,参考图片70出现于当前PU 50的RefPicList1中的第一位置(即,Ref0)中,且参考图片68出现于当前PU 50的RefPicList1中的第二位置(即,Ref1)中。因此,IPMVC的RefPicList1参考索引可等于1。

除产生IPMVC并将IPMVC包含于合并候选者列表中之外,视频译码器可将当前PU的视差向量转换成视图间视差运动向量(IDMVC)且可将IDMVC包含于用于当前PU的合并候选者列表中。换句话说,视差向量可转换成IDMVC,其被添加到合并候选者列表中不同于IPMVC的位置或在IDMVC可用时被添加到AMVP候选者列表中相同于IPMVC的位置。IPMVC或IDMVC在此上下文中被称为‘视图间候选者’。换句话说,术语“视图间候选者”可用于指IPMVC或IDMVC。在一些实例中,在合并/跳过模式中,视频译码器始终在所有空间及时间合并候选者之前将IPMVC(如果可用)插入到合并候选者列表。此外,视频译码器可在从A0导出的空间合并候选者之前插入IDMVC。

如上文所指示,视频译码器可用DoNBDV的方法导出视差向量。以所述视差向量,3D-HEVC中的合并候选者列表建构过程可如下定义:

1.IPMVC插入

通过上文所描述的程序导出IPMVC。如果IPMVC可用,则将IPMVC插入到合并列表。

2.3D-HEVC中用于空间合并候选者的导出过程及IDMVC插入

按以下次序检查空间相邻PU的运动信息:A1、B1、B0、A0或B2。通过以下程序执行受约束的精简:

-如果A1及IPMVC具有相同运动向量及相同参考索引,则不将A1插入到候选者列表中;否则将A1插入到列表中。

-如果B1及A1/IPMVC具有相同运动向量及相同参考索引,则不将B1插入到候选者列表中;否则将B1插入到列表中。

-如果B0可用,则将B0添加到候选者列表。通过上文所描述的程序导出IDMVC。如果IDMVC可用且IDMVC不同于从A1及B1导出的候选者,则将IDMVC插入到候选者列表中。

-如果针对整个图片或当前切片启用BVSP,则将BVSP合并候选者插入到合并候选者列表。

-如果A0可用,则将A0添加到候选者列表。

-如果B2可用,则将B2添加到候选者列表。

3.用于时间合并候选者的导出过程

类似于其中利用共置PU的运动信息的HEVC中的时间合并候选者导出过程,然而,时间合并候选者的目标参考图片索引可实际上改变为固定为0。当等于0的目标参考索引对应于时间参考图片(相同视图中)同时共置PU的运动向量指向视图间参考图片时,目标参考索引可改变为对应于参考图片列表中的视图间参考图片的第一项目的另一索引。相反地,当等于0的目标参考索引对应于视图间参考图片同时共置PU的运动向量指向时间参考图片时,目标参考索引可改变为对应于参考图片列表中的时间参考图片的第一项目的另一索引。

4.3D-HEVC中用于组合双向预测性合并候选者的导出过程

如果从上文两个步骤导出的候选者的总数目小于候选者的最大数目,则除l0CandIdx及l1CandIdx的指定外执行如HEVC中定义的相同过程。图9为指示3D-HEVC中的l0CandIdx及l1CandIdx的实例指定的表格。图9的表格中定义combIdx、l0CandIdx及l1CandIdx当中的关系。HEVC工作草案10的章节8.5.3.2.3定义l0CandIdx及l1CandIdx在导出组合双向预测性合并候选者时的实例使用。

5.用于零运动向量合并候选者的导出过程

-执行如HEVC中定义的相同程序。

在3D-HEVC的参考软件的一些版本中,合并(例如,MRG)列表中的候选者的总数目至多为六个且在切片标头中用信号通知five_minus_max_num_merge_cand以指定从6减去的合并候选者的最大数目。five_minus_max_num_merge_cand在0到5的范围中(包含0与5)。five_minus_max_num_merge_cand语法元素可指定从5减去的切片中所支持的合并MVP候选者的最大数目。合并运动向量预测(MVP)候选者的最大数目MaxNumMergeCand可计算为MaxNumMergeCand=5-five_minus_max_num_merge_cand+iv_mv_pred_flag[nuh_layer_id]。five_minus_max_num_merge_cand的值可受限,使得MaxNumMergeCand处于0到(5+iv_mv_pred_flag[nuh_layer_id])的范围中(包含0与(5+iv_mv_pred_flag[nuh_layer_id]))。

如上文所指示,HEVC工作草案10的章节8.5.3.2.3定义l0CandIdx及l1CandIdx在导出组合双向预测性合并候选者时的实例使用。下文再现HEVC工作草案10的章节8.5.3.2.3。

用于组合双向预测性合并候选者的导出过程

此过程的输入为:

-合并候选者列表mergeCandList,

-mergeCandList中的每一候选者N的参考索引refIdxL0N及refIdxL1N,

-mergeCandList中的每一候选者N的预测列表利用旗标predFlagL0N及predFlagL1N,

-mergeCandList中的每一候选者N的运动向量mvL0N及mvL1N,

-mergeCandList内的元素numCurrMergeCand的数目,

-在空间及时间合并候选者导出过程之后mergeCandList内的元素numOrigMergeCand的数目。

此过程的输出为:

-合并候选者列表mergeCandList,

-mergeCandList内的元素numCurrMergeCand的数目,

-在此过程的调用期间添加到mergeCandList中的每一新候选者combCandk的参考索引refIdxL0combCandk及refIdxL1combCandk,

-在此过程的调用期间添加到mergeCandList中的每一新候选者combCandk的预测列表利用旗标predFlagL0combCandk及predFlagL1combCandk,

-在此过程的调用期间添加到mergeCandList中的每一新候选者combCandk的运动向量mvL0combCandk及mvL1combCandk。

当numOrigMergeCand大于1且小于MaxNumMergeCand时,变量numInputMergeCand被设定成等于numCurrMergeCand,变量combIdx被设定成等于0,变量combStop被设定成等于FALSE,且重复以下步骤直到combStop等于TRUE为止:

1.使用如表8-6中所指定的combIdx导出变量l0CandIdx及l1CandIdx。

2.进行以下指派,其中在合并候选者列表mergeCandList中,l0Cand是在位置l0CandIdx处的候选者,且l1Cand是在位置l1CandIdx处的候选者:

-l0Cand=mergeCandList[l0CandIdx]

-l1Cand=mergeCandList[l1CandIdx]

3.当所有以下条件都为真时:

-predFlagL0l0Cand==1

-predFlagL1l1Cand==1

-(DiffPicOrderCnt(RefPicList0[refIdxL0l0Cand],

RefPicList1[refIdxL1l1Cand])!=0)||

(mvL0l0Cand!=mvL1l1Cand)

将候选者combCandk(其中k等于(numCurrMergeCand-numInputMergeCand))添加到mergeCandList的末端,即将mergeCandList[numCurrMergeCand]设定成等于combCandk并如下导出combCandk的参考索引、预测列表利用旗标及运动向量且将numCurrMergeCand递增1:

refIdxL0combCandk=refIdxL0l0Cand (8-113)

refIdxL1combCandk=refIdxL1l1Cand (8-114)

predFlagL0combCandk=1 (8-115)

predFlagL1combCandk=1 (8-116)

mvL0combCandk[0]=mvL0l0Cand[0] (8-117)

mvL0combCandk[1]=mvL0l0Cand[1] (8-118)

mvL1combCandk[0]=mvL1l1Cand[0] (8-119)

mvL1combCandk[1]=mvL1l1Cand[1] (8-120)

numCurrMergeCand=numCurrMergeCand+1 (8-121)

4.变量combIdx递增1。

5.当combIdx等于(numOrigMergeCand*(numOrigMergeCand-1))或numCurrMergeCand等于MaxNumMergeCand时,将combStop设定成等于TRUE。

运动向量继承(MVI)利用纹理图像与其相关联深度图像之间的运动特性相似性。具体来说,视频译码器可将MVI候选者包含于合并候选者列表中。对于深度图像中的给定PU,MVI候选者重新使用已经译码的对应纹理块(如果其可用)的运动向量及参考索引。图10为说明用于深度译码的运动向量继承候选者的实例导出的概念图。图10展示MVI候选者的导出过程的实例,其中对应纹理块选择为位于当前PU的中心的右下方的4×4块。

在一些实例中,具有整数精度的运动向量用于深度译码而运动向量的四分之一精度用于纹理译码。因此,可在用作MVI候选者之前缩放对应纹理块的运动向量。

在MVI候选者产生的情况下,可如下建构用于深度视图的合并候选者列表:

1.MVI插入

通过上文所描述的程序导出MVI。如果MVI可用,则视频译码器可将MVI插入到合并列表中。

2.3D-HEVC中用于空间合并候选者的导出过程及IDMVC插入

按以下次序检查空间相邻PU的运动信息:A1、B1、B0、A0或B2。视频译码器可通过以下程序执行受约束的精简:

-如果A1及MVI具有相同运动向量及相同参考索引,则视频译码器不将A1插入到候选者列表中。

-如果B1及A1/MVI具有相同运动向量及相同参考索引,则视频译码器不将B1插入到候选者列表中。

-如果B0可用,则视频译码器将B0添加到候选者列表。

-如果A0可用,则视频译码器将A0添加到候选者列表。

-如果B2可用,则视频译码器将B2添加到候选者列表。

3.用于时间合并候选者的导出过程

类似于其中利用共置PU的运动信息的HEVC中的时间合并候选者导出过程,然而,可如本发明中在其它地方关于用于3D-HEVC中的纹理译码的合并候选者列表建构所解释地改变时间合并候选者的目标参考图片索引,而不是将目标参考图片索引固定为0。

4.3D-HEVC中用于组合双向预测性合并候选者的导出过程

如果从上文两个步骤导出的候选者的总数目小于候选者的最大数目,则除l0CandIdx及l1CandIdx的指定之外,视频译码器可执行如HEVC中定义的相同过程。图9的表格中定义combIdx、l0CandIdx及l1CandIdx当中的关系。

6.用于零运动向量合并候选者的导出过程

-执行如HEVC中定义的相同程序。

如上文所指示,3D-HEVC提供视图间残余预测。高级残余预测(ARP)为视图间残余预测的一个形式。第4次JCT3V会议中采用将ARP应用于具有等于Part_2Nx2N的分割模式的CU,如张等人的“CE4:用于多视图译码的高级残余预测”(ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展联合合作小组,第4次会议:韩国仁川,2013年4月20日到26日,文件JCT3V-D0177,到2013年12月17日为止可从http://phenix.it-sudparis.eu/jct3v/doc_end_user/documents/4_Incheon/wg11/JCT3V-D0177-v2.zip获得)中所提出(在下文中称为JCT3V-D0177)。

图11说明多视图视频译码中的ARP的实例预测结构。如图11中所展示,视频译码器可在当前块预测中调用以下块。

1.当前块:Curr

2.由视差向量(DV)导出的参考/基础视图中的参考块:Base。

3.与由当前块的(时间)运动向量(表示为TMV)导出的块Curr在相同视图中的块:CurrTRef。

4.与由当前块的时间运动向量(TMV)导出的块Base在相同视图中的块:BaseTRef。相比于当前块通过TMV+DV的向量识别此块。

残余预测符表示为BaseTRef-Base,其中将减法运算应用于所表示像素阵列的每一像素。视频译码器可将加权因子w乘以残余预测符。因此,当前块的最终预测符可表示为:CurrTRef+w*(BaseTRef-Base)。

上文描述及图11两者都基于应用单向预测的假定。当扩展到双向预测的状况时,将上文步骤应用于每一参考图片列表。当针对一个参考图片列表当前块使用视图间参考图片(不同视图中)时,停用残余预测过程。

所提出ARP在解码器侧处的主要程序可如下描述。首先,视频译码器可获得如3D-HEVC工作草案4中所指定的指向目标参考视图的视差向量。接着,在相同于当前图片的接入单元内的参考视图的图片中,视频译码器可使用视差向量以定位对应块。接下来,视频译码器可重新使用当前块的运动信息以导出参考块的运动信息。视频译码器可接着基于当前块的相同运动向量及参考块的参考视图中的所导出参考图片将运动补偿应用于对应块以导出残余块。图12展示当前块、对应块及运动补偿块当中的关系。换句话说,图12为说明当前块、参考块及运动补偿块当中的实例关系的概念图。将参考视图(V0)中具有与当前视图(Vm)的参考图片相同的POC(图片次序计数)值的参考图片选择为对应块的参考图片。接下来,视频译码器可将加权因子应用于残余块以确定加权残余块。视频译码器可将加权残余块的值添加到预测样本。

三个加权因子用于ARP中,即,0、0.5及1。视频编码器20可将带来当前CU的最小速率失真成本的加权因子选择为最终加权因子。视频编码器20可在CU层级处在位流中用信号通知对应加权因子索引(分别对应于加权因子0、1及0.5的0、1及2)。CU中的所有PU预测可共用相同加权因子。当加权因子等于0时,视频译码器并不使用ARP用于当前CU。

在张等人的“3D-CE4:用于多视图译码的高级残余预测”(ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发联合合作小组,第3次会议:瑞士日内瓦,2013年1月17日到23日,文件JCT3V-C0049,到2013年8月30日为止可从http://phenix.int-evry.fr/jct3v/doc_end_user/documents/3_Geneva/wg11/JCT3V-C0049-v2.zip获得)(在下文中称为JCT3V-C0049)中,以非零加权因子译码的PU的参考图片可在块间不同。因此,视频译码器可需要从参考视图接入不同图片来产生对应块的运动补偿块(即,在图11的实例中为BaseTRef)。当加权因子不等于0时,视频译码器可在执行用于残余产生过程的运动补偿之前朝向固定图片缩放当前PU的经解码运动向量。在JCT3V-D0177中,如果每一参考图片列表来自相同视图,则固定图片定义为每一参考图片列表的第一参考图片。当经解码运动向量并不指向固定图片时,视频译码器可首先缩放经解码运动向量且接着使用经缩放运动向量以识别CurrTRef及BaseTRef。用于ARP的此参考图片可被称为目标ARP参考图片。

在JCT3V-C0049中,视频译码器可在对应块及对应块的预测块的内插过程期间应用双线性滤波器。然而对于非基础视图中的当前PU的预测块,视频译码器可应用常规8/4抽头滤波器。当应用ARP时,JCT3V-D0177始终提出利用双线性而不论块是在基础视图还是非基础视图中。

在ARP中,视频译码器可通过从NBDV导出过程传回的视图次序索引识别参考视图。在ARP的一些设计中,当一个PU在一个参考图片列表中的参考图片来自当前视图的不同视图时,对于此参考图片列表停用ARP。

在2013年6月28日申请的美国临时专利申请案61/840,400及2013年7月18日申请的美国临时专利申请案61/847,942(其中的每一者的全部内容以引用方式并入)中,当译码深度图片时,由来自当前块的相邻样本的所估计深度值转换视差向量。此外,可(例如)通过接入由视差向量所识别的基础视图的参考块导出较多合并候选者。

在3D-HEVC中,视频译码器可通过两个步骤识别参考4×4块。第一步骤为通过视差运动向量识别像素。第二步骤为获得4×4块(通过分别对应于RefPicList0或RefPicList1的独特运动信息集合)并利用运动信息建立合并候选者。

可如下识别参考视图中的像素(xRef,yRef):

xRef=Clip3(0,PicWidthInSamplesL-1,xP+((nPSW-1)>>1)+

((mvDisp[0]+2)>>2))(H-124)

yRef=Clip3(0,PicHeightInSamplesL-1,yP+((nPSH-1)>>1)+

((mvDisp[1]+2)>>2))(H-125)

其中(xP,yP)为当前PU的左上方样本的坐标,mvDisp为视差向量且nPSWxnPSH为当前PU的大小,且PicWidthInSamplesL及PicHeightInSamplesL定义参考视图中的图片的分辨率(相同于当前视图)。

安(An)等人的“3D-CE3.h相关:子PU层级的视图间运动预测”(ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展联合合作小组,第5次会议:奥地利维也纳,2013年7月27日到8月2日,文件JCT3V-E0184(在下文中称为“JCT3V-E0184”),到2013年12月17日为止可从http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3V-E0184-v2.zip获得)提出用于时间视图间合并候选者(即,从参考视图中的参考块导出的候选者)的子PU层级视图间运动预测方法。本发明中在其它地方描述视图间运动预测的基本概念。在视图间运动预测的基本概念中,仅参考块的运动信息用于相依视图中的当前PU。然而,当前PU可对应于参考视图中的参考区域(具有相同于由当前PU的视差向量所识别的当前PU的大小)且参考区域可具有充裕运动信息。因此,如图13中所展示地提出子PU层级视图间运动预测(SPIVMP)方法。换句话说,图13为说明子PU视图间运动预测的实例的概念图。

时间视图间合并候选者可如下导出。在时间视图间合并候选者的导出过程中,所指派子PU大小可表示为N×N。可应用不同子PU块大小,例如4×4、8×8及16×16。

在时间视图间合并候选者的导出过程中,视频译码器可首先将当前PU划分成多个子PU,其中的每一者具有比当前PU小的大小。当前PU的大小可由nPSW×nPSH表示。子PU的大小可由nPSWsub×nPSHSub表示。nPSWsub及nPSHsub可如以下方程式中所展示地相关于nPSW及nSPH。

nPSWsub=min(N,nPSW)

nPSHSub=min(N,nPSH)

另外,对于每一参考图片列表,视频译码器可将默认运动向量tmvLX设定为(0,0)且可将参考索引refLX设定为-1(其中X为0或1)。

此外,当确定时间视图间合并候选者时,视频译码器可按光栅扫描次序针对每一子PU应用以下动作。首先,视频译码器可将视差向量添加到当前子PU(其左上方样本位置为(xPSub,yPSub))的中部位置以获得参考样本位置(xRefSub,yRefSub)。视频译码器可使用以下方程式确定(xRefSub,yRefSub):

xRefSub=Clip3(0,PicWidthInSamplesL-1,xPSub+nPSWsub/2+

((mvDisp[0]+2)>>2))

yRefSub=Clip3(0,PicHeightInSamplesL-1,yPSub+nPSHSub/2+

((mvDisp[1]+2)>>2))

视频译码器可使用覆盖(xRefSub,yRefSub)的参考视图中的块作为当前子PU的参考块。

如果使用时间运动向量译码所识别参考块且如果refL0及refL1两者都等于-1且当前子PU并非光栅扫描次序中的第一者,则参考块的运动信息由所有先前子PU继承。此外,如果使用时间运动向量译码所识别参考块,则相关联运动参数可用作当前子PU的运动参数。另外,如果使用时间运动向量译码所识别参考块,则视频译码器可将tmvLX及refLX更新为当前子PU的运动信息。否则,如果参考块经帧内译码,则视频译码器可将当前子PU的运动信息设定为tmvLX及refLX。

如JCT3V-E0184中所提出的子PU运动预测方法具有一或多个问题。举例来说,当参考视图中的一个子PU的对应块经帧内译码(即,其运动信息不可用)时,将光栅扫描次序中的最近子PU的运动信息复制到当前子PU。因此,如果光栅扫描次序中的前N个子PU的对应块经帧内译码且第(N+1)子PU的对应块经帧间译码,则将设定到第(N+1)子PU的相关运动信息复制到前N个子PU,此情况导致额外复杂性及译码延迟。

本发明的一或多个实例涉及视图间运动预测。举例来说,本发明的一或多个实例可适用于当合并索引指示视图间运动预测的上下文中。

举例来说,在一个实例中,当视频译码器以子PU方式使用视图间运动预测时,如果当前子PU的运动信息不可用,则视频译码器可从默认运动向量及参考索引复制运动信息。举例来说,如果当前子PU的运动信息不可用,则视频译码器可从默认运动向量及默认参考索引复制当前子PU的运动信息。在此实例中,默认运动参数对于多个子PU中的每一子PU相同,不论随后是否存在具有使用运动补偿预测译码的参考块的子PU都是如此。

在一些实例中,视频译码器(例如,视频编码器20或视频解码器30)可将当前PU划分成多个子PU。当前PU在当前图片中。另外,视频译码器可确定默认运动参数。默认运动参数可包含一或多个默认运动向量及一或多个默认参考索引。另外,视频译码器可以特定次序处理来自多个子PU的子PU。对于来自所述多个子PU的每一相应子PU,视频译码器可确定相应子PU的参考块。

在一些实例中,参考图片可在不同于当前图片的视图中,且视频译码器可基于当前PU的视差向量确定参考图片中的参考样本位置。在此类实例中,相应子PU的参考块可覆盖参考样本位置。在其它实例中,当前图片为深度视图分量且参考图片为在相同于当前图片的视图及接入单元中的纹理视图分量。在此类实例中,视频译码器可确定相应子PU的参考块为与相应子PU共置的参考图片的PU。

此外,对于来自多个子PU的每一相应子PU(或多个子PU的子集),如果使用运动补偿预测译码相应子PU的参考块,则视频译码器可基于相应子PU的参考块的运动参数设定相应子PU的运动参数。另一方面,如果不使用运动补偿预测译码相应子PU的参考块,则视频译码器可将相应子PU的运动参数设定为默认运动参数。

根据本发明的一或多个实例,如果不使用运动补偿预测译码相应子PU的参考块,则响应于后续确定使用运动补偿预测译码次序中的任何稍后子PU的参考块,不设定相应子PU的运动参数。因此,在不使用运动补偿预测译码子PU中的至少一者的参考块的情况中,视频译码器可不需要前向扫描以找到其对应参考块经使用运动补偿预测译码的子PU。同样地,视频译码器可不需要延迟确定相应子PU的运动参数,直到视频译码器在子PU的处理期间遇到其对应参考块经使用运动补偿预测译码的PU为止。有利地,此情况可降低复杂性及译码延迟。

视频译码器可将候选者包含于当前PU的候选者列表中,其中候选者基于多个子PU的运动参数。在一些实例中,候选者列表为合并候选者列表。此外,如果视频译码器为视频编码器(例如,视频编码器20),则视频编码器可在位流中用信号通知指示候选者列表中的所选择候选者的语法元素(例如,merge_idx)。如果视频译码器为视频解码器(例如,视频解码器30),则视频解码器可从位流获得指示候选者列表中的所选择候选者的语法元素(例如,merge_idx)。视频解码器可使用所选择候选者的运动参数以重建构当前PU的预测性块。

本发明中所描述的技术中的至少一些可单独地或彼此结合实施。

图14为说明可实施本发明的技术的实例视频编码器20的框图。图14是出于解释目的而提供,且不应被视为将技术限制为本发明中所大致例示及描述者。出于解释目的,本发明描述在HEVC译码的上下文中的视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。

在图14的实例中,视频编码器20包含预测处理单元100、残余产生单元102、变换处理单元104、量化单元106、反量化单元108、反变换处理单元110、重建构单元112、滤波器单元114、经解码图片缓冲器116及熵编码单元118。预测处理单元100包含帧间预测处理单元120及帧内预测处理单元126。帧间预测处理单元120包含运动估计单元122及运动补偿单元124。在其它实例中,视频编码器20可包含较多、较少或不同功能组件。

视频编码器20可接收视频数据。视频编码器20可编码视频数据的图片的切片中每一CTU。CTU中的每一者可与图片的大小相等明度译码树块(CTB)及对应CTB相关联。作为编码CTU的部分,预测处理单元100可执行四叉树分割以将CTU的CTB划分成逐渐更小的块。较小块可为CU的译码块。举例来说,预测处理单元100可将与CTU相关联的CTB分割成四个大小相等的子块,将子块中的一或多者分割成四个大小相等的子子块等等。

视频编码器20可编码CTU的CU以产生CU的经编码表示(即,经译码CU)。作为编码CU的部分,预测处理单元100可在CU的一或多个PU当中分割与CU相关联的译码块。因此,每一PU可与明度预测块及对应色度预测块相关联。视频编码器20及视频解码器30可支持具有各种大小的PU。如上文所指示,CU的大小可指CU的明度译码块的大小且PU的大小可指PU的明度预测块的大小。假定特定CU的大小是2N×2N,则视频编码器20及视频解码器30可支持用于帧内预测的2N×2N或N×N的PU大小,及用于帧间预测的2N×2N、2N×N、N×2N、N×N或类似大小的对称PU大小。视频编码器20及视频解码器30还可支持用于帧间预测的2N×nU、2N×nD、nL×2N及nR×2N的PU大小的不对称分割。

帧间预测处理单元120可通过对CU的每一PU执行帧间预测来产生用于PU的预测性数据。PU的预测性数据可包含PU的预测性块及PU的运动信息。帧间预测处理单元120可取决于PU是在I切片、P切片或B切片中而对CU的PU执行不同操作。在I切片中,所有PU都经帧内预测。因此,如果PU在I切片中,则帧间预测处理单元120并不对PU执行帧间预测。

如果PU在P切片中,则运动估计单元122可针对PU的参考区搜索参考图片列表(例如,“RefPicList0”)中的参考图片。PU的参考区可为参考图片内含有最接近地对应于PU的预测块的样本的区。运动估计单元122可产生指示含有PU的参考区的参考图片在RefPicList0中的位置的参考索引。另外,运动估计单元122可产生指示PU的译码块与相关联于参考区的参考位置之间的空间移位的运动向量。举例来说,运动向量可为提供从当前图片中的坐标到参考图片中的坐标的偏移的二维向量。运动估计单元122可将参考索引及运动向量输出为PU的运动信息。运动补偿单元124可基于由PU的运动向量所指示的参考位置处的实际或内插样本产生PU的预测性块。

如果PU在B切片中,则运动估计单元122可对PU执行单向预测或双向预测。为对PU执行单向预测,运动估计单元122可搜索RefPicList0的参考图片,或用于PU的参考区的第二参考图片列表(“RefPicList1”)。运动估计单元122可将指示含有参考区的参考图片的RefPicList0或RefPicList1中的位置的参考索引、指示PU的预测块与相关联于参考区的参考位置之间的空间移位的运动向量及指示参考图片是在RefPicList0中还是在RefPicList1中的一或多个预测方向指示符输出为PU的运动信息。运动补偿单元124可至少部分基于由PU的运动向量所指示的参考位置处的实际或内插样本来产生PU的预测性块。

为对PU执行双向帧间预测,运动估计单元122可针对PU的参考区搜索RefPicList0中的参考图片,且还可针对PU的另一参考区搜索RefPicList1中的参考图片。运动估计单元122可产生指示含有参考区的参考图片在RefPicList0及RefPicList1中的位置的参考索引。另外,运动估计单元122可产生指示与参考区相关联的参考位置与PU的预测块之间的空间移位的运动向量。PU的运动信息可包含PU的参考索引及运动向量。运动补偿单元124可至少部分基于由PU的运动向量所指示的参考位置处的实际或内插样本产生PU的预测性块。

在一些实例中,运动估计单元122可产生PU的合并候选者列表。作为产生合并候选者列表的部分,运动估计单元122可确定IPMVC及/或纹理合并候选者。当确定IPMVC及/或纹理合并候选者时,运动估计单元122可将PU分割成子PU并根据特定次序处理子PU以确定子PU的运动参数。根据本发明的一或多种技术,如果不使用运动补偿预测译码相应子PU的参考块,则运动估计单元122响应于后续确定使用运动补偿预测译码特定次序中的任何稍后子PU的参考块,并不设定相应子PU的运动参数。实际上,如果不使用运动补偿预测译码相应子PU的参考块,则运动估计单元122可将相应子PU的运动参数设定成默认运动参数。如果IPMVC或纹理合并候选者为合并候选者列表中的所选择合并候选者,则运动补偿单元124可基于由IPMVC或纹理合并候选者所指定的运动参数确定相应PU的预测性块。

帧内预测处理单元126可通过对PU执行帧内预测产生用于PU的预测性数据。用于PU的预测性数据可包含PU的预测性块及各种语法元素。帧内预测处理单元126可对I切片、P切片及B切片中的PU执行帧内预测。

为对PU执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式来产生PU的预测性块的多个集合。当使用特定帧内预测模式执行帧内预测时,帧内预测处理单元126可使用来自相邻块的特定样本集合产生PU的预测性块。假定对于PU、CU及CTU采用从左到右、从上到下的编码次序,相邻块可在PU的预测块的上方、右上方、左上方或左方。帧内预测处理单元126可使用各种数目个帧内预测模式,例如33个定向帧内预测模式。在一些实例中,帧内预测模式的数目可取决于PU的预测块的大小。

预测处理单元100可从PU的由帧间预测处理单元120产生的预测性数据或PU的由帧内预测处理单元126产生的预测性数据当中选择用于CU的PU的预测性数据。在一些实例中,预测处理单元100基于预测性数据集合的速率/失真量度选择用于CU的PU的预测性数据。所选择预测性数据的预测性块在本文中可被称作所选择预测性块。

残余产生单元102可基于CU的明度、Cb及Cr译码块以及CU的PU的所选择预测性明度、Cb及Cr块产生CU的明度、Cb及Cr残余块。举例来说,残余产生单元102可产生CU的残余块,使得残余块中的每一样本具有等于CU的译码块中的样本与CU的PU的对应所选择预测性样本块中的对应样本之间的差的值。

变换处理单元104可执行四叉树分割以将CU的残余块分割成与CU的TU相关联的变换块。因此,TU可与明度变换块及两个对应色度变换块相关联。CU的TU的明度变换块及色度变换块的大小及位置可或可不基于CU的PU的预测块的大小及位置。

变换处理单元104可通过将一或多个变换应用到TU的变换块而产生用于CU的每一TU的变换系数块。变换处理单元104可将各种变换应用到与TU相关联的变换块。举例来说,变换处理单元104可应用离散余弦变换(DCT)、定向变换或概念上类似变换到变换块。在一些实例中,变换处理单元104并不将变换应用于变换块。在此类实例中,变换块可处理为变换系数块。

量化单元106可量化系数块中的变换系数。量化过程可减少与变换系数中的一些或全部相关联的位深度。举例来说,n位变换系数可在量化期间舍入到m位变换系数,其中n大于m。量化单元106可基于与CU相关联的量化参数(QP)值量化与CU的TU相关联的系数块。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的系数块的量化程度。量化可引入信息丢失,因此经量化变换系数可具有比原始变换系数更低的精度。

反量化单元108及反变换处理单元110可分别将反量化及反变换应用到系数块以从系数块重建构残余块。重建构单元112可将经重建构残余块添加到来自由预测处理单元100所产生的一或多个预测性块的对应样本,以产生与TU相关联的经重建构变换块。通过以此方式重建构CU的每一TU的变换块,视频编码器20可重建构CU的译码块。

滤波器单元114可执行一或多个解块操作以减少与CU相关联的译码块中的成块假象。经解码图片缓冲器116可在滤波器单元114对经重建构译码块执行一或多个解块操作之后存储经重建构译码块。帧间预测处理单元120可使用含有经重建构译码块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可使用经解码图片缓冲器116中的经重建构译码块以对在相同于CU的图片中的其它PU执行帧内预测。

熵编码单元118可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元118可从量化单元106接收系数块,且可从预测处理单元100接收语法元素。熵编码单元118可对数据执行一或多个熵编码操作以产生经熵编码数据。举例来说,熵编码单元118可对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作、指数哥伦布编码操作或另一类型的熵编码操作。视频编码器20可输出包含由熵编码单元118所产生的经熵编码数据的位流。

图15为说明可实施本发明的技术的实例视频解码器30的框图。图15是出于解释目的而提供,且并不将技术限制为本发明中所大致例示及描述者。出于解释目的,本发明描述在HEVC译码的上下文中的视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。

在图15的实例中,视频解码器30包含熵解码单元150、预测处理单元152、反量化单元154、反变换处理单元156、重建构单元158、滤波器单元160及经解码图片缓冲器162。预测处理单元152包含运动补偿单元164及帧内预测处理单元166。在其它实例中,视频解码器30可包含较多、较少或不同功能组件。

经译码图片缓冲器(CPB)151可接收且存储位流的经编码视频数据(例如,NAL单元)。熵解码单元150可从CPB 151接收NAL单元,并剖析NAL单元以从位流获得语法元素。熵解码单元150可对NAL单元中的经熵编码语法元素进行熵解码。预测处理单元152、反量化单元154、反变换处理单元156、重建构单元158及滤波器单元160可基于从位流提取的语法元素产生经解码视频数据。

位流的NAL单元可包含经译码切片NAL单元。作为解码位流的部分,熵解码单元150可从经译码切片NAL单元提取语法元素并对语法元素进行熵解码。经译码切片中的每一者可包含切片标头及切片数据。切片标头可含有关于切片的语法元素。

除了从位流获得语法元素之外,视频解码器30可对CU执行解码操作。通过对CU执行解码操作,视频解码器30可重建构CU的译码块。

作为对CU执行解码操作的部分,反量化单元154可反量化(即,解量化)与CU的TU相关联的系数块。反量化单元154可使用与TU的CU相关联的QP值来确定量化程度及(同样地)反量化单元154将应用的反量化程度。也就是说,可通过调整当量化变换系数时所使用的QP的值来控制压缩比,即用以表示原始序列及经压缩序列的位数目的比率。压缩比还可取决于所利用的熵译码方法。

在反量化单元154反量化系数块之后,反变换处理单元156可将一或多个反变换应用于系数块以便产生与TU相关联的残余块。举例来说,反变换处理单元156可将反DCT、反整数变换、反卡忽南-拉维(Karhunen-Loeve)变换(KLT)、反旋转变换、反定向变换或另一反变换应用于系数块。

如果使用帧内预测编码PU,则帧内预测处理单元166可执行帧内预测以产生PU的预测性块。帧内预测处理单元166可使用帧内预测模式以基于空间相邻PU的预测块产生PU的预测性明度块、Cb块及Cr块。帧内预测处理单元166可基于从位流解码的一或多个语法元素确定用于PU的帧内预测模式。

预测处理单元152可基于从位流提取的语法元素来建构第一参考图片列表(RefPicList0)及第二参考图片列表(RefPicList1)。此外,如果PU是使用帧间预测编码,则熵解码单元150可获得PU的运动信息。运动补偿单元164可基于PU的运动信息来确定PU的一或多个参考区。运动补偿单元164可基于在PU的一或多个参考块处的样本产生PU的预测性明度块、Cb块及Cr块。

在一些实例中,运动补偿单元164可产生PU的合并候选者列表。作为产生合并候选者列表的部分,运动补偿单元164可确定IPMVC及/或纹理合并候选者。当确定IPMVC及/或纹理合并候选者时,运动补偿单元164可将PU分割成子PU并根据特定次序处理子PU以确定子PU中的每一者的运动参数。根据本发明的一或多种技术,如果不使用运动补偿预测译码相应子PU的参考块,则运动补偿单元164响应于后续确定使用运动补偿预测译码特定次序中的任何稍后子PU的参考块,并不设定相应子PU的运动参数。实际上,如果不使用运动补偿预测译码相应子PU的参考块,则运动补偿单元164可将相应子PU的运动参数设定成默认运动参数。如果IPMVC或纹理合并候选者为合并候选者列表中的所选择合并候选者,则运动补偿单元164可基于由IPMVC或纹理合并候选者所指定的运动参数确定相应PU的预测性块。

重建构单元158可使用来自与CU的TU相关联的明度、Cb及Cr变换块以及CU的PU的预测性明度、Cb及Cr块的残余值(即,帧内预测数据或帧间预测数据(如可适用))来重建构CU的明度、Cb及Cr译码块。举例来说,重建构单元158可将明度变换块、Cb变换块及Cr变换块的样本添加到预测性明度块、Cb块及Cr块的对应样本以重建构CU的明度译码块、Cb译码块及Cr译码块。

滤波器单元160可执行解块操作以减少与CU的明度、Cb及Cr译码块相关联的成块假象。视频解码器30可将CU的明度、Cb及Cr译码块存储于经解码图片缓冲器162中。经解码图片缓冲器162可提供参考图片以用于后续运动补偿、帧内预测及呈现于显示装置(例如,图1的显示装置32)上。举例来说,视频解码器30可基于经解码图片缓冲器162中的明度、Cb及Cr块对其它CU的PU执行帧内预测或帧间预测操作。以此方式,视频解码器30可从位流提取大量明度系数块的变换系数层级,反量化变换系数层级,对变换系数层级应用变换以产生变换块,至少部分基于变换块产生译码块并输出译码块以用于显示。

以下章节提供对3D-HEVC(其为公开可用的)的实例解码过程改变。在用于子PU时间视图间运动向量候选者的导出过程中,视频译码器可首先产生PU层级经视图间预测的运动向量候选者。如果以帧间预测模式译码中心参考子PU(即,视图间参考块中的中心子PU)且中心参考子PU在参考图片列表X中的参考图片具有相同于当前切片的参考图片列表X中的一个项目的POC值(对于X=0或1),则其运动向量及参考图片用作PU层级经预测运动向量候选者。否则,视频译码器可使用对于参考图片列表0及参考图片列表1(如果当前切片为B切片)具有等于0的参考图片索引的零运动作为PU层级经预测运动向量候选者。视频译码器可接着使用PU层级经预测运动向量候选者作为其对应参考块以帧内预测模式译码或以帧间预测模式译码的子PU的运动,但其参考图片不包含于当前切片的参考图片列表中。

本发明的实例可改变3D-HEVC草案文本2(即,文件JCT3V-F1001v2)中所定义的子PU层级视图间运动预测过程(或用于子预测块时间视图间运动向量候选者的导出过程)。根据本发明的一或多个实例,添加到3D-HEVC草案文本2的文本带下划线且从3D-HEVC草案文本2删除的文本为斜体并封闭于双方括号中。

解码过程

H.8.5.3.2.16用于子预测块时间视图间运动向量候选者的导出过程

当iv_mv_pred_flag[nuh_layer_id]等于0时,不调用此过程。

此过程的输入为:

-当前预测单元的左上方明度样本相对于当前图片的左上方明度样本的明度位置(xPb,yPb),

-分别指定当前预测单元的宽度及高度的变量nPbW及nPbH,

-参考视图索引refViewIdx。

-视差向量mvDisp,

此过程的输出为:

-指定时间视图间运动向量候选者是否可用的旗标availableFlagLXInterView(其中X在0到1的范围内(包含0与1)),

-时间视图间运动向量候选者mvLXInterView(其中X在0到1的范围内(包含0与1))。

-指定参考图片列表RefPicListLX中的参考图片的参考索引refIdxLXInterView(其中X在0到1的范围内(包含0与1)),

对于在0到1的范围内的X(包含0与1),以下适用:

-将旗标availableFlagLXInterView设定成等于0。

-将运动向量mvLXInterView设定成等于(0,0)。

-将参考索引refIdxLXInterView设定成等于-1。

变量nSbW及nSbH导出为:

nSbW=Min(nPbW,SubPbSize[nuh_layer_id])(H-173)

nSbH=Min(nPbH,SubPbSize[nuh_layer_id])(H-174)

变量ivRefPic设定成等于当前接入单元中具有等于refViewIdx的ViewIdx的图片

以下适用以导出变量旗标centerPredFlagLX、运动向量centerMvLX及参考索引centerRefIdxLX。

-变量centerAvailableFlag设定成等于0。

-对于在0到1的范围内的X(包含0与1),以下适用:

-将旗标centerPredFlagLX设定成等于0。

-将运动向量centerMvLX设定成等于(0,0)。

-将参考索引centerRefIdxLX设定成等于-1。

-通过如下导出参考层明度位置(xRef,yRef)

xRef=Clip3(0,PicWidthInSamplesL-1,

xPb+(nPbW/nSbW/2)*nSbW+nSbW/2+((mvDisp[0]+2)>>2))

(H-175)

yRef=Clip3(0,PicHeightInSamplesL-1,

yPb+(nPbH/nSbH/2)*nSbH+nSbH/2+((mvDisp[1]+2)>>2))

(H-176)

-变量ivRefPb指定覆盖由ivRefPic所指定的视图间参考图片内部由(xRef,yRef)给出的位置的明度预测块。

-相对于由ivRefPic指定的视图间参考图片的左上方明度样本,明度位置(xIvRefPb,yIvRefPb)设定成等于由ivRefPb指定的视图间参考明度预测块的左上方样本。

-当不以帧内预测模式译码ivRefPb时,对于在0到1的范围内的X(包含0与1),以下适用:

-当X等于0或当前切片为B切片时,对于在X到(1-X)的范围内的Y(包含X与(1-X)),以下适用:

-变量refPicListLYIvRef、predFlagLYIvRef、mvLYIvRef及refIdxLYIvRef设定成分别等于图片ivRefPic的RefPicListLY、PredFlagLY、MvLY及RefIdxLY。

-当predFlagLYIvRef[xIvRefPb][yIvRefPb]等于1时,对于从0到num_ref_idx_lX_active_minus1的每一i(包含0与num_ref_idx_lX_active_minus1),以下适用:

-当PicOrderCnt(refPicListLYIvRef[refIdxLYIvRef[xIvRefPb][yIvRefPb]])等于PicOrderCnt(RefPicListLX[i])且centerPredFlagLX等于0时,以下适用。

centerMvLX=mvLYIvRef[xIvRefPb][yIvRefPb](H-177)

centerRefIdxLX=i(H-178)

centerPredFlagLX=1(H-179)

centerAvailableFlag=1(H-180)

-如果centerAvailableFlag等于0且ivRefPic并非I切片,则对于在0到1的范围内的X(包含0与1),以下适用:

centerMvLX=(0,0)(H-181)

centerRefIdxLX=0(H-182)

centerPredFlagLX=1(H-183)

对于在0到1的范围内的X(包含0与1),以下适用:

-将旗标availableFlagLXInterView设定成等于centerPredFlagLX。

-将运动向量mvLXInterView设定成等于centerMvLX。

-将参考索引refIdxLXInterView设定成等于centerRefIdxLX。

对于在0到(nPbH/nSbH-1)的范围内的yBlk(包含0与(nPbH/nSbH-1))且对于在0到(nPbW/nSbW-1)的范围内的xBlk(包含0与(nPbW/nSbW-1)),以下适用:

-将变量curAvailableFlag设定成等于0。

-对于在0到1的范围内的X(包含0与1),以下适用:

-将旗标spPredFlagL1[xBlk][yBlk]设定成等于0。

-将运动向量spMvLX设定成等于(0,0)。

-将参考索引spRefIdxLX[xBlk][yBlk]设定成等于-1。

-通过如下导出参考层明度位置(xRef,yRef)

xRef=Clip3(0,PicWidthInSamplesL-1,xPb+xBlk*nSbW+nSbW/2+((mvDisp[0]+2)>>2))(H-184[[175]])

-变量ivRefPb指定覆盖由ivRefPic所指定的视图间参考图片内部由(xRef,yRef)给出的位置的明度预测块。

-相对于由ivRefPic指定的视图间参考图片的左上方明度样本,明度位置(xIvRefPb,yIvRefPb)设定成等于由ivRefPb指定的视图间参考明度预测块的左上方样本。

-当不以帧内预测模式译码ivRefPb时,对于在0到1的范围内的X(包含0与1),以下适用:

-当X等于0或当前切片为B切片时,对于在X到(1-X)的范围内的Y(包含X与(1-X)),以下适用:

-变量refPicListLYIvRef、predFlagLYIvRef[x][y]、mvLYIvRef[x][y]及refIdxLYIvRef[x][y]设定成分别等于图片ivRefPic的RefPicListLY、PredFlagLY[x][y]、MvLY[x][y]及RefIdxLY[x][y]。

-当predFlagLYIvRef[xIvRefPb][yIvRefPb]等于1时,对于从0到num_ref_idx_lX_active_minus1的每一i(包含0与num_ref_idx_lX_active_minus1),以下适用:

-当PicOrderCnt(refPicListLYIvRef[refIdxLYIvRef[xIvRefPb][yIvRefPb]])等于PicOrderCnt(RefPicListLX[i])且spPredFlagLX[xBlk][yBlk]等于0时,以下适用。

spMvLX[xBlk][yBlk]=mvLYIvRef[xIvRefPb][yIvRefPb](H-186[[177]])

spRefIdxLX[xBlk][yBlk]=i(H-187[[178]])

spPredFlagLX[xBlk][yBlk]=1(H-188[[179]])

curAvailableFlag=1(H-189[[180]])

-[[取决于curAvailableFlag,以下适用:

-如果curAvailableFlag等于1,则以下有序步骤适用:

1.当lastAvailableFlag等于0时,以下适用:

-对于在0到1的范围内的X(包含0与1),以下适用:

mvLXInterView=spMvLX[xBlk][yBlk](H-181)

refIdxLXInterView=spRefIdxLX[xBlk][yBlk](H-182)

availableFlagLXInterView=spPredFlag[xBlk][yBlk](H-183)

-当curSubBlockIdx大于0时,对于在0到(curSubBlockIdx-1)的范围内的k(包含0与(curSubBlockIdx-1)),以下适用:

-如下文中指定地导出变量i及k:

i=k%(nPSW/nSbW)(H-184)

j=k/(nPSW/nSbW)(H-185)

-对于在0到1的范围内的X(包含0与1),以下适用:

spMvLX[i][j]=spMvLX[xBlk][yBlk](H-186)

spRefIdxLX[i][j]=spRefIdxLX[xBlk][yBlk](H-187)

spPredFlagLX[i][j]=spPredFlagLX[xBlk][yBlk](H-188)

2.将变量lastAvailableFlag设定成等于1。

3.将变量xLastAvail及yLastAvail设定成分别等于xBlk及yBlk。]]

-[[否则(]]如果curAvailableFlag等于0[[),当lastAvailable旗标等于1时,]]对于在0到1的范围内的X(包含0与1),以下适用:

[[spMvLX[xBlk][yBlk]=spMvLX[xLastAvail][yLastAvail](H-189)

spRefIdxLX[xBlk][yBlk]=spRefIdxLX[xLastAvail][yLastAvail](H-190)

spPredFlagLX[xBlk][yBlk]=spPredFlagLX[xLastAvail][yLastAvail]

(H-191)]]

spMvLX[xBlk][yBlk]=centerMvLX(H-190)

spRefIdxLX[xBlk][yBlk]=centerRefIdxLX(H-191)

spPredFlagLX[xBlk][yBlk]=centerPredFlagLX(H-192)

-[[将变量curSubBlockIdx设定成等于curSubBlockIdx+1。]]

为用于稍后调用于解码过程中的变量的导出过程,进行以下指派,对于x=0..nPbW-1且对于y=0..nPbH-1:

-对于在0到1的范围内的X(包含0与1),以下适用:

-如下文中指定地导出变量SubPbPredFlagLX、SubPbMvLX及SubPbRefIdxLX:

SubPbPredFlagLX[xPb+x][yPb+y]=spPredFlagLX[x/nSbW][y/nSbW](H-193[[192]])

SubPbMvLX[xPb+x][yPb+y]=spMvLX[x/nSbW][y/nSbW](H-194[[193]])

SubPbRefIdxLX[xPb+x][yPb+y]=spRefIdxLX[x/nSbW][y/nSbW](H-195[[194]])

-通过SubPbMvLX[xPb+x][yPb+y]作为输入调用子条款8.5.3.2.9中用于色度运动向量的导出过程且输出为SubPbMvCLX[xPb+x][yPb+y]。

图16A为根据本发明的实例说明使用帧间预测来编码CU的视频编码器20的实例操作的流程图。在图16A的实例中,视频编码器20可产生用于当前CU的当前PU的合并候选者列表(200)。根据本发明的一或多个实例,视频编码器20可产生合并候选者列表,使得合并候选者列表包含基于当前PU的子PU的运动信息的时间视图间合并候选者。在一些实例中,当前PU可为深度PU,且视频编码器20可产生合并候选者列表,使得合并候选者列表包含基于当前深度PU的子PU的运动信息的纹理合并候选者。此外,在一些实例中,视频编码器20可执行图17的操作来产生用于当前PU的合并候选者列表。

在产生用于当前PU的合并候选者列表之后,视频编码器20可从合并候选者列表选择合并候选者(202)。在一些实例中,视频编码器20可基于速率/失真分析选择合并候选者。此外,视频编码器20可使用所选择合并候选者的运动信息(例如,运动向量及参考索引)以确定当前PU的预测性块(204)。视频编码器20可用信号通知指示所选择合并候选者在合并候选者列表内的位置的合并候选者索引(206)。

如果所选择合并候选者为如描述于本发明的实例中的使用子PU建构的IPMVC或MVI候选者(即,纹理合并候选者),则IPMVC或MVI候选者可指定当前PU的每一子PU的单独运动参数集合(例如,一或多个运动向量的集合及一或多个参考索引的集合)。当视频编码器20正确定当前PU的预测性块时,视频编码器20可使用当前PU的子PU的运动参数以确定子PU的预测性块。视频编码器20可通过汇编当前PU的子PU的预测性块确定当前PU的预测性块。

视频编码器20可确定当前CU中是否存在任何剩余PU(208)。如果当前CU中存在一或多个剩余PU(208的“是”),则视频编码器20可将当前CU的另一PU作为当前PU重复动作200到208。以此方式,视频编码器20可针对当前CU的每一PU重复动作200到208。

当并不存在当前CU的剩余PU(208的“否”)时,视频编码器20可确定当前CU的残余数据(210)。在一些实例中,残余数据的每一样本可指示当前CU的译码块中的样本与当前CU的PU的预测性块中的对应样本之间的差。在其它实例中,视频编码器20可使用ARP以确定当前CU的残余数据。视频编码器20可在位流中用信号通知残余数据(212)。举例来说,视频编码器20可通过将一或多个变换应用于残余数据来产生系数块、量化系数、对指示经量化系数的语法元素进行熵编码并将经熵编码语法元素包含于位流中而在位流中用信号通知残余数据。

图16B为根据本发明的实例说明使用帧间预测解码CU的视频解码器30的实例操作的流程图。在图16B的实例中,视频解码器30可产生用于当前CU的当前PU的合并候选者列表(220)。根据本发明的一或多个实例,视频解码器30可产生合并候选者列表,使得合并候选者列表包含基于当前PU的子PU的运动信息的时间视图间合并候选者。在一些实例中,当前PU可为深度PU,且视频解码器30可产生合并候选者列表,使得合并候选者列表包含基于当前深度PU的子PU的运动信息的纹理合并候选者。此外,在一些实例中,视频解码器30可执行图17的操作来产生用于当前PU的合并候选者列表。

在产生用于当前PU的合并候选者列表之后,视频解码器30可从合并候选者列表确定所选择合并候选者(222)。在一些实例中,视频解码器30可基于位流中用信号通知的合并候选者索引确定所选择合并候选者。此外,视频解码器30可使用所选择合并候选者的运动参数(例如,运动向量及参考索引)以确定当前PU的预测性块(224)。举例来说,视频解码器30可使用所选择合并候选者的运动参数以确定当前PU的明度预测性块、Cb预测性块及Cr预测性块。

如果所选择合并候选者为如描述于本发明的实例中的使用子PU建构的IPMVC或MVI候选者,则IPMVC或MVI候选者可指定当前PU的每一子PU的单独运动参数集合(例如,一或多个运动向量的集合及一或多个参考索引的集合)。当视频解码器30正确定当前PU的预测性块时,视频解码器30可使用当前PU的子PU的运动参数以确定子PU的预测性块。视频解码器30可通过汇编当前PU的子PU的预测性块而确定当前PU的预测性块。

视频解码器30可接着确定当前CU中是否存在任何剩余PU(226)。如果当前CU中存在一或多个剩余PU(226的“是”),则视频解码器30可通过将当前CU的另一PU作为当前PU重复动作220到226。以此方式,视频解码器30可针对当前CU的每一PU重复动作220到226。

当并不存在当前CU的剩余PU(226的“否”)时,视频解码器30可确定当前CU的残余数据(228)。在一些实例中,视频解码器30可与确定当前CU的PU的运动参数并行地确定残余数据。在一些实例中,视频解码器30可使用ARP以确定当前CU的残余数据。另外,视频解码器30可基于当前CU的PU的预测性块及当前CU的残余数据重建构当前CU的译码块(230)。

图17为根据本发明的实例说明建构用于当前视图分量中的当前PU的合并候选者列表的视频译码器的实例操作的流程图。在图17的实例中,视频译码器(例如,视频编码器20或视频解码器30)可确定空间合并候选者(250)。空间合并候选者可包含指定覆盖图3中的位置A0、A1、B0、B1及B2的PU的运动参数的合并候选者。在一些实例中,视频译码器可通过执行MV-HEVC测试模型4的子条款G.8.5.2.1.2中所描述的操作确定空间合并候选者。此外,在图17的实例中,视频译码器可确定时间合并候选者(252)。时间合并候选者可指定在不同于当前视图分量的时间实例中的参考视图分量的PU的运动参数。在一些实例中,视频译码器可通过执行3D-HEVC测试模型4的子条款H.8.5.2.1.7中所描述的操作确定时间合并候选者。

另外,视频译码器可确定IPMVC及IDMVC(254)。根据本发明的实例,视频译码器可使用子PU层级视图间运动预测技术产生IPMVC。之后,IPMVC可指定当前PU的每一子PU的运动参数。在一些实例中,视频译码器可执行图19的操作以确定IPMVC。IDMVC可指定当前PU的视差向量。在一些实例中,视频译码器仅当当前层的视图间运动预测旗标(例如,iv_mv_pred_flag)指示针对当前层启用视图间运动预测时确定IPMVC及IDMVC。当前层可为当前视图分量属于的层。

此外,在图17的实例中,视频译码器可确定VSP合并候选者(256)。在一些实例中,视频译码器可通过执行3D-HEVC测试模型4的子条款H.8.5.2.1.12中所描述的操作确定VSP合并候选者。在一些实例中,视频译码器仅当当前层的视图合成预测旗标指示针对当前层启用视图合成预测时确定VSP合并候选者。

另外,视频译码器可确定当前视图分量是否为深度视图分量(258)。响应于确定当前视图分量为深度视图分量(258的“是”),视频译码器可确定纹理合并候选者(260)。纹理合并候选者可指定对应于当前(深度)视图分量的纹理视图分量中的一或多个PU的运动信息。根据本发明的一或多个实例,视频译码器可使用子PU层级运动预测技术产生纹理合并候选者。之后,纹理合并候选者可指定当前PU的每一子PU的运动参数。在一些实例中,视频译码器可执行图19的操作以确定纹理合并候选者。视频译码器可接着确定纹理合并分量是否可用(262)。响应于确定纹理合并分量可用(262的“是”),视频译码器可将纹理合并候选者插入到合并候选者列表(264)。

响应于确定当前图片并非深度图片(258的“否”)、响应于确定纹理合并候选者并不可用(262的“否”)或在将纹理合并候选者插入到合并候选者列表之后,视频译码器可确定IPMVC是否可用(266)。当视频译码器不能够确定IPMVC时(例如当当前PU在基础视图中时),IPMVC可不可用。响应于确定IPMVC可用(268的“是”),视频译码器可将IPMVC插入到合并候选者列表(268)。

响应于确定IPMVC不可用(266的“否”)或在将IPMVC插入到合并候选者列表之后,视频译码器可确定位置A1处的空间合并候选者(即,A1空间合并候选者)是否可用(270)。当使用帧内预测译码覆盖与空间合并候选者相关联的位置(例如,位置A0、A1、B0、B1或B2)的PU或PU在当前切片或图片边界外部时,例如A1空间合并候选者的空间合并候选者可不可用。响应于确定A1空间合并候选者可用(270的“是”),视频译码器可确定A1空间合并候选者的运动向量及参考索引是否匹配IPMVC的代表性运动向量及代表性参考索引(270)。响应于确定A1空间合并候选者的运动向量及参考索引并不匹配IPMVC的代表性运动向量及代表性参考索引(272的“否”),视频译码器可将A1空间合并候选者插入到合并候选者列表(274)。

如上文所指示,视频译码器可使用子PU层级运动预测技术产生IPMVC及/或纹理合并候选者。之后,IPMVC及/或纹理合并候选者可指定多个运动向量及多个参考索引。因此,视频译码器可确定A1空间合并候选者的运动向量是否匹配IPMVC及/或纹理合并候选者的代表性运动向量,及A1空间合并候选者的参考索引是否匹配IPMVC及/或纹理合并候选者的代表性参考索引。IPMVC的代表性运动向量及代表性参考索引可在本文中被称作“PU层级IPMVC”。纹理合并候选者的代表性运动向量及代表性参考索引可在本文中被称作“PU层级运动参数继承(MPI)候选者”。视频译码器可以不同方式确定PU层级IPMVC及PU层级MPI候选者。本发明中在其它地方描述视频译码器可如何确定PU层级IPMVC及PU层级MPI候选者的实例。

响应于确定A1空间合并候选者不可用(270的“否”)、响应于确定A1空间合并候选者的运动向量及参考索引匹配IPMVC的代表性运动向量及代表性参考索引(272的“是”)或在将A1空间合并候选者插入到合并候选者列表之后,视频译码器可确定位置B1处的空间合并候选者(即,B1空间合并候选者)是否可用(276)。响应于确定B1空间合并候选者可用(276的“是”),视频译码器可确定B1空间合并候选者的运动向量及参考索引是否匹配IPMVC的代表性运动向量及代表性参考索引(278)。响应于确定B1空间合并候选者的运动向量及参考索引并不匹配IPMVC的代表性运动向量及代表性参考索引(278的“否”),视频译码器可将B1空间合并候选者包含于合并候选者列表中(280)。

响应于确定B1空间运动向量不可用(276的“否”)、响应于确定B1空间运动向量的运动向量及参考索引匹配IPMVC的代表性运动向量及代表性参考索引(278的“是”)或在将B1空间合并候选者插入到合并候选者列表之后,视频译码器可确定位置B0处的空间合并候选者(即,B0空间合并候选者)是否可用(282)。响应于确定B0空间合并候选者可用(282的“是”),视频译码器可将B0空间合并候选者插入到合并候选者列表(284)。

如上文所指示,视频译码器可以不同方式确定IPMVC的代表性运动向量及代表性参考索引。在一个实例中,视频译码器可从当前PU的子PU当中确定中心子PU。在此实例中,中心子PU为最接近当前PU的明度预测块的中心像素的子PU。因为预测块的高度及/或宽度可为偶数个样本,所以预测块的“中心”像素可为邻近于预测块的真实中心的像素。此外,在此实例中,视频译码器可接着通过将当前PU的视差向量添加到中心子PU的明度预测块的中心的坐标而确定中心子PU的视图间参考块。如果使用运动补偿预测译码中心子PU的视图间参考块(即,中心子PU的视图间参考块具有一或多个运动向量及参考索引),则视频译码器可将PU层级IPMVC的运动信息设定为中心子PU的视图间参考块的运动信息。因此,如由中心子PU提供的PU层级IPMVC可用于精简此子PU候选者以及其它候选者(例如空间相邻候选者A1及B1)。举例来说,如果常规候选者(例如,A1空间合并候选者或B1空间合并候选者)等于由中心子PU所产生的候选者,则不将另一常规候选者添加到合并候选者列表。

响应于确定B0空间合并候选者不可用(282的“否”)或在将B0空间合并候选者插入到合并候选者列表之后,视频译码器可确定IDMVC是否可用且IDMVC的运动向量及参考索引是否不同于A1空间合并候选者及B1空间合并候选者的运动向量及参考索引(286)。响应于确定IDMVC可用且IDMVC的运动向量及参考索引不同于A1空间合并候选者及B1空间合并候选者的运动向量及参考索引(286的“是”),视频译码器可将IDMVC插入到合并候选者列表(288)。

响应于确定IDMVC不可用或IDMVC的运动向量及参考索引并非不同于A1空间合并候选者或B1空间合并候选者的运动向量及参考索引(286的“否”)或在将IDMVC插入到合并候选者列表之后,视频译码器可执行图18中所展示的参考图片列表建构操作的部分(在图17中表示为A)。

图18为根据本发明的实例说明图17的参考图片列表建构操作的延续部分的流程图。在图18的实例中,视频译码器可确定VSP合并候选者是否可用(300)。响应于确定VSP合并候选者可用(300的“是”),视频译码器可将VSP合并候选者插入到合并候选者列表(302)。

响应于确定VSP合并候选者不可用(300的“否”)或在将VSP合并候选者插入到合并候选者列表之后,视频译码器可确定位置A0处的空间合并候选者(即,A0空间合并候选者)是否可用(304)。响应于确定A0空间合并候选者可用(304的“是”),视频译码器可将A0空间合并候选者插入到合并候选者列表(306)。

此外,响应于确定A0空间合并候选者不可用(306的“否”)或在将A0空间合并候选者插入到合并候选者列表之后,视频译码器可确定位置B2处的空间合并候选者(即,B2空间合并候选者)是否可用(308)。响应于确定B2空间合并候选者可用(308的“是”),视频译码器可将B2空间合并候选者插入到合并候选者列表(310)。

响应于确定B2空间合并候选者不可用(308的“否”)或在将B2空间合并候选者插入到合并候选者列表之后,视频译码器可确定时间合并候选者是否可用(312)。响应于确定时间合并候选者可用(312的“是”),视频译码器可将时间合并候选者插入到合并候选者列表(314)。

此外,响应于确定时间合并候选者不可用(312的“否”)或在将时间合并候选者插入到合并候选者列表之后,视频译码器可确定当前切片是否为B切片(316)。响应于确定当前切片为B切片(316的“是”),视频译码器可导出组合双向预测性合并候选者(318)。在一些实例中,视频译码器可通过执行3D-HEVC测试模型4的子条款H.8.5.2.1.3中所描述的操作导出组合双向预测性合并候选者。

响应于确定当前切片并非B切片(316的“否”)或在导出组合双向预测性合并候选者之后,视频译码器可导出零运动向量合并候选者(320)。零运动向量合并候选者可指定具有等于0的水平分量及垂直分量的运动向量。在一些实例中,视频译码器可通过执行3D-HEVC测试模型4的子条款8.5.2.1.4中所描述的操作导出零运动向量候选者。

图19为根据本发明的实例说明视频译码器确定IPMVC或纹理合并候选者的操作的流程图。在图19的实例中,视频译码器(例如,视频编码器20或视频解码器30)可将当前PU划分成多个子PU(348)。在不同实例中,子PU中的每一者的块大小可为4×4、8×8、16×16或另一大小。

此外,在图19的实例中,视频译码器可设定默认运动向量及默认参考索引(350)。在不同实例中,视频译码器可以不同方式设定默认运动向量及默认参考索引。在一些实例中,默认运动参数(即,默认运动向量及默认参考索引)等于PU层级运动向量候选者。此外,在一些实例中,视频译码器可取决于视频译码器是否正确定IPMVC或纹理合并候选者不同地确定默认运动信息。

在视频译码器正确定IPMVC的一些实例中,视频译码器可从当前PU的对应区的中心位置导出PU层级IPMVC,如3D-HEVC测试模型4中所定义。此外,在此实例中,视频译码器可将默认运动向量及参考索引设定为等于PU层级IPMVC。举例来说,视频译码器可将默认运动向量及默认参考索引设定为PU层级IPMVC。在此实例中,视频译码器可从当前PU的对应区的中心位置导出PU层级IPMVC。

在视频译码器正确定IPMVC的另一实例中,视频译码器可将默认运动参数设定为由覆盖参考视图中的参考图片的坐标(xRef,yRef)处的像素的视图间参考块所含有的运动参数。视频译码器可如下确定坐标(xRef,yRef):

xRef=Clip3(0,PicWidthInSamplesL-1,xP+((nPSW[[-1]])>>1)+((mvDisp[0]+2)>>2))

yRef=Clip3(0,PicHeightInSamplesL-1,yP+((nPSH[[-1]])>>1)+((mvDisp[1]+2)>>2))

在上文方程式中,(xP,yP)指示当前PU的左上方样本的坐标,mvDisp为视差向量且nPSWxnPSH为当前PU的大小,且PicWidthInSamplesL及PicHeightInSamplesL定义参考视图中的图片的分辨率(相同于当前视图)。在上文的方程式中,双方括号中的斜体文本指示从3D-HEVC测试模型4的章节H.8.5.2.1.10中的方程式H-124及H-125删除的文本。

如上文所论述,3D-HEVC测试模型4的章节H.8.5.2.1.10描述用于时间视图间运动向量候选者的导出过程。此外,如上文所论述,方程式H-124及H-125在3D-HEVC测试模型4的章节H.8.5.2.1.10中用于确定参考块在参考图片中的明度位置。相反于3D-HEVC测试模型4中的方程式H-124及H-125,本实例的方程式并不从nPSW及nPSH减去1。结果,xRef及yRef指示直接在当前PU的预测块的真实中心右下方的像素的坐标。因为为样本值的当前PU的预测块的宽度及高度可为偶数,所以可不存在在当前PU的预测块的真实中心处的样本值。相对于当xRef及yRef指示直接在当前PU的预测块的真实中心的左上方的像素的坐标的情况,当xRef及yRef指示直接在当前PU的预测块的真实中心的右下方的像素的坐标时可带来译码增益。在其它实例中,视频译码器可使用覆盖不同像素(xRef,yRef)的其它块以导出默认运动向量及参考索引。

在视频译码器在视频译码器正确定IPMVC时可如何设定默认运动参数的另一实例中,在设定当前PU的子PU的运动参数之前,视频译码器可从当前PU的所有子PU当中选择最接近于当前PU的明度预测块的中心像素的子PU。视频译码器可接着针对所选择子PU确定参考视图分量中的参考块。换句话说,视频译码器可确定所选择子PU的视图间参考块。当使用运动补偿预测译码所选择子PU的视图间参考块时,视频译码器可使用所选择子PU的视图间参考块以导出默认运动向量及参考索引。换句话说,视频译码器可将默认运动参数设定为最接近于当前PU的明度预测块的中心像素的参考块的子PU的运动参数。

以此方式,视频译码器可确定参考图片中的参考块,所述参考块具有相同于当前PU的预测块的大小。另外,视频译码器可从参考块的子PU当中确定最接近于参考块的中心像素的子PU。视频译码器可从参考块的所确定子PU的运动参数导出默认运动参数。

视频译码器可以不同方式确定最接近于参考块的中心像素的子PU。举例来说,假定子PU大小为2Ux2U,视频译码器可相对于当前PU的明度预测块的左上方样本选择具有以下坐标的子PU:(((nPSW>>(u+1))-1)<<u,(((nPSH>>(u+1))-1)<<u)。换句话说,最接近于参考块的中心像素的子PU包含相对于参考块的左上方样本具有以下坐标的像素:(((nPSW>>(u+1))-1)<<u,(((nPSH>>(u+1))-1)<<u)。替代性地,视频译码器可相对于当前PU的明度预测块的左上方样本选择具有以下坐标相对坐标的子PU:((nPSW>>(u+1))<<u,(nPSH>>(u+1))<<u)。换句话说,最接近于参考块的中心像素的子PU包含相对于参考块的左上方样本具有以下坐标的像素:((nPSW>>(u+1))<<u,(nPSH>>(u+1))<<u)。在这些方程式中,nPSW及nPSH分别为当前PU的明度预测块的宽度及高度。因此,在一个实例中,视频译码器可从当前PU的多个子PU当中确定最接近于当前PU的明度预测块的中心像素的子PU。在此实例中,视频译码器可从所确定子PU的视图间参考块导出默认运动参数。

在视频译码器正确定IPMVC的其它实例中,默认运动向量为零运动向量。此外,在一些实例中,默认参考索引等于当前参考图片列表中的第一可用时间参考图片(即,在不同于当前图片的时间实例中的参考图片)或默认参考索引可等于0。换句话说,默认运动参数可包含默认运动向量及默认参考索引。视频译码器可将默认运动向量设定为零运动向量且可将默认参考索引设定为0或当前参考图片列表中的第一可用时间参考图片。

举例来说,如果当前切片为P切片,则默认参考索引可指示当前图片的RefPicList0中的第一可用时间参考图片(即,当前图片的RefPicList0中具有最小参考索引的时间参考图片)。此外,如果当前切片为B切片且启用来自RefPicList0的帧间预测但并不启用来自当前图片的RefPicList1的帧间预测,则默认参考索引可指示当前图片的RefPicList0中的第一可用时间参考图片。如果当前切片为B切片且启用来自当前图片的RefPicList1的帧间预测但并不启用来自当前图片的RefPicList0的帧间预测,则默认参考索引可指示当前图片的RefPicList1中的第一可用时间参考图片(即,当前图片的RefPicList1中具有最小参考索引的时间参考图片)。如果当前切片为B切片且启用来自当前图片的RefPicList0及当前图片的RefPicList1的帧间预测,则默认RefPicList0参考索引可指示当前图片的RefPicList0中的第一可用时间参考图片且默认RefPicList1参考索引可指示当前图片的RefPicList1中的第一可用时间参考图片。

此外,在上文提供的用于在视频译码器正确定IPMVC时确定默认运动参数的一些实例中,视频译码器可将默认运动参数设定为最接近于当前PU的明度预测块的中心像素的子PU的运动参数。然而,在这些及其它实例中,默认运动参数可保持不可用。举例来说,如果对应于最接近于当前PU的明度预测块的中心像素的子PU的视图间参考块经帧内预测,则默认运动参数可保持不可用。之后,在一些实例中,当默认运动参数不可用且使用运动补偿预测译码第一子PU的视图间参考块(即,第一子PU的视图间参考块具有可用运动信息)时,视频译码器可将默认运动参数设定为第一子PU的运动参数。在此实例中,第一子PU可为当前PU在当前PU的子PU的光栅扫描次序上的第一子PU。因此,当确定默认运动参数时,响应于确定在多个子PU的光栅扫描次序上的第一子PU具有可用运动参数,视频译码器可将默认运动参数设定为所述多个子PU的光栅扫描次序上的第一子PU的可用运动参数。

否则,当默认运动信息不可用时(例如,当第一子PU的视图间参考块的运动参数不可用时),如果当前子PU行的第一子PU具有可用运动参数,则视频译码器可将默认运动信息设定为当前子PU行的第一子PU的运动参数。当默认运动参数仍不可用时(例如,当当前子PU行的第一子PU的视图间参考块不可用时),视频译码器可将默认运动向量设定为零运动向量且可将默认参考索引设定为等于当前参考图片列表中的第一可用时间参考图片。以此方式,当视频译码器正确定默认运动参数时,响应于确定包含相应子PU的子PU行的第一子PU具有可用运动参数,视频译码器可将默认运动参数设定为包含相应子PU的子PU行的第一子PU的可用运动参数。

此外,如上文关于图17的实例所描述,视频译码器可使用子PU层级运动预测技术确定纹理合并候选者。在此类实例中,当前PU可在本文中被称作“当前深度PU”。视频译码器可执行图19的操作以确定纹理合并候选者。之后,当视频译码器正确定纹理合并候选者时,视频译码器可将当前深度PU划分成若干子PU,且每一子PU使用共置纹理块的运动信息以用于运动补偿。此外,当视频译码器正确定纹理合并候选者时,如果子PU的对应纹理块经帧内译码或在相同于对应纹理块的参考图片的接入单元中的图片不包含于当前深度PU的参考图片列表中,则视频译码器可将默认运动向量及参考索引指派到所述子PU。因此,一般来说,当共置纹理块未经帧内译码且由共置纹理块使用的参考图片在当前深度图片的参考图片列表中时,视频译码器可确定共置纹理块具有可用运动信息。相反,当共置纹理块经帧内译码或共置纹理块使用并不在当前深度图片的参考图片列表中的参考图片时,共置纹理块的运动参数可不可用。

如上文所指示,视频译码器可取决于视频译码器是否正确定IPMVC或纹理合并候选者不同地确定默认运动信息。举例来说,当视频译码器正确定纹理合并候选者时,视频译码器可根据以下实例或其它实例中的一者确定默认运动向量及默认参考索引。在一个实例中,共置纹理块可与当前深度PU共置且可具有相同于当前深度PU的大小。在此实例中,视频译码器将默认运动向量及默认参考索引设定为覆盖共置纹理块的中心像素的块的运动信息。

因此,在当前图片为深度视图分量且参考图片为在相同于当前图片的视图及接入单元中的纹理视图分量的一些实例中,视频译码器可将默认运动参数设定为与覆盖参考块的像素的块相关联的运动参数,所述参考块在参考图片中、与当前PU共置且具有相同于当前PU的大小。在此类实例中,像素可为参考块的中心像素或参考块的另一像素。

在视频译码器正确定纹理合并候选者的另一实例中,共置纹理块可具有相同于当前深度PU的大小。在此实例中,视频译码器可将默认运动向量及默认参考索引设定为覆盖共置纹理块内的任何给定像素的块(例如,PU)的运动信息。

在视频译码器正确定纹理合并候选者的另一实例中,视频译码器可首先选择当前深度PU的中心子PU。在当前深度PU的所有子PU当中,中心子PU可最接近于(或可包含)当前深度PU的预测块的中心像素而定位。视频译码器可接着使用与中心子PU共置的纹理块以导出默认运动向量及参考索引。假定子PU大小为2Ux2U,视频译码器可确定中心子PU为相对于当前深度PU的预测块的左上方样本(且之后为共置纹理块的左上方样本)具有以下坐标的子PU:(((nPSW>>(u+1))-1)<<u,(((nPSH>>(u+1))-1)<<u)。替代性地,视频译码器可确定中心子PU的相对坐标为:((nPSW>>(u+1))<<u,(nPSH>>(u+1))<<u)。在这些方程式中,nPSW及nPSH分别为当前深度PU的预测块的宽度及高度。

因此,在一个实例中,视频译码器可从当前PU的多个子PU当中确定最接近于当前PU的预测块的中心的子PU。在此实例中,视频译码器可从所确定子PU的共置纹理块导出默认运动参数。

在视频译码器正确定纹理合并候选者且默认运动信息不可用(例如,当中心子PU的共置纹理块的运动参数不可用时)的一些实例中,视频译码器可确定当前深度PU的第一子PU的共置纹理块是否具有可用运动信息。当前深度PU的第一子PU可为当前深度PU在当前深度PU的子PU的光栅扫描次序上的第一子PU。如果当前深度PU的第一子PU的共置纹理块的运动参数可用,则视频译码器可将默认运动参数设定为当前深度PU的第一子PU的运动参数。

此外,在视频译码器正确定纹理合并候选者的一些实例中,当默认运动信息不可用时(例如,当第一子PU的共置纹理块的运动参数不可用时),如果当前子PU行的第一子PU具有可用运动信息,则视频译码器将默认运动信息设定为当前子PU行的第一子PU的运动信息。此外,当默认运动信息不可用时(例如,当当前子PU行的第一子PU的运动信息不可用时),默认运动向量为零运动向量,且默认参考索引等于当前参考图片列表中的第一可用时间参考图片或0。

在视频译码器正确定纹理合并候选者的一些实例中,默认运动向量为零运动向量,且默认参考索引等于当前参考图片列表中的第一可用时间参考图片或0。

不论视频译码器正确定IPMVC还是纹理合并候选者,视频译码器可针对整个当前PU设定默认运动信息。因此,视频译码器并不需要存储较多运动向量于当前PU中以用于预测空间相邻块、时间相邻块(当含有此PU的图片在TMVP期间用作共置图片时)或解块。

此外,视频译码器可确定PU层级运动向量候选者(352)。举例来说,视频译码器可取决于视频译码器是否正确定IPMVC或纹理合并候选者而确定PU层级IPMVC或PU层级运动参数继承(MPI)候选者(即,PU层级纹理合并候选者)。视频译码器可基于PU层级运动向量候选者确定是否将一或多个空间合并候选者包含于候选者列表中。在一些实例中,PU层级运动向量候选者指定相同于默认运动参数的运动参数。

在视频译码器正确定IPMVC的一些实例中,视频译码器可从当前PU的对应区的中心位置导出PU层级IPMVC,如3D-HEVC测试模型4中所定义。如描述于图17的实例中,视频译码器可使用IPMVC(即,PU层级IPMVC)的代表性运动向量及代表性参考索引以确定是否将A1空间合并候选者及B1空间合并候选者包含于合并候选者列表中。

在视频译码器正确定IPMVC的另一实例中,视频译码器可基于当前PU的视差向量确定视图间参考图片中的参考块。视频译码器可接着确定覆盖参考块的中心像素的子PU(即,最接近于参考块的中心像素的子PU)。在此实例中,视频译码器可确定PU层级IPMVC指定参考块的所确定子PU的运动参数。如本发明中在其它地方所指示,视频译码器可以不同方式确定最接近于参考块的中心像素的子PU。举例来说,假定子PU大小为2Ux2U,最接近于参考块的中心像素的子PU包含相对于参考块的左上方样本具有以下坐标的像素:(((nPSW>>(u+1))-1)<<u,(((nPSH>>(u+1))-1)<<u)。替代性地,最接近于参考块的中心像素的子PU包含相对于参考块的左上方样本具有以下坐标的像素:((nPSW>>(u+1))<<u,(nPSH>>(u+1))<<u)。在这些方程式中,nPSW及nPSH分别为当前PU的明度预测块的宽度及高度。在此实例中,视频译码器可使用所确定子PU的运动参数作为PU层级IPMVC。PU层级IPMVC可指定IPMVC的代表性运动向量及代表性参考索引。以此方式,视频译码器可使用最接近于参考块的中心像素的子PU的运动参数以确定PU层级IPMVC。换句话说,视频译码器可从当前PU的对应区的中心位置导出PU层级IPMVC,并基于PU层级IPMVC确定是否将空间合并候选者包含于候选者列表中。从子PU使用的运动参数可与视频译码器用于建立IPMVC的运动参数相同。

在视频译码器正确定纹理合并候选者的一些实例中,从中心子PU使用以用于默认运动参数的运动信息可与用于建立PU层级运动参数继承(MPI)候选者的运动信息相同。视频译码器可基于PU层级MPI候选者确定是否将特定空间合并候选者包含于合并候选者列表中。举例来说,如果A1空间合并候选者与PU层级MPI候选者具有相同运动向量及相同参考索引,则视频译码器并不将A1空间合并候选者插入到合并候选者列表。类似地,如果B1空间合并候选者与A1空间合并候选者或PU层级MPI候选者具有相同运动向量及相同参考索引,则视频译码器并不将B1插入到合并候选者列表。

在图19的实例中,视频译码器可针对当前PU的当前子PU确定参考图片中的参考样本位置(354)。参考图片可在不同于含有当前PU的图片(即,当前图片)的视图中。在一些实例中,视频译码器可通过将当前PU的视差向量添加到当前子PU的中心像素的坐标而确定参考位置。在其它实例中(例如,当当前PU为深度PU时),参考样本位置可与当前深度PU的预测块的样本共置。

另外,视频译码器可确定当前子PU的参考块(356)。参考块可为参考图片的PU且可覆盖所确定参考样本位置。接下来,视频译码器可确定参考块是否经使用运动补偿预测译码(358)。举例来说,如果使用帧内预测译码参考块,则视频译码器可确定参考块未经使用运动补偿预测译码。如果使用运动补偿预测译码参考块,则参考块具有一或多个运动向量。

响应于确定参考块经使用运动补偿预测译码(358的“是”),视频译码器可基于参考块的运动参数设定当前子PU的运动参数(360)。举例来说,视频译码器可将当前子PU的RefPicList0运动向量设定为参考块的RefPicList0运动向量,可将当前子PU的RefPicList0参考索引设定为参考块的RefPicList0参考索引,可将当前子PU的RefPicList1运动向量设定为参考块的RefPicList1运动向量,且可将当前子PU的RefPicList1参考索引设定为参考块的RefPicList1参考索引。

另一方面,响应于确定参考块未经使用运动补偿预测译码(358的“否”),视频译码器可将当前子PU的运动参数设定为默认运动参数(362)。因此,在图19的实例中,当当前子PU的参考块未经使用运动补偿预测译码时,视频译码器并不将当前子PU的运动参数设定为具有经使用运动补偿预测译码的参考块的最接近子PU的运动参数。实际上,视频译码器可将当前子PU的运动参数直接设定为默认运动参数。此操作可简化并加速译码过程的过程。

在设定当前子PU的运动参数之后,视频译码器可确定当前PU是否具有任何额外子PU(364)。响应于确定当前PU具有一或多个额外子PU(364的“是”),视频译码器可通过将当前PU的子PU中的另一者作为当前子PU而执行动作354到364。以此方式,视频译码器可设定当前PU的子PU中的每一者的运动参数。另一方面,响应于确定并不存在当前PU的额外子PU(366的“否”),视频译码器可将候选者(例如,IPMVC)包含于用于当前PU的合并候选者列表中(366)。候选者可指定当前PU的子PU中的每一者的运动参数。

在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,则所述功能可作为一或多个指令或代码在计算机可读媒体上存储或发射,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体(例如,数据存储媒体),或包含促进将计算机程序从一处传送到另一处(例如,根据通信协议)的任何媒体的通信媒体。以此方式,计算机可读媒体通常可对应于(1)有形计算机可读存储媒体,其是非暂时性的,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一个或多个处理器接入以检索用于实施本发明中所描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。

借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构形式的所要程序代码且可由计算机接入的任何其它媒体。而且,可恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电及微波的无线技术从网站、服务器或其它远程源发射指令,则同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电及微波的无线技术包含在媒体的定义中。然而,应理解,所述计算机可读存储媒体及数据存储媒体并不包含连接、载波、信号或其它暂时媒体,而是实际上针对非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。上文的组合也应包含在计算机可读媒体的范围内。

可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路的一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指上述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可在经配置以用于编码及解码的专用硬件及/或软件模块内提供,或并入在组合编解码器中。而且,可将所述技术完全实施于一或多个电路或逻辑元件中。

本发明的技术可实施于广泛多种装置或设备中,包含无线手持机、集成电路(IC)或IC集合(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所揭示技术的装置的功能方面,但未必要求由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适软件及/或固件组合在编解码器硬件单元中,或由互操作硬件单元集来提供,所述硬件单元包含如上文所描述的一或多个处理器。

已描述各种实例。这些及其它实例属于以下权利要求书的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1