增强的图像捕获的制作方法

文档序号:11852716阅读:176来源:国知局
增强的图像捕获的制作方法与工艺
本申请要求2014年5月21日提交的美国临时专利申请62/001,327的优先权,其全部内容通过引用合并于此。本申请涉及与本文同日提交的美国专利申请(Motorola案卷号CS42701、CS42702、CS42703、CS42704、以及CS42741)。
技术领域
本公开普遍地涉及静态图像和视频捕获,且更具体地,涉及数字图像处理。
背景技术
:平均来说,人们由于不满意,丢弃大量他们拍摄的照片。在很多情况下,这是由于主对象在眨眼、移动(即,太模糊)、或在图像捕获的时刻没有微笑。在另外的情况中,摄影师在捕获时刻无意地移动了图像捕获设备(例如,由于不稳定的手或者由于设备的无意识旋转)。一些图片被丢弃是因为图像捕获设置不合适(例如,设置不适应微光情景)。附图说明尽管附加权利要求具体地提出本技术的特征,这些技术与他们的对象和优点一起,可以通过下述详细描述结合附图被最好地理解,其中:图1A是本技术可以在其中被实践的典型环境的概况;图1B是支持本技术中的某些的典型网络的概况;图2是用于选择和呈现“最优的”所捕获的静态图像的典型方法的流程图;图3是用于捕获“感兴趣的”视频的典型方法的流程图;图4是用于选择“最优的”所捕获的静态图像和用于捕获“感兴趣的”视频的典型方法的流程图;图5是用于辅助图像捕获设备的远程服务器的典型方法的流程图;图6是用于通知用户“更优的”静态图像或“感兴趣的”视频可用的典型方法的流程图;图7是用于在所捕获的图像中检测水平线且随后使用所检测的水平线的典型方法的流程图;以及图8是示出典型图像捕获设备或服务器的各种组件的图。具体实施方式转至附图,其中相同的参考标号指的是相同的元素,本公开的技术被图示为在合适的环境中被实现。下面的描述是基于权利要求的实施例,且考虑到未在本文中明确描述的替选的实施例,不应被理解为限制权利要求。发明人相信摄影师除了得到可能的最优照片之外,想要多于一张照片以捕获该瞬间,且在一些情况中,想要与静态图片相关联的几秒钟的视频。这随后可以在无需摄影师花费时间在静态捕获模式和视频捕获模式之间切换的情况下被完成。本公开的技术的方面提供了在捕获命令被接收(例如,在“快门”按钮被按下时)的瞬间的几秒钟内拍摄的“最优的”图片。同样,在相同的时刻附近捕获若干秒的视频,且对摄影师可获取。更特别地,在一些实施例中,多个静态的图像自动地(即,在没有用户输入的情况下)被捕获。对这些图像进行比较以寻找“最优的”图片,所述“最优的”图片被呈现给摄影师供考虑。视频也被自动地捕获并被分析,以判定在捕获命令的时刻附近是否存在动作场景或者其他的运动内容。如果分析揭露感兴趣的事情,随后,视频剪辑被呈现给摄影师。视频剪辑可以被裁剪以匹配静态捕获场景,且移除暂时性的部分。在进一步的实施例中,通过增强曝光控制来提供更优的微光图像。可以基于运动分析来提供高精度的水平线检测。为了更详细的分析,首先转至图1A。在示例环境100中,摄影师102(在本讨论中有时也被称作“用户”)使用他的相机104以拍摄“场景”106的静态图像。在这个示例中,摄影师102想拍摄一张捕获了他的朋友108的快照。摄影师102实际上看到的视图被描绘为110,在图1A的下半部被放大。特殊地,当摄影师102按下“捕获”按钮时(由于历史的原因也被称为“快门”),相机104捕获图像,且将所捕获的图像显示在取景器显示器112中。到此为止,对曾经用智能电话或者用具有大的取景器显示器112的相机拍摄照片的任何一个人,这应该非常熟悉。然而,在图1A的示例中,相机104也向摄影师102显示“通知图标”114。尽管支持该图标114的详细的功能在下文被详尽地讨论,简而言之,图标114告诉摄影师102相机104认为它捕获到一张比在取景器显示器112中所显示的图像“更优的”静态图像,或者它已捕获摄影师102可能感兴趣的视频。图1B介绍网络116(例如,互联网)和远程服务器118。下文的讨论示出它们可以怎样被使用以扩展图1A的样本情景。图1B也视觉地证明“相机”104不需要实际上是专用的相机这一点:它可以是任意图像捕获设备,包括摄像机、平板计算机、智能电话等。为了清晰起见,本讨论中继续将图像捕获设备104称为“相机”。图2呈现了用于增强静态图像捕获的特定的技术的方法。在步骤200中,相机104捕获多个静态图像。例如,考虑摄影师102将相机104置于“取景器”模式。在这种模式下,相机的取景器112显示被相机104“看到的”图像。摄影师102可以明确地命令相机104进入该模式,或相机104能够在其确定该模式被期望时(例如,通过监视相机的当前位置和观察摄影师102的行为)自动进入该模式。在任何情况,相机104自动地(即,尽管仍然在取景器模式且不响应于来自摄影师102的明确命令)在几秒的时间段内捕获多个静态图像,例如每秒钟五张。这些所捕获的静态图像被相机104存储。在拍摄这么多图像的情况下,存储的储存器通常成为问题。在一些实施例中,图像被存储在循环缓冲器中(可选择的步骤202),所述循环缓冲器保存静态图像比如十秒钟。因为循环缓冲器的容量有限,缓冲器可以连续地被刷新,最新的图像替代缓冲器中最早的图像。因此,缓冲器存储多个所捕获的静态图像,时间范围从最新的图像到最老的,缓冲器中的图像的数量取决于缓冲器的大小。在一些实施例中,选择过程(见下文对步骤208的讨论)在保留在循环缓冲器中的图像集合中连续地被执行。不太好的图像(由下文讨论的技术判断)被丢弃,进一步在循环缓冲器中释放空间,且留下在过去比如三秒钟内所捕获的“最优的”图像。即使在这种情况中,与被丢弃的图像相关联的元数据仍被保留用于评估。注意在步骤200中图像的捕获速率可以是可被摄影师102配置的,或可以取决于对摄影师的先前的行为的分析,或甚至取决于对所捕获的图像本身的分析。例如,如果一个图像与另外一个的比较指示所捕获的场景中显著的移动量,随后相机104可能聚焦在运动事件,且这应该增加它的捕获速率。捕获速率也可以取决于对相机104可用的资源。因此,如果相机的电池电量低,则它可以降低捕获速率以节约能源。在极端的情况下,当资源紧缺时,自动捕获的技术可以被关闭。在步骤204(通常地,当相机104继续自动捕获静态图像时)处,摄影师102向相机104给出捕获命令。如前述,这可以由摄影师102按下相机104上的快门按钮造成。(通常,捕获命令可以是捕获一个静态图像的命令或捕获视频的命令。)(为了本讨论的目的,当相机104接收捕获命令时,其暂时退出取景器模式且进入“捕获”模式。一旦所请求的静态图像(或如下文所讨论的视频)被捕获,相机104通常重新进入取景器模式且继续按照步骤200自动捕获图像。与步骤200中的技术不同,传统的相机停留在取景器模式,而不是直至它们接收到捕获命令才捕获图像。它们随后捕获当前图像且存储它。然而,根据本技术动作的相机104即使当它依然在取景器模式时,也已经在捕获和存储图像(步骤200和202)。思考本技术的一个方法是认为步骤204的捕获命令根本不是命令,而是摄影师102给予相机104的指示,所述指示说明摄影师102对他在取景器显示器112中正在观看的某些东西感兴趣。相机104随后相应地动作(即,其根据图2的流程图的剩余部分进行)。步骤206在下文结合对步骤214的讨论被讨论。在步骤208中,相机104评估它已捕获的图像(其中可能包括略微早于或略微晚于捕获命令被接收时所捕获的图像)且选择“最优的”一个(或在一些实施例中,“最优的”若干个)。(在一些实施例中,该选择过程在被部分处理的、或“原始的”图像上执行)。在该分析过程中,很多不同的因素可以被考察。如前述,捕获命令可以被考虑为摄影师102对他看到的东西感兴趣的指示。因此,在捕获命令和具体的图像被捕获的时间之间的非常短的时间间隔意味着该具体的图像有可能是摄影师102想要记录的什么东西,且因此,该时间间隔是确定哪个图像是“最优的”的因素。各种实施例在决定所捕获的图像中哪个是“最优的”时使用不同的信息集合。除了与摄影师的捕获命令的时间接近度之外,一些实施例使用运动传感器数据(来自相机104上的加速率计、陀螺仪、取向或GPS接收器)(例如,当该图像被捕获的时候相机104是否正在移动?)、面部检测信息(面部检测、姿势、笑容和眨眼检测)(即,容易检测的面部通常导致好的快照)、像素-帧统计(例如,照度的统计:梯度平均,图像间差别),活动检测、来自相机104上其他传感器的数据、以及场景分析。有时可用的进一步的信息能够包括摄影师102声明的偏好、摄影师102的过去的行为(例如,该摄影师102倾向于保留有显著面部图像的图片)、以及隐私设置(例如,不要保留具有不在相机104的联系人列表中的人的显著的面部的照片)。同样通常可用的是相机104元数据和相机状态信息。所有这样的数据可以在相机104中产生且被存储为与所捕获的图像相关联的元数据。这些元数据也可以包括所捕获的图像的降低分辨率的版本,其可以被用于在所捕获的场景内的运动检测。运动检测提供用于“最优的”图片选择(和对所捕获的视频分析,见下文讨论)的信息,以及改善图像捕获体验的其他特征。例如,统计和运动检测结果也可以被曝光规程所使用以通过改变曝光参数和闪光灯来改善在微光下捕获的图像的质量。当在微光下存在运动且来自相机104的闪光灯可用时,闪光灯可以被控制,因此多个图像可以在正确的曝光下被捕获且随后被分析以选择最优曝光。无论所捕获的图像被怎样选择,最优图像都会在步骤210中被呈现给摄影师102。有多个可能方法以做到这个。很多实施例旨在从摄影师的视角完全“透明的”,即摄影师102简单地“按下(snap)”快门且被呈现所选择的最优图像,无论该图像是不是在快门命令时刻实际捕获的图像。再次考虑图1A的情形。当摄影师102按下快门按钮时(步骤204),取景器显示器112如图1A所示。清晰地,摄影师102想要他的朋友108的面部的图片。系统可以从比如一秒钟之前到捕获命令被接收的一秒钟之后,考察所捕获的图像,分析它们,并且接着选择最优的一个。此处,这可以是聚焦的、其中朋友108正眼睛睁开看着相机104等的图像。当摄影师102按下快门按钮时,最优图像被呈现给摄影师102,即使在按快门的确切时刻所捕获的图像并不是这么好。略微复杂些的用户界面向摄影师102呈现快门命令被接收时所捕获的图像(如传统的一样)且随后,如果该图像不是可用的最优的,向摄影师102呈现“更优的”图像可用的指示(图1A中的114)供摄影师考虑。再次考虑图1A中的情形,可能他的朋友108在捕获命令的时刻眨眼。该“眨眼的”图像被呈现给摄影师102,但指示114被点亮以示出另外的、可能更优的图像可用于供摄影师考察。用户界面上的其他变化是可能的。在给定情形中使用哪个的选择可以基于摄影师102做出的设置、基于对摄影师的过去行为的分析(例如,他是否是“快照游客”,或他是否表现得更像有经验的摄影师?)、且基于对所捕获的场景的分析。在可选择的步骤212中,如有必要,所选择的图像被进一步处理,且被复制到更永久的存储区域。在一些实施例中,与所捕获的图像相关联的元数据(可能包括摄影师102最后对图像做了什么)被发送(步骤214)到远程服务器设备(图1B的118)。远程服务器118的工作在下文关于图5被更详细地讨论,但是简要地,远程服务器118分析潜在地来自多个图像捕获设备104的信息,寻找趋势和“最优实践”。其随后封装其学习到的东西,且向相机104发送推荐(步骤206)。当相机104在步骤208中选择图像时,可以自由地使用这些推荐。图3呈现用于增强图像捕获的其他方法,这次用于视频图像。图3的方法可以独立于或结合于图2的方法被执行。在步骤300中,当相机104处于取景器模式时(即,如前文所述,当相机104未接收捕获视频的明确命令),相机104捕获视频。随着静态图片捕获,视频捕获的参数可以被改变以反映相机104上可用的资源(例如,电池、存储的储存器)。在一些实施例中,所捕获的视频在此时仅是“原始的”、未处理的图像的时间序列。(如有必要,这些原始图像可以随后被进一步处理:见下文对步骤312的讨论。)前述针对静态图像的储存器问题针对视频被加剧,因此,再一次,随着视频被捕获,循环缓冲器被推荐用于存储所述视频(步骤302)。最新的视频图像(也被称为“帧”)替代最老的视频图像,因此在任何时刻,循环缓冲器具有例如最新的二十秒的所捕获的视频。可选择地,捕获命令在步骤304中被接收。如前述,其不被看作实际命令,而是作为摄影师102给予相机104的指示,所述指示说明摄影师102对他在取景器显示器112中看到的一些东西感兴趣。无论捕获命令是否已被接收,所捕获的视频被连续地分析(步骤308)以判断它是否为“感兴趣的”。尽管摄影师102能够通过按下快门指示他的兴趣,除此之外(或替代于),其他的信息能够被使用,诸如活动检测、帧内和帧间运动以及面部检测。例如,活动的突然冲击(suddensurge)与清晰可辨认的面部的结合可以指示感兴趣的情形。随着静态图像捕获,摄影师102偏好、过去的行为、以及隐私设置等也能够被用于机器学习的场景以了解该摄影师102发现了什么感兴趣的东西。如果所捕获的视频的片段(segment)(也被称为“剪辑”(clip))已被发现潜在地感兴趣(例如,如果视频剪辑的“兴趣分数”超过设定阈值),随后在108,这被通知给摄影师102。摄影师102可以随后评估指示的视频剪辑以查看是否他也认为它是感兴趣的。如果是的,随后视频剪辑如有必要会被进一步处理(例如,通过应用视频压缩技术)且被复制到长期储存器(步骤312)。作为改进,感兴趣的视频剪辑的限制可以使用前述的相同的分析技术以及应用运动传感器数据而被确定。例如,剪辑的起始点可以被设置为略早于感兴趣的事情开始出现之前。同样正如静态图像实施例,元数据可以被发送到远程服务器118(步骤314)。基于被远程服务器118所执行的分析的推荐和改进的操作参数可以被接收(步骤308)且被用于步骤308的分析中。注意从前文描述中,在一些实施例和在一些情景中,相机104在不离开取景器模式的情况下捕获和呈现视频。即,相机104在完全不需要接收任何要求这么做的明确的命令的情况下查看场景、定界感兴趣的视频剪辑、并且将这些视频剪辑通知摄影师102。在其他的实施例中,这些视频捕获和分析技术可以明确地被摄影师102调用或禁用。如前文在图3的讨论的介绍中提及的,图2的静态图像捕获增强技术可以与图3的视频图像捕获增强技术合并。图4呈现伴随一些感兴趣的改进的这样的合并。再次考虑图1的情形。相机104在取景器模式,捕获静态图像(步骤400,如按照图2的步骤200)和视频(步骤408,如按照图3的步骤300)两者。在合适的条件下,系统呈现最优的所捕获的静态图像(步骤406)和感兴趣的视频(步骤410)两者以供摄影师考虑(可能使用步骤402的捕获命令的时刻以选择和分析所捕获的图像和帧)。即使静态图像和视频帧能够在同时被捕获,图4的改进将图像稳定技术应用到所捕获的视频但不应用到所捕获的静态图像(步骤412)。与任意已知的针对静态图像和视频两者做同样的处理的“妥协的”系统相比,这同时提供了更优的视频和更优的静态图像两者。在另一个改进中,最优静态图像的选择(步骤406)可以部分地取决于对视频的分析(步骤410)且反之亦然。考虑高运动的体育场景。因为视频能最优地示出动作,所有最好通过分析视频来确定最重要的场景。由此,最感兴趣的瞬间的时刻被确定。该确定可以改变最优静态图像的选择过程。因此,在当运动员踢出胜利的射门得分时的瞬间拍摄的静态图像可以被选择为最优图像,即使其他的因素可能需要被妥协(例如,在该图像中运动员的脸不清晰可见)。在其他方面,视频剪辑可以仅因为其包含极好的人脸视角而被确定为感兴趣的,即使此人在视频期间中没有作任何不寻常的事情。特殊地,所有在静态图像选择中所使用的元数据能够与所有在视频分析和定界中使用的元数据组合被使用。经组合的元数据集合能够随后被用于选择最优静态图像和确定视频剪辑是否是感兴趣的两者。图4的方法也能够包括在远程服务器118的使用(步骤404和414)中的改进。这些改进在下文参照图5被讨论。远程服务器118的操作的方法在图5中被图示。如前文所讨论,服务器118接收与静态图像选择相关联的元数据(步骤500;也见图2的步骤214和图4的步骤414)。相同的服务器118也可以接收与分析视频相关联的元数据以判定视频是否是感兴趣的(步骤504;也见图3的步骤314和图4的步骤414)。服务器118能够分别地分析这两个数据集合(步骤508)且向各种图像捕获设备104提供静态图像选择推荐(步骤510)和视频分析推荐(步骤510)。然而,在一些实施例中,远程服务器118可以做更多。首先,除分析元数据之外,如果图像捕获设备104使得该数据内容可以被远程服务器118获取(步骤502和506),则其可以进一步分析数据本身(即,实际捕获的静态图像和视频)。拥有元数据和所捕获的内容,服务器118能够执行与由图像捕获设备104它们自己在本地执行的相同类型的选择和分析(见图2的步骤208;图3的步骤308和310;和图4的步骤406和410)。不是简单地提供用于事后评审本地设备104的手段,服务器118能够将它自己的选择和兴趣分数与那些在本地生成的进行比较,且因此改进其技术以更优地匹配在图像捕获设备104的通常群体(generalpopulation)中的那些。进一步地,图像捕获设备104能够告诉远程服务器118摄影师102刚刚对所选择的静态图像和认为感兴趣的视频剪辑做了什么(步骤502和506)。再次,服务器118能够以此来进一步提高它的推荐模型。例如,如果摄影师102经常频繁地丢弃被前述技术所选择为最优的静态图像,则显然这样的技术需要被改善。服务器118可以能够将实际被摄影师102保留的图像和被系统所选择的图像进行比较,且通过对大量群体集合进行分析,来更好地学习怎样选择“最优的”图像。更进一步地,远程服务器118能够将静态图像选择元数据(且,如果可用,静态图像本身和摄影师对静态图像的最终处置)与视频分析元数据(以及,如果可用,视频剪辑本身与摄影师对所捕获的视频的最终处置)一起进行分析。这与前述关于图4讨论的交叉授粉(cross-pollination)概念类似:即,通过组合对静态图像和视频的分析,服务器118能够进一步改善其针对选择静态图像和针对分析视频剪辑两者的推荐。此处可用的特定的方法论从模式分析和机器学习
技术领域
中易知。总之,如果远程服务器118被给予对与多个图像捕获设备104的选择和分析有关的信息的访问,则通过处理该信息,服务器118能够一般地、或者定制于特定的摄影师102和情景来提供更优的推荐。图6呈现用于可应用于当前讨论的技术的用户界面的方法。用户界面功能中的多数已在前面被讨论,因此只有几点在此处被详细讨论。在步骤600中,相机104可选择地进入取景器模式,其中相机104显示它在取景器显示器112中看到的内容。如前文参考图2提到的,摄影师102可以明确地命令相机104进入该模式,或相机104能够在当它确定该模式被期望的时候自动地进入该模式。在步骤602的第一实施例中,摄影师102按下快门键(即,向相机104提交图像捕获命令),相机104瞬间地进入图像捕获模式,在取景器显示器112中显示所捕获的图像,且随后重新进入取景器模式。在第二实施例中,摄影师将相机104置于另一个模式(例如,“相册”模式),其中相机104显示已经捕获的图像,包括自动捕获的图像。如前文所讨论,所显示的图像可以是直接响应于图像捕获命令而捕获的图像,也可以是被上述技术所选择的“更优的”图像。如果存在比所显示的图像更优的所捕获的图像,则这被通知给摄影师102(步骤604)。通知可以是视觉的(例如,通过图1A的图标114)、听觉的或者甚至是触觉的。在一些情况中,通知是更优的图像它本身的小的版本。如果摄影师102点击该小的版本,则在取景器显示器112中呈现完全的图像以供他考虑。当相机104在相册模式时,通过以某种方式突出显示它们,摄影师102能够被通知哪个图像是“更优的”,例如通过以明显的边界环绕它们或者首先示出它们。同时,如果前述技术捕获了被认为感兴趣的视频剪辑,可以发布不同的用户通知。再一次,多个类型的通知是可能的,包括来自视频的小的静态(或甚至是视频本身的呈现)。其他的用户界面是可能的。尽管前述用于选择静态图像和用于分析视频剪辑的技术相当复杂,但它们允许非常简单的用户界面,在一些情况中,界面对摄影师102完全透明(例如,当摄影师102按下快门按钮时,仅示出最优的所捕获的静态图像)。更复杂的用户界面适合于更有经验的摄影师102。图7呈现能够与任意前述技术一起使用的改进。第一图像(静态图像或视频的帧)在步骤700中被捕获。可选择地,附加的图像在步骤702中被捕获。在步骤704中,第一图像被分析(例如,寻找水平或竖直线)。同时,来自相机104的运动传感器数据被分析以尝试确定第一图像中的水平线。一旦水平线已被检测到,它可以被用作在选择其他图像时的输入,所述其他图像在接近于第一图像的时刻被捕获。例如,所检测的水平线可以表明当图像被捕获时相机104以怎样的水平被持有,且这可以是确定该图像是否优于另一个的因素。另外,当后期处理图像以针对无意识旋转将其旋转到水平或以其它方式调整它们时,所检测的水平线可以被使用。图8示出典型相机104或服务器118的主要组件。例如,相机104可以是智能电话、平板计算机、个人计算机、电子书或专用相机。服务器118可以是个人计算机、计算服务器、或计算服务器的协同组。相机104或服务器118的中央处理单元(“CPU”)800包括一个或多个处理器(即,微处理器、控制器等中的任何一个)或处理器和存储器系统,其处理计算机可执行指令以控制设备104、118的操作。具体地,CPU800支持前文讨论的图1到图7中图示出的本公开的方面。可以利用连接于处理和控制电路被实现的软件、硬件、固件、和固定逻辑电路的组合来实现设备104、118,所述处理和控制电路通常在802处被识别。尽管未示出,设备104、118可以包括在设备104、118内耦合了不同的组件的系统总线或数据传递系统。系统总线可以包括不同的总线结构的任意组合,诸如存储器总线或存储器控制器、外围总线、通用串行总线、以及处理器或利用不各种总线体系结构中的任意一种的局部总线。相机104或服务器118也包括实现数据存储的一个或多个存储器设备804(包括参考图2至图4所描述的循环缓冲器),其示例包括随机存取存储器,非易失性存储器(例如,只读存储器、闪速存储器、可擦可编程只读存储器和电可擦可编程只读存储器)、和磁盘存储设备。磁盘存储设备可以被实现为任意类型的磁性或者光学存储设备,诸如硬盘驱动、可记录或可写入光盘(disc)、任意类型的数字通用光盘等。设备104、118也可以包括大型存储介质设备。存储器系统804提供存储设备数据812、其他类型的信息和数据、和各种设备应用810的数据存储机制。操作系统806可以在存储器804内作为软件指令被维持且被CPU800执行。设备应用810也可以包括设备管理器,例如任意形式的控制应用或软件应用。实用程序808可以包括信号处理和控制模块、对相机104或服务器118的特定组件为本地的代码、具体组件的硬件抽象层等。相机104或服务器118也可以包括处理音频数据且控制音频系统816(例如,其可以包括扬声器)的音频处理系统814。例如,视觉处理系统818处理图形命令和视觉数据且控制显示系统820,显示系统820可以包括显示屏幕112。音频系统816和显示系统820可以包括处理、显示或以其它方式渲染音频、视频、显示或图像数据的任意设备。经由被介质数据端口822表示的射频链路、S-video链路、高清晰多媒体接口(High-DefinitionMultimediaInterface)、复合视频链路、分量视频链路、数字视频接口、模拟音频连接、或其它类似的通信链路,可以将显示数据和音频信号通信到音频组件或显示组件。在一些实施方式中,音频系统816和显示系统820是在设备104、118外部的组件。替选地(例如,在蜂窝电话中),这些系统816、820是设备104、118的集成的组件。相机104或服务器118可以包括通信接口,所述通信接口包括实现有线或无线通信的通信收发器824。示例收发器824包括符合不同的电气和电子工程师协会(“IEEE”)802.15标准的无线个人域网络无线电、符合任意不同的IEEE802.11标准的无线局域网无线电、符合第三代合作伙伴项目标准的无线广域网蜂窝无线电、符合不同的IEEE802.16标准的无限城域网无线电、以及有限局域网以太网收发器。相机104或服务器118也可以包括一个或多个数据输入端口826,经由所述数据输入端口826可以接收任意类型的数据、媒体内容或输入,诸如用户可选输入(例如,从键盘、从触摸感应输入屏幕、或从另一个用户输入设备)、消息、音乐、电视内容、所记录的视频内容、以及从任意内容或数据源接收的任意其他类型的音频、视频或图形数据。数据输入端口826可以包括通用串行总线端口、同轴电缆端口、以及针对闪存、存储磁盘等的其他串行或并行的连接器(包括内部连接器)。这些数据输入端口826可以被用于将设备104、118耦合到组件、外围或诸如麦克风或相机的附件。最后,相机104或服务器118可以包括任意数量的“其他传感器”828。例如,这些传感器828可以包括加速率计、GPS接收器、指南针、磁场传感器等。本讨论的剩余部分呈现可以在某些实施方式中使用的选择和规程的细节。尽管非常特定,这些细节被给予因此读者可以更全面地理解前文讨论的广泛概念。这些实施方式选择不旨在以任何方式限制要求保护的发明的范围。很多技术可以被使用以评估静态图像,以便选择“最优的”一个(图2的步骤208)。针对包含面部的图像,一个实施例基于锐度和曝光计算图像分数且针对面部特征计算分离分数。首先,面部识别技术被应用于所捕获的图像以判定是否他们中的很多都包含面部。如果是的,则被捕获的场景被评估为“面部”场景。如果场景不是面部场景,则锐度/曝光分数被其本身使用以选择最优图像。另一方面,针对面部场景,如果可用于评估的图像(即,合理地接近于捕获命令的时刻所有被捕获的图像的集合)具有非常相似的锐度/曝光分数(例如,分数在特定于所使用的硬件的相似度阈值内相等),则最优图像仅基于面部分数被选择。针对面部场景,当图像集合在其锐度/曝光分数上具有显著差别时,则最优图像是具有最高的组合分数的那个,所述组合分数基于锐度/曝光分数和面部分数两者。组合分数可以是两个分数的总和或加权总和:picturescore(i)=mFEscore(i)+totalfaces(i)可以使用针对图像中所有像素的Sobel梯度测量的平均值和被分析的图像与前一刻的图像之间的平均像素差,来计算锐度/曝光分数。仅亮度数据被使用在这些计算中。帧梯度度量和帧差度量被计算为:mSobel=1WHΣi=1WΣj=1H0.5*(abs(Sobel_x(i,j))+abs(Sobel_y(i,j))]]>mDiff=1WHΣi=1WΣj=1Habs(Yt(i,j,t)-Yt-1(i,j))]]>其中:W=图像宽度;H=图像高度;Sobel_x=图像与SobelGx算子的卷积结果:以及Sobel_x=图像与SobelGy算子的卷积结果:Gy=121000-1-2-1]]>针对在循环图像缓冲器中在捕获瞬间附近的N个图像中每个图像(i),使用Sobel值及其最小值,计算锐度/曝光分数:mFEscore(i)=(mSobel(i)-minN(mSobel)+1)*(1-mDiff(i)200)]]>如果图像中所有像素值的平均值不在正常曝光范围内或如果聚焦状态指示图像未聚焦,则针对任意图像将mFEscore设置为0。可用的图像集合的锐度/曝光分数值随后被归一化到比如0到100的范围,以便当面部场景被检测时,与面部分数结合使用。当检测到至少一个面部时,针对图像计算面部分数。针对每个面部,分数由所检测的笑容分数、眼睛睁开分数、面部取向分数的加权总和构成。例如:笑容:取值范围从1到100,针对大笑有大的取值,针对没有笑容有小的取值。眼睛睁开:取值范围从1到100,针对大睁的眼睛有小的取值,针对闭上的眼睛(例如,眨眼)有大的取值。针对每个眼睛分别提供取值。也可以使用单独的眨眼检测器。面部取向(凝视(gaze)):从看向正面的0度到看向侧面的+/-45的角度。规程使用面部检测引擎值且为每个面部参数创建经归一化的分数,如下:笑容分数:使用来自引擎的笑容值;随后如下所示,为N个可用图像的集合,归一化到1至100的范围:smile(i)=smile(i)-minN(smile)maxN(smile)-minN(smile)]]>眼睛睁开分数:使用眨眼检测器和相邻帧间眼睛变化参数,检测眨眼或半睁的眼睛的存在;当眨眼或半睁的眼睛被检测时,图像分数为0。对于剩余的图像,使用双眼取值的平均值计算分数,且相似于针对笑容而描述的方式,被归一化到该范围。在分析中的N张图像中眼睛睁开最大时,取得最大分数。面部取向分数(凝视):针对正向凝视使用最大分数,并且当面部向侧面看时减少分数。针对图像中的每个面部,面部分数作为加权总和被计算:facescore=α*smile+β*eyes+π*gaze如果图像中存在多于一个面部,则所有面部分数的平均值或加权平均值可以被使用以针对该图像计算总的面部分数。用于计算总的面部分数的权重可以与面部大小关联,因此较大的面部对总的面部分数具有较高的分数贡献。在另一个实施例中,权重与通过位置或通过一些面部识别引擎确定的面部优先级关联。针对M个面部中的图像i,总的面部分数则可以被计算为:totalfaces(i)=Σj=1Mwj*facescore(j)Σj=1Mwj]]>如前文所讨论的,可以将面部分数随后与锐度/曝光分数组合(如合适),且具有最高分数的图像被选为“最优的”图像。在一些实施例中,作为改进,将所选择的图像随后与“所捕获的”图像进行对比(即,在与捕获命令的时刻最接近的时刻所捕获的图像)。如果这些图像太相似,则仅将所捕获的图像被呈现给用户。这个考虑具有普遍适用性,因为研究已显示当所选择的“最优的”图像与捕获的图像的差别相当小时,摄影师不会更喜欢所选择的“最优的”图像。在选择“最优的”图像时,很多技术可以被应用于确定捕获的视频是否为“感兴趣的”。通常,视频分析规程实时地运行,不断将视频帧标记为感兴趣的或不感兴趣的。另外,视频分析确定感兴趣的视频剪辑在哪里起始和结束。在视频分析中一些有用的量度包括感兴趣的区域、运动向量(“MV”)、设备运动、面部信息和帧统计。这些度量按照帧被计算且与帧相关联。在一些实施例中,设备运动检测规程将来自陀螺仪、加速率计和磁力计的数据进行组合以计算设备移动和设备位置,可能使用互补滤波器或卡尔曼(Kalman)滤波器。结果按照下述被分类:NO_MOTION(无运动)指的是设备既未移动也未经历仅仅小水平的手抖;INTENTIONAL_MOTION(有意运动)指的是设备被有意识地移动(例如,摄影师在摇摄);以及UNINTENTIONAL_MOTION(无意运动)指的是设备经历了非旨在作为向图像捕获系统的输入的大的运动(例如,设备掉落、被拉出口袋等)。通过比较计算的位置的相邻值,设备在三维空间轴的运动被表征:如果(所有3个轴的位置变化量<NO_MOTION_THRESHOLD)设备运动状态=NO_MOTION如果(一个轴的位置变化量<INTENTIONAL_MOTION_THRESHOLD(有意运动阈值)&&另外两个轴的位置变化量<NO_MOTION_THRESHOLD(无运动阈值)&&发生在帧序列中)设备运动状态=INTENTIONAL_MOTION如果(任意轴的位置变化量>UNINTENTIONAL_MOTION_THRESHOLD(无意运动阈值))设备运动状态=UNINTENTIONAL_MOTION设备运动状态随后与图像相关联被存储。与寻找帧之间的(帧间)运动相反,运动估计寻找在帧内部的(帧内)运动。基于块的运动估计方案使用绝对差和(“SAD”)作为主要成本度量。其他实施例可以使用目标跟踪。通用运动估计方程包括:SAD(i,j)=Σx=0N-1Σy=0N-1|s(x,y,l)-s(x+i,y+j,k-l)|]]>s(x,y,l)其中0≤x,y,≤N-1[vx,vy]=argmini,j[SAD(i,j)]]]>其中S(x,y,l)是指定像素位置的函数;(l)=候选帧(k)=参考帧;以及(vx,vy)是关于(i,j)的运动向量位移。运动估计规程将每个N×N的候选块与过去的参考帧相比较,且计算候选块的像素位移。在每个位移位置处,SAD被计算。产生最小SAD值的位置表示有最低失真的位置(基于SAD成本度量)。一旦针对每个N×N块计算原始向量,所述向量被滤波以获得帧内运动。在一个示例性方法中:运动利用所预测的运动向量被评估;中值滤波被应用到运动向量;运动向量被附加地滤波,由于以下原因:||MV||>静态运动阈值;或||MV||>动态运动阈值;或(所有块的)并列零SAD(CollocatedzeroSAD)>平均零SAD(meanzeroSAD);或块SAD<大SAD阈值;或亮度方差>低块活动(low-block-activity)阈值创建掩码区域(例如,在矩形帧中内切最大正菱形,随后在菱形中内切最大规则矩形(“内切矩形”));以及计算:Diamond_Count=num(菱形区域中的MV))/num(帧中的MV);以及Inner_Rectangle_Count=num(内切矩形中的MV))/num(菱形区域中的MV)基于诸如帧内运动、亮度曝光值、设备运动、Sobel梯度分数和面部运动等的量度,将每个视频帧描绘为“感兴趣的”(或不感兴趣的)。这些量度被加权以说明每个量度的优先级。帧内运动:通过Diamond_Count和Inner_Rectangle_Count来计算。亮度曝光:通过像素数据,以及针对曝光过度或不足的图像给与更少的权重来计算。Sobel梯度分数:通过像素数据,以及针对远离每个帧的Sobel分数的时间平均值的Sobel分数给与更少的权重来计算。设备运动:使用设备运动状态,且针对UNINTENTIONAL_MOTION给与更少的权重。面部运动:通过针对每个面部所检测的位置来计算运动向量。针对每个面部对较大的移动向量给与更少的权重。将这些放在一起:motion_frame_score=Σi=0Nw(i)*metric(i)]]>如果motion_frame_score(运动帧分数)超过阈值,则帧被包括到“序列计算”中。该序列计算将具有感兴趣的信息的帧的数量相加,且将其与序列分数阈值比较。如果序列分数大于阈值,则场景被标记为感兴趣的视频剪辑,且被永久存储(图3的步骤312)。在视频剪辑被存储之前,计算起始和结束点。基于设备运动,应用定界符的第一水平。规程在视频中寻找设备被标记为NO_MOTION的片段且标记起始和结束点。作为二次核对,规程也在每个帧中检查帧内运动,且在片段内部标记没有相机运动的子帧以指示感兴趣的运动何时在视频中出现。具有感兴趣的帧内运动的第一帧是视频剪辑的新的起始,且在捕获之后视频中具有感兴趣的运动的最后一帧结束视频剪辑。在一些实施例中,剪辑被延展以在感兴趣的部分之前和之后捕获少量时间。水平线检测(见图7和所附文本)处理图像帧和传感器数据以寻找具有最水平的水平线的帧。如果没有图像包括0度(阈值内)的水平线,则图像被旋转和裁剪以创建具有水平的水平线的图像。竖直线也可以被用于检测水平线。在一些实施例中,每个帧到来时,下述规程被连续执行。针对每个图像:将来自运动传感器的角度位置与图像相关联;在图像上应用高斯模糊滤波器,随后应用边缘检测滤波器(例如,使用Canny检测滤波器);应用图像处理以寻找图像中的线(例如,使用Hough线变换)。对每个找到的线段:关于设备的0度取向(即,水平的)计算线的角度;以及保留这样的线:在一些角度阈值内的;以及在一些长度阈值内的;寻找最长的线(被称为“最大线”)、最大线的起始和结束的位置、以及最大线的角度。(用极坐标和笛卡尔坐标以及用线性方程的方式存储线段信息很重要。)在规程的这个点处,每个图像包含与以下参数相对应的元数据:最大线的长度、最大线关于水平线的角度、最大线的线性方程、以及设备取向(即,设备关于从运动传感器所得到的图像平面的角度)。对每个图像系列,通过考虑,移除绝对差(设备取向角度减去最大线段角度)大于阈值的图像。这允许物理的运动传感器信息结合像素信息一起被使用以确定该角度。为每个图像寻找“感兴趣的区域”。为了完成这个,延伸图像中的最大线到图像的两个边界。感兴趣的区域是以图像的右侧和左侧为边界的包含最大线的最小矩形。接下来通过寻找在关联图像中最大覆盖感兴趣的区域的区域来寻找“参考区域”。这帮助确认每个最大线实际上是相同的水平线,但是在不同的图像中以不同的角度被捕获。通过考虑移除最大线段落在参考区域之外的图像。最后,针对关联图像,选择在参考区域中其的最大线段具有接近0度取向的角度(即,接近水平的)的图像。使用其作为所检测的水平线。即,如果必要,若所选择的图像的角度大于某阈值,则随后使用所计算的角度旋转该图像,且裁剪并放大图像。鉴于本讨论的原理可以被应用到很多可能的实施例,应认识到此处关于附图描述的实施例仅意味着示例性,且不应被理解成限制本权利要求的范围。因此,如此处描述的技术将所有这样的实施例看作在下述权利要求及其等价物的范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1