用于图像相关性最小失真计算的自适应尽快退出技术的制作方法

文档序号:7658945阅读:172来源:国知局
专利名称:用于图像相关性最小失真计算的自适应尽快退出技术的制作方法
背景图像压缩技术能够减少在视频应用中需要传输的数据量。图像压缩经常是通过确定需要保持相同的图像部分来进行的。“运动估计”技术常用于各种视频编码的方法。
运动估计试图找到在属于相同帧N的源块和搜索区域之间的最佳匹配。搜索区域可以是相同的帧N中,或者可以是临时置换帧N-k中的搜索区域。
这些技术在计算上是严密的。
附图简述现在将结合附图详细地描述本发明的各个方面,附图包括

图1显示了相互比较的源块和搜索块;图2显示了用于测量失真的基本累加单元;图3a和3b显示了在多级SAD单元之间计算的不同划分方法;图4显示了在尽快退出策略计算和实际总计算之间的折衷权衡;图5显示了尽快退出策略的流程图;图6a显示了利用尽快退出标志的尽快退出;图6b显示了使用硬件状态寄存器的尽快退出;图7显示了自适应尽快退出策略操作的流程图。
详细描述经常是通过计算绝对差值和或“SAD”来进行运动估计的。运动估计可以在许多不同应用中使用,它可以包括但不局限于,使用视频的蜂窝电话,视频摄像机,视频加速器,或其它这类器件。这类器件能够产生视频信号作为输出。SAD是常用于识别在源块和搜索区域搜索块中多个块之间最小失真的计算方法。因此是这些块之间的最佳匹配。一种表示方法是SAD=Σi=0N-1Σj=0n-1|a(i,j)-b(i,j)|,N=2,4,8,16,32,64]]>
从概念上说,该方法是将第一帧或源块(N)划分成M*N源块100的分量部分。这些分量部分与第二帧(N-K)102比较。这些帧能够被临时置换,在这种情况下,K≠0。每个N-K帧102是(M+2m1)*(N+2n1)的区域。在图1中的区域中心显示了源块100。能匹配的图像部分可以通过用失真测量对每一图像帧的各个部分与其它图像帧进行相关来检测。压缩方案可使用这种检测方法来压缩数据,从而可以发送较少的关于图像的信息。
这种器件也可以是通用DSP的一部分。预期这类器件可以用于视频便携式摄像机,电话会议,PC视频卡,和HDTV。此外,也预期通用DSP也可在与其它采用数字信号处理(例如,用于移动电话的语音处理,语音识别,和其它应用)的技术结合一起使用。
整体失真检测处理的速度能够提高。一种方法是使用允许每个SAD器件在一个周期中进行更多操作的硬件。然而,这需要较昂贵的硬件。
另一种方法是通过增加另外的SAD器件来提高有效像素的吞吐量。然而,这也增加了成本,因为这需要更多的SAD器件。
更快的搜索算法试图更有效地使用现有的硬件。
块SAD进行了源组和“搜索组”的比较。源组和搜索组在整个图像中移动,使得SAD操作能计算两组之间的重叠。在源组中的每个块将与每个搜索区域中的多个块相比较。
典型性的SAD单元是远行在两个16×16的单元上,使得那些单元能相互覆盖。该覆盖过程计算了16*16=256个差值。然后将这些差值累加,表示出总的失真。
SAD需要一些基本运算。必须计算出源xij和搜索Yij之间的差值。计算出绝对值|Xij-Yij|。最后,累加这些数值,SAD=Σi=0N-1Σj=0n-1|Xij-Yij|]]>。
基本累加结构如图2所示。算术逻辑单元200接收来自与其相连接的数据总线198,199的Xij和Yij,并计算Xij-Yij。输出201被反相器202反相。反相的输出和原始的输出都输入多路复用器204,它根据符号位来选择一个数值。第二算术逻辑单元206组合这些数值,以产生绝对值。最终的值存储于累加寄存器208。这样有效地形成了减法,绝对值,累加的系统,正如图2所示。
图2显示了单个SAD计算单元。正如以上所指出的,多级计算单元能够用于提高吞吐量。如果增加计算单元的数量,在理论上说,也就增加每个周期的像素吞吐量。
然而,本发明者注意到,像素吞吐量的增加不一定与单元的数量有着线性的关系。事实上,几乎每一帧都与它相邻的一帧有关。此外,任何图像的不同部分都经常与该图像的其它部分有关。压缩的效率可以根据图像的特性。本申请允许以不同模式使用多级SAD器件,这取决于压缩的效率。
本申请采用图3A和3B所示的结构。在图3A和3B中都使用了相同的连接,但是计算可以不同方法来划分。
图3A显示了每个SAD器件300和302,这是按照完整的SAD而配置。各个SAD接收不同的块,并提供N块的SAD的计算。因此,单元301能有效地一个像素一个像素地计算16*16参考和16*16源之间的关系。单元2,302计算16*16源和16*16搜索之间像素与像素的最终差值。图3B显示了另一种方法。在该方法中,把每个单个的SAD 300,302配置成执行部分单个块SAD的计算。N个计算单元中的每一个提供了1/N的输出。这“部分SAD”操作是指8位减法绝对累加单元中的每个已经计算了配置给该单元的全部SAD计算的1/N。
应该如同这里所讨论的根据前面的结果来确定整个系统是全部的还是部分的。这样的轮换就能减少所需进行计算的数量。
用于确定是全部还是部分的一种方法是假定临时封闭的图像具有相关性的特征。第一周期可以使用完整的SAD模式来计算,而第二周期可以使用部分的SAD模式来计算。选择工作较快的周期,并设置该SAD的模式。可以每间隔X个周期重复这样的计算,在X个周期后就不再假设有局部临时相关性。这可以逻辑单元来完成,它执行图7所示的流程,正如以下所讨论的。
吞吐量也可以采用以下讨论的“尽快退出”技术来增加。16*16元素的完整SAD计算可以写成为|p1r-p1s|+|p2r-p2s|+…|P256r-P256s|……(1)。如果这些计算全都实际进行的话,则计算可能就用了256/N周期,其中N是SAD单元的数量。因而,希望能尽可能快地停止计算。测试计算的中间结果。这些中间结果可用于确定是否已经确定有足够的信息去发现最小失真。然而,测试的行为可以消耗周期。
本发明讨论了在这种周期消耗和最小失真确定之间的平衡。图4说明了利用4个SAD器件对16*16计算的折衷。在图4中的线400表示在没有尽快退出时的周期计数。该线是水平的,表示在没有尽快退出的条件下的周期计数始终是256/4=64。对于尽快退出策略的周期计数如斜线402,404,406和408所示。线404表示每隔16个像素一个测试,线406表示每隔32个像素一个测试(1/8),以及线408表示每隔64个像素一个测试(1/16)。应该注意,当线402-408处于线400的上方时,尽快退出的尝试已经事实上增加了整个失真的计算时间。线402表示周期的消耗,这时退出测试不需要系统开销。即,当完成测试时,退出始终是成功的。线402是所要求的目标。为了能达到该目标,所以揭示了自适应尽快退出的方案。
块I被首先处理,它采用了在现有技术中已知的任何正常策略来发现最小失真。这可以采用测试模型来完成。以发现失真,该测试模型可以是真实图像的一部分。这样的最小失真可作为基线,并且假定块I+n具有相同的最小失真,其中n是小的。可以使用两个基本参数。
Kexit(N)表示在获得尽快退出之前对搜索区域已经预先处理的像素数目。
Aexit(N)表示在对搜索区域的最后一个尽快退出时间上部分累加器符号位的状态。
对于这些块I+n来说,当失真超过了阈值时,SAD的计算就中断。这就形成了利用原先已知的有关搜索区域信息的因果系统。
常规系统是基于搜索区域内的图像特征有可能始终保持共同特征。在各帧之间的时间在1/15秒和1/30秒之间,就可测量系统特性而言,这通常对在那些时间内在某些噪声底限之上产生最小变化是足够快的。同样,也经常存在着能随着时间而保持类似的临时特征的图像区域。
根据本申请,每个SAD的累加单元可以用值(-最小/n)来装载,其中“最小”表示在对区域的块运动搜索中测量到的最小失真。对每个搜索区域都可以计算出许多SAD的数值。对区域计算的第一SAD可指定为“最小”的指定值。未来的SAD与该数值比较,并了解新的“最小”的数值是否已经建立。当累加器改变符号时,就已经达到了最小失真。此外,仅仅使用了现存的SAD的结构对此指明,没有另外的计算,也因此没有另外的用于测试的周期。
图像特性的测试可以用于确定在建立尽快退出之前需要多少累加器作切换。例如,如果源和目标区域是完全相同的,则所有累加器应该同时或多或少地变化符号位。当发生这事时,任何一个超过了先前最小测量的运行SAD计算都可以用于指示尽快退出是适合的。
然而,这是假定所有的图像都是完全相同的。这种假定往往是不能满足的。在许多情况下,不同SAD单元的多个累加器不是以相同的速率增加的。但是,在累加器之间的不同增加速率可以直接与源和目标块之间差异本身的空间频率特性有关,以及也与采样数据的方法有关。这就需要根据SAD单元所发生的内容来考虑如何确定尽快退出的更复杂的方法。
一种操作方法是根据与各个分离SAD状态相关的概率,这时不是所有的SAD单元都处于相同的状态。这种在累加器之间增加速率上的差异与在源和目标块之间的差异的空间频率特性有关。由于在临时相类似帧中这些空间频率特性也具有相关性,所以来自一帧的信息也可以用于分析后续的帧。
这可以参考变量对此进行解释,其中,A1,A2,A3…An可定义为与各分离SAD计算有关的事件。
该事件可以作如下定义事件Ai=SADi≥0,其中,SAD<0,(i≠j)。
这在概念上是指事件Ai可定义为当SAD单元i为正而其它所有SAD单元都为负时所发生的事件。例如,当累加器以不同的速率增加时就会发生这样的事件。这也可以定义为组合的事件,特别是事件Bi,j=Ai∪Aj=SADi≥0(条件SADj≥0,以及SADk<0,k≠i,j)。
这是指事件Bi,j定义为当Ai存在且Aj为真时为“真”,而所有其它Ak都为假。以事件来定义操作的概念可以扩展到包括所有可能的i,j,和k的组合。对4个SAD单元而言,这就可以产生总共16种组合。对于较大数量的SAD单元而言,就会引起其它数量的组合,以及可能使用更多的变量,例如,i,j,k和m或其它等等。
以口头的方式来描述这种情况,每个事件“B”都定义成大于0的指定累加器的和。每个这样的组合都定义成概率。对于4个SAD单元而言,就存在着有总共16种可能的累加器状态。这些都可以根据它们的受控情况来分组。
第一个无效的概率是P(B|1∩2∩3∩4)=0这意味着所有累加器都不超过0的情况下,累加器之和大于0的概率为0。
相反的概率也是真的。
P(B|A1∩A2∩A3∩A4)=1这意味着所有累加器都没有被设置的情况下,所有累加器的和被设置的概率也为1。
除了这些无效的特性之外,存在着14个有效的组合。第一组包括了4种情况,其中1个累加器设置了而其余3个累加器没有设置P(B|A1∪(2∩3∩4)P(B|A2∪(1∩3∩4)P(B|A3∪(1∩2∩4)P(B|A4∪(1∩2∩3)另一组表示了其中2个累加器设置了而另外2个累加器没有设置的情况。这些组合可以写成P(B|A1∩A2)∪(3∩4)P(B|A1∩A3)∪(2∩4)P(B|A1∩A4)∪(2∩3)P(B|A2∩A3)∪(1∩4)P(B|A2∩A4)∪(1∩3)P(B|A3∩A4)∪(1∩2)最后一组表示3个累加器设置了而1个累加器没有设置的情况。
P(B|A1∩A2∩A3)∪4)P(B|A2∩A3∩A4)∪1)P(B|A1∩A3∩A4)∪2)P(B|A1∩A2∩A4)∪3)本实施例认可这些组中的每一个,事实上是这些情况中的每一种都表示了图像中的不同条件。每个组或每种情况都可以采用不同的处理。
本系统采用上述以及参照图5的流程图讨论的方法进行操作。最终的目的是完成计算,且因此而尽快退出。这如图5所示,首先在550中确定两幅图像,即源图像和搜索图像的匹配特性。在没有任何尽快退出的条件下计算匹配的特性。在555中计算出最小失真,以及在560中找到存在最小失真时的条件。
在560中的条件可以包括在最小失真时存在的分组类型,或在14种可能性中的特定情况。
在570中测试后续图像部分。这后续部分是与测试部分相关的任何部分。由于临时相关的图像被假定为相关的图像,所以这就可以延伸至任何临时相关的部分。
源图像和搜索图像都要测试,且在575中确定最小失真时所发生的特定分组。随后,在580中建立尽快退出。
尽快退出,一旦被确定之后,就可以多种不同的方法来执行。
图6a显示了利用尽快退出或“EE”标志执行尽快退出的系统。显示了N个SAD单元,在本实施例中,N为4。每个SAD单元都包括上述所讨论的结构,以及特殊的算术逻辑运算单元,反相器和累加器。
每个累加器的输出都与安排输出的组合逻辑单元600相耦合。这适用于执行上述提到的组的确认。组合逻辑单元是采用离散逻辑门构成的,例如,以硬件描述语言所定义的。根据所选择的组用选项来编程该逻辑门。不同的图像和部分可根据不同的选项来处理。
对于每一个选项,进行状态组合的编码,如,上述讨论的组。组合逻辑监视着所有SAD单元的累加器。每一个状态都输出到复用器。
当这些累加器达到属于选择编码内的状态时,就可产生尽快退出的标志。尽快退出的标志意味着硬件已经确认了适当的“匹配”。这就引起退出的操作。
图6B显示了另一种系统,在该系统中,累加器的状态由硬件状态寄存器600来检测。状态寄存器根据累加器的情况设置成一个特定的状态。状态寄存器存储着表示尽快退出的特定条件。当满足该特定条件时,就建立了尽快退出。
参照图7全面地讨论了自适应尽快退出的使用方法。在700中,视频帧开始。705表示对帧M和帧M+1作缓冲。710确认块的历史模型是否需要更新。这可以采用诸如监测自从上一帧更新以来的时间的方法来确定。例如,可以设置x秒作为需要新的更新之前的时间。
如果模型需要更新,则在715中处理过程随后用0xFF01装入累加器且设置局部变量N=1。在720中,系统获得SAD搜索区域N并使用周期性的退出测试Texit=1/16…,在步骤725中进行退出测试。如果成功的话,就再恢复局部变量Kexit(N)和Aexit(N),其中,Kexit(N)是退出之前的像素,而Aexit(N)是退出之前的累加器1至4的累加。局部变量n也在步骤730中增1。这就建立了局部参数,并继续处理过程。
在后续的周期中,在步骤710中不需要再进行块历史的更新,因此控制就转入步骤735。在该步骤中,读出原先存储的Kexit和AEexit。这用作步骤740的新的计数,以设置目标块的标志。
在步骤745中,建立了对块N的搜索,在步骤750中,更新了退出和Kexit。N增1。在步骤755中,产生N是否等于397的确认。397是缓冲器中帧的数目,因为在352*288图像中有16*16个块,就等于396。然而,这可以根据应用的不同尺寸作调整。
另外,图像大部分的临时变量是几乎不变的。因此,当部分累加器有特定符号位时,它们的状态就产生显著的优点。此外,在帧之间的时间通常是1/15秒至1/30秒的数量级。最后,在图像中的区域保持着它们的局部特征,因此它们的空间频率可以具有相关性。
虽然已经揭示了少量的实施例,但是其它修改也是可能的。
权利要求
1.一种处理图像的方法,其特征在于,包括在得到特定图像处理结果时确定多个图像处理元件的特性;以及当所述特性存在于后续计算中时完整地建立后续计算。
2.如权利要求1所述的方法,其特征在于,所述特性包括所述图像处理元件的符号位。
3.如权利要求2所述的方法,其特征在于,所述图像处理单元是绝对差值和单元。
4.如权利要求1所述的方法,其特征在于,所述特性包括所述图像处理元件组的状态。
5.如权利要求4所述的方法,其特征在于,所述特性包括所述图像处理元件组的状态。
6.一种计算两幅图像间的关系的方法,其特征在于,包括获得图像;在第一时间点上监视源图像和搜索图像间的匹配特性,已确定所述图像间的最小失真;当发现了所述图像间的最小失真时,在第一时间点上确定多个计算单元的条件;在后续时间内监视所述条件,并确定所述计算单元的状态是否和在所述第一时间点上发现的状态相同;以及基于相同的所述状态建立最小失真。
7.如权利要求6所述的方法,其特征在于,所述条件包括累加单元的符号位。
8.如权利要求7所述的方法,其特征在于,进一步包括组合逻辑单元,它检测累加单元的符合位。
9.如权利要求7所述的方法,其特征在于,进一步包括确定块历史模型是否需要更新,不需要的话使用所述先前的条件,需要的话更新所述条件。
10.如权利要求6所述的方法,其特征在于,所述获得使用视频摄像机。
11.如权利要求9所述的方法,其特征在于,所述确定包括确定从前一次更新开始是否经过了特定时间。
12.如权利要求6所述的方法,其特征在于,所述状态包括表示特定特性的状态分组。
13.一种方法,其特征在于,包括确定不同计算单元的多个不同状态;由所述状态确定可能的状态分组,这些分组表示图像的不同概率条件;确定在第一时间点上的第一状态,此时计算指出了两幅图像间的最小失真;以及使用所述第一状态来指出在第二时间点上从计算中尽快退出。
14.如权利要求13所述的方法,其特征在于,所述使用包括确定当前状态是否和所述第一状态相同。
15.如权利要求13所述的方法,其特征在于,所述分组包括所述计算单元的符号位的分组。
16.如权利要求13所述的方法,其特征在于,进一步包括用所述计算来确定MPEG编码的信息。
17.一种设备,其特征在于,包括多个图像处理元件;在得到特定图像处理结果时存储所述图像处理元件的第一状态的电路;以及根据当前状态与所述第一状态的比较确定是否完成了计算的尽快退出电路。
18.如权利要求17所述的设备,其特征在于,所述特性包括所述图像处理元件的算术状态。
19.如权利要求18所述的设备,其特征在于,所述图像处理元件中包括累加器,且所述特性包括所述累加器的符号位。
20.如权利要求17所述的设备,其特征在于,进一步包括视频获得捕获元件。
21.如权利要求20所述的设备,其特征在于,所述视频捕获元件是视频摄像机。
22.如权利要求17所述的设备,其特征在于,所述特性包括所述图像处理元件组的状态。
全文摘要
获得用于图像压缩的图像。用绝对差值和器件与累加器比较图像,绝对差值和器件具有算术部分。在两幅图像间的最小失真时确定累加器的符号位。这些符号位和概率上相似部分的集合有关。当稍后从该集合获得了其他集合时,建立尽快退出。
文档编号H04N7/26GK1436426SQ01810931
公开日2003年8月13日 申请日期2001年6月6日 优先权日2000年6月7日
发明者B·C·埃尔德瑞琪, J·福瑞德曼 申请人:英特尔公司, 模拟设备股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1