视频译码中的视差向量选择的制作方法

文档序号:7793511阅读:310来源:国知局
视频译码中的视差向量选择的制作方法
【专利摘要】一种视频译码器使用第一视差向量导出过程确定第一视差向量。另外,所述视频译码器使用第二视差向量导出过程确定第二视差向量。所述第一视差向量导出过程不同于所述第二视差向量导出过程。所述视频译码器使用所述第一视差向量来确定当前预测单元PU的一组运动向量预测MVP候选者中的一MVP候选者。所述视频译码器使用所述第二视差向量来确定残余数据。
【专利说明】视频译码中的视差向量选择
[0001]本申请案主张2012年6月15日申请的第61/660,632号美国临时专利申请案以及2012年7月2日申请的第61/667,354号美国临时专利申请案的权益,所述两个申请案中的每一者的全部内容以引用的方式并入本文中。

【技术领域】
[0002]本发明涉及视频译码(即,对视频数据的编码和/或解码)。

【背景技术】
[0003]数字视频能力可并入到大范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的智能电话摂、视频会议装置、视频串流装置等等。数字视频装置实施视频压缩技术,例如由 MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4 第 10 部分高级视频译码(AVC)、目前在开发中的高效率视频译码(HEVC)标准定义的标准和所述标准的扩展部分中所描述的那些视频压缩技术。视频装置可通过实施此些视频压缩技术来更高效地发射、接收、编码、解码和/或存储数字视频信息。
[0004]视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测以减少或移除视频序列中所固有的冗余。对于基于块的视频译码,可将一视频切片(即,视频帧或视频帧的一部分)分割成若干视频块。使用空间预测相对于同一图片中的相邻块中的参考样本来编码图片的经帧内译码(I)切片中的视频块。图片的经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
[0005]空间或时间预测产生对待译码的块的预测性块。残差数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本块的运动向量以及指示经译码块与所述预测性块之间的差的残差数据来编码经帧间译码块。根据帧内译码模式和残差数据来编码经帧内译码块。为了进一步压缩,可将残差数据从像素域变换为变换域,从而产生残余系数,所述残余系数随后可被量化。起初布置在二维阵列中的经量化系数可依序扫描以产生系数的一维向量,且可应用熵译码以实现更多的压缩。
[0006]可例如从多个观点编码视图来产生多视图译码位流。已经开发或在开发中的一些三维(3D)视频标准利用多视图译码方面。举例来说,不同视图可传输左眼及右眼视图以支持3D视频。或者,一些3D视频译码过程可应用所谓的多视图加深度译码。在多视图加深度译码中,3D视频位流可不仅含有纹理视图分量而且含有深度视图分量。举例来说,每一视图可包括一个纹理视图分量及一个深度视图分量。


【发明内容】

[0007]一般来说,本发明描述用于3D视频译码的视差向量导出。具体来说,视频译码器使用不同的视差向量导出过程,其取决于是否将视差向量用于运动向量预测或残差预测。因此,视频译码器可使用第一视差向量导出过程确定第一视差向量且可使用第二视差向量导出过程确定第二视差向量。视频译码器使用第一视差向量以确定当前预测单元(PU)的一组运动向量预测(MVP)候选者中的一 MVP候选者。视频译码器使用第二视差向量来确定残余数据。
[0008]在一个实例中,本发明描述解码视频数据的方法,所述方法包括:使用第一视差向量导出过程确定第一视差向量使用第二视差向量导出过程确定第二视差向量,其中所述第一视差向量导出过程不同于所述第二视差向量导出过程;使用所述第一视差向量确定当前PU的一组MVP候选者中的一 MVP候选者;使用所述第二视差向量确定残余数据;及部分基于所述残余数据及所述组MVP候选者中的所选择的MVP候选者而产生经重构图片的一或多个块。
[0009]在另一实例中,本发明描述编码视频数据的方法,所述方法包括:使用第一视差向量导出过程确定第一视差向量;使用第二视差向量导出过程确定第二视差向量,其中所述第一视差向量导出过程不同于所述第二视差向量导出过程;使用所述第一视差向量确定当前PU的一组MVP候选者中的一 MVP候选者;使用所述第二视差向量确定残余数据;及产生包含指示用于所述当前PU的残余数据及所述组MVP候选者中的所选择的MVP候选者的数据的位流。
[0010]在另一实例中,本发明描述一种视频译码器,其包括一或多个处理器,所述一或多个处理器经配置以:使用第一视差向量导出过程确定第一视差向量;使用第二视差向量导出过程确定第二视差向量,其中所述第一视差向量导出过程不同于所述第二视差向量导出过程;及使用所述第一视差向量确定当前PU的一组MVP候选者中的一 MVP候选者;使用所述第二视差向量确定残余数据。
[0011]在另一实例中,本发明描述一种视频译码器,其包括:用于使用第一视差向量导出过程确定第一视差向量的装置;用于使用第二视差向量导出过程确定第二视差向量的装置,其中所述第一视差向量导出过程不同于所述第二视差向量导出过程;用于使用所述第一视差向量确定当前PU的一组MVP候选者中的一MVP候选者的装置;及用于使用所述第二视差向量确定残余数据的装置。
[0012]在另一实例中,本发明描述一种其上存储有指令的计算机可读存储媒体,所述指令在被执行时配置视频译码器以:使用第一视差向量导出过程确定第一视差向量;使用第二视差向量导出过程确定第二视差向量,其中所述第一视差向量导出过程不同于所述第二视差向量导出过程;使用所述第一视差向量确定当前预测单元(PU)的一组运动向量预测(MVP)候选者中的一 MVP候选者;及使用所述第二视差向量确定残余数据。
[0013]本发明的一或多个实例的细节在附图及以下描述中陈述。从描述内容、图式和权利要求书中将了解其它特征、目的和优点。

【专利附图】

【附图说明】
[0014]图1为说明可利用本发明中所描述的技术的实例性视频译码系统的框图。
[0015]图2是说明相对于当前预测单元(PU)的实例性空间运动向量相邻者的概念图。
[0016]图3是说明一条线的实例性2: I运动数据压缩的概念图。
[0017]图4是说明清洁随机存取(CRA)图片及前导图片的概念图。
[0018]图5是说明实例性多视图译码解码次序的概念图。
[0019]图6是说明用于多视图译码的实例性预测结构的概念图。
[0020]图7是说明实例性空间视差运动向量的概念图。
[0021]图8是说明实例性时间视差运动向量的概念图。
[0022]图9是说明实例性隐式视差向量的概念图。
[0023]图10是说明可实施本发明中描述的技术的实例视频编码器的框图。
[0024]图11是说明可实施本发明中描述的技术的实例视频解码器的框图。
[0025]图12是说明用于确定用于高级运动向量预测(AMVP)模式、合并模式中的视差向量以用于运动向量预测及视图间残差预测的实例性过程的流程图。
[0026]图13是说明用以基于在时间上相邻的PU来确定当前I3U的视差向量的实例性操作的流程图。
[0027]图14是说明候选图片的实例性候选区的概念图。
[0028]图15是说明实例性视差向量产生过程的流程图。
[0029]图16是说明用于AMVP及视图间残差预测模式的实例性视差向量产生过程的流程图。
[0030]图17是说明在空间上与当前I3U相邻的实例性位置的概念图。
[0031]图18是说明图15及16的视差向量产生过程的实例性接续部分的流程图。
[0032]图19是说明图15、16及17的视差向量产生过程的实例性接续部分的流程图。
[0033]图20是说明根据本发明的一或多种技术的视频编码器的实例性操作的流程图。
[0034]图21是说明根据本发明的一或多种技术的视频解码器的实例性操作的流程图。

【具体实施方式】
[0035]在高效率视频译码(HEVC)中,视频编码器可使用合并模式或高级运动向量预测(AMVP)模式用信号发送当前预测单元(PU)的运动信息。当前PU的运动信息可包含一或多个运动向量(MV)、一或多个参考索弓丨及预测方向指示符。
[0036]在视频编码器使用合并模式用信号发送当前的运动信息时,视频编码器产生包含一组合并候选者的合并候选者列表。所述合并候选者列表可包含指定在空间上或在时间上与当前PU相邻的的运动信息的合并候选者。在空间上与当前相邻的PU可在与当前I3U相同的图片中。在时间上与当前I3U相邻的PU可至少部分与当前PU位于同一地点,但在与含有当前PU的图片不同的时间实例处出现的图片中。视频编码器可从合并候选者列表选择合并候选者中的一者且在所述合并候选者列表内用信号发送所选择的合并候选者的位置。视频解码器可重构相同的合并候选者列表且可基于所述用信号发送的位置来确定所选择的合并候选者。视频解码器可随后确定当前PU的运动信息与由所选择的合并候选者指定的运动信息相同。
[0037]在视频编码器使用AMVP模式用信号发送当前的运动信息时,视频编码器产生包含一组AMVP候选者的AMVP候选者列表。所述AMVP候选者列表可包含指定在空间上或在时间上与当前I3U相邻的PU的运动信息的AMVP候选者。此外,视频编码器可从AMVP候选者列表选择一 AMVP候选者。视频编码器可产生当前的至少一个运动向量差(MVD)。MVD可指示当前的运动向量与所选择的AMVP候选者的运动向量之间的差。视频编码器可用信号发送MVD、参考索引及指示AMVP候选者列表内的所选择的AMVP候选者的位置的语法元素。视频解码器可重构相同的AMVP候选者列表且可基于用信号发送的位置来确定所选择的AMVP候选者。视频解码器可随后通过将MVD添加到由所选择的AMVP候选者指定的运动向量来确定当前I3U的运动向量。
[0038]当前正致力于产生HEVC的3维视频译码(3DV)扩展,被称作3D-HEVC。3D-HEVC提供同一场景的来自不同视点的多个视图。在3D-HEVC中,在相同时间实例处出现的不同视图的图片与相同的“存取单元”相关联。3D-HEVC支持视图间预测。视图间预测类似于用于标准HEVC中的运动补偿及可使用相同的语法元素。然而,在视频译码器对执行视图间预测时,视频译码器可使用在与PU相同的存取单元中但在不同视图中的图片作为参考图片列表中的参考图片。相比而言,常规的运动补偿仅使用不同存取单元中的图片作为参考图片。
[0039]如上文所提及,在当前的运动信息是使用合并模式或AMVP模式用信号发送时,视频译码器(例如,视频编码器或视频解码器)可产生候选者列表(例如,合并候选者列表或AMVP候选者列表)。在3D-HEVC中,所述候选者列表可包含视图间预测候选者。视频编码器可以视频译码器使用候选者列表中的另一候选者相同的方式使用此视图间预测候选者。
[0040]视图间预测候选者指定参考的运动信息。所述参考可为参考图片的PU。所述参考图片可在与当前I3U相同的存取单元中,但在与当前PU不同的视图中。为了确定参考PU,视频译码器可确定当前PU的视差向量。当前PU的视差向量可指示当前I3U与参考图片内的位置之间的水平空间移位。所述参考PU可为覆盖由视差向量指示的位置的参考图片的W。
[0041]此外,视频译码器可使用视差向量来定位参考视图中的残余块。此残余块可在本文中被称为残余参考块。在针对块启用残差预测时,视频解码器可通过将残余参考块添加到当前块的预测性块及当前块的用信号发送的残余块而重构当前块。
[0042]在一些情况下,视频译码器可基于空间视差向量(SDV)、时间视差向量(TDV)或隐式视差向量(IDV)来确定当前I3U的视差向量。SDV是在空间上与当前PU相邻的视差运动向量。TDV是在与当前PU相同的视图中但在与当前I3U不同的存取单元中的I3U的视差运动向量。如果使用视图间运动预测来译码当前PU的在空间上或在时间上相邻的W,那么所述在空间上或在时间上相邻的PU的视差向量是IDV。视差运动向量是指向视图间参考图片内的位置的运动向量。视图间参考图片是在与当前PU相同的存取单元中但在不同的视图中的图片。
[0043]此外,为了确定当前的视差向量,视频译码器可产生包含一组视差向量候选者的视差向量候选者列表。所述视差向量候选者中的每一者指定上文识别的SDV、TDV及IDV中的一者的视差向量。视频译码器可随后从所述视差向量候选者列表选择视差向量候选者中的一者。视频译码器可将所选择的视差运动向量的水平分量用作当前PU的视差向量。以此方式确定当前PU的视差向量可为高效的,这是因为不需要在位流中显式地用信号发送当前PU的视差向量或用于当前视图分量的深度图。
[0044]在其它实例中,视频译码器本身不产生视差向量候选者列表。而是,视频译码器根据特定的预定义次序来处理在空间上及在时间上相邻的PU。在视频译码器确定在空间上或在时间上相邻的I3U具有SDV、TDV或IDV时,视频译码器可将所确定的视差运动向量(即,所确定的SDV、TDV或IDV)的水平分量用作当前I3U的视差向量。
[0045]因为当前I3U的视差向量是从视差运动向量(即,SDV、TDV及IDV)导出的,所以针对当前PU所确定的视差向量可能不如在所述视差向量是从深度图确定时那么准确。此外,视频译码器通常从视差向量候选者列表选择第一可用的视差向量。然而,来自其它相邻PU的其它视差向量可比第一可用的视差向量更准确。视差向量上的不准确性可降低译码效率,且进而增加所得位流的大小。
[0046]本发明的技术可解决这些问题中的一或多者。举例来说,视频译码器可使用第一视差向量导出过程确定第一视差向量。此外,视频译码器可使用第二视差向量导出过程确定第二视差向量,其中所述第一视差向量导出过程不同于所述第二视差向量导出过程。视频译码器可使用第一视差向量以确定当前预测单元(PU)的一组运动向量预测(MVP)候选者中的一 MVP候选者。另外,视频译码器可使用第二视差向量来确定残余数据。通过使用不同的视差向量来用于视图间运动向量预测及视图间残差预测,视频译码器可获得使得视频译码器能够更准确地预测运动向量及残余数据的视差向量。
[0047]图1为说明可利用本发明的技术的实例性视频译码系统10的框图。如本文中所使用,术语“视频译码器”一般指代视频编码器和视频解码器两者。在本发明中,术语“视频译码”或“译码”可一般指代视频编码或视频解码。
[0048]如图1中所示,视频译码系统10包含源装置12和目的地装置14。源装置12产生经编码视频数据。因此,源装置12可被称作视频编码装置或视频编码设备。目的地装置14可对由源装置12产生的经编码视频数据进行解码。因此,目的地装置14可被称作视频解码装置或视频解码设备。源装置12及目的地装置14可为视频译码装置或视频译码设备的实例。
[0049]源装置12和目的地装置14可包括广泛范围的装置,包含桌上型计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如,所谓的“智能”电话)、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、汽车内计算机等。
[0050]目的地装置14可经由通道16从源装置12接收经编码视频数据。通道16可包括能够将经编码视频数据从源装置12移动到目的地装置14的一或多个媒体或装置。在一个实例中,通道16可包括使得源装置12能够实时地将经编码视频数据直接发射到目的地装置14的一或多个通信媒体。在此实例中,源装置12可根据例如无线通信协议等通信标准来调制经编码视频数据,且可将经调制视频数据发射到目的地装置14。所述一或多个通信媒体可包含无线或有线通信媒体,例如射频(RF)频谱或一或多条物理传输线。所述一或多个通信媒体可形成例如局域网、广域网或全球网络(例如因特网)的基于包的网络的部分。所述一或多个通信媒体可包含促进从源装置12到目的地装置14的通信的路由器、交换器、基站或其它设备。
[0051]在另一实例中,通道16可包含存储由源装置12产生的经编码视频数据的存储媒体。在此实例中,目的地装置14可(例如)经由磁盘存取或卡存取而存取存储媒体。所述存储媒体可包含多种本地存取的数据存储媒体,例如蓝光光盘、DVD、⑶-ROM、快闪存储器,或用于存储经编码视频数据的其它合适的数字存储媒体。
[0052]在进一步的实例中,通道16可包含文件服务器或存储由源装置12产生的经编码视频数据的另一中间存储装置。在此实例中,目的地装置14可经由流式传输或下载来存取存储于文件服务器或其它中间存储装置处的经编码视频数据。文件服务器可为能够存储经编码视频数据和将所述经编码视频数据发射到目的地装置14的类型的服务器。实例性文件服务器包含网络服务器(例如,用于网站)、文件传递协议(FTP)服务器、网络附接式存储(NAS)装置,或本地磁盘驱动器。
[0053]目的地装置14可通过标准的数据连接(例如因特网连接)来存取经编码视频数据。数据连接的实例性类型可包含无线通道(例如,W1-Fi连接)、有线连接(例如,DSLJf线调制解调器,等等),或适合于存取存储于文件服务器上的经编码视频数据的以上两者的组合。经编码视频数据从文件服务器的传输可为流式传输、下载传输,或两者的组合。
[0054]本发明的技术不限于无线应用或环境。所述技术可应用于支持多种多媒体应用(例如,空中电视广播、有线电视传输、卫星电视发射、流式视频传输(例如,经由因特网))的视频译码、供存储于数据存储媒体上的视频数据的编码、存储于数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频译码系统10可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
[0055]图1仅是实例,且本发明的技术可应用于在编码装置与解码装置之间不一定包含任何数据通信的视频译码环境(例如,视频编码或视频解码)。在其它实例中,从本地存储器检索数据,经由网络流式传输数据等。视频编码装置可编码数据且将数据存储到存储器,且/或视频解码装置可从存储器检索并解码数据。在许多实例中,编码和解码是由彼此不通信而是仅将数据编码到存储器和/或从存储器检索并解码数据的装置执行。
[0056]在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口 22。在一些实例中,输出接口 22可包含调制器/解调器(调制解调器)和/或发射器。视频源18可包含视频俘获装置(例如,摄像机、含有先前俘获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频馈送接口),和/或用于产生视频数据的计算机图形系统,或此类视频数据源的组合。
[0057]视频编码器20可编码来自视频源18的视频数据。在一些实例中,源装置12经由输出接口 22将经编码视频数据直接发射到目的地装置14。在其它实例中,还可将经编码视频数据存储到存储媒体或文件服务器上以供稍后由目的地装置14存取以进行解码和/或回放。
[0058]在图1的实例中,目的地装置14包含输入接口 28、视频解码器30和显示装置32。在一些实例中,输入接口 28包含接收器和/或调制器。输入接口 28可经由通道16接收经编码视频数据。显示装置32可与目的地装置14 一起集成,或可在所述目的地装置外部。一般来说,显示装置32显示经解码视频数据。显示装置32可包括多种显示装置,例如,液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0059]视频编码器20和视频解码器30各自可经实施为例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合等多种合适电路中的任一者。在所述技术部分地在软件中实施的情况下,一装置可将用于软件的指令存储于合适的非暂时性计算机可读存储媒体中,且可在硬件中使用一或多个处理器来执行所述指令以执行本发明的技术。可将前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者视为一或多个处理器。视频编码器20和视频解码器30中的每一者可包含于一或多个编码器或解码器中,所述视频编码器和视频解码器中的任一者可在相应装置中被集成为组合式编码器/解码器(CODEC)的一部分。
[0060]本发明可一般涉及视频编码器20将某一信息“用信号发送”到另一装置,例如视频解码器30。术语“信令”可一般指代用于对经压缩视频数据进行解码的语法元素和/或其它数据的通信。此通信可实时地或准实时地发生。替代地,此通信可在一段时间内发生,例如可能在编码时在经编码位流中将语法元素存储到计算机可读存储媒体(例如,可经由文件服务器或流式传输服务器存取的存储媒体或本地可存取的存储装置)时发生,所述语法元素随后可由解码装置在被存储到此媒体之后的任何时间处检索。
[0061]在一些实例中,视频编码器20及视频解码器30根据视频压缩标准而操作,例如IS0/IEC MPEG-4视觉及ITU-T H.264 (也称为IS0/IEC MPEG-4 AVC),包含其可缩放视频译码(SVC)扩展、多视图视频译码(MVC)扩展及基于MVC的3DV扩展。在一些情况下,符合基于MVC的3DV的任何法定位流始终含有顺应MVC简档(例如,立体声高简档)的子位流。此夕卜,正在致力于产生H.264/AVC的三维视频(3DV)译码扩展,即基于AVC的3DV。在其它实例中,视频编码器20及视频解码器30可根据以下各者而操作:ITU-T H.26UIS0/IEC MPEG-1视觉、ITU-T H.262 或 IS0/IEC MPEG-2 视觉、ITU-T H.263、IS0/IEC MPEG-4 视觉及 ITU-TH.264、IS0/IEC 视觉。
[0062]在图1的实例中,视频编码器20和视频解码器30可根据目前由ITU-T视频译码专家组(VCEG)以及IS0/IEC运动图片专家组(MPEG)的视频译码联合合作小组(JCT-VC)开发的高效率视频译码(HEVC)标准来操作。被称作“HEVC工作草案6”的即将到来的HEVC标准的草案描述于布洛斯(Bross)等人的“高效率视频译码(HEVC)文本规范草案6 (HighEfficiency Video Coding (HEVC) text specificat1n draft 6)”中,ITU-T SG16WP3 和 ISO/IEC JTC1/SC29/WG11的联合合作视频译码小组(JCT-VC)第7次会议:日内瓦,瑞士,2011年 11 月,其至 2013 年 6 月 13 日为止可从 http://phenix.1t-sudparis.eu/jet/doc_end_user/documents/8_San % 20Jose/wgll/JCTVC-H1003-vl.zip 下载。被称作 “HEVC 工作草案9”的即将到来的HEVC标准的另一草案描述于布洛斯(Bross)等人的“高效率视频译码(HEVC)文本规范草案 9 (High Efficiency Video Coding (HEVC) text specificat1n draft6)” 中,ITU-T SG16 WP3 和 IS0/IEC JTC1/SC29/WG11 的联合合作视频译码小组(JCT-VC)第11次会议:中国上海,2012年10月,其至2013年6月13日为止可从http://phenix.1nt-evry.fr/jet/doc_end_user/documents/1l_Shanghai/wglI/JCTVC-K1003-vl3.zip 下载。
[0063]此外,正在致力于产生可缩放视频译码、多视图译码,及HEVC的3DV扩展。HEVC的SVC扩展可被称为SHEVC。HEVC的3DV扩展可被称为基于HEVC的3DV或3D-HEVC。3D-HEVC至少部分基于以下文献中提出的解决方案:施瓦茨等人的“对夫朗和斐的3D视频译码技术提议的描述HHI (HEVC相容的配置A) (Descript1n of3D Video CodingTechnology Proposal by Fraunhofer HHI (HEVC compatible configurat1n A)),,,ISO/IEC JTC1/SC29/WG11,文献 MPEG11/M22570,瑞士日内瓦,2011 年 11 月 /12 月,下文称为“m22570”,及施瓦茨等人的“对夫朗和斐的3D视频译码技术提议的描述HHI (HEVC相容的配置 B (Descript1n of 3D Video Coding Technology Proposal by Fraunhofer HHI(HEVCcompatible configurat1n B))),,,ISO/IEC JTC1/SC29/WG11,文献 MPEG11/M22571,瑞士日内瓦,2011年11月/12月,下文称为“m22571”对3D-HEVC的参考软件描述可在以下文献处得到:施瓦茨等人的“用于基于HEVC的3D视频译码的考虑中的测试模型(Test Modelunder Considerat1n for HEVC based 3D video coding)”, ISO/IEC JTC1/SC29/WG11MPEG2011/N12559,美国圣何塞市,2012年2月。截至2013年6月13日可从https://hevc.hh1.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM-3.0/ 得到参考软件,即 HTM 版本3.0。
[0064]在HEVC及其它视频译码标准中,视频序列通常包含一连串图片。图片也可被称作“帧”。图片可以包含三个样本阵列,表示SSpSa以及s&。&是亮度样本的二维阵列(即,块)。Sa是Cb色度样本的二维阵列。S&是Cr色度样本的二维阵列。色度(chrominance)样本在本文中还可以被称为“色度(chroma)”样本。在其它情况下,图片可为单色的且可仅包含亮度样本阵列。
[0065]为了产生图片的经编码表示,视频编码器20可产生一组译码树单元(CTU)。CTU中的每一者可以是亮度样本的译码树块、色度样本的两个对应的译码树块,以及用以对译码树块的样本进行译码的语法结构。译码树块可以是样本的NXN块。CTU也可以被称为“树块”或“最大译码单元”(LCU)。HEVC的CTU可广义上类似于其它视频译码标准(例如,H.264/AVC)的宏块。然而,CTU不一定受限于特定大小,且可包含一或多个译码单元(⑶)。切片可包含在光栅扫描中连续排序的整数数目的CTU。
[0066]本发明可使用术语“视频单元”或“视频块”来指代一或多个样本块及用于译码所述一或多个样本块的样本的语法结构。实例类型的视频单元可包含CTU、CU、PU、变换单元(TU)、宏块、宏块分区等。
[0067]为了产生经译码的CTU,视频编码器20可以对CTU的译码树块递归地执行四叉树分割,以将译码树块划分为译码块,因此命名为“译码树单元”。译码块是样本的NXN块。CU可以是具有亮度样本阵列、Cb样本阵列和Cr样本阵列的图片的亮度样本的译码块,以及色度样本的两个对应的译码块,以及用以对译码块的样本进行译码的语法结构。视频编码器20可以将CU的译码块分割成一或多个预测块。预测块可以是应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可为图片的亮度样本的预测块、所述图片的色度样本的两个对应预测块,及用于预测所述预测块样本的语法结构。视频编码器20可以产生用于CU的每一 PU的亮度预测块、Cb预测块以及Cr预测块的预测性亮度块、Cb块以及Cr块。
[0068]视频编码器20可使用帧内预测或帧间预测来产生的预测性块。在视频编码器20使用帧内预测来产生PU的预测性块的情况下,视频编码器20可基于与所述PU相关联的图片的经解码样本来产生PU的预测性块。
[0069]在视频编码器20使用帧内预测来产生的预测性块的情况下,视频编码器20可基于不同于与所述PU相关联的图片的一或多个图片的经解码样本来产生的预测性块。帧间预测可以是单向帧间预测(即,单向预测)或双向帧间预测(即,双向预测)。为了执行单向预测或双向预测,视频编码器20可以产生用于当前切片的第一参考图片列表(RefPicListO)以及第二参考图片列表(RefPicListl)。参考图片列表中的每一者可以包含一或多个参考图片。当使用单向预测时,视频编码器20可以搜索RefPicListO以及RefPicListl中的任一者或两者中的参考图片,以确定参考图片内的参考位置。此外,当使用单向预测时,视频编码器20可以至少部分基于对应于参考位置的样本产生用于的预测性样本块。此外,在使用单向预测时,视频编码器20可产生指示的预测块与参考位置之间的空间移位的单一运动向量。为了指示PU的预测块与参考位置之间的空间移位,运动向量可以包含指定PU的预测块与参考位置之间的水平移位的水平分量并且可以包含指定PU的预测块与参考位置之间的垂直移位的垂直分量。
[0070]在使用双向预测来编码I3U时,视频编码器20可确定RefPicListO中的参考图片中的第一参考位置及RefPicListl中的参考图片中的第二参考位置。视频编码器20可随后至少部分基于对应于第一和第二参考位置的样本而产生用于所述PU的预测性块。此外,当使用双向预测对PU进行编码时,视频编码器20可以产生指示PU的样本块与第一参考位置之间的空间移位的第一运动向量,以及指示PU的预测块与第二参考位置之间的空间移位的第二运动向量。
[0071]在视频编码器20产生⑶的一或多个I3U的预测性亮度、Cb及Cr块之后,视频编码器20可产生CU的亮度残余块。CU的亮度残余块中的每一样本可指示CU的预测性亮度块中的一者中的亮度样本与CU的原始亮度译码块中的对应样本之间的差异。另外,视频编码器20可产生⑶的Cb残余块。⑶的Cb残余块中的每一样本可以指示⑶的预测性Cb块中的一者中的Cb样本与CU的原始Cb译码块中的对应样本之间的差异。视频编码器20还可产生⑶的Cr残余块。⑶的Cr残余块中的每一样本可以指示⑶的预测性Cr块中的一者中的Cr样本与CU的原始Cr译码块中的对应样本之间的差异。
[0072]此外,视频编码器20可使用四叉树分割将⑶的亮度、Cb及Cr残余块分割成一或多个亮度、Cb及Cr变换块。变换块可以是对其应用相同变换的样本的矩形块。CU的变换单元(TU)可以是亮度样本的变换块、色度样本的两个对应的变换块,以及用于对变换块样本进行变换的语法结构。因此,CU的每一 TU可以与亮度变换块、Cb变换块以及Cr变换块相关联。与TU相关联的亮度变换块可以是CU的亮度残余块的子块。Cb变换块可以是CU的Cb残余块的子块。Cr变换块可以是CU的Cr残余块的子块。
[0073]视频编码器20将一或多个变换应用到TU的亮度变换块以产生TU的亮度系数块。系数块可为变换系数的二维阵列。变换系数可以是标量。视频编码器20可以将一或多个变换应用到TU的Cb变换块以产生TU的Cb系数块。视频编码器20可以将一或多个变换应用到TU的Cr变换块以产生TU的Cr系数块。
[0074]在产生系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可量化系数块。量化一般指代将变换系数量化以可能地减少用于表示变换系数的数据量从而提供进一步压缩的过程。此外,视频编码器20可将变换系数反量化且对变换系数应用反变换以便重构图片的⑶的TU的变换块。视频编码器20可使用⑶的TU的经重构变换块以及⑶的的预测性块以重构⑶的译码块。通过重构图片的每一⑶的译码块,视频编码器20可以重构所述图片。视频编码器20可将经重构图片存储在经解码图片缓冲器(DPB)中。视频编码器20可以使用DPB中的经重构图片来用于帧间预测及帧内预测。
[0075]在视频编码器20量化系数块之后,视频编码器20可以对指示经量化变换系数的语法元素进行熵编码。例如,视频编码器20可以对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。视频编码器20可以在位流中输出经熵编码语法元素。
[0076]视频编码器20可输出包含形成经译码图片及相关联数据的表示的位序列的位流。所述位流可包括网络抽象层(NAL)单元的序列。所述NAL单元中的每一者包含NAL单元标头且囊封原始字节序列有效负载(RBSP)。NAL单元标头可包含指示NAL单元类型代码的语法元素。由NAL单元的NAL单元标头指定的所述NAL单元类型代码指示NAL单元的类型。RBSP可为含有囊封在NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位。
[0077]不同类型的NAL单元可囊封不同类型的RBSP。举例来说,第一类型的NAL单元可囊封用于图片参数集(PPS)的RBSP,第二类型的NAL单元可囊封用于经译码切片的RBSP,第三类型的NAL单元可囊封用于补充增强信息(SEI)的RBSP,等等。PPS是可含有适用于零个或更多的整个经译码图片的语法元素的语法结构。囊封用于视频译码数据的RBSP(与用于参数集及SEI消息的RBSP相比)的NAL单元可被称为视频译码层(VCL)NAL单元。囊封经译码切片的NAL单元可在本文中被称为经译码切片NAL单元。所述经译码切片的RBSP可包含切片标头和切片数据。
[0078]NAL单兀的标头包含nuh_reserved_zero_6bits语法兀素。如果NAL单兀涉及多视图译码、3DV译码或可缩放视频译码中的基础层,那么NAL单元的nuh_reserved_zero_6bits语法元素等于O。可在不参考位流的任何其它层中的数据的情况下解码位流的基础层中的数据。如果NAL单元不涉及多视图译码、3DV或可缩放视频译码中的基础层,那么nuh_reserved_zero_6bits语法元素可具有其它非零值。具体地说,如果NAL单元不涉及多视图译码、3DV或可缩放视频译码中的基础层,那么NAL单元的nuh_reserved_zero_6bits语法元素指定层识别符。
[0079]此外,可在不参考相同层内的其它图片的情况下解码层内的一些图片。因此,可从位流移除囊封一层的某些图片的数据的NAL单元而不影响所述层中的其它图片的可解码性。举例来说,具有偶数图片次序计数(POC)值的图片可为可在不参考具有奇数POC值的图片的情况下解码的。POC是与经译码图片相关联的变量,且具有随着在输出次序中图片位置的增加(相对于在解码次序中的先前即时解码刷新(IDR)图片)而增加的值(如果有的话)。移除囊封此些图片的数据的NAL单元可能会降低位流的帧速率。层内的可在不参考所述层内的其它图片而解码的图片的子集可在本文中被称为子层。
[0080]NAL 单兀可包含 nuh_temporal_id_plusl 语法兀素。NAL 单兀的 nuh_temporal_id_plusl语法元素可指定NAL单元的时间识别符(即,temporal_id)。如果第一 NAL单元的时间识别符小于第二 NAL单元的时间识别符,那么可在不参考由第二 NAL单元囊封的数据的情况下解码由第一 NAL单元囊封的数据。
[0081]位流的操作点各自与一组层识别符(即,一组nuh_reserved_zero_6bits值)及一时间识别符相关联。所述组层识别符可表示为OpLayerldSet且所述时间识别符可表示为TemporallD。如果NAL单元的层识别符在操作点的一组层识别符中,且NAL单元的时间识别符小于或等于所述操作点的时间识别符,那么所述NAL单元与所述操作点相关联。操作点表示是与一操作点相关联的位流子集(即,子位流)。一操作点的操作点表示可包含与所述操作点相关联的每一 NAL单元。所述操作点表示不包含不与所述操作点相关联的VCLNAL单元。
[0082]外部源可指定用于一操作点的一组目标层识别符。举例来说,例如媒体感知网络元件(MANE)或内容传递网络(CDN)装置等中间网络装置可指定所述组目标层识别符。在此实例中,所述中间网络装置可使用所述组目标层识别符来识别操作点。所述中间网络装置可随后提取用于所述操作点的操作点表示且将所述操作点表示而不是原始位流转发到客户端装置。提取所述操作点表示且将所述操作点表示转发到客户端装置可降低位流的位速率。
[0083]视频解码器30可接收位流。另外,视频解码器30可解析所述位流以解码来自所述位流的语法元素。视频解码器30可至少部分基于从位流解码的语法元素来重构视频数据的图片。重构视频数据的过程可一般与由视频编码器20执行的过程互逆。举例来说,视频解码器30可使用PU的运动向量来确定当前CU的PU的预测性块视频解码器30可使用PU的一个或多个运动向量来产生I3U的预测性块
[0084]另外,视频解码器30可对与CU的TU相关联的系数块进行反量化。视频解码器30可对系数块执行反变换以重构与当前CU的TU相关联的变换块。通过将用于当前CU的PU的预测性样本块的样本增加到当前CU的TU的变换块的对应样本,视频解码器30可以重构当前CU的译码块。通过重构用于图片的每一 CU的译码块,视频解码器30可以重构所述图片。视频解码器30可将经解码图片存储在经解码图片缓冲器中以用于输出且/或用于解码其它图片。
[0085]在视频译码器(例如,视频编码器20或视频解码器30)开始译码图片的当前切片时,视频译码器可初始化第一参考图片列表(即,列表O)。此外,如果所述当前切片是B切片,那么视频译码器可初始化第二参考图片列表(即,列表I)。本发明可将列表O称为“RefPicListO”且可将列表I称为“RefPicListl”。在视频译码器已初始化参考图片列表(例如,列表O或列表I)之后,视频译码器可修改所述参考图片列表中的参考图片的次序。换句话说,视频译码器可执行参考图片列表修改(RPLM)过程。视频译码器可以任何次序修改参考图片的次序,包含其中一个特定参考图片可出现在参考图片列表中的一个以上位置中的情况。此外,在对HEVC的一些提议中,视频译码器可产生组合参考图片列表(B卩,列表C)。列表C还可在本文中被称为“RefPicListC”)。视频译码器可在将RPLM过程应用于列表O及列表I之后从列表O及列表I建构列表C。举例来说,对于B切片,在已经建构最终参考图片列表(RefPicListO及RefPicListl)之后建构组合列表(RefPicListC)。如果列表C存在RPLM语法元素,那么视频解码器30可进一步修改列表C。
[0086]在一些情况下,视频编码器20可使用合并模式或高级运动向量预测(AMVP)模式用信号发送PU的运动信息。换句话说,在HEVC中,存在用于预测运动参数的两个模式,一个是合并模式且另一个是AMVP。PU的运动信息可以包含I3U的运动向量以及I3U的参考索弓I。在视频编码器20使用合并模式用信号发送当前的运动信息时,视频编码器20产生包合并候选者列表(即,运动向量预测符(MVP)候选者列表)。换句话说,视频编码器20可执行运动向量预测符列表建构过程。所述合并候选者列表包含一组合并候选者(即,MVP候选者)。所述合并候选者列表可包含指示在空间上或在时间上与当前PU相邻的PU的运动信息的合并候选者。也就是说,在合并模式中,建构运动参数(例如,参考索引、运动向量等)的候选者列表,其中候选者可来自空间及时间相邻块。
[0087]此外,在合并模式中,视频编码器20可从所述合并候选者列表选择一合并候选者且可使用由所选择的合并候选者指示的运动信息作为当前PU的运动信息。视频编码器20可用信号发送所选择的合并候选者在合并候选者列表中的位置。举例来说,视频编码器20可通过将索引发射到候选者列表中而用信号发送所选择的运动向量参数。视频解码器30可从位流获得进入候选者列表的索引(即,候选者列表索引)。另外,视频解码器30可产生相同的合并候选者列表且可基于所选择的合并候选者的位置的指示来确定所选择的合并候选者。接着,视频解码器30可以使用所选候选的合并候选者的运动信息以产生当前PU的预测性块。也就是说,视频解码器30可至少部分基于所述候选者列表索引来确定候选者列表中的所选择的候选者,其中所选择的候选者指定当前PU的运动向量。以此方式,在解码器侧处,一旦索引被解码,对应块的所有运动参数,其中索引点将由当前PU继承。
[0088]跳过模式类似于合并模式。在跳过模式中,视频编码器20及视频解码器30以视频编码器20及视频解码器30在合并模式中使用合并候选者列表相同的方式产生并使用合并候选者列表。然而,在视频编码器20使用跳过模式用信号发送当前PU的运动信息时,视频编码器20不用信号发送当前的任何残余数据。因此,视频解码器30可使用由合并候选者列表中的所选择的候选者的运动信息指示的参考块作为所述PU的预测性块。
[0089]AMVP模式类似于合并模式,类似之处在于视频编码器20产生候选者列表并且从候选者列表选择候选者。然而,当视频编码器20使用AMVP模式用信号发送当前的运动信息时,除了用信号发送候选者列表中的所选择的候选者的位置之外,视频编码器20还可以用信号发送当前I3U的运动向量差(MVD)以及参考索引。当前PU的MVD可指示当前PU的运动向量与来自AMVP候选者列表的所选择的候选者的运动向量之间的差。在单向预测中,视频编码器20可以用信号发送当前PU的一个MVD以及一个参考标引。在双向预测中,视频编码器20可以用信号发送当前PU的两个MVD以及两个参考索引。以此方式,视频编码器20可通过将索引发射到候选者列表中来用信号发送所选择的运动向量且可用信号发送参考索引值及MVD。换句话说,在位流中的表示当前PU的运动向量的数据可包含表示参考索引的数据、到候选者列表的索引及MVD。
[0090]此外,在使用AMVP模式用信号发送当前的运动信息时,视频编码器30可从所述位流获得当前PU的MVD及候选者列表索引。视频解码器30可产生相同的AMVP候选者列表且可基于AMVP候选者列表中的所选择的合并候选者的位置的指示来确定所选择的合并候选者。视频解码器30可通过将MVD添加到由所选择的候选者指示的运动向量来恢复当前PU的运动向量。也就是说,视频解码器30可至少部分基于由所选择的候选者指示的运动向量及MVD来确定当前I3U的运动向量。视频解码器30可随后使用当前I3U的所恢复的运动向量来产生当前PU的预测性块。
[0091]如上文所指示,用于合并模式或AMVP的候选者列表可包含基于在空间上与当前PU相邻的的候选者。本发明可将此类称为在空间上相邻的或空间运动向量相邻者。图2是说明相对于当前PU 40的实例性空间运动向量相邻者的概念图。也就是说,在图2中描绘I3U 40与PU 40的在空间上相邻的PU之间的实例性关系。在图2的实例中,在空间上相邻的I3U可为覆盖指示为AciAJc^B1及B2的位置的PU。在PU的预测块包含一位置时,PU可覆盖所述位置。
[0092]关于图2的实例,亮度位置(xP,yP)可相对于当前图片的左上方亮度样本指定TO40的左上方亮度样本。此外,变量nPSW及nPSH可分别表示PU 40的亮度样本中的宽度及高度。相对于当前图片的左上方样本的I3U N的左上方亮度样本是(xN,yN),其中N表示覆盖位置A0、A” B。、B1或B2的PU。对于位置A0, A1' B0、B1或B2的PU,可分别将(xN, yN)界定为(xP-1,yP+nPSH)、(xP-Ι, yP+nPSH-1)、(xP+nPSff, yP-Ι)、(xP+nPSff-1, yP-Ι)或(xP-1,yP-Ι)。
[0093]合并候选者列表或AMVP候选者列表中的基于在时间上与当前相邻的PU( SP,在与当前I3U不同的时间实例中的I3U)的运动信息的候选者可被称为时间运动向量预测符(TMVP)。为了确定TMVP,视频译码器可首先识别包含与当前PU位于同一地点的PU的参考图片。换句话说,视频译码器可识别位于同一地点的图片。如果当前图片的当前切片是B切片(即,允许包含经双向帧间预测的PU的切片),那么视频编码器20可在切片标头中用信号发送指示位于同一地点的图片是否来自RefPicListO或RefPicListl的语法元素(例如,collocated_from_10_flag)。在视频解码器30识别包含位于同一地点的图片的参考图片列表之后,视频解码器30可使用可在切片标头中用信号发送的另一语法元素(例如,C0ll0Cated_ref_idX)来识别所识别的参考图片列表中的图片(即,位于同一地点的图片)。
[0094]视频译码器可通过检查位于同一地点的图片来识别位于同一地点的TO。TMVP可指示含有位于同一地点的PU的CU的右下方I3U的运动信息或含有此I3U的CU的中心PU内的右下方PU的运动信息。含有位于同一地点的PU的CU的右下方可为覆盖直接在所述PU的预测块的右下方样本的右下方的位置的W。换句话说,TMVP可指示在参考图片中且覆盖与当前PU的右下方拐角位于同一地点的位置的PU的运动信息,或TMVP可指示在参考图片中且覆盖与当前PU的中心位于同一地点的位置的的运动信息。
[0095]在由以上过程识别的运动向量用于产生用于合并模式或AMVP模式的运动候选者时,可基于时间位置(由POC值反映)来缩放运动向量。举例来说,在当前图片和参考图片的POC值之间的差比在当前图片和参考图片的POC值之间的差较小时更大时,视频译码器可将运动向量的量值增加更大的量。
[0096]在HEVC 工作草案 6 中,PPS 包含 enable_temporal_mvp_f lag 语法兀素。enable_temporal_mvp_flag语法元素指定是否可使用时间运动向量预测符。在具有等于O的temporal_id的特定图片是指具有等于O的enable_temporal_mvp_f lag语法元素的PPS时(即,在与所述特定图片相关联的VCL NAL单元指定等于O的时间识别符且与具有等于O的enable_temporal_mvp_flag的PPS相关联时),视频译码器可将DPB中的所有参考图片标记为“不用于时间运动向量预测”且视频译码器不将来自在解码次序中在所述特定图片之前的图片的运动向量用作TMVP来解码所述特定图片或在解码次序中在所述特定图片之后的图片。
[0097]HEVC可支持运动向量压缩以用于减少存储器带宽。HEVC中的运动向量存储压缩方法可经设计以减少存储及加载合并/跳过模式及AMVP的时间运动向量所消耗的存储器带宽。在HEVC的上下文中,存储器带宽可指传递到存储器或从存储器传递的数据的量。在一些实例中,压缩方法可为16X压缩方法。所述16X压缩方法可在水平及垂直方向两者上通过因子4将运动向量字段下取样,从而产生每一 16X16区的同一运动向量。换句话说,不同的16X 16区可具有不同的运动向量,但16X 16内的每一 PU可具有相同的运动向量。
[0098]视频译码器(例如,视频编码器20或视频解码器30)可使用线缓冲器来存储与图片中的CTU的行(即,线)相关联的信息。在一些实例中,与CTU的行相关联的信息可包含与所述行中的CTU相关联的的运动信息。HEVC可支持运动数据压缩以用于减少线缓冲器。也就是说,可压缩运动数据以便减少存储在线缓冲器中的数据的量。如上文所论述,PU的运动数据可包含一或多个帧间预测方向指示符、一或多个参考图片索引及一或多个运动向量。如果参考在与PU相关联的CTU上方的CTB行(S卩,IXU行)中出现的I3U的运动信息来用信号发送PU的运动信息,那么仅可存取线缓冲器中的经压缩运动数据。
[0099]图3是说明一条线的实例性2: I运动数据压缩的概念图。在图3的实例中,每一正方形对应于4X4块。线缓冲器不存储对应于加阴影正方形的4X4块的运动信息。对于每一组四个4X4块,第一个和最后一个4X4块的运动数据存储在线缓冲器中。四块组的第二个块的运动数据确定为等于四块组的第一个块的运动数据。换句话说,第一个块的运动数据表示头两个块的运动数据。四块组的第三个块的运动数据确定为等于四块组的最后一个块的运动数据。换句话说,最后一个块的运动数据表示最后两个块的运动数据。以此方式,仅需要一半的存储器。
[0100]此外,在HEVC中,可将CTU划分成并行运动估计区(PMER)。仅允许属于当前I3U的不同MER的那些相邻I3U包含在合并/跳过运动向量预测符(MVP)列表建构过程中。因此,如果当前PU及在空间上相邻的在相同的PMER内,那么视频译码器不在合并/跳过MVP候选者列表中包含指定在空间上相邻的I3U的运动信息的MVP候选者。因此,在PMER的大小大于NXN时,其中2NX2N是最小的⑶大小,PMER以一方式起作用,使得在空间上相邻的块在其是在与当前PU相同的PMER内部的情况下被视为不可用。视频编码器20可在PPS中用信号发送PMER的大小(例如,使用log2_parallel_merge_level_minus2语法元素)。
[0101]在HEVC中,每一 NAL单元包含指示NAL单元的NAL单元类型的语法元素(例如,nal_unit_type)。此外,在HEVC中,视频解码器30可基于NAL单元的NAL单元类型而将NAL单元识别为与四个图片类型中的一者相关联。换句话说,存在可由HEVC中的NAL单元类型识别的四个图片类型。这四个图片类型是IDR图片、清洁随机存取(CRA)图片、时间层接入(TLA)图片及不是IDR、CRA或TLA图片的经译码图片。
[0102]HEVC中的IDR图片的定义可类似于H.264/AVC中的IDR图片的定义。类似地,HEVC中的经译码图片的定义可类似于H.264/AVC中的经译码图片的定义。举例来说,IDR及经译码图片可为从H.264/AVC规范继承的图片类型。IDR图片可致使解码过程将所有参考图片标记为“不用于参考”。因为可从存储参考图片的经解码图片缓冲器(DPB)移除标记为“不用于参考”的参考图片,所以IDR图片可清理DPB。在解码次序中在IDR图片后面的所有经译码图片可在不从在解码次序中在IDR图片前面的任何图片进行帧间预测的情况下被解码。在解码次序中的每一经译码视频序列的第一图片是IDR图片。在存取单元的经译码图片是IDR图片时,所述存取单元可被称为IDR存取单元。经译码视频序列是存取单元序列,其由在解码次序中的IDR存取单元及后面的包含所有后续的存取单元直到但不包含任何后续的IDR存取单元的零个或更多的非IDR存取单元组成。
[0103]CRA及TLA图片类型在HEVC中是新的且不可用于H.264/AVC规范。CRA图片类型有助于从视频序列中间的任何随机存取点(RAP)开始的解码。将CRA图片插入视频序列中可比将IDR图片插入到相同视频序列中更有效。随机存取是在除位流的开头之外的点处开始对位流的解码过程的动作。在HEVC中,从CRA图片开始的位流可为相符位流。也就是说,位流的开始于CRA图片的部分可符合HEVC规范。TLA图片可用于指示有效的时间层切换点。
[0104]在例如广播及流式传输等视频应用中,用户可在不同频道之间切换且跳转到视频的特定部分。理想的是,应在最小量的延迟下执行以此方式的频道切换及跳转。可通过在视频位流中以规则间隔包含随机存取图片来启用频道切换及跳转。IDR图片可在H.264/AVC及HEVC两者中用作随机存取图片。换句话说,在H.264/AVC及HEVC两者中指定的IDR图片可以用于随机存取。然而,因为IDR图片开始经译码视频序列且可始终清理DPB,所以在解码次序中在IDR图片后面的图片无法使用在解码次序中在IDR图片之前解码的图片作为参考图片。因此,依赖于IDR图片以用于随机存取的位流可具有显著较低的译码效率(例如,译码效率低6% )。为了提高译码效率,HEVC中的CRA图片可允许在解码次序中在CRA图片后面但在输出次序中在CRA图片前面的图片使用在CRA之前解码的图片以供参考。
[0105]图4是说明CRA图片及前导图片的概念图。也就是说,在图4的实例中展示CRA图片周围的典型预测结构。在图4的实例中,每一平行四边形表示一图片。每一相应的平行四边形内的编号指示由相应的平行四边形表示的相应图片的实例POC值。CRA图片(SP,在图4的实例中具有POC值24的图片)属于含有在解码次序中在CRA图片后面但在输出次序中在CRA图片前面的其它图片(即,具有POC值17到23的图片)的图片群组(GOP)。这些图片(在解码次序中在CRA图片后面但在输出次序中在CRA图片前面)可被称作CRA图片的“前导图片”。如果解码从IDR图片或在解码次序中在当前CRA图片之前出现的CRA图片开始,那么视频解码器30可正确地解码当前CRA图片的前导图片。然而,在发生从当前CRA图片的随机存取时,视频解码器30可不能够正确地解码当前CRA图片的前导图片。因此,视频解码器30可在从当前CRA图片的随机存取解码期间丢弃当前CRA图片的前导图片。
[0106]在视频解码器30在解码当前图片时使用参考图片的不正确地解码的部分时,可出现错误传播。为防止错误从取决于解码开始处而可能不可用的参考图片传播,GOP中的在CRA图片后面的任何图片不将在解码次序或输出次序中在CRA图片前面的任何图片(包含CRA图片的前导图片)用作参考。因此,在图4的实例中,下一 GOP中的在解码次序和输出次序两者中都在CRA图片后面的所有图片将不使用在解码次序或输出次序中在CRA图片前面的任何图片。
[0107]恢复点SEI消息可用于H.264/AVC中,从而以类似于HEVC中的CRA图片的方式提供随机存取。换句话说,H.264/AVC使用恢复点SEI消息来支持类似的随机存取功能性。H.264/AVC解码器实施方案可支持或可不支持恢复点SEI消息功能性。在HEVC中,开始于CRA图片的位流被视为相符位流。在位流开始于CRA图片时,CRA图片的前导图片可指不可用的参考图片,且因此无法被正确地解码。然而,HEVC指定不输出开始的CRA图片的前导图片,因此名称“清洁随机存取”。为了建立位流相符要求,HEVC可规定解码过程产生不可用的参考图片以用于解码非输出的前导图片。然而,相符解码器实施方案不必遵循所述解码过程,只要解码器实施方案与在从位流的开头执行所述解码过程时相比可产生相同的输出即可。在HEVC中,相符位流可能完全不包含IDR图片,且因此,可含有经译码视频序列的子集或不完整的经译码视频序列。
[0108]在多视图译码中,可存在同一场景的来自不同视点的多个视图。术语“存取单元”用于指代对应于相同时刻的一组图片。因此,可将视频数据概念化为随着时间出现的一连串存取单元。“视图分量”可为单一存取单元中的视图的经译码表示。在本发明中,“视图”可指代与相同的视图识别符相关联的视图分量的序列。
[0109]图5是说明实例性多视图解码次序的概念图。多视图解码次序可为位流次序。在图5的实例中,每一正方形对应于一视图分量。正方形的列对应于存取单元。可将每一存取单元界定为含有一时刻的所有视图的经译码图片。正方形的行对应于视图。在图5的实例中,存取单元被标记为T0...T9且视图被标记为S0...S7。因为存取单元的每一视图分量在下一存取单元的任何视图分量之前被解码,所以图5的解码次序可被称作时间优先译码。存取单元的解码次序可不等同于视图的输出或显示次序。
[0110]多视图译码支持视图间预测。视图间预测类似于用于H.264/AVC、HEVC中的帧间预测或其它视频译码标准且可使用相同的语法元素。然而,在视频译码器对当前视频单元(例如,宏块)执行视图间预测时,视频译码器可使用在与当前视频单元相同的存取单元中但在不同视图中的图片作为参考图片。相比而言,常规的帧间预测仅使用不同存取单元中的图片作为参考图片。
[0111]在多视图译码中,如果视频解码器(例如,视频解码器30)可在不参考任何其它视图中的图片的情况下解码视图中的图片,那么可将所述视图称作“基础视图”。当对非基础视图中的一者中的图片进行译码时,如果图片处于不同视图中但在与视频译码器当前译码的图片相同的时刻(即,存取单元)内,那么视频译码器(例如,视频编码器20或视频解码器30)可将所述图片添加到参考图片列表(例如,RefPicListO或RefPicListl)中。与其它帧间预测参考图片一样,视频译码器可将视图间预测参考图片插入在参考图片列表的任何部分处。
[0112]图6是说明用于多视图译码的实例性预测结构的概念图。图6的视图间预测结构包含时间和视图间预测。在图6的实例中,每一正方形对应于一视图分量。标记为“I”的正方形是经帧内预测的视图分量。标记为“P”的正方形是经单向帧间预测的视图分量。标记为“B”和“b”的正方形是经双向帧间预测的视图分量。标记为“b”的正方形可使用标记为“B”的正方形作为参考图片。从第一正方形指向第二正方形的箭头指示第一正方形在帧间预测中可用作第二正方形的参考图片。如图6中的垂直箭头所指示,相同存取单元的不同视图中的视图分量可以可用作参考图片。存取单元的一个视图分量用作相同存取单元的另一视图分量的参考图片可被称作视图间预测。
[0113]在H.264/AVC的MVC扩展中,视图间预测受到视差运动补偿支持,所述视差运动补偿使用H.264/AVC运动补偿的语法,但允许将不同视图中的图片作为参考图片。对两个视图的译码还可受到H.264/AVC的MVC扩展支持。H.264/AVC的MVC扩展的优点中的一者是,MVC编码器可将两个以上视图视为3D视频输入且MVC解码器可解码此多视图表示。因此,具有MVC解码器的任何渲染器可预期具有两个以上视图的3D视频内容。
[0114]在H.264/AVC的MVC扩展中,允许相同存取单元(B卩,具有相同时刻)中的图片间的视图间预测。当对非基础视图中的一者中的图片进行译码时,如果图片处于不同视图中但具有相同时刻,那么可将所述图片添加到参考图片列表中。可将视图间预测参考图片置于参考图片列表的任何位置中,正如任何帧间预测参考图片一样。
[0115]此外,在多视图视频译码的上下文中,可存在两种类型的运动向量。一种类型的运动向量是指向时间参考图片的正常运动向量。另一类型的运动向量是指向不同视图中的图片的视差运动向量,且对应的帧间预测是视差补偿预测(DCP)。
[0116]3D-HEVC提供同一场景的来自不同视点的多个视图。3D-HEVC的标准化工作的一部分包含基于HEVC的多视图视频编解码器的标准化。类似地,在基于HEVC的3DV中,启用基于来自不同视图的经重构视图分量的视图间预测。与H.264/AVC中的MVC —样,3D-HEVC支持视图间运动预测。在3D-HEVC中,MP类似于标准HEVC中使用的运动补偿且可利用相同或类似的语法元素。然而,在视频译码器对PU执行视图间运动预测时,视频译码器可使用在与PU相同的存取单元中但在不同视图中的图片作为参考图片。相比而言,常规的运动补偿仅使用不同存取单元中的图片作为参考图片。因此,在3D-HEVC中,相依视图中的块的运动参数是基于相同存取单元的其它视图中的已经译码的运动参数来预测或推断。
[0117]在当前的运动信息是使用合并模式或AMVP模式用信号发送时,视频译码器可产生MVP候选者列表(例如,合并候选者列表或AMVP候选者列表)。在3D-HEVC中,候选者列表可包含可以与候选者列表中的其它候选者相同的方式使用的视图间预测候选者。所述视图间预测候选者指定参考图片的PU( S卩,参考PU)的运动信息。所述参考图片可在与当前PU相同的存取单元中,但在与当前不同的视图中。为了确定参考W,视频译码器可执行视差向量建构过程以确定当前I3U的视差向量。当前PU的视差向量可指示当前I3U与参考纹理图片内的位置之间的水平空间移位。所述参考PU可为覆盖由视差向量指示的位置的参考纹理图片的W。
[0118]2012年3月14日申请的美国临时专利申请案61/610,961描述了从用于视图间运动预测的空间视差向量(SDV)、时间视差向量(TDV)或隐式视差向量(IDV)的视差向量建构方法。2012年4月9日申请的美国专利申请案61/621,929描述了遵循类似概念的另一设计。视差运动向量是指向视图间参考图片内的位置的运动向量。视图间参考图片是在与当前PU相同的存取单元中但在不同的视图中的纹理图片。
[0119]SDV是在空间上与当前PU相邻的视差运动向量。换句话说,SDV是由在空间上相邻的PU指定且指示视图间参考图片中的位置的运动向量,其中在空间上相邻的在空间上与当前I3U相邻。TDV是在与当前PU相同的视图中但在与当前PU不同的存取单元中的与当前I3U位于同一地点的PU的视差运动向量。换句话说,TDV可为来自具有相同存取单元的任何参考图片或视图间图片中的位于同一地点的PU、位于同一地点的LCU的视差运动向量。或者,如果来自用于TMVP的图片的位于同一地点的I3U的运动向量或由TMVP产生的运动向量是视差向量,那么其也被视为TDV。如果使用视图间运动预测来译码当前的在空间上相邻或在时间上相邻的PU,那么所述在空间上相邻或在时间上相邻的PU的视差向量是 IDV。
[0120]此外,为了确定当前的视差向量,视频译码器可产生包含一组视差向量候选者的视差向量候选者列表。所述视差向量候选者中的每一者指定上文识别的SDV、TDV及IDV中的一者。换句话说,视频译码器可使用来自以上三个种类的视差向量来建构视差向量候选者列表(表示为disVecCan)。视频译码器可基于某一准则从disVecCan选择视差向量中的一者。
[0121]视频译码器可使用所选择的视差向量直接用于视图间运动预测。如上文所指示,在使用合并/跳过模式或AMVP模式用信号发送当前的运动信息时,视频编码器可产生当前的MVP候选者列表。视频译码器可使用由所选择的视差向量候选者指定的视差向量来确定视图间参考图片中的参考PU。视频译码器可随后包含参考PU的运动信息以作为用于合并模式或AMVP模式的MV候选者列表中的视图间预测MV候选者。以此方式,视频译码器不需要基于深度图来计算当前PU的视差向量,而是可基于在空间上或在时间上相邻的PU的视差向量来确定当前I3U的视差向量。在一些情况下,以此方式确定当前PU的视差向量可为高效的,这是因为不需要在位流中显式地用信号发送当前PU的视差向量或用于当前视图分量的深度图。
[0122]图7为说明实例性SDV的概念图。图7展示三个图片:当前图片50、参考图片52及对应图片53。当前图片50是当前正被译码的图片。参考图片52表示与当前图片50来自相同视图的已经译码的图片。对应的图片53是与当前图片50具有相同时刻但处于另一视图中的图片。当前图片50包含当前视频块54,所述当前视频块是当前正被译码的视频块。当前块54具有已被译码的两个空间相邻者(视频块55及视频块56)。在图7的实例中,当前视频块54的两个空间相邻者(视频块55及视频块56)分别用运动补偿预测(MCP)和视差补偿预测(DCP)来译码。当视频译码器使用时间运动向量来预测视频数据块时,对应的帧间预测被称作运动补偿的预测(MCP)。当视频译码器使用视差运动向量来预测视频数据块时,对应的帧间预测被称作视差补偿的预测(DCP)。在图7的实例中,使用MCP译码视频块55,且视频块57表示用于预测视频块55的视频块。线58表示用于识别块57的时间运动向量。
[0123]在图7的实例中,使用DCP而不是MCP来译码视频块56。从处于与视频块56不同的视图中的视频块59预测视频块56。因此,用于定位视频块56的参考块(即,视频块59)的运动向量是视差运动向量而不是时间运动向量。线60表示用于定位块59的视差运动向量。在图7的实例中,线60表示视频块56的SDV。在一些实施方案中,SDV可用作当前视频块54的视差向量。在其它实施方案中,可将SDV添加到当前视频块54的disVecCan,且可从disVecCan中的视差向量候选者选择当前视频块54的视差向量。
[0124]为了确定SDV,视频编码器20和视频解码器30可以给定次序检查当前视频块54的每一空间相邻预测单元。当前视频块54可比图7中所示的视频块55及56具有更多的空间相邻预测单元。举例来说,图2展示由其它空间相邻视频块覆盖的位置的实例。对于当ill视频块54的在空间上相邻的视频块(例如,PU)中的每一者,如向运动向量(对应于RefPicListO)或后向运动向量(对应于RefPicListl)(如果可用)可被检查且在所述运动向量是视差运动向量的情况下添加到disVecCan。返回参看图7,举例来说,由线60表示的运动向量可构成当前视频块54的SDV,因为它是视差运动向量,而由线58表示的运动向量不构成SDV,因为它是时间运动向量。
[0125]图8为说明实例性TDV的概念图。图8展示留个图片。当前图片71是当前正被译码的图片。对应的图片72是与当前图片71具有相同时刻但处于不同视图(例如,图8的实例中的视图O)中的图片。参考图片73及74表示在与当前图片71相同的视图(即,视图1)中的参考图片,且参考图片75及76表示在与对应图片72相同的视图(即,视图O)中的参考图片。在图8的实例中,参考图片74和参考图片76是相同时间实例的图片,且参考图片73和参考图片75是相同时间实例的图片。
[0126]当前图片71包含当前正被译码的当前视频块77。存在当前视频块77的三个参考图片,两个来自相同视图(视图1中的参考图片73和参考图片74)且一个来自另一视图(视图O中的对应图片72)。可检查三个时间相邻块(78、79及80)以确定它们是否使用视差运动向量。块78、79及80被视为视频块77的时间相邻者,因为它们与视频块77位于同一地点,意味着它们在与视频块77相同的大致位置中但在不同图片中。
[0127]在图8的实例中,时间相邻块80可被帧内预测且不具有相关联的运动向量。时间相邻块78可使用在图8中通过线81表示的时间运动向量被帧间预测。时间相邻块79使用通过线82表示的视差运动向量被视图间预测。因此,在图8的实例中,仅使用视差运动向量来预测时间相邻块79。因此,仅时间相邻块79的运动向量用作TDV候选者。TDV候选者可用作当前视频块77的视差向量或可作为候选视差向量添加到disVecCan,从所述disVecCan选择当前视频块77的视差向量。
[0128]视频编码器20及视频解码器30可识别参考图片列表O或参考图片列表I的第一参考图片的位于同一地点的PU的视差运动向量以用作TDV。视频编码器20及视频解码器30还可识别来自用于TMVP的图片或由TMVP导出的块的位于同一地点的I3U的视差运动向量以用作TDV。视频编码器20及视频解码器30还可识别任一参考图片列表的可为或可不为视图间参考图片的任何参考图片的位于同一地点的PU的视差运动向量以用作TDV。在一些情况下,视频编码器20及视频解码器30还可识别未包含于参考图片列表中的相同存取单元的视图间图片中的块的视差运动向量以用作TDV。另外,视频编码器20及视频解码器30可含有以上提及的图片中的任一者的位于同一地点的I3U的CU的任何PU的视差运动向量或含有以上提及的图片中的任一者的位于同一地点的PU的LCU的任何I3U的视差运动向量以用作TDV。
[0129]隐式视差向量(IDV)是指当前视频块的相邻视频块的所存储的视差向量。在译码当前视频块之后,如果所述视差向量用于视图间预测,即,其运动向量中的至少一者是从视图间运动参数预测而预测,那么存储所述视差向量以用于当前视频块。当在译码未来的视频块时,使用先前存储的视差向量来预测视差向量。在检查所述先前的视差向量时,还可仅检查相邻的视频块。这意味着空间相邻视频块的视差向量(如含有SDV的视差向量)或时间相邻视频块的视差向量(如含有TDV的视差向量)被视为IDV,或空间及时间相邻视频块两者的视差向量都被视为IDV。所描述的技术可在考虑IDV或不考虑IDV的情况下工作。
[0130]如果使用从视图间运动参数预测预测(即,基于视差向量从其它视图导出)的其运动向量中的至少一者而被译码,那么视差向量可在时间上与PU相关联。与此相关联的视差向量被称作IDV。在当前I3U的空间或时间相邻PU含有IDV时,可考虑使用IDV来导出当前块的视差向量。也就是说,空间或时间相邻PU的IDV可被视为IDV候选者。IDV候选者可用作当前块的视差向量或可作为候选视差向量添加到disVecCan,从所述disVecCan选择当前块的视差向量。
[0131]图9为说明实例性IDV的概念图。具体来说,图9展示四个图片。当前图片90是当前正被译码的图片。图片91是在与图片90相同的视图(视图1)中但在不同的时间实例中的参考图片。对应的图片92是与当前图片90具有相同时刻但处于不同视图(视图O)中的图片。图片93是与图片92相同的视图(视图O)中的参考图片。在图9的实例中,图片90包含当前PU 94。当前I3U 94具有从相同视图(视图1)中的参考图片91中的块96预测的空间相邻者(PU 95)。用于预测95的运动向量是由线97表示。在图9的实例中,此运动向量(线97)是从PU 98继承。I3U 98是由作为PU 95的空间相邻I3U的PU 99的视差向量定位。在此情况下,PU 95是与IDV相关联的PU,且PU 99的视差向量被视为IDV。给定目标参考视图,可从上文所描述的可用的SDV、TDV或IDV确定当前I3U 94的视差向量。
[0132]视频译码器可针对AMVP及合并模式两者应用视图间运动预测。视频译码器可建构用于每一 I3U的视图间运动预测(DVIVMP)的视差向量。视频译码器可使用PU的DVIVMP用于PU的视图间运动预测,如下文所描述。为了包含视图间运动预测,AMVP模式已以一方式扩展,使得将视图间运动向量预测符添加到候选列表。基于当前块的中间样本的深度估计,如上文所描述确定参考视图中的视差向量及参考块。如果当前块的参考索引涉及视图间参考图片,那么将视图间运动向量预测符设定为等于对应的视差向量。如果当前参考索引涉及时间参考图片且参考块将涉及相同存取单元的运动假设用作当前参考索引,那么与此运动假设相关联的运动向量用作视图间运动向量预测符。在所有其它情况下,将视图间运动向量预测符标记为无效且不包含于运动向量预测符候选者列表中。
[0133]在合并模式及跳过模式中,通过使用视图间运动预测而获得的MVP候选者扩展MVP候选者列表。对于每一潜在的运动假设,以给定次序研究参考图片列表的头两个参考索弓I。视频译码器可以与针对AMVP模式相同的方式导出参考索引O的运动向量候选者。如果所导出的运动向量有效,那么视频译码器可使用参考索引O及所导出的运动向量用于所考虑的假设。否则,视频译码器可以相同的方式测试参考索引I。如果参考索引I也导致无效的运动向量,那么视频译码器可将所述运动假设标记为不可用。为了偏向时间预测,视频译码器可在第一索引涉及视图间参考图片的情况下颠倒测试参考索引的次序。如果将所有潜在的运动假设标记为不可用,那么视频译码器无法选择视图间候选者。
[0134]可在3D-HEVC中启用视图间残差预测。基于对应于当前图片的深度图,视频译码器可确定当前块的视差向量。在一些实例中,视频译码器可估计所述深度图。所述视频译码器可随后使用所述视差向量来定位参考视图中的残余块。此残余块可在本文中被称为残余参考块。在针对块启用残差预测时,视频解码器30可通过将残余参考块添加到当前块的预测性块及当前块的用信号发送的残余块而重构当前块。
[0135]3D-HEVC中的视差向量建构过程的现有设计存在若干问题。举例来说,在3D-HEVC中的视差向量建构过程的现有设计中,通常从视差运动向量导出视差向量。视差运动向量可不与真实视差相关。因此,视差向量可为不准确的。在使用所述视差向量在不同视图中定位对应的块时可尤其会出现此问题。在另一实例中,块偏向视图间预测可对应于显著视差。块偏向视图间预测可比时间相关具有更多的视图间相关,且因此视频编码器更有可能针对块选择视图间预测而不是视图内预测。然而,3D-HEVC中的视差向量建构过程的当前现有设计主要考虑可能是次佳的第一可用的视差向量。
[0136]本发明描述可解决3D-HEVC中的视差向量建构过程的现有设计中的这些问题的技术。根据本发明的技术,视频译码器(例如,视频编码器20或视频解码器30)在译码当前视图时可确定视图间预测(例如,视图间运动预测及视图间残差预测)的视差向量,视频译码器可以与视差范围相关的某些约束适用的方式检查视差向量。所检查的视差向量可包含来自经译码的空间及时间相邻块的视差运动向量。因此,作为始终选择第一可用的视差运动向量的替代,视频译码器可仅在第一可用的视差运动向量在特定视差范围内时才选择第一可用的视差运动向量。否则,如果第一可用的视差运动向量不在特定视差范围内,视频译码器可联合考虑多个视差运动向量以确定最靠近最合意的视差范围的视差运动向量。
[0137]根据本发明的第一实例技术,视频译码器可确定一对视图的视差范围。举例来说,一个所确定的范围可包含仅大于零的值。在一些实例中,视频译码器可从相机参数确定视差范围。相机参数的实例包含固有参数及非固有参数,包含相机的相对水平位置/移位。此夕卜,视频译码器可根据预定义检查次序来检查在空间上和/或在时间上相邻的块。在视频译码器检查相邻块时,视频译码器可从相邻块的视差运动向量来计算视差。视频译码器可随后确定所计算的视差是否在视差范围内。响应于确定所计算的视差在视差范围内,视频译码器可确定相邻块的视差运动向量是可用的。否则,响应于确定所计算的视差不在视差范围内,视频译码器可确定相邻块的视差运动向量不可用。视频译码器可响应于确定相邻块的视差运动向量可用而停止检查相邻块。举例来说,当且仅当视差运动向量可用时,导出过程才成功终止。
[0138]以此方式,视频译码器可确定第一可用的视差向量候选者在预期范围之外。此外,在第一可用的视差向量候选者在预期范围之外时,视频译码器可确定当前PU的视差向量等于第二可用的视差向量候选者。第一及第二可用的视差向量候选者可与在空间上或在时间上与当前PU相邻的相关联。第一及第二可用的视差向量候选者中的每一者是在空间上或在时间上与当前PU相邻的相应I3U的SDV、TDV或IDV。
[0139]在一些情况下,可将视差范围限制到大于或等于O的值。换句话说,可预期视差的范围大于或等于O。在此些情况下,视频译码器可确定在视差运动向量的水平值(即,视差)大于或等于O的情况下视差运动向量是可用的。换句话说,仅当具有大于或等于O的水平值的视差运动向量被视为可用的时。
[0140]在其它情况下,可将视差范围限制到小于或等于O的值。换句话说,可预期视差的范围是小于或等于O的所有值。在此些情况下,视频译码器可确定在视差运动向量的水平值(即,视差)小于或等于O的情况下视差运动向量是可用的。换句话说,仅具有小于或等于O的水平值的视差运动向量被视为可用的。
[0141]根据本发明的第二实例技术,视频译码器可根据预定义检查次序来检查在空间上和/或在时间上相邻的视频块(例如,在空间上和/或在时间上相邻的PU)。在视频译码器检查相邻的视频块时,视频译码器可确定相邻的视频块的视差运动向量是否可用。如果相邻的视频块的视差运动向量可用,那么视频译码器可记录视差运动向量。与上文所描述的第一实例技术相比,在此第二实例技术中,视频译码器可根据预定义检查次序来检查每一相邻的视频块,而不管视频译码器是否确定相邻的视频块具有可用的视差运动向量。以此方式,可记录所有的可用的视差运动向量。
[0142]在本发明的第二实例技术中,视频译码器可检视所记录的可用的视差运动向量,且从所记录的可用的视差运动向量中确定对应于在距离上最靠近相机/视点的对象的所记录的可用的视差运动向量。换句话说,对应于最靠近的对象的视差运动向量可作为最终视差向量而返回。在一个实例中,视频译码器可确定具有较大水平分量的视差运动向量对应于较近的对象。在其它实例中,视频译码器可确定具有较大水平分量的视差运动向量对应于较远的对象。视频译码器可将所确定的视差运动向量的水平分量用作当前视频块(例如,当前PU)的视差向量。
[0143]在本发明的第二实例技术的另一版本中,视频译码器可仅在视差运动向量在特定范围内时才记录所述视差运动向量。视频译码器可以关于本发明的第一实例技术所描述的方式来确定所述特定范围。
[0144]根据本发明的第三实例技术,视频译码器可根据预定义检查次序来检查在空间上和/或在时间上相邻的视频块(例如,在空间上和/或在时间上相邻的PU)。在视频译码器检查相邻的视频块时,视频译码器可确定相邻的视频块的视差运动向量是否可用。如果相邻的视频块的视差运动向量可用,那么视频译码器可记录视差运动向量。以此方式,可记录所有的可用的视差运动向量。视频译码器可随后从所记录的可用的视差运动向量中确定对应于具有到相机/视点最远距离的对象的视差运动向量。视频译码器可至少部分基于所确定的视差运动向量来确定当前视频块(例如,当前PU)的视差向量。换句话说,对应于最远的对象的视差运动向量作为最终视差向量而返回。
[0145]在本发明的第三实例技术的另一版本中,视频译码器可仅在视差运动向量在特定范围内时才记录所述视差运动向量。视频译码器可以关于本发明的第一实例技术所描述的方式来确定所述特定范围。
[0146]在上文所描述的第一、第二及第三实例技术中,视频译码器可至少部分基于视图的相机参数或相机位置来确定深度范围(即,对象与相机/视点之间的现实世界距离的范围)。举例来说,在上文所描述的第一、第二及第三实例技术中,视频译码器可仅需要针对当前视图及参考视图来确定较大或较小的视差是否为优选的,从而暗示着在解码过程期间,候选者中的相对较大或较小的视差向量可提供对当前块的视差的较佳表示及因此较高的译码效率。举例来说,在相机并行且没有传感器移位且当前视图在参考视图的右边时,视差可通常为正。总之,传感器转移配置的相机设定对应于并行相机,其中内部相机含有转移的主轴以用于将3D场景投影到2D平面中以使得可产生视差。因此,在此实例中,较大的视差可为优选的。在相机并行且没有传感器移位且当前视图在参考视图的左边时,视差可通常为负。因此,在此实例中,较小的视差可为优选的。
[0147]根据本发明的第四实例技术,视频译码器可根据预定义检查次序来检查在空间上和/或在时间上相邻的视频块。在视频译码器检查相邻的视频块时,视频译码器可确定相邻的视频块的视差运动向量是否可用。如果相邻的视频块的视差运动向量可用,那么视频译码器可记录视差运动向量。以此方式,可记录所有的可用的视差运动向量。随后,视频译码器可确定具有属于第一范围内的水平分量的所记录的可用的视差运动向量的数目,且视频译码器还可确定具有属于第二范围内的水平分量的所记录的可用的视差运动向量的数目。所述第一范围可对应于较近的对象,且所述第二范围可对应于较远的对象。换句话说,对于两个给定视差范围,即,较近的范围及较远的范围,视频译码器可对落到每一范围中的视差运动向量的数目进行计数。
[0148]接下来,在本发明的第四实例技术中,视频译码器可从第一范围及第二范围中选择包含最多的视差运动向量的范围。换句话说,选择具有较大数目的候选者的范围。如果所选择的范围的视差运动向量的水平分量小于未被选择的范围的视差运动向量的水平分量,那么视频译码器可从所选择的范围中的视差运动向量中确定具有最小的水平分量的视差运动向量。否则,如果所选择的范围的视差运动向量的水平分量不小于未被选择的范围的视差运动向量的水平分量,那么视频译码器可从所选择的范围中的视差运动向量中确定具有最大的水平分量的视差运动向量。视频译码器可至少部分基于所确定的视差运动向量来确定当前视频块(例如,当前PU)的视差向量。换句话说,对于所选择的范围,如果所选择的范围具有比其它范围小的视差值,那么视频译码器可返回此所选择的范围中具有最小的视差运动向量(仅考虑向量的水平部分)的视差运动向量,否则,视频译码器可返回此所选择的范围中具有最大的视差运动向量的视差运动向量。
[0149]在本发明的第四实例技术的另一版本中,视频译码器可仅在视差运动向量在特定视差范围内时才记录所述视差运动向量。视频译码器可以关于本发明的第一实例技术所描述的方式来确定所述特定视差范围。
[0150]在本发明的此第四实例技术中,可预定义视差范围。举例来说,在使用具有传感器移位的并行相机设定时,[-10,O]可能是较远的视差范围且[0,20]可能是较近的视差范围。视频译码器可使用较远的视差范围来俘获对应于弹出屏幕的对象的视差。视频译码器可使用较近的视差范围来俘获对应于屏幕内部的对象的视差。因此,如果大部分可用的视差运动向量靠近观看者,那么视频译码器可返回更靠近观看者的视差运动向量。如果大部分可用的视差运动向量距观看者较远,那么视频译码器可返回距观看者更远的视差运动向量。
[0151]本发明的第五实例技术类似于上文所描述的第二、第三及第四实例技术。然而,在所述第五实例技术中,视频译码器仅记录在空间上与当前视频块(例如,当前PU)相邻的视频块(例如,PU)的视差运动向量。视频译码器不记录在时间上与当前视频块相邻的视频块的视差运动向量。视频译码器可从所记录的可用的视差运动向量中确定视差运动向量。视频译码器可随后至少部分基于所确定的视差运动向量来确定当前视频块的视差向量。以此方式,仅来自空间相邻块的视差运动向量被记录且用于返回所选择的视差向量。如果视频译码器不确定任何可用的视差运动向量,那么视频译码器可检查其它视差向量源,例如已经导出且存储在相邻块中的视差向量或在其它块中的视差运动向量。在视频译码器检查另一视差运动向量时,视频译码器可至少部分基于其它视差运动向量中的第一可用的一者来确定当前视频块的视差向量。换句话说,如果第五实例技术的过程不返回可用的视差向量,那么检查其它视差运动向量且将第一可用的一者作为视差向量而返回。
[0152]本发明的第六实例技术类似于上文所描述的第二、第三及第四实例技术。然而,在本发明的第六实例技术中,视频译码器仅记录来自在空间上与当前视频块(例如,当前PU)相邻的视频块(例如,PU)的视差运动向量及来自在时间上与当前视频块相邻的视频块的子集的视差运动向量。可例如以类似于用于HEVC中的AMVP及合并模式的块的方式来选择相邻视频块的子集。也就是说,仅来自在空间上相邻的块及在时间上相邻的块的子集的视差运动向量被记录且用于返回所选择的视差向量。如果视频译码器不确定任何可用的视差运动向量,那么视频译码器可检查其它视差向量源,例如已经导出且存储在相邻块中的视差向量或在其它块中的视差运动向量。在视频译码器检查另一视差运动向量时,视频译码器可至少部分基于其它视差运动向量中的第一可用的一者来确定当前视频块的视差向量。换句话说,如果第六实例技术的过程不返回可用的视差向量,那么检查其它视差运动向量且将第一可用的一者作为视差向量而返回。
[0153]本发明的第七实例技术类似于上文所描述的第二、第三及第四实例技术。然而,在本发明的第七实例技术中,可存在将被记录的预定义数目的视差运动向量。将被记录的视差运动向量的预定义数目可表示为“N”。在本发明的第七实例技术中,视频译码器可记录第一N个可用的视差运动向量且视频译码器可从所记录的视差运动向量中选择视差向量。如果可用的视差运动向量的数目小于N,那么将其全部进行记录且视频编码器可从所记录的视差运动向量中选择视差向量。
[0154]本发明的第八实例技术类似于上文所描述的第二、第三及第四实例技术。然而,在本发明的第八实例技术中,可存在将被检查的预定义数目的视差运动向量。将被检查的视差运动向量的预定义数目可表示为“N”。如果视频译码器已检查所有可能的视差运动向量或所检查的视差运动向量的数目等于N且大于0,那么视频译码器可应用根据上文所描述的第一、第二或第三实例技术中的一者而描述的方法以确定当前块的视差向量。否则,如果视频译码器已检查所有可能的视差运动向量且所检查的视差运动向量的数目不等于N或不大于0,那么视频译码器可检查其它视差向量源,例如已经导出且存储在相邻块中的视差向量或在其它块中的视差运动向量。在视频译码器检查另一视差运动向量时,视频译码器可选择其它视差运动向量中的第一可用的一者且可至少部分基于所选择的视差运动向量来确定当前视频块的视差向量。
[0155]在本发明的第九实例技术中,视频译码器可使用不同的视差向量产生方法来用于不同的视图间预测。视差向量产生方法(即视差向量导出过程)是用于确定视差向量的方法或过程。举例来说,视频译码器可使用第一视差向量产生方法来用于视图间残差预测且可使用第二视差向量产生方法来用于视图间运动预测。此外,视频译码器可使用不同的视差向量产生方法来用于不同的非基础视图。举例来说,视频译码器可针对第一视图使用第一视差向量产生方法且针对第二视图使用第二视差向量产生方法。
[0156]因此,在第九实例技术中,视频编码器20可使用第一视差向量导出过程确定第一视差向量。另外,视频编码器20可使用第二视差向量导出过程确定第二视差向量。第一视差向量导出过程可不同于第二视差向量导出过程。视频编码器20可使用第一视差向量以确定用于当前PU的一组MVP候选者中的一 MVP候选者。视频编码器20使用第二视差向量来确定残余数据。此外,视频编码器20可产生包含指示当前的残余数据及所述组MVP候选者中的所选择的MVP候选者的数据的位流。
[0157]类似地,在第九实例技术中,视频解码器30可使用第一视差向量导出过程确定第一视差向量。另外,视频解码器30可使用第二视差向量导出过程确定第二视差向量。第一视差向量导出过程可不同于第二视差向量导出过程。此外,视频解码器30可使用第一视差向量以确定用于当前PU的一组MVP候选者中的一 MVP候选者。视频解码器30使用第二视差向量来确定残余数据。另外,视频解码器30可部分基于所述残余数据及所述组MVP候选者中的所选择的MVP候选者而产生经重构图片的一或多个块。
[0158]此外,在一些实例中,视频译码器可使用不同的视差向量产生方法来用于不同的视图间运动预测模式。举例来说,视频译码器可使用第一视差向量产生方法来用于AMVP模式且视频译码器可使用第二视差向量产生方法来用于合并模式。因此,视频译码器(例如,视频编码器20或视频解码器30)可使用不同的视差向量导出过程来确定视差向量,其取决于当前PU的运动信息是使用第一模式(例如,合并模式)还是第二模式(例如,AMVP模式)进行编码。视频译码器可使用此视差向量来确定MVP。
[0159]举例来说,视频编码器20可产生一组MVP候选者,且产生包含指示所述组MVP候选者中的所选择的MVP候选者的候选者索引。在当前的运动信息是使用第一模式(即,合并模式)编码时,所选择的MVP候选者指定所述当前PU的运动向量。在此实例中,在所述当前PU的所述运动信息是使用第二模式(即,AMVP模式)编码时,视频编码器20可在所述位流中包含指示当前PU的MVD的数据。当前I3U的MVD指示由所选择的MVP候选者指示的运动向量与当前PU的运动向量之间的差。
[0160]在另一实例中,视频解码器30可从位流获得候选者索引且产生一组MVP候选者。视频解码器30可至少部分基于所述候选者索引来确定所述组MVP候选者中的所选择的MVP候选者。在当前PU的运动信息是使用第一模式(即,合并模式)编码时,所选择的MVP候选者可指定所述当前PU的运动向量。在当前PU的运动信息是使用第二模式(即,AMVP模式)编码时,视频译码器30可从位流获得当前的MVD,且至少部分基于由所选择的MVP候选者指示的运动向量及所述MVD来确定当前PU的运动向量。在一些实例中,视频译码器30可至少部分基于所选择的MVP候选者来确定所述当前的预测性块。视频译码器30可至少部分基于当前PU的预测性块及残余数据来产生经重构块。
[0161]本发明的第十实例技术类似于上文所描述的第一、第二和第三实例技术。然而,在本发明的第十实例技术中,视频编码器20可用信号发送特定视图的语法元素(例如,旗标)及所述特定视图的参考视图。所述语法元素可指示较大的视差是否为优选的(即,在多个视差向量可用于选择时进行选择)。在不同的实例中,视频编码器20可在切片标头、PPS、序列参数集(SPS)或视频参数集(VPS)中用信号发送所述旗标。VPS是含有适用于零个或更多的整个经译码视频序列的语法元素的语法结构。SPS是含有适用于零个或更多的整个经译码视频序列的语法元素的语法结构。单一 VPS可适用于多个SPS。在一些实例中,如果语法元素具有等于I的值且视频译码器使用如上文所描述的第一实例技术,那么视频译码器可仅将正的视差运动向量视为可用的。在其它实例中,如果语法元素具有等于I的值且视频译码器使用如上文所描述的第二实例技术,那么视频译码器可选择具有最大水平值的视差运动向量。
[0162]或者,在第十实例技术中,视频编码器20可用信号发送第一指示及第二指示。所述第一指示可指示相机是否从左到右以视图识别符的递增或递减的次序布置。所述第二指示可指示视图识别符是递增还是递减。在一些实例中,所述第二指示是所述第一指示的一部分。因此,对于一对特定视图,视频解码器30可基于所述第一和第二指示来确定是较大的视差还是较小的视差是优选的(即,在多个视差向量可用于选择时进行选择)。
[0163]图10是说明可实施本发明的技术的实例视频编码器20的框图。图10是为了阐释的目的而提供,且不应被视为对本发明中广义上示范和描述的技术的限制。为了阐释的目的,本发明在HEVC译码的上下文中描述视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。
[0164]在图10的实例中,视频编码器20包含预测处理单元100、残差产生单元102、变换处理单元104、量化单元106、反量化单元108、反变换处理单元110、重构单元112、滤波器单元114、经解码图片缓冲器116以及熵编码单元118。预测处理单元100包含帧间预测处理单元120和帧内预测处理单元126。帧间预测处理单元120包含运动估计单元122和运动补偿单元124。在其它实例中,视频编码器20可包含更多、更少或不同的功能组件。
[0165]视频编码器20可接收视频数据。视频编码器20可对视频数据的图片的切片中的每一 CTU进行编码。CTU中的每一者可与图片的相等大小的亮度译码树块(CTB)及对应的CTB相关联。作为对CTU进行编码的部分,预测处理单元100可执行四叉树分割以将CTU的CTB划分为渐进更小的块。较小的块可为CU的译码块。举例来说,预测处理单元100可将与CTU相关联的CTB分割为四个相等大小的子块,将子块中的一或多者分割为四个相等大小的子子块,以此类推。
[0166]视频编码器20可对CTU的⑶进行编码以产生⑶的经编码表示(即,经译码⑶)。作为对CU进行编码的部分,预测处理单元100可在CU的一或多个I3U之间分割与CU相关联的译码块。因此,每一 PU可与一亮度预测块及对应的色度预测块相关联。视频编码器20和视频解码器30可支持具有各种大小的PU。CU的大小可指CU的亮度译码块的大小,且PU的大小可指I3U的亮度预测块的大小。假定特定CU的大小为2NX 2N,视频编码器20和视频解码器30可支持2NX2N或NXN的PU大小以用于帧间预测,以及2NX2N、2NXN、NX 2N、NXN或类似者的对称PU大小以用于帧间预测。视频编码器20和视频解码器30还可支持用于2NXnU、2NXnD、nLX2N和nRX2N的I3U大小的不对称分割以用于帧间预测。
[0167]帧间预测处理单元120可通过对⑶的每一 I3U执行帧间预测而产生I3U的预测性数据。PU的预测性数据可包含的预测性块以及PU的运动信息。帧间预测处理单元120可依据PU在I切片、P切片还是B切片中而对⑶的I3U执行不同的操作。在I切片中,所有PU都被帧内预测。因此,如果在I切片中,那么帧间预测处理单元120不对PU执行帧间预测。因此,对于以I模式编码的视频块,使用空间预测从相同的帧内的先前经编码的相邻块来形成预测性块。
[0168]P切片中的I3U可被帧内预测或单向帧间预测。举例来说,如果I3U在P切片中,那么运动估计单元122可搜索参考图片列表(例如,“RefPicListO”)的参考图片以寻找I3U的参考区。PU的参考区可为参考图片内的含有最紧密地对应于的预测块的样本块的区。运动估计单元122可产生指示参考图片的RefPicListO中的含有I3U的参考区的位置的参考索引。另外,运动估计单元122可产生指示PU的预测块与和参考区相关联的参考位置之间的空间移位的运动向量。举例来说,所述运动向量可为提供从当前经解码图片中的坐标到参考图片中的坐标的偏移的二维向量。运动估计单元122可将参考索引及运动向量输出为PU的运动信息。运动补偿单元124可至少部分基于由的运动向量指示的参考位置处的实际或经内插样本而产生PU的预测性块。
[0169]B切片中的I3U可被帧内预测、单向帧间预测或双向帧间预测。因此,如果I3U在B切片中,那么运动估计单元122可对PU执行单向预测或双向预测。为了对执行单向预测,运动估计单元122可搜索RefPicListO或第二参考图片列表(“RefPicListl”)的参考图片以寻找PU的参考区。运动估计单元122可输出以下各者作为PU的运动信息:指示含有参考区的参考图片的RefPicListO或RefPicListl中的位置的参考索引、指示I3U的预测块以及与参考区相关联的参考位置之间的空间移位的运动向量,及指示参考图片是在RefPicListO还是RefPicListl中的一或多个预测方向指示符。运动补偿单元124可以至少部分基于由PU的运动向量指示的参考区处的实际样本或经内插样本来产生PU的预测性块。
[0170]为了对I3U执行双向帧间预测,运动估计单元122可以搜索RefPicListO中的参考图片以寻找PU的参考区,并且还可搜索RefPicListl中的参考图片以寻找I3U的另一参考区。运动估计单元122可产生指示含有参考区的参考图片的RefPicListO及RefPicListl中的位置的参考索引。另外,运动估计单元122可产生指示与参考区相关联的参考位置与PU的预测块之间的空间移位的运动向量。I3U的运动信息可包含I3U的参考索引和MV。运动补偿单元124可至少部分基于由PU的运动向量指示的参考区处的实际或经内插样本而产生PU的预测性块。
[0171]帧内预测处理单元126可通过对PU执行帧内预测而产生PU的预测性数据。I3U的预测性数据可包含PU的预测性块和各种语法元素。帧内预测处理单元126可对I切片、P切片和B切片中的I3U执行帧内预测。
[0172]为了对执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式来产生PU的多组预测性数据。帧内预测处理单元126可基于相邻I3U的样本而产生I3U的预测性块。假设用于PU、⑶和CTU的从左到右、从上到下编码次序,所述相邻PU可在PU的上方、右上方、左上方,或左边。帧内预测处理单元126可使用各种数目的帧内预测模式。在一些实例中,帧内预测模式的数目可取决于PU的预测块的大小。
[0173]预测处理单元100可从由帧间预测处理单元120针对⑶的PU产生的预测性数据或者由帧内预测处理单元126针对所述产生的预测性数据中选择所述的预测性数据。在一些实例中,预测处理单元100基于多组预测性数据的速率/失真度量来选择CU的PU的预测性数据。选定的预测性数据的预测性块可在本文中被称作选定的预测性块。
[0174]残差产生单元102可基于⑶的亮度、Cb及Cr译码块以及⑶的I3U的所选择的预测性亮度块、Cb块及Cr块而产生⑶的亮度、Cb及Cr残余块。举例来说,残差产生单元102可产生CU的残余块以使得残余块中的每一样本具有等于CU的译码块中的样本与CU的PU的对应的所选择的预测性块中的对应样本之间的差的值。
[0175]变换处理单元104可执行四叉树分割以将与CU相关联的残余块分割为与CU的TU相关联的变换块。因此,TU可与一亮度变换块及两个色度变换块相关联。CU的TU的亮度和色度变换块的大小和位置可基于或可不基于CU的PU的视频块的大小和位置。被称为“残余四叉树”(RQT)的四叉树结构可包含与所述区中的每一者相关联的节点。CU的TU可对应于RQT的叶节点。
[0176]变换处理单元104可通过将一或多个变换应用于TU的变换块而产生⑶的每一 TU的系数块。变换处理单元104可将各种变换应用于与TU相关联的变换块。举例来说,变换处理单元104可对变换块应用离散余弦变换(DCT)、方向性变换或概念上类似的变换。在一些实例中,变换处理单元104不对变换块应用变换。在此些实例中,可将变换块视为系数块。
[0177]量化单元106可量化系数块中的变换系数。量化过程可减少与变换系数中的一些或全部相关联的位深度。举例来说,η位变换系数可在量化期间下舍入到m位变换系数,其中η大于m。量化单元106可基于与CU相关联的量化参数(QP)值来量化与CU的TU相关联的系数块。视频编码器20可通过调整与CU相关联的QP值来调整向与CU相关联的系数块应用的量化的程度。量化可能引入信息的损失,因此经量化变换系数可能具有比原始变换系数低的精确度。
[0178]反量化单元108及反变换处理单元110可分别向系数块应用反量化及反变换,以从系数块重构残余块。重构单元112可将经重构的残余块添加到来自由预测处理单元100产生的一或多个预测性块的对应样本,从而产生与TU相关联的经重构变换块。通过以此方式重构⑶的每一 TU的变换块,视频编码器20可重构⑶的译码块。
[0179]滤波器单元114可执行一或多个解块操作以减少与CU相关联的译码块中的块性假影。经解码图片缓冲器116可在滤波器单元114对经重构的译码块执行一或多个解块操作之后存储经重构的译码块。帧间预测处理单元120可使用含有经重构译码块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可使用经解码图片缓冲器116中的经重构译码块来对与CU相同的图片中的其它PU执行帧内预测。
[0180]熵编码单元118可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元118可从量化单元106接收系数块,且可从预测处理单元100接收语法元素。熵编码单元118可对数据执行一或多个熵编码操作以产生经熵编码数据。举例来说,视频编码单元118可对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操作、可变-可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作,指数哥伦布编码操作或另一类型的熵编码操作。视频编码器20可输出包含由熵编码单元118产生的经熵编码数据的位流。举例来说,所述位流可包含表示CU的RQT的数据。所述位流还可包含未被熵编码的语法元素。
[0181]图11是说明可实施本发明中所描述的技术的实例视频解码器30的框图。图11是为了阐释的目的而提供,且不对本发明中广义上示范和描述的技术进行限制。为了阐释的目的,本发明在HEVC译码的上下文中描述视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。
[0182]在图11的实例中,视频解码器30包含熵解码单元150、预测处理单元152、反量化单元154、反变换处理单元156、重构单元158、滤波器单元160以及经解码图片缓冲器162。预测处理单元152包含运动补偿单元164和帧内预测处理单元166。在其它实例中,视频解码器30可包含更多、更少或不同的功能组件。
[0183]熵解码单元150可接收NAL单元且解析所述NAL单元以解码语法元素。熵解码单元150可解码NAL单元中的经熵编码语法元素。预测处理单元152、反量化单元154、反变换处理单元156、重构单元158以及滤波器单元160可基于从位流提取的语法元素而产生经解码视频数据。
[0184]位流的NAL单元可包含经译码切片NAL单元。作为解码位流的一部分,熵解码单元150可从经译码切片NAL单元提取语法元素且对所述语法元素进行熵解码。所述经译码切片中的每一者可包含切片标头和切片数据。所述切片标头可含有与切片相关的语法元素。切片标头中的语法元素可包含识别与含有所述切片的图片相关联的PPS。
[0185]除了解码来自位流的语法元素之外,视频解码器30可对⑶执行重构操作。为对⑶执行重构操作,视频解码器30可对⑶的每一 TU执行重构操作。通过对⑶的每一 TU执行重构操作,视频解码器30可重构⑶的残余块。
[0186]作为对CU的TU执行重构操作的部分,反量化单元154可将与TU相关联的系数块反量化,即,解量化。反量化单元154可使用与TU的CU相关联的QP值以确定量化程度,以及同样反量化单元154要应用的反量化的程度。
[0187]在反量化单元154将系数块反量化之后,反变换处理单元156可依序对系数块应用一或多个反变换以产生与TU相关联的残余块。举例来说,反变换处理单元156可向系数块应用反DCT、反整数变换、反卡胡嫩-罗孚(Karhunen-Loeve)变换(KLT)、反旋转变换、反方向性变换,或另一反变换。
[0188]如果使用帧内预测对进行编码,那么帧内预测处理单元166可执行帧内预测来产生PU的预测性块。帧内预测处理单元166可使用帧内预测模式以基于在空间上相邻的PU的预测块而产生I3U的预测性亮度块、Cb块以及Cr块。帧内预测处理单元166可基于从位流解码的一或多个语法元素来确定用于PU的帧内预测模式。
[0189]预测处理单元152可基于从位流提取的语法元素来建构第一参考图片列表(RefPicListO)及第二参考图片列表(RefPicListl)。此外,如果使用帧间预测对I3U进行编码,那么熵解码单元150可提取PU的运动信息。运动补偿单元164可基于PU的运动信息确定I3U的一或多个参考区。运动补偿单元164可基于在PU的一或多个参考块处的样本块而产生PU的预测性亮度块、Cb块及Cr块。
[0190]重构单元158可在适用时使用与⑶的TU相关联的亮度变换块、Cb变换块及Cr变换块及CU的PU的预测性亮度块、Cb块及Cr块(即,帧内预测数据或帧间预测数据)来重构CU的亮度译码块、Cb译码块及Cr译码块。例如,重构单元158可将亮度变换块、Cb变换块以及Cr变换块的样本添加到预测性亮度块、Cb块及Cr块的对应样本以重构CU的亮度译码块、Cb译码块及Cr译码块。
[0191]滤波器单元160可执行解块操作以减少与CU的亮度译码块、Cb译码块及Cr译码块相关联的块性假影。视频解码器30可在经解码图片缓冲器162中存储CU的亮度译码块、Cb译码块及Cr译码块。经解码图片缓冲器162可提供参考图片以用于后续的运动补偿、帧内预测以及在显示装置(例如,图1的显示装置32)上的呈现。举例来说,视频解码器30可基于经解码图片缓冲器162中的亮度、Cb及Cr对其它CU的PU执行帧内预测或帧间预测操作。以此方式,视频解码器30可从位流解析亮度系数块的变换系数层级、反量化变换系数层级、对变换系数层级应用变换以产生变换块、至少部分基于变换块而产生译码块,且输出译码块以用于显示。
[0192]图12是说明用以确定用于AMVP、合并模式运动向量预测及视图间残差预测中的当前PU的视差向量的视频译码器的实例性操作200的流程图。操作200可由视频编码器(例如,视频编码器20)、视频解码器(例如,视频解码器30)或另一装置执行。视频译码器可针对视图Vl执行操作200且还可针对视图V2执行操作200。基础视图可被表示为视图VO0视图Vl可在视图VO的左边且视图V2可在视图VO的右边。此外,关于操作200,可将视差向量候选列表表不为disVecCan。在一些实例中,视差向量可直接用于视图间运动预测和视图间残差预测。另外,视差向量的垂直部分在用于AMVP模式时可被设定为0,且被视为视图间参考图片的预测符。
[0193]在图12的实例中,视频译码器可初始化在空间上相邻的指示符以使得在空间上相邻的PU指示符指示根据检查次序的第一相关的在空间上相邻的ro(202)。在一些实例中,所述相关的在空间上相邻的I3U可为覆盖位置Ap BpB1及B2的PU,如图2的实例中所示。在一些实例中,视频译码器可根据以下位置次序来检查所述相关的在空间上相邻的PU =A1, B1, B0, A0及B2。因此,视频译码器可检查空间相邻的预测单元N(其中N依序被仏、
B。、Atl 及 B2 取代)。
[0194]此外,视频译码器可确定是否所有相关的在空间上相邻的已被检查(204)。响应于视频译码器尚未检查所有相关的在空间上相邻的PU(204的“否”),视频译码器可确定当前在空间上相邻的I3U的RefPicListO运动向量是否可用且是否为视差运动向量
(206)。当前在空间上相邻的可为由在空间上相邻的PU指示符指示的PU。一般来说,PU的RefPicListO运动向量是指示在I3U的RefPicListO参考索引中指示的参考图片中的位置的PU的运动向量。I3U的RefPicListO参考索引是指示RefPicListO中的参考图片的参考索引。如果针对PU指定运动向量,那么视频译码器可确定的运动向量是可用的。响应于确定当前在空间上相邻的I3U的RefPicListO运动向量是可用的且是视差运动向量(206的“是”),视频译码器可将当前在空间上相邻的的RefPicListO运动向量添加到disVecCan (208)。
[0195]不管当前在空间上相邻的I3U的RefPicListO运动向量是否可用且是否为视差运动向量,视频译码器可确定当前在空间上相邻的PU的RefPicListl运动向量是否可用且是否为视差运动向量(210)。一般来说,I3U的RefPicListl运动向量是指示在PU的RefPicListl参考索引中指示的参考图片中的位置的I3U的运动向量。I3U的RefPicListl参考索引是指不RefPicListl中的参考图片的参考索引。响应于确定当如在空间上相邻的PU的RefPicListl运动向量是可用的且是视差运动向量(210的“是”),视频译码器可将当前在空间上相邻的PU的RefPicListl运动向量添加到disVecCan(212)。
[0196]在将RefPicListl运动向量添加到disVecCan或响应于确定RefPicListl运动向量不可用或不是视差运动向量(210的“否”),视频译码器可设定在空间上相邻的指示符以指示根据检查次序的下一相关的在空间上相邻的PU(214)。视频译码器可随后再次确定是否所有相关的在空间上相邻的I3U已被检查(204)。
[0197]响应于确定所有相关的在空间上相邻的已被检查(204的“是”),视频译码器可确定disVecCan包含至少一个视差运动向量(216)。响应于确定disVecCan不包含任何视差运动向量(216的“否”),视频译码器可执行从在时间上相邻的导出当前的视差向量的过程(在图12中表示为“A”)。在本发明中其它地方描述的图13是说明用以从在时间上相邻的PU导出当前的视差向量的实例性操作的流程图。
[0198]否则,响应于确定disVecCan包含至少一个视差运动向量(216的“是”),视频译码器可确定当前视图是否在基础视图的左边(218)。换句话说,视频译码器可确定当前视图是视图VI。响应于确定当前视图在基础视图的左边(218的“是”),视频译码器可基于disVecCan中具有最小水平值的视差运动向量来确定当前PU的视差向量(220)。举例来说,视频译码器可确定当前PU的视差向量等于当前在空间上相邻的的RefPicListO运动向量的水平分量。否则,响应于确定当前视图不在基础视图的左边(218的“否”),视频译码器可基于disVecCan中具有最大水平值的视差运动向量来确定当前I3U的视差向量(222)。
[0199]以此方式,对于每一相邻F1U N,前向及后向运动向量(即,分别对应于RefPicListO及RefPicListl的运动向量)(如果可用)两者都被检查且在所述运动向量是视差运动向量的情况下添加到disVecCan。本发明可将指示RefPicListO中的参考图片的运动向量称作前向运动向量,且可将指示RefPicListI中的参考图片的运动向量称作后向运动向量。响应于确定在空间上相邻的PU具有视差运动向量,视频译码器将所述视差向量包含在视差向量候选者列表(disVecCan)中。
[0200]在检查在空间上相邻的I3U之后,视频译码器可确定disVecCan是否包含任何视差运动向量。响应于确定disVecCan不包含任何视差运动向量,视频译码器可执行对时间视差向量的导出过程。否则,响应于确定disVecCan包含至少一个视差运动向量,视频译码器可从disVecCan中的视差运动向量中选择一视差向量。如果当前视图是视图VI,那么视频译码器可返回在disVecCan中具有所有条目的最小水平值的视差向量。否则(当前视图是视图V2),视频译码器可返回在disVecCan中具有所有条目的最大水平值的视差向量。
[0201]图13是说明用以基于在时间上相邻的PU来确定当前I3U的视差向量的实例性操作250的流程图。操作250可由视频编码器(例如,视频编码器20)、视频解码器(例如,视频解码器30)或另一装置执行。操作250可为在图12中表示为“A”的操作200的部分。如上文关于图12所指示,在disVecCan不包含任何视差运动向量时,视频译码器可执行对时间视差向量的导出过程,例如操作250。
[0202]如图13的实例中所说明,视频译码器可初始化当前候选图片指示符,以使得当前候选图片指示符指示来自当前视图的位于同一地点的参考图片(252)。如果当前切片(即,含有当前I3U的切片)在B切片中且当前切片的切片标头中的COllOCated_frOm_10_flag语法元素指示位于同一地点的参考图片在RefPicListl中,那么位于同一地点的参考图片可为RefPicListl中的由切片标头的collocated_ref_idx语法元素指示的位置处的参考图片。否则,如果当前切片是P切片或当前图片是B切片且当前切片的切片标头中的collocated_from_10_flag语法元素指示位于同一地点的参考图片在RefPicListO中,那么位于同一地点的参考图片可为RefPicListO中的由切片标头的collocated_ref_idx语法元素指示的位置处的参考图片。由当前候选图片指示符指示的候选图片可在本文中被称作当前候选图片。
[0203]此外,在图13的实例中,视频译码器可确定是否所有候选图片已被检查(254)。在视频译码器尚未检查所有候选图片时,视频译码器可检查当前候选图片。在视频译码器检查当前候选图片时,视频译码器可检查当前候选图片内的三个候选区。第一候选区是位于同一地点的PU(CPU)区。第二候选区是位于同一地点的IXU区。第三候选区是右下方(BR)区。CPU区是当前候选图片内的与当前PU(或当前CU)位于同一地点的区。CLCU区是当前候选图片内的与覆盖当前候选图片内的与当前PU位于同一地点的区的LCU( S卩,CTU)相关联的区。BR区是当前候选图片内的紧接在CPU区的右下方的4X4区。因此,可如下定义三个候选区:
[0204].CPU:当前PU或当前⑶的位于同一地点的区。
[0205].CIXU:覆盖当前I3U的位于同一地点的区的IXU。
[0206].BR:CPU 的右下方 4X4 块。
[0207]图14是说明候选图片300的实例性候选区的概念图。在图14的实例中,当前图片302包含与当前PU相关联的区304。区304在与当前LCU相关联的区306内。区304的左上方样本相对于当前图片302的左上方样本位于(xO,y0)处。换句话说,当前图片302中的当前I3U中的左上方样本的位置是由(x0,y0)表示。候选图片300中的CPU区310具有与区304相同的大小。CPU区310的左上方样本相对于候选图片300的左上方样本位于(x0, y0)处。换句话说,在候选图片300中,由CPU表示具有相同大小的PU且其左上方样本位于(x0,y0)处的位于同一地点的区。候选图片的区312与区306具有相同大小且与区306位于同一地点。候选图片300的区314紧接在CPU区310的右下方而定位。以此方式,由CIXU表示覆盖CPU的IXU,且由BR表示CPU的右下方块。
[0208]现在继续参考图13的实例。为了检查当前候选图片的候选区,响应于确定视频译码器尚未检查所有候选图片(254的“否”),视频译码器可初始化当前候选区指示符以使得当前候选区指示符指示根据候选区检查次序的第一候选区(256)。由候选区指示符指示的候选区可在本文中被称作当前候选区。如果当前视图是视图Vl (即,基础视图的左边的视图),那么候选区检查次序可为如下:CPU区、CIXU区及BR区。如果当前视图是视图V2 ( SP,基础视图的右边的视图),那么候选区检查次序可为如下:BR区、CPU区、CIXU区。换句话说,在每一候选图片内,此图片中的对应三个候选区将针对Vl以(CPU、CLCU及BR)的次序且针对V2以(BR、CPU、CIXU)的次序进行检查。
[0209]在初始化当前候选区指示符之后,视频译码器可确定视频译码器是否已检查当前候选图片的所有候选区(258)。响应于确定视频译码器尚未检查当前候选图片的所有候选区(258的“否”),视频译码器可确定当前候选区是否与视差运动向量相关联(260)。在当前候选区覆盖一个以上16X 16分区时,以光栅扫描次序扫描当前候选区中的每一 16X 16分区的左上方4X4块。在覆盖当前候选区的16X 16分区的左上方4X4块的PU具有可用的视差运动向量时,视频译码器可确定PU的视差运动向量是与当前候选区相关联的视差运动向量。否则,在当前候选区不覆盖一个以上16X16分区时,视频译码器可选择当前候选区的左上方4X4块以用于视差向量导出。也就是说,在覆盖当前候选区的左上方4X4块的PU具有视差运动向量的情况下,视频译码器可确定此视差运动向量是与当前候选区相关联的视差运动向量。
[0210]响应于确定当前候选区与视差运动向量相关联(260的“是”),视频译码器可基于与当前候选区相关联的视差运动向量来确定当前PU的视差向量(262)。举例来说,视频译码器可确定当前I3U的视差向量等于当前在空间上相邻的I3U的RefPicListO运动向量的水平分量。否则,响应于确定当前候选区不与视差运动向量相关联(260的“否”),视频译码器可将当前候选区指示符设定为根据候选区检查次序的下一候选区(264)。视频译码器可随后再次确定是否已检查当前候选图片的所有候选区(258)。
[0211]响应于确定当前候选图片的所有候选区已被检查(258的“是”),视频译码器可将当前候选图片指示符设定为根据候选图片检查次序的下一候选图片(266)。视频译码器可根据剩余候选图片的参考索引以递升次序检查剩余的候选图片(即,除了位于同一地点的候选图片之外的候选图片)。在一个参考索引对应于RefPicListO中的图片且还对应于RefPicListl中的图片时,视频译码器可检查RefPicListX中的参考图片,之后检查RefPicListY中的参考图片,其中X等于collocated_from_10_flag且Y等于1-X。在设定当前候选图片指示符之后,视频译码器可再次确定视频译码器是否已检查所有候选图片(254)。
[0212]响应于确定视频译码器已检查所有候选图片(254的“是”),视频译码器可将零视差向量用作当前PU的视差向量(268)。零视差向量可为水平和垂直部分两者都被设定为O的视差向量。
[0213]以此方式,首先检查来自当前视图的位于同一地点的参考图片。随后,以参考索引的递升次序检查剩余候选图片中的每一者。在每一候选图片内,此图片中的对应三个候选区可针对Vl以(CPU、CIXU及BR)的次序且针对V2以(BR、CPU、CIXU)的次序进行检查。一旦识别视差运动向量,便可终止检查过程且第一可用的视差运动向量可作为视差向量返回。如果此过程未返回可用的视差向量,那么可返回零视差向量(水平和垂直部分两者都被设定为O)作为用于视图间运动预测的视差向量。
[0214]图15是说明实例性视差向量产生过程350的流程图。视差向量产生过程350可由视频编码器(例如,视频编码器20)、视频解码器(例如,视频解码器30)或另一装置执行。可执行视差向量产生过程350以确定当前的视差向量以用于合并模式、AMVP模式或视图间残差预测。视频译码器可针对视图Vl及视图V2中的每一者执行视差向量产生过程350,其中Vl在基础视图的左边且V2在基础视图的右边。
[0215]在图15的实例中,视频译码器可确定视差向量产生过程350经执行以使用合并模式I3U确定当前I3U的运动信息(352)。响应于确定视差向量产生过程350未经执行以使用合并模式确定当前PU的运动信息(352的“否”),视频译码器可执行图16的实例中展示的视差向量产生过程350的一部分(在图15中表示为“B”)。举例来说,在视差向量产生过程350经执行以使用AMVP模式确定当前I3U的运动信息时,或在视差向量产生过程350经执行以作为视图间残差预测过程的一部分时,视频译码器可执行图16中展示的视差向量产生过程350的所述部分。
[0216]响应于确定视差向量产生过程350经执行以使用合并模式确定当前的运动信息(352的“是”),视频译码器可初始化在空间上相邻的指示符以使得在空间上相邻的PU指示符指示根据检查次序的第一相关的在空间上相邻的PU (354)。在一些实例中,所述相关的在空间上相邻的PU可为覆盖位置ApApBc^B1及82的PU,如图2的实例中所示。在一些实例中,视频译码器可根据以下位置次序来检查所述相关的在空间上相邻的PU =A1, B1, B0,Atl及B2。因此,视频译码器可检查空间相邻的预测单元N(其中N依序被Ap B1, B0, A0及B2取代)。
[0217]接下来,视频译码器可确定是否所有相关的在空间上相邻的已被检查(356)。响应于视频译码器尚未检查所有相关的在空间上相邻的PU(356的“否”),视频译码器可确定当前在空间上相邻的I3U的RefPicListO运动向量是否可用且是否为视差运动向量(358)。当前在空间上相邻的PU可为由在空间上相邻的PU指示符指示的PU。响应于确定当前在空间上相邻的PU的RefPicListO运动向量是可用的且是视差运动向量(358的“是”),视频译码器可基于当前在空间上相邻的I3U的RefPicListO运动向量来确定当前I3U的视差向量(360)。举例来说,视频译码器可确定当前的视差向量等于当前在空间上相邻的PU的RefPicListO运动向量的水平分量。
[0218]另一方面,响应于确定当前在空间上相邻的I3U的RefPicListO运动向量不可用或不是视差运动向量(358的“否”),视频译码器可确定当前在空间上相邻的的RefPicListl运动向量是否可用且是否为视差运动向量(362)。响应于确定当前在空间上相邻的PU的RefPicListl运动向量是可用的且是视差运动向量(362的“是”),视频译码器可基于当前在空间上相邻的I3U的RefPicListl运动向量来确定当前I3U的视差向量(364)。举例来说,视频译码器可确定当前的视差向量等于当前在空间上相邻的PU的RefPicListO运动向量的水平分量。
[0219]然而,响应于确定当前在空间上相邻的I3U的RefPicListl运动向量不可用或不是视差运动向量(362的“否”),视频译码器可将在空间上相邻的指示符设定为下一相关的在空间上相邻的PU(366)。视频译码器可随后再次确定视频译码器是否已检查所有相关的在空间上相邻的PU(356)。以此方式,对于相邻的I3U N中的每一者,如果来自RefPicListO的运动向量是可用的且其为视差运动向量,那么其作为最终视差向量而返回。否则,检查来自RefPicListl的运动向量(如果可用)。如果来自RefPicListl的运动向量是视差运动向量,那么来自RefPicListl的运动向量用作用于应用于合并模式的视图间运动预测的视差向量。
[0220]响应于确定视频译码器已检查所有相关的在空间上相邻的TO(356的“是”),视频译码器可执行对图15的实例中指示为“A”的时间视差向量的导出过程。在一些实例中,在视频译码器已检查所有相关的在空间上相邻的PU时,视频译码器可执行图13中所示的实例过程。
[0221]以此方式,在不存在对空间视差向量的以上导出过程中识别的视差运动向量时,调用对时间视差向量的导出过程。时间相邻块的定义以及时间相邻块的检查次序与关于图13的实例所描述相同。如果此过程未返回可用的视差向量,那么可返回零视差向量(水平和垂直部分两者都被设定为O)作为视差向量。
[0222]图16是说明用于AMVP及视图间残差预测模式的实例性视差向量产生过程的流程图。换句话说,对于针对应用于AMVP模式及视图间残差预测的视图间运动预测而产生的视差向量,可利用图16的方法。以此方式,可针对合并模式执行第一视差运动向量导出过程,且可针对AMVP模式及视图间残差预测执行第二视差运动向量导出过程。视差向量产生过程可为图15的视差向量产生过程350的部分。如下文所描述,在图16的实例中,首先检查空间相邻块,随后检查时间相邻块。
[0223]在图16的实例中,视频译码器可初始化在空间上相邻的指示符以使得在空间上相邻的PU指不符指不根据检查次序的第一相关的在空间上相邻的PU(402)。图17是说明在空间上与当前PU相邻的实例性位置的概念图。在图16的实例中,所述相关的在空间上相邻的PU可为覆盖位置A0到Ak、BO到BL、C及D的PU,如图17的实例中所示。
[0224]在初始化在空间上相邻的指示符之后,视频译码器可随后确定是否所有相关的在空间上相邻的PU已被检查(404)。响应于视频译码器尚未检查所有相关的在空间上相邻的PU(404的“否”),视频译码器可确定当前在空间上相邻的I3U的RefPicListO运动向量是否可用且是否为视差运动向量(406)。响应于确定当前在空间上相邻的I3U的RefPicListO运动向量是可用的且是视差运动向量(406的“是”),视频译码器可确定当前视图是否为视图Vl (即,基础视图左边的视图)且视差运动向量是否具有小于或等于O的水平值(408)。响应于确定当前视图不是视图Vl或视差运动向量具有不小于或等于O的水平值(408的“否”),视频译码器可确定当前视图是否为视图V2(即,基础视图右边的视图)且视差运动向量是否具有大于或等于O的水平值(410)。
[0225]响应于确定当前视图是视图Vl且视差运动向量具有小于或等于O的水平值(408的“是”),或响应于确定当前视图是视图V2且视差运动向量具有大于或等于O的水平值(408的“是”),视频译码器可将当前在空间上相邻的的RefPicListO运动向量添加到disVecCan (412)。可将disVecCan初始化为空列表。
[0226]在将当前在空间上相邻的I3U的RefPicListO运动向量添加到disVecCan之后,响应于确定当前视图不是视图V2或视差运动向量不具有大于或等于O的水平值(410的“否”),或响应于确定当前在空间上相邻的I3U的RefPicListO运动向量不可用或不是视差运动向量(406的“否”),视频译码器可确定当前在空间上相邻的的RefPicListl运动向量是否可用且是否为视差运动向量(414)。响应于确定当前在空间上相邻的的RefPicListl运动向量是可用的且是视差运动向量(414的“是”),视频译码器可确定当前视图是否为视图Vl (即,基础视图左边的视图)且视差运动向量是否具有小于或等于O的水平值(416)。响应于确定当前视图不是视图Vl或视差运动向量具有不小于或等于O的水平值(416的“否”),视频译码器可确定当前视图是否为视图V2(即,基础视图右边的视图)且视差运动向量是否具有大于或等于O的水平值(418)。
[0227]响应于确定当前视图是视图Vl且视差运动向量具有小于或等于O的水平值(416的“是”),或响应于确定当前视图是视图V2且视差运动向量具有大于或等于O的水平值(418的“是”),视频译码器可将当前在空间上相邻的的RefPicListl运动向量添加到disVecCan (420)。在将当前在空间上相邻的I3U的RefPicListl运动向量添加到disVecCan之后,视频译码器可设定在空间上相邻的PU指示符以指示根据用于相关的在空间上相邻的PU的检查次序的下一相关的在空间上相邻的TO(420)。在设定在空间上相邻的指示符之后,或响应于确定当前在空间上相邻的PU的RefPicListl运动向量不可用或不是视差运动向量(414的“否”),或响应于确定当前视图不是视图V2或视差运动向量不具有大于或等于O的水平值(418的“否”),视频译码器可将在空间上相邻的指示符设定为根据检查次序的下一相关的在空间上相邻的PU(422)。视频译码器可随后再次确定视频译码器是否已检查所有相关的在空间上相邻的PU(404)。
[0228]以此方式,对于相邻块中的每一者,前向及后向运动向量(分别对应于RefPicListO及RefPicListl)(如果可用)两者都被检查且在所述运动向量是视差运动向量且以下条件中的一者为真的情况下添加到disVecCan:
[0229]?如果当前视图是Vl且视差运动向量具有小于或等于O的水平值。
[0230]?如果当前视图是V2且视差运动向量具有大于或等于O的水平值。
[0231]响应于确定视频译码器已检查所有相关的在空间上相邻的TO(404的“是”),视频译码器可执行图18中展示的视差向量产生过程350的所述部分(在图16中标记为“D”)。
[0232]图18是说明图15及16的视差向量产生过程350的实例性接续部分的流程图。在图18的实例中,视频译码器可确定disVecCan是否包含至少一个视差运动向量(450)。如果disVecCan不含有至少一个视差运动向量,那么视频译码器可调用对时间视差向量的导出过程。具体来说,在图18的实例中,响应于确定disVecCan不包含任何视差运动向量(450的“否”),视频译码器可确定当前视图是否在基础视图的左边(452)。换句话说,视频译码器可确定当前视图是否为视图VI。响应于确定当前视图在基础视图的左边(452的“是”),视频译码器执行图19中展示的视差向量产生过程350的所述部分(在图18中标记为 “E”)。
[0233]响应于确定当前视图不在基础视图的左边(S卩,当前视图是视图V2) (452的“否”),视频译码器可执行对时间视差向量的不同导出过程(在图18的实例中标记为“A”)。在一些实例中,在当前视图是视图V2时,视频译码器可执行图13中所示的对时间视差向量的导出过程。也就是说,如果当前视图是V2,那么调用以下过程:遵循时间相邻块的相同定义及如图13中所描述的检查次序,返回第一可用的视差运动向量作为最终视差向量。如果未找到此视差运动向量,那么可返回零视差向量(水平和垂直部分两者都被设定为O)作为视差向量。
[0234]否则,如果disVecCan含有至少一个视差向量,那么视频译码器可调用用以选择最优选的空间视差运动向量的过程且返回。也就是说,响应于确定disVecCan包含至少一个视差运动向量(450的“是”),视频译码器可确定当前视图是否在基础视图的左边(454)。换句话说,视频译码器可确定当前视图是否为视图VI。响应于确定当前视图在基础视图的左边(454的“是”),为了 AMVP模式及视图间残差预测,视频译码器可基于disVecCan中具有最小水平值的视差运动向量来确定当前PU的视差向量(456)。换句话说,如果当前视图是VI,那么返回在disVecCan中的所有条目中具有最小视差值的视差向量。
[0235]否则,响应于确定当前视图不在基础视图的左边(454的“否”),为了 AMVP模式及视图间残差预测,视频译码器可基于disVecCan中具有最大水平值的视差运动向量来确定当前I3U的视差向量(458)。换句话说,如果当前视图是视图V2,那么返回在disVecCan中的所有条目中具有最大视差值的视差向量。
[0236]图19是说明图15、16及17的视差向量产生过程350的实例性接续部分的流程图。如图19的实例中所说明,视频译码器可初始化当前候选图片指示符,以使得当前候选图片指示符指示来自当前视图的位于同一地点的参考图片(500)。如果当前切片(S卩,含有当前PU的切片)在B切片中且当前切片的切片标头中的collocated_from_10_flag语法元素指示位于同一地点的参考图片在RefPicListl中,那么位于同一地点的参考图片可为RefPicListl中的由切片标头的collocated_ref_idx语法元素指示的位置处的参考图片。否则,如果当前切片是P切片或当前图片是B切片且当前切片的切片标头中的collocated_from_10_flag语法元素指示位于同一地点的参考图片在RefPicListO中,那么位于同一地点的参考图片可为RefPicListO中的由切片标头的collocated_ref_idx语法元素指示的位置处的参考图片。由当前候选图片指示符指示的候选图片可在本文中被称作当前候选图片。
[0237]此外,视频译码器可确定是否所有候选图片已被检查(502)。在视频译码器尚未检查所有候选图片时,视频译码器可检查当前候选图片。在视频译码器检查当前候选图片时,视频译码器可检查当前候选图片的CPU区、CLCU区及BR区。为了检查当前候选图片的候选区,响应于确定视频译码器尚未检查所有候选图片(502的“否”),视频译码器可初始化当前候选区指示符以使得当前候选区指示符指示根据候选区检查次序的第一候选区(504)。由候选区指示符指示的候选区可在本文中被称作当前候选区。候选区检查次序可为如下:CPU区、CLCU区及BR区。
[0238]在初始化当前候选区指示符之后,视频译码器可确定视频译码器是否已检查当前候选图片的所有候选区(506)。响应于确定视频译码器尚未检查当前候选图片的所有候选区(506的“否”),视频译码器可确定当前候选区是否与视差运动向量相关联(508)。在当前候选区覆盖一个以上16X 16分区时,以光栅扫描次序扫描当前候选区中的每一 16X 16分区的左上方4X4块。在覆盖当前候选区的16X 16分区的左上方4X4块的PU具有可用的视差运动向量时,视频译码器可确定PU的视差运动向量是与当前候选区相关联的视差运动向量。否则,在当前候选区不覆盖一个以上16X16分区时,视频译码器可选择当前候选区的左上方4X4块以用于视差向量导出。也就是说,在覆盖当前候选区的左上方4X4块的PU具有视差运动向量的情况下,视频译码器可确定此视差运动向量是与当前候选区相关联的视差运动向量。
[0239]响应于确定当前候选区与视差运动向量相关联(508的“是”),视频译码器可确定视差运动向量的水平值是否小于或等于O (510)。响应于确定视差运动向量的水平值小于或等于0(510的“是”),为了 AMVP模式及视图间残差预测,视频译码器可基于与当前候选区相关联的视差运动向量来确定当前PU的视差向量(512)。
[0240]否则,响应于确定视差运动向量的水平值不小于或等于0(510的“否”)或响应于确定当前候选区不与视差运动向量相关联(508的“否”),视频译码器可将当前候选区指示符设定为根据候选区检查次序的下一候选区(514)。视频译码器可随后再次确定是否已检查当前候选图片的所有候选区(506)。
[0241]响应于确定当前候选图片的所有候选区已被检查(506的“是”),视频译码器可将当前候选图片指示符设定为根据候选图片检查次序的下一候选图片(516)。视频译码器可根据剩余候选图片的参考索引以递升次序检查剩余的候选图片。在一个参考索引对应于Ref Pi cLi StO中的图片且还对应于Ref Pi cLi st I中的图片时,视频译码器可检查RefPicListX中的参考图片,之后检查RefPicListY中的参考图片,其中X等于collocated_from_10_flag且Y等于1_X。在设定当前候选图片指示符之后,视频译码器可再次确定视频译码器是否已检查所有候选图片(502)。
[0242]响应于确定视频译码器已检查所有候选图片(502的“是”),为了 AMVP模式及视图间残差预测,视频译码器可将零视差向量用作当前PU的视差向量(518)。零视差向量可为水平和垂直部分两者都被设定为O的视差向量。
[0243]以此方式,如果当前视图是VI,那么调用以下过程。遵循时间相邻块的相同定义及如图13中所描述的相同检查次序,返回具有小于或等于O的水平值的第一可用的视差运动向量作为最终视差向量。如果未找到此视差运动向量,那么可返回零视差向量(水平和垂直部分两者都被设定为O)作为视差向量。
[0244]图20是说明根据本发明的一或多种技术的视频编码器20的实例性操作550的流程图。在图20的实例中,视频编码器20可使用第一视差向量导出过程确定第一视差向量(552)。视频译码器20可使用第二视差向量导出过程确定第二视差向量,其中所述第一视差向量导出过程不同于所述第二视差向量导出过程(554)。另外,视频编码器20可使用第一视差向量以确定用于当前I3U的一组MVP候选者中的一 MVP候选者(556)。另外,视频编码器20可使用第二视差向量来确定残余数据(558)。此外,视频编码器20可产生包含指示当前PU的残余数据及所述组MVP候选者中的所选择的MVP候选者的数据的位流(560)。
[0245]图21是说明根据本发明的一或多种技术的视频解码器30的实例性操作600的流程图。在图21的实例中,视频解码器30可使用第一视差向量导出过程确定第一视差向量(602)。另外,视频解码器30可使用第二视差向量导出过程确定第二视差向量。第一视差向量导出过程可不同于第二视差向量导出过程¢04)。此外,视频解码器30可使用第一视差向量以确定用于当前预测单元(PU)的一组MVP候选者中的一 MVP候选者¢06)。视频解码器30使用第二视差向量来确定残余数据¢08)。另外,视频解码器30可部分基于所述残余数据及所述组MVP候选者中的所选择的MVP候选者而产生经重构图片的一或多个块(610)。
[0246]在一或多个实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,那么所述功能可作为一或多个指令或代码存储在计算机可读媒体上或经由计算机可读媒体进行传输且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体等有形媒体)或通信媒体,通信媒体包含促进(例如)根据通信协议将计算机程序从一处传递到另一处的任何媒体。以此方式,计算机可读媒体一般可对应于(I)非暂时性的有形计算机可读存储媒体或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索指令、代码和/或数据结构来用于实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
[0247]举例来说且并非限制,所述计算机可读媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,快闪存储器,或可用于存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波的无线技术从网站、服务器或其它远程源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波的无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它瞬时媒体,而是针对于非瞬时的、有形存储媒体。如本文中所使用,磁盘及光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常磁性地复制数据,而光盘使用激光光学地复制数据。以上各者的组合也应包含在计算机可读媒体的范围内。
[0248]可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行所述指令。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可提供于经配置以用于编码及解码的专用硬件单元和/或软件单元内,或并入组合式编解码器中。并且,可将所述技术完全实施于一或多个电路或逻辑元件中。
[0249]本发明的技术可实施于广泛多种装置或设备中,包含无线手持机、集成电路(IC)或IC组(例如,芯片组)。本发明中描述各种组件、模块或单元来强调经配置以执行所揭示的技术的装置的若干功能性方面,但不一定需要通过不同的硬件单元来实现。而是,如上文所描述,各种单元可联合合适的软件和/或固件而组合于编解码器硬件单元中或通过互操作的硬件单元的集合(包含如上文所描述的一或多个处理器)来提供。
[0250]已描述了各种实例。这些及其它实例属于所附权利要求书的范围内。
【权利要求】
1.一种对视频数据进行解码的方法,所述方法包括: 使用第一视差向量导出过程确定第一视差向量; 使用第二视差向量导出过程确定第二视差向量,其中所述第一视差向量导出过程不同于所述第二视差向量导出过程; 使用所述第一视差向量来确定当前预测单元PU的一组运动向量预测MVP候选者中的一 MVP候选者; 使用所述第二视差向量来确定残余数据;及 部分基于所述残余数据及所述组MVP候选者中的所选择的MVP候选者而产生经重构图片的一或多个块。
2.根据权利要求1所述的方法,其中确定所述第一视差向量包括依据是使用第一模式还是第二模式对所述当前PU的运动信息进行编码,而使用不同的视差向量导出过程来确定所述第一视差向量。
3.根据权利要求2所述的方法,其进一步包括: 从位流获得候选者索引; 产生所述组MVP候选者; 至少部分基于所述候选者索引来确定所述组MVP候选者中的所述所选择的MVP候选者,其中在所述当前PU的所述运动信息是使用所述第一模式编码时,所述所选择的MVP候选者指定所述当前PU的运动向量 '及 在所述当前PU的所述运动信息是使用所述第二模式编码时: 从所述位流获得所述当前PU的运动向量差MVD ;及 至少部分基于由所述所选择的MVP候选者指示的运动向量及所述MVD来确定所述当前PU的所述运动向量。
4.根据权利要求1所述的方法,其进一步包括: 至少部分基于所述所选择的MVP候选者来确定所述当前的预测性块;及 至少部分基于所述当前PU的所述预测性块及所述残余数据来产生经重构块。
5.一种对视频数据进行编码的方法,所述方法包括: 使用第一视差向量导出过程确定第一视差向量; 使用第二视差向量导出过程确定第二视差向量,其中所述第一视差向量导出过程不同于所述第二视差向量导出过程; 使用所述第一视差向量来确定当前预测单元PU的一组运动向量预测MVP候选者中的一 MVP候选者; 使用所述第二视差向量来确定残余数据;及 产生包含指示所述当前PU的所述残余数据及所述组MVP候选者中的所选择的MVP候选者的数据的位流。
6.根据权利要求5所述的方法,其中确定所述第一视差向量包括依据是使用第一模式还是第二模式对所述当前PU的运动信息进行编码,而使用不同的视差向量导出过程来确定所述第一视差向量。
7.根据权利要求6所述的方法,其进一步包括: 产生所述组MVP候选者; 产生包含指示所述组MVP候选者中的所述所选择的MVP候选者的候选者索引的位流,其中在所述当前PU的所述运动信息是使用所述第一模式编码时,所述所选择的MVP候选者指定所述当前PU的运动向量 '及 在所述当前PU的所述运动信息是使用所述第二模式编码时,在所述位流中包含指示所述当前PU的运动向量差MVD的数据,所述当前的所述MVD指示由所述所选择的MVP候选者指示的运动向量与所述当前PU的运动向量之间的差。
8.一种视频译码器,其包括一或多个处理器,所述一或多个处理器经配置以: 使用第一视差向量导出过程确定第一视差向量; 使用第二视差向量导出过程确定第二视差向量,其中所述第一视差向量导出过程不同于所述第二视差向量导出过程; 使用所述第一视差向量来确定当前预测单元PU的一组运动向量预测MVP候选者中的一 MVP候选者;及 使用所述第二视差向量来确定残余数据。
9.根据权利要求8所述的视频译码器,其中所述一或多个处理器经配置以依据是使用第一模式还是第二模式对所述当前PU的运动信息进行编码,而使用不同的视差向量导出过程来确定所述第一视差向量。
10.根据权利要求9所述的视频译码器,其中所述一或多个处理器经配置以: 从位流获得候选者索引; 产生所述组MVP候选者; 至少部分基于所述候选者索引来确定所述组MVP候选者中的所选择的MVP候选者,其中在所述当前PU的所述运动信息是使用所述第一模式编码时,所述所选择的MVP候选者指定所述当前PU的运动向量 '及 在所述当前PU的所述运动信息是使用所述第二模式编码时: 从所述位流获得所述当前PU的运动向量差MVD ;及 至少部分基于由所述所选择的MVP候选者指示的运动向量及所述MVD来确定所述当前PU的所述运动向量。
11.根据权利要求9所述的视频译码器,其中所述一或多个处理器经配置以: 产生所述组MVP候选者; 产生包含指示所述组MVP候选者中的所述所选择的MVP候选者的候选者索引的位流,其中在所述当前PU的所述运动信息是使用所述第一模式编码时,所述所选择的MVP候选者指定所述当前PU的运动向量;及 在所述当前PU的所述运动信息是使用所述第二模式编码时,在所述位流中包含指示所述当前PU的MVD的数据,所述当前的所述MVD指示由所述所选择的MVP候选者指示的运动向量与所述当前PU的运动向量之间的差。
12.根据权利要求8所述的视频译码器,其中所述一或多个处理器经配置以: 至少部分基于所述所选择的MVP候选者来确定所述当前的预测性块;及 至少部分基于所述当前PU的所述预测性块及所述残余数据来产生经重构块。
13.根据权利要求8所述的视频译码器,其中所述一或多个处理器对视频数据进行编码。
14.根据权利要求8所述的视频译码器,其中所述一或多个处理器对视频数据进行解码。
15.一种视频译码器,其包括: 用于使用第一视差向量导出过程确定第一视差向量的装置; 用于使用第二视差向量导出过程确定第二视差向量的装置,其中所述第一视差向量导出过程不同于所述第二视差向量导出过程; 用于使用所述第一视差向量来确定当前预测单元PU的一组运动向量预测MVP候选者中的一 MVP候选者的装置;及 用于使用所述第二视差向量来确定残余数据的装置。
16.根据权利要求15所述的视频译码器,其进一步包括用于依据是使用第一模式还是第二模式对所述当前PU的运动信息进行编码而使用不同的视差向量导出过程来确定所述第一视差向量的装置。
17.根据权利要求16所述的视频译码器,其进一步包括: 用于从位流获得候选者索引的装置; 用于产生所述组MVP候选者的装置; 用于至少部分基于所述候选者索引来确定所述组MVP候选者中的所选择的MVP候选者的装置,其中在所述当前PU的所述运动信息是使用所述第一模式编码时,所述所选择的MVP候选者指定所述当前I3U的运动向量; 用于在所述当前PU的所述运动信息是使用所述第二模式编码时从所述位流获得所述当前PU的运动向量差MVD的装置;及 用于在所述当前PU的所述运动信息是使用所述第二模式编码时至少部分基于由所述所选择的MVP候选者指示的运动向量及所述MVD来确定所述当前PU的所述运动向量的装置。
18.根据权利要求16所述的视频译码器,其进一步包括: 用于产生所述组MVP候选者的装置; 用于产生包含指示所述组MVP候选者中的所述所选择的MVP候选者的候选者索引的位流的装置,其中在所述当前PU的所述运动信息是使用所述第一模式编码时,所述所选择的MVP候选者指定所述当前I3U的运动向量;及 用于在所述当前PU的所述运动信息是使用所述第二模式编码时在所述位流中包含指示所述当前PU的MVD的数据的装置,所述当前PU的所述MVD指示由所述所选择的MVP候选者指示的运动向量与所述当前PU的运动向量之间的差。
19.一种其上存储有指令的计算机可读存储媒体,所述指令在被执行时致使视频译码器: 使用第一视差向量导出过程确定第一视差向量; 使用第二视差向量导出过程确定第二视差向量,其中所述第一视差向量导出过程不同于所述第二视差向量导出过程; 使用所述第一视差向量来确定当前预测单元PU的一组运动向量预测MVP候选者中的一 MVP候选者;及 使用所述第二视差向量来确定残余数据。
20.根据权利要求19所述的计算机可读存储媒体,其中所述指令进一步配置视频译码器以依据是使用第一模式还是第二模式对所述当前PU的运动信息进行编码,而使用不同的视差向量导出过程来确定所述第一视差向量。
21.根据权利要求20所述的计算机可读存储媒体,其中所述指令进一步配置所述视频译码器以: 从位流获得候选者索引; 产生所述组MVP候选者; 至少部分基于所述候选者索引来确定所述组MVP候选者中的所选择的MVP候选者,其中在所述当前PU的所述运动信息是使用所述第一模式编码时,所述所选择的MVP候选者指定所述当前I3U的运动向量; 在所述当前PU的所述运动信息是使用所述第二模式编码时,从所述位流获得所述当前PU的运动向量差MVD ;及 在所述当前PU的所述运动信息是使用所述第二模式编码时,至少部分基于由所述所选择的MVP候选者指示的运动向量及所述MVD来确定所述当前PU的所述运动向量。
22.根据权利要求20所述的计算机可读存储媒体,其中所述指令进一步配置视频译码器以: 产生所述组MVP候选者; 产生包含指示所述组MVP候选者中的所选择的MVP候选者的候选者索引的位流,其中在所述当前PU的所述运动信息是使用所述第一模式编码时,所述所选择的MVP候选者指定所述当前PU的运动向量 '及 在所述当前PU的所述运动信息是使用所述第二模式编码时,在所述位流中包含指示所述当前PU的MVD的数据,所述当前的所述MVD指示由所述所选择的MVP候选者指示的运动向量与所述当前PU的运动向量之间的差。
【文档编号】H04N19/176GK104365103SQ201380031453
【公开日】2015年2月18日 申请日期:2013年6月14日 优先权日:2012年6月15日
【发明者】陈颖, 张莉 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1