基于鲁棒主运动估计的数字视频稳定的制作方法

文档序号:7664080阅读:191来源:国知局
专利名称:基于鲁棒主运动估计的数字视频稳定的制作方法
基于鲁棒主运动估计的数字视频稳定
背景技术
许多种运动装置,诸如视频相机、电影模式中的静态相机、以及蜂窝电话和个人数字助理(PDA)中的相机,允许捕获图像序列,所 捕获的用户所需的数字媒体量正在显著增长。然而,在大多数情况下, 在非理想条件下使用非理想获取设备捕获视频。例如,在诸如从运动 交通工具或在体育活动中拍摄的情况下,多数视频显示了高度有害的 运动或抖动。甚至在正常条件下获取的视频也显示了一定量的有害颤 抖。大多数不昂贵的和普通的视频装置不提供用于稳定视频序列以补 偿这种抖动的特征。
虽然一些最昂贵的装置提供机械的图像稳定,通常使用数字技术,该技术典型地包括基于图像内被假定为含有基本背景信息的预选择 图像区域,计算图像运动。如果感兴趣的对象在该区域出现,则违背 基本假设,并且背景运动估计将是错误的。
其它数字稳定技术包括通过分别沿水平和垂直坐标对图像积分, 然后通过连续帧中两个一维信号的简单相互计算运动,来估计整个图 像的运动。这种技术速度快并且能够在嵌入于图像装置内的硬件中实 施,但是通过计算图像中所有对象的平均运动,容易导致不精确并可 能导致有偏运动估计。
因此,需要改进的数字视频稳定技术,可以在捕获图像序列时运 用该技术或在捕获后通过后处理所捕获的图像序列来运用该技术,以 增强数字媒体的观看效果。


图1示出根据一个或多个实施例的媒体处理系统;
图2示出根据一个或多个实施例的帧间主运动估计模块;
图3示出根据一个或多个实施例的典型图像序列的估计和平滑轨迹;
图4示出根据一个或多个实施例对两帧的稳定结果;
图5示出根据一个或多个实施例的逻辑流程;
图6示出根据一个或多个实施例的制造物品。
具体实施例
多个实施例针对执行数字视频稳定以从图像序列去除有害运动或 抖动。可以在获取图像序列时执行数字视频稳定。例如,可以在图像 获取时在诸如视频相机或具有嵌入式成像功能的移动装置这样的图 像获取装置内执行数字视频稳定,以自动校正和去除由相机颤抖引起 的有害的抖动,并仍然允许相机移动镜头。
还可以在获取图像后执行数字视频稳定,以处理和观看视频流。 例如,可以由基于网络的媒体服务器、移动计算平台、桌面平台、娱乐个人计算机(PC)、机顶盒(STB)、数字电视(TV)、视频流增强 芯片组、媒体播放器、媒体编辑应用装置、或其它合适的可视化装置 执行数字视频稳定,以增强数字媒体的观看效果。
在多个实施例中,可以通过如下步骤执行数字视频稳定接收输入图像序列,估计输入图像序列中相邻图像帧之间的主运动,基于相 邻图像帧之间的主运动确定估计的轨迹,确定平滑的轨迹,基于估计 的轨迹和平滑的轨迹之间的偏差计算估计的抖动,然后补偿估计的抖 动以产生稳定图像序列。可以通过纯数字技术来实施数字视频稳定, 其中该纯数字技术通过使用视频序列中的信息而不需要任何外部传 感器信息来执行。
数字视频稳定可以包括通过鲁棒统计自动选择要补偿的正确运动 的统计技术。该技术在图像中自动选择包含主运动的像素集,而不需 预选感兴趣的区域。通过基于使用鲁棒统计提供主运动和估计过程的 形式定义,所得到的数字图像稳定技术不需要主运动或用于估计运动 的区域选择的特定定义,而是基于排除具有与主运动非常不同(统计 学意义上)的运动的区域,来提供主运动的估计。因此,在具有多个 运动对象的序列中可以获得极佳的结果,而与场景中对象的相对位置 无关。
图1示出根据一个或多个实施例的媒体处理系统100。 一般地, 媒体处理系统100可以包括各种用于传送信息的物理和/或逻辑组件,
这些组件可以如期望的以给定的设计参数或性能约束,以硬件、软件、 或它们的任意组合来实现。虽然图1以示例方式示出有限数量的组 件,应当理解对于给定的实现可以使用更大或更小数量的组件。
在各个实施例中,可以设置媒体处理系统100对PC、消费电子 (CE)、和/或移动平台执行一个或多个网络、多媒体、和/或通信应 用。在一些实施例中,可以对PC、 CE、和/或移动平台实现媒体处理 系统IOO,作为诸如个人PC、 STB、数字TV装置、英特网协议TV (IPTV)装置、数字相机、媒体播放器、和/或蜂窝电话内的和/或与 之连接的系统。这种装置的其他示例可以包括但不限于工作站、终 端、服务器、媒体工具、音/视频(A/V)接收器、数字音乐播放器、 娱乐系统、数字TV (DTV)装置、高清晰度TV (HDTV)装置、直 播卫星TV (DBS)装置、视频随选(VOD)装置、网络TV装置、 数字视频记录器(DVR)装置、数字通用光碟(DVD)装置、高清 晰度DVD (HD-DVD)装置、蓝光光碟(BD)装置、视频家庭系统 (VHS)装置、数字VHS装置、游戏控制台、显示装置、笔记本PC、 膝上型计算机、便携式计算机、手持计算机、个人数字助理(PDA)、 IP话音(VoIP)装置、组合蜂窝电话/PDA、灵巧电话、寻呼机、消 息装置、无线接入点(AP)、无线客户装置、无线站(STA)、基站(BS)、 用户站(SS)、移动用户中心(MSC)、移动单元等。
例如,在移动应用中,媒体处理系统100可以实现在和/或连接到 一个装置中,该装置包括一个或多个接口和/或用于无线通信的组件, 诸如一个或多个发射器、接收器、收发器、芯片组、放大器、滤波器、 控制逻辑、网络接口卡(NIC)、天线等。天线的示例可以包括但不 限于内部天线、全向天线、单极天线、双极天线、端部馈电天线、 环形极化天线、微带天线、分集式天线、双天线、天线阵等。
在各个实施例中,媒体处理系统IOO可以形成有线通信系统、无 线通信系统、或二者组合的一部分。例如,媒体处理系统100可以在
一种或多种类型的有线通信链路上传输信息。有线通信链路的示例可 以包括但不限于电线、电缆、总线、印刷电路板(PCB)、以太网 连接、对等(P2P)连接、底板、切换结构、半导体材料、双绞线、 同轴电缆、光纤光连接等。媒体处理系统100还可以在一种或多种无线通信链路上传输信息。无线通信链路的示例可以包括但不限于无线电频道、卫星频道、电视信道、广播信道、红外信道、射频(RF) 信道、无线保真(WiFi)信道、射频谱的部分、和/或一个或多个注 册或免注册频带。虽然特定实施例是通过示例方式使用特定通信媒体 说明的,应当理解,可以使用各种通信媒体和附加技术实施这里讨论 的原理和技术。
在各个实施例中,媒体处理系统100可以在诸如以下的网络中操 作广域网(WAN)、局域网(LAN)、城域网(MAN)、无线WAN (WWAN)、无线LAN (WLAN)、无线MAN (WMAN)、无线个域 网(WPAN)、微波接入全球互通(WiMAX)网、宽带无线接入(BWA) 网、英特网、万维网、电话网、无线电网、电视网、电缆网、诸如直 播卫星(DBS)网的卫星网、码分多址(CDMA)网、诸如宽带CDMA (WCDMA)的第三代(3G)网、第四代(4G)网、时分多址(TDMA) 网、扩展TDMA (E-TDMA)蜂窝无线电话网、移动通信全球系统 (GSM)网、具有通用分组无线服务(GPRS)系统的GSM (GSM/GPRS)网、同步分多址(SDMA)网、时分同步CDMA (TD-SCDMA)网、正交频分复用(OFDM)网、正交频分多址 (OFDMA)网、北美数字蜂窝(NADC)蜂窝无线电电话网、窄带 高级移动电话服务(NAMPS)网、通用移动电话系统(UMTS)网、 和/或配置为根据上述实施例传送数据的任何其它有线或无线通信 网。
媒体处理系统100可以传输一种或多种信息,比如媒体信息和控 制信息。媒体信息通常可以指表示用户需要的内容的任何数据,比如 是图像信息、视频信息、音频信息、A/V信息、图形信息、语音信息、 文本信息、数值信息、字母数字符号、字符符号、等等。控制信息通 常指表示自动系统需要的命令、指令、或控制字的任何数据。例如,控制信息可用于通过系统路由媒体信息,或指示节点以某种方式处理 媒体信息。可以从和向多个不同装置或网络传送媒体和控制信息。
在各个实施例中,媒体信息和控制信息可以被分成一系列的信息 包。每个包可以包括例如具有以比特或字节表示的固定或变化大小的 离散数据组。应当理解,所述实施例适用于任何类型的通信内容或格 式,比如是信息包、帧、片段、信元、窗、单元、等等。
媒体处理系统100可以根据一个或多个协议传送信息。协议可以包括一组预定的规则或指令,用于管理节点间的通信。例如,在各个实施例中,媒体处理系统ioo可以使用一个或多个协议,诸如媒体访问控制(MAC)协议、物理层汇聚协议(PLCP)、简单网络管理协议 (SNMP)、异步传输模式(ATM)协议、帧中继协议、系统网络架 构(SNA)协议、传输控制协议(TCP)、英特网协议(IP)、 TCP/IP、 X.25、超文本传输协议(HTTP)、用户数据报协议(UDP)、等等。
媒体处理系统100可以根据标准组织公布的一个或多个标准来传 输信息,标准组织诸如是国际电信联盟(ITU)、国际标准化组织 (ISO)、国际电工技术委员会(IEC )、电气和电子工程师协会(IEEE )、 英特网工程任务组(IETF)、等等。例如,在各个实施例中,媒体处 理系统100可以根据媒体处理标准传输信息,媒体处理标准诸如是, 例如,ITU/IEC H.263标准(低比特率通信视频编码,ITU-T推荐 H.263v3, 2000年11月公布),ITU/IEC H.264标准(甚低比特率通 信视频编码,ITU-T推荐H.264, 2003年5月公布),运动图像专家 组(MPEG)标准(例如MPEG-1, MPEG-2, MPEG-4),数字视频 广播(DVB)地面(DVB-T)标准、DVB卫星(DVB-S或-S2)标准, DVB电缆(DVB-C)标准、手持式DVB地面(DVB-H)、国家电视 系统委员会(NTSC)和遂行倒相(PAL)标准、高级电视系统委员 会(ATSC)标准、诸如基于Windows Media Video(WMV)版本9的 SMPTE 421 M或VC-1标准这样的运动图像和电视工程师协会 (SMPTE)标准、IP网络数字传输内容保护(DTCP-IP)标准、高性 能无线电局域网(HiperLAN)标准、等等。
在一些实施例中,媒体处理系统1oo可以从媒体源接收媒体内容。
媒体源通常可以包括能够向媒体处理系统100传送静态或动态媒体
内容的多个装置和/或系统。例如,在一些实施例中,媒体源可以包 括或形成诸如视频相机或具有成像能力的移动装置这样的图像获取 装置的一部分。媒体源还可以包括提供广播或流媒体内容的多媒体服
务器。在另一些实施例中,媒体源可以包括或形成媒体分配系统(DS) 或广播系统的一部分,媒体分配系统(DS)或广播系统诸如是空中
(OTA)广播系统、DVB系统、无线电广播系统、卫星广播系统、 等等。可以在VOD系统或允许用户通过网络选择、接收、并观看视 频内容的交互电视系统内实现媒体源。媒体源还可以包括或形成 IPTV系统的一部分,IPTV系统通过诸如宽带连接的IP连接传送数 字电视内容。各个实施例在上下文中不受限制。
媒体处理系统100可以通过多种类型能够携带信息信号的通信信 道连接到媒体源,对于给定的实现,该通信信道诸如是有线通信链路、 无线通信链路、或二者组合。媒体处理系统100还可以通过多种类型 的组件或接口从媒体源接收媒体内容。例如,媒体处理系统100可以 通过一个或多个调谐器和/或接口接收媒体内容,调谐器和/或接口诸 如是开放线缆(OC)调谐器、NTSC/PAL调谐器、调谐器/解调器、 配置点(POD) /DVB公共接口 (DVB-CI)、 A/V解码器接口、以太 网接口、 PCI接口、等等。
传送给媒体处理系统100的媒体内容可以包括多种类型的信息, 诸如图像信息、音频信息、视频信息、A/V信息、和/或其它数据。 在一些实现中,媒体源可以以多种格式传送媒体内容,供诸如STB、 IPTV装置、VOD装置、媒体播放器等使用。
媒体内容可以作为压縮的媒体内容传送,以允许媒体处理系统100 高效地存储和/或传输数据。在多个实现中,可以通过使用诸如利用 离散余弦变换(DCT)的空间压縮、时间压縮、运动补偿和量化的技 术,压縮媒体内容。例如,可以根据诸如H.264、 MPEG-2、 MPEG-4、 VC-1等等的标准,执行媒体内容的视频压縮。在一些情况下,可以 将媒体内容以加扰和/或加密媒体内容的方式进行传送,以防止未授 权的接收、复制、和/或观看。
在多个实施例中,媒体处理系统ioo可以执行数字视频稳定,以从图像序列去除有害的运动或抖动。可以在获取图像序列时执行数字视频稳定。例如,媒体处理系统100可以实现在诸如视频相机或具有嵌入式成像功能的移动装置这样的图像获取装置中,并且在图像获取 期间执行数字视频稳定,以去除由于相机颤抖引起的有害的抖动,并 仍然允许相机移动镜头。
还可以在图像获取后执行数字视频稳定,以处理并观看视频流。 例如,可以通过基于网络的媒体服务器、移动计算平台、桌面平台、娱乐PC、数字TV、视频流增强芯片组、媒体播放器、媒体编辑应用 装置、或其它合适的可视化装置来实现媒体处理系统100,以增强数 字媒体的观看效果。在一些实施例中,用户能够有选择地打开或关闭 数字视频稳定特征,以允许稳定的观看效果,而不改变原始媒体内容。 用户还可以改变原始视频序列,或可以不改变原始序列而保存视频序 列的稳定版本。 一旦对图像序列进行稳定处理,由于改善的运动向量 估计,数字视频稳定还能够用于更有效的压縮(例如,使用MPEG 压縮)。
在各个实施例中,媒体处理系统100可以执行统计技术,其通过 鲁棒统计自动选择要补偿的正确运动。该技术在图像中自动选择包含 主运动的像素集,而不需预选感兴趣的区域。通过基于使用鲁棒统计 提供主运动和估计过程的形式定义,所得到的数字图像稳定技术不需 要主运动或用于估计运动的区域选择的特定定义,而是基于排除具有 与主运动非常不同(统计学意义上)的运动的区域,来提供主运动的 估计。因此,在具有多个运动对象的序列中可以获得极佳的结果,而 与场景中对象的相对位置无关。
媒体处理系统100可以如下执行数字视频稳定接收输入图像序 歹ij,估计输入图像序列中相邻图像帧之间的主运动,基于相邻图像帧 之间的主运动确定估计的轨迹,确定平滑的轨迹,基于估计的轨迹和 平滑的轨迹之间的偏差计算估计的抖动,然后补偿估计的抖动以产生 稳定图像序列。
如图1中所示,媒体处理系统100可以包括多个功能单元或模块。这些模块可以由一个或多个芯片或集成电路(IC)实现,并可以包括
例如硬件和/或软件,诸如由逻辑装置执行的逻辑(例如指令、数据、
和/或代码)。逻辑装置的示例包括但不限于中央处理单元(CPU)、 微控制器、微处理器、通用处理器、专用处理器、单芯片多处理器
(CMP)、媒体处理器、数字信号处理器(DSP)、网络处理器、协处 理器、输入/输出(I/O)处理器、专用集成电路(ASIC)、场可编程 门阵列(FPGA)、可编程逻辑装置(PLD)、等等。
可以在一种或多种类型的计算机可读存储介质上将可执行逻辑存 储到逻辑装置内部或外部,计算机可读存储介质诸如是易失或非易失 存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写 或可重写存储器、等等。根据给定实施例的需要,这些模块可以物理 地或逻辑地耦合和/或连接到通信媒体,通信媒体包括有线通信媒体、 无线通信媒体、或二者组合。这些实施例在上下文中不受限制。
在各个实施例中,媒体处理系统100可以包括帧间主运动估计模 块102、轨迹计算模块104、轨迹平滑模块106、和抖动补偿模块108。
帧间主运动估计模块102可以接收包括一系列数字视频图像的输 入图像序列110。图像序列110中的每个数字图像或帧可以包括水平 (x)和垂直(y)图像数据或信号,它们表示区域、对象、条、宏块、 块、像素、等等。分配给像素的值可以包括实数和/或整数。
帧间主运动估计模块102可以估计图像序列110中相邻图像之间 的主运动。主运动可以是整体位移,其对应于以下假设:相机运动是 包含在成像平面内的平移。主运动还可以是整体位移加上两个图像之 间的旋转,其对应于以下假设相机运动是包含在成像平面内的平移 加上绕与图像平面正交的轴的旋转。在这种情况下,两个相邻的图像 可以互为近似位移和潜在旋转形式。
帧间主运动估计模块102可以估计用于基于两幅图像的灰度水平 最佳地校准两幅图像的运动模块参数,其中,所估计的校准对应于使 两个图像之一与另一图像的空间变换形式之间的差异最小。帧间主运 动估计模块102可以包括鲁棒估计器,诸如使用鲁棒函数的鲁棒M-估计器,鲁棒函数诸如是Tukey函数、Huber函数、Cauchy函数、绝对值函数、或其它合适的鲁棒函数。使用鲁棒估计器处理由于经历与 相机的运动不同或不相关的运动的对象的存在所引起的问题。这些对 象的不相关的运动可能违背主要的整体运动假设,并且能够偏移主运 动的估计。
鲁棒估计器可以自动检测离群值(outlier),该离群值对应于经历 与主运动非常不同或不相关的运动的像素。通过降低对应因素的权 重,鲁棒估计器在估计过程中可以忽略这些离群值。通过使用基于鲁 棒统计的估计技术,自动地忽视被认为是离群值(例如,独立移动对 象)的数据点。因此,产生与主趋势或主运动对应的估计,其最佳地 说明了两个连续帧之间的变化。
轨迹计算模块104可以确定估计的轨迹。 一旦估计了每两帧之间 的相对运动,轨迹计算模块104可以计算相机相对于第一帧的估计的 轨迹,作为所有相对校准的组合。作为示例,在考虑纯平移模式的情 况下,这对应于直到当前帧的所有位移的积累向量和。
轨迹平滑模块106可以确定平滑的轨迹。例如,通过使用具有给 定标准偏差的低通滤波器(例如,低通高斯滤波器)在水平和垂直方 向上对位移进行滤波,轨迹平滑模块106可以计算平滑形式的轨迹。
抖动补偿模块108可以执行运动补偿,以补偿估计的抖动,并产 生稳定的图像序列112。在各个实施例中,可以通过从估计的轨迹减 去平滑形式的轨迹,来计算估计的抖动。图像稳定的目标是补偿有害 的相机抖动,而不是补偿真实的相机运动,诸如移动镜头、真实的相 机位移等。轨迹的高频率变化与有害相机抖动相关或对应,而轨迹的 低频率或平滑变化可以与期望的相机运动相关或对应。
对于纯位移模式,位移能够近似为整数。因此,运动补偿可以包 括选择合适图像子区域,该子区域具有由与抖动对应的位移给出的原 点。在旋转加平移模式的情况下,需要补偿这种刚体变换,其可能需 要使用诸如双线性或双三次插值的合适插值技术,在旋转像素网格上 内插像素值。
图2示出根据一个或多个实施例的帧间主运动估计模块200。帧 间主运动模块200可以由图1的媒体处理系统100实现,但是在该上下文中不受限制于此。在各个实施例中,帧间主运动估计模块200可 以通过估计最佳地校准当前图像和先前相邻图像的运动模式参数,来 执行主运动估计,以支持图像稳定。
如图所示,帧间主运动估计模块200可以包括锥体计算部分202、 梯度计算部分204、以及位移估计部分206,根据给定的设计参数或 性能约束集合,可以将它们作为硬件、软件、或它们的任何组合来实 现。
锥体计算部分202可以以期望的分辨率水平获得图像或帧的多分 辨率锥体。在各个实施例中,锥体计算部分202可以执行级联操作, 包括在水平和垂直方向上连续地滤波和下采样,直到达到期望的分辨 率为止。应当理解,可以基于原始图像的大小、期望的精度、可用的 计算功率等等,调整锥体水平的数量。滤波和下采样通常迭代地执行以减小计算量,但是实施例在上下文中不受限制于此。
如图2中所示,锥体计算部分202可以用水平低通滤波器(cx) 210和垂直低通滤波器(Cy) 212对新的帧208进行滤波,然后通过 抽取因子(S) 214执行下采样,得到减小的图像216。进一步,可以 使用水平低通滤波器(cx) 218、垂直低通滤波器(Cy) 220、抽取因 子(S) 222执行滤波和下采样,得到进一步减小的图像224。可以使 用水平低通滤波器(cx) 226、垂直低通滤波器(Cy) 228、抽取因子 (S) 230再次执行滤波和下采样,得到更进一步减小的图像232。在 一个实施例中,可以将低通滤波器实现为高斯滤波器,诸如具有巻积 掩码c二 (0.0625 0.25 0.375 0.25 0.0625)的三次B样条滤波器,并且 可以在两个方向上使用抽取因子S = 2。然而,实施例在上下文中不 受限制于此。
梯度计算部分204可以通过使用光流梯度约束来估计整体运动模 式参数,从而将当前图像与先前相邻图像进行校准。在各个实施例中, 梯度计算部分204可以在当前图像和先前相邻图像之间获得时空梯 度,包括水平(x)和垂直(y)方向上的空间梯度和时间(t)上的 时间梯度。
可以通过用合适的高斯微分内核对两个图像进行滤波或巻积,然后取两个结果的平均,获得空间梯度。可以通过用合适的高斯内核对 两个图像进行滤波或巻积,然后取两个结果的差,获得时间梯度。
如图2中所示,减小的图像232可以被提供给梯度计算部分204, 并且通过水平高斯微分滤波器(dx) 234和垂直低通滤波器(gy) 236 对其进行滤波,得到图像(Ix) 238。还可以由水平低通滤波器(gx) 240对图像232进行滤波。垂直高斯微分滤波器(dy) 242可以对水 平低通滤波器(gx) 240滤波后的图像进行滤波,得到图像(Iy) 244。 垂直低通滤波器(gy) 246也可以对水平低通滤波器(gx) 240滤波后 的图像进行滤波,得到图像(Ib) 248。在一个实施例中,低通滤波器 可以被实现为具有巻积掩码g= (0.03505 0.24878 0.43234 0.24878 0.03504),以及巻积掩码d= (0.10689 0.28461 0.0 -0.28461 -0.10689)。 然而,实施例在上下文中不受限制于此。
为了减小计算和存储量,可以通过抽取因子(S)250下采样图像(Ix) 238,得到图像(/,) 252,可以通过抽取因子(S)254下采样图像(Iy) 244,得到图像(《)256,可以通过抽取因子(S)258下采样图像(Ib) 248,得到图像(")260。在一个实施例中,可以在两个方向上使用 抽取因子S二2。然而,实施例在上下文中不受限制于此。
在梯度计算部分204中,可以存储当前帧的图像(")252、图像 (《)256、图像(")260,然后将它们与从先前帧存储的图像(") 262、图像(")264、图像(/f) 266适当地组合,以获得当前图像 和先前相邻图像之间的时空梯度。在各个实施例中,时空梯度可以包 括水平空间梯度(A ) 268、垂直空间梯度() 270、时间梯度(A/) 272。
可以获得两帧之间的时空梯度,其中(,,是在像素i 处两帧的时空梯度。假定纯位移模式,在像素i处位移由以下方程约束,dx+y;dy+"=o,其中(力,/;, 是在像素i处两帧的 时空梯度,而d二 (dx, dy) T是与水平和垂直方向上的主运动对应的 未知位移。
位移估计部分206可以确定与主运动对应的水平和垂直方向上的 未知位移(dx, dy) 274。通过将与当前图像中的像素对应的约束条件汇聚起来,可以形成超定线性系统,其将时空梯度与未知位移关联起来,具有形式Fsd二Ft,其中,矩阵Fs包含空间梯度,而列向量Ft包 含时间梯度。应当理解,可以使用当前图像中的所有像素或像素子集 来减小计算量。
在各个实施例中,位移估计部分206可以包括诸如鲁棒M-估计器 的鲁棒估计器,以求解超定线性系统。在这样的实施例中,M-估计 器可以使用诸如Tukey函数、Huber函数、Cauchy函数、绝对值函数、 或其它合适的鲁棒函数,而不是在最小平方中使用的平方函数。使用 鲁棒估计器来处理由于经历与相机的运动不同或不相关的运动的对 象的存在所引起的问题。这些对象的不相关运动可能违背主要的整体 运动假设,并且会偏移主运动的估计。
1鲁棒估计器可以自动检测离群值,其对应于经历了与主运动非常 不同或不相关的运动的像素。通过降低对应因素的权重,鲁棒估计器 在估计过程中可以忽略这些离群值。通过使用基于鲁棒统计的估计技 术,自动忽视被认为是离群值(例如,独立运动对象)的数据点。因 此,得到了与主趋势或主运动对应的估计,其最佳地说明了两个连续 帧之间的变化。
在各个实施例中,可以通过根据当前估计处理图像之一并且重复 估计过程,迭代地改善主运动估计。 一旦达到最大迭代数或估计中的 变化低于给定阈值,则将估计过程停止于当前的锥体水平,并且将该 估计用作先前锥体水平的初始估计。
基于相机运动是成像平面内含有的平移的假设,与主运动对应的 水平和垂直方向上的位移(dx, dy) 274可以是整体位移。然而,在 一些情况下,主运动可以是整体位移加上两图像间的旋转,这对应于 以下假设相机运动是包含在成像平面内的平移加上绕与成像平面正 交的轴的旋转。在这种情况下,两个相邻的图像可以互为近似位移和 潜在旋转形式。
在考虑旋转加平移模式的情况下,要估计的参数可以包括位移加 旋转角,并且估计它们的过程相似。在各个实施例中,该过程可以包 括将与旋转加平移对应的两个矩阵相乘,比如从帧1到帧2的矩阵乘 以从帧3到帧4的矩阵。在一个实施例中,每个旋转加平移矩阵可以 包括3x3矩阵,其中,矩阵的第一2x2块是旋转矩阵,最后一列的前 两个元素是位移4和dy,而最底一行为
。然而,实施例在上下 文中不受限制于此。
图3示出根据一个或多个实施例的典型图像序列的估计的和平滑 的轨迹。如图所示,图300包括对于典型图像序列表示估计的轨迹的 蓝线302、表示平滑的轨迹的红线304。这些值以像素为单位。应当 理解,为说明目的提供了该示例,并且实施例在上下文中不受限制于 此。
图4示出测试序列中两个相邻帧的典型稳定结果的一个实施例。 将红色网格叠加在所有图像上,以方便对稳定的视觉比较。在顶行, 在序列的原始连续帧401-a和402-a之间显示了由于有害的相机运动 导致的大抖动。在中间行,在使用纯平移校准模式进行稳定后,在连 续两帧401-b和402-b之间补偿了有害的抖动。在底行,在使用旋转 加平移校准模式进行稳定后,在连续两帧401-c和402-c之间补偿了 有害的抖动。应当理解,为说明目的提供了该示例,并且实施例在上 下文中不受限制于此。
图5示出根据一个或多个实施例的逻辑流程500。逻辑流程500 可以通过各种系统和/或装置来执行,并且可以根据给定的设计参数 或性能约束集的需要,作为硬件、软件、或它们的任意组合来实现。 例如,逻辑流程500可以通过逻辑装置(例如处理器)和/或包括由 逻辑装置执行的指令、数据、和/或代码的逻辑(例如线程逻辑)来 实现。
逻辑流程500可以包括估计输入图像序列中相邻图像帧之间的主 运动(块502)。与主运动对应的位移(例如dx和dy)可以是两幅图 像之间的整体位移和/或整体位移加旋转。可以由诸如使用鲁棒函数 (例如Tukey函数、Huber函数、Cauchy函数、绝对值函数、等)的 鲁棒M-估计器这样的鲁棒估计器来执行主运动估计。鲁棒估计器可 以自动检测并忽略离群值,该离群值对应于经历了与主运动非常不同 或不相关的运动的像素。
逻辑流程500可以包括基于相邻图像帧之间的主运动确定估计的 轨迹(块504)。可以相对于第一帧确定相机的估计的轨迹,作为所 有相对校准的组合。在纯平移模式的情况下,例如,估计的轨迹可以 对应于直到当前帧的所有位移的累加和。
逻辑流程500可以包括确定平滑的轨迹(块506)。可以通过用具 有给定标准偏差的低通滤波器(例如,低通高斯滤波器)对水平和垂 直位移进行滤波,来计算平滑形式的轨迹。
逻辑流程500可以包括基于估计的轨迹和平滑的轨迹之间的偏差 来计算估计的抖动(块508)。可以通过从估计的轨迹减去平滑形式 的轨迹,来计算估计的抖动。轨迹的高频率变化可以与有害相机抖动 相关或对应,而轨迹的低频率或平滑变化可以与期望的相机运动相关 或对应。
逻辑流程500可以包括补偿估计的抖动以产生稳定的图像序列 (块510)。对于纯位移模式,位移能够近似为整数。因此,运动补 偿可以包括选择图像的合适子区域,其具有由位移给定的原点。在旋 转加平移模式的情况下,补偿可以包括使用诸如双线性或双三次插值 的合适插值技术在旋转像素网格上内插像素值。
图6示出制造物品600的一个实施例。如图所示,物品600可以 包括存储介质602,其存储视频稳定逻辑504,用于执行根据上述实 施例的各种操作。在各个实施例中,物品600可以通过各种系统、组 件、和/或模块来实现。
物品600和/或计算机可读存储介质602可以包括能够存储数据的 一种或多种类型的存储介质,包括易失存储器或非易失存储器、可移 动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储 器、等等。计算机可读存储介质的例子可以包括但不限于RAM、 DRAM、双数据率DRAM (DDRAM)、同步DRAM (SDRAM)、静 态RAM (SRAM)、 ROM、可编程ROM (PROM)、可擦可编程ROM (EPROM)、 EEPROM、光盘ROM(CD-ROM)、可记录光盘(CD-R)、 可重写光盘(CD-RW)、闪存(例如NOR或NAND闪存)、内容可 寻址存储器(CAM)、聚合物存储器(例如铁电聚合物存储器)、相
变存储器(例如双向存储器)、铁电存储器、硅氧氮氧硅(SONOS) 存储器、盘(例如软盘、硬驱、光盘、磁盘、磁-光盘)、或卡(例如磁 卡、光卡)、磁带、盒式磁带、或适合于存储信息的任何其它类型的 计算机可读存储介质。
物品600和/或计算机可读介质602可以存储包括指令、数据和/ 或代码的视频稳定逻辑604,如果系统执行该指令、数据和/或代码, 可以使得系统执行根据上述实施例的方法和/或操作。这样的系统可 以包括,例如,任何合适的处理平台、计算平台、计算装置、处理装 置、计算系统、处理系统、计算机、处理器等,并且可以使用硬件和 /或软件的任何合适组合来实现。
视频稳定逻辑604可以包括或被实现为软件、软件模块、应用 程序、程序、子例程、指令、指令集、计算代码、字、值、符号或其 组合。指令可以包括任何合适类型的代码,比如源代码、编译代码、 解释代码、执行代码、静态代码、动态代码、等等。可以根据预定的 计算机语言、方式、或语法来实现指令,以控制处理器执行特定功能。 可以使用任何合适的高级别的、低级别的、面向对象的、可视的、编 译的和/或解释的编程语言,比如C、 C++、 Java、 BASIC、 Perl、 Matlab、 Pascal、 Visual BASIC、汇编语言、机器码等等,来实现该指令。实 施例在上下文中不受限制于此。
这里提出了许多具体细节以提供对实施例的彻底理解。然而,本 领域技术人员应当理解,可以不用这些具体细节来实现实施例。在另 一示例中,没有详细描述公知的操作、组件和电路以免混淆实施例。 应当理解,这里公开的特定结构和功能细节可以是代表性的,但不限 定这些实施例的范围。
各个实施例可以包括一个或多个组件。 一个组件可以包括执行某 些操作的任何结构。每个组件可以根据给定的设计参数或性能约束集 合的要求,实现为硬件、软件、或它们的任意组合。虽然作为示例在 特定拓扑布局中以限定数目的组件描述了实施例,但是根据给定实现 的要求,实施例在其他拓扑布局中可以包括或多或少的组件。
应当注意,文中出现的任何"一个实施例"意指,结合该实施例
描述的特定的特征、结构或特性包括在至少一个实施例中。说明书中 的短语"在一个实施例中"不一定都指同一实施例。
虽然可以将一些实施例说明和描述为包括执行各种操作的示例性 功能组件或模块,但是应当理解,可以通过一个或多个硬件组件、软 件组件、和/或其组合来实现这样的组件或模块。例如,可以通过要 由逻辑装置(例如处理器)执行的逻辑(例如指令、数据和/或代码) 来实现功能组件和/或模块。可以在逻辑装置内部或外部将这样的逻 辑存储到一种或多种类型的计算机可读存储介质上。
还应当理解,所述实施例说明了示例性实现,且可以用符合所述 实施例的各种其它方式来实现功能组件和/或模块。此外,对于给定 的实现,可以将这些组件或模块执行的操作进行组合和/或分割,并 且可以由更多或更少组件或模块执行操作。
除非专门说明,应当理解,诸如"处理"、"运算"、"计算"、"确 定"等的术语指计算机或计算机系统、或相似电子计算装置的动作或 处理,所述相似电子计算装置对寄存器和/或存储器中表示为物理量 (例如电子)的数据进行操作,并且/或者将其转换成在存储器、寄 存器、或其它类似信息存储、发射或显示装置内的同样表示为物理量 的其它数据。
应当注意,使用了表述"耦合"和"连接"及其派生词来描述一 些实施例。不意味这些术语相互为同义词。例如,可以使用术语"连 接的"和/或"耦合的"描述一些实施例,以表明两个或多个组件相 互直接物理或电接触。然而,术语"耦合的"还可以指两个或多个组 件不直接相互接触,但是仍然相互协作或交互。关于软件组件,例如,
术语"耦合的"可以指接口、消息接口、 API、交换消息等。
一些图可以包括流程图。虽然这样的图可以包括特定的逻辑流程, 但是应当理解,逻辑流程仅仅提供通用功能的示例性实施例。此外, 除非另有说明,不必以表述的顺序执行逻辑流程。另外,可以通过硬 件组件、由处理器执行的软件组件、或其任意组合来实现逻辑流程。 虽然如上述说明了实施例的某些特征,但是本领域技术人员可以 作出许多修改、替代、变化、等同。因此,应当理解所附权利要求旨在覆盖落入这些实施例本质内的所有修改和变化.
权利要求
1、一种装置,包括帧间主运动估计模块,其接收输入图像序列,并估计所述图像序列中相邻图像之间的主运动,所述帧间主运动估计模块包括鲁棒估计器,其自动检测并忽视与独立运动对象对应的离群值。
2、 如权利要求1所述的装置,其中,所述主运动包括至少所述 相邻图像之间的整体位移和整体位移加旋转中的一个。
3、 如权利要求1所述的装置,其中,所述鲁棒估计器使用鲁棒 函数。
4、 如权利要求3所述的装置,所述鲁棒函数包括至少Tukey函 数、Huber函数、Cauchy函数、绝对值函数中的一个。
5、 如权利要求1所述的装置,还包括轨迹计算模块,其基于所 述主运动确定估计的轨迹。
6、 如权利要求5所述的装置,还包括轨迹平滑模块,其确定平 滑的轨迹。
7、 如权利要求6所述的装置,还包括抖动补偿模块,其补偿估 计的抖动,所述估计的抖动基于所述估计的轨迹和所述平滑的轨迹 之间的偏差。
8、 如权利要求1所述的装置,其中,所述装置包括图像获取装 置。
9、 一种系统,包括连接到天线的装置,所述装置包括帧间主运动估计模块,其接收 输入图像序列,并估计所述图像序列中相邻图像之间的主运动,所 述帧间主运动估计模块包括鲁棒估计器,其自动检测并忽视与独立 运动对象对应的离群值。
10、 如权利要求9所述的系统,其中,所述主运动包括至少所述 相邻图像之间的整体位移和整体位移加旋转中的一个。
11、 如权利要求9所述的系统,其中,所述鲁棒估计器使用鲁棒 函数。
12、 如权利要求11所述的系统,所述鲁棒函数包括至少Tukey 函数、Huber函数、Cauchy函数、绝对值函数中的一个。
13、 如权利要求9所述的系统,还包括轨迹计算模块,其基于所 述主运动确定估计的轨迹。
14、 如权利要求13所述的系统,还包括轨迹平滑模块,其确定 平滑的轨迹。
15、 如权利要求14所述的系统,还包括抖动补偿模块,其补偿 估计的抖动,所述估计的抖动基于所述估计的轨迹和所述平滑的轨 迹之间的偏差。
16、 一种方法,包括通过使用鲁棒估计器自动检测并忽视与独立运动对象对应的离 群值,估计图像序列中相邻图像之间的主运动。
17、 如权利要求16所述的方法,其中,所述主运动包括至少所 述相邻图像之间的整体位移和整体位移加旋转中的一个。
18、 如权利要求16所述的方法,其中,所述鲁棒估计器使用鲁 棒函数。
19、 如权利要求18所述的方法,所述鲁棒函数包括至少Tukey 函数、Huber函数、Cauchy函数、绝对值函数中的一个。
20、 如权利要求16所述的方法,还包括基于所述主运动确定估 计的轨迹。
21、 如权利要求20所述的方法,还包括确定平滑的轨迹。
22、 如权利要求21所述的方法,还包括补偿估计的抖动,所述 估计的抖动基于所述估计的轨迹和所述平滑的轨迹之间的偏差。
23、 一种包括含有指令的计算机可读存储介质的物品,如果执行 所述指令,使得系统通过使用鲁棒估计器自动检测并忽视与独立运动对象对应的离 群值,估计图像序列中相邻图像之间的主运动。
24、 如权利要求23所述的物品,其中,所述主运动包括至少所 述相邻图像之间的整体位移和整体位移加旋转中的一个。
25、 如权利要求23所述的物品,其中,所述鲁棒估计器使用鲁 棒函数。
26、 如权利要求25所述的物品,所述鲁棒函数包括至少Tukey 函数、Huber函数、Cauchy函数、绝对值函数中的一个。
27、 如权利要求23所述的物品,还包括指令,如果执行该指令,使得所述系统基于所述主运动确定估计的轨迹。
28、 如权利要求27所述的物品,还包括指令,如果执行该指令, 使得所述系统确定平滑的轨迹。
29、 如权利要求28所述的物品,还包括指令,如果执行该指令, 使得所述系统补偿估计的抖动,所述估计的抖动基于所述估计的轨 迹和所述平滑的轨迹之间的偏差。
全文摘要
描述了基于鲁棒主运动估计执行数字视频稳定的多个实施例。在一个实施例中,装置可以接收输入图像序列,并估计输入图像序列中相邻图像之间的主运动。所述装置可以使用鲁棒估计器来自动检测并忽视与独立运动对象对应的离群值。描述了其它的实施例并要求了权利。
文档编号H04N7/26GK101202911SQ20071017008
公开日2008年6月18日 申请日期2007年11月9日 优先权日2006年11月9日
发明者H·W·豪斯科尔, O·内斯塔雷斯 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1