对使用非正方形分割编码视频数据的优化的制作方法

文档序号:11519808阅读:165来源:国知局
对使用非正方形分割编码视频数据的优化的制造方法与工艺

本公开主张2015年3月6日申请的美国临时专利申请案第62/129,650号的权益,所述申请案的完整内容特此以引用的方式并入。

本公开涉及视频编码。



背景技术:

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

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

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



技术实现要素:

本公开描述用于编码视频数据的技术,且更具体地说,涉及用于非正方形块(例如预测单元)编码的各种方法。对于一些译码场景来说,与正方形预测单元相比,非正方形预测单元可产生译码增益,例如经改进率失真折衷或经改进压缩。然而,测试非正方形预测单元的复杂度可大大增加编码器侧的复杂度。本公开介绍降低与使用非正方形块编码视频数据相关联的计算复杂度,同时仍保持由非正方形块实现的大部分译码效率的技术。

在一个实例中,一种编码视频数据的方法包含:将视频数据的2n×2n块分割成四个n×n块,其中n为整数值;确定用于四个n×n块中的每一个的编码模式;使用用于四个n×n块中的每一个的编码模式来计算表示四个n×n块的编码版本的值;基于经计算值确定是否跳过对用于2n×2n块的至少一个非正方形分割模式的测试;及至少部分地基于是否跳过对至少一个非正方形分割模式的测试的确定来编码2n×2n块。

在另一个实例中,一种用于编码视频数据的装置包含:存储器,其经配置以存储视频数据;和一或多个处理器,其经配置以:将视频数据的2n×2n块分割成四个n×n块,其中n为整数值;确定用于四个n×n块中的每一个的编码模式;使用用于四个n×n块中的每一个的编码模式来计算表示四个n×n块的编码版本的值;基于经计算值确定是否跳过对用于2n×2n块的至少一个非正方形分割模式的测试;及至少部分地基于是否跳过对至少一个非正方形分割模式的测试的确定来编码2n×2n块。

在另一实例中,一种用于编码视频数据的设备包含:用于将视频数据的2n×2n块分割成四个n×n块的装置,其中n为整数值;用于确定用于四个n×n块中的每一个的编码模式的装置;用于使用用于四个n×n块中的每一个的编码模式来计算表示四个n×n块的编码版本的值的装置;用于基于经计算值确定是否跳过对用于2n×2n块的至少一个非正方形分割模式的测试的装置;及用于至少部分地基于是否跳过对至少一个非正方形分割模式的测试的确定来编码2n×2n块的装置。

在另一个实例中,一种存储指令的计算机可读存储媒体,所述指令在由一或多个处理器执行时使得所述一或多个处理器执行以下操作:将视频数据的2n×2n块分割成四个n×n块,其中n为整数值;确定用于四个n×n块中的每一个的编码模式;使用用于四个n×n块中的每一个的编码模式来计算表示四个n×n块的编码版本的值;基于经计算值确定是否跳过对用于2n×2n块的至少一个非正方形分割模式的测试;及至少部分地基于是否跳过对至少一个非正方形分割模式的测试来编码2n×2n块。

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

附图说明

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

图2展示根据本公开的技术的可用于确定差值的四个n×n分割的实例。

图3a是说明可实施本公开中所描述的技术的实例视频编码器的框图。

图3b是说明可实施本公开中所描述的技术的实例视频编码器的框图。

图4展示说明根据本公开的各方面的矩形pu优化技术的流程图。

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

图6展示说明根据本公开的各方面的矩形pu优化技术的流程图。

具体实施方式

本公开涉及用于编码视频数据的技术,且更具体地说,涉及用于矩形块(例如预测单元)编码的各种方法。对于一些译码场景来说,与正方形预测单元相比,矩形预测单元可产生译码增益,例如经改进率失真折衷或经改进压缩。然而,测试矩形预测单元的复杂度可大大增加编码器方面的复杂度。举例来说,对于假设高效率视频译码(hevc)视频编码器,据估计,除了正方形译码模式以外还使用非正方形译码模式会比仅使用正方形预测单元复杂四倍多。

本公开介绍降低与在视频压缩技术(例如hevc)中使用矩形pu相关联的复杂度,同时仍保持由矩形pu实现的大部分译码效率的技术。如下文将更详细地解释,根据本公开的技术,视频编码器可取决于针对其它模式(例如正方形pu模式)而确定的信息选择性地检查矩形pu模式且选择性地跳过检查矩形pu模式。在此上下文中,检查矩形分割模式涉及测试包含矩形分割模式的编码假设。

图1是说明可利用本公开中所描述的技术的实例视频编码和解码系统10的框图。如图1中所展示,系统10包含源装置12,所述源装置产生稍后将由目的地装置14解码的经编码视频数据。源装置12和目的地装置14可包括广泛范围的装置中的任一种,包含台式计算机、笔记本(例如,膝上型等)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、所谓的“智能”板、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或其类似物。在一些情况下,可装备源装置12和目的地装置14以用于无线通信。

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

替代地,经编码数据可从输出接口22输出到存储装置26。类似地,可以通过输入接口从存储装置26存取经编码数据。存储装置26可以包含多种分布式或本地存取数据存储媒体中的任一个,例如硬盘驱动器、蓝光光盘、dvd、cd-rom、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置26可对应于文件服务器或可保持由源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置26存取所存储的视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、ftp服务器、网络连接存储(nas)装置或本地磁盘驱动器。目的地装置14可以通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。所述数据连接可包含无线信道(例如,wi-fi连接)、有线连接(例如,dsl、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两个的组合。经编码视频数据从存储装置26的发射可为流式传输、下载发射或两个的组合。

本公开的技术未必限于无线应用或设置。所述技术可应用于支持多种多媒体应用中的任一个的视频编码,例如空中电视广播、有线电视发射、卫星电视发射、流式视频发射(例如,经由因特网)、用于存储于数据存储媒体上的数字视频的编码、存储于数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频重放、视频广播和/或视频电话等应用。

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

可由视频编码器20对所捕获、预捕获或计算机产生的视频进行编码。可经由源装置12的输出接口22将经编码视频数据直接发射到目的地装置14。经编码视频数据还可(或替代地)存储到存储装置26上,以供稍后由目的地装置14或其它装置存取以用于解码及/或重放。

目的地装置14包含输入接口28、视频解码器30和显示装置32。在一些情况下,输入接口28可包含接收器及/或调制解调器。目的地装置14的输入接口28经由链路16接收经编码视频数据。经由链路16传送或在存储装置26上提供的经编码视频数据可包含由视频编码器20产生的多种语法元素以供例如视频解码器30等视频解码器用于解码视频数据。此类语法元素可与在通信媒体上发射、存储于存储媒体上或存储文件服务器的经编码视频数据包含在一起。

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

视频编码器20及视频解码器30可根据例如最近定案的高效率视频译码(hevc)标准等视频压缩标准操作,且可符合hevc测试模型(hm)。替代地,视频编码器20和视频解码器30可根据其它专属或行业标准或这些标准的扩展来操作,所述标准例如itu-th.264标准,替代地被称为mpeg-4第10部分高级视频译码(avc)。但是,本公开的技术不限于任何特定译码标准。视频压缩标准的其它实例包含mpeg-2和itu-th.263。

为了易于解释,本公开的技术可利用hevc术语。然而,不应假设本公开的技术受限于hevc,且实际上应明确地考虑为本公开的技术可以hevc后续标准和其扩展实施。

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

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

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

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

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

为了产生经译码ctu,视频编码器20可在ctu的译码树块上以递归方式执行四叉树分割,以将译码树块划分为译码块,因此命名为“译码树单元”。译码块可为样本的2n×2n块。cu可以包括具有亮度样本阵列、cb样本阵列和cr样本阵列的图片的亮度样本的译码块和色度样本的两个对应译码块,以及用以对译码块的样本进行译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,cu可包括单个译码块和用以对译码块的样本进行译码的语法结构。

视频编码器20可确定在cu层级处是以帧内预测块对块进行编码还是以帧间预测块对其进行编码,其中可使用各种pu分割方案。作为一实例,hevc支持从64×64低至4×4样本的pu大小的预测。假设特定cu的大小为2n×2n,那么hm支持2n×2n或n×n的pu大小的帧内预测,及2n×2n、2n×n、n×2n或n×n的对称pu大小的帧间预测。hm还支持用于2n×nu、2n×nd、nl×2n及nr×2n的pu大小中的帧间预测的不对称分割。在不对称分割中,不分割cu的一个方向,但是将另一方向分割成25%和75%。cu的对应于25%分割的部分由“n”继之以“上方”、“下方”、“左侧”或“右侧”指示来指示。因而,举例来说,“2n×nu”是指水平地分割的2n×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。

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

视频编码器20可使用帧内预测或帧间预测来产生pu的预测性块。如果视频编码器20使用帧内预测产生pu的预测性块,那么视频编码器20可以基于与pu相关联的图片的经解码样本来产生pu的预测性块。如果视频编码器20使用帧间预测产生pu的预测性块,那么视频编码器20可基于除与pu相关的图片以外的一或多个图片的经解码样本产生pu的预测性块。

在视频编码器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单元标头可包含指示nal单元类型码的语法元素。由nal单元的nal单元标头指定的所述nal单元类型代码指示nal单元的类型。rbsp可为含有封装在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相关联的变换块。视频解码器30可通过将当前cu的pu的预测性块的样本添加到当前cu的tu的变换块的对应的样本上来重构当前cu的译码块。通过重构图片的每一cu的译码块,视频解码器30可重构图片。

为了利用hevc中定义的工具以获得较好译码效率,例如视频编码器20的hevc编码器可能变得极其复杂。举例来说,为了编码lcu,视频编码器20可能需要检查(例如测试编码假设)许多不同cu大小方可达到那个范围,例如,从8×8、16×16直到64×64。对于每一cu大小,还要检查不同的分割模式(或pu形状),例如2n×2n、2n×n和n×2n等。

在分割模式当中,尽管2n×n和n×2n通常被称为矩形分割模式;但在此上下文中,矩形通常理解为意味着非正方形且不包括正方形分割模式。在涉及两种pu的情况下,检查包含运动估计和率失真优化的2n×n模式通常比检查2n×2n模式复杂约两倍。对于检查n×2n模式同样如此。因此,除2n×2n模式以外还检查这两种模式可能产生额外的四倍的复杂度。

在许多典型视频编码器实施方案中,与正方形pu模式相比,矩形pu模式可能不太符合需要,这是因为缺乏有效地降低与矩形模式相关联的复杂度的方法。对需要视频被快速编码的实时或近实时应用来说,与矩形模式相关联的这种复杂度可能尤其不符合需要。

本公开介绍可降低与使用矩形pu模式编码视频数据相关联的复杂度,同时保持由使用矩形模式实现的大部分译码效率的各种技术。尽管不限于hevc,但本公开的技术在使用hevc标准编码视频时可特别有用。

根据本公开的实例技术,视频编码器20可经配置以不检查用于每一cu的矩形pu模式。相反,可取决于其它模式的成本(例如,rd成本)来条件性地检查矩形pu模式。对于给定cu大小,在检查完2n×2n模式之后,视频编码器20可进一步检查与n×n模式相关联的四个四分之一大小块的rd(率失真)成本(此举大致上等同于检查具有四个四分之一大小的2n×2n模式)。取决于2n×2n模式与n×n模式之间的rd成本关系,可选择性的检查矩形pu模式。

举例来说,如果n×n层级处的四个块的总rd成本高于2n×2n层级处的块的总rd成本,那么将2n×2n块分裂成更小块分区不太可能会改进译码效率。在此情况下,视频编码器20可跳过检查矩形pu模式(例如,2n×n模式和n×2n模式)。

根据本公开的技术,当视频编码器20确定检查矩形分割模式时,一些额外条件可用于决定仅检查两种矩形分割模式中的一种(例如,2n×n或n×2n)是否是足够的。更具体地说,在一个实例中,这种决定可基于四个n×n块rd成本信息值。

图2展示可用于根据下文方程1至4来确定差值的四个n×n分区(标记为101a、101b、101c和101d)的实例。图2展示被分割成4个n×n块的2n×2n块的实例。可从图2的四个n×n块导出两个值:水平差值和竖直差值。差值可为运动向量差值和/或rd成本差值。如果竖直差(例如,如由下文方程2计算)高于水平差(例如,如由下文方程1计算),那么n×2n模式被选择的可能性比2n×n模式更高,因此仅检查n×2n分割模式,且反之亦然。仅在竖直差和水平差相近时,才检查2n×n和n×2n两个。

举例来说,当2n×2n块被分割成四个n×n块时,视频编码器20可使用运动估计过程来确定n×n块中的每一个的运动向量。视频编码器20可使用下文方程1和方程2将从运动向量信息确定的水平差值(h)与竖直差值(v)进行比较,从而确定每一n×n块与水平相邻块的相近程度和与竖直相邻块的相近程度。

h=abs(mv1-mv2)+abs(mv3-mv4)(1)

v=abs(mv1-mv3)+abs(mv2-mv4)(2)

举例来说,可通过确定第一运动向量的x分量与第二运动向量的x分量之间的差以及通过确定第一运动向量的y分量与第二运动向量的y分量之间的差,确定方程1和方程2的运动向量减法。如果,两个相邻正方形n×n分区具有类似运动向量(例如,运动向量之间的较小差),那么将这两个分区作为具有一个运动向量的单个矩形分区来一起编码可能是有效率的。相反地,如果两个相邻正方形n×n分区具有大体上不同的运动向量(例如,运动向量之间的相对较大差),那么将这两个分区作为具有一个运动向量的单个矩形分区来一起编码可能不符合需要。因此,两个nxn中的运动向量的较小差通常可展示使用矩形形状分区的更高可能性。如果h小于v,那么仅检查水平形状(2n×n),且反之亦然。

替代如方程1和方程2中展示的运动向量差,还可基于与编码各n×n分区相关联的成本(例如,rd成本或失真)确定水平差值(h)和竖直差值(v)。失真分析通常确定经编码块与被编码从而产生经编码块的原始未编码块之间的失真(或误差)量。同样,率失真分析通常确定经编码块与被编码从而产生经编码块的原始未编码块之间的失真(或误差)量,但进一步考虑到用以产生经编码块的位速率(即,位的数量)。已知众多用于量化失真的技术,例如均方误差(mse)分析和活动加权mse。类似地,已知众多用于测量率失真成本的技术,例如拉格朗日(lagrangian)成本分析。本公开的技术不限于用于确定失真度量或率失真度量的任何特定技术。

在考虑成本时,如所展示,用以下方程(3)和方程(4)类似地导出h和v。

h=abs((成本1+成本2)-(成本3+成本4))(3)

v=abs((成本1+成本3)-(成本2+成本4))(4)

由于两个nxn的成本的更大差展示使用矩形形状的更高可能性,如果h高于v,那么仅检查水平形状(2n×n),且反之亦然。

可以β来定义上文所解释的差的接近性。举例来说,如果β为1.05,那么当差小于5%时,将检查2n×n和n×2n两个。

总的来说,在极少译码效率耗损的情况下,本公开的技术可使矩形pu译码的复杂度降低约60%。

图3a是说明可实施本公开中所描述的技术的实例视频编码器20的框图。视频编码器20可执行视频切片内的视频块的帧内和帧间译码。帧内译码依靠空间预测来减少或移除给定视频帧或图片内的视频中的空间冗余。帧间译码依靠时间预测来减少或移除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(i模式)可指若干基于空间压缩模式中的任一个。例如单向预测(p模式)或双向预测(b模式)的帧间模式可指代若干基于时间的压缩模式中的任一个。

在图3a的实例中,视频编码器20包含视频数据存储器33、分割单元35、预测处理单元41、求和器50、变换处理单元52、量化单元54、熵编码单元56。预测处理单元41包含运动估计单元(meu)42、运动补偿单元(mcu)44和帧内预测单元46。对于视频块重构,视频编码器20还包含逆量化单元58、逆变换处理单元60、求和器62、滤波器单元64和经解码图片缓冲器(dpb)66。

如图3a中所展示,视频编码器20接收视频数据,并将所接收视频数据存储于视频数据存储器33中。视频数据存储器33可存储待由视频编码器20的组件编码的视频数据。可(例如)从图1中的视频源18获得存储在视频数据存储器33中的视频数据。dpb66可为参考图片存储器,其存储参考视频数据以供视频编码器20在(例如)以帧内或帧间译码模式编码视频数据时使用。视频数据存储器33和dpb66可由多种存储器装置中的任一个形成,例如动态随机存取存储器(dram),包含同步dram(sdram)、磁阻式ram(mram)、电阻式ram(rram)或其它类型的存储器装置。视频数据存储器33和dpb66可由同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器33可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。

分割单元35从视频数据存储器33检索视频数据并将视频数据分割成视频块。举例来说,分割单元35可根据上文和本公开中的其它地方所描述的技术来确定视频数据的分割。此分割还可包含分割成切片、图像块或其它较大单元,以及(例如)根据lcu及cu的四叉树结构的视频块分割。视频编码器20通常说明对待编码的视频切片内的视频块进行编码的组件。所述切片可以分成多个视频块(并且可能分成被称作图像块的视频块集合)。预测处理单元41可基于误差结果(例如,译码率和失真水平)来选择用于当前视频块的多个可能译码模式中的一个,例如多个帧内译码模式中的一个或多个帧间译码模式中的一个。预测处理单元41可将所得经帧内或帧间译码块提供到求和器50以产生残余块数据,并提供到求和器62以重构用作参考图片的经编码块。

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

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

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

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

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

在预测处理单元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滤波经重构块(例如,求和器62的输出)并将经滤波重构块存储在dpb66中以用作参考块。参考块可由运动估计单元42和运动补偿单元44用作参考块,以对后续视频帧或图片中的块进行帧间预测。滤波器单元64可应用解块滤波、样本自适应偏移(sao)滤波、自适应环路滤波(alf)或其它类型的环路滤波中的一或多个。滤波器单元64可对滤波器块边界应用解块滤波以从经重构视频移除成块效应假影,且可应用其它类型的滤波来改进整体译码质量。也可(在环路或后环路中)使用额外环路滤波器。

图3b是说明可实施本公开中所描述的技术的实例视频编码器21的框图。图3b表示经配置以执行本公开的技术的实例hevc视频编码器。图3a的视频编码器20和图3b的视频编码器21不必意图为替代的视频编码器,而是实际上可被认为是相同视频编码器的替代性视图。因此,可在视频编码器21中实施相对于视频编码器20所描述的特征,且反之亦然。

视频编码器21包含:通用译码器控制单元140、运动估计单元142、运动补偿单元144、图片内估计单元145、图片内预测处理单元146、变换缩放和量化单元152/154、缩放和逆变换单元158/160、滤波器控制分析单元170、解块和sao滤波器172/174、经解码图片缓冲器178以及标头格式化和cabac单元180。这些组件中的每一个通常执行与图3a中被相似编号的等效物相同的功能。举例来说,运动估计单元142通常执行与图3a中的运动估计单元42相同的功能,且变换缩放和量化单元152/154通常执行与变换处理单元52和量化单元54相同的功能。

通用译码器控制单元140选择并保持视频编码器21应如何编码视频数据的各种参数。举例来说,通用译码器控制单元140可选择hevc标准的简档、层次和层级,视频数据根据所述简档、层次和层级得以译码。举例来说,通用译码器控制单元140还可建立并维持位速率和所需rd水平。

视频编码器21将输入视频信号分割成视频块(例如ctu),并将那些ctu发送到运动估计单元142和图片内估计单元145。运动估计单元142可经配置以根据视频序列的预定型样来确定视频块的帧间预测模式。图片内估计单元145可经配置以确定视频数据块的帧内预测模式。视频编码器21选择帧内预测模式或帧间预测模式中的一个以用于译码视频数据块。将所选帧内预测数据或运动数据发送到标头格式化和cabac单元180,所述标头格式化和cabac单元可对所述数据进行熵编码,以将其包含在经编码位流中。

在求和器150处,视频编码器21通过从原始块减去使用所确定运动数据或帧内预测数据识别的经预测块来确定残余数据。变换、缩放和量化单元152/154使用变换(例如dct或概念地上类似的变换)将残余视频数据变换成残余变换系数,且可将残余视频数据从像素域转换到变换域(例如频域)。变换、缩放和量化单元152/154还量化变换系数,以进一步压缩数据。量化过程可以减少与系数中的一些或全部相关联的位深度。变换、缩放和量化单元152/154将经量化变换系数发送到标头格式化和cabac单元180,所述标头格式化和cabac单元可对所述经量化变换系数进行熵编码,以将其包含在经编码位流中。

视频编码器21还可包含用于确定各种编码假设下所获的视频编码质量的解码环路。在解码环路中,缩放和逆变换单元158/160应用逆量化和逆变换以重构像素域中的残余块。求和器162将经重构残余块添加到由运动补偿单元144的任一图片内预测处理单元146找到的经预测块,以确定经重构块。

滤波器控制分析单元170确定待用以滤波经重构块的滤波器信息,包含任何sao信息。滤波器控制分析单元170将所确定滤波器信息发送到标头格式化和cabac单元180,所述标头格式化和cabac单元可对所述滤波器信息进行熵编码,以将其包含在经编码位流中。基于由滤波器控制分析单元170所确定的滤波器信息,解块和sao滤波器172/174还可对经重构块应用一或多个滤波器,以便移除成块效应假影且另外改进视频质量。作为执行多个译码遍次的部分,滤波器控制分析单元170可导出多个不同的滤波器信息集合;且作为确定不同滤波器信息集合中的哪些滤波器信息会用来译码块的部分,解块和sao滤波器172/174可使用经导出滤波器信息滤波经重构块。

在存储于dpb178中之前,解块和sao滤波器172/174可使用所确定滤波器信息来滤波经重构块。因此,在译码未来视频数据块时,图片内估计单元145和运动估计单元142可在经滤波重构块中搜索预测性块,所述经滤波重构块与视频解码器用以定位预测性块的块相同。

图4展示说明根据本公开的各方面的矩形pu优化技术的流程图。将相对于通用视频编码器来描述图4的技术,所述通用视频编码器可对应于视频编码器20和21中的任一个,可组合视频编码器20和21两个的特性,和/或可不同于视频编码器20和21。图4的技术不限于任何特定类型的视频编码器。此外,尽管相对于rd成本来描述图4的技术,但应理解,图4的技术可使用除rd成本以外的成本实施,使用运动向量差实施,或者使用多种类型的成本的组合或成本与运动向量差的组合实施。

根据图4的技术,视频编码器经配置以确定与以第一正方形分割模式编码视频数据块相关联的第一率失真(rd)成本102,且确定与以第二正方形分割模式编码视频数据块相关联的第二rd成本104,其中所述第二正方形分割模式实施比所述第一正方形分割模式更小的正方形分割。在图4的实例中,第一正方形分割模式为2n×2n模式,且第二正方形分割模式为n×n分割模式。第二rd成本可与跟四个n×n块相关联的总rd成本相关。可(例如)通过求和4个n×n块的失真和信令成本来确定4个n×n块的第二rd成本。第二rd成本是测量2n×2n块(被分裂成4个n×n块)的rd成本的另一种方式,其可提供是否将2n×2n块分裂成两个2n×n块或两个n×2n块是否将产生译码增益的指示。

视频编码器可将第一rd成本(图4中展示为c2nx2n)与第二rd成本(图4中展示为cnxn)进行比较(106),且响应于第二rd成本大于第一rd成本乘阈值量(106,是),所述视频译码器可终止分割模式确定过程。所述阈值量(图4中展示为α)可(例如)被设置成等于1.1、1.05、0.95、0.9或一些其它这类值。值α可影响视频编码器选择2n×2n分割模式的频率。视频编码器可通过跳过检查矩形分割模式来终止分割模式确定过程。响应于第二rd成本大于第一rd成本乘阈值量(106,是),视频编码器可选择第一正方形分割模式(在图4的实例中的2n×2n)来编码块。

响应于第一rd成本大于第二rd成本乘第二阀值量(106,否),视频编码器可检查额外分割模式。作为检查额外分割模式的部分,如果视频编码器确定应以n×n的帧内模式来译码块中的至少一个(108,是),那么视频编码器可终止分割模式确定过程并使用四个n×n分割来编码2n×2n块。如果视频编码器确定不应以n×n的帧内模式来译码所有块(108,否),那么视频编码器确定与第二正方形分割模式的分区相关联的水平差且确定与第二正方形分割模式的分区相关联的竖直差110。为了确定与第二正方形分割模式的分区相关联的水平差,视频编码器可根据上文方程1来确定运动向量之间的差,和/或根据上文方程3来确定rd成本之间的差。为了确定与第二正方形分割模式的分区相关联的竖直差,视频编码器可根据上文方程2来确定运动向量之间的差,和/或根据上文方程4来确定rd成本之间的差。

为了确定与第二正方形分割模式的分区相关联的水平差,视频编码器可确定左上分区与右上分区之间的差(例如成本差或运动向量差)及左下分区与右下分区之间的差。为了确定与第二正方形分割模式的分区相关联的竖直差,视频编码器可确定左上分区与左下分区之间的差及右上分区与右下分区之间的差。

响应于水平差小于竖直差乘阈值量(112,h<β×v),视频编码器可检查块的竖直矩形分割模式(例如,n×2n)114,而不检查水平矩形分割模式(例如,2n×n)。响应于竖直差小于水平差乘阈值量(112,v<β×h),视频编码器可检查块的竖直矩形分割模式(例如,2n×n)116,而不检查块的水平矩形分割模式(例如,n×2n)。响应于竖直差在水平差的阈值量内(112,否),视频编码器可检查块的竖直矩形分割模式和块的水平矩形分割模式两种118。

应理解,对于图4中的步骤114、116和118来说,仅因为检查了矩形分割模式并不一定意味着最终使用矩形分割模式来编码块。举例来说,在步骤114之后,可在检查n×2n分割模式之后仍使用正方形分割模式(例如,2n×2n或n×n)来编码块。类似地,例如,在步骤116之后,可在检查2n×n分割模式之后仍使用正方形分割模式(例如,2n×2n或n×n)来编码块;且在步骤118之后,可在检查2n×n和n×2n分割模式两种之后仍使用正方形分割模式(例如,2n×2n或n×n)来编码块。

还应理解,在对除hevc之外的视频压缩标准应用图4的技术时,可移除步骤108。因为hevc并不支持帧内译码块的矩形分割,所以在确定应帧内编码分区之后,hevc编码器不必测试矩形分割模式。对于支持经帧内编码的矩形分区的不同视频压缩标准来说,即使在确定应帧内编码2n×2n块中的一或多个分区之后,视频编码器仍可继续到步骤110。

根据上文所描述的技术,视频编码器20和21表示经配置以将视频数据的2n×2n块分割成四个n×n块并确定用于四个n×n块中的每一个的编码模式的视频编码器的实例。随后,视频编码器20和21可使用用于四个n×n块中的每一个的编码模式来计算表示四个n×n块的编码版本的值,并基于经计算值来确定是否跳过对用于2n×2n块的至少一个矩形分割模式的测试。视频编码器20和21可至少部分地基于是否跳过对至少一个矩形分割模式的测试的确定来编码2n×2n块。

视频编码器20和21可通过以下来确定是否跳过测试:从表示四个n×n块的编码版本的值确定水平值,从表示四个n×n块的编码版本的值来确定竖直值,基于水平值是否大于竖直值乘以偏移或竖直值是否大于水平值乘以偏移来确定是否跳过对至少一个矩形分割模式的测试。视频编码器20和21可通过在水平值大于竖直值乘以偏移时确定跳过测试n×2n分割模式来确定是否跳过测试。视频编码器20和21还可通过在竖直值大于水平值乘以偏移时确定跳过测试2n×n分割模式来确定是否跳过测试。

视频编码器20和21可通过四个n×n块的运动向量的运动向量差值来计算值,其中运动向量差值中的每一个包含相应水平分量和相应竖直分量。视频编码器20和21可通过计算四个n×n块的左上块的运动向量的水平分量与四个n×n块的右上块的运动向量的水平分量之间的第一差和四个n×n块的左下块的运动向量的水平分量与四个n×n块的右下块的运动向量的水平分量之间的第二差的总和来确定水平值。视频编码器20和21可通过计算四个n×n块的左上块的运动向量的水平分量与四个n×n块的右上块的运动向量的水平分量之间的第一差和四个n×n块的左下块的运动向量的水平分量与四个n×n块的右下块的运动向量的水平分量之间的第二差的总和来确定水平值。

图5是说明可根据本公开中所描述的技术对经编码视频数据进行解码的实例视频解码器30的框图。尽管视频解码器30呈现为经配置以接收并解码视频数据的视频解码器,但应理解,相对于视频解码器30所描述的技术中的多个也可由视频编码器20或21执行。举例来说,视频编码器20和21可包含视频解码环路,且作为执行多个译码遍次的部分,视频编码器20和21可编码视频数据且随后解码经编码视频数据,以便分析编码质量。

在图5的实例中,视频解码器30包含视频数据存储器78、熵解码单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、求和器90和dpb94。预测处理单元81包含运动补偿单元82和帧内预测单元84在一些实例中,视频解码器30可执行通常与相对于来自图3a的视频编码器20或来自图3b的视频编码器21所描述的编码遍次互逆的解码遍次。

在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块和相关联语法元素的经编码视频位流。视频解码器30将所接收的经编码视频位流存储于视频数据存储器78中。视频数据存储器78可存储待由视频解码器30的组件解码的视频数据,例如经编码视频位流。举例来说,可经由图1的链路16从图1的存储装置26,或从本地视频源(例如相机),或通过存取物理数据存储媒体获得存储在视频数据存储器78中的视频数据。视频数据存储器78可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(cpb)。dpb94可为存储参考视频数据的参考图片存储器,所述参考视频数据由视频解码器30在(例如)以帧内或帧间译码模式解码视频数据时使用。视频数据存储器78和dpb94可由多种存储器装置中的任一个形成,例如dram、sdram、mram、rram或其它类型的存储器装置。视频数据存储器78和dpb94可由同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器78可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。

视频解码器30的熵解码单元80对存储于视频数据存储器78中的视频数据进行熵解码以产生经量化系数、运动向量和其它语法元素。熵解码单元80将运动向量和其它语法元素转发到预测处理单元81。视频解码器30可以接收在视频切片层级和/或视频块层级处的语法元素。

当视频切片经译码为经帧内译码(i)切片时,预测处理单元81的帧内预测单元84可基于用信号发送的帧内预测模式及来自当前帧或图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据。当视频帧被译码为经帧间译码(即,b或p)切片时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收到的运动向量和其它语法元素产生当前视频切片的视频块的预测性块。预测性块可从参考图片列表中的一个内的参考图片中的一个产生。视频解码器30可基于存储于dpb94中的参考图片使用默认构建技术来构建参考帧列表,列表0和列表1。

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

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

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

在预测处理单元使用(例如)帧内或帧间预测产生当前视频块的预测性块之后,视频解码器30通过对来自逆变换处理单元88的残余块与由运动补偿单元82产生的对应预测性块进行求和而形成经重构视频块。求和器90表示执行这个求和运算的一或多个组件。滤波器单元92使用(例如)解块滤波、sao滤波、alf滤波或其它类型的滤波中的一或多个对经重构视频块进行滤波。还可使用其它环路滤波器(在译码环路中或在译码环路之后)来使像素转变平滑,或以其它方式改进视频质量。接着将给定帧或图片中的经解码视频块存储于dpb94中,所述dpb存储用于后续运动补偿的参考图片。dpb94可为存储经解码视频以供稍后呈现于例如图1的显示装置32的显示装置上的额外存储器的部分或与其分离。

图6展示说明根据本公开的各方面的矩形pu优化技术的流程图。将相对于通用视频编码器来描述图6的技术,所述通用视频编码器可对应于视频编码器20和21中的任一个,可组合视频编码器20和21两个的特性,和/或可不同于视频编码器20和21。图6的技术不限于任何特定类型的视频编码器。

视频编码器将视频数据的2n×2n块分割成四个n×n块130。视频编码器确定四个n×n块中的每一个的编码模式132,并使用四个n×n块中的每一个的编码模式来计算表示四个n×n块的编码版本的值134。视频编码器基于经计算值确定是否跳过对2n×2n块的至少一个矩形分割模式的测试136。视频编码器可至少部分地基于是否跳过对至少一个矩形分割模式的测试的确定来编码2n×2n块138。举例来说,视频编码器从经测试的各种分割模式中选择分割模式并使用所选分割模式来编码2n×2n块。

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

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

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

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

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

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