用于视频处理的运动估计的制作方法

文档序号:8303690阅读:606来源:国知局
用于视频处理的运动估计的制作方法
【技术领域】
[0001]本文总体上涉及视频处理并且特别涉及用于压缩视频以进行传输的技术。
【背景技术】
[0002]视频应用在计算上可以开销很大。设计者可以压缩视频数据以减少与视频数据相关联的计算并且减少传输视频数据所需的带宽。例如,压缩算法可以利用连续视频帧之间的高相关度。这样的一种技术被称为运动估计。
[0003]使用运动估计,可以将参考图像(其为之前已编码的帧)细分为像素块,例如4x4或16x16像素块。编码算法将该块与当前帧的搜索窗内的另一块匹配。
[0004]当识别出参考帧与当前帧之间的最佳匹配块时,运动矢量捕获从参考帧到当前帧的块的移动。可以将该运动矢量编码以代替将两个帧都编码。因此,可以降低带宽和计算开销。
[0005]一种用于确定两个块多密切地互相匹配的方法被称为绝对差值和(SAD)。对于参考帧中的宏块的搜索窗内的每个搜索步骤,计算了针对该块的256个像素的SAD。可以继续该搜索,直到获得具有最小SAD的最佳匹配。可以针对参考帧中的每个宏块重复该操作。对于高分辨率视频,该方法需要每秒计算针对成千上万的宏块的运动矢量。因此,运动估计在计算上开销很大。用于确定最佳匹配块的其它技术包括Haar变换和Hadamard变换。
【附图说明】
[0006]关于以下附图描述了一些实施例:
[0007]图1为根据本发明的一个实施例的序列的流程图;
[0008]图2为根据本发明的一个实施例的另一序列的流程图;
[0009]图3为本发明的一个实施例的电路图;
[0010]图4为本发明的一个实施例的系统描绘;
[0011]图5为本发明的一个实施例的正视图。
【具体实施方式】
[0012]根据一些实施例,可以降低实施使用Haar、SAD和/或Hadamard的运动估计算法的复杂度。这可以减少功率消耗和电路覆盖区或面积。
[0013]在运动估计的背景下,使用Haar变换实际是指执行变换的绝对值求和。对4x4像素差输入块的Haar变换实际将导致4x4块。将这些变换后的差值的绝对值的和用作匹配度量。有时可以将其称为残差变换绝对值的和(SATD)。传统的方式是首先找到变换的所有项、找到它们的绝对值并且接着将它们求和。可以计算最终的和而无需明确地计算变换的所有项(以及他们的绝对值)。
[0014]在一些实施例中,相比于现有技术可以减少求和的次数,并且可以使用比较运算来替代现有求和/差值中的一些。相比于加法/差值,比较运算使用集成电路管芯内更少的面积和功率。
[0015]在一些实施例中,基于所期望的速度与(versus)效率而确定所移除的加法/差值的次数。例如,如果使用比较来替代更多的加法,则速度可能会受到影响但是可以减少面积和功率。由于抵消(cancel)而减少加法的次数需要比较以确定哪些像素差抵消。基于面积、延迟、和功率,这些比较可以比加法开销更小。然而,实现最少次数的加法可以增加总体延迟,这是因为需要在加法之前按顺序完成比较。
[0016]为了计算4x4块的Haar变换,可以将要相加的项的数量从16减少到12。根据项的符号,可以将输入到变换的一些像素差最终在求和期间抵消并且并其不影响最后的结果。但是通过除去最多次数的加法以使能使用最少数量的加法项,可能降低了速度。实现用于相加的最少数量的项是以降低的速度为代价的。在一些实施例中,使用比较来替代少于最大次数的加法,以便平衡速度和面积或覆盖区考量。可以使用多于最少次数的加法来维持性能,但仍然比传统方法具有更少的加法。在一些实施例中,不将加法的次数降低到最少,这导致速度与功率之间的更好平衡。
[0017]在以下讨论中,描述了使用Haar和SAD变换两者的运动估计块。但是在其它实施例中,例如,也可以使用需要多次加法的其它变换,包括绝对差值和或SAD以及Hadamard变换。因此,本发明并不限于用于运动估计的任何特定算法。当前示例针对4x4块。相同的方法也可以扩展到不同尺寸的块。
[0018]传统上认为对于参考帧和当前帧中的4x4像素宏块的Haar变换需要16项。这包括计算每项(其基本上是求和及差值),随后是取它们的绝对值并且接着将所有这些绝对值求和。可以使用压缩器树来将必要的绝对值项求和,而并行外树计算来自像素输入的不同Haar项。像素输入包括当前帧像素Ci和参考帧像素r it)这个想法是要查看当前帧像素块相比参考帧像素块在位置上有多大变化,以便确定运动矢量来以节省空间的方式表示当前宏块。在一些实施例中,通过简单的移位操作而实现Haar变换内所隐含要求的除以二。
[0019]可以通过在绝对值计算之前的Haar和SAD项之间的基于模式的复用而包含对用于SAD计算的硬件的可重构性。
[0020]参考图1,可以在软件、固件和/或硬件中实现用于运动估计的技术50。在软件和固件实施例中,可以通过存储在一个或多个非瞬时性计算机可读介质(例如,光、磁或半导体存储设备)中的计算机执行的指令来实现该技术50。
[0021]运动估计技术50可以从弄清哪些像素差影响最终结果而开始。这可以在对Haar项的绝对值进行求和之前或期间完成。因此,存在16个候选项来组成像素差以进行求和,并且通过分析它们的符号,可以确定输入像素差中的哪些影响输出。在针对4x4宏块的详尽方式中,实际上最多仅有12项需要进行求和以获得最终结果。在一些实施例中,可以将多于12项相加以便提高速度。在一个示例性实施例中,将13项进行相加。
[0022]虽然在本文中关于4x4块给出了示例,但是本发明并不限于任何特定尺寸的块。
[0023]如框54所示,考虑到速度考量,可以除去不影响输出的项并且将剩余项相加。
[0024]图2的增强运动估计算法56示出了速度考量。在这里,如在框58中所示,计算了和中的一些。并行地,如在框60中所示,完成了比较以确定哪些项影响输出。如在框62中所示,接着在继续的计算中使用影响结果的其余的和。但是当然,并不一定在每个实施例中都将求和的次数最小化,这是因为在一些情况下,将求和的次数最小化可能导致速度损失。因此,设计者可能希望减少求和的次数而同时实现任何必要的速度规范。
[0025]因此参考图3,用于选择性地实现Haar或SAD变换以用于运动估计的电路实现了优化的设计,该设计即减少了加法的次数又减少了来自用比较来替换加法所带来的任何速度损失。然而,在其它实施例中,基于增加速度或减少功率消耗或管芯上的面积消耗的需要,可以完成更多或更少的加法。
[0026]该电路包括三个主要部分,包括压缩器树32和34、并行加法器树12、以及电路14,以使用相同电路来选择性地实现SAD。并行加法器树12计算用于Haar变换的项,并且这些项中的一些可以被重新使用以用于SAD计算。在框26的输出处,两个像素对的实际SAD是准备好的。该电路还包括压缩器树32和34以将用于Haar和SAD变换的所有项相加。在该加法器树中,将一些加法器改为比较器以找出像素差的和的符号。在一些实施例中,在高层处,针对Haar变换而将压缩器树的项的数量减少到13而不
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1