视频译码中运动向量推导的制作方法

文档序号:13081569阅读:240来源:国知局
视频译码中运动向量推导的制作方法与工艺

本申请案主张2015年3月27日申请的美国临时申请案第62/139,572号和2015年6月19日申请的美国临时申请案第62/182,367号的权利,所述申请案的全部内容以引用的方式并入本文中。

本发明涉及视频译码。



背景技术:

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

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

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



技术实现要素:

本发明的技术涉及在视频译码中推导运动信息。举例来说,视频译码器(视频编码器或视频解码器)可产生不包含于位流中的运动信息以译码包含于位流中的视频数据。通过在编码或解码回路中推导运动信息,相对于将运动信息包含于位流中的技术(例如,传统的帧间预测技术),可达成位节省。

在一个实例中,一种解码视频数据的方法包含:从用于确定当前块的运动信息的多个运动信息推导模式中选择运动信息推导模式,其中所述多个运动信息推导模式中的每一运动信息推导模式包括针对对应于所述当前块外部的第二参考数据集合的第一参考数据集合执行运动搜索,且其中所述运动信息指示所述当前块相对于参考视频数据的运动;使用所述选定的运动信息推导模式确定所述当前块的所述运动信息;和使用所述经确定运动信息且在不解码表示所述运动信息的语法元素的情况下解码所述当前块。

在另一实例中,一种编码视频数据的方法包含:从用于确定当前块的运动信息的多个运动信息推导模式中选择运动信息推导模式,其中所述多个运动信息推导模式中的每一运动信息推导模式包括针对对应于所述当前块外部的第二参考数据集合的第一参考数据集合执行运动搜索,且其中所述运动信息指示所述当前块相对于参考视频数据的运动;使用所述选定的运动信息推导模式确定所述当前块的所述运动信息;和使用所述经确定运动信息且在不编码表示所述运动信息的语法元素的情况下编码所述当前块。

在另一实例中,一种用于译码视频数据的装置包含:存储器,其经配置以存储视频数据的当前块;和一或多个处理器,其经配置以进行以下操作:从用于确定所述当前块的运动信息的多个运动信息推导模式中选择运动信息推导模式,其中所述多个运动信息推导模式中的每一运动信息推导模式包括针对对应于所述当前块外部的第二参考数据集合的第一参考数据集合执行运动搜索,且其中所述运动信息指示所述当前块相对于参考视频数据的运动;使用所述选定的运动信息推导模式确定所述当前块的所述运动信息;和使用所述经确定运动信息且在不译码表示所述运动信息的语法元素的情况下译码所述当前块。

在另一实例中,一种用于译码视频数据的设备包含:用于从用于确定当前块的运动信息的多个运动信息推导模式中选择运动信息推导模式的装置,其中所述多个运动信息推导模式中的每一运动信息推导模式包括针对对应于所述当前块外部的第二参考数据集合的第一参考数据集合执行运动搜索,且其中所述运动信息指示所述当前块相对于参考视频数据的运动;用于使用所述选定的运动信息推导模式确定所述当前块的所述运动信息的装置;和使用所述经确定运动信息且在不解码表示所述运动信息的语法元素的情况下译码所述当前块的装置。

在另一实例中,一种非暂时性计算机可读媒体具有存储于其上的指令,所述指令在经执行时使一或多个处理器进行以下操作:从用于确定当前块的运动信息的多个运动信息推导模式中选择运动信息推导模式,其中所述多个运动信息推导模式中的每一运动信息推导模式包括针对对应于所述当前块外部的第二参考数据集合的第一参考数据集合执行运动搜索,且其中所述运动信息指示所述当前块相对于参考视频数据的运动;使用所述选定的运动信息推导模式确定所述当前块的所述运动信息;和使用所述经确定运动信息且在不解码表示所述运动信息的语法元素的情况下译码所述当前块。

在另一实例中,一种处理视频数据的方法包含:确定用于推导视频数据的当前块的运动信息的候选运动向量,其中所述运动信息指示所述当前块相对于参考视频数据的运动;和基于所述经确定的候选运动向量而确定所述当前块的所推导出的运动向量,其中确定所述所推导出的运动向量包括针对对应于所述当前块外部的第二参考数据集合的第一参考数据集合执行运动搜索。

在另一实例中,一种用于处理视频数据的装置包含:存储器,其经配置以存储视频数据的当前块;和一或多个处理器,其经配置以进行以下操作:确定用于推导视频数据的当前块的运动信息的候选运动向量,其中所述运动信息指示所述当前块相对于参考视频数据的运动;和基于所述经确定的候选运动向量而确定所述当前块的所推导出的运动向量,其中确定所述所推导出的运动向量包括针对对应于所述当前块外部的第二参考数据集合的第一参考数据集合执行运动搜索。

在另一实例中,一种用于视频数据的处理包含用于确定用于推导视频数据的当前块的运动信息的候选运动向量的装置,其中所述运动信息指示所述当前块相对于参考视频数据的运动;和用于基于所述经确定的候选运动向量而确定所述当前块的所推导出的运动向量的装置,其中所述用于确定所述所推导出的运动向量的装置包括针对对应于所述当前块外部的第二参考数据集合的第一参考数据集合执行运动搜索。

在另一实例中,一种非暂时性计算机可读媒体具有存储于其上的指令,所述指令在经执行时使一或多个处理器进行以下操作:确定用于推导视频数据的当前块的运动信息的候选运动向量,其中所述运动信息指示所述当前块相对于参考视频数据的运动;和基于所述经确定的候选运动向量而确定所述当前块的所推导出的运动向量,其中为确定所述所推导出的运动向量,所述指令使所述一或多个处理器针对对应于所述当前块外部的第二参考数据集合的第一参考数据集合执行运动搜索。

在另一实例中,一种处理视频数据的方法包含:将视频数据的当前块分裂成多个子块以供推导所述当前块的运动信息,其中所述运动信息指示所述当前块相对于参考视频数据的运动;分别针对所述多个子块中的每一相应子块推导运动信息,所述推导包括针对对应于每一相应子块外部的第二参考数据集合的第一参考数据集合执行运动搜索;和基于所述所推导出的运动信息且在不解码表示所述运动信息的语法元素的情况下解码所述多个子块。

在另一实例中,一种处理视频数据的方法包含:将视频数据的当前块分裂成多个子块以供推导所述当前块的运动信息,其中所述运动信息指示所述当前块相对于参考视频数据的运动;分别针对所述多个子块中的每一相应子块推导运动信息,所述推导包括针对对应于每一相应子块外部的第二参考数据集合的第一参考数据集合执行运动搜索;和基于所述所推导出的运动信息且在不编码表示所述运动信息的语法元素的情况下编码所述多个子块。

在另一实例中,一种用于处理视频数据的装置包含:存储器,其经配置以存储视频数据的一当前块;和一或多个处理器,其经配置以进行以下操作:将视频数据的当前块分裂成多个子块以供推导所述当前块的运动信息,其中所述运动信息指示所述当前块相对于参考视频数据的运动;分别针对所述多个子块中的每一相应子块推导运动信息,所述推导包括针对对应于每一相应子块外部的第二参考数据集合的第一参考数据集合执行运动搜索;和基于所述所推导出的运动信息且在不译码表示所述运动信息的语法元素的情况下译码所述多个子块。

在另一实例中,一种非暂时性计算机可读媒体具有存储于其上的指令,所述指令在经执行时使一或多个处理器进行以下操作:将视频数据的当前块分裂成多个子块以供推导所述当前块的运动信息,其中所述运动信息指示所述当前块相对于参考视频数据的运动;分别针对所述多个子块中的每一相应子块推导运动信息,所述推导包括针对对应于每一相应子块外部的第二参考数据集合的第一参考数据集合执行运动搜索;和基于所述所推导出的运动信息且在不解码表示所述运动信息的语法元素的情况下解码所述多个子块。

在另一实例中,一种用于处理视频数据的装置包含:存储器,其经配置以存储当前图片;和一或多个处理器,其经配置以进行以下操作:获得含有多个经译码图片的经编码位流;内插不包含于所述经编码位流中的一或多个参考图片;和基于所述经内插的一或多个参考图片而解码所述经编码位流的当前图片的视频数据。

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

附图说明

图1为说明可实施本发明的技术的实例视频编码和解码系统的框图。

图2为说明可实施本发明的技术的视频编码器的实例的框图。

图3为说明可实施本发明的技术的视频解码器的实例的框图。

图4a和4b为说明用于合并模式和先进运动向量预测(amvp)模式的实例空间相邻运动向量候选者的概念图。

图5a和5b为说明实例时间运动向量预测子(tmvp)候选者和运动向量按比例调整的概念图。

图6为说明帧速率向上转换(fruc)中的单侧运动估计(me)的实例的概念图。

图7为说明fruc中的双侧运动估计(me)的实例的概念图。

图8为说明基于模板匹配的解码器侧运动向量推导(dmvd)的实例的概念图。

图9为说明dmvd中的基于镜像的双向运动向量推导的实例的概念图。

图10为说明基于扩展双侧匹配的运动向量推导的概念图。

图11为说明使用dmvd解码预测单元(pu)的实例的流程图。

图12为说明用于确定运动信息推导模式以供译码视频数据的块的实例过程的流程图。

图13为说明用于推导运动向量以供译码视频数据的块的实例过程的流程图。

图14为说明用于针对视频数据的块的子块推导运动信息的实例过程的流程图。

具体实施方式

本发明的技术涉及基于块的视频译码中的解码器侧运动信息推导、块分割和/或视频数据内插。所述技术可应用于现存视频编码解码器中的任一个(例如,高效视频译码(hevc)),或可为用于任何未来视频译码标准的高效译码工具。

视频译码装置实施视频压缩技术以高效地编码和解码视频数据。视频压缩技术可包含应用空间预测(例如,帧内预测)、时间预测(例如,帧间预测)和/或其它预测技术以减少或去除视频序列中固有的冗余。视频编码器通常将原始视频序列的每一图片分割成被称作视频块或译码单元(下文更详细地描述)的矩形区。可使用特定预测模式来编码这些视频块。

对于帧间预测模式,视频编码器通常在另一时间位置中的帧(其被称作参考帧)中搜索与正经编码的块类似的块。视频编码器可将搜索限于从待编码的块的某一空间位移。可使用包含水平位移分量和垂直位移分量的二维(2d)运动向量来定位最佳匹配。对于帧内预测模式,视频编码器可基于来自同一图片内的先前经编码相邻块的数据使用空间预测技术而形成预测块。

视频编码器可确定预测误差,即,正经编码的块与预测块中的像素值之间的差(也被称作残余)。视频编码器也可将例如离散余弦变换(dct)的变换应用于预测误差以产生变换系数。在变换之后,视频编码器可量化变换系数。可使用语法元素来表示经量化变换系数和运动向量,且其连同控制信息一起形成视频序列的经译码表示。在一些情况下,视频编码器可熵译码语法元素,由此进一步减少其表示所需的位数目。

视频解码器可使用上文所论述的语法元素和控制信息来构建用于解码当前帧的预测性数据(例如,预测性块)。举例来说,视频解码器可将预测块与经压缩预测误差相加。视频解码器可通过使用经量化系数对变换基底函数进行加权来确定经压缩预测误差。经重构建帧与原始帧之间的差被称为重构建误差。

在一些情况下,视频解码器或后处理装置可基于一或多个参考图片而内插图片。此类经内插图片不包含于经编码位流中。视频解码器或后处理装置可内插图片以向上转换经编码位流的原始帧速率。此过程可被称作帧速率向上转换(fruc)。替代地,视频解码器或后处理装置可内插图片以插入被视频编码器跳过的一或多个图片,从而以减小的帧速率编码视频序列。在任一状况下,视频解码器或后处理装置内插不包含于已由视频解码器接收的经编码位流中的帧。视频解码器或后处理装置可使用数种内插技术中的任一个内插图片,例如,使用经运动补偿帧内插、帧重复或帧平均化。

虽然已出于向上转换的目的而使用用于内插图片的某些技术,但此类技术尚未广泛地用于视频译码期间以(例如)译码包含于经编码位流中的视频数据。举例来说,用于内插图片的技术可为相对时间密集的和/或需要相对大量处理功率。因此,在解码视频数据时此类技术通常尚未在回路内执行。

根据本发明的方面,视频译码器(例如,视频编码器或视频解码器)可在译码位流时推导运动信息。举例来说,视频译码器可产生不包含于位流中的运动信息以译码包含于位流中的视频数据。通过在编码或解码回路中推导运动信息,相对于将运动信息包含于位流中的技术(例如,上文所提到的帧间预测技术),可达成位节省。

根据本发明的一些方面,视频译码器可在译码期间利用复数种运动信息推导技术。在此类实例中,视频译码器可确定运动信息推导模式以确定在确定当前块的运动信息时使用哪些运动信息推导技术。一般来说,使用运动信息推导模式来推导运动信息可包含针对对应于当前块外部的第二参考数据集合的第一参考数据集合执行运动搜索。举例来说,使用运动信息推导模式(例如,双侧匹配技术、模板匹配技术或另一技术,如下文更详细地描述),视频译码器可在运动向量候选者的列表中选择运动向量候选者。视频译码器可基于识别参考图片中相对紧密地匹配当前图片的数据的参考数据(其可被称作确定参考数据的“最佳匹配”)的运动向量候选者而选择运动向量候选者。

在一些情况下,视频译码器可使用选定运动向量候选者来在参考图片中识别搜索窗口。视频译码器可基于搜索窗口中相对紧密地匹配当前图片中的对应数据的参考数据而改进运动向量候选者。即,视频译码器可基于搜索窗口中紧密地匹配当前图片中的数据的参考数据之间的运动而推导当前块的新运动信息。视频译码器可接着使用所推导出的运动信息来对当前块执行运动补偿。以此方式,视频译码器可在运动信息未在经编码位流中用信号发送的情况下推导当前块的运动信息。

根据本发明的方面,在一些实例中,视频译码器可在推导运动信息时将视频数据块分裂成子块。举例来说,视频译码器可分别针对较大块的每一子块推导运动信息。在一些情况下,视频译码器可最初针对子块中的每一个确定块的运动信息,且使用所推导出的运动信息作为候选运动信息。视频译码器可接着针对子块中的每一个(例如)使用运动信息推导模式(例如,双侧匹配技术、模板匹配技术或另一技术,如下文更详细地描述)进一步改进所推导出的运动信息。

本发明的技术也可包含用于内插图片的技术。在一些情况下,以上技术的任何组合可用以内插不包含于位流中的图片,例如,类似于帧速率向上转换。然而,替代简单地将经内插图片添加到视频序列,视频解码器可在译码期间使用经内插帧。举例来说,视频解码器可基于经内插图片的至少一部分而解码当前图片的数据。在一些情况下,视频解码器可将经内插图片设定为等于当前图片。举例来说,视频解码器可解码包含于位流中的用于当前图片的语法数据(例如,切片标头数据和其类似者),内插图片且将经内插图片设定为当前图片。在其它情况下,视频解码器可内插图片,且相对于经内插图片解码当前图片的数据。在此情况下,出于预测的目的,视频解码器可将经内插图片添加到参考图片存储器。

因此,在一些实例中,本文中参考fruc所描述的某些技术可用以确定运动信息(例如,在解码器侧运动信息推导过程中)。在其它实例中,本文中参考fruc所描述的技术可用以内插视频数据,(例如)以用于译码视频数据的参考或用于输出。

图1为说明可利用用于推导运动信息、执行块分割和/或内插视频数据的技术的实例视频编码和解码系统10的框图。如图1中所展示,系统10包含提供稍后将由目的地装置14解码的经编码视频数据的源装置12。明确地说,源装置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可经配置以应用用于推导运动信息、执行块分割和/或内插视频数据的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置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上。

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

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

尽管图1中未展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当mux-demux单元或其它硬件和软件以处置共同数据流或单独数据流中的音频和视频两者的编码。如果适用,那么mux-demux单元可遵照ituh.223多路复用器协议或例如用户数据报协议(udp)的其它协议。

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

本发明可大体上参考将某些信息“用信号发送”到例如视频解码器30的另一装置的视频编码器20。术语“用信号发送”可大体上指语法元素和/或用以解码经压缩视频数据的其它数据的通信。此通信可实时地或近乎实时地发生。替代地,此通信可在时间跨度内发生,例如可能在编码时在经编码位流中将语法元素存储到计算机可读存储媒体时发生,接着在存储到此媒体之后可由解码装置在任何时间检索所述语法元素。

视频编码器20和视频解码器30可根据视频译码标准操作。通过itu-t视频译码专家群(vceg)和iso/iec运动图片专家群(mpeg)的视频译码联合协作小组(jct-vc)以及3d视频译码扩充开发联合协作小组(jct-3v)开发的实例视频译码标准包含高效视频译码(hevc)或itu-th.265,包含其范围扩充、多视图扩充(mv-hevc)和可调式扩充(shvc)。定案的hevc标准文件作为“itu-th.265,h系列:视听服务的视听和多媒体系统基础设施-移动视频的译码-高效视频译码”由国际电信联合会(itu)的电信标准化部门在2013年4月公布。替代地,视频编码器20和视频解码器30可根据其它专有或工业标准(例如,iso/iecmpeg-4visual和itu-th.264(也称为iso/iecmpeg-4avc),包含其可调式视频译码(svc)扩充和多视图视频译码(mvc)扩充)而操作。然而,本发明的技术不限于任何特定译码标准。举例来说,本发明的技术可与多种其它专有或非专有视频译码技术或后续标准(例如,itu-th.266)一起使用。

如上文所提到,对于帧间预测模式,视频编码器20可在另一时间位置的图片(被称作参考图片)中搜索类似于正经编码的块(“当前块”)的块。用以识别参考图片的信息可被称作运动信息。举例来说,对于每一块,运动信息集合可为可用的。所述运动信息集合含有用于前向和后向预测方向的运动信息。此处,前向和后向预测方向为双向预测模式的两个预测方向,且术语“前向”和“后向”未必具有几何含义;实情为其对应于当前图片的参考图片列表0(refpiclist0)和参考图片列表1(refpiclist1)。当仅一个参考图片列表可用于图片或切片时,仅refpiclist0可用且切片的每一块的运动信息始终为前向的。

在一些状况下,运动向量连同参考索引一起用于解码过程中,此运动向量与相关联参考索引被表示为运动信息的单向预测性集合。

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

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

在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中,可在b切片中针对跳过或直接模式而在mb或mb分割区层级启用时间直接模式。对于每一mb分割区,与当前块的refpiclist1[0]中的当前mb分割区共置(co-located)的块的运动向量可用以推导运动向量。共置块中的每一运动向量可基于poc距离而按比例调整。在avc中,直接模式也可从空间相邻者预测运动信息,其可被称作空间直接模式。

在hevc中,为产生图片的经编码表示,视频编码器20可产生译码树型单元(ctu)的集合。ctu中的每一个可包括亮度样本的译码树型块(ctb)、色度样本的两个对应ctb,和用以译码ctb的样本的语法结构。在单色图片或具有三个单独色彩平面的图片中,ctu可包括单一ctb块和用以译码所述译码树型块的样本的语法结构。

译码树型块可为样本的n×n块。ctb的大小可介于hevc主规范中的16×16到64×64的范围内(但技术上可支持8×8ctb大小)。译码单元(cu)可与ctb具有相同大小,但可为且小如8×8。每一译码单元用一个模式译码。ctu也可被称作“树型块”或“最大译码单元”(lcu)。hevc的ctu可广泛地类似于例如h.264/avc的其它标准的宏块。然而,ctu未必限于特定大小,且可包含一或多个译码单元(cu)。切片可包含在光栅扫描次序中连续定序的整数数目个ctu。

为产生经译码ctu,视频编码器20可对ctu的译码树型块递回地执行四分树分割,以将译码树型块划分成译码块,因此命名为“译码树型单元”。译码块可为样本的n×n块。cu可包括具有亮度样本阵列、cb样本阵列和cr样本阵列的图片的亮度样本的译码块和色度样本的两个对应译码块,和用以译码所述译码块的样本的语法结构。在单色图片或具有三个单独色彩平面的图片中,cu可包括单一译码块和用以译码所述译码块的样本的语法结构。

视频编码器20可将cu的译码块分割为一或多个预测块。预测块为供应用相同预测的样本的矩形(即,正方形或非正方形)块。cu的预测单元(pu)可包括亮度样本的预测块、色度样本的两个对应预测块和用以预测所述预测块的语法结构。在单色图片或具有三个单独色彩平面的图片中,pu可包括单一预测块和用以预测所述预测块的语法结构。视频编码器20可针对cu的每一pu的亮度预测块、cb预测块和cr预测块而产生预测性亮度块、cb块和cr块。

视频编码器20可使用帧内预测或帧间预测来产生pu的预测性块。如果视频编码器20使用帧内预测来产生pu的预测性块,那么视频编码器20可基于与pu相关联的图片的经解码样本而产生pu的预测性块。如果视频编码器20使用帧间预测来产生pu的预测性块,那么视频编码器20可基于不同于相关联于pu的图片的一或多个图片的经解码样本而产生pu的预测性块。当cu经帧间译码时,cu可进一步被分割成两个或四个pu。当两个pu存在于一个cu中时,pu在一些情况下可为一半大小的矩形或具有cu的四分之一或四分之三大小的两个矩形大小。

在视频编码器20产生cu的一或多个pu的预测性亮度块、cb块和cr块之后,视频编码器20可产生cu的亮度残余块。cu的亮度残余块中的每一样本指示cu的预测性亮度块中的一个中的亮度样本与cu的原始亮度译码块中的对应样本之间的差。此外,视频编码器20可产生cu的cb残余块。cu的cb残余块中的每一样本可指示cu的预测性cb块中的一个中的cb样本与cu的原始cb译码块中的对应样本之间的差。视频编码器20也可产生cu的cr残余块。cu的cr残余块中的每一样本可指示cu的预测性cr块的一者中的cr样本与cu的原始cr译码块中的对应样本之间的差。

此外,视频编码器20可使用四分树分割以将cu的亮度残余块、cb残余块和cr残余块分解成一或多个亮度变换块、cb变换块和cr变换块。变换块为供应用相同变换的样本的矩形(即,正方形或非正方形)块。cu的变换单元(tu)可包括亮度样本的变换块、色度样本的两个对应变换块和用以变换所述变换块样本的语法结构。因此,cu的每一tu可与亮度变换块、cb变换块和cr变换块相关联。与tu相关联的亮度变换块可为cu的亮度残余块的子块。cb变换块可为cu的cb残余块的子块。cr变换块可为cu的cr残余块的子块。在单色图片或具有三个单独色彩平面的图片中,tu可包括单一变换块和用以变换所述变换块的样本的语法结构。

视频编码器20可将一或多个变换应用于tu的亮度变换块,以产生tu的亮度系数块。系数块可为变换系数的二维阵列。变换系数可为纯量。视频编码器20可将一或多个变换应用于tu的cb变换块,以产生tu的cb系数块。视频编码器20可将一或多个变换应用于tu的cr变换块,以产生tu的cr系数块。

在产生系数块(例如,亮度系数块、cb系数块或cr系数块)之后,视频编码器20可量化系数块。量化大体上指变换系数经量化以可能减少用以表示变换系数的数据的量从而提供进一步压缩的过程。在视频编码器20量化系数块之后,视频编码器20可熵编码指示经量化变换系数的语法元素。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应性二进制算术译码(cabac)。

视频编码器20可输出包含形成经译码图片和相关联数据的表示的位序列的位流。位流可包括网络抽象层(nal)单元的序列。nal单元为含有nal单元中的数据的类型的指示和含有那数据的呈按需要穿插有仿真阻止位的原始字节序列有效负载(rbsp)的形式的字节的语法结构。nal单元中的每一个包含nal单元标头且囊封rbsp。

不同类型的nal单元可囊封不同类型的rbsp。举例来说,第一类型的nal单元可囊封图片参数集(pps)的rbsp,第二类型的nal单元可囊封经译码切片的rbsp,第三类型的nal单元可囊封sei的rbsp,等等。囊封视频译码数据的rbsp(相对于参数集和sei消息的rbsp)的nal单元可被称作视频译码层(vcl)nal单元。

视频解码器30可接收由视频编码器20产生的位流。此外,视频解码器30可剖析位流以从所述位流获得语法元素。视频解码器30可至少部分基于从位流获得的语法元素而重构建视频数据的图片。重构建视频数据的过程可大体上与由视频编码器20执行的过程互逆。此外,视频解码器30可反量化与当前cu的tu相关联的系数块。视频解码器30可对系数块执行反变换以重构建与当前cu的tu相关联的变换块。通过将当前cu的pu的预测性块的样本加到当前cu的tu的变换块的对应样本,视频解码器30可重构建当前cu的译码块。通过重构建图片的每一cu的译码块,视频解码器30可重构建图片。

当cu经帧间译码时,针对每一pu存在一个运动信息集合。此外,每一pu通过唯一帧间预测模式译码以推导运动信息集合。在hevc标准中,对于预测单元(pu)存在两个帧间预测模式,分别命名为合并(跳过被视为合并的特殊状况)和先进运动向量预测(amvp)模式。

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

mv候选者列表针对合并模式含有至多五个候选者且针对amvp模式含有两个候选者。合并候选者可含有运动信息集合,例如,对应于两个参考图片列表(列表0和列表1)的运动向量和参考索引。如果由合并索引来识别合并候选者,那么参考图片用于预测当前块,以及确定相关联的运动向量。然而,在amvp模式下,对于从列表0或列表1的每一可能预测方向,需要明确地将参考索引连同针对mv候选者列表的mvp索引一起用信号发送,这是因为amvp候选者仅含有运动向量。在amvp模式中,可进一步改进经预测运动向量。

如可从上文看出,合并候选者对应于运动信息的整个集合,而amvp候选者仅含有用于特定预测方向的一个运动向量和参考索引。用于两个模式的候选者类似地从相同空间和时间相邻块推导,如下文关于图4和5所描述。

根据本发明的方面,如下文更详细地描述,视频编码器20和/或视频解码器30可经配置以执行本文中所描述的用于推导运动信息、执行块分割和/或内插视频数据的技术的任何组合。关于运动信息推导,视频编码器20和/或视频解码器30可经配置以通过针对对应于当前块外部的第二参考数据集合的第一参考数据集合执行运动搜索来推导运动信息。对应性可基于参考数据之间的类似度的量而确定,且在本文中可被称作确定“匹配”或“最佳匹配”。

在一些实例中,视频编码器20和/或视频解码器30可最初译码指示是否启用运动推导过程的一或多个语法元素。在一些情况下,所述一或多个语法元素可与另一模式(例如,上文所描述的合并模式)相并。举例来说,如关于图10的实例更详细地描述,视频编码器20和/或视频解码器30在执行合并模式时译码指示是否执行运动推导的一或多个语法元素(例如,旗标、合并候选者列表中的索引或其类似者)。

根据本发明的方面,在启用运动推导的情况下,视频编码器20和/或视频解码器30可执行型样匹配式运动向量推导。举例来说,视频编码器20和/或视频解码器30可译码指示将应用来自多个运动信息推导模式中的哪一运动信息推导模式的一或多个语法元素。视频编码器20和/或视频解码器30可译码用以区分两个运动推导信息模式的旗标或用以区分多于两个运动信息推导模式的索引。如本文中所描述,实例型样匹配式运动信息推导模式包含双侧匹配或模板匹配。

在运动推导过程期间,视频编码器20和/或视频解码器30可基于选定运动推导过程而推导整个块(例如,整个pu)的初始运动向量。举例来说,视频编码器20和/或视频解码器30可使用来自与合并模式相关联的候选者列表的运动向量,且确定来自候选者列表的哪一运动向量产生最佳匹配。即,视频编码器20和/或视频解码器30可确定来自候选者列表的哪一运动向量在用于选定运动推导过程中时产生对应于当前块外部的第二参考数据集合的第一参考数据集合,例如,紧密地匹配当前图片或另一参考图片中的数据的参考数据。一般来说,“最佳匹配”可指就像素差来说最类似的视频数据。

作为出于说明的目的的实例,如关于图8更详细地描述,视频编码器20和/或视频解码器30可选择模板匹配运动信息推导模式。在此实例中,视频编码器20和/或视频解码器30可基于产生最紧密地匹配参考图片中的模板的模板的最向量候选者而从合并模式选择运动向量候选者。举例来说,视频编码器20和/或视频解码器30可经配置以针对对应于当前块外部的第二参考数据集合的第一参考数据集合执行运动搜索,其中第一数据集合包括当前图片中的模板且第二参考数据集合包括参考图片中的模板。在一些情况下,如下文更详细地描述,视频编码器20和/或视频解码器30可另外或替代地基于最小匹配成本而选择候选运动向量。

根据本发明的方面,在确定候选运动向量之后,视频编码器20和/或视频解码器30可进一步改进候选运动向量以推导当前块的运动信息。举例来说,视频编码器20和/或视频解码器30可在由候选运动向量指示的参考图片的预定义区域中执行搜索(例如,使用运动信息推导模式的搜索)。视频编码器20和/或视频解码器30可基于指示预定义区域中关于当前图片的视频数据具有最佳匹配和/或最小匹配成本的参考数据的运动向量而推导当前块的运动信息。

在一些情况下,根据本发明的方面,视频编码器20和/或视频解码器30可在推导运动信息时将视频数据块分裂成子块。举例来说,视频编码器20和/或视频解码器30可分别针对较大块的每一子块推导运动信息。在一些情况下,视频编码器20和/或视频解码器30可使用针对块推导出(例如,使用上文所描述的过程)的运动信息作为子块中的每一个的候选运动信息。视频编码器20和/或视频解码器30可接着(例如)使用特定运动信息推导模式(例如,双侧匹配技术、模板匹配技术或另一技术,如下文更详细地描述)进一步改进子块中的每一个的所推导出的运动信息。

图2为说明可实施用于推导运动信息、执行块分割和/或内插视频数据的技术的视频编码器20的实例的框图。视频编码器20可执行视频切片内的视频块的帧内译码和帧间译码。帧内译码依赖于空间预测以减少或去除给定视频帧或图片内的视频的空间冗余。帧间译码依赖于时间预测以减少或去除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(i模式)可指若干基于空间的译码模式中的任一个。帧间模式(例如,单向预测(p模式)或双向预测(b模式))可指若干基于时间的译码模式中的任一个。

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

在编码过程期间,视频编码器20接收待译码的视频帧或切片。可将所述帧或切片划分成多个视频块。视频数据存储器38可存储待由视频编码器20的组件编码的视频数据。可(例如)从视频源18获得存储于视频数据存储器38中的视频数据。参考图片存储器64可被称作存储参考视频数据以供视频编码器20(例如)在帧内或帧间译码模式中在编码视频数据时使用的dpb。视频数据存储器38和参考图片存储器64可由多种存储器装置中的任一个形成,例如,动态随机存取存储器(dram)(包含同步dram(sdram))、磁阻式ram(mram)、电阻式ram(rram)或其它类型的存储器装置。视频数据存储器38和参考图片存储器64可由同一存储器装置或单独存储器装置来提供。在各种实例中,视频数据存储器38可与视频编码器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相对于在参考帧(或其它经译码单元)内的预测性块(其相对于当前帧(或其它经译码单元)内正经译码的当前块)的位移。预测性块为就像素差来说被发现紧密地匹配待译码块的块,所述像素差可通过绝对差和(sumofabsolutedifference;sad)、平方差和(ssd)或其它差度量确定。

在一些实例中,视频编码器20可执行快速运动搜索以确定块的运动向量。存在提议于文献中的许多快速运动搜索方法,例如基于块的梯度下降搜索(block-basedgradientdescentsearch;bbgds),如描述于(例如)刘龙国(lurng-kuoliu)、伊弗里姆·费格(ephraimfeig)的“用于视频译码中的块运动估计的基于块的梯度下降搜索算法(ablock-basedgradientdescentsearchalgorithmforblockmotionestimationinvideocoding)”(ieee视频技术电路和系统汇刊,第6卷,第419到422页,1996年8月)中;无限制中心偏置菱形搜索(unrestrictedcenter-biaseddiamondsearch;ucbds),如描述于(例如)谭祖耀(joyewtham)、苏伦德拉·兰加纳特(surendraranganath)、梅翠亚·兰加纳特(maitreyaranganath)和阿什拉夫·阿里·卡西姆(ashrafalikassim)的“用于块运动估计的新颖无限制中心偏置菱形搜索算法(anovelunrestrictedcenter-biaseddiamondsearchalgorithmforblockmotionestimation)”(ieee视频技术电路和系统汇刊,第8卷,第369到377页,1998年8月)中;和基于六边形的搜索(hexagon-basedsearch;hebs),如描述于(例如)朱策(cezhu)、林晓(xiaolin)和周立沛(lap-puichau)的“用于快速块运动估计的基于六边形的搜索型样(hexagon-basedsearchpatternforfastblockmotionestimation)”(ieee视频技术电路和系统汇刊,第12卷,第349到355页,2002年5月)中。基本上,这些技术包含基于预定义搜索型样而仅搜索搜索窗口内的某数目个位置。这些技术通常在运动少量且适度时良好地起作用。

在一些实例中,视频编码器20可计算存储于参考图片存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行相对于全像素位置和分数像素位置的运动搜索且输出具有分数像素精确度的运动向量。

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

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

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

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

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

根据本发明的方面,如本文中所描述,视频编码器20可经配置以执行本文中所描述的用于推导运动信息、执行块分割和/或内插视频数据的技术的任何组合。明确地说,本发明的某些技术可由推导单元49执行。举例来说,推导单元49可经配置以确定当前块的运动信息,而不将指示运动信息的数据包含于位流中。

在一些情况下,推导单元49(和/或模式选择单元40)可基于速率失真分析而确定是否对特定块执行运动推导(例如,对比帧内预测或传统的帧间预测)。举例来说,推导单元49可以类似于如在合并模式下对合并候选者执行的速率失真成本选择的方式确定是否执行运动推导。在此实例中,推导单元49可使用速率失真成本选择来检查多个运动信息推导模式(例如,双侧匹配模式、模板匹配模式或其类似者)中的每一运动信息推导模式。推导单元49可进一步比较具有最小成本的运动信息推导模式与其它pu模式(例如,帧内预测模式、传统的帧间预测模式、调色板译码模式或其类似者)。在就译码效率来说运动推导模式为最有效模式的情况下,视频编码器20可编码一或多个语法元素,所述一或多个语法元素指示针对当前块推导(而非用信号发送)运动信息。视频编码器20也可编码指示来自多个运动信息推导模式的运动推导模式的一或多个语法元素。

在其它实例中,根据本发明的方面,推导单元49可内插不包含于视频序列的经编码位流中的视频数据。举例来说,推导单元49可执行运动推导技术的任何组合以内插不包含于位流中的图片,例如,类似于帧速率向上转换。在一些情况下,视频编码器20可在编码期间使用经内插图片。举例来说,推导单元49可内插图片,且视频编码器20可相对于经内插图片编码当前图片的数据。在此实例中,视频编码器20可将经内插图片添加到参考图片存储器64,且基于经内插图片的至少一部分而编码其它图片的数据。

在其它实例中,推导单元49可内插图片,且视频编码器20可将经内插图片设定为等于当前图片。举例来说,推导单元49可内插当前图片,且视频编码器20可编码用于待包含于位流中的当前图片的语法数据(例如,切片标头数据和其类似者),但可跳过当前图片的视频数据的编码。

虽然如本文中所描述,推导单元49可经配置以执行某些推导和/或内插技术,但应理解,视频编码器20的一或多个其它单元也可或替代地经配置以内插数据。举例来说,视频编码器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用作参考块以帧间译码后续视频帧中的块。

图3为说明可实施用于推导运动信息、执行块分割和/或内插视频数据的技术的视频解码器30的实例的框图。在图3的实例中,视频解码器30包含视频数据存储器68、熵解码单元70、运动补偿单元72、帧内预测单元74、反量化单元76、反变换单元78、参考图片存储器82和求和器80。在一些实例中,视频解码器30可执行大体上与关于视频编码器20(图2)所描述的编码遍次互逆的解码遍次。运动补偿单元72可基于从熵解码单元70接收的运动向量而产生预测数据,而帧内预测单元74可基于从熵解码单元70接收的帧内预测模式指示符而产生预测数据。

在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块和相关联语法元素的经编码视频位流。可(例如)从计算机可读媒体(例如,从本地视频源(例如,摄影机))经由视频数据的有线或无线网络通信或通过存取物理数据存储媒体而获得存储于视频数据存储器68中的视频数据。视频数据存储器68可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(cpb)。

参考图片存储器82可被称作存储参考视频数据以供视频解码器30(例如)在帧内或帧间译码模式中在解码视频数据时使用的dpb。视频数据存储器68和参考图片存储器82可由多种存储器装置中的任一个形成,例如,动态随机存取存储器(dram)(包含同步dram(sdram))、磁阻式ram(mram)、电阻式ram(rram)或其它类型的存储器装置。视频数据存储器68和参考图片存储器82可由同一存储器装置或单独存储器装置来提供。在各种实例中,视频数据存储器68可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。

视频解码器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可经配置以执行本文中所描述的用于推导运动信息、执行块分割和/或内插视频数据的技术的任何组合。明确地说,本发明的某些技术可由推导单元75执行。举例来说,根据本发明的方面,推导单元75可经配置以确定当前块的运动信息,而不从经编码位流解码运动信息。

在一些情况下,推导单元75可确定是否对特定块执行运动推导(例如,对比帧内预测或传统的帧间预测)。举例来说,视频解码器30可解码一或多个语法元素,所述一或多个语法元素指示针对正经解码的块推导(而非用信号发送)运动信息。视频解码器30也可解码指示来自多个运动信息推导模式的待用于解码块的一个运动信息推导模式的一或多个语法元素。推导单元75可基于经解码语法而确定是否执行运动推导和块的运动信息推导模式。在一些实例中,如本文中所描述,语法可与一或多个其它模式(例如,合并模式、amvp)或其它解码功能相关联。

根据本发明的其它方面,推导单元75可内插不包含于视频序列的经编码位流中的视频数据。举例来说,推导单元75可执行运动推导技术的任何组合以内插不包含于经剖析位流中的图片,例如,类似于帧速率向上转换。在一些情况下,视频解码器30可在编码期间使用经内插图片。举例来说,推导单元75可内插图片,且视频解码器30可相对于经内插图片解码当前图片的数据。在此实例中,视频解码器30可将经内插图片添加到参考图片存储器82,且基于经内插图片的至少一部分而解码其它图片的数据。

在其它实例中,推导单元75可内插图片,且视频解码器30可将经内插图片设定为等于当前图片。举例来说,推导单元75可内插当前图片,且视频解码器30可从经编码位流解码用于当前图片的语法元素(例如,切片标头数据和其类似者),但可跳过当前图片的视频数据的解码且替代地内插当前图片。

虽然如本文中所描述,推导单元75可经配置以执行某些内插技术,但应理解,视频解码器30的一或多个其它单元也可或替代地经配置以内插数据。举例来说,视频解码器30可包含(例如)用于在运动补偿期间在子像素(子像元)位置处内插像素的多种其它内插器或滤波器。

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

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

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

图4a和4b为说明hevc中的空间相邻候选者的概念图。在一些实例中,视频编码器20和/或视频解码器30可针对pu0而从相邻块0、相邻块1、相邻块2、相邻块3或相邻块4推导空间运动向量(mv)候选者。

在一些情况下,用于从块产生mv候选者的技术针对合并模式和amvp模式而不同。图4a说明用于合并模式的一个实例。举例来说,在hevc中,视频译码器(例如,图1到3的视频编码器20和/或视频解码器30)可推导至多四个空间mv候选者。所述候选者可包含于候选者列表中具有特定次序。在一个实例中,图4a的实例的次序可为相邻块0(a1)、相邻块1(b1)、相邻块2(b0)、相邻块3(a0)和相邻块4(b2)。

图4b说明amvp模式的一个实例。举例来说,在hevc中,视频译码器可将相邻块分成两个群组:左方群组,其包含相邻块0和相邻块1;和上方群组,其包含相邻块2、相邻块3和相邻块4。对于每一群组,与参考与由用信号发送的参考索引指示的参考图片相同的参考图片的相邻块(对于当前经译码的块)相关联的可能运动向量候选者可具有最高优先顺序以被选择来形成群组的最终候选者。有可能相邻块中无一个含有指向同一参考图片的运动向量。因此,如果未找到此候选者,那么视频译码器可按比例调整第一可用候选者以形成最终候选者,因此可补偿时间距离差。

根据本发明的方面,运动向量候选者(例如,与图4a和4b中所展示的相邻块相关联的运动向量)可用以推导块的运动向量。举例来说,视频译码器可产生包含来自展示于图4a和4b中的相邻块的运动向量候选者的候选者列表。在此实例中,视频译码器可使用候选者列表的候选者中的一或多个作为运动信息推导过程(例如,双侧匹配、模板匹配或其类似者)中的初始运动向量。视频译码器可在运动向量推导过程的运动搜索中应用运动向量候选者中的一或多个以识别参考数据。视频译码器可从列表选择识别紧密匹配参考数据的候选者(例如,如下文关于图8到9所描述)。举例来说,视频译码器可针对对应于当前块外部的第二参考数据集合的第一参考数据集合执行运动搜索。在一些情况下,视频译码器可(例如)通过在由选定候选者指示的区域中执行额外运动搜索来进一步改进候选者以使用运动信息推导过程确定所推导出的运动向量。

图5a和5b为说明hevc中的时间运动向量预测的概念图。时间运动向量预测子(tmvp)候选者在经启用且可用时在空间运动向量候选者之后被添加到mv候选者列表中。在hevc中,用于tmvp候选者的运动向量推导的过程对于合并模式和amvp模式两者为相同的,然而,在合并模式中用于tmvp候选者的目标参考索引通常设定成零。

图5a说明tmvp候选者的主要块位置(展示为块“t”),其为共置pu外部的右下方块。所述位置可补偿向用以产生空间相邻候选者的上方块和左方块的偏置。然而,如果块t位于当前ctb行外部或运动信息不可用,那么所述块被pu的中心块取代,如在图5a中由从块t的虚线箭头说明。

图5b说明从如在切片层级(例如,在切片标头中)指示的共置图片92的共置pu90推导当前图片88的当前块86的tmvp候选者84。类似于avc中的时间直接模式,tmvp候选者的运动向量可经受运动向量按比例调整,其经执行以补偿距离差(例如,图片之间的时间距离)。关于运动向量按比例调整,视频译码器(例如,视频编码器20和/或视频解码器30)可经配置以最初确定运动向量的值与图片在呈现时间上的距离成比例。运动向量与两个图片相关联:参考图片和含有运动向量的图片(即,含有图片)。当利用运动向量预测另一运动向量时,基于图片次序计数(poc)值而计算含有图片与参考图片的距离。

对于待预测的运动向量,运动向量的相关联含有图片和运动向量的参考图片两者可不同。因此,视频译码器可基于poc值而计算新距离,且视频译码器可基于这些两个poc距离而按比例调整运动向量。对于空间相邻候选者,两个运动向量的含有图片相同,而参考图片不同。在hevc中,对于空间和时间相邻候选者,运动向量按比例调整适用于tmvp和amvp两者。

在一些实例中,视频译码器可经配置以确定一或多个假造运动向量候选者。举例来说,如果运动向量候选者列表并不完整,那么视频译码器可产生假造运动向量候选者,且在列表末尾插入假造运动向量候选者直到所述列表包含预定数目个条目。在合并模式中,存在两种类型的假造mv候选者,包含仅针对b切片推导出的组合候选者,和零候选者。在一些情况下,如果组合类型并不提供足够假造候选者,那么针对amvp仅使用零候选者。

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

根据本发明的方面,运动向量候选者(例如,展示于图5a和5b中的tmvp)可用以推导块的运动向量。举例来说,视频译码器可产生包含根据上文所描述的过程而确定的tmvp的候选者列表。在此实例中,视频译码器可使用tmvp作为运动信息推导过程(例如,双侧匹配、模板匹配或其类似者)中的初始运动向量。视频译码器可在运动向量推导过程中应用tmvp以识别参考数据。视频译码器可在tmvp识别紧密匹配参考数据的情况下选择tmvp(例如,如下文关于图8到9所描述)。在一些情况下,视频译码器可进一步改进tmvp以使用运动信息推导过程确定所推导出的运动向量。

在一些实例中,视频译码器可修剪包含运动向量候选者(例如,关于图4a到5b所描述的那些候选者)的候选者列表。举例来说,在一些情况下,来自不同块的候选者可恰好相同,此降低合并/amvp候选者列表的效率。视频代码可应用修剪过程以解决此问题。视频译码器可比较当前候选者列表中的一个候选者与其它候选者,以避免插入相同候选者。为降低复杂度,视频译码器可仅应用有限数目次修剪过程而非比较每一可能候选者与所有其它现存候选者。

图6为说明帧速率向上转换(fruc)中的单侧运动估计(me)的实例的概念图。明确地说,图6说明当前帧100、参考帧102和经内插帧104。在一些情况下,视频解码器或后处理装置可基于一或多个参考图片而内插图片。视频解码器或后处理装置可内插图片以向上转换经编码位流的原始帧速率。替代地,视频解码器或后处理装置可内插图片以插入被视频编码器跳过的一或多个图片,从而以减小的帧速率编码视频序列。在任一状况下,视频解码器或后处理装置使用已解码的图片(例如,当前帧100和参考帧102)内插不包含于已由视频解码器接收的经编码位流中的帧(例如,经内插帧104)。视频解码器或后处理装置可使用数种内插技术中的任一个内插图片,例如,使用经运动补偿帧内插、帧重复或帧平均化。

上文所提到的帧内插技术为通常实施的回路后内插。举例来说,视频解码器通常接收和解码经编码位流以产生包含当前帧100和参考帧102的视频序列的经重构建表示。在解码回路之后,视频解码器或另一后处理装置可内插待包含于包含经内插帧104的经重构建表示内的图片。在一些情况下,内插图片的过程可被称作帧速率向上转换(fruc),这是因为图片的所得序列包含未包含于经编码位流中的额外(经内插)图片。

因此,fruc技术可用以基于低帧速率视频而产生高帧速率视频。fruc已用于显示器产业中。实例包含:h.刘(liu)、r.熊(xiong)、d.赵(zhao)、s.马(ma)、w.高(gao)的“通过运动补偿的内插进行的多假设贝叶斯帧速率向上转换(multiplehypothesesbayesianframerateup-conversionbyadaptivefusionofmotion-compensatedinterpolations)”(ieee视频技术电路和系统汇刊,第22卷,第8期,2012年8月);w.h.李(lee)、k.蔡(choi)、j.b.罗(ra)的“基于变化图像融合的帧速率向上转换(framerateupconversionbasedonvariationalimagefusion)”(ieee图像处理汇刊,第23卷,第1期,2014年1月);和u.s.金(kim)、m.h.鲜于(sunwoo)的“具有低计算复杂性的新帧速率向上转换算法(newframerateup-conversionalgorithmswithlowcomputationalcomplexity)”(ieee视频技术电路和系统汇刊,第24卷,第3期,2014年3月)。

fruc算法可分成两种类型。一种类型的方法通过简单的帧重复或平均化来内插中间帧。然而,此方法在含有大量运动的图片中提供不适当结果。被称为经运动补偿fruc(mc-fruc)的另一类型的方法在其产生中间帧时考虑物件移动,且由两个步骤构成:运动估计(me)和经运动补偿内插(mci)。me产生使用向量来表示物件运动的运动向量(mv),而mci使用mv来产生中间帧。

块匹配算法(bma)广泛地用于mc-fruc中的me,这是因为其实施简单。bma将图像分成块,且检测那些块的移动(例如)以确定块是否对应。两个种类的me主要用于bma:单侧me和双侧me。

如图6中所展示,单侧me通过从当前帧100的参考帧102搜索最佳匹配块来获得mv。接着,在经内插帧中的运动轨迹上的块可经定位以使得获得mv。如图6中所展示,包含分别来自当前帧100、参考帧102和经内插帧104的106a、106b和106c的三个块被涉及以遵循运动轨迹。尽管当前帧100中的块106a属于经译码块,但参考帧102中的最佳匹配块106b可能不完全属于经译码块,经内插帧104中的块106c也不完全属于经译码块。因此,块与未填充(孔)区的重叠区可出现于经内插帧中。

为处置重叠,简单fruc算法仅涉及平均化和覆写经重叠像素。此外,孔由来自参考或当前帧的像素值覆盖。然而,这些算法产生方块伪影和模糊。因此,提议运动场分段、使用离散哈特莱(hartley)变换的连续外插和图像修复以处置孔和重叠而不增加方块伪影和模糊。

根据本发明的方面,视频译码器(例如,视频编码器20和/或视频解码器30)可使用展示于图6中的单侧匹配技术在编码或解码回路中产生经内插帧104。举例来说,视频译码器可使用图片层级fruc来使用经重构建像素阵列内插经内插帧104作为当前图片的预测子。在一些实例中,此经内插图片可被视为参考图片或当前帧100的重构建。在其它实例中,视频译码器可将当前图片设定为等于经内插图片。此图片可通过语法元素或解码过程标记为可舍弃图片和/或非参考图片。

在一些实例中,视频译码器可内插当前图片以使得fruc模式为唯一允许模式,其中fruc模式指示展示于图6中的单侧匹配技术或本文中所描述的任何其它运动信息推导或内插技术。因此,替代基于四分树的cu结构发信,所有块可具有相同的预定义或发信大小。在一些情况下,仅可允许有效cu译码模式(例如,规则跳过、规则合并、fruc模式和帧内模式)的子集。替代地或另外,在此图片或切片中可允许用于fruc的孔填充模式。

根据本发明的方面,可引入sei消息以指示哪些图片或图片的子序列通过图片层级fruc译码。可舍弃此类图片而不影响其它图片的质量。此sei消息可指示(或另外指示)哪一(些)时间层级含有经fruc译码图片或仅含有经fruc译码图片。sei消息中的此信息也可作为高阶语法的其它放置形式(例如,pps、sps和vps)而存在。

在一些实例中,视频译码器可译码图片的一部分且内插剩余视频数据。举例来说,视频译码器可译码所谓的“提示”以用于解码器侧帧速率向上转换,其可允许智能型或资源丰富型解码器任选地产生fruc帧。举例来说,若干关键区(例如,矩形区)可用信号发送作为用于此类fruc帧的提示。当接收到且任选地处理提示时,可首先将指定为解码器的部分的fruc方法用于并非关键区的区,而关键区必须通过可能未由解码器指定的手段(例如,孔填充方法)来进一步处理。

根据本发明的方面,关于孔填充,视频译码器可实施基于块的孔填充技术。举例来说,一种孔填充技术为使用空间相邻帧间块来预测同一ctu中的当前帧内块。举例来说,视频译码器可编码/解码ctu两次。第一次编码/解码如常。在第二轮次中,仅编码/解码和覆写帧内块。对于帧内块,同一ctu中的所有其空间相邻帧间块(包含当前块右下方的那些块)被标记为可供用于帧内预测。孔填充方法也可为切片、图像块、图片、其它任何其它层级。另一孔填充方法可使用图像修复技术。也可应用其它孔填充技术。

图7为说明fruc中的双侧运动估计(me)的实例的概念图。明确地说,图7说明从当前帧114的当前块112和参考帧118的参考块116内插的经内插帧110的经内插块108。如图7中所展示,双侧me为可用以避免由展示于图6中的重叠和孔引起的问题的另一解决方案(在mc-fruc中)。双侧me分别使用当前帧114的块112与参考帧118的块116之间的时间对称性来获得穿过经内插块108的mv。结果,其不产生重叠和孔。由于假设当前块为以某一次序正经处理的块(例如,如在视频译码的状况下),因此此类块的序列将覆盖整个中间图片而不重叠。举例来说,在视频译码的状况下,可以解码次序处理块。

根据本发明的方面,展示于图7的实例中的双侧运动估计可用以推导运动信息。举例来说,如下文关于图9更详细地描述,视频译码器(例如,视频编码器20或视频解码器30)可应用双侧匹配作为运动信息推导模式以在译码期间推导运动信息。在双侧匹配中,视频译码器可针对对应于第二参考图片中的第二参考数据集合的第一参考图片中的第一参考数据集合执行运动搜索。

根据本发明的其它方面,视频译码器(例如,视频编码器20和/或视频解码器30)可使用展示于图7中的双侧匹配技术在编码或解码回路中产生经内插帧。举例来说,视频译码器可使用图片层级fruc来使用经重构建像素阵列内插经内插图片作为当前图片的预测子。在一些实例中,此经内插图片可被视为参考图片或当前当前图片的重构建。在其它实例中,视频译码器可将当前图片设定为等于经内插图片。此图片可通过语法元素或解码过程标记为可舍弃图片和/或非参考图片。

图8为说明基于模板匹配的解码器侧运动向量推导(dmvd)的实例的概念图。在先进视频编码解码器的情况下,位流中的运动信息的位百分比变得越来越大。在一些情况下,dmvd可减小运动信息的位成本。基于模板匹配的dmvd可展现译码效率改善,如描述于(例如)s.坎普(kamp)、m.维恩(wien)的“用于基于块的视频译码的解码器侧运动向量推导(decoder-sidemotionvectorderivationforblock-basedvideocoding)”(ieee视频技术电路和系统汇刊,第22卷,第12期,2012年12月)中。

在图8的实例中,当前图片120包含预测目标122(例如,当前正经译码的块)和模板124。参考图片126包含共置模板128、最佳匹配130和位移向量132。视频译码器(例如,视频编码器20和/或视频解码器30)可使用模板124来搜索预测目标122的最佳匹配(例如,而非使用尚待译码的预测目标122自身)。举例来说,视频译码器可执行运动搜索以识别对应于预测目标122外部的第二参考数据集合(例如,模板124)的第一参考数据集合(例如,最佳匹配130)。如上文所提到,对应性可基于参考数据之间的类似度的量而确定,且在本文中可被称作确定“匹配”或“最佳匹配”。

在展示的实例中,视频译码器可识别参考图片126中的共置模板128。视频译码器可接着搜索最佳匹配130,其包含类似于模板124的像素值。视频译码器可基于参考图片126中的共置模板128和最佳匹配130的位移而确定位移向量132。

假设模板124和预测目标122来自同一物件,那么模板的运动向量可用作预测目标的运动向量。因此,在图8的实例中,视频译码器可将位移向量132应用于预测目标122。由于在视频编码器和视频解码器两者处进行模板匹配,因此可在解码器侧处推导运动向量以避免发信成本。

根据本发明的方面,视频译码器可应用模板匹配作为运动信息推导模式。举例来说,视频译码器可应用模板匹配以通过定位当前图片的模板124与参考图片126中的对应参考数据之间的最佳匹配来推导当前块的运动信息。虽然图8的实例将模板124说明为视频数据的l形块,但应理解,可使用其它模板。举例来说,视频译码器可使用多个块作为模板,例如,定位于预测目标122左方的一或多个块和定位于预测目标122上方的一或多个块。

根据本发明的方面,视频译码器可应用展示于图8中的模板匹配技术,其使用来自运动向量的候选者列表的一或多个运动向量。举例来说,视频译码器可经配置以使用本文中所描述的技术(例如,合并模式候选者、amvp候选者、tmvp或其类似者)的任何组合来确定一或多个候选运动向量。视频译码器可接着经配置以将候选运动向量中的一或多个应用于模板124,从而定位共置模板128(在此实例中,共置模板128的位置通过一或多个候选运动向量指示且未必精确地共置)。视频译码器可经配置以确定候选运动向量中的哪一者产生模板124与共置模板128之间的最佳匹配。

根据本发明的方面,视频译码器可接着经配置以改进候选运动向量,从而推导预测目标122的运动信息。举例来说,视频译码器可在参考图片126的通过候选运动向量识别的区中搜索模板124的最佳匹配。在确定最佳匹配后,视频译码器即可确定模板124与经确定最佳匹配之间的位移。视频译码器可将所述位移指明为预测目标122的所推导出的运动向量。

图9为说明dmvd中的双向运动向量推导的实例的概念图。另一类别的dmvd为基于镜像的双向mv推导,如描述于(例如)y.-j.邱(chiu)、l.徐(xu)、w.张(zhang)、h.蒋(jiang)的“用于hevc的解码器侧运动估计和文纳滤波器(decoder-sidemotionestimationandwienerfilterforhevc)”(视觉通信和图像处理(vcip),2013年)。dmvd中的双向运动向量推导的概念可类似于fruc中的双侧me。举例来说,基于镜像的mv推导可通过以分数样本准确度的围绕搜索中心的中心对称运动估计来应用。

图9的实例包含具有当前块142(当前正经译码的块)的当前图片140、识别第一参考图片146(l0ref)的第一模板块144的第一候选运动向量pmv0和识别第二参考图片150的第二模板块148的第二候选运动向量pmv1。视频译码器可将dmv应用为偏移以在第一参考图片146的搜索窗口154中定位第一参考块152,且在第二参考图片150的搜索窗口158中定位第二参考块156。

举例来说,视频译码器可将dmv加到pmv0且从pmv1减去dmv以产生mv对:mv0和mv1。视频译码器可检查搜索窗口154和158内部的dmv的所有值以确定dmv的哪一值产生l0ref的第一参考块152(例如,第一参考数据集合)与l1ref的第二参考块156(例如,第二参考数据集合)之间的最佳匹配。在一些实例中,视频译码器可基于绝对差和(sad)而确定最佳匹配。在其它实例中,视频译码器可使用另一度量来确定最佳匹配。搜索窗口154和158的大小和位置可为预定义的或可在位流中用信号发送。

视频译码器可选择具有最小sad的mv对作为中心对称运动估计的输出。由于此技术使用未来参考(在晚于当前帧的时间位置处的参考)和较早参考(在早于当前帧的时间位置处的参考)以用于sad匹配,因此其无法应用于p帧或低延迟b帧,在所述帧中仅前者参考可用。

根据本发明的方面,视频译码器可应用双向运动向量推导技术作为运动信息推导模式。在一些实例中,视频译码器可应用展示于图9中的使用来自运动向量的候选者列表的一或多个运动向量的技术。举例来说,视频译码器可经配置以使用本文中所描述的技术(例如,合并模式候选者、amvp候选者、tmvp或其类似者)的任何组合来确定一或多个候选运动向量。视频译码器可接着经配置以应用候选运动向量中的一或多个作为pmv0和/或pmv1,从而定位第一模板块144和第二模板块148。视频译码器可经配置以确定候选运动向量中的哪一者产生第一模板块144与第二模板块148之间的最佳匹配。

根据本发明的方面,视频译码器可接着经配置以改进候选运动向量,从而推导当前块142的运动信息。举例来说,视频译码器可通过以上文所描述的方式应用dmv的多种值来搜索最佳匹配。以此方式,视频译码器可推导mv对:mv0和mv1。

图11为说明基于扩展双侧匹配的运动向量推导的概念图。基于镜像的双向mv推导(例如,如图10中所展示)的一个潜在缺点为其在当前图片的两个参考都早于或都晚于当前图片时不起作用。在一些情况下,本文中所描述的扩展双侧匹配技术克服当前图片的所有参考图片处于与当前图片相同的侧(在显示次序上)的缺点。

图11的实例包含:包含当前块162的当前图片160;包含第一参考块166的第一参考图片(ref0)164;和包含第二参考块170的第二参考图片(ref1)168。如图11中所展示,第一参考图片(ref0)164和第二参考图片(ref1)168在时间方向上皆位于当前图片之前。假设第一参考块166、第二参考块170和当前块162是沿同一运动轨迹,那么mv0与mv1之间的比率将等于时间距离td0与td1之间的比率。换句话说,给定与当前图片具有时间距离td0和td1的两个参考ref0和ref1,对于ref0中的任何mv0,可按比例调整mv0来确定ref1中的mv1。

视频译码器可选择最终mv0和mv1对作为最小化通过mv0和mv1(例如,如上文关于图10所描述)指向的块对之间的匹配成本的对。理论上,当前块162可被视为基于第一参考块166和第二参考块170的经外插块。应注意,扩展双侧匹配在当前图片在时间上处于两个参考之间的正常双向状况下也起作用。在此状况下,当前块162可被视为基于第一参考块166和第二参考块170的经内插块。此外,本文中所描述的双侧匹配技术并不需要mv0与mv1之间的“镜像关系”,甚至在双向状况下也不需要。双侧匹配的假设为mv0与mv1之间的比率与以下两者之间的比率成比例:从ref0到当前图片的时间距离,和从ref1到当前图片的时间距离。

明显地,对于除第一参考块166和第二参考块170外的参考块,视频译码器可推导不同mv对。在一个实例中,视频解码器可选择参考图片以根据参考图片在参考图片列表中呈现的次序而执行双侧匹配。举例来说,视频译码器可选择参考列表0中的第一参考作为ref0,且选择参考列表1中的第一参考作为ref1。视频译码器可接着搜索mv对(mv0、mv1)。在另一实例中,视频译码器基于初始列表(例如,初始运动向量候选者列表)中的条目而选择ref0。视频译码器可接着将ref1设定为另一参考图片列表中在时间上最接近当前图片的参考图片。因此,视频译码器可在ref0和ref1中搜索mv对(mv0、mv1)。

因此,根据本发明的方面,视频译码器可应用图11中所说明的扩展双向运动推导技术作为运动信息推导模式。举例来说,视频译码器可使用双侧匹配以通过找到两个不同参考图片中沿当前块的运动轨迹的两个块(例如,第一参考块166和第二参考块170)之间的最佳匹配来推导当前块162的运动信息。在假设连续运动轨迹的情况下,指向两个参考块(第一参考块166和第二参考块170)的运动向量mv0和mv1将与当前图片与两个参考图片之间的时间距离(即,td0和td1)成比例。作为特殊状况,在当前图片160在时间上处于两个参考图片之间(如图10的实例中所展示)且从当前图片到两个参考图片的时间距离相同时,双侧匹配变为基于镜像的双向mv。

图11为说明使用dmvd解码预测单元(pu)的实例的流程图。在y.-j.邱(chiu)、l.徐(xu)、w.张(zhang)、h.蒋(jiang)的“用于hevc的解码器侧运动估计和文纳滤波器”(视觉通信和图像处理(vcip),2013年)中,进一步提议组合基于镜像的双向mv推导与hevc中的合并模式。在所提议技术中,针对b切片的pu添加被称为pu_dmvd_flag的旗标以指示是否将dmvd模式应用于当前pu。因为dmvd模式并不在位流中明确地发射任何mv信息,所以pu_dmvd_flag语法元素与hevc中的合并模式的语法(其使用表示运动向量的数据的索引而非运动向量自身)集成。

在图11的实例中,视频解码器(例如,视频解码器30)可开始解码pu(180)。视频解码器30可(例如)基于包含于包含pu的位流中的语法而确定用以解码pu的模式是否为合并模式(182)。如果不使用合并模式(步骤182的“否”分支),那么视频解码器30可使用用于非合并pu的规则过程来解码pu(184)且结束过程(186)。

如果使用合并模式(步骤182的“是”分支),那么视频解码器30可基于pu_dmvd_flag语法元素的值而确定dmvd是否用以确定pu的运动信息(188)。如果不使用dmvd(步骤188的“否”分支),那么视频解码器30可使用规则合并模式来解码pu(190)且结束过程(186)。如果使用dmvd(步骤188的“是”分支),那么视频解码器30可应用dmvd过程来确定pu的运动信息(192)且结束过程(186)。

在一些情况下,当前视频译码技术可具有某些限制。举例来说,某些dmvd技术可被视为fruc技术的子集。尽管dmvd已应用于视频译码中,但其它有效fruc技术尚未实施于视频译码中,例如,在通过视频编码器或视频解码器进行的视频译码回路中。此外,尽管已提议dmvd的不同技术,但在解码器处未采用此类技术的交互和重叠。即,仅一个dmvd模式已用于其它视频译码系统中。尚未研究出使用复数种dmvd技术以进一步改善译码效率的方式。

作为另一潜在限制,dmvd可仅应用于视频数据的相对较大块且因此可能并非极有效的。将此类方法应用于较小块可归因于发信成本而产生显著附加项。在一些情况下,传统dmvd技术的搜索范围可相对较小,且仅若干个点(例如,16个点)被搜索到。此外,如上文所提到,基于镜像的双向mv推导无法应用于低延迟b状况中,这是因为需要识别在显示次序上处于当前图片之前和之后的两个参考图片且此识别在低延迟状况下为不可能的。

另一潜在限制可为:在解码器处,传统dmvd技术的匹配成本可仅考虑失真。然而,在匹配成本方面尚未考虑运动向量量值,此情形可(例如)归因于像素域中的噪声而导致匹配的局部优化或不准确结果。此外,尤其归因于在解码器处的搜索期间内插为分数像元运动向量所需要的事实,就存储器频宽和计算复杂度两者来说,传统dmvd技术的复杂度可为相对较高的。

本发明的技术可解决上文所描述的潜在限制中的一或多个。在一些实例中,可个别地应用用于推导运动信息的技术。替代地,可一起应用本文中所描述的技术的任何组合。如本文中所描述,参考索引信息可大体上被视为运动信息的部分。在一些情况下,运动向量信息和参考索引信息可被称作运动信息集合。

本发明的某些技术包含从多个可能运动推导模式中选择运动推导模式。举例来说,根据本发明的方面,视频译码器(例如,视频编码器20或视频解码器30)可使用两个或多于两个运动推导技术来在视频解码器处提供对运动信息的较好预测,从而避免在位流中用信号发送运动信息。两个或多于两个运动推导技术可包含(但不限于)双侧匹配、模板匹配和任何其它匹配方法。这些技术可大体上被称作运动信息推导模式或fruc模式。因此应理解,在一些情况下,被称作fruc模式的技术可替代地用以内插当前块的运动信息(例如,而非内插视频数据的新块)。

在一些实例中,当使用多个运动推导方法时,替代针对不同推导方法具有不同优化方法,就选择搜索开始点和如何围绕开始点进行搜索来说,可对准用以针对运动推导方法中的两个或多于两个找到最佳运动的过程。举例来说,视频译码器可构建运动向量候选者列表,从列表中选择初始候选者,且使用相同搜索和匹配技术来改进候选者。在此实例中,可在解码器侧处以自适应性方式使用双向运动推导和基于模板匹配的运动推导。

根据本发明的方面,引入块层级处的额外发信以识别哪一运动推导方法用于译码当前块。举例来说,视频译码器可译码一或多个语法元素以指示是否启用运动信息推导。视频译码器也可译码一或多个语法元素以指示来自多个可能模式的特定运动信息推导模式。在其它实例中,可能不用信号发送待使用的运动信息推导技术,而是在视频解码器处(例如)基于预测模式或在解码当前块之前可用的其它信息而推导所述技术。在另外其它实例中,视频译码器可执行多个运动信息推导模式,且确定来自两个或多于两个推导技术的预测的加权平均以译码当前块。

在出于说明的目的的实例中,视频解码器(例如,视频解码器30)可首先识别是否应用运动信息内插模式(例如,基于位流中的语法)。视频解码器30可接着识别将应用哪一运动信息推导模式(例如,基于位流中的语法)。在一个实例中,当同时支持多个运动推导方法(例如,扩展双侧匹配模式和模板匹配模式两者)时,可在位流中用信号发送索引值以指示实际上哪一运动推导方法用于当前块。所述索引可具有三个值,包含关闭、扩展双侧匹配和模板匹配。

当使用cabac译码时,两个二进制可用以表示索引。两个二进制可皆使用空间相邻者作为上下文,或仅其中的一个使用空间相邻者上下文。替代地,一个或两个二进制可使用其它经译码信息(例如,cu深度)作为上下文。索引的二进制化可为预定义的,例如,“0”用于关闭,“10”用于扩展双侧匹配且“11”用于模板匹配。替代地,可在切片标头中用信号发送或从例如切片类型、时间层级或qp信息的经译码信息推导索引的二进制化。

根据本发明的方面,可与另一译码模式一起包含指示运动信息推导模式的语法。在一个实例中,运动信息推导模式可被视为特定合并候选者,因此由合并索引指示。在此状况下,合并候选者列表的大小可增加以容纳额外索引。用于运动信息推导模式的合并候选者索引可为预定义的或可在位流中用信号发送。

在一些实例中,扩展双侧匹配和模板匹配皆通过合并模式支持。在此类实例中,当merge_flag等于1时,用信号发送新运动信息推导旗标以指示是否针对当前pu推导运动信息。所述旗标可使用其空间相邻者(例如,上方和左方块)的相同旗标作为cabac译码上下文。当此旗标开启时,用信号发送第二旗标以指示哪一运动信息推导模式(例如,扩展双侧匹配或模板匹配)用以推导块的运动信息。当运动推导开启时,甚至在当前模式为合并模式时,仍不用信号发送合并索引。替代地或另外,如果pu按解码次序并非cu的第一pu,那么不允许进行特定运动信息推导(例如,模板匹配)。在此状况下,仅需要用信号发送旗标以指示扩展双侧匹配是否用于pu。

在另一实例中,运动信息推导模式可(例如)在pu层级处与amvp模式组合。在一个实例中,可用信号发送额外语法元素(例如,额外旗标)以指示运动信息推导模式。当此模式开启时,可能不在位流中用信号发送amvp索引。否则,可在位流中用信号发送规则amvp索引。在另一实例中,运动信息推导模式可被视为amvp候选者列表中的特定amvp候选者,例如第一amvp候选者。在一些情况下,当与amvp模式组合时,可能不在子pu层级处推导运动向量。

根据其它方面,视频译码器可最初有条件地译码cu层级旗标(例如,对于经帧间译码cu),以指示是否当前cu内的所有pu均使用运动信息推导模式。在一个实例中,并不用信号发送pu层级旗标。在另一实例中,当cu旗标等于0(即,并非所有pu均通过所述模式译码)时,进一步用信号发送第一pu的pu层级旗标,而第二pu不包含pu层级旗标。

在一些实例中,可针对特定切片类型、时间层级、块类型或块大小而停用运动信息推导模式。在一个实例中,在当前切片仅包含时间位置均在当前图片的时间位置之前或之后的参考图片时,不允许进行运动信息推导。在另一实例中,对于非2n×2npu,不允许进行运动信息推导。当停用运动信息推导时,不需要关于运动信息推导的块层级发信。

根据本发明的方面,启用或停用本文中所描述的运动信息推导技术可由高阶语法控制以对比效率取舍和/或编码器/解码器灵活性而提供较好复杂度。在一个实例中,可在sps、pps、切片标头或任何其它高阶语法标头中用信号发送旗标以指示对运动信息推导模式的使用。当此旗标指示并不启用此译码模式时,可能不在位流中译码cu/pu层级旗标。

在一些情况下,高阶语法可另外或替代地用以指示运动信息推导的其它参数。举例来说,可在位流中sps、pps或切片标头内译码待用于搜索pu层级运动向量的搜索算法的索引。在一些情况下,可在位流中sps、pps或切片标头内译码待用于搜索子块层级运动向量的搜索算法的索引。在一些实例中,为在解码器侧处保持低计算复杂度,可约束pu层级中的块/分割区匹配的最大数目、子pu层级中的块/分割区匹配的最大数目和/或pu层级和子pu层级两者中的总匹配数目。在一些情况下,此类最大数目可为预定义的或在位流中用信号发送。

本发明的技术包含用于推导运动信息的多种技术。在一些实例中,视频译码器可确定含有运动向量的条目的初始列表(开始候选者列表),且最佳开始点被识别为来自初始列表的条目。含有运动向量的条目可为来自空间相邻者、时间相邻者的运动向量和/或由其它手段推导出的运动向量。替代地,可将最佳开始点(或最佳开始点的索引)用信号发送到解码器。

在一些实例中,初始列表可含有来自空间和或时间相邻者的运动向量。初始列表中的每一条目可为运动信息的单向预测性集合,包含一个运动向量和其参考索引。在一个实例中,可以与另一译码模式中所使用的运动预测候选者列表相同(例如,与合并候选者列表相同)的方式产生初始列表。在此状况下,每一合并候选者的至多两个运动向量可用以产生初始列表中的至多两个条目。在一些情况下,可从另一译码模式中所使用的列表中的运动预测候选者的子集(例如,合并候选者列表的子集)产生初始列表中的条目。

在另一实例中,除另一译码模式中所使用的运动预测候选者列表中的那些运动向量外(例如,除合并候选者列表中的那些运动向量外),也可将额外运动向量添加到初始列表中。替代地或另外,可将当前块的空间相邻者(例如,上方块、左方块、右上方块或另一块)的运动向量添加到初始列表。在一些情况下,也可将具有不同参考图片索引的零运动向量添加到列表。

替代地或另外,可将当前块的时间上共置块的运动向量(例如,当前块的tmvp)和/或参考图片中当前块的时间上共置右下方块的运动向量添加到初始列表。在将特定候选运动向量添加到列表之前,可能或可能不基于时间距离而按比例调整运动向量。

根据一些方面,可从参考图片内插和/或外插运动向量且可将其添加于初始列表中。举例来说,在译码帧间图片之前,可通过类似单侧me的技术基于图片的参考图片而产生图片的经内插和/或外插运动场。块的经内插和/或外插运动场可用于mv预测,或用作运动信息推导模式的mv搜索中的额外开始候选者。应注意,经内插和/或外插运动场保存于4×4或8×8的单元或任何其它预定义/用信号发送的块层级中,且pu可含有多个此类块以使得可使用多个经内插和/或外插mv。

在一个实例中,两个参考列表中的每一参考图片的运动场横穿n×n块乘n×n块,其中n可为预定义的(例如,4、8或16)或用信号发送。对于每一块,如果与块相关联的运动通过当前图片中的n×n块且所述块尚未被指派任何经内插运动,那么以与tmvp中的mv按比例调整的方式相同的方式相对于当前图片按比例调整参考块的运动且将经按比例调整的运动指派到当前帧中的块。如果未将经按比例调整的mv指派到n×n块,那么将块的运动标记为在经内插运动场中不可用。在另一实例中,当前图片中的n×n块可指派有经内插运动场中的多个运动向量。

在一些情况下,视频译码器可修剪来自候选者列表的一或多个候选者。可在最佳开始点选择过程之前(例如,在针对列表中的每一候选者计算匹配成本之前)应用修剪以去除来自初始列表的相同条目。

在一些情况下,每一参考列表中的第一图片可用作参考图片,且运动向量候选者在必要时被相应地按比例调整。在此状况下,可在基于(例如)poc距离按比例调整运动向量(类似于tmvp中)之后修改初始列表中的每一条目的参考索引。在一些情况下,每一条目的参考索引可固定到一个或两个图片,且相关联运动向量可朝向此类图片按比例调整。

在一个实例中,对于双侧匹配,可基于初始候选者列表中的每一条目获得运动向量对,其为含有运动向量和其分别关于参考列表0和列表1的相关联参考索引两者的运动信息的完整集合。视频译码器可接着针对由初始列表中的所有条目产生的所有mv对执行双侧匹配,且选择产生最小匹配成本的候选者。

为产生mv对,视频译码器可选择初始列表中的条目作为第一运动向量,且产生第二运动向量。举例来说,假设一个条目含有当前第一运动向量mva,且其与关于参考图片列表a(其中a等于0或1)中的第一参考图片的参考索引(具有poc值poca)相关联。假设当前图片的poc值为pocc,视频译码器可经配置以从参考图片列表b(其中b等于1-a)找到第二参考图片,以使得其poc值pocb等于(2×pocc-poca)。如果参考图片列表b中无参考图片具有等于(2×pocc-poc0)的poc值,那么视频译码器可通过检查列表b中的所有参考图片以使得pocb不等于poca且pocc-pocb的绝对值最小来选择第二参考图片。总之,视频译码器可选择位于当前图片的另一侧(在显示次序上)的具有相同poc距离的图片。如果其不可用,那么视频译码器可选择另一侧的与当前图片具有最小距离的图片。如果相较于当前图片,所有参考图片在与具有poca的第一参考相同的时间侧,那么视频译码器可选择在时间上最接近当前图片且具有除poca外的poc的参考。在前文假设的情况下,视频译码器可(例如)基于poc差(如tmvp中)而按比例调整第一运动向量mva以产生与第二参考图片相关联的第二运动向量。替代地,基于双侧mv假设的任何技术可用以产生第二参考图片和其运动向量。

根据一些方面,可从初始列表中选择两个开始运动向量。从初始列表的两个子集中的条目选择(依据最少匹配成本)这些两个运动向量中的每一个。每一子子集含有与仅关于参考图片列表0或仅关于参考图片列表1的参考索引相关联的运动向量。

根据本发明的方面,视频译码器可经配置以基于与运动向量相关联的匹配成本而从候选者中选择候选者。此外,在从候选者列表中选择候选者之后,视频译码器可改进候选运动向量以推导块的运动信息。举例来说,候选运动向量可用以指示参考图片的开始点,所述开始点可接着被搜索以基于匹配成本找到最佳匹配。

根据本发明的方面,可(例如)在针对初始运动向量候选者确定最佳匹配时和/或在改进初始运动向量候选者时使用多种匹配成本。在一个实例中,在搜索块的运动时,mv成本可包含于匹配成本中以避免噪声的负面影响。举例来说,表示为mvr的运动向量的改进部分(例如,当前mv与搜索中心之间的差)可用以计算成本。在此实例中,成本可为w*(|mvr[0]|+|mvr[1]|),其中w为可用信号发送或预定义的加权因子,且mvr[0]和mvr[1]为mvr的两个分量。替代地,经改进运动向量mv可用以计算成本,例如,如w*(|mv[0]|+|mv[1]|)。

在一些实例中,当块相对较小(例如,4×4或更小)时,覆盖块的较大块(例如,具有扩展边界的块)可用于匹配成本计算中以便抑制噪声。举例来说,当搜索4×4块的最佳匹配时,可基于8×8块而计算匹配成本,其中中心块为所述块。

在一些实例中,匹配成本可为任何种类的距离/成本,例如绝对差和(sad)、预测平方误差和(sse)或绝对变换差和(satd)。为降低计算复杂度,可在水平方向、垂直方向或两个方向上以减小的分辨率计算sad、sse或其它成本。举例来说,对于8×8块,可仅基于奇数行而计算sad。在另一实例中,可基于块的选定子集而计算匹配成本,例如,可仅使用块的中心区。

根据本发明的方面,可在预定义或发信搜索窗口内而非始终使用小窗口(例如,在2×2窗口内)执行用于最佳匹配(例如,基于匹配成本的选定候选者)的改进过程(此处,单元为像素且可在窗口内搜索分数运动向量),以达成更有效但复杂度低的搜索。在此实例中,搜索窗口的范围(例如,具有16×16的大小)可为预定义的或在位流中用信号发送。

用于搜索的搜索算法可为预定义的,例如全面搜索;三步搜索;菱形搜索;基于块的梯度下降搜索算法(bbgds),如描述于(例如)刘龙国、伊弗里姆·费格的“用于视频译码中的块运动估计的基于块的梯度下降搜索算法(ablock-basedgradientdescentsearchalgorithmforblockmotionestimationinvideocoding)”(ieee视频技术电路和系统汇刊,第6卷,第419到422页,1996年8月)中;或无限制中心偏置菱形搜索算法(ucbds),如描述于(例如)谭祖耀、苏伦德拉·兰加纳特、梅翠亚·兰加纳特和阿什拉夫·阿里·卡西姆的“用于块运动估计的新颖无限制中心偏置菱形搜索算法(anovelunrestrictedcenter-biaseddiamondsearchalgorithmforblockmotionestimation)”(ieee视频技术电路和系统汇刊,第8卷,第369到377页,1998年8月)中。

在一些情况下,不同搜索技术可基于发信或预定义准则而用于不同情况中。举例来说,为搜索整个pu,可使用菱形搜索。为搜索子pu,可使用小菱形搜索。另外或替代地,可在搜索期间应用早期停止,例如,在匹配成本低于预定义或自适应性阈值时。当使用模板匹配时,可进一步应用如下约束条件:两个参考列表的两个运动向量在改进之后不应指向同一参考图片中的同一块。

如上文所提到,本发明描述用于现存dmvd过程的某些优化技术。举例来说,如上文关于图10的实例所描述,所述技术包含从双向预测到单向预测的扩展双侧匹配。当两个参考图片的时间位置皆在当前切片的时间位置之前或之后(即,poc值小于或大于当前图片的poc值)时,也可应用双侧匹配。此类技术在本文中可统称为扩展双侧匹配。

本发明的其它方面涉及内插技术。举例来说,根据本发明的方面,可简化内插技术以降低复杂度。如上文关于图2所提到,通常使用子像素精度执行运动搜索。因此,非整数像素位置需要内插。为降低计算复杂度,根据本发明的方面,视频译码器可使用相比正常运动补偿内插具有较短分接头的内插滤波器。在一个实例中,视频译码器可在运动搜索期间使用双线性内插滤波器,例如,在应用初始候选运动向量或改进此类运动向量时。在另一实例中,视频译码器可经配置以最初使用整数像素位置执行运动搜索,其后接着在与作为开始点的整数像素位置具有最佳匹配的分数像素位置处执行运动搜索。

本发明的其它技术涉及推导子块的运动信息。举例来说,根据本发明的方面,视频译码器可基于任何运动推导技术而将块/pu分裂成(非重叠)子pu/子块。当将pu分裂成多个更小大小的子pu时,视频译码器可针对每一子pu而推导运动信息的唯一集合。

在出于说明的目的的实例中,可将一个32×32pu分裂成16个8×8子pu。在此实例中,视频译码器可针对8×8子pu中的每一个而确定不同参考索引和/或运动向量。在其它实例中,子pu可具有其它大小,例如,4×4、2×2或1×1。

在一些情况下,无关于块/pu的大小,子块/子pu的大小可为预定义且固定的。在其它实例中,可定义用于pu的分裂深度d,其控制可根据四分树结构分裂pu的次数。在一些实例中,可预定义或用信号发送最小子pu/子块大小以指示当前块/pu将分裂成的子块/子pu的目标大小。目标大小可为最小子pu/子块大小与通过根据四分树结构将当前块分裂d次获得的大小之间的较大者。

根据本发明的方面,视频译码器可在推导pu的子pu的运动信息时利用pu的所推导出的运动信息。举例来说,对于每一子pu,视频译码器可通过将整个块的运动信息设定为搜索中心(初始搜索点)来搜索相应唯一运动信息。视频译码器可接着针对每一子pu而改进运动。替代地,可从开始点候选者的列表推导每一子pu的搜索中心。

在另一实例中,可使用本文中所描述的技术中的任一个产生子pu的运动向量候选者列表。视频译码器可接着在检查搜索中心(例如,从pu推导的初始搜索点)之后检查列表中的每一候选者。根据本发明的方面,可使用本文中描述为适用于规则块的技术中的任一个改进子pu。在其它实例中,在以上文所描述的方式检查运动向量候选者列表以查找最佳匹配之后,可针对子pu始终或有条件地跳过改进。一个可能条件可为在检查候选者列表之后最佳匹配是否保持为由pu的运动信息(例如,初始搜索点)指示的候选者。如果条件成立,那么视频译码器可跳过改进。否则,视频译码器可执行改进。

在一些实例中,可针对子pu执行运动向量滤波以校正隔离的错误运动向量。举例来说,视频译码器可针对当前子pu的运动向量和至多四个相邻子pu的运动向量使用中值滤波器。根据本发明的方面,当应用变换时,视频译码器可将整个pu视为整个块以使得变换可越过子pu边界。在其它实例中,视频译码器可将变换应用于每一子pu以使得变换大小不大于子pu大小。在一些情况下,当使用模板匹配时,也可进一步将整个pu分裂成更小子pu。对于空间相邻者均在当前pu中的子pu(其模板不可用),视频译码器可将其运动向量设定为针对整个pu推导的运动向量。

在一些实例中,视频译码器可译码指示是否分裂特定块的单独语法元素。在另一实例中,进一步将使用扩展双侧匹配模式的所有2n×2n块分裂成小分割区,且不用信号发送额外旗标。可预定义或用信号发送子块的大小。替代地,子块的大小可基于当前块的大小。举例来说,子块的大小可推导为两个值中的较大数。第一值为预定义或用信号发送的最小子块大小(例如,4×4或8×8)。第二值为相对于当前块的大小,例如(s>>d)×(s>>d),其中s×s为当前块大小,而d为预定义或用信号发送的值以指示藉以将当前块分裂成子块的四分树深度。在上文实例中,应理解,术语pu与术语块互换地使用,且术语子pu与术语子块互换地使用。

如上文所提到,本文中所描述的技术可独立或组合地使用。作为实例,与运动信息推导模式(例如,扩展双侧匹配模式、模板匹配模式或任何其它模式)相关联的运动信息推导过程可包含三个步骤,但可基于切片类型、时间层级、块类型、块大小或定义于位流中的语法而有条件地执行第三步骤。

在第一步骤中,视频译码器可制订当前块的运动信息的单向预测性集合的初始候选者列表。视频译码器可(例如)基于匹配成本而从列表中选择具有最佳开始点的候选者。在第二步骤中,视频译码器可改进选定候选者以推导当前块的运动信息。所述改进也可基于匹配成本,如本文中所描述。视频译码器可接着任选地进一步将当前块分裂成子块,如本文中所描述,且针对每一子块改进每一运动向量。最后,视频译码器可使用所推导出的运动信息来对当前块应用运动补偿。如果分裂已执行,那么视频译码器可在逐子块基础上应用运动补偿。

在一个实例中,以下伪代码可用以使用运动信息推导模式重构建块,其中运动信息是通过双侧匹配或模板匹配推导。当使用双侧匹配时,进一步将块分裂成子块(应注意,mv在此处包含参考信息):

在fruc中重构建块b(具有大小w×h)

构建初始列表

如果b为双侧匹配

{

根据双侧匹配的测量结果在初始列表中找到最佳匹配(例如,双侧匹配)作为开始点

基于双侧匹配的开始点而改进mv以获得块b的运动向量mvb

对于块b中的每一子块

{

采用mvb作为开始点,针对每一子块改进mv

通过所推导出的mv信息对子块进行运动补偿

}

}

否则//模板匹配

{

根据模板匹配的测量结果在初始列表中找到最佳匹配(例如,模板匹配)作为开始点

基于模板匹配的开始点而改进mv

}

因此,根据本发明的方面,视频编码器20或视频解码器30可确定运动信息内插模式以确定当前块(当前正经编码或解码的块)的运动信息。通过使用运动信息内插模式(例如,双侧匹配、模板匹配或另一技术),视频编码器20或视频解码器30可确定运动向量候选者的列表中的最佳运动向量候选者,例如,识别紧密地匹配当前块的参考块的运动向量。视频编码器20或视频解码器30可使用运动向量候选者以识别参考图片中的搜索窗口。

视频编码器20或视频解码器30可基于搜索窗口中紧密地匹配当前块的参考块而改进运动向量候选者。即,视频编码器20或视频解码器30可基于搜索窗口中紧密地匹配当前块的参考块与当前块之间的运动而确定当前块的新的经内插运动向量。视频编码器20或视频解码器30可接着使用经内插运动向量对当前块执行运动补偿。

在一些情况下,视频编码器20或视频解码器30可出于预测目的而将当前块分裂成一个以上子块。此外,在其它实例中,视频编码器20或视频解码器30可执行更多技术、更少技术或不同布置的技术以内插运动信息。

因此,本发明的某些技术可一般化为块层级译码工具,其充分利用来自fruc的某些概念,假设当前图片的当前块可被视为以类似于在fruc中当前图片可被视为通过参考图片内插的方式通过参考图片预测。在一个实例中,仅基于运动的过程用于块层级译码工具。在另一实例中,仅基于像素的过程用于块层级译码工具。在另一实例中,基于运动的过程或基于像素的过程用于给定块。在另一实例中,基于像素的过程和基于运动的过程两者用于块层级译码工具。在另一实例中,其它语法可被重复使用或从其它时间帧预测且可用于译码工具,例如,译码树的信息、sao、alf、rqt信息。

图12为说明用于确定运动信息推导模式以供译码视频数据的块的实例过程的流程图。图12的实例过程涉及可经配置为视频编码器20、视频解码器30或另一处理器的视频译码器而描述。

在图12的实例中,视频译码器可从多个运动推导模式中选择运动推导模式(200)。一般来说,运动推导模式中的每一个可包含针对对应于当前块外部的第二参考数据集合的第一参考数据集合执行运动搜索。举例来说,关于模板匹配,视频译码器可执行运动搜索以在当前图片(例如,第一参考数据集合)中识别对应于参考图片(例如,第二参考数据集合)中的模板的模板。在另一实例中,关于双侧运动,视频译码器可执行运动搜索以在第一参考图片(例如,第一参考数据集合)中识别对应于第二参考图片(例如,第二参考数据集合)中的第二参考块的参考块。实例运动推导模式可包含单侧运动估计模式、双侧匹配模式、模板匹配模式或基于镜像的模式。

根据一些方面,视频译码器可根据包含于位流中的一或多个语法元素而选择运动信息推导模式。举例来说,视频解码器可剖析和解码来自位流的一或多个语法元素,且基于语法而确定运动信息推导模式。视频编码器可测试多个运动信息推导模式,选择具有最佳rd成本的模式且在位流中编码指示选定模式的一或多个语法元素。

视频译码器可使用选定运动推导模式确定块的运动信息,所述确定包含使用选定模式确定初始运动信息(202)和使用优化过程改进初始运动信息(204)。举例来说,视频译码器可构建具有用于确定初始运动信息的候选者的运动向量候选者列表。初始运动信息可提供用于改进运动信息的开始点,如本文中所描述。

视频译码器可接着使用经确定运动信息且在不译码表示运动信息的语法的情况下译码块(206)。举例来说,在视频译码器包括视频解码器的情况下,视频解码器可基于经确定运动信息而确定参考图片中的参考块,从经编码位流解码残余数据,且组合经解码残余与经确定参考块以重构建当前块。在视频译码器包括视频编码器的情况下,视频编码器可在经编码位流中编码当前块的残余数据而不译码残余数据的参考索引或运动向量。

图13为说明用于推导运动向量以供译码视频数据的块的实例过程的流程图。图13的实例过程涉及可经配置为视频编码器20、视频解码器30或另一处理器的视频译码器而描述。

视频译码器可产生候选运动向量列表(210)。候选运动向量列表可包含可用于推导当前块的运动信息的一或多个运动向量候选者。在一些实例中,可从空间相邻块、时间块或从其它位置确定运动向量候选者。

视频译码器可确定来自列表的候选者以供推导运动信息(212)。在一些实例中,视频译码器可执行一或多个成本计算以使用特定运动推导模式来确定候选者。举例来说,视频译码器可针对第一参考数据集合和第二参考数据集合确定匹配成本,其可包含与相应运动向量相关联的成本,如本文中所描述。

视频译码器可接着基于经确定候选者而确定所推导出的运动向量(214)。举例来说,视频译码器可改进经确定候选者以使用运动推导模式来确定所推导出的运动向量。视频译码器可接着使用所推导出的运动向量来译码块(216)。举例来说,在视频译码器包括视频解码器的情况下,视频解码器可基于所推导出的运动向量而确定参考图片中的参考块,从经编码位流解码残余数据,且组合经解码残余与经确定参考块以重构建当前块。在视频译码器包括视频编码器的情况下,视频编码器可在经编码位流中编码当前块的残余数据而不译码所推导出的运动向量。

图14为说明用于针对视频数据的块的子块推导运动信息的实例过程的流程图。图14的实例过程涉及可经配置为视频编码器20、视频解码器30或另一处理器的视频译码器而描述。

视频译码器可推导当前块的运动信息(220)。在一些实例中,视频译码器可使用本文中所描述的运动信息推导技术的任何组合来推导运动信息。举例来说,视频译码器可使用本文中所描述的技术中的任一个来针对对应于当前块外部的第二参考数据集合的第一参考数据集合执行运动搜索(例如,模板匹配、双侧匹配或其类似者)。

根据本发明的方面,视频译码器也可将块分裂成多个子块(222)。视频译码器可针对相应子块分别推导运动信息,包括针对对应于每一相应子块外部的第二参考数据集合的第一参考数据集合执行运动搜索(224)。再次,视频译码器可使用本文中所描述的任何技术来推导运动信息,例如模板匹配、双侧匹配或其类似者。举例来说,视频译码器可使用所推导出的运动向量作为开始点以供针对子块中的每一个推导运动信息,且可使用本文中所描述的运动信息推导技术的任何组合进一步改进所推导出的运动信息。

视频译码器可接着基于所推导出的运动信息译码子块中的每一个,而不译码表示运动信息的语法元素(226)。举例来说,在视频译码器包括视频解码器的情况下,视频解码器可基于经确定运动信息而针对每一子块确定参考图片中的参考块,从经编码位流解码每一子块的残余数据,且组合经解码残余与经确定参考块以重构建每一子块。在视频译码器包括视频编码器的情况下,视频编码器可在经编码位流中编码每一子块的残余数据而不译码残余数据的参考索引或运动向量。

应认识到,取决于实例,本文中所描述的技术中的任一个的某些动作或事件可以不同序列被执行、可被添加、合并或完全省去(例如,并非所有所描述动作或事件为实践所述技术所必要)。此外,在某些实施例中,可同时(例如,通过多线程处理、中断处理或多个处理器)而非顺序地执移动作或事件。

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

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

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

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

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

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