电子视频图像稳定的制作方法

文档序号:7676065阅读:221来源:国知局
专利名称:电子视频图像稳定的制作方法
技术领域
本发明涉及视频处理,且更具体地说,涉及用于电子视频应用中的电子图像稳定的 技术。
背景技术
随着成像装置变得较轻且较小,由此类装置俘获的图像由于无意的抖动而较容易受 到质量降级的影响。在静止图像俘获中,抖动可能产生模糊图像。在视频俘获屮,抖动 可能导致视频图像中的抖动或跳动。抖动和跳动可能使人类视觉系统难以聚焦和集中于 视频内的相关区域和目标上。当此抖动呈现出与视频中的真实运动结合时,可混合不利 效应。在任何情况下,视频或图像的观看体验的质量降低。
图像稳定系统尝试补偿图像抖动以产生较好的图像质量。图像稳定系统通常可分为 三种主要类别光学图像稳定器(OIS)、机械图像稳定器(MIS)和电子图像稳定器(EIS)。 OIS系统利用可调整的透镜,其在图像到达传感器之前使图像变形,其中所述透镜由外 部运动传感器控制。MIS系统使整个相机稳定而非相机所俘获的图像。具体地说,MIS 系统通常使用相机的重心、平衡系统以及相机操作者的身体来维持平滑运动。
EIS系统利用信号处理算法来更改所俘获的图像。 一些EIS系统在许多情形中工作 良好,但可能遭受不能够区分真实运动与非所要的抖动。变焦EIS涉及通过变焦来增加 所俘获图像的大小,且接着在图像内变焦以选择补偿抖动所导致的移动的略小图像。超 大EIS涉及俘获略大于所需分辨率的图像,且在超大图像内摇摄以补偿由抖动引起的移 动。

发明内容
本发明描述有用于具有视频成像能力的装置的电子图像稳定技术。本发明中所描述 的技术有效地区分装置的非所要抖动和在所俘获场景中发生的真实运动。在操作中,视 频序列中的视频帧分为多个非重叠宏块。 一旦计算出空间和运动统计,就确定每一宏块 的运动向量。运动向量指示宏块相对于视频序列中的另一帧中的相应宏块的移动。空间 统计指示所述帧内的宏块的平均数和方差。宏块的空间和运动统计经整合以获得所述帧的全局运动向量。稳定涉及基于全局运 动向量将一偏移应用到帧以补偿抖动。举例来说,全局运动向量可用以在超大图像内摇 摄以选择补偿抖动的略小的图像。已经可用于编码帧的目的的空间和运动统计也可用以 支持电子图像稳定。以此方式,空间和运动统计支持在区分抖动和真实运动方面同样有 效的有效稳定技术。
在一个实施例中,本发明提供一种装置,其包含空间估计模块,其产生视频帧内 的宏块的空间统计;运动估计模块,其产生所述视频帧内的所述宏块的运动统计;运动 整合模块,其整合所述空间统计和所述运动统计以确定所述帧的全局运动向量;以及稳 定模块,其基于所述全局运动向量而将一偏移应用到由所述宏块界定的图像。
在另一实施例中,本发明提供一种执行电子图像稳定的方法,其包含产生视频帧 内的宏块的空间统计;产生所述视频帧内的所述宏块的运动统计整合所述空间统计和 所述运动统计以确定所述帧的全局运动向量;以及基于所述全局运动向量将一偏移应用 到由所述宏块界定的图像。
在另一实施例中,本发明提供一种用于执行电子图像稳定的装置,其包含用于产 生视频帧内的宏块的空间统计的装置;用于产生所述视频帧内的所述宏块的运动统计的 装置;用于整合所述空间统计和所述运动统计以确定所述帧的全局运动向量的装置;以 及用于基于所述全局运动向量而将一偏移应用到由所述宏块界定的图像的装置。
可以硬件、软件、固件或其任何组合来实施本文所描述的这些和其它技术。如果以 软件来实施,那么可在数字信号处理器(DSP)或其它类型的处理器中执行软件。执行 所述技术的软件可最初存储在计算机可读媒体中,且加载及在DSP中执行以用于所俘获 图像的有效图像稳定。
因此,本发明也涵盖一种计算机可读媒体,其包含通过在装置中执行而使所述装置 执行以下操作的指令对一图像的一帧内的多个宏块中的每一者执行空间估计,以获得 宏块中的每一者的空间统计;以及对多个宏块中的每一者执行运动估计,以获得所述宏
块中的每一者的运动统计。计算机可读媒体进一步包含通过在装置中执行而使所述装置 进行以下操作的指令整合所述宏块中的每一者的所述空间统计和所述运动统计以确定 所述帧的全局运动向量;以及根据所述全局运动向量而相对于参考窗使图像偏移。
在附图和以下描述中陈述了本发明的一个或一个以上实施例的细节。根据描述和附 图以及根据权利要求书将明白本发明的其它特征、目的和优势。


图1是根据本发明经装备以执行可縮放电子图像稳定的示范性视频处理装置的框图。
图2是说明在图1的装置中有用的示范性前端处理单元的框图。
图3是说明图2中的处理单元的各种组件用以执行可縮放电子图像稳定的操作的框图。
图4是说明图1的装置在实施可缩放图像稳定技术过程中的示范性操作的流程图。 图5是说明基于全局运动向量将图像偏移应用到视频帧内的图像以支持图像稳定的图。
图6是说明使用包含宏块的子集的区域来建立用于图像稳定的全局运动向量的图。 图7是说明适于并入如本发明所述的视频处理装置的移动调制解调器的实例性视频 核心的框图。
图8A-8D是说明根据本发明用于实施可缩放图像稳定技术的实例性实施方案的框图。
图9是说明其中可实施本发明的图像稳定技术的示范性无线通信装置的框图。
具体实施例方式
图1是可根据本发明实施可縮放电子图像稳定技术的示范性装置2的框图。装置2 可形成能够编码视频数据的数字视频处理装置的部分。数字视频处理装置可处理由视频 俘获装置(例如摄像机或存储先前俘获的视频的视频档案)获得的视频。举例来说,装 置2可形成数码摄像机、膝上型计算机、台式计算机、无线通信装置(例如蜂窝式或卫 星无线电电话)、个人数字助理(PDA)或具有数字视频能力的任何装置的部分。视频俘 获装置可能容易受到破坏视频质量的非所要抖动的影响。运动估计可用于图像稳定。然 而,可能由于视频俘获装置的无意抖动或由摇摄、变焦、倾斜或其它操作产生的有意移 动,以及在所俘获场景屮发生的实际运动而发生运动。因此,应用运动估计以提供有效 的视频稳定可具有挑战性。本文所揭示的图像稳定技术可在维持有意移动的存在的同时 补偿无意移动。
视频处理设备4操作以通过确定视频帧序列中的每一视频帧的全局运动向量来提供 电子视频图像稳定。视频处理设备4使用将进一步详细描述的全局运动向量来补偿由抖 动引起的图像移动。全局运动向量表示当前视频帧内的图像相对于另 一 视频帧(例如, 先前视频帧)内的图像的整体移动。
视频处理设备4通过将帧分为非重叠块且对每一块执行空间估计和运动估计以确定每一块的空间和运动统计而获得全局运动向量。在一些实施例中,视频处理设备4可使 用经产生用于视频编码的空间和运动统计。视频处理设备4可基于空间和运动统计而产 生视频帧中的毎一块的运动向量。
视频处理设备4整合针对每一个别块所获得的所有信息以获得全局运动向量。以此 方式,视频处理设备4补偿俘获视频帧以大体上移除由装置2的无意平移运动(例如由 于抖动)引起的运动外观。
视频处理设备4可存储原始视频数据且对此数据执行各种视频处理技术。视频处理 设备4可包含"芯片集",其包括数字信号处理器(DSP)和芯片上存储器。在其它情况 下,设备4可包含处理器、硬件、软件或固件的任何组合。而且,设备4可包含单个集 成芯片、
在图l的实例中,视频处理设备4包括本地存储器8、存储器控制器IO和视频处理 单元6。视频处理单元6包括前端处理单元18,且也可包括编码单元19。前端处理单元 18可执行前端操作,例如滤波、去马赛克、透镜消散校正、縮放、色彩校正、色彩转换、 噪声减少滤波、空间滤波和除了本发明所述的视频图像稳定以外的其它操作。在一些实 施例中,前端处理单元18可执行本发明的技术且可包括多个图像处理模块(如下文进一 步详细论述)。在其它实施例中,前端处理单元18和编码单元19中的每一者可包括执行 本发明的技术的视频处理模块中的一者或一者以上。在一些情况下,前端处理单元18可 与编码单元19合作。举例来说,前端处理单元18可获得空间和运动统计且将其提供给 编码单元19以用于编码,进而避免此些统计的计算的重复。作为替代,空间和运动统计 或其部分可用于编码单元19内的视频编码和前端处理单元18内的图像稳定两者。
当设备4经装备以编码在视频流中获得的视频(例如)来用于压縮存储或在有线或 无线通信媒体上传输到远程装置时可提供编码单元19。在此情况下,编码单元19可执 行视频编码,其可应用一个或一个以上视频压縮技术,例如帧间压縮或帧内压縮。举例 来说,编码单元19可实施运动估计和运动压縮技术以采用时间或帧间数据相关性来提供 帧间压縮。或者,或另外,编码单元19可执行空间估计和帧内预测技术以采用空间或帧 内数据相关性来提供帧内压縮。在一些实施例中,编码单元19可使用由前端处理单元 18获得的空间和运动统计(例如)以减少计算的重复。或者,编码单元19可将其自身 的运动估计、运动压縮和空间估计技术应用到由前端处理单元产生的视频。
一般来说,编码单元19可根据多种视频编码标准中的任一者来应用视频编码,例如 MPEG-1、 MPEG-2、 MPEG-4、 ITU H.261、 ITU H.263、 ITU H.264和/或其它标准。编码单元19也可用以压缩静止图像。编码单元19可形成组合编码器/解码器(CODEC)的部 分。CODEC可实施在硬件、软件、固件、DSP、微处理器、专用集成电路(ASIC)、现 场可编程门阵列(FPGA)、离散硬件组件或其各种组合内。可提供各种数字滤波器和硬 件组件以支持编码和解码应用两者。
本地存储器8通常存储原始视频数据,且也可在由视频处理单元6执行的任何处理 之后存储经处理的视频数据。举例来说,存储器8也可存储由编码单元19产生的经编码 视频数据。存储器控制器10控制本地存储器8内的存储器组织。存储器控制器10也控 制从本地存储器8到视频处理单元6的存储器负载,且从视频处理单元6写回到本地存 储器8。
装置2可包括视频俘获设备12以俘获视频。举例来说,视频俘获设备12可为集成 在另一装置(例如移动电话)内的摄像机,从而形成所谓的相机电话或视频电话。或者, 视频俘获设备12可为相机,其经耦合以直接通过有线或无线媒体(例如,通用串行总线 (USB)或IEEE 1394连接)或间接通过交换可移除存储媒体(例如,快闪存储卡、磁性 硬盘驱动器或其它媒体)来提供视频到视频处理设备。视频俘获设备12可包含一组图像 传感器,其包括(例如)以拜尔(Bayer)模式布置在各自传感器的表面上的彩色滤光器 阵列(CFA)。
当视频俘获设备12与视频处理设备4集成在一起时,图像传感器可直接耦合到视频 处理单元6以避免取景器图像(即,经由相对小格式、低分辨率显示器大体上实时呈现 给用户的图像)的图像处理中的等待时间。然而,其它类型的图像传感器也可用以俘获 视频数据。可用于实现图像俘获设备12的其它示范性传感器包括固态传感器元件阵列, 例如互补金氧半导体(CMOS)传感器元件、电荷耦合装置(CCD)传感器元件等等。
根据本发明来处理视频俘获设备12所获得的视频以提供图像稳定来补充非所要的 抖动。视频俘获设备12可俘获具有比视频编码所必需的大小大的大小的视频帧。以此方 式,所俘获的视频帧提供过多面积来准许电子图像稳定。具体地说,较大的所俘获视频 帧内的所要图像可基于全局运动向量来垂直地、水平地或垂直水平地移动,从而补偿抖 动。
作为视频俘获设备12的替代方案,视频处理设备4可处理从存储先前所俘获的视频 的视频档案获得的视频。因此,图像稳定可立即(大体上实时)应用到其正俘获的视频 或作为后处理步骤应用到先前俘获的视频。在任何情况下,图像稳定在编码之前补偿视 频中的抖动,以增强用户最终所观看到的视频的质量。可能需要在俘获视频时的图像稳定的即时应用以增强取景器图像质量以及最终的原始或编码视频质量。
装置2可包括显示器21,其显示由图像俘获设备12取样的取景器图像的实时序列 以模拟实时视频。这些图像在宽度上可相对较小。因此,由于此些小图像经俘获,其可 直接逐行载入到前端处理单元18中。在处理之后,可将取景器图像写入到本地存储器8 或外部存储器14。接着将经处理图像发送到显示器21以用于呈现给用户。显示器21也 可用于在由前端处理单元18处理此些静止图像之后显示静止图像。然而,在一些情况下, 可在未由装置2显示的情况下处理和存储静止图像。在俘获静止图像之后,本地存储器 8可存储原始数据。
在一些情况下,装置2可包括多个存储器。举例来说,装置2可包括外部存储器14, 其通常包含相对大的存储器空间。外部存储器14 (例如)可包含动态随机存取存储器 (DRAM)或快闪存储器。在其它实例中,外部存储器14可包含非易失性存储器或任何 其它类型的数据存储单元。与外部存储器14相反,本地存储器8可包含较小且较快速的 存储器空间,但本发明不必限于此方面。举例来说,本地存储器8可包含同步动态随机 存取存储器(SDRAM)。
在任何情况下,存储器14和8仅仅为示范性的,且可经组合到同一存储器中,或可 用许多其它配置来实施。在一个实施例中,本地存储器8形成外部存储器14的部分,通 常在SDRAM中。在此情况下,存储器8和14两者从存储器与视频处理单元6不位于"芯 片上"的意义上来讲处于"外部"。因此,仅图像处理单元6的行缓冲器可为"芯片级" 存储器。
在一些实施例中,装置2也可包括用以(例如)经由有线或无线通信媒体将经处理 视频或经编码视频(或其它信息)传输到另一装置的传输器(未图示)。而且,在一些实 施例中,装置2包括用以接收来自另一装置的经处理视频或经编码视频(或其它信息) 的接收器。本地存储器8、显示器21和外部存储器14 (以及其它组件,如果需要的话) 可经由通信总线15耦合。装置2中也可包括许多其它元件,但为了简单且易于说明起见 并未在图1中具体说明。图1中所说明的结构仅仅是示范性的,因为可使用多种其它结 构来实施本文所描述的技术。
图2是根据本发明的原理进一步详细说明图1的实例性前端处理单元18的框图。如 图2中所示,前端处理单元18可包括空间估计模块22和运动估计模块24。另外,前端 处理单元18可包括运动整合模块26、运动补偿模块28、统计存储器27和原始帧存储器 29。前端处理单元18将视频帧分为非重叠宏块。空间估计模块22和运动估计模块24两者均相对于另一帧中的相应(即,最紧密匹配)宏块而分析帧的宏块中的每一者,从而 分别获得空间和运动统计。统计存储器27存储空间和运动统计。原始帧存储器29存储由视频俘获装置获得的 视频帧。存储在原始视频帧存储器29中的视频帧可包括非所耍的抖动。运动整合模块 26基于空间估计模块22和运动估计模块24所产生的空间和运动统计而产生全局运动向 量。运动补偿模块28使用全局运动向量将一偏移应用到所接收的视频帧内的图像,且进 而补偿抖动。图3是说明图2中的处理单元的各种组件用以执行可缩放电子图像稳定的操作的框 图。如图3所示,空间估计模块22、运动估计模块24、统计存储器27、原始帧存储器 29形成电子图像稳定(EIS)宏块(MB)环路的部分。EIS MB环路处理抖动图像以产 生空间和运动统计。运动整合模块26接收来自统计存储器27的统计,且产生全局运动 向量以用于由运动补偿模块28应用而产生稳定的图像。空间估计模块22对来自当前视频帧的个别非重叠宏块执行空间估计。空间估计提供 帧的特性的指示,例如在纹理方面。在一个实施例中,执行空间估计包含测量与宏块内 的像素相关联的亮度值的平均数和方差。空间估计模块22将平均数和方差作为空间统计 存储在统计存储器27中,统计存储器27可形成本地存储器8的部分。运动估计模块24对个别非重叠宏块执行运动估计。运动估计模块24确定当前帧中 的每一宏块的运动向量以表示所述宏块从其先前帧中的位置的位移。换句话说,运动向 量指示当前帧中的宏块相对于经发现最紧密匹配当前宏块的先前帧中的宏块的位移。运 动估计模块24通过将当前帧中的每一宏块与先前帧中其周围区中的宏块进行比较以发 现最佳匹配来执行此功能。运动估计模块24也可确定当前帧中给定宏块与来自先前帧内 的搜索区的候选宏块之间的绝对差和(SAD)。运动估计模块24将运动向量和SAD作为 运动统计存储在本地存储器8中。由模块22、 24提供的空间估计和运动估计操作通常可符合视频编码中执行的类似操 作,例如根据MPEG-1、 MPEG-2、 MPEG-4、 ITU H.261、 ITU H.263或ITU H.264标准 的编码。 一旦当前帧的个别非重叠宏块中的每一者的空间和运动统计已存储在统计存储 器27中,运动整合模块26就将个别运动向量整合为单个全局运动向量,其将用以补偿 由抖动产生的移动。运动整合模块26可如下所述利用非线性整合功能。举例来说,在一 个实施例中,运动整合模块26建立二维(2D)育.方图(其具有对应T可能运动向量中的 每一者的区间),且选择与具有最大值的直方图R间相关联的运动向量作为全局运动向量。 一旦运动整合模块26已计算出全局运动向量,运动补偿模块28就将当前图像整体 偏移此向量。此外,当前图像可对应于较大图像内的区域,较大图像已为了准许图像稳 定而经扩大,即通过在较大图像内垂直地、水平地或垂直水平地移位较小图像。经移位 图像接着可经取样以用于进一步处理,例如视频编码。在一些实施例中,图2和图3的示范性前端处理单元18中所示的图像处理模块中的 一者或一者以上可驻存在装置2的不同于前端处理单元18的位置中。举例来说,空间估 计模块22和运动估计模块24可位于编码单元19内,使得图像稳定和视频编码依赖于用 于空间估计和运动估计的共同硬件、固件和/或软件单元。另外,前端处理单元18可包 括未图示的其它图像处理模块。举例来说,前端处理单元18的额外模块可包括2维滤波 模块、去马赛克模块、透镜消散校正模块、缩放模块、色彩校正模块、色彩转换模块、 噪声减少滤波模块、空间滤波模块或其它类型的模块。图4是说明图1的装置2在实施本发明的技术时的示范性操作的流程图。图像俘获 设备12俘获视频图像以形成具有一连串帧形式的视频帧(30)。图象处理单元6接收所 俘获的图像。前端处理单元18将图像的当前帧分为宏块(32)。举例来说,前端处理单 元18可将帧分为包含十六乘十六像素阵列的宏块。或者,宏块可具有更小或更大的大小, 例如八乘八、四乘四、八乘十六、四乘八等等。因此,术语"宏块"可指代视频帧内的 像素阵列。此阵列的大小可以是固定的或可变的,且可具有一定范围内的大小。可分析 宏块内的像素以提供整体应用到宏块的统计集合。空间估计模块22对来自当前帧(C)的个别非重叠宏块集合fC)执行空间估 计(34)。空间估计模块22可通过测量宏块的平均数和方差来执行宏块的空间估计。在 一个实施例中,空间估计模块22根据以下等式来测量平均数和方差平均数,=^1| ,")方差〃 =丄1| ,")-平均数,"z〕o m=0 n=0 o(2)在此实施例中,空问估计模块22未使用熟悉的平方近似来测量方差,因为所示的简单近似(取代平方的绝对值)可足以用于图像稳定目的。然而,可在其它实施例中使用 平方和。空间估计模块22将平均数和方差作为空间统计(例如)存储在本地存储器8中 (36)。运动估计模块24对当前帧的个别非重叠宏块执行运动估计(38)。举例来说,运动 估计模块24确定当前帧中每一宏块的运动向量,其表示所述宏块从其在先前宏块中的位 置(即,从先前帧中最紧密匹配宏块的位置)的位移。运动估计模块24通过将当前帧中 的每一宏块与先前帧中其周围区中的宏块进行比较以发现最佳匹配来执行此功能。举例 来说,在先前帧的搜索区S中搜索每一宏块。搜索区(SAT, SJO的大小可依据实施技术 所处的平台以及依据源视频而变化。运动估计模块24自适应地在运动向量预测值(wv^'mv^)或(o,o)向量周围选择搜索区中心(,,-巾心';,,-巾心^。运动估计模块24基于潜在搜索区中心的邻域中的运 动的可靠性而决定选择哪个向量作为搜索区中心。此由好^"_&7"靠丝—潜iy表示,在下 一段中展示其计算。如下所示,基于相邻宏块的运动向量来计算运动向量预测值<formula>formula see original document page 14</formula>其中(mv'^'m《'o是左边宏块的运动向量,(mv"'W《-')是顶部宏块的运动向量,以及(mv"'m《"-O是左边宏块的运动向量。 运动估计模块24如下自适应地选择搜索区中心: 如果(时空—可靠性—指数^<搜索—中心—闳值)搜索_中心;=0 搜索—中心;=0否则搜索_中心;)=mv" 搜索—中心,;=附1^上述步骤的结果是运动向量(m^'""^,其导致执行搜索的当前帧屮的给定宏块的最 佳匹配。也可通过数量测量来描述匹配的程度。在一个实施例中,运动估计模块24确定给定宏块("ec)与来自搜索区(力es)的候选宏块之间的绝对差和(sad) (^;^差///,P作为数量测量。SAD由以下等式给定15 15纟色只寸差禾n〃 =ZZ (m,")一 、(/n,"^(5)运动估计模块24将用于宏块的运动向量和用于宏块的SAD存储为用于宏块(c,j e C)的运动统计(40)。一旦前端处理单元18已获得当前帧的个别非重叠宏块中的每一者EC)的空间 和运动统计,运动整合模块26就将个别运动向量整合为单个全局运动向量,其将用于补 偿由抖动产生的移动(42)。运动整合模块26可利用如下所述的非线性整合功能。在一 个实施例中,运动整合模块26建立二维(2D)直方图(直方腐07,《刀,其具有对应于 可能运动向量中的每一者的区间。然而,运动整合模块26可使用将个别运动向量整合为 全局运动向量的其它方法。2D直方图的二维对应于帧的水平和垂直方向。用值/贡献(,腐P来更新对应于每一块(c,7)的运动向量^^'m《)的区间,如下所界定。贡献反映其所关联运动向量(""^m《)的可靠性。运动整合模块26为此目的计算三种 类型的可靠性指数S腐—f靠性—指教g、#靠丝—猎教,y和好S—W慕性一接l,p其取决于"的空间、时间和时空特性。运动整合模块26使用方差,j来计算可靠性指数^ /坊—^慕丝_/#|^,其如下规范化为固定标度(0到最大—W慕丝— 德—V雜—微。■ = ^方差".方差—偏移J 緒'
穷K雜—微广M/iV f虔K雜—微濕X似執7—V慕丝一微";。 运动整合模块26使用遂/i/差/Z7,;;来计算可靠性指数好贿—W慕丝—恭箭,y,其如下规 范化为固定标度(0到最大—"/慕俘_潜教)
7—W丝—谐见7 = -邀对差乾濕移J /浙差乾#度,
微,7 =層f虔乂—^雜—微MAX W,好/K着乾微"入 运动整合模块26将相邻块的运动向量的同质性考虑在内来计算可靠性指数約^^L^ #丝—蓓箭,"运动整合模块26也如下将此指数正规化为固定标度(0到最大_#靠丝— 箭)
好t稀丝—就7=虜义—樣丝—微,
如果'
_ mv卜i j
,/7_阈值
好乏W,—r着文—稀丝—微/5J
如果1
mvpj _腳J—, 〉 mv/ 一!
」萄值)
好t^r雜—/H-= f着义—微/" ,
如果(mvpj _ mv"一, I > mvp—阈值) 好^_"/慕丝一襟箭,"f虔X"—^薯丝—潜教/5J ; 如果1 m v/ J — m v二)I > m v/ —阈值)
好t^雜—恭见"r^7t一/^雜—微/";
如果(mv/ J - mv" I > mv/ 」竭值)
微,;r: ^#尤樣丝一谐教/5; , 如果(mvpj — mv,+1H I > mv^—阈值)
好5K慕丝—谐教0'-= ^#丈一^"慕丝—猎教/"; 好K雜—微广編x 好t樣丝—微,p.
运动整合模块26将贡献(,:腐y)计算为
*菜r^W—V慕丝—谐蕭0 > ^7眾—/萄澄cfecfe
好^K慕俘—恭教,7〉好—空—錄澄J颜
貢淑0 = O,'
运动整合模块26对于每一块"如下更新直方图(^"方激^, 刀
直方图(mv,; , mv; )f =贡献"
(6)
运动整合模块26选择具有最大值的直方图位置作为全局运动向量
(//,;^)"M〗脂x直方图(M)
(7)
一旦运动整合模块26已计算出全局运动向量(F1, W),运动补偿模块28就将当前 图像整体偏移此向量(44)。经移位图像接着经取样用于进一步处理。可存储当前帧以用 作参考帧,以用于确定下一帧的全局运动向量。
图5是说明根据较大参考窗48内的全局运动向量(P1, Py)的示范性当前图像46偏 移的框图。当前图像46具有垂直尺寸IV和水平尺寸IH,且参考窗48具有垂直尺寸RV 和水平尺寸RH。前端处理单元18计算每一连续帧的全局运动向量(F1, P),使得每一 连续帧根据参考窗48内的全局运动向量而位移。
图6是说明其中区域52包含帧的宏块子集的实例性帧50的图。图6展示界定本文 所揭示技术的可縮放复杂性的区域52的实例性参数。上述技术可提供复杂可縮放性以在 执行电子图像稳定时使用最少资源。具体地说,前端处理单元18无需使用帧的每个宏块 来确定所述帧的全局运动向量。作为替代,对宏块子集的分析可产生帧的适当全局运动 向量。举例来说,在上述实例性实施例中,执行运动整合的步骤需要发现2D直方图的峰 值以便发现帧50的全局运动向量。块的子集(c,7 e / )可产生2D直方图中的峰值。/ 被界定为是C的子集的区域。区域; 应足够大以使峰值为可靠的,且还应包含可靠运动的区。可利用以下参数将
/ 界定为C的函数。g^^^^疗是区域的开始行,以整数块的形式。^T磁^^^^是区域 的开始列,以整数块的形式。,^^教^疗是区域中行的数目,以整数块的形式。^"磁l /^,y是区域中列的数目,以整数块的形式。g^"疗密^^是区域中行的密度(以百分数计), 且^r凝/^齊^^区域中列的密度(以百分数计)。在一些实施方案中,使用100%的/50^ /y齊^t于硬件的有效使用是优选的。
为了维持性能与灵活性之间的合理平衡度,可结合可编程硬件来使用数字信号处理 器(DSP)或其它处理实体以实施本发明的电子图像稳定技术。在此配置中,DSP控制 各种硬件组件的编程和执行。现将结合图像稳定来描述此结构的实例。
图7是说明用于无线通信装置(例如移动无线电电话)中的移动台调制解调器(MSM) 平台的实例性视频核心54的框图。在图1的实例中,仅可从DSP且不可从处理器核心 访问视频核心54。视频核心54提供功率高效解决方案以用于在视频编码和解码期问移 动像素;因此,可利用视频核心54进行本文所揭示的电子图像稳定技术的所有像素密集 操作(例如空间估计和运动估计)。因为电子图像稳定仅需要视频编码所需的操作子集, 所以仅需要利用视频核心的低版本(thin version)。处理器核心或DSP可容纳图像稳定算 法的运动整合方面。
如图7所示,可在视频前端(VFE) 56与视频后端(VBE) 58之间分割视频核心54。 通常,VFE56囊封功能性和预处理操作以支持多种相机或摄像机应用,且包括用于控制 这些操作的灵活的处理器间接口。 VFE 56的主要任务是实时处理引入的视频输入数据 60。 VFE 56接收视频输入数据60,且基于从控制器(未图示)接收的命令和配置参数 25将待产生视频输出数据的数据处理为VBE 16可接受的格式。
举例来说,VFE 56可使用上述电子图像稳定技术来处理视频输入数据60。另外, VFE 56可格式化视频输入数据60来产生具有适于由显示模块(未图示)显示的形式的 视频显示数据。VFE56将视频输出数据和视频显示数据存储在视频存储器(未图示)内 以用于分别由VBE58和控制器存取。VFE56经由处理器间接口提供状态信息以指示待 决命令的状态。
VBE58可包含任何软件应用、硬件单元等等,其编码或解码视频数据。更具体地说, V B E 5 8可利用视频输出数据来产生视频序列的经编码位流。
当作为编码器来操作时,VBE 16编码视频输出数据,且可缓冲视频存储器内的编码 位流,(例如)用于经由传输器/接收器(未图示)进行无线传输。举例来说,VBE16可包含用于数码相机的JPEG静止图像编码器、用于数码摄像机的MPEG视频编码器等等。 因此,VBE可为专有编码器或解码器,或可根据多种数据压縮标准中的一者或一者以上 (例如MPEG-1、 MPEG-2、 MPEG-4、 ITUH.261、 ITU H.263、 ITU H.264和/或其它标准) 处理视频输出数据。或者,或另外,VBE 58可作为解码器来操作。更具体地说,VBE58可接收来自接 收器/传输器的经编码视频序列的位流,且处理位流以产生经解码视频序列以用于由VFE 56处理和显示。VFE56和VBE58可交换控制信号以触发视频处理操作。举例来说,控 制器或VFE 56可触发由VBE 58进行的编码操作。当作为解码器来操作时,控制器或 VBE 58可触发由VFE 56进行的操作。VFE 56和VBE 58可经提供为独立的硬件或软件 模块,例如由DSP62执行的软件模块或其组合。图8A-8D是说明用于在图7的平台上实施本发明的图像稳定技术的实例性实施方案 的框图。图8A是说明用于在MSM7K平台上实施图像稳定的一个选项的框图。如图8A 所示,处理器核心74发布"编码"命令两次; 一次用于图像稳定且再一次用于实际编码 帧。在图像稳定阶段,DSP 76和视频核心78以如同帧被编码的相同方式而运行。在此 阶段,以每个宏块为基础将运动和空间统计发送回处理器核心74以支持图像稳定。处理 器核心74接着将实施如上所述的运动整合技术。由处理器核心74计算的全局运动向量 接着在下一阶段期间被返回编程,在下一阶段中执行实际编码。图8B是说明用于在MSM7K平台上实施图像稳定的另一选项的框图。在此选项中, 处理器核心74仅需实施"图像稳定"命令,其将自适应地控制上述电子图像稳定技术。 处理器核心74在发布用于编码帧的"编码命令"之前发布"图像稳定"命令。"图像稳 定"命令指令DSP76仅编码帧的子集,即区域/ 。此可允许可缩放界面实施本发明的电 子图像稳定技术。其余步骤与图8A的步骤大体上相同。图8C是说明用于在MSM7K平台上实施图像稳定的另一选项的框图。此选项需要在 DSP 76上实施已知为稳定模式("稳定(stab)"模式)的新的功能性。稳定模式仅允许 运行视频核心78的子集。具体地说,并非运行编码所需的所有操作,而是可运行足以支 持用于图像稳定的空间和运动估计的操作的子集。此可帮助减少在图像稳定阶段期间所 耗费的时间。其余步骤^图8B的步骤大体上相同。图8D是用于在图7的平台上实施图像稳定的另一选项的框图。此选项需要在DSP76 内实施算法的运动整合步骤。此可最小化处理器核心74与DSP76之间必需的通信量(即, 基于每个宏块的运动与空间统计的通信)。因此,处理器核心74每个帧发布单个命令(编码和稳定组合)。DSP 76执行包括运动整合和确定全局运动向量的图像稳定,且接着在 因数化全局运动向量的同时对帧进行编码。
图9是说明可实施本发明的技术的示范性数字视频装置80的框图。数字视频装置 80可作为源装置进行操作,其将视频数据的经编码序列无线传输到接收装置(未图示)。 类似地,数字视频装置80可作为能够无线地接收和解码视频数据的接收装置进行操作。 数字视频装置可支持视频广播、视频会议、视频电话或任何需要传输视频的其它应用。 举例来说,数字视频装置80可为无线通信装置,例如蜂窝式或卫星无线电电话、或个人 数字助理(PDA)。
前端处理单元82可用以根据上述图像稳定技术来处理视频俘获装置84所俘获的视 频帧。存储器86可存储视频序列。举例来说,存储器86可存储当前帧以用作用于稳定 和编码后续帧的参考。编码器88可使用压縮算法来编码所存储的视频序列。编码器88 可包括(例如)各种硬件、软件或固件或一个或一个以上DSP,其执行可编程软件模块 以控制视频编码技术,如本文所述。数字视频装置80也包括传输器20,其用以经由无 线天线92将经编码序列传输到接收装置(未图示)。
本发明所描述的技术可以硬件、软件、固件或其任何组合来实施。举例来说,所述 技术的各方面可实施在一个或一个以上微处理器、DSP、专用集成电路(ASIC)、现场可 编程逻辑阵列(FPGA)、或任何其它等效集成或离散逻辑电路、以及此些组件的任何组 合内。术语"处理器"或"处理电路" 一般可指代上述逻辑电路中的任一者,无论是独 立的或与其它逻辑电路组合。
当以软件实施时,归于本发明中所描述的系统和装置的功能性可实施为计算机可读 媒体上的指令,所述计算机可读媒体例如为随机存取存储器(RAM)、只读存储器(ROM)、 非易失性随机存取存储器(NVRAM)、电可擦可编程只读存储器(EEPROM)、快闪存储 器、磁性媒体、光学媒体等等。执行所述指令以支持本发明所描述功能性的一个或一个 以上方面。
已描述了各种实施例。所描述的实施例仅用于示范性目的。这些和其它实施例在所 附权力要求书的范围之内。
权利要求
1.一种装置,包含空间估计模块,其产生视频帧内的宏块的空间统计;运动估计模块,其产生所述视频帧内的所述宏块的运动统计;运动整合模块,其整合所述空间统计和所述运动统计以确定所述帧的全局运动向量;以及稳定模块,其基于所述全局运动向量而将一偏移应用到由所述宏块界定的图像。
2. 根据权利要求1所述的装置,其中所述空间统计包含与所述宏块中的每一者相关联 的视频信息的平均数和方差。
3. 根据权利要求1所述的装置,其中所述运动统计包含指示所述宏块与先前视频帧中 的相应宏块之间的移动的运动向量。
4. 根据权利要求3所述的装置,其中所述运动统计包括绝对差和(SAD)值,其指示 所述宏块与所述先前帧中的所述相应宏块之间的差。
5. 根据权利要求3所述的装置,其中所述运动统计模块自适应地选择所述先前帧的搜 索区中心,且将所述宏块和与所述搜索区中心相关联的搜索区中的所述先前帧的宏 块进行比较以发现所述先前帧的最佳匹配宏块。
6. 根据权利要求1所述的装置,其中所述运动整合模块建立包含对应于多个可能运动 向量中的每一者的区间的二维(2D)直方图,且将与具有最大值的所述区间相关联 的所述运动向量指定为所述全局运动向量。
7. 根据权利要求1所述的装置,其进一步包含数字信号处理器;以及处理器核心,其向所述数字信号处理器发布两个编码命令,其中在接收到所述第 一编码命令时,所述数字信号处理器促使所述空间估计模块获得空间统计且促使所 述运动估计模块获得运动估计,且其中所述处理器核心促使所述运动整合模块整合 所述宏块中的每一者的所述空间统计和所述运动统计以确定所述帧的所述全局运 动向量。
8. 根据权利要求7所述的装置,其中所述处理器核心使用所述全局运动向量编程所述 数字信号处理器,且其中在接收到所述第二编码命令时,所述数字信号处理器将所 述图像的编码执行为由所述运动补偿模块进行的偏移。
9. 根据权利要求1所述的装置,其进一步包含数字信号处理器;以及处理器核心,其向所述数字信号处理器发布图像稳定命令,所述命令指令所述数 字信号处理器对由所述帧的所述宏块的子集组成的区域/ 执行图像稳定,其中所述 运动整合模块基于所述区域K内的所述宏块中的每一者的所述运动统计和空间统计 而确定所述帧的所述全局运动向量。
10. 根据权利要求9所述的装置,其进一步包含视频核心,其中所述数字信号处理器实 施稳定模式,且其中所述稳定模式允许所述装置仅运行所述视频核心的子集。
11. 根据权利要求l所述的装置,其进一步包含数字信号处理器,其促使所述运动整合模块整合所述宏块中的每一者的所述空间 统计和所述运动统计,以确定所述帧的全局运动向量;以及处理器核心,其向所述数字信号处理器发布命令,所述命令指令所述数字信号处 理器执行图像稳定以及所述帧的编码。
12. 根据权利要求l所述的装置,其进一步包含俘获所述图像的图像俘获设备。
13. 根据权利要求1所述的装置,其中所述装置对十六像素乘十六像素宏块执行所述空 间估计和所述运动估计。
14. 根据权利要求1所述的装置,其中所述装置包括无线通信装置、个人数字助理、膝 上型计算机、台式计算机、数码相机、数字记录装置、具有视频能力的蜂窝式无线 电电话以及具有视频能力的卫星无线电电话中的至少一者。
15. 根据权利要求l所述的装置,其进一步包含传输器,其用以传输由所述空间估计模 块、所述运动估计模块、所述运动整合模块和所述运动补偿模块处理的视频帧。
16. —种执行电子图像稳定的方法,其包含产生视频帧内的宏块的空间统计; 产生所述视频帧内的所述宏块的运动统计;整合所述空间统计和所述运动统计以确定所述帧的全局运动向量;以及 基于所述全局运动向量将一偏移应用到由所述宏块界定的图像。
17. 根据权利要求16所述的方法,其中产生空间统计包含获得所述宏块中的每一者的 平均数和方差。
18. 根据权利要求16所述的方法,其中所述运动统计包含指示所述宏块与先前视频帧 中的相应宏块之间的移动的运动向量。
19. 根据权利要求16所述的方法,其中产生运动统计包含确定所述宏块的运动向量以 及所述宏块与来自先前帧的宏块之间的绝对差和(SAD)。
20. 根据权利要求19所述的方法,其中确定所述运动向量包含自适应地选择搜索区中心;以及将所述宏块和与所述先前帧的所述搜索区中心相关联的搜索区中的宏块进行比 较以发现所述先前帧的最佳匹配宏块。
21. 根据权利要求16所述的方法,其中整合所述空间统计和所述运动统计包含建立包 含对应于多个可能运动向量中的每一者的区间的二维(2D)直方图,且将与具有最 大值的所述区间相关联的所述运动向量指定为所述全局运动向量。
22. 根据权利要求16所述的方法,其进一步包含将所述帧内的所述宏块的子集界定为区域/ ;以及基于所述区域i 内的所述宏块中的每一者的所述运动统计和空间统计来确定所述 帧的所述全局运动向量。
23. —种计算机可读媒体,其包含在装置中执行时促使所述装置进行以下操作的指令产生视频帧内的宏块的空间统计; 产生所述视频帧内的所述宏块的运动统计;整合所述空间统计和所述运动统计以确定所述帧的全局运动向量;以及 基于所述全局运动向量而将一偏移应用到由所述宏块界定的图像。
24. 根据权利要求23所述的计算机可读媒体,其中所述指令促使所述处理器通过获得 所述宏块中的每一者的平均数和方差而产生空间统计。
25. 根据权利要求23所述的计算机可读媒体,其中所述运动统计包含指示所述宏块与 先前视频帧中的相应宏块之问的移动的运动向量。
26. 根据权利要求23所述的计算机可读媒体,其中所述指令促使所述处理器通过确定 所述宏块的运动向量以及所述宏块与来自先前帧的宏块之间的绝对差和(SAD)而 产生运动统计。
27. 根据权利要求23所述的计算机可读媒体,其进一步包含在装置中执行时促使所述 装置进行以下操作的指令建立包含对应于多个可能运动向量中的每一者的区间的二维(2D)直方图;以及 将与具有最大值的所述区间相关联的所述运动向量指定为所述全局运动向量。
28. 根据权利要求23所述的计算机可读媒体,其进一步包含在装置中执行时促使所述装置进行以下操作的指令将所述帧内的所述宏块的子集界定为区域/ ;以及基于所述区域尺内的所述宏块中的每 一 者的所述运动统计和空间统计而确定所述 帧的所述全局运动向量。
29. —种用于执行电子图像稳定的装置,其包含用于产生视频帧内的宏块的空间统计的装置 用于产生所述视频帧内的所述宏块的运动统计的装置;用于整合所述空间统计和所述运动统计以确定所述帧的全局运动向量的装置;以及用于基于所述全局运动向量而将一偏移应用到由所述宏块界定的图像的装置。
30. 根据权利要求29所述的装置,其中所述用于产生空间统计的装置包含用于获得所 述宏块中的每一者的平均数和方差的装置。
31. 根据权利要求29所述的装置,其中所述运动统计包含指示所述宏块与先前视频帧 中的相应宏块之间的移动的运动向量。
32. 根据权利要求29所述的装置,其中所述用于产生运动统计的装置包含用于确定所 述宏块的运动向量以及所述宏块与来自先前帧的宏块之间的绝对差和(SAD)的装 置。
33. 根据权利要求32所述的装置,其中所述用于确定所述运动向量的装置包含用于自适应地选择搜索区中心的装置;以及用于将所述宏块和与所述先前帧的所述搜索区中心相关联的搜索区中的宏块进 行比较以发现所述先前帧的最佳匹配宏块的装置。
34. 根据权利要求29所述的装置,其中所述用于整合所述空间统计和所述运动统计的 装置包含用于建立包含对应于多个可能运动向量中的每一者的区间的二维(2D)直 方图的装置,以及用于将与具有最大值的所述区间相关联的所述运动向量指定为所 述全局运动向量的装置。
35. 根据权利要求29所述的装置,其进一步包含用于将所述帧内的所述宏块的子集界定为区域的装置;以及 用于基于所述区域/ 内的所述宏块中的每一者的所述运动统计和空间统计而确定 所述帧的所述全局运动向量的装置。
全文摘要
本发明描述用于成像和视频装置的电子视频图像稳定技术。所述技术涉及确定帧的个别宏块的运动和空间统计,以及基于所述宏块中的每一者的所述统计而确定所述帧的全局运动向量。在一个实施例中,一种执行电子图像稳定的方法包括对一图像的一帧内的多个宏块中的每一者执行空间估计以获得所述宏块中的每一者的空间统计;对所述多个宏块中的每一者执行运动估计以获得所述宏块中的每一者的运动统计;整合所述宏块中的每一者的所述空间统计和所述运动统计以确定所述帧的全局运动向量;以及根据所述全局运动向量使所述图像相对于参考窗偏移。
文档编号H04N5/232GK101411181SQ200780010842
公开日2009年4月15日 申请日期2007年4月6日 优先权日2006年4月6日
发明者拉戈哈文德拉·C·纳加拉杰, 纳伦德拉纳特·马拉亚特 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1