实时嵌入式多媒体设计的移动评估方法

文档序号:7944345阅读:250来源:国知局

专利名称::实时嵌入式多媒体设计的移动评估方法
技术领域
:本发明是有关于一种用以执行移动评估的方法,特别是指一种可减少存储器容量和频宽的移动评估执行方法。
背景技术
:随着多媒体技术的应用越来越受欢迎,视频压缩技术的要求也越来越重要。许多视频压缩技术标准纷纷被提出,目前主流规格有MPEG-4和H.264/AVC。这些标准的基本原理主要为去除图像数据中多余(redundancy)的数据,以降低图像的储存空间或图像的传输量。移动评估(MotionEstimation)为视频编码中相当重要的一部分,其利用连续画面间的相似性来去除数据在时间上的重复性(temporalredundancy),而达到数据压缩的目的。图1为移动评估中经常采取的区块比对算法的示意图。首先把画面大小为WXH的目前画面(currentframe)100分割成区块大小为NxN的多个区块。接着,在参考画面(referenceframe)110(例如前一张画面或下一张画面)中设定大小为(N+SRh-1)X(N+SRv-1)的搜寻窗口(searchwindow)112,并在搜寻窗口112中找到与目前画面100中一个目前区块(currentblock)104最相似的区块114。接着,计算出两个区块104及114间的差值及移动向量120,通过只传递差值及移动向量120来去除重复的数据,这个步骤就是移动评估。换言之,移动评估的目的为找出目前画面中每一区块的移动向量及误差来代表目前画面。然而,因为移动评估需要比对许多候选区块,此高运算量将会导致存储器频宽大幅增加。图2显示视频编码系统200的硬件架构,其中参考画面及目前画面是储存于外部存储器220,而移动评估所需的数据则通过外部总线230加载内部存储器212供计算引擎(如嵌入式处理器)214使用。因此,当执行移动评估时,为了进行数据比对运算,在参考画面的搜寻窗口中所需的候选区块数据将通过外部总线230在外部存储器220及内部存储器212间转移,而大幅增加存储器频宽。一般而言,搜寻窗口112的大小是根据画面分辨率及/或压缩规格等标准而定。搜寻窗口112越大,需加载内部存储器的数据量也越多,所需存储器频宽也越大。因此,需要提供一种可解决存储器频宽需求过高的移动评估执行方法。
发明内容鉴于先前技术所存在的问题,本发明针对方形搜寻(squaresearch)算法提供了一种适用于MPEG-4和H.264/AVC的低功率及高效能的视频编码方法,可大幅度减少存储器容量和频宽,进而降低硬件成本、减少电量使用、并增快执行速度。根据本发明的一方面,提供了一种用以执行移动评估的方法,包含以下步骤于目前画面中选定目前区块;取得位于目前区块周围的多个邻近区块的移动向量及残值数据;根据多个邻近区块的残值数据设定预定临界值;比对目前区块与在参考画面中的初始参考区块而得到初始比对结果,并比较预定临界值与初始比对结果;若初始比对结果大于预定临界值,则根据多个邻近区块的移动向量决定目前区块的预测移动向量;以及在对应预测移动向量的搜寻窗口范围中进行区块比对,以寻找与目前区块相匹配的对应参考区块。根据本发明的另一方面,提供了一种计算机可读取媒体,用以储存程序指令,其中当程序指令执行于计算装置上时,将使计算装置执行上述的方法。本发明的其它方面,部分将在后续说明中陈述,而部分可由说明中轻易得知,或可由本发明的实施例而得知。本发明的各方面将可利用所附的申请专利范围中所特别指出的元件及组合而理解并达成。需了解,前述的
发明内容及下列详细说明均仅作举例之用,并非用以限制本发明。图式是与本说明书结合并构成其一部分,用以说明本发明的实施例,且连同说明书用以解释本发明的原理。在此所述的实施例是本发明的较佳实施例,然而,必须了解本发明并不限于所示的配置及元件,其中图1为使用区块比对算法进行移动评估的示意图;图2显示一视频编码系统的硬件架构;图3为本发明一实施例的以方形搜寻算法执行移动评估的示意图;图4为描述使用方形搜寻进行移动评估的示意图;图5显示使用光栅扫描的一范例;图6显示针对参考画面的等级A到D四种数据重复利用架构;以及图7显示本发明一实施例的执行移动评估的方法流程图。[主要元件标号说明]100目前画面104目前区块110参考画面112搜寻窗口114区块212内部存储器214计算引擎220外部存储器230总线300目前画面302目前区块310参考画面312、314区块320搜寻窗口402、404、412、414、416区块422、424、426、428、430区块405方形图形500画面510、511、512、513、514区块610、620搜寻窗口612,614区块622、624区块排630、640参考画面632、634搜寻窗口642、644搜寻窗口排具体实施例方式本发明针对方形搜寻(squaresearch)算法并配合数据重复利用架构提出可有效降低存储器频宽且减少内部存储器(on-chipmemory)需求的动态评估方法,其根据与邻近区块间在空间上的相依性,动态地调整搜寻窗口的大小,取代需加载整块搜寻窗口的已知的动态评估方法。为了使本发明的叙述更加详尽与完备,可参照下列描述并配合图3至图7的图式。然以下实施例中所述的装置、元件及方法步骤,仅用以说明本发明,并非用以限制本发明的范围。图3为本发明一实施例的以方形搜寻算法执行移动评估的示意图,其针对目前画面300中大小为NXN的目前区块302,在参考画面310中对应目前区块302的位置周围框出一个搜寻窗口320,以在搜寻窗口320中找出与目前区块302最相似的区块。在此实施例中采用的比对方法为计算目前区块302与搜寻窗口320中的各候选区块的SAD值,其计算方式如下Cij代表目前区块,Rij代表一候选区块。换言之,把目前区块中每一像素的强度与一候选区块中每一像素的强度相减,再把所得到的NXN个差值的绝对值相加便可得到SAD值。SAD值越小,代表两个区块越相似。但值得注意的是,在此实施例中,虽是以SAD值作为判断与目前区块302的相似程度,惟方式不限于此,其它比对方式,如均方误差(meansquareerror)^平肖绝)(寸"i^ll(meanabsoluteerror)等#适用于*发日月。图3所示的实施例是使用方形搜寻的方式从参考画面310中找出与目前区块302最相似的区块,其中方形搜寻算法是在移动评估过程中,在搜寻窗口范围内,使用方形图形进行比对。图4为描述使用方形搜寻进行移动评估的示意图。首先,在步骤1中,在参考画面中以对应目前区块位置的区块402为起始点,在以区块402为中心的由9个区块所构成的方形图形405内找到最相符的区块(即SAD值最小的区块),在此例中假设最相符区块为区块404。接着,在步骤2中,再以区块404为中心点,使用方形图案继续找寻最相符的区块,此时需载入新增区块412、414、及416的数据。假设步骤2中最相符区块为区块416,则接着在步骤3中,以区块416为中心,载入新增的区块422、424、426、428、及430并重复上述比对操作。假设步骤3中最相符区块为区块428,则接着在步骤4中,以区块428为中心重复上述操作。若步骤4中最相符的区块位在方形图形的中心点,即若最相符区块为区块428,则可停止对此目前区块的方形搜寻。回到图3,在此实施例中,首先从对应区块302位置的区块312开始比对,并在以区块312为中心的由9个区块所构成的区域中寻找最相符的区块(即SAD最小的区块)。举例来说,可使用如图3中箭头所示路径依序针对9个区块进行比对。假设9个区块中,区块314具有最小的SAD值,则以区块314为中心,重复上述步骤,直到最相符区块在所比对的9个区块的中心点为止。目前画面中的所有区块皆会进行上述的移动评估程序,以在参考画面中分别找出所对应的最相近的区块,而执行移动评估的顺序将影响某一特定区块在执行移动评估时,其周围的哪些区块已经执行过移动评估。举例来说,图5显示使用光栅(raster)扫描的一范例,在此范例中,从左到右、从上到下扫描画面500中的所有区块。因此,当要针对某一区块(如区块510)做移动评估时,其左方(511)、左上方(512)、上方(513)、及右上方(514)的区块皆已经进行过移动评估的程序,即这些邻近区块的移动向量及其对应的SAD值皆为已知。通过所获得的邻近区块相关数据配合与邻近区块之间的空间相关性(spatialcorrelation),可预测目前区块的移动向量以动态地调整搜寻窗口范围,亦可用以设定目前区块的SAD临界值。以图3所示的实施例为例,目前区块302的预测搜寻窗口范围及预定临界值皆可根据邻近区块的比对结果而获得,描述如下。首先,取得邻近区块比对后所得的移动向量及比对数据,其中比对数据即为其所搜寻到的匹配区块的SAD值(以下称残值数据(residualdata)),接着设定目前区块的预定临界值如下<formula>formulaseeoriginaldocumentpage6</formula>其中LEFTsad代表目前区块左边区块的残值数据,TOPsad代表目前区块上边区块的残值数据,TOP-RIGHTsad代表目前区块右上角区块的残值数据,TOP-LEFTsad代表目前区块左上角区块的残值数据,ε代表目前区块的constantfactor0ε是可进行微调的补偿系数,其选择为经验法则的应用,设计者可依实际应用进行调整。在此实施例中,考虑到区块间距离的远近,将左边及上边区块赋予2倍的权重,然在其它实施例中,各邻近区块的权重可依实际应用而做调整。需注意的是,本发明并不限于使用如图5所示的光栅扫描顺序,其它像是Z字形(zigzag)扫描顺序也适用于本发明,但需注意的是,不同的扫描顺序将影响某一区块可获得哪些邻近区块的移动评估结果作为预测搜寻窗口范围之用。在图3的实施例中,当针对区块302进行移动评估时,首先先加载参考画面310中对应区块302的位置的区块312到内部存储器中,接着比对区块302及区块312并计算其SAD值。若SAD值小于预定临界值αn,即可结束区块302的移动评估(移动向量为(0,0)),进行下一区块的移动评估。如此一来,在静态的影片时,存储器频宽(MemoryBandwidth)可以降低到只需约11%。若区块302及区块312之间的SAD值大于预定临界值αη,则接着加载所预测的搜寻窗口范围以进行后续的比对。搜寻窗口范围的预测可利用所获得的邻近区块相关数据配合与邻近区块之间的空间相关性(spatialcorrelation)来决定。在此实施例中,利用目前区块的左上角区块1、上边区块2、右上角区块3和左边区块4的移动向量,预测出目前区块的移动向量。首先,定义目前区块的中心点对应坐标为(0,0),而目前区块的左上角区块1、上边区块2、右上角区块3和左边区块4的中心点对应坐标分别为(-16,16),(0,16),(16,16),(-16,0)0接着,根据最小平方法,利用左上角区块1、上边区块2、右上角区块3和左边区块4的移动向量和相关坐标来求取最适的回归平面(regressionplane):z=c-ax-by,以预测目前区块的移动向量。将四个邻近区块的坐标及移动向量代入,可得<formula>formulaseeoriginaldocumentpage7</formula>分别取a、b、c的偏微分dE/da=0;dE/db=0;dE/dc=0;由以上3个式子,可得到a、b、c数值如下a=1/32(MV1-MV3);b=1/96(-5MV1-2MV2+MV3+6MV4);c=1/2(-MV1+MV3+2MV4);将a、b、c数值及目前区块坐标(0,0)代入,即可预测目前区块移动向量为MV=1/2(-MV1+MV3+2MV4)依照所预测的目前区块的移动向量和其所对应的方形图形区域即可预测搜寻窗口范围,如此可以只下载部分所需用到的数据,避免下载已知整块搜寻窗口的数据。加载动态调整后的搜寻窗口后,在搜寻窗口内以上述方形搜寻的方式进行比对。综上述,本发明一开始只加载所处理区块的原始位置所对应的参考画面的数据,比对之后才动态地调整需要加载多少数据量至内部存储器,即搜寻窗口的大小是可动态决定的。因此,本发明可减少所需加载内部存储器的数据量,不但可降低数据传输的时间及消耗功率,也可减少所需的内部存储器尺寸而降低硬件成本。除了使用数据预测的方法,在存储器管理上,本发明亦应用数据重复利用架构,通过将会重复使用到的数据暂存于内部存储器中,而降低存储器存取及数据转移的次数。换言之,在分析数据的重复利用性之后,通过加入内部存储器而避免重复存取某些数据,进而降低存储器频宽需求。对于数据重复利用架构的相关描述,可参考由D.X.Li等人于IEEETrans.ConsumerElectron.,vol.53,no.3,pp.1053-1060,Aug.2007中所发表的“具有最小存储器频宽的H.264/AVC整体移动评估的架构设计(ArchitectureDesignforH.264/AVCIntegerMotionEstimationwithMinimumMemoryBandwidth)”、由J.C.Tuan等人于IEEETrans.CircuitsSyst.VideoTechnol.,vol.12,no.1,pp.61-72,Jan.2002中所发表的“完全搜寻区块匹配VLSI架构的数据重复利用及存储器频宽分析(Onthedatareuseandmemorybandwidthanalysisforfull-searchblock-matchingVLSIarchitecture),,、由C.Y.Chen等人于IEEETrans.CircuitsSyst.VideoTechnol.,vol.16,no.4,pp.553-558,Apr.2006中所发表的“用于具有对应编码顺序的移动评估的等级C+数据重复使用架构(LevelC+datareuseschemeformotionestimationwithcorrespondingcodingorders),,、以及、由T.C.Chen等人于IEEETrans.CircuitsSyst.VideoTechnol.,vol.17,no.2,pp.242-247,Feb.2007中所发表的“H.264/AVC中的多重参考画面移动评估的单一参考画面多重目前宏区块架构(SingleReferenceFrameMultipleCurrentMacroblocksSchemeforMultipleReferenceFrameMotionEstimationinH.264/AVC)并入本文作为参考。数据重复利用架构的效能可由以下两个因素来评估内部存储器的尺寸及冗余存取参数Ra,其中内部存储器可用以表示针对数据重复使用而暂存参考数据所需的存储器大小,冗余存取参数Ra则可用以评估外部存储器频宽,其定义如下_参考画面的总存储器频宽(totalmemorybandwidthforreferenceframe)。―最小存储器频宽(pixelcountintotal)数据重复利用的程度越低,Ra值越大,且需要越多的存储器频宽,反之,数据重复利用的程度越高,Ra值越小,且所需的存储器频宽越少。总存储器频宽BW可表示如下Bff=fXWXHX(Ra目前画面)+fXWXHX(Ra参考画面)其中f为画面更新速率,W为画面宽度,H为画面宽度。一般来说,存储器频宽是取决于画面更新速率(framerate)、画面大小、搜寻窗口大小、及Ra值等,而针对特定的视频压缩应用,画面更新速率及画面大小通常为固定值,因此本发明通过选择Ra值较小的数据重复利用架构并使用数据预测方法而减小搜寻窗口的尺寸,进而有效地将低存储器频宽。对目前画面来说,平均每个区块会被存取SRHXSRv次,即<formula>formulaseeoriginaldocumentpage8</formula>但只要加入大小为NxN的内部存储器,就可将目前画面的Ra降低为1,如下<formula>formulaseeoriginaldocumentpage8</formula>而对参考画面来说,图6显示针对参考画面的等级A到D四种数据重复利用架构,其中斜线部分为可重复利用的数据。等级A及B分别为在单一搜寻窗口610、620内的数据的重复利用,等级C及D为在不同搜寻窗口的数据的重复利用。详言之,对在目前画面中的大小为NxN像素的区块,等级A是重复利用参考画面中的大小为(N+SRH-1)X(N+SRV-1)的单一搜寻窗口610中的两个水平方向连续的候选区块612及614间重迭的像素,而等级B则是重复利用在搜寻窗口620中的垂直方向连续的两排候选区块622及624间重迭的像素。等级C为重复利用在参考画面630中两个水平方向连续区块所各自对应的搜寻窗口632及634间重迭的像素,而等级D是重复利用在参考画面640中垂直方向连续的两排区块所各自对应的搜寻窗口642及644间重迭的像素。如上述,总存储器频宽取决于Ra,等级A到D架构的Ra可计算如下等级A<formula>formulaseeoriginaldocumentpage8</formula>等级B:<formula>formulaseeoriginaldocumentpage8</formula>等级C<formula>formulaseeoriginaldocumentpage9</formula>等级D<formula>formulaseeoriginaldocumentpage9</formula>另一方面,由图6可看出,等级A到D架构所需的内部存储器尺寸如下<table>tableseeoriginaldocumentpage9</column></row><table>由上述可知,内部存储器尺寸越小,存储器频宽的需求量则越大(如等级A),反之等级D架构的存储器频宽需求虽可大幅度减少,但相对地需要较大的内部存储器尺寸。等级C在内部存储器尺寸及外部存储器频宽中可取得较佳的平衡,但随着视频分辨率的提升,等级C的数据重复使用架构已经不敷实际应用的需要。因此,本发明结合了数据重复使用以及数据预测两种功能,在等级C架构中,根据邻近区块的搜寻窗口大小而预测并动态地调整目前区块的搜寻窗口大小,取代了原本等级C架构需加载相邻两个水平方向连续区块各自对应的整块搜寻窗口的重迭区域,而只需加载其所对应的预测的搜寻窗口范围。如此,不但可有效降低其内部存储器尺寸需求,且可进一步降低等级C架构所需的存储器频宽。图7显示本发明一实施例的执行移动评估的方法流程图。一般来说,在执行区块比对移动评估算法时,会先将目前画面分割成多个区块,并决定对多个区块执行移动评估的扫描顺序。在此实施例中,采用光栅扫描顺序依序对各区块进行移动评估,而每个区块的移动评估算法系采用方形搜寻算法。首先,在步骤S700中,选择其中一区块以进行移动评估,并取得其邻近区块的动态扫描窗口范围、邻近区块的移动向量预测值、和邻近区块的比对数据。接着,在步骤S710中,根据邻近区块的残值数据定义目前区块的预定临界值αη,举例来说,预定临界值αη可为对邻近区块的残值数据取不同权重后相加所得的数值。需注意,预定临界值α的计算可根据实际应用所需而选择做适当的调整。接着,在步骤S720中,加载参考画面中对应目前区块位置的数据,并与目前区块进行一次真实比对运算,以计算其SAD值。接着,在步骤S730中,比较步骤S710所设定的预定临界值CinW及步骤S720所得的SAD值。若在步骤S730中,比对所得的SAD值小于预定临界值αη,则程序进行至步骤S740,结束此区块的移动评估,并接着进行至步骤S750,以判断是否所有区块均完成移动评估。若在步骤S750判断所有区块均完成移动评估,则程序进行至步骤S760,结束目前画面的移动评估,若在步骤S750判断并非所有区块皆完成移动评估,则程序回到步骤S700,选择下一区块继续执行移动评估。在步骤S730中,若SAD值大于预定临界值αη,则程序进行至步骤S770,利用已知的邻近区块的移动向量预测出目前区块的移动向量。在此实施例中,预测公式是根据左上方、上方、右上方、和左方区块的移动向量及坐标,通过最小平方法求取回归平面而获得。需注意的是,预测公式可能随扫描顺序的不同而做调整。接着,在步骤S780中,将对应所预测的目前区块移动向量的方形搜寻区域从外部存储器加载内部存储器中。接着,在步骤S790中,于所加载的搜寻窗口中以方形搜寻算法对所选择的区块执行移动评估,以寻找最匹配的区块。于步骤S790中找到最匹配的区块后,程序回到步骤S750以重复上述步骤,直到完成目前画面的移动评估。需注意的是,若在步骤S790中无法以方形搜寻找到匹配的区块,则可在预测的搜寻窗口中选择具有最小SAD值的区块作为目前区块的匹配区块、或是可加载其它或更大的搜寻窗口范围以再次进行比对操作,然本发明并不限制此情况下可实行的方式。本发明利用邻近区块的残值数据(residualdata)和第一次真实比对的结果,先减少所需的存储器频宽和内部存储器尺寸,并利用周围区块的移动向量预测出目前区块的搜寻窗口范围。本发明取代等级C架构需下载水平方向相邻两区块的搜寻范围,而只需要下载所预测的搜寻窗口范围。因此,本发明只需要用到原本内部存储器的30%60%,存储器频宽只需要约40%80%,大幅度地减少内部存储器和存储器频宽。本发明所提出的结合数据预测及数据重复利用架构的移动评估方法,可应用在各种实时嵌入式多媒体系统的软硬件存储器管理上。以上所述仅为本发明的较佳实施例而已,并非用以限定本发明的权利要求范围;凡其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在上述的权利要求范围内。权利要求一种用以执行移动评估的方法,包含以下步骤a.于目前画面中选定目前区块;b.取得位于该目前区块周围的多个邻近区块的移动向量及残值数据;c.根据该多个邻近区块的该残值数据设定预定临界值;d.比对该目前区块与在参考画面中的初始参考区块而得到初始比对结果,并比较该预定临界值与该初始比对结果;e.若该初始比对结果大于该预定临界值,则根据该多个邻近区块的该移动向量决定该目前区块的预测移动向量;以及f.在对应该预测移动向量的搜寻窗口范围中进行区块比对,以寻找与该目前区块相匹配的对应参考区块。2.根据权利要求1所述的方法,其中该初始参考区块在该参考画面中的位置是对应该目前区块在该目前画面中的位置。3.根据权利要求1所述的方法,其中步骤f是使用方形搜寻算法进行区块比对。4.根据权利要求1所述的方法,其中在步骤d中,若该初始比对结果小于该预定临界值,则以该初始参考区块为该对应参考区块。5.根据权利要求4所述的方法,还包含针对该目前画面中所有区块重复步骤a至f,且其中步骤a是以光栅扫描方式选出该目前区块。6.根据权利要求1所述的方法,其中该初始比对结果为该初始参考区块与该目前区块间的绝对误差总合的函数。7.根据权利要求1所述的方法,其中该预定临界值是设定如下αη=(2XLEFTsad+2XTOPsad+TOP-RIGHTsad+TOP-LEFTsad+ε)/6;其中LEFTsad为该目前区块左边邻近区块的残值数据,TOPsad为该目前区块上边邻近区块的残值数据,TOP-RIGHTsad为该目前区块右上角邻近区块的残值数据,TOP-LEFTsad为该目前区块左上角邻近区块的残值数据,ε为常数系数。8.根据权利要求1所述的方法,其中该目前区块的该预测移动向量为MV=1/2(-MV1+MV3+2MV4);其中MV1*该目前区块左上角邻近区块的移动向量、MV3*该目前区块右上角邻近区块的移动向量、MV4为该目前区块左边邻近区块的移动向量。9.根据权利要求1所述的方法,还包含以下步骤g.自一外部存储器将该搜寻窗口范围加载,并将该搜寻窗口范围储存至内部存储器中;h.决定该选定的目前区块的水平方向向右连续的区块所对应的预测搜寻窗口范围;以及i.将步骤h相较于步骤g所加载的新增的预测搜寻窗口范围,自该外部存储器加载至该内部存储器中。10.一种计算机可读取媒体,用以储存程序指令,其中当该程序指令执行于计算装置上时,将使该计算装置执行权利要求1所述的方法。全文摘要本发明提供一种用以执行移动评估的方法。本发明的方法包含于目前画面中选定目前区块;取得位于目前区块周围的多个邻近区块的移动向量及残值数据;根据多个邻近区块的残值数据设定预定临界值;比对目前区块与在参考画面中的初始参考区块而得到初始比对结果,并比较预定临界值与初始比对结果;若初始比对结果大于预定临界值,则根据多个邻近区块的移动向量决定目前区块的预测移动向量;以及在对应预测移动向量的搜寻窗口范围中进行区块比对,以寻找与目前区块相匹配的对应参考区块。文档编号H04N7/32GK101815219SQ20091000496公开日2010年8月25日申请日期2009年2月20日优先权日2009年2月20日发明者郭斯彦,黄士嘉申请人:宏碁股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1