视差矢量推导的制作方法

文档序号:16289515发布日期:2018-12-18 20:29阅读:451来源:国知局
视差矢量推导的制作方法

技术领域

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



背景技术:

数字视频能力可并入到广泛范围的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(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视频位流可不仅含有纹理视图分量而且含有深度视图分量。举例来说,每一视图可包括一个纹理视图分量及一个深度视图分量。



技术实现要素:

大体上,本发明涉及多视图及三维视频译码。详细地说,本发明描述编码及解码视频数据的技术。根据所述技术,将父块(诸如,译码单元(CU)或译码树型单元(CTU))分割成多个块,诸如,预测单元(PU)或CU。此外,视频译码器可执行视差矢量推导过程以推导所述多个块中的代表性块的视差矢量。如果所述视频译码器为视频编码器,那么所述视频编码器可部分地通过基于所述所推导的视差矢量且在不分开地推导所述多个块中除所述代表性块之外的任何块的视差矢量的情况下针对所述多个块中的两个或两个以上块而分开地执行视图间预测来产生包含所述视频数据的经译码表示的位流。如果所述视频译码器为视频解码器,那么所述视频解码器可部分地通过基于所述所推导的视差矢量且在不分开地推导所述多个块中除所述代表性块之外的任何块的视差矢量的情况下针对所述多个块中的两个或两个以上块而分开地执行视图间预测来重构所述多个块中的所述两个或两个以上块的样本块。

在一个实例中,本发明描述一种用于解码视频数据的方法,所述方法包括:执行视差矢量推导过程以推导多个块中的代表性块的视差矢量,其中所述视频数据包含被分割成所述多个块的父块;及部分地通过基于所述所推导的视差矢量且在不分开地推导所述多个块中除所述代表性块之外的任何块的视差矢量的情况下针对所述多个块中的两个或两个以上块而执行视图间预测来重构所述多个块中的所述两个或两个以上块的样本块。

在另一实例中,本发明描述一种编码视频数据的方法,所述方法包括:执行视差矢量推导过程以推导多个块中的代表性块的视差矢量,其中所述视频数据包含被分割成所述多个块的父块;及部分地通过基于所述所推导的视差矢量且在不分开地推导所述多个块中除所述代表性块之外的任何块的视差矢量的情况下针对所述多个块中的两个或两个以上块而执行视图间预测来产生包含所述视频数据的经译码表示的位流。

在另一实例中,本发明描述一种装置,所述装置包括:存储器,其经配置以存储视频数据;及一或多个处理器,其经配置以:执行视差矢量推导过程以推导多个块中的代表性块的视差矢量,其中所述视频数据包含被分割成所述多个块的父块;及基于所述所推导的视差矢量且在不分开地推导所述多个块中除所述代表性块之外的任何块的视差矢量的情况下针对所述多个块中的两个或两个以上块而执行视图间预测。

在另一实例中,本发明描述一种装置,所述装置包括:用于执行视差矢量推导过程以推导多个块中的代表性块的视差矢量的装置,其中视频数据包含被分割成所述多个块的父块;及用于基于所述所推导的视差矢量且在不分开地推导所述多个块中除所述代表性块之外的任何块的视差矢量的情况下针对所述多个块中的两个或两个以上块而执行视图间预测的装置。

在另一实例中,本发明描述一种非暂时性计算机可读数据存储媒体,所述非暂时性计算机可读数据存储媒体具有存储在其上的指令,所述指令在执行时致使装置:执行视差矢量推导过程以推导多个块中的代表性块的视差矢量,其中视频数据包含被分割成所述多个块的父块;及基于所述所推导的视差矢量且在不分开地推导所述多个块中除所述代表性块之外的任何块的视差矢量的情况下针对所述多个块中的两个或两个以上块而执行视图间预测。

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

附图说明

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

图2为说明相对于当前PU的实例空间相邻预测单元(PU)的概念图。

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

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

图5为说明在时间候选者图片的对应PU中的实例时间邻居的概念图。

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

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

图8为说明在与译码单元(CU)相同的2N×2N PU中的实例空间及时间邻居的概念图。

图9为说明用于基于相邻块的视差矢量(NBDV)推导过程中的实例空间及时间相邻块的概念图,在所述NBDV推导过程中,CU的第一PU为所述CU的代表性PU。

图10为说明根据本发明的一或多个技术的视频译码器的实例操作的流程图。

图11A为说明根据本发明的一或多个技术的用于执行视图间运动预测的视频编码器的实例操作的流程图。

图11B为说明根据本发明的一或多个技术的用于执行视图间运动预测的视频解码器的实例操作的流程图。

图12A为说明根据本发明的一或多个技术的用于执行视图间残差预测的视频编码器的实例操作的流程图。

图12B为说明根据本发明的一或多个技术的用于执行视图间残差预测的视频解码器的实例操作的流程图。

图13为说明两个PU的实例左空间相邻块及上空间相邻块的概念图。

图14为说明用于NBDV推导过程中的左、上及左上空间相邻块的概念图。

图15为说明根据本发明的一或多个技术的视频译码器的实例操作的流程图。

图16为说明根据本发明的实例的用以确定当前块的视差矢量的视频译码器的实例操作的流程图。

图17为说明根据本发明的一或多个技术的用以确定当前块的视差矢量的视频译码器的实例操作的流程图。

图18为说明图17中所示的操作的实例延续的流程图。

具体实施方式

高效率视频译码(HEVC)是新近开发的视频译码标准。3D-HEVC是用于三维(3D)视频数据的HEVC扩展。3D-HEVC提供相同场景从不同视点的多个视图。3D-HEVC的标准化努力包含多视图视频编码解码器基于HEVC的标准化。在3D-HEVC中,启用基于来自不同视图的经重构视图分量(即,经重构图片)的视图间预测。此外,3D-HEVC实施视图间运动预测及视图间残差预测。

每一视图的图片(其表示视频的相同时间实例)包含类似的视频内容。然而,视图的视频内容可相对于彼此而空间地位移。详细地说,视图的视频内容可表示不同透视。举例来说,在第一视图中的图片中的视频块可包含类似于在第二视图中的图片中的视频块的视频内容。在这个实例中,在第一视图中的图片中的视频块的位置与在第二视图中的图片中的视频块的位置可不同。举例来说,在不同视图中的视频块的位置之间可存在某一位移。

视频块的视差矢量提供对这个位移的度量。举例来说,在第一视图中的图片的视频块可与视差矢量相关联,所述视差矢量指示在第二视图中的图片中的对应视频块的位移。

将一种用以推导视频块的视差矢量的技术称作相邻块视差矢量(NBDV)推导。在NBDV推导技术中,视频译码器(例如,视频编码器或视频解码器)评估与当前块相邻的块以便确定所述相邻块中的任一者是否已用不同视图中的图片而加以帧间预测。举例来说,多视图译码提供视图间预测。在视图间预测中,在第一视图中的图片中的视频块是用在第二不同视图中的图片中的数据(例如,视频块)而加以帧间预测。视图间预测类似于帧间预测,其中在帧间预测与视图间预测两者中,一图片中的视频块是用另一图片中的视频块而加以帧间预测。然而,在规则帧间预测中,图片是来自相同视图,而在视图间预测中,图片是来自不同视图。

存在若干形式的视图间预测,包含视图间运动补偿、视图间运动预测及视图间残差预测。在视图间运动补偿中,视频译码器可确定正加以视图间预测的块的运动矢量。为避免混淆,将用于视图间预测的运动矢量称作视差运动矢量,这是因为这个运动矢量是指不同视图中的图片。将用于规则帧间预测的运动矢量称作时间运动矢量,这是因为这个运动矢量是指在相同视图中但在不同时间实例中的图片。

视差运动矢量识别用于当前块的视图间运动补偿的块。另一方面,视差矢量识别在不同视图中的图片中的块,所述块包含与当前块的视频内容类似的视频内容。可存在视差矢量的各种目的,所述目的不同于视差运动矢量的目的。然而,视差矢量被用于与视差运动矢量相同的目的是可为有可能的,在所述状况下视差矢量与视差运动矢量变得相同。然而,一般来说,视差矢量与视差运动矢量可为不同矢量,且可用于不同目的。

在NBDV推导技术中,视频译码器评估当前块的相邻块且确定所述相邻块中的任一者是否已用视差运动矢量而加以视图间预测。如果相邻块是用视差运动矢量而加以视图间预测,那么视频译码器可将所述相邻块的视差运动矢量转换成当前块的视差矢量。举例来说,视频译码器可通过保持视差运动矢量的水平分量且将视差运动矢量的垂直分量设置到0来将相邻块的视差运动矢量转换成当前块的视差矢量。在其它实例中,当将相邻块的视差运动矢量转换到当前块的视差矢量时,视频译码器可将垂直分量设置到除0之外的值。相邻块可包含在与当前块相同的图片中的块(例如,空间相邻块)。这些空间相邻块可用视差运动矢量而加以视图间预测,且将空间相邻块的视差运动矢量(其可形成当前块的视差矢量)称作空间视差矢量(SDV)。在一些实例中,相邻块可包含在不同于其中驻留有当前块的图片的图片中的块(例如,时间相邻块)。这些时间相邻块可用视差运动矢量而加以视图间预测,且将时间相邻块的视差运动矢量(其可形成当前块的视差矢量)称作时间视差矢量(TDV)。

在一些实例中,作为执行NBDV推导的部分,视频译码器可基于相邻块的隐式视差矢量(IDV)来确定当前块的视差矢量。如上文所指示,当视频译码器执行NBDV推导时,视频译码器检查相邻块的视差运动矢量。当视频译码器检查相邻块的视差运动矢量时,视频译码器也可确定所述相邻块是否具有IDV。如果所述相邻块具有IDV,那么视频译码器可设置所述相邻块的IDV旗标以指示所述相邻块具有IDV。如果在检查相邻块中的每一者的视差运动矢量之后视频译码器确定所述相邻块中没有一者具有视差运动矢量,那么视频译码器可使用所述相邻块的IDV旗标来识别具有IDV的相邻块。视频译码器可接着将IDV转换成当前块的视差矢量。相邻块的IDV可为在预测(即,译码)所述相邻块期间针对所述相邻块所推导的视差矢量。

从针对推导当前块的视差矢量的以上描述可见,推导当前块的视差矢量可为计算密集型且可需要对存储器的多次呼叫以确定先前译码的相邻块的视差运动矢量及IDV。根据本发明中所描述的一或多个技术,视频译码器可推导一群块的视差矢量而非以逐块为基础来推导视差矢量,且视频译码器可将所推导的视差矢量用作所述群块内的块中的每一者的视差矢量。

举例来说,如上文所描述,可将译码单元(CU)分割成多个预测单元(PU)。根据本发明中所描述的一或多个技术,视频译码器可推导CU的代表性PU的视差矢量而非推导CU内的每一PU的视差矢量。在这个实例中,视频译码器可将所推导的视差矢量(即,所述代表性PU的视差矢量)指派给CU内的PU中的每一者而非分开地推导CU的每一PU的视差矢量。此外,视频译码器可基于所推导的视差矢量且在不分开地推导所述多个块中除所述代表性块之外的任何块的视差矢量的情况下针对所述多个块中的两个或两个以上块而执行视图间预测。

如上文所描述,视频译码器评估相邻块以确定所述相邻块中的任一者是否用视差运动矢量而加以视图间预测。本发明的一些实例技术限制视频译码器在NBDV推导期间所评估的相邻块的数目。举例来说,当视频译码器执行视差矢量推导过程(例如,NBDV推导)且第一空间相邻块或第二空间相邻块具有视差运动矢量或IDV时,视频译码器可将所述视差运动矢量或IDV转换到当前块的视差矢量。然而,即使第一空间相邻块或第二空间相邻块两者都不具有视差运动矢量或IDV,视差矢量推导过程仍不确定除第一空间相邻块及第二空间相邻块之外的任何空间相邻块是否具有视差运动矢量或IDV。因此,不管第一空间相邻块及第二空间相邻块是否具有视差运动矢量或IDV,视频译码器均不检查任何额外的空间相邻块。

此外,本发明的一或多个技术可修改处置IDV的方式。举例来说,在一些技术中,视频译码器利用IDV旗标来指示相邻块是否具有IDV。可无需存储IDV旗标。相反地,根据本发明的一或多个技术,视频译码器可使用出界信息(例如,非法值)来确定是否存在先前译码的相邻块的IDV。举例来说,取决于先前译码的相邻块是否具有这个出界信息,视频译码器可确定存在或不存在所述相邻块的IDV。

图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的服务器类型。实例文件服务器包含web服务器(例如,用于网站)、文件传送协议(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-4 AVC)(包含所述ITU-T H.264的可缩放视频译码(SVC)扩展、多视图视频译码(MVC)扩展及基于MVC的3DV扩展)。此外,存在用以产生H.264/AVC的三维视频(3DV)译码扩展(即,基于AVC的3DV)的正在进行的努力。H.264的MVC扩展的联合草案是描述于“Advanced video coding for generic audiovisual services”(ITU-T Recommendation H.264,2010年3月)中。在其它实例中,视频编码器20及视频解码器30可根据ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual及ITU-T H.263、ISO/IEC-4Visual来操作。因此,视频编码器20及视频解码器30可根据包含以下各者的视频译码标准来操作:ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual及ITU-T H.264(也称为ISO/IEC MPEG-4 AVC)(包含所述ITU-T H.264的SVC扩展及MVC扩展)。

在其它实例中,视频编码器20及视频解码器30可根据由ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合协作小组(JCT-VC)开发的高效率视频译码(HEVC)标准来操作。HEVC标准的草案(称作“HEVC工作草案8”或“HEVC基础规范”)是描述于Bross等人的“High Efficiency Video Coding(HEVC)text specification draft 8”(ITU-T SG16WP3及ISO/IEC JTC1/SC29/WG11的视频译码联合协作小组(JCT-VC),第10次会议,瑞士斯德哥尔摩,2012年7月)中。此外,存在用以产生HEVC的可缩放视频译码扩展、多视图译码扩展及3DV扩展的正在进行的努力。可将HEVC的可缩放视频译码扩展称作SHEVC。视频编码器20及视频解码器30可根据HEVC标准的这些扩展来操作。

当前,VCEG及MPEG的3D视频译码联合协作小组(JCT-3C)正开发基于HEVC的3DV标准,对于所述3DV标准而言,标准化努力的部分包含基于HEVC的多视图视频编码解码器(MV-HEVC)的标准化且另一部分是针对基于HEVC的3D视频译码(3D-HEVC)。对于3D-HEVC而言,可包含及支持用于纹理视图与深度视图两者的新译码工具(包含在译码单元/预测单元级别中的那些译码工具)。可在2013年12月5日从以下链接下载用于3D-HEVC(即,3D-HTM版本6.0)的软件:

[3D-HTM]:https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM-6.0/

一般来说,HEVC的运动补偿循环与H.264/AVC中的运动补偿循环相同。举例来说,当前帧的重构可等于经解量化系数r加上时间预测P:

在以上公式中,P指示针对P帧的单向预测或针对B帧的双向预测。

然而,HEVC中的运动补偿单元不同于先前视频译码标准中的运动补偿单元。举例来说,在HEVC中不存在先前视频译码标准中的宏块的概念。相反,宏块被基于一般四叉树方案的高度灵活的分层结构所替换。在这种方案内,定义三种类型的块(即,译码单元(CU)、预测单元(PU)及变换单元(TU))。CU是区域分裂的基本单元。CU的概念类似于宏块的概念,但CU并不受限于最大大小且CU允许递归分裂成四个相等大小的CU以改进内容自适应性。PU是帧间/帧内预测的基本单元且PU可含有单一PU内的多个任意形状的分区以有效地译码不规则图像图案。TU是变换的基本单元。可独立于CU的PU来定义所述CU的TU。然而,TU的大小受限于所述TU所属的CU。将块结构以此方式分成三种不同概念可允许每一者根据其作用而被优化,从而可导致改进的译码效率。

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

为产生图片的经编码表示,视频编码器20可产生一组译码树型单元(CTU)。所述CTU中的每一者可包括亮度样本的译码树型块(CTB)、色度样本的两个对应译码树型块及用以译码所述译码树型块的样本的语法结构。在单色图片或具有三个分开的彩色平面的图片中,CTU可包括单一译码树型块及用以译码所述译码树型块的样本的语法结构。译码树型块可为样本的N×N块。也可将CTU称作“树型块”或“最大译码单元”(LCU)。HEVC的CTU可广泛地类似于诸如H.264/AVC的其它标准的宏块。然而,CTU未必受限于特定大小且可包含一或多个CU。

切片可包含以光栅扫描次序连续地排序的整数数目个CTU。经译码切片可包括切片标头及切片数据。切片的切片标头可为包含语法元素的语法结构,所述语法元素提供关于所述切片的信息。切片数据可包含所述切片的经译码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块。因此,在本发明中,可据称CU被分割成一或多个PU。出于解释容易起见,本发明可将PU的预测块的大小简单地称作PU的大小。

视频编码器20可使用帧内预测或帧间预测来产生PU的预测性块。如果视频编码器20使用帧内预测来产生PU的预测性块,那么视频编码器20可基于与所述PU相关联的图片的样本而产生所述PU的预测性块。在本发明中,短语“基于”可指示“至少部分地基于”。

如果视频编码器20使用帧间预测来产生PU的预测性块,那么视频编码器20可基于除与所述PU相关联的图片之外的一或多个图片的经解码样本而产生所述PU的预测性块。当使用帧间预测来产生块(例如,PU)的预测性块时,本发明可将所述块称作“帧间译码型”或“帧间预测型”。帧间预测可为单向型(即,单向预测)或双向型(即,双向预测)。为执行单向预测或双向预测,视频编码器20可产生当前图片的第一参考图片列表(RefPicList0)及第二参考图片列表(RefPicList1)。所述参考图片列表中的每一者可包含一或多个参考图片。在构造参考图片列表(即,RefPicList0及RefPicList1(如果可用))之后,可使用参考图片列表的参考索引来识别被包含在所述参考图片列表中的任何参考图片。

当使用单向预测时,视频编码器20可搜索RefPicList0及RefPicList1中的任一者或两者中的参考图片以确定参考图片内的参考位置。此外,当使用单向预测时,视频编码器20可至少部分地基于对应于所述参考位置的样本而产生PU的预测性块。此外,当使用单向预测时,视频编码器20可产生单一运动矢量,所述运动矢量指示PU的预测块与所述参考位置之间的空间位移。所述运动矢量可包含指定PU的预测块与参考位置之间的水平位移的水平分量且可包含指定PU的预测块与参考位置之间的垂直位移的垂直分量。

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

如果视频编码器20使用帧间预测来产生PU的预测性块,那么视频编码器20可基于除与所述PU相关联的图片之外的一或多个图片的样本而产生所述PU的预测性块。举例来说,视频编码器20可对PU执行单向帧间预测(即,单向预测)或双向帧间预测(即,双向预测)。

在其中视频编码器20对PU执行单向预测的例子中,视频编码器20可基于PU的运动矢量来确定参考图片中的参考位置。视频编码器20可接着确定PU的预测性块。在PU的预测性块中的每一样本可与所述参考位置相关联。在一些实例中,当在PU的预测性块中的样本是在具有与PU相同大小且其左上拐角为参考位置的样本块内时,所述样本可与所述参考位置相关联。预测性块中的每一样本可为参考图片的实际或内插样本。在其中预测性块的亮度样本是基于参考图片的内插亮度样本的例子中,视频编码器20可通过将8分接头内插滤波器应用于参考图片的实际亮度样本而产生内插亮度样本。在其中预测性块的色度样本是基于参考图片的内插色度样本的例子中,视频编码器20可通过将4分接头内插滤波器应用于参考图片的实际色度样本而产生内插色度样本。一般来说,滤波器的分接头的数目指示用以数学上表示滤波器的系数请求的数目。具有较高分接头数目的滤波器大体上比具有较低分接头数目的滤波器更复杂。

在其中视频编码器20对PU执行双向预测的例子中,PU具有两个运动矢量。视频编码器20可基于PU的运动矢量来确定两个参考图片中的两个参考位置。视频编码器20可接着以上文所描述的方式来确定与所述两个参考位置相关联的参考块。视频编码器20可接着确定PU的预测块。所述预测块中的每一样本可为参考块中的对应样本的加权平均值。样本的加权可基于参考图片距含有所述PU的图片的时间距离。

视频编码器20可根据各种分割模式而将CU分割成一或多个PU。举例来说,如果使用帧内预测来产生CU的PU的预测性块,那么所述CU可根据PART_2N×2N模式或PART_N×N模式加以分割。在PART_2N×2N模式中,CU仅具有一个PU。在PART_N×N模式中,CU具有四个相等大小的PU,所述PU具有矩形预测块。如果使用帧间预测来产生CU的PU的预测性块,那么所述CU可根据PART_2N×2N模式、PART_N×N模式、PART_2N×N模式、PART_N×2N模式、PART_2N×nU模式、PART_2N×uD模式、PART_nL×2N模式或PART_nR×2N模式加以分割。在PART_2N×N模式及PART_N×2N模式中,CU被分割成两个相等大小的PU,所述PU具有矩形预测块。在PART_2N×nU模式、PART_2N×uD模式、PART_nL×2N模式及PART_nR×2N模式中的每一者中,CU被分割成两个不相等大小的PU,所述PU具有矩形预测块。

在视频编码器20产生CU的一或多个PU的预测性亮度、Cb及Cr块之后,视频编码器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的Cb变换块以产生所述TU的Cb系数块。视频编码器20可将一或多个变换应用于TU的Cr变换块以产生所述TU的Cr系数块。

在产生系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可量化所述系数块。量化大体上是指如下过程:量化变换系数以可能地减少用以表示变换系数的数据的量,从而提供进一步压缩。视频编码器20可基于与CU相关联的量化参数(QP)值来量化与所述CU的TU相关联的系数块。视频编码器20可通过调整与CU相关联的QP值来调整被应用于与所述CU相关联的系数块的量化的程度。在一些实例中,与CU相关联的QP值可总体上与当前图片或切片相关联。在视频编码器20量化系数块之后,视频编码器20可熵编码指示经量化变换系数的语法元素。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应性二进制算术译码(CABAC)。

视频编码器20可输出包含位序列的位流,所述位序列形成经译码图片及关联数据的表示。所述位流可包括一连串网络抽象层(NAL)单元。NAL单元为呈在必要时穿插有仿真防止位的原始字节序列有效负载(RBSP)形式的语法结构,所述语法结构含有在所述NAL单元中的数据的类型及含有那种数据的字节的指示。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)的所有切片的信息。在HEVC中,CVS可从瞬时解码刷新(IDR)图片或断开链接存取(BLA)图片或为位流中的第一图片的清洁随机存取(CRA)图片(包含非为IDR或BLA图片的所有后续图片)而开始。即,在HEVC中,CVS可包括一连串存取单元,所述存取单元可按解码次序而由以下各者组成:CRA存取单元,其为位流中的第一存取单元;IDR存取单元或BLA存取单元;接着为零或多个非IDR及非BLA存取单元,其包含多达但不包含任何后续IDR或BLA存取单元的所有后续存取单元。

VPS为包括应用于零或多个完整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相关联的变换块。视频解码器30可通过将当前CU的PU的预测性块的样本加到当前CU的TU的变换块的对应样本而重构当前CU的译码块。通过重构图片的每一CU的译码块,视频解码器30可重构所述图片。

每一经译码图片具有参考图片集,所述参考图片集包含可用于供经译码图片或在经译码图片后面(未来)的图片进行参考的所有图片。视频译码器可区分哪些图片可仅被用作未来图片的参考。参考图片列表是基于参考图片集(“RPS”)中的图片而构造,所述图片可用于当前图片(即“用于当前的RPS”)因此不可用于可仅被用作未来图片的参考的图片。

在一些实例中,当视频编码器20开始编码当前图片时,视频编码器20可产生当前图片的参考图片的五个子集(即,参考图片子集)。在一些实例中,这五个参考图片子集为:RefPicSetStCurrBefore、RefPicSetStCurrAfter、RefPicSetStFoll、RefPicSetLtCurr及RefPicSetLtFoll。本发明可将RefPicSetStCurrBefore、RefPicSetStCurrAfter、RefPicSetStFoll中的参考图片称作“短期参考图片”、“短期图片”或“STRP”。因此,“短期参考图片”可为被标记(例如,由于是在RefPicSetStCurrBefore、RefPicSetStCurrAfter或RefPicSetStFoll中)为被用于短期参考的图片。本发明可将RefPicSetLtCurr及RefPicSetLtFoll中的参考图片称作“长期参考图片”、“长期图片”或“LTRP”。视频编码器可重新产生每一图片的五个参考图片子集。

此外,当当前图片的当前切片为P切片(即,其中帧内预测及单向帧间预测被启用的切片)时,视频编码器20可使用来自当前图片的RefPicStCurrAfter、RefPicStCurrBefore及RefPicStLtCurr参考图片子集的参考图片来产生当前切片的单一参考图片列表(RefPicList0)。当当前切片为B切片(即,其中帧内预测、单向帧间预测及双向帧间预测被启用的切片)时,视频编码器20可使用来自当前图片的RefPicStCurrAfter、RefPicStCurrBefore及RefPicStLtCurr参考图片子集的参考图片来产生当前切片的两个参考图片列表(RefPicList0及RefPicList1)。视频编码器20可将视频解码器30可用以确定当前图片的参考图片子集的语法元素包含在当前图片的第一切片的切片标头中。当视频解码器30解码当前图片的当前切片时,视频解码器30可确定当前图片的参考图片子集且可重新产生RefPicList0及/或RefPicList1。

如上文所指示,当视频译码器(例如,视频编码器20或视频解码器30)开始译码图片的当前切片时,视频译码器可初始化第一参考图片列表(即,RefPicList0)。此外,如果当前切片为B切片,那么视频译码器可初始化第二参考图片列表(即,RefPicList1)。在一些实例中,参考图片列表初始化为显式机制,其基于参考图片的图片次序计数(POC)值的次序而将参考图片存储器(即,经解码图片缓冲器)中的参考图片放到列表中。POC值为与每一图片相关联的变量,其指示按输出次序的关联图片的位置(相对于在相同经译码视频序列中的其它图片的输出次序位置)。

为产生RefPicList0,视频译码器(例如,视频编码器或视频解码器)可产生RefPicList0的初始默认版本。在RefPicList0的初始版本中,首先列举RefPicSetStCurrBefore中的参考图片,接着为RefPicSetStCurrAfter中的参考图片,接着为RefPicSetLtCurr中的参考图片。类似地,为产生RefPicList1,视频译码器可产生RefPicList1的初始版本。在RefPicList1的初始版本中,首先列举RefPicSetStCurrAfter中的参考图片,接着为RefPicSetStCurrBefore中的参考图片,接着为RefPicSetLtCurr中的参考图片。

在视频译码器已初始化参考图片列表(例如,RefPicList0或RefPicList1)之后,视频译码器可修改所述参考图片列表中的参考图片的次序。换句话说,视频译码器可执行参考图片列表修改(RPLM)过程。视频译码器可按任何次序来修改参考图片的次序,包含一个特定参考图片可出现在参考图片列表中的一个以上位置处。换句话说,参考图片列表重排机制可将在参考图片列表初始化期间被放在列表中的图片的位置修改到任何新位置,或将参考图片存储器中的任何参考图片放在任何位置中(即使所述图片不属于经初始化列表中)。然而,如果图片的位置超过列表的有效参考图片的数目,那么将所述图片视为最终参考图片列表的条目。切片标头可包含一或多个语法元素,所述一或多个语法元素指示参考图片列表中的有效参考图片的数目。

在一些实例中,在视频译码器已构造最终参考图片列表(即,RefPicList0及RefPicList1)之后,视频译码器构造B切片的组合式列表(例如,RefPicListC)。另外如果针对所述组合式列表而存在一或多个参考图片列表修改语法元素,那么视频译码器可进一步修改所述组合式列表。

在一些实例中,视频编码器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(其中X为0或1)运动信息时,除发信当前PU的RefPicListX运动矢量预测值(MVP)旗标之外,视频编码器20还可发信当前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候选者。换句话说,在AMVP中,基于经译码参考索引来推导用于每一运动假设的运动矢量预测值的候选者列表。如前所述,此列表可包含与相同参考索引相关联的相邻块的运动矢量以及基于在时间参考图片中的同置型块的相邻块的运动参数而推导的时间运动矢量预测值。视频解码器30可通过将MVD加到由所选AMVP候选者所指示的运动矢量来恢复当前PU的运动矢量。即,视频解码器30可基于由所选AMVP候选者所指示的运动矢量及MVD来确定当前PU的运动矢量。视频解码器30可接着使用经恢复运动矢量或当前PU的运动矢量来产生当前PU的预测性块。

当视频译码器产生当前PU的AMVP候选者列表时,视频译码器可基于覆盖与当前PU空间相邻的位置的PU(即,空间相邻PU)的运动信息来推导一或多个AMVP候选者及基于与当前PU时间相邻的PU的运动信息来推导一或多个AMVP候选者。在本发明中,如果与PU(或其它类型的视频单元)相关联的预测块(或与所述视频单元相关联的其它类型的样本块)包含一位置,那么可据称所述PU“覆盖”所述位置。候选者列表可包含与相同参考索引相关联的相邻块的运动矢量以及基于在时间参考图片中的同置型块的相邻块的运动参数(即,运动信息)而推导的时间运动矢量预测值。

图2为说明相对于当前PU 40的实例空间相邻PU的概念图。在图2的实例中,空间相邻PU可为覆盖经指示为A0、A1、B0、B1及B2的位置的PU。换句话说,图2中描绘了当前PU 40与其空间相邻PU之间的实例关系。

关于空间相邻PU,可定义以下符号:

-亮度位置(xP,yP)是用以指定相对于当前图片的左上样本的当前PU的左上亮度样本;

-变量nPSW及nPSH表示对于亮度而言PU的宽度及高度;

-相对于当前图片的左上样本的当前PU N的左上亮度样本为(xN,yN)。

在以上定义中,将(xN,yN)(其中N由A0、A1、B0、B1或B2替换)分别定义为(xP-1,yP+nPSH)、(xP-1,yP+nPSH-1)、(xP+nPSW,yP-1)、(xP+nPSW-1,yP-1)或(xP-1,yP-1)。

可将合并候选者列表或AMVP候选者列表中的基于与当前PU时间相邻的PU(即,与不同于当前PU的时间实例相关联的PU)的运动信息的候选者称作TMVP。可使用TMVP来改进HEVC的译码效率且不同于其它译码工具,TMVP可需要存取经解码图片缓冲器中的帧的运动矢量。更具体地说,TMVP可需要存取参考图片列表中的图片的运动矢量。

为确定TMVP,视频译码器可首先识别包含与当前PU同置的PU的参考图片。换句话说,视频译码器可识别所谓的“同置型图片”。如果当前图片的当前切片为B切片(即,被允许包含双向帧间预测的PU的切片),那么视频编码器20可在切片标头中发信指示同置型图片是来自RefPicList0还是RefPicList1的语法元素(例如,collocated_from_l0_flag)。换句话说,当针对当前切片而启用TMVP的使用且当前切片为B切片(例如,被允许包含双向帧间预测的PU的切片)时,视频编码器20可在切片标头中发信用以指示同置型图片是在RefPicList0中还是在RefPicList1中的语法元素(例如,collocated_from_l0_flag)。

切片标头中的语法元素(例如,collocated_ref_idx)可指示在所识别的参考图片列表中的同置型图片。因此,在视频解码器30识别了包含同置型块的参考图片列表之后,视频解码器30可使用collocated_ref_idx,所述collocated_ref_idx可在切片标头中发信以识别在所识别的参考图片列表中的同置型图片。

视频译码器可通过检查同置型图片来识别同置型PU。TMVP可指示含有同置型PU的CU的右下PU的运动信息或在含有这个PU的CU的中心PU内的右下PU的运动信息。因此,使用含有这个PU的CU的右下PU的运动或在含有这个PU的CU的中心PU内的右下PU的运动。含有同置型PU的CU的右下PU可为覆盖与紧邻于PU的预测块的右下样本的右下方的位置同置的位置的PU。换句话说,TMVP可指示在参考图片中且覆盖与当前PU的右下拐角同置的位置的PU的运动信息,或TMVP可指示在参考图片中且覆盖与当前PU的中心(即,当前PU的预测块的中心)同置的位置的PU的运动信息。

当视频译码器产生指示时间参考图片中的TMVP的运动矢量的运动矢量候选者(例如,在AMVP候选者列表的合并列表中的候选者)时,视频译码器可基于所述时间参考图片的时间位置(由POC值反映)来缩放TMVP的运动矢量。换句话说,视频译码器可基于当前图片与参考图片之间的POC距离来缩放运动矢量候选者的运动矢量。举例来说,当视频译码器基于第一图片与第二图片之间的POC距离来缩放运动矢量时,视频译码器在第一图片及第二图片的POC值之间的差是较大时将运动矢量的量值增加的量可大于在第一图片及第二图片的POC值之间的差是较小时将运动矢量的量值增加的量。

在多视图译码中,可存在相同场景来自不同视点的多个视图。术语“存取单元”用以是指对应于相同时间实例的一组图片。因此,可使视频数据概念化为随时间的过去而发生的一系列存取单元。术语“视图分量”可为单一存取单元中的视图的经译码表示。在本发明中,“视图”可指与相同视图标识符相关联的一连串视图分量。

多视图译码支持视图间预测。视图间预测是类似于HEVC中所使用的帧间预测且可使用相同的语法元素。然而,当视频译码器对当前视频单元(诸如,PU)执行视图间预测时,视频编码器20可将在与当前视频单元相同的存取单元中但在不同视图中的图片用作参考图片。换句话说,在多视图译码中,在被捕获于相同存取单元(即,在相同的时间实例内)的不同视图中的图片当中执行视图间预测以移除视图之间的相关。相比之下,常规帧间预测仅将不同存取单元中的图片用作参考图片。

在多视图译码中,位流可具有多个层。所述层可对应于不同视图。如果视频解码器(例如,视频解码器30)可在不参考任何其它视图中的图片的情况下解码与一视图相关联的图片,那么可将所述视图称作“基础视图”。如果一视图的解码是依赖于与一或多个其它视图相关联的图片的解码,那么可将所述视图称作非基础视图。

举例来说,NAL单元可包含标头(即,NAL单元标头)及有效负载(例如,RBSP)。NAL单元标头可包含nuh_reserved_zero_6bits语法元素。具有指定不同值的nuh_reserved_zero_6bits语法元素的NAL单元属于位流的不同“层”。因此,在多视图译码、3DV或SVC中,NAL单元的nuh_reserved_zero_6bits语法元素可指定NAL单元的层标识符(即,层ID)。在一些实例中,如果NAL单元涉及多视图译码、3DV译码或SVC中的基础层,那么所述NAL单元的nuh_reserved_zero_6bits语法元素等于0。在位流的基础层中的数据可在不参考位流的任何其它层中的数据的情况下加以解码。如果NAL单元非涉及多视图译码、3DV或SVC中的基础层,那么nuh_reserved_zero_6bits语法元素可具有非零值。如上文所指示,在多视图译码及3DV译码中,位流的不同层可对应于不同视图。在SVC中,除基础层之外的层可被称作“增强层”且可提供增强从位流解码的视频数据的视觉质量的信息。

此外,一层内的一些图片可在不参考相同层内的其它图片的情况下加以解码。因此,封装一层的某些图片的数据的NAL单元可在不影响所述层中的其它图片的可解码性的情况下从位流而被移除。移除封装这些图片的数据的NAL单元可减小位流的帧速率。本文中可将一层内的图片(其可在不参考所述层内的其它图片的情况下加以解码)的子集称作“子层”或“时间子层”。

NAL单元也可包含temporal_id语法元素。NAL单元temporal_id语法元素指定所述NAL单元的时间标识符。NAL单元的时间标识符识别所述NAL单元所相关联的子层。因此,位流的每一子层可与不同时间标识符相关联。如果第一NAL单元的时间标识符小于第二NAL单元的时间标识符,那么由第一NAL单元所封装的数据可在不参考由第二NAL单元所封装的数据的情况下加以解码。

当译码非基础视图中的一者中的图片时,如果一图片与不同于视频译码器当前正译码的图片的视图相关联但与同视频译码器当前正译码的图片相同的时间实例(即,存取单元)相关联,那么视频译码器(诸如,视频编码器20或视频解码器30)可将所述图片添加到参考图片列表中。与其它帧间预测参考图片一样,视频译码器可以与在帧间预测参考图片的情况下相同的方式将视图间预测参考图片插入在参考图片列表的任何位置处。换句话说,可将用视图间预测译码的图片添加到参考图片列表中以用于实现对其它非基础视图的视图间预测。

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

在MVC中,在相同存取单元(即,具有相同的时间实例)中的图片当中允许视图间预测。当译码非基础视图中的图片时,视频译码器可将视图间参考图片(即,与不同于当前图片的视图相关联但与同当前图片相同的时间实例相关联的图片)包含在参考图片列表中。正如任何帧间预测参考图片,可将视图间参考图片放在参考图片列表的任何位置中。当将视图间参考图片用于运动补偿时,将对应运动矢量称作“视差运动矢量”。

在多视图视频译码的上下文中,存在两种运动矢量。一种运动矢量指向时间参考图片的正常运动矢量。可将对应于正常时间运动矢量的帧间预测类型称作运动补偿预测(MCP)。当将视图间预测参考图片用于运动补偿时,可将对应运动矢量称作“视差运动矢量”。换句话说,视差运动矢量指向不同视图中的图片(即,视差参考图片或视图间参考图片)。可将对应于视差运动矢量的帧间预测类型称作“视差补偿预测”或“DCP”。

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

多视图译码可支持视图间预测。视图间预测是类似于H.264/AVC、HEVC或其它视频译码规范中所使用的帧间预测且可使用相同的语法元素。然而,当视频译码器对当前视频单元(诸如,宏块或PU)执行视图间预测时,视频译码器可将在与当前视频单元相同的存取单元中但在不同视图中的图片用作参考图片。相比之下,常规帧间预测仅将不同存取单元中的图片用作参考图片。

图4为说明用于多视图译码的实例预测结构的概念图。图4的多视图预测结构包含时间及视图间预测。在图4的实例中,每一正方形对应于视图分量。在图4的实例中,存取单元被标记为T0…T11且将视图标记为S0…S7。被标记为“I”的正方形为帧内预测的视图分量。被标记为“P”的正方形为单向帧间预测的视图分量。被标记为“B”及“b”的正方形为双向帧间预测的视图分量。被标记为“b”的正方形可将被标记为“B”的正方形用作参考图片。从第一正方形指向第二正方形的箭头指示第一正方形作为第二正方形的参考图片而可用于帧间预测中。如由图4中的垂直箭头所指示,在相同存取单元的不同视图中的视图分量可作为参考图片而可用。因此,图4展示用于多视图视频译码的典型MVC预测(包含每一视图内的图片间预测及视图间预测),其中由箭头指示预测,被指向的对象将指向来自的对象用于预测参考。可将存取单元的一个视图分量作为相同存取单元的另一视图分量的参考图片的使用称作视图间预测。

如上文所提及,HEVC的多视图扩展(即,MV-HEVC)及HEVC的3DV扩展(即,3DV-HEVC)正在开发中。即,VCEG及MPEG的3D视频译码联合协作小组(JCT-3C)正开发基于HEVC的3DV标准,对于所述3DV标准而言,标准化努力的部分包含基于HEVC的多视图视频编码解码器(MV-HEVC)的标准化且另一部分是针对基于HEVC的3D视频译码(3D-HEVC)。

Gerhard Tech等人的“3D-HEVC Test Model Description draft 1”“JCT3V-A1005,ITU-T SG 16WP 3及ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发的联合协作小组,第1次会议:瑞典斯德哥尔摩,2012年7月16至20日(下文中为“3D-HEVC测试模型1”)”提供3D-HEVC参考软件描述以及3D-HEVC的工作草案。3D-HEVC(即3DV-HTM)的软件参考可从https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/trunk获得。Gerhard Tech等人的“MV-HEVC Working Draft 1”“JCT3V-A1004,ITU-T SG 16WP 3及ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发的联合协作小组,第1次会议:瑞典斯德哥尔摩,2012年7月16日至20日(下文中为“JCT3V-A1004”)”提供MV-HEVC的工作草案。

HEVC的随机存取概念被扩展到多视图扩展及3DV扩展。JCT3V-A1004包含随机存取点存取单元以及随机存取视图分量的详细定义。举例来说,JCT3V-A1004将随机存取点(RAP)视图分量定义为仅含有切片且对于其而言每一切片具有在7至12(包含7及12)的范围中的nal_unit_type的视图分量。随机存取点视图分量并非从帧间预测加以预测。因此,在HEVC的多视图或3D扩展(即,MV-HEVC或3D-HEVC)中,视图分量是否为随机存取点取决于所述视图分量的NAL单元类型。如果类型属于在随机存取点图片的HEVC基础规范中所定义的类型,那么当前视图分量为随机存取点视图分量(或出于简单起见,当前视图的随机存取点图片)。随机存取点(RAP)视图分量可为P或B图片。P图片为其中允许单向预测式帧间预测及帧内预测但不允许双向预测式帧间预测的图片。B图片为其中允许单向预测式帧间预测、双向预测式帧间预测及帧内预测的图片。此外,JCT3V-A1004将随机存取点存取单元定义为其中经译码图片为RAP图片的存取单元。

在一些实例中,随机存取功能性仅以在时间维度(因此在视图内部)中的某些预测被停用或与在HEVC基础规范中类似地受约束的方式应用于时间预测。然而,与H.264/MVC中的锚定图片类似,随机存取点视图分量的视图间预测可仍有可能且为典型的,以改进译码效率。

视频译码器可确定块(例如,PU、CU等等)的视差矢量。一般来说,视差矢量被用作两个视图之间的位移的估计量。视频译码器可使用块的视差矢量来定位另一视图中的参考块以用于实现视图间运动或残差预测,或视频译码器可将视差矢量转换到视差运动矢量以用于实现视图间运动预测。

当视频译码器执行当前块(例如,当前PU、CU等等)的视图间运动预测时,视频译码器可使用当前块的视差矢量来识别参考视图中的对应块(例如,参考PU)。视频译码器可针对合并模式或AMVP模式而将所述对应块的运动矢量(例如,运动矢量、参考索引等等)用作候选者列表中的候选者。换句话说,当前块的对应块是由视差矢量来识别,且其运动矢量可被用作当前块的AMVP或合并列表的额外候选者。此外,在一些实例中,视频译码器可针对合并模式或AMVP模式而将当前块的视差矢量用作候选者列表中的候选者。即,视差矢量可被转换到视差运动矢量且被添加到AMVP或合并列表中。

此外,视频译码器可使用块(例如,PU、CU等等)的视差矢量来执行视图间残差预测。当视频编码器20执行视图间残差预测时,视频编码器20可使用当前块的视差矢量来识别参考视图中的对应块。视频编码器20可接着确定所述对应块的残差。视频编码器20可接着发信对应块的残差与当前块的残差之间的差。视频解码器30可使用当前块的视差矢量来识别对应块且可确定对应块的残差。视频译码器可接着将所发信的残差的样本加到对应块的残差的对应样本及当前块的预测性块的对应样本以重构当前块的样本。以此方式,如果当前块为当前CU且如果当前CU的对应块含有非零残差像素,那么使用所述块的残差来预测当前CU的残差。

在一些实例中,视频译码器可使用基于相邻块的视差矢量(NBDV)的方法来推导块的视差矢量。3D-HEVC首先采用在L.Zhang等人的“3D-CE5.h:Disparity vector generation results”(ITU-T SG 16WP 3及ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发的联合协作小组,第1次会议:瑞典斯德哥尔摩,2012年7月16日至20日,文档JCT3V-A0097(下文中为“JCT3V-A0097”))中所提议的NBDV推导过程。NBDV推导过程已在以后得到进一步适配。举例来说,隐式视差矢量(IDV)与简化NBDV一起而被包含在Sung等人的“3D-CE5.h:Simplification of disparity vector derivation for HEVC-based 3D video coding”(ITU-T SG 16WP 3及ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发的联合协作小组,第1次会议:瑞典斯德哥尔摩,2012年7月16日至20日,文档JCT3V-A0126(下文中为“JCT3V-A0126”))中。此外,在Kang等人的“3D-CE5.h related:Improvements for disparity vector derivation”(ITU-T SG 16WP 3及ISO/IEC JTC 1/SC 29/WG 11的3D视频译码扩展开发的联合协作小组,第2次会议:中国上海,2012年10月13日至19日,文档JCT3V-B0047(下文中为“JCT3V-B0047”))中,NBDV推导过程通过移除存储在经解码图片缓冲器中的IDV同时通过RAP图片选择来提供经改进的译码增益而得到进一步简化。

通过视差运动矢量来执行多视图视频译码中的视差运动补偿。由于相邻块(例如,与当前块空间或时间相邻的块)在视频译码中共享几乎相同的运动/视差信息,所以当前块可将相邻块中的运动矢量信息用作优良预测值以改进译码增益。遵循这种观念,NBDV推导过程将相邻视差信息用于估计不同视图中的视差矢量。具体地说,NBDV推导过程使用来自空间及时间相邻块的视差运动矢量来推导当前块的视差矢量。

当视频译码器执行NBDV推导过程时,视频译码器可利用两组相邻块。一组是来自空间相邻块且另一组是来自时间相邻块。视频译码器可按预定义次序来检查所述空间相邻块及时间相邻块。可通过当前块与候选者块之间的相关的优先权来确定预定义次序。一旦在候选者中找到视差运动矢量,视频译码器便可将这个视差运动矢量转换到视差矢量。

在NBDV推导过程的一些版本中,视频译码器将五个空间相邻块用于视差矢量推导。举例来说,视频译码器可检查以下空间相邻块:当前块的左下空间相邻块、左空间相邻块、右上空间相邻块、上空间相邻块及左上空间相邻块。此外,在NBDV推导过程的一些版本中,用于视差矢量推导块的五个空间相邻块可分别覆盖位置A0、A1、B0、B1及B2,如图2中所指示。在一些实例中,NBDV推导过程中所使用的空间相邻块是与在HEVC中的合并模式中所使用的空间相邻块相同。因此,在一些此类实例中,不需要额外存储器存取。

此外,如上文所提及,作为确定当前块(例如,当前PU)的视差矢量的过程的部分,视频译码器可检查时间相邻PU。当视频译码器检查时间相邻块(例如,时间相邻PU)时,视频译码器可首先执行候选者图片列表的构造过程。当视频译码器执行候选者图片列表的构造过程时,视频译码器可将来自当前视图(即,与当前块相关联的视图)的所有参考图片视作候选者图片。此外,当视频译码器执行候选者图片列表的构造过程时,视频译码器可首先将所谓的“同置型图片”插入到候选者图片列表中,接着按参考索引的递升次序来插入剩余候选者图片。即,视频译码器可根据剩余候选者图片在当前图片的参考图片列表(例如,RefPicList0及RefPicList1)中出现的次序而将剩余候选者图片插入到候选者图片列表中。在含有当前块的切片的切片标头中的一或多个语法元素可指示所述同置型图片。当两个参考图片列表(例如,RefPicList0及RefPicList1)中的具有相同参考索引的参考图片可用于供在NBDV推导过程中使用时,在与同置型图片相同的参考图片列表中的参考图片在候选者图片列表中领先于另一参考图片。

在产生候选者图片列表之后,视频译码器可确定在候选者图片列表中的候选者图片内的候选者区域。视频译码器可使用所述候选者区域来确定时间相邻块。如上文所指示,视频译码器可基于时间相邻块的视差运动矢量或IDV来推导当前块的视差矢量。在一些实例中,对于候选者图片列表中的每一候选者图片而言,视频译码器可确定三个候选者区域。可如下定义所述三个候选者区域:

●CPU:当前PU或当前CU的同置型区域。

●CLCU:覆盖当前PU的同置型区域的最大译码单元(LCU)。

●BR:CPU的右下4×4块。

由于16×16块中的较小块共享相同运动信息(由于运动补偿),所以视频译码器可仅检查一个样本块的视差矢量。当候选者区域覆盖一个以上16×16块时,视频译码器可根据光栅扫描次序来检查所述候选者区域中的所有16×16块。举例来说,时间同置型块的运动矢量被存储在参考图片的16×16块中,且通常视频译码器存取4×4块以找到运动矢量。因此,如果视频译码器将候选者块放置在16×16块中,那么所有4×4块含有公共运动矢量,且视频译码器无需检查所有4×4块以找到不同运动矢量。另一方面,如果候选者区域大于16×16,那么位于16×16块外部的4×4块可含有不同运动矢量。

当视频译码器检查候选者区域(或在候选者区域内的16×16块)时,视频译码器可确定覆盖所述候选者区域的PU是否指定视差运动矢量。如果覆盖所述候选者区域的PU指定视差运动矢量,那么视频译码器可基于所述PU的视差运动矢量来确定当前块的视差矢量。

在一些实例中,作为执行NBDV推导过程的部分,视频译码器可执行基于优先权的视差矢量确定。举例来说,视频译码器可推导视差矢量,使得一旦视频译码器识别含有视差运动矢量的相邻块,视频译码器便将所述视差运动矢量转换到当前块的视差矢量。视频译码器可接着将视差矢量用于视图间运动预测及/或视图间残差预测。在一些实例中,基于相邻块与当前块之间的相关来定义所述相邻块的检查次序。举例来说,视频译码器可首先逐个检查空间相邻块。一旦视频译码器已识别视差运动矢量,视频译码器便返回所述视差运动矢量以作为视差矢量。在一些实例中,将五个空间相邻块的检查次序定义为A1、B1、B0、A0及B2。

此外,对于候选者图片列表中的每一候选者图片而言,视频译码器可按次序检查这个候选者图片中的三个候选者区域。将三个区域的检查次序定义为:对于第一非基础视图而言的CPU、CLCU及BR或对于第二非基础视图而言的BR、CPU、CLU。在这个实例中,与第一非基础视图相关联的图片的解码可取决于与基础视图相关联的图片而非与其它视图相关联的图片的解码。此外,在这个实例中,与第二非基础视图相关联的图片的解码可取决于与基础视图(及在一些例子中为第一非基础视图)相关联的图片而非与其它视图(如果存在)相关联的图片的解码。出于简单起见,可将空间相邻块中的视差运动矢量表示为SDV且可将时间相邻块中的视差运动矢量表示为TDV。

当视频译码器检查块(即,空间相邻块、候选者图片的候选者区域,或候选者图片的候选者区域的16×16块)的运动矢量时,视频译码器可确定所述块的运动矢量是否为视差运动矢量。图片的块的视差运动矢量是指向在所述图片的视差参考图片内的位置的运动矢量。给定图片的视差参考图片可为与同所述给定图片相同的存取单元相关联但同不同于所述给定图片的视图相关联的图片。当视频译码器识别视差运动矢量时,视频译码器可终止检查过程。视频译码器可将所返回的视差运动矢量转换到视差矢量且可将所述视差矢量用于视图间运动预测及视图间残差预测。举例来说,视频译码器可将当前块的视差矢量的水平分量设置成等于视差运动矢量的水平分量且可将视差矢量的垂直分量设置到0。

当视频译码器检查空间相邻PU时,视频译码器可首先检查所述相邻PU是否具有视差运动矢量。如果所述空间相邻PU中没有一者具有视差运动矢量,那么视频译码器可确定所述空间相邻PU中的任一者是否具有IDV。IDV可为空间或时间相邻PU(例如,使用视图间运动预测或视图间残差预测而加以译码的PU)的视差矢量。举例来说,当视频译码器用视图间运动预测来译码块时,视频译码器可需要推导用于选择不同视图中的对应块的视差矢量。在这个实例中,术语“IDV”可指在视图间运动预测中所推导的视差矢量。即使块可用时间运动预测而加以译码,视频译码器出于译码一或多个以下块的目的而仍不丢弃所推导的视差矢量。以此方式,可出于视差矢量推导的目的而将IDV存储到所述块。

在其中作为NBDV推导过程的部分,视频译码器检查IDV的一些实例中,视频译码器可执行以下步骤。如果以下步骤中的任一者找到视差矢量,那么视频译码器可终止推导过程。

●步骤1:按A1、B1、B0、A0及B2的次序检查五个空间相邻块以找到视差运动矢量。一旦找到视差运动矢量,视频译码器便可将所述视差运动矢量转换到视差矢量。如果所述空间相邻块含有IDV,那么视频译码器将其IDV旗标标记为“IDV已用”且存储所述IDV旗标的关联值。

●步骤2:当启用时间运动矢量预测时,以下内容适用:

a)如果当前译码模式为AMVP,那么将目标参考图片列表中的具有目标参考索引的参考图片用作同置型图片。定义同置型图片中的两个块(即,同置型PU的右下块(BR)及同置型PU的中心块(CB))。在这个实例中,视频译码器按以下次序来检查同置型图片的块:

1)检查BR以查看BR是否含有视差运动矢量。如果是,那么视频译码器将视差运动矢量转换到视差矢量。否则,如果BR经译码为跳过模式且BR含有IDV(即,IDV的旗标等于1),那么视频译码器将BR标记为“IDV已用”且存储关联IDV。视频译码器可接着执行步骤3。

2)检查CB以查看CB是否含有视差运动矢量。如果是,那么视频译码器将视差运动矢量转换到视差矢量。否则,如果BR经译码为跳过模式且BR含有IDV(即,IDV的旗标等于1),那么视频译码器将BR标记为“IDV已用”且视频译码器存储关联IDV。视频译码器可接着执行步骤3。

b)如果当前译码模式为跳过/合并,那么视频译码器使用每一参考图片列表中的两个同置型参考图片(如果适用)。指示同置型参考图片的参考索引可等于左相邻PU的参考索引或0。对于参考图片列表0及1中的同置型图片中的每一者而言,视频译码器可按次序执行a)1及a)2中的步骤。

●步骤3:如果五个空间相邻块中的一者是使用跳过模式而加以译码且所述空间相邻块含有IDV(即,所述空间相邻块具有被标记为“IDV已用”的旗标),那么视频译码器返回所述IDV以作为视差矢量。在这个实例中,针对IDV的对空间相邻块的检查次序为A0、A1、B0、B1及B2。

●步骤4:如果启用时间运动矢量预测且在同置型图片中存在被标记为“IDV已用”的一个块(即,BR或CB),那么视频译码器将与所述块相关联的IDV转换到视差矢量。

与存取经解码图片缓冲器(DPB)中的IDV相关联的存储器带宽及复杂度要求可为大的。举例来说,为确定相邻块在NBDV推导过程期间是否具有IDV,视频译码器可需要重构所述相邻块的AMVP或合并候选者列表且识别所述经重构AMVP或合并候选者列表中的视图间运动矢量候选者。相邻块的AMVP或合并候选者列表的重构可为相对计算及带宽密集型。因此,视频译码器可执行低复杂度的NBDV推导过程。当视频译码器执行低复杂度的NBDV推导过程时,视频译码器考虑较少的块候选者。举例来说,视频译码器可将IDV的信息存储在DPB中。在这个实例中,IDV的额外信息可包含所有先前译码的图片的IDV旗标及矢量。此外,在低复杂度的NBDV推导过程中,移除DPB中的IDV候选者可减小存储器带宽。换句话说,视频译码器不将与IDV有关的信息存储在DPB中。

在一些低复杂度的NBDV推导过程中,视频译码器检查候选者图片的较少候选者区域(相较于在上文所描述的NBDV推导过程中的情况)。举例来说,图5为说明在时间候选者图片的对应PU中的时间邻居的概念图。在图5的实例中,视频译码器可检查覆盖由“位置A”及“位置B”所指示的位置的候选者区域。此外,在一些低复杂度的NBDV推导过程中,视频译码器可检查仅一同置型图片及一随机存取图片的候选者区域。因此,在一些实例中,针对时间块检查而考虑同置型图片及随机存取图片(即,如图5中所示的底下块及中心块)。

此外,在一些低复杂度的NBDV推导过程中,视频译码器可在切片或图片级别中执行候选者图片推导一次。换句话说,视频译码器可每图片或切片产生供在NBDV推导过程中使用的候选者图片列表一次。因此,在这些低复杂度的NBDV推导过程中,视频译码器在PU或CU级别处不再调用候选者图片推导过程。

用于在3D-HEVC中推导视差矢量的过程可潜在地具有以下问题。举例来说,在每一PU中调用NBDV推导过程以用于实现视图间运动预测,这可显著地增加计算复杂度。此外,在NBDV推导过程期间所检查的空间相邻块的数目为潜在地大的,且可无需检查一些空间相邻块以实现相同或类似的译码效率。

本发明的技术可为3D-HEVC中的视差矢量推导过程(即,NBDV)提供若干改进及简化。举例来说,基于CU的视差矢量推导可为以下一种方式:针对CU而仅调用视差推导过程一次,且位于所述CU内部的所有PU共享相同的所推导的视差矢量以用于实现视图间预测(例如,包含视图间运动预测及视图间残差预测)。基于CU的视差矢量推导可导致计算复杂度的减小及并行处理的增强。

举例来说,视频编码器20可产生包含视频数据的经译码表示的位流。作为产生位流的部分,视频编码器20可执行视差矢量推导过程以推导多个块中的代表性块的视差矢量。在这个实例中,视频数据包含被分割成所述多个块的父块。此外,在这个实例中,视频编码器20可通过基于所推导的视差矢量且在不分开地推导所述多个块中除所述代表性块之外的任何块的视差矢量的情况下针对所述多个块中的两个或两个以上块(即,父块的两个或两个以上块)而执行视图间预测来产生包含视频数据的经译码表示的位流。

在另一实例中,视频解码器30可执行视差矢量推导过程以推导多个块中的代表性块的视差矢量。在这个实例中,视频数据包含被分割成所述多个块的父块。此外,在这个实例中,视频解码器30可部分地通过基于所推导的视差矢量且在不分开地推导所述多个块中除所述代表性块之外的任何块的视差矢量的情况下针对所述多个块中的两个或两个以上块而执行视图间预测来重构所述多个块(例如,父块)中的所述两个或两个以上块的样本块。

在本发明的另一实例技术中,视频译码器(例如,视频编码器20或视频解码器30)可执行经修改的NBDV推导过程以推导PU的视差矢量。当视频译码器执行经修改的NBDV推导过程时,视频译码器检查比在3D-HEVC测试模型1中所描述的NBDV推导过程少的空间相邻块以推导SDV及/或IDV。举例来说,当视频译码器执行经修改的NBDV推导过程时,视频译码器仅检查左块及上块(表示为图2中的A1及B1)。此外,在这个实例中,视频译码器可检查左块且接着检查上块。在其它实例中,视频译码器可检查上块且接着检查左块。本发明的经修改的NBDV推导过程可导致相对于在3D-HEVC测试模型1中所描述的NBDV推导过程的最小的译码增益改变及减小的复杂度。

举例来说,视频编码器20可执行视差矢量推导过程以确定当前块的视差矢量。作为执行视差矢量推导过程的部分,当第一空间相邻块或第二空间相邻块具有视差运动矢量或IDV时,视频编码器20可将所述视差运动矢量或IDV转换到当前块的视差矢量。在这个实例中,即使第一空间相邻块或第二空间相邻块两者都不具有视差运动矢量或IDV,视差矢量推导过程仍不确定除第一空间相邻块及第二空间相邻块之外的任何空间相邻块是否具有视差运动矢量或IDV。在一些实例中,第一空间相邻块邻近于当前块的顶边缘(即,上相邻块)且第二空间相邻块邻近于当前块的左边缘(即,左相邻块)。本发明可将对应于一块的样本块(例如,CTU的译码树型块、CU的译码块、PU的预测块等等)的外部边缘称作所述块的边缘。此外,在这些实例中,视频编码器20可至少部分地基于当前块的所推导的视差矢量而产生当前块的经编码表示。

在另一实例中,视频解码器30可执行视差矢量推导过程以确定当前块的视差矢量。作为执行视差矢量推导过程的部分,当第一空间相邻块或第二空间相邻块具有视差运动矢量或IDV时,视频解码器30可将所述视差运动矢量或IDV转换到当前块的视差矢量。即使第一空间相邻块或第二空间相邻块两者都不具有视差运动矢量或IDV,视差矢量推导过程仍不确定除第一空间相邻块及第二空间相邻块之外的任何空间相邻块是否具有视差运动矢量或IDV。在一些实例中,第一空间相邻块邻近于当前块的左边缘(即,左相邻块)且第二空间相邻块邻近于当前块的顶边缘(即,上相邻块)。此外,视频解码器30可部分地通过基于所推导的视差矢量而针对当前块执行视图间预测来重构当前块的样本块。

作为用于在3D-HEVC中推导视差矢量的过程的另一实例潜在问题,视频译码器存储在每一块中相关联的旗标以指示空间相邻块是否含有IDV。存储这些旗标可增加系统中的存储器要求。此外,每一块可含有多达两个IDV(即,对应于RefPicList0的IDV及对应于RefPicList1的IDV)。在本发明中所描述的技术中,这些旗标的存储可非为必要的。

根据本发明的实例技术,以简单方式来表示IDV,使得除发信空间相邻块是否含有IDV之外不存在所使用的旗标。此外,针对块而发信参考索引、参考视图索引或参考视图索引的差且非法参考索引(即,1)、非法参考视图索引(例如,与当前视图相同)及/或参考视图索引的非法差(例如,0)指示不存在块的隐式视差矢量。另外,对于一个空间相邻块而言可仅存在一个视差矢量。

因此,在一些此类实例中,不发信旗标来指示空间相邻块是否含有IDV。举例来说,视频编码器20可不发信旗标来指示空间相邻块是否含有IDV。此外,在一些此类实例中,以下各者中的一者指示存在相邻块的IDV:非法参考索引;非法参考视图索引;及参考视图索引的非法差。举例来说,视频编码器20可发信以下各者中的一者以指示存在相邻块的IDV:非法参考索引;非法参考视图索引;及参考视图索引的非法差。

可分开地或结合地使用本发明的实例技术。即,可在视差矢量推导的完整解决方案中组合本发明的技术方面中的任一者。

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

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

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

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

帧间预测处理单元120可通过对CU的每一PU执行帧间预测而产生用于PU的预测性数据。用于PU的预测性数据可包含PU的预测性块及用于PU的运动信息。帧间预测处理单元120可取决于CU的PU是在I切片、P切片还是B切片中而针对所述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可针对PU的参考区域来搜索RefPicList0或第二参考图片列表(“RefPicList1”)的参考图片。运动估计单元122可输出以下各者以作为PU的运动信息:参考索引,其指示在含有参考区域的参考图片的RefPicList0或RefPicList1中的位置;运动矢量,其指示在PU的预测块与同参考区域相关联的参考位置之间的空间位移;及一或多个预测方向指示符,其指示参考图片是在RefPicList0中还是在RefPicList1中。运动补偿单元124可至少部分地基于在由PU的运动矢量所指示的参考位置处的实际或内插样本而产生PU的预测性块。

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

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

为对PU执行帧内预测,帧内预测处理单元126可使用多种帧内预测模式来产生PU的多组预测性块。当使用特定帧内预测模式来执行帧内预测时,帧内预测处理单元126可使用来自相邻块的特定的一组样本而产生PU的预测性块。假定PU、CU及CTU的左-右、顶-底编码次序,那么相邻块可位于PU的预测块的上面、右上、左上或左边。帧内预测处理单元126可使用各种数目个帧内预测模式(例如,33个定向帧内预测模式)。在一些实例中,帧内预测模式的数目可取决于PU的预测块的大小。

预测处理单元100可从由帧间预测处理单元120针对CU的PU所产生的预测性数据或由帧内预测处理单元126针对CU的PU所产生的预测性数据当中来选择所述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可通过将一或多个变换应用于CU的每一TU的变换块而产生所述TU的变换系数块。变换处理单元104可将各种变换应用于与TU相关联的变换块。举例来说,变换处理单元104可将离散余弦变换(DCT)、定向变换或概念上类似的变换应用于变换块。在一些实例中,变换处理单元104不将变换应用于变换块。在这些实例中,可将变换块视作变换系数块。

量化单元106可量化系数块中的变换系数。量化过程可减少与变换系数中的一些或所有变换系数相关联的位深度。举例来说,可在量化期间将n位变换系数降值舍位到m位变换系数,其中n大于m。量化可引入信息的损失,因此经量化变换系数可具有比原始变换系数低的精度。

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

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

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

根据本发明的一或多个技术,将父块分割成多个块,且执行视差矢量推导过程以推导所述多个块中的代表性块的视差矢量。视频编码器20可部分地通过基于所推导的视差矢量且在不分开地推导所述多个块中除所述代表性块之外的任何块的视差矢量的情况下针对所述多个块中的两个或两个以上块而执行视图间预测(例如,视图间运动预测及/或视图间残差预测)来产生包含视频数据的经译码表示的位流。此外,在本发明的一些实例技术中,视频编码器20可执行视差矢量推导过程以确定当前块的视差矢量。作为执行视差矢量推导过程的部分,当第一空间相邻块或第二空间相邻块具有视差运动矢量或隐式视差矢量时,视频编码器20可将所述视差运动矢量或隐式视差矢量转换到当前块的视差矢量。即使第一空间相邻块或第二空间相邻块两者都不具有视差运动矢量或隐式视差矢量,视差矢量推导过程仍不确定除第一空间相邻块及第二空间相邻块之外的任何空间相邻块是否具有视差运动矢量或隐式视差矢量。

图7为说明经配置以实施本发明的技术的实例视频解码器30的框图。提供图7是出于解释的目的且图7非为对如广泛地示范及描述于本发明中的技术的限制。出于解释的目的,本发明在HEVC译码的上下文中描述视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。

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

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

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

除解码来自位流的语法元素之外,视频解码器30还可对CU执行解码操作。通过对CU执行解码操作,视频解码器30可重构CU的译码块。

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

在反量化单元154反量化系数块之后,反变换处理单元156可将一或多个反变换应用于所述系数块以便产生与TU相关联的残差块。举例来说,反变换处理单元156可将反DCT、反整数变换、反卡忽南-拉维变换(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块。

重构单元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可从位流提取显著亮度系数块的变换系数级别、反量化所述变换系数级别、将变换应用于所述变换系数级别以产生变换块、至少部分地基于所述变换块而产生译码块,及输出所述译码块以进行显示。

根据本发明的一或多个技术,可将父块(例如,CTU、CU等等)分割成多个块,且执行视差矢量推导过程以推导所述多个块中的代表性块的视差矢量。视频解码器30可部分地通过基于所推导的视差矢量且在不分开地推导所述多个块中除所述代表性块之外的任何块的视差矢量的情况下针对所述多个块中的两个或两个以上块而执行视图间预测来重构所述多个块中的所述两个或两个以上块的样本块。此外,在一些实例中,视频解码器30可执行视差矢量推导过程以确定当前块的视差矢量。作为执行视差矢量推导过程的部分,当第一空间相邻块或第二空间相邻块具有视差运动矢量或IDV时,视频解码器30可将所述视差运动矢量或IDV转换到当前块的视差矢量。即使第一空间相邻块或第二空间相邻块两者都不具有视差运动矢量或IDV,视差矢量推导过程仍不确定除第一空间相邻块及第二空间相邻块之外的任何空间相邻块是否具有视差运动矢量或IDV。

如上文所描述,视频译码器可执行基于CU的NBDV推导过程以推导CU的每一PU的视差矢量。当视频译码器执行基于CU的NBDV推导过程以推导CU的每一PU的视差矢量时,视频译码器针对CU而执行NBDV推导过程一次且视频译码器将所推导的视差矢量指派给CU的所有PU。换句话说,可以所有PU及CU自身共享基于NBDV推导过程而被推导一次的相同视差矢量(例如,如3D-HEVC中所推导)的方式来完成基于CU的NBDV推导过程。NBDV推导过程适用于代表性块(例如,PU或CU)。举例来说,可将CU分割成多个PU且视频译码器可执行视差矢量推导过程以推导所述多个PU(例如,在所述CU中)中的代表性PU的视差矢量。

此外,可将基于CU的NBDV推导过程扩展到基于LCU的NBDV推导过程(以作为直接扩展)或任何块大小的NBDV推导过程。举例来说,可将LCU分割成多个CU,且视频译码器可执行视差矢量推导过程以推导所述多个CU中的代表性CU的视差矢量。

如上文所描述,当执行NBDV推导过程时,视频译码器可检查五个空间相邻块。可通过针对整个CU而总是仅考虑一个代表性PU来将所述五个空间相邻块定位于NBDV中。

在本发明中,可将多个PU中的代表性PU称为NBDV处理单元(NPU)。在其它实例中,视频译码器可以各种方式设置NPU。举例来说,NPU可为当前CU。在另一实例中,NPU可为当前CU中的第一PU。在这个实例中,将第一PU定位为覆盖CU的左上像素的PU。

在另一实例中,作为代表性块,视频译码器可将覆盖CU的右下像素的PU选为代表性PU。换句话说,视频译码器可将覆盖CU的右下像素的PU选为NPU。在另一实例中,作为代表性块,视频译码器可将覆盖CU的右上像素的PU选为代表性PU。换句话说,作为代表性块,视频译码器可将覆盖CU的右上像素的PU选为NPU。在再一实例中,视频译码器可将覆盖CU的左下像素的PU选为代表性PU。换句话说,视频译码器可将覆盖CU的左下像素的PU选为NPU。在本发明中,出于解释容易起见,CU的右下像素、右上像素或左下像素可分别为所述CU的译码块的右下像素、右上像素或左下像素。

图8为说明2N×2N PU(其与CU相同)中的实例空间及时间邻居的概念图。在图8的实例中,视频译码器可执行NBDV推导过程,在所述NBDV推导过程中,视频译码器检查覆盖位置200、202、204、206及208的块的视差运动矢量及IDV。此外,在图8的实例中,当视频译码器执行NBDV推导过程时,视频译码器可检查位于候选者参考图片中但不与位置210及212同置的块。

图9为说明用于NBDV推导过程中的实例空间及时间相邻块的概念图,其中CU的第一PU为所述CU的代表性PU。在图9的实例中,所述代表性块为位于CU的左边的N×2N PU。换句话说,图9为其中PU具有N×2N形状的实例。在当前CU(例如,N×2N)的给定分割信息的情况下,可用第一PU(例如,左PU)的块位置来决定所述块位置。图9为可如何基于第一PU的形状来决定块位置(即,由相邻块所覆盖的位置)的实例。

详细地说,在图9的实例中,视频译码器可执行NBDV推导过程,在所述NBDV推导过程中,视频译码器检查覆盖位置250、252、254、256及258的块的推导运动矢量及IDV。此外,在图9的实例中,当视频译码器执行NBDV推导过程时,视频译码器可检查位于候选者参考图片中但不与位置260及262同置的块。如可在图8及9的实例中所见,对于CU的PU而言,由用于NBDV推导过程中的相邻块所覆盖的位置可取决于所述CU如何被分割成PU及所述PU中的哪一者为代表性块而不同。因此,视频译码器可基于第一PU的形状来确定多个块位置,其中所述多个块位置中的每一相应块位置由多个相邻块中的相应相邻块所覆盖。此外,视频译码器可检查所述相邻块中的一或多者的空间视差运动矢量、隐式视差矢量或时间视差运动矢量。

图10为说明根据本发明的一或多个技术的视频译码器的实例操作的流程图。如图10的实例中所说明,视频译码器(例如,视频编码器20或视频解码器30)可执行视差矢量推导过程以推导多个块中的代表性块的视差矢量(300)。在图10的实例中,视频数据可包含被分割成所述多个块的父块。举例来说,父块可为CU,且所述多个块中的每一块可为所述CU的PU。在这个实例中,代表性块可为CU的第一PU。在另一实例中,父块可为LCU,且所述多个块中的每一块可为CU,且代表性块可为所述LCU的CU中的一者。

此外,视频译码器可基于所推导的视差矢量且在不分开地推导所述多个块中除所述代表性块之外的任何块的视差矢量的情况下针对所述多个块中的两个或两个以上块而执行视图间预测(302)。在其中视频译码器为视频解码器的一些实例中,视频解码器可部分地通过基于所推导的视差矢量且在不分开地推导所述多个块中除所述代表性块之外的任何块的视差矢量的情况下针对所述多个块中的两个或两个以上块而执行视图间预测来重构所述多个块中的所述两个或两个以上块的样本块。类似地,在其中视频译码器为视频编码器的一些实例中,视频编码器可部分地通过基于所推导的视差矢量且在不分开地推导所述多个块中除所述代表性块之外的任何块的视差矢量的情况下针对所述多个块中的两个或两个以上块而执行视图间预测来产生包含视频数据的经译码表示的位流。当视频译码器针对两个或两个以上块而执行视图间预测时,视频译码器可基于所推导的视差矢量而针对所述两个或两个以上块执行视图间运动预测及视图间残差预测中的一或多者。

图11A为说明根据本发明的一或多个技术的用于执行视图间运动预测的视频编码器的实例操作350的流程图。如图11A的实例中所说明,视频编码器(例如,视频编码器20)可确定当前CU的分割模式(352)。根据本发明的一或多个技术,视频编码器可执行视差矢量推导过程以确定当前CU的代表性PU的视差矢量(354)。在其中代表性块为CU的一些实例中,视频编码器可至少部分地通过确定多个相邻块来执行视差矢量推导过程,其中所述多个相邻块包含邻近于所述CU的空间相邻块、覆盖与所述CU的中心同置的位置的时间相邻块及覆盖紧邻于所述CU的右下方的位置的时间相邻块。此外,在这些实例中,视频编码器可检查所述相邻块中的一或多者的空间视差运动矢量、隐式视差矢量或时间视差运动矢量。

接下来,视频编码器可基于代表性PU的视差矢量来确定当前PU的视图间预测运动矢量候选者(IPMVC)(356)。IPMVC为指示参考图片中与不同于当前图片的视图相关联的位置的运动矢量候选者。当前PU为当前CU的PU中的一者。视频编码器可接着将IPMVC包含在当前PU的候选者列表(例如,合并候选者列表或AMVP候选者列表)中(358)。随后,视频编码器可从所述候选列表选择候选者(360)。在一些例子中,所选候选者为IPMVC。视频编码器可接着将指示所选候选者的索引的数据包含在位流中(362)。举例来说,如果候选者列表为合并候选者列表,那么视频编码器可将指示merge_idx语法元素的数据包含在位流中。在另一实例中,候选者列表为AMVP候选者列表,且视频编码器可将指示mvp_l0_flag语法元素或mvp_l1_flag语法元素的数据包含在位流中。在这个实例中,视频编码器也可包含指示当前PU的参考索引(例如,ref_idxl0语法元素或ref_idxl1语法元素)的数据及指示当前PU的运动矢量差(例如,mvd_coding语法结构)的数据。

视频编码器可接着确定在当前CU中是否存在任何剩余PU(364)。如果在当前CU中存在一或多个剩余PU(364的“是”),那么视频编码器可在将剩余PU中的一者作为当前PU的情况下重复动作356到364。另一方面,如果在当前CU中不存在剩余PU(364的“否”),那么操作350结束且视频编码器可执行其它编码动作。

图11B为说明根据本发明的一或多个技术的用于执行视图间运动预测的视频解码器的实例操作380的流程图。如图11B的实例中所说明,视频解码器(例如,视频解码器30)可确定当前CU的分割模式(382)。在一些实例中,视频解码器可基于当前CU的part_mode语法元素来确定当前CU的分割模式。

根据本发明的一或多个技术,视频解码器可执行视差矢量推导过程以确定当前CU的代表性PU的视差矢量(384)。举例来说,视频解码器可执行视差矢量推导过程以确定当前CU的第一PU的视差矢量。在其中代表性块为CU的一些实例中,视频解码器可至少部分地通过确定多个相邻块来执行视差矢量推导过程,其中所述多个相邻块包含邻近于所述CU的空间相邻块、覆盖与所述CU的中心同置的位置的时间相邻块及覆盖紧邻于所述CU的右下方的位置的时间相邻块。此外,在这些实例中,视频解码器可检查所述相邻块中的一或多者的空间视差运动矢量、IDV或时间视差运动矢量。

接下来,视频解码器可基于代表性PU的视差矢量来确定当前PU的IPMVC(386)。当前PU为当前CU的PU中的一者。视频解码器可接着将IPMVC包含在当前PU的候选者列表(例如,合并候选者列表或AMVP候选者列表)中(388)。随后,视频解码器可基于位流中的数据来确定候选者列表中的所选候选者(390)。举例来说,如果候选者列表为合并候选者列表,那么视频解码器可基于从位流所获得的merge_idx语法元素来确定所选候选者。在另一实例中,如果候选者列表为AMVP候选者列表,那么视频解码器可基于从位流所获得的mvp_l0_flag语法元素或mvp_l1_flag语法元素来确定所选候选者。在一些例子中,所选候选者为IPMVC。视频解码器可接着基于所选候选者来确定当前PU的运动矢量(392)。

视频解码器可接着确定在当前CU中是否存在任何剩余PU(394)。如果在当前CU中存在一或多个剩余PU(394的“是”),那么视频解码器可在将剩余PU中的一者作为当前PU的情况下重复动作386到394。另一方面,如果在当前CU中不存在剩余PU(394的“否”),那么操作380结束且视频解码器可执行其它解码动作。

图12A为说明根据本发明的一或多个技术的用于执行视图间残差预测的视频编码器的实例操作400的流程图。如图12A的实例中所说明,视频编码器(例如,视频编码器20)可确定父块的代表性块的视差矢量(402)。在一些实例中,将父块分割成多个块(包含父块的代表性块)。举例来说,所述代表性块可为CU,且所述父块可为CTU。在其它例子中,代表性块可为PU,且父块可为CU。在其它实例中,未将父块分割成子块,且父块的代表性块为父块自身。举例来说,代表性块及父块可为相同的PU、CU、CTU等等。

此外,在图12A的实例中,视频编码器可基于代表性块的视差矢量来确定当前块的视差参考块(404)。如上文所指示,可将父块分割成一或多个子块。当前块可为所述子块中的一者。此外,当前块的视差参考块可包括基于视差参考图片中的样本的样本块。举例来说,视差参考块可包含视差参考图片的样本。视差参考图片与同当前块相同的时间实例相关联但与不同于当前块的视图相关联。

视频编码器可确定视差参考块的残差数据(406)。视差参考块的残差数据可包含指示在视差参考块的样本与视差参考块的一或多个预测性块的对应样本之间的差的样本。视频编码器可接着确定当前块的残差数据(408)。当前块的残差数据可包含指示在以下各者之间的差的样本:当前块的原始样本块中的对应样本、当前块的视差参考块的残差数据及一或多个预测性块。随后,视频编码器可确定在父块中是否存在任何剩余子块(410)。如果在父块中存在一或多个剩余子块(410的“是”),那么视频编码器可在将剩余子块中的一者作为当前块的情况下重复动作404到410。以此方式,视频编码器可使用代表性块的视差矢量来确定父块的子块中的每一者的视差参考块。

另一方面,如果在父块中不存在剩余子块(410的“否”),那么视频编码器可将表示父块的残差数据的数据包含在位流中(412)。举例来说,如果父块为CTU且子块中的每一者为CU,那么表示父块的残差数据的数据可包括指示所述CTU的CU中的每一者的残差数据的经变换及经量化版本的数据。在另一实例中,如果父块为CU且子块中的每一者为PU,那么表示CU的残差数据的数据可包含指示所述CU的PU中的每一者的残差数据的经变换及经量化版本的数据。

图12B为说明根据本发明的一或多个技术的用于执行视图间残差预测的视频解码器的实例操作450的流程图。如图12B的实例中所说明,视频解码器(例如,视频解码器30)可确定父块的代表性块的视差矢量(452)。在一些实例中,将父块分割成多个块(包含父块的代表性块)。举例来说,所述代表性块可为CU,且所述父块可为CTU。在其它例子中,代表性块可为PU,且父块可为CU。在其它实例中,未将父块分割成子块,且父块的代表性块为父块自身。举例来说,代表性块及父块可为相同的PU、CU、CTU等等。

此外,在图12B的实例中,视频解码器可基于代表性块的视差矢量来确定当前块的视差参考块(454)。如上文所指示,可将父块分割成一或多个子块。当前块可为所述子块中的一者。此外,当前块的视差参考块可包括基于视差参考图片中的样本的样本块。举例来说,视差参考块可包含视差参考图片的样本。视差参考图片与同当前块相同的时间实例相关联但与不同于当前块的视图相关联。

视频解码器可确定视差参考块的残差数据(456)。视差参考块的残差数据可包含指示在视差参考块的样本与视差参考块的一或多个预测性块的对应样本之间的差的样本。随后,视频解码器可确定在父块中是否存在任何剩余子块(458)。如果在父块中存在一或多个剩余子块(458的“是”),那么视频解码器可在将剩余子块中的一者作为当前块的情况下重复动作454到458。以此方式,视频解码器可使用代表性块的视差矢量来确定父块的子块中的每一者的视差参考块。

另一方面,如果在父块中不存在剩余子块(458的“否”),那么视频解码器可确定父块的样本块(例如,译码树型块、译码块等等)(460)。父块的样本块可包含为以下各者的总和的样本:在父块的一或多个子块的视差参考块的残差数据中的对应样本、一或多个预测性块及在位流中所发信的残差数据。

如上文所描述,根据本发明的技术,视频译码器可执行经修改的NBDV推导过程,所述经修改的NBDV推导过程使用比3D-HEVC测试模型1中所描述的NBDV推导过程少的空间相邻块。在一个实例中,当视频译码器执行经修改的NBDV推导过程时,视频译码器可仅考虑左空间相邻块及上空间相邻块(即,图2中的表示为A1及B1的块)。图13为说明两个PU的实例左空间相邻块及上空间相邻块的概念图。详细地说,图13展示N×2N PU及2N×N PU的左空间相邻块及上空间相邻块。如图13的实例中所示,左空间相邻块邻近于当前块(例如,N×2N PU或2N×N PU)的左边缘且上空间相邻块邻近于当前块(例如,N×2N PU或2N×N PU)的顶边缘。

然而,代替总是考虑左4×4空间相邻块及上4×4空间相邻块,可存在若干替代例,使得待检查的块的数目变得较小。举例来说,在一个解决方案中,视频译码器检查三个空间相邻块。举例来说,如图14中所示,视频译码器仅检查上空间相邻块、左空间相邻块及左上空间相邻块。即,图14为说明用于NBDV推导过程中的左空间相邻块、上空间相邻块及左上空间相邻块的概念图。在这个实例中,视频译码器可按上空间相邻块、左空间相邻块及左上空间相邻块的次序来检查上空间相邻块、左空间相邻块及左上空间相邻块。在其它实例中,视频译码器可按任何其它次序来检查上空间相邻块、左空间相邻块及左上空间相邻块。

在其它实例中,视频译码器可在NBDV推导过程中检查所述空间相邻块中的任一者。换句话说,可在图2中所示的五个空间相邻块A0、A1、B0、B1及B2当中抽取任何其它空间相邻块。在一些实例中,在抽取之后待检查的块的总数可大于零且小于五。此外,在一些实例中,视频译码器可检查五个空间相邻块的子集的视差运动矢量,但可检查所有五个空间相邻块的IDV。换句话说,在这个实例中,针对块而可应用或可不应用缩减,其中将搜索IDV。此外,在一些实例中,空间相邻块的检查次序可加以重排。

可将空间相邻块的缩减与在本发明中的别处所描述的基于CU的NBDV推导过程一起组合。举例来说,在图13的实例中,NPU为覆盖左上像素的PU,且NPU的空间相邻块仅为NPU的上空间相邻块及左空间相邻块。在另一实例中,NPU为CU且空间相邻块为CU的上空间相邻块、左空间相邻块及左上空间相邻块,如图14中所示。

图15为说明根据本发明的一或多个技术的视频译码器的实例操作600的流程图。在图15的实例中,视频译码器(例如,视频编码器20或视频解码器30)执行视差矢量推导过程以确定当前块的视差矢量(602)。根据本发明的一或多个技术,作为执行视差矢量推导过程的部分,当第一空间相邻块或第二空间相邻块具有视差运动矢量或IDV时,视频译码器可将所述视差运动矢量或IDV转换到当前块的视差矢量。在图15的实例中,即使第一空间相邻块或第二空间相邻块两者都不具有视差运动矢量或IDV,视差矢量推导过程仍不确定除第一空间相邻块及第二空间相邻块之外的任何空间相邻块是否具有视差运动矢量或IDV。在一些实例中,第一空间相邻块邻近于当前块的顶边缘且第二空间相邻块邻近于当前块的左边缘。在一些实例中,视频译码器可首先检查第一空间相邻块的视差运动矢量(或IDV)且接着可检查第二空间相邻块的视差运动矢量(或IDV)。在其它实例中,视频译码器可首先检查第二空间相邻块的视差运动矢量(或IDV)且接着可检查第一空间相邻块的视差运动矢量(或IDV)。

此外,在图15的实例中,视频译码器可基于所推导的视差矢量且在不分开地推导所述多个块中除所述代表性块之外的任何块的视差矢量的情况下针对所述多个块中的两个或两个以上块而执行视图间预测(604)。在其中视频译码器包括视频解码器的一些实例中,视频解码器部分地通过基于所推导的视差矢量而针对当前块执行视图间预测来重构当前块的样本块。在其中视频译码器包括视频编码器的一些实例中,视频编码器部分地基于当前块的所推导的视差矢量而产生当前块的经编码表示。

图16为说明根据本发明的实例的用以确定当前块的视差矢量的视频译码器的实例操作620的流程图。在图16的实例中,当确定当前块的视差矢量时,视频译码器使用多达两个空间相邻块。具体地说,在图16的实例中,视频译码器可确定第一空间相邻块是否具有视差运动矢量(622)。在一些实例中,第一空间相邻块邻近于当前块的左边缘。在其它实例中,第一空间相邻块邻近于当前块的顶边缘。响应于确定第一空间相邻块具有视差运动矢量(622的“是”),视频译码器可将第一空间相邻块的视差运动矢量转换成当前块的视差矢量(624)。

另一方面,响应于确定第一空间相邻块不具有视差运动矢量(622的“否”),视频译码器可确定第二空间相邻块是否具有视差运动矢量(626)。在一些实例中,第二空间相邻块邻近于当前块的左边缘。在其它实例中,第二空间相邻块邻近于当前块的顶边缘。响应于确定第二空间相邻块具有视差运动矢量(626的“是”),视频译码器可将第二空间相邻块的视差运动矢量转换成当前块的视差矢量(628)。否则,响应于确定第二空间相邻块不具有视差运动矢量(626的“否”),视频译码器可指示当前块的视差矢量不可用(630)。

如上文所描述,在双向预测式帧间预测中,可存在多达两个参考图片列表(即,RefPicList0及RefPicList1)。此外,双向预测式块(例如,PU)含有两个运动矢量。当所述块的两个运动矢量(即,分别对应于RefPicList0及RefPicList1的运动矢量)为视差运动矢量时,对应于RefPicList1的运动矢量可为冗余的。

在3D-HEVC测试模型1中,视频译码器确定相邻块是否使用RefPicList0中的参考图片。举例来说,视频译码器可检查PredFlagL0[xN][yN]是否等于1,其中(xN,yN)为由相邻块所覆盖的位置且PredFlagL0为指示覆盖特定坐标的块是否利用RefPicList0中的参考图片的值阵列。

此外,如3D-HEVC测试模型1中所描述,如果相邻块使用RefPicList0中的参考图片,那么视频译码器可确定相邻块的RefPicList0参考索引是否指示RefPicList0中的视图间参考图片,其中所述视图间参考图片具有等于特定参考视图索引的视图次序索引。举例来说,视频译码器可确定RefPicList0[RefIdxL0[xN][yN]]是否为视图间参考图片(其中ViewOrderIndex等于refViewIdx),其中RefIdxLx0[xN][yN]为相邻块的RefPicList0参考索引且refViewIdx为特定视图索引。如果如此,那么视频译码器可将视差矢量设置成等于相邻块的RefPicList0运动矢量。否则,如果相邻块的预测模式为跳过模式且相邻块具有指示相邻块具有视图间运动矢量的视图间预测运动矢量旗标(例如,当相邻块具有IDV时可发生所述状况),那么视频译码器可将变量(例如,ivpMVDispN0)设置到相邻块的视差矢量(例如,IvpMvDispL0[xN,yN])。视频译码器可接着针对RefPicList1而重复这个过程。视图次序索引可为指示存取单元中的视图分量的解码次序的值(即,索引)。

因此,如在JCT3V-A1005的部分G.8.5.2.1.13中所描述:

对于从0到1的每一X而言,如果availableN等于1且PredFlagLX[xN][yN]等于1,那么以下内容适用:

a.如果RefPicListX[RefIdxLX[xN][yN]]为视图间参考图片(其中ViewOrderIndex等于refViewIdx),那么以下内容适用:

mvDisp=mvLXN[xN][yN]

availableDV=1

b.否则,如果PredMode[xN][yN]等于MODE_SKIP且IvpMvFlagLX[xN,yN]等于1,那么以下内容适用:

ivpMvDispNX=IvpMvDispLX[xN,yN]

availableFlagIvpMvNX=1

根据本发明的一些技术,视频译码器可执行修剪过程,在所述修剪过程中,视频译码器不检查如3D-HEVC测试模型1中所描述的RefPicList0与RefPicList1两者。相反,视频译码器可仅检查所述参考图片列表中的一者。举例来说,视频译码器可仅检查RefPicList0。在其它实例中,视频译码器可仅检查RefPicList1。因此,在这个修剪过程中,对于空间或时间相邻块而言,为从这个块推导视差运动矢量而非检查对应于RefPicList0与RefPicList1两者的运动矢量,视频译码器仅检查对应于RefPicList0(RefPicList1)的运动矢量。

举例来说,当视频译码器执行视差矢量推导过程时,视频译码器可针对相邻块而仅检查所述相邻块的对应于第一参考图片列表(例如,RefPicList0或RefPicList1)的运动矢量是否为视差运动矢量,而不管所述相邻块是否具有对应于第二参考图片列表(例如,RefPicList0或RefPicList1)的运动矢量。此外,在这个实例中,当所述相邻块的对应于第一参考图片列表的运动矢量为视差运动矢量时,视频译码器可将所述视差运动矢量转换到代表性块的视差矢量。

图17为说明根据本发明的一或多个技术的用以确定当前块的视差矢量的视频译码器的实例操作650的流程图。在一些实例(诸如图16及17的实例)中,可以简单方式来表示IDV,使得不使用旗标来发信相邻块是否含有IDV。相反,在这些实例中,视频译码器可设置相邻块的一或多个现有变量(例如,参考索引、参考视图索引等等)以指示所述相邻块含有IDV。

如图17的实例中所示,视频译码器(例如,视频编码器20或视频解码器30)可确定当前空间相邻块是否具有视差运动矢量(652)。响应于确定当前空间相邻块具有视差运动矢量(652的“是”),视频译码器可将所述当前空间相邻块的视差运动矢量转换到当前块的视差矢量(654)。在将视差运动矢量转换到视差矢量之后,操作650结束。

另一方面,响应于确定当前空间相邻块不具有视差运动矢量(652的“否”),视频译码器可确定是否存在任何剩余空间相邻块(660)。响应于确定存在一或多个空间相邻块(660的“是”),视频译码器可关于所述空间相邻块中的另一者而重复动作652到656。以此方式,视频译码器可执行动作652到656直到视频译码器具有所有空间相邻块或已识别空间运动矢量。视频译码器可按A1、B1、B0、A0及B2的次序来检查所述空间相邻块。

响应于确定不存在剩余空间相邻块(656的“否”),视频译码器可确定是否启用时间运动矢量预测(658)。如果视频译码器确定时间运动矢量预测被启用(658的“是”),那么视频译码器可执行操作650的展示于图18中的部分(图17中指示为“A”)。在执行操作650的展示于图18中的部分之后或在确定时间运动矢量预测未被启用(658的“否”)之后,视频译码器可检查IDV的空间相邻块。视频译码器可按A0、A1、B0、B1及B2的次序来检查所述空间相邻块。因此,在图17的实例中,视频译码器可确定当前空间相邻块是否以跳过模式而加以译码且是否具有设置到非法值的特定变量(660)。如果当前空间相邻块的特定变量被设置到非法值,那么当前空间相邻块具有IDV。举例来说,在确定当前块的视差矢量之前,视频译码器已经译码当前空间相邻块。作为译码当前空间相邻块的部分,视频译码器可执行运动预测过程(例如,合并模式过程或AMVP过程)以确定当前空间相邻块的运动信息。在3D-HEVC工作草案1中,当视频译码器执行运动预测过程时,视频译码器设置视图间预测运动矢量旗标(例如,IvpMvFlagLX)以指示当前空间相邻块是否具有IDV。然而,根据本发明的一或多个技术,视频译码器可将当前空间相邻块的特定变量设置到非法值以便指示当前空间相邻块具有IDV。如上文所指示,特定变量可为参考索引、参考视图索引及其它变量。在视频译码器已确定当前空间相邻块的运动信息之后,视频译码器可不再次需要所述特定变量。因此,可重新使用所述特定变量来指示当前空间相邻块是否具有IDV。

响应于确定当前空间相邻块是以跳过模式而加以译码且具有设置到非法值的特定变量(660的“是”),视频译码器可将当前空间相邻块的IDV转换到当前块的视差矢量(662)。在将当前空间相邻块的IDV转换到当前块的视差矢量之后,操作650结束。

另一方面,响应于确定当前空间相邻块未以跳过模式而加以译码或当前空间相邻块的特定变量未被设置到非法值(660的“否”),视频译码器可确定是否存在任何剩余空间相邻块(664)。响应于确定存在一或多个剩余空间相邻块(664的“是”),视频译码器可在所述剩余空间相邻块中的一者作为当前空间相邻块的情况下重复动作660到664。

响应于确定不存在剩余空间相邻块(664的“否”),视频译码器可指示当前块的视差矢量不可用(666)。操作650可接着结束。

图18为说明图17中所示的操作650的实例延续的流程图。如图18的实例中所示,视频译码器可确定当前块的译码模式是否为AMVP(690)。响应于确定译码模式为AMVP(690的“是”),视频译码器可定义同置型图片中的BR及CB区域(692)。接下来,视频译码器可确定覆盖BR区域的块(例如,PU)是否具有视差运动矢量(694)。响应于确定覆盖所述BR区域的块具有视差运动矢量(694的“是”),视频译码器可将覆盖所述BR区域的块的视差运动矢量转换到当前块的视差矢量(696)。视频译码器可接着结束操作650的视差矢量推导过程。

另一方面,响应于确定覆盖所述BR区域的块不具有视差运动矢量(694的“否”),视频译码器可确定覆盖CB区域的块是否具有视差运动矢量(698)。响应于确定覆盖所述CB区域的块具有视差运动矢量(698的“是”),视频译码器可将覆盖所述CB区域的块的视差运动矢量转换到当前块的视差矢量(700)。视频译码器可接着结束操作650的视差矢量推导过程。然而,如果覆盖CB区域的块不具有视差运动矢量(698的“否”),那么视频译码器可执行图17中所示的操作650的在被标记为“B”圆圈后面的部分。

响应于确定译码模式非为AMVP(690的“否”),视频译码器可定义在候选者图片列表中的当前同置型图片中的BR及CB区域(702)。接下来,视频译码器可确定覆盖当前候选者图片的BR区域的块(例如,PU)是否具有视差运动矢量(704)。响应于确定覆盖当前候选者图片的BR区域的块具有视差运动矢量(704的“是”),视频译码器可将覆盖当前候选者图片的BR区域的块的视差运动矢量转换到当前块的视差矢量(706)。视频译码器可接着结束操作650的视差矢量推导过程。

另一方面,响应于确定覆盖当前候选者图片的BR区域的块不具有视差运动矢量(704的“否”),视频译码器可确定覆盖当前候选者图片的CB区域的块是否具有视差运动矢量(708)。响应于确定覆盖当前候选者图片的CB区域的块具有视差运动矢量(708的“是”),视频译码器可将覆盖当前候选者图片的CB区域的块的视差运动矢量转换到当前块的视差矢量(710)。视频译码器可接着结束操作650的视差矢量推导过程。

然而,响应于确定覆盖当前候选者图片的CB区域的块不具有视差运动矢量(708的“否”),视频译码器可确定在候选者图片列表中是否存在任何剩余候选者图片(712)。响应于确定在候选者图片列表中存在一或多个剩余候选者图片(712的“是”),视频译码器可在所述候选者图片中的另一者作为当前候选者图片的情况下执行动作702到712。另一方面,响应于确定在候选者图片列表中不存在剩余候选者图片(712的“否”),视频译码器可执行图17中所示的操作650的在被标记为“B”圆圈后面的部分。

实例1.一种译码视频数据的方法,所述方法包括:确定视频数据的译码单元(CU)的视差矢量,所述CU包含一或多个预测单元(PU),其中所述视差矢量为所述CU的所述一或多个PU中的每一者所共有;及基于所述所确定的视差矢量而针对所述CU来执行视图间运动预测及视图间残差预测中的一或多者。

实例2.实例1的方法,所述方法进一步包括采用所述视差矢量作为视差运动矢量,其中基于所述所确定的视差矢量而针对所述CU来执行所述视图间运动预测及所述视图间残差预测中的所述一或多者包括使用所述视差运动矢量而针对所述CU来执行所述视图间运动预测及所述视图间残差预测中的一或多者。

实例3.实例1的方法,其中确定所述CU的所述视差矢量包括基于与视频数据的参考块相关联的视差运动矢量(DMV)及隐式视差矢量(IDV)中的一者来确定所述视差矢量。

实例4.实例3的方法,其中所述参考块包括以下各者中的一者:与所述CU相关联的空间相邻块;及与所述CU相关联的时间相邻块。

实例5.实例4的方法,其中所述CU包括视频数据帧的多个CU中的一者,且其中所述空间相邻块包括视频数据块,所述视频数据块被包含在所述多个CU中除所述CU之外的另一CU内且在所述帧内位于邻近于所述CU处。

实例6.实例4的方法,其中所述CU包括视频数据的第一帧的第一多个CU中的一者,且其中所述时间相邻块包括视频数据块,所述视频数据块被包含在视频数据的第二帧内,其中所述第一帧不同于所述第二帧。

实例7.实例6的方法,其中被包含在所述第二帧内的所述块包括以下各者中的一者:被包含在所述第二帧的第二多个CU中的CU内的视频数据块,其中所述第二帧的所述第二多个CU中的所述CU是与所述第一帧的所述第一多个CU中的所述CU同置;及位于邻近于所述第二帧的所述第二多个CU中的所述CU处的视频数据块。

实例8.实例3的方法,其中所述CU包括视频数据帧的多个CU中的一者,且其中所述参考块包括以下各者中的一者:被包含在所述多个CU中除所述CU之外的第一CU内的第一相邻PU,其在所述帧内位于邻近于所述CU的左下拐角处;被包含在所述多个CU中除所述CU之外的第二CU内的第二相邻PU,其在所述帧内位于所述CU的正左方;被包含在所述多个CU中除所述CU之外的第三CU内的第三相邻PU,其在所述帧内位于邻近于所述CU的左上拐角处;被包含在所述多个CU中除所述CU之外的第四CU内的第四相邻PU,其在所述帧内位于所述CU的正上方;及被包含在所述多个CU中除所述CU之外的第五CU内的第五相邻PU,其在所述帧内位于邻近于所述CU的右上拐角处。

实例9.实例8的方法,其中所述参考块包括所述第一相邻PU、所述第二相邻PU、所述第三相邻PU、所述第四相邻PU及所述第五相邻PU的子集中的一者。

实例10.实例3的方法,其中所述参考块包括以下各者中的一者:视频数据的第二帧的第一区域,其被包含在所述第二帧的与所述CU同置的部分内;所述第二帧的第二区域,其被包含在所述第二帧的与所述CU的PU同置的部分内;所述第二帧的第三区域,其对应于所述第二帧的最大CU(LCU)且包含所述第一区域及所述第二区域中的一者或两者;及所述第二帧的第四区域,其位于邻近于所述第一区域及所述第二区域中的一或多者的右下拐角处。

实例11.实例3的方法,其中所述参考块包括所述CU的除所述CU之外的空间相邻CU及时间相邻CU中的一者的PU。

实例12.实例3的方法,其中所述参考块是基于所述CU的所述多个PU中的代表性PU而加以确定。

实例13.实例3的方法,其中所述视差运动矢量是通过根据预定次序确定与所述CU相关联的一或多个参考块中的每一者的视差运动矢量及隐式视差矢量中的一者而加以确定。

实例14.实例13的方法,其中所述预定次序是基于所述CU与所述一或多个参考块中的每一者之间的相关的量而加以定义。

实例15.实例1的方法,其进一步包括:

通过发信以下各者中的一者来指示是否存在与所述CU相关联的参考块的隐式视差矢量(IDV):参考索引;参考视图索引;参考视图索引的差;非法参考索引;非法参考视图索引;及非法参考视图索引的差。

实例16.实例15的方法,其进一步包括避免使用单一位旗标来指示是否存在所述参考块的所述IDV。

实例17.实例1到16的任一组合的方法。

实例18.实例1到16中的任一者或其组合的方法,其中所述方法是由编码器执行。

实例19.实例1到16中的任一者或其组合的方法,其中所述方法是由解码器执行。

实例20.一种系统,其经配置以执行实例1到16中的任一者或其组合的方法。

实例21.一种非暂时性计算机可读存储媒体,其包括指令,所述指令在执行时致使一或多个处理器执行实例1到16中的任一者或其组合的方法。

实例22.一种视频编码装置,其经配置以执行实例1到16中的任一者或其组合的方法。

实例23.一种视频解码装置,其经配置以执行实例1到16中的任一者或其组合的方法。

实例24.一种用于译码视频数据的装置,其包括:用于确定视频数据的译码单元(CU)的视差矢量的装置,所述CU包含一或多个预测单元(PU),其中所述视差矢量为所述CU的所述一或多个PU中的每一者所共有;及用于基于所述所确定的视差矢量而针对所述CU来执行视图间运动预测及视图间残差预测中的一或多者的装置。

实例25.实例24的装置,其进一步包括用于采用所述视差矢量作为视差运动矢量的装置,其中所述用于基于所述所确定的视差矢量而针对所述CU来执行所述视图间运动预测及所述视图间残差预测中的所述一或多者的装置包括用于使用所述视差运动矢量而针对所述CU来执行所述视图间运动预测及所述视图间残差预测中的一或多者的装置。

实例26.实例24的装置,其中所述用于确定所述CU的所述视差矢量的装置包括用于基于与视频数据的参考块相关联的视差运动矢量(DMV)及隐式视差矢量(IDV)中的一者来确定所述视差矢量的装置。

实例27.实例26的装置,其中所述参考块包括以下各者中的一者:与所述CU相关联的空间相邻块;及与所述CU相关联的时间相邻块。

实例28.实例27的装置,其中所述CU包括视频数据帧的多个CU中的一者,且其中所述空间相邻块包括视频数据块,所述视频数据块被包含在所述多个CU中除所述CU之外的另一CU内且在所述帧内位于邻近于所述CU处。

实例29.实例27的装置,其中所述CU包括视频数据的第一帧的第一多个CU中的一者,且其中所述时间相邻块包括视频数据块,所述视频数据块被包含在视频数据的第二帧内,其中所述第一帧不同于所述第二帧。

实例30.实例29的装置,其中被包含在所述第二帧内的所述块包括以下各者中的一者:被包含在所述第二帧的第二多个CU中的CU内的视频数据块,其中所述第二帧的所述第二多个CU中的所述CU是与所述第一帧的所述第一多个CU中的所述CU同置;及位于邻近于所述第二帧的所述第二多个CU中的所述CU处的视频数据块。

实例31.实例26的装置,其中所述CU包括视频数据帧的多个CU中的一者,且其中所述参考块包括以下各者中的一者:被包含在所述多个CU中除所述CU之外的第一CU内的第一相邻PU,其在所述帧内位于邻近于所述CU的左下拐角处;被包含在所述多个CU中除所述CU之外的第二CU内的第二相邻PU,其在所述帧内位于所述CU的正左方;被包含在所述多个CU中除所述CU之外的第三CU内的第三相邻PU,其在所述帧内位于所述CU的左上拐角处;被包含在所述多个CU中除所述CU之外的第四CU内的第四相邻PU,其在所述帧内位于所述CU的正上方;及被包含在所述多个CU中除所述CU之外的第五CU内的第五相邻PU,其在所述帧内位于邻近于所述CU的右上拐角处。

实例32.实例31的装置,其中所述参考块包括所述第一相邻PU、所述第二相邻PU、所述第三相邻PU、所述第四相邻PU及所述第五相邻PU的子集中的一者。

实例33.实例26的装置,其中所述参考块包括以下各者中的一者:视频数据的第二帧的第一区域,其被包含在所述第二帧的与所述CU同置的部分内;所述第二帧的第二区域,其被包含在所述第二帧的与所述CU的PU同置的部分内;所述第二帧的第三区域,其对应于所述第二帧的最大CU(LCU)且包含所述第一区域及所述第二区域中的一者或两者;及所述第二帧的第四区域,其位于邻近于所述第一区域及所述第二区域中的一或多者的右下拐角处。

实例34.实例26的装置,其中所述参考块包括所述CU的除所述CU之外的空间相邻CU及时间相邻CU中的一者的PU。

实例35.实例26的装置,其中所述参考块是基于所述CU的所述多个PU中的代表性PU而加以确定。

实例36.实例26的装置,其中所述用于确定所述视差运动矢量的装置包括用于根据预定次序来确定与所述CU相关联的一或多个参考块中的每一者的视差运动矢量及隐式视差矢量中的一者的装置。

实例37.实例36的装置,其中所述预定次序是基于所述CU与所述一或多个参考块中的每一者之间的相关的量而加以定义。

实例38.实例24的装置,其进一步包括:用于通过发信以下各者中的一者来指示是否存在与所述CU相关联的参考块的隐式视差矢量(IDV)的装置:参考索引;参考视图索引;参考视图索引的差;非法参考索引;非法参考视图索引;及非法参考视图索引的差。

实例39.实例38的装置,其进一步包括用于避免使用单一位旗标来指示是否存在所述参考块的所述IDV的装置。

实例40.本发明中所描述的任何装置或方法。

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

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

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

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

已描述各种实例。这些及其它实例是在所附权利要求书的范围内。

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