以子预测单元为基础的先进时间运动向量预测的制作方法

文档序号:11291376阅读:324来源:国知局
以子预测单元为基础的先进时间运动向量预测的制造方法与工艺

本申请案请求2015年1月26日申请的美国临时申请案第62/107,933号的权益,所述申请案的全部内容特此以引用的方式并入。

本发明涉及视频译码。



背景技术:

数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(pda)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频流式发射装置及其类似者。数字视频装置实施视频译码技术,例如在由mpeg-2、mpeg-4、itu-th.263、itu-th.264/mpeg-4第10部分先进视频译码(avc)、itu-th.265(也被称作高效率视频译码(hevc))所定义的标准及这些标准的扩展中所描述的视频译码技术。视频装置可通过实施这些视频译码技术来更有效地发射、接收、编码、解码和/或存储数字视频信息。

视频译码技术包含空间(图片内)预测和/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(例如,视频帧或视频帧的一部分)分割为视频块,对于一些技术,视频块也可被称作树块、译码单元(cu)和/或译码节点。可使用相对于同一图片中的相邻块中的参考样本的空间预测来编码图片的经帧内译码(i)切片中的视频块。图片的经帧间译码(p或b)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。

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



技术实现要素:

一般来说,本发明描述与对视频数据的块的运动信息进行译码(例如,编码或解码)有关的技术。更确切地说,视频译码器(例如,视频编码器或视频解码器)可经配置以使用先进时间运动向量预测(atmvp)对当前块(例如,当前预测单元(pu))的运动信息进行译码。atmvp通常涉及使用时间运动向量来识别分裂成子pu的对应的预测单元。时间运动向量可仅识别分裂成子pu的对应块而不是将当前pu分裂成子pu,每一子pu具有其自身运动信息,且视频译码器可经配置以使用相应子pu的运动信息来预测当前块的对应部分。通过主动地避免分裂当前块,可针对当前块减少开销信令信息,同时仍达成可以其它方式由将当前块分裂成子pu而产生的当前块的部分的细粒度预测。

在一个实例中,译码视频数据的方法包含:针对视频数据的当前块,形成包含多个合并候选的合并候选列表,所述多个合并候选包含从四个相邻块至当前块的四个空间相邻候选及紧接在所述四个空间相邻候选之后的先进时间运动向量预测(atmvp)候选;译码至合并候选列表中的索引,所述索引识别合并候选列表中的多个合并候选中的合并候选;及使用经识别合并候选的运动信息译码视频数据的当前块。

在另一实例中,用于译码视频数据的装置包含:存储器,其经配置以存储视频数据;及视频译码器,其经配置以:针对视频数据的当前块形成包含多个合并候选的合并候选列表,所述多个合并候选包含从四个相邻块至当前块的四个空间相邻候选及紧接在所述四个空间相邻候选之后的先进时间运动向量预测(atmvp)候选;译码至合并候选列表中的索引,所述索引识别所述合并候选列表中的多个合并候选中的合并候选;及使用经识别合并候选的运动信息译码视频数据的当前块。

在另一实例中,用于译码视频数据的装置包含:用于针对视频数据的当前块形成包含多个合并候选的合并候选列表的装置,所述多个合并候选包含从四个相邻块至当前块的四个空间相邻候选及紧接在所述四个空间相邻候选之后的先进时间运动向量预测(atmvp)候选;用于译码至合并候选列表中的索引的装置,所述索引识别所述合并候选列表中的多个合并候选中的合并候选;及用于使用经识别合并候选的运动信息译码视频数据的当前块的装置。

在另一实例中,计算机可读存储媒体在其上存储有指令,所述指令在执行时使处理器:针对视频数据的当前块形成包含多个合并候选的合并候选列表,所述多个合并候选包含从四个相邻块至当前块的四个空间相邻候选及紧接在所述四个空间相邻候选之后的先进时间运动向量预测(atmvp)候选;译码至合并候选列表中的索引,所述索引识别所述合并候选列表中的多个合并候选中的合并候选;及使用经识别合并候选的运动信息译码视频数据的当前块。

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

附图说明

图1为绘示可利用用于实施先进时间运动向量预测(atmvp)的技术的实例视频编码及解码系统的框图。

图2为绘示可实施用于先进时间运动向量预测(atmvp)的技术的视频编码器的实例的框图。

图3为绘示可实施用于先进时间运动向量预测(atmvp)的技术的视频解码器的实例的框图。

图4为绘示高效率视频译码(hevc)中的空间相邻候选的概念图。

图5为绘示hevc中的时间运动向量预测(tmvp)的概念图。

图6为绘示用于3d-hevc的实例预测结构的概念图。

图7为绘示3d-hevc中的以子pu为基础的视图间运动预测的概念图。

图8为绘示从参考图片的子pu运动预测的概念图。

图9为绘示atmvp(类似于tmvp)中的相关图片的概念图。

图10为绘示根据本发明的技术的用于在编码过程期间将atmvp候选添加至候选列表的实例方法的流程图。

图11为绘示根据本发明的技术的用于在解码过程期间将atmvp候选添加至候选列表的实例方法的流程图。

具体实施方式

一般来说,本发明涉及视频编解码器中的运动向量预测。更具体来说,通过收集给定块(预测单元)的子块(子pu)层级中的运动向量而达成先进时间运动向量预测。

视频译码标准包含itu-th.261、iso/iecmpeg-1visual、itu-th.262或iso/iecmpeg-2visual、itu-th.263、iso/iecmpeg-4visual及itu-th.264(也称为iso/iecmpeg-4avc),包含其可调式视频译码(svc)及多视图视频译码(mvc)扩展。mvc的一个联合草案描述于2010年3月的“用于通用视听服务的先进视频译码(advancedvideocodingforgenericaudiovisualservices)”(itu-t规范h.264)中。

另外,存在新开发的视频译码标准,即由itu-t视频译码专家群组(vceg)及iso/iec运动图片专家群组(mpeg)的视频译码联合合作小组(jct-vc)开发的高效率视频译码(hevc)。hevc的最近草案可从http://phenix.int-evry.fr/jct/doc_end_user/documents/12_geneva/wg11/jctvc-l1003-v34.zip获得。hevc标准也在规范itu-th.265及国际标准iso/iec23008-2中共同提出,两者均名为“高效率视频译码(highefficiencyvideocoding)”且两者均公开于2014年10月。

运动信息:对于每一块,运动信息的集合可为可用的。运动信息的集合含有用于前向及后向预测方向的运动信息。在此,前向及后向预测方向为双向预测模式的两个预测方向,且术语“前向”及“后向”未必具有几何意义;实情为,其对应于当前图片的参考图片列表0(refpiclist0)及参考图片列表1(refpiclist1)。当仅一个参考图片列表可用于图片或切片时,仅refpiclist0可为可用的,且切片的每一块的运动信息始终为前向的。

对于每一预测方向,运动信息必含有参考索引及运动向量。在一些情况下,为简单起见,可以假设运动向量自身具有相关联参考索引的方式来参考所述运动向量。参考索引用于识别当前参考图片列表(refpiclist0或refpiclist1)中的参考图片。运动向量具有水平及竖直分量。

在视频译码标准中广泛使用图片次序计数(poc)以识别图片的显示次序。虽然存在一个经译码视频序列内的两个图片可具有相同poc值的情况,但经译码视频序列内通常不发生此类情况。当位流中存在多个经译码视频序列时,就解码次序来说,具有同一poc值的图片可更接近于所述此。图片的poc值通常用于参考图片列表构建、如hevc中的参考图片集合的导出及运动向量缩放。

先进视频译码(avc)(h.264)中的宏块(mb)结构:在h.264/avc中,每一帧间宏块(mb)可经分割成四个不同方式:

●一个16×16mb分割区

●两个16×8mb分割区

●两个8×16mb分割区

●四个8×8mb分割区

一个mb中的不同mb分割区每一方向可具有不同参考索引值(refpiclist0或refpiclist1)。

当mb不分割成四个8×8mb分割区时,其每一方向上的每一mb分割区仅具有一个运动向量。

当mb分割成四个8×8mb分割区时,每一8×8mb分割区可进一步分割成子块,所述子块中的每一者在每一方向上可具有不同运动向量。存在从8×8mb分割区获得子块的四种不同方式:

●一个8×8子块

●两个8×4子块

●两个4×8子块

●四个4×4子块

每一子块在每一方向上可具有不同运动向量。因此,运动向量以等于高于子块的层级存在。

avc中的时间直接模式:在avc中,可以用于b切片中的跳跃或直接模式的mb或mb分割区层级启用时间直接模式。对于每一mb分割区,与当前块的refpiclist1[0]中的当前mb分割区共置的块的运动向量可用于导出运动向量。共置块中的每一运动向量可基于poc距离缩放。

avc中的空间直接模式:在avc中,直接模式也可从空间相邻者预测运动信息。

高效率视频译码(hevc)中的译码单元(cu)结构:在hevc中,切片中的最大译码单元被称作译码树块(ctb)或译码树单元(ctu)。ctb含有四分树,所述四分树的节点为译码单元。

ctb的大小可在hevc主规范中的16×16至64×64的范围(尽管技术上可支持8×8ctb大小)。译码单元(cu)可与ctb大小相同,尽管且如8×8一样小。每一译码单元使用一个模式译码。当cu经帧间译码时,其可进一步分割成2个或4个预测单元(pu)或当另一分割区不适用时变为仅一个pu。当一个cu中存在两个pu时,其可为一半大小的矩形或具有cu的1/4或3/4大小的两个矩形大小。

当cu经帧间译码时,针对每一pu提供运动信息的一个集合。另外,每一pu通过独特帧间预测模式译码以导出运动信息的集合。

hevc中的运动预测:在hevc标准中,存在两个帧间预测模式,即,分别用于预测单元(pu)的合并(跳跃被视为合并的特殊情况)及先进运动向量预测(amvp)模式。

在amvp或合并模式中,针对多个运动向量预测子维持运动向量(mv)候选列表。当前pu的运动向量以及合并模式中的参考索引通过从mv候选列表获取一个候选而产生。

mv候选列表含有用于合并模式的至多5个候选及用于amvp模式的仅两个候选。合并候选可含有运动信息的集合,例如对应于两个参考图片列表(列表0及列表1)的运动向量及参考索引。若通过合并索引识别合并候选,则参考图片用于预测当前块,且确定相关联的运动向量。然而,在针对从列表0或列表1的每一潜在预测方向的amvp模式下,需要将参考索引与mv候选列表的mvp索引一起明确地用信号表示,因为amvp候选仅含有运动向量。在amvp模式中,可进一步改进经预测运动向量。

如从上文可见,合并候选对应于运动信息的全集合,而amvp候选仅含有用于特定预测方向的一个运动向量及参考索引。

以类似方式从相同空间及时间相邻块导出用于两个模式的候选。

针对2d视频编解码器的子pu设计,尤其是与先进tmvp有关的一者可遭遇以下问题。可通过定义将此类过程定义为额外候选(即atmvp候选)而达成以子pu为基础的时间运动向量预测过程。然而,存在对于此类atmvp候选的以下设计问题:

1.尽管atmvp候选可作为与tmvp一样的额外候选插入,但此类atmvp候选的位置以及与tmvp候选的相互作用以达成更高译码效率并不为人所知。

2.不清楚如何定义atmvp候选的可用性;若将检查所有子pu的所有运动向量以确定atmvp候选是否不可用,则其将具有高复杂度且因此可插入至atmvp候选中。

3.可需要利用atmvp候选的修剪过程;然而可并发利用此类候选的修剪。

4.用于atmvp候选以达成译码效率与复杂度之间的最佳折衷的各种其它设计细节仍是未知的。

图1为绘示可利用用于实施先进时间运动向量预测(atmvp)的技术的实例视频编码及解码系统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输出至存储装置。类似地,可通过输入接口从存储装置存取经编码数据。存储装置可包含多种分散式或局部存取式数据存储媒体中的任一者,诸如硬盘驱动器、blu-ray光盘、dvd、cd-rom、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置可对应于文件服务器或可存储由源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式发射或下载从存储装置存取所存储的视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、ftp服务器、网络附加存储(nas)装置或本地磁盘驱动器。目的地装置14可经由任何标准数据连接(包含因特网连接)而存取经编码视频数据。此数据连接可包含适合于存取存储于文件服务器上的经编码的视频数据的无线信道(例如,wi-fi连接)、有线连接(例如,dsl、缆线调制解调器,等等),或两者的组合。经编码视频数据从存储装置的发射可为流式发射、下载发射或其组合。

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

在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。目的地装置14包含输入接口28、视频解码器30及显示装置32。根据本发明,源装置12的视频编码器20可经配置以应用用于先进时间运动向量预测(atmvp)的技术。在其它实例中,源装置及目的地装置可包含其它组件或布置。举例来说,源装置12可从外部视频源18(诸如,外部相机)接收视频数据。同样地,目的地装置14可与外部显示装置接口连接,而非包含集成式显示装置。

图1的所绘示的系统10仅为一个实例。用于先进时间运动向量预测(atmvp)的技术可通过任何数字视频编码和/或解码装置来执行。虽然本发明的技术一般由视频编码装置执行,但所述技术也可由视频编码器/解码器(通常被称作“编解码器”)执行。此外,本发明的技术也可由视频预处理器执行。源装置12及目的地装置14仅为其中源装置12产生经译码视频数据以供发射到目的地装置14的此类译码装置的实例。在一些实例中,装置12、14可以基本上对称的方式操作,使得装置12、14中的每一者包含视频编码及解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频发射以(例如)用于视频流式发射、视频播放、视频广播或视频电话。

源装置12的视频源18可包含视频捕获装置,诸如视频相机、含有先前捕获的视频的视频存档和/或用于从视频内容提供者接收视频的视频馈送接口。作为另一替代例,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、存档视频及计算机产生的视频的组合。在一些情况下,若视频源18为视频相机,则源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明所描述的技术一般可适用于视频译码,且可适用于无线和/或有线应用。在每一情况下,可由视频编码器20编码所捕获、预捕获或计算机产生的视频。可接着通过输出接口22将经编码视频信息输出到计算机可读媒体16上。

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

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

视频编码器20及视频解码器30可根据视频译码标准(诸如高效率视频译码(hevc)标准、hevc标准的扩展、或后续标准(诸如,itu-th.266))操作。替代地,视频编码器20及视频解码器30可根据其它专属或行业标准(诸如,itu-th.264标准,替代地被称作mpeg-4第10部分先进视频译码(avc))或这些标准的扩展而操作。然而,本发明的技术不限于任何特定译码标准。视频译码标准的其它实例包含mpeg-2及itu-th.263。尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当的mux-demux单元或其它硬件及软件,以处置共同数据流或单独数据流中的音频及视频两者的编码。若适用,则mux-demux单元可遵照ituh.223多路复用器协议或诸如用户数据报协议(udp)的其它协议。

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

jct-vc正致力于hevc标准的开发。hevc标准化努力基于视频译码装置的演进型模型(被称作hevc测试模型(hm))。hm根据(例如)itu-th.264/avc假设视频译码装置相对于现有装置的若干额外能力。举例来说,尽管h.264提供九个帧内预测编码模式,但hevchm可提供多达三十三个帧内预测编码模式。

一般来说,hm的工作模型描述视频帧或图片可划分成包含明度样本及色度样本两者的树块或最大译码单元(lcu)的序列。位流内的语法数据可定义lcu的大小,lcu就像素的数目来说为最大译码单元。切片包含按译码次序的数个连续树块。视频帧或图片可分割成一或多个切片。每一树块可根据四分树而分裂成译码单元(cu)。一般来说,四分树数据结构每cu包含一个节点,其中根节点对应于树块。若将cu分裂成四个子cu,则对应于所述cu的节点包含四个叶节点,所述四个叶节点中的每一者对应于所述子cu中的一者。

所述四分树数据结构中的每一节点可提供针对对应cu的语法数据。举例来说,所述四分树中的节点可包含分裂旗标,从而指示对应于所述节点的cu是否分裂成子cu。针对cu的语法元素可经递回地定义,且可取决于所述cu是否分裂成子cu。若cu未经进一步分裂,则其被称作叶cu。在本发明中,即使不存在原始叶cu的明显分裂,叶cu的四个子cu也将被称作叶cu。举例来说,若16×16大小的cu未进一步分裂,则四个8×8子cu也将被称作叶cu,尽管所述16×16cu从未分裂。

除cu不具有大小区别外,cu具有与h.264标准的宏块类似的用途。举例来说,可将树块分裂成四个子节点(也称作子cu),且每一子节点又可为上代节点且可被分裂成另外四个子节点。被称作四分树的叶节点的最终的未分裂子节点包括一译码节点,所述译码节点也被称作叶cu。与经译码位流相关联的语法数据可定义可分裂树块的最大次数(其被称作最大cu深度),且也可定义所述译码节点的最小大小。因此,位流也可定义最小译码单元(scu)。本发明使用术语“块”来指hevc的上下文中的cu、pu或tu中的任一者或其它标准的上下文中的类似数据结构(例如,h.264/avc中的宏块及其子块)。

cu包含译码节点以及与所述译码节点相关联的预测单元(pu)及变换单元(tu)。cu的大小对应于译码节点的大小,且形状必须为正方形。cu的大小可在从8×8像素高达具有最大64×64像素或大于64×64像素的树块的大小的范围内。每一cu可含有一或多个pu及一或多个tu。与cu相关联的语法数据可描述例如将cu分割成一或多个pu。分割模式可在cu经跳跃或直接模式编码、经帧内预测模式编码抑或经帧间预测模式编码之间而不同。pu可经分割成非正方形形状。与cu相关联的语法数据也可描述(例如)cu根据四分树至一或多个tu的分割。tu的形状可为正方形或非正方形(例如,矩形)。

hevc标准允许根据tu进行变换,所述变换对于不同cu可不同。tu的大小通常是基于针对经分割lcu定义的给定cu内的pu的大小,但此可并非总是如此状况。tu通常与pu大小相同或小于pu。在一些实例中,可使用被称为“残余四分树”(rqt)的四分树结构而将对应于cu的残余样本再分为更小单元。可将rqt的叶节点称作变换单元(tu)。与tu相关联的像素差值可经变换以产生可经量化的变换系数。

叶cu可包含一或多个预测单元(pu)。一般来说,pu表示对应于对应cu的所有或一部分的空间区域,且可包含用于检索pu的参考样本的数据。此外,pu包含与预测有关的数据。举例来说,当pu经帧内模式编码时,pu的数据可包含于残余四分树(rqt)中,所述rqt可包含描述用于对应于所述pu的tu的帧内预测模式的数据。作为另一实例,当pu经帧间模式编码时,pu可包含定义pu的一或多个运动向量的数据。定义pu的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的竖直分量、运动向量的解析度(例如,四分的一像素精确度或八分的一像素精确度)、运动向量所指向的参考图片,和/或运动向量的参考图片列表(例如,列表0、列表1或列表c)。

具有一或多个pu的叶cu也可包含一或多个变换单元(tu)。如上文所论述,可使用rqt(也称作tu四分树结构)来指定所述变换单元。举例来说,分裂旗标可指示叶cu是否分裂成四个变换单元。接着,可将每一变换单元进一步分裂为另外的子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内的译码节点。视频块可具有固定或变化的大小,且可根据指定译码标准而在大小方面不同。

作为一实例,hm支持以各种pu大小的预测。假设特定cu的大小为2n×2n,则hm支持以2n×2n或n×n的pu大小的帧内预测,及以2n×2n、2n×n、n×2n或n×n的对称pu大小的帧间预测。hm也支持以2n×nu、2n×nd、nl×2n及nr×2n的pu大小的帧间预测的不对称分割。在不对称分割中,cu的一方向未分割,而另一方向分割成25%及75%。cu的对应于25%分割的部分由“n”其后接着“上”、“下”、“左”或“右”的指示来指示。因此,举例来说,“2n×nu”是指水平上以顶部的2n×0.5npu及底部的2n×1.5npu分割的2n×2ncu。

在本发明中,“n×n”与“n乘n”可互换地使用以指代视频块在竖直维度与水平维度方面的像素尺寸,例如,16×16像素或16乘16像素。一般来说,16×16块在竖直方向上将具有16个像素(y=16)且在水平方向上将具有16个像素(x=16)。同样地,n×n块通常在竖直方向上具有n个像素且在水平方向上具有n个像素,其中n表示非负整数值。可按行及列来排列块中的像素。此外,块未必需要在水平方向上与竖直方向上具有同一数目个像素。举例来说,块可包括n×m像素,其中m未必等于n。

在使用cu的pu的帧内预测性或帧间预测性译码之后,视频编码器20可计算cu的tu的残余数据。pu可包括描述在空间域(也被称作像素域)中产生预测性像素数据的方法或模式的语法数据,且tu可包括在对残余视频数据应用变换(例如离散余弦变换(dct)、整数变换、小波变换或在概念上类似的变换)之后变换域中的系数。所述残余数据可对应于未经编码的图片的像素与对应于pu的预测值之间的像素差。视频编码器20可形成包含cu的残余数据的tu,且接着变换所述tu以产生cu的变换系数。

在任何变换以产生变换系数之后,视频编码器20可执行变换系数的量化。量化通常是指对变换系数进行量化以可能地减少用以表示所述系数的数据的量从而提供进一步压缩的过程。量化过程可减少与一些或所有系数相关联的位深度。举例来说,可在量化期间将n位值向下取整至m位值,其中n大于m。

在量化之后,视频编码器可扫描所述变换系数,从而从包含所述经量化的变换系数的二维矩阵产生一维向量。所述扫描可经设计以将较高能量(且因此较低频率)系数置于阵列前部,及将较低能量(且因此较高频率)系数置于阵列后部。在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化变换系数以产生可经熵编码的经序列化向量。在其它实例中,视频编码器20可执行自适应扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可(例如)根据上下文自适应可变长度译码(cavlc)、上下文自适应二进制算术译码(cabac)、基于语法的上下文自适应二进制算术译码(sbac)、机率区间分割熵(pipe)译码或另一熵编码方法来对一维向量进行熵编码。视频编码器20也可熵编码与经编码视频数据相关联的供由视频解码器30用于解码视频数据的语法元素。

为执行cabac,视频编码器20可将上下文模型内的上下文指派至待发射的符号。所述上下文可涉及(例如)符号的邻近值是否为非零。为了执行cavlc,视频编码器20可选择用于待发射的符号的可变长度码。可将vlc中的码字构建成使得相对较短码对应于更有可能的符号,而较长码对应于较不可能的符号。以此方式,相对于(例如)针对待发射的每一符号使用相等长度码字,使用vlc可实现位节省。机率确定可基于经指派至符号的上下文。

根据本发明的技术,视频编码器20及视频解码器30可经配置以执行下文单独或以任何组合展示于所列举列表中的以下技术的任一者或所有:

1.若插入(例如,作为合并候选列表),atmvp候选的位置

a.假设空间候选及tmvp候选以某一次序插入至合并候选列表中。atmvp候选可被插入至那些候选的任何相对固定位置中。

i.在一个替代例中,例如,atmvp候选可插入至合并候选列表中的前两个空间候选(例如,a1及b1)之后;

ii.在一个替代例中,例如,atmvp候选可插入至前三个空间候选(例如,a1及b1及b0)之后;

iii.在一个替代例中,例如,atmvp候选可插入至前四个空间候选(例如,a1、b1、b0及a0)之后。

iv.在一个替代例中,例如,atmvp候选可恰好插入在tmvp候选之前。

v.在一个替代例中,例如,atmvp候选可恰好插入在tmvp候选之后。

b.替代地,可在位流中用信号表示候选列表中的atmvp候选的位置。可另外用信号表示其它候选(包含tmvp候选)的位置。

2.可通过存取运动信息的仅一个集合而应用对atmvp候选的可用性检查。当此类信息集合不可用(例如,一个块经帧内译码)时,整个atmvp候选被视为不可用。在所述情况下,atmvp将不插入至合并列表中。

a.中心位置或中心子pu仅用于检查atmvp候选的可用性。当使用中心子pu时,选择中心子pu为覆盖中心位置(例如,中心3位置,其相对于pu的左上样本的坐标为(w/2,h/2),其中w×h为pu的大小)的中心子pu。所述位置或中心子pu可连同时间向量一起用以识别运动源图片中的对应块。识别来自覆盖对应块的中心位置的块的运动信息集合。

3.来自子pu的经atmvp译码的pu的代表性运动信息集合。

a.为形成atmvp候选,首先形成代表性运动信息集合。

b.可从固定位置或固定子pu导出代表性运动信息集合。其可以与用以确定atmvp候选的可用性的运动信息集合的方式相同的方式来选择,如项目符号#2中所描述。

c.当子pu已经识别其自有的运动信息集合且其为不可用时,其经设定成等于代表性运动信息集合。

d.若代表性运动信息集合经设定成子pu的代表性运动信息集合,则在最差情形下,在解码器侧并不需要额外运动存储以用于当前ctu或切片。

e.当解码过程要求整个pu由运动信息的一个集合表示(包含修剪)时,此类代表性运动信息集合用于所有情境中,以使得所述过程用于产生组合式双向预测性合并候选。

4.使用tmvp候选来修剪atmvp候选,且可考虑tmvp与atmvp之间的相互作用;下文列出详细技术:

a.以子pu为基础的候选的修剪(例如,使用普通候选修剪atmvp候选)可通过使用所述以子pu为基础的候选的代表性运动信息集合(如在项目符号#3中)来进行。若此类运动信息集合与普通合并候选相同,则两个候选被视为相同的。

b.替代地,另外,执行检查以确定atmvp是否含有多个子pu的多个不同运动信息集合;若识别至少两个不同集合,则以子pu为基础的候选并不用于修剪(即,其被视为与任何其它候选不同);另外,其可用于修剪(例如,可在修剪过程期间经修剪)。

c.替代地,另外,可使用空间候选(例如,仅左候选及上候选,其位置表示为a1及b1)修剪atmvp候选。

d.替代地,仅一个候选由时间参考形成,为atmvp候选或tmvp候选。当atmvp可用时,候选为atmvp;否则,候选为tmvp。此类候选经以类似于tmvp的位置的位置插入至合并候选列表中。在此情况下,候选的最大数目可保持不变。

i.替代地,即使在atmvp不可用时,tmvp始终被禁用。

ii.替代地,仅在atmvp不可用时使用tmvp。

e.替代地,当atmvp可用且tmvp不可用时,将一个子pu的一个运动信息集合用作tmvp候选。在此情况下,此外,不应用atmvp与tmvp之间的修剪过程。

f.替代地或另外,用于atmvp的时间向量也可用于tmvp,以使得并不需要使用如用于hevc中的当前tmvp的右下位置或中心3位置。

i.替代地,共同考虑通过时间向量识别的位置及右下及中心3位置以提供可用的tmvp候选。

5.支持对atmvp的多个可用性检查以获得atmvp候选为更精确及有效的更高机率。当来自由第一时间向量(例如,如图9中所展示)所识别的运动源图片的当前atmvp候选不可用时,其它图片可被视为运动源图片。当考虑另一图片时,其可与不同的第二时间向量相关联,或可仅与从指向不可用atmvp候选的第一时间向量的缩放的第二时间向量相关联。

a.第二时间向量可识别第二运动源图片中的atmvp候选,且相同可用性检查可适用。若如从第二运动源图片导出的atmvp候选为可用的,则导出atmvp候选且不需要检查其它图片;否则,需要检查作为运动源图片的其它图片。

b.使用给定次序检查的图片可为当前图片的参考图片列表中的那些图片。对于每一列表,以参考索引的递升次序来检查图片。首先检查列表x且接着检查列表y(为1-x)中的图片。

i.选择列表x以使得列表x为含有用于tmvp的共置图片的列表。

ii.替代地,x仅设定成1或0。

c.使用给定次序检查的图片为通过空间相邻者的运动向量所识别的那些图片。

6.当前atmvp适用的pu的分割区可为2n×2n、n×n、2n×n、n×2n或不对称运动分割(amp)分割区,诸如2n×n/2。

a.替代地,另外,若可允许其它分割区大小,则也可支持atmvp且所述大小可包含(例如)64×8。

b.替代地,所述模式可仅应用于某些分割区,例如2n×2n。

7.atmvp候选经标记为不同类型的合并候选。

8.当从相邻者识别向量(如第一阶段中的时间向量)时,可按次序检查多个相邻位置(例如,用于合并候选列表构建中的那些位置)。对于相邻者中的每一者,可按次序检查对应于参考图片列表0(列表0)或参考图片列表1(列表1)的运动向量。当两个运动向量可用时,可首先检查列表x中的运动向量,且接着检查列表y(其中y等于1-x),以使得列表x为含有用于tmvp的共置图片的列表。在atmvp中,使用时间向量以经添加为子pu的任何中心位置的移位,其中时间向量的分量可需要转变成整数。所述经移位中心位置用以识别运动向量可分配至的最小单元,例如,具有覆盖当前中心位置的4×4大小。

a.替代地,可在检查对应于列表1的那些运动向量之前检查对应于列表0的运动向量;

b.替代地,可在检查对应于列表0的那些运动向量之前检查对应于列表1的运动向量;

c.替代地,按次序检查所有空间相邻者中的对应于列表x的所有运动向量,接着检查对应于列表y(其中y等于1-x)的运动向量。在此,列表“x”可为指示共置图片所属的列表,或仅被设定成0或1。

d.空间相邻者的次序可与在hevc合并模式中所使用的次序相同。

9.当识别时间向量的第一阶段中不包含识别参考图片的信息时,如图9中所展示的运动源图片可仅设定成固定图片,例如,用于tmvp的共置图片。

a.在此种情况下,可仅从指向所述固定图片的运动向量来识别向量。

b.在此种情况下,可仅从指向任一图片的运动向量来识别向量,但进一步朝向固定图片缩放所述向量。

10.当识别向量的第一阶段由识别参考图片(如图9中所展示的运动源图片)组成时,以下额外检查中的一或多者可适用于候选运动向量。

a.若运动向量与经帧内译码的图片或切片相关联,则所述运动向量被视为不可用且不可用于转化成向量。

b.若运动向量识别相关联图片中的帧内块(通过(例如)添加关于运动向量的当前中心坐标),则所述运动向量被视为不可用且不可用于转化成向量。

11.当在识别向量的第一阶段中时,向量的分量可设定成(当前pu的半宽度、当前pu的半高度),以使得其识别运动源图片中的右下像素位置。此处,(x,y)指示一个运动向量的水平分量及竖直分量。

a.替代地,向量的分量可设定成(总和(当前pu的半宽度m)、总和(当前pu的半高度n)),其中函数总和(a,b)返回a及b的总和。在一个实例中,当运动信息存储于4×4单元中时,m及n两者被设定成等于2。在另一实例中,当运动信息存储于8×8单元中时,m及n两者被设定成等于4。

12.当atmvp适用时,在参数集(例如,图片参数集的序列参数集)中用信号表示子块/子pu大小。所述大小在最小pu大小至ctu大小的范围内。也可预定义或用信号表示所述大小。所述大小可为(例如)如4×4一样小。替代地,可基于pu或cu的大小导出子块/子pu大小。举例来说,子块/子pu可设定成等于最大(4×4,(cu的宽度)>>m)。可在位流中预定义或用信号表示m的值。

13.由于atmvp可被视为新的合并候选,合并候选的最大数目可增加1。举例来说,相较于在修剪之后占据合并候选列表中的5个候选的hevc,合并候选的最大数目可增加6。

a.替代地,可针对atmvp执行使用习知tmvp候选的修剪或使用习知tmvp候选的统一,以使得合并候选的最大数目可保持不变。

b.替代地,当atmvp经识别为可用时,从合并候选列表排除空间相邻候选,例如,排除提取次序中的最末空间相邻候选。

14.当考虑多个空间相邻运动向量以导出时间向量时,可基于当前pu的相邻运动向量以及通过经设定等于运动向量的特定时间向量所识别的相邻运动向量来计算运动向量类似性。可选择产生最高运动类似性的一个运动向量作为最终时间向量。

a.在一个替代例中,对于来自相邻位置n的每一运动向量,运动向量识别运动源图片中的块(大小与当前pu相同),其中其相邻位置n含有运动信息的集合。将此运动向量集合与当前块的相邻位置n中的运动信息集合进行比较。

b.在另一替代例中,对于来自相邻位置n的每一运动向量,运动向量识别运动源图片中的块,其中其相邻位置含有多个运动信息集合。将这些多个运动向量集合与来自相同相对位置中的当前pu的相邻位置的多个运动信息集合进行比较。计算运动信息类似性。举例来说,当前pu具有来自a1、b1、a0及b0的以下运动信息集合,表示为mia1、mib1、mia0及mib0。对于时间向量tv,其识别对应于运动源图片中的pu的块。所述块具有来自相同相对a1、b1、a0及b0位置的运动信息,且表示为tmia1、tmib1、tmia0及tmib0。如通过tv所确定的运动类似性经计算为:其中mvsim定义两个运动信息集合之间的类似性。

c.在以上两种情况中,可使用运动类似性mvsim,其中两个输入参数为两个运动信息集合,每一者含有至多两个运动向量及两个参考索引。列表x中的每一对运动向量实际上与不同图片、当前图片及运动源图片的不同列表x中的参考图片相关联。对于两个运动向量mvxn及tmvxn(其中x等于0或1)中的每一者,运动向量差mvdxn可计算为mvxn-tmvxn。然后,差mvsimx经计算为(例如)abs(〖mvdx〗_n[0])+abs(〖mvdx〗_n[1])或(〖mvdx〗_n[0]*〖mvdx〗_n[0]+〖mvdx〗_n[1]*〖mvdx〗_n[1])。若两个运动信息集合含有可用运动向量,则mvsim经设定为等于mvsim0+mvsim1。

i.为了具有运动差的统一计算,两个运动向量需要朝向同一固定图片缩放,所述固定图片可为(例如)当前图片的列表x的第一参考图片refpiclistx[0]。

ii.若来自第一集合的列表x中的运动向量的可用性与来自第二集合的列表x中的运动向量的可用性不同(即,一个参考索引为-1而另一者不为-1),则此两个运动信息集合被视为在方向x上不类似。若两个集合在两个集合中不类似,则最终mvsim函数可返回重要值组数(bigvalue)t,所述重要值组数可(例如)被视为无穷大。

iii.替代地,对于一对运动信息集合,若从列表x(x等于0或1)而非列表y(y等于1-x)来预测一个运动信息集合且另一者具有相同状态,则可使用1与2之间的加权(例如,mvsim等于mvsimx*1.5)。当一个集合仅从列表x预测且另一者仅从列表y预测时,mvsim经设定成重要值组数t。

iv.替代地,对于任何运动信息集合,只要一个运动向量为可用的,则将产生两个运动向量。在仅一个运动向量为可用的情况下(对应于列表x),其经缩放以形成对应于另一列表y的运动向量。

d.替代地,可基于当前pu的相邻像素与由运动向量识别的块(大小与当前pu相同)的相邻像素之间的差异来量测运动向量。可选择产生最小差的运动向量作为最终时间向量。

15.当导出当前块的时间向量时,来自使用atmvp译码的相邻块的运动向量和/或时间向量可具有比来自其它相邻块的运动向量高的优先权。

a.在一个实例中,首先仅检查相邻块的时间向量,且可将第一个可用的时间向量设定成当前块的时间向量。仅当不存在此类时间向量时,进一步检查普通运动向量。在此情况下,需要存储用于经atmvp译码的块的时间向量。

b.在另一实例中,首先仅检查来自经atmvp译码的相邻块的运动向量,且可将第一个可用的运动向量设定成当前块的时间向量。仅当不存在此类时间向量时,进一步检查普通运动向量。

c.在另一实例中,首先仅检查来自经atmvp译码的相邻块的运动向量,且可将第一个可用的运动向量设定成当前块的时间向量。若此类运动向量不可用,则对时间向量的检查继续,与项目符号15a中类似。

d.在另一实例中,首先检查来自相邻块的时间向量,可将第一个可用的时间向量设定成当前块的时间向量。若此类运动向量不可用,则对时间向量的检查继续,与项目符号15b中类似。

e.在另一实例中,首先检查从经atmvp译码的相邻块的时间向量及运动向量,且可将第一个可用的时间向量及运动向量设定成当前块的时间向量。仅当不存在此类时间向量及运动向量时,进一步检查普通运动向量。

16.当考虑多个空间相邻运动向量以导出时间向量时,可选择运动向量以使得其将从像素域所计算的失真最小化,例如模板匹配可用于导出时间向量以使得选择产生最小匹配成本的运动向量作为最终时间向量。

17.以当运动向量在任何列表x(将运动向量表示为mvx)的对应块中可用时的方式来完成从对应块(在运动源图片中)导出运动信息集合,对于atmvp候选的当前子pu,运动向量被视为可供用于列表x(通过缩放mvx)。若运动向量不可用于任何列表x的对应块中,则运动向量被视为不可用于列表x。

a.替代地,当对应块中的运动向量不可用于列表x但可用于列表1-x(通过y表示1-x且将运动向量表示为mvy)时,运动向量仍被视为可供用于列表x(通过朝向列表x中的目标参考图片缩放mvy)。

b.替代或另外,当用于列表x及列表y(等于1-x)的对应块中的两个运动向量为可用时,来自列表x及列表y的运动向量不必用于直接进行缩放并通过缩放来产生当前子pu的两个运动向量。

i.在一个实例中,当制定atmvp候选时,在tmvp中完成的低延迟检查适用于每一子pu。若对于当前切片的每一参考图片列表中的每一图片(表示为refpic),refpic的图片次序计数(poc)值小于当前切片的poc,则当前切片被视为具有低延迟模式。在此低延迟模式中,来自列表x及列表y的运动向量经缩放以分别产生用于列表x及列表y的当前子pu的运动向量。当不在低延迟模式中时,仅选择来自mvx或mvy的一个运动向量mvz且将其缩放以产生当前子pu的两个运动向量。类似于tmvp,在此情况下,z经设定为等于collocated_from_l0_flag,意谓其取决于如tmvp中的共置图片在当前图片的列表x中抑或列表y中。替代地,z经设定如下:若从列表x识别运动源图片,则z经设定成x。替代地,另外,当运动源图片属于两个参考图片列表,且refpiclist0[idx0]为首先出现于列表0中的运动源图片及refpiclist(1)[idx1]为首先出现于列表1中的运动源图片时,若idx0小于或等于idx1,则z经设定成0,否则被设定成1。

18.可在经译码位流中用信号表示(例如通过视频编码器20产生)运动源图片。确切地说,针对b切片用信号表示指示运动源图片是来自列表0抑或来自列表1的旗标。替代地,另外,可用信号表示至当前图片的列表0或列表1的参考索引以识别运动源图片。

19.当识别时间向量时,若一向量指向相关联运动源图片中的经帧内译码块,则所述向量被视为不可用的(因此可考虑其它向量)。

下文论述本发明的各种技术的实施。假设atmvp经实施于hevc版本1的顶部上。运动压缩可不适用于参考图片且可启用具有双向运动补偿的较小块。

sps中的atmvp的信令:

atmvp_sub_pu_size可存在于sps中。

atmvp_sub_pu_size可指定使用atmvp模式译码的pu的子pu的大小。其在2至6的范围内,包括2及6。将用于atmvp的子pu大小(spuwidth,spuheight)导出为min(w,1<<atmvp_sub_pu_size)乘以min(h,1<<atmvp_sub_pu_size),其中w×h为当前pu的大小。

替代地,在sps中单独地用信号表示子pu大小的宽度及高度两者。

替代地,相对于ctu大小或最小译码单元大小来用信号表示子pu大小。

若atmvp_sub_pu_size小于ctu大小(例如,hevc版本1中的6),则可变atmvpenableflag经导出等于1,否则等于0。

切片标头中的atmvp的信令:five_minus_max_num_merge_cand指定切片中所支持的减去5的合并mvp候选的最大数目。合并mvp候选的最大数目maxnummergecand经导出为:

maxnummergecand=(atmvpenableflag?6:5)-five_minus_max_num_merge_cand(7-41)

five_minus_max_num_merge_cand的值应受限制,以使得maxnummergecand处于1至(atmvpenableflag?6:5)的范围中,包括1及atmvpenableflag?6:5。

替代地,five_minus_max_num_merge_cand变成six_minus_max_num_merge_cand,且语义如下:

six_minus_max_num_merge_cand指定切片中所支持的减去6的合并mvp候选的最大数目。合并mvp候选的最大数目,maxnummergecand经导出为:

maxnummergecand=6-six_minus_max_num_merge_cand(7-41)

替代地,直接用信号表示max_num_merge_cand_minus1。

在一些实例中,其它语法变化为不必要的,且通过可在0至5的范围(包括0及5)内的merge_idx来识别atmvp候选。

与atmvp有关的解码过程:可(例如)由视频解码器30实施以下解码过程以制定atmvp候选并包含所述atmvp候选作为合并候选列表的一部分:

第一阶段时间向量的识别:

将可变mtsrcpoc设定成用于tmvp中的共置图片的poc值,将tv设定成零向量,且将atmvpavaflag设定成0。

对于空间相邻位置(其为a1、b1、b0、a0及b2)中的位置n中的每一者,以下内容适用:

●dir经设定等于collocated_from_l0_flag;

●对于以下情况:若当前切片为b切片,则x等于dir至(1-dir)(包括dir及1-dir),或若当前切片不为b切片,则仅x等于0,以下内容适用:

○当相邻块n可用且其并不经帧内译码,且refidxx[n]大于或等于0(表示mvlx[n]及refidxx[n]为运动向量及对应于refpiclistx的相邻块n的参考索引)时,按次序应用以下步骤:

■将mtsrcpoc设定为等于refpiclistx[refidxx[n]]的poc值;

■将tv设定为等于mvlx[n];

■将atmvpavaflag设定成1;

■终止此过程。

可用运动源的识别:

将图片的列表设定成作为空列表的canpicatmvp。

将canpicatmvp[0]设定成具有等于mtsrcpoc的poc值的图片。

将i设定为等于1;

motionsrcpic为空图片且可如下文所指定而更新。

对于可用参考图片列表x中的每一者,以下内容适用:

●dir经设定等于collocated_from_l0_flag;

○对于以下情况:若当前切片为b切片,则x等于dir至(1-dir)(包括dir及1-dir),或若当前切片不为b切片,则仅x等于0,以下内容适用:

○每一idx从0至num_ref_active_lx_minus1;

■canpicatmvp[i++]=refpiclistx[idx];

使(currposx,currposy)为当前pu的左上像素位置的坐标。

对于n等于0至i(包括0及i),以下内容适用。

●若n不等于0,则朝向图片canpicatmvp[n]缩放tv以导出tscaledvector,其中用于tv的相关图片为当前图片及canpicatmvp[0],且用于目的地向量tscaledvector的相关图片为当前图片及canpicatmvp[i];

●否则(n等于0),tscaledvector经设定等于tv。

●如下从canpicatmvp[n]获得对应于中心子pu的块的运动信息:

○centerposx=currposx+=((tscaledvector[0]+2)>>2);

○centerposy=currposy+=((tscaledvector[1]+2)>>2);

○使(centerposx,centerposy)为识别中心子pu的对应块的位置且使当前pu大小为宽度乘以高度。

○centerposx+=currposx+((width/spuwidth)>>1)*spuwidth+(min(spuwidth,width)>>1);

○centerposy+=currposx+((height/spuheight)>>1)*spuheight+(min(spuheight,height)>>1);

○调用抓取运动信息的运动信息提取过程,其中图片mtnsrcpic等于canpicatmvp[n]及位置(posx,posy)等于(centerposx,centerposy)作为输入,且子pu运动可用旗标subpumtnavaflag、一对参考索引scolrefidx0及scolrefidx1,及一对运动向量(scolmv0、scolmv1)作为输出。

○若subpumtnavaflag等于1,则以下内容适用。

■motionsrcpic经设定成canpicatmvp[n]

■tv经设定成tscaledvector

■终止此回路。

运动信息提取过程:

此过程的输入为图片mtnsrcpic及关于图片的位置(posx,posy),且此过程的输出为运动可用旗标mtnavaflag、一对参考索引refidx0及refidx1及一对运动向量(mv0,mv1)。

首先截割(posx,posy)以在图片mtnsrcpic内。

识别含有位置(posx,posy)的4×4(或存储运动信息的另一最小大小)块blkt。

将mtnavaflag设定为等于0。

若blkt不经帧内译码,且其运动信息含有blktrefidx0、blktrefidx1、blktmv0及blktmv1,则以下内容适用。

●当blktrefidx0或blktrefidx1大于或等于0时,将mtnavaflag设定为等于1,且对于x等于0及1,以下内容适用。

○将refidxx设定为等于blktrefidxx

○将mvx设定为等于blktmvx

用于atmvp的子pu运动的产生:

若subpumtnavaflag等于1,则调用以下过程。

●对于子pu中的每一者(例如,在光栅扫描次序中),以下内容适用。

○将当前子pu的水平索引及竖直索引分别表示为k及l,其中k在0至宽度/spuwidth-1的范围内,包括0及宽度/spuwidth-1,且l在0至高度/spuheight-1的范围内,包括0及高度/spuheight-1。举例来说,若16×16pu经划分成四个8×8子pu,则光栅扫描次序中的四个子pu的(k,l)值分别为(0,0)、(1,0)、(0,1)及(1,1)。

○将子pu的坐标(tempposx,tempposy)计算为(tempposx,tempposy)=(currposx,currposy)+(k*spuwidth,l*spuheight)。

○tempposx+=((tv[0]+2)>>2);

○tempposy+=((tv[1]+2)>>2);

○调用抓取运动信息的运动信息提取过程,其中图片mtnsrcpic等于motionsrcpic及位置(posx,posy)等于(tempposx,tempposy)作为输入,且子pu运动可用旗标currsubpumtnavaflag、一对参考索引currsubrefidx0及currsubrefidx1,及一对运动向量(currsubmv0、currsubmv1)作为输出。

○当currsubpumtnavaflag等于0时,对于x等于0及1(包含0及1),将currsubrefidxx设定为等于ccolrefidxx且将currsubmvx设定为等于ccolmvx。

○对于x等于(0及1(包括0及1),朝向当前图片的默认目标参考图片(其为refpiclistx[0])缩放运动向量currsubmvx,与tmvp中类似。将当前子pu的经导出的参考索引及运动向量表示为cspurefidxx及cspumvx,且其经如下导出:

■cspurefidxx=(currsubrefidxx>=0?0:-1);

■将cspumvx设定成currsubmvx的经缩放向量,与tmvp中类似。

用于此atmvp候选的代表性运动信息集合arefidxx及amvx(x等于0或1)经如下导出:

●arefidxx=(ccolrefidxx>=0?0:-1);

●将amvx设定成ccolmvx的经缩放向量,与tmvp中类似。

替代地,运动提取过程及运动缩放过程与hevc版本1(即,hevc版本1的子条款8.5.3.2.8)的tmvp中相同(或类似):“用于共置运动向量的导出过程(derivationprocessforcollocatedmotionvectors)”适用于替换此子部分中的突出文字。在此情况下,如tmvp(子条款8.5.3.2.8)中的运动提取及运动缩放过程替换上文所定义的(包含由斜体文字所指示的)运动提取过程及运动缩放过程。

在合并候选列表中插入atmvp候选:

当subpumtnavaflag等于1时,在测试a0(或替代地b0)候选之后将atmvp候选插入至合并候选中,且可能插入至合并候选列表中。

用于此候选的运动信息被视为由arefidxx及amvx(其中x等于0或1)形成。

当tmvp候选可用时,将其进一步与atmvp候选的代表性信息进行比较(arefidxx及amvx);仅当tmvp候选具有不等于arefidxx的refidxx或不等于amvx(其中x等于0或1)的运动向量时,将其进一步插入至合并候选列表中。

当所有候选(包含atmvp候选)明显被视为由一个单一运动信息集合(至多两个参考索引及两个相关联运动向量)表示时,使用用于atmvp候选的代表性信息。举例来说,在用于组合式双向预测性合并候选的导出过程中,使用atmvp的代表性运动信息。

另外,每一合并候选附有指示所述候选是否为atmvp候选的标签(可为旗标或类型)。

另外,对于atmvp候选,由于当前pu经解码,需要存储在上文表示为cspurefidxx及cspumvx的运动信息集合(针对x等于0及1及针对每一子pu)。

基于atmvp候选的运动补偿:当使用合并模式译码当前pu且merge_idx指定经指示为atmvp候选的候选时,对于每一子pu,运动信息cspurefidxx及cspumvx(x等于0及1)被导出且用于执行对当前子pu的运动补偿。在完成运动补偿之后,以与其它帧间模式相同的方式完成残余解码及其它过程。

视频编码器20可(例如)在帧标头、块标头、切片标头或gop标头中进一步将语法数据(诸如,基于块的语法数据、基于帧的语法数据,及基于gop的语法数据)发送至视频解码器30。gop语法数据可描述相应gop中的帧的数目,且帧语法数据可指示用以编码对应帧的编码/预测模式。

在适用时,视频编码器20及视频解码器30各自可经实施为多种合适的编码器或解码器电路中的任一者,诸如,一或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑电路、软件、硬件、固件或其任何组合。视频编码器20及视频解码器30中的每一者可包含在一或多个编码器或解码器中,编码器或解码器中的任一者可经集成为组合式编码器/解码器(编解码器)的部分。包含视频编码器20和/或视频解码器30的装置可包括集成电路、微处理器和/或无线通信装置(诸如蜂窝电话)。

图2为绘示可实施用于先进时间运动向量预测(atmvp)的技术的视频编码器20的实例的框图。视频编码器20可执行视频切片内的视频块的帧内译码及帧间译码。帧内译码依赖于空间预测以减少或移除给定视频帧或图片内的视频的空间冗余。帧间译码依赖于时间预测以减小或移除视频序列的邻近帧或图片内的视频的时间冗余。帧内模式(i模式)可指代若干基于空间的译码模式中的任一者。帧间模式(诸如,单向预测(p模式)或双向预测(b模式))可指代若干基于时间的译码模式中的任一者。

如图2中所展示,视频编码器20接收待编码的视频帧内的当前视频块。在图2的实例中,视频编码器20包含模式选择单元40、参考图片存储器64、求和器50、变换处理单元52、量化单元54及熵编码单元56。模式选择单元40又包含运动补偿单元44、运动估计单元42、帧内预测单元46及分割单元48。为了视频块重构建,视频编码器20也包含逆量化单元58、逆变换单元60及求和器62。也可包含解块滤波器(图2中未展示)以便对块边界进行滤波,以从经重构建视频中移除块效应伪影。在需要时,解块滤波器通常将对求和器62的输出进行滤波。也可使用除解块滤波器以外的额外滤波器(回路中或回路后)。为简洁起见未展示这些滤波器,但若需要,这些滤波器可对求和器50的输出进行滤波(作为回路内滤波器)。

在编码过程期间,视频编码器20接收待译码的视频帧或切片。可将所述帧或切片划分成多个视频块。运动估计单元42及运动补偿单元44执行所接收的视频块相对于一或多个参考帧中的一或多个块的帧间预测性译码以提供时间预测。帧内预测单元46可替代地执行所接收的视频块相对于与待译码块相同的帧或切片中的一或多个相邻块的帧内预测性译码以提供空间预测。视频编码器20可执行多个译码遍次,(例如)以选择用于视频数据的每一块的适当译码模式。

此外,分割单元48可基于对先前译码遍次中的先前分割方案的评估而将视频数据的块分割为子块。举例来说,分割单元48可初始地将帧或切片分割成lcu,且基于速率失真分析(例如,速率失真最佳化)来将所述lcu中的每一者分割成子cu。模式选择单元40可进一步产生指示将lcu分割为子cu的四分树数据结构。四分树的叶节点cu可包含一或多个pu及一或多个tu。

模式选择单元40可(例如)基于误差结果而选择译码模式(帧内或帧间)中的一者,且将所得经帧内译码块或经帧间译码块提供至求和器50以产生残余块数据,及提供至求和器62以重构建经编码块以用作参考帧。模式选择单元40也将语法元素(诸如,运动向量、帧内模式指示符、分割区信息及其它此类语法信息)提供至熵编码单元56。

运动估计单元42及运动补偿单元44可高度集成,但出于概念目的而加以单独说明。通过运动估计单元42执行的运动估计为产生估计视频块的运动的运动向量的过程。举例来说,运动向量可指示在当前视频帧或图片内的视频块的pu相对于在参考帧(或其它经译码单元)内的预测性块相对于在所述当前帧(或其它经译码单元)内正经译码的当前块的位移。预测性块为就像素差来说被发现紧密地匹配待译码的块的块,所述像素差可通过绝对差总和(sad)、平方差总和(ssd)或其它差量度确定。在一些实例中,视频编码器20可计算存储于参考图片存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插所述参考图片的四分的一像素位置、八分的一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行关于全像素位置及分数像素位置的运动搜索且输出具有分数像素精确度的运动向量。

运动估计单元42通过比较pu的位置与参考图片的预测性块的位置而计算经帧间译码切片中的视频块的pu的运动向量。所述参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),所述列表中的每一者识别存储于参考存储器64中的一或多个参考图片。运动估计单元42将所计算的运动向量发送至熵编码单元56及运动补偿单元44。

由运动补偿单元44执行的运动补偿可涉及基于由运动估计单元42所确定的运动向量来提取或产生预测性块。又,在一些实例中,运动估计单元42及运动补偿单元44可在功能上集成。在接收到当前视频块的pu的运动向量之后,运动补偿单元44可在参考图片列表中的一者中定位运动向量所指向的预测性块。求和器50通过从正被译码的当前视频块的像素值减去预测性块的像素值来形成残余视频块,从而形成像素差值,如下文所论述。一般来说,运动估计单元42相对于明度分量而执行运动估计,且运动补偿单元44将基于所述明度分量所计算的运动向量用于色度分量与明度分量两者。模式选择单元40也可产生与视频块及视频切片相关联的语法元素以供视频解码器30在解码视频切片的视频块中使用。

视频编码器20可经配置以执行上文关于图1所论述的本发明的各种技术中的任一者。举例来说,运动补偿单元44可经配置以根据本发明的技术使用amvp或合并模式来译码用于视频数据的块的运动信息。

假设运动补偿单元44选择执行合并模式,运动补偿单元44可形成包含合并候选集合的候选列表。运动补偿单元44可基于特定的预定次序将候选添加至候选列表。在一个实例中,运动补偿单元44按a1、b1、b0、a0的次序将候选添加至候选列表,随后添加先进时间运动向量预测(atmvp)候选。运动补偿单元44也可添加额外候选且执行候选列表的修剪,如上文所论述。最终,模式选择单元40可确定哪些候选将用于编码当前块的运动信息,并编码表示所选择候选的合并索引。

此外,在一些实例中,运动补偿单元44可首先确定atmvp候选是否可用。举例来说,运动补偿单元可确定与参考图片中的当前块相对应的块,且确定运动信息是否可用于对应块。当运动信息可用于对应块时,运动补偿单元44可随后确定atmvp候选(即,对应块)为可用的。在一些实例中,运动补偿单元44可确定在不使用帧内预测的情况下预测整个对应块(例如,如下文图5a中所展示的中心位置块)时,运动信息可用于对应块,但在使用帧内预测来预测至少部分的对应块时,运动信息为不可用的。

类似地,在一些实例中,运动补偿单元44可确定两个潜在atmvp候选中的哪一者应被用作最终添加至候选列表的atmvp候选。举例来说,运动补偿单元44可形成相对于当前块的第一时间运动向量,所述第一时间运动向量识别第一运动源图片(即,第一参考图片)中的第一atmvp候选。若运动信息并不可用于第一atmvp候选,则运动补偿单元44可确定运动信息是否可用于第二不同atmvp候选。可使用参考第二不同参考图片的同一时间运动向量、参考同一(即,第一)参考图片的不同时间运动向量或参考第二不同参考图片的不同时间运动向量来识别第二atmvp候选。如上文所论述,待检查的参考图片可在参考图片列表中的参考索引的递升次序中。同样地,若使用不同时间运动向量,则可以预定次序从相邻块至当前块的时间向量选择时间运动向量。

此外,运动补偿单元44可针对特定参考图片列表确定运动向量是否可用于atmvp候选中的子pu。若如此,则运动向量被视为可用于所述参考图片列表。否则,运动向量被视为不可用于参考图片列表。替代地,若运动向量可供用于另一参考图片列表,则运动补偿单元44可通过缩放运动向量以指向第一参考图片列表中的目标参考图片来修改运动信息,如上文所论述。

作为由运动估计单元42及运动补偿单元44执行的帧间预测的替代,帧内预测单元46可对当前块进行帧内预测,如上文所描述。确切地说,帧内预测单元46可确定待用以编码当前块的帧内预测模式。在一些实例中,帧内预测单元46可(例如)在单独的编码遍次期间使用各种帧内预测模式来编码当前块,且帧内预测单元46(或在一些实例中为模式选择单元40)可从所测试模式中选择适当的帧内预测模式来使用。

举例来说,帧内预测单元46可使用对于各种所测试的帧内预测模式的速率失真分析来计算速率失真值,且在所测试模式之中选择具有最佳速率失真特性的帧内预测模式。速率失真分析一般确定经编码块与原始的未编码块(其经编码以产生经编码块)之间的失真(或误差)量,以及用以产生经编码块的位速率(即,位的数目)。帧内预测单元46可根据各种经编码块的失真及速率来计算比率以确定哪一帧内预测模式展现所述块的最佳速率失真值。

在选择用于块的帧内预测模式之后,帧内预测单元46可将指示用于所述块的所选择帧内预测模式的信息提供至熵编码单元56。熵编码单元56可编码指示所述所选择的帧内预测模式的信息。视频编码器20可在所发射的位流中包含以下各者:配置数据,其可包含多个帧内预测模式索引表及多个经修改的帧内预测模式索引表(也称作码字映射表);各种块的编码上下文的定义;及待用于所述上下文中的每一者的最有可能的帧内预测模式、帧内预测模式索引表及经修改的帧内预测模式索引表的指示。

视频编码器20通过从正经译码的原始视频块减去来自模式选择单元40的预测数据而形成残余视频块。求和器50表示执行此减法运算的一或多个组件。变换处理单元52将变换(诸如离散余弦变换(dct)或概念上类似的变换)应用于残余块,从而产生包括残余变换系数值的视频块。变换处理单元52可执行概念上类似于dct的其它变换。也可使用小波变换、整数变换、子频带变换或其它类型的变换。

在任何情况下,变换处理单元52将变换应用于残余块,从而产生残余变换系数块。所述变换可将残余信息从像素值域变换至变换域,诸如频域。变换处理单元52可将所得变换系数发送至量化单元54。量化单元54量化变换系数以进一步减小位率。量化过程可减小与一些或所有系数相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可接着执行包含经量化变换系数的矩阵的扫描。替代地,熵编码单元56可执行所述扫描。

在量化之后,熵编码单元56对经量化的变换系数进行熵译码。举例来说,熵编码单元56可执行上下文自适应可变长度译码(cavlc)、上下文自适应二进制算术译码(cabac)、基于语法的上下文自适应二进制算术译码(sbac)、机率区间分割熵(pipe)译码或另一熵译码技术。在基于上下文的熵译码的情况下,上下文可基于相邻块。在由熵编码单元56进行熵译码之后,可将经编码位流发射至另一装置(例如,视频解码器30)或存档以供稍后发射或检索。

逆量化单元58及逆变换单元60分别应用逆量化及逆变换以在像素域中重构建残余块(例如)以供稍后用作参考块。运动补偿单元44可通过将残余块添加至参考图片存储器64的帧中的一者的预测性块来计算参考块。运动补偿单元44也可将一或多个内插滤波器应用至经重构建的残余块以计算子整数像素值以用于运动估计。求和器62将经重构建的残余块添加至由运动补偿单元44产生的经运动补偿的预测块,以产生经重构建的视频块以用于存储于参考图片存储器64中。经重构建的视频块可由运动估计单元42及运动补偿单元44用作一参考块以帧间译码后续视频帧中的块。

以此方式,图2的视频编码器20表示视频译码器的实例,所述视频译码器经配置以进行以下操作:针对视频数据的当前块形成包含多个合并候选的合并候选列表,所述多个合并候选包含从四个相邻块至当前块的四个空间相邻候选及紧接在所述四个空间相邻候选之后的先进时间运动向量预测(atmvp)候选;译码至合并候选列表中的索引,所述索引识别合并候选列表中的多个合并候选中的合并候选;及使用经识别合并候选的运动信息译码视频数据的当前块。

图3为绘示可实施用于先进时间运动向量预测(atmvp)的技术的视频解码器30的实例的框图。在图3的实例中,视频解码器30包括熵解码单元70、运动补偿单元72、帧内预测单元74、逆量化单元76、逆变换单元78、参考图片存储器82及求和器80。在一些实例中,视频解码器30可执行一般与关于视频编码器20(图2)所描述的编码遍次互逆的解码遍次。运动补偿单元72可基于从熵解码单元70接收的运动向量产生预测数据,而帧内预测单元74可基于从熵解码单元70接收的帧内预测模式指示符产生预测数据。

在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块及相关联语法元素的经编码视频位流。视频解码器30的熵解码单元70对位流进行熵解码以产生经量化系数、运动向量或帧内预测模式指示符及其它语法元素。熵解码单元70将运动向量及其它语法元素转寄至运动补偿单元72。视频解码器30可在视频切片层级和/或视频块层级处接收语法元素。

当视频切片经译码为帧内译码(i)切片时,帧内预测单元74可基于用信号表示的帧内预测模式及来自当前帧或图片的先前经解码块的数据而产生当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码(即,b、p或gpb)切片时,运动补偿单元72基于运动向量及从熵解码单元70接收的其它语法元素产生当前视频切片的视频块的预测性块。预测性块可从参考图片列表中的一者内的参考图片中的一者产生。视频解码器30可基于存储于参考图片存储器82中的参考图片使用默认构建技术来构建参考帧列表:列表0及列表1。

运动补偿单元72通过剖析运动向量及其它语法元素来确定当前视频切片的视频块的预测信息,并使用所述预测信息以产生经解码的当前视频块的预测性块。举例来说,运动补偿单元72使用一些所接收的语法元素以确定用以译码视频切片的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,b切片、p切片或gpb切片)、切片的参考图片列表中的一或多者的构建信息、切片的每一经帧间编码的视频块的运动向量、切片的每一经帧间译码的视频块的帧间预测状态,及用以解码当前视频切片中的视频块的其它信息。

运动补偿单元72也可执行基于内插滤波器的内插。运动补偿单元72可使用如由视频编码器20在视频块的编码期间使用的内插滤波器,以计算参考块的子整数像素的内插值。在此情况下,运动补偿单元72可根据接收的语法元素确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测性块。

视频解码器30可经配置以执行上文关于图1所论述的本发明的各种技术中的任一者。举例来说,运动补偿单元72可经配置以确定用于视频数据的块的运动信息是否根据本发明的技术使用amvp或合并模式来译码。更确切地说,熵解码单元70可解码表示运动信息如何被译码以用于当前块的一或多个语法元素。

假设语法元素指示执行合并模式,运动补偿单元72可形成包含合并候选集合的候选列表。运动补偿单元72可基于特定的预定次序将候选添加至候选列表。在一个实例中,运动补偿单元72按a1、b1、b0、a0的次序将候选添加至候选列表,随后添加先进时间运动向量预测(atmvp)候选。运动补偿单元72也可添加额外候选且执行候选列表的修剪,如上文所论述。最终,运动补偿单元72可解码表示哪些候选用于译码当前块的运动信息的合并索引。

此外,在一些实例中,运动补偿单元72可首先确定atmvp候选是否可用。举例来说,运动补偿单元可确定与参考图片中的当前块相对应的块,且确定运动信息是否可用于对应块。当运动信息可用于对应块时,运动补偿单元72可随后确定atmvp候选(即,对应块)为可用的。在一些实例中,运动补偿单元72可确定在不使用帧内预测的情况下预测整个对应块时,运动信息可用于对应块,但在使用帧内预测来预测至少部分的对应块时,运动信息为不可用的。

类似地,在一些实例中,运动补偿单元72可确定两个潜在atmvp候选的哪一者应被用作最终被添加至候选列表的atmvp候选。举例来说,运动补偿单元72可形成相对于当前块的第一时间运动向量,所述第一时间运动向量识别第一运动源图片(即,第一参考图片)中的第一atmvp候选。若运动信息不可用于第一atmvp候选,则运动补偿单元72可确定运动信息是否可用于第二不同atmvp候选。可使用参考第二不同参考图片的同一时间运动向量、参考同一(即,第一)参考图片的不同时间运动向量或参考第二不同参考图片的不同时间运动向量来识别第二atmvp候选。如上文所论述,待检查的参考图片可在参考图片列表中的参考索引的递升次序中。同样地,若使用不同时间运动向量,则可以预定次序从相邻块至当前块的时间向量选择时间运动向量。

此外,运动补偿单元72可针对特定参考图片列表确定运动向量是否可用于atmvp候选中的子pu。若如此,运动向量被视为可供用于所述参考图片列表。否则,运动向量被视为不可用于参考图片列表。替代地,若运动向量可用于另一参考图片列表,则运动补偿单元72可通过缩放运动向量以指向第一参考图片列表中的目标参考图片来修改运动信息,如上文所论述。

逆量化单元76逆量化(即,解量化)提供于位流中并由熵解码单元70熵解码的经量化变换系数。逆量化过程可包含使用由视频解码器30针对视频切片中的每一视频块计算的量化参数qpy以确定应进行应用的量化程度及(同样地)逆量化程度。

逆变换单元78将逆变换(例如,逆dct、逆整数变换或概念上类似的逆变换过程)应用于变换系数,以便在像素域中产生残余块。

在运动补偿单元72基于运动向量及其它语法元素而产生当前视频块的预测性块之后,视频解码器30通过将来自逆变换单元78的残余块与由运动补偿单元72所产生的对应预测性块求和而形成经解码视频块。求和器80表示执行此求和运算的一或多个组件。若需要,也可应用解块滤波器来对经解码块进行滤波以便移除块效应伪影。也可使用其它回路滤波器(在译码回路中或在译码回路之后)以使像素转变平滑,或以其它方式改进视频质量。接着将给定帧或图片中的经解码视频块存储于参考图片存储器82中,所述参考图片存储器存储用于后续运动补偿的参考图片。参考图片存储器82也存储经解码视频以用于稍后在显示装置(例如,图1的显示装置32)上呈现。

以此方式,视频解码器30表示视频译码器的实例,所述视频译码器经配置以进行以下操作:针对视频数据的当前块形成包含多个合并候选的合并候选列表,所述多个合并候选包含从四个相邻块至所述当前块的四个空间相邻候选及紧接在所述四个空间相邻候选之后的先进时间运动向量预测(atmvp)候选;译码至所述合并候选列表中的索引,所述索引识别所述合并候选列表中的多个合并候选中的一合并候选;及使用所述经识别的合并候选的运动信息译码视频数据的当前块。

图4为绘示hevc中的空间相邻候选的概念图。对于特定pu(pu0),空间mv候选从图4上展示的相邻块导出,但从块产生候选的方法对于合并模式及amvp模式来说为不同的。

在合并模式中,可使用图4(a)中展示的具有编号的次序导出至多四个空间mv候选,且所述次序如下:左(0,a1)、上(1,b1)、右上(2,b0)、左下(3,a0)及左上(4,b2),如图4(a)中所示。即,在图4(a)中,块100包含pu0104a及pu1104b。当视频译码器使用合并模式译码pu0104a的运动信息时,视频译码器以所述次序将来自空间相邻块108a、108b、108c、108d及108e的运动信息添加至候选列表。与hevc中一样,块108a、108b、108c、108d及108e也可分别被称作块a1、b1、b0、a0及b2。

在avmp模式中,相邻块经划分成两个群组:包含块0及1的左群组及包含块2、3及4的上群组,如图4(b)上所展示。这些块在图4(b)中分别被标记为块110a、110b、110c、110d及110e。确切地说,在图4(b)中,块102包含pu0106a及pu1106b,且块110a、110b、110c、110d及110e表示对pu0106a的空间相邻者。对于每一群组,参考与由用信号表示的参考索引指示的参考图片相同的参考图片的相邻块中的潜在候选具有待选择的最高优先权以形成所述群组的最终候选。有可能所有相邻块均不含有指向相同参考图片的运动向量。因此,若无法发现此类候选,则将缩放第一可用候选以形成最终候选;因此可补偿时间距离差。

图5为绘示hevc中的时间运动向量预测的概念图。确切地说,图5(a)绘示包含pu0122a及pu1122b的实例cu120。pu0122a包含pu122a的中心块126及对于pu0122a的右下块124。图5(a)也展示可从pu0122a的运动信息预测运动信息的外部块128,如下文所论述。图5(b)绘示包含将针对其预测运动信息的当前块138的当前图片130。确切地说,图5(b)绘示对当前图片130(包含对当前块138的共置块140)的共置图片134、当前参考图片132及共置参考图片136。使用运动向量144预测共置块140,所述运动向量144用作块138的运动信息的时间运动向量预测子(tmvp)142。

若tmvp经启用且tmvp候选为可用的,则视频译码器可将tmvp候选(例如,tmvp候选142)添加至mv候选列表中在任何空间运动向量候选之后。对于合并模式及amvp模式两者,tmvp候选的运动向量导出的过程为相同的。然而,根据hevc,将合并模式中的tmvp候选的目标参考索引设定成0。

tmvp候选导出的原色块位置为共置pu外侧的右下块,如图5(a)中所展示的块124对于pu0122a的位置,以补偿用于产生空间相邻候选的上块及左块的偏差。然而,若块124位于当前ctb行的外侧或运动信息并不可用于块124,则用如图5(a)中所展示的pu的中心块126取代所述块。

从共置图片134的共置块140导出tmvp候选142的运动向量,如切片层级信息中所指示。

类似于avc中的时间直接模式,tmvp候选的运动向量可经受运动向量缩放,所述缩放经执行以补偿当前图片130与当前参考图片132,及共置图片134与共置参考图片136之间的图片次序计数(poc)距离差。即,可基于这些poc差来缩放运动向量144以产生tmvp候选142。

下文论述hevc的合并模式及amvp模式的若干方面。

运动向量缩放:假设运动向量的值在呈现时间方面与图片之间的距离成比例。运动向量关联两个图片:参考图片及含有运动向量的图片(即,包括类图片)。当视频编码器20或视频解码器30使用运动向量来预测另一运动向量时,基于图片次序计数(poc)值计算包括类图片与参考图片之间的距离。

对于待预测的运动向量,其相关联的包括类图片及参考图片不同。即,对于两个不同运动向量存在两个poc差值:待预测的第一运动向量,及用以预测第一运动向量的第二运动向量。另外,第一poc差为第一运动向量的当前图片与参考图片之间的差,且第二poc差为含有第二运动向量的图片与第二运动向量参考的参考图片之间的差。可基于这些两个poc距离来缩放第二运动向量。对于空间相邻候选,两个运动向量的包括类图片相同,而参考图片不同。在hevc中,运动向量缩放适用于空间及时间相邻候选的tmvp及amvp两者。

人工运动向量候选产生:若运动向量候选列表不完整,则可产生人工运动向量候选并将其插入在所述列表的末端处直至所述列表包含预定数目个候选。

在合并模式中,存在两种类型的人工mv候选:仅针对b切片导出的组合式候选,及若第一类型并未提供足够的人工候选,仅针对amvp使用的零候选。

对于已在候选列表中且具有必要运动信息的每一对候选,双向组合式运动向量候选通过参考列表0中的图片的第一候选的运动向量与参考列表1中的图片的第二候选的运动向量的组合导出。

用于候选插入的修剪过程:来自不同块的候选可恰好相同,这降低合并/amvp候选列表的效率。可应用修剪过程以解决此问题。根据修剪过程,在某种程度上,视频译码器将当前候选列表中的一个候选与其它候选进行比较以避免插入相同候选。为减小复杂度,仅应用有限数目的修剪过程,而不是将每一潜在候选与已在列表中的所有其它现有候选进行比较。

图6绘示3d-hevc的实例预测结构。3d-hevc为通过jct-3v开发的hevc的3d视频扩展。下文关于图6及7描述与本发明的技术有关的某些技术。

图6展示用于三视图情况的多视图预测结构。v3表示基础视图且可从同一时间例项的相依(基础)视图中的图片预测非基础视图(v1或v5)中的图片。

在mv-hevc中支持视图间样本预测(从经重构建样本),其典型预测结构展示于图8中。

mv-hevc及3d-hevc两者以基础(纹理)视图可由hevc(版本1)解码器解码的方式与hevc相容。mv-hevc及3d-hevc的测试模型经描述于zhang等人的截至2015年1月26日可从网站mpeg.chiariglione.org/standards/mpeg-h/high-efficiency-video-coding/test-model-6-3d-hevc-and-mv-hevc获得的jct-3v文献iso/iecjtc1/sc29/wg11n13940“3d-hevc及mv-hevc的测试模型6(testmodel6of3d-hevcandmv-hevc)”中。

在mv-hevc中,通过将所有这些图片置于图片的参考图片列表中,可由相同时间例项的相同视图中的图片及参考视图中的图片两者来预测非基础视图中的当前图片。因此,当前图片的参考图片列表含有时间参考图片及视图间参考图片两者。

与对应于时间参考图片的参考索引相关联的运动向量表示为时间运动向量。

与对应于视图间参考图片的参考索引相关联的运动向量表示为视差运动向量。

3d-hevc支持mv-hevc中的所有特征。因此,启用如上文所提及的视图间样本预测。

另外,支持更先进的仅纹理译码工具及深度相关/相依译码工具。

仅纹理译码工具常常要求可属于同一物件的对应块(视图之间)的识别。因此,视差向量导出为3d-hevc中的基本技术。

图7为绘示3d-hevc中的以子pu为基础的视图间运动预测的概念图。图7展示当前视图(v1)的当前图片160及参考视图(v0)中的共置图片162。当前图片160包含当前pu164,其包含四个子pu166a至166d(子pu166)。相应视差向量174a至174d(视差向量174)识别与共置图片162中的子pu166相对应的子pu168a至168d。在3d-hevc中,用于视图间合并候选(即,从参考视图中的参考块导出的候选)的子pu层级视图间运动预测方法。

当启用所述模式时,当前pu164可对应于参考视图中的参考区域(其大小与由视差向量识别的当前pu相同),且所述参考区域可具有比通常针对pu产生的一个运动信息集合所需的运动信息更丰富的运动信息。因此,可使用子pu层级视图间运动预测(spivmp)方法,如图7中所展示。

也可作为特殊合并候选用信号表示此模式。子pu中的每一者含有运动信息的全集合。因此,pu可含有多个运动信息集合。

3d-hevc中的以子pu为基础的运动参数继承(mpi):类似地,在3d-hevc中,也可以类似于子pu层级视图间运动预测的方式扩展mpi候选。举例来说,若当前深度pu具有含有多个pu的共置区域,则当前深度pu可分成子pu,每一子pu可具有不同运动信息集合。此方法被称作子pumpi。即,对应子pu168a至168d的运动向量172a至172d可由子pu166a至166d继承为运动向量170a至170d,如图7中所展示。

用于2d视频译码的子pu相关的信息:在美国专利申请案第61/883,111号(其全部内容特此以引用的方式并入)中,描述以子pu为基础的先进tmvp设计。在单层译码中,提出两阶段先进时间运动向量预测设计。

第一阶段将导出识别参考图片中的当前预测单元(pu)的对应块,且第二阶段将从对应块抽选多个运动信息集合且将其指派给pu的子pu。pu的每一子pu因此单独地经运动补偿。atmvp的概念经概述如下:

1.第一阶段中的向量可从当前pu的空间及时间相邻块导出。

2.当激活所有其它合并候选中的合并候选,可达成此过程。

在适用于单层译码及子pu时间运动向量预测的情况下,pu或cu可具有待输送到预测子顶部上的运动细化数据。

61/883,111申请案的若干设计方面突出如下:

1.向量导出的第一阶段也可仅由零向量简化。

2.向量导出的第一阶段可包含共同地识别运动向量及其相关联图片。已经提出选择相关联图片及进一步决定运动向量为第一阶段向量的各种方式。

3.若运动信息在以上过程期间不可用,则“第一阶段向量”用于取代。

4.从时间相邻者所识别的运动向量必须以类似于tmvp中的运动向量缩放的方式来缩放以用于当前子pu。然而,可使用以下方式中的一者设计此类运动向量可经缩放至的参考图片:

a.通过当前图片的固定参考索引识别图片。

b.若也可用于当前图片的参考图片列表中,则将所述图片识别为对应时间相邻者的参考图片。

c.将图片设定成在第一阶段中所识别并来自抓取运动向量的处的共置图片。

图8为绘示从参考图片的子pu运动预测的概念图。在此实例中,当前图片180包含当前pu184(例如,pu)。在此实例中,运动向量192识别相对于pu184的参考图片182的pu186。pu186被分割成子pu188a至188d,每一者具有相应运动向量190a至190d。因此,虽然当前pu184实际上未分割成单独的子pu,但在此实例中,可使用来自子pu188a至188d的运动信息预测当前pu184。确切地说,视频译码器可使用相应运动向量190a至190d来译码当前pu184的子pu。然而,视频译码器不必译码指示当前pu184分裂成子pu的语法元素。以此方式,可使用从相应子pu188a至188d继承的多个运动向量190a至190d有效地预测当前pu184,而没有用以将当前pu184分裂成多个子pu的语法元素的信令开销。

图9为绘示atmvp(类似于tmvp)中的相关图片的概念图。确切地说,图9绘示当前图片204、运动源图片206及参考图片200、202。更确切地说,当前图片204包含当前块208。时间运动向量212识别相对于当前块208的运动源图片206的对应块210。对应块210又包含运动向量214,所述运动向量214参考参考图片202且充当当前块208的至少一部分(例如,当前块208的子pu)的先进时间运动向量预测子。即,可添加运动向量214作为当前块208的候选运动向量预测子。若经选择,则可使用对应运动向量(即,参考参考图片200的运动向量216)来预测当前块208的至少一部分。

图10为绘示根据本发明的技术的用于在编码过程期间将atmvp候选添加至候选列表的实例方法的流程图。图10的方法经描述为由视频编码器20(图1及2)执行。然而,应理解,其它编码装置可经配置以执行此方法或类似方法。

最初,视频编码器20获得待编码的视频数据的块(图10中未展示)。块可包含空间相邻者的集合,诸如图4(a)及图4(b)中展示的那些空间相邻者。运动补偿单元44可通过首先将左空间候选添加至候选列表而构建候选列表(250)。即,就图4(a)来说,假设pu0104a为待编码块,视频编码器20可首先将空间相邻者108a插入至候选列表。

随后,运动补偿单元44可将上空间候选添加至候选列表(252)。就图4(a)来说,视频编码器20可将空间相邻者108b插入至候选列表。

随后,运动补偿单元44可将右上空间候选添加至候选列表(254)。就图4(a)来说,视频编码器20可将空间相邻者108c插入至候选列表。

随后,运动补偿单元44可将左下空间候选添加至候选列表(256)。就图4(a)来说,视频编码器20可将空间相邻者108d插入至候选列表。

随后,运动补偿单元44可将先进时间运动向量预测子(atmvp)候选添加至候选列表(258)。如上文所论述,atmvp候选可表示由(例如)图8及9中所展示及关于图8及9所论述的时间向量所识别的对应块。此外,在一些实例中,运动补偿单元44可首先确定atmvp候选是否可用。举例来说,运动补偿单元可确定与参考图片中的当前块相对应的块,且确定运动信息是否可用于对应块。当运动信息可用于对应块时,运动补偿单元44可随后确定atmvp候选(即,对应块)为可用的。在一些实例中,运动补偿单元44可确定在不使用帧内预测的情况下预测整个对应块时,运动信息可用于对应块,但在使用帧内预测来预测至少部分的对应块时,运动信息为不可用的。

类似地,在一些实例中,运动补偿单元44可确定两个潜在atmvp候选的哪一者应被用作最终添加至候选列表的atmvp候选。举例来说,运动补偿单元44可形成相对于当前块的第一时间运动向量,所述第一时间运动向量识别第一运动源图片(即,第一参考图片)中的第一atmvp候选。若运动信息不可用于第一atmvp候选,则运动补偿单元44可确定运动信息是否可供用于第二不同atmvp候选。可使用参考第二不同参考图片的同一时间运动向量、参考同一(即,第一)参考图片的不同时间运动向量或参考第二不同参考图片的不同时间运动向量来识别第二atmvp候选。如上文所论述,待检查的参考图片可在参考图片列表中的参考索引的递升次序中。同样地,若使用不同时间运动向量,则可以预定次序从相邻块至当前块的时间向量选择时间运动向量。

此外,运动补偿单元44可针对特定参考图片列表确定运动向量是否可用于atmvp候选中的子pu。若如此,运动向量被视为可用于所述参考图片列表。否则,运动向量被视为不可用于所述参考图片列表。替代地,若运动向量可用于其它参考图片列表,则运动补偿单元44可通过缩放运动向量以指向第一参考图片列表中的目标参考图片来修改运动信息,如上文所论述。

视频编码器20可随后从候选列表选择候选中的一者(260)。举例来说,视频编码器20可使用候选列表中的任何或所有候选来测试块的编码。另外或替代地,视频编码器20的运动估计单元42可执行运动搜索及确定块的运动向量,及确定是否使用先进运动向量预测(amvp)或合并模式来编码运动向量。在图10的实例中,假设视频编码器20已选择使用合并模式来编码运动信息。一般来说,视频编码器20(更确切地说,模式选择单元40)可确定候选列表中的哪些候选产生最佳速率失真特性,并选择所述候选以用于预测块。

因此,视频编码器20可使用所选择的候选来预测当前块(262)。即,运动补偿单元44可检索通过所选择候选的运动信息识别的一或多个参考块,且在一些实例中,若运动信息具有子像素精确度,则可内插分数像素值。

视频编码器20可随后形成当前块的残余块(264)。如上文所论述,求和器50可逐像素计算当前块与经预测块之间的差,从而形成残余块。视频编码器20可随后编码残余块的残余信息并编码合并索引(266)。即,变换处理单元52可变换残余块以产生表示残余信息的变换系数。量化单元54可随后量化变换系数。熵编码单元56可随后熵编码经量化变换系数以及表示运动信息译码模式(在此实例中为合并模式)的语法元素,及表示来自候选列表的所选择候选的合并索引。

以此方式,图10的方法表示一方法的实例,所述方法包含:针对视频数据的当前块,形成包含多个合并候选的合并候选列表,所述多个合并候选包含从四个相邻块至当前块的四个空间相邻候选及紧接在所述四个空间相邻候选之后的先进时间运动向量预测(atmvp)候选;译码至合并候选列表中的索引,所述索引识别合并候选列表中的多个合并候选中的合并候选;及使用经识别合并候选的运动信息译码视频数据的当前块。

图11为绘示根据本发明的技术的用于在解码过程期间将atmvp候选添加至候选列表的实例方法的流程图。图11的方法经描述为由视频解码器30(图1及3)执行。然而,应理解,其它解码装置可经配置以执行此方法或类似方法。

最初,视频解码器30获得待编码的视频数据的块(图11中未展示)。块可包含空间相邻者的集合,诸如图4(a)及图4(b)中展示的那些空间相邻者。运动补偿单元72可通过首先将左空间候选添加至候选列表而构建候选列表(270)。即,就图4(a)来说,假设pu0104a为待编码块,视频解码器30可首先将空间相邻者108a插入至候选列表中。

随后,运动补偿单元72可将上空间候选添加至候选列表(272)。就图4(a)来说,视频解码器30可将空间相邻者108b插入至候选列表中。

随后,运动补偿单元72可将右上空间候选添加至候选列表(274)。就图4(a)来说,视频解码器30可将空间相邻者108c插入至候选列表中。

随后,运动补偿单元72可将左下空间候选添加至候选列表(276)。就图4(a)来说,视频解码器30可将空间相邻者108d插入至候选列表中。

随后,运动补偿单元72可将先进时间运动向量预测子(atmvp)候选添加至候选列表中(278)。如上文所论述,atmvp候选可表示由(例如)图8及9中所展示及关于图8及9所论述的时间向量所识别的对应块。此外,在一些实例中,运动补偿单元72可首先确定atmvp候选是否可用。举例来说,运动补偿单元可确定与参考图片中的当前块相对应的块,且确定运动信息是否可用于对应块。当运动信息可用于对应块时,运动补偿单元72可随后确定atmvp候选(即,对应块)为可用的。在一些实例中,运动补偿单元72可确定在不使用帧内预测的情况下预测整个对应块时,运动信息可用于对应块,但在使用帧内预测来预测至少部分的对应块时,运动信息为不可用的。

类似地,在一些实例中,运动补偿单元72可确定两个潜在atmvp候选的哪一者应被用作最终被添加至候选列表的atmvp候选。举例来说,运动补偿单元72可形成相对于当前块的第一时间运动向量,所述第一时间运动向量识别第一运动源图片(即,第一参考图片)中的第一atmvp候选。若运动信息不可用于第一atmvp候选,则运动补偿单元72可确定运动信息是否可用于第二不同atmvp候选。可使用参考第二不同参考图片的同一时间运动向量、参考同一(即,第一)参考图片的不同时间运动向量或参考第二不同参考图片的不同时间运动向量来识别第二atmvp候选。如上文所论述,待检查的参考图片可在参考图片列表中的参考索引的递升次序中。同样地,若使用不同时间运动向量,则可以预定次序从相邻块至当前块的时间向量选择时间运动向量。

此外,运动补偿单元72可针对特定参考图片列表确定运动向量是否可用于atmvp候选中的子pu。若如此,运动向量被视为可用于参考图片列表。否则,运动向量被视为不可用于所述参考图片列表。替代地,若运动向量可用于其它参考图片列表,则运动补偿单元72可通过缩放运动向量以指向第一参考图片列表中的目标参考图片来修改运动信息,如上文所论述。

视频解码器30可随后解码合并索引以从候选列表选择候选中的一者(280)。更确切地说,视频解码器30的熵解码单元70可熵解码表示当前块的运动信息是否是使用合并模式编码的一或多个语法元素以及表示来自候选列表的所选择候选的合并索引。

因此,视频解码器30可使用所选择的候选来预测当前块(282)。即,运动补偿单元72可检索通过所选择候选的运动信息识别的一或多个参考块,且在一些实例中,若运动信息具有子像素精确度,则可内插分数像素值。

视频解码器30也可解码当前块的残余块(284)。确切地说,熵解码单元70可解码经量化变换系数,逆量化单元76可逆量化所述经量化变换系数以形成变换块。逆变换单元78可随后对变换块进行逆变换以再现残余块。求和器80可随后(确切地说)通过重构建当前块而将所预测块与残余块相组合以解码当前块(286)。

以此方式,图11的方法表示一方法的实例,所述方法包含:针对视频数据的当前块,形成包含多个合并候选的合并候选列表,所述多个合并候选包含从四个相邻块至当前块的四个空间相邻候选及紧接在所述四个空间相邻候选之后的先进时间运动向量预测(atmvp)候选;译码至合并候选列表中的索引,所述索引识别合并候选列表中的多个合并候选中的合并候选;及使用经识别合并候选的运动信息译码视频数据的当前块。

应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可以不同序列执行,可添加、合并或完全省略所述动作或事件(例如,并非所有所描述动作或事件对于所述技术的实践皆是必要的)。此外,在某些实例中,可(例如)经由多线程处理、中断处理或多个处理器同时而非依序执行动作或事件。

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

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

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

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

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

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