用于纹理及深度译码的子PU运动预测的制作方法

文档序号:17237060发布日期:2019-03-30 08:24阅读:344来源:国知局
用于纹理及深度译码的子PU运动预测的制作方法

技术领域

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



背景技术:

数字视频能力可以并入到多种多样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(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:确定所述相应子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是说明视图间运动预测中的对应预测单元(PU)区的识别的概念图。

图15是说明视图间运动预测中的对应PU的一个额外子预测单元(PU)行及子PU列的概念图。

图16是说明视图间运动预测中的对应PU的大小的四分之三的额外预测单元(PU)区的概念图。

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

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

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

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

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

图21是根据本发明的实例说明图20的参考图片列表构建操作的接续部分的流程图。

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

图23是根据本发明的实例说明编码深度块的视频译码器的操作的流程图。

图24是根据本发明的实例说明解码深度块的视频译码器的操作的流程图。

图25是根据本发明的实例说明确定视图间预测运动向量候选者的视频译码器的操作的流程图。

具体实施方式

本发明涉及基于高级编解码器的三维3D视频译码,包含深度译码技术。所提出的译码技术与控制3D-HEVC中的运动预测有关,更具体来说与深度译码有关。

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

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

当视频译码器执行运动预测时,视频译码器可当使用合并模式、跳过模式或AMVP模式发信号通知当前PU的运动信息时产生候选者列表(例如,合并候选者列表或AMVP候选者列表)。为了在3D-HEVC中实施视图间运动预测,视频译码器可将经视图间预测的运动向量候选者(IPMVC)包含在合并候选者列表及AMVP候选者列表中。视频译码器可以与候选者列表中的其它候选者相同的方式使用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的候选者列表中。在至少一些实例中,所述特定候选者具有当前PU的子PU中的每一者的运动参数。当候选者列表中的选定候选者是特定候选者时,视频译码器调用当前PU的子PU中的每一者的运动补偿。不尝试使用传统的译码技术编码及解码每一深度块,本发明的技术使用已经针对与当前深度块相同的视图及存取单元中的纹理块编码或解码的运动信息来编码或解码当前深度块。此可减小由视频译码装置执行的操作的数目,进而减少电力消耗及执行时间。

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

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

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

目的地装置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集成或在目的地装置14外部。显示装置32可包括多种显示装置,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。

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

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

在一些实例中,视频编码器20及视频解码器30根据视频压缩标准(例如ISO/IEC MPEG-4 Visual及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 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual以及ITU-T H.264、ISO/IEC Visual来操作。

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

此外,VCEG及MPEG的3D视频译码联合合作小组当前正在开发HEVC的多视图译码扩展(即,MV-HEVC)。泰克(Tech)等人的“MV-HEVC草案文本4”,ITU-T SG 16WP3及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的参考软件描述以及工作草案可如下得到:哲哈德·泰克(Gerhard Tech)等人的“3D-HEVC测试模型4”,JCT3V-D1005_spec_v1,ITU-T SG 16WP 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 16WP 3及ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发联合合作小组,第3次会议:瑞士日内瓦,2013年1月,文献号JCT3V-C1005(下文称为“3D-HEVC测试模型3”),截至2013年12月17日,其是3D-HEVC的参考软件描述的另一版本,其可从http://phenix.it-sudparis.eu/jct2/doc_end_user/current_document.php?id=706得到。3D-HEVC还描述于泰克等人的“3D-HEVC草案文本2”中,ITU-T SG 16WP 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旗标之外还发信号通知当前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为说明相对于当前PU 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可在切片标头中发信号通知语法元素(例如,collocated_from_l0_flag)以指示位于同一地点的图片是否处于RefPicList0或RefPicList1中。

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

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

从时间运动向量预测符导出的时间合并候选者的所有可能的参考图片列表的目标参考索引可始终被设定成0。然而,对于AMVP,所有可能的参考图片的目标参考索引可被设定成等于经解码参考索引。换句话说,从TMVP导出的时间合并候选者的所有可能的参考图片列表的目标参考索引始终被设定成0,而对于AMVP,时间合并候选者可被设定成等于经解码参考索引。在HEVC中,当sps_temporal_mvp_enable_flag等于1时,SPS可包含旗标(例如,sps_temporal_mvp_enable_flag)且切片标头可包含旗标(例如,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单元。因此,视频数据可概念化为随时间出现的一系列存取单元。

在3DV译码中,例如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。

在孙等人的“3D-CE5.h:基于HEVC的3D视频译码的视差向量导出的简化,文献JCTV3-A0126(3D-CE5.h:Simplification of disparity vector derivation for HEVC-based 3D video coding,document JCTV3-A0126)”中,IDV与NBDV导出过程的简化版本包含在一起。在康等人的“3D-CE5.h相关:视差向量导出的改进(3D-CE5.h related:improvements for disparity vector derivation)”文献JCT3V-B0047中通过移除存储在经解码图片缓冲器中的IDV并且还向随机存取点(RAP)图片选择提供改进的译码增益而进一步简化NBDV导出过程中的IDV的使用。视频译码器可将传回的视差运动向量或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)”。来自NBDV方案的视差向量随后被来自DoNBDV方案的此新导出的视差向量取代以用于AMVP及合并模式的视图间候选者导出。视频译码器可使用未细化的视差向量用于视图间残差预测。

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

视频译码器可执行BVSP以合成视图分量。在田等人的“CE1.h:使用相邻块的向后视图合成预测(CE1.h:Backward View Synthesis Prediction Using Neighboring Blocks)”(文献JCT3V-C0152(下文称为“JCT3V-C0152”)且在第三次JCT-3V会议中采用)中提出BVSP方法。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模式视为特殊经帧间译码模式,且视频译码器可维持指示针对每一PU使用BVSP模式的旗标。不在位流中发信号通知旗标,视频译码器可将新的合并候选者(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值,那么视频译码器可基于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的运动信息产生IPMVC以用于包含在当前PU 50的合并候选者列表中。IPMVC可具有第一运动向量62及第二运动向量64。运动向量62匹配运动向量54,且运动向量64匹配运动向量56。视频译码器产生IPMVC以使得IPMVC的第一参考索引指示参考图片(即,参考图片66)的当前PU 50的RefPicList0中的在与参考图片58相同的时间实例(即,时间实例T0)中出现的位置。在图8的实例中,参考图片66出现在当前PU 50的RefPicList0中的第一位置(即,Ref0)中。此外,视频译码器产生IPMVC以使得IPMVC的第二参考索引指示参考图片(即,参考图片68)的当前PU 50的RefPicList1中的在与参考图片60相同的时间实例中出现的位置。因此,在图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.用于时间合并候选者的导出过程

类似于HEVC中的时间合并候选者导出过程(其中利用位于同一地点的PU的运动信息),然而,时间合并候选者的目标参考图片索引可替代地改变为固定到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.53.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被设定成等于假,且重复以下步骤直到combStop等于真为止:

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设定成等于真。

运动向量继承(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中用于组合双向预测合并候选者的导出过程

如果从以上两个步骤导出的候选者的总数小于候选者的最大数目,那么视频译码器可执行与在HEVC中相同的过程,除了l0CandIdx及l1CandIdx的规范之外。在图9的表中界定combIdx、l0CandIdx及l1CandIdx之间的关系。

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

-执行如HEVC中界定的同一程序。

如上文所指示,3D-HEVC提供视图间残差预测。高级残差预测(ARP)是一种形式的视图间残差预测。在第4次JCT3V会议中采用在分割模式等于Part_2N×2N的情况下将ARP应用于CU,如张等人的“CE4:用于多视图译码的高级残差预测(CE4:Advanced Residual Prediction for Multiview Coding)”中所提出,ITU-T SG 16WP 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时,视频译码器不对当前CU使用ARP。

在张等人的“3D-CE4:用于多视图译码的高级残差预测(3D-CE4:Advanced Residual Prediction for Multiview Coding)”中,ITU-T SG 16WP 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是视差向量且nPSW×nPSH是当前PU的大小,且PicWidthInSamplesL及PicHeightInSamplesL界定参考视图(与当前视图相同)中的图片的分辨率。

安等人的“3D-CE3.h相关:子PU层级视图间运动预测(3D-CE3.h related:Sub-PU level inter-view motion prediction)”(ITU-T SG 16WP 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更小的大小。当前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。在此技术中,甚至一个PU可具有每一子PU的不同运动信息,此以一种方式实现,使得将仅一个合并候选者添加到合并列表。当选择此候选者时,可单独地调用对每一子PU而不是当前PU的运动补偿。

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的预测块。

JCT3V-E0184中所提出的子PU运动预测方法包含低效率。即使PU中的子PU共享相同的视差向量,对对应块的存取也是逐个地进行,其使得存储器存取较不有效且导致大量冗余计算。在视图间运动预测的各种方法中,可从多个参考块存取运动信息。当使这些方法延伸到子PU时,存储器存取可能加倍。此外,对应于当前PU的参考图片列表(RefPicList0或RefPicList1)的子PU的参考索引可不同,因此可通过多于对应于RefPicList0或RefPicList1的每一预测方向的参考图片来预测一个PU内的像素。因此,此PU的高速缓存未命中率高得多。另外,针对相邻子PU调用单独的运动补偿过程,甚至当这些相邻子PU可具有相同的运动信息时也如此。此导致在运动补偿技术期间较不有效的存储器存取及潜在高的存储器存取带宽。

本文中揭示与视图间运动预测相关的技术以整体或部分地解决以上问题中的一些问题。所述技术可在当合并索引指示视图间运动预测时的背景中应用。将认识到,特定实例可以任何合适的组合并入以下特征。

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

根据一个实例,对子PU的运动信息的存取不逐个地进行,而是,识别对应于当前PU的整个子PU对准的区,且一起且一次存取所述整个区的运动信息,如图14中所展示。图14是说明视图间运动预测中的对应PU区的识别的概念图。将当前PU的左上方样本标示为(x,y),将参考视图中的对应PU区的左上方样本识别为(xRefPU,yRefPU),其中:

xRefPU=(x+dv[0]+(nPSWSub>>1))/nPSWSub;及

yRefPU=(y+dv[1]+(nPSWSub>>1))/nPSHSub。

在识别(xRefPU,yRefPU)之后,通过将左上方位置视为(xRefPU,yRefPU)且大小视为与当前PU相同而在参考视图中识别对应PU区(其不一定属于一个PU)。此区的运动信息被存取且一对一匹配地分配给每一子PU:具有拥有(x+i*nPSWSub,y+j*nPSHSub)坐标的左上方像素的子PU具有对应的子PU区,其具有相同的大小及左上方像素坐标(xRefPU+i*nPSWSub,yRefPU+j*nPSHSub)。

dv是视差向量,其可导出为dv[i]=(mvDisp[i]+2)>>2),每一i从0到1,且mvDisp是如3D-HEVC WD中导出的视差向量。nPSWSubxnPSHSub是子PU的大小。更具体来说,在一些实例中,仅允许正方形子PU且PU的宽度是2的幂,标示为(1<<SPU),其中“SPU”是PU的宽度。因此,左上方对应PU区具有坐标((x+dv[0]+(1<<(SPU-1)))>>SPU,(y+dv[1]+(1<<(SPU-1)))>>SPU)。通常,SPU可为2、3或4。替代地,可在计算(XRefPU,YRefPU)之前将小移位添加到(x,y),其中x+=o,y+=o,且o等于-1、-2、-3、1、2或3。

在一些实例中,对应PU区可在图片边界之外。在此实例中,运动信息可能被填补到不可用的区。换句话说,填补过程可用于产生由运动信息指示的位置的像素值。替代地,此不可用的区的运动信息不被存取且可直接视为不可用。替代地,如果对应的子PU在参考视图的译码树块(CTB)行(其在与当前图片相同的CTB行中)之外,那么对应PU区的中心位置中的子PU用于当前子PU。换句话说,如果对应的子PU不在与当前子PU相同的CTB行中,那么对应PU区的中心位置中的子PU用于当前子PU的运动预测。

在上文相对于图14描述的实例中,任选地,当允许存取每一子PU的多个块时,可存取更多区,但此可针对所有块一次且一起进行。在一个实例中,存取一个以上子PU行及一个以上子PU列,如图15中所展示。图15是说明视图间运动预测中的对应PU的一个额外子PU行及子PU列的概念图。对于当前子PU,首先使用对应子PU区的运动信息,如果不可用,那么使用右下方邻近子PU的运动信息。例如如果当前子PU具有左上方像素坐标(x+i*nPSWSub,y+j*nPSHSub),且对应的子PU区(具有左上方像素坐标(xRefPU+i*nPSWSub,yRefPU+j*nPSHSub))不可用,那么可使用具有左上方像素坐标(xRefPU+(i+1)*nPSWSub,yRefPU+(j+1)*nPSHSub)的一个子PU区。

在另一实例中,区延伸到对应PU区的右边及下方,大小是当前PU的3/4,如图16中所展示。图16是说明视图间运动预测中的对应PU的大小的四分之三的额外PU区。如果对应子PU区不含有可用的运动信息,那么可使用具有一半PU宽度及一半PU高度的距离的对应子PU区右下方方向上的子PU。此PU的左上方像素坐标是(xRefPU+i*nPSWSub+PUWidth/2,yRefPU+j*nPSHSub+PUHeight/2),其中PUWidth×PUHeight是当前PU的大小。如相对于图15及16所描述的以上两个技术可进行组合,进而使用至多三个子PU导出当前子PU的运动信息。

在一些实例中,可译码所有子PU以经由朝向targetRefLX(其中X为0或1)缩放运动向量而使用相同参考图片用于相同参考图片列表(由targetRefLX标示)。基于POC距离而缩放运动向量,与HEVC运动预测中类似。此图片可被称为目标子PU运动预测图片。在一个实例中,targetRefL0及targetRefL1可相同。在另一实例中,targetRefLX可为由当前PU内的所有子PU最经常使用的参考图片。在又另一实例中,targetRefLX可为当前参考图片列表X的第一条目。

在一些实例中,targetRefLX可为与当前图片的参考图片列表中的当前图片的参考图片、具有参考图片列表中的最小参考图片索引的时间参考图片(来自相同视图)或由高级残差预测使用的目标参考图片具有最小POC差的参考图片。在一些实例中,整个图片的所有PU使用相同的参考图片targetRefLX用于子PU层级视图间运动预测。另外,可在切片标头中发信号通知此图片。在一些实例中,如果参考视图中的子PU含有对应于视图间参考的运动向量,那么所述子PU被视为不可用。当覆盖与空间合并候选者相关联的位置的PU是使用帧内预测被译码或在当前切片或图片边界之外时,子PU可为不可用的。

在一些实例中,当参考图片对应于时间参考图片时,分配一个目标子PU运动预测图片用于时间预测,且当参考图片对应于视图间参考图片时,分配另一目标子PU运动预测图片用于视图间预测。在本发明中,分配目标运动预测图片用于预测意味着对应于目标运动预测图片的运动信息被复制且指派给当前图片。对应于第二目标子PU运动预测图片的运动向量是基于视图识别符或其它相机参数而经缩放。

任选地,可进行子PU运动的统一,使得如果多个相邻子PU具有相同的运动信息,那么可仅进行一次对它们的运动补偿。换句话说,相同的运动信息可指派给多个相邻子PU,且对一个子PU的未来操作可由具有相同运动信息的相邻子PU继承。将PU视为具有相同运动信息的子PU的群组的根。视频译码器可将当前节点设定为根且可应用以下步骤。如果子PU群组的所有运动信息都相同(相同的运动向量及相同的参考索引是相同的),那么当前节点可被标记为“不拆分”,意味着所述子PU被分组在一起,使得对一个子PU执行的未来操作由所述群组中的剩余子PU继承。否则,将当前节点拆分为正方形大小区,每一区对应于新的节点。如果当前节点的大小是2W×2W,那么正方形大小区可为W×W或2W×2W。否则,如果当前节点是2W×W或W×2W,那么正方形大小区可为W×W。对于具有大小W×W的每一新节点,如果新节点含有多个子PU,那么视频译码器可将当前节点设定为新节点。否则,当前节点被标记为“不拆分”。在运动补偿期间,被标记为“不拆分”的节点内的所有像素具有一个运动补偿过程,意味着对标记为“不拆分”的其它子PU的群组中的一个子PU执行的所有操作由所述群组中的剩余子PU继承。在一些实例中,另外,可在PU内界定类似于当前HEVC CTB中的四叉树结构的四叉树结构,且当拆分旗标等于0时可在所述节点中执行运动补偿,其等效于当使用“不拆分”标记节点时的情形。

在一些实例中,不基于固定大小的子PU(由N×N标示,例如,N等于4、8或16)执行运动补偿,首先检查两个相邻子PU的运动信息,并且,如果所述运动信息相同(即,相同的运动向量及相同的参考索引),那么这两个子PU合并为一个更大的子PU且对所述合并的更大子PU执行一次运动补偿技术,而非执行两次,对所述子PU中的每一者一次。在一个实例中,在视频译码器检查两个相邻子PU的运动信息的第一循环中,首先检查相同行/列中的每两个相邻子PU且合并为一个2N×N(或N×2N)子PU。在视频译码器检查两个相邻子PU的运动信息的第二循环中,对于具有等于2N×N(或N×2N)的大小的相同行/列中的两个相邻子PU,进一步检查运动信息且在运动补偿相同的情况下合并为一个4N×N(或N×4N)子PU。换句话说,视频译码器检查两个相邻子PU的运动信息,且在所述相邻子PU两者的运动信息是相同的情况下将它们合并为单一更大的子PU。在一些实例中,在第一循环中,首先检查相同行/列中的每两个相邻子PU且合并为一个2N×N(或N×2N)子PU。在第二循环中,对于具有等于N×2N(或2N×N)的大小的相同列/行中的两个相邻子PU,进一步检查运动信息且在运动补偿相同的情况下合并为一个2N×2N子PU。

如在本发明中其它地方所指示,当未使用运动补偿预测译码当前子PU的参考块时,视频译码器可以光栅扫描次序搜索具有使用运动补偿预测译码的参考块的最靠近的子PU。如果视频译码器能够识别具有使用运动补偿预测译码的参考块的子PU,那么视频译码器可复制所识别的子PU的运动信息以作为当前子PU的运动信息。然而,根据本发明的一些技术,不复制光栅扫描次序中的与其运动信息不可用的当前子PU最靠近的子PU的运动信息,视频译码器从左边、上方、左上方或右上方相邻子PU复制运动信息。换句话说,如果参考图片的运动信息不可用,那么视频译码器可从定位在当前子PU左边、左上方、右上方或上方的相邻子PU检查运动信息。如果相邻子PU中的一者已经分配有来自参考图片的运动信息,那么来自所述相邻子PU的运动信息可被复制且分配给所述当前子PU。

如果未找到来自相邻子PU的此运动信息(例如,其是第一子PU且其参考块经帧内译码,所有相邻子PU都不可用),那么视频译码器使用默认运动向量及参考索引。在一个实例中,以某一次序一起使用上方、左上方及右上方相邻子PU三者。如果相邻子PU中的一者含有不可用的运动信息,那么可使用其它者。替代地,下方、左下方或右下方相邻子PU可用于填充当前对应子PU的运动信息(如果其运动信息不可用)。换句话说,可使用不同于左边、上方、左上方或右上方相邻子PU的相邻子PU。在一些实例中,默认运动向量是零运动向量(即,具有等于0的水平分量和垂直分量的运动向量)。此外,在一些实例中,默认参考索引等于语法元素targetRefLX。在一些实例中,默认参考索引等于0。

在一些实例中,类似于从一个纹理视图到另一纹理视图的当前子PU层级视图间运动预测,视频译码器可应用从一个纹理视图到对应深度视图的子PU层级运动预测。举例来说,当前PU被划分成若干子PU。所述子PU中的每一者使用位于同一地点的纹理块的运动信息用于运动补偿。换句话说,可对纹理块执行一次运动预测,且运动预测的结果可复制到位于同一地点的深度块。在此情况下,由视图间运动预测使用的视差向量被视为始终为零。

根据本发明的一或多种技术,视频译码器(例如视频编码器20)可:将当前预测单元(PU)划分为多个子PU。所述子PU中的每一者可具有小于所述PU的大小的大小。此外,所述当前PU可在所述多视图视频数据的深度视图中;对于来自所述多个子PU的每一相应子PU,视频编码器20可识别所述相应子PU的参考块。所述参考块可与对应于深度视图的纹理视图中的所述相应子PU位于同一地点。视频编码器20可使用所述相应子PU的所述所识别的参考块的运动参数确定所述相应子PU的运动参数。

根据本发明的一或多种技术,视频解码器30可将当前预测单元(PU)划分为多个子PU。所述子PU中的每一者可具有小于所述PU的大小的大小。此外,所述当前PU可在所述多视图视频数据的深度视图中。对于来自所述多个子PU的每一相应子PU,视频解码器30可识别所述相应子PU的参考块。所述参考块可与对应于深度视图的纹理视图中的所述相应子PU位于同一地点。视频解码器30可使用所述相应子PU的所述所识别的参考块的运动参数确定所述相应子PU的运动参数。在一些实例中,相同PU内的子PU的视差向量可不同。因此,可在参考图片中逐个地识别对应子PU,但可预期较高的译码效率。

在一些实例中,视频译码器(例如,视频编码器20或视频解码器30)可将当前PU划分为多个子PU。所述子PU中的每一者具有小于所述PU的大小的大小。在此些实例中,所述当前PU在所述多视图视频数据的深度视图中。对于来自所述多个子PU的至少一个相应子PU,视频译码器识别所述相应子PU的参考块。所述相应子PU的所述所识别的参考块与对应于深度视图的纹理视图中的所述相应子PU位于同一地点。此外,视频译码器可使用所述相应子PU的所述所识别的参考块的运动参数确定所述相应子PU的运动参数。

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

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

在一些实例中,视频编码器20可进一步包含视频数据存储器101。视频数据存储器101可存储待由视频编码器20的组件编码的视频数据。可(例如)从视频源18获得存储在视频数据存储器101中的视频数据。经解码图片缓冲器116可为参考图片存储器,其存储用于由视频编码器20(例如)在帧内或帧间译码模式中对视频数据进行编码的参考视频数据。视频数据存储器101和经解码图片缓冲器116可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器101和经解码图片缓冲器116可由相同存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器101可与视频编码器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可以在RefPicList0中的参考图片内搜索用于PU的参考区域,并且还可以在RefPicList1中的参考图片内搜索用于PU的另一参考区域。运动估计单元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产生的经熵编码数据的位流。

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

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

在一些实例中,视频解码器30可进一步包含视频数据存储器153。视频数据存储器153可存储待由视频解码器30的组件解码的视频数据,例如经编码视频位流。存储在视频数据存储器153中的视频数据可例如经由视频数据的有线或无线网络通信从计算机可读媒体16(例如从局部视频源(例如相机))获得,或通过存取物理数据存储媒体获得。视频数据存储器153可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。经解码图片缓冲器162可为存储供视频解码器30用于例如在帧内或帧间译码模式中解码视频数据的参考视频数据的参考图片存储器。视频数据存储器153和经解码图片缓冲器162可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器153及经解码图片缓冲器162可由相同的存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器153可与视频解码器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)且参考图片列表X中的中心参考子PU的参考图片具有等同于当前切片的参考图片列表X中的一个条目的POC值的POC值(X=0或1),那么其运动向量及参考图片用作PU层级经预测运动向量候选者。否则,视频译码器可使用参考图片列表0及参考图片列表1(如果当前切片是B切片)的具有等于0的参考图片索引的零运动作为PU层级经预测运动向量候选者。视频译码器可随后使用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的图片[[变量curSubBlockIdx设定成等于0且变量lastAvailableFlag设定成等于0]]。

-以下适用于导出变量旗标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)给定的位置的明度预测块。

-明度位置(xIvRefPb,yIvRefPb)设定成等于相对于由ivRefPic指定的视图间参考图片的左上方明度样本的由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]])

yRef=Clip3(0,PicHeightInSamplesL-1,

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

(H-185[[176]])

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

-明度位置(xIvRefPb,yIvRefPb)设定成等于相对于由ivRefPic指定的视图间参考图片的左上方明度样本的由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]。

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

根据本发明的一或多种技术,如果未使用运动补偿预测译码相应子PU的参考块,那么不响应于随后确定使用运动补偿预测译码特定次序中的任何稍后子PU的参考块而设定所述相应子PU的运动参数。因此,当视频译码器处理所述子PU时,视频译码器可不需要向前扫描以找到使用运动补偿预测译码其对应参考块的子PU或延迟确定相应子PU的运动参数直到视频译码器在子PU的处理期间遇到使用运动补偿预测译码其对应参考块的PU为止。有利的是,此可减小复杂度及译码延迟。

图19A是说明根据本发明的实例的使用帧间预测来编码CU的视频编码器20的实例操作的流程图。在图19A的实例中,视频编码器20可产生当前CU的当前PU的合并候选者列表(200)。根据本发明的一或多个实例,视频编码器20可产生合并候选者列表,使得合并候选者列表基于当前PU的子PU的运动信息而包含时间视图间合并候选者。在一些实例中,当前PU可为深度PU且视频编码器20可产生合并候选者列表,使得合并候选者列表基于当前深度PU的子PU的运动信息而包含纹理合并候选者。此外,在一些实例中,视频编码器20可执行图20的操作以产生当前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可与当前PU一样对当前CU的另一PU重复动作200到208。以此方式,视频编码器20可针对当前CU的每一PU重复动作200到208。

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

图19B是根据本发明的实例的说明使用帧间预测来解码CU的视频解码器30的实例操作的流程图。在图19B的实例中,视频解码器30可产生当前CU的当前PU的合并候选者列表(220)。根据本发明的一或多个实例,视频解码器30可基于当前PU的子PU的运动信息而产生合并候选者列表,使得所述合并候选者列表包含时间视图间合并候选者。在一些实例中,当前PU可为深度PU且视频解码器30可基于当前深度PU的子PU的运动信息而产生合并候选者列表,使得所述合并候选者列表包含纹理合并候选者。此外,在一些实例中,视频解码器30可执行图20的操作以产生当前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可与当前PU一样对当前CU的另一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)。

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

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

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

另外,视频译码器可确定当前视图分量是否为深度视图分量(258)。响应于确定当前视图分量是深度视图分量(258的“是”),视频译码器可确定纹理合并候选者(260)。纹理合并候选者可指定对应于当前(深度)视图分量的纹理视图分量中的一或多个PU的运动信息。根据本发明的一或多个实例,视频译码器可使用子PU层级运动预测技术产生纹理合并候选者。因此,纹理合并候选者可指定当前PU的每一子PU的运动参数。在一些实例中,视频译码器可执行图22的操作以确定纹理合并候选者。视频译码器可随后确定纹理合并分量是否可用(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是使用帧内预测被译码或在当前切片或图片边界之外时,例如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中展示的参考图片列表构建操作非部分(图20中标示为“A”)。

图21是说明根据本发明的实例的图20的参考图片列表构建操作的接续部分的流程图。在图21的实例中,视频译码器可确定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中所描述的操作而导出零运动向量候选者。

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

此外,在图22的实例中,视频译码器可设定默认运动向量及默认参考索引(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是视差向量且nPSW×nPSH是当前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大小是2U×2U,视频译码器可选择相对于当前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的有效运动参数。

此外,如上文关于图20的实例所描述,视频译码器可使用子PU层级运动预测技术确定纹理合并候选者。在此些实例中,当前PU可在本文中被称作“当前深度PU”。视频译码器可执行图22的操作以确定纹理合并候选者。因此,在视频译码器确定纹理合并候选者时,视频译码器可将当前深度PU划分为若干子PU且每一子PU使用位于同一地点的纹理块的运动信息用于运动补偿。此外,在视频译码器确定纹理合并候选者时,视频译码器可在子PU的对应纹理块经帧内译码或与对应纹理块的参考图片相同的存取单元中的图片未包含在当前深度PU的参考图片列表中的情况下将默认运动向量及参考索引指派给子PU。因此,一般来说,视频译码器可在位于同一地点的纹理块未经帧内译码且由位于同一地点的纹理块使用的参考图片处于当前深度图片的参考图片列表中时确定位于同一地点的纹理块具有有效运动信息。相反,在位于同一地点的纹理块经帧内译码或位于同一地点的纹理块使用不在当前深度图片的参考图片列表中的参考图片时,位于同一地点的纹理块的运动参数可为不可用的。

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

因此,在其中当前图片是深度视图分量且参考图片是在与当前图片相同的视图及存取单元中的纹理视图分量的一些实例中,视频译码器可将默认运动参数设定为与覆盖参考图片中的参考块的像素的块(即,与当前PU位于同一地点且具有与当前PU相同的大小)相关联的运动参数。在此些实例中,像素可为参考块的中心像素或参考块的另一像素。

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

在其中视频译码器确定纹理合并候选者的另一实例中,视频译码器可首先选择当前深度PU的中心子PU。在当前深度PU的所有子PU中,中心子PU可定位成最靠近(或可包含)当前深度PU的预测块的中心像素。视频译码器可随后使用与中心子PU位于同一地点的纹理块导出默认运动向量及参考索引。假设子PU大小是2U×2U,视频译码器可确定中心子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)。举例来说,视频译码器可确定PU层级IPMVC或PU层级运动参数继承(MPI)候选者(即,PU层级纹理合并候选者),其取决于视频译码器是确定IPMVC还是纹理合并候选者。视频译码器可基于PU层级运动向量候选者而确定是否将一或多个空间合并候选者包含在候选者列表中。在一些实例中,PU层级运动向量候选者指定与默认运动参数相同的运动参数。

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

在其中视频译码器确定IPMVC的另一实例中,视频译码器可基于当前PU的视差向量而确定视图间参考图片中的参考块。视频译码器可随后确定覆盖参考块的中心像素的子PU(即,最靠近参考块的中心像素的子PU)。在此实例中,视频译码器可确定PU层级IPMVC指定参考块的所确定的子PU的运动参数。如在本发明中其它地方所指示,视频译码器可以各种方式确定最靠近参考块的中心像素的子PU。举例来说,假设子PU大小是2U×2U,最靠近参考块的中心像素的子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插入到合并候选者列表中。

在图22的实例中,视频译码器可针对当前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)。因此,在图22的实例中,在未使用运动补偿预测译码当前子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中的每一者的运动参数。

图23是说明根据本发明的实例的用以编码深度块的视频译码器的操作的流程图。例如视频编码器20等视频译码器可将当前PU划分为多个子PU。所述子PU中的每一者可具有小于所述PU的大小的大小。此外,所述当前PU可在多视图视频数据的深度视图中(372)。视频编码器20可识别相应子PU的参考块(374)。所述参考块可与对应于深度视图的纹理视图中的所述相应子PU位于同一地点。视频编码器20可使用所述相应子PU的所述所识别的参考块的运动参数确定所述相应子PU的运动参数(376)。在一些实例中,动作(376)包括将所述相应子PU的所识别的参考块的运动参数用作所述相应子PU的运动参数。

如果存在额外的子PU(378的“是”),那么视频编码器20可针对当前PU的多个子PU的下一子PU执行动作(372)及(374)。以此方式,视频编码器20可针对多视图视频数据的深度视图中的当前PU的多个子PU的每一相应子PU识别所述相应子PU的参考块。所述相应子PU的所识别的参考块与对应于深度视图的纹理视图中的相应子PU位于同一地点。在使用时间运动向量译码所述相应子PU的所识别的参考块时,视频编码器20可使用所识别的参考块的运动参数确定相应子PU的运动参数。举例来说,视频编码器20可将所识别的参考块的运动参数用作所述相应子PU的运动参数。

在一些实例中,所述相应子PU的所识别的参考块的运动参数包含第一运动向量、第二运动向量、第一参考索引及第二参考索引,所述第一运动向量及所述第一参考索引用于第一参考图片列表,所述第二运动向量及所述第二参考索引用于第二参考图片列表。在一些实例中,对于多个子PU的每一相应子PU,在所述相应子PU的所识别的参考块的运动参数不可用时,视频编码器20可进一步将所述相应子PU的运动参数设定为第一默认运动向量、第二默认运动向量、第一默认参考索引及第二默认参考索引。在此实例中,所述第一默认运动向量及所述第一默认参考索引用于第一参考图片列表,且所述第二默认运动向量及所述第二默认参考索引用于第二参考图片列表。

在一些其它实例中,在未使用时间运动向量译码相应子PU的所识别的参考块或使用帧内预测译码相应子PU的所识别的参考块时,所述相应子PU的所识别的参考块的运动参数是不可用的。在一些实例中,在使用时间运动向量译码所述相应子PU的所识别的参考块时,对于所述多个子PU的每一相应子PU,视频编码器20可进一步更新所述第一和第二默认运动向量及所述第一和第二默认参考索引以等于所述相应子PU的运动参数。

在一些实例中,视频编码器20可进一步将特定候选者包含在当前PU的合并候选者列表中。所述特定候选者具有当前PU的子PU中的每一者的运动参数。视频编码器20可随后在位流中发信号通知指示合并候选者列表中的选定候选者的语法元素。在选定的候选者是特定候选者时,视频编码器20可调用用于当前PU的子PU中的每一者的运动补偿。

图24是说明根据本发明的实例的用以解码深度块的视频译码器的操作的流程图。例如视频解码器30等视频译码器可将当前PU划分为多个子PU。所述子PU中的每一者可具有小于所述PU的大小的大小。此外,所述当前PU可在多视图视频数据的深度视图中(382)。视频解码器30可识别相应子PU的参考块(384)。所述参考块可与对应于深度视图的纹理视图中的所述相应子PU位于同一地点。视频解码器30可使用所述相应子PU的所述所识别的参考块的运动参数确定所述相应子PU的运动参数(386)。在一些实例中,动作(386)包括将所述相应子PU的所识别的参考块的运动参数用作所述相应子PU的运动参数。

如果存在额外的子PU(388的“是”),那么视频解码器30可针对当前PU的多个子PU的下一子PU执行动作(382)及(384)。以此方式,视频解码器30可针对多视图视频数据的深度视图中的当前PU的多个子PU的每一相应子PU识别所述相应子PU的参考块。所述相应子PU的所识别的参考块与对应于深度视图的纹理视图中的相应子PU位于同一地点。在使用时间运动向量译码所述相应子PU的所识别的参考块时,视频解码器30可将所识别的参考块的运动参数用作相应子PU的运动参数。举例来说,视频解码器30可将所识别的参考块的运动参数用作所述相应子PU的运动参数。

在一些实例中,所述相应子PU的所识别的参考块的运动参数包含第一运动向量、第二运动向量、第一参考索引及第二参考索引,所述第一运动向量及所述第一参考索引用于第一参考图片列表,所述第二运动向量及所述第二参考索引用于第二参考图片列表。在一些实例中,对于多个子PU的每一相应子PU,在所述相应子PU的所识别的参考块的运动参数不可用时,视频解码器30可进一步将所述相应子PU的运动参数设定为第一默认运动向量、第二默认运动向量、第一默认参考索引及第二默认参考索引。在此实例中,所述第一默认运动向量及所述第一默认参考索引用于第一参考图片列表,且所述第二默认运动向量及所述第二默认参考索引用于第二参考图片列表。

在一些其它实例中,在未使用时间运动向量译码相应子PU的所识别的参考块或使用帧内预测译码相应子PU的所识别的参考块时,所述相应子PU的所识别的参考块的运动参数是不可用的。在一些实例中,在使用时间运动向量译码所述相应子PU的所识别的参考块时,对于所述多个子PU的每一相应子PU,视频解码器30可进一步更新所述第一和第二默认运动向量及所述第一和第二默认参考索引以等于所述相应子PU的运动参数。

在一些实例中,视频解码器30可进一步将特定候选者包含在当前PU的合并候选者列表中,其中所述特定候选者具有当前PU的子PU中的每一者的运动参数。视频解码器30可随后从位流获得指示合并候选者列表中的选定候选者的语法元素。在选定的候选者是特定候选者时,视频解码器30可调用用于当前PU的子PU中的每一者的运动补偿。

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

此外,在图25的实例中,视频译码器可设定默认运动向量及默认参考索引(402)。在不同实例中,视频译码器可以不同方式设定默认运动向量及默认参考索引。在一些实例中,默认运动参数(即,默认运动向量及默认参考索引)等于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是视差向量且nPSW×nPSH是当前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大小是2U×2U,视频译码器可选择相对于当前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的有效运动参数。

此外,如上文关于图20的实例所描述,视频译码器可使用子PU层级运动预测技术确定纹理合并候选者。在此些实例中,当前PU可在本文中被称作“当前深度PU”。视频译码器可执行图25的操作以确定纹理合并候选者。因此,在视频译码器确定纹理合并候选者时,视频译码器可将当前深度PU划分为若干子PU且每一子PU使用位于同一地点的纹理块的运动信息用于运动补偿。此外,在视频译码器确定纹理合并候选者时,视频译码器可在子PU的对应纹理块经帧内译码或与对应纹理块的参考图片相同的存取单元中的图片未包含在当前深度PU的参考图片列表中的情况下将默认运动向量及参考索引指派给子PU。因此,一般来说,视频译码器可在位于同一地点的纹理块未经帧内译码且由位于同一地点的纹理块使用的参考图片处于当前深度图片的参考图片列表中时确定位于同一地点的纹理块具有有效运动信息。相反,在位于同一地点的纹理块经帧内译码或位于同一地点的纹理块使用不在当前深度图片的参考图片列表中的参考图片时,位于同一地点的纹理块的运动参数可为不可用的。

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

因此,在其中当前图片是深度视图分量且参考图片是在与当前图片相同的视图及存取单元中的纹理视图分量的一些实例中,视频译码器可将默认运动参数设定为与覆盖参考图片中的参考块的像素的块(即,与当前PU位于同一地点且具有与当前PU相同的大小)相关联的运动参数。在此些实例中,像素可为参考块的中心像素或参考块的另一像素。

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

在其中视频译码器确定纹理合并候选者的另一实例中,视频译码器可首先选择当前深度PU的中心子PU。在当前深度PU的所有子PU中,中心子PU可定位成最靠近(或可包含)当前深度PU的预测块的中心像素。视频译码器可随后使用与中心子PU位于同一地点的纹理块导出默认运动向量及参考索引。假设子PU大小是2U×2U,视频译码器可确定中心子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的默认运动信息(402)。因此,视频译码器不需要存储当前PU中的更多运动向量来用于预测空间相邻块、时间相邻块(在含有此PU的图片在TMVP期间用作位于同一地点的图片时),或解块。

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

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

在其中视频译码器确定IPMVC的另一实例中,视频译码器可基于当前PU的视差向量而确定视图间参考图片中的参考块。视频译码器可随后确定覆盖参考块的中心像素的子PU(即,最靠近参考块的中心像素的子PU)。在此实例中,视频译码器可确定PU层级IPMVC指定参考块的所确定的子PU的运动参数。如在本发明中其它地方所指示,视频译码器可以各种方式确定最靠近参考块的中心像素的子PU。举例来说,假设子PU大小是2U×2U,最靠近参考块的中心像素的子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插入到合并候选者列表中。

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

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

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

另一方面,响应于确定未使用运动补偿预测译码参考块(410的“否”),视频译码器可确定是否已使用不同于默认运动参数的运动参数译码与当前子PU相邻的任何子PU(414)。例如,视频译码器可分析用于直接译码在当前子PU的左边的子PU的运动参数以确定所述相邻子PU是否已经被分配不同于默认运动参数的运动参数。在其它实例中,视频译码器可检查上方相邻子PU、左上方相邻子PU或右上方相邻子PU以确定所述相邻子PU是否已经被分配不同于默认运动参数的运动参数。在一些实例中,视频译码器以特定次序分析左边相邻子PU、上方相邻子PU、左上方相邻子PU及右上方相邻子PU以确定所述相邻子PU是否已经被分配不同于默认运动参数的运动参数。在一些实例中,视频译码器以某一次序分析上方相邻子PU、左上方相邻子PU及右上方相邻子PU以确定所述相邻子PU是否已经被分配不同于默认运动参数的运动参数。在一些实例中,视频译码器分析下方相邻子PU、左下方相邻子PU及右下方相邻子PU以确定所述相邻子PU已经被分配不同于默认运动参数的运动参数。在另一实例中,视频译码器可以任何特定次序分析所描述的相邻子PU的任何组合以确定所述相邻子PU是否已经被分配不同于默认运动参数的运动参数。

在上文相对于步骤414描述的分析之后,如果确定相邻子PU中的一者已经被分配不同于默认运动参数的运动参数(414的“是”),那么视频译码器可复制相邻子PU的运动参数且将所述运动参数分配给当前子PU(416)。

另一方面,响应于确定相邻子PU尚未被分配不同于默认运动参数的运动参数(414的“否”),视频译码器可将当前子PU的运动参数设定为默认运动参数(418)。例如如果当前子PU是第一子PU且当前子PU的参考块经帧内译码,或如果所有相邻子PU都不可用,那么可确定这样。因此,在图25的实例中,在未使用运动补偿预测译码当前子PU的参考块且当前子PU不具有已经被给予不同于默认运动参数的运动参数的相邻者时,视频译码器不将当前子PU的运动参数设定为具有使用运动补偿预测译码的参考块的最靠近子PU的运动参数。而是,视频译码器可将当前子PU的运动参数直接设定为默认运动参数。此可简化并加快译码过程的过程。在一些实例中,默认运动参数可包含默认运动向量及默认参考索引。在一些实例中,默认运动向量等于零运动向量。在一些实例中,默认参考索引等于targetRefLX或0。

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

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

可使用多种不同技术和技艺中的任一者来表示本文中所揭示的信息和信号。例如,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或或其任何组合来表示贯穿以上描述可能参考的数据、指令、命令、信息、信号、位、符号和码片。

结合本文揭示的实施例所描述的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计算机软件,或两者的组合。为清晰地说明硬件与软件的此可互换性,以上已大体就其功能性来描述了各种说明性组件、块、模块、电路和步骤。此类功能性是实施为硬件还是软件取决于具体应用及施加于整个系统的设计约束。熟练的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但这样的实施方案决策不应被解释为会引起脱离本发明的范围。

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

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

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

本文论述的译码技术可为实例视频编码和解码系统中的实施例。系统包含提供经编码视频数据以在稍后时间由目的地装置解码的源装置。明确地说,源装置经由计算机可读媒体将视频数据提供到目的地装置。源装置和目的地装置可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、所谓的“智能”板、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置,或类似物。在一些情况下,源装置和目的地装置可经装备以用于无线通信。

目的地装置可经由计算机可读媒体接收待解码的经编码视频数据。计算机可读媒体可包括能够将经编码视频数据从源装置移动到目的地装置的任何类型的媒体或装置。在一个实例中,计算机可读媒体可包括使得源装置12能够实时将经编码视频数据直接发射到目的地装置的通信媒体。经编码视频数据可根据例如无线通信协议等通信标准加以调制,且发射到目的地装置。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。通信媒体可形成分组网络(例如,局域网、广域网或全球网络,例如因特网)的部分。通信媒体可包含可用于促进从源装置到目的地装置的通信的路由器、交换器、基站或任何其它设备。

在一些实例中,经编码数据可从输出接口输出到存储装置。类似地,经编码数据可由输入接口从存储装置存取。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或任何其它用于存储经编码的视频数据的合适的数字存储媒体。在另一实例中,存储装置可对应于文件服务器或可存储由源装置产生的经编码视频的另一中间存储装置。目的地装置可经由流式传输或下载从存储装置存取所存储的视频数据。文件服务器可为能够存储经编码视频数据和将所述经编码视频数据发射到目的地装置的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接式存储(NAS)装置或本地磁盘驱动器。目的地装置可通过任何标准数据连接(包含因特网连接)来存取经编码的视频数据。此可包含无线通道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置的发射可能是流式传输发射、下载发射或其组合。

本发明的技术未必限于无线应用或环境。所述技术可以应用于视频译码以支持多种多媒体应用中的任一者,例如空中协议电视广播、有线电视发射、卫星电视发射、因特网流式视频发射(例如,经由HTTP的动态自适应流式传输(DASH))、经编码到数据存储媒体上的数字视频、存储在数据存储媒体上的数字视频的解码或其它应用。在一些实例中,系统可经配置以支持单向或双向视频传输,以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。

在一个实例中,源装置包含视频源、视频编码器和输出接口。目的地装置可包含包含输入接口、视频解码器和显示装置。源装置的视频编码器可经配置以应用本文所揭示的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置可从外部视频源(例如,外部相机)接收视频数据。同样,目的地装置可与外部显示装置介接,而非包含集成显示装置。

以上实例系统仅是一个实例。用于并行处理视频数据的技术可由任何数字视频编码和/或解码装置来执行。尽管本发明的技术一般通过视频编码装置来执行,但是所述技术还可通过视频编码器/解码器(通常被称作“编码解码器”)来执行。此外,本发明的技术还可由视频预处理器执行。源装置和目的地装置仅为源装置在其中产生经译码视频数据以供发射到目的地装置的此类译码装置的实例。在一些实例中,源装置和目的地装置可以实质上对称方式操作以使得所述装置中的每一者包含视频编码和解码组件。因此,实例系统可支持视频装置之间的单向或双向视频发射,例如用于视频流式传输、视频回放、视频广播或视频电话。

视频源可包含视频俘获装置,例如,视频相机、含有先前所俘获视频的视频档案和/或用于从视频内容提供者接收视频的视频馈入接口。作为再一替代方案,视频源可产生基于计算机图形的数据作为源视频,或实况视频、经存档视频与计算机产生的视频的组合。在一些情况下,如果视频源为摄像机,那么源装置和目的地装置可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明中所描述的技术可大体上适用于视频译码,且可应用于无线和/或有线应用。在每一情况下,可由视频编码器编码所俘获、预先俘获或计算机产生的视频。经编码视频信息可随后由输出接口输出到计算机可读媒体上。

如所提到,计算机可读媒体可包含瞬时媒体,例如,无线广播或有线网络传输,或存储媒体(即,非暂时性存储媒体),例如,硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未图示)可从源装置接收经编码视频数据,且(例如)经由网络传输将经编码视频数据提供到目的地装置。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置接收经编码的视频数据且生产含有经编码的视频数据的光盘。因此,在各种实例中,计算机可读媒体可理解为包含各种形式的一或多个计算机可读媒体。

目的地装置的输入接口从计算机可读媒体接收信息。计算机可读媒体的信息可包含由视频编码器定义的也供视频解码器使用的语法信息,所述语法信息包含描述块和其它经译码单元(例如,图片群组(GOP))的特性和/或处理的语法元素。显示装置向用户显示经解码视频数据,且可包括多种显示装置中的任一者,例如,阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。

已经描述各种实例。这些和其它实例属于所附权利要求书的范围内。

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