使用非线性缩放和自适应源块大小的分层运动估计的制作方法

xiaoxiao2020-9-10  3

【知识产权代理】【专利服务】Tel:18215660330

使用非线性缩放和自适应源块大小的分层运动估计的制作方法
【专利摘要】描述了系统,设备和方法,包括将非线性缩放应用于当前图像帧和参考图像帧以生成至少对应的当前图像层和对应的参考图像层。然后,可以使用非线性地缩放的图像层来执行分层运动估计。进一步地,可以在下采样的图像层中自适应地确定源块大小,且可以使用自适应地确定大小的源块来执行分层运动估计。
【专利说明】使用非线性缩放和自适应源块大小的分层运动估计
[0001]背景
[0002]视频编解码器通常使用运动估计(ME)来通过移除或降低视频帧之间的时间冗余度,改善视频压缩性能。为编码输入块,在编码器模块中,使用至少一个参考帧中的指定搜索窗口,执行传统的ME,以寻找最小化一些差异度量,诸如输入源块和运动矢量所指向的参考块之间的绝对差值的总和(SAD),的运动矢量。然后,可以将运动矢量信息传输到解码器模块供进行运动补偿。
[0003]一般而言,可以通过使用较大的搜索窗口,在ME过程中实现较高编码增益。然而,使用较大的搜索窗口会增大编码复杂度。进一步地,当使用硬件加速时,ME搜索窗口大小可能会受到片上存储器大小约束的限制。为解决此问题,各种高级视频编解码器,诸如高级视频编码(AVC),可缩放的视频编码(SVC),VP8等等,使用分层运动估计(HME)技术来扩展搜索范围,同时仍使用相对较小的搜索窗口。在典型的HME中,以2为因子,完全分辨率视频帧被连续地下采样为多个较低分辨率的下采样的图像层,并通过ME获得的运动矢量预测器通过图像层向上传播,并被细化以标识完全分辨率视频帧或基层的块的运动矢量。
[0004]除以2为因子缩放图像层次结构之外,典型的HME方案当在较低分辨率下采样层执行ME时,还使用相应缩放、固定形状和大小的源块。例如,对于16x16完全分辨率源大小,常规HME方案可以在第一下采样层使用8x8源大小,在第二下采样层使用4x4源大小,以此类推。然而,尤其相对于低能量或平坦图像内容,这样的方法可能因错误地标识远离图像内容中的细节的局部最小值而生成次优预测器。
[0005]附图简述
[0006]此处所描述的材料是作为示例说明的,而不仅限于各个附图的图形。为说明简单和清楚起见,图形中所示出的元件不一定是按比例绘制的。例如,为了清楚起见,某些元件的尺寸可以相对于其他元件而放大。此外,在合适的情况下,在不同的图形中参考标签重复使用,以表示对应的或类似的元件。在各图中:
[0007]图1是示例视频编码器系统的说明图;
[0008]图2是示例非线性图像缩放方案的说明图;
[0009]图3是示例非线性图像缩放方案的说明图;
[0010]图4示出了示例运动估计模块;
[0011]图5是示出了示例过程的流程图;
[0012]图6是示例混合缩放方案的说明图;
[0013]图7是示例传播方案的说明图;
[0014]图8是示例自适应源块大小方案的说明图。
[0015]图9是示出了示例过程的流程图;
[0016]图10是示例系统的说明图;以及
[0017]图11示出了示例设备,所有都是根据本发明的至少一些实现配置的。
[0018]详细描述
[0019]现在将参考所附的图形来描述一个或多个实施例或实现。尽管讨论了特定配置和布局,但是,应该理解,这只是为了说明。那些精通相关技术的人员将认识到,在不偏离描述的精神和范围的情况下,可以使用其他配置和布局。对于那些精通相关技术的人来说显而易见的是,此处所描述的技术和/或布局也可以用于除此处所描述的以外的各种其他系统和应用中。
[0020]尽管下列描述阐述了可以在诸如,例如,片上系统(SoC)体系结构之类的体系结构中表现的各种实现,但是,此处所描述的技术和/或布局的实现不局限于特定体系结构和/或计算系统,并可以对于类似的目的通过任何体系结构和/或计算系统来实现。例如,使用,例如,多个集成电路(IC)芯片和/或封装,和/或各种计算设备和/或消费者电子(CE)设备(诸如机顶盒、智能电话等等)的各种体系结构都可以实现此处所描述的技术和/或布局。进一步地,尽管下列描述可以阐述诸如逻辑实现、系统组件的类型和相互关系、逻辑划分/集成选择等等之类的很多具体细节,但是,所要求保护的主题可以在没有这些具体细节的情况下实施。在其他情况下,没有详细示出诸如,例如,控制结构和完全软件指令序列之类的某些材料,以便不至于使此处所公开的材料变得模糊。
[0021]此处所公开的材料可以以硬件、固件、软件,或其任何组合来实现。此处所公开的材料还可实现为存储在机器可读取的介质中的可以由一个或多个处理器读取和执行的指令。机器可读的介质可以包括用于以机器(例如,计算设备)可读的形式存储或传输信息的任何介质和/或机制。例如,机器可读的介质可以包括,只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存设备;电的、光学的、声音或其他形式的传播信号(例如,载波、红外信号、数字信号等等);及其他。
[0022]说明书中对“一个实现”、“实现”、“示例实现”等等的引用指示所描述的实现可包括特定特征、结构或特性,但是,每一个实施例可以不一定包括该特定特征、结构或特征。此夕卜,这样的短语不一定是指同一个实现。此外,当结合一个实施例描述特定特征、结构或特性时,认为在本领域技术人员学识范围内,可以与其他实现一起实施这样的特征、结构或特性,无论是否对此明确描述。
[0023]图1示出了根据本发明的示例视频编码器系统100。在各实现中,视频编码器系统100可以被配置成根据一个或多个高级视频编解码器标准,诸如例如H.264/AVC标准,进行视频压缩和/或实现视频编解码器(参见IS0/IEC JTCl和ITU-T,H.264/AVC——用于一般视听服务的高级视频编码,ITU-T建议H.264和IS0/IEC 14496-10 (MPEG-4部分10),版本3,2005)(在下文中:简称为“AVC标准”)以及其扩展,包括可缩放的视频编码(SVC)扩展(参见联合草案ITU-T建议H.264和IS0/IEC 14496-10/Amd.3可缩放视频编码,2007年7月5日)(在下文中:简称为“SVC”标准)。虽然系统100和/或其他系统、方案或过程可以在AVC标准的上下文中描述,但是,本发明不仅限于任何特定视频编码标准或规范。例如,在各实现中,编码器系统100可以被配置成根据其他高级视频标准,诸如VP8、MPEG-2、VCl (SMPTE 421M标准)等等,执行视频压缩和/或实现视频编解码器。
[0024]在各实施例中,视频和/或媒体处理器可以实现视频编码器系统100。系统100的各个组件可以以软件、固件,和/或硬件和/或其任何组合来实现。例如,系统100的各个组件可以至少部分地通过计算系统或片上系统(SoC)的硬件来提供,诸如可以在计算设备、通信设备、消费电子产品(CE)设备等等中发现。例如,系统100的至少一部分可以通过由诸如一个或多个中央处理单元(CPU)处理器核、数字信号处理器(DSP)、专用集成电路(ASIC)、完全可编程门阵列(FPGA)等等之类的处理逻辑执行的软件和/或固件指令来提供。
[0025]在编码器系统100中,可以向运动估计模块104提供当前视频帧102。系统100可以以光栅扫描顺序以图像宏块为单位来处理当前帧102。当编码器系统100在帧间预测模式下操作时(如图所示),运动估计模块104可以响应于当前视频帧102和参考视频帧106,来生成残差信号。然后,运动补偿模块108可以使用参考视频帧106和由运动估计模块104所提供的残差信号来生成预测帧。然后,可以从当前帧102中减去预测帧,并将结果提供给变换和量化模块110。然后,块可以被变换(使用块变换)并被量化,以生成一组已量化的变换系数,可以由熵编码模块112重新排序并熵编码这些系数,以生成由视频编码器系统100所提供的经压缩的比特流(例如,网络抽象层(NAL))比特流的一部分。在各实现中,由视频编码器系统100所提供的比特流,除用来解码每一个块的边信息(例如,预测模式、量化参数、运动矢量信息,等等)之外,还可以包括熵编码的系数,并可以被提供到如此处所描述的其他系统和/或设备供传输或存储。
[0026]也可以将变换和量化模块110的输出提供到去量化和逆变换模块114。去量化和逆变换模块114可以实现由变换和量化模块110进行的操作的逆,并且可以将去量化和逆变换模块114的输出与预测帧相结合以生成重构的帧116。当编码器系统100在帧内预测模式下操作时,帧内预测模块118可以使用重构的帧116来执行此处将不会比较详细地描述的已知帧内预测方案。
[0027]一般而言,可以通过分割为宏块的一个或多个切片(例如,带有对应的色度样本的16x16亮度样本),来分割巾贞102,以供系统100压缩。进一步地,每一宏块也都可以被分成宏块分区,和/或被分成子宏块分区,以进行运动补偿预测。在根据本发明的各实现中,宏块分区可以具有各种大小,包括,但不限于16x16、16x8、8x16,而子宏块分区也可以具有各种大小,包括,但不限于,8x8,8x4,4x8和4x4。然而,值得注意的是,如面的只是不例宏块分区和子宏块分区形状和大小而已,本发明不仅限于任何特定宏块分区和子宏块分区形状和/或大小。如此处所使用的,术语“块”可以是指视频数据的宏块、宏块分区,或子宏块分区。
[0028]在各实现中,切片可以被指定为I (帧内)、P (预测),B (双预测)、SP (切换P)或SI (切换I)类型的切片。一般而言,帧可以包括不同的切片类型。进一步地,帧可以被指定为非参考帧或指定为可用作帧间预测的参考的参考帧。在P切片中,可以通过估计帧之间的运动来执行时间的(而并非空间)预测。在B切片中,表示每宏块分区或子宏块分区两个运动估计的两个运动矢量可以用于时间预测或运动估计。另外,可以从在过去或将来发生的多个图像估计相对于显示顺序的运动。在各实现中,可以在对应于例如上文所提及的16x8,8x16,8x8,8x4,4x8,或4x4大小的各种宏块或子宏块分区级别下估计运动。
[0029]在各实现中,可以为每一个宏块或子宏块分区,编码不同的运动矢量。在运动估计处理过程中,可以搜索子宏块形状候选的范围(例如,16x16,16x8,8x16,8x8,8x4,4x8和4x4),并且可以实现优化表示视频和结果的保真度所需的比特的数量之间的折衷的运动估计方案。
[0030]在各实现中,可以通过搜索如由与源块相关联的两个或更多预测器标识的一个或多个参考帧中的多个目标区域,来执行源块的时间预测。在各实现中,预测器可以随机地确定,可以基于近邻宏块来确定,或可以基于各种其他已知方法来确定。
[0031]系统100的各种组件可以以软件、固件,和/或硬件和/或其任何组合来实现。例如,系统100的各种组件可以至少部分地通过计算SoC的硬件(诸如在CE系统中可以发现的)来提供。所属领域的技术人员可以认识到,视频编码器系统100可以包括为清楚起见在图1没有描绘的额外的组件(例如,滤波器模块等等)。
[0032]根据本发明,在分层运动估计(HME)方案中,在各图像层之间使用非线性缩放可以提供各种优点。例如,如在上文的“背景部分”所指出的,线性缩放技术以2为因子下采样图像。例如,当以2为因子下采样时,线性缩放技术生成具有完全分辨率图像帧的数据内容的四分之一的图像层,由此,要求相对应的计算资源量来生成图像层并存储图像层。另外,以2为因子缩放只改善运动搜索速度至4倍。尽管线性缩放技术可以以4为因子缩放以进一步降低资源使用并改善搜索速度,但是产生图像数据的十六倍的缩小并且因此,图像细节可以产生不太令人满意的运动估计结果。相比之下,当使用根据本发明的非线性缩放时,图像层分辨率可以降低,以节省计算资源,而同时,保持足够的图像层分辨率以维持运动估计保真度。例如,应用非线性缩放因子3会导致图像数据的九倍缩小,而同时当与线性地缩放因子2相比时提供改善的搜索速度。一般而言,通过使用根据本发明的非线性缩放,可以使用不同的非线性缩放因子来在运动估计保真度下动态地平衡计算资源使用和运动搜索速度。
[0033]如此处所使用的,术语下采样描述了使用各种非线性缩放过程和方案来从较高分辨率图像层生成较低分辨率的(下采样的)图像层。那些精通本技术的普通人员可以认识至IJ,可以使用诸如二次采样之类的与下采样同义的术语来描述相同或类似的过程。进一步地,如此处所使用的,非线性缩放是指由以大于2的因子下采样图像帧或层所产生的图像分辨率的变化。
[0034]根据本发明,视频编码器系统100可以使用运动估计模块104来执行一种或多种块匹配法算法,这些算法在各图像层之间使用非线性缩放来实现各种分层运动估计(HME)方案。在各实现中,视频编码器系统100可以使用运动估计模块104,以在完全分辨率基层和一个或多个较低分辨率、下采样的图像层之间使用非线性缩放,来实现HME方案。例如,图2示出了根据本发明的示例非线性图像层层次结构200。作为非限制性示例,此处将参考图1的示例视频编码器系统100来描述图2的各种项目。
[0035]在各实现中,当执行HME以生成一个或多个图像层时可以使用非线性缩放,其中,可以以大于2的值为因子,下采样输入的、完全分辨率(或基)图像帧的每一维度。进一步地,在各实施例中,可以应用大于2并且小于4的非线性缩放因子。如图2所示,示例当前帧图像层层次结构200包括基图像层202 (例如,对应于当前帧102),该基图像层202被以大于2的值为因子非线性地缩放,以生成具有比基级别图像层202较低的分辨率的第一图像层204(级别一)。第一层204还被非线性地缩放,以生成具有比第一图像层204分辨率较低的第二图像层206 (级别2)。
[0036]在各实现中,可以应用相同非线性缩放因子来生成层204和206。例如,为了生成层204,可以以3为因子下采样基层202的每一维度,而为了生成层206,也可以以3为因子下采样层204的每一维度。然而,如下面将更详细地说明的,本发明不仅限于特定非线性缩放因子,并设想采用大于2的任何因子下采样和/或在各图像层级别之间使用不同的缩放因子。进一步地,也如下面进一步说明的,本发明不仅限于只应用非线性缩放,而且还设想图像层层次结构使用非线性和线性缩放因子两者。
[0037]当执行HME时,图像层层次结构200可以和参考图像帧的相对应的图像层层次结构一起使用。例如,图3示出了在对应的参考帧非线性图像层层次结构300的上下文中的层次结构200。在此示例中,层次结构300包括基图像层302(例如,对应于参考帧106)和两个下采样的层:通过将相同非线性缩放应用到基层302 (如在形成层次结构200的层204时使用的)所生成的第一层304 ;以及通过将相同非线性缩放应用到级别一层304所生成的第二层306。如下面将更详细地说明的,在执行当前帧102的基层202的各种宏块的HME处理时,可以使用非线性图像层层次结构200和300。
[0038]尽管此处所描绘的非线性图像层层次结构200和300包括三个级别的图像分辨率,但是,应该理解,可以利用任意数量的图像层生成根据本发明的非线性图像层层次结构。一般而言,根据本发明的非线性图像层可以根据特定应用的要求或输入图像帧的细节来生成,包括,例如,图像的大小,图像的内容等等。例如,较大的输入图像帧可以要求较大的非线性图像层层次结构使用3个以上的图像层。进一步地,应该理解,为清楚起见,图2和3中的各种对象的相对大小和/或维度可能已经被放大。
[0039]在各实施例中,当执行运动估计处理时,视频编码器系统100可以使用运动估计模块104来实现根据本发明的运动估计(ME)方案。图4示出了根据本发明的示例ME模块400。作为非限制性示例,ME模块400可以通过视频编码器系统100的模块104来实现。
[0040]根据本发明,ME模块400包括HME模块402、预处理模块403、运动搜索引擎404,以及存储器406。如下面将更详细地说明的,模块400可以使用各种非线性缩放方案来生成当前帧图像层的非线性层次结构(例如,层次结构200)和参考帧图像层的非线性层次结构(例如,层次结构300)。当这样做时,模块400可以使用预处理模块403来从包括当前和参考图像帧(例如,当前帧102和至少一个参考帧106)的输入帧数据405生成图像层。然后,预处理模块403可以将对应于当前和/或参考图像层408中的一个或多个的像素数据存储在存储器406中。响应于从HME模块402接收到的运动调用数据410,运动搜索引擎404可以使用图像层408来对当前帧102中的各种宏块执行HME。当这样做时,搜索引擎404可以访问存储器406来获得对应于图像层408的至少某些部分的像素数据。
[0041]在各实现中,调用数据410可以指定至少参考帧图像层中的目标搜索区域,以及当前帧102的相对应的图像层中的源块位置。然后,运动搜索引擎404可以使用已知运动估计方法,来获得源块的一个或多个运动矢量或预测器412,并可以将预测器412提供到HME模块402。然后,HME模块402可以使用预测器412来为当前图像帧的各种宏块生成运动矢量 416。
[0042]在各实施例中,引擎404可以以硬件来实现,而软件可以实现HME模块402和预处理模块403。例如,在某些实施例中,引擎404可以通过ASIC逻辑来实现,而HME模块402和预处理模块403可以通过由诸如一个或多个处理器核之类的逻辑执行的软件指令来提供。然而,本发明在这方面不受限制,HME模块402、预处理模块403和/或搜索引擎404可以通过硬件、固件和/或软件的任何组合来实现。另外,存储器406还可以是任何类型的存储器,诸如易失性存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM),等等)或非易失性存储器(例如,闪存等等)等等。在非限制性示例中,存储器406可以通过缓存存储器来实现。
[0043]图5示出了根据本发明的各种实现的示例过程500的流程图。过程500可以包括如图5的框502、504、506和508中的一个或多个所示出的一个或多个操作、功能或动作。作为非限制性示例,此处参考图2和3的非线性层次结构200和300,图1的视频编码器系统100和图4的运动估计模块400来描述过程500。在各实现中,过程500可以构成通过编码器系统100来实现的运动估计过程的块匹配算法(BMA)的至少一部分。
[0044]过程500可以从框502开始,在那里,可以接收当前图像帧和参考图像帧。在各实现中,框502可以涉及HME模块402接收当前帧102的亮度像素值和参考帧106的亮度像素值的形式的帧数据405。在框502接收到的帧数据不限于任何特定图像帧数据,并可以具有任何分辨率、数据深度和/或数据格式。
[0045]在框504,可以将非线性缩放应用于当前图像帧以生成至少第一当前图像层。例如,参考图3,可以将非线性缩放应用于基层202,以生成对应于第一当前图像层的第一级别层204。还可以在框504生成额外的当前图像层。例如,框504还可以涉及将非线性缩放应用到层204,以生成对应于第二当前图像层的第二级别层206,等等。
[0046]在框506,可以将非线性缩放应用于参考图像帧以生成至少第一参考图像层。例如,再次参考图3,可以将非线性缩放应用于参考帧基层302,以生成对应于第一参考图像层的第一级别层304。还可以在框506生成额外的参考图像层。例如,框506还可以涉及将非线性缩放应用到层204,以生成对应于第二参考图像层的第二级别层206,等等。
[0047]根据各实现,框504和506使用的非线性缩放可以包括将当前图像层2的每一维度缩放具有大于2的值因子(N)。例如,在非限制性示例中,对于具有1SOp的分辨率以便它包括1,920列xl,080行的亮度像素值(例如,1920x1080)的当前图像帧(例如,帧102),框502可以涉及将每一维度缩放达N = 3,以生成具有640列x360行的亮度像素值(例如,640x360)的第一当前图像层。
[0048]在各实现中,可以使用非整数或分数缩放因子。例如,在另一非限制性示例中,对于具有1080p或1920x1080像素值的分辨率的当前图像帧,框502可以涉及以因子N = 2.5缩放每一维度,以生成具有768x432像素值的分辨率的第一当前图像层。例如,按N = 2.5进行缩放可以通过按2上采样图像,然后,按5对上采样的图像下采样来实现,以生成相对应的图像层。当然,取决于输入图像帧的分辨率,根据本发明,可以使用不同的整数或非整数非线性缩放因子,以生成各种图像层分辨率。
[0049]进一步地,本发明不仅限于只使用产生具有整数分辨率值的图像层的非线性缩放因子。例如,在非限制性示例中,对于具有1920x1080像素值的分辨率的当前图像帧,框502可以涉及将每一维度缩放到3倍,以生成具有640x360的分辨率的第一当前图像层。将相同因子N = 3应用到640x360第一当前图像层将生成具有213.33x120的分辨率的第二当前图像层。在这样的实现中,可以忽略所产生的图像层中的分数帧维度(在此示例中,分数图像列),或可以使用已知技术(例如,指派最近邻像素值等等),将它们替换为像素值。
[0050]另外,根据本发明的混合非线性缩放方案在一些图像层之间可以使用非线性缩放,而在相同非线性图像层层次结构内的其他图像层之间使用线性缩放。例如,图6示出了混合方案非线性图像层层次结构600,其中,对完全分辨率帧602 (例如,当前帧或参考帧)进行非线性缩放以生成第一级别图像层604。然后,对层604进行线性缩放,以生成第二级别图像层606。例如,在非限制性示例中,如果基层602具有1080p的分辨率,那么,可以应用非线性缩放因子N = 3,以生成具有640x360的分辨率的第一级别层604。然后,可以以N=2为因子,对第一级别层604进行线性缩放,以生成具有320x180的分辨率的第二级别层606。在另一非限制性示例中,对于分辨率1280x720的图像帧602,可以应用非整数非线性缩放因子N = 2.5,以生成带有512x288的分辨率的第一级别层604。然后,可以以2为因子,对第一级别层604进行线性缩放,以生成具有256x144的分辨率的第二级别层606。在其他实现中,可以应用线性缩放,以生成第一图像层,而可以将非线性缩放应用于第一图像层,以生成第二图像层等等。
[0051]根据各实现,可以结合各种滤波技术,可以在框504和506执行非线性缩放。例如,当在框504和506使用非线性缩放因子下采样时,可以使用许多已知平滑化处理或局部平均操作符、内核或过滤器中的任何一种,诸如,但不仅限于,3x3平滑过滤器、5x5平滑滤波器等等,来对图像层进行低通过滤。例如,在非限制性示例中,3x3平滑过滤器可以具有形式
[0052]

O 1/8 O

/= 1/8 1/2 1/8

_ O 1/8 O ^
[0053]然而,本发明不仅限于当在框504和506执行下采样时使用平滑滤波器。例如,当执行框504和506时,可以使用最近邻二次采样。另外,在各实现中,可以在框504和506应用已知的抽选过滤器。
[0054]参考图4,可以通过预处理模块403来执行框504和506。例如,框504可以涉及模块403对当前帧102执行非线性缩放,以生成一个或多个下采样的图像层,模块403可以将它们存储在存储器406中。类似地,框504可以涉及模块403对参考帧106执行非线性缩放,以生成一个或多个下采样的图像层,模块403也可以将它们存储在存储器406中。当执行框504和506时,预处理模块403可以使用如上文所描述的各种滤波技术。
[0055]过程500可以在框508结束,在那里,可以至少部分地响应于第一当前图像层的源块和第一参考图像层,执行分层运动估计。在各实现中,框508可以包括生成对应于第一当前图像层的源块的运动矢量场。然后,可以使用已知运动矢量成本核算技术,在运动矢量场内标识最佳候选运动矢量。
[0056]再次参考图2和3,对于基层202的给定宏块208 (例如,16x16宏块),可以在框508处使用级别2层206的对应的源块210来执行分层运动估计,以执行参考帧图像层层次结构300的级别2层306的对应的搜索区域(未示出)的运动搜索。然后,可以将通过使用宏块210从运动搜索产生的最佳候选运动矢量或预测器传播到级别一层204,供通过进一步的运动搜索来进行细化。
[0057]在传播过程中,可以通过在框504和506使用的相同非线性缩放因子来上采样(例如,乘以)预测器的坐标,以生成当前和参考图像层。然后,可以使用传播到级别一层204的预测器来对于层次结构300的级别一层304中的搜索区域(未示出)内的层204的至少宏块212执行细化运动搜索。最后,在非线性层次结构200和300的示例中,可以将针对级别204生成的预测器传播到级别202,并且可以对于完全分辨率宏块208,完成运动搜索。
[0058]再次参考图4,在各实现中,在框508执行的分层运动估计可以涉及HME模块402发出调用数据410,该调用数据至少指定参考帧图像层中的目标搜索区域,和当前帧102的相对应的图像层中的源块位置。响应于调用数据410,然后,运动搜索引擎404可以使用已知运动估计方法,使用图像层408来获得源块的一个或多个运动矢量或预测器412,并可以将预测器412提供到HME模块402。例如,引擎404可以将对应的运动矢量场存储在存储器406中,供HME模块402访问。然后,HME模块402可以使用预测器412来为当前图像帧的各种宏块生成运动矢量416。例如,HME模块402可以使用已知运动矢量成本核算技术来从运动矢量场确定一个或多个最佳运动矢量候选。
[0059]在各实现中,在框508在运动估计过程中传播的预测器可以不与较高分辨率层中的宏块边界对齐。图7示出了示例传播方案700,其中与较低分辨率图像层706的源块704相关联的预测器702可以重叠于与较高分辨率图像层710的对应的宏块708相关联的宏块边界。例如,假设非线性缩放因子N = 3,如果源块704具有大小8x8,则当上采样到层710时,预测器702将具有大小24x24,而假设宏块708具有大小16x16,则将与宏块708对齐,但是还将重叠于宏块708的边界,以与层710的下一宏块712的一半对齐。类似地,当传播到层710时,层706的下一源块716的预测器714可以重叠于层710中的宏块712和下一宏块718两者。
[0060]如此,根据各实施例,当在框508执行分层运动估计时,较高分辨率图像层的宏块可以与从较低分辨率图像层上采样的一个以上的预测器相关联。例如,在图7的示例中,预测器702和714两者都与层710的宏块712对齐。根据本发明,当一个以上的预测器与宏块对齐时,可以应用各种方法。例如,预测器702和714可以被用来对于宏块712执行运动估计。可另选地,可以通过基于重叠的程度来确定预测器702和714的加权平均值,来为宏块712生成修改的预测器。在其中预测器702和714同等地重叠于宏块712的方案700的示例中,预测器702和714的中值可以被用作宏块712的修改的预测器。在其他实现中,给定宏块的最佳预报器可以被选为具有最大的与宏块的重叠程度的预测器,依次类推。
[0061]在各实现中,框508的分层运动估计可以包括此处为清楚起见而没有详细说明的各种方法。例如,可以在各图像层之间传播诸如最佳的四个预测器之类的多个预测器。在另一个示例中,可以响应于近邻宏块的预测器,确定用于传播的最佳预测器。显而易见,许多额外时间和/或空间最优化技术可以和此处所描述的各方法一起使用。
[0062]根据本发明,HME还可以使用自适应地确定的源块大小来执行。例如,图8示出了根据本发明的示例自适应源块大小方案800。在示例方案800中,较高分辨率图像层810 (例如,基层)的各种宏块802、804、806,以及808使用从较低分辨率下采样层818的各种自适应地成形的源块812,814和816导出的预测器。在图8的特定示例中,宏块802使用与源块812相关联的预测器820,宏块804使用与源块814相关联的预测器822,而宏块806和808两者都使用与不同大小的源块816相关联的单个预测器824。在一个示例中,宏块802-808是16x16块,源块812和814是8x8块,而源块816是8x16块。
[0063]此处为讨论目的,作为非限制性示例,只呈现了方案800,而不旨在准确地描绘实际图像处理方案。例如,那些精通本技术的普通人员将认识到,宏块802-808不一定是相对于层810按比例描绘的,等等。此外,本发明也不仅限于任何特定大小和/或自适应地确定的源块的形状。
[0064]通过自适应地确定源块大小,根据本发明的HME方案可以提供各种优点。例如,自适应地确定源块大小可以在高能量图像区域和/或在经过复杂运动的图像区域提供比较准确的运动估计,同时还在较低复杂度的图像区域中和/或在表现出比较均匀的运动的图像区域中提供更好的运动矢量凝聚。相比之下,在没有自适应源块大小确定的情况下,HME处理可能对图像复杂度不敏感,这可能会在复杂图像区域导致不准确的运动估计和/或在不太复杂的图像区域中导致差的运动矢量凝聚。一般而言,根据本发明的自适应地确定源块大小可以允许运动估计保真度下的改善的计算资源使用的平衡。
[0065]根据本发明,可以响应于时间和/或空间图像特征,自适应地确定源块的大小和/或形状。例如,对象820在图像层中的存在可能会导致与特定宏块(在此示例中,宏块802-808)相关联的各种空间图像特征(例如,边缘的存在或不存在)。因此,在各实现中,当执行HME时,宏块802和804内边缘的出现可以被用来有利地为源块812和814选择较小大小。通过为源块812和814选择较小大小,可以获得较高精度预测器,以更好地解决对应于宏块802和804的比较详细的图像区域。
[0066]另一方面,宏块806和808内的比较均匀的图像特征(例如,缺乏边缘)可以被用来有利地为这些宏块选择较大的源块大小。如此,通过为源块816选择较大的大小,并且通过向宏块806和808两者应用结果所得的预测器,可以为宏块806和808提供较大的预测器凝聚。例如,在其中可以预期宏块806和808表现出类似的运动特征(例如,宏块806和808两者都与对象820的比较统一的内部部分相关联)的方案800的示例中,改善的预测器凝聚可以使得跳过预测器匹配预测器824更加可能,由此避免了冗余的运动搜索。在此示例中,使用较大大小的源块816来为宏块806和808两者生成预测器可以增大先前为宏块806生成的预测器可以被用作宏块808的跳过预测器的可能性。作为另一个示例,出现在图像层810的相对低能量区域的一组4个宏块826可以有利地使用与图像层818中的对应的组的4个源块830相关联的单一预测器828。尽管此处是以具有8x8和8x16大小的源块为例来描述图8的示例的,但是,本发明构想了源块的任何大小,包括16x16、16x8、8xl6、8x8、8x4、4x8、4x4 等等。
[0067]根据本发明,时间图像特征也可以用于自适应地确定源块大小。例如,可以为具有统一运动的历史的图像区域选择较大的源块大小。甚至对于在空间上复杂的区域,也是这种情况。因此,在这样的情况下,一个或多个相邻的宏块的先前确定的预测器可以被用来确定当前宏块的源块大小。
[0068]图9示出了根据本发明的各实现的示例过程900的流程图。过程900可以包括如图9的框902、904和906中的一个或多个所示出的一个或多个操作、功能或动作。作为非限制性示例,此处参考图8的方案800,图1的视频编码器系统100和图4的HME模块400来描述过程900。在各实现中,过程900可以构成通过编码器系统100来实现的运动估计过程的块匹配算法(BMA)的至少一部分。
[0069]过程900可以从框602开始,在那里,可以从图像帧生成下采样的图像层。例如,如上文参考图5所描述的,预处理模块403可以从输入帧数据405生成至少一个低分辨率图像层。在各实现中,预处理模块403可以在框902使用线性或非线性缩放因素来生成下采样的图像层。
[0070]在框904,可以自适应地确定下采样的图像层中的源块大小。在各实现中,框904可以包括响应于与下采样的图像层中的源块的位置相关联的空间和/或时间的图像特征,来确定源块的大小。在各实现中,在框904的自适应地确定源块的大小可以包括响应于对图像帧的预处理,来确定源块大小。例如,预处理模块403可以执行诸如边缘检测之类的预处理等等,来确定输入图像帧的图像复杂度,并可以将相对应的图像复杂度信息418提供到HME模块402。响应于信息418,HME模块402可以确定用于给定宏块的运动估计目的的对应的源块大小。例如,较小的源块大小可以用于具有较大的图像复杂度的图像区域中的宏块。
[0071]在各实现中,在框904的自适应地确定源块的大小可以包括响应于对输入图像帧的运动矢量成本分析,来实时地确定源块大小。例如,当确定给定宏块的源块大小时,HME模块402可以生成许多候选源块大小中的每一个的预测器,并且基于对诸如每一个候选源块大小的位移帧差异的大小之类的因素的分析,可以选择源块的特定候选源块大小。
[0072]过程900可以在框906结束,在那里,可以至少部分地使用源块和下采样的参考图像层,对于图像帧的宏块,执行分层运动估计。在各实现中,可以以类似于在上文对于图5的框508的上下文中所讨论的方式的方式执行框906,在此,可以使用如在框904自适应地确定的源块大小来执行分层运动估计。
[0073]尽管如图5和9所示的示例过程500和900的实现可以包括按所示出的顺序执行所示出的全部框,但是,本发明在这方面不受限制,在各示例中,过程500和900的实现可以包括只执行所示出的框的子集和/或以所示出的不同的顺序来执行。
[0074]另外,图5和9的框中的任何一个或多个可以响应于由一个或多个计算机程序产品所提供的指令来执行。这样的程序产品可以包括提供指令的信号承载介质,所述指令当由例如,处理器执行时,可以提供此处所描述的功能。计算机程序产品可以以任何形式的机器可读介质来提供。因此,例如,包括一个或多个处理器核的处理器可以响应于通过机器可读介质传输到处理器的程序代码和/或指令或指令集来执行图5和9所示出的框中的一个或多个。一般而言,机器可读介质可以以程序代码和/或指令或指令集的形式传输软件,该软件可以导致此处所描述的设备和/或系统中的任何一种实现视频编码器系统100和/或ME模块400的至少某些部分。
[0075]如此处所描述的任何实现中所使用的,术语“模块”是指被配置成提供此处所描述的功能的软件、固件和/或硬件的任何组合。软件可以作为软件程序包、代码和/或指令集或指令来实现,而此处所描述的任何实现中所使用的“硬件”可以包括,例如,单独地或以任何组合的硬连线的电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件。模块可以共同地或分别地被实现为构成较大的系统的一部分的电路,例如,集成电路(1C)、芯片上系统(SoC)等等。
[0076]图10示出了根据本发明示例系统1000。在各实现中,系统1000可以是媒体系统,虽然系统1000不仅限于此情境。例如,系统1000可被纳入到个人计算机(PC)、膝上计算机、超薄笔记本电脑、平板计算机、触摸板、便携式计算机、手持式计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合式蜂窝电话/PDA、电视机、智能设备(例如智能电话、智能平板计算机或智能电视机)、移动互联网设备(MID)、发消息设备、数据通信设备、相机(例如,傻瓜相机、超变焦相机、数字单反(DSLR)相机)等等中。
[0077]在各实现中,系统1000包括耦合到显示器1020的平台1002。平台1002可以从诸如内容服务设备1030、或内容递送设备1040之类的内容设备或其他类似的内容源接收内容。包括一个或多个导航特征的导航控制器1050可以被用来与例如平台1002和/或显示器1020进行交互。下面将更详细地描述这些组件中的每一个。
[0078]在各实现中,平台1002可以包括芯片组1005、处理器1010、存储器1012、存储1014、图形子系统1015、应用程序1016、和/或无线电1018的任何组合。芯片组1005可以在处理器1010、存储器1012、存储1014、图形子系统1015、应用程序1016和/或无线电1018之间提供相互通信。例如,芯片集1005可包括能够提供与存储1014的相互通信的存储适配器(未示出)。
[0079]处理器1010可以实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核,或任何其他微处理器或中央处理单元(CPU)。在各实现中,处理器1010可以是双核处理器、双核移动处理器等等。
[0080]存储器1012可以实现为易失性存储器设备,诸如,但不仅限于,随机存取存储器(RAM)、动态随机存取存储器(DRAM),或静态RAM(SRAM)。
[0081]存储1014可实现为非易失性存储设备,例如但不限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附属存储设备、闪存、电池应急SDRAM(同步DRAM)和/或网络可访问存储设备。在各实现中,存储1014可以包括当例如包括多个硬盘驱动器时,提高存储器性能或对有价值的数字媒体的增强的保护的技术。
[0082]图形子系统1015可执行对例如静止图像或视频的图像的处理以供显示。图形子系统1015可以例如是图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可用于通信地耦合图形子系统1015和显示器1020。例如,接口可以是高清多媒体接口(HDMI)、显示器端口、无线HDMI和/或无线HD适应技术中的任何一种。图形子系统1015可以被集成到处理器1010或芯片组1005中。在一些实现中,图形子系统1015可以是可通信地耦合到芯片组1005的独立卡。
[0083]本文中所描述的图形和/或视频处理技术可在各种硬件体系结构中实现。例如,图形和/或视频功能可被集成在芯片集中。替代地,可使用分立的图形和/或视频处理器。作为再一个实现,图形和/或视频功能可以通过通用处理器(包括多核处理器)来提供。在进一步的实施例中,功能可以在消费电子产品中实现。
[0084]无线电1018可以包括能够使用各种合适的无线通信技术传输和接收信号的一个或多个无线电。这些技术可涉及跨一个或多个无线网络的通信。示例无线网络包括(但不仅限于)无线局域网(WLAN)、无线个人局域网(WPAN)、无线城域网(WMAN)、蜂窝网络,以及卫星网络。在跨这样的网络的通信中,无线电1018可以根据任何版本的一个或多个适用的标准来操作。
[0085]在各实现中,显示器1020可以包括任何电视机类型监视器或显示器。显示器1020可以包括,例如,计算机显示器屏幕、触摸屏显示器、视频监视器、类似于电视机的设备,和/或电视机。显示器1020可以是数字和/或模拟的。在各实现中,显示器1020可以是全息显示器。此外,显示器1020还可以是可接收视觉投影的透明表面。这样的投影可以传达各种形式的信息、图像,和/或对象。例如,这样的投影可以是用于移动增强的现实(MAR)应用程序的视觉覆盖。在一个或多个软件应用程序1016的控制下,平台1002可以在显示器1020上显示用户界面1022。
[0086]在各实现中,内容服务设备1030可以由任何国家的,国际的和/或独立的服务来主存(host),并由此可以被平台1002例如通过因特网来访问。内容服务设备1030可耦合至丨J平台1002和/或显示器1020。平台1002和/或内容服务设备1030可耦合到网络1060以向网络1060传递媒体信息并对来自网络760的媒体信息进行传递(例如,发送和/或接收)。内容传递设备1040也可耦合到平台1002和/或显示器1020。
[0087]在各实现中,内容服务设备1030可以包括有线电视盒、个人计算机、网络、电话、启用因特网的设备或能够分发数字信息和/或内容的电器,以及能够通过网络1060或直接在内容提供商和平台1002和/或显示器1020之间单方向地或双向地传递内容的任何其他类似的设备。将能理解,内容可经由网络1060单向和/或双向地传递到和传递自系统1000中的各组件中的任一个和内容提供者。内容的示例可包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等等。
[0088]内容服务设备1030可以接收内容,诸如有线电视节目,包括媒体信息、数字信息和/或其他内容。内容提供者的例子可包括任何有线或卫星电视或无线电,或者互联网内容提供者。所提供的示例不以任何方式限制根据本发明的各实现。
[0089]在各实现中,平台1002可以从具有一个或多个导航特征的导航控制器1050接收控制信号。控制器1050的导航特征可以被用来,例如,与用户界面1022进行交互。在各实施例中,导航控制器1050可以是指示设备,该指示设备可以是计算机硬件组件(具体地,人机接口设备),可使用户向计算机中输入空间(例如,连续的和多维)数据。许多系统——例如图形用户接口(GUI)以及电视机和监视器——允许用户使用身体姿势控制并将数据提供给计算机或电视机。
[0090]控制器1050的导航特征的移动可以通过指针、光标、焦点环,或显示在显示器上的其他可视指示器,在显示器(例如,显示器1020)上复制。例如,在软件应用1016的控制下,位于导航控制器1050上的导航特征可以被映射到例如用户界面1022上显示的虚拟导航特征。在各实施例中,控制器1050可以不是单独的组件,而是可以集成到平台1002和/或显示器1020中。然而,本发明不仅限于在所示出的或此处所描述的上下文中的元件。
[0091]在各实现中,驱动程序(未示出)可以包括允许用户立即打开和关闭平台1002的技术,类似于电视机,例如,当启用时,在初始引导之后,按下按钮。程序逻辑可以允许平台1002甚至在平台被“关闭”时向媒体适配器或其他内容服务设备1030或内容分发设备1040流式播放内容。另外,芯片组1005还可以包括,例如,对于5.1环绕声音频和/或高清晰度
7.1环绕声音频的硬件和/或软件支持。驱动器可包括用于集成的图形平台的图形驱动器。在各实施例中,图形驱动器可包括快速外围组件互连(PCI)图形卡。
[0092]在各实现中,可以集成系统1000所示出的组件的任何一个或更多。例如,平台1002和内容服务设备1030可被集成,或者平台1002和内容传递设备1040可被集成,或者平台1002、内容服务设备1030和内容传递设备1040可被集成。在各实施例中,平台1002和显示器1020可以是集成单元。例如,显示器1020和内容服务设备1030可被集成,或者显示器1020和内容传递设备1040可被集成。这些示例不限制本发明。
[0093]在各实施例中,系统1000可实现为无线系统、有线系统或两者的组合。当实现为无线系统时,系统1000可包括适于在无线共享介质上通信的组件和接口,例如一个或多个天线、发射机、接收机、收发机、放大器、过滤器、控制逻辑等等。无线共享媒体的一个例子可包括无线频谱的一些部分,例如RF频谱等。当实现为有线系统时,系统1000可以包括适用于通过有线通信介质进行通信的组件和接口,诸如输入/输出(I/O)适配器、将I/O适配器与相应的有线通信介质连接的物理连接器、网络接口卡(NIC)、光盘控制器、视频控制器、音频控制器等等。有线通信介质的示例可包括,线路、电缆、金属导线、印刷电路板(PCB)、后面板、交换机结构、半导体材料、双绞线、同轴电缆、光纤等等。
[0094]平台1002可建立一个或多个逻辑或物理通道以交换信息。该信息可包括媒体信息和控制信息。媒体信息可指代表针对用户的内容的任何数据。内容的示例可以包括,例如,来自语音谈话、视频会议、流式视频、电子邮件消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等等的数据。来自语音会话的数据可以是,例如,语音信息、静默时间长度、背景噪声、舒适噪声、音调等等。控制信息可以是指表示用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可用于使媒体信息路由通过系统,或指示节点以预定方式处理该媒体信息。然而,各实施例不限于图10中所示出的或所描述的上下文中的元件。
[0095]如前所述,系统1000可表现为不同的物理样式或形状因子。图11示出其中可体现系统1000的小尺寸因数设备1000的实现。在各实施例中,例如设备1100可被实现为具有无线能力的移动计算设备的一部分。移动计算设备可指具有处理系统以及移动电源或供电(诸如一个或多个电池)的任何设备。
[0096]如前所述,移动计算设备的例子可包括个人计算机(PC)、膝上计算机、超薄笔记本电脑、平板计算机、触摸板、便携式计算机、手持式计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合式蜂窝电话/PDA、电视机、智能设备(例如智能电话、智能平板计算机或智能电视机)、移动互联网设备(MID)、发消息设备、数据通信设备、相机(傻瓜相机、超级变焦相机、数字单反(DSLR)相机)等。
[0097]移动计算设备的例子也可包括被配置成由人们佩戴的计算机,例如手腕式计算机、手指式计算机、戒指式计算机、眼镜式计算机、皮带夹计算机、腕带式计算机、鞋式计算机、服饰式计算机以及其它可佩戴计算机。例如,在各实施例中,移动计算设备可以实现为能够执行计算机应用程序以及语音通信和/或数据通信的智能电话。尽管已经以实现为智能电话的移动计算设备为例描述了一些实施例,但可理解其他实施例也可利用其他无线移动计算设备来实现。这些实施例不限于这种背景。
[0098]如图11所示,设备1100可以包括外壳1102、显示器1104、输入/输出(I/O)设备1106,以及天线1108。设备1100还可以包括导航特征1112。显示器1104可以包括用于显示适合于移动计算设备的信息的任何合适的显示单元。I/O设备1106可以包括用于向移动计算设备中输入信息的任何合适的I/O设备。I/O设备1106的示例可以包括字母数字键盘、数字键区、触摸板、输入键、按钮、开关、往复式开关、话筒、扬声器、语音识别设备以及软件等等。信息还可以通过麦克风(未示出)输入到设备1100中。这样的信息可以通过语音识别设备(未示出)来数字化。这些实施例不限于这种背景。
[0099]各个实施例可利用硬件部件、软件部件或两者的组合来实现。硬件部件的例子可包括处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集等等。软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、程序、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或它们的任意组合。判断一个实施例是否使用硬件元件或软件元件来实现可以根据任意数量的因素而不同,如所希望的计算速率、功率级别、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度,及其他设计或性能约束。
[0100]至少一个实施例的一个或多个方面可以由存储在机器可读介质上的表征性指令来实现,该指令表示处理器中的各种逻辑,该指令在被机器读取时使得该机器制作用于执行本文所述的技术的逻辑。被称为“IP核”的这样的表示可以存储在有形的机器可读介质中,并提供给各种客户或生产设施,以加载到实际制造逻辑或处理器的制造机器中。
[0101]尽管参考各种实现描述了此处所阐述的某些特征,但是,此描述不旨在以限制性方式来解释。因此,对本发明涉及的所属【技术领域】的专业人员显而易见的对此处所描述的实现的各种修改,以及其他实现被认为在本发明的精神和范围内。
[0102]根据本发明,可以接收当前图像帧和参考图像帧。可以将非线性缩放应用于当前图像帧以生成至少第一当前图像层,可以将非线性缩放应用于参考图像帧以生成至少第一参考图像层。然后,可以至少部分地响应于第一当前图像层的源块和第一参考图像层,执行分层运动估计。在各种示例中,将非线性缩放应用到当前图像帧对应于以具有大于2的值的缩放因子缩放当前图像帧的每一维度。在某些示例中,缩放因子可以具有大于2并小于4的值。在各示例中,执行分层运动估计可以包括生成对应于第一当前图像层的源块的运动矢量场,并标识运动矢量场中的最佳候选运动矢量。在各示例中,可以将非线性缩放应用于第一当前图像层以生成第二当前图像层。在其他示例中,可以将线性缩放应用于第一当前图像层以生成第二当前图像层。例如,线性缩放可以对应于以2为因子缩放第一当前图像层的每一维度。
[0103]根据本发明,可以从图像帧生成下采样的图像层,可以自适应地确定下采样的图像层中的源块的大小,并可以至少部分地使用源块和下采样的参考图像层,对于图像帧的宏块,执行分层运动估计。在各示例中,自适应地确定源块的大小可以包括响应于与下采样的图像层中的源块的位置相关联的图像特征,来确定源块的大小。图像特征可以是时间或空间图像特征。在各示例中,自适应地确定源块的大小可以包括响应于对图像帧的预处理,来确定源块大小。对图像帧的预处理可以包括确定图像帧的图像复杂度。在各示例中,自适应地确定源块的大小可以包括响应于运动矢量成本,来实时地确定源块大小。
【权利要求】
1.一种运动估计方法,包括: 接收当如图像巾贞和参考图像巾贞; 将非线性缩放应用到所述当前图像帧以生成至少第一当前图像层; 将非线性缩放应用到所述参考图像帧以生成至少第一参考图像层;以及 至少部分地响应于所述第一当前图像层的源块和所述第一参考图像层,执行分层运动估计。
2.如权利要求1所述的方法,其特征在于,将非线性缩放应用到所述当前图像帧包括以具有大于2的值的缩放因子缩放所述当前图像帧的每一维度。
3.如权利要求1所述的方法,其特征在于,所述缩放因子包括大于2并小于4的值。
4.如权利要求1所述的方法,其特征在于,执行分层运动估计包括: 生成对应于所述第一当前图像层的所述源块的运动矢量场;以及 标识所述运动矢量场中的最佳候选运动矢量。
5.如权利要求1所述的方法,进一步包括: 将非线性缩放应用到所述第一当前图像层,以生成第二当前图像层。
6.如权利要求1所述的方法,进一步包括: 将线性缩放应用于所述第一当前图像层以生成第二当前图像层。
7.如权利要求6所述的方法,其特征在于,将线性缩放应用到所述第一当前图像层包括以2为因子缩放所述第一当前图像层的每一维度。
8.至少一个机器可读介质,所述至少一个机器可读介质包括多个指令,响应于在计算设备上被执行,所述指令导致所述计算设备执行如权利要求1到7中任一项所述的方法。
9.一种设备,当操作时,被配置成执行如权利要求1到7中任一项所述的方法。
10.一种设备,包括: 用于执行如权利要求1到7中的任何一项所述的方法的装置。
11.一种运动估计方法,包括: 从图像帧生成下采样的图像层; 自适应地确定所述下采样的图像层中的源块的大小;以及 至少部分地使用所述源块和下采样的参考图像层,来针对所述图像帧的宏块,执行分层运动估计。
12.如权利要求11所述的方法,其特征在于,自适应地确定所述源块的所述大小包括响应于与所述下采样的图像层中的所述源块的位置相关联的图像特征,来确定所述源块的所述大小。
13.如权利要求12所述的方法,其特征在于,所述图像特征包括时间或空间图像特征中的至少一个。
14.如权利要求11所述的方法,其特征在于,自适应地确定所述源块的所述大小包括响应于对所述图像帧的预处理,来确定所述源块大小。
15.如权利要求14所述的方法,其特征在于,对所述图像帧的预处理包括确定所述图像帧的图像复杂度。
16.如权利要求11所述的方法,其特征在于,自适应地确定所述源块的所述大小包括响应于运动矢量成本,来实时地确定所述源块大小。
17.至少一个机器可读介质,所述至少一个机器可读介质包括多个指令,响应于在计算设备上被执行,所述指令导致所述计算设备执行如权利要求11到16中任一项所述的方法。
18.一种设备,当操作时,被配置成执行如权利要求11到16中任一项所述的方法。
19.一种设备,包括: 用于执行如权利要求11到16中任何一项所述的方法的装置。
【文档编号】H04N19/00GK104169971SQ201280071369
【公开日】2014年11月26日 申请日期:2012年3月15日 优先权日:2012年3月15日
【发明者】J·D·坦纳, 江宏 申请人:英特尔公司

最新回复(0)