首页> 中国专利> 使用分级相平面相关性和块匹配的运动估计

使用分级相平面相关性和块匹配的运动估计

摘要

所述的系统、设备、产品和方法涉及使用分级相平面相关性和块匹配的运动估计。

著录项

  • 公开/公告号CN104053005A

    专利类型发明专利

  • 公开/公告日2014-09-17

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN201410087044.2

  • 申请日2014-03-11

  • 分类号H04N19/513(20140101);H04N19/61(20140101);H04N19/176(20140101);

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人杨美灵;汤春龙

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 01:39:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-03-10

    未缴年费专利权终止 IPC(主分类):H04N19/513 授权公告日:20181106 终止日期:20190311 申请日:20140311

    专利权的终止

  • 2018-11-06

    授权

    授权

  • 2014-10-22

    实质审查的生效 IPC(主分类):H04N19/513 申请日:20140311

    实质审查的生效

  • 2014-09-17

    公开

    公开

说明书

背景技术

视频编码器压缩视频信息,使得更多信息能够通过给定带宽来发送。压缩信号则可传送给接收器,其在显示之前对信号进行解码和解压缩。为了压缩视频信息,视频编码器可包括运动估计器,其可生成描述从一个视频帧到另一个(例如相邻或连续帧)的变换的运动向量。发送运动向量或者与运动向量相关的信息(例如在进一步处理之后)可保存大量带宽。

一些广泛使用的运动估计算法包括块匹配算法,其与其它方式相比可不太复杂。这类块匹配算法通常用于超大规模集成(VLSI)实现中,并且通常存在于视频压缩编解码器(例如H.261国际电信联盟(ITU)电信标准化部门(ITU-T)视频编码标准和运动图像专家组(MPEG)阶段1(MPEG-1)标准和MPEG-2标准)中。块匹配估计通常包括:对于帧k的单独块,搜索帧k+1中的“最佳匹配”块,其中例如帧k和帧k+1可以是视频中的相邻或连续帧,以及描述帧k中的单独块与帧k+1中的最佳匹配块之间的位移的向量是单独块的运动向量。任何数量的运动向量(对于任何数量的块)可提供帧的变换,以及可组合运动向量以形成运动向量字段。

在一些块匹配实现中,帧k+1中的候选块可用于确定最佳匹配,包括与帧k中的单独块的位置对应的位置周围的帧k+1的搜索区域中的块(即,在单独块在帧k与帧k+1之间没有移动时原本所在的位置周围的区域中搜索帧k+1)。搜索每一个可能块的技术称作全搜索块匹配,并且提供简单明了和提供完整搜索的优点。但是,全搜索块匹配技术具有限制,例如高计算复杂度、没有捕获画面中的实际运动、不能够处理遮蔽区以及没有处理重复结构。

其它运动估计技术包括有效搜索策略,其可减少用于块匹配的候选区域。这类技术包括例如迭代算法(例如三步搜索算法)、对数搜索或者一次一个搜索(OTS)。这些技术的每个尝试查找粗像素栅格上的最佳匹配块(及关联运动向量)。迭代过程中的下一步是查找集中于前一个最佳匹配的像素的细像素栅格上的新最佳匹配块(及关联运动向量)。这类迭代可重复进行,以便以计算资源和/或时间为代价来改进精度。如与全搜索块匹配器相比,这些技术可提供较少计算的优点,但是它们可能不满足全搜索的质量。此外,这类技术可查找局部块匹配,但是可能遗漏全局匹配。

用于运动估计的另一种技术是相平面相关性算法,其尝试例如测量运动对象的速度的方向而不是搜索运动。在相平面相关性算法中,对于两个帧(即,帧k和k+1),将加窗函数应用于帧以降低边缘效应,并且应用傅立叶变换。然后,通过相乘帧k的按元素谱(element-wise spectrum)和帧k+1的谱的复共轭,并且无归一化该乘积,来确定互功率谱。将傅立叶逆变换应用于互功率谱,并且可应用可选快速傅立叶变换移位,以及在任一种情况下,生成相关性平面。然后,对相关性平面搜索峰值,使得峰值的索引表示帧之间的位移,以及位移可描述为运动向量。

单级相平面相关性可能不能够提供画面中的多个对象的运动向量。为了解决这个问题,可应用分级相平面相关性,使得可应用相平面相关性的若干等级,以产生准确和健壮的运动向量字段。与其它所述技术相比,分级相平面相关性技术的主要缺点是复杂度。

附图说明

通过附图、作为举例而不是限制来说明本文所述的资料。为了说明的简洁和清晰起见,图中所示的元件不一定按比例绘制。例如,为了清晰起见,一些元件的尺寸可能相对于其它元件经过放大。此外,在认为适当的情况下,在附图之间重复参考标号,以便表示对应或相似的元件。附图包括:

图1是示例视频编码系统的说明图;

图2是分割和/或缩减视频帧的图像数据的说明图;

图3是视频帧的图像数据中的单独块的说明图;

图4是视频帧的图像数据之间的块匹配的说明图;

图5是示出示例视频编码过程的流程图;

图6是操作中的示例视频编码过程的说明图;

图7是示例视频编码系统的说明图;

图8是示例系统的说明图;以及

图9是全部按照本公开的至少部分实现所设置的示例系统的说明图。

具体实施方式

现在参照附图来描述一个或多个实施例或实现。虽然论述特定配置和布置,但是应当理解,这只是为了便于说明而进行。相关领域的技术人员将会知道,可采用其它配置和布置,而没有背离本描述的精神和范围。相关领域的技术人员将会清楚地知道,本文所述的技术和/或布置也可用于除了本文所述之外的多种其它系统和应用中。

虽然以下描述提出在例如芯片上系统(SoC)架构等的架构中会是显而易见的各个实现,但是本文所述技术和/或布置的实现并不是局限于特定架构和/或计算系统,而是可为了相似目的而通过任何架构和/或计算系统来实现。例如,各种架构(其采用例如多个集成电路(IC)芯片和/或封装的架构)和/或各种计算装置和/或消费者电子(CE)装置(例如机顶盒、智能电话等)可实现本文所述的技术和/或布置。此外,虽然以下描述可提出诸如系统组件的逻辑实现、类型和相互关系、逻辑划分/集成选择等的许多具体细节,但是要求保护的主题即使没有这类具体细节也可实施。在其它情况下,一些材料、例如控制结构和全软件指令序列可能没有详细示出,以免影响对本文所公开资料的理解。

本文所公开的资料可通过硬件、固件、软件或者它们的任何组合来实现。本文所公开的资料还可实现为存储在机器可读介质上的指令,其可由一个或多个处理器来读取和运行。机器可读介质可包括用于存储或传送机器(例如计算装置)可读形式的信息的任何介质和/或机构。例如,机器可读介质可包括:只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪速存储装置;电、光、声或其它形式的传播信号(例如载波、红外信号、数字信号等)等。

本说明书中提到“一个实现”、“实现”、“示例实现”、“实例”等指示所述的实现可包括特定特征、结构或特性,但是每一个实现可能不一定都包括该特定特征、结构或特性。此外,这类词语不一定指同一个实现。此外,在结合一个实现或实施例来描述特定特征、结构、方面、元件或特性时,无论本文中是否明确描述,均认为结合其它实现或实施例来实现这种特征、结构、方面、元件或特性是在本领域的技术人员的知识范围之内的。来自一个实施例的任何特征、结构、方面、元件或特性能够与任何其它实施例的任何特征、结构、方面、元件或特性相结合。

以下所述的系统、设备、产品和方法涉及使用分级相平面相关性和块匹配的运动估计。

如上所述,在视频编码系统中,视频编码器可压缩视频信息供传输。为了压缩视频信息,视频编码器可包括运动估计器,其可生成ke 描述从一个视频帧到另一个视频帧的变换的运动向量(例如运动向量字段)。此外,当前技术可遭受各种缺陷,例如不精确、局部或全局偏差、计算密集等。

如下面将更详细描述,视频编码器可通过对两个视频帧(例如连续视频帧)的图像数据应用分级相平面相关性,来生成运动向量。分级相平面相关性可具有有限数量的分级等级,例如两级(例如局部等级和全局等级)。分级相平面相关性可生成候选运动向量。一般来说,运动向量可描述转换,使得对于第一帧(即,帧k)中的单独块,运动向量可定义从单独块在第二帧中原本所在(例如,如果单独帧没有移动)的位置位移该运动向量的第二帧(即,帧k+1)中的块或者与其关联。因此,候选运动向量可与候选块等关联。然后可基于由分级相平面相关性所确定的候选运动向量所定义的候选块,通过执行块匹配,来评估与单独块关联的候选运动向量。基于候选块的最佳匹配,可选择单独块的运动向量。这种实现可对于帧的图像数据的单独块的任一个或全部重复进行或者并行(或者部分并行)执行,以及所评估块的最佳匹配运动向量可定义描述从第一帧到第二帧的变换的运动向量字段。

此外,所述块匹配可评估多种候选块(如所述,其与候选运动向量关联)。附加候选运动向量可基于分级相平面相关性(其可提供单独块的多个候选运动向量)来提供。例如,分级相平面相关性可提供单独块的一个或多个局部候选运动向量和/或一个或多个全局候选运动向量。此外,块匹配可评估与不是分级相平面相关性所产生的候选向量关联的候选块,例如与来自先前运动估计迭代的最佳匹配向量关联的候选向量、与来自先前运动估计迭代的通过修改向量所调整的最佳匹配向量关联的候选向量或者与作为单独块的邻居的块的最佳匹配向量关联的候选向量。这类附加候选向量的使用可以是有利的,因为视频中的运动可具有恒定速度,和/或相邻块(例如表示运动中的对象)可共同移动。本文所述的技术中提供限制相平面相关性中的分级等级的数量连同限制块匹配中的候选块的数量、由此在对于给定带宽产生高质量视频的同时降低计算复杂度的优点。

图1是按照本公开的至少部分实现所设置的示例视频编码系统100的说明图。在各个实现中,视频编码系统100可配置成按照一个或多个高级视频编解码器标准(例如由ISO/IEC运动图像专家组(MPEG)和ITU-T视频编码专家组(VCEG)所形成的视频编码联合协作团队(JCT-VC)所制订的高效率视频编码(HEVC)H.265视频压缩标准)进行视频编码和/或实现视频编解码器。此外,在各个实施例中,视频编码系统100可实现为图像处理器、视频处理器和/或媒体处理器的组成部分,并且可进行帧间预测、帧内预测、预测编码和/或残差预测。

如本文所使用的术语“编码装置”可表示编码器和/或解码器。类似地,如本文所使用的术语“编码”可表示经由编码器的编码和/或经由解码器的解码。例如,视频编码器103和视频解码器105均可以是能够进行编码的编码装置的示例。

在一些示例中,视频编码系统100可包括附加项,其在图1中为了清楚起见而未示出。例如,视频编码系统100可包括处理器、射频类型(RF)收发器、显示器和/或天线。此外,视频编码系统100可包括附加项,例如扬声器、麦克风、加速计、存储器、路由器、网络接口逻辑等,其在图1中为了清楚起见而未示出。

如所示,视频编码系统100可包括预测模块102、变换模块104、量化模块106、扫描模块108和熵编码模块110。在各个实现中,视频编码系统100可配置成按照各种视频编码标准和/或规范来对视频数据(例如采取视频帧或图片的形式)进行编码。例如,视频编码系统100可接收输入视频数据101,并且传送或提供编码视频数据。如所示,预测模块102可实现分级相平面相关性模块130和块匹配模块140,其可提供分级相平面相关性,以便对那些候选以及可选地对附加候选生成候选运动向量和块匹配,以对第一视频帧的单独块确定匹配块和与匹配块关联的运动向量以及具有第一视频帧的多个单独块的运动向量的运动向量字段142,如下面进一步论述。在一些实现中,例如,分级相平面相关性模块130和块匹配模块140可经由运动估计器或者实际速度估计器来实现。例如,来自分级相平面相关性模块130的输出可反映画面中的实际运动,以及虽然它不可单独提供足够的精度,但是它可提供良好的初始候选运动向量供块匹配模块140使用。

除了所述运动估计之外,预测模块102还可使用输入视频数据101来执行空间和/或其它时间预测。例如,输入视频图像帧可分解为片(slice),其进一步细分为宏块以用于编码目的。预测模块102可应用已知空间(帧内)预测技术和/或已知时间(帧间)预测技术,以预测宏块数据值。

如所示,变换模块104则可将已知变换技术应用到宏块,以便对宏块数据进行空间解相关。本领域的技术人员可知道,例如,变换模块104可在应用适当确定大小变换矩阵之前,首先将16×16宏块细分为4×4或8×8块。

量化模块106则可响应量化控制参数(其例如可基于每宏块而改变)而量化变换系数。例如,对于8位样本深度,量化控制参数可具有52个可能值。另外,量化步长可以不是与量化控制参数线性相关的。

扫描模块108则可使用各种已知扫描顺序方案来扫描量化变换系数的矩阵,以生成变换系数符号元素串。变换系数符号元素以及诸如宏块类型、帧内预测模式、运动向量、参考图片索引、残差变换系数等的附加语法元素则可提供给熵编码模块110,其又可输出编码视频数据112。

现在参照预测模块102,如所示,预测模块102可接收输入视频数据101。输入视频数据101可包括任何适当输入数据,其中包括例如视频中的连续帧,包括第一帧、即帧k和第二帧、即帧k+1。将相对连续帧k和k+1来一般描述技术。此外,技术通常对原始视频帧来执行。在一些示例中,技术可在视频解码器处执行,使得所述技术可在对视频流(例如视频比特流)进行解码之后执行。在整个示例中,技术可用于任何类型的任何两个帧之间,例如I帧、P帧或B帧等。

如所示,分级相平面相关性模块130和块匹配模块140可接收帧k图像数据122和帧k+1图像数据124。图像数据可以是与帧关联的任何适当图像数据,例如帧的亮度数据。在其它示例中,图像数据可以是色度数据或者色度数据和亮度数据的组合。一般来说,仅使用亮度数据可提供在提供充分信息以生成运动向量字段142的同时限制计算的优点。

如所述,分级相平面相关性模块130可接收帧k图像数据122和帧k+1图像数据124。帧k图像数据122和帧k+1图像数据124可在预测模块102来接收,或者在预测模块102中从输入视频数据101来生成。分级相平面相关性模块130可对帧k图像数据122和帧k+1图像数据122执行相平面相关性,以生成候选运动向量132。候选运动向量132对于帧k图像数据122的单独块可包括一个或多个候选运动向量供块匹配模块140评估,如下面进一步论述。

一般来说,经由分级相平面相关性模块130所实现的分级相平面相关性可包括任何数量的分级等级,例如两个等级。可有利的是,例如限制分级等级,节省计算能力,同时仍然提供质量候选运动向量132。图2中示出使用两个等级、即局部等级和全局等级来分割帧的图像数据以用于分级相平面相关性的一个示例。

图2是按照本公开的至少部分实现所设置、分割和/或缩减视频帧的图像数据的说明图。如所示,帧k图像数据122对于全局等级相关性240可分为区域201-204,以及对于局部等级相关性250分为区域210。例如,区域201-204可称作全局区域,以及区域210可称作局部区域。如所示,在一些示例中,区域201-204可在重叠区206和208重叠。在其它示例中,可以不使用重叠。此外,重叠区206和208示出示例水平重叠,以及在一些示例中,垂直重叠(为了清楚起见而未示出)可用作所示水平重叠的补充或替代。类似地,区域210可在水平、垂直或者两个方向重叠,但是为了清楚起见,没有示出重叠。

如所述,帧k图像数据122对于全局相平面相关性可分为区域201-204。一般来说,任何数量的区域可用于全局等级相关性240,例如所示的4个区域。又如所述,帧k图像数据122对于局部相平面相关性可分为区域210。一般来说,任何数量的区域可用于局部等级相关性250,例如所示的64个区域。

此外,帧k图像数据122可以是任何分辨率和任何纵横比,例如1920×1080、2048×1024、2560×2048等。如将会理解,图2示出相对帧k图像数据122的所述分割操作。在所述技术中,帧k图像数据122和帧k+1图像数据124均可经过分割和处理,使得帧k图像数据122的任何区域具有帧k+1图像数据124的对应区域。但是,为了简洁起见,图2中未示出帧k+1图像数据124的分割。

如下面将要论述,对于区域201-204和区域210的单独区域,可执行相平面相关性(例如对于区域201-204的全局相平面相关性以及对于区域210的局部相平面相关性)。相平面相关性可在区域201-204的区域或者帧k图像数据122的区域210与k+1图像数据122的关联区域之间执行。可选地,在执行相平面相关性之前,区域201-204和/或区域210的部分或全部可经过缩减。例如,区域201-204可缩减成缩减区域220,如所示。缩减可通过任何适当技术来执行,例如像素丢弃(由此忽略混叠效应)。缩减区域220可具有任何适当大小,例如128×64像素的标准化大小。在各个示例中,区域210可选择为不要求缩减(如所示)的大小,或者区域210可类似地缩减。缩减区域220与局部等级中的所产生区域大小可以是相同大小,或者它们可以是不同的。一般来说,在全局等级和/或局部等级的缩减可通过任何缩减因子来执行。在一些示例中,缩减因子可以是二的幂,其可帮助便于硬件实现。

如所述,相平面相关性可包括使用两个等级(本文中为了方便起见将其标记为全局和局部)的分级相平面相关性。相平面相关性可包括将帧k图像数据122和帧k+1图像数据124分为全局区域(例如图2所示的4个区域),以及可选地将区域缩减成标准区域大小。类似地,相平面相关性可包括将帧k图像数据122和帧k+1图像数据124分为局部区域(例如区域210),以及可选地将区域缩减成标准区域大小。

现在回到图1,分级相平面相关性可继续执行全局相平面相关性和局部相平面相关性。全局相平面相关性可包括对帧k图像数据122的全局区域和帧k+1图像数据124的对应全局区域执行全局相平面相关性。类似地,局部相平面相关性可包括对帧k图像数据122的局部区域和帧k+1图像数据124的对应局部区域执行局部相平面相关性。一般来说,区域之间的相平面相关性可使用下列技术(首先针对帧k图像数据122的区域201(请参见图2)对其进行描述)来执行。

如所述,帧k图像数据122的区域201具有帧k+1图像数据124的对应区域。一般来说,如果区域表示视频帧(例如视频帧k和k+1)的相同部分或者基本相同部分,则它们可以是对应的。此外,如所述,帧k图像数据122的区域201和帧k+1图像数据124的对应区域可缩减某个缩减因子。

加窗函数可应用于帧k图像数据122的区域201和帧k+1图像数据124的对应区域(或者缩减区域)。加窗函数可包括例如汉明或凯撒加窗函数,并且可降低区域中的边缘效应。

离散傅立叶变换则可应用于帧k图像数据122的区域201和帧k+1图像数据124的对应区域。例如,离散傅立叶变换可使用基2快速傅立叶变换来实现。在一些示例中,离散傅立叶变换操作可如等式(1)和(2)所示来实现:

其中ga可以是帧k图像数据22的区域201(或者缩减和加窗区域201,如所述),gb可以是帧k+1图像数据124的对应区域(或者缩减和加窗对应区域,如所述),DFT可表示离散傅立叶变换,Ga可以是帧k图像数据122的变换区域201,以及Gb可以是帧k+1图像数据124的变换对应区域。

可确定帧k图像数据122的变换区域201与帧k图像数据122的对应区域201之间的互功率谱。可通过相乘帧k图像数据122的变换区域201的按元素谱和帧k+1图像数据124的变换对应区域的复共轭,并且归一化该乘积,来确定互功率谱。示例互功率谱确定在等(3)示出:

其中,R可以是互功率谱,以及Gb*可以是帧k+1图像数据124的变换对应区域的复共轭。

离散傅立叶逆变换可应用于互功率谱,以及可执行对逆变换互功率谱的可选快速傅立叶变换移位,以生成相关性平面。可应用离散傅立叶逆变换,如等式(4)所示:

其中,r可以是逆变换互功率谱,以及DFT-1可以是离散傅立叶变换。可选快速傅立叶变换移位可包括交换逆变换互功率谱的第一和第三以及第二和第四象限中的元素。示例快速傅立叶变换移位在等(5)示出:

其中,c可以是相关性平面,以及fftshift可以是快速傅立叶变换移位操作。

峰值的相关性可在相关性平面中确定,以确定与帧k图像数据122的区域201和帧k+1图像数据124的对应区域关联的候选运动向量。例如,峰值的索引可表示帧k图像数据122的区域201与帧k+1图像数据124的对应区域之间的位移。峰值的相关性可如等式(5)所示来确定:

其中,Δx、Δy可以是候选运动向量,argmax可以是返回最大数的操作的操作,以及x、y可表示所评估的可能候选向量峰值。

一般来说,所述相平面相关性(即,将加窗函数应用于两个对应区域,将离散傅立叶变换应用于区域,确定区域之间的互功率谱,将离散傅立叶逆变换应用于互功率谱,可选地对逆变换互功率谱执行快速傅立叶变换移位以生成相关性平面,和/或确定相关性平面中的峰值的相关性以确定候选运动向量)可对任何两个对应区域来执行。参照图2,例如,可对帧k图像数据122的区域201-204和帧k+1图像数据124的对应区域执行相平面相关性(具有或者没有所述缩减)。类似地,可对帧k图像数据122的区域210和帧k+1图像数据124的对应区域执行相平面相关性(具有或者没有所述缩减)。在所示示例中,所述相平面相关性在两个分级等级来实现,即全局等级相关性240和局部等级相关性250。在其它示例中,可使用更多等级,例如三个或四个等级。

现在回到图1,可将候选运动向量132传递给块匹配模块140。一般来说,候选运动向量132可包括与上述分级相平面相关性关联的运动向量。块匹配模块140可基于与候选运动向量132关联的单独块和候选块,来对帧k图像数据的单独块执行块匹配。为了便于说明,参照图3。图3是按照本公开的至少部分实现所设置的、视频帧的图像数据中的单独块310的说明图。图3示出帧k图像数据122的区域201-204、帧k图像数据122的区域210(为了清楚起见而示出单个区域210)和单独块310。如将会理解,帧k图像数据122可包括任何数量的单独块(将要对其确定运动向量),但是为了清楚起见而示出单个单独块310。如所示,单独块310可处于全局区域201中,以及单独块310可处于局部区域210中。

如所述,候选运动向量及帧k+1图像数据124的关联候选块可相对帧k图像数据122的单独块310来评估,以确定帧k+1图像数据124的匹配块及关联运动向量。如将会理解,匹配块可以是“最佳匹配”,并且可以不一定精确地匹配单独块。为了便于说明,参照图4。图4是按照本公开的至少部分实现所设置的、视频帧的图像数据之间的块匹配的说明图。如图4所示,可将帧k图像数据122的单独块310与帧k+1图像数据124的候选块415进行比较。如将会理解,图4中,虽然单独块310是帧k图像数据122(而不是帧k+1图像数据124)的块,但是为了呈现候选运动向量420,也在帧k+1图像数据124中(在与帧k图像数据122中相同的位置中)示出。一般来说,候选块415可从单独块310位移候选运动向量420,如所示。此外,图4示出,候选块415可通过候选运动向量420来定义或描述。也就是说,给定候选运动向量420(和单独块310),候选块415可被确定并且随后被评估。例如,参照图1,候选运动向量132可用来定义或确定关联候选块,供块匹配模块140评估。

图4中,示出单个候选块415及关联候选运动向量420。一般来说,可评估任何数量的候选块及关联候选运动向量,以查找最佳匹配。例如,来看图3,与区域210关联的候选运动向量以及与区域201关联的候选运动向量(如通过所述分级相平面相关性所确定)可对单独块310来评估,使得全局和局部区域(单独块310所在的)的候选运动向量用作候选运动向量,并且评估关联候选块。此外,在一些示例中,可使用与另一个候选运动向量(其基于上述全局相平面相关性所确定)关联的帧k+1图像数据124的附加候选块。例如,附加候选运动向量可以是来自相邻区域(全局或者局部,如上所述)的候选运动向量,或者是基于相平面相关性对该区域(全局或者局部,如上所述)所确定的第二候选运动向量,等等。

此外,如图1所示,在一些实现中,块匹配模块140可接收或保留前一个运动向量字段144,其可以是包括来自前一迭代(例如帧k-1和帧k的评估)的最佳匹配(或者“胜出”)运动向量的每个或部分向量的向量字段。在这类实现中,帧k+1图像数据124的候选块可基于单独块310的前一个最佳匹配运动向量来确定。例如,在前一迭代中,可实现所述过程,以确定单独块310的最佳匹配运动向量。前一迭代最佳匹配运动向量可(在当前迭代)用来确定关联候选块。这种候选运动向量和候选块可提供潜在最佳匹配,因为视频中的运动趋向于包括恒定速度运动。

在其它实现中,来自前一迭代的最佳匹配(或者“胜出”)运动向量也可被修改某个修改向量,以及经修改的向量可用来确定关联候选块。可基于试探算法或者预定修改设定等,来确定修改向量。例如,在恒定速度假设需要仅被修改小量的情况下,这种候选运动向量和候选块可提供潜在最佳匹配。经修改的向量可用来补充或替代前一个最佳匹配运动向量。

在一些实现中,来自单独块310的邻居的最佳匹配向量可用作候选向量。这类实现可提供优点,因为区域或对象可趋向于在视频中共同移动。例如,单独块310的一个或多个相邻块可具有最佳匹配运动向量(在当前迭代),以及那些相邻最佳匹配运动向量的一个或多个可用来确定对应一个或多个候选区域。通常,单独块310可具有八个相邻块(上、下、左、右和四个角)。此外,在一些示例中,中值滤波器可应用于三个或四个相邻最佳匹配运动向量,以确定候选运动向量。中值滤波器可提供输入相邻最佳匹配运动向量的中值。在一个示例中,中值滤波器可被提供三个相邻最佳匹配运动向量,并且所产生的中值向量可以是候选运动向量,使得候选块可从候选运动向量来确定。

如所述,多种候选运动向量可由块匹配模块140来评估。一般来说,可使用所述候选运动向量的任一个或全部的任何组合。在任何情况下,块匹配模块140可对与所实现候选运动向量关联的候选块执行块匹配,以确定匹配块。匹配块可以是对来自候选块的个体的最佳匹配。例如,执行块匹配可包括评估单独块与候选块之间的绝对差之和,以确定匹配块,使得具有绝对差的最小和数的候选块被确定为匹配块。如图1所示,可在块匹配模块140基于帧k图像数据122的单独块和帧k+1图像数据124的候选块,来确定绝对差之和。

一般来说,绝对差之和可基于任何图像数据,例如亮度数据、色度数据或者色度数据和亮度数据的组合。示例绝对差之和在如下等式(6)示出:

其中,SAD可以是绝对差之和,C可以是候选块的位置,X可以是单独块的位置(基于左上像素),x可以是候选块和单独块中的单个像素的位置,以及F可以是图像数据。

如所述,基于候选块的最佳匹配,可选择单独块的运动向量。这类技术可对于帧k图像数据122的单独块的任一个或全部重复进行或者并行(或者部分并行)执行,以及所评估块的最佳匹配运动向量可定义描述从帧k图像数据122到帧k+1图像数据124的变换的运动向量字段142。此外,运动向量字段142可在预测模块102经过修改、与其它运动估计信息、帧间信息、帧内信息等相结合。所产生的数据可传递给变换模块104供进一步处理,如上所述,使得可提供编码视频数据112。如所述,编码视频数据112可至少部分基于所确定运动向量字段142和其中的最佳匹配运动向量。

如下面将更详细论述,如图1所述的视频编码系统100可用来执行以下结合图5和/或图6所述的各种功能的部分或全部。

图5是示出按照本公开的至少部分实现所设置的示例视频编码过程500的流程图。在所示实现中,过程500可包括如通过框502、504和/或506中的一个或多个所示的一个或多个操作、功能或动作。作为非限制性示例,本文中将参照图1和/或图7的示例视频编码系统100来描述过程500。虽然如所示,过程500针对编码,但是所述的概念和/或操作一般可按照相同或相似方式应用于编码,包括解码。

过程500可用作运动估计的计算机实现方法。过程500可开始于框502“对第一和第二视频帧的图像数据执行分级相平面相关性,以生成候选运动向量”,其中可执行对第一视频帧的图像数据和第二视频帧的图像数据的分级相平面相关性,以生成多个候选运动向量。例如,分级相平面相关性模块可对帧k图像数据122和帧k+1图像数据124执行全局等级相关性和局部等级相关性,以生成候选运动向量132。

处理可从操作502继续进行到操作504“基于第一视频帧的图像数据的单独块和第二视频帧的图像数据的候选块来执行块匹配,以确定匹配块”,其中可对于第一视频帧的图像数据的单独块和第二视频帧的图像数据的候选块来执行块匹配,以确定匹配块。候选块可与候选运动向量的候选运动向量关联。例如,第一候选块可与第一候选运动向量(其使用帧k+1图像数据124的全局区域的相平面相关性所确定)关联,使得单独块处于全局区域中,以及第二候选块可与第二候选运动向量(其使用帧k+1图像数据124的局部区域的相平面相关性所确定)关联,使得单独块处于局部区域中。

处理可从操作504继续进行到操作506“基于单独块和匹配块来确定单独块的运动向量”,其中单独块的运动向量可基于单独块和匹配块来确定。例如,运动向量可包括单独块与匹配块之间的位移。

如所述,过程500可对任何数量的单独块串行或并行地重复进行任何次数。所产生的运动向量(与各单独块的匹配块关联)可相结合,以形成运动向量字段、例如运动向量字段142。

在以下针对图6更详细论述的实现的一个或多个示例中可示出与过程500相关的一些附加和/或备选细节。

图6是按照本公开的至少部分实现所设置的、操作中的示例视频编码系统100和视频编码过程600的说明图。在所示实现中,过程600可包括如通过动作601、602、603、604、605、606、607、608、609、610、611、612、613、614、615、616和/或617中的一个或多个所示的一个或多个操作、功能或动作。作为非限制性示例,本文中将参照图1和/或图7的示例视频编码系统100来描述过程600。

在所示实现中,视频编码系统100可包括逻辑模块620等和/或其组合。例如,逻辑模块620可包括预测模块102,其可包括分级相平面相关性模块130和/或块匹配模块140等和/或其组合。虽然如图6所示,视频编码系统600可包括与特定模块关联的一组特定块或动作,但是这些块或动作可与不同于这里所示特定模块的模块关联。虽然如所示,过程600针对解码,但是所述的概念和/或操作一般可按照相同或相似方式应用于编码,包括编码。

过程600可开始于框601和/或框612“接收图像数据”,其中第一和第二视频帧的图像数据可由分级相平面相关性模块130和/或块匹配模块140来接收。例如,分级相平面相关性模块130和/或块匹配模块140可接收帧k图像数据122和帧k+1图像数据124。模块可同时或者按照任何顺序来接收图像数据,使得模块具有数据以执行所述处理。

处理可从操作601继续进行到操作602“执行分级相平面相关性”,其中可执行对第一视频帧的图像数据和第二视频帧的图像数据的分级相平面相关性,以生成多个候选运动向量。例如,分级相平面相关性模块可对帧k图像数据122和帧k+1图像数据124执行全局等级相关性和局部等级相关性,以生成候选运动向量132。

如所示,操作602可包括子操作603和604。在操作603“将图像数据分为全局和局部区域”,第一和第二视频帧的图像数据可分为全局区域和/或局部区域。例如,帧k图像数据122可分为全局区域201-204和局部区域210,以及帧k+1图像数据124可分为对应全局区域和对应局部区域。虽然较长6中未示出,但是全局区域和/或局部区域可以可选地如本文所述来缩减。

处理可从操作603继续进行到操作604“执行全局和局部等级相关性”,其中可对全局区域执行全局相平面相关性,和/或可对局部区域执行局部相平面相关性,以生成候选运动向量。例如,可对帧k图像数据122的全局区域201-204和帧k+1图像数据124的对应全局区域来执行全局相平面相关性,以及可对帧k图像数据122的局部区域210和帧k+1图像数据124的对应局部区域来执行局部相平面相关性。

如所示,操作604可包括子操作605-610。在操作605“应用加窗”,加窗函数可应用于第一视频帧的图像数据的全局区域和第二视频帧的图像数据的对应全局区域,和/或加窗函数可应用于第一视频帧的图像数据的局部区域和第二视频帧的图像数据的对应局部区域。例如,加窗函数可应用于帧k图像数据122的全局区域201-204和帧k+1图像数据124的对应全局区域,以及加窗函数可应用于帧k图像数据122的局部区域210和帧k+1图像数据124的对应局部区域。

处理可从操作605继续进行到操作606“应用离散傅立叶变换(DFT)”,其中离散傅立叶变换可应用于全局区域(如通过加窗所修改),和/或离散傅立叶变换可应用于局部区域(如通过加窗所修改)。例如,离散傅立叶变换可应用于帧k图像数据122的全局区域201-204和帧k+1图像数据124的对应全局区域,以及离散傅立叶变换可应用于帧k图像数据122的局部区域210和帧k+1图像数据124的对应局部区域。

处理可从操作606继续进行到操作607“确定互功率谱”,其中可在第一视频帧的图像数据的每个全局区域与第二视频帧的图像数据的对应全局区域之间确定互功率谱,和/或可在第一视频帧的图像数据的每个局部区域与第二视频帧的图像数据的对应局部区域之间确定互功率谱。例如,可对帧k图像数据122的全局区域201-204的每个和帧k+1图像数据124的对应全局区域确定互功率谱,以及可对帧k图像数据122的局部区域210的每个和帧k+1图像数据124的对应局部区域确定互功率谱。

处理可从操作607继续进行到操作608“应用离散傅立叶逆变换(IDFT)”其中离散傅立叶变换可应用于每个互功率谱。此外,可对应用于每个互功率谱的离散傅立叶变换的结果来执行可选的快速傅立叶变换移位。在任一种情况下,可确定相关性平面。例如,可对帧k图像数据122的全局区域201-204的每个和帧k+1图像数据124的对应全局区域以及对帧k图像数据122的局部区域210的每个和帧k+1图像数据124的对应局部区域来生成相关性平面。

处理可从操作608继续进行到操作609“确定相关性峰值”,其中可确定相关性平面中的相关性峰值。例如,可对帧k图像数据122的全局区域201-204的每个和帧k+1图像数据124的对应全局区域以及对帧k图像数据122的局部区域210的每个和帧k+1图像数据124的对应局部区域来确定相关性峰值。

处理可从操作609继续进行到操作610“确定候选运动向量”,其中候选运动向量可基于使用相关性平面所确定的相关性峰值来确定。例如,单独块可处于全局区域和局部区域中,以及候选运动向量可包括单独块的局部候选运动向量和全局候选向量。

如所述,操作605-610可被认为是操作604的子操作,以及操作603和604可被认为是操作602的子操作。因此,处理可从操作602继续进行到操作611“传递候选运动向量”,其中候选运动向量可从分级相平面相关性模块130传递给块匹配模块140。

处理可从操作611继续进行到可选操作613“接收或生成附加候选”,其中可接收或生成附加运动向量候选。例如,附加运动向量候选可由块匹配模块140来生成或者例如从预测模块102的另一个模块来接收。附加运动向量候选可包括本文所述的任一个,例如与前一迭代中对单独区域所选的运动向量关联的候选运动向量、与前一迭代中对单独区域所选的、通过修改向量所修改的运动向量关联的候选运动向量或者与单独块的相邻块关联的候选运动向量等。

处理可从操作613继续进行到操作614“执行块匹配”,其中可对第一视频帧的图像数据的单个块和第二视频帧的图像数据的候选块来执行块匹配,以确定匹配块。例如,块匹配模块140可基于与任何所接收或所生成候选运动向量关联的候选块,使用绝对差之和技术,来执行单独块的块匹配。

处理可从操作614继续进行到操作615“确定运动向量”,其中单独块的运动向量可基于单独块和匹配块来确定。例如,运动向量可包括单独块与匹配块之间的位移。

处理可从操作615继续进行到操作616“确定运动向量字段”,其中可确定运动向量字段。一般来说,操作613-615可对第一视频帧的图像数据的任何单独块执行。所确定的运动向量可相结合,以形成运动向量字段。

处理可从操作616继续进行到操作617“传递运动向量字段”,其中可从块匹配模块140来传递运动向量字段。例如,块匹配模块140可将运动向量字段142传递给预测模块102的另一个模块供进一步处理,使得数据可从预测模块102传递给变换模块104,以及最终可提供编码视频数据。

在操作中,如图5和图6所示的过程500和600可操作以使得运动估计的实际速度估计可应用于视频压缩的问题,并且可被认为是将要在国际视频编解码器委员会中标准化的潜在技术。虽然示例过程500和600的实现可包括按照所示顺序进行所示的全部框,但是本公开并不局限于这个方面,以及在各个示例中,过程500和600的实现可包括仅进行所示框的子集和/或按照与所示的不同顺序进行。

另外,图5和图6的框的任一个或多个可响应由一个或多个计算机程序产品所提供的指令而进行。这类程序产品可包括提供指令的信号承载介质,其中指令在由例如处理器运行时可提供本文所述的功能性。计算机程序产品可采取计算机可读介质的任何形式来提供。因此,例如,包括一个或多个处理器核心的处理器可响应由计算机可读介质传送给处理器的指令而进行图5和图6所示框的一个或多个。

如本文所述的任何实现中所使用的术语“模块”表示配置成提供本文所述功能性的软件、固件和/或硬件的任何组合。软件可体现为软件包、代码和/或指令集或指令,以及如本文所述的任何实现中所使用的“硬件”可单独或者按照任何组合来包括例如硬连线电路、可编程电路、状态机电路和/或存储由可编程电路所运行的指令的固件。模块可共同或者单独地体现为形成较大系统的组成部分的电路,例如集成电路(IC)、芯片上系统(SoC)等。

本文所述的实际速度估计可在诸如视频压缩、帧速率上变换、数字图像稳定化等的多种应用中使用。为了比较所述技术,将它们与使用帧速率上变换的标准技术进行比较。在那些实验比较中,将本文所述的实际速度估计与全搜索块匹配以及对每秒从30至60的帧速率上变换的全高清晰度(HD)视频的市场销售实现进行比较。本文所述的实际速度估计的计算要求充分小于全搜索块匹配(要小大约820倍的因子)。虽然本文所述实际速度估计和市场销售实现的计算要求的比较不可得到,但是预计它们与商场销售实现相比将具有竞争力或者更小。

使用已知帧并且通过本文所述实际速度估计、全搜索块匹配和市场销售实现来比较使用速率上变换所确定的帧,使用峰值信噪比(PSNR)和主观评估来将所确定帧与已知(或参考帧)进行比较。在PSNR中,本文所述的实际速度估计在12个被测序列的11个中胜过全搜索块匹配和市场销售实现,以及在主观评估中发现相似结果。

给定本文所述实际速度估计的计算要求以及结果的客观和主观质量,本文所述的实际速度估计可提供充分改进。此外,本文所述的实际速度估计可以是高度可编程的,并且适合大量硬件架构。

此外,如所述,在一些示例中,离散傅立叶变换可使用基2快速傅立叶变换来实现。在一些实现中,基2快速傅立叶变换可采用定点复数来优化,以得到大级别的指令和数据并行性。例如,在使用除法的情况下,可使复数左移位零的前导数。如果复数的实部的绝对值大于虚部的绝对值,则零的前导数可取自复数的实部,以及反之,如果虚部的绝对值大于实部的绝对值,则前导零的数可取自复数的虚部。

图7是按照本公开的至少部分实现所设置的示例视频编码系统100的说明图。在所示实现中,视频编码系统100可包括(一个或多个)成像装置701、视频编码器702、天线703、视频解码器704、一个或多个处理器706、一个或多个存储器库708、显示装置710和/或逻辑模块620。逻辑模块620可包括预测模块102,其可包括分级相平面相关性模块130和块匹配模块140等和/或其组合。

如所示,天线703、视频解码器704、处理器706、存储器库708和/或显示器710可以能够相互进行通信和/或与逻辑模块620的部分进行通信。类似地,(一个或多个)成像装置701和视频编码器702可以能够相互进行通信和/或与逻辑模块620的部分进行通信。相应地,视频编码器702可包括逻辑模块620的全部或部分,同时视频解码器704可包括相似逻辑模块。虽然如图7所示,视频编码系统100可包括与特定模块关联的一组特定块或动作,但是这些块或动作可与不同于这里所示特定模块的模块关联。

在一些示例中,视频编码系统100可包括天线703、视频解码器704等和/或其组合。天线703可配置成传送视频数据。视频编码器702可在通信上耦合到天线703,并且可配置成提供视频数据、例如编码比特流数据。

在一些示例中,视频编码系统100可包括显示装置710、一个或多个处理器706、一个或多个存储器库708和/或其组合。显示装置710可配置成例如呈现来自视频解码器704的视频数据。处理器706可在通信上耦合到视频编码器702,其可在通信上耦合到天线703。存储器库608可在通信上耦合到一个或多个处理器706。分级相平面相关性模块130和块匹配模块140可在通信上耦合到一个或多个处理器706(在一些示例中经由视频编码器702),并且可配置成使用分级相平面相关性和块匹配来执行运动估计,如本文所述。

在一些示例中,视频编码系统100可包括天线703、一个或多个处理器706、一个或多个存储器库708和/或其组合。处理器706可在通信上耦合到视频编码器702,其可在通信上耦合到天线703。存储器库608可在通信上耦合到一个或多个处理器706。分级相平面相关性模块130和块匹配模块140可在通信上耦合到一个或多个处理器706(在一些示例中经由视频编码器702),并且可配置成使用分级相平面相关性和块匹配来执行运动估计,如本文所述。天线703可配置成在视频编码器702与视频解码器704之间传送视频数据,例如至少部分基于所确定运动向量来传送视频数据。

在各个实施例中,分级相平面相关性模块130和/或块匹配模块140可通过硬件、软件、固件或者其组合来实现。例如,在一些实施例中,分组相平面相关性模块130和/或块匹配模块140可通过专用集成电路(ASIC)逻辑来实现。在其它实施例中,分级相平面相关性模块130和/或块匹配模块140可经由图形处理单元来实现。另外,存储器库708可以是任何类型的存储器,例如易失性存储器(例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或者非易失性存储器(例如闪速存储器等)等。在一个非限制性示例中,存储器库708可通过高速缓冲存储器来实现。

图8示出按照本公开的示例系统800。在各个实现中,系统800可以是媒体系统,但是系统800并不局限于这个上下文。例如,系统800可结合到个人计算机(PC)、膝上型计算机、超膝上型计算机、平板、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能装置(例如智能电话、智能平板或者智能电视机)、移动因特网装置(MID)、消息传递装置、数据通信装置等。

在各个实现中,系统800包括耦合到显示器820的平台802。平台802可从诸如(一个或多个)内容服务装置830或者(一个或多个)内容传递装置840之类的内容装置或者其它类似内容源来接收内容。包括一个或多个导航特征的导航控制器850可用来与例如平台802和/或显示器820进行交互。下面更详细描述这些组件的每个。

在各个实现中,平台802可包括芯片组805、处理器810、存储器812、存储装置814、图形子系统815、应用816和/或无线电单元818的任何组合。芯片组805可提供处理器810、存储器812、存储装置814、图形子系统815、应用816和/或无线电单元818之间的相互通信。例如,芯片组805可包括存储适配器(未示出),其能够提供与存储装置814的相互通信。

处理器810可实现为复杂指令集计算机(CISC)或简化指令集计算机(RISC)处理器、x86指令集兼容处理器、多核心或者任何其它微处理器或中央处理器(CPU)。在各个实现中,处理器810可以是(一个或多个)双核处理器、(一个或多个)双核移动处理器等。

存储器812可实现为易失性存储器装置,非限制性地例如随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。

存储装置814可实现为非易失性存储装置,非限制性地例如磁盘驱动器、光盘驱动器、磁带驱动器、内部存储装置、附连存储装置、闪速存储器、电池备用SDRAM(同步DRAM)和/或网络可访问存储装置。在各个实现中,例如,存储装置814可包括在包括多个硬盘驱动器时增加有价值数字媒体的存储性能增强保护的技术。

图形子系统815可执行诸如静止或视频之类的图像的处理供显示。例如,图形子系统815可以是图形处理单元(GPU)或者视觉处理单元(VPU)。模拟或数字接口可用来在通信上耦合图形子系统815和显示器820。例如,接口可以是高清晰度多媒体接口、显示器端口、无线HDMI和/或符合无线HD的技术中的任一个。图形子系统815可集成到处理器810或芯片组805中。在一些实现中,图形子系统815可以是通信上耦合到芯片组805的独立卡。

本文所述的图形和/或视频处理技术可通过各种硬件架构来实现。例如,图形和/或视频功能性可集成在芯片组中。备选地,可使用分立图形和/或视频处理器。作为又一实现,图形和/或视频功能可通过包括多核处理器的通用处理器来提供。在其它实施例中,功能可在消费电子装置中实现。

无线电单元818可包括一个或多个无线电单元,其能够使用各种适当的无线通信技术来传送和接收信号。这类技术可涉及跨一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(WLAN)、无线个人区域网络(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在跨这类网络的通信中,无线电单元818可按照任何版本的一个或多个适用标准进行操作。

在各个实现中,显示器820可包括任何电视机类型监视器或显示器。显示器820可包括例如计算机显示屏幕、触摸屏显示器、视频监视器、类似电视机的装置和/或电视机。显示器820可以是数字和/或模拟的。在各个实现中,显示器820可以是全息显示器。另外,显示器820可以是可接收视觉投影的透明表面。这类投影可传送各种形式的信息、图像和/或对象。例如,这类投影可以是移动增强现实(MAR)应用的视觉覆盖。在一个或多个软件应用816的控制下,平台802可在显示器820上显示用户界面822。

在各个实现中,(一个或多个)内容服务装置830可由任何国家、国际和/或单独服务来托管,并且因而是平台802经由例如因特网可访问的。(一个或多个)内容服务装置830可耦合到平台802和/或显示器820。显示器802和/或(一个或多个)内容服务装置830可耦合到网络860,以便向/从网络860传递(例如发送和/或接收)媒体信息。内容传递装置840也可耦合到平台802和/或显示器820。

在各个实现中,(一个或多个)内容服务装置830可包括有线电视盒、个人计算机、网络、电话、因特网使能装置或者能够传递数字信息和/或内容的设备以及能够在内容提供商与平台802和/或显示器820之间、经由网络860或者直接地单向或双向传递内容的任何其它类似装置。将会理解,可经由860向/从系统800中的组件的任一个和内容提供商单向和/或双向传递内容。内容的示例可包括任何媒体信息,其中包括例如视频、音乐、医疗和游戏信息等。

(一个或多个)内容服务装置830可接收内容,例如包括媒体信息的有线电视节目、数字信息和/或其它内容。内容提供商的示例可包括任何有线或卫星电视或无线电或者因特网内容提供商。所提供示例并不是要以任何方式来限制按照本公开的实现。

在各个实现中,平台802可从具有一个或多个导航特征的导航控制器850接收控制信号。例如,控制器850的导航特征可用来与用户界面822进行交互。在实施例中,导航控制器850可以是指针装置,其可以是允许用户将空间(例如连续并且多维的)数据输入计算机中的计算机硬件组件(特别是人性化界面装置)。诸如图形用户界面(GUI)之类的许多系统以及电视机和监视器允许用户使用形体姿态来控制并且将数据提供给计算机或电视机。

通过显示器上显示的移动指针、光标、聚焦环或者其它视觉指示符,可在显示器(例如显示器820)上复制控制器850的导航特征的移动。例如,在软件应用816的控制下,位于导航控制器850上的导航特征可映射到例如用户界面822上显示的虚拟导航特征。在实施例中,控制器850可以不是独立组件,而是可集成到平台802和/或显示器820中。但是,本公开并不局限于本文所示或所述的元件或上下文。

在各个实现中,驱动程序(未示出)可包括使用户能够例如通过在引导之后触摸按钮(在被启用时)来立即接通和关断平台802、例如电视机的技术。程序逻辑可允许平台802甚至在平台“关断”时,也将内容流播到媒体适配器或者(一个或多个)其它内容服务装置830或者(一个或多个)内容传递装置840。另外,例如,芯片组805可包括对(7.1)环绕声音频和/或高清晰度(7.1)环绕声音频的硬件和/或软件支持。驱动程序可包括集成图形平台的图形驱动程序。在实施例中,图形驱动程序可包括外设部件互连(PCI)Express图形卡。

在各个实现中,可集成系统800中所示组件的任一个或多个。例如,可集成平台802和(一个或多个)内容服务装置830,或者可集成平台802和(一个或多个)内容传递装置840,或者例如可集成平台802、(一个或多个)内容服务装置830和(一个或多个)内容传递装置840。在各个实施例中,平台802和显示器820可以是集成单元。例如,可集成显示器820和(一个或多个)内容服务装置830,或者可集成显示器820和(一个或多个)内容传递装置840。这些示例并不是要限制本公开。

在各个实施例中,系统800实现为无线系统、有线系统或者两者的组合。当实现为无线系统时,系统800可包括适合于通过无线共享介质(例如一个或多个天线、发射器、接收器、收发器、放大器、滤波器、控制逻辑等)进行通信的组件和接口。无线共享介质的一个示例包括无线谱的部分,例如RF谱等。当实现为有线系统时,系统800可包括适合于通过有线通信介质(例如输入/输出(I/O)适配器、将I/O适配器与对应有线通信介质连接的物理连接器、网络接口卡(NIC)、磁盘控制器、视频控制器、音频控制器等)进行通信的组件和接口。有线通信介质的示例可包括电线、电缆、金属引线、印刷电路板(PCB)、底板、交换结构、半导体材料、双绞线、同轴电缆、光纤等。

平台802可建立一个或多个逻辑或物理信道以传递信息。信息可包括媒体信息和控制信息。媒体信息可表示预计送往用户的内容的任何数据。内容的示例可包括例如来自语音转换的数据、电视会议、流播视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等。来自语音转换的数据可以是例如话音信息、静寂周期、背景噪声、舒适噪声、信号音等。控制信息可表示预计用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可用于通过系统路由媒体信息,或者指示节点以预定方式处理媒体信息。但是,实施例并不局限于图8所示或所述的元件或上下文。

如上所述,系统800可按照变化物理样式或形状因数来实施。图9示出其中可包含系统800的小形状因数装置900的实现。在实施例中,例如,装置900可实现为具有无线能力的移动计算装置。例如,移动计算装置可指具有处理系统和移动电源或电力供应、例如一个或多个电池的任何装置。

如上所述,移动计算装置的示例可包括个人计算机(PC)、膝上型计算机、超膝上型计算机、平板、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能装置(例如智能电话、智能平板或者智能电视机)、移动因特网装置(MID)、消息传递装置、数据通信装置等。

移动计算装置的示例还可包括设置成供人佩戴的计算机,例如手腕计算机、手指计算机、指环计算机、眼镜计算机、皮带夹计算机、臂章计算机、靴式计算机、服饰计算机和其它可佩戴计算机。在各个实施例中,例如,移动计算装置可实现为智能电话,其能够运行计算机应用以及进行语音通信和/或数据通信。虽然作为举例可采用实现为智能电话的移动计算装置来描述一些实施例,但是可理解,其它实施例也可使用其它无线移动计算装置来实现。实施例并不局限于这个上下文。

如图9所示,装置900可包括壳体902、显示器904、输入/输出(I/O)装置906和天线908。装置900还可包括导航特征912。显示器904可包括适合于移动计算装置、用于显示信息的任何适当显示单元。I/O装置906可包括用于将信息输入移动计算装置中的任何适当I/O装置。I/O装置906的示例可包括字母数字键盘、数字键盘、触摸板、输入按键、按钮、开关、摇臂开关、麦克风、扬声器、语音识别装置和软件等。信息也可通过话筒(未示出)输入到装置900中。这种信息可由语音识别装置(未示出)来数字化。实施例并不局限于这个上下文。

各个实施例可使用硬件元件、软件元件或者它们两者的组合来实现。硬件元件的示例可包括处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑装置(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或者它们的任何组合。确定实施例是否使用硬件元件和/或软件元件来实现的步骤可按照任何数量的因素而改变,例如预期计算速率、功率级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其它设计和性能限制。

至少一个实施例的一个或多个方面可通过机器可读介质上存储的、表示处理器中的各种逻辑的代表指令来实现,礤在由机器读取时使机器制作执行本文所述技术的逻辑。称作“IP核心”的这类表示可存储在有形机器可读介质上,并且提供给各种客户或制造设施,以便加载到实际制作逻辑或处理器的制造机器中。

虽然参照各个实现描述了本文所提出的某些特征,但是本描述不是要理解为限制性的。因此,本公开所涉及的领域的技术人员清楚知道的本文所述实现的各种修改的各种修改以及其它实现被认为落入本公开的精神和范围之内。

以下示例涉及其它实施例。

在一个示例中,运动估计的计算机实现方法可包括对第一视频帧的图像数据和第二视频帧的图像数据执行分级相平面相关性,以生成多个候选运动向量。对于第一视频帧的图像数据的单独块,块匹配可基于单独块以及第二视频帧的图像数据的第一候选块和第二候选块来执行,以确定匹配块,使得第一候选块与候选运动向量的第一候选运动向量关联,并且第二候选块与候选运动向量的第二候选运动向量关联。单独块的运动向量可基于单独块和匹配块来确定。

在运动估计的计算机实现方法的另一示例中,分级相平面相关性可包括两个等级。两个等级可包括全局等级相关性和局部等级相关性。执行全局等级相关性可包括将第一视频帧的图像数据和第二视频帧的图像数据分为全局区域,将所有全局区域缩减成标准区域大小,以及对第一视频帧的图像数据的全局区域和第二视频帧的图像数据的对应全局区域执行全局相平面相关性,其中全局区域包括4个全局区域。执行全局相平面相关性可包括将加窗函数应用于第一视频帧的图像数据的全局区域的第一全局区域和第二视频帧的图像数据的对应全局区域,将离散傅立叶变换应用于第一全局区域和对应全局区域,确定变换第一全局区域与变换对应全局区域之间的互功率谱,将离散傅立叶逆变换应用于互功率谱,对逆变换互功率谱执行快速傅立叶变换移位以生成相关性平面,以及确定相关性平面中的峰值的相关性以确定第一候选运动向量。离散傅立叶变换可使用基2快速傅立叶变换来实现。单独块可处于第一全局区域中。执行局部等级相关性可包括将第一视频帧的图像数据和第二视频帧的图像数据分为多个局部区域,以及对第一视频帧的图像数据的多个局部区域和第二视频帧的图像数据的对应多个局部区域执行局部相平面相关性。执行局部相平面相关性可包括将加窗函数应用于第一视频帧的图像数据的多个区域的第一局部区域和第二视频帧的图像数据的多个区域的对应局部区域,将离散傅立叶变换应用于第一局部区域和对应局部区域,确定变换第一局部区域与变换对应局部区域之间的互功率谱,将离散傅立叶逆变换应用于互功率谱以生成相关性平面,以及确定相关性平面中的峰值的相关性以确定第二候选运动向量。离散傅立叶变换可使用基2快速傅立叶变换来实现。单独块可处于第一局部区域中。执行块匹配还可包括基于下列项来执行块匹配:第二视频帧的图像数据的第三候选块,使得第三候选块可与第三候选运动向量(其至少部分基于全局相平面相关性所确定)关联;第二视频帧的图像数据的第四候选块,使得第四候选块可与第四候选运动向量(其至少部分基于局部相平面相关性所确定)关联;第二视频帧的图像数据的第五候选块,使得第五候选块可与第五候选运动向量(其基于前一运动估计迭代中对单独区域所选的运动向量所确定)关联;第二视频帧的图像数据的第六候选块,使得第六候选块可与第六候选运动向量(其基于前一运动估计迭代中对单独区域所选的、通过修改向量所修改的运动向量所确定)关联,其中修改向量基于试探算法来确定;以及第二视频帧的图像数据的第七候选块,使得第七候选块与第七候选运动向量(其基于由与单独块相邻的块所选的一个或多个运动向量所确定)关联。第七候选运动向量可基于由与单独块相邻的块所选的三个运动向量的中值滤波器来确定。执行块匹配可包括评估单独块与候选块的每个之间的绝对差之和。第一视频帧的图像数据可包括第一视频帧的亮度数据,以及第二视频帧的图像数据可包括第二视频帧的亮度数据。第一视频帧和第二视频帧可以是视频中的连续帧。

在另一个示例中,用于计算机上的视频编码的系统可包括天线、一个或多个处理器、一个或多个存储器库、编码装置、相相关性模块和块匹配模块。天线可配置成传送视频数据。一个或多个存储器库在通信上可耦合到一个或多个处理器。编码装置可在通信上耦合到一个或多个处理器和天线。相相关性模块可经由编码装置来实现,并且配置成对第一视频帧的图像数据和第二视频帧的图像数据执行分级相平面相关性,以生成多个候选运动向量。块匹配模块经由编码装置来实现,并且配置成基于单独块以及第二视频帧的图像数据的第一候选块和第二候选块,来对第一视频帧的图像数据的单个块执行块匹配,以确定匹配块,使得第一候选块与候选运动向量的第一候选运动向量关联,并且第二候选块与候选运动向量的第二候选运动向量关联,以及基于单独块和匹配块来确定单独块的运动向量。传送视频数据可至少部分基于所确定的运动向量。

在用于计算机上的视频编码的系统的另一示例中,分级相平面相关性可包括两个等级。两个等级可包括全局等级相关性和局部等级相关性。执行全局等级相关性可包括将第一视频帧的图像数据和第二视频帧的图像数据分为全局区域,将所有全局区域缩减成标准区域大小,以及对第一视频帧的图像数据的全局区域和第二视频帧的图像数据的对应全局区域执行全局相平面相关性,其中全局区域包括4个全局区域。执行全局相平面相关性可包括将加窗函数应用于第一视频帧的图像数据的全局区域的第一全局区域和第二视频帧的图像数据的对应全局区域,将离散傅立叶变换应用于第一全局区域和对应全局区域,确定变换第一全局区域与变换对应全局区域之间的互功率谱,将离散傅立叶逆变换应用于互功率谱,对逆变换互功率谱执行快速傅立叶变换移位以生成相关性平面,以及确定相关性平面中的峰值的相关性以确定第一候选运动向量。离散傅立叶变换可使用基2快速傅立叶变换来实现。单独块可处于第一全局区域中。执行局部等级相关性可包括将第一视频帧的图像数据和第二视频帧的图像数据分为多个局部区域,以及对第一视频帧的图像数据的多个局部区域和第二视频帧的图像数据的对应多个局部区域执行局部相平面相关性。执行局部相平面相关性可包括将加窗函数应用于第一视频帧的图像数据的多个区域的第一局部区域和第二视频帧的图像数据的多个区域的对应局部区域,将离散傅立叶变换应用于第一局部区域和对应局部区域,确定变换第一局部区域与变换对应局部区域之间的互功率谱,将离散傅立叶逆变换应用于互功率谱以生成相关性平面,以及确定相关性平面中的峰值的相关性以确定第二候选运动向量。离散傅立叶变换可使用基2快速傅立叶变换来实现。单独块可处于第一局部区域中。块匹配模块还可配置成基于下列项来执行块匹配:第二视频帧的图像数据的第三候选块,使得第三候选块可与第三候选运动向量(其至少部分基于全局相平面相关性所确定)关联;第二视频帧的图像数据的第四候选块,使得第四候选块可与第四候选运动向量(其至少部分基于局部相平面相关性所确定)关联;第二视频帧的图像数据的第五候选块,使得第五候选块可与第五候选运动向量(其基于前一运动估计迭代中对单独区域所选的运动向量所确定)关联;第二视频帧的图像数据的第六候选块,使得第六候选块可与第六候选运动向量(其基于前一运动估计迭代中对单独区域所选的、通过修改向量所修改的运动向量所确定)关联,其中修改向量基于试探算法来确定;以及第二视频帧的图像数据的第七候选块,使得第七候选块与第七候选运动向量(其基于由与单独块相邻的块所选的一个或多个运动向量所确定)关联。第七候选运动向量可基于由与单独块相邻的块所选的三个运动向量的中值滤波器来确定。块匹配模块还可配置成通过评估单独块与候选块之间的绝对差之和,来执行块匹配。第一视频帧的图像数据可包括第一视频帧的亮度数据,以及第二视频帧的图像数据可包括第二视频帧的亮度数据。第一视频帧和第二视频帧可以是视频中的连续帧。

在另一示例中,至少一个机器可读介质可包括多个指令,其响应运行于计算装置而使计算装置执行如以上示例中的任一个所述的方法。

在又一示例中,设备可包括用于执行如以上示例的任一个所述方法的部件。

上述示例可包括特征的特定组合。但是,以上这类示例并不局限于这个方面,以及在各个实现中,上述示例可包括仅进行这类特征的子集、进行这类特征的不同顺序、进行这类特征的不同组合和/或进行除了明确所示的那些特征之外的附加特征。例如,针对示例方法所述的所有特征可针对示例设备、示例系统和/或示例产品来实现,反过来也是一样。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号