运动稳定化的制作方法

文档序号:7949771阅读:202来源:国知局
专利名称:运动稳定化的制作方法
技术领域
本发明涉及数字信号处理,更具体地涉及视频设备和处理方法。
背景技术
图像稳定化(IS)指的是从手持式摄像机拍摄的视频序列中消除抖动的任务。抖动典型地是由于在视频记录期间不希望有的摄像机用户的手的摇晃造成的,并且在使用高变焦比时成为更严重的问题。从视频序列中消除抖动对于消费者数字摄像机和摄像电话来说已成为日益重要的问题。存在着若干不同的解决图像稳定化问题的方法。一种特定方法是使用数字图像处理技术来消除抖动。该方法通常称作数字图像稳定化(DIS)。
典型的数字图像稳定化方法可被概括如下步骤1运动矢量的计算通过寻找像素块之间的相关性,计算两帧之间的多个候选运动矢量。
步骤2全局运动矢量的确定使用多次试探(heuristics)来寻找由于抖动而造成的两帧之间的全局运动,从而处理这些候选运动矢量。
步骤3运动补偿通过在运动的反方向数字化移动(digitallyshifting)输出图像来补偿所估计的抖动运动。
例如,美国专利5,563,652号将一图像分成四个检测区;在每一检测区内比较当前图像的像素和先前图像的代表性像素以寻找最佳的偏移相关性;分析该最佳相关性以对变化率进行平均化及分析,从而检验该检测区是否是用于抖动检测的有效检测区;并且,对于无效区,使用先前图像(一个或多个)的平均运动矢量(一个或多个)来计算整体图像运动矢量。美国专利5,748,231号匹配在连续画面的运动估计区中的二进制边缘图案来寻找局部运动矢量;将局部运动矢量与来自相关性统计的加权值结合以寻找画面运动矢量;并且累积画面运动矢量。美国专利6,628,711号比较连续图像的运动矢量直方图来估计抖动。

发明内容
本发明通过将输入帧的低分辨率版本划分为输入块;确定每一块的运动矢量的可靠性;根据运动矢量可靠性执行分割;计算具有可靠运动矢量的块的单一运动矢量;以及按比例缩放并精炼输入帧的较高分辨率版本中的单一运动以提供抖动估计,从而根据对抖动进行估计来提供数字图像稳定化。
附图描述

图1图解说明分层的图像表示。
图2显示了图像分割。
图3显示了全局运动估计。
图4图解说明了运动补偿。
图5-6是分割和稳定化的流程图。
图7-9图解说明数字摄像机和网络通信。
具体实施例方式
A.综述 运动稳定化方法的第一示例性实施例,例如用于手持式视频设备的方法估计抖动运动并因此做出补偿。图5是抖动估计的流程图,包括步骤第一,依据块运动估计的分析将输入帧的低分辨率版本分割成有效和无效块,所述分析包括先前帧中位于同一位置(co-located)的块的运动矢量的累积;其次,将全部的有效低分辨率块聚集成一个区域并寻找该区域的单一运动矢量;然后通过按比例缩放并精炼该单一运动矢量以产生该区域在最高分辨率的全局运动矢量来扩展到较高分辨率。如果全局运动矢量可用,稳定化就将全局运动矢量应用于运动补偿帧。图6是整个方法的流程图。
示例性实施例系统包括执行示例性实施例稳定化方法的摄像放像机、数字摄像机、视频手机、视频显示设备等等。图7显示了一般的图像处理传递途径,而且虽然示例性实施例稳定化不需要被编码也不需要被压缩,但是该实施例稳定化可在MPEG(运动图像专家组)/JPEG(联合图像专家组)功能中执行并与运动矢量的确定整合。甚至,可用被用作显示处理一部分的示例性实施例稳定化来显示不稳定的视频。
可用若干类型的硬件中的任一种实现示例性实施例系统数字信号处理器(DSP)、通用可编程处理器、专用电路或诸如DSP和RISC(精简指令集计算机)处理器的组合连同各种专用可编程加速器的片上系统(SoC)。图8说明了用于数字摄像机应用的处理器的例子,所述处理器在左上部具有视频处理子系统。位于板上或外部的(快速电可擦除可编程)只读存储器(ROM)或熔丝式随机存取存贮器(FRAM)中的存储的程序可实现信号处理。模数转换器和数模转换器可提供与现实世界的连接,调制器和解调器(加上用于空中接口的天线)可为传输波形提供耦合,并且分组器可提供用于在诸如因特网的网络上传输的格式;参见图9。
B.第一示例性实施例 用于DIS系统的运动估计方法(背景技术的步骤1和2)的设计包括某些基本权衡。一个重要的权衡与用于计算运动矢量的块大小有关。块大小的选择受两个重要因素的影响;移动物体和噪声。通常,大移动的物体对于DIS系统是大的挑战,这是因为图像中大移动的物体区域可以产生显示该物体运动的运动矢量,而不是摄像机的抖动运动。因此,通常,使用较小块进行运动估计是有利的,以使大移动的物体区域之上的运动矢量可在运动矢量确定阶段(背景技术步骤2)被识别并不予处理。然而,使用较小块进行运动估计有一个缺点,因为小块对于克服缺少纹理(texture)、噪声和小移动的物体是不够健壮的。当块变得越小,计算所得的运动矢量的准确度降低。因此,使用尽可能大的块是有利的。在极限情况下,当在场景中不存在大移动的物体时,将整个帧看作单个块将会是最优的方法。DIS系统在过去已经通过使用中间解来处理有关块大小的权衡,最典型的是每帧3-4个块。在这些块的运动矢量被计算之后,可使用多次试探来确定这些候选块运动矢量中哪些可能是不可靠的,尤其是由于大移动的物体而不可靠。一旦不可靠的候选矢量被消除,就仅使用可靠的候选运动矢量来确定全局运动矢量。
在该数字图像稳定化的现有技术中存在两个问题。首先,运动矢量计算阶段(背景技术步骤1)计算所有块的详细的运动矢量,即使这些块中的一些最可能由于大移动的物体而对于运动估计可能是不可靠的。这些不可靠的块的运动矢量稍后在运动矢量确定阶段被丢弃;因此,为这些块所做的所有详细的运动估计计算基本上都是浪费的。如果我们可以通过成本较低的方法识别出这样的块的运动矢量是不可靠的,就可避免这样的块的详细运动矢量的计算。现有技术的第二个问题是,因为预先不知道不可靠的块,所以图像的可靠部分不能被组成可提供非常可靠的运动矢量的非常大的像素块。单独计算较小块的运动矢量并从它们中选择全局运动矢量不如通过将所有这些块组成单个大的块来计算全局运动矢量。
第一个示例性实施例DIS方法克服了这些问题,并包括下列三个步骤1.分割通过处理帧的分层图像表示的顶层,为每一帧计算基于块的分割。
2.全局运动估计使用分层图像表示和之前计算的分割,估计该帧的全局运动矢量。
3.运动补偿使用全局运动矢量补偿当前帧中的抖动运动。
如下提供了这些步骤的详细描述。
步骤1-分割 每一新捕获的视频帧首先被处理以产生如图1所示的分层图像表示。该分层表示由原始图像在不同分辨率的若干版本组成。该表示的每一层都是通过对较高分辨率层进行低通滤波,例如使用高斯内核(Gaussian kernel),然后在每一方向以2为因子进行下采样获得的。该滤波和下采样过程被重复多次以产生原始帧的渐进地较低分辨率版本。分层表示的层数可依赖于输入帧大小而改变。对于VGA(视频图形阵列)(640×480)输入,例如,可使用四层分层表示,这样最低分辨率版本是80×60。两帧(当前帧和紧邻的前一帧)的分层表示被保存在存储器中用于运动估计。
当前帧和前面帧的分层表示的顶层(最低分辨率)被用于计算基于块的分割,在此每一块均被标记为对于运动估计是有效的或者无效的。分割的目的是识别该帧的哪些部分对于估计摄像机运动是可靠的。在第一优选实施例方法中,分割是16个块的4×4阵列而省去该帧的边界区域;参见图2。因此对于VGA四层层次,每一分割块可以是16×12像素,并且边界区域(用于运动估计)沿纵向将为8像素宽而沿横向为6像素宽。
为计算帧的分割,首先基于位于分层表示顶层(最低分辨率)的每一块亮度的绝对差值和(SAD)执行运动估计。该运动估计是使用完全搜索执行的,其包括计算每一可能的整数像素运动矢量(MV)的SAD且然后挑选目前具有最小SAD的MV。注意对于可能的MV,其SAD是使用该可能的MV和先前的最低分辨率帧的预测误差。
SAD(MV)=∑(i,j)∈块|pt(i,j)-pt-1(i+MVx,j+MVy)|(如果使用部分的MV,那么预测的像素是参考块像素的插值。)因为该过程是使用两个小的低分辨率帧实现的,所以计算复杂性低。在运动估计过程中,除MV之外,每一块的最小SAD和平均SAD也被记录。例如,使用四层VGA层次以及纵向+/-4像素和横向+/-6像素的典型搜索范围,对于80×60的最低分辨率帧中的16×12块而言存在9*13(=117)个存储单元,所以存在117个可能的SAD,以为16个块中的每个块进行计算。
在运动估计期间计算的MV、平均SAD和最小SAD被用于寻找分割。分割的目的是识别哪些块将对于运动估计是不可靠的。通常,具有有限纹理的块和被大移动的物体覆盖的块对于运动估计将是不可靠的,并且应在分割中被标记为无效。下列几段详述了这两个标准。
识别具有有限纹理的块相对较容易并可通过检查每一块的平均SAD和最小SAD完成。平均SAD和最小SAD之间的差是块纹理内容的度量。这个SAD差小于某一阈值的块在分割中被标记为无效。该阈值依赖于块大小而改变并根据一组训练视频序列来计算。对于本例而言,具有8位亮度(在0-255范围中的像素值)的16×12块可使用在100到300的范围内的阀值。分割中剩余的有效块被进一步分析,以确定移动物体是否存在。识别移动物体的最重要特征是场景和摄像机之间的相对运动。相对运动是通过随时间累积块的MV而计算的。考虑下列描述块的运动矢量的等式Vjt=Jt+Pt+Mjt]]>在此Vjt是第t帧中第j块的MV,Jt是摄像机的抖动运动,Pt是摄像机的扫视(panning)运动,以及Mjt是覆盖第j块的物体的运动。注意Jt和Pt对于所有块是相同的,而Mjt对于每个块可以是不同的,取决于该块是否被物体或背景覆盖。假定Pt和Mjt具有低频含量而Jt具有高频含量。换言之,假定当与摄像机扫视运动和物体运动相比较时,手的振动包含较高频率。视频稳定化方法的目的是估计并补偿Jt,其需要一种方法来确定Vjt的哪部分是归因于Jt。通过仅仅观察当前帧中的运动矢量Vjt,是不可能区别抖动、扫视或移动物体运动的。然而,如果在多个帧上处理Vjt值,以为每一块获得场景和摄像机之间的相对运动,那么就可得出有用的结论。
具体地,通过使用如下形式的简单自回归随着时间累积MV来计算物体和摄像机之间的相对运动Rjt=αRjt-1+(1-α)Vjt]]>在此,Rjt是第t帧第j块的相对运动,α是累积系数,Vjt是块运动矢量。第一优选实施例使用在0.6-0.8范围中的α。该等式实现了用于Vjt的低通滤波器。因为Jt具有高频含量,其将被该低通滤波器大部分滤出,这将导致如下近似关系Rit=Φ(Jt,Jt-1,...)+Φ(Pt,Pt-1,...)+Φ(Mt,Mt-1,...)]]>≈Φ(Pt,Pt-1,...)+Φ(Mt,Mt-1,...)]]>在此Φ(.,.,...)表示累积运算。注意相对运动包括摄像机扫视和物体运动的成分。理想地,可使用不包含相对运动的区域(这样的区域Rit≈0]]>)来最佳地估计抖动。这将对应于不存在移动物体或扫视的情形。然而,通常可在运动补偿阶段容许一定量的扫视;因此,使用具有非零相对运动的区域,但是确保该非零相对运动是由于扫视,而不是由于移动物体造成的。移动物体区域不应被包含在运动估计程序中,因为物体以不可预测的方式移动,这可导致已稳定的序列中的伪像。
考虑所有这些问题,第一优选实施例方法按如下寻找分割(1)通过检查为最低分辨率帧中每一块所计算的SAD值,初始化分割。如果块的平均SAD和最小SAD之间的差小于第一阀值,将该块标记为在分割中不可靠的;否则,将其标记为可靠的。第一阀值取决于块大小和亮度值范围;并且具有8位亮度的示例性16×12块可使用100到300范围中的阀值。
(2)为所有从(1)得到的可靠块,计算所有Rit值的中值。这是中值相对运动。计算每一Rit值到中值的距离(x和y分量的绝对值的和),并计算具有的Rit到中值的距离超过第二阀值的块的数目,N。第二阀值取决于最低分辨率帧的大小,这是因为运动矢量随着分辨率而按比例缩放。对于80×60的示例性最低分辨率帧大小,第二阀值可以在0.5-0.7的范围中。
(3)如果从(2)得到的N小于第三阀值,就得出在该场景中不存在移动物体的结论。在这种情况下,每一块均包含抖动及可能一些扫视,并且分割包括所有在这一点被标记为有效的块。第三阀值取决于用于分割的块的数目,并且对于16块的优选实施例而言可在2到6的范围中。
(4)如果从(2)得到的N大于第四阀值,就得出在该场景中存在移动物体的结论。在这种情况下,只有当一个块的Rit值小于第五阀值时,该块才会被标记为有效。这确保只有具有小的相对运动的块被用于运动估计。第四阀值可以与第三阀值相同,并且第五阀值可与第二阀值相同。
(5)在这一点上被标记为有效的块之中,具有的MV的量值大于第六阀值的块被标记为无效。这是因为抖动运动具有某一最大幅度限制,并且如果块的MV超过该限制,就存在太多的扫视或快速移动的物体。第六阀值取决于最低分辨率帧的大小,并且对于80×60的例子而言可在3到4的范围中。
(6)如果分割中的有效块的数目小于第七阀值,就得出当前帧不适合进行抖动估计的结论。在这种情况下,本方法不对运动进行补偿,所以其不会在视频序列中引入伪像。第七阀值取决于用于分割的块的数目,并且对于16块的优选实施例而言可在1到6的范围中。
(7)为该最终分割中的所有有效块计算中值Rit值。如果该中值大于第八阀值,就得出在视频序列中存在太多扫视的结论。本方法在存在太多扫视时不补偿运动。第八阀值取决于最低分辨率帧的大小,并且对于80×60的例子而言可以在1到2的范围中。
(8)为限制计算复杂性,可将一上限加于将被用于运动估计的块的数目。因此,如果分割中的有效块的数目大于该上限,那么可靠性最低的块就从分割中被移除以使块的数目在最大限制之下。每一块的可靠性可由它的Rit值到这些Rit值的中值的距离测量。该上限取决于用于分割的块的数目,并且对于16块的优选实施例而言可在1到16的范围中。
步骤2-全局运动估计 一旦分割已在顶层(最低分辨率)被计算出来,分层的运动估计方法就被用于寻找全局运动矢量。运动估计过程开始于分层表示的顶层(最低分辨率)并朝向较低层(较高分辨率)前进。在每一层,来自紧邻的上层的运动矢量被乘以2,并使用如图3中所示的±1搜索进行精炼。可适当地选择每一层的搜索范围以使在最高分辨率层可获得所需的有效搜索范围。为执行±1精炼,计算9个SAD,并且挑选对应最小SAD的MV。在SAD计算过程中,分割中所有标记为有效的块被聚集(组合在一起)以形成一个大的块。换言之,为计算一个SAD值,来自所有有效块的所有像素都被使用。将所有有效块组合在一起提供了非常健壮的运动矢量。在分层表示的最低层(最高分辨率),半像素和四分之一像素运动估计可依赖所需的MV准确度而完成。
步骤3-运动补偿 对于每一帧,优选实施例方法从图像修剪一子窗口并将其显示给观察者,如图4所图解说明的。如果以(估计的)抖动运动的反方向适当地移动该子窗口,观察者就观察不到抖动。使用如下等式移动子窗口Ut=KtUt-1-Wt在此,Ut表示当前帧中子窗口的左上角坐标,Wt是为当前帧估计的全局MV,并且Kt是自适应累积系数。该等式被分别应用于子窗口左上角的纵向和横向坐标。Ut的参考点是位于帧中部的窗口的中间位置,以使在该窗口还未从其初始位置移动之处的第一视频帧中Ut为零。Kt依赖该子窗口离其在帧中部的中间位置的距离线性地在最小和最大值之间变化。按如下计算Kt值Kt=(K最小-K最大)‖Ut‖/U最大+K最大在此‖Ut‖是Ut分量的绝对值之和,U最大是最大可允许的子窗口离其中间位置的偏移,K最大是Kt的最大值,而K最小是Kt的最小值。第一优选实施例使用K最大=1和K最小=0.85。
C.修改 可用多种方式来修改示例性实施例,同时保留低分辨率帧分割,被分割的区域在较高分辨率的单一运动矢量精炼,以及用于位移估计的单一运动矢量的自适应累积中的一个或更多个特征。
例如,用于分割的块阵列可依赖于帧的最低分辨率版本中像素的数目(例如,3000到8000像素)和纵横比(例如,4×5(肖像)、4×3、16×9等等)而变化,例如对于4×3纵横比的3×3阵列而言具有3000像素,对于16×9纵横比的8×5阵列而言具有8000像素。稳定化可在图像上被执行,通常是因为稳定化还可应用于具有分开的或组合的顶层画面块和底层画面块的画面基础上。最低分辨率完全搜索可被有限搜索代替。SAD测量可被诸如均方根的运动矢量预测误差的其它测量代替。帧层次可由小波分解的低通-低通产生。块可靠性可比较最小SAD除以平均SAD的商和诸如0.2的阀值,从而独立于块大小和亮度值范围。
权利要求
1.一种视频序列稳定化的方法,包括(a)提供输入图像的低分辨率版本;(b)将所述低分辨率版本分割成可靠的运动估计块和不可靠的运动估计块;(c)为所述可靠的运动估计块的集合体寻找单一运动矢量;(d)根据所述单一运动矢量为所述输入图像寻找全局运动矢量;以及(e)使用所述全局运动矢量补偿所述输入图像中的抖动运动。
2.根据权利要求1所述的方法,其中输入图像的所述低分辨率版本包括至少9个运动估计块。
3.根据权利要求1或2所述的方法,其中所述全局运动矢量在步骤(c)中通过按比例缩放和精炼所述单一运动矢量而被找到。
4.根据权利要求3所述的方法,其中所述按比例缩放和精炼包括在横向和纵向两方向都以2为因子进行第一按比例缩放,通过局部搜索的第一单一运动矢量精炼,在横向和纵向两方向都以2为因子进行第二按比例缩放,以及通过第二局部搜索的第二运动矢量精炼。
5.一种视频帧的抖动估计的方法,包括(a)提供输入帧的低分辨率版本;(b)将所述低分辨率帧分解成块;(c)对于所述块中的每个块,计算运动矢量预测误差并且当平均运动矢量预测误差超过最小运动矢量预测误差第一阀值时,将所述块中的所述每个块指定为可靠的块;(d)对于所述块中的每个块,使用来自先前低分辨率帧的相应的相对运动矢量计算相对运动矢量;(e)取等于所述可靠的块的数目的整数N,所述可靠的块具有的相对运动矢量与所有所述可靠的块的所述相对运动矢量的平均值的差大于第二阀值;(f)当所述N大于第三阈值时,对于具有大于第四阈值的相对运动矢量的所述可靠的块中的每个块,将指定从可靠的改为不可靠;(g)寻找所述可靠的块的集合体的运动矢量;(h)将步骤(g)的所述运动矢量扩展至所述输入帧中一区域的全局运动矢量,所述区域对应于所述低分辨率帧中的所述集合体;以及(i)应用所述全局运动矢量来稳定化所述输入帧。
6.根据权利要求5所述的方法,进一步包括在所述步骤(g)之前,对于具有大于第四阈值的运动矢量量值的所述可靠的块中的每个块,将指定从可靠的改为不可靠。
7.根据权利要求5或6所述的方法,进一步包括在步骤(f)之后,当所述相对运动矢量的平均值具有大于阈值的量值时,终止。
8.根据权利要求5-7中任何一个所述的方法,其中所述步骤(i)的应用包括所述全局运动矢量的自适应累积以限定位移。
9.一种视频摄像机,包括(a)图像捕获电路;(b)与所述图像捕获电路相连的抖动估计器,所述抖动估计器包括(i)低通滤波器和下采样器;(ii)与所述下采样器相连的分割电路,所述分割电路可操作用于将输入图像的低分辨率版本分割成可靠的运动估计块和不可靠的运动估计块,并为所述可靠的运动估计块寻找单一运动矢量;以及(iii)与所述分割电路相连的精炼电路,所述精炼电路可操作用于根据所述单一运动矢量计算所述输入图像的全局运动矢量;以及(c)与所述抖动估计器相连的抖动运动补偿电路。
10.根据权利要求9所述的视频摄像机,其中所述抖动估计器被实现为可编程处理器上的程序。
全文摘要
用于诸如手持式摄像放像机的设备的稳定化,将低分辨率帧分割成可靠的估计区域,在高分辨率为该区域寻找全局运动矢量,并使用该全局运动矢量来补偿抖动。
文档编号H04N7/12GK101065964SQ200580040657
公开日2007年10月31日 申请日期2005年9月27日 优先权日2004年9月27日
发明者A·U·巴特 申请人:德克萨斯仪器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1