将相机与陀螺仪融合在一起的五维视频稳定化装置及方法与流程

文档序号:17727778发布日期:2019-05-22 02:38阅读:410来源:国知局
将相机与陀螺仪融合在一起的五维视频稳定化装置及方法与流程

本申请主张在2017年11月13日在美国专利与商标局提出申请且被授予序列号第62/585,187号的美国临时专利申请和在2018年6月22日在美国专利与商标局提出申请且被授予序列号第16/016,232号的非美国临时专利申请的优先权,所述专利申请的全部内容并入本申请供参考。

本公开大体来说涉及一种视频稳定化的装置及方法,且更具体来说,涉及一种将相机与陀螺仪融合在一起的五维视频稳定化装置及方法。



背景技术:

传统的基于陀螺仪的视频稳定化(例如,三维(threedimensional,3d)稳定化)是通过三维旋转平滑及补偿来实现的。传统的三维稳定化方式不考虑平移相机移动。因此,当在视频记录期间存在大的相机平移时,传统的基于陀螺仪的视频稳定化会遭受大的不稳定振荡。

传统的基于陀螺仪的三维视频稳定化仅对相机的三维旋转进行稳定化。所述三维旋转通常是通过对由陀螺仪测量的角速度进行积分来计算的。不会考虑相机的平移,这是因为在物体距离相机至少几米的大部分场景中,由于三维旋转引起的抖动更明显。然而,传统的基于陀螺仪的三维视频稳定化会因大的平移移动而遭受残余抖动。



技术实现要素:

根据一个实施例,提供一种五维视频稳定化的装置。所述装置包括:特征匹配器,被配置成接收图像序列并确定所述图像序列中的特征对;残留二维(2d)平移估计器,连接到所述特征匹配器且被配置成确定原始二维平移路径;残留二维平移平滑器,连接到所述残留二维平移估计器且被配置成确定经平滑的二维平移路径;畸变计算器,连接到所述残留二维平移估计器及所述残留二维平移平滑器且被配置成确定畸变网格;以及畸变补偿器,连接到所述畸变计算器且被配置成补偿所述图像序列中的畸变。

根据一个实施例,提供一种五维视频稳定化的方法。所述方法包括:由特征匹配器接收图像序列,所述图像序列具有两个或更多个连续的图像;由所述特征匹配器确定所述图像序列中的特征对;由残留二维(2d)平移估计器确定原始二维平移路径,所述残留二维平移估计器接收原始三维(3d)旋转相机路径、帧内三维旋转及经平滑的三维旋转相机路径并连接到所述特征匹配器;由残留二维平移平滑器确定经平滑的二维平移路径;由连接到所述残留二维平移估计器及所述残留二维平移平滑器的畸变计算器确定畸变网格;以及由连接到所述畸变计算器的畸变补偿器补偿所述图像序列中的畸变。

附图说明

结合附图阅读以下详细说明,本公开的某些实施例的以上及其他方面、特征及优点将更显而易见,在附图中:

图1示出根据一个实施例的基于陀螺仪的三维视频稳定化系统的方块图。

图2示出根据一个实施例的五维视频稳定化系统的方块图。

图3a、图3b及图3c示出根据一个实施例的基于核面几何的离群值剔除(epipolargeometrybasedoutlierrejection)的图。

图4示出根据一个实施例的五维视频稳定化方法的流程图。

图5示出根据一个实施例的五维视频稳定化系统的方块图。

图6示出根据一个实施例的网络环境中的电子器件的方块图。

图7示出根据一个实施例的相机模块的方块图。

图8示出根据一个实施例的计算机程序的方块图。

[符号的说明]

100:三维视频稳定系统;

101、201、501:三维旋转估计器;

103、203、503:三维旋转平滑器;

105、211、513:畸变计算器;

107:畸变补偿器;

109、215、223、517:输入;

111、217、227:第一输出;

113、219、229、523、533:第二输出;

115、117、121、221、225、231、233、235、521、529、535、537、539:输出;

119:第二输入;

200、500:五维视频稳定化系统;

205、505:特征匹配器;

207、509:残留二维平移估计器;

209、511:残留二维平移平滑器;

213、515:五维畸变补偿器;

301、321、351:候选灭点

303、305、323、325、337、343、353、355、367、373:线;

307、327、359:点

309、329、357:点

311、331、363:点

313、333、361:点

335、377:夹角θk;

339、371:特征点

341、369:特征点

345、375:中点;

365:夹角π-θk;

401、403、405、407、409、411、413:步骤;

507:区探测器;

519:第一输出/输出;

525:第一输入/输入;

527:第二输入/输出;

531:输出/第一输出;

600:网络环境;

601:电子器件;

602、604:电子器件/外部电子器件;

608:服务器/外部电子器件;

620:处理器;

621:主处理器;

623:辅助处理器;

630、750:存储器;

632:易失性存储器;

634:非易失性存储器;

636:内部存储器;

638:外部存储器;

640、840:程序;

642、842:操作系统;

644、844:中间件;

646、846:应用;

650:输入器件;

655:声音输出器件;

660:显示器件;

670:音频模块;

676:传感器模块;

677:接口;

678:连接端子;

679:触感模块;

680、700:相机模块;

688:电源管理模块;

689:电池;

690:通信模块;

692:无线通信模块;

694:有线通信模块;

696:用户识别模块;

697:天线模块;

698:第一网络;

699:第二网络;

710:镜头总成;

720:闪光灯;

730:图像传感器;

740:图像稳定器;

760:图像信号处理器;

801:应用管理器;

803:视窗管理器;

805:多媒体管理器;

807:资源管理器;

809:电源管理器;

811:数据库管理器;

813:数据包管理器;

815:连接性管理器;

817:通知管理器;

819:位置管理器;

821:图形管理器;

823:安全管理器;

825:电话管理器;

827:语音识别管理器;

851:主页应用;

853:拨号器应用;

855:短消息服务/多媒体消息传送服务应用;

857:即时消息应用;

859:浏览器应用;

861:相机应用;

863:告警应用;

865:联系人应用;

867:语音识别应用;

869:电子邮件应用;

871:日历应用;

873:媒体播放器应用;

875:相册应用;

877:手表应用;

879:健康应用;

881:环境信息应用。

具体实施方式

在下文中,参照附图详细阐述本公开的实施例。应注意,相同的元件将由相同的参考编号指示,尽管它们示出在不同的图中。在以下说明中,提供例如详细配置及组件等具体细节仅是为了帮助全面理解本公开的实施例。因此,对所属领域中的技术人员应显而易见,在不背离本公开的范围的条件下可对本文所述的实施例作出各种改变及修改。另外,为清晰及简洁起见,省略对众所周知的功能及构造的说明。以下所述用语是考虑到本公开中的功能而定义的用语,且可根据用户、用户的意图或习惯而有所不同。因此,这些用语的定义应基于本说明书通篇的内容来确定。

本公开可具有各种修改及各种实施例,以下参照附图详细阐述其中的一些实施例。然而应理解,本公开并非仅限于所述实施例,而是包括处于本公开的范围内的所有修改、等效形式及替代形式。

尽管可能使用包括例如“第一(first)”、“第二(second)”等序数词的用语来阐述各种元件,但结构元件不受这些用语限制。这些用语仅用于区分各个元件。举例来说,在不背离本公开的范围的条件下,“第一结构元件”可被称为“第二结构元件”。相似地,“第二结构元件”也可被称为“第一结构元件”。本文中所用的用语“和/或(and/or)”包括一个或多个相关项的任意及所有组合。

本文中所用的用语仅用于阐述本公开的各种实施例,而并非旨在限制本公开。除非上下文清楚地另外指明,否则单数形式旨在包括复数形式。在本公开中,应理解,用语“包括(include)”或“具有(have)”指示特征、数目、步骤、操作、结构元件、部件或其组合的存在,而不排除一个或多个其他特征、数字、步骤、操作、结构元件、部件或其组合的存在或添加的可能。

除非进行不同地定义,否则本文中所用的所有用语均具有与本公开所属领域中的技术人员所理解的含意相同的含意。例如在常用字典中所定义的用语等用语应被解释为具有与相关技术领域中的上下文含意相同的含意,且除非在本公开中进行清楚定义,否则不应将其解释为具有理想化或过于正式的含意。

根据一个实施例的电子器件可为各种类型的电子器件中的一种。电子器件可包括例如便携式通信器件(例如,智能电话)、计算机、便携式多媒体器件、便携式医疗器件、相机、穿戴式器件或家用电器。根据一个实施例,电子器件并非仅限于上述电子器件。

本公开中所用的用语并非旨在限制本公开,而是旨在包括对对应实施例的各种改变、等效形式或替代形式。关于对附图的说明,可使用相似的参考编号指代相似的或相关的元件。除非相关上下文清楚地另外指明,否则与物项对应的名词的单数形式可包括一个或多个事物。本文所用的例如“a或b”、“a及b中的至少一者”、“a或b中的至少一者”、“a、b或c”、“a、b、及c中的至少一者”及“a、b、或c中的至少一者”等短语中的每一者可包括与短语中的对应一个短语一同枚举的物项的所有可能组合。本文所用的例如“第一(1st、first)”及第二(2nd、second)等用语可用于将对应的组件与另一个组件进行区分,而不旨在在其他方面(例如,重要性或次序)对组件进行限制。本文意图在于,如果在带有或不带有用语“可操作地”或“可通信地”的条件下将元件(例如,第一元件)称为与另一元件(例如,第二元件)“耦合”、“耦合到”另一元件、与另一元件“连接”或“连接到”另一元件,则其表示元件可直接地(例如,以有线方式)、无线地或通过第三元件与另一元件耦合。

本文所用用语“模块”可包括以硬件、软件或固件形式实施的单元,且可与例如“逻辑”、“逻辑区块”、“部件”及“电路”等其他用语互换使用。模块可为适以执行一种或多种功能的单个整体组件或所述单个整体组件的最小单元或部件。举例来说,根据一个实施例,模块可被实施为应用专用集成电路(application-specificintegratedcircuit,asic)的形式。

根据一个实施例,本公开的方法可包括在计算机程序产品中及在计算机程序产品中提供。计算机程序产品可在卖方与买方之间作为产品进行交易。计算机程序产品可以机器可读存储介质(例如,压缩盘只读存储器(compactdiscreadonlymemory,cd-rom))形式分发,或者通过应用商店(例如,播放商店tm(playstoretm)在线分发(例如,下载或上传),或者直接在两个用户器件(例如,智能电话)之间分发。如果在线分发,则计算机程序产品的至少一部分可在机器可读存储介质(例如,制造商服务器的存储器、应用商店的服务器或中继服务器)中临时产生或至少临时存储在所述机器可读存储介质中。

根据一个实施例,上述组件中的每一个组件(例如,模块或程序)可包括单个实体或多个实体。可省略上述组件中的一者或多者,或者可添加一个或多个其他组件。作为另外一种选择或另外地,可将多个组件(例如,模块或程序)集成成单个组件。在这种情形中,集成组件仍可以与在集成之前所述多个组件中的对应一者执行一种或多种功能的方式相同或相似的方式来执行所述多个组件中的每一者的所述一种或多种功能。由模块、程序或另一组件执行的操作可依序地、并行地、重复地或启发式地执行,或者所述操作中的一个或多个操作可以不同的次序执行或者被省略,或者可添加一个或多个其他操作。

在实施例中,通过在三维旋转补偿之后对残留二维平移进行估计及稳定化以实现五维视频稳定化来解决当在视频记录期间存在大的相机平移时出现大的不稳定振荡的问题。

在实施例中,五维稳定化装置及方法将相机传感器与陀螺仪信息融合在一起。相机的三维旋转是从陀螺仪直接测量得到的。在对三维旋转进行平滑及补偿之后,可能由于相机的三维平移而存在剩余振荡。由于缺乏深度,因此无法完美地估计或利用三维平移。由此,在图像平面内观察残留二维平移,所述残留二维平移可通过对基于陀螺仪的三维旋转估计值与来自图像序列的视觉信息进行融合来进行估计。五维视频稳定化是通过在运动平滑及补偿中对三维旋转与残留二维平移进行组合来实现的。五维视频稳定化会改善稳定化性能,尤其在平移移动大的场景中。

在实施例中,使用残留二维平移。已通过解决“运动恢复结构(structurefrommotion)”问题对用于视频稳定化的三维平移估计进行了研究。然而,这种方式可能遭受初始缩放模糊且可能因计算成本高而无法用于实时稳定化。在实施例中,对残留二维平移进行估计来对图像中由三维平移造成的最终效应进行近似,残留二维平移可以低的计算成本进行有效地估计且仍可捕获由于三维平移导致的伪影(artifact)。

在实施例中,使用基于将传感器与视觉融合在一起的方式来估计残余二维平移。如在传统的基于陀螺仪的视频稳定化中一样,三维旋转可从由陀螺仪测量的角速度容易地且准确地获得。基于三维旋转估计值,可从自连续的图像提取的特征对将三维旋转效应去除。利用近似,从经处理的特征对估计残留二维平移。

在实施例中,使用基于核面几何的离群值剔除方案来选择用于残留二维平移估计的特征对。在去除三维旋转效应之后,可能会由三维平移造成连续帧中特征点的移动。因此,对每一个特征对进行连接的线应在灭点(vanishingpoint)处相交。在实施例中,这种性质用于以下阐述的基于核面几何的离群值剔除方法中。

在实施例中,一种五维稳定化装置及方法包括三维旋转估计、使用传感器-视觉融合以及组合的对三维与残留二维补偿进行视频稳定化的残留二维平移估计、以及卷帘快门(rollingshutter,rs)效应去除。

在实施例中,通过陀螺仪-视觉融合进行的残留二维平移会高效地估计在传统的基于陀螺仪的视频稳定化中被忽略的因相机的三维平移引起的效应。

在实施例中,五维稳定化有效地去除因相机的不同类型的运动(例如,三维旋转及三维平移)导致的运动抖动(motionjitter),这会提高存在平移时的性能。

视频稳定化会去除不期望的运动抖动并将最初抖动视频重构成满足一般观看者的电影感知(cinematographicperception)的稳定视频。稳定化技术有两种主要类别,即光学图像稳定化(opticalimagestabilization,ois)及数字图像稳定化(digitalimagestabilization,dis)。ois常常通过基于由陀螺仪测量的瞬时相机移动而机械地移动相机镜头或传感器来实现。因此,会在记录图像之前将不想要的运动去除。dis则在记录图像之后去除不想要的运动。在dis中,可估计多个帧中的相机运动(例如,估计原始路径)。接着基于估计原始路径来确定经平滑的路径。通过图像卷绕处理(imagewarpingprocess),可采用仿佛相机正在沿经平滑的路径移动一样的方式来校正视频。本公开考虑dis。

图1示出根据一个实施例的基于陀螺仪的三维视频稳定系统的方块图。基于陀螺仪的三维视频稳定系统100包括三维旋转估计器101、三维旋转平滑器103、畸变计算器105及畸变补偿器107。

三维旋转估计器101包括输入109、第一输出111及第二输出113。三维旋转估计器101在输入109处接收由陀螺仪测量的角速度且使用所述角速度来估计相机的帧间三维旋转及帧内三维旋转,并在第一输出111处输出累积原始三维旋转相机路径且在第二输出113处输出帧内三维旋转。

三维旋转平滑器103包括输入以及输出115,所述输入连接到三维旋转估计器101的第一输出111。三维旋转平滑器103对从三维旋转估计器101接收的原始三维相机路径进行平滑并在输出115处输出原始三维旋转相机路径以及经平滑的三维旋转相机路径。

畸变计算器105包括第一输入、第二输入、第三输入及输出117,所述第一输入连接到三维旋转平滑器103的输出115,第二输入连接到三维旋转估计器101的第一输出111,第三输入连接到三维旋转估计器101的第二输出113,输出117提供畸变网格(distortedgrid)。通过使用原始三维旋转相机路径、帧内三维旋转及经平滑的三维旋转相机路径,畸变计算器105确定畸变网格。

畸变补偿器107包括第一输入、第二输入119及输出121,所述第一输入连接到畸变计算器105的输出117。畸变补偿器107从畸变计算器105的输出117接收畸变网格且在第二输入119处接收图像序列,并使用畸变网格来补偿图像序列中的三维旋转。

图2示出根据一个实施例的五维视频稳定化系统的方块图。五维视频稳定化系统200包括三维旋转估计器201、三维旋转平滑器203、特征匹配器205、残留二维平移估计器207、残留二维平移平滑器209、畸变计算器211及五维畸变补偿器213。

三维旋转估计器201包括输入215、第一输出217及第二输出219。三维旋转估计器201在输入215处接收由陀螺仪测量的角速度且使用所述角速度来估计相机的帧间三维旋转及帧内三维旋转,并在第一输出217处输出累积原始三维旋转相机路径,且在第二输出219处输出帧内三维旋转。

三维旋转平滑器203包括输入及输出221,所述输入连接到三维旋转估计器201的第一输出217。三维旋转平滑器203对从三维旋转估计器201的第一输出217接收到的原始三维旋转相机路径进行平滑并在输出221处输出经平滑的三维旋转相机路径。

特征匹配器205包括输入223及输出225,输入223接收图像序列,输出225提供特征对。残留二维平移估计器207包括第一输入、第二输入、第三输入、第四输入、第一输出227及第二输出229,所述第一输入连接到三维旋转估计器201的第一输出217,所述第二输入连接到三维旋转估计器201的第二输出219,所述第三输入连接到三维旋转平滑器203的输出221,所述第四输入连接到特征匹配器205的输出225,第一输出227提供残留二维平移的估计值(即,原始二维平移路径),且第二输出229提供帧内残留二维平移。残留二维平移估计器207接收来自特征匹配器205的输出225的两个连续图像中的特征对、来自三维旋转估计器201的第一输出217的原始三维旋转相机路径、来自三维旋转估计器201的第二输出219的帧内三维旋转以及来自三维旋转平滑器203的输出221的经平滑的三维旋转相机路径以估计残留二维平移。残留二维平移估计器207的第一输出227是原始二维平移路径。残留二维平移估计器207的第二输出229是帧内残留二维平移。

残留二维平移平滑器209具有输入及输出231,所述输入连接到残留二维平移估计器207的第一输出227,输出231提供经平滑的二维平移路径。残留二维平移平滑器209通过对从残留二维平移估计器207的第一输出227接收的对应的原始二维平移路径进行平滑来产生经平滑的二维平移路径。

畸变计算器211包括第一输入、第二输入、第三输入、第四输入、第五输入、第六输入及输出233,所述第一输入连接到三维旋转估计器201的第一输出217,所述第二输入连接到三维旋转估计器201的第二输出219,所述第三输入连接到三维旋转平滑器203的输出221,所述第四输入连接到残留二维平移估计器207的第一输出227,所述第五输入连接到残留二维平移估计器207的第二输出229,所述第六输入连接到残留二维平移平滑器209的输出231,输出233提供畸变网格。畸变计算器211对来自三维旋转估计器201的第一输出217的原始三维旋转相机路径、来自三维旋转估计器201的第二输出219的帧内三维旋转、来自三维旋转平滑器203的输出221的经平滑的三维旋转相机路径、来自残留二维平移估计器207的第一输出227的原始二维平移路径、来自残留二维平移估计器207的第二输出229的帧内残留二维平移及来自残留二维平移平滑器209的输出231的经平滑的二维平移路径进行组合以确定畸变网格。使用帧内三维旋转及帧内残留二维平移来确定畸变网格以补偿卷帘快门(rs)效应。

五维畸变补偿器213包括第一输入、第二输入及输出235,所述第一输入连接到畸变计算器211的输出233,所述第二输入连接到特征匹配器205的输入223。五维畸变补偿器213从畸变计算器211的输出233接收畸变网格,且在第二输入处接收图像序列,并使用畸变网格来补偿图像序列中的畸变。

在实施例中,对于运动估计而言,使用基于核面几何的离群值剔除来选择特征对。

在实施例中,可通过对由陀螺仪测量的角速度进行积分来确定三维旋转。对于平滑相机运动而言,估计两个连续帧之间的帧内三维旋转及三维旋转的对应的累积原始路径。对于rs补偿而言,估计帧内三维旋转。第n帧的时间标记被表示为tn,其对应于记录图像的中间行的时间。从帧n-1到帧n的帧间旋转由δθn-1→n表示,δθn-1→n表示从tn-1到tn的相机三维旋转且可在以下方程式(1)中加以确定:

其中ω1、…、ωn可分别为在时间τ1、…、τn处取得的tn-1与tn之间n≥0陀螺仪样本的3×1角速度向量。τ0及τn+1对应于帧n-1及帧n的时间标记,即,τ0=tn-1及τn+1=tn。这两个时间实例处对应的角速度ω0及ωn+1分别是通过在τ0及τn+1周围对两个最接近的陀螺仪样本进行插值获得的。原始三维旋转路径是通过从帧0到所有后续帧对帧间旋转进行累积来确定的,如在方程式(2)中所示:

其中r(θ)是从旋转向量θ到旋转向量θ的等效3×3三维旋转矩阵的变换。对于θ而言,r(θ)可使用矩阵指数(matrixexponential)或罗德里格斯旋转公式(rodrigues’rotationformula)来确定。对于路经平滑而言,直到帧n为止的累积三维旋转的旋转向量表示形式被表示为θn,θn可在三维旋转平滑器203中进行平滑。经平滑的三维旋转相机路径的旋转矩阵及旋转向量分别被表示为r′n及θ′n。

对于rs补偿而言,确定从中间行到所有其他行的帧内三维旋转。帧n中从中间行到第y行的旋转被表示为θn(y)。为确定帧内旋转,帧n中从第0行到所有其他行的旋转被确定且被表示为θn(y)。这可通过将τ0改变到第0行的时间且将τn+1改变到第y行的时间来以如以上方程式(1)中所述一样的方式实现。帧内旋转δθn(y)因此在以下方程式(3)中加以确定:

δθn(y)=θn(y)-θn(ymid)...(3)

其中ymid是中间行的索引。δθn(y)的等效旋转矩阵表示形式被表示为δrn(y)。

陀螺仪测量仅提供三维旋转信息。平移信息可从图像序列提取。为估计从帧n-1到帧n的帧内残留二维平移,特征匹配器205对两个连续帧之间的特征对进行匹配。第k对二维图像坐标被表示为(xk,n-1,xk,n),且对应的齐次坐标(homogeneouscoordinate)表示形式被表示为由于各个二维图像坐标是从同一三维世界坐标xk投影得到,因此,相机运动可如在方程式(4)中所示一样:

其中pn是表示帧n中的三维平移的3×1向量,且k是3×3相机本征矩阵,所述3×3相机本征矩阵在以下方程式(5)中给出:

其中f是以图像像素计的焦距,且(u0,v0)是图像平面中相机主轴的原点。为估计三维平移pn的影响,如以下方程式(6)中一样将三维旋转的效应移除:

以上方程式(6)中的差值是在根据期望的经平滑路径对图像进行卷绕之后由三维平移造成的。在帧n中使用对应于在帧n中应用的实际三维补偿。然而,在帧n-1中使用而非这是由于由给定的附加旋转是从帧n-1到帧n的期望的经平滑三维旋转相机路径,残留平移影响不应含有这一部分。这就是为何在帧n-1中应用方程式(6)中的差计算无法直接计算得到,这是因为rnxk+pn及rn-1xk+pn-1并非直接可用的。由此,使用远距离物体假设,即,假设图像中的物体相对于焦距位于距图像平面远得多的距离处。

尽管在方程式(6)中计算的差值是会反映三维平移影响的3×1向量,然而所述差值并不直接暗示图像的最终结果且无法在不知晓xk、pn-1及pn的条件下进行计算。由此,确定在二维坐标正则化之后的差以使用特征对的坐标来获得图像平面中的残留二维平移。方程式(6)中的这两项可如在以下方程式(7)及方程式(8)中一样进行计算:

二者均为3×1向量,即,由第k特征对给出的残留二维估计因此如以下方程式(9)中一样进行确定:

帧间残留二维平移的最小均方误差(minimummeansquareerror,mmse)估计值可如以下方程式(10)中一样通过对这k个特征对取平均值来确定:

对帧间残留二维平移进行累积以获得原始残留二维平移路径。由于δtn-1→n是尽管沿着经平滑的三维旋转相机路径行进,然而仍存在的残留移动,因此所述累积可如以下方程式(11)中一样来确定:

基于原始路径确定的对应的经平滑路径由t′n表示。

在确定帧间残留二维平移估计值之后,可通过假设恒定的平移速度来估计帧内残留二维平移。在帧n中从中间行到第y行的帧内平移向量如以下方程式(12)中所示:

其中h是每一图像中的行的总数目。可假设多项式模型(polynomialmodel)或分段线性模型(piecewiselinearmodel)来代替恒定速度模型以捕获帧内平移的变化。

根据图像的视图以及特征探测/匹配算法而定,用于残留二维平移估计的特征对可能含有离群值。因此,可使用利用在方程式(7)中计算的的特殊几何性质进行的离群值剔除法。可被视为匹配特征点对的齐次坐标。对应的二维欧几里得表示形式由如以下方程式(13)中的正则化形式给出:

由于各个匹配点之间的差仅由三维平移造成,因此,根据核面几何的性质,连接这些特征对的线应在灭点处相交。使用离群值剔除法来将不指向灭点的特征对剔除。

在实施例中,用于离群值剔除法的基于核面几何的随机样本一致(randomsampleconsensus,ransac)可基于下表1中的随机样本一致(ransac)。

表1

用于离群值剔除的基于核面几何的ransac

直到达到最大数目的迭代为止。

图3a示出根据一个实施例的基于核面几何的离群值剔除的图。在每一ransac迭代中,候选灭点301被计算为指向相反方向且分别连接两个随机选择的特征对的两条线303与线305的交叉点,其中第一特征对包括沿线303指向候选灭点301的点307及点309,且其中第二特征对包括沿线305远离候选灭点301的点311及点313。在这种情形中,本系统跳过随后的计算且继续进行下一迭代。

图3b示出根据一个实施例的基于核面几何的离群值剔除的图。在每一ransac迭代中,候选灭点321被计算为在同一方向上指向候选灭点321且分别连接两个随机选择的特征对的两条线323与线325的交叉点,其中第一特征对包括沿线323指向候选灭点321的点327及点329,且其中第二特征对包括沿线325指向候选灭点321的点331及点333。接着,对于每一特征对k而言,确定线337与线343之间的夹角θk335,线337连接两个特征点339与特征点341且指向特征点341,且线343连接候选灭点321与线337的中点345。夹角θk335衡量特征对339与341指向候选灭点321的接近程度。如果夹角θk335小于阈值γ,则特征对k被视为内群值且被添加到临时内群值集合φ′。在每一迭代结束时,如果临时内群值集合φ′具有比φ多的特征对,则以φ′来更新φ。残留二维平移估计值将使用以上离群值剔除流程之后的φ中的内群值。

图3c示出根据一个实施例的基于核面几何的离群值剔除的图。在每一ransac迭代中,候选灭点351被计算为指向同一方向且分别连接两个随机选择的特征对的两条线353与线355的交叉点,其中第一特征对包括沿线353远离候选灭点351的点357及点359,且其中第二特征对包括沿线355远离候选灭点351的点361及点363。接着,对于每一特征对k而言,确定线367与线373之间的夹角θk377,线367连接两个特征点371与特征点369且指向特征点369,线373连接候选灭点351与线367的中点375。夹角π-θk365衡量特征对371与369指向候选灭点351的接近程度。如果夹角π-θk365小于阈值γ,则特征对k被视为内群值且被添加到临时内群值集合φ′。在每一迭代结束时,如果临时内群值集合φ′具有比φ多的特征对,则以φ′来更新φ。残留二维平移估计值将使用以上离群值剔除流程之后的φ中的内群值。

对三维旋转与残留二维平移的累积路径进行平滑以产生对应的稳定路径。为获得帧n中的经平滑的路径值,必须考虑从帧n-w1到帧n+w2的原始路径,其中w1及w2分别是过去的平滑窗口大小及未来的平滑窗口大小。经平滑的路径的确定可使用滤波或者通过考虑更复杂的路径优化来实现。由于三维旋转及残留二维平移的路径平滑参数表示不同的物理运动,因此必须分开考虑三维旋转及残留二维平移的路径平滑参数。

对于经补偿图像中的点而言,畸变计算器211中的操作是找到原始图像中的对应坐标x=[x1,x2]。与残留二维平移相关的补偿发生在图像平面内。由此,x′t是如以下方程式(14)中一样在残留二维平移补偿之前确定的:

x′t=x′-(t′n-tn)+δtn(x′2),...(14)

其中t′n是经平滑的残留二维平移路径,tn是原始残留二维平移路径,且δtn(x′2)是帧n中从中间行到x′2行的帧内残留二维平移。对于x′t而言,对三维旋转补偿进行反转以取得原始图像中对应的坐标,这是对三维坐标而非图像平面中的二维坐标执行的,如以下方程式(15)中一样:

其中r′n是经平滑的三维旋转路径,rn是原始三维旋转路径,且δrn(x′2)是帧n中从中间行到x′2行的帧内旋转。对以上方程式(14)与方程式(15)进行组合,可如以下方程式(16)中一样对进行确定:

原始图像中的最终二维坐标x可通过如在以下方程式(17)中一样确定齐次坐标的对应的二维欧几里得坐标来获得:

图4示出根据一个实施例的五维视频稳定化的方法的流程图。在401处,三维旋转估计器(例如,三维旋转估计器201)接收由陀螺仪测量的角速度且使用所述角速度来估计相机的三维旋转并确定累积原始三维旋转相机路径估计值及帧内三维旋转估计值。

在403处,三维旋转平滑器(例如,三维旋转平滑器203)对所接收的原始三维旋转相机路径进行平滑并确定经平滑的三维旋转相机路径。

在405处,特征匹配器(例如,特征匹配器205)接收图像序列并确定特征对。

在407处,残留二维平移估计器(例如,残留二维平移估计器207)使用来自特征匹配器的两个连续图像中的特征对、对应的三维旋转原始相机路径、对应的三维旋转经平滑的相机路径及从三维旋转估计器201估计得到的对应的帧内三维旋转来估计残留二维平移并确定原始二维平移路径估计值及帧内残留二维平移估计值。

在409处,残留二维平移平滑器(例如,残留二维平移平滑器209)从残留二维平移估计器接收原始二维平移路径并产生二维经平滑的平移路径。

在411处,畸变计算器(例如,畸变计算器211)对三维旋转估计器的原始三维旋转相机路径、三维旋转平滑器的经平滑的三维旋转相机路径、残留二维平移估计器的原始二维平移路径、及残留二维平移平滑器209的二维经平滑的平移路径进行组合以确定畸变网格。在实施例中,执行卷帘快门(rs)补偿,其中还使用帧内三维旋转及帧内残留二维平移来确定畸变网格。

在413处,五维畸变补偿器(例如,五维畸变补偿器213)接收由畸变计算器确定的畸变网格,在第二输入处接收图像序列,并使用畸变网格来补偿图像序列中的畸变。

在图2所示装置中,使用分布在整个场景中的k个特征对在以上方程式(10)中计算平均帧间二维平移。在一个实施例中,对整个场景执行全局三维旋转补偿且对所述场景中的某些区(例如,显著区)选择性地补偿残留二维平移。举例来说,为补偿二维平移,着重于视频中的一些区。因此,代替在以上方程式(10)中对残留二维平移进行全局估计,在以下方程式(18)中估计每一类别i的平均帧间残留二维平移:

其中ωi是属于第i区的特征对的集合,且|ωi|是ωi中特征对的数目。因此,以上方程式(11)中的原始二维路径tn、以上方程式(12)中的帧内平移δtn(y)、以及经平滑的二维路径t′n按照类别被计算为残留二维平移补偿可如以上方程式(13)中一样全局地执行或者,根据情景而定,仅使用所选择的目标区单独地执行。举例来说,由于物体移动,因此可存在两个区,其中一个物体类别包括一个人在骑自行车。另一物体类别可包括两个人一起步行。由于这两个区的二维平移是在相反的方向上,因此分开对这两个区进行补偿。以下参照图5更详细地阐述用于选择性地补偿单独的区的装置。

图5示出根据一个实施例的五维视频稳定化系统的另一个方块图。五维视频稳定化系统500包括三维旋转估计器501、三维旋转平滑器503、特征匹配器505、区探测器507、残留二维平移估计器509、残留二维平移平滑器511、畸变计算器513及五维畸变补偿器515。区探测器507只是必须知晓感兴趣的区,其中在所述感兴趣的区中,对用于残留二维平移估计的运动向量取平均值。区探测器507可为物体探测器(例如,面探测器(facedetector)),但还可基于自动聚焦区块,所述自动聚焦区块不同于物体探测器。在实施例中,可从自动聚焦区块获得感兴趣的区。

三维旋转估计器501包括输入517、第一输出519及第二输出523。三维旋转估计器501在输入517处接收由陀螺仪测量的角速度且使用所述角速度来估计相机的帧间三维旋转及帧内三维旋转,并在第一输出519处输出累积原始三维旋转相机路径,且在第二输出523处输出帧内三维旋转。

三维旋转平滑器503包括输入及输出521,所述输入连接到三维旋转估计器501的第一输出519。三维旋转平滑器503对从三维旋转估计器501的输出519接收到的三维原始旋转相机路径进行平滑并在输出523处输出经平滑的三维旋转相机路径。

特征匹配器505包括第一输入525、第二输入527及输出529,第一输入525接收图像序列,第二输入527接收感兴趣的区,输出529提供所接收到的感兴趣的区的特征对。特征匹配器505识别属于每一个感兴趣的区的特征对。

区探测器507包括输入及输出527,所述输入连接到特征匹配器505的第一输入525以接收图像序列,输出527提供在图像序列中探测到的感兴趣的区。区探测器507可用于区分图像中的各种信息(例如,不同的物体、锐度不同的区)。区探测器507对图像序列中的区进行探测且将关于所述区的信息传递到特征匹配器505及畸变计算器513。

残留二维平移估计器509包括第一输入、第二输入、第三输入、第四输入、及输出531以及第二输出533,所述第一输入连接到三维旋转估计器501的第一输出519,所述第二输入连接到三维旋转估计器501的第二输出523,所述第三输入连接到三维旋转平滑器503的输出521,所述第四输入连接到特征匹配器505的输出529,输出531提供残留二维平移的估计值(即,原始二维平移路径),且第二输出533针对每一个所接收的感兴趣的区提供帧内残留二维平移。残留二维平移估计器509接收针对从特征匹配器505接收到的每一个感兴趣的区的来自特征匹配器505的输出529的两个连续图像中的特征对、来自三维旋转估计器501的第一输出519的原始三维旋转相机路径、来自三维旋转估计器501的第二输出523的帧内三维旋转以及来自三维旋转平滑器503的输出521的经平滑的三维旋转相机路径,以估计所接收的感兴趣的区的残留二维平移。残留二维平移估计器509的第一输出531是原始二维平移路径。残留二维平移估计器509的第二输出533是帧内残留二维平移估计值。

残留二维平移平滑器511具有输入及输出535,所述输入连接到残留二维平移估计器509的第一输出531,输出535提供经平滑的二维平移路径。残留二维平移平滑器511通过对从残留二维平移估计器509接收的对应的原始二维平移路径进行平滑来产生二维经平滑的平移路径。

畸变计算器513包括第一输入、第二输入、第三输入、第四输入、第五输入、第六输入、第七输入及输出537,所述第一输入连接到三维旋转估计器501的第一输出519,所述第二输入连接到三维旋转估计器501的第二输出523,所述第三输入连接到三维旋转平滑器503的输出521,所述第四输入连接到残留二维平移估计器509的第一输出531,所述第五输入连接到残留二维平移估计器509的第二输出533,所述第六输入连接到残留二维平移平滑器511的输出535,所述第七输入连接到区探测器507的输出527,输出537提供畸变网格。畸变计算器513对来自三维旋转估计器501的第一输出519的原始三维旋转相机路径、来自三维旋转估计器501的第二输出523的帧内三维旋转、来自三维旋转平滑器503的输出521的经平滑的三维旋转相机路径、来自残留二维平移估计器509的第一输出531的原始二维平移路径、来自残留二维平移估计器509的第二输出533的帧内残留二维平移、来自残留二维平移平滑器511的输出535的经平滑的二维平移路径及由区探测器507探测到的区进行组合以确定畸变网格。使用帧内三维旋转及帧内残留二维平移来确定畸变网格以补偿rs。畸变计算器513基于对应的像素属于哪一个区来执行残留二维平移补偿。

五维畸变补偿器515包括第一输入、第二输入及输出539,所述第一输入连接到畸变计算器513的输出537,所述第二输入连接到特征匹配器505的输入525。五维畸变补偿器515接收由畸变计算器513确定的畸变网格且在第二输入处接收图像序列,并使用畸变网格来补偿图像序列中的畸变。

图6示出根据一个实施例的网络环境中的电子器件的方块图。网络环境600中的电子器件601可通过第一网络698(例如,短距离无线通信网络)来与电子器件602进行通信,或者通过第二网络699(例如,长距离无线通信网络)来与电子器件604或服务器608进行通信。根据一个实施例,电子器件601可通过服务器608来与电子器件604进行通信。电子器件601可包括处理器620、存储器630、输入器件650、声音输出器件655、显示器件660、音频模块670、传感器模块676、接口677、触感模块(hapticmodule)679、相机模块680、电源管理模块688、电池689、通信模块690、用户识别模块(subscriberidentificationmodule,sim)696或天线模块697。在一个实施例中,可从电子器件601省略这些组件中的至少一者(例如,显示器件660或相机模块680),或者可向电子器件601添加一个或多个其他组件。在一个实施例中,所述组件中的一些组件可被实施为单个集成电路(integratedcircuit,ic)。举例来说,传感器模块676(例如,指纹传感器(fingerprintsensor)、虹膜传感器(irissensor)或亮度传感器(illuminancesensor))可嵌入在显示器件660(例如,显示器)中。

处理器620可执行例如软件(例如,程序640)以控制与处理器620耦合的电子器件601的至少一个其他组件(例如,硬件组件或软件组件),且可执行各种数据处理或计算。根据一个实施例,作为数据处理或计算的至少一部分,处理器620可在易失性存储器632中加载从另一个组件(例如,传感器模块676或通信模块690)接收的命令或数据,处理存储在易失性存储器632中的命令或数据,以及将所得数据存储在非易失性存储器634中。根据一个实施例,处理器620可包括主处理器621(例如,中央处理器(centralprocessingunit,cpu)或应用处理器(applicationprocessor,ap))以及能够独立于主处理器621运行或与主处理器621结合运行的辅助处理器623(例如,图形处理单元(graphicsprocessingunit,gpu)、图像信号处理器(imagesignalprocessor,isp)、传感器集线器处理器(sensorhubprocessor)或通信处理器(communicationprocessor,cp))。另外地或作为另外一种选择,辅助处理器623可适以消耗比主处理器621少的功率,或者执行特定功能。辅助处理器623可与主处理器621分开实施或者作为主处理器621的一部分实施。

当主处理器621处于非现用(inactive)(例如,睡眠)状态时,辅助处理器623可替代主处理器621来控制与电子器件601的组件中的至少一个组件(例如,显示器件660、传感器模块676或通信模块690)相关的功能或状态中的至少一些功能或状态;或者当主处理器621处于现用状态(例如,正在执行应用时),辅助处理器623可与主处理器621一起控制上述功能或状态中的至少一些功能或状态。根据一个实施例,辅助处理器623(例如,图像信号处理器或通信处理器)可被实施为在功能上与辅助处理器623相关的另一个组件(例如,相机模块680或通信模块690)的一部分。

存储器630可存储由电子器件601的至少一个组件(例如,处理器620或传感器模块676)使用的各种数据。所述各种数据可包括例如软件(例如,程序640)以及用于与软件相关的命令的输入数据或输出数据。存储器630可包括易失性存储器632或非易失性存储器634。

程序640可作为软件存储在存储器630中且可包括例如操作系统(operatingsystem,os)642、中间件(middleware)644或应用646。

输入器件650可从电子器件601的外部(例如,用户)接收将由电子器件601的其他组件(例如,处理器620)使用的命令或数据。输入器件650可包括例如麦克风、鼠标或键盘。

声音输出器件655可将声音信号输出到电子器件601的外部。声音输出器件655可包括例如扬声器或接收器。扬声器可用于一般用途(例如,播放多媒体或录音),且接收器可用于接收传入呼叫。根据一个实施例,接收器可与扬声器分开实施或作为扬声器的一部分实施。

显示器件660可向电子器件601的外部(例如,用户)以视觉方式提供信息。显示器件660可包括例如显示器、全息图器件(hologramdevice)或投影仪以及用于控制显示器、全息图器件及投影仪中的对应一者的控制电路。根据一个实施例,显示器件660可包括适以探测触摸的触摸电路、或适以测量由触摸引发的力的强度的传感器电路(例如,压力传感器)。

音频模块670可将声音转换成电信号以及将电信号转换成声音。根据一个实施例,音频模块670可通过输入器件650获得声音,或者通过声音输出器件655或通过与电子器件601直接地(例如,以有线方式)耦合或无线耦合的外部电子器件(例如,电子器件602)的头戴耳机来输出声音。

传感器模块676可探测电子器件601的运行状态(例如,功率或温度)或者电子器件601外部的环境状态(例如,用户状态),且接着产生与所探测的状态对应的电信号或数据值。根据一个实施例,传感器模块676可包括例如手势传感器(gesturesensor)、陀螺仪传感器(gyrosensor)、大气压传感器(atmosphericpressuresensor)、磁性传感器(magneticsensor)、加速度传感器(accelerationsensor)、握持传感器(gripsensor)、接近传感器(proximitysensor)、颜色传感器(colorsensor)、红外(infrared,ir)传感器、生物特征传感器(biometricsensor)、温度传感器(temperaturesensor)、湿度传感器(humiditysensor)或亮度传感器。

接口677可支持为将电子器件601直接地(例如,以有线方式)或无线地与外部电子器件(例如,电子器件602)耦合而使用的一种或多种规定协议。根据一个实施例,接口677可包括例如高清晰度多媒体接口(highdefinitionmultimediainterface,hdmi)、通用串行总线(universalserialbus,usb)接口、安全数字(securedigital,sd)卡接口或音频接口。

连接端子678可包括连接件,电子器件601可通过连接件与外部电子器件(例如,电子器件602)实体连接。根据一个实施例,连接端子678可包括例如hdmi连接件、usb连接件、sd卡连接件或音频连接件(例如,头戴耳机连接件)。

触感模块679可将电信号转换成机械刺激(例如,震动或移动)或者可由用户通过触觉(tactilesensation)或动觉(kinestheticsensation)识别的电刺激。根据一个实施例,触感模块679可包括例如电动机、压电式元件(piezoelectricelement)或电刺激器(electricalstimulator)。

相机模块680可拍摄静止图像或移动图像。根据一个实施例,相机模块680可包括一个或多个镜头、图像传感器、图像信号处理器或闪光灯。

电源管理模块688可管理向电子器件601供应的电力。根据一个实施例,电源管理模块688可被实施为例如电源管理集成电路(powermanagementintegratedcircuit,pmic)的至少一部分。

电池689可向电子器件601的至少一个组件供电。根据一个实施例,电池689可包括例如不可再充电的一次电池(primarycell)、可再充电的二次电池(secondarycell)或燃料电池(fuelcell)。

通信模块690可支持在电子器件601与外部电子器件(例如,电子器件602、电子器件604或服务器608)之间建立直接的(例如,有线的)通信信道或无线的通信信道以及通过所建立的通信信道执行通信。通信模块690可包括可独立于处理器620(例如,ap)运行的一个或多个通信处理器并支持直接的(例如,有线的)通信或无线的通信。根据一个实施例,通信模块690可包括无线通信模块692(例如,蜂窝通信模块、短距离无线通信模块或全球导航卫星系统(globalnavigationsatellitesystem,gnss)通信模块)或有线通信模块694(例如,局域网(localareanetwork,lan)通信模块或电力线通信(powerlinecommunication,plc)模块)。这些通信模块中对应的一个通信模块可通过第一网络698(例如,短距离通信网络,例如蓝牙tm、无线保真(wireless-fidelity,wi-fi)直接或红外数据协会(infrareddataassociation,irda)标准)或第二网络699(例如,长距离通信网络,例如蜂窝网络、互联网或计算机网络(例如,lan或广域网(wideareanetwork,wan)))与外部电子器件进行通信。这些各种类型的通信模块可被实施为单个组件(例如,单个集成电路)或者可被实施为彼此分开的多个组件(例如,多个集成电路)。无线通信模块692可使用存储在用户识别模块696中的用户信息(例如,国际移动用户识别码(internationalmobilesubscriberidentity,imsi))来识别及认证通信网络(例如,第一网络698或第二网络699)中的电子器件601。

天线模块697可将信号或电力传送到电子器件601外部(例如,外部电子器件)或者从电子器件601外部接收信号或电力。根据一个实施例,天线模块697可包括一个或多个天线,且举例来说通信模块690(例如,无线通信模块692)可从所述一个或多个天线中选择适用于在通信网络(例如,第一网络698或第二网络699)中使用的通信方案的至少一个天线。然后可通过所选择的至少一个天线在通信模块690与外部电子器件之间传送或接收信号或电力。

上述组件中的至少一些组件可人工进行耦合且所述至少一些组件之间可通过外围间通信方案(inter-peripheralcommunicationscheme)(例如,总线、通用输入及输出(generalpurposeinputandoutput,gpio)、串行外围接口(serialperipheralinterface,spi)或移动产业处理器接口(mobileindustryprocessorinterface,mipi))传送信号(例如,命令或数据)。

根据一个实施例,可通过与第二网络699进行耦合的服务器608在电子器件601与外部电子器件604之间传送或接收命令或数据。电子器件602及电子器件604中的每一者可为与电子器件601为相同类型或不同类型的器件。根据一个实施例,将在电子器件601处执行的所有操作或一些操作可在外部电子器件602、外部电子器件604或外部电子器件608中的一者或多者处执行。举例来说,如果电子器件601原本应自动地或响应于来自用户或另一个器件的请求而执行功能或服务,则替代执行所述功能或服务或者除了执行所述功能或服务之外,电子器件601还可请求所述一个或多个外部电子器件执行所述功能或服务的至少一部分。接收到所述请求的所述一个或多个外部电子器件可执行所请求的功能或服务的所述至少一部分,或者执行与所述请求相关的其他功能或其他服务,并将所述执行的结果传输到电子器件601。电子器件601可在对结果进行进一步处理或不进行进一步处理的情况下提供所述结果作为对请求的回复的至少一部分。为此,举例来说,可使用云计算、分布式计算或客户机-服务器计算技术。

一个实施例可被实施为包括存储在可由机器(例如,电子器件601)读取的存储介质(例如,内部存储器636或外部存储器638)中的一个或多个指令的软件(例如,程序640)。举例来说,机器(例如,电子器件601)的处理器(例如,处理器620)可在使用或不使用受处理器控制的一个或多个其他组件的条件下调用存储在存储介质中的所述一个或多个指令中的至少一个指令,并执行所述至少一个指令。因此,可操作机器根据所调用的所述至少一个指令来执行至少一种功能。所述一个或多个指令可包括由编译器产生的代码或者可由解释器执行的代码。机器可读存储介质可设置成非暂时性存储介质形式。用语“非暂时性”表示存储介质是有形器件,且不包括信号(例如,电磁波),但此用语并不区分数据以半永久方式存储在存储介质中的情形与数据临时存储在存储介质中的情形。

图7示出根据一个实施例的相机模块的方块图。相机模块700可包括镜头总成710、闪光灯720、图像传感器730、图像稳定器(imagestabilizer)740、存储器750(例如,缓冲存储器)或图像信号处理器760。镜头总成710可收集从要被拍摄图像的物体发出或反射的光。镜头总成710可包括一个或多个镜头。根据一个实施例,相机模块700可包括多个镜头总成710。在这种情形中,相机模块700可形成例如双摄相机(dualcamera)、360度相机(360-degreecamera)或球形相机(sphericalcamera)。所述多个镜头总成710中的一些镜头总成710可具有相同的镜头属性(例如,视角、焦距、自动聚焦、f数(fnumber)或光学变焦(opticalzoom)),或者至少一个镜头总成可具有与另一镜头总成的属性不同的一个或多个镜头属性。镜头总成710可包括例如广角镜头(wide-anglelens)或摄远镜头(telephotolens)。

闪光灯720可发出光来加强从物体反射的光。根据一个实施例,闪光灯720可包括一个或多个发光二极管(lightemittingdiode,led)(例如,红绿蓝(red-green-blue,rgb)led、白色led、红外(ir)led或紫外(ultraviolet,uv)led)或氙气灯(xenonlamp)。图像传感器730可通过将从物体发出或反射并通过镜头总成710透射的光转换成电信号来获得与物体对应的图像。根据一个实施例,图像传感器730可选自具有不同属性的图像传感器,例如rgb传感器、黑白(black-and-white,bw)传感器、ir传感器或uv传感器、具有相同属性的多个图像传感器或具有不同属性的多个图像传感器。包括在图像传感器730中的每一个图像传感器可使用例如电荷耦合器件(chargedcoupleddevice,ccd)传感器或互补金属氧化物半导体(complementarymetaloxidesemiconductor,cmos)传感器来实施。

图像稳定器740可在特定方向上移动图像传感器730或移动镜头总成710中包括的至少一个镜头,或者响应于相机模块700的移动或包括相机模块700的电子器件601的移动来控制图像传感器730的操作属性(例如,调整读出时序)。这使得能够补偿因所述移动而对正被拍摄的图像造成的至少部分负面影响(例如,图像模糊)。根据一个实施例,图像稳定器740可使用设置在相机模块700内部或外部的陀螺仪传感器或加速度传感器来感测相机模块700或电子器件601的这种移动。根据一个实施例,图像稳定器740可被实施为例如光学图像稳定器。

存储器750可至少临时地存储通过图像传感器730获得的图像的至少一部分以用于后续图像处理任务。举例来说,如果由于快门滞后(shutterlag)而导致图像拍摄延迟或如果快速拍摄多个图像,则可将获得的原始图像(例如,拜耳图案图像(bayer-patternedimage)、高分辨率图像)存储在存储器750中,且可通过显示器件660来预览原始图像的对应的副本图像(例如,低分辨率图像)。之后,如果满足规定条件(例如,用户的输入或系统命令满足所述规定条件),则图像信号处理器760可例如获得及处理存储在存储器750中的原始图像的至少一部分。根据一个实施例,存储器750可被配置成存储器630的至少一部分或者被配置成独立于存储器630运行的单独存储器。

图像信号处理器760可对通过图像传感器730获得的图像或存储在存储器750中的图像执行一种或多种图像处理。所述一种或多种图像处理可包括例如深度图生成(depthmapgeneration)、三维(3d)建模、全景生成(panoramageneration)、特征点提取、图像合成或图像补偿(例如,降噪、分辨率调整、明度调整、模糊、锐化或软化)。另外地或作为另外一种选择,图像信号处理器760可对相机模块700中所包括的组件中的至少一个组件(例如,图像传感器730)执行控制(例如,曝光时间控制或读出时序控制)。由图像信号处理器760处理的图像可存储在存储器750中以用于进一步处理,或者可被提供到位于相机模块700外部的外部组件(例如,存储器630、显示器件660、电子器件602、电子器件604或服务器608)。根据一个实施例,图像信号处理器760可被配置成处理器620的至少一部分,或者被配置成独立于处理器620运行的单独处理器。如果图像信号处理器760被配置成与处理器620分开的单独处理器,则处理器620可通过显示器件660来原样显示由图像信号处理器760处理的至少一个图像或者在对所述至少一个图像进行进一步处理之后加以显示。

根据一个实施例,电子器件601可包括具有不同的属性或功能的多个相机模块700。在这种情形中,所述多个相机模块700中的至少一个相机模块700可形成例如广角相机且所述多个相机模块700中的至少另一个相机模块700可形成摄远相机。相似地,所述多个相机模块700中的至少一个相机模块700可形成例如前置相机且所述多个相机模块700中的至少另一个相机模块700可形成后置相机。

图8示出根据一个实施例的计算机程序的方块图。程序840可包括用于控制电子器件(例如,601)的一种或多种资源的os842、中间件844或可在os842中执行的应用846。os842可包括例如苹果操作系统或八达tm(badatm)。举例来说,程序840的至少一部分可在制造期间预加载在电子器件上,或者可在用户使用期间从外部电子器件(例如,电子器件602或604、或者服务器608)下载或由外部电子器件更新。

os842可控制对电子器件601的一种或多种系统资源(例如,进程、存储器或电源)的管理(例如,分配或解除分配)。另外地或作为另外一种选择,os842可包括一个或多个驱动器程序以驱动电子器件601的其他硬件器件(例如,输入器件650、声音输出器件655、显示器件660、音频模块670、传感器模块676、接口677、触感模块679、相机模块680、电源管理模块688、电池689、通信模块690、用户识别模块696或天线模块697)。

中间件844可向应用846提供各种功能以使应用846可使用从电子器件601的一种或多种资源提供的功能或信息。中间件844可包括例如应用管理器801、视窗管理器803、多媒体管理器805、资源管理器807、电源管理器809、数据库管理器811、数据包管理器813、连接性管理器815、通知管理器817、位置管理器819、图形管理器821、安全管理器823、电话管理器825或语音识别管理器827。

应用管理器801举例来说可管理应用846的寿命循环。视窗管理器803举例来说可管理在屏幕上使用的一种或多种图形用户接口(graphicaluserinterface,gui)资源。多媒体管理器805举例来说可识别将用于播放媒体文件的一种或多种格式,且可使用适用于从所述一种或多种格式选出的对应一种格式的编解码器来对媒体文件中的对应一者进行编码或解码。资源管理器807举例来说可管理应用846的源代码或存储器830的存储器空间。电源管理器809举例来说可管理电池689的容量、温度或电力,且至少部分地基于电池689的容量、温度或电力的对应信息来确定或提供将用于电子器件601的操作的相关信息。根据一个实施例,电源管理器809可与电子器件601的基本输入/输出系统(basicinput/outputsystem,bios)交互操作。

数据库管理器811举例来说可产生、搜索或改变将由应用846使用的数据库。数据包管理器813举例来说可管理以数据包文件形式分发的应用的安装或更新。连接性管理器815举例来说可管理电子器件601与外部电子器件之间的无线连接或直接连接。通知管理器817举例来说可提供将规定事件(例如,传入呼叫、消息或警告)的出现通知给用户的功能。位置管理器819举例来说可管理电子器件601的位置信息。图形管理器821举例来说可管理将向用户提供的一种或多种图形效果或者与所述一种或多种图形效果相关的用户界面。

安全管理器823举例来说可提供系统安全或用户认证。电话管理器825举例来说可管理由电子器件601提供的语音呼叫功能或视频呼叫功能。语音识别管理器827举例来说可将用户的语音数据传送到服务器608、并从服务器608接收与将至少部分地基于所述语音数据对电子器件601执行的功能对应的命令、或者接收至少部分地基于所述语音数据转换而来的文本数据。根据一个实施例,中间件844可动态地删除一些现有组件或添加新组件。根据一个实施例,中间件844的至少一部分可被包括为os842的一部分或者可在与os842分开的其他软件中实施。

应用846可包括例如主页应用(homeapplication)851、拨号器应用(dialerapplication)853、短消息服务(shortmessageservice,sms)/多媒体消息传送服务(multimediamessagingservice,mms)应用855、即时消息(instantmessage,im)应用857、浏览器应用859、相机应用861、告警应用863、联系人应用(contactapplication)865、语音识别应用867、电子邮件应用869、日历应用871、媒体播放器应用873、相册应用875、手表应用877、健康应用879(例如,用于测量锻练程度或生物特征信息(例如,血糖))或环境信息应用881(例如,用于测量气压、湿度或温度信息)。根据一个实施例,应用846还可包括能够支持电子器件601与外部电子器件之间的信息交换的信息交换应用。信息交换应用举例来说可包括适以向外部电子器件传输指定信息(例如,呼叫、消息或警告)的通知中继应用、或者包括适以管理外部电子器件的器件管理应用。通知中继应用可向外部电子器件传输与在电子器件601的另一应用(例如,电子邮件应用869)处出现规定事件(例如,电子邮件接收)对应的通知信息。另外地或作为另外一种选择,通知中继应用可从外部电子器件接收通知信息并将通知信息提供到电子器件601的用户。

器件管理应用可控制外部电子器件或外部电子器件的一些组件(例如,外部电子器件的显示器件或相机模块)的电源(例如,接通或关断)或功能(例如,亮度、分辨率或焦距的调整)。另外地或作为另外一种选择,器件管理应用可支持在外部电子器件上运行的应用的安装、删除或更新。

尽管已在本公开的详细说明中阐述了本公开的某些实施例,然而在不背离本公开的范围的条件下可以各种形式来对本公开进行修改。因此,本公开的范围不应仅基于所阐述的实施例来确定,而是应基于随附权利要求书及其等效形式来确定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1