一种对视频数据进行编码、解码的方法以及装置与流程

文档序号:19164971发布日期:2019-11-19 20:17阅读:194来源:国知局
一种对视频数据进行编码、解码的方法以及装置与流程

相关申请案

本申请案主张2014年8月22日申请的第62/040,985号美国临时申请案的权益,所述美国临时申请案通过引用以其全文结合在此。

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



背景技术:

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

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

空间或时间预测产生用于译码当前块的预测性块的使用。残余数据表示待译码原始块与预测性块之间的像素差。举例来说,残余数据块的每个相应样本可以等于原始块的相应样本与预测性块的对应的相应样本之间的差异。根据运动向量对经帧间译码块进行编码,所述运动向量指向形成预测性块的参考样本块。经帧内译码块是根据帧内译码模式和残余数据来编码的。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,可接着量化所述残余变换系数。可扫描一开始按二维阵列布置的经量化变换系数,以便产生变换系数的一维向量,且可应用熵译码以实现更多压缩。



技术实现要素:

总的来说,本发明描述用于帧内块复制预测的技术。具体来说,本发明描述用于实施统一帧内块复制和帧间预测方案的各种技术。举例来说,视频译码器可以通过确定参考图片的处于相同位置的块而对当前图片的当前视频数据块进行解码或编码,其中处于相同位置的块与当前图片的当前块处于相同位置。所述视频译码器可以从处于相同位置的块导出时间运动向量预测符,并且可以确定时间运动向量预测符具有子像素精度。当确定时间运动向量预测符具有子像素精度时,视频译码器可以将时间运动向量预测符右移。将时间运动向量预测符右移可以移除代表时间运动向量的子像素准确度的最低有效位,从而实际上将时间运动向量从具有子像素精度水平转换成具有整数像素精度水平。由于帧内块复制模式使用整数水平像素精度,所以转换时间运动向量预测符可以提高译码效率,因为视频译码器可以使用时间运动向量预测符,其否则可能是不可用的,或者由于子像素精度对于帧内块复制模式是低效的。在将时间运动向量预测符右移之后,视频译码器可以基于右移的时间运动向量预测符确定当前图片内的预测性块。

在一个实例中,本发明描述一种使用帧内块复制模式对视频数据进行解码的方法,所述方法包括:在参考图片列表中包含当前图片和参考图片,所述参考图片不同于所述当前图片;确定所述参考图片的处于相同位置的块,所述处于相同位置的块与所述当前图片的当前块处于相同位置;从所述处于相同位置的块导出时间运动向量预测符;确定所述时间运动向量预测符具有子像素精度;将确定具有子像素精度的所述时间运动向量预测符右移;基于所述右移的时间运动向量预测符确定所述当前图片内的预测性块;以及通过将残余块的样本与所述预测性块的对应样本求和而形成经解码视频块。

在另一实例中,本发明描述一种使用帧内块复制模式对视频数据进行编码的方法,所述方法包括:在参考图片列表中包含当前图片和参考图片,所述参考图片不同于所述当前图片;确定所述参考图片的处于相同位置的块,所述处于相同位置的块与所述当前图片的当前块处于相同位置;从所述处于相同位置的块导出时间运动向量预测符;确定所述时间运动向量预测符具有子像素精度;将确定具有子像素精度的所述时间运动向量预测符右移;基于所述右移的时间运动向量预测符确定所述当前图片内的预测性块;以及生成表示基于所述右移的时间运动向量预测符确定的所述预测性块与所述当前块之间的差异的残余数据。

在另一实例中,本发明描述一种用于使用帧内块复制模式对视频数据进行译码的装置,所述装置包括:存储器,其经配置以存储图片的视频数据;以及一或多个处理器,其经配置以:在参考图片列表中包含当前图片和参考图片,所述参考图片不同于所述当前图片;确定所述参考图片的处于相同位置的块,所述处于相同位置的块与所述当前图片的当前块处于相同位置;从所述处于相同位置的块导出时间运动向量预测符;确定所述时间运动向量预测符具有子像素精度;将确定具有子像素精度的所述时间运动向量预测符右移;以及基于所述右移的时间运动向量预测符确定所述当前图片内的预测性块。

在另一实例中,本发明描述一种用于使用帧内块复制模式对视频数据进行解码的装置,所述装置包括:存储器,其经配置以存储参考图片的视频数据;以及一或多个处理器,其经配置以:在参考图片列表中包含当前图片和所述参考图片,所述参考图片不同于所述当前图片;确定所述参考图片的处于相同位置的块,所述处于相同位置的块与所述当前图片的当前块处于相同位置;从所述处于相同位置的块导出时间运动向量预测符;确定所述时间运动向量预测符具有子像素精度;将确定具有子像素精度的所述时间运动向量预测符右移;基于所述右移的时间运动向量预测符确定所述当前图片内的预测性块;以及通过将残余块的样本与所述预测性块的对应样本求和而形成经解码视频块。

在另一实例中,本发明描述一种用于使用帧内块复制模式对视频数据进行编码的装置,所述装置包括:存储器,其经配置以存储参考图片的视频数据;以及一或多个处理器,其经配置以:在参考图片列表中包含当前图片和所述参考图片,所述参考图片不同于所述当前图片;确定所述参考图片的处于相同位置的块,所述处于相同位置的块与所述当前图片的当前块处于相同位置;从所述处于相同位置的块导出时间运动向量预测符;确定所述时间运动向量预测符具有子像素精度;将确定具有子像素精度的所述时间运动向量预测符右移;基于所述右移的时间运动向量预测符确定所述当前图片内的预测性块;以及生成表示基于所述右移的时间运动向量预测符确定的所述预测性块与所述当前块之间的差异的残余数据。

在另一实例中,本发明描述一种用于使用帧内块复制模式对视频数据进行译码的设备,所述设备包括:用于在参考图片列表中包含当前图片和参考图片的装置,所述参考图片不同于所述当前图片;用于确定所述参考图片的处于相同位置的块的装置,所述处于相同位置的块与所述当前图片的当前块处于相同位置;用于从所述处于相同位置的块导出时间运动向量预测符的装置;用于确定所述时间运动向量预测符具有子像素精度的装置;用于将确定具有子像素精度的所述时间运动向量预测符右移的装置;以及用于基于所述右移的时间运动向量预测符确定所述当前图片内的预测性块的装置。

在另一实例中,本发明描述一种非暂时性计算机可读存储媒体,其具有存储在其上的指令,所述指令当执行时使经配置以对视频数据进行译码的计算装置的一或多个处理器:在参考图片列表中包含当前图片和参考图片,所述参考图片不同于所述当前图片;确定所述参考图片的处于相同位置的块,所述处于相同位置的块与所述当前图片的当前块处于相同位置;从所述处于相同位置的块导出时间运动向量预测符;确定所述时间运动向量预测符具有子像素精度;将确定具有子像素精度的所述时间运动向量预测符右移;以及基于所述右移的时间运动向量预测符确定所述当前图片内的预测性块。

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

附图说明

图1是图解说明可利用本发明中描述的技术的实例视频编码和解码系统的框图。

图2是图解说明用于合并和高级运动向量预测(amvp)模式的运动向量候选项的概念图。

图3是图解说明用于根据帧内bc模式预测当前图片内的当前视频数据块的实例技术的概念图。

图4是图解说明可实施本发明中描述的技术的实例视频编码器的框图。

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

图6是图解说明与本发明的技术一致的用于解码视频数据的实例过程的流程图。

图7是图解说明与本发明的技术一致的用于编码视频数据的实例过程的流程图。

具体实施方式

本发明的各方面是针对用于视频编码和视频解码的技术。例如,视频译码器可以在执行高级运动向量预测(avmp)的同时推导时间运动向量预测符。视频译码器又可以将时间运动向量预测符右移以移除任何子像素准确度。由于帧内块复制模式使用整数像素精度,所以转换时间运动向量预测符可以提高译码效率,因为视频译码器可以使用时间运动向量预测符,其否则可能是不可用的,或者由于子像素精度对于帧内块复制模式是低效的。本发明的各方面可以针对用于改善帧内块复制(bc)的块向量译码的技术。本发明的各方面可以针对作为用于视频编码和视频解码的统一帧间预测过程的一部分的用于执行帧内bc的技术。本文所述的技术可以应用于屏幕内容译码(scc)或其中一或多个传统的译码工具是低效的其它内容。

帧间预测是基于除了当前图片之外的图片的数据元素来预测数据元素的技术。例如,视频编码器可以使用帧间预测来确定用于当前图片的预测单元(pu)的预测性块。预测性块是基于参考图片(即,除了当前图片之外的图片)中的样本的样本块。pu的运动向量可指示pu的预测块与预测性块之间的空间位移。在这个实例中,视频编码器可以生成指示预测性块与pu的预测块之间的差异的残余数据(即,预测误差)。视频编码器可以包含表示含有视频数据的经译码表示的位流中的残余数据的数据。视频解码器可以使用所述运动向量确定预测性块。随后,视频解码器可以为残余数据和预测性块的对应样本求和以重构预测块。

在帧间预测的另一实例中,视频译码器可以基于参考图片中的时间运动向量预测符(tmvp)确定当前图片的当前pu的运动向量。在许多实例中,tmvp是具有至少部分地与pu的预测块处于相同位置的预测块的pu的运动向量。举例来说,视频译码器可以采用tmvp作为当前pu的运动向量或者基于tmvp的运动向量确定pu的运动向量。视频译码器接着可使用当前pu的运动向量确定预测性块。

帧内预测是基于相同解码切片的例如采样值的数据元素来预测数据元素的技术。帧内块复制(即,帧内bc)是用于对例如译码单元(cu)或pu的视频块进行编码的帧内预测的新发展的形式。为了使用帧内bc对当前图片的当前视频块进行编码,视频编码器搜索当前图片的相同切片内的搜索区以作为用于预测性块的当前视频块。在一些实例中,预测性块可以是包括与当前视频块的样本阵列最紧密地匹配的样本阵列的块。视频编码器生成指示当前视频块与预测性块之间的位移的块向量。视频编码器可以用与帧间预测基本相同的方式使用预测性块生成残余数据。视频解码器可以使用当前视频块的块向量确定当前图片中的预测性块。视频解码器可以为残余数据和预测性块的对应样本求和以重构当前视频块的预测块。

总的来说,用于帧间预测的运动向量具有子像素准确度。举例来说,用于帧间预测的运动向量可具有半像素或四分之一像素的准确度。因此,用于帧间预测的运动向量可以指示图片的两个实际像素之间的位置。图片的实际像素可被称为整数像素,因为实际像素被指派图片的像素阵列中的整数坐标。在运动向量指示两个整数像素之间的位置的例子中,视频译码器(即,视频编码器或视频解码器)可以内插样本值。相比之下,用于帧内bc的块向量限于整数准确度(即,整数精度、整数像素精度)。因此,用于帧内bc的块向量并不指示整数像素之间的位置。

因为帧间预测与帧内bc之间的类似性,有人提出尝试统一帧间预测与帧内bc。在一些这些尝试中,视频译码器生成参考图片列表。常规上,参考图片列表是可供用于帧间预测的当前图片使用的图片列表。统一帧间预测与帧内bc的几项提议暗示在参考图片列表中包含当前图片,从而使得可以用与其它参考图片相同的方式使用当前图片。

然而,这些提议中出现了几个问题。例如,视频编码器可以确定当tmvp(其可以是运动向量或块向量)用作当前块的块向量时,使用帧内bc会得到当前块的最佳速率失真度量。因此,在这个实例中,视频编码器可以用信号表示识别tmvp的候选项索引,并且可以用信号表示指示当前图片在参考图片列表中的位置的参考索引。视频编码器还可用信号表示指示当前块的块向量与tmvp(即,处于相同位置的块的运动向量或块向量)之间的差异(如果存在的话)的运动向量差(mvd)。然而,如果tmvp恰好是子像素准确度的运动向量,则运动向量可能不用于帧内bc,或者对于使用帧内bc是低效的,因为帧内bc具有整数精度块向量。帧间预测与帧内bc之间的准确度差异(即,子像素精度对比整数像素精度)还意味着,因为帧间预测使用子像素精度操作而帧内bc使用整数像素精度操作,所以这两种预测模式的操作方式是不同的。结果是不相容性,这样会损害统一帧间预测与帧内bc的根基。

本发明的特定技术提供了这些问题的解决方案。例如,视频译码器可以包含当前图片和参考图片列表中的参考图片。此外,视频译码器可以确定参考图片的处于相同位置的块。处于相同位置的块与当前图片的当前块处于相同位置。如果一个块与另一块对应于块中的相应块内的至少部分重叠的位置,则所述块可以处于相同位置。此外,在这个实例中,视频译码器可以从处于相同位置的块推导tmvp。视频译码器接着可确定tmvp是否具有子像素精度。响应于确定tmvp具有子像素精度,视频译码器可以将tmvp右移。换句话说,视频译码器可以将指示tmvp的值右移,使得任何表示tmvp的分数部分的位(例如两个最低有效位)被消除,从而得到具有整数精度水平的tmvp。例如,如果移除了两个最低有效位,这将等同于右移两个。作为另一实例,将hevc中的具有四分之一像素准确度的tmvp右移两个,将把tmvp从具有子像素准确度(或在这个实例中,是四分之一像素准确度)转换成具有整数像素准确度。以此方式,视频译码器可以实际上将tmvp从子像素准确度转换到整数像素准确度。此外,在这个实例中,视频译码器可以基于右移的时间运动向量预测符确定当前图片内的预测性块,并且通过为残余块的样本与预测性块的对应样本求和而形成经解码视频块。因此,通过将tmvp从子像素精度转换成整数精度,视频译码器可能能够使用tmvp作为用于帧内bc的块向量。以此方式,本发明的这种技术可以便于帧间预测与帧内bc的统一。

图1是图解说明可以利用本发明的一或多种技术的实例视频编码和解码系统10的框图。如本文所使用,术语“视频译码器”一般是指视频编码器及视频解码器两者。类似地,在本发明中,“视频译码”或“译码”这些术语一般是指视频编码或视频解码。如本发明通篇中阐述的,视频译码系统10的视频编码器20和视频解码器30代表可经配置以执行本发明的一或多种技术的编码器和解码器的各种实例。

如图1的实例中所示,视频译码系统10包含源装置12和目的地装置14。源装置12生成经编码视频数据。因此,源装置12可被称为视频编码装置或视频编码设备。目的地装置14可以对由源装置12生成的经编码的视频数据进行解码。因此,目的地装置14可以被称为视频解码装置或视频解码设备。源装置12以及目的地装置14可以是视频译码装置或视频译码设备的实例。源装置12和目的地装置14可包括多种多样的装置中的任一种,包含桌上型计算机、笔记本式(即,膝上型)计算机、平板计算机、机顶盒、无线通信装置、电话手持机(例如所谓的“智能”电话)、所谓的“智能”平板、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置等等。在一些实例中,源装置12和目的地装置14经装备以用于无线通信。

目的地装置14可以经由链路16从源装置12接收经编码视频数据。链路16可包括一或多个媒体或装置,其能够将经编码视频数据从源装置12移动到目的地装置14。在一个实例中,链路16包括一或多个通信媒体,其使得源装置12能够实时地向目的地装置14直接传输经编码视频数据。在这个实例中,源装置12根据例如无线或有线通信协议的通信标准调制或传送经编码视频数据,并且向目的地装置14传输经调制的(或未调制的)视频数据。所述一或多个通信媒体可以包含无线和/或有线通信媒体,例如射频(rf)光谱或一或多个物理传输线。一或多个通信媒体可形成基于数据包的网络的一部分,基于数据包的网络例如是局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换机、基站或有利于从源装置12到目的地装置14的通信的其它设备。

在一些实例中,从输出接口22向存储装置33输出经编码数据。在这些实例中,通过输入接口28从存储装置33存取经编码数据。存储装置33可以包含多种分布式或本地存取数据存储媒体中的任一种,例如硬盘驱动器、蓝光光盘、dvd、cd-rom、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。

存储装置33可包括可保持由源装置12产生的经编码视频的文件服务器或另一中间存储装置。目的地装置14可从存储装置33经由流式传输或下载来存取所存储的视频数据。文件服务器可为能够存储经编码视频数据并且将经编码视频数据传输到目的地装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、文件传输协议(ftp)服务器、网络附接存储(nas)装置以及本地磁盘驱动器。

目的地装置14可以通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。数据连接的实例类型可以包含无线信道(例如wi-fi连接)、有线连接(例如dsl、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置33的传输可为流式传输、下载传输或两者的组合。

本发明的用于统一帧内块复制和帧间预测的技术未必限于无线应用或环境。所述技术可应用于视频译码以支持多种多媒体应用中的任一者,例如空中电视广播、有线电视传输、卫星电视传输、流式视频传输(例如,经由因特网)、对数字视频编码以存储于数据存储媒体上、对存储于数据存储媒体上的数字视频解码,或其它应用。在一些实例中,系统10经配置以支持单向或双向视频传输,以支持例如视频流式传输、视频回放、视频广播及/或视频电话等应用。

图1中图解说明的视频译码系统10仅为实例,并且本发明的技术可适用于未必包含编码装置与解码装置之间的任何数据通信的视频译码环境(例如,视频编码或视频解码)。在其它实例中,数据从本地存储器检索、在网络上流式传输等等。视频编码装置可以对数据进行编码并且将数据存储到存储器,和/或视频解码装置可以从存储器检索数据并且对数据进行解码。在许多实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的装置执行编码和解码。

在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。在一些实例中,输出接口22包含调制器/解调器(调制解调器)及/或发射器。视频源18可包含例如视频俘获装置(例如,摄像机)、含有先前俘获的视频的视频存档、用于从视频内容提供者接收视频的视频馈入接口及/或用于产生计算机图形数据作为源视频的计算机图形系统或此类源的组合等源。在其中视频源18是摄像机的一个实例中,源装置12和目的地装置14形成所谓的相机电话或视频电话。然而,本发明中所描述的技术一般来说可适用于视频译码,且可应用于无线和/或有线应用。

经俘获、预先俘获或计算机产生的视频可由视频编码器20编码。可经由源装置12的输出接口22将经编码视频数据直接传输到目的地装置14。经编码视频数据还可(或替代地)存储在存储装置33上以供稍后由目的地装置14或其它装置存取,用于解码和/或回放。

目的地装置14包含输入接口28、视频解码器30和显示装置32。在一些实例中,输入接口28包含接收器和/或调制解调器。目的地装置14的输入接口28通过链路16接收经编码视频数据。通过链路16传达或提供于存储装置33上的经编码视频数据可包含由视频编码器20产生以供视频解码器(例如视频解码器30)用于对视频数据进行解码的多种语法元素。此类语法元素可与在通信媒体上传输、存储于存储媒体上或存储文件服务器的经编码视频数据包含在一起。

显示装置32可与目的地装置14集成或在目的地装置14的外部。在一些实例中,目的地装置14可以包含集成显示装置且还可经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一者,例如液晶显示器(lcd)、等离子显示器、有机发光二极管(oled)显示器或另一类型的显示装置。

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

视频编码器20及视频解码器30可根据由视频译码联合合作小组(jct-vc)开发的视频译码标准操作,所述视频译码标准例如最近完成的高效率视频译码(hevc)以及hevc范围扩展标准。或者,视频编码器20和视频解码器30可以根据其它专有或业界标准来操作,所述标准例如是itu-th.264标准,也被称为mpeg-4第10部分高级视频译码(avc),或此类标准的扩展。然而,本发明的技术不限于任何特定译码标准。视频译码标准的其它实例包含mpeg-2及itu-th.263。

被称作“hevc工作草案10”或“wd10”的hevc标准的最近草案在布洛斯等人的文献jctvc-l1003v34“高效率视频译码(hevc)文本规范草案10(用于fdis和最后呼叫)”(itu-tsg16wp3和iso/iecjtc1/sc29/wg11的视频译码联合合作小组(jct-vc),瑞士日内瓦第12次会议,2013年1月14-23日)中描述,其从2013年8月30日起可从http://phenix.intevry.fr/jct/doc_end_user/documents/12_geneva/wg11/jctvc-l1003-v34.zip下载。hevc标准的另一草案在本文中被称作“wd10修订本”,在布洛斯等人的“hevc版本1的编者提议的校正”(itu-tsg16wp3和iso/iecjtc1/sc29/wg11的视频译码联合合作小组(jct-vc)2013年4月韩国仁川第13次会议)中描述,其从2013年8月30日起从http://phenix.int-evry.fr/jct/doc_end_user/documents/13_incheon/wg11/jctvc-m0432-v3.zip获得。

另一当前的hevc文本规范草案描述于hevc草案规范中,并且下文中被称作hevcwd,可从http://phenix.int-evry.fr/jct/doc_end_user/documents/15_geneva/wg11/jctvc-o1003-v2.zip获得。王(wang)等人的“高效视频译码(hevc)缺陷报告4”,itu-tsg16wp3和iso/iecjtc1/sc29/wg11视频译码联合合作小组(jct-vc),第17届会议,2014年3月27日到4月4日,es巴伦西亚,文档jctvc-q1003(下文中称为“jctvc-q1003”)也描述了所述hevc标准。

视频编码器和视频解码器30各自表示经配置以执行本发明中描述的技术的任何组合的视频译码器的实例。在一些实例中,本文所述的一或多种技术经配置以用于一或多种视频译码标准。实例视频译码标准包含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)扩展。高效率视频译码(hevc)是由itu-t视频译码专家组(vceg)及iso/iec运动图片专家组(mpeg)的视频译码联合合作小组(jct-vc)开发的新视频译码标准。hevc标准化努力是基于被称作hevc测试模型(hm)的视频译码装置的演进模型。hm根据(例如)itu-th.264/avc假设视频译码装置相对于现有装置的若干额外能力。举例来说,虽然h.264提供九种帧内预测编码模式,但hm可提供多达三十三种帧内预测编码模式。

虽然图1中未展示,但在一些实例中,视频编码器20和视频解码器30各自与音频编码器和音频解码器集成,且可包含适当的多路复用器-多路分用器单元或其它硬件和软件,以处置对共同数据流或单独数据流中的音频和视频两者的编码。在一些实例中,如果适用,多路复用器-多路分用器单元符合ituh.223多路复用器协议,或例如用户数据报协议(udp)等其它协议。

本发明可大体上将视频编码器20称为将某些信息“用信号表示”或“传输”到例如视频解码器30的另一装置。术语“用信号表示”或“传输”可大体上指代用以对经压缩视频数据进行解码的语法元素和/或其它数据的传送。此传送可实时或几乎实时发生。替代地,此通信可经过一段时间后发生,例如可在编码时以经编码位流将语法元素存储到计算机可读存储媒体时发生,解码装置接着可在所述语法元素存储到此媒体之后的任何时间检索所述语法元素。

视频序列通常包含一系列视频帧或图片。例如,图片群组(gop)大体上包括一系列的一或多个所述视频图片。gop可包含gop的标头、图片中的一或多者的标头或其它地方中的语法数据,所述语法数据描述gop中所包含的图片的数目。图片的每一切片可包含描述用于相应的切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块进行操作以便对视频数据进行编码。

在hevc和其它视频译码标准中,视频序列通常包含一系列图片。图片也可被称作“帧”。图片可以包含三个样本阵列,标示为sl、scb以及scr。sl是明度样本的二维阵列(即,块)。scb是cb色度样本的二维阵列。scr是cr色度样本的二维阵列。色度样本在本文中还可以被称为“色品”样本。在其它实例中,图片可为单色的且可仅包含亮度样本阵列。

为了产生图片的经编码的表示,视频编码器20可以产生一组译码树单元(ctu)。每个相应ctu可以是亮度样本的译码树块、色度样本的两个对应的译码树块,以及用以对译码树块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,ctu可包括单个译码树块及用于对所述译码树块的样本进行译码的语法结构。译码树块可为样本的n×n块。译码树块可为样本的n×n块。ctu也可以被称为“树块”或“最大译码单元(lcu)”。hevc的ctu可以广泛地类似于例如h.264/avc等其它标准的宏块。然而,ctu未必限于特定大小,并且可以包含一或多个译码单元(cu)。位流内的语法数据可以限定ctu的大小。

在hevc中,切片中的最大译码单元称为译码树块(ctb)。ctb含有四叉树,所述四叉树的节点为译码单元。ctb的大小可介于hevc主规范中的16×16到64×64的范围(尽管技术上可支持8×8ctb大小)。每个cu以一种模式译码。

视频帧或图片可以被分割成一或多个切片。切片可包含以例如光栅扫描次序的译码次序连续排序的整数数目个ctu。

每一ctu可根据四叉树分裂成一或多个译码单元(cu)。一般来说,四叉树数据结构包含每个cu一个节点,其中根节点对应于ctu。如果cu分裂成4个子cu,那么对应于cu的节点包含4个叶或子节点,所述叶或子节点中的每一者对应于所述子cu中的一者。译码单元(cu)可以与ctb相同大小并且可以像8×8一样小。

四叉树数据结构的每一节点可提供用于对应cu的语法数据。举例来说,四叉树中的节点可包含分裂旗标,指示对应于所述节点的cu是否分裂成子cu。用于cu的语法元素可递归地定义,且可取决于cu是否分裂成子cu。如果cu未进一步分裂,那么所述cu称为叶cu。

视频编码器20可对ctu的译码树块递归地执行四叉树分割以将译码树块划分为译码块,因此名称为“译码树单元”。译码块可以是样本的n×n块。在一些实例中,cu包括具有明度样本阵列、cb样本阵列和cr样本阵列的图片的明度样本的译码块以及色度样本的两个对应的译码块,以及用以对译码块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,cu可包括单个译码块及用于对所述译码块的样本进行译码的语法结构。

cu具有与h.264标准的宏块类似的目的,除了cu不具有大小区别。cu的大小对应可为正方形或矩形形状。cu的大小范围可从8×8像素到具有64×64像素或更大像素的最大值的树块的大小。树块可以分裂成四个子级节点(也被称作子cu),并且每一子级节点又可以是父节点并且可以分裂成另外四个子级节点。最后未分裂的子级节点(被称作四叉树的叶节点)包括译码节点,也被称作叶cu。与经译码位流相关联的语法数据可定义树块可分裂的最大次数,被称作最大cu深度,且还可定义译码节点的最小大小。因此,位流还可定义最小译码单元(scu)。本发明使用术语“块”指代hevc的上下文中可进一步包含一或多个预测单元(pu)或变换单元(tu)的cu或其它标准的上下文中的相似数据结构(例如,h.264/avc中的宏块及其子块)中的任一者。

cu包含一或多个预测单元(pu)和一或多个变换单元(tu)。举例来说,与cu相关联的语法数据可描述cu分割成一或多个pu。分割模式可在cu被跳过还是经直接模式编码、帧内预测模式编码或帧间预测模式编码之间不同。cu可经分割以使得cu的pu可为非正方形形状。举例来说,与cu相关联的语法数据还可描述cu根据四叉树分割成一或多个tu。

因此,当cu经帧间译码时,cu可进一步分割成两个预测单元(pu)或当进一步分割不适用时变为仅一个pu。当一个cu中存在两个pu时,pu可以是一半大小的矩形或具有cu的四分之一大小和cu的另外四分之三大小的两个矩形。在hevc中,最小pu大小是8×4和4×8。当cu经帧间译码时,对于cu的每个pu存在一个运动信息集合。此外,每个pu可以用独特的帧间预测模式译码以导出所述运动信息集合。

视频编码器20可将cu的译码块分割为一或多个预测块。预测块可以是其上应用相同预测的样本的矩形(即,正方形或非正方形)块。cu的pu可以包括图片的明度样本的预测块、色度样本的两个对应预测块,以及用于对预测块样本进行预测的语法结构。在单色图像或具有三个单独彩色平面的图片中,pu可包括单个预测块,及用以对预测块样本进行预测的语法结构。

一般来说,pu表示对应于相对应的cu的全部或一部分的空间区域,并且可包含用于检索pu的参考样本的数据。此外,pu包含与预测有关的数据。在一些实例中,使用帧内模式或帧间模式对pu进行编码。作为另一实例,当pu经帧间模式编码时,pu可以包含定义pu的一或多个运动向量的数据。定义pu的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片,及/或运动向量的参考图片列表(例如,列表0、列表1或列表c)。

作为一实例,hevc支持各种pu大小的预测。假设特定cu的大小为2n×2n,那么hevc支持2n×2n或n×n的pu大小的帧内预测,及2n×2n、2n×n、n×2n或n×n的对称pu大小的帧间预测。hevc还支持用于2n×nu、2n×nd、nl×2n和nr×2n的pu大小的帧间预测的不对称分割。在不对称分割中,不分割cu的一个方向,但是将另一方向分割成25%和75%。cu的对应于25%分区的部分由“n”继之以“上”、“下”、“左”或“右”的指示来指示。因此,例如,“2n×nu”是指经水平分割的2n×2ncu,其中顶部为2n×0.5npu,而底部为2n×1.5npu。

在本发明中,“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的变换单元(tu)可包括明度样本的变换块、色度样本的两个对应变换块及用以对变换块样本进行变换的语法结构。因此,cu的每一tu可具有明度变换块、cb变换块以及cr变换块。tu的明度变换块可为cu的明度残差块的子块。cb变换块可为cu的cb残余块的子块。cr变换块可以是cu的cr残余块的子块。在单色图像或具有三个单独彩色平面的图片中,tu可包括单个变换块,及用以对变换块样本进行变换的语法结构。tu可为正方形或非正方形(例如,矩形)形状。换句话说,对应于tu的变换块可为正方形或非正方形形状。

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

tu可以使用rqt(还被称作tu四叉树结构)来指定,如上文所论述。举例来说,分裂旗标可以指示叶cu是否分裂成四个tu。随后,每一tu可进一步分裂为另外的若干子tu。当tu未进一步分裂时,其可被称作叶tu。总体上,对于帧内译码,所有属于一叶cu的叶tu共享相同的帧内预测模式。也就是说,一般应用相同的帧内预测模式来计算叶cu的所有tu的预测符。对于帧内译码,视频编码器20可以使用帧内预测模式将每一叶tu的残余值计算为cu的对应于tu的部分与原始块之间的差。tu不一定限于pu的大小。因此,tu可大于或小于pu。对于帧内译码,pu可与相同cu的对应叶tu处于相同位置。在一些实例中,叶tu的最大大小对应于对应的叶cu的大小。

此外,叶cu的tu也可以与称为rqt的相应四叉树数据结构相关联。即,叶cu可包含指示叶cu如何分割成tu的四叉树。tu四叉树的根节点总体上对应于叶cu,而cu四叉树的根节点总体上对应于树块。一般来说,本发明分别使用术语cu和tu指代叶cu和叶tu,除非另有指出。

pu和tu两者可含有(即,对应于)对应于与所述块相关联的色彩空间的通道中的每一者的样本的一或多个块。pu的块可包含预测性块的样本,且tu的块可为包含对应于原始块与预测性块之间的差的残余样本的块。对于与ycbcr颜色空间相关联的块,明度样本的块可对应于“y”通道,且色度块的两个不同通道可分别对应于cb和cr通道。在使用cu的pu进行帧内预测译码或帧间预测译码之后,视频编码器20或视频解码器30可计算用于cu的tu的残余数据。pu可包括描述在空间域(还被称作像素域)中产生预测性像素数据的方法或模式的语法数据,并且tu可包括在对残余视频数据应用变换(例如,离散余弦变换(dct)、整数变换、小波变换或概念上类似的变换)之后在变换域中的系数。所述残余数据可对应于未经编码图片的像素与对应于pu的预测符之间的像素差。视频编码器20或视频解码器30可形成包含用于cu的残余数据的tu,且接着变换tu以生成用于cu的变换系数。换句话说,视频编码器20可将变换应用于tu的变换块以产生tu的变换系数块。视频解码器30可将逆变换应用于tu的变换系数块以重构tu的变换块。

在应用变换(如果有的话)产生变换系数之后,视频编码器20可以执行变换系数的量化。换句话说,视频编码器20可量化变换系数块的变换系数。量化大体上指代对变换系数进行量化以可能减少用以表示变换系数的数据的量从而提供进一步压缩的过程。量化过程可以减少与系数中的一些或全部相关联的位深度。例如,n位值可以在量化期间下舍入为m位值,其中n大于m。逆量化(即,解量化)可以增加系数中的一些或全部的位深。

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

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

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

根据hevc标准,当使用帧间或帧内预测时,运动信息可以供视频编码器20或视频解码器30使用。对于每个块,运动信息集合可以是可用的。运动信息集合可以含有用于正向和后向预测方向的运动信息。正向和后向预测方向这些术语的意思是指示与双向预测模式相关联的两个预测方向。“正向”和“后向”这些术语未必具有几何含义。相反,“正向”和“后向”对应于当前图片的参考图片列表0(refpiclist0)和参考图片列表1(refpiclist1)。当仅一个参考图片列表能供用于图片或切片时,仅refpiclist0可用并且切片的每个块的运动信息始终是正向的。

对于每个预测方向,运动信息必须含有参考索引和运动向量。参考索引是参考图片列表中的特定图片的索引。在一些实例中,为简单起见,视频译码器假设运动具有相关联的参考索引。参考索引用于识别当前参考图片列表(refpiclist0或refpiclist1)中的参考图片。运动向量具有水平和垂直分量。当cu经帧间译码时,针对每一pu存在一个运动信息集合。视频译码器使用与pu相关联的帧间预测模式以导出用于所述pu的运动信息集合。

图片次序计数(poc)广泛用于视频译码标准以识别图片的显示次序。当位流中存在多个经译码视频序列时,具有相同poc值的图片可能在解码次序方面彼此更靠近。图片的poc值通常用于参考图片列表构造、参考图片集的导出,就像hevc和运动向量按比例调整中一样。

在hevc标准中,对于一个预测单元(pu)存在两种帧间预测模式,分别是合并(包含跳过模式,这是合并模式的一种特殊情况)和高级运动向量预测(amvp)模式。在amvp或合并模式中,视频译码器保持多个运动向量预测符的运动向量(mv)候选项列表。在一些实例中,mv候选项列表含有针对合并模式的多达5个候选项和针对amvp模式的仅两个候选项。视频译码器生成运动向量以及有待通过从mv候选项列表中选择一个候选项而使用合并模式译码pu时使用的参考索引。

举例来说,当视频编码器20使用合并模式用信号表示当前pu的运动信息时,视频编码器20可以生成包含一或多个合并候选项的合并候选项列表。合并候选项中的每一者指定空间运动向量预测符或时间运动向量预测符(即,tmvp)的运动信息。空间运动向量预测符可以是当前图片(即,包含当前pu的图片)中的pu。tmvp可以是时间参考图片(即,发生在与当前图片不同的时间例项的图片)中的pu。指明tmvp的运动信息的合并候选项可被称为“时间合并候选项”。

在产生合并候选项列表之后,视频编码器20可选择合并候选项中的一者,且在位流中包含指示选定的合并候选项的在合并候选项列表内的位置的语法元素。当视频解码器30对当前pu进行解码时,视频解码器30生成相同的合并候选项列表。此外,视频解码器30可以从位流获得语法元素,并且可以使用所述语法元素确定合并候选项列表中的选定合并候选项。视频解码器30接着可使用选定合并候选项指示的运动信息以作为当前pu的运动信息。因此,合并候选项可以含有运动信息集合,(例如)对应于两个参考图片列表(列表0和列表1)的运动向量和对应的参考索引。如果视频译码器通过合并索引识别合并候选项,则视频译码器使用识别的参考图片预测当前块。视频译码器还确定用于当前块的相关联的运动向量。

amvp模式类似于合并模式,类似之处在于视频编码器20产生候选项列表并且从候选项列表选择候选项。amvp候选项列表中的候选项可被称为运动向量预测符(mvp)候选项。amvp候选项列表中的候选项可以包含指示空间运动向量预测符和/或时间运动向量预测符的运动向量的候选项。当视频编码器20使用amvp模式用信号表示当前pu的运动信息时,除用信号表示候选项列表中的选定的mvp候选项的位置之外,视频编码器20还可以用信号表示当前pu的运动向量差(mvd)以及参考索引。当前pu的mvd可指示当前pu的运动向量与来自amvp候选项列表的所选候选项的运动向量之间的差异。在单向预测中,视频编码器20可用信号表示当前pu的一个mvd及一个参考索引。在双向预测中,视频编码器20可以用信号表示用于当前pu的两个mvd以及两个参考索引。因此,当使用amvp译码块时,对于来自列表0或列表1的每个潜在的预测方向,根据一些实例,视频译码器显式地用信号表示每个参考索引连同mvp索引。mvp索引是mv候选项列表的索引,因为amvp候选项仅仅含有一个运动向量。在amvp模式中,视频译码器可以进一步优化预测的运动向量。

此外,当使用amvp模式用信号表示当前pu的运动信息时,视频编码器30可从位流获得当前pu的mvd及候选项列表索引。视频解码器30可产生相同的amvp候选项列表且可基于amvp候选项列表中的选定的mvp候选项的位置的指示来确定选定的候选项。视频解码器30可通过将mvd添加到由选定的mvp候选项指示的运动向量来恢复当前pu的运动向量。也就是说,视频解码器30可至少部分基于由选定的mvp候选项指示的运动向量及mvd来确定当前pu的运动向量。视频解码器30接着可使用当前pu的所恢复的一或多个运动向量来产生当前pu的预测性块。

因此,如上文所述,视频译码器基于相同的空间和时间相邻块对于amvp和合并模式两者类似地推导候选项。然而,合并和amvp模式的不同之处在于,合并候选项对应于完整的运动信息集合,而amvp候选项仅含有用于特定的预测方向的一个运动向量和一个参考索引。以类似方式从相同空间及时间相邻块导出用于这两种模式的候选项。图2是图解说明用于合并和amvp模式的空间运动向量候选项的概念图。也就是说,图2图解说明用于合并和amvp模式的空间mv候选项。

尽管从块产生候选项的方法对于合并模式和amvp模式是不同的,但对于特定pu(pu0),从图2中示出的的相邻块导出空间mv候选项。举例来说,在合并模式中,如图2中所示,存在五个可能的空间mv候选项位置:{a0,a1,b0,b1,b2}。视频译码器可对于每个mv候选项位置确定所述位置处的mv候选项是否可用。作为一实例,如果所述位置处的块尚未解码,候选项可能不是可用的。视频译码器可以按以下次序检验mv候选项可用:{a1,b1,b0,a0,b2}。

在amvp模式中,如图2中所示,视频译码器将相邻块分成两组:由块a0和a1组成的左群组和由块b0、b1和b2组成的上方相邻群组。对于左相邻群组,视频译码器在一些实例中根据以下次序检验块的可用性:{a0,a1}。对于上方相邻群组,视频译码器在一些实例中根据以下次序检验顶部相邻块的可用性:{b0,b1,b2}。对于每一群组,参考与用信号表示的参考索引所指示的图片相同的参考图片的潜在候选项具有有待被视频译码器选择以形成所述群组的最终候选项的最高优先级。有可能没有相邻块含有指向相同参考图片的运动向量。在这种情况下,如果视频译码器无法找到指向与用信号表示的索引所指示的图片相同的参考图片的运动向量,则视频译码器选择第一可用候选项。视频译码器按比例缩放第一可用候选项以形成最终候选项。在这种情况下,按比例缩放候选运动向量能补偿时间距离差异。

如上文所述,pu或cu可具有样本的明度块,以及样本的多个对应的色度块。在一些实例中,可存在对应于每个色度样本的多个明度样本(被称作色度子取样)。在一些实例中,对于当前pu/cu的明度分量导出运动向量。在这些实例中,在使用运动向量进行色度运动补偿之前,基于色度取样格式按比例缩放运动向量。因此,当确定运动向量时,视频译码器首先对于pu或cu导出明度运动向量分量。视频译码器可以按比例缩放明度运动向量以基于色度子取样格式确定色度运动向量。例如,根据当前图片是使用4:4:4格式、4:2:2格式还是4:2:0格式编码,可以用不同方式按比例缩放运动向量。

此外,在hevc中,视频译码器可以将lcu划分成并行运动估计区域(mer)。当lcu是mer的一部分时,视频译码器仅仅允许合并/跳过mvp列表构造过程中包含属于与当前pu不同的mer的邻近pu。视频译码器作为语法元素(例如“log2_parallel_merge_level_minus2”)用信号表示图片参数集合中的mer的大小。

在一些实例中,例如当mer大小大于n×n样本时,以及当最小可能cu大小设置成2n×2n样本时,mer可能会影响空间上相邻块相对于运动估计的可用性。例如,在前述情况下,如果空间上相邻块在与当前pu相同的mer内部,则视频译码器将空间上相邻块视为不可用的。

近年来采用与帧内块复制(bc)技术相关的方案以用于包含在(hevc)范围扩展标准中。d.福林(d.flynn)等人的“高效视频译码(hevc)范围扩展文本规范:草案7(highefficiencyvideocoding(hevc)rangeextensionstextspecification:draft7)”,itu-tsg16wp3和iso/iecjtc1/sc29/wg11的视频译码联合合作小组(jct-vc),第17届会议:es巴伦西亚,2014年3月27日到4月4日,文档:jctvc-q1005_v4(下文中称为“jctvc-q1005_v4”,可从http://phenix.int-evry.fr/jct/doc_end_user/documents/17_valencia/wg11/jctvc-q1005-v4.zip获得)是hevc范围扩展草案。jct-vc也在开发对hevc的范围扩展。

在这份文档中,jctvc-q1003中的hevc规范文本可被称为“hevc版本1”。范围扩展规范可变成hevc的版本2。然而,在较大范围中,在所提出的技术((例如)运动向量预测)方面,hevc版本1和范围扩展规范在技术上是类似的。因此,提到hevc版本1的改变是指相同变化可以适用于范围扩展规范。

近年来,开始研究用于带有运动的例如文字和图形的屏幕内容材料的新译码工具,并且研究人员提出了改善屏幕内容的译码效率的技术。因为有迹象表明可以通过用新颖的专用译码工具利用屏幕内容的特性而获得译码效率的明显改进,所以发布了征集意见(cfp)。此cfp的使用情况和要求描述于mpeg文件n14174中。在第17届jct-vc会议期间,研究人员建立了scc测试模型(scm)。乔希(joshi)等人的“高效视频译码(hevc)屏幕内容译码:草案1(highefficiencyvideocoding(hevc)screencontentcoding:draft1)”,itu-tsg16wp3和iso/iecjtc1/sc29/wg11视频译码联合合作小组(jct-vc),2014年6月30日到7月9日,日本札幌第18届会议,文档jctvc-r1005(下文中,“jctvc-r1005”),其可从http://phenix.int-evry.fr/jct/doc_end_user/documents/18_sapporo/wg11/jctvc-r1005-v1.zip获得,这是scc的最近工作草案(wd)。

例如远程桌面、远程游戏、无线显示器、车用信息娱乐、云计算等多个应用在日常使用中正变得常规。这些应用中的视频内容可以由自然内容、文字、人工图形等的组合组成。在文字及人工图形区域中,重复图案(例如字符、图标、符号等)通常存在。帧内bc是能够移除译码文字和人工图形中的冗余并且改善帧内译码效率的技术,如描述于c.庞(c.pang)等人的“具有2-dmv的非rce3帧内运动补偿(non-rce3intramotioncompensationwith2-dmvs)”中,itu-tsg16wp3和iso/iecjtc1/sc29/wg11的视频译码联合合作小组(jct-vc),第14届会议:2013年7月25日到8月2日,at,维也纳,文档jctvc-n0256(下文中称为“jctvc-n0256”)。

帧内bc是一种能够移除某一种空间冗余并且改善帧内译码效率的技术。关于帧内bc技术的更多细节可以在jctvc-n0256中找到。帧内块复制(bc)帧内预测模式已包含于当前屏幕内容译码(scc)中。在图3中展示帧内bc的实例,其中从当前图片或切片的已经解码的块预测当前块(例如当前cu或pu)。可以无需环路内过滤(包含解块和样本自适应偏移(sao))而重构预测信号。对于用帧内bc译码的明度分量或色度分量,根据一些实例用整数块补偿进行块补偿;因而不需要内插。

图3是图解说明实例帧内块复制技术的概念图。在图3的实例中,当前图片103包含当前块102。在一些实例中,当前块102是cu。在其它实例中,当前块102是pu。此外,图3图解说明当前图片103内的预测性块104(即,预测信号)。视频译码器可以使用预测性块104以根据帧内bc模式预测当前视频块102。

视频编码器20从先前视频数据重构块集合之中确定预测性块104。在图3的实例中,图片103内的搜索区108包含先前重构的视频块的集合。视频编码器20可根据基于搜索区108内的各种视频块而预测和译码当前块102的相对效率和准确性的分析而从搜索区108中的视频块当中确定用于预测当前块102的预测性视频块104。

视频编码器20确定表示预测性视频块104相对于当前视频块102的位置或位移的二维偏移向量106。本发明还可将帧内块复制中使用的向量称为“块向量”。偏移向量106包含水平位移分量112和垂直位移分量110,其分别表示预测性块104相对于当前块102的水平和垂直位移。视频编码器20可以包含一或多个语法元素,其在经编码视频位流中识别或定义二维偏移向量106,二维偏移向量106(例如)定义水平位移分量112和垂直位移分量110。视频解码器30可以解码一或多个语法元素以确定偏移向量106,并且可以使用确定的向量识别预测性块104。

当前块102可为cu,或cu的pu。在一些实例中,视频译码器(例如,视频编码器20和/或视频解码器30)将根据帧内bc经预测的cu分裂成多个pu。在这些实例中,视频译码器可以为cu的pu中的每一者确定相应(例如不同)的二维偏移向量106。举例来说,视频译码器可将2n×2ncu分裂为两个2n×npu、两个n×2npu,或四个n×npu。作为其它实例,视频译码器可将2n×2ncu分裂为((n/2)×n+(3n/2)×n)pu、((3n/2)×n+(n/2)×n)pu、(n×(n/2)+n×(3n/2))pu、(n×(3n/2)+n×(n/2))pu、四个(n/2)×2npu或四个2n×(n/2)pu。在一些实例中,视频译码器使用2n×2npu预测2n×2ncu。

当使用帧内bc模式译码块时,视频译码器确定偏移向量106具有用于明度和色度分量两者的整数像素精度。对于运动向量使用整数像素精度能避免内插参考块以生成预测性块。使用整数像素精度预测和用信号表示块向量。根据jctvc-r1005,视频译码器在每个ctb的开头首先将块向量预测符设置成(-w,0),其中“w”是cu的宽度。使用块向量预测符,视频译码器尝试基于使用帧内bc模式译码的先前译码的cu或pu值来预测当前块102的块向量。

视频译码器在每个帧内bccu或pu被译码之后更新块向量预测符。如果不使用帧内bc来译码cu或pu,则视频译码器不改变块向量预测符。在为cu或pu确定块向量预测符之后,视频编码器20确定预测符与实际块向量之间的差异以确定块向量差。视频编码器20可以使用hevc的运动向量差译码方法对块向量差进行编码。

在一些实例中,在cu和pu两个水平启用帧内bc。对于pu水平的帧内bc模式,对于所有cu大小支持2n×n和n×2npu分割大小。当最小可能cu具有n×n样本大小时,支持pu分割。

视频译码器接着可像帧间模一样处理帧内bc。此外,李彬(binli)等人的“非scce1:帧内bc和帧间模式的统一(non-scce1:unificationofintrabcandintermodes)”,itu-tsg16wp3和iso/iecjtc1/sc29/wg11视频译码联合合作小组(jct-vc),第18届会议:2014年6月30日到7月9日,日本札幌,文档jctvc-r0100(下文中称为“jctvc-r0100”)提出了帧内bc和帧间模式统一技术。根据jctvc-r0100技术,视频译码器将当前图片添加到参考图片列表中。因为当前图片在参考图片列表中,所以视频译码器可以使用帧内bc的当前图片作为参考图片,就像视频译码器将使用时间参考图片(即,具有与当前图片的poc值不同的poc值的参考图片)的方式一样。根据jctvc-r0100技术,视频译码器在解码当前图片之前将当前图片标记为长期参考图片,并且在解码当前图片之后将当前图片标记为短期参考图片。此外,根据jctvc-r0100技术,当启用帧内bc模式时,视频译码器对于i切片遵循p切片的语法剖析过程和解码过程。如jctvc-q1003中定义的,i切片是仅仅使用帧内预测解码的切片。此外,如jctvc-q1003中定义的,帧内预测是仅仅从相同解码切片的数据元素(例如采样值)导出的预测。如jctvc-q1003中定义的,p切片是可以使用帧内预测或帧间预测使用至多一个运动向量和参考索引预测每个块的采样值而解码的切片。b切片是可以使用帧内预测或帧间预测使用至多两个运动向量和参考索引预测每个块的采样值而解码的切片。

当将帧内bc模式视为帧间预测模式时,amvp或合并的时间运动向量预测导出、与受限帧内预测的交互、参考列表构造等方面可能存在一些问题。本发明的技术在视频译码器将帧内bc模式视为帧间预测模式的情况下改善帧内bc和帧间预测的统一。在这种情况下,视频译码器将当前图片添加到参考列表0(即,参考图片列表0)。虽然帧内bc模式类似于帧间预测模式,但是视频译码器可以通过检查与当前块相关联的参考图片是否当前图片(即参考图片具有与当前图片相同的poc值)而确定块是帧内bc译码的还是帧间模式译码的。如果块的参考图片是当前图片,则块是帧内bc模式。否则,使用常规帧间预测模式译码当前块。本文中描述根据本发明的技术的各种实例。以下实例中的每一个可以分别或共同地与其它实例中的一或多个一起应用。

在一些实例中,当视频译码器(例如视频编码器20和/或视频解码器30)将当前图片添加到参考列表0时,在当前图片的解码之前,视频译码器将当前参考图片标记为长期。在这种情况下,视频译码器可以使用整数像素精度或子像素精度(例如hevc标准中描述的四分之一像素精度)译码用于帧内bc模式的块向量。当视频译码器对于块使用时间运动向量预测并且视频译码器用整数像素精度译码用于帧内bc的运动向量时,视频译码器可以用整数像素精度对于帧内bc模式、amvp模式或合并模式使用时间运动向量预测符(tmvp)。当处于相同位置的块是帧内bc块时,视频译码器可以使用具有整数像素精度的tmvp,或者当处于相同位置的块是常规帧间时,视频译码器可以使用具有子像素精度的tmvp。

在一些实例中,视频译码器可以确定tmvp具有子像素精度。在这种情况下,视频译码器可以首先将运动向量右移,然后使用所得的右移的运动向量作为tmvp。例如,视频译码器可以将tmvp的二进制值右移,使得代表tmvp的分数部分的任何位(例如两个最低有效位)被消除,从而得到具有整数精度水平的tmvp。换句话说,视频译码器可以确定tmvp具有子像素精度,并且将被确定具有子像素精度的tmvp右移。在这个实例中,将tmvp右移会将tmvp从子像素预测转换成整数像素精度,由此使得tmvp对于当前块的帧内bc模式译码是可以使用的并且是高效的。在另一个实例中,视频译码器可以使用tmvp运动向量,但不将运动向量右移,不管运动向量精度是整数精度还是子像素精度。通过使用tmvp运动向量而不执行任何右移,视频译码器将子像素准确度的运动向量解译为具有整数像素准确度的运动向量。

因此,在本发明的其中视频译码器执行包括将tmvp右移的译码过程的实例中,视频译码器确定不同于当前图片的参考图片的处于相同位置的视频数据块。此外,在这些实例中,视频译码器可以从处于相同位置的视频数据块导出tmvp。视频译码器可以将tmvp右移。视频译码器可以使用帧内块复制模式和经右移的时间运动向量预测符对当前图片的当前视频数据块进行译码。作为这个译码过程的一部分,视频译码器可以确定处于相同位置的视频数据块是被帧内bc模式编码的还是帧间预测模式编码的。因为使用帧内bc模式译码的视频块具有整数像素精度运动向量,而使用帧间预测译码的视频块具有子像素精度运动向量,所以视频译码器可能能够基于视频块是使用帧内bc模式还是帧间预测译码的,来确定tmvp是具有子像素精度还是整数像素精度。因此,视频译码器可经配置以仅仅响应于确定处于相同位置的视频数据块是被帧间预测模式编码的而将tmvp右移。

在一些实例中,视频编码器20和/或视频解码器30可以确定时间运动向量预测符是具有整数像素精度还是子像素精度。子像素精度还可被称作分数像素精确度或非整数像素精度。视频编码器20和/或视频解码器30可经配置以仅仅响应于确定时间运动向量预测符具有子像素精度而将时间运动向量预测符右移。

如上文所指出,视频译码器可以将tmvp右移以将tmvp从具有子像素精度转换成具有整数像素精度。例如,视频译码器可以将tmvp右移以移除子像素准确度,由此将tmvp的像素准确度从子像素精度转换成整数像素精度。例如,tmvp起初可以对于水平分量和垂直分量具有值(3.25,-3.5),这意味着运动向量指示在当前块右方3.25像素上方3.5像素的位置。在这个实例中,右移以移除子像素准确度,会得到对于水平分量和垂直分量具有(3,-3)值的tmvp,这意味着运动向量指示当前块右方3像素上方3像素的位置。通过转换具有整数精度水平的时间运动向量预测符,可以避免内插参考块以生成预测性块。

作为另一实例,视频解码器30可经配置以接收当前图片的经帧内块复制模式编码的视频数据块。视频解码器30可以确定不同于当前图片的参考图片的处于相同位置的视频数据块。视频解码器30可以从处于相同位置的视频数据块导出时间运动向量预测符。视频解码器30可以将tmvp右移。视频解码器30可以基于右移的tmvp确定当前图片中的预测性块。视频解码器30可以使用右移的时间运动向量预测符对当前图片的视频数据块进行解码。

作为另一实例,视频解码器30可经配置以在参考图片列表中包含当前图片和参考图片,其中参考图片不同于当前图片。此外,在这个实例中,视频解码器30确定参考图片的处于相同位置的块。所述处于相同位置的块与当前图片的当前块处于相同位置。视频解码器30可以从处于相同位置的块导出时间运动向量预测符。例如,视频解码器30可以确定tmvp等于(-5.25,4.00),通过二进制表示来识别它的值,其中子像素准确度值对应于例如二进制表示的两个最低有效位。视频解码器30可经配置以确定tmvp具有子像素精度。在一些实例中,视频解码器30通过确定处于相同位置的视频数据块是帧内块复制模式编码的还是帧间预测模式编码的来确定tmvp具有子像素精度。确定处于相同位置的视频数据块是帧间预测模式编码的,可能意味着处于相同位置的视频数据块具有子像素精度(例如非整数精度或分数精度)。

在这个实例中,响应于确定tmvp具有子像素精度,视频解码器30将tmvp右移。在一些实例中,视频解码器30仅仅在确定处于相同位置的块是帧间预测模式编码时将tmvp右移。视频解码器30可经配置以基于右移的tmvp确定当前图片内的预测性块。举例来说,在图3的实例中,视频解码器30可以使用右移的tmvp确定预测信号104。视频解码器30可以基于根据右移的时间运动向量预测符确定的预测性块生成残余数据。

作为另一实例,视频编码器20可经配置以在参考图片列表中包含当前图片和参考图片,其中参考图片不同于当前图片。视频编码器20可经配置以确定视频数据的参考图片的处于相同位置的块,处于相同位置的块与当前图片的当前块处于相同位置,其中参考图片不同于当前图片。视频编码器20可经配置以从处于相同位置的块导出时间运动向量预测符。视频编码器20可经配置以确定时间运动向量预测符具有子像素精度。例如,视频编码器20可经配置以通过经配置以确定处于相同位置的视频数据块是帧内块复制模式编码还是帧间预测模式编码,借此确定时间运动向量预测符具有子像素精度。确定处于相同位置的视频数据块是帧间预测模式编码的,可能意味着处于相同位置的视频数据块具有子像素精度(例如非整数精度或分数精度)。

视频编码器20可经配置以将确定具有子像素精度的时间运动向量预测符右移。在一些实例中,视频编码器20可经配置以仅仅在确定处于相同位置的块是帧间预测模式编码时将时间运动向量预测符右移。视频编码器20可经配置以基于右移的时间运动向量预测符确定当前图片内的预测性块。视频编码器20可经配置以基于预测性块生成残余数据。

此外,在本发明的一些实例中,对于i切片,视频译码器导出inittype值。inittype值指示上下文类型,视频译码器使用上下文类型确定语法元素如何被cabac译码。inittype值可以取决于inittype的值可以另外取决于cabac_init_flag语法元素。如jctvc-q1003中定义的,cabac_init_flag语法元素指明用于确定上下文变量的初始化过程中使用的初始化表的方法。视频译码器可以使用inittype值确定ctxidx值的值,这个值可以指示cabac上下文。在根据本发明的技术的一个实例中,如下在下面的伪码中修改inittype的导出:

代码段1:inittype导出

区段1的前述代码修改了jctvc-q1003的区段9.3.2.2。带下划线的文字指示添加到jctvc-q1003的文字。如jctvc-q1003中定义的,slice_type语法元素指示切片的译码类型。举例来说,slice_type语法元素指示切片是i切片、p切片还是b切片。此外,如jctvc-r1005中定义的,intra_block_copy_enabled_flag是序列参数集中的语法元素。intra_block_copy_enabled_flag指示对于序列参数集针对其有效的经译码视频序列中的切片是否启用帧内bc。因此,在代码段1的实例中,当对i切片进行译码时,根据对于i切片是否启用帧内bc,inittype变量具有不同的值。

在另一个实例中,视频译码器根据代码段1确定用于对i切片的位流中不存在并且不在使用帧内bc的语法元素进行cabac译码的inittype值。换句话说,仅仅对于对常规i切片不存在的语法元素(即没有帧内bc),像在代码段1中一样导出对应的变量inittype。对于其它语法元素,视频译码器可以将inittype的值设置成等于等于0。

在另一个实例中,当对于cu或pu启用帧内bc模式时,视频译码器可以允许i切片中的帧内和帧间预测两种模式。因此,视频解码器30可以使用帧内预测对图片的i切片的第一块进行解码,并且可以使用帧内bc模式对i切片的第二块进行解码。类似地,视频编码器20可以使用帧内预测对图片的i切片的第一块进行编码,并且可以使用帧内bc模式对i切片的第二块进行编码。以下伪码实例说明了这种可能性:

当不存在pred_mode_flag时,视频译码器如下对于x=x0…x0+ncbs-1和y=

y0..y0+ncbs-1导出变量cupredmode[x][y]:

-如果slice_type等于i并且intra_block_copy_enabled_flag等于0,则推断

cupredmode[x][y]等于mode_intra。

代码段2:cupredmode的修改形式

前述伪码修改了jctvc-q1003的区段7.4.9.5。带下划线的文字指示添加到jctvc-q1003的文字。如jctvc-q1003中定义的,pred_mode_flag是指示用于cu的预测模式(例如帧间预测(mode_inter)或帧内预测(mode_intra))的语法元素。因为在一些情况下可以推断cu的预测模式,所以视频译码器将预测模式加载到基于像素的位置编索引的阵列变量cupredmode中,而不是仅依靠pred_mode_flag值。因此,在代码段2中,cupredmode[x][y]指示图片中的位置(x,y)处的cu的预测模式。ncbs指示cu的译码块的大小。因此,在代码段2的实例中,当cu处于i切片中并且对于所述i切片启用帧内bc时,视频译码器能够推断cupredmode[x][y]的值(即,位置(x,y)处的cu的预测模式)是mode_intra。因此,视频编码器20无须用信号表示cu的pred_mode_flag语法元素。这样可以减小经编码视频数据的位速率。

作为视频译码器使用本发明的统一技术将帧内bc作为帧间预测处理的另一实例,经帧内bc译码的块可以与经帧间译码的块共享用于amvp或合并模式的相同的候选项列表。在这个实例中,所述候选项列表可以包含经帧内bc译码块和经帧间译码块两者。因此,视频编码器20和/或视频解码器30可以生成运动向量候选项列表,其包含用于帧内块复制模式编码块的至少一个运动向量候选项和用于帧间预测模式编码块的至少一个候选项。在一些实例中,帧内bc块可具有来自经帧间译码块的用于amvp或合并的单独的候选项列表。虽然预测模式是相同的,但是视频译码器可以通过检查用于当前块的参考图片是否为当前图片,借此区分帧内bc译码块与常规帧间译码块。

此外,本发明的特定技术还可通过修改参考列表构造过程来增强统一帧内bc和帧间模式。以下语言和伪码修改jctvc-q1003的区段8.3.4中的参考图片列表构造的解码过程,其中带下划线的文字指示添加到jctvc-q1003的文字:

对于每个p或b切片或当intra_block_copy_enabled_flag等于1时对于i切片,在解码过程开始时调用这个过程。

通过条款8.5.3.3.2中指定的参考索引寻址参考图片(参考图片选择过程)。参考索引是到参考图片列表中的索引。在解码p切片时,存在单一参考图片列表refpiclist0。在解码b切片时,存在除了refpiclist0之外的第二独立参考图片列表refpiclist1。

因此,前述语言用以在对于i切片启用帧内bc模式时允许修改参考图片过程。因此,在这个实例中,视频编码器20可以在对于i切片启用帧内bc时对于图片的i切片构造参考图片列表,参考图片列表包含所述图片。在类似实例中,视频解码器30可以从位流获得指示是否对于图片启用帧内bc的语法元素(例如intra_block_copy_enabled_flag)。在这个实例中,响应于基于所述语法元素确定对于图片启用帧内bc,视频解码器30可以构造包含图片的参考图片列表。

在一个实例中,当在intra_block_copy_enabled_flag等于1的情况下解码i切片时,视频解码器30可以仅仅使用一个参考图片列表。在另一个实例中,当在intra_block_copy_enabled_flag等于1的情况下解码i切片时,除了refpiclist0之外还可能存在第二独立参考图片列表refpiclist1。

在一些实例中,在每一切片的解码过程开始时,根据以下伪码导出参考图片列表refpiclist0并且对于b切片导出参考图片列表refpiclist1,其中带下划线的文字指示添加到jctvc-q1003的文字:

代码段3:refpiclist0的修改形式

因此,前述伪码修改了refpiclisttemp0变量,使得refpiclisttemp0[ridx]等于当前图片,其中ridx是refpiclisttemp0阵列中的最后一个索引的最大索引。在一些实例中,视频译码器在refpiclisttemp0的开头或者在长期参考图片之前添加当前图片。在一些实例中,视频译码器基于slice_type参数将当前图片添加到refpiclisttemp0。因此,在这些实例中,视频译码器可以基于切片是i切片、p切片还是b切片,在参考图片列表中包含第二参考图片列表中的长期图片之前的当前图片;或在参考图片列表中在参考图片列表中的一个位置处包含当前图片。因为可以使用更少的位来表示更小值的参考索引,所以期望更经常使用的参考图片具有更小值的参考索引。因此,相对于参考图片列表中的其它参考图片在参考图片列表中的更早位置包含当前图片,反映了将在帧内bc中比其它参考图片更经常地使用当前图片的假设。

作为另一实例,对于一个实例,对于i_slice,视频译码器将当前图片在refpiclisttemp0的开头添加到refpiclisttemp0中,并且对于p或b切片添加在长期参考图片的末尾。以下伪码说明此实例,其中带下划线的文字指示添加到jctvc-q1003的文字:

代码段4:参考图片列表构造的修改形式

作为另一实例,对于i切片,视频译码器将当前图片在开头添加到refpiclisttemp0,并且对于p或b切片将当前图片添加到长期参考图片之前。作为另一实例,将当前图片添加到refpiclisttemp0中的位置是基于当前图片的slice_type。

在一些实例中,视频译码器根据以下伪码基于refpiclisttemp0构造refpiclist0,其中带下划线的文字指示添加到jctvc-q1003的文字:

如下构造列表refpiclist0:

for(ridx=0;ridx<=num_ref_idx_l0_active_minus1;ridx++)

refpiclist0[ridx]=ref_pic_list_modification_flag_l0?

refpiclisttemp0[list_entry_l0[ridx]]:refpiclisttemp0[ridx](8-9)

当切片是b切片时,将变量numrpscurrtemplist1设定为等于max(num_ref_idx_l1_active_minus1+1,numpoctotalcurr)+incrementref且如下构造列表refpiclisttemp1:

在一些实例中,类似于以上用于refpiclisttemp1的过程,视频译码器可以基于当前图片的slice_type根据以下伪码和jctvc-q1003,区段8.3.4的标准语言将当前图片添加到refpiclisttemp1中,其中带下划线的文字指示添加到jctvc-q1003的文字:

当切片是b切片时,如下构造列表refpiclist1:

for(ridx=0;ridx<=num_ref_idx_l1_active_minus1;ridx++)(8-11)

refpiclist1[ridx]=ref_pic_list_modification_flag_l1?(8-11)

refpiclisttemp1[list_entry_l1[ridx]]:refpiclisttemp1[ridx]

其中currpic像8.5.3.3.2中一样是当前解码图片并且将具有当前图片的相同时间id

在一些实例中,可以如下修改用于确定jctvc-q1003的区段8.5.3.3.2的参考图片索引的参考图片选择过程,其中带下划线的文字指示添加到jctvc-q1003的文字:

此过程的输入是参考索引refidxlx。

此过程的输出是由明度样本的二维阵列refpiclxl及色度样本的两个二维阵列refpiclxcb及refpiclxcr组成的参考图片。

输出参考图片refpiclistx[refidxlx]由明度样本的pic_width_in_luma_samples乘pic_height_in_luma_samples阵列refpiclxl及色度样本的两个picwidthinsamplesc乘picheightinsamplesc阵列refpiclxcb及refpiclxcr组成。

参考图片样本阵列refpiclxl、refpiclxcb和refpiclxcr对应于对于先前解码图片或当前解码图片在条款8.7中或像在条款8.7中一样不使用环路内滤波器(解块和sao)导出的解码样本阵列sl、scb和scr。

当启用帧内bc和受限帧内预测两者时,用于帧内或帧内bc块的预测可以仅仅来自帧内块或帧间块,其中任何参考图片是当前图片。在受限帧内预测中,帧内预测仅仅使用来自使用帧内预测模式译码的邻近译码块的残余数据和解码样本。如jctvc-q1003中所述,在图片参数集合中用信号表示语法元素(例如constrained_intra_pred_flag)以指示是否在解码对于其图片参数集合有效的图片时使用受限帧内预测。因此,此实例,当对于切片启用帧内bc和受限帧内预测两者时,视频译码器可以使用帧间预测基于不同图片中的块向量或块的运动向量确定切片的块的块向量。

jctvc-q1003定义cu_skip_flag语法元素。根据本发明的实例,如下改变jctvc-q1003中定义的cu_skip_flag的语义:

cu_skip_flag[x0][y0]等于1指明对于当前译码单元,当解码p或b切片或intra_block_copy_enabled_flag等于1的i切片时,在cu_skip_flag[x0][y0]之后不再剖析更多的语法元素,除了合并候选项索引merge_idx[x0][y0]。

因此,在这个实例中,当对于其中启用帧内bc的i切片中的当前cu,cu_skip_flag是1时,视频编码器20的确用信号表示合并旗标语法元素、mvd语法元素、运动向量预测符旗标语法元素或帧间预测方向语法元素。此外,当对于其中启用帧内bc的i切片中的当前cu,cu_skip_flag是1时,视频编码器20不用信号表示用于当前cu的变换树。相反,视频译码器将合并候选项索引指示的合并候选项的运动信息所指示的预测性块当作当前cu的重构译码块。

qctvc-q1003定义切片段标头中的slice_temporal_mvp_enabled_flag。slice_temporal_mvp_enabled_flag指明是否可以对于帧间预测使用时间运动向量预测符。当intra_block_copy_enabled_flag等于0时在i切片中slice_temporal_mvp_enabled_flag等于0时,这对于图片的规范性解码过程没有影响,只是表达位流约束条件。

虽然是关于hevc描述与统一帧内块复制和帧间预测技术有关的本发明的技术,但是本发明的技术不限于hevc,并且可以适用于其中使用帧间预测和帧内bc或其类似物的任何视频译码系统中。

图4是图解说明可以实施本发明中描述的统一帧内bc和帧间预测技术的实例视频编码器20的框图。视频编码器20可执行视频切片内的视频块的帧内和帧间译码。帧内译码依赖于空间预测来减小或移除给定视频帧或图片内的视频的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(i模式)可指若干基于空间的压缩模式中的任一者。如上文所论述,视频编码器20可经配置以用多种帧内模式中的一或多种来译码视频数据,包含帧内dc模式、帧内成角模式、帧内平面模式和帧内bc模式。例如单向预测(p模式)或双向预测(b模式)的帧间模式可指若干基于时间的压缩模式中的任一者。

在图4的实例中,视频编码器20包含视频数据存储器40、预测处理单元41、解码图片缓冲器64、求和器50、变换处理单元52、量化单元54和熵编码单元56。预测处理单元41包含分割单元35、运动估计单元42、运动补偿单元44和帧内预测处理单元46。为了视频块重建,视频编码器20还包含逆量化单元58、逆变换处理单元60和求和器62。还可包含解块滤波器(图4中未展示)以滤波块边界以从经重建视频移除成块效应假影。如果需要,解块滤波器对求和器62的输出进行滤波。除了解块滤波器外,还可使用额外环路滤波器(环路中或环路后)。

视频数据存储器40可以存储有待通过视频编码器20的组件编码的视频数据。可以例如从视频源18获得存储于视频数据存储器40中的视频数据。解码图片缓冲器(dpb)64是存储参考视频数据以用于通过视频编码器20编码视频数据的缓冲器(例如用帧内或帧间译码模式,也称为帧内或帧间预测译码模式)。视频数据存储器40和dpb64可由多种存储器装置中的任一者形成,例如包含同步dram(sdram)的动态随机存取存储器(dram)、磁阻式ram(mram)、电阻式ram(rram),或其它类型的存储器装置。视频数据存储器40和dpb64可由同一存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器40可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。

如图4中所示,视频编码器20接收视频数据,且分割单元35将所述数据分割成视频块。此分割还可包含分割成切片、单元片或其它更大单元,以及例如根据lcu和cu的四叉树结构的视频块分割。视频编码器20一般说明编码待编码的视频切片内的视频块的组件。所述切片可以分成多个视频块(并且可能分成被称作单元片的视频块集合)。预测处理单元41可以基于误差结果(例如译码速率和失真水平)对于当前视频块选择多种可能译码模式中的一种,例如多种帧内译码模式中的一种或者多种帧间译码模式中的一种。预测处理单元41可经配置以实施本文所述的用于执行统一帧内bc帧内和帧间预测的本发明的技术。预测处理单元41可将所得的经帧内或帧间译码块提供到求和器50以产生残余块数据,且提供到求和器62以重构经编码块以用作参考图片。

预测处理单元41内的帧内预测处理单元46可相对于与待译码当前块在相同帧或切片中的一或多个相邻块执行当前视频块的帧内预测性译码,以提供空间压缩。预测处理单元41内的运动估计单元42及运动补偿单元44相对于一或多个参考图片中的一或多个预测性块执行当前视频块的帧间预测性译码以提供时间压缩。

运动估计单元42可经配置以根据视频序列的预定样式确定视频切片的帧间预测模式。预定样式可以指定序列中的视频切片为p切片、b切片或在一些实例中为gpb切片。运动估计单元42和运动补偿单元44可高度集成,但出于概念的目的分别加以说明。由运动估计单元42执行的运动估计为产生运动向量的过程,所述运动向量估计视频块的运动。举例来说,运动向量可以指示当前视频帧或图片内的视频块的pu相对于参考图片内的预测性块的移位。

预测性块是被发现在像素差方面与待译码视频块的pu密切匹配的块,所述像素差可通过绝对差总和(sad)、平方差总和(ssd)或其它差异度量来确定。在一些实例中,视频编码器20可计算存储于解码图片缓冲器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可相对于全像素位置和分数像素位置执行运动搜索并且输出具有分数像素精度的运动向量。

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

通过运动补偿单元44执行的运动补偿可以涉及基于通过运动估计(可能执行子像素精度的内插)确定的运动向量获取或产生预测性块。在接收到当前视频块的pu的运动向量后,运动补偿单元44可在参考图片列表中的一者中定位所述运动向量指向的预测性块。视频编码器20通过从正被译码的当前视频块的像素值减去预测性块的像素值来形成残余视频块,从而形成像素差值。像素差值形成用于所述块的残余数据,且可包含明度及色度差分量两者。求和器50表示执行此减法运算的一或多个组件。运动补偿单元44还可产生与视频块和视频切片相关联的语法元素以供视频解码器30在对视频切片的视频块解码时使用。

作为如上文所描述由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可以对当前块进行帧内预测。具体来说,帧内预测处理单元46可确定帧内预测模式(包含帧内bc模式)以用于编码当前块。在一些实例中,帧内预测处理单元46可(例如)在分开的编码遍次期间使用各种帧内预测模式来编码当前块,且帧内预测处理单元46(或在一些实例中为模式选择单元)可从所测试模式中选择适当的帧内预测模式来使用。

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

根据本发明的技术,如上文所述,视频编码器20可经配置以确定用于使用时间运动向量预测(tmvp)译码的经帧内块复制(帧内bc)译码块的运动向量,基于tmvp向量确定处于相同位置的块,响应于确定处于相同位置的块是经帧内bc译码的,使用具有整数像素精度的tmvp向量确定参考块,并且响应于确定处于相同位置的块是经帧间译码的,使用具有子像素精度的tmvp向量确定参考块。

根据本发明的技术,视频解码器可经配置以执行对于本文相对于视频编码器所述的任何过程总体上逆向的过程。同样,视频编码器可经配置以执行本文相对于视频解码器所述的任何过程的总体上逆向的过程。

在任何情况下,在选择用于块的帧内预测模式之后,帧内预测处理单元46可将指示用于所述块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可根据本发明的技术对指示选定帧内预测模式的信息进行编码。视频编码器20可在所传输的位流中包含配置数据,其可包含以下各者:多个帧内预测模式索引表及多个修改后的帧内预测模式索引表(还被称作码字映射表);各种块的编码上下文的定义;及待用于上下文中的每一者的最有可能的帧内预测模式、帧内预测模式索引表及修改后的帧内预测模式索引表的指示。

在预测处理单元41经由帧间预测或帧内预测产生当前块的预测性块之后,视频编码器20通过从当前块减去所述预测性块来形成残余块。残余块中的残余视频数据可包含于一或多个tu中,并可应用到变换处理单元52。变换处理单元52使用变换(例如,离散余弦变换(dct)或在概念上类似的转换)来将残余视频数据变换成残余变换系数。变换处理单元52可将残余视频数据从像素域转换到变换域,例如频域。

变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化所述变换系数以进一步减小位速率。量化过程可以减少与系数中的一些或全部相关联的位深度。可通过调节量化参数来修改量化的程度。在一些实例中,量化单元54可以接着执行对包含经量化的变换系数的矩阵的扫描。替代地,熵编码单元56可执行扫描。

在量化之后,熵编码单元56对经量化变换系数进行熵编码。举例来说,熵编码单元56可执行上下文自适应可变长度译码(cavlc)、上下文自适应二进制算术译码(cabac)、基于语法的上下文自适应二进制算术译码(sbac)、概率区间分割熵(pipe)译码或另一熵译码方法或技术。在由熵编码单元56熵编码之后,经编码位流可传输到视频解码器30,或经存档以供稍后由视频解码器30传输或检索。熵编码单元56还可对正译码的当前视频切片的运动向量和其他语法元素进行熵编码。

逆量化单元58和逆变换处理单元60分别应用逆量化和逆变换以在像素域中重构残余块以供稍后用作参考图片的参考块。运动补偿单元44可以通过将残余块添加到参考图片列表中的一者内的参考图片中的一者的预测性块中来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于经重构的残余块以计算子像素精度值以用于运动估计。求和器62将经重构残余块添加到由运动补偿单元44产生的运动补偿预测块,以产生经重构视频块以用于存储于解码图片缓冲器64中。所述参考块可由运动估计单元42及运动补偿单元44用作参考块以对后续视频帧或图片中的块进行帧间预测。

根据本发明的方面,视频编码器20可经配置以执行本发明中描述的技术的任何组合。

图5是图解说明可以实施本发明中所描述的统一帧内bc和帧间预测的技术的实例视频解码器30的框图。在图5的实例中,视频解码器30包含视频数据存储器79、熵解码单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、求和器90和解码图片缓冲器92。预测处理单元81包含运动补偿单元82和帧内预测处理单元84。在一些实例中,视频解码器30可以执行大体上与相对于来自图4的视频编码器20描述的编码遍次逆向的解码遍次。

视频数据存储器79可以存储待通过视频解码器30的组件进行解码的视频数据,例如经编码视频位流。存储在视频数据存储器79中的视频数据可以例如经由视频数据的有线或无线网络传送从存储装置34;从本地视频源(例如,相机)获得;或通过存取物理数据存储媒体来获得。视频数据存储器79可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(cpb)。解码图片缓冲器92是存储参考视频数据以供视频解码器30在解码视频数据(例如,在帧内或帧间译码模式中,也被称作帧内或帧间预测译码模式)时使用的解码图片缓冲器(dpb)的一个实例。视频数据存储器79和dpb92可由多种存储器装置中的任一者形成,例如包含同步dram(sdram)的动态随机存取存储器(dram)、磁阻式ram(mram)、电阻式ram(rram),或其它类型的存储器装置。视频数据存储器79和dpb92可由同一存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器79可与视频解码器30的其它组件一起在芯片上,或相对于所述组件在芯片外。

在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块和相关联的语法元素的经编码视频位流。视频解码器30的熵解码单元80对位流进行熵解码以产生经量化系数、运动向量和其它语法元素。熵解码单元80将运动向量及其它语法元素转发到预测处理单元81。视频解码器30可在视频切片水平和/或视频块水平接收语法元素。

当视频切片被译码为经帧内译码(i)切片时,预测处理单元81的帧内预测处理单元84可基于用信号表示的帧内预测模式和来自当前帧或图片的先前经解码块的数据而产生当前视频切片的视频块的预测数据。预测处理单元81可经配置以实施本发明的用于执行统一帧内bc和帧间预测的技术。当视频帧经译码为经帧间译码(即,b或p)切片时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动向量和其它语法元素产生当前视频切片的视频块的预测性块。所述预测性块可从参考图片列表中的一者内的参考图片中的一者产生。视频解码器30可以基于存储在解码图片缓冲器92中的参考图片使用默认构造技术构造参考帧列表:列表0和列表1。

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

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

逆量化单元86对在位流中提供且通过熵解码单元80解码的经量化变换系数进行逆量化,即解量化。逆量化过程可以包含将通过视频编码器20计算出的量化参数用于视频切片中的每一视频块以确定量化的程度,并且同样确定应该应用的逆量化的程度。逆变换处理单元88将逆变换,例如逆dct、逆整数变换或概念上类似的逆变换过程,应用于变换系数,以便产生像素域中的残余块。

在运动补偿单元82基于运动向量和其它语法元素产生用于当前视频块的预测性块之后,视频解码器30通过将来自逆变换处理单元88的残余块与由运动补偿单元82产生的相对应的预测性块求和而形成经解码视频块。求和器90表示执行此求和操作的组件。视需要,还可应用解块滤波器以对经解码块进行滤波,以便移除成块假影。还可使用其它环路滤波器(在译码环路中或在译码环路之后)来使像素转变变平滑或者以其它方式改善视频质量。接着将给定帧或图片中的经解码视频块存储在解码图片缓冲器92中,解码图片缓冲器92存储用于后续运动补偿的参考图片。解码图片缓冲器92还存储经解码视频以用于稍后呈现在显示装置(例如,图1的显示装置32)上。

根据本发明的方面,视频解码器30可经配置以执行本发明中描述的技术的任何组合。

图6是图解说明与本发明的技术一致的用于解码视频数据的实例过程的流程图。出于说明的目的总体上将图6的过程描述为通过视频解码器30执行,但是多种其它处理器也可执行图6中示出的过程。

在图6的实例中,视频解码器30可以在参考图片列表中包含(200)当前图片和参考图片,参考图片不同于当前图片。视频解码器30可以确定(202)参考图片的处于相同位置的块,所述处于相同位置的块与当前图片的当前块处于相同位置。视频解码器30可以从处于相同位置的块导出(204)时间运动向量预测符。视频解码器30可以确定(206)时间运动向量预测符具有子像素精度。视频解码器30可以将确定为具有子像素精度的时间运动向量预测符右移(208)。视频解码器30可以基于右移的时间运动向量预测符确定(210)当前图片内的预测性块。视频解码器30可以通过将残余块的样本与预测性块的对应样本求和而形成(212)经解码视频块。

图7是图解说明与本发明的技术一致的用于编码视频数据的实例过程的流程图。出于说明的目的总体上将图7的过程描述为通过视频编码器20执行,但是多种其它处理器也可执行图7中示出的过程。

在图7的实例中,视频编码器20可以在参考图片列表中包含(220)当前图片和参考图片,参考图片不同于当前图片。视频编码器20可以确定(222)参考图片的处于相同位置的块,处于相同位置的块与当前图片的当前块处于相同位置。视频编码器20可从处于相同位置的块导出(224)时间运动向量预测符。视频编码器20可确定(226)时间运动向量预测符具有子像素精度。视频编码器20可将确定具有子像素精度的时间运动向量预测符右移(228)。视频编码器20可基于右移的时间运动向量预测符确定(230)当前图片内的预测性块。视频编码器20可以生成(232)表示基于右移的时间运动向量预测符确定的预测性块与当前块之间的差异的残余数据。

本文中现在描述根据本发明的技术的各种实例。应理解,例如视频编码器20或视频解码器30的视频译码器可以执行以下实例。

实例1.一种对视频数据进行编码或解码的方法,所述方法包括:确定用于使用时间运动向量预测(tmvp)译码的帧内块复制(帧内bc)译码的块的运动向量;基于所述tmvp向量确定处于相同位置的块;响应于确定所述处于相同位置的块是帧内bc译码的,使用具有整数像素精度的所述tmvp向量确定参考块;以及响应于确定所述处于相同位置的块是帧间译码的,使用具有子整数像素精度的所述tmvp向量确定所述参考块。

实例2.实例1的方法,其进一步包括:基于所述参考块对所述帧内块复制译码块进行编码,或者基于所述参考块对所述帧内块复制译码块进行解码。

实例3.实例1的方法,其进一步包括:当所述tmvp向量具有子整数像素精度时,将所述tmvp运动向量右移。

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

响应于确定所述处于相同位置的块是帧内bc译码的,使用具有子整数像素精度的所述tmvp向量。

实例5.一种对视频数据进行编码或解码的方法,所述方法包括:对视频数据的i切片进行译码;以及基于是否对所述i切片的块启用帧内块复制模式,导出所述i切片的语法元素的inittype值;以及使用所述inittype变量确定用于对所述语法元素进行cabac译码的ctxidx值。

实例6.实例5的方法,其进一步包括:确定所述语法元素是否仅仅与帧内bc模式相关联;以及响应于确定所述语法元素仅仅与帧内bc模式相关联,将inittype设置成等于0。

实例7.实例5的方法,其进一步包括对所述语法元素进行cabac编码。

实例8.实例5的方法,其进一步包括对所述语法元素进行cabac解码。

实例9.实例5的方法,其进一步包括:

当对于所述i切片启用帧内bc模式时,允许对于所述i切片的帧内和帧间预测模式两者。

实例10.一种对视频数据进行编码或解码的方法,所述方法包括:对图片的切片进行译码,响应于确定启用帧内块复制(帧内bc)模式并且所述切片是i切片,或者响应于确定所述切片是p或b切片:当对于所述切片启用帧内bc模式时修改参考图片列表构造。

实例11.实例10的方法,其进一步包括:

当所述切片是i切片时并且当对于所述切片启用所述帧内bc模式时,仅仅使用一个参考图片列表。

实例12.实例10的方法,其进一步包括:

当所述切片是i切片时并且当对于所述切片启用所述帧内bc模式时,使用第二独立参考图片列表。

实例13.实例10的方法,其进一步包括:

在所述参考图片列表的末尾插入所述切片的当前图片。

实例14.实例10的方法,其进一步包括:

将所述切片的当前图片添加在所述参考图片列表的开头或在长期参考图片之前。

实例15.实例14的方法,其中所述切片是p切片或b切片。

实例16.实例10的方法,其进一步包括:

基于所述切片的切片类型将当前图片添加在所述参考图片列表的一个位置。

实例17.实例10的方法,其进一步包括:

基于所述当前图片的预测类型,将当前图片添加在所述参考图片列表的一个位置。

实例18.实例10的方法,其进一步包括:

从所述参考图片列表确定参考图片;以及当所述参考图片是先前解码图片或者所述图片时,放弃对于所述参考图片的环路内过滤、解块和样本自适应偏移。

实例19.实例10的方法,其进一步包括:对于所述图片的译码单元,确定对于所述译码单元启用帧内bc模式并且对于所述译码单元启用跳过模式;响应于确定对于所述译码单元启用跳过模式,在所述参考图片列表构造期间仅仅剖析合并候选语法元素。

实例20.实例10的方法,其进一步包括:

确定对于所述切片启用帧内bc模式;以及响应于确定对于所述切片启用帧内bc模式,确定不更改对于所述图片的解码过程。

实例21.实例10的方法,其进一步包括:

对所述参考图片列表进行编码。

实例22.实例10的方法,其进一步包括:对所述参考图片列表进行解码。在本发明的一个实例中,所述帧内预测模式包括帧内bc模式、帧内角度模式、帧内平面模式或帧内dc模式中的一或多者,并且当前视频数据块处于i切片、p切片或b切片中的任一者。

实例23.本发明中所描述的任何实例的任何组合。

在本发明的另一实例中,视频编码器20可以进一步经配置以确定所述一或多个参考块中的有待用作用于当前视频数据块的预测性块的特定参考块,使用帧内bc模式对当前视频数据块进行编码包括根据所述预测性块预测当前视频数据块。

应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可用不同顺序来执行,可添加、合并或全部省略所述动作或事件(例如,实践所述技术未必需要所有所描述动作或事件)。此外,在某些实例中,可(例如)通过多线程处理、中断处理或多个处理器同时而非依序地执行动作或事件。另外,虽然为了清晰起见而将本发明的某些方面描述为是通过单个模块或单元执行,但应理解,本发明的技术可通过与视频译码器相关联的单元或模块的组合予以执行。

根据本发明,在上下文并无其它指示的情况下,可将术语“或”推断为“和/或”。另外,虽然例如“一或多个”或“至少一个”等短语可能已用于本文所揭示的一些特征而不是其它特征;但在上下文并无其它指示的情况下,未针对其使用此类语言的特征可解释为暗含此类含义。

出于说明的目的已经相对于一或多种视频译码标准(例如hevc标准)描述了本发明的某些方面。然而,本发明中描述的技术可能可用于其它视频译码过程,包含其它标准或尚未开发或者仍在开发的专属视频译码过程。

本文所述的技术可由视频编码器20(例如图1和4)和/或视频解码器30(例如,图1和5)(其两者可通常被称作视频译码器)执行。同样,在适用时,视频译码可指视频编码或视频解码。

虽然在上文描述所述技术的各种方面的特定组合,但提供这些组合仅为了说明本发明中描述的技术的实例。因此,本发明的技术不应限于这些实例组合且可涵盖本发明中描述的技术的各种方面的任何可设想的组合。本发明中描述的技术可用任何组合一起使用。

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

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

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

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

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

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