CN105122812A - 用于三维(3d)视频译码的高级合并模式 - Google Patents

用于三维(3d)视频译码的高级合并模式 Download PDF

Info

Publication number
CN105122812A
CN105122812A CN201480019480.4A CN201480019480A CN105122812A CN 105122812 A CN105122812 A CN 105122812A CN 201480019480 A CN201480019480 A CN 201480019480A CN 105122812 A CN105122812 A CN 105122812A
Authority
CN
China
Prior art keywords
candidate
motion vector
vector
block
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480019480.4A
Other languages
English (en)
Other versions
CN105122812B (zh
Inventor
维贾伊拉加哈万·提鲁马莱
张莉
陈颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN105122812A publication Critical patent/CN105122812A/zh
Application granted granted Critical
Publication of CN105122812B publication Critical patent/CN105122812B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

作为视频编码过程或视频解码过程的部分,视频译码器可确定视频数据的当前块的空间相邻块当中的第一可用视差运动向量。此外,所述视频译码器可使所述第一可用视差运动向量的水平分量移位以导出经移位视差运动向量候选者DSMV。所述视频译码器可将所述DSMV添加到合并候选者列表中。

Description

用于三维(3D)视频译码的高级合并模式
本申请案主张2013年4月4日申请的第61/808,562号美国临时申请案、2013年6月25日申请的第61/839,287号美国临时专利申请案和2013年7月13日申请的第61/845,985号美国临时专利申请案的权益,以上申请案中的每一者的整个内容以引入的方式并入本文中。
技术领域
本发明涉及视频译码。
背景技术
可将数字视频能力并入到多种多样的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频串流装置及其类似者。数字视频装置实施视频译码技术,例如由MPEG-2、MPEG-4、ITU-TH.263或ITU-TH.264/MPEG-4第10部分高级视频译码(AVC)所定义的标准、目前正在开发的高效率视频译码(HEVC)标准及这些标准的扩展中所描述的视频译码技术。视频装置可通过实施此些视频译码技术而更有效地发射、接收、编码、解码和/或存储数字视频信息。
视频译码技术包含空间(图片内)预测和/或时间(图片间)预测以减少或去除视频序列中固有的冗余。对于基于块的视频译码,视频切片(即,视频帧或视频帧的一部分)可分割成视频块,所述视频块还可被称作树块、译码单元(CU)和/或译码节点。图片的经帧内编码(I)切片中的视频块是使用相对于同一图片中的相邻块中的参考样本的空间预测来编码。图片的经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
空间或时间预测导致对块的预测块进行译码。残余数据表示待译码的原始块与预测块之间的像素差。经帧间译码块是根据指向形成预测性块的参考样本块的运动向量及指示经译码块与预测性块之间的差的残余数据编码的。经帧内译码块是根据帧内译码模式及残余数据来编码。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,接着可以对残余变换系数进行量化。可扫描最初用二维阵列布置的经量化变换系数,以便产生变换系数的一维向量,且可应用熵译码以实现更多的压缩。
发明内容
一般来说,本发明描述用以进一步改善3D-HEVC或其它视频译码标准中用于合并模式的运动向量预测的译码效率的系统和方法。作为视频编码过程或视频解码过程的部分,视频译码器(例如,视频编码器或视频解码器)可构造合并候选者列表。作为构造合并候选者列表的部分,视频译码器可确定视频数据的当前块的空间相邻块当中的第一可用视差运动向量。第一可用视差运动向量可对应于第一参考图片列表(例如,RefPicList0)。此外,视频译码器可使第一可用视差运动向量的水平分量移位以导出视差移位运动向量(DSMV)候选者。视频译码器可将DSMV候选者添加到合并候选者列表中。在一些实例中,视频译码器使用合并候选者列表中的选定候选者的运动信息以确定当前块的预测性块。
此外,在本发明的一些实例中,视频译码器可基于当前块的视差向量确定初始视图间预测运动向量候选者(IPMVC)。另外,视频译码器可通过使当前块的视差向量水平地移位第一值且垂直地移位第二值而确定经移位的视差向量。视频译码器可使用经移位的视差向量来定位参考视图中的对应块。视频译码器可随后产生指示对应块的运动信息的额外IPMVC。在一些实例中,视频译码器在额外IPMVC并不匹配初始IPMVC的情况下将所述额外IPMVC而不是DSMV候选者插入到合并候选者列表中。换句话说,视频译码器可在额外IPMVC并不匹配初始IPMVC的情况下在合并候选者列表中包含额外IPMVC,且可在额外IPMVC不可用的情况下在合并候选者列表中包含DSMV候选者。
在一个实例中,本发明描述一种对视频数据进行译码的方法,所述方法包括:确定所述视频数据的当前块的空间相邻块当中的第一可用视差运动向量,所述第一可用视差运动向量对应于第一参考图片列表;使所述第一可用视差运动向量的水平分量移位以导出DSMV候选者;以及将所述DSMV候选者添加到合并候选者列表中。
在另一实例中,本发明描述一种设备,其包括:存储器,其存储视频数据,以及一或多个处理器,其经配置以:确定所述视频数据的当前块的空间相邻块当中的第一可用视差运动向量,所述第一可用视差运动向量对应于第一参考图片列表;使所述第一可用视差运动向量的水平分量移位以导出DSMV候选者;以及将所述DSMV候选者添加到合并候选者列表中。
在另一实例中,本发明描述一种设备,其包括:用于确定视频数据的当前块的空间相邻块当中的第一可用视差运动向量的装置,所述第一可用视差运动向量对应于第一参考图片列表;用于使所述第一可用视差运动向量的水平分量移位以导出DSMV候选者的装置;以及用于将所述DSMV候选者添加到合并候选者列表中的装置。
在另一实例中,本发明描述一种具有存储于其上的指令的非暂时性计算机可读数据存储媒体,所述指令当执行时致使一或多个处理器:确定所述视频数据的当前块的空间相邻块当中的第一可用视差运动向量,所述第一可用视差运动向量对应于第一参考图片列表;使所述第一可用视差运动向量的水平分量移位以导出DSMV候选者;以及将所述DSMV候选者添加到合并候选者列表中。
在附图和下文描述中陈述本发明的一或多个实例的细节。其它特征、目标和优点将从所述描述、图式以及权利要求书而显而易见。
附图说明
图1为说明可利用本发明的帧间预测技术的实例视频编码和解码系统的框图。
图2展示可在合并模式和高级运动向量预测(AMVP)模式两者中使用的候选块的实例集合。
图3是说明用于多视图视频的实例解码次序的概念图。
图4是说明用于多视图视频的实例预测结构的概念图。
图5是说明用于3维视频的纹理及深度值的概念图。
图6是说明用于相邻块视差向量导出的时间相邻块的概念图。
图7是说明在基于块的视图合成预测中从参考视图的深度块导出的概念图。
图8是说明经视图间预测的运动向量候选者的实例导出过程的概念图。
图9是指示l0CandIdx和l1CandIdx的实例指定的实例表。
图10是说明用于合并/跳过模式的额外视图间候选者的导出的概念图。
图11是说明高级残余预测的预测结构的概念图。
图12是说明可实施本发明的帧间预测技术的视频编码器的实例的框图。
图13是说明可实施本发明的帧间预测技术的视频解码器的实例的框图。
图14A是说明根据本发明的一或多个技术的视频编码器的实例操作的流程图。
图14B是说明根据本发明的一或多个技术的视频解码器的实例操作的流程图。
图15是说明根据本发明的一或多个技术的用以构造当前块的合并候选者列表的实例操作的第一部分的流程图。
图16是说明根据本发明的一或多个技术的用以构造当前块的合并候选者列表的图15的实例操作的第二部分的流程图。
图17是说明根据本发明的一或多个技术的用以确定额外合并候选者的实例操作的第一部分的流程图。
图18是说明根据本发明的一或多个技术的用以确定额外合并候选者的实例操作的第二部分的流程图。
图19是说明根据本发明的一或多个技术的用以确定额外合并候选者的实例操作的第三部分的流程图。
图20是说明根据本发明的一或多个技术的视频译码器的实例操作的流程图。
具体实施方式
本发明描述用于改进多视图及/或多视图加深度(例如,3D-HEVC)视频译码中的视图间预测的效率及质量的技术。确切地说,本发明提出用于改善合并模式运动向量预测的译码效率的技术。一般来说,合并模式是用于增加视频编码器能够用信号表示运动信息的效率的技术。当视频编码器使用合并模式对当前块进行编码时,视频编码器产生包括一或多个合并候选者的合并候选者列表。合并候选者列表中的每一合并候选者可指示不同运动信息。举例来说,合并候选者中的一或多者可指定表示当前块的空间或时间相邻者的块的运动信息。此外,在多视图译码和3维视频译码中,合并候选者列表可包含视图间预测运动向量候选者(IPMVC)。为了确定IPMVC,视频编码器可使用当前块的视差向量以识别视图间参考图片中的对应块。如果对应块未经帧内预测且未经视图间预测,且具有指示与当前块不同的输出时间实例中的参考图片中的位置的一或多个运动向量,那么IPMVC可指定对应块的运动信息。
视频编码器可从合并候选者列表选择合并候选者且使用选定合并候选者的运动信息以确定当前块的预测性块。视频编码器可使用预测性块以产生残余数据。视频编码器可在位流中包含表示残余数据的数据。另外,视频编码器可在位流中包含表示选定合并候选者的索引的数据。
当对当前块进行解码时,视频解码器可构造同一合并候选者列表且可使用索引以确定选定合并候选者。视频解码器可随后使用选定合并候选者的运动信息以确定当前块的预测性块。视频解码器可使用预测性块连同残余数据一起来重构当前块的像素值。
在一些情况下,由合并候选者列表中的合并候选者指定的运动信息并不充分准确,尤其是当正使用多视图或3维视频译码时。因此,位流大小可增加。在一些情况下,合并候选者列表中的合并候选者不充分准确,因为用以导出IPMVC的视差向量不充分准确。换句话说,不准确的视差向量可导致不准确的经视图间预测的运动向量候选者及视图间视差运动向量候选者。此外,当前块的视差向量可基于与当前块空间相邻的块的一或多个视差运动向量而确定。在产生合并候选者列表的同时并未良好地利用空间相邻块的视差运动向量可与当前块的视差运动向量高度相关的事实。
本发明的技术可解决这些不足中的一或多者。举例来说,视频译码器(例如,视频编码器或视频解码器)可确定视频数据的当前块的空间相邻块当中的第一可用视差运动向量,所述第一可用视差运动向量对应于第一参考图片列表。此外,视频译码器可使第一可用视差运动向量的水平分量移位以导出视差移位运动向量(DSMV)候选者。视频译码器可随后将DSMV候选者添加到合并候选者列表中。以此方式确定的DSMV候选者可具有增加的准确性且因此得到较小位流大小。
图1是说明可利用本发明的技术的实例视频编码和解码系统10的框图。如图1中所示,系统10包含源装置12,其提供在稍后时间将由目的地装置14解码的经编码视频数据。确切地说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12和目的地装置14可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置,或类似物。在一些情况下,源装置12和目的地装置14可经装备以用于无线通信。
目的地装置14可经由计算机可读媒体16接收待解码的经编码的视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,计算机可读媒体16可包括使得源装置12能够实时地将经编码视频数据直接发射到目的地装置14的通信媒体。经编码视频数据可根据例如无线通信协议等通信标准加以调制,且发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。通信媒体可能形成基于包的网络(例如局域网、广域网或全球网络,例如因特网)的部分。通信媒体可包含路由器、交换器、基站或任何其它可用于促进从源装置12到目的地装置14的通信的设备。
在一些实例中,经编码数据可以从输出接口22输出到存储装置。类似地,可通过输入接口从存储装置存取经编码数据。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置可以对应于文件服务器或可存储源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置存取所存储的视频数据。文件服务器可为能够存储经编码的视频数据且将经编码的视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、文件传输协议(FTP)服务器、网络附接存储(NAS)装置,或本地磁盘驱动器。目的地装置14可经由任何标准数据连接(包含因特网连接)来存取经编码的视频数据。此可包含适合于存取存储于文件服务器上的经编码的视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或两者的组合。经编码视频数据从存储装置的发射可能是流式传输发射、下载发射或两者的组合。
本发明的技术不必限于无线应用或设定。所述技术可以应用于支持多种多媒体应用中的任一者的视频译码,例如空中协议电视广播、有线电视发射、卫星电视发射、因特网流式视频传输(例如,动态自适应HTTP流式传输(DASH))、经编码到数据存储媒体上的数字视频,存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射,以支持例如视频串流、视频回放、视频广播和/或视频电话等应用。
在图1的实例中,源装置12包含视频源18、深度估计单元19、视频编码器20及输出接口22。目的地装置14包含输入接口28、视频解码器30、基于深度图像的再现(DIBR)单元31及显示装置32。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置12可以从外部视频源18(例如,外部摄像机)接收视频数据。同样地,目的地装置14可以与外部显示装置介接,而不是包含集成显示装置。
图1的说明的系统10只是一个实例。本发明的技术可由任何数字视频编码及/或解码装置执行。尽管本发明的技术一般通过视频编码装置来执行,但是所述技术还可通过视频编码器/解码器(通常被称作“编解码器”)来执行。此外,本发明的技术还可由视频预处理器执行。源装置12及目的地装置14仅为此类译码装置的实例,其中源装置12产生用于发射到目的地装置14的经译码视频数据。在一些实例中,装置12、14可以大体上对称的方式操作以使得装置12、14中的每一者包含视频编码和解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频传输以例如用于视频流式传输、视频回放、视频广播或视频电话。
源装置12的视频源18可包含视频俘获装置,例如相机、含有先前所俘获视频的视频档案和/或用于从视频内容提供者接收视频的视频馈送接口。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、经存档视频与计算机产生的视频的组合。在一些情况下,如果视频源18是视频摄像机,那么源装置12及目的地装置14可形成所谓的摄像机电话或视频电话。然而,如上文所提及,本发明中所描述的技术可大体上适用于视频译码,且可应用于无线和/或有线应用。在每一情况下,视频编码器20可对所俘获、预先俘获或计算机产生的视频进行编码。输出接口22可随后将经编码视频信息输出到计算机可读媒体16上。
视频源18可将视频数据的多个视图提供到视频编码器20。举例来说,视频源18可对应于相机阵列,所述相机各自具有相对于所拍摄的特定场景的唯一水平位置。或者,视频源18可例如使用计算机图形产生来自不同水平相机视角的视频数据。深度估计单元19可经配置以确定对应于纹理图像中的像素的深度像素的值。举例来说,深度估计单元19可表示声音导航与测距(SONAR)单元、光检测与测距(LIDAR)单元或能够在记录场景的视频数据时实质上同时直接确定深度值的其它单元。
另外或替代地,深度估计单元19可经配置以通过比较在实质上相同时间从不同水平摄像机视角俘获的两个或两个以上图像来间接计算深度值。通过计算图像中的实质上类似像素值之间的水平视差,深度估计单元19可近似估计场景中的各种对象的深度。在一些实例中,深度估计单元19与视频源18功能上集成。举例来说,在视频源18产生计算机图形图像时,深度估计单元19可例如使用用以再现纹理图像的像素及对象的z坐标提供用于图形对象的实际深度图。
计算机可读媒体16可包含瞬时媒体,例如无线广播或有线网络发射,或存储媒体(也就是说,非暂时性存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或另一计算机可读媒体。在一些实例中,网络服务器(未图示)可以从源装置12接收经编码视频数据,并且例如经由网络发射将经编码视频数据提供到目的地装置14。类似地,媒体生产设施(例如光盘冲压设施)的计算装置可以接收由源装置12产生的经编码视频数据并且生产含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可理解为包含各种形式的一或多个计算机可读媒体。
目的地装置14的输入接口28可从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含由视频编码器20定义的也供视频解码器30使用的语法信息,所述语法信息包含描述块及其它经译码单元(例如,图片群组(GOP))的特性及/或处理的语法元素。显示装置32向用户显示经解码视频数据。显示装置32可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器,或另一类型的显示装置。在一些实例中,显示装置32包括能够同时或大体上同时显示两个或两个以上视图例如以为观看者产生3维(3D)视觉效应的装置。
目的地装置14的DIBR单元31可使用从视频解码器30接收的经解码视图的纹理及深度信息再现合成视图。举例来说,DIBR单元31可依据对应深度图中的像素的值确定纹理图像的像素数据的水平视差。DIBR单元31接着可通过使纹理图像中的像素向左或向右偏移所确定的水平视差而产生合成图像。以此方式,显示装置32可以任何组合显示可对应于经解码视图及/或合成视图的一或多个视图。
尽管图1中未展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件和软件以处置对共同数据流或单独数据流中的音频和视频两者的编码。如果适用的话,多路复用器-多路分用器单元可符合ITUH.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
视频编码器20和视频解码器30各自可实施为例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合等多种合适编码器电路中的任一者。当部分以软件实施所述技术时,装置可将用于所述软件的指令存储于合适非暂时性计算机可读媒体中并使用一或多个处理器用硬件执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(CODEC)的部分。包含视频编码器20及/或视频解码器30的装置可包括集成电路、微处理器及/或无线通信装置,例如蜂窝式电话。
一般来说,本发明的技术涉及基于高级编解码器的多视图及/或3D视频译码。本发明的技术可应用于多种不同视频译码标准中的任一者。举例来说,视频编码器20和视频解码器30可根据视频压缩标准操作。实例视频译码标准包含ITU-TH.261、ISO/IECMPEG-1视觉、ITU-TH.262或ISO/IECMPEG-2视觉、ITU-TH.263、ISO/IECMPEG-4视觉,以及其它专有或行业标准或此些标准的扩展。在一些实例中,视频编码器20和视频解码器30根据ITU-TH.264标准(替代地称为MPEG-4第10部分高级视频译码(AVC)(即,H.264/AVC))或H.264/AVC的扩展(例如ITU-TH.264/AVC的多视图译码(MVC)扩展和ITU-TH.264/AVC的可缩放视频译码(SVC)扩展)而操作。
ITU-T视频译码专家组(VCEG)连同ISO/IEC移动图片专家组(MPEG)制定了ITU-TH.264/MPEG-4(AVC)标准作为被称为联合视频小组(JVT)的集体伙伴关系的产品。在一些方面中,本发明中描述的技术可应用到大体符合H.264/AVC标准的装置。H.264/AVC标准描述于ITU-T研究组的日期为2005年3月的“ITU-T推荐H.264,用于通用视听服务的高级视频译码”(AdvancedVideoCodingforgenericaudiovisualservices)中,所述标准在本文中可被称作H.264标准或H.264规范或H.264/AVC标准或规范。联合视频组(JVT)持续致力于对H.264/AVC的扩展。
此外,存在一种新的视频译码标准,即高效率视频译码(HEVC),其正由ITU-T视频译码专家组(VCEG)和ISO/IEC动画专家组(MPEG)的视频译码联合合作小组(JCT-VC)进行开发。当前,VCEG和MPEG的3D视频译码联合合作小组(JCT-3C)正在开发基于HEVC的3DV标准。基于HEVC的3DV标准的标准化努力的部分包含基于HEVC的多视图视频编解码器(MV-HEVC)的标准化,且另一部分包含基于HEVC的3D视频译码(3D-HEVC)的标准化。MV-HEVC中提供仅高级语法(HLS)改变,以使得HEVC中的译码单元(CU)或预测单元(PU)中没有模块需要再设计,且可完全再用于MV-HEVC。对于3D-HEVC,可包含且支持用于纹理及深度视图两者的新译码工具,包含在译码单元/预测单元层级中的那些工具。在一些实例中,视频编码器20和视频解码器30根据HEVC、MV-HEVC或3D-HEVC操作,且可符合HEVC测试模型(HM)。因此,本发明的技术可应用于ITU-TH.264/AVC(高级视频译码)的多视图视频译码(MVC)扩展,应用于HEVC标准的3D视频(3DV)扩展(例如,3D-HEVC)或其它译码标准。
HEVC标准化努力是基于被称作HEVC测试模型(HM)的视频译码装置的进化的模型。HM根据(例如)ITU-TH.264/AVC假设视频译码装置相对于现存装置的若干额外能力。举例来说,虽然H.264提供9种帧内预测编码模式,但HM可提供多达三十三种角度帧内预测编码模式加DC及平面模式。
布洛斯等人的“高效率视频译码(HEVC)文字规范草案8”(ITU-TSG16WP3和ISO/IECJTC1/SC29/WG11的视频译码联合合作小组(JCT-VC)第10次会议:瑞典斯德哥尔摩,2012年7月11-20日,从2014年3月26日起可从http://phenix.it-sudparis.eu/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zip下载(在本文中被称作“HEVCWD8”))是HEVC标准的草案。布洛斯等人的“高效率视频译码(HEVC)文字规范草案9”(ITU-TSG16WP3和ISO/IECJTC1/SC29/WG11的视频译码联合合作小组(JCT-VC)第11次会议:中国上海,2012年10月10-19日,从2014年3月26日起可从http://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K1003-v10.zip下载(在本文中被称作“HEVCWD9”))是HEVC标准的另一草案。布洛斯等人的“高效率视频译码(HEVC)文字规范草案10”(ITU-TSG16WP3和ISO/IECJTC1/SC29/WG11的视频译码联合合作小组(JCT-VC)第12次会议:瑞士日内瓦,2013年1月14-23日,从2013年6月25日起可从http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip下载(在本文中被称作“HEVCWD10”),其以全文引用的方式并入本文中)是HEVC标准的另一草案。
技术公司等的“3D-HEVC测试模型4”(JCT3V-D1005_spec_v1,ITU-TSG16WP3和ISO/IECJTC1/SC29/WG11的3D视频译码扩展开发联合合作小组第4次会议:韩国仁川,2013年4月20-26日,从2013年6月25日起在http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/4_Incheon/wg11/JCT3V-D1005-v1.zip可用(下文为“3D-HEVC测试模型4”))是3D-HEVC的参考软件描述以及工作草案。用于3D-HEVC的软件3D-HTM可从以下链接下载:[3D-HTM版本7.0]:https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM-7.0/。用于3D-HEVC的3D-HTM的另一版本可从以下链接下载:[3D-HTM版本5.0]:https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM-5.0/。
出于说明的目的,本发明的技术主要相对于ITU-TH.264/AVC的MVC扩展或3D-HEVC而描述。然而,本发明的技术也可应用于对用以产生三维效果的视频数据进行译码的其它标准。
一般来说,HEVC的HM的工作模型描述了视频帧或图片可分割成包含明度和色度样本两者的译码树单元(CTU)或最大译码单元(LCU)的序列。位流内的语法数据可界定LCU(其是就像素数目来说的最大译码单元)的大小。视频帧或图片可被分割成一或多个切片。切片包含译码次序的多个连续CTU。经译码切片可包括切片标头及切片数据。切片的切片标头可为包含提供关于切片的信息的语法元素的语法结构。换句话说,切片标头含有涉及切片内含有的所有视频块的数据元素。切片数据可包含切片的经译码CTU。
每一树块可根据四叉树而分裂成译码单元(CU)。总的来说,四叉树数据结构包含每个CU一个节点,其中根节点对应于所述树块。如果一个CU分裂成四个子CU,那么对应于CU的节点包含四个叶节点,其中的每一者对应于所述子CU中的一者。
四叉树数据结构的每一节点可提供用于对应的CU的语法数据。举例来说,四叉树中的节点可包含分裂旗标,从而指示对应于所述节点的所述CU是否分裂成子CU。用于CU的语法元素可以递归式定义,且可以取决于CU是否分裂成子CU。如果CU未经进一步分裂,那么将其称作叶CU。在一些实例中,叶CU的四个子CU可被称为叶CU,即使不存在原始叶CU的显式分裂时也是如此。举例来说,如果16x16大小的CU未经进一步分裂,那么尽管16x16CU从未经分裂,四个8x8子CU也将被称作叶CU。
CU具有与H.264标准的宏块类似的用途,只是CU不具有大小区别。举例来说,树块可以分裂成四个子节点(也称为子CU),且每一子节点又可以是父节点且可分裂成另外四个子节点。最终的未分裂子节点(被称作四叉树的叶节点)包括译码节点,还称为叶CU。与经译码位流相关联的语法数据可以定义树块可以分裂的最大次数,被称作最大CU深度,并且还可定义译码节点的最小大小。因此,位流还可定义最小译码单元(SCU)。本发明可使用术语“块”来在HEVC的上下文中指代CU、PU或TU中的任一者,或在其它标准的上下文中指代类似数据结构(例如,H.264/AVC中的宏块及其子块)。
CU可包含“译码节点”以及与译码节点相关联的预测单元(PU)和变换单元(TU)。“译码节点”可包括语法元素集合。CU可称为包含“译码节点”,因为CU可对应于阶层式四叉树中的节点。CU的大小对应于译码块的大小,且在一些实例中必须为正方形形状。CU的大小可以在从8x8像素直到具有最大64x64像素或更大的树块的大小的范围内。每一CU可以含有一或多个PU和一或多个TU。举例来说,与CU相关联的语法数据可描述CU分割成一或多个PU。分割模式可以在CU被跳过或经直接模式编码、经帧内预测模式编码或经帧间预测模式编码之间有区别。PU可以分割成非正方形形状。举例来说,与CU相关联的语法数据还可描述CU根据四叉树分割成一或多个TU。TU可以是正方形或非正方形(例如,矩形)形状。
HEVC标准允许根据TU变换,TU可以针对不同CU而有所不同。TU的大小通常是基于针对经分割LCU定义的给定CU内的PU的大小而设置,但是情况可能并不总是如此。TU通常与PU大小相同或小于PU。在一些实例中,对应于CU残余样本可以使用一种被称为“残余四叉树”(RQT)的四叉树结构细分成较小单元。RQT的叶节点可被称为变换单元(TU)。可以变换与TU相关联的像素差值以产生变换系数,所述变换系数可经量化。
叶CU可包含一或多个预测单元(PU)。一般来说,PU表示对应于对应CU的全部或一部分的空间区域,且可包含用于检索PU的参考样本的数据。此外,PU包含与预测有关的数据。举例来说,当PU经帧内模式编码时,用于PU的数据可包含在残余四叉树(RQT)中,残余四叉树可包含描述用于对应于PU的TU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包含界定PU的一或多个运动向量的数据。界定PU的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片,及/或运动向量的参考图片列表(例如,列表0、列表1或列表C)。
具有一或多个PU的叶CU还可包含一或多个变换单元(TU)。TU可以使用RQT(还被称作TU四叉树结构)来指定,如上文所论述。举例来说,分裂旗标可以指示叶CU是否分裂成四个TU。接着,每一变换单元可以进一步分裂成其它的子TU。当TU不进一步分裂时,其可被称为叶TU。一般来说,对于帧内译码,属于叶CU的所有叶TU共享相同的帧内预测模式。也就是说,一般应用相同帧内预测模式来计算叶CU的所有TU的预测值。对于帧内译码,视频编码器可以使用帧内预测模式针对每一叶TU计算残余值,作为CU的对应于TU的部分与原始块之间的差。TU不必限于PU的大小。因而,TU可比PU大或小。对于帧内译码,PU可与同一CU的对应叶TU位于同一地点。在一些实例中,叶TU的最大大小可以对应于对应叶CU的大小。
此外,叶CU的TU还可与相应四叉树数据结构(也称作残余四叉树(RQT))相关联。即,叶CU可包含指示叶CU如何分割成TU的四叉树。TU四叉树的根节点总体上对应于叶CU,而CU四叉树的根节点总体上对应于树块(或LCU)。未分裂的RQT的TU被称作叶TU。一般来说,除非另有陈述,否则本发明分别使用术语CU及TU来指叶CU及叶TU。
视频序列通常包含一系列视频帧或图片。图片群组(GOP)总体上包括一系列视频图片中的一或多者。GOP可包含GOP的标头、图片中的一或多者的标头或其它地方中的语法数据,其描述GOP中包含的图片的数目。图片的每一切片可包含描述用于相应切片的编码模式的切片语法数据。视频编码器20通常对各个视频切片内的视频块进行操作以便对视频数据进行编码。视频块可对应于CU内的译码节点。视频块可具有固定或变化的大小,且可根据指定译码标准而大小不同。
作为一实例,用于HEVC的HM支持各种PU大小的预测。假设特定CU的大小是2Nx2N,那么用于HEVC的HM支持2Nx2N或NxN的PU大小的帧内预测,及2Nx2N、2NxN、Nx2N或NxN的对称PU大小的帧间预测。HEVC的HM还支持用于2NxnU、2NxnD、nLx2N和nRx2N的PU大小的帧间预测的不对称分割。在不对称分割中,不分割CU的一个方向,但是另一方向分割成25%及75%。CU的对应于25%分区的部分由“n”后面接着“上方”、“下方”、“左侧”或“右侧”的指示来指示。因此,例如,“2NxnU”是指经水平地分割的2Nx2NCU,其中顶部为2Nx0.5NPU,而底部为2Nx1.5NPU。
在本发明中,“NxN”与“N乘N”可互换地使用以依据垂直及水平尺寸来指代视频块的像素尺寸,例如,16x16像素或16乘16像素。一般来说,16x16块在垂直方向上具有16个像素(y=16),且在水平方向上具有16个像素(x=16)。同样,NxN块一般在垂直方向上具有N个像素,并且在水平方向上具有N个像素,其中N表示非负整数值。块中的像素可按行和列布置。此外,块未必需要在水平方向与垂直方向上具有相同数目个像素。举例来说,块可包括NxM像素,其中M未必等于N。
在使用CU的PU的帧内预测性或帧间预测性译码之后,视频编码器20可以计算CU的TU的残余数据。PU可包括描述在空间域(还称为像素域)中产生预测性像素数据的方法或模式的语法数据,并且TU可包括在对残余视频数据应用了变换(例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换)变换域中的系数。所述残余数据可以对应于未编码图片的像素与对应于PU的预测值之间的像素差。视频编码器20可形成包含用于CU的残余数据的TU,且接着变换TU以产生用于CU的变换系数。
在进行用于产生变换系数的任何变换之后,视频编码器20可执行变换系数的量化。量化大体上是指量化变换系数以可能减少用于表示系数的数据量从而提供进一步压缩的过程。量化过程可减少与系数中的一些或全部相关联的位深度。举例来说,n位值可在量化期间向下舍入到m位值,其中n大于m。
在量化之后,视频编码器可以扫描变换系数,从包含经量化的变换系数的二维矩阵产生一维向量。扫描可经设计以将较高能量(以及因此较低频率)系数放置在阵列的前面,且将较低能量(以及因此较高频率)系数放置在阵列的后面。在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化变换系数以产生可被熵编码的串行化向量。在其它实例中,视频编码器20可执行自适应扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可以对一维向量进行熵编码。即,视频编码器20可对表示变换系数的语法元素进行熵编码。视频编码器20可使用各种熵编码技术对表示变换系数的语法元素进行熵编码,所述技术例如上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法。视频编码器还20可对与经编码的视频数据相关联的语法元素进行熵编码以供视频解码器30在对视频数据解码时使用。
为了执行CABAC,视频编码器20可以向待发射的符号指派上下文模型内的上下文。举例来说,所述上下文可与符号的相邻值是否为非零有关。为了执行CAVLC,视频编码器20可以选择用于待发射的符号的可变长度码。可变长度译码(VLC)中的码字可经构造使得相对较短码对应于更可能的符号,而较长码对应于较不可能的符号。以此方式,使用VLC可比例如对待发射的每一符号使用相等长度码字实现位节省。概率确定可基于指派给符号的上下文。
视频编码器20可输出包含形成经译码图片及相关联数据的表示的位序列的位流。所述位流可包括网络抽象层(NAL)单元的序列。NAL单元为含有NAL单元中的数据类型类型的指示及含有所述数据的呈按需要穿插有模拟阻止位的原始字节序列有效负载(RBSP)的形式的字节的语法结构。NAL单元中的每一者包含NAL单元标头且囊封RBSP。NAL单元标头可包含指示NAL单元类型代码的语法元素。由NAL单元的NAL单元标头指定的所述NAL单元类型代码指示NAL单元的类型。RBSP可为含有囊封在NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位。
不同类型的NAL单元可囊封不同类型的RBSP。举例来说,不同类型的NAL单元可囊封用于视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、经译码切片、补充增强信息(SEI)等的不同RBSP。囊封用于视频译码数据的RBSP(与用于参数集及SEI消息的RBSP相比)的NAL单元可被称为视频译码层(VCL)NAL单元。
在HEVC中,SPS可含有应用于经译码视频序列(CVS)的所有切片的信息。在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相关联的变换块。通过将用于当前CU的PU的预测性块的样本增加到当前CU的TU的变换块的对应的样本上,视频解码器30可以重构当前CU的译码块。通过重构用于图片的每个CU的译码块,视频解码器30可以重构图片。
如上文所指出,视频编码器20和视频解码器30可当对视频数据进行编码或解码时执行帧间预测。帧间预测还可包含参考图片列表构造。参考图片列表包含可用于执行运动搜索和运动估计的参考图片或参考帧。通常,B图片(双向预测图片)的第一或第二参考图片列表的参考图片列表构造包含两个步骤:参考图片列表初始化和参考图片列表重排序(修改)。参考图片列表初始化是基于POC(图片次序计数)值的次序将参考图片存储器(也被称作经解码图片缓冲器(DPB))中的参考图片放入列表中的显式机制。图片的POC值与图片的显示次序对准。参考图片列表重排序机制可将在参考图片列表初始化步骤期间放入列表中的图片的位置修改为任何新位置,或将参考图片存储器中的任何参考图片放在任何位置,即使所述图片未放入初始化列表也是如此。一些图片在参考图片列表重排序(修改)之后可放入列表中极远离初始位置的位置。然而,如果图片的位置超过列表的有效参考图片的数目,则不将所述图片视为最终参考图片列表的条目。可在每一列表的切片标头中用信号表示有效参考图片的数目。在构造参考图片列表(即RefPicList0和RefPicList1,如果可用)之后,可使用到参考图片列表的参考索引来识别参考图片列表中包含的任何参考图片。
使用帧间预测对PU进行译码可涉及计算当前块(例如,PU)与参考帧中的块之间的运动向量。可通过被称作运动估计(或运动搜索)的过程计算运动向量。举例来说,运动向量可以指示当前帧中的PU相对于参考帧的参考样本的位移。参考样本可为发现接近匹配CU的包含PU的部分的块(其依据像素差进行译码),像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异量度来确定。参考样本可出现在参考帧或参考切片内的任何地方。在一些实例中,参考样本可出现在分数像素位置处。在发现最佳地匹配当前部分的参考帧的一部分后,编码器便将当前块的当前运动向量确定为从当前块到参考帧中的匹配部分(例如,从当前块的中心到匹配部分的中心)的位置的差。
在一些实例中,视频编码器20在经编码视频位流中用信号表示每一块的运动向量。视频解码器30可使用用信号表示的运动向量执行运动补偿以便对视频数据进行解码。然而,直接用信号表示原始运动向量可导致效率不高的译码,这是因为通常需要大量位来传达信息。
因此,在一些情况下,并非直接用信号表示原始运动向量,视频编码器20可预测用于每一分区(例如,每一PU)的运动向量。在执行此运动向量预测中,视频编码器20可选择从与当前块相同的帧中的空间相邻块确定的候选运动向量的集合或从参考帧(即,除当前帧以外的帧)中位于同一地点的块确定的时间候选运动向量。视频编码器20可执行运动向量预测,且如果需要则用信号表示到参考图片的索引以预测运动向量而不是用信号表示原始运动向量,从而减少信令中的位速率。来自空间相邻块的候选运动向量向量可被称为空间MVP候选者,而来自另一参考帧中的位于同一地点的块的候选运动向量可被称为时间MVP候选者。
在HEVC标准中提出了两个不同模式或类型的运动向量预测。一个模式被称作“合并”模式。另一模式被称作高级运动向量预测(AMVP)。在合并模式中,视频编码器20经由预测语法的位流信令指示视频解码器30复制来自帧的当前块的选定运动向量候选者的运动向量、参考索引(识别给定参考图片列表中的运动向量所指向的参考帧)及运动预测方向(其识别参考图片列表(列表0或列表1),即,依据参考帧在时间上是在当前帧之前还是之后)。视频编码器20可通过在位流中用信号表示到候选运动向量列表中的索引来实现此情况。所述索引可识别候选运动向量列表中的选定的候选运动向量(即,特定空间MVP候选者或时间MVP候选者)。因此,对于合并模式,预测语法可包含识别模式(在此状况下为“合并”模式)的旗标及识别选定候选运动向量的索引。在一些情况下,候选运动向量在参考当前块的因果块中。一般来说,因果块在译码次序中发生在当前块之前。因此,视频解码器30已经解码候选运动向量。因此,视频解码器30已经接收和/或确定因果块的运动向量、参考索引和运动预测方向。因此,视频解码器30可简单地从存储器检索与因果性块相关联的运动向量、参考索引及运动预测方向且复制这些值作为当前块的运动信息。为了在合并模式中重构块,视频解码器30可使用当前块的所导出运动信息获得预测性块,且可将残余数据添加到预测性块以重构经译码块。
在AMVP中,视频编码器20通过位流信令指示视频解码器30仅复制来自候选块的运动向量,且使用复制的向量作为当前块的运动向量的预测符,且用信号表示运动向量差(MVD)。参考帧和与当前块的运动向量相关联的预测方向单独地用信号表示。MVD是当前块的当前运动向量与从候选块导出的运动向量预测符之间的差。在此情况下,视频编码器20使用运动估计可确定待译码块的实际运动向量。视频编码器20可随后确定实际运动向量与运动向量预测符之间的差作为MVD值。以此方式,视频解码器30并不如合并模式中那样使用候选运动向量的确切副本作为当前运动向量,而是可使用值可“接近”从运动估计确定的当前运动向量的候选运动向量且加上MVD以再生当前运动向量。为了在AMVP模式中重构块,解码器可添加对应残余数据以重构经译码块。
在大多数情况中,MVD需要比整个当前运动向量少的位来用信号表示。因此,AMVP可允许当前运动向量的更精确信令,同时维持优于发送整个运动向量的译码效率。相比之下,合并模式并不允许MVD的指定。因此,合并模式可牺牲运动向量信令的准确性以得到增加的信令效率(即,较少位)。用于AMVP的预测语法可包含用于所述模式的旗标(在此情况下为AMVP旗标)、用于候选块的索引、当前运动向量与来自候选块的预测运动向量之间的MVD、参考索引以及运动预测方向。
图2是展示可在合并模式和AMVP模式两者中使用的候选块120的实例集合的概念图。在图2的实例中,候选块在左下方(A0)121、左边(A1)122、左上方(B2)125、上方(B1)124和右上方(B0)123空间位置中以及时间(T)126位置中。在图2的实例中,左边候选块122邻近当前块127的左边缘。左边块122的下边缘与当前块127的下边缘对准。上方块124邻近当前块127的上边缘。上方块124的右边缘与当前块127的右边缘对准。
如上文所指出,视频译码器可在合并模式和AMVP模式中使用时间相邻块。即,另一技术涉及时间运动向量预测符(TMVP)或时间运动向量候选者。为了确定TMVP,初始地将识别位于同一地点的图片。位于同一地点的图片是来自与正构造其参考图片列表的当前图片不同的时间。如果当前图片是B切片,那么可在切片标头中用信号表示语法元素collocated_from_l0_flag以指示位于同一地点的图片是否来自RefPicList0或RefPicList1。在识别参考图片列表之后,在切片标头中用信号表示的语法元素collocated_ref_idx可用以识别列表中的图片中的图片。
随后通过检查位于同一地点的图片而识别位于同一地点的PU(例如,时间运动向量候选者)。使用含有此PU的CU的右下方PU的运动向量或含有此PU的CU的中心PU内的右下方PU的运动。
当由以上过程识别的运动向量用以产生AMVP或合并模式的运动候选者时,通常基于时间位置(由POC值反映)按比例缩放所述运动向量。将从TMVP导出的时间合并候选者的所有可能参考图片列表的目标参考索引设定为0,而对于AMVP,将目标参考索引设定为等于经解码参考索引。
在HEVC中,SPS可包含旗标sps_temporal_mvp_enable_flag,且当sps_temporal_mvp_enable_flag等于1时切片标头可包含旗标pic_temporal_mvp_enable_flag。当针对特定图片pic_temporal_mvp_enable_flag和temporal_id两者等于0时,来自在解码次序中在所述特定图片之前的图片的任何运动向量都将不用作在所述特定图片或在解码次序中在所述特定图片之后的图片的解码中的时间运动向量预测符。
如上所指出,MVC为ITU-TH.264/AVC的扩展。在多视图译码中,可存在来自不同视角的同一场景的多个视图。术语“存取单元”可用以指对应于同一时间实例的图片集合。换句话说,存取单元可包含针对一个输出时间实例的所有视图的经译码图片。“视图分量”可为单个存取单元中的视图的经译码表示。在一些实例中,视图分量可含有纹理视图分量和深度视图分量。在本发明中,“视图”可指与相同视图识别符相关联的视图分量序列。因此,当视图包含经译码纹理和深度表示两者时,视图分量可包括(例如,由其组成)纹理视图分量和深度视图分量。在一些实例中,纹理视图分量是单个存取单元中的视图的纹理的经译码表示。此外,在一些实例中,深度视图分量是单个存取单元中的视图的深度的经译码表示。
每一纹理视图分量包含待显示的实际图像内容。举例来说,纹理视图分量可包含明度(Y)和色度(Cb和Cr)分量。每一深度视图分量可指示其对应纹理视图分量中的像素的相对深度。在一些实例中,深度视图分量是仅包含明度值的灰阶图像。换句话说,深度视图分量可不传达任何图像内容,而是可提供对应纹理视图分量中的像素的相对深度的量度。
举例来说,深度视图分量中的纯白像素可指示从观看者的角度,所述像素在对应纹理视图分量中的对应一或多个像素较接近。在此实例中,深度视图分量中的纯黑像素指示从观看者的角度,所述像素在对应纹理视图分量中的对应一或多个像素较远离。黑色与白色之间的各种灰度梯度指示不同深度等级。举例来说,深度视图分量中的暗灰色像素指示所述像素在纹理视图分量中的对应像素与深度视图分量中的浅灰色像素相比更远离。在此实例中,因为仅需要灰阶来识别像素的深度,所以深度视图分量不需要包含色度分量,因为用于深度视图分量的色度分量不可用于任何目的。本发明出于说明的目的提供仅使用明度值(例如,强度值)以识别深度的深度视图分量的实例且不应被视为具限制性。在其它实例中,可利用其它技术来指示纹理视图分量中的像素的相对深度。
在多视图译码中,位流可具有多个层。层中的每一者可对应于不同视图。在多视图译码中,如果视频解码器(例如,视频解码器30)可对视图中的图片进行解码而无需参考任何其它视图中的图片,那么所述视图可被称为“基础视图”。如果视图的解码取决于一或多个其它视图中的图片的解码,那么视图可被称为非基础视图。当对非基础视图中的一者中的图片进行译码时,视频译码器(例如视频编码器20或视频解码器30)可在图片与视频译码器当前正译码的图片处于不同视图中但在同一时间实例(即,存取单元)内的情况下将所述图片添加到参考图片列表中。类似于其它帧间预测参考图片,视频译码器可在参考图片列表的任何定位处插入视图间预测参考图片。
在SVC中,除基础层外的层可被称为“增强层”且可提供增强从位流解码的视频数据的视觉质量的信息。在可缩放视频译码(例如,可缩放HEVC)中,“层表示”可为单个存取单元中的空间层的经译码表示。为便于阐释,本发明可将视图分量和/或层表示称为“视图分量/层表示”。
为了实施所述层,NAL单元的标头可包含nuh_reserved_zero_6bits语法元素。具有指定不同值的nuh_reserved_zero_6bit语法元素的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译码中,位流的不同层可对应于不同视图。
此外,在一层内的一些视图分量/层表示可在不参考同一层内的其它视图分量/层表示的情况下进行解码。因此,囊封一层的某些视图分量/层表示的数据的NAL单元可从位流移除,而不影响所述层中的其它视图分量/层表示的可解码性。移除囊封此些视图分量/层表示的数据的NAL单元可减小位流的帧速率。可在不参考在一层内的其它视图分量/层表示的情况下解码的在所述层内的视图分量/层表示的子集可在本文中被称作“子层”或“时间子层”。
NAL单元可包含指定NAL单元的时间识别符(即,TemporalIds)的temporal_id语法元素。NAL单元的时间识别符识别NAL单元属于的子层。因此,位流的每一子层可具有不同时间识别符。一般来说,如果第一NAL单元的时间识别符小于第二NAL单元的时间识别符,那么可在不参考由第二NAL单元囊封的数据的情况下解码由第一NAL单元囊封的数据。
位流可与多个操作点相关联。位流的每一操作点与层识别符的集合(例如,nuh_reserved_zero_6bits值的集合)及时间识别符相关联。所述层识别符集合可表示为OpLayerIdSet且所述时间识别符可表示为TemporalID。如果NAL单元的层识别符在操作点的层识别符集合中,且NAL单元的时间识别符小于或等于所述操作点的时间识别符,那么所述NAL单元与所述操作点相关联。操作点表示是与操作点相关联的位流子集。操作点表示可包含与操作点相关联的每一NAL单元。在一些实例中,操作点表示并不包含不与操作点相关联的VCLNAL单元。
在一些实例中,多视图译码和3维视频译码可用以为观看者产生3维效果。为了在视频中产生三维效果,可同时或几乎同时展示场景的两个视图(例如,左眼视图及右眼视图)。可从略微不同的水平位置俘获(或产生,例如作为计算机生成的图形)对应于场景的左眼视图及右眼视图的同一场景的两个图片,所述水平位置表示观察者的左眼及右眼之间的水平视差。通过同时或几乎同时显示这两个图片,以使得左眼视图图片由观察者的左眼感知且右眼视图图片由观察者的右眼感知,观看者可体验到三维视频效果。其它技术也可以用以促进3D,例如通过组合地产生包含左眼视图和右眼视图两者的合成图像。光偏振(或可能光颜色或其它光特性)可用以区分合成图像内的右眼视图和左眼视图,且3D眼镜可对如由右眼和左眼所见的图像进行过滤以便产生3D效果。多视图视频数据可以多种不同方式有用于通信和再现3D视频。
一般来说,本发明描述用于译码且处理多视图视频数据(例如,用以产生三维(3D)效果的视频数据)的技术。如本发明中在别处指示,多视图视频数据可包含纹理和深度信息两者,其中纹理信息大体上描述图片的明度(亮度或强度)和色度(颜色,例如蓝色调和红色调)。深度信息可由深度图表示,其中向个别像素指派指示是在屏幕处、在屏幕的相对前方还是在屏幕的相对后方显示纹理图片的对应像素的值。可在使用纹理及深度信息合成图片时将这些深度值转换成视差值。
图3是说明实例多视图解码次序的概念图。换句话说,图3中展示典型MVC解码次序(即,位流次序)。在MVC中,多个视图的数据是以时间优先次序译码。因此,解码次序布置称为时间优先译码。确切地说,可对在共同时间实例处的多个视图中的每一者的视图分量(例如,图片)进行译码,接着可对用于不同时间实例的视图分量的另一集合进行译码,诸如此类。存取单元的解码次序不一定等同于存取单元中的图片的输出(或显示)次序。
图3中所示的解码次序布置称为时间优先译码。在图2中,S0-S7各自参考多视图视频的不同视图。T0-T9各自表示一个输出时间实例。如上文所指出,存取单元可包含针对一个输出时间实例的所有视图的经译码图片。举例来说,第一存取单元可包含针对时间例子T0的所有视图S0到S7,第二存取单元可包含针对时间例子T1的所有视图S0到S7等等。
在图3中,所述视图中的每一者包含若干图片集合。举例来说,视图S0包含图片集合0、8、16、24、32、40、48、56及64,视图S1包含图片集合1、9、17、25、33、41、49、57及65,等等。每一集合包含两个图片:一个图片被称作纹理视图分量,且另一图片被称作深度视图分量。视图的图片组内的纹理视图分量及深度视图分量可认为是对应于彼此。举例来说,视图的图片集合内的纹理视图分量被视为对应于视图的图片集合内的深度视图分量,且反过来也一样(即,深度视图分量对应于其集合中的纹理视图分量,且反过来也一样)。如本发明中所使用,对应于深度视图分量的纹理视图分量可被视为纹理视图分量且深度视图分量为单一存取单元的同一视图的部分。
图4是说明用于多视图译码的实例预测结构的概念图。换句话说,图4中展示用于多视图视频译码的典型MVC预测结构(包含每一视图内的图片间预测和视图间预测两者)。预测方向由箭头指示,箭头指向的对象使用箭头出发的对象作为预测参考。在MVC中,由视差运动补偿支持视图间预测,所述视差运动补偿使用H.264/AVC运动补偿的语法但允许将不同视图中的图片用作参考图片。图4的实例说明八个视图(具有视图ID“S0”到“S7”)和每一视图的十二个时间位置(“T0”到“T11”)。也就是说,图4中的每一行对应于一视图,而每一列指示一时间位置。在每一行与每一列的交叉点处指示图4中的图片。H.264/AVC标准可使用术语帧来表示视频的一部分。本发明可互换地使用术语图片与帧。
使用包含字母的块来说明图4中的图片,字母指明对应图片是经帧内译码(也就是说,I图片),还是在一个方向上经帧间译码(也就是说,作为P图片),或是在多个方向上经帧间译码(也就是说,作为B图片)。一般来说,预测通过箭头来指示,其中箭头指向的图片使用箭头出发的图片用于预测参考。举例来说,时间位置T0处的视图S2的P图片是从时间位置T0处的视图S0的I图片预测的。
如同单个视图视频编码,可相对于不同时间位置处的图片预测性地编码多视图视频译码视频序列的图片。举例来说,时间位置T1处的视图S0的b图片具有从时间位置T0处的视图S0的I图片指向其的箭头,从而指示所述b图片是从所述I图片预测。然而,另外,在多视图视频编码的情况下,图片可经视图间预测。即,视图分量可使用其它视图中的视图分量用于参考。举例来说,在MVC中,如同另一视图中的视图分量为帧间预测参考般实现视图间预测。潜在视图间参考在SPSMVC扩展(即,用于与MVC有关的语法元素的SPS的扩展)中用信号表示且可通过参考图片列表构造过程而修改,所述过程实现帧间预测或视图间预测参考的灵活排序。视图间预测也是包含3D-HEVC(多视图加深度)的HEVC的所提出的多视图扩展的特征。
尽管MVC具有所谓的可由H.264/AVC解码器解码的基础视图,且MVC还可支持立体视图对,但MVC的优势在于其可支持使用两个以上视图作为3D视频输入且对由多个视图表示的此3D视频进行解码的实例。两个视图的译码也可由MVC支持。MVC的优点中的一个优点是:MVC编码器可将两个以上视图视为3D视频输入且MVC解码器可解码此类多视图表示。具有MVC解码器的客户端的再现器可预期具有多个视图的3D视频内容。
在MVC中,允许在相同存取单元(即,具有相同时间实例)中的图片当中进行视图间预测。在对非基础视图中的一者中的图片进行译码时,如果图片在不同视图中,但在相同时间实例内,那么可将图片添加到参考图片列表中。可将视图间参考图片放置在参考图片列表的任何位置中,正如任何帧间预测参考图片一般。当视图间参考图片用于运动补偿时,对应运动向量被称为“视差运动向量”。如图4中所展示,视图分量可出于参考目的使用其它视图中的视图分量。在MVC中,如同另一视图中的视图分量为帧间预测参考般实现视图间预测。
图4提供视图间预测的各种实例。在图4的实例中,将视图S1的图片说明为是从视图S1的不同时间位置处的图片预测,且是从相同时间位置处的视图S0及S2的图片经视图间预测而来。举例来说,时间位置Tl处的视图S1的b图片是从时间位置T0和T2处的视图S1的B图片中的每一者以及时间位置T1处的视图S0和S2的b图片预测。
在一些实例中,图4可被视为说明纹理视图分量。举例来说,图4中所说明的I、P、B和b图片可被视为视图中的每一者的纹理视图分量。根据本发明中描述的技术,可存在图4中说明的纹理视图分量中的每一者的对应深度视图分量。在一些实例中,可以类似于图4中针对对应纹理视图分量所说明的方式预测深度视图分量。
另一类型的多视图视频译码格式引入深度值的使用。对于多视图视频加深度(MVD)数据格式,可独立地以多视图纹理图片译码纹理图像和深度图。MVD数据格式对于3D电视和自由视点视频是流行的。图5是说明关于纹理图像及其相关联每样本深度图的MVD数据格式的概念图。深度范围可限于在与对应3D点的相机相距最小z和最大z距离的范围内。
相机参数和深度范围值可有助于在3D显示器上再现之前处理经解码视图分量。因此,可针对H.264/MVC的当前版本界定特殊补充增强信息(SEI)消息,即多视图获取信息SEI,其包含指定获取环境的各种参数的信息。然而,H.264/MVC中未指定用于指示深度范围相关信息的语法。
3D视频(3DV)可使用多视图视频加上深度(MVD)格式表示,其中各种视图(其可对应于个别水平相机位置)的少量俘获的纹理图像以及相关联深度图可经译码,且可将所得位流包多路复用到3D视频位流中。
如MVC中,3D-HEVC中启用基于来自不同视图的经重构视图分量的视图间预测。当块是使用视图间预测译码时,位于同一地点的图片中的TMVP指向的参考图片的类型(例如,时间或视图间)以及用于时间合并候选者的目标参考图片的类型(即,HEVC中具有等于0的参考索引的目标参考图片)可为不同的。举例来说,一个参考图片是视图间参考图片(类型设定成视差)且另一参考图片是时间参考图片(类型设定成时间)。视图间参考图片可为来自正译码当前视图的另一视图的参考图片。视图间参考图片可来自与视频译码器当前正在译码的图片(即,当前图片)相同的时间实例(例如,相同POC)或来自不同时间参考。时间参考图片是来自与视频译码器当前正在译码的CU(即,当前经译码CU)不同的时间实例的图片,但在与当前经译码CU)相同的视图中。在其它实例中,例如具体来说3D-HTM软件的版本,用于时间合并候选者的目标参考图片可设定成0或等于相对于当前经译码PU的左边相邻PU的参考图片索引的值。因此,用于时间合并候选者的目标参考图片索引可不等于0。
为了进一步改善译码效率,在用于3D-HEVC的最新参考软件中已经采用两个新技术,即“视图间运动预测”和“视图间残余预测”。视图间运动预测和视图间残余预测使用与当前经译码视图不同的视图中的运动向量候选者和CU。用于运动搜索、运动估计和运动向量预测的视图可来自与当前经译码视图相同的时间实例或可来自不同时间实例。为了启用这两个译码工具,第一步是导出视差向量。视频译码器可使用视差向量来定位用于视图间运动/残余预测的另一视图中的对应块,或将视差向量转换为用于视图间运动预测的视差运动向量。
在视图间运动/残余预测中使用的另一概念是隐式视差向量(IDV)。当PU采用视图间运动向量预测时可产生IDV(即,用于AMVP或合并模式的候选者是借助于视差向量从另一视图中的对应块导出)。此类视差向量被称为IDV。出于视差向量导出的目的,将IDV存储到PU。
视频译码器可使用称为基于相邻块的视差向量(NBDV)导出的方法来导出视差向量。当视频译码器使用NBDV导出来导出块的视差向量时,视频译码器检查空间和时间相邻块是否有视差运动向量。如上文所指出,视差运动向量指向视图间参考图片中的位置。在一些实例中,视频译码器以固定检查次序检查空间或时间相邻块。在一些实例中,视频译码器首先检查空间相邻块,随后是时间相邻块。
一旦视频译码器识别出视差运动向量,视频译码器便可终止检查过程,可返回所识别视差运动向量,且可将视差运动向量转换为视频译码器可在视图间运动预测和视图间残余预测中使用的视差向量。如果视频译码器在检查所有预定义相邻块之后未找到视差运动向量,那么视频译码器可使用零视差向量用于视图间运动预测,同时可针对对应PU(即,视频译码器正确定其视差向量的块)停用视图间残余预测。
在一些实例中,视频译码器检查用于视差向量导出的五个空间相邻块。所述五个空间相邻块是当前PU的左下方、左边、右上方、上方和左上方块,如图2中界定由A0、A1、B0、B1或B2指示。在一些实例中,视频译码器按A1、B1、B0、A0和B2的次序检查所述五个空间相邻块。如果相邻块中的一者使用视差运动向量,那么视频译码器可终止检查过程且可使用对应视差运动向量作为最终视差向量。
在一些实例中,视频译码器可考虑来自当前视图、位于同一地点的图片以及随机存取图片或具有最小POC差和最小时间ID的参考图片的多达两个参考图片以用于时间块检查。视频译码器可首先检查随机存取图片,接着是位于同一地点的图片。一般来说,随机存取图片(即,随机存取点(RAP)图片)是视频译码器可在除位流的开始处之外开始用于所述位流的解码过程的图片。图6是说明用于相邻块视差向量导出的时间相邻块的概念图。在图6的实例中,视频译码器可检查每一候选图片的两个候选块:
a)中心块(CR):当前PU的位于同一地点的区的中心4x4块,见图6中的“位置A”。
b)右下块(BR):当前PU的位于同一地点的区的右下4x4块,见图6中的“位置B”。
在一些实例中,对于每一候选图片,视频译码器按次序检查所述两个块,所述次序对于第一非基础视图为CR和BR,或对于第二非基础视图为BR然后是CR。如果块中的一者使用视差运动向量,那么视频译码器可终止检查过程且可使用对应视差运动向量作为最终视差向量。
如果空间或时间相邻块中的任一者都不具有视差运动向量,那么视频译码器可确定所述五个空间相邻块中的任一者是否具有IDV。换句话说,针对所有空间/时间相邻块首先检查是否使用视差运动向量,接着是IDV。在一些实例中,当视频译码器检查所述五个空间相邻块中的任一者是否具有IDV时,视频译码器可按A0、A1、B0、B1和B2的次序检查所述五个空间相邻块。如果五个空间相邻块中的一者使用IDV且所述空间相邻块是作为跳过/合并模式经译码,那么视频译码器可终止检查过程且可使用对应IDV作为最终视差向量。
在一些实例中,视频译码器可使用经译码深度图中的信息进一步精炼从NBDV方案产生的视差向量。举例来说,通过利用基础视图深度图中经译码的信息可增强视差向量的准确性。在一些实例中,如下描述精炼步骤。首先,在例如基础视图等经先前译码参考深度视图中通过所导出的视差向量定位对应深度块;对应深度块的大小与当前PU的大小相同。第二,视频译码器使用四个拐角深度值中的最大值从位于同一地点的深度块计算视差向量。视频译码器将计算的视差向量设定为等于视差向量的水平分量,同时视频译码器将视差向量的垂直分量设定为0。
此新视差向量称为“深度定向的基于相邻块的视差向量(DoNBDV)”。视频译码器可随后用来自DoNBDV方案的此新导出视差向量替代来自NBDV方案的视差向量以用于AMVP和合并模式的视图间候选者导出。视频译码器可使用未精炼的视差向量用于视图间残余预测。另外,如果一个PU是以后向视图合成预测(VSP)模式译码的,那么视频译码器可存储经精炼视差向量作为所述PU的运动向量。
现在论述3D-HEVC中使用相邻块的基于块的视图合成预测(VSP)。如田等人的“CE1.h:使用相邻块的后向视图合成预测”(下文为JCT3V-C0152)中所提议的后向扭曲VSP方法在第三次JCT-3V会议中采用。JCT3V-C0152的副本从2014年3月26日起在http://phenix.int-evry.fr/jct3v/doc_end_user/current_document.php?id=594可用。后向扭曲VSP(BVSP)的基本想法与3D-AVC中的基于块的VSP相同。这两个技术均使用后向扭曲和基于块的VSP以避免发射运动向量差且使用更精确的运动向量。实施方案细节由于不同平台而不同。
在以下段落中,术语BVSP指示3D-HEVC中的后向扭曲VSP方法。在3D-HTM中,在共同测试条件中应用纹理优先译码。因此,当对一个非基础纹理视图进行解码时对应非基础深度视图不可用。因此,估计深度信息且用以执行BVSP。为了估计块的深度信息,提出首先从相邻块导出视差向量,且随后使用所导出的视差向量从参考视图获得深度块。
HTM5.1测试模型使用NBDV导出来导出视差向量预测符。对于NBDV导出,假设(dvx,dvy)表示从NBDV导出识别的视差向量,且当前块位置是(块x,块y)。提出获取参考视图的深度图像中的(块x+dvx,块y+dvy)处的深度块。所获取深度块将具有当前预测单元(PU)的相同大小。视频译码器可随后使用所获取深度块执行当前PU的后向扭曲。
图7说明如何定位来自参考视图的深度块且随后用于BVSP预测的三个步骤。在图7的实例中,视频译码器正在对当前纹理图片60进行译码。当前纹理图片60标记为“相依性纹理图片”,因为当前纹理图片60取决于合成参考纹理图片62。换句话说,视频译码器可需要合成参考纹理图片62以便对当前纹理图片60进行解码。参考纹理图片62和当前纹理图片60在同一存取单元中但在不同视图中。
为了合成参考纹理图片62,视频译码器可处理当前纹理图片60的块(即,视频单元)。在图7的实例中,视频译码器正在处理当前块64。当视频译码器处理当前块64时,视频译码器可执行NBDV导出过程以导出当前块64的视差向量。举例来说,在图7的实例中,视频译码器识别与当前块64相邻的块68的视差向量66。视差向量66的识别展示为图7的步骤1。此外,在图7的实例中,视频译码器基于视差向量66确定当前块64的视差向量69。举例来说,视差向量69可为视差向量66的副本。复制视差向量66展示为图7的步骤2。
视频译码器可基于当前块64的视差向量69识别参考深度图片72中的参考块70。参考深度图片72、当前纹理图片60和参考纹理图片62可各自在同一存取单元中。参考深度图片72和参考纹理图片62可在同一视图中。视频译码器可基于当前块64的纹理样本值和参考块70的深度样本值确定参考纹理图片62的纹理样本值。确定纹理样本值的过程可被称为后向扭曲。3D-HEVC测试模型3的章节H.8.5.2.2.7描述后向扭曲的过程。后向扭曲展示为图7的步骤3。以此方式,图7说明如何定位来自参考视图的深度块且随后用于BVSP预测的三个步骤。
如果在序列中启用BVSP,那么用于视图间运动预测的NBDV过程改变且在以下段落中以粗斜体字展示差异:
-对于时间相邻块中的每一者,如果时间相邻块使用视差运动向量,那么视频译码器返回所述视差运动向量作为视差向量且如上文所描述进一步精炼所述视差向量。
-对于每一参考图片列表0或参考图片列表1,以下适用:如果空间相邻块使用视差运动向量,那么视频译码器返回视差运动向量作为视差向量且视频译码器以上述方法进一步精炼所述视差向量。
-对于空间相邻块中的每一者,如果空间相邻块使用IDV,那么视频译码器返回IDV作为视差向量且视频译码器以上述方法进一步精炼所述视差向量。
引入的BVSP模式视为特殊经帧间译码模式,且针对每一PU应维持指示BVSP模式的使用的旗标。并非在位流中用信号表示所述旗标,视频译码器可将新合并候选者(即,BVSP合并候选者)添加到合并候选者列表且所述旗标取决于经解码合并候选者索引是否对应于BVSP合并候选者。BVSP合并候选者可如下界定:
-每一参考图片列表的参考图片索引:-1
-每一参考图片列表的运动向量:经精炼视差向量
BVSP合并候选者的插入位置可取决于空间相邻块。举例来说,如果所述五个空间相邻块(即,A0、A1、B0、B1或B2)中的任一者是以BVSP模式译码(即,相邻块的维持旗标等于1),那么视频译码器可将BVSP合并候选者视为对应空间合并候选者且可将BVSP合并候选者插入到合并候选者列表中。视频译码器可仅将BVSP合并候选者插入到合并候选者列表中一次。否则,如果所述五个空间相邻块中的任一者都不是以BVSP模式译码,那么视频译码器可将BVSP合并候选者插入到合并候选者列表中紧接在时间合并候选者之前。在组合双向预测合并候选者导出过程期间,视频译码器检查额外条件以避免包含BVSP合并候选者。
对于其大小由NxM指示的每一经BVSP译码的PU,将所述经BVSP译码的PU进一步分割成具有等于KxK(其中K可为4或2)的大小的若干子区。对于每一子区,导出单独的视差运动向量,且从通过视图间参考图片中的导出的视差运动向量定位的一个块预测每一子区。换句话说,用于经BVSP译码PU的运动补偿单元的大小设定成KxK。在共同测试条件中,K设定成4。
此部分论述视差运动向量导出过程。对于以BVSP模式译码的一个PU内的每一子区(4x4块),首先以上文前述经精炼视差向量在参考深度视图中定位对应4x4深度块。接着,视频译码器选择对应深度块中的十六个深度像素的最大值。接着,视频译码器将所述最大值转换为视差运动向量的水平分量。视频译码器将视差运动向量的垂直分量设定为0。
本发明的下一部分论述用于跳过/合并模式的视图间候选者导出过程。基于从DoNBDV方案导出的视差向量,可将新运动向量候选者(即,经视图间预测的运动向量候选者(IPMVC))(如果可用)添加到AMVP和跳过/合并模式。经视图间预测的运动向量(如果可用)为时间运动向量。因为跳过模式具有与合并模式相同的运动向量导出过程,所以此文献中所描述的一些或所有技术适用于合并模式及跳过模式两者。
对于合并/跳过模式,视频译码器可通过以下步骤导出经视图间预测的运动向量。首先,视频译码器使用视差向量在同一存取单元的参考视图中定位当前PU/CU的对应块。如果对应块未经帧内译码且未经视图间预测且对应块的参考图片具有等于当前PU/CU的同一参考图片列表中的一个条目(即,参考图片)的POC值的POC值,那么视频译码器可在基于POC转换参考索引之后将运动信息(预测方向、参考图片和运动向量)导出为经视图间预测的运动向量。
图8展示经视图间预测的运动向量候选者的导出过程的实例。通过发现不同于当前经译码视图(视图1或V1)中的当前PU100的视图(例如,视图0或V0)中的对应块102来计算视差向量。如果对应块102未经帧内译码且未经视图间预测,且其参考图片具有在当前PU100的参考图片列表(例如,Ref0,列表0;Ref0,列表1;Ref1,列表1,如图8中所示)中的POC值,那么将对应块102的运动信息用作经视图间预测的运动向量。视频译码器可基于POC按比例缩放参考索引。
在图8的实例中,当前PU100在时间实例T1处在视图V1中发生。当前PU100的参考PU102发生在不同于当前PU100的视图(即,视图V0)中,且在与当前PU100相同的时间实例(即,时间实例T1)处。在图8的实例中,参考PU102经双向帧间预测。因此,参考PU102具有第一运动向量104和第二运动向量106。运动向量104指示参考图片108中的位置。参考图片108发生在视图V0中和时间实例T0中。运动向量106指示参考图片110中的位置。参考图片110在视图V0中且在时间实例T3中发生。
视频译码器可基于参考PU102的运动信息产生IPMVC以用于包含在当前PU100的合并候选者列表中。IPMVC可具有第一运动向量112及第二运动向量114。运动向量112匹配运动向量104且运动向量114匹配运动向量106。视频译码器产生IPMVC以使得IPMVC的第一参考索引指示在与参考图片108相同的时间实例(即,时间实例T0)中发生的参考图片(即,参考图片116)在用于当前PU100的RefPicList0中的位置。在图8的实例中,参考图片116发生在用于当前PU100的RefPicList0中的第一位置(即,Ref0)。此外,视频译码器产生IPMVC以使得IPMVC的第二参考索引指示在与参考图片110相同的时间实例中发生的参考图片(即,参考图片118)在用于当前PU100的RefPicList1中的位置。因此,在图8的实例中,IPMVC的RefPicList0参考索引可等于0。在图8的实例中,参考图片119发生在用于当前PU100的RefPicList1中的第一位置(即,Ref0),且参考图片118发生在用于当前PU100的RefPicList1中的第二位置(即,Ref1)。因此,IPMVC的RefPicList1参考索引可等于1。
如果经视图间预测的运动向量候选者不可用(例如,对应块102经帧内译码或经视图间预测),那么视频译码器可将视差向量转换为视图间视差运动向量,视频译码器当经视图间预测的运动向量候选者可用时将其添加到AMVP或合并候选者列表中处于与经视图间预测的运动向量候选者相同的位置。所得候选者可被称为视图间视差运动向量候选者(IDMVC)。因此,IDMVC可指定当前块的视差向量。经视图间预测的运动向量或视图间视差运动向量在此上下文中可称为“视图间候选者”。
在AMVP模式中,如果目标参考索引对应于时间运动向量,那么视频译码器通过检查通过视差向量定位的当前PU的对应块中的运动向量来找到IPMVC。如果IPMVC不可用,那么视频译码器将零运动向量候选者添加到候选者列表。在AMVP模式中,如果目标参考索引对应于视差运动向量,那么视频译码器并不导出IPMVC,但视频译码器将视差向量转换为视图间视差运动向量且将视图间视差运动向量添加到候选者列表。
在合并/跳过模式中,视频译码器始终将IPMVC(如果可用)插入到合并候选者列表中处于所有空间和时间合并候选者之前。视频译码器将IDMVC插入在从A0导出的空间合并候选者之前。3D-HTM软件的某个版本始终将经视图间预测的运动向量或视图间视差运动向量插入在AMVP候选者列表中的所有空间和时间候选者之前。
本发明的下一部分论述3D-HEVC中的合并候选者列表构造。首先,视频译码器以DoNBDV的方法导出视差向量。如果视频译码器未找到此视差向量,那么视频译码器使用零视差向量。以所述视差向量,3D-HEVC中的合并候选者列表构造过程可如下界定:
1.IPMVC插入。
-视频译码器通过上述程序导出IPMVC。如果IPMVC可用,那么视频译码器将IPMVC插入到合并列表中。
2.3D-HEVC中用于空间合并候选者和IDMVC插入的导出过程。
-按以下次序检查空间相邻PU的运动信息:A1、B1、B0、A0或B2。视频译码器通过以下程序执行受约束的精简:
-如果A1和IPMVC具有相同运动向量和相同参考索引,那么视频译码器不将A1插入到候选者列表中;否则视频译码器将A1插入到候选者列表中。
-如果B1和A1/IPMVC具有相同运动向量和相同参考索引,那么视频译码器不将B1插入到候选者列表中;否则视频译码器将B1插入到候选者列表中。
-如果B0可用,那么视频译码器将B0添加到候选者列表。通过上文所描述的程序导出IDMVC。如果IDMVC可用且IDMVC不同于从A1和B1导出的候选者,那么视频译码器将IDMVC插入到候选者列表中。
-如果BVSP针对整个图片或针对当前切片经启用,那么视频译码器随后将BVSP合并候选者插入到合并候选者列表中。
-如果A0可用,那么视频译码器将A0添加到候选者列表。
-如果B2可用,那么视频译码器将B2添加到候选者列表。
3.用于时间合并候选者的导出过程。
-类似于HEVC中其中利用位于同一地点的PU的运动信息的时间合并候选者导出过程。
4.3D-HEVC中用于组合双向预测合并候选者的导出过程。
-如果从以上两个步骤导出的候选者的总数小于候选者的最大数目,那么视频译码器执行与HEVCWD10(和/或HEVC的其它版本)中界定的过程相同的过程,不同之处在于l0CandIdx和l1CandIdx的指定。在图9中所示的表中界定combIdx、l0CandIdx和l1CandIdx之间的关系。在图9中所示的表中界定combIdx、l0CandIdx和l1CandIdx之间的关系。换句话说,图9是指示l0CandIdx和l1CandIdx的实例指定的实例表。
5.用于零运动向量合并候选者的导出过程
-视频译码器执行如HEVC中界定的相同程序。
在用于3D-HEVC的软件的某个版本中,合并列表中的候选者的总数高达6,且在切片标头中用信号表示five_minus_max_num_merge_cand以指定从6减去合并候选者的最大数目。five_minus_max_num_merge_cand在0到5(包含性)的范围中。
在产生合并候选者列表的另一实例中,首先以DoNBDV的方法导出视差向量。如果未找到此视差向量,那么利用零视差向量。以所述视差向量,3D-HEVC中的合并候选者列表构造过程可如下界定:
1.IPMVC插入
-通过上文所描述的程序导出IPMVC。如果IPMVC可用,那么将IPMVC插入到合并列表。
2.3D-HEVC中用于空间合并候选者和IDMVC插入的导出过程
-按以下次序检查空间相邻PU的运动信息:A1、B1、B0、A0或B2。通过以下程序执行受约束的精简:
-如果A1和IPMVC具有相同运动向量和相同参考索引,那么不将A1插入到候选者列表中;否则将其插入到列表中。
-如果B1和A1/IPMVC具有相同运动向量和相同参考索引,那么不将B1插入到候选者列表中;否则将其插入到列表中。
-如果B0可用,那么将其添加到候选者列表。通过上文所描述的程序导出IDMVC。如果IDMVC可用且不同于从A1及B1导出的候选者,那么将IDMVC插入到候选者列表。
-如果BVSP针对整个图片或当前切片经启用,那么将BVSP合并候选者插入到合并候选者列表。
-如果A0可用,那么将其添加到候选者列表。
-如果B2可用,那么将其添加到候选者列表。
3.用于时间合并候选者的导出过程
-然而,类似于HEVC中利用位于同一地点的PU的运动信息的时间合并候选者导出过程,可改变时间合并候选者的目标参考图片索引而不是固定为0。当等于0的目标参考索引对应于时间参考图片(同一视图中)同时位于同一地点的PU的运动向量指向视图间参考图片时,将其改变为对应于参考图片列表中的视图间参考图片的第一条目的另一索引。相反,当等于0的目标参考索引对应于视图间参考图片同时位于同一地点的PU的运动向量指向时间参考图片时,将其改变为对应于参考图片列表中的时间参考图片的第一条目的另一索引。
4.3D-HEVC中用于组合双向预测合并候选者的导出过程
-如果从以上两个步骤导出的候选者的总数小于候选者的最大数目,那么除l0CandIdx和l1CandIdx的指定外执行如HEVC中界定的同一过程。图9中界定combIdx、l0CandIdx和l1CandIdx之间的关系。
5.用于零运动向量合并候选者的导出过程
-执行如HEVC中界定的同一程序。
用于3D-HEVC中的合并候选者列表构造的替代技术
除上文描述的方法之外,其整个内容以引用的方式并入本文中的2012年12月7日申请的第61/734,929号共同待决美国临时申请案(下文为“'929申请案”)和2012年12月30日申请的第61/747,350号美国临时申请案(下文为“'350申请案”)描述了以下技术。如当前方法中,由参考视图中的经精炼视差向量识别的对应块用以导出IPMVC。在适用情况下导出两个经移位视差向量。
-左移位视差向量(LDV):针对水平分量将视差向量减去16。
-右移位视差向量(RDV):针对水平分量将视差向量加16。
将LDV/RDV用于导出IPMVC的使用情况与当前3D-HEVC中的视差向量相同。如果导出的IPMVC可用,那么将导出IPMVC添加到合并候选者列表中。否则,视频译码器如下将经移位的视差向量转换为视差运动向量以添加到合并候选者列表中:
-左边候选者:将视差运动向量候选者设定成具有等于DV[0]-4的水平分量和等于0的垂直分量的运动向量。
-右边候选者:将视差运动向量候选者设定成具有等于DV[0]+4的水平分量和等于0的垂直分量的运动向量。
从经移位视差运动预测符导出的额外合并候选者
吉利莫特等人提出以下技术来构造合并候选者列表,“从经移位视差候选者预测符导出的额外合并候选者”(ITU-TSG16WP3和ISO/IECJTC1/SC29/WG11的3D视频译码扩展开发联合合作小组第3次会议,瑞士日内瓦,2013年1月17-23日,文献JCT3V-C0148(下文为“JCT3V-C0148”))。JCT3V-C0148从2014年3月26日起从http://phenix.int-evry.fr/jct3v/doc_end_user/current_document.php?id=589可用,且特此以引用的方式并入本文中。在由JCT3V-C0148提出的技术中,扫描合并列表中的候选者的第一到第三位置以便搜索第一视差运动向量候选者。如果此候选者可用,那么通过将视差运动向量水平地移位+4和-4而产生两个新候选者。在合并候选者列表中插入所述产生的候选者。
特此以引用的方式并入本文中的2013年4月4日申请的第61/808,562号共同待决美国临时申请案(下文为“'562申请案”)提出构造合并候选者列表的技术。在'562申请案所提议的技术中,通过下文描述的以下步骤产生两个候选者(即,左边候选者和右边候选者)。
-在适用的情况下使视差向量DV移位以导出两个经移位视差向量:
-使DV水平地左/右移位-4/4以导出LDV/RDV且将其用以导出参考视图中的左边/右边IPMC候选者。
-如果左边/右边IPMC不可用,那么导出表示为视差移位运动向量(DSMV)的候选者且设定成左边/右边候选者。如下导出DSMV。
-使用来自空间相邻块A1、B1、B0、A0或B2的对应于RefPicList0的第一可用视差运动向量(DMV)进行导出。
-如果DMV可用(表示为‘mv’)
i.DSMV[0]=mv[0],DSMV[1]=mv[1]且DSMV[0][0]-/+=4,从第一可用候选者(含有DMV)继承参考索引。
ii.当BVSP经启用时,DSMV[0][1]设定成0。
否则,DSMV[0][0]=DV[0]-/+4,DSMV[1][0]=DV[0]-/+4,DSMV[0][1]=0且DSMV[1][1]=0。分别将左边候选者和右边候选者恰好插入在时间合并候选者之前和之后。仅在为经视图间预测的运动向量候选者的情况下将左边或右边候选者与IPMVC进行比较。
林等人的“3D-CE5.h相关:额外视图间合并候选者”(ITU-TSG16WP3和ISO/IECJTC1/SC29/WG11的3D视频译码扩展联合合作小组第4次会议,韩国仁川,2013年4月20-26日,文献编号JCT3V-D0109(下文为“JCT3V-D0109”))描述用于在合并候选者列表中包含额外视图间候选者的过程。JCT3V-D0109从2014年3月26日起从http://phenix.it-sudparis.eu/jct3v/doc_end_user/current_document.php?id=794可用,且特此以引用的方式并入本文中。图10说明JCT3V-D0109中描述的用于在合并候选者列表中包含额外视图间候选者的过程。换句话说,图10是说明用于合并/跳过模式的额外视图间候选者的导出的概念图。
在图10的实例中,当前块140具有视差向量142。视差向量142指示视图间参考图片中的块I的位置。为了导出额外视图间候选者,视频译码器可确定经移位的视差向量144。经移位的视差向量144可具有与视差向量142相同的水平分量和垂直分量,但经移位的视差向量144的原点是图10中由“H”指示的位置。视频译码器可随后使用经移位的视差向量144以确定视图间参考图片中的块I2。额外视图间候选者可具有块I2的运动信息。因此,在JCT3V-D0109中,额外经视图间预测的运动向量候选者是从如图10中所示作为通过视差向量移位的H位置定位的对应块(I2)导出。仅在额外候选者不同于原始IPMVC的情况下,将额外候选者插入到合并候选者列表中恰好在时间合并候选者之前。
高级残余预测
如上文所指出,3D-HEVC可支持视图间残余预测。在用于3D-HEVC的一些提议中,通过所谓的高级残余预测(ARP)实现视图间残余预测。已提出ARP以便更高效地利用两个视图的残余信号之间的相关。
图11是说明多视图视频译码中的ARP的实例预测结构的概念图。在ARP中,以视差向量识别的参考块的残余是在运行中产生,如图11中所描绘,而不是维持用于参考视图的残余图片且直接预测残余图片中的参考块内的残余。图11包含四个图片:当前图片170,时间参考图片172,视差参考图片174,和时间视差参考图片176。当前图片170在非基础视图V1中且在时间实例Tj中。时间参考图片172在非基础视图中且在时间实例Ti中。视差参考图片174在基础视图中且在时间实例Tj中。时间视差参考图片176在基础视图中且在时间实例Ti中。
当前图片170包含表示为“Dc”的当前PU。换句话说,Dc表示当前视图(即,非基础视图)中的当前块。Dc具有指示时间参考图片172中的位置的时间运动向量VD。视频编码器20可基于图片172中与由时间运动向量VD指示的位置相关联的样本而确定时间参考块Dr。因此,Dr表示Dc从同一视图(视图1)在时间Ti的时间预测块且VD表示从Dc到Dr的运动。
此外,视频编码器20可基于视差参考图片174中与由Dc的视差向量指示的位置相关联的样本而确定视差参考块Bc。因此,Bc表示参考块(即,参考视图(基础视图)中在时间Tj的Dc的表示)。通过将所导出的视差向量添加到Dc的左上位置可以所导出的视差向量计算Bc的左上位置。由于Dc和Bc可为同一对象在两个不同视图中的投影,因此Dc和Bc应共享同一运动信息。因此,Bc在视图0中在时间Ti的时间预测块Br可通过应用VD的运动信息而从Bc定位。
视频编码器20可确定时间视差图片176中的时间视差参考块Br(Bc的预测性块)。如上文所指出,时间视差图片176处于与Br相同的视图(即,视图V0)中且处于与Dr相同的时间实例(即,时间实例Ti)中。视频编码器20可基于由Dc的运动向量VD指示的位置处的样本而确定Br。因此,通过将运动向量VD添加到Bc的左上位置可以再使用的运动向量VD计算Br的左上位置。Bc的左上位置可等于Dc的左上位置与视差向量的总和。因此,Br的左上位置可等于Dc的左上位置的坐标、视差向量和运动向量VD的总和。以此方式,如图11中由箭头178示出,视频编码器20可再使用运动向量VD用于确定Br。因此,如图11中所示,为了较好地预测表示为Dc的非基础视图中的当前块的残余,首先通过视差向量识别参考块Bc且调用参考块的运动补偿以导出预测信号Br与参考块Bc的经重构信号之间的残余。
此外,在ARP中,第一残余块中的每一样本可指示Dc中的样本与Dr的对应样本之间的差异。第一残余块可被称为Dc的原始残余块。第二残余块中的每一样本可指示Bc中的样本与Br中的对应样本之间的差异。第二残余块可被称为“残余预测符”。因为视频编码器20使用运动向量VD确定Br,所以残余预测符可不同于Bc的实际残余数据。
当调用ARP模式时,可将预测残余添加在非基础视图的预测信号上,所述预测信号在一些实例中是通过从非基础视图的参考图片中的块Dr的运动补偿而产生。ARP模式的优点中的一者在于(当产生用于ARP的残余时)由参考块使用的运动向量与当前块的运动向量对准,因此可更精确地预测当前块的残余信号。因此,残余的能量可显著减少。因为基础(参考)视图与非基础视图之间的量化差异可导致较小的预测准确性,所以视频译码器可对从参考视图产生的残余自适应地应用两个加权因数:0.5和1。
此外,因为基础(参考)视图处的额外运动补偿可需要存储器存取和计算的显著增加,所以已经采用以译码效率的轻微牺牲来使设计更实际的若干技术。首先,仅当PU是以2Nx2N译码(即,含有所述PU的CU仅具有单个PU)时相对于PU启用ARP模式以减少计算,尤其是在视频编码器20处。第二,采用双线性滤波器用于参考块和当前块两者的运动补偿以显著减少用于以ARP模式译码的块的存储器存取。第三,为了改善高速缓冲存储器效率,虽然运动向量可指向非基础视图中的不同图片,但基础视图中的参考图片是固定的。在此情况下,视频译码器可需要基于图片距离按比例缩放当前块的运动向量。
基于HEVC的多视图/3DV译码中的运动相关技术的当前设计具有以下问题,因为所导出的视差向量可能对于最佳译码效率来说不够准确。作为一个实例,不准确的视差向量可导致不准确的经视图间预测的运动向量候选者及视图间视差运动向量候选者。并且,在产生合并候选者列表的同时并未良好地利用空间相邻候选者A0、A1、B0、B1或B2的视差运动向量与当前译码PU的视差运动向量高度相关的事实。
鉴于这些缺点,本发明提出导出更准确的候选者以添加到合并候选者列表中的各种技术,尤其是针对3D-HEVC的非基础纹理视图。
出于以下描述的清楚起见,本发明通过用于参考图片列表0的mv[0]和用于参考图片列表1的mv[1]表示预测单元(块)的运动向量,通过DV表示当前块的视差向量,且通过N、M1和M2表示给定移位值,一个运动向量mv[i]的水平分量和垂直分量由mv[i][j]指示,其中j分别为0和1。
本发明的以下实例中的每一者可单独地使用(例如,本发明的以下实例是替代的实例)以产生用于一个移位方向的一个额外候选者(其中N/M为负或正)。在一些情况下,以下实例中的一或多者可以结合使用。
在本发明的第一实例中,视频译码器识别空间相邻块A1、B1、B0、A0或B2中具有RefPicList0中的视差运动向量的第一者。视频译码器可将额外运动向量候选者(MvC)的RefPicList0运动向量设定为等于所识别空间相邻块的RefPicList0视差运动向量。另外,视频译码器可将MvC的RefPicList1运动向量设定为等于所识别空间相邻块的RefPicList1运动向量。视频译码器可随后使MvC的RefPicList0运动向量的水平分量移位。所得候选者在本文中可被称作视差移位运动向量(DSMV)候选者。换句话说,对应于空间相邻块A1、B1、B0、A0或B2的RefPicList0的第一可用视差运动向量(DMV)用以通过使mv[0](是可用视差运动向量)的水平分量移位以产生额外运动向量候选者MvC而导出额外候选者。此候选者表示为视差移位运动向量(DSMV)或“DSMV候选者”。
因此,在此第一实例中,如果视差运动向量可用,MvC[0]=mv[0],MvC[1]=mv[1]且MvC[0][0]+=N,那么从第一可用候选者(含有DMV)继承参考索引。在一个替代实例中,候选者是从DV和对应于RefPicList1的块(含有DMV)的运动向量组合。即,MvC[0]=DV,MvC[1]=mv[1]且MvC[0][0]+=N。如果DMV不可用,那么针对固定N不产生额外候选者。
以此方式,视频译码器可确定视频数据的当前块的空间相邻块当中的第一可用视差运动向量。第一可用视差运动向量对应于第一参考图片列表(例如,RefPicList0)。此外,视频译码器可使第一可用视差运动向量的水平分量移位以导出DSMV候选者。视频译码器可将DSMV候选者添加到合并候选者列表中。此外,在一些实例中,空间相邻块包含特定空间相邻块且第一可用视差运动向量是所述特定空间相邻块的第一运动向量。当空间相邻块中的至少一者具有视差运动向量时,视频译码器可将DSMV候选者的第一运动向量设定为所述特定空间相邻块的第一运动向量。另外,视频译码器可将DSMV候选者的第二运动向量设定为所述特定空间相邻块的第二运动向量,所述特定空间相邻块的第二运动向量对应于第二参考图片列表。视频译码器可将偏移添加到DSMV候选者的第一运动向量的水平分量,进而使第一可用视差运动向量的水平分量有效地移位以导出DSMV候选者。在一些实例中,所述偏移等于4。
在本发明的第二实例中,视频译码器可首先如第一实例中所描述产生DSMV候选者。如果DSMV候选者不可用,那么视频译码器可通过将运动向量设定为从视差向量移位的向量而产生DSMV候选者(表示为MvC),更具体来说如下:MvC[0]=DV且MvC[0][0]+=N;MvC[0][1]=0且MvC[1]=DV且MvC[1][0]+=N;MvC[1][1]=0且对应于MvC[X]的参考索引设定成RefPicListX中的图片的参考索引,其连同视差向量一起属于在NBDV过程期间识别的参考视图。在替代实例中,视频译码器将与RefPicListX相关联的参考索引设定为-1。
以此方式,当无空间相邻块具有视差运动向量时,视频译码器可将DSMV候选者的第一运动向量(即,MvC[0])和DSMV候选者的第二运动向量(即,MvC[1])设定为当前块的视差向量(即,DV)。此外,视频译码器可将偏移(即,N)添加到DSMV候选者的第一运动向量的水平分量(即,MvC[0][0])且将偏移添加到DSMV候选者的第二运动向量的水平分量(即,MvC[1][0])。视频译码器可将DSMV候选者的第一运动向量的垂直分量(即,MvC[0][1])和DSMV候选者的第二运动向量的垂直分量(即,MvC[1][1])设定为0。在此实例中,视频译码器可执行基于相邻块的过程(例如,NBDV导出过程、DoNBDV导出过程等)以确定当前块的视差向量。所述过程可识别参考视图连同当前块的视差向量。此外,当无空间相邻块具有视差运动向量时,视频译码器可将对应于DSMV候选者的第一运动向量的参考索引设定为在第一参考图片列表中且属于所识别参考视图的图片的参考索引。另外,视频译码器可将对应于DSMV候选者的第二运动向量的参考索引设定为在第二参考图片列表中且属于所识别参考视图的图片的参考索引。
在本发明的第三实例中,首先将根据以上第一实例产生DSMV候选者。另外,视频译码器还可考虑来自从当前PU/CU的经移位的视差向量导出的参考视图的IPMVC以产生合并候选者列表。如果来自经移位的视差向量的IPMVC可用,那么视频译码器将额外候选者设定到IPMVC。否则,如果DSMV候选者可用,那么视频译码器将额外候选者设定到DSMV候选者。否则,不存在用于同一移位方向(负或正移位值)的额外候选者。IPMVC和DSMV候选者均具有负或正移位。假定用以产生DSMV候选者的移位是N,用以产生对应IPMVC的移位是M,其中N和M可为不同的。
在本发明的第四实例中,基于IPMVC候选者或DSMV候选者产生候选者的优先级可颠倒。更具体来说,如果DSMV候选者可用,那么视频译码器将额外候选者设定到DSMV候选者。否则,如果IPMVC可用,那么视频译码器将额外候选者设定到IPMVC。否则,不存在用于同一移位方向的额外候选者。
在本发明的第五实例中,第二实例中描述的产生DSMV候选者的技术可组合以使得当BVSP经启用用于整个图片或经启用用于当前序列时,视频译码器可当MvC[X]是从视差运动向量(DMV)导出时将运动向量MvC[X]的垂直分量设定为0,其中X等于0或1。在视频译码器进行第二实例中的步骤之后,视频译码器可在DMV可用且BVSP经启用的情况下将MvC[0][1]设定为0。在替代实例中,如果DMV可用且BVSP经启用,那么视频译码器将MvC[0][1]和/或MvC[1][1]设定为0。以此方式,当后向扭曲视图合成预测经启用用于整个图片或当前序列时,视频译码器可当DSMV候选者的第一运动向量是从第一可用视差运动向量(即,DMV)导出时将DSMV候选者的第一运动向量的垂直分量设定为0。此外,当后向扭曲视图合成预测经启用用于整个图片或当前序列时,视频译码器可当DSMV候选者的第二运动向量是从第一可用视差运动向量导出时将DSMV候选者的第二运动向量的垂直分量设定为0。
在本发明的第六实例中,视频译码器首先根据上述第二或第五实例产生DSMV候选者。然而,在此第六实例中,视频译码器可另外考虑来自从当前PU/CU的经移位的视差向量导出的参考视图的IPMVC以产生合并候选者列表。在此实例中,假定最终候选者是MvComC。对于从0到1(包含性)的X,如果IPMVC[X]可用,那么MvComC[X]=IPMVC[X],否则MvComC[X]=DSMV[X]。
以下段落提供描述替代配置的一系列实例。在第一实例替代配置中,当产生DSMV时,视频译码器可当MvC[X]是从视差向量(DV)或从视差运动向量(DMV)导出时将运动向量MvC[X]的垂直分量设定为0,其中X等于0或1。替代地,运动向量MvC[X]的垂直分量可不设定成0。
在第二实例替代配置中,N用以产生DSMV且M用以产生IPMVC。当一起使用时,N和M可为相同的或可不为相同的。替代地,M和N两者为正或负。在一些实例中,M等于4、8、16、32、64、-4、-8、-16、-32、-64中的任一值或一个视图内的最小PU的宽度/高度。此外,在一些实例中,N等于4、8、16、32、64、-4、-8、-16、-32、-64中的任一值或一个视图内的最小PU的宽度/高度。
在第三实例替代配置中,产生两个候选者,其各自来自具有(N,M)的负组合(两者为负)或具有(N,M)的正组合的DSMV或IPMVC。视频译码器产生多达两个候选者且可将所述两个候选者添加到合并候选者列表中。在另一个替代方案中,视频译码器使用正或负组合产生一个候选者。
在第四实例替代配置中,视频译码器在插入所有空间候选者和BVSP候选者之后且更具体来说用以下方式中的一者将额外候选者插入到合并候选者列表中。在一个替代方案中,视频译码器将所述两个候选者两者恰好添加在TMVP合并候选者之后。在一个替代方案中,视频译码器将所述两个候选者两者恰好添加在TMVP合并候选者之前。在另一个替代方案中,视频译码器将一个候选者恰好添加在TMVP之前且将另一候选者恰好添加在TMVP合并候选者之后。在一个替代方案中,通过(N,M)的正组合导出的候选者是添加到合并候选者列表中的(这两个添加的候选者)中的第一者。一般来说,正组合当N和M两者为正时发生。在一个替代方案中,通过(N,M)的负组合导出的候选者是添加到合并候选者列表中的(这两个添加的候选者)中的第一者。一般来说,负组合当N和M两者为负时发生。可以精简添加候选者,(即,如果候选者的运动信息不等于原始IPMVC的运动信息,那么可添加候选者)。此处,运动信息包含运动向量和参考索引。
在第五实例替代配置中,为了产生DSMV,替代于检查所有空间相邻块(即,块A1、B1、B0、A0和B2),视频译码器检查B1、B0、A0和B2而不检查A1的块。在一个替代方案中,仅按次序检查空间块A1和B1。替代地,按次序检查空间块A1、B1和B0。替代地,按次序检查空间块A1、B1、B0和A0。替代地,以BVSP译码的空间块不考虑用以产生DMV,意味着不检查以BVSP译码的块。替代地,仅检查插入在候选者列表中的空间候选者A1、B1、B0、A0和B2。替代地,以BVSP译码的空间块考虑用以产生DMV。替代地,不考虑从视图间参考图片双向译码的空间块。替代地,不考虑从BVSP双向译码的空间块。替代地,不考虑经双向译码但不含任何时间运动向量的空间块。
在第六实例替代配置中,为了产生DSMV,替代于识别含有DMV的第一可用空间合并候选者,视频译码器仅当第一条件或第二条件为真时产生DSMV。第一条件指定第一两个可用合并候选者的两者含有一个参考图片列表中的DMV。第二条件指定从A1和B1导出的合并候选者包含在合并候选者列表中且其两者含有一个参考图片列表中的DMV。
在第七实例替代配置中,为了产生DSMV,替代于仅检查空间合并候选者,视频译码器还检查时间合并候选者。然而,视频译码器并不检查零运动向量合并候选者或组合双向预测合并候选者。
在第八实例替代配置中,为了产生DSMV,视频译码器仅当视频译码器从以来自视图间预测参考的一个块和来自时间参考的一个块双向预测的一个块检测到DMV,对应于视图间预测参考的运动向量(DMV)经移位且对应于时间参考的运动向量经保持以产生新候选者时产生DSMV。
上述实例中的一或多者中描述的技术可以各种方式实施。在一个实例实施方案中,视频译码器使用上述第六实例中描述的译码系统以产生每一额外合并候选者,其中视频译码器如上述第五实例中所描述产生DSMV候选者。在此实例实施方案中,视频译码器分别按次序以(N,M)=(-4,-4)和(N,M)=(4,4)产生多达两个候选者。此外,在此实例实施方案中,视频译码器将第一额外候选者恰好添加在TMVP之前且将其它额外候选者恰好添加在TMVP候选者之后。如果TMVP不可用,那么视频译码器在插入所有空间候选者和BVSP候选者之后添加所述两个候选者。
在先前段落的实例实施方案中,视频译码器可以额外候选者执行以下合并候选者列表构造过程。以下合并候选者列表构造过程的涉及将两个额外左边/右边候选者插入到合并候选者列表中的部分带下划线。
1.IPMVC插入
视频译码器通过上述程序导出IPMVC。如果IPMVC可用,那么视频译码器将IPMVC插入到合并候选者列表中。
2.3D-HEVC中用于空间合并候选者和IDMVC插入的导出过程
按以下次序检查空间相邻PU的运动信息:A1、B1、B0、A0或B2。视频译码器通过以下程序执行受约束的精简:
-如果A1和IPMVC具有相同运动向量和相同参考索引,那么视频译码器不将A1插入到合并候选者列表中。否则,如果A1不在BVSP模式中译码,那么视频译码器将A1插入到合并候选者列表中(如果可用)。否则,视频译码器将BVSP合并候选者添加到合并候选者列表。
-如果B1和A1/IPMVC具有相同运动向量和相同参考索引,那么视频译码器不将B1插入到合并候选者列表中。否则,如果B1不在BVSP模式中译码,那么视频译码器将B1插入到合并候选者列表中(如果B1可用)。否则,如果先前没有BVSP候选者添加到合并候选者列表,那么视频译码器将BVSP合并候选者添加到合并候选者列表。
-如果B0不是在BVSP模式中译码,那么视频译码器将B0添加到合并候选者列表(如果B0可用)。否则,如果先前没有BVSP候选者添加所述合并候选者列表,那么视频译码器将BVSP合并候选者添加到合并候选者列表。
-视频译码器通过上述程序导出IDMVC。如果IDMVC可用且IDMVC不同于从A1和B1导出的候选者,那么视频译码器将IDMVC插入到合并候选者列表中。
-如果A0不是在BVSP模式中译码,那么视频译码器将A0添加到合并候选者列表(如果A0可用)。否则,如果先前没有BVSP候选者添加所述合并候选者列表,那么视频译码器将BVSP合并候选者添加到合并候选者列表。
-如果B2不是在BVSP模式中译码,那么视频译码器将B2添加到合并候选者列表(如果B2可用)。否则,如果先前没有BVSP候选者添加所述合并候选者列表,那么视频译码器将BVSP合并候选者添加到合并候选者列表。
-如果所述五个空间相邻块都不是以BVSP模式译码,那么视频译码器将BVSP合并候选者插入到合并候选者列表中。
-插入左边额外候选者,
-如果左边候选者是IPMVC,那么视频译码器在步骤中1将左边候选 者仅与IPMC进行比较。否则,左边候选者是DSMV候选者,且视频译码器不 将左边候选者与任何现有候选者进行比较。
3.用于时间合并候选者的导出过程
-视频译码器执行如HEVC工作草案10中界定的相同程序。
4.插入右边额外候选者,
-如果右边候选者是IPMVC,那么视频译码器在步骤中1将右边候选者仅 与IPMC进行比较。否则,右边候选者是DSMV候选者,且视频译码器不将右边候 选者与任何现有候选者进行比较。
5.3D-HEVC中用于组合双向预测合并候选者的导出过程
如果从以上两个步骤导出的候选者的总数小于候选者的最大数目,那么视频译码器执行如HEVC工作草案10中界定的相同过程,l0CandIdx和l1CandIdx的指定除外。图9中界定combIdx、l0CandIdx和l1CandIdx之间的关系。
1.用于零运动向量合并候选者的导出过程
-视频译码器执行如HEVC工作草案10中界定的相同程序以导出零运动向量合并候选者。
如上述过程的步骤3和4中指示,视频译码器可将左边额外候选者(LDV)和/或右边额外候选者(RDV)插入到合并候选者列表中。视频译码器可如下产生LDV和RDV:LDV=DV,LDV[0]+=-4(RDV=DV,RDV[0]+=4)。
1)使用LDV/RDV以产生左边/右边IPMVC,如上文在标题为“3D-HEVC中用于合并候选者列表构造的替代技术”的本发明的部分中所描述。
2)如果左边/右边IPMVC可用,那么将左边/右边候选者设定成左边/右边IPMVC;
3)否则,产生左边/右边DSMV候选者,如分别在标题为“左边/右边DSMV候选者的产生”的本发明的部分中所描述。
左边/右边DSMV候选者的产生
在一些实例中,可仅当左边/右边IPMVC不可用时调用用以调用左边DSMV候选者的产生的过程且返回MvC作为最终左边/右边候选者。可如下产生左边/右边DSMV候选者。
1)考虑DMV不可用。
a)对于列表C={A1,B1,B0,A0和B2}中的每一空间候选者C[i]
i)如果C[i]的refIdxL0对应于视图间参考,那么以下适用。替代地,此条件改变为“如果C[i]的refIdxL0对应于视图间参考且C[i]的refIdxL1对应于时间参考”。
(1)假定C[i]的运动向量是mv。
(2)将DMV设定成mv[0]且视为可用。
(3)终止循环(打断;)。
2)如果DMV可用,那么以下适用于得到额外左边/右边候选者MvC。
a)将(MvC[0][0],MvC[0][1])设定成(mv[0][0]+N,mv[0][1]);将(MvC[1][0],MvC[1][1])设定成(mv[1][0],mv[1][1])。
b)将MvC的refIdL0设定成等于含有DMV的第一可用空间候选者的refIdxLX。
c)将MvC的refIdxL1设定成等于含有DMV的空间相邻块的refIdxL1。
d)当BVSP经启用用于当前图片时,进一步将MvC[0][1]设定成0。
3)否则,如下产生MvC:
a)(MvC[0][0],MvC[0][1])=(DV[0][0]+N,0),(MvC[1][0],MvC[1][1])=(DV[1][0]+N,0);
b)对于从0到1(包含性)的X,将refIdxLX设定成等于RefPicListX中属于如在NBDV过程期间连同视差向量一起识别的参考视图的图片的参考索引。
在此实例中,N对于左边候选者是-4且对于右边候选者是4。
在一些方面中,可如下概括本发明的技术。在第九实例中,可从当前PU/CU的经移位视差向量导出来自参考视图的更多IPMVC以产生合并候选者列表。视差向量DV水平地经移位DV[0]+M1且垂直地经移位DV[0]+M2。视频译码器可使用经移位的视差向量(DV[0]+M1,DV[1]+M2)来定位参考视图中的对应块以便产生IPMVC。如果IPMVC可用,那么视频译码器可使用IPMVC作为用于合并列表的额外候选者。
在第十实例中,如果如先前段落来自经移位的视差向量的IPMVC不可用,那么通过使mv[0](是可用视差运动向量)的水平分量移位以产生额外运动向量候选者MvC,使用对应于空间相邻块A1、B1、B0、A0或B2的RefPicList0的第一可用视差运动向量(DMV)来导出额外候选者。此候选者表示为视差移位运动向量(DSMV)。如果DMV可用,MvC[0]=mv[0],MvC[1]=mv[1]且MvC[0][0]+=N,那么从第一可用候选者(其含有DMV)继承参考索引。因此,视频译码器可将DSMV候选者的第一运动向量设定为特定空间相邻块的第一运动向量。所述特定空间相邻块可具有当前块的空间相邻块当中的第一可用视差运动向量。另外,视频译码器可将DSMV候选者的第二运动向量设定为所述特定空间相邻块的第二运动向量,所述特定空间相邻块的第二运动向量对应于第二参考图片列表。此外,视频译码器可将对应于DSMV的第一运动向量的参考索引设定为对应于所述特定空间相邻块的第一运动向量的参考索引。视频译码器可将对应于DSMV的第二运动向量的参考索引设定为对应于所述特定空间相邻块的第二运动向量的参考索引。在一个替代方案中,当BVSP经启用用于整个图片或用于当前序列时,运动向量MvC[0][1]和/或MvC[1][1]的垂直分量可设定成0。如果DMV不可用,那么针对固定N不产生额外候选者。
在第十一实例中,视频译码器首先如中第十实例中所描述产生DSMV。然而,在此实例中,如果DSMV不可用,那么视频译码器可通过将运动向量设定为从视差向量移位的向量而导出DSMV(表示为MvC),如下:MvC[0]=DV且MvC[0][0]+=N;MvC[0][1]=0且MvC[1]=DV且MvC[1][0]+=N;MvC[1][1]=0且将对应于MvC[X]的参考索引设定成RefPicListX中属于如在NBDV过程期间连同视差向量一起识别的参考视图的图片的参考索引。替代地,将与RefPicListX相关联的参考索引设定成-1。
在第十二实例中,用以产生IPMVC的移位值M1和M2可为相同的或可不为相同的。在此实例中,M1和M2可采取4、8、16、32、64、-4、-8、-16、-32、-64中的任一值。在一个替代方案中,M1可等于M2,例如,它们可均等于16或均等于-16。在一个替代方案中,M1和M2等于一个视图内的最小PU的宽度和高度,或任何最小CU的宽度和高度,或当前PU/CU的宽度和高度。替代地,M1和M2两者可为正。替代地,M1和M2两者可为负。替代地,M1可为正且M2可为负。替代地,M1可为负且M2可为正。替代地,M1可等于(((宽度/2)*4)+4)且M2可等于(((高度/2)*4)+4),其中当前PU大小是宽度x高度。替代地,M1和M2分别等于一个视图内的最小PU的宽度和高度,或任何最小CU的宽度和高度,或当前PU/CU的两倍宽度(即,2*宽度)和两倍高度(即,2*高度)。
在第十三实例中,用以产生DSMV候选者的移位值N可设定成等于值4、8、16、32、64、-4、-8、-16、-32、-64中的任一者或一个视图内的最小PU的宽度/高度。在一个替代方案中,移位值N和Mi(其中i等于1或2)可为相同的。在一个替代方案中,移位值N和Mi(其中i等于1或2)可不为相同的。
在第十四实例中,产生两个候选者,其各自来自具有(N,M1,M2)的正组合(全部为正)或具有(N,M1,M2)的负组合的DSMV或IPMVC。产生多达两个候选者且可添加到合并候选者列表中。在另一个替代方案中,产生使用正或负组合的仅一个候选者。
在第十五实例中,当视频译码器仅产生一个额外候选者时,视频译码器在插入所有空间候选者之后且更具体来说用以下方式中的一者将额外候选者插入到合并候选者列表中。在一个替代方案中,视频译码器将所述候选者恰好添加在TMVP合并候选者之前。在一个替代方案中,视频译码器将所述候选者恰好添加在TMVP合并候选者之后。在一个替代方案中,视频译码器将所述候选者恰好添加在空间合并候选者A0之后且恰好添加在空间合并候选者B2之前。换句话说,视频译码器可将额外IPMVC添加到合并候选者列表中紧接在用于当前块左上方的空间相邻块的合并候选者之后。在一个替代方案中,视频译码器将所述候选者恰好添加在BVSP候选者之后且恰好添加在空间合并候选者A0之前。此外,可以精简添加候选者。在其中可以精简添加候选者的一个实例中,以原始IPMC候选者精简如第九实例中产生的仅额外IPMC候选者,且不以任何候选者精简如第十和第十一实例中产生的DSMV候选者。
在第十六实例中,视频译码器在插入所有空间候选者之后且更具体来说用以下方式中的一者将额外候选者插入到所添加的合并候选者列表中。在一个替代方案中,视频译码器将所述两个候选者两者恰好添加在TMVP合并候选者之后。在一个替代方案中,视频译码器将所述两个候选者两者恰好添加在TMVP合并候选者之前。在一个替代方案中,视频译码器将一个候选者恰好添加在TMVP之前且将另一候选者恰好添加在TMVP合并候选者之后。在一个替代方案中,通过(N,M1,M2)的正组合导出的候选者是添加到合并候选者列表中的(这两个添加的候选者)中的第一者。在一个替代方案中,通过(N,M1,M2)的负组合导出的候选者是添加到合并候选者列表中的(这两个添加的候选者)中的第一者。可以精简添加候选者,其类似于如第61/734,929号美国临时申请案和第61/747,350号美国临时申请案中所提到的精简过程。
在此部分中,描述用于产生额外合并候选者的本发明的所提出技术中的一者的实施方案。在一个实例中,分别按次序以(N,M1,M2)=(4,16,16)及(N,M1,M2)=(-4,-16,-16)产生多达两个候选者。视频译码器将第一额外候选者(左边候选者)恰好添加在TMVP之前且将第二额外候选者(右边候选者)恰好添加在TMVP候选者之后。如果TMVP候选者不可用,那么视频译码器在插入所有空间候选者之后添加所述两个候选者。
现将论述具有额外候选者的合并候选者列表构造。视频译码器将两个额外左边/右边候选者插入在合并候选者列表中,如以下文的粗体文字突出显示。
1.IPMVC插入
通过上文所描述的程序导出IPMVC。如果IPMVC可用,那么将IPMVC插入到合并列表。
2.3D-HEVC中用于空间合并候选者和IDMVC插入的导出过程。
按以下次序检查空间相邻PU的运动信息:A1、B1、B0、A0或B2。通过以下程序执行受约束的精简:
-如果A1和IPMVC具有相同的运动向量及相同的参考索引,那么并不将A1插入到候选者列表中。否则,视频译码器将A1插入到列表中。
-如果B1和A1/IPMVC具有相同运动向量和相同参考索引,那么视频译码器不将B1插入到候选者列表中。否则,视频译码器将B1插入到列表中。
-如果B0可用,那么视频译码器将B0添加到候选者列表。
-通过上文所描述的程序导出IDMVC。如果IDMVC可用且IDMVC不同于从A1和B1导出的候选者,那么视频译码器将IDMVC插入到候选者列表中。
-如果BVSP针对整个图片或针对当前切片经启用,那么视频译码器将BVSP合并候选者插入到合并候选者列表。
-如果A0可用,那么视频译码器将A0添加到候选者列表。
-如果B2可用,那么视频译码器将B2添加到候选者列表。
3.用于时间合并候选者的导出过程。
然而,类似于HEVC中其中利用位于同一地点的PU的运动信息的时间合并候选者导出过程,如上文所解释可改变时间合并候选者的目标参考图片索引,而不是固定为0。
5.3D-HEVC中用于组合双向预测合并候选者的导出过程。
如果从以上两个步骤导出的候选者的总数小于候选者的最大数目,那么视频译码器执行如HEVC中界定的相同过程,l0CandIdx和l1CandIdx的指定除外。图9中界定combIdx、l0CandIdx和l1CandIdx之间的关系。
6.用于零运动向量合并候选者的导出过程。
视频译码器执行如HEVC工作草案10中界定的相同程序。
视频译码器可以各种方式产生左边/右边额外候选者。在一个实例中,视频译码器如下产生LDV/RDV:LDV=DV,LDV[0]+=16,LDV[1]+=16(RDV=DV,RDV[0]+=-16,RDV[1]+=-16)。在此实例中,视频译码器可使用LDV/RDV以产生左边/右边IPMVC,如第61/734,929和61/747,350号美国临时专利申请案和第14/098,151号美国专利申请案中所描述,以上申请案中的每一者以引用的方式并入本文中。如果左边/右边IPMVC可用,那么视频译码器将左边/右边候选者设定到左边/右边IPMVC。否则,视频译码器如上文所描述产生左边/右边DSMV候选者。
视频译码器可以各种方式产生左边/右边DSMV候选者。在一个实例中,视频译码器仅当左边/右边IPMVC不可用时调用用以产生左边/右边DSMV候选者的过程且返回MvC作为最终左边/右边候选者。在此实例中,视频译码器如下产生左边/右边DSMV候选者。
首先,考虑DMV不可用。对于列表C={A1,B1,B0,A0和B2}中的每一空间候选者C[i]
i)如果C[i]的refIdxL0对应于视图间参考,那么以下适用。在一个替代方案中,此条件改变为“如果C[i]的refIdxL0对应于视图间参考且C[i]的refIdxL1对应于时间参考”。
(1)假定C[i]的运动向量是mv。
(2)将DMV设定成mv[0]且视为可用。
(3)终止循环(打断;)。
2)如果DMV可用,那么以下适用于得到额外左边/右边候选者MvC。
a)(MvC[0][0],MvC[0][1])设定成(mv[0][0]+N,mv[0][1];(MvC[1][0],MvC[1][1])设定成(mv[1][0],mv[1][1])。
b)将MvC的refIdL0设定成等于含有DMV的第一可用空间候选者的refIdxLX。
c)将MvC的refIdxL1设定成等于含有DMV的空间相邻块的refIdxL1。
d)当BVSP经启用用于当前图片时,进一步将MvC[0][1]设定成0。
3)否则,视频译码器如下产生MvC:
a)(MvC[0][0],MvC[0][1])=(DV[0][0]+N,0),(MvC[1][0],MvC[1][1])=(DV[1][0]+N,0);
b)对于从0到1(包含性)的X,将refIdxLX设定成等于RefPicListX中属于如在NBDV过程期间连同视差向量一起识别的参考视图的图片的参考索引。
此处,N对于左边候选者是4且对于右边候选者是-4。
在另一个实例中,视频译码器以(N,M1,M2)=(4,(((宽度/2)*4)+4),(((高度/2)*4)+4))产生仅一个候选者,其中当前PU大小是宽度x高度。所述仅一个额外候选者恰好添加在TMVP候选者之前。如果TMVP不可用,那么视频译码器在插入所有空间候选者之后添加额外候选者。
以下是用于以额外候选者的合并候选者列表构造的本发明的另一实例技术。在此实例中,仅一个额外候选者插入在合并候选者列表中,如下文以粗体突出显示。
1.IPMVC插入
通过上文所描述的程序导出IPMVC。如果其可用,那么将其插入到合并列表。
2.3D-HEVC中用于空间合并候选者和IDMVC插入的导出过程
按以下次序检查空间相邻PU的运动信息:A1、B1、B0、A0或B2。视频译码器通过以下程序执行受约束的精简:
-如果A1和IPMVC具有相同运动向量和相同参考索引,那么视频译码器不将A1插入到候选者列表中。否则,视频译码器将A1插入到候选者列表中。
-如果B1和A1/IPMVC具有相同运动向量和相同参考索引,那么视频译码器不将B1插入到候选者列表中。否则,视频译码器将B1插入到候选者列表中。
-如果B0可用,那么视频译码器将B0添加到候选者列表中。
-通过上文所描述的操作步骤导出IDMVC。如果IDMVC可用且IDMVC不同于从A1和B1导出的候选者,那么视频译码器将IDMVC插入到候选者列表中。
-如果BVSP针对整个图片或针对当前切片经启用,那么视频译码器将BVSP合并候选者插入到合并候选者列表中。
-如果A0可用,那么视频译码器将A0添加到候选者列表。
-如果B2可用,那么视频译码器将B2添加到候选者列表。
3.用于时间合并候选者的导出过程
用于时间合并候选者的导出过程类似于HEVC中其中利用位于同一地点的PU的运动信息的时间合并候选者导出过程。然而,如标题为“一个额外候选者的产生”的本发明的部分中所解释可改变时间合并候选者的目标参考图片索引,而不是固定为0。
4.3D-HEVC中用于组合双向预测合并候选者的导出过程
如果从以上两个步骤导出的候选者的总数小于候选者的最大数目,那么除l0CandIdx和l1CandIdx的指定外执行如HEVC中界定的相同过程。图9中界定combIdx、l0CandIdx和l1CandIdx之间的关系。
5.用于零运动向量合并候选者的导出过程
-可执行如HEVC中界定的相同程序以导出零运动向量候选者。
此子部分类似于上文相对于本发明的其它实例所论述的对应程序。一个差异在于产生的DSMV始终是右边DSMV。仅当先前部分中的额外IPMVC不可用时调用此过程且返回MvC作为最终候选者。通过将N设定为等于4,如下产生DSMV候选者。
1)考虑DMV不可用。
a)对于列表C={A1,B1,B0,A0和B2}中的每一空间候选者C[i]
i)如果C[i]的refIdxL0对应于视图间参考,那么以下适用。替代地,此条件改变为“如果C[i]的refIdxL0对应于视图间参考且C[i]的refIdxL1对应于时间参考”。
(1)假定C[i]的运动向量是mv。
(2)将DMV设定成mv[0]且视为可用。
(3)终止循环(打断;)。
2)如果DMV可用,那么以下适用于得到额外候选者MvC。
a)(MvC[0][0],MvC[0][1])设定成(mv[0][0]+N,mv[0][1]);(MvC[1][0],MvC[1][1])设定成(mv[1][0],mv[1][1])。
b)将MvC的refIdL0设定成等于含有DMV的第一可用空间候选者的refIdxL0。
c)将MvC的refIdxL1设定成等于含有DMV的空间相邻块的refIdxL1。
d)当BVSP经启用用于当前图片时,进一步将MvC[0][1]设定成0。
3)否则,如下产生MvC:
a)(MvC[0][0],MvC[0][1])=(DV[0][0]+N,0),(MvC[1][0],MvC[1][1])=(DV[1][0]+N,0);
b)对于从0到1(包含性)的X,将refIdxLX设定成等于RefPicListX中属于如在NBDV过程期间连同视差向量一起识别的参考视图的图片的参考索引。
因此,在以上描述中,视频译码器可通过使当前块的视差向量(即,DV)水平地移位第一值且垂直地移位第二值而确定经移位的视差向量(即,RDV)。在一些实例中,所述第一值等于(((W/2)*4)+4)且所述第二值等于(((H/2)*4)+4),其中W是当前块的宽度且H是当前块的高度。此外,视频译码器可使用经移位的视差向量(即,RDV)来定位参考视图中的对应块。额外IPMVC指示视图间参考图片中的对应块的运动信息。视频译码器可当额外IPMVC不同于原始IPMC时将额外IPMVC插入到合并候选者列表中。然而,当额外IPMVC不可用时,视频译码器可产生DSMV候选者。如本发明中在别处指示,视频译码器可确定视频数据的当前块的空间相邻块当中的第一可用视差运动向量,所述第一可用视差运动向量对应于第一参考图片列表。视频译码器可随后使第一可用视差运动向量的水平分量移位以导出DSMV候选者。当没有空间相邻块含有视差运动向量时,可通过将DSMV候选者的水平分量设定为等于当前块的视差向量的水平分量加偏移而产生DSMV候选者,且DSMV候选者的垂直分量设定成零。
图12是说明可以实施本发明的技术的视频编码器20的实例的框图。视频编码器20可执行视频切片内的视频块的帧内和帧间译码(包含视图间译码),所述视频切片例如纹理图像和深度图两者的切片。纹理信息大体上包含明度(亮度或强度)和色度(颜色,例如红色调和蓝色调)信息。一般来说,视频编码器20可确定相对于明度切片的译码模式,且再使用来自对明度信息进行译码的预测信息以编码色度信息(例如,通过再使用分割信息、帧内预测模式选择、运动向量或类似物)。帧内译码依赖于空间预测来减少或去除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测来减少或去除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(I模式)可以指若干基于空间的译码模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指代若干基于时间的译码模式中的任一者。
在图12的实例中,视频编码器20包含模式选择单元240、参考帧存储器264、求和器250、变换处理单元252、量化单元254和熵编码单元256。模式选择单元240又包含运动补偿单元244、运动估计单元242、帧内预测单元246和分割单元248。为了视频块重构,视频编码器20还包含逆量化单元258、逆变换单元260和求和器262。还可包含解块滤波器(图12中未图示)以便对块边界进行滤波,以从经重构视频移除成块效应假象。如果需要,解块滤波器通常对求和器262的输出进行滤波。除解块滤波器之外,还可使用额外滤波器(环路内或环路后)。为简洁起见未展示此类滤波器,但在需要时,这些滤波器可以对求和器250的输出进行滤波(作为环路内滤波器)。
在编码过程期间,视频编码器20接收待译码的视频帧或切片。所述帧或切片可被分割成多个视频块。因此,如图12中所展示,视频编码器20接收待编码的视频帧(例如,纹理图像或深度图)内的当前视频块(也就是说,视频数据块,例如明度块、色度块或深度块)。
运动估计单元242和运动补偿单元244可相对于一或多个参考帧中的一或多个块执行所接收视频块的帧间预测性译码以提供时间预测或视图间预测。帧内预测单元246可替代地相对于与待译码块相同的帧或切片中的一或多个相邻块执行对所接收的视频块的帧内预测性译码以提供空间预测。视频编码器20可以执行多个译码遍次,例如,为了为每一视频数据块选择一种适当的译码模式。
此外,分割单元248可以基于前述译码回合中的先前分割方案的评估将视频数据块分割成子块。举例来说,分割单元248可初始地将帧或切片分割为若干LCU,且基于速率失真分析(例如,速率失真优化)将LCU中的每一者分割为若干子CU。模式选择单元240可以进一步产生指示将LCU分割成若干子CU的四叉树数据结构。四叉树的叶节点CU可包含一或多个PU及一或多个TU。
模式选择单元240可例如基于误差结果选择译码模式帧内或帧间中的一者,且可将所得经帧内或帧间译码块提供到求和器250以产生残余块数据且提供到求和器262以重构经编码块以用作参考帧。模式选择单元240还可将语法元素(例如运动向量、帧内模式指示符、分割信息和其它此类语法信息)提供到熵编码单元256。
运动估计单元242与运动补偿单元244可高度集成,但出于概念目的单独地加以说明。由运动估计单元242执行的运动估计是产生运动向量的过程,所述运动向量估计视频块的运动。在一些实例中,运动向量可以指示当前视频帧或图片内的视频块的PU相对于参考帧(或其它经译码单元)内的预测性块相对于当前帧(或其它经译码单元)内正被译码的当前块的位移。
预测块是经发现在像素差方面与待译码块紧密匹配的块,其可通过绝对差总和(SAD)、平方差总和(SSD)或其它差量度来确定。在一些实例中,视频编码器20可以计算存储在参考帧存储器264中的参考图片的子整数像素位置的值。举例来说,视频编码器20可以内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元242可以相对于全像素位置及分数像素位置执行运动搜索并且输出具有分数像素精度的运动向量。
运动估计单元242通过比较经帧间译码切片中的视频块的PU的位置与参考图片的预测性块的位置来计算PU的运动向量。参考图片可选自第一参考图片列表(“列表0”或“RefPicList0”)或第二参考图片列表(“列表1”或“RefPicList1”),其中的每一者识别存储在参考帧存储器264中的一或多个参考图片。运动估计单元242可将计算的运动向量发送到熵编码单元256和运动补偿单元244。
运动补偿单元244执行的运动补偿可以包括基于运动估计单元242确定的运动向量来取出或产生预测性块。再次,在一些实例中,运动估计单元242与运动补偿单元244可在功能上集成。在接收到当前视频块的PU的运动向量后,运动补偿单元244可以即刻在参考图片列表中的一者中定位所述运动向量指向的预测性块。在一些实例中,求和器250通过从经译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块,如下文所论述。一般来说,运动估计单元242相对于明度分量执行运动估计,且运动补偿单元244针对色度分量和明度分量两者使用基于明度分量计算的运动向量。以此方式,运动补偿单元244可再用针对明度分量确定的运动信息来对色度分量进行译码,以使得运动估计单元242不需要对色度分量执行运动搜索。模式选择单元240还可产生与视频块及视频切片相关联的语法元素以供视频解码器30在解码视频切片的视频块时使用。
根据本发明的一或多个技术,运动估计单元242可产生合并候选者列表。作为产生合并候选者列表的部分,运动估计单元242可确定视频数据的当前块的空间相邻块当中的第一可用视差运动向量。第一可用视差运动向量可对应于第一参考图片列表(例如,RefPicList0)。此外,运动估计单元242可使第一可用视差运动向量的水平分量移位以导出DSMV候选者。当没有空间相邻块含有视差运动向量时,运动估计单元242可通过将DSMV候选者的水平分量设定为可等于当前块的视差向量的水平分量加偏移且通过将DSMV候选者的垂直分量设定为零而产生DSMV候选者。另外,运动估计单元242可使用通过使视差向量水平地且垂直地移位而指向的视图间参考图片的运动信息产生额外IPMVC。运动估计单元242可将DSMV候选者或额外IPMVC添加到合并候选者列表中。在一些实例中,运动估计单元242在额外IPMVC不可用的情况下将DSMV候选者添加到合并候选者列表代替额外IPMVC候选者。运动估计单元242可从合并候选者列表选择候选者且在位流中包含表示选定合并候选者的索引的数据。运动补偿单元244可基于选定合并候选者的运动信息确定用于当前块的预测性块。
作为如上文所描述的由运动估计单元242及运动补偿单元244执行的帧间预测的替代方案,帧内预测单元246可以对当前块进行帧内预测。明确地说,帧内预测单元246可以确定用来对当前块进行编码的帧内预测模式。在一些实例中,帧内预测单元246可以例如在单独编码遍次期间使用各种帧内预测模式对当前块进行编码,并且帧内预测单元246(或在一些实例中为模式选择单元240)可以从所述测试模式中选择适当帧内预测模式来使用。
举例来说,帧内预测单元246可以使用速率失真分析计算针对各种经测试帧内预测模式的速率失真值,并且从所述经测试模式当中选择具有最佳速率失真特性的帧内预测模式。速率失真分析总体上确定经编码块与经编码以产生所述经编码块的原始未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(即,位数目)。帧内预测单元246可根据用于各种经编码块的失真和速率计算比率,以确定哪个帧内预测模式对于所述块展现最佳速率-失真值。
在选择用于块的帧内预测模式后,帧内预测单元246可将指示用于块的所选帧内预测模式的信息提供到熵编码单元256。熵编码单元256可编码指示所选帧内预测模式的信息。视频编码器20可在所发射的位流中包含配置数据,所述配置数据可包含多个帧内预测模式索引表及多个修改的帧内预测模式索引表(还被称作码字映射表),编码用于各种块的上下文的定义,及用于所述上下文中的每一者的最可能的帧内预测模式、帧内预测模式索引表及修改的帧内预测模式索引表的指示。
在一些实例中,视频编码器20通过从正译码的原始视频块减去来自模式选择单元240的预测数据而形成残余视频块。求和器250表示执行此减法运算的一或多个组件。变换处理单元252可以将例如离散余弦变换(DCT)或概念上类似的变换等变换应用于残余块,从而产生包含残余变换系数值的视频块。变换处理单元252可执行概念上类似于DCT的其它变换。还可使用小波变换、整数变换、子带变换或其它类型的变换。在任何情况下,变换处理单元252将变换应用于残余块,从而产生残余变换系数块。
所述变换可将残余信息从像素值域转换到变换域,例如频域。变换处理单元252可将所得变换系数发送到量化单元254。量化单元254可将所述变换系数量化以进一步减小位速率。量化过程可减少与变换系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元254可接着对包含经量化变换系数的矩阵执行扫描。替代地,熵编码单元256可执行所述扫描。
在量化之后,熵编码单元256可以对经量化变换系数进行熵译码。举例来说,熵编码单元256可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵译码技术。在基于上下文的熵译码的情况中,上下文可基于相邻块。在由熵编码单元256进行的熵译码之后,可以将经编码位流发射到另一装置(例如,视频解码器30),或者将所述经编码位流存档以用于稍后发射或检索。
逆量化单元258和逆变换单元260分别应用逆量化和逆变换,以重构像素域中的残余块,例如以用于稍后用作参考块。运动补偿单元244可以通过将残余块添加到参考帧存储器264的帧中的一者的预测块中来计算参考块。运动补偿单元244还可将一或多个内插滤波器应用于经重构的残余块以计算子整数像素值用于运动估计。求和器262可将经重构的残余块添加到由运动补偿单元244产生的运动补偿预测块以产生经重构视频块用于存储在参考帧存储器264中。经重构视频块可由运动估计单元242和运动补偿单元244使用作为参考块以对后续视频帧中的块进行帧间译码。
视频编码器20可以实质上类似用于对明度分量进行译码的译码技术的方式对深度图进行编码,即使是在无对应色度分量的情况下。举例来说,帧内预测单元246可帧内预测深度图的块,而运动估计单元242及运动补偿单元244可帧间预测深度图的块。
图13是说明可实施本发明的技术的视频解码器30的实例的框图。在图13的实例中,视频解码器30包含熵解码单元270、运动补偿单元272、帧内预测单元274、逆量化单元276、逆变换单元278、参考帧存储器282和求和器280。在一些实例中,视频解码器30执行总体上与相对于视频编码器20(图12)描述的编码遍次互逆的解码遍次。运动补偿单元272可基于从熵解码单元270接收的运动向量产生预测数据。换句话说,运动补偿单元272可基于根据从熵解码单元270接收的语法元素确定的运动向量产生预测数据。在不同实例中,熵解码单元270可或可不对此些语法元素进行熵解码。帧内预测单元274可基于从熵解码单元270接收的帧内预测模式指示符产生预测数据。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频块的视频块及相关联的语法元素的经编码视频位流。熵解码单元270熵解码位流以产生经量化系数、运动向量或帧内预测模式指示符及其它语法元素。换句话说,熵解码单元270可对位流中的至少一些语法元素进行熵解码。视频解码器30的各种组件可使用此些语法元素以确定经量化系数、运动向量、帧内预测模式指示符等。在一些实例中,熵解码单元270将运动向量和各种语法元素转发到运动补偿单元272。视频解码器30可以接收在视频切片层级和/或视频块层级处的语法元素。
当视频切片经译码为经帧内译码(I)切片时,帧内预测单元274可以基于用信号表示的帧内预测模式和来自当前帧或图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据。在视频帧被译码为经帧间译码(例如,B、P或GPB)切片时,运动补偿单元272可基于从熵解码单元270接收的运动向量及语法元素而产生用于当前视频切片的视频块的预测性块。可从参考图片列表中的一者内的参考图片中的一者产生预测性块。视频解码器30可基于存储在参考帧存储器282中的参考图片构造参考帧列表,列表0和列表1。
运动补偿单元272可通过剖析运动向量和其它语法元素确定用于当前视频切片的视频块的预测信息,并且可使用所述预测信息产生用于经解码当前视频块的预测性块。举例来说,运动补偿单元272可使用所接收语法元素中的一些确定用于对视频切片的视频块进行译码的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的参考图片列表中的一或多者的构造信息、切片的每一经帧间编码的视频块的运动向量、切片的每一经帧间译码的视频块的帧间预测状态和用以对当前视频切片中的视频块进行解码的其它信息。
运动补偿单元272还可基于内插滤波器执行内插。运动补偿单元272可使用由视频编码器20在视频块的编码期间使用的相同内插滤波器来计算参考块的子整数像素的内插值。在此状况下,运动补偿单元272可从所接收的语法元素确定由视频编码器20使用的内插滤波器,且使用内插滤波器产生预测性块。
根据本发明的一或多个技术,运动补偿单元272可产生合并候选者列表。作为产生合并候选者列表的部分,运动补偿单元272可确定视频数据的当前块的空间相邻块当中的第一可用视差运动向量。第一可用视差运动向量可对应于第一参考图片列表(例如,RefPicList0)。此外,运动补偿单元272可使第一可用视差运动向量的水平分量移位以导出DSMV候选者。运动补偿单元272可将DSMV候选者或额外IPMVC添加到合并候选者列表中。在一些实例中,运动补偿单元272在额外IPMVC候选者不可用的情况下将DSMV候选者添加到合并候选者列表代替额外IPMVC候选者。此外,运动补偿单元272可基于从位流获得的数据(例如,合并候选者索引)确定合并候选者列表中的选定候选者。运动补偿单元272可基于选定合并候选者的运动信息确定用于当前块的预测性块。
逆量化单元276可逆量化(即,解量化)在位流中提供且由熵解码单元270解码的经量化变换系数。换句话说,逆量化单元276可逆量化由包含在位流中的语法元素指示的经量化变换系数,其可由熵解码单元270熵解码。逆量化过程可包含使用视频解码器30针对视频切片中的每一视频块计算以确定应应用的量化程度和同样逆量化程度的量化参数QPY。逆变换单元278可对变换系数应用逆变换,例如逆DCT、逆整数变换或概念上类似的逆变换过程,以便产生像素域中的残余块。
在运动补偿单元272基于运动向量及其它语法元素产生当前视频块的预测性块之后,视频解码器30可(例如,通过将来自逆变换单元278的残余块与由运动补偿单元272产生的对应的预测性块求和)形成经解码视频块。求和器280可表示执行此求和运算的一或多个组件。必要时,还可应用解块滤波器以对经解码块进行滤波以便去除成块性假象。还可使用其它环路滤波器(在译码环路中或在译码环路之后)来使像素转变变平滑或者以其它方式改善视频质量。接着将给定帧或图片中的经解码视频块存储在参考图片存储器282中,参考图片存储器282存储用于后续运动补偿的参考图片。参考帧存储器282还存储经解码视频用于以后在显示装置(例如图1的显示装置32)上呈现。
图14A是说明根据本发明的一或多个技术的视频编码器20的实例操作的流程图。虽然图14A是参看图12解释,但图14A的操作不受如此限制。在图14A的实例中,一或多个动作可重新布置或省略。在其它实例中,类似操作可包含额外动作。
在图14A的实例中,视频编码器20的运动估计单元242可构造用于当前块(例如,当前PU)的合并候选者列表(300)。根据本发明的至少一些技术,运动估计单元242可产生合并候选者列表以使得所述合并候选者列表包含DSMV候选者或额外IPMVC。在一些实例中,运动估计单元242通过使空间相邻块的视差运动向量的水平分量移位而产生DSMV候选者。换句话说,DSMV候选者的水平分量可等于含有DMV的空间相邻块的视差运动向量的水平分量加偏移,且DSMV候选者的垂直分量可等于含有DMV的空间相邻块的视差向量的垂直分量。当没有空间相邻块含有视差运动向量时,运动估计单元242可通过将DSMV候选者的水平分量设定为等于当前块的视差向量的水平分量加偏移且通过将DSMV候选者的垂直分量设定为零而产生DSMV。此外,在一些实例中,运动估计单元242执行图15和图16中所示的实例操作以产生合并候选者列表。
在产生合并候选者列表之后,运动估计单元242可从合并候选者列表选择合并候选者(302)。另外,视频编码器20的运动补偿单元244可使用选定合并候选者的运动信息产生用于当前块的一或多个预测性块(304)。视频编码器20可在位流中用信号表示选定合并候选者的索引(306)。
图14B是说明根据本发明的一或多个技术的视频解码器30的实例操作的流程图。虽然图14B是参看图13解释,但图14B的操作不受如此限制。在图14B的实例中,一或多个动作可重新布置或省略。在其它实例中,类似操作可包含额外动作。
在图14B的实例中,视频解码器30的运动补偿单元272可构造用于当前块(例如,当前PU)的合并候选者列表(320)。根据本发明的至少一些技术,运动补偿单元272可产生合并候选者列表以使得所述合并候选者列表包含额外IPMVC或DSMV候选者。在一些实例中,运动补偿单元272通过使空间相邻块的视差运动向量的水平分量移位而产生DSMV候选者。换句话说,DSMV候选者的水平分量可等于空间相邻块的视差运动向量的水平分量加偏移,且DSMV候选者的垂直分量可等于空间相邻块的视差运动向量的垂直分量。当没有空间相邻块含有视差运动向量时,运动补偿单元272可通过将DSMV候选者的水平分量设定为等于当前块的视差向量的水平分量加偏移且通过将DSMV候选者的垂直分量设定为零而产生DSMV。此外,在一些实例中,运动补偿单元272执行图15和图16中所示的实例操作以产生合并候选者列表。
运动补偿单元272可基于在位流中用信号表示的索引而确定合并候选者列表中的选定合并候选者(322)。另外,运动补偿单元272可使用选定合并候选者的运动信息产生用于当前块的一或多个预测性块(324)。视频解码器30可至少部分地基于当前块的预测性块重构像素值(326)。
图15是说明根据本发明的一或多个技术的用以构造当前块的合并候选者列表的实例操作349的第一部分的流程图。在图15的实例操作中,一或多个动作可重新布置或省略。在其它实例中,类似操作可包含额外动作。
在图15的实例中,视频译码器(例如,视频编码器20或视频解码器30)可确定IPMVC(350)。在一些实例中,视频译码器可通过使用当前块的视差向量以识别视图间参考图片中的对应块来确定IPMVC。在此些实例中,如果对应块未经帧内预测且未经视图间预测且具有时间运动向量(即,指示参考图片中与不同于对应块的时间实例相关联的位置的运动向量),那么IPMVC可指定对应块的运动向量、对应块的预测方向指示符以及对应块的经转换参考索引。随后,视频译码器可确定IPMVC是否可用(352)。在一些实例中,如果视图间参考图片中的对应块经帧内预测或在视图间参考图片的边界外部,那么IPMVC不可用。响应于确定IPMVC可用(352的“是”),视频译码器可在合并候选者列表中插入IPMVC(354)。
在合并候选者列表中插入IPMVC之后或响应于确定IPMVC不可用(352的“否”),视频译码器可检查空间相邻PU以确定空间相邻PU是否具有可用运动向量(356)。在一些实例中,空间相邻PU覆盖图2中指示为A0、A1、B0、B1和B2的位置。为便于说明,本发明可将覆盖位置A0、A1、B0、B1和B2的PU的运动信息分别称为A0、A1、B0、B1和B2
在图15的实例中,视频译码器可确定A1是否匹配IPMVC(358)。响应于确定A1并不匹配IPMVC(358的“否”),视频译码器可将A1插入到合并候选者列表中(360)。否则,响应于确定A1匹配IPMVC(358的“是”)或在将A1插入到合并候选者列表中之后,视频译码器可确定B1是否匹配A1或IPMVC(362)。响应于确定B1并不匹配A1或IPMVC(362的“否”),视频译码器可将B1插入到合并候选者列表中(364)。另一方面,响应于确定B1匹配A1或IPMVC(362的“是”)或在将B1插入到合并候选者列表中之后,视频译码器可确定B0是否可用(366)。响应于确定B0可用(366的“是”),视频译码器可将B0插入到合并候选者列表中(368)。如果B0不可用(366的“否”)或在将B0插入到合并候选者列表中之后,视频译码器可确定IDMVC是否可用且不匹配A1或B1(370)。如果IDMVC指示在视图间参考图片的边界外部的位置,那么IDMVC可为不可用的。响应于确定IDMVC可用且并不匹配A1或B1(370的“是”),视频译码器可将IDMVC插入到合并候选者列表中(372)。如果IDMVC不可用或IDMVC匹配A1或B1(370的“否”)或在将IDMVC插入到合并候选者列表中之后,视频译码器可执行图16中所示的操作349的部分(由“A”表示)。
图16是说明根据本发明的一或多个技术的用以构造当前块的合并候选者列表的图15的实例操作349的第二部分的流程图。如上文所指出,视频译码器可在IDMVC不可用或IDMVC匹配A1或B1(370的“否”)或在将IDMVC插入到合并候选者列表中之后执行图16中所示的操作349的部分。因此,如果IDMVC不可用或IDMVC匹配A1或B1(370的“否”)或在将IDMVC插入到合并候选者列表中之后,视频译码器可确定BVSP是否经启用(374)。如果BVSP经启用(374的“是”),那么视频译码器可将BVSP候选者插入到合并候选者列表中(376)。如果BVSP未经启用(374的“否”)或在将BVSP候选者插入到合并候选者列表中之后,视频译码器可确定A0是否可用(378)。如果A0可用(378的“是”),那么视频译码器可将A0插入到合并候选者列表中(380)。否则,如果A0不可用(378的“否”)或在将A0插入到合并候选者列表中之后,视频译码器可确定B2是否可用(382)。如果B2可用(382的“是”),那么视频译码器可将B2插入到合并候选者列表中(384)。
如果B2不可用(382的“否”)或在将B2插入到合并候选者列表中之后,视频译码器可确定额外合并候选者(385)。视频译码器可以各种方式确定额外合并候选者。根据本发明的一或多个技术,视频译码器可执行图16-19和/或图20的实例操作以确定额外合并候选者。额外合并候选者可为额外IPMVC或DSMV候选者。在确定额外合并候选者之后,视频译码器可确定额外合并候选者是否为额外IPMVC(386)。如果额外合并候选者是额外IPMVC(386的“是”),那么视频译码器可确定所述额外IPMVC是否匹配动作(350)中所确定的IPMVC(387)。如果所述额外IPMVC并不匹配IPMVC(387的“否”)或如果所述额外合并候选者不是额外IPMVC(即,额外合并候选者是DSMV候选者)(386的“否”),那么视频译码器可在合并候选者列表中包含所述额外合并候选者(即,额外IPMVC或DSMV候选者)(388)。
如果额外合并候选者是额外IPMVC且额外IPMVC匹配IPMVC(387的“是”)或在合并候选者列表中包含额外合并候选者之后,视频译码器可在合并候选者列表中包含时间合并候选者(390)。此外,视频译码器可执行用于组合双向预测合并候选者的导出过程(392)。HEVCWD10的章节8.5.3.2.3中描述用于零运动向量候选者的实例导出过程。另外,视频译码器可执行用于零运动向量候选者的导出过程(394)。HEVCWD10的章节8.5.3.2.4中描述用于零运动向量候选者的实例导出过程。
图17是说明根据本发明的一或多个技术的用以确定额外合并候选者的实例操作399的第一部分的流程图。额外合并候选者可为额外IPMVC或DSMV候选者。在操作399中,一或多个动作可重新布置或省略。在其它实例中,类似操作可包含额外动作。
在图17的实例中,视频译码器(例如,视频编码器20或视频解码器30)可确定经移位的视差向量(400)。在一些实例中,视频译码器可通过使当前块(即,视频译码器当前正在译码的块)的视差向量水平地移位第一值且垂直地移位第二值而确定经移位的视差向量。在一些实例中,当前块是PU且所述第一值等于(((W/2)*4)+4)且所述第二值等于(((H/2)*4)+4),其中W是当前块的宽度且H是当前块的高度。
视频译码器可使用经移位的视差向量以确定视图间参考图片中的对应块(402)。举例来说,视频译码器可识别视图间参考图片中对应于通过经移位的视差向量移位的当前块的中心位置的像素。此外,视频译码器可确定对应块的至少一个运动向量是否可用(404)。举例来说,视频译码器可在对应块经帧内预测的情况下或在所述对应块在视图间参考图片的边界外部的情况下确定没有所述对应块的运动向量可用。如果所述对应块的至少一个运动向量可用(404的“是”),那么视频译码器可基于对应块的运动信息产生额外IPMVC(406)。举例来说,覆盖所识别像素的块内部的运动信息可用以产生额外IPMVC候选者。视频译码器可包含额外IPMVC作为合并候选者列表中的额外合并候选者。在一些实例中,视频译码器仅当额外IPMVC不同于原始IPMVC时在合并候选者列表中包含额外IPMVC。举例来说,视频译码器可在图16的动作388中在合并候选者列表中包含额外IPMVC。
以此方式,视频译码器可使用当前块的视差向量来定位参考视图中的第一对应块。此外,响应于确定第一对应块的运动信息可用,视频译码器可将第一IPMVC插入到合并候选者列表中。第一IPMVC可指示第一对应块的至少一个运动向量。另外,视频译码器可通过使当前块的视差向量水平地移位第一值且垂直地移位第二值而确定经移位的视差向量。视频译码器可使用经移位的视差向量来定位参考视图中的第二对应块。响应于确定第二对应块的运动信息可用且并不匹配第一IPMVC的运动信息,视频译码器可将第二IPMVC插入到合并候选者列表中,所述第二IPMVC指示第二对应块的至少一个运动向量。
另一方面,如果对应块的运动向量不可用(404的“否”),那么视频译码器可确定是否存在仍待检查是否有可用视差运动向量的至少一个空间相邻块(408)。在一些实例中,待检查的空间相邻块是对应于位置A1、B1、B0、A0和B2的空间相邻块(图2)。此外,在一些实例中,视频译码器可按A1、B1、B0、A0和B2的次序检查空间相邻块。
如果存在仍待检查是否有可用视差运动向量的至少一个空间相邻块(408的“是”),那么视频译码器可确定当前空间相邻块(即,在执行操作399的过程中尚未经检查以确定用于包含在当前块的合并候选者列表中的额外合并候选者的空间相邻块)是否具有可用视差运动向量(410)。在一些实例中,如果当前空间相邻块的RefPicList0参考索引指示视图间参考图片,那么当前空间相邻块具有可用视差运动向量。在其它实例中,如果当前空间相邻块的RefPicList0参考索引指示视图间参考图片且当前空间相邻块的RefPicList1参考索引指示时间参考图片,那么当前空间相邻块具有可用视差运动向量。
响应于确定当前空间相邻块具有可用视差运动向量(410的“是”),视频译码器可执行图18中所示的操作399的部分(由“A”指示)。否则,如果当前空间相邻块并不具有可用视差运动向量(410的“否”),那么视频译码器可再次确定是否存在仍待检查的至少一个空间相邻块(408)。如果存在待检查的另一空间相邻块,那么视频译码器可确定此空间相邻块是否具有可用视差运动向量。以此方式,视频译码器可继续检查空间相邻块直到视频译码器识别出具有可用视差运动向量的空间相邻块或直到不存在剩余待检查空间相邻块为止。响应于确定不存在剩余待检查空间相邻块(408的“否”),视频译码器可执行图19中所示的操作399的部分(由“B”指示)。
图18是说明根据本发明的一或多个技术的用以确定额外合并候选者的操作399的第二部分的流程图。如上文所指出,视频译码器可当视频译码器识别出具有可用视差运动向量的空间相邻块时执行图18中所示的操作399的部分。
在图18的实例中,视频译码器可将DSMV候选者的RefPicList0运动向量(即,“MV”)的水平分量设定为当前空间相邻块(即,具有第一可用视差运动向量的空间相邻块)的RefPicList0视差运动向量的水平分量加偏移(430)。在一些实例中,所述偏移可等于4。另外,视频译码器可将DSMV候选者的RefPicList0运动向量的垂直分量设定为当前空间相邻块的RefPicList0视差运动向量的垂直分量(432)。在一些实例中,当BVSP经启用用于当前图片或切片时,视频译码器可将DSMV候选者的RefPicList0运动向量的垂直分量设定为零。
视频译码器可将DSMV候选者的RefPicList1运动向量的水平分量设定为当前空间相邻块的RefPicList1运动向量的水平分量(434)。此外,视频译码器可将额外DSMV候选者的RefPicList1运动向量的垂直分量设定为当前空间相邻块的RefPicList1运动向量的垂直分量(436)。视频译码器可将DSMV候选者的参考索引设定为当前空间相邻块的参考索引(438)。视频译码器可在合并候选者列表中包含DSMV候选者作为额外合并候选者。举例来说,视频译码器可在图16的动作388中在合并候选者列表中包含DSMV候选者。
图19是说明根据本发明的一或多个技术的用以确定额外合并候选者的实例操作的第三部分的流程图。如上文所指出,视频译码器可当没有空间相邻块具有可用视差运动向量时执行图19中所示的操作399的部分。
在图19的实例中,视频译码器可将DSMV候选者的RefPicList0运动向量(即,“MV”)的水平分量设定为当前块的视差运动向量的水平分量加偏移(450)。在一些实例中,所述偏移可等于4。另外,视频译码器可将DSMV候选者的RefPicList0运动向量的垂直分量设定为零(452)。此外,视频译码器可将DSMV候选者的RefPicList1运动向量的水平分量设定为当前块的视差向量的水平分量加偏移(454)。在一些实例中,所述偏移可等于4。视频译码器可将DSMV候选者的RefPicList1运动向量的垂直分量设定为零(456)。另外,视频译码器可将DSMV候选者的RefPicList0参考索引设定为RefPicList0中属于在当前块的视差向量的导出期间(例如,在NBDV或DoNBDV导出操作期间)识别的参考视图的图片的参考索引(458)。视频译码器可将DSMV候选者的RefPicList1参考索引设定为RefPicList1中属于在当前块的视差向量的导出期间(例如,在NBDV或DoNBDV导出操作期间)识别的参考视图的图片的参考索引(460)。
图20是说明根据本发明的一或多个技术的视频译码器的实例操作的流程图。在图20的实例中,一或多个动作可重新布置或省略。在其它实例中,类似操作可包含额外动作。
在图20的实例中,视频译码器(例如,视频编码器20或视频解码器30)可确定视频数据的当前块的空间相邻块当中的第一可用视差运动向量(470)。第一可用视差运动向量可对应于第一参考图片列表(例如,RefPicList0)。此外,视频译码器可使第一可用视差运动向量的水平分量移位以导出DSMV候选者(472)。视频译码器可将DSMV候选者添加到合并候选者列表中(474)。在一些实例中,视频译码器当从经移位的视差向量产生的IPMVC(即,由经移位的视差向量指示的视图间参考块的合并候选者指示运动信息)不可用时将DSMV候选者添加到合并候选者列表中。此外,在一些实例中,如果视频译码器是视频编码器,那么所述视频编码器可从合并候选者列表选择候选者且在位流中包含表示选定合并候选者的索引的数据。视频编码器可基于选定合并候选者的运动信息确定当前块的预测性块。视频编码器可在位流中包含表示部分地基于预测性块确定的残余数据的数据。在其它实例中,如果所述视频解码器是视频解码器,那么所述视频解码器可基于从位流获得的数据确定合并候选者列表中的选定合并候选者。此外,视频解码器可基于选定合并候选者的运动信息确定当前块的预测性块。视频解码器可基于残余数据和预测性块重构当前块的样本值。
以下段落提供本发明的额外实例技术。
实例1。一种对多视图视频数据进行译码的方法包括:导出用于合并模式运动向量预测候选者列表的经视图间预测的运动向量候选者以用于对当前视频数据块进行译码;导出用于所述合并模式运动向量预测候选者列表的一或多个额外经视图间预测的运动向量候选者,其中所述一或多个额外经视图间预测的运动向量候选者是从所述当前视频数据块的一或多个经移位视差向量导出;以及使用所述合并模式运动向量预测候选者列表对所述当前视频数据块的运动向量进行译码。
实例2。实例1的方法,其中所述一或多个经移位视差向量中的至少一者被水平地移位第一值M1且垂直地移位第二值M2。
实例3。实例2的方法,其中所述第一值M1和所述第二值M2是不同值。
实例4。实例2的方法,其中所述第一值M1和所述第二值M2是相同值。
实例5。实例2的方法,其中所述第一值M1和所述第二值M2可采取来自包含4、8、16、32、64、-4、-8、-16、-32和-64的列表的任何值。
实例6。实例2的方法,其中所述第一值M1等于一个参考视图内的最小预测单元的宽度,且所述第二值M1等于一个参考视图内的所述最小预测单元的高度。
实例7。实例2的方法,其中所述第一值M1等于一个参考视图内的最小译码单元的宽度,且所述第二值M1等于一个参考视图内的所述最小译码单元的高度。
实例8。实例2的方法,其中所述第一值M1等于当前视频数据块的宽度,且所述第二值M1等于所述当前视频数据块的高度。
实例9。实例1的方法,其中导出用于所述合并模式运动向量预测候选者列表的一或多个额外经视图间预测的运动向量候选者不产生额外候选者,所述方法进一步包括:使来自空间相邻块的第一可用视差运动向量移位所述第一可用视差运动向量的水平分量以产生视差移位运动向量;以及将所述视差移位运动向量添加到所述合并模式运动向量预测候选者列表。
实例10。实例1的方法,其中所述一或多个额外经视图间预测的运动向量候选者添加到所述合并模式运动向量预测候选者列表处于任何空间候选者之后。
实例11。实例10的方法,其中所述一或多个额外经视图间预测的运动向量候选者添加在时间运动向量预测候选者之后。
实例12。实例10的方法,其中所述一或多个额外经视图间预测的运动向量候选者添加在时间运动向量预测候选者之前。
实例13。实例10的方法,其中所述一或多个额外经视图间预测的运动向量候选者中的一者添加在时间运动向量预测候选者之后,且所述一或多个额外经视图间预测的运动向量候选者中的另一者添加在时间运动向量预测候选者之前。
实例14。一种经配置以对视频数据进行译码的设备包括:用于导出用于合并模式运动向量预测候选者列表的经视图间预测的运动向量候选者以用于对当前视频数据块进行译码的装置;用于导出用于所述合并模式运动向量预测候选者列表的一或多个额外经视图间预测的运动向量候选者的装置,其中所述一或多个额外经视图间预测的运动向量候选者是从所述当前视频数据块的一或多个经移位视差向量导出;以及用于使用所述合并模式运动向量预测候选者列表对所述当前视频数据块的运动向量进行译码的装置。
实例15。经配置以执行实例1-13的方法的任一组合的视频编码器。
实例16。经配置以执行实例1-13的方法的任一组合的视频解码器。
实例17。存储指令的计算机可读存储媒体,所述指令当执行时致使经配置以对视频数据进行编码的装置的一或多个处理器执行实例1-13的方法的任一组合。
实例18。存储指令的计算机可读存储媒体,所述指令当执行时致使经配置以对视频数据进行解码的装置的一或多个处理器执行实例1-13的方法的任一组合。
实例19。本发明中描述的方法的任一组合。
实例20。经配置以执行本发明中描述的方法中的任一者或其组合的装置。
应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可用不同顺序执行、可添加、合并或全部省略(例如,实践所述技术并不需要所有的所描述动作或事件)。此外,在某些实例中,可(例如)通过多线程处理、中断处理或多个处理器同时而非循序地执行动作或事件。
所属领域的技术人员将认识到,结合本文揭示的方法、系统和设备描述的各种说明性逻辑块、模块、电路和算法步骤可实施为电子硬件、由处理器执行的计算机软件,或两者的组合。为清晰地说明硬件与软件的此可互换性,上文已大体就其功能性而言描述了各种说明性组件、块、模块、电路和步骤。此功能性是实施为硬件还是软件取决于具体应用及施加于整个系统的设计约束。熟练的技术人员可针对每一特定应用以不同方式来实施所描述功能性,但此类实施方案决策不应被解释为会导致脱离本发明的范围。
本文揭示的实例可用电子装置或电路实施或执行,所述电子装置或电路例如通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或经设计以执行本文中所描述的功能的其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或其任何组合。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规的处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器,或任何其它此类配置。
在一或多个实例中,所描述的功能可用硬件、软件、固件或其任何组合来实施。如果用软件实施,那么所述功能可以作为一或多个指令或代码在计算机可读媒体上存储或发射,并且由基于硬件的处理单元来执行。计算机可读媒体可包括计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据一种通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)有形计算机可读存储媒体,其是非暂时的,或(2)通信媒体,例如信号或载波。数据存储媒体可以是可由一或多个计算机或一个或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可以包含计算机可读媒体。
借助于实例而非限制,此类计算机可读存储媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或任何其它可用来存储呈指令或数据结构的形式的所要的程序代码并且可由计算机存取的媒体。而且,任何连接可恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电及微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体及数据存储媒体并不包含连接、载波、信号或其它暂时性媒体,而是实际上针对于非暂时性有形存储媒体。如本文所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。上述各项的组合也应包含在计算机可读媒体的范围内。
可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行所述指令。因此,如本文中所使用的术语“处理器”可可指代上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可在经配置用于编码和解码的专用硬件和/或软件模块内提供,或者并入在组合式编解码器中。并且,可将所述技术完全实施于一或多个电路或逻辑元件中。
因此,结合本文所揭示的实例描述的方法或算法的步骤可直接以硬件、以由处理器执行的软件模块或以所述两者的组合来体现。软件模块可驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可卸除式磁盘、CD-ROM,或所属领域中已知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息和将信息写入到存储媒体。在替代方案中,存储媒体可与处理器成一体式。处理器及存储媒体可驻留在ASIC中。ASIC可驻留于用户终端中。在替代例中,处理器及存储媒体可作为离散组件驻留于用户终端中。
本发明的技术可在广泛多种装置或设备中实施,包括无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元来强调经配置以执行所揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。实际上,如上文所描述,各种单元可以配合合适的软件及/或固件组合在编解码器硬件单元中,或通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
已描述了各种实例。这些及其它实例在所附权利要求书的范围内。

Claims (30)

1.一种对视频数据进行译码的方法,所述方法包括:
确定所述视频数据的当前块的空间相邻块当中的第一可用视差运动向量,所述第一可用视差运动向量对应于第一参考图片列表;
使所述第一可用视差运动向量的水平分量移位以导出视差移位运动向量DSMV候选者;以及
将所述DSMV候选者添加到合并候选者列表中。
2.根据权利要求1所述的方法,其中:
所述空间相邻块包含特定空间相邻块,
所述第一可用视差运动向量是所述特定空间相邻块的第一运动向量,且
所述方法包括当所述空间相邻块中的至少一者具有视差运动向量时:
将所述DSMV候选者的第一运动向量设定为所述特定空间相邻块的所述第一运动向量;
将所述DSMV候选者的第二运动向量设定为所述特定空间相邻块的第二运动向量,所述特定空间相邻块的所述第二运动向量对应于第二参考图片列表;
将对应于所述DSMV候选者的所述第一运动向量的参考索引设定为对应于所述特定空间相邻块的所述第一运动向量的参考索引;
将对应于所述DSMV候选者的所述第二运动向量的参考索引设定为对应于所述特定空间相邻块的所述第二运动向量的参考索引;以及
将偏移添加到所述DSMV候选者的所述第一运动向量的水平分量,进而有效地使所述第一可用视差运动向量的所述水平分量移位以导出所述DSMV候选者。
3.根据权利要求2所述的方法,其进一步包括当没有所述空间相邻块具有视差运动向量时:
将所述DSMV候选者的所述第一运动向量和所述DSMV候选者的所述第二运动向量设定为所述当前块的视差向量;
将所述偏移添加到所述DSMV候选者的所述第一运动向量的所述水平分量且将所述偏移添加到所述DSMV候选者的所述第二运动向量的水平分量;以及
将所述DSMV候选者的所述第一运动向量的垂直分量和所述DSMV候选者的所述第二运动向量的垂直分量设定为0。
4.根据权利要求3所述的方法,其进一步包括:
执行基于相邻块的过程以确定所述当前块的所述视差向量,其中所述过程连同所述当前块的所述视差向量一起识别参考视图;以及
当没有所述空间相邻块具有视差运动向量时:
将对应于所述DSMV候选者的所述第一运动向量的所述参考索引设定为在所述第一参考图片列表中且属于所述所识别参考视图的图片的参考索引;以及
将对应于所述DSMV候选者的所述第二运动向量的所述参考索引设定为在所述第二参考图片列表中且属于所述所识别参考视图的图片的参考索引。
5.根据权利要求2所述的方法,其中当后向扭曲视图合成预测经启用用于整个图片或当前序列时,执行以下各项中的至少一者:
当所述DSMV候选者的所述第一运动向量是从所述第一可用视差运动向量导出时将所述DSMV候选者的所述第一运动向量的垂直分量设定为0;以及
当所述DSMV候选者的所述第二运动向量是从所述第一可用视差运动向量导出时将所述DSMV候选者的所述第二运动向量的垂直分量设定为0。
6.根据权利要求2所述的方法,其中所述偏移等于4。
7.根据权利要求1所述的方法,其中将所述DSMV候选者添加到所述合并候选者列表中包括:将所述DSMV候选者添加到所述合并候选者列表中紧接在所述当前块左上方的空间相邻块的合并候选者之后。
8.根据权利要求1所述的方法,其进一步包括:
使用所述当前块的视差向量来定位参考视图中的第一对应块;
响应于确定所述第一对应块的运动信息可用,将第一视图间预测运动向量候选者IPMVC插入到所述合并候选者列表中,所述第一IPMVC指示所述第一对应块的至少一个运动向量;
通过使所述当前块的所述视差向量水平地移位第一值且垂直地移位第二值而确定经移位的视差向量;
使用所述经移位的视差向量来定位所述参考视图中的第二对应块,且
响应于确定所述第二对应块的所述运动信息可用且不匹配所述第一IPMVC的所述运动信息,将第二IPMVC插入到所述合并候选者列表中,所述第二IPMVC指示所述第二对应块的至少一个运动向量。
9.根据权利要求8所述的方法,其中将所述第二IPMVC候选者插入到所述合并候选者列表中包括:将所述第二IPMVC候选者插入到所述合并候选者列表中紧接在所述当前块左上方的空间相邻块的合并候选者之后。
10.根据权利要求8所述的方法,其进一步包括当所述第二IPMVC不可用时产生所述DSMV候选者。
11.根据权利要求8所述的方法,其中所述当前块是预测单元PU且所述第一值等于(((W/2)*4)+4)且所述第二值等于(((H/2)*4)+4),其中W是所述当前块的宽度且H是所述当前块的高度。
12.根据权利要求1所述的方法,其进一步包括:
从所述合并候选者列表选择合并候选者;
使用所述选定合并候选者的运动信息产生预测性块;以及
在位流中用信号表示所述选定合并候选者的索引。
13.根据权利要求1所述的方法,其进一步包括:
基于在位流中用信号表示的索引确定所述合并候选者列表中的选定合并候选者;
使用所述选定合并候选者的运动信息产生当前块的预测性块;以及
至少部分地基于所述预测性块重构像素值。
14.一种设备,其包括:
存储器,其存储视频数据,以及
一或多个处理器,其经配置以:
确定所述视频数据的当前块的空间相邻块当中的第一可用视差运动向量,所述第一可用视差运动向量对应于第一参考图片列表;
使所述第一可用视差运动向量的水平分量移位以导出视差移位运动向量DSMV候选者;以及
将所述DSMV候选者添加到合并候选者列表中。
15.根据权利要求14所述的设备,其中:
所述空间相邻块包含特定空间相邻块,
所述第一可用视差运动向量是所述特定空间相邻块的第一运动向量,且
所述一或多个处理器经配置使得当所述空间相邻块中的至少一者具有视差运动向量时,所述一或多个处理器:
将所述DSMV候选者的第一运动向量设定为所述特定空间相邻块的所述第一运动向量;
将所述DSMV候选者的第二运动向量设定为所述特定空间相邻块的第二运动向量,所述特定空间相邻块的所述第二运动向量对应于第二参考图片列表;
将对应于所述DSMV候选者的所述第一运动向量的参考索引设定为对应于所述特定空间相邻块的所述第一运动向量的参考索引;
将对应于所述DSMV候选者的所述第二运动向量的参考索引设定为对应于所述特定空间相邻块的所述第二运动向量的参考索引;以及
将偏移添加到所述DSMV候选者的所述第一运动向量的水平分量,进而有效地使所述第一可用视差运动向量的所述水平分量移位以导出所述DSMV候选者。
16.根据权利要求15所述的设备,其中所述一或多个处理器经配置使得当没有所述空间相邻块具有视差运动向量时,所述一或多个处理器:
将所述DSMV候选者的所述第一运动向量和所述DSMV候选者的所述第二运动向量设定为所述当前块的视差向量;
将所述偏移添加到所述DSMV候选者的所述第一运动向量的所述水平分量且将所述偏移添加到所述DSMV候选者的所述第二运动向量的水平分量;以及
将所述DSMV候选者的所述第一运动向量的垂直分量和所述DSMV候选者的所述第二运动向量的垂直分量设定为0。
17.根据权利要求16所述的设备,其中所述一或多个处理器经配置以:
执行基于相邻块的过程以确定所述当前块的所述视差向量,其中NBDV导出过程连同所述当前块的所述视差向量一起识别参考视图;以及
当所述第一可用视差运动向量不可用时:
将对应于所述DSMV候选者的所述第一运动向量的所述参考索引设定为在所述第一参考图片列表中且属于所述所识别参考视图的图片的参考索引;以及
将对应于所述DSMV候选者的所述第二运动向量的所述参考索引设定为在所述第二参考图片列表中且属于所述所识别参考视图的图片的参考索引。
18.根据权利要求15所述的设备,其中所述一或多个处理器经配置使得当后向扭曲视图合成预测经启用用于整个图片或当前序列时,所述一或多个处理器执行以下各项中的至少一者:
当所述DSMV候选者的所述第一运动向量是从所述第一可用视差运动向量导出时将所述DSMV候选者的所述第一运动向量的垂直分量设定为0;以及
当所述DSMV候选者的所述第二运动向量是从所述第一可用视差运动向量导出时将所述DSMV候选者的所述第二运动向量的垂直分量设定为0。
19.根据权利要求15所述的设备,其中所述偏移等于4。
20.根据权利要求14所述的设备,其中所述一或多个处理器经配置以将所述DSMV候选者添加到所述合并候选者列表中紧接在所述当前块左上方的空间相邻块的合并候选者之后。
21.根据权利要求14所述的设备,其中所述IPMVC是第一IPMVC,且所述一或多个处理器进一步经配置以:
使用所述当前块的视差向量来定位参考视图中的第一对应块;
响应于确定所述第一对应块的运动信息可用,将第一视图间预测运动向量候选者IPMVC插入到所述合并候选者列表中,所述第一IPMVC指示所述第一对应块的至少一个运动向量;
通过使所述当前块的所述视差向量水平地移位第一值且垂直地移位第二值而确定经移位的视差向量;
使用所述经移位的视差向量来定位所述参考视图中的第二对应块,且
响应于确定所述第二对应块的所述运动信息可用且不匹配所述第一IPMVC的所述运动信息,将第二IPMVC插入到所述合并候选者列表中,所述第二IPMVC指示所述第二对应块的至少一个运动向量。
22.根据权利要求21所述的设备,其中所述一或多个处理器经配置以当所述第二IPMVC不可用时产生所述DSMV候选者。
23.根据权利要求21所述的设备,其中所述一或多个处理器经配置以将所述第二IPMVC候选者插入到所述合并候选者列表中紧接在所述当前块左上方的空间相邻块的合并候选者之后。
24.根据权利要求21所述的设备,其中所述当前块是预测单元PU且所述第一值等于(((W/2)*4)+4)且所述第二值等于(((H/2)*4)+4),其中W是所述当前块的宽度且H是所述当前块的高度。
25.根据权利要求14所述的设备,其中所述一或多个处理器经配置以:
从所述合并候选者列表选择合并候选者;
使用所述选定合并候选者的运动信息产生预测性块;以及
在位流中用信号表示所述选定合并候选者的索引。
26.根据权利要求14所述的设备,其中所述一或多个处理器经配置以:
基于在位流中用信号表示的索引确定所述合并候选者列表中的选定合并候选者;
使用所述选定合并候选者的运动信息产生当前块的预测性块;以及
至少部分地基于所述预测性块重构像素值。
27.一种设备,其包括:
用于确定视频数据的当前块的空间相邻块当中的第一可用视差运动向量的装置,所述第一可用视差运动向量对应于第一参考图片列表;
用于使所述第一可用视差运动向量的水平分量移位以导出视差移位运动向量DSMV候选者的装置;以及
用于将所述DSMV候选者添加到合并候选者列表中的装置。
28.根据权利要求27所述的设备,其进一步包括:
用于使用所述当前块的视差向量来定位参考视图中的第一对应块的装置;
用于响应于确定所述第一对应块的运动信息可用将第一视图间预测运动向量候选者IPMVC插入到所述合并候选者列表中的装置,所述第一IPMVC指示所述第一对应块的至少一个运动向量;
用于通过使所述当前块的所述视差向量水平地移位第一值且垂直地移位第二值而确定经移位的视差向量的装置;
用于使用所述经移位的视差向量来定位所述参考视图中的第二对应块的装置,以及
用于响应于确定所述第二对应块的所述运动信息可用且不匹配所述第一IPMVC的所述运动信息将第二IPMVC插入到所述合并候选者列表中的装置,所述第二IPMVC指示所述第二对应块的至少一个运动向量。
29.根据权利要求27所述的设备,其进一步包括:
用于从所述合并候选者列表选择合并候选者的装置;
用于使用所述选定合并候选者的运动信息产生预测性块的装置;以及
用于在位流中用信号表示所述选定合并候选者的索引的装置。
30.根据权利要求27所述的设备,其进一步包括:
用于基于在位流中用信号表示的索引确定所述合并候选者列表中的选定合并候选者的装置;
用于使用所述选定合并候选者的运动信息产生当前块的预测性块的装置;以及
用于至少部分地基于所述预测性块重构像素值的装置。
CN201480019480.4A 2013-04-04 2014-04-03 用于三维(3d)视频译码的高级合并模式 Active CN105122812B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201361808562P 2013-04-04 2013-04-04
US61/808,562 2013-04-04
US201361839287P 2013-06-25 2013-06-25
US61/839,287 2013-06-25
US201361845985P 2013-07-13 2013-07-13
US61/845,985 2013-07-13
US14/243,610 2014-04-02
US14/243,610 US9609347B2 (en) 2013-04-04 2014-04-02 Advanced merge mode for three-dimensional (3D) video coding
PCT/US2014/032788 WO2014165651A2 (en) 2013-04-04 2014-04-03 Advanced merge mode for three-dimensional (3d) video coding

Publications (2)

Publication Number Publication Date
CN105122812A true CN105122812A (zh) 2015-12-02
CN105122812B CN105122812B (zh) 2018-05-29

Family

ID=51654450

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480019480.4A Active CN105122812B (zh) 2013-04-04 2014-04-03 用于三维(3d)视频译码的高级合并模式

Country Status (6)

Country Link
US (1) US9609347B2 (zh)
EP (1) EP2982120A2 (zh)
JP (1) JP6254254B2 (zh)
KR (1) KR102187723B1 (zh)
CN (1) CN105122812B (zh)
WO (1) WO2014165651A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017118409A1 (en) * 2016-01-07 2017-07-13 Mediatek Inc. Method and apparatus for affine merge mode prediction for video coding system

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107071461B (zh) * 2010-12-14 2019-11-12 M&K控股株式会社 用于解码运动画面的设备
WO2014015807A1 (en) * 2012-07-27 2014-01-30 Mediatek Inc. Method of constrain disparity vector derivation in 3d video coding
WO2014166063A1 (en) * 2013-04-09 2014-10-16 Mediatek Inc. Default vector for disparity vector derivation for 3d video coding
WO2014168443A1 (ko) * 2013-04-11 2014-10-16 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
WO2014166119A1 (en) * 2013-04-12 2014-10-16 Mediatek Inc. Stereo compatibility high level syntax
WO2015006984A1 (en) * 2013-07-19 2015-01-22 Mediatek Singapore Pte. Ltd. Reference view selection for 3d video coding
KR20160072104A (ko) * 2013-10-18 2016-06-22 엘지전자 주식회사 멀티 뷰를 포함하는 비디오 부호화/복호화 방법 및 장치
CN111193930B (zh) * 2013-12-16 2021-11-30 浙江大学 一种前向双假设编码图像块的编解码方法和装置
WO2015192286A1 (en) 2014-06-16 2015-12-23 Qualcomm Incorporated Simplified shifting merge candidate and merge list derivation in 3d-hevc
US10587894B2 (en) * 2014-10-08 2020-03-10 Lg Electronics Inc. Method and device for encoding/decoding 3D video
US9886665B2 (en) * 2014-12-08 2018-02-06 International Business Machines Corporation Event detection using roles and relationships of entities
US10820007B2 (en) * 2015-01-21 2020-10-27 Samsung Electronics Co., Ltd. Method and apparatus for decoding inter-layer video, and method and apparatus for encoding inter-layer video
WO2016165069A1 (en) * 2015-04-14 2016-10-20 Mediatek Singapore Pte. Ltd. Advanced temporal motion vector prediction in video coding
WO2016178485A1 (ko) * 2015-05-05 2016-11-10 엘지전자 주식회사 영상 코딩 시스템에서 코딩 유닛 처리 방법 및 장치
WO2017010073A1 (ja) * 2015-07-10 2017-01-19 日本電気株式会社 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体
WO2017036414A1 (en) * 2015-09-02 2017-03-09 Mediatek Inc. Method and apparatus of decoder side motion derivation for video coding
KR20180085714A (ko) * 2015-12-17 2018-07-27 삼성전자주식회사 머지 후보 리스트를 이용한 비디오 복호화 방법 및 비디오 복호화 장치
CN109565605B (zh) * 2016-08-10 2021-06-29 松下电器(美国)知识产权公司 拍摄技术生成方法以及影像处理装置
US10511853B2 (en) * 2016-11-24 2019-12-17 Ecole De Technologie Superieure Method and system for parallel rate-constrained motion estimation in video coding
US10542279B2 (en) * 2017-09-25 2020-01-21 Intel Corporation Temporal motion vector prediction control in video coding
SG11202012700UA (en) 2018-06-28 2021-01-28 Huawei Tech Co Ltd Memory access window and padding for motion vector refinement and motion compensation
CN111010571B (zh) 2018-10-08 2023-05-16 北京字节跳动网络技术有限公司 组合仿射Merge候选的生成和使用
TWI720753B (zh) * 2018-12-21 2021-03-01 聯發科技股份有限公司 簡化的三角形合併模式候選列表導出的方法以及裝置
CN113615194B (zh) * 2019-03-05 2023-06-06 华为技术有限公司 使用抽取预测块的dmvr
US11109064B2 (en) * 2019-05-22 2021-08-31 Mediatek Inc. Signaling of motion vector difference derivation
CN114097228B (zh) 2019-06-04 2023-12-15 北京字节跳动网络技术有限公司 具有几何分割模式编解码的运动候选列表
EP3963890A4 (en) 2019-06-04 2022-11-02 Beijing Bytedance Network Technology Co., Ltd. BUILDING A LIST OF MOVEMENT CANDIDATES USING NEIGHBOR BLOCK INFORMATION
CN117354507A (zh) 2019-06-06 2024-01-05 北京字节跳动网络技术有限公司 视频编解码的运动候选列表构建
KR20220030995A (ko) 2019-07-14 2022-03-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 변환 블록 크기 제한
KR102476057B1 (ko) * 2019-09-04 2022-12-09 주식회사 윌러스표준기술연구소 클라우드 가상 현실을 위한 imu 센서 데이터를 활용한 비디오 인코딩 및 디코딩 가속 방법 및 장치
WO2021057996A1 (en) 2019-09-28 2021-04-01 Beijing Bytedance Network Technology Co., Ltd. Geometric partitioning mode in video coding
US20230396793A1 (en) * 2022-06-07 2023-12-07 Tencent America LLC Adjacent spatial motion vector predictor candidates improvement

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020963A (zh) * 2012-11-29 2013-04-03 北京航空航天大学 一种基于自适应分水岭的图割的多目立体匹配方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9124874B2 (en) * 2009-06-05 2015-09-01 Qualcomm Incorporated Encoding of three-dimensional conversion information with two-dimensional video sequence
KR101893559B1 (ko) * 2010-12-14 2018-08-31 삼성전자주식회사 다시점 비디오 부호화/복호화 장치 및 방법
US9485517B2 (en) * 2011-04-20 2016-11-01 Qualcomm Incorporated Motion vector prediction with motion vectors from multiple views in multi-view video coding
US9635355B2 (en) * 2011-07-28 2017-04-25 Qualcomm Incorporated Multiview video coding
US20140071235A1 (en) * 2012-09-13 2014-03-13 Qualcomm Incorporated Inter-view motion prediction for 3d video
WO2014054684A1 (ja) * 2012-10-02 2014-04-10 シャープ株式会社 画像復号装置および画像復号方法
CN102946535B (zh) * 2012-10-09 2015-05-13 华为技术有限公司 预测块的视差矢量预测值获取的方法和装置
CN102946536B (zh) * 2012-10-09 2015-09-30 华为技术有限公司 候选矢量列表构建的方法及装置
US9357214B2 (en) 2012-12-07 2016-05-31 Qualcomm Incorporated Advanced merge/skip mode and advanced motion vector prediction (AMVP) mode for 3D video
US9554150B2 (en) * 2013-09-20 2017-01-24 Qualcomm Incorporated Combined bi-predictive merging candidates for 3D video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020963A (zh) * 2012-11-29 2013-04-03 北京航空航天大学 一种基于自适应分水岭的图割的多目立体匹配方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017118409A1 (en) * 2016-01-07 2017-07-13 Mediatek Inc. Method and apparatus for affine merge mode prediction for video coding system
GB2561507A (en) * 2016-01-07 2018-10-17 Mediatek Inc Method and apparatus for affine merge mode prediction for video coding system
GB2561507B (en) * 2016-01-07 2021-12-22 Mediatek Inc Method and apparatus for affine merge mode prediction for video coding system

Also Published As

Publication number Publication date
EP2982120A2 (en) 2016-02-10
KR20150138309A (ko) 2015-12-09
CN105122812B (zh) 2018-05-29
WO2014165651A2 (en) 2014-10-09
KR102187723B1 (ko) 2020-12-07
WO2014165651A3 (en) 2015-04-23
JP2016514927A (ja) 2016-05-23
US9609347B2 (en) 2017-03-28
US20140301467A1 (en) 2014-10-09
JP6254254B2 (ja) 2017-12-27

Similar Documents

Publication Publication Date Title
CN105122812B (zh) 用于三维(3d)视频译码的高级合并模式
CN105556969B (zh) 视频译码中使用视差向量的块识别
CN105379282B (zh) 用于纹理译码的先进残余预测(arp)的方法和设备
CN104662909B (zh) 用于3d视频的视图间运动预测
CN103650505B (zh) 视频译码中的运动向量预测
CN105379288B (zh) 处理对视频译码的照明补偿
CN104769949B (zh) 用于视差向量导出的图片的选择的方法和装置
CN104904217B (zh) 用于视频译码扩展的时间运动向量预测
CN105027571B (zh) 三维视频译码中导出的视差向量
CN105637870A (zh) 使用不对称运动分割的视频译码技术
CN105874799A (zh) 用于3d视频译码的基于块的高级残差预测
CN104272741A (zh) 多视图译码和3d译码中的视图相依性
CN104685883A (zh) 用于3d视频的经视图间预测运动向量
CN105144715A (zh) 后向视图合成预测
CN105191319A (zh) 对3d视频译码中的视差向量导出和运动向量预测的简化
CN105075265A (zh) 3d视频译码中针对跳过和直接模式的视差向量导出
CN105052145A (zh) 剖析三维视频译码中的语法元素
CN104335589A (zh) 用于视频译码的视图间预测的视差向量产生
CN105580365A (zh) Hevc中的基于子预测单元(pu)的时间运动向量预测和3d-hevc中的子pu设计
CN105580364A (zh) Hevc中的基于子预测单元(pu)的时间运动向量预测和3d-hevc中的子pu设计
CN105359530A (zh) 面向深度的视图间运动向量预测
CN104170380A (zh) 视频译码中的视差矢量预测
CN104396250A (zh) 用于3d视频译码的深度图的帧内译码
CN105191317A (zh) 视图内以及跨越视图的深度查找表的预测性译码
CN105009586A (zh) 多视图或3维视频译码中的视图间残余预测

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant