用于低复杂度编码及后台检测的系统及方法与流程

文档序号:11892743阅读:390来源:国知局
用于低复杂度编码及后台检测的系统及方法与流程

本发明涉及视频编码。



背景技术:

数字视频能力可以并入到多种多样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、智能电话、视频电话会议装置、视频流式传输装置及其类似者。数字视频装置实施视频译码技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)、高效率视频译码(HEVC)定义的标准及这类标准的扩展中所描述的那些技术。视频装置可通过实施这类视频译码技术而更有效地发射、接收、编码、解码及/或存储数字视频信息。

视频译码技术包含空间(图片内)预测及/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码来说,视频切片(例如,视频帧或视频帧的一部分)可分割成视频块,视频块还可被称作树块、译码单元(CU)及/或译码节点。CU可进一步分割成一或多个预测单元(PU)以确定用于CU的预测性视频数据。视频压缩技术还可将CU分割成残余视频块数据的一或多个变换单元(TU),所述残余视频块数据表示待译码视频块与预测性视频数据之间的差。例如二维离散余弦变换(DCT)的线性变换可应用于TU以将残余视频块数据从像素域变换到频域以实现进一步压缩。此外,图片的经帧内译码(I)切片中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测来进行编码。图片的经帧间译码(P或B)切片中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测,或关于其它参考图片中的参考样本的时间预测。图片可被称为帧,且参考图片可被称为参考帧。

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

视频编码器可利用特定单元(例如,模式决定及/或运动估计单元)来编码视频信息。为了在最小化性能下降时加速处理,许多编码器使用预处理引擎以降低这些单元的复杂度。一种这类预处理引擎为“后台检测”,其可用于将视频帧中的静态(或“不改变”)内容(例如,后台内容)与改变(或“移动”)内容(例如,前台内容)区分开来。一旦已确定后台内容,编码器即可在编码那个内容时应用较低复杂度过程(例如,较低复杂度模式决定、较简单运动向量确定、较简单中断添加检查、较低运动估计过程等),这是因为编码后台帧可仅涉及将来自先前帧的适当块的内容复制到当前帧。在一些情况下,运动向量搜索的结果可为编码后台块的唯一需求。

现代视频编码器(例如,HEVC编码器)中的视频编码单元(例如,模式决定及运动估计单元)已变得更复杂并且为计算密集型。这些单元执行某些功能(例如,检测后台区域)所需的时间及计算资源已增加。一个原因是早期视频标准(例如AVC)仅利用至多8×8的变换大小。然而,更现代的HEVC标准利用高达16×16及32×32的正变换及逆变换大小。在分析块以检测其是否仅包含后台内容时,更大变换要求更多复杂度及循环。为了译码效率起见,当前标准将受益于降低后台检测方法的复杂度的过程。本文中所公开的技术的一些优点涉及在视频编码期间通过降低后台检测方法的复杂度来提高译码效率及减少计算资源需求,其随后可允许较不复杂的模式决定及运动估计。



技术实现要素:

一般来说,本发明描述与降低视频编码器(例如,HEVC视频编码器)检测后台内容所需的复杂度及减少所需循环相关的技术,所述技术可进一步简化视频编码器的整个模式决定及运动估计过程。所述技术可进一步解决与自适应地调整后台检测阈值有关的问题,从而允许视频编码器在节省计算资源的同时也保持视频质量。

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

本发明中所描述的标的物的一个方面提供一种包括经配置以存储视频块的存储器的视频编码器。所述视频编码器进一步包括与存储器通信的处理器。所述处理器经配置以通过比较视频块与位于先前时间帧中的对应块来确定所述视频块是否为后台。所述处理器经进一步配置以在视频块不是后台时通过比较视频块的一或多个子块与位于先前时间帧中的对应子块来确定所述子块是否为后台。

本发明中描述的标的物的另一方面提供一种编码视频的方法。所述方法包含存储视频块。所述方法进一步包含通过比较视频块与位于先前时间帧中的对应块来确定所述视频块是否为后台。所述方法进一步包含在视频块不是后台时通过比较视频块的一或多个子块与位于先前时间帧中的对应子块来确定所述子块是否为后台。

本发明中描述的标的物的另一方面提供一种非暂时性计算机可读媒体。所述媒体包括在经执行时使得设备存储视频块的代码。所述媒体进一步包括在经执行时使得设备通过比较视频块与位于先前时间帧中的对应块来确定所述视频块是否为后台的代码。所述媒体进一步包括在经执行时使得设备在视频块不是后台时通过比较视频块的一或多个子块与位于先前时间帧中的对应子块来确定所述子块是否为后台的代码。

本发明中描述的标的物的另一方面提供一种用于编码视频的设备。所述设备包括用于存储视频块的装置。所述设备进一步包括用于通过比较视频块与位于先前时间帧中的对应块来确定所述视频块是否为后台的装置。所述设备进一步包括用于在视频块不是后台时通过比较视频块的一或多个子块与位于先前时间帧中的对应子块来确定所述子块是否为后台的装置。

附图说明

图1是说明可利用根据本发明中所描述方面的技术的实例视频编码及解码系统的框图。

图2是说明可实施根据本发明中所描述方面的技术的视频编码器的实例的框图。

图3是说明可实施根据本发明中所描述方面的技术的视频解码器的实例的框图。

图4说明确定视频块或其子块是否含有后台内容的方法的流程图。

图5说明自适应地调整后台阈值以确定块是否为后台块的一种方法的流程图。

图式中所说明的各种特征可能未按比例绘制。因此,为了清楚起见,可任意扩大或减小各种特征的尺寸。此外,图式中的一些可能并未描绘给定系统、方法或装置的所有组件。最后,可贯穿说明书和图式使用相似参考数字表示相似特征。

具体实施方式

本发明中描述的技术通常涉及视频编码期间的正变换,特别是就高效率视频译码(HEVC)标准及其扩展来说。

视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual及ITU-T H.264(也被称为ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)及多视图视频译码(MVC)扩展。此外,存在一种新的视频译码标准,高效率视频译码(HEVC),其由ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合合作小组(JCT-VC)开发。

如上文所提及,HEVC标准利用大小高达32×32的正变换(例如,在HEVC编码器中)及逆变换,而AVC标准仅利用至多8×8的变换大小。在HEVC中,较大变换大小提高较大代码块的译码效率;然而,相较于较小变换大小,较大变换大小还增加复杂度、计算循环及处理时间(例如,当检测后台区域时)。本发明中所描述的方法可降低检测后台内容所需的增加的复杂度及循环。

在一些实施方案中,检测后台内容可允许整体较不复杂的模式决定及运动估计,这是因为视频编码器可经配置以在处理与前台区域相对的后台区域时简化模式决定及运动估计,如下文关于图4至5进一步描述。视频编码器可进一步经配置以使用来自先前帧的距离度量值自适应地调整后台检测的阈值。通过系统地检测后台区域并且自适应地调整后台检测阈值,本发明中所描述的方法可允许视频编码器在节省计算资源的同时也保持视频质量。

在使用基于块的处理(例如,HEVC,其中视频帧可分割成视频块或译码单元)的视频编解码器中,可从原始像素减去预测块或预测单元(例如,来自帧间预测或帧内预测)。如上文进一步解释,这类残余数据可随后使用正变换(例如,离散余弦变换)变换为残余变换系数,经量化且经熵编码(例如,以实现进一步压缩)。可使用下文进一步描述的各种熵译码引擎(例如,CAVLC、CABAC等)来执行熵编码。然后,且如下文也进一步描述,解码器可随后对系数进行熵解码、解量化及逆变换。最终,系数可加回到预测块以形成经重建像素。

在视频译码的一个实施例中,可首先使用经重建的在时间上及/或空间上相邻的块中的像素来预测图像块。可随后对预测误差(有时被称作“残余”)进行变换及量化。举例来说,如果S为大小N×N的残余块,那么可如下使用矩阵乘法导出经变换块K:

K=A*S*B

其中K、A及B也具有大小N×N。A为垂直变换矩阵,且B为水平变换矩阵。在一些实施例中,A及B是彼此的转置(例如,B=A',其中“'”意指转置)。在其它实施例中,A及B不是彼此的转置。当A及B是彼此的转置时,先前方程变为:

K=A*S*A'

每一变换(A及B)可包含多种变换中的任一者。在一些实施例中,变换包含离散余弦变换(DCT)、离散正弦变换(DST)、哈达玛(Hadamard)变换、哈尔(Haar)变换等中的一者。

在SVC扩展中,可存在多个视频信息层。底层可充当基础层(BL),且顶层可充当增强型层(EL)或“增强层”。顶层与底层之间的所有层可充当EL或BL中的任一者或两者。SVC可用于提供质量可缩放性(或信噪比,SNR)、空间可缩放性及/或时间可缩放性。增强型层可具有与基础层不同的空间分辨率。可使用针对SVC提供的不同层来执行当前块的预测。此预测可被称为层间预测。可在SVC中利用层间预测方法以便减少层间冗余。层间预测的一些实例可包含层间帧内预测、层间运动预测及层间残余预测。层间帧内预测使用基础层中相同位置处的块的重建来预测增强层中的当前块。层间运动预测使用基础层的运动来预测增强层中的运动。层间残余预测使用基础层的残余来预测增强层的残余。被称作“帧内BL模式”的用于增强层的一种特定译码模式包含可使用基础层中的对应(有时被称作“相同位置”,例如,位于相同空间位置处)块的纹理来预测的纹理。

在层间残余预测中,基础层的残余可用于预测增强层中的当前块。可将所述残余定义为对视频单元的时间预测与源视频单元之间的差。在残余预测中,也在预测当前块时考虑基础层的残余。举例来说,可使用来自增强层的残余、来自增强层的时间预测及来自基础层的残余来重建当前块。可根据以下方程重建当前块:

<mrow> <mover> <mi>I</mi> <mo>^</mo> </mover> <mi>e</mi> <mo>=</mo> <mi>r</mi> <mi>e</mi> <mo>+</mo> <mi>P</mi> <mi>e</mi> <mo>+</mo> <mi>r</mi> <mi>b</mi> </mrow>

其中表示当前块的重建,re表示来自增强层的残余,Pe表示来自增强层的时间预测,且rb表示来自基础层的残余预测。

对于使用差域的帧间译码,基于增强层参考图片中的对应经预测块样本与经缩放基础层参考图片中的对应经预测块样本之间的差值来确定当前经预测块。所述差值可被称为差预测块。将相同位置处的基础层经重建样本添加到差预测块以便获得增强层预测样本。

为了将层间残余预测用于增强层中的宏块(MB),基础层中相同位置处的宏块应为帧间MB,且相同位置的基础层宏块的残余可根据增强层的空间分辨比率经上取样。在层间残余预测中,可在位流中译码增强层的残余与经上取样基础层的残余之间的差。可基于基础层及增强层的量化步长之间的比来归一化基础层的残余。

一般来说,如下通过将当前块的时间预测与残余相加来执行运动补偿:

<mrow> <mover> <mi>I</mi> <mo>^</mo> </mover> <mo>=</mo> <mi>r</mi> <mo>+</mo> <mi>P</mi> </mrow>

其中表示当前帧,r表示残余,且P表示时间预测。在单环路解码中,可用单一运动补偿环路来解码每一所支持层。为了实现这种情况,使用受约束的帧内预测来译码用于对较高层进行层间帧内预测的所有层。在受约束的帧内预测中,在不参考来自相邻经帧间译码MB的任何样本的情况下对帧内模式MB进行帧内译码。另一方面,HEVC允许用于SVC的多环路解码,其中可使用多个运动补偿环路来解码SVC层。举例来说,可首先完全解码基础层,且随后可解码增强层。

如上文所描述的残余预测可为H.264SVC扩展中的有效技术。然而,其性能可在HEVC SVC扩展中得到进一步改善,尤其是在多环路解码用于HEVC SVC扩展中时。

在多环路解码的情况下,可使用差域运动补偿来替代残余预测。在SVC中,可使用像素域译码或差域译码来译码增强层。在像素域译码中,对于非SVC HEVC层,可译码增强层像素的输入像素。另一方面,在差域译码中,可译码增强层的差值。所述差值可为增强层的输入像素与对应的经缩放基础层经重建像素之间的差。此些差值可用于差域运动补偿的运动补偿中。

对于使用差域的帧间译码,基于增强层参考图片中的对应经预测块样本与经缩放基础层参考图片中的对应经预测块样本之间的差值来确定当前经预测块。所述差值可被称为差预测块。将相同位置处的基础层经重建样本添加到差预测块以便获得增强层预测样本。

然而,由于运动估计及运动补偿常常用于像素域及差域两者,因此在层间预测中使用差域运动补偿会引入两组运动估计及运动补偿。引入两组运动估计及运动补偿可导致较高的缓冲器及计算成本,这对于编码器或解码器来说可能不实用。另外,译码两组运动向量可降低译码效率,因为当两组运动向量具有不同性质且在译码单元(CU)层级处交错时,运动场可变得不规则。此外,差域中的运动估计需要基础层及增强层共享相同运动。此外,由于两个层之间的差分图片的导出是基于每一层的完全经重建图片,因此差域运动补偿不与单环路解码一起工作。

本发明中描述的技术可解决与降低检测后台内容所需的复杂度及减少所需循环有关的问题,所述技术可进一步简化视频编码器的整个模式决定及运动估计过程。所述技术可进一步解决与自适应地调整后台检测阈值有关的问题,从而允许视频编码器在节省计算资源的同时也保持视频质量。

下文参考附图更充分地描述新颖系统、设备及方法的各种方面。然而,本发明可以许多不同形式来体现,且不应被解释为限于贯穿本发明所呈现的任何特定结构或功能。实际上,提供这些方面以使得本发明将透彻且完整,并且将向所属领域的技术人员充分传达本发明的范围。基于本文中的教示,所属领域的技术人员应了解,本发明的范围既定涵盖无论是独立于本发明的任何其它方面而实施还是与之组合而实施的本文中所公开的新颖系统、设备及方法的任何方面。举例来说,可使用本文中所阐述的任何数目个方面来实施设备或实践方法。另外,本发明的范围既定涵盖使用其它结构、功能性或除本文中所阐述的本发明的各种方面之外的或不同于本文中所阐述的本发明的各种方面的结构及功能性来实践的此类设备或方法。应理解,可通过权利要求书的一或多个要素来体现本文中所公开的任何方面。

尽管本文中描述特定方面,但这些方面的许多变化及排列在本发明的范围内。尽管提及了优选方面的一些益处及优点,但本发明的范围并非既定限于特定益处、用途或目标。实际上,本发明的方面既定广泛地适用于不同无线技术、系统配置、网络及发射协议,其中的一些借助于实例在图式中以及在优选方面的以下描述中加以说明。详细描述及图式仅说明本发明,而不是限制由所附权利要求书及其等效者定义的本发明的范围。

图1是说明可利用根据本发明中所描述方面的技术的实例视频编码及解码系统的框图。如图1中所展示,视频编码及解码系统10包含源装置12,所述源装置提供稍后待由目的地装置14解码的经编码视频数据。确切地说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12及目的地装置14可包括各种各样的装置中的任一者,包含桌上型计算机、笔记本型(例如,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如,智能电话)、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置等。在一些情况下,源装置12及目的地装置14可经装备以用于无线通信。

如上文所提及,目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,计算机可读媒体16可包括通信媒体(未描画),以使得源装置12能够实时地将经编码视频数据直接发射到目的地装置14。经编码视频数据可根据通信标准(例如,无线通信协议)来调制,且被发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理发射线。通信媒体还可形成分组网络(例如,局域网、广域网或全球网络(例如因特网))的部分。通信媒体可包含路由器、交换机、基站或可用于促进从源装置12到目的地装置14的通信的任何其它设备。

在一些实例中,经编码数据可从输出接口22输出到存储装置(未描画)。类似地,可通过输入接口28从存储装置接入经编码数据。存储装置可包含多种分布式或本地接入式数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、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及目的地装置14可包含其它组件或布置。举例来说,源装置12可从外部视频源(例如,外部相机)接收视频数据。同样,目的地装置14可与外部显示装置介接,而不是集成式显示装置32。

尽管本发明的技术通常由视频编码装置来执行,但是所述技术也可通过视频编码器/解码器(通常被称作“编解码器”)执行。此外,本发明的技术还可以通过视频预处理器来执行。源装置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使用,所述语法信息可包含描述块及其它经译码单元的特性及/或处理的语法元素。显示装置32可将经解码视频数据显示给用户,且可包括多种显示装置(例如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置)中的任一者。

视频编码器20及视频解码器30可根据视频译码标准操作,所述视频译码标准例如高效率视频译码(HEVC)标准或其变体(例如,HEVC测试模型(HM))中的任一者。替代地,视频编码器20及视频解码器30可根据其它专有或行业标准(例如ITU-T H.264标准(MPEG-4)第10部分高级视频译码(AVC)、ITU-T H.263、ITU-T H.262(ISO/IEC MPEG-2Visual)、ISO/IEC MPEG-1Visual、ITU-T H.261或任何此些标准的扩展)操作。在一些方面中,视频编码器20及视频解码器30可与音频编码器、音频解码器、多路复用器-多路分用器单元(未描画)或其它硬件及软件集成在一起,以处置共同数据流或单独数据流中的音频及视频两者的编码。

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

HEVC标准指定视频帧或图片可划分成包含明度样本及色度样本两者的一系列树块或最大译码单元(LCU)。位流内的语法数据可以定义LCU(就像素数目来说,其为最大译码单元)的大小。切片包含按译码次序的多个连续树块。视频帧或图片可以被分割成一或多个切片。每一树块可根据四叉树分裂成译码单元(CU)。一般来说,四叉树数据结构包含每CU一个节点,其中根节点对应于树块。如果CU分裂成四个子CU,那么对应于CU的节点包含四个叶节点,所述叶节点中的每一者对应于所述子CU中的一者。

四叉树数据结构的每一节点可提供用于对应CU的语法数据。举例来说,四叉树中的节点可包含分裂旗标,所述分裂旗标指示对应于节点的CU是否分裂成子CU。用于CU的语法元素可递归地加以定义,且可取决于CU是否分裂成子CU。如果CU未进一步分裂,那么将其称作叶CU。在本发明中,叶CU的四个子CU也将被称作叶CU,即使不存在原始叶CU的明确分裂时也如此。举例来说,如果16×16大小的CU未进一步分裂,那么尽管16×16CU从未分裂,但四个8×8子CU也将被称作叶CU。

CU具有与H.264标准的宏块类似的目的,除了CU不具有大小区别。举例来说,树块可以分裂成四个子节点(也被称作子CU),且每一子节点可又是父节点并且分裂成另外四个子节点。最终的未经分裂子节点(被称作四叉树的叶节点)包括译码节点,也被称作叶CU。与经译码位流相关联的语法数据可以定义树块可以分裂的最大次数(被称作最大CU深度),并且还可定义译码节点的最小大小。因此,位流还可定义最小译码单元(SCU)。本发明使用术语“块”来指HEVC的上下文中的CU、PU或TU中的任一者,或者其它标准的上下文中的类似数据结构(例如,H.264/AVC中的宏块及其子块)。

CU包含译码节点以及与所述译码节点相关联的预测单元(PU)及变换单元(TU)。CU的大小对应于译码节点的大小且形状必须是正方形。CU的大小可在8×8像素至具有最大值64×64像素或在一些情况下更大的树块大小的范围内。每一CU可含有一或多个PU及一或多个TU。与CU相关联的语法数据可描述(例如)将CU分割成一或多个PU。分割模式可在CU被跳过还是经直接模式编码、经帧内预测模式编码还是经帧间预测模式编码之间不同。PU可分割成非正方形形状。与CU相关联的语法数据还可描述(例如)根据四叉树将CU分割成一或多个TU。TU可为正方形或非正方形(例如,矩形)形状。

HEVC标准允许根据TU变换,所述变换可以针对不同CU而有所不同。TU的大小通常是基于针对经分割LCU定义的给定CU内的PU的大小来设定,但是情况可能并非始终如此。TU通常与PU大小相同或小于PU。在一些实例中,可以使用一种被称为“残余四叉树”(RQT)的四叉树结构将对应于CU的残余样本细分成较小单元。RQT的叶节点可被称作变换单元(TU)。可以变换与TU相关联的像素差值以产生变换系数,可对所述变换系数进行量化。

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

具有一或多个PU的叶CU还可包含一或多个变换单元(TU)。可使用RQT(也被称作TU四叉树结构)来指定变换单元,如上文所论述。举例来说,分裂旗标可以指示叶CU是否分裂成四个变换单元。接着,每一变换单元可以进一步分裂成更多子TU。当TU未进一步分裂时,其可被称作叶TU。一般来说,对于帧内译码,属于叶CU的所有叶TU共享相同的帧内预测模式。也就是说,通常应用相同的帧内预测模式来计算叶CU的所有TU的预测值。对于帧内译码,视频编码器可以使用帧内预测模式将每一叶TU的残余值计算为CU对应于TU的部分与原始块之间的差。TU未必限于PU的大小。因而,TU可比PU大或小。对于帧内译码,PU可与相同CU的对应叶TU处于相同位置。在一些实例中,叶TU的最大大小可对应于对应叶CU的大小。

此外,叶CU的TU还可与相应的四叉树数据结构(被称作残余四叉树(RQT))相关联。也就是说,叶CU可包含指示叶CU分割成TU的方式的四叉树。TU四叉树的根节点通常对应于叶CU,而CU四叉树的根节点通常对应于树块(或LCU)。RQT的未分裂的TU被称作叶TU。一般来说,除非另有指出,否则本发明分别使用术语CU及TU来指叶CU及叶TU。

视频序列通常包含一系列视频帧或图片。图片群组(GOP)通常包括一系列视频图片中的一或多者。GOP可包含GOP的标头、图片中的一或多者的标头或其它地方中的语法数据,所述语法数据描述GOP中包含的多个图片。图片的每一切片可包含描述用于相应切片的编码模式的切片语法数据。图1的视频编码器20可对个别视频切片内的视频块进行操作以便编码视频数据。视频块可对应于CU内的译码节点。视频块可具有固定或变化的大小,且可根据指定的译码标准而大小不同。

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×2N CU,其中顶部为2N×0.5N PU,且底部为2N×1.5N PU。

在本发明中,“N×N”与“N乘N”可互换使用以指就垂直及水平尺寸来说的视频块的像素尺寸,例如,16×16像素或16乘16像素。一般来说,16×16块将在垂直方向上具有16个像素(y=16),且在水平方向上具有16个像素(x=16)。类似地,N×N块可在垂直方向上具有N个像素,且在水平方向上具有N个像素,其中N表示非负整数值。块中的像素可布置成行及列。此外,块可能不一定在水平方向与垂直方向上具有相同数目的像素。举例来说,块可包括N×M个像素,其中M不一定等于N。

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

在用于产生变换系数的任何变换之后,视频编码器20可执行变换系数的量化。量化为希望具有其最广泛普通意义的广义术语。在一个实施例中,量化是指变换系数经量化以可能地减少用于表示系数的数据量从而提供进一步压缩的过程。量化过程可减小与系数中的一些或全部相关联的位深度。举例来说,n位值可在量化期间被向下舍入到m位值,其中n大于m。

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

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

图2是说明可实施下文所描述的技术(包含下文图4及5中所描述的方法)中的任一者的视频编码器的实例的框图。视频编码器20的单元中的一或多者可经配置以执行本发明的技术中的任一者或全部。作为一个实例,变换处理单元52及逆变换单元60可经配置以执行本发明中描述的变换技术中的任一者或全部。然而,本发明的各方面不限于此。在一些实例中,本发明中所描述的技术可在视频编码器20的各种组件间共享。在一些实例中,处理器(未图示)可经配置以执行本发明中描述的技术中的任一者或全部。

视频编码器20可对视频切片内的视频块执行帧内译码及帧间译码。帧内译码依赖于空间预测来减少或移除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的邻接帧或图片内的视频中的时间冗余。帧内模式(I模式)可以指若干基于空间的译码模式中的任一者。例如单向预测(P模式)或双向预测(B模式)的帧间模式可以指若干基于时间的译码模式中的任一者。

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

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

此外,分割单元48可基于对先前译码遍次中的先前分割方案的评估将视频数据块分割成子块。举例来说,分割单元48可首先将帧或切片分割成LCU,且基于率失真分析(例如,率失真优化)将LCU中的每一者分割成子CU。模式选择单元40可进一步产生指示LCU分割成子CU的四叉树数据结构。四叉树的叶节点CU可以包含一或多个PU及一或多个TU。

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

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

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

运动补偿单元44执行的运动补偿可涉及基于由运动估计单元42确定的运动向量来提取或产生预测性块。此外,在一些实例中,运动估计单元42及运动补偿单元44可在功能上集成。在接收到当前视频块的PU的运动向量后,运动补偿单元44即可在参考图片列表中的一者中定位所述运动向量所指向的预测性块。求和器50可通过从经译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块,如下文所论述。运动估计单元42可相对于明度分量执行运动估计,且运动补偿单元44可针对色度分量及明度分量两者使用基于明度分量计算的运动向量。模式选择单元40还可产生与视频块及视频切片相关联的语法元素,以供视频解码器30在解码视频切片的视频块时使用。语法元素可表示处于视频序列层级、视频帧层级、视频切片层级、视频CU层级或视频PU层级中的一或多者处的预测信息。举例来说,运动补偿单元44可产生指示包含CU、PU及TU的大小的视频块信息及用于帧内模式预测的运动向量信息的语法元素。

如上文所述,在现代视频编码中(例如,在HEVC中),模式决定及运动估计模块(例如,分别由模式选择单元40及运动估计单元42执行)已变得更复杂且为计算密集型。为了降低这个问题的影响,变换处理单元52可进一步经配置以执行上文及下文关于降低视频编码器20检测后台内容所需的复杂度及减少所需循环所描述的方法中的任一者,所述方法可进一步简化由模式选择单元40及/或运动估计单元42执行的过程。

如下文进一步描述,本发明中所描述的检测后台的方法可由编码器20的任一单元执行,包含(但不限于)变换处理单元52。在一个实施例中,变换处理单元52确定且利用当前帧(或图片)中的初始块值与在时间上相邻的帧(或图片)中的块值(例如,空间上位于相同位置的块)之间的距离度量值,如下文相对于图4进一步描述。

作为实例,变换处理单元52可通过对64×64CU内的所有8×8CU的SAD进行求和来确定64×64CU的SAD。变换处理单元52可随后比较64×64块的SAD与后台阈值,以确定64×64是否为后台。在另一实施例中,变换处理单元52可经进一步配置以通过比较当前块与先前块的距离度量值来自适应地调整后台阈值。如果变换处理单元52确定CU为后台,那么视频编码器20可针对那个CU降低其模式决定及运动估计的复杂度。以此方式,变换处理单元52、模式选择单元40及/或运动估计单元42可减少其计算时间且降低其计算复杂度,同时还维持视频质量。这个过程在图4至5中进一步加以描述及展现。

在上文所描述的实例中,变换处理单元52经配置以在确定64×64CU为后台之后降低其模式决定及运动估计复杂度。在其它情况下,如果变换处理单元52并未确定64×64CU为后台,那么所述变换处理单元可经进一步配置以识别64×64CU内的子块(例如,四个32×32子块)并且确定每一子块是否为后台。此外,在一些情况下,变换处理单元52可经配置以识别子块内的其它子块(例如,每一32×32块内的四个16×16子块、每一16×16块内的四个8×8子块等)以识别后台子块,所述后台子块中的一些可具有与其它子块不同大小。

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

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

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

视频编码器20通过从经译码的原始视频块减去来自模式选择单元40的预测数据而形成残余视频块。求和器50可执行此减法运算。变换处理单元52可将变换(例如离散余弦变换(DCT)或概念上类似的变换)应用于残余块,从而产生包括残余变换系数值的视频块。变换处理单元52可执行概念上类似于DCT的其它变换。也可使用小波变换、整数变换、子带变换或其它类型的变换。变换处理单元52可随后将变换应用于残余块,从而产生残余变换系数的块。所述变换可将残余信息从像素值域转换到变换域,例如频域。更确切地说,在应用变换之前,TU可包括像素域中的残余视频数据,并且在应用变换之后,TU可包括表示频域中的残余视频数据的变换系数。

常规地,视频编码器20保持用于所实施视频压缩标准支持的不同TU大小中的每一者的单独上下文模型。对于HEVC标准,可使用额外变换单元大小(例如,32×32到128×128)来提高视频译码效率,但是额外TU大小也导致增加的存储器及计算要求以保持用于额外变换单元大小中的每一者的上下文模型。在一些情况下,更大TU大小可使用更多上下文,所述上下文可导致增加的存储器及计算要求以保持用于更大TU大小的增大数目个上下文。

变换单元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包含熵解码单元70、预测单元81(其进一步包含运动补偿单元72及帧内预测单元74)、逆量化单元76、逆变换单元78、参考帧存储器82及求和器80。视频解码器30可执行通常与关于视频编码器20(例如,参见图1及图2)描述的编码遍次互逆的解码遍次。运动补偿单元72可基于从熵解码单元70接收的运动向量产生预测数据,而帧内预测单元74可基于从熵解码单元70接收的帧内预测模式指示符而产生预测数据。

常规地,视频解码器30将保持用于所实施视频压缩标准支持的不同TU大小中的每一者的单独上下文模型。对于HEVC标准,可利用额外变换单元大小(例如,32×32到128×128)来提高视频译码效率,但是额外TU大小也导致增加的存储器及计算要求以保持用于额外变换单元大小中的每一者的上下文模型。

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

当视频切片经译码为经帧内译码(I)切片时,帧内预测单元74可基于所传信的帧内预测模式及来自当前帧或图片的先前经解码块的数据产生当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码(例如,B、P或GPB)切片时,运动补偿单元72可基于从熵解码单元70接收的运动向量及其它语法元素产生当前视频切片的视频块的预测性块。预测性块可以从参考图片列表中的一者内的参考图片中的一者产生。视频解码器30可基于存储在参考帧存储器82中的参考图片使用默认建构技术建构参考帧列表,列表0及列表1。运动补偿单元72可通过剖析运动向量及其它语法元素而确定用于当前视频切片的视频块的预测信息,并且使用所述预测信息产生正经解码的当前视频块的预测性块。举例来说,运动补偿单元72可使用所接收语法元素中的一些确定用于对视频切片的视频块进行译码的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的参考图片列表中的一或多者的建构信息、切片的每一经帧间编码视频块的运动向量、切片的每一经帧间译码视频块的帧间预测状态及用于对当前视频切片中的视频块进行解码的其它信息。

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

逆量化单元76可对在位流中提供且由熵解码单元70解码的经量化变换系数进行逆量化,例如解量化。逆量化过程可包含使用视频解码器30针对视频切片中的每一视频块计算的量化参数QPY以确定应应用的量化程度,且类似地确定逆量化程度。

逆变换单元78可对变换系数应用逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程),以便产生像素域中的残余块。在运动补偿单元72基于运动向量及其它语法元素产生当前视频块的预测性块之后,视频解码器30可通过对来自逆变换单元78的残余块与由运动补偿单元72产生的对应预测性块进行求和来形成经解码视频块。求和器80可执行此求和运算。还可应用解块滤波器以对经解码块进行滤波,以便移除成块假象。其它环路滤波器(在译码环路中或在译码环路之后)也可用于使像素转换平滑或以其它方式改善视频质量。给定帧或图片中的经解码视频块可随后存储于参考图片存储器82中,所述参考图片存储器可存储用于后续运动补偿的参考图片。参考帧存储器82还可存储经解码视频以供稍后在显示装置(例如,图1的显示装置32)上呈现。

图4说明确定视频块或其子块是否含有后台内容的方法400的流程图。可由处理器或视频编码器(包含但不限于上文关于图2所论述的视频编码器20)执行方法400。在一些实施例中,由变换处理单元(例如(但不限于)图2的变换处理单元52)执行方法400。另外,尽管在由变换处理单元执行的上下文内描述方法400,但应理解,这仅出于说明的目的且并不以任何方式限制本发明。

如上文所描述,通过将视频块或视频块的子块识别为后台区域,变换处理单元52可针对后台块降低模式决定过程(例如,由图2的模式选择单元40执行的模式决定过程)及/或运动估计过程(例如,由图2的运动估计单元42执行的运动估计过程)的复杂度。

首先,方法400在框405处开始。随后,在框410处,变换处理单元52可识别初始视频块以便分析。在一个实施方案中,初始视频块可为64×64CU(或任何其它大小的块)。

随后,在框415处,变换处理单元52可确定视频块是否为后台。为了实现此情形,如上文关于图2所论述,变换处理单元52可确定及利用视频块的距离度量值,并且比较所述距离度量值与后台阈值。距离度量值可提供对视频块内的视频信息从先前帧变为当前帧的程度的指示。举例来说,如果视频信息根本未改变或改变极少,那么距离度量值可为零或接近零。在一个实施例中,距离度量值可为绝对差总和(SAD),其可指示像素信息从一个帧到下一帧的改变。在一个实施例中,可通过对块的个别较小CU(例如,其8×8CU)的SAD进行求和来确定较大CU的SAD。在另一实施例中,距离度量值可为平方误差的总和,其可进一步指示像素信息从一个帧到下一帧的改变。距离度量值还可以基于像素信息从一个帧到下一帧的改变的任何其它指示。

为提高译码效率,变换处理单元52可对与视频块(例如,其8×8CU)的个别较小译码单元(CU)相关联的距离度量单元(例如,SAD)进行求和,且随后比较所述总和与后台阈值。如果距离度量值小于后台阈值,那么变换处理单元52可将所述视频块分类为后台。如果距离度量值大于或等于后台阈值,那么变换处理单元52可将所述视频块分类为前台(例如,不将所述视频块分类为后台)。

在一个实例中,变换处理单元52可通过对64×64CU内的所有8×8CU的SAD进行求和来确定64×64CU的SAD。变换处理单元52可随后比较所述SAD与后台阈值,以确定64×64CU是否为后台。在一个实施方案中,后台阈值可为预定值。在另一实施例中,变换处理单元52可经进一步配置以通过比较当前块与先前块的距离度量值而自适应地调整后台阈值,如关于图5进一步描述。

如果变换处理单元52确定视频块为后台,那么视频编码器20可针对所述块降低其模式决定及运动估计的复杂度。举例来说,运动估计单元42可经配置以针对后台块使用多种不同方式简化运动估计。举例来说,运动估计单元42可针对后台块搜索更小数目个参考帧。为了搜索更小数目个参考帧,运动估计单元42可实施以下方法中的一或多者:(1)仅搜索参考帧0;(2)搜索先前帧的预定义更小范围(例如,更小半径)的帧;(3)使用仅预测子搜索;(4)条件性地跳过搜索半像素及/或四分之一像素;或(5)用于搜索更小数目个参考帧的任何其它方法。

在一个实施例中,当运动估计单元42使用仅预测子搜索以降低后台块的运动估计的复杂度时,运动估计单元42可在搜索第一预测子(例如,空间及/或时间预测子)之后停止搜索细化。另一方面,对于前台块,运动估计单元42可搜索相邻块运动向量,分析其预测子结果以用于最佳匹配,随后以此方式进一步细化其搜索直到获得足够结果。

在一个实施例中,当运动估计单元42条件性地跳过搜索半像素及/或四分之一像素以降低后台块的运动估计的复杂度时,运动估计单元42可从后台块的当前帧中的相邻块产生运动向量预测子。那些预测子可随后用于来自先前帧的相同位置处的块。随后可应用每一预测子来寻找最适当的测试块且比较相同位置处的块与当前帧以确定哪一者最接近。另一方面,对于前台块,运动估计单元42可首先将其中心点置于整数像素地点中心,随后搜索多个(例如,九个)以线性方式内插的半像素位置,且随后进一步利用对应数目个以线性方式内插的四分之一像素位置细化其搜索。

作为降低后台块的编码复杂度的另一实例,如果变换处理单元52确定视频块为后台,那么模式选择单元40可经配置以多种不同方式简化模式决定。举例来说,模式选择单元40可跳过帧内模式决定而前进。作为另一实例,模式选择单元40可针对后台块内的更小块更快速地识别CU大小及跳过模式决定。作为实例,如果确定32×32块为后台,那么模式选择单元40可指示视频编码器20针对32×32块内小于32×32的任何块跳过模式决定。作为另一实例,为了简化模式决定,模式选择单元40可测试更小数目个合并候选者。合并候选者可指搜索先前帧的各种块以确定相邻块的运动向量的模式决定过程。对于前台视频块,此搜索及确定可出现五次或五次以上。对于后台视频块,本发明中所描述的方法可仅执行一个或两个搜索及确定。

在任何情况下,如果在框415处,变换处理单元52确定视频块为后台,那么方法400进行到框490并且结束。然而,如果在框416处,变换处理单元52确定视频块不是后台,那么方法400进行到框420。在框420处,变换处理单元52可识别视频块内的子块且随后确定每一子块是否为后台。

举例来说,在上文所描述的64×64CU的情况下,变换处理单元52可识别64×64CU内的子块(例如,四个32×32子块)并且使用如上文关于框415所描述的方法确定每一子块是否为后台。此外,为了提高译码效率,变换处理单元52可对视频块的个别较小译码单元(CU)(例如,组成子块中的每一者的8×8CU)进行求和,且随后比较其总和与后台阈值。对于每一个别子块,如果距离度量值小于后台阈值,那么变换处理单元52可将所述视频子块分类为后台。如果距离度量值大于或等于后台阈值,那么变换处理单元52可将所述视频子块分类为前台。此外,视频编码器20可随后针对其识别为后台的子块中的每一者降低其模式决定及运动估计的复杂度,如上文关于框415所描述。

一旦变换处理单元52已识别哪些子块为后台,那么在框425处,变换处理单元52可确定是否已分析最小所需子块。在一个实例中,最小所需子块大小可为8×8。

如果变换处理单元52确定已分析最小所需子块,那所述么方法在框490处结束。否则,如果变换处理单元52确定尚未分析最小所需子块,那么方法400返回到框420以进一步识别先前所识别前台子块内的子块且随后使用如上文关于框415至420所描述的方法来确定新子块中的每一者是否为后台。

使用上述实例,如果在框420处,视频编码器20确定32×32子块中的两个为后台且另外两个为前台,且如果框425处的最小所需子块为8×8,那么所述方法将返回到框420。在那时,视频编码器20将进一步识别两个32×32前台子块内的子块(例如,每一者内的四个16×16子块),且随后继续使用上文所描述的方法识别八个新子块中的哪些为后台。

在框490处到达方法的结尾后,视频编码器20可随后根据下文关于图5所描述的方法处理后续帧。

图5说明自适应地调整后台阈值(例如,关于图4论述的后台阈值)以确定块是否为后台块的方法500的流程图。可由处理器或视频编码器(包含但不限于上文关于图2所论述的视频编码器20)执行方法500。在一些实施例中,由变换处理单元(例如(但不限于)图2的变换处理单元52)执行方法500。另外,尽管在由变换处理单元执行的上下文内描述方法500,但应理解,这仅出于说明的目的且并不以任何方式限制本发明。

如上文所描述,可将后台阈值与视频块的距离度量值(例如,SAD)相比较以确定所述视频块是否为后台。在一些情况下,存储先前块(或“先前帧”)的距离度量值以自适应地调整用于后续块(或帧)分析的后台阈值可提高译码效率。在其它情况下,后台阈值可针对一些块为固定或预定的,且针对其它块为自适应的。与使用固定阈值相比较,自适应地更新后台阈值可为不同类型的视频内容提供前台区域与后台区域的更好分类,此情形可降低编码复杂度且提高译码效率。

方法500开始于框505处。在框510处,变换处理单元52可从先前帧(或先前块)识别后台块。在一个实施方案中,先前帧可为变换处理单元52针对后台内容所分析的帧(或块),且后台块可为变换处理单元52在关于图4所描述的方法期间识别为后台的那些块。

随后在框515处,变换处理单元52可使用所识别后台块确定经调整后台阈值(或当前阈值)。如果在先前帧中未识别到后台块(例如,将所有块分类为前台),那么变换处理单元52可保持后台阈值相同且在框590处结束所述方法。在那种情况下,视频编码器20可通过使用原始后台阈值根据图4中所描述的方法分析当前帧而继续。

在一或多个块已被分类为后台的情况下,变换处理单元52可确定先前帧内的运动向量的分类。如果运动向量属于某一分类(例如,全局运动向量或零运动向量),那么变换处理单元52可根据先前帧的块的一或多个距离度量值调整后台阈值。全局运动向量可指具有全部在同一方向上一起移动但不在其它方面改变的块的视频帧(例如,跨静态场景平移的相机)。零运动向量可指正好或几乎正好为先前帧的视频帧,例如,视频是静止的。为了计算当前帧与先前帧之间的距离度量值,可应用空间偏移值,所述空间偏移值可基于运动向量的特定分类(例如,全局运动向量或零运动向量)。变换处理单元52可随后继续使用经调整后台阈值根据图4中所描述的方法分析当前帧。

在一个实施例中,可通过将先前帧视作原始像素或参考像素来计算距离度量值。在将先前帧视作原始像素的情况下,存储器需求可增加。为了减少存储器需求,替代地将先前帧视作参考像素有时是有利的。然而,参考像素方法要求系统将量化参数(QP)考虑在内。在一个实施例中,视频编码器20可设定QP。由于一些距离度量值(例如,SAD)取决于QP而极大地改变(例如,如果QP较高,那么经重建帧质量可较低),将先前帧的经重建像素存储于参考帧缓冲器中可为有利的。

在一个实施例中,用于调整后台阈值的距离度量值可为先前帧的归一化SAD。归一化值可补偿任何QP因数,如上文所描述。作为实例,视频编码器20可定义两个变数Summetric及Sumscale,以分别表示SAD值的总和及SAD值的归一化总和。Summetric及Sumscale可在帧的开始处经初始化为零。如上文所解释,如果运动向量以某些方式被分类为等于先前帧与当前帧之间的空间偏移(例如,全局运动或是零运动),那么可使用先前帧的度量值根据下方的方程组更新Summetric及Sumscale(例如,自适应地更新后台阈值)。尽管方程(1)至方程(6)中的每一者表示64×64的实例原始N×N视频块大小,但N也可更大或更小。

新Summetric=Summetric+MetNxN,其中MetNxN表示整个视频块的度量值(例如,SAD)(1)

新其中N表示N×N视频块的长度或宽度(2)

也可根据以下替代方程组更新Summetric及Sumscale

新Sumscale=Sumscale+1(4)

在帧的末尾处,可根据以下方程组更新新的后台阈值(ThNxN)。

其中Th64x64表示64×64视频块的原始后台阈值(5)

<mrow> <msub> <mi>Th</mi> <mrow> <mi>N</mi> <mi>x</mi> <mi>N</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>Th</mi> <mrow> <mn>64</mn> <mi>x</mi> <mn>64</mn> </mrow> </msub> </mrow> <msup> <mrow> <mo>(</mo> <mfrac> <mn>64</mn> <mi>N</mi> </mfrac> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

作为实例,如果变换处理单元52确定先前帧是使用具有上文所描述的运动向量分类中的一者的图片间预测来编码的,那么可存储先前帧的距离度量值(例如,其SAD)并且在所述帧的末尾处根据如上文所述的方程将其归一化为整个块的这个值可随后成为下一帧的后台阈值。在一个实施例中,此过程可出现在每一帧,从而自适应地更新每一连续帧的阈限。

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

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

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

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

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

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

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