具体实施方式
在下面的描述中,为了解释的目的,阐述许多具体的细节,以便提供在这里描述的实施例的透彻理解。对于本领域技术人员而言,这些实施例可以在没有这些具体细节的情况下被实践,这将是显然的。在其他的实例中,为了避免不必要的模糊,众所周知的结构和设备或简单地以框图形式进行引用或显示。自始至终使用的任何的以及所有的标题仅仅为了便于解释,而不用于任何限制使用。
图1A-1D示出用于利用最少限度的用户交互来有效和高效地识别捕获图像的接收方并快速地与所识别的接收方共享捕获图像的实施例逻辑流程。虽然相对于在这里描绘的***进行下面的讨论,但是所描述的操作可以在其他***中进行实现。这里描述的操作并不限于所显示的顺序。另外,在其他的替代实施例中,可以执行更多或更少的操作。进一步,所描绘的操作可以利用在图3中描绘并在下面进一步讨论的实施例图像共享应用300来执行,或者利用实施例图像共享应用300结合一个或多个其他的***实体、组件和/或应用来执行。
在一个实施例中,图1A-1D的逻辑流程在用户的移动相机设备上进行处理。在另一实施例中,图1A-1D的逻辑流程的步骤的子集在用户的移动相机设备上进行处理,并且该逻辑流程的剩余步骤在一个或多个其他的移动或不移动的设备上进行处理。出于讨论的目的,图1A-1D的步骤将参考其中在用户的移动相机设备上处理该逻辑流程的实施例来讨论。
在一个实施例中,移动相机设备是具有计算和摄影能力的移动设备。在一个实施例中,计算能力是运行软件应用或程序或计算机程序、即运行软件指令或计算机代码的能力。在一个实施例中,具有计算能力的移动设备包括具有用于运行软件应用的处理器的设备。
在一个实施例中,摄影能力是捕获图像、例如照片和/或视频的能力。在一个实施例中,摄影能力也包括处理捕获图像、例如利用技术来尝试识别捕获图像中的个人和/或场景元素、为捕获图像生成标签、存储捕获图像等等的能力。
在一个实施例中,移动设备是能够在各种位置上按照预期操作的设备,并且没有被硬布线或以其他方式对于任何设置时间被连接到一个特定位置,诸如台式计算机。移动相机设备的示例包括但不限于蜂窝电话、智能电话、数码相机等等。
参考图1A,在一个实施例中,在判定块102,确定是否用户希望获得或以其他方式向其移动相机设备上传现有实体信息。在一个实施例中,现有实体信息是识别通信地址的信息,用于发送通信至例如电子邮件地址、网站或在这里被统称为网站的网络位置、SMS文本消息传送地址等等。电子邮件和/或网站地址在这里也被称为基于因特网的地址。现有实体信息的示例是存储在用户的台式计算机、蜂窝电话等等上的联系人列表或电子地址簿。
在一个实施例中,现有实体信息是一个或多个图像共享规则,这些规则识别捕获图像中所描绘的个人和/或用于一个或多个个人的通信地址。因而,例如,图像共享规则能够是这样的规则,其利用捕获的John(约翰)的图像来识别个人John,以便描述John的每一个捕获图像将与John相关联,并最终被发送到实体信息中隶属于John的通信地址。作为另一示例,图像共享规则能够是这样的规则,其利用捕获的Alice(艾利斯)的图像并且也利用捕获的另一个人Bill(比尔)的图像来识别个人Alice,以致描绘Alice的每一个捕获图像以及描绘Bill的每一个捕获图像将与Alice相关联,并最终被发送到实体信息中隶属于Alice的通信地址。
在一个实施例中,现有实体信息也是一个或多个图像共享规则,这些规则识别一个或多个图像特性的个人和/或个人的通信地址或者元素或组件。实施例图像特性的示例包括但不限于图像捕获时间帧、图像捕获位置、所描绘的地标、所描绘的一个或多个个人的群组、其他描绘的实体,例如动物、宠物、花卉、汽车等等。
因而,例如,图像共享规则能够是这样的规则,其利用花卉来识别个人Jack(杰克),以致描绘一个或多个花卉的每一个捕获图像将Jack相关联,并最终被发送到实体信息中隶属于Jack的通信地址。作为另一示例,图像共享规则能够是这样的规则,其利用在Washington(华盛顿)州捕获的图像来识别个人Sue(休),以致在Washington拍摄的每一个捕获图像将与Sue相关联,并最终被发送到实体信息中隶属于Sue的通信地址。
在一个实施例中,如果在判定块102确定用户不希望获得或以其他方式上传现有实体信息到其移动相机设备,那么所识别的现有实体信息被检索或以其他方式被上传并被存储在用户的移动相机设备104上。
在一个实施例中,在判定块106,确定是否用户希望生成实体信息,即生成一个或多个联系人(contact)和/或生成一个或多个图像共享规则,其中每一个联系人识别具有一个或多个通信地址的一个或多个个人,而每一个图像共享规则识别一个或多个个人和/或具有一个或多个图像特性的个人的通信地址。如果是的话,在一个实施例中,用户输入的实体信息被接收并被存储在用户的移动相机设备108上。
在实施例中,用户生成的实体信息能够利用一种或多种输入仪器被输入到用户的移动相机设备。输入仪器的示例包括但不限于用户在其上键入以生成实体信息并将实体信息输入到用户的移动相机设备的小型键盘、用户用于生成实体信息并将实体信息输入到用户的移动相机设备的触摸屏、用户对着其讲话以生成实体信息并将实体信息输入到用户的移动相机设备的语音激活组件等等。
在一个实施例中,在判定块110,确定用户是否希望将图像和/或捕获图像特征上传到用户的移动相机设备。在一个实施例中,用户可能希望上传图像和/或捕获图像特征,以便在识别在用户的移动相机设备上捕获的未来图像中的个人、所描绘的位置、地标以及其他的实体和对象中使用。例如,上传的图像或捕获的图像特征能够与面部识别技术结合使用来识别在用户的移动相机设备上未来捕获的图像中的个人。
在一个实施例中,如果在判定块110确定用户确实希望获得或以其他方式上传现有图像和/或捕获图像特征到其移动相机设备,则所识别的现有图像和/或捕获图像特征被检索或以其他方式被上传并被存储在用户的移动相机设备112上。在一个实施例中,与上传的图像和上传的捕获图像特征相关联的任何标签也被上传并被存储在用户的移动相机设备112上。
在一个实施例中,在判定块114,确定是否用户已利用其移动相机设备捕获了图像,例如拍摄了照片。如果没有的话,在一个实施例中,该逻辑返回到判定块102,在那儿确定用户是否希望获得现有实体信息。
如果在判定块114用户已利用其移动相机设备捕获了图像,则在一个实施例中时间标记被生成并作为捕获图像116的实体信息和/或标签进行存储。在一个实施例中,GPS全球定位***仪器和应用用于为捕获图像116导出时间标记。在替代实施例中,时间标记由移动相机设备利用其他设备和/或***116例如移动相机设备时钟、蜂窝电话传输塔等等来生成。
参考图1B,在一个实施例中,在判定块118,确定是否具有可用于捕获图像的当前GPS位置信息;即,确定移动相机设备是否支持用于捕获图像的GPS位置收集信息,例如纬度、经度等等,以及是否为捕获图像成功导出可靠的GPS位置信息。如果是的话,在一个实施例中,用于捕获图像的GPS位置信息作为捕获图像120的实体信息和/或标签进行存储。
在一个实施例中,在判定块122,确定是否具有在捕获图像中描绘的一个或多个人员。在一个实施例中,面部检测、识别技术用于确定是否具有描绘在捕获图像122中的一个或多个人员。如果是的话,在一个实施例中,运行面部识别技术,即一个或多个能够处理面部识别计算的应用,以尝试为捕获图像124中描绘的每个个人的身份生成最佳猜测。
在替代实施例中,如果在判定块122确定具有在捕获图像中描绘的一个或多个个人,则运行面部识别技术,以尝试为捕获图像124中描绘的每个个人的身份生成两个或更多的最佳猜测,即,最佳猜测池(pool)。在这个替代实施例的一个方面,对于图像捕获的个人的两个或更多最佳猜测的最佳猜测池包括对于图像捕获的个人的最大预定义数量例如两个、三个等等的最有利的预期的最佳猜测标识。
在一个实施例中,用于为每个描绘的个人生成最佳猜测或替代地生成最佳猜测池的面部识别技术利用存储的图像和/或从中辨别的面部特征的标识来将先前图像中识别的面部或面部特征与当前捕获的图像中个人的面部或面部特征进行比较。
在一个实施例中,面部识别技术利用先前捕获图像和/或先前从中辨别的面部特征的标识来尝试为捕获图像124中的每个个人的身份生成最佳猜测或替代地生成最佳猜测池,其中先前捕获图像和/或面部特征的标识被存储在用户的移动相机设备上,或以其他方式由移动相机设备例如借助于***式存储驱动器等直接可访问的,其在这里被统称为存储在用户的移动相机设备上。在替代实施例中,存储在用户的移动相机设备之外的其他位置上、例如存储在由服务器托管(host)的网站上、存储在用户的台式计算机等等上的图像和/或先前从中辨别的面部特征标识由用户的移动相机设备借助于无线通信来访问,并由面部识别技术用于尝试为捕获图像124中的每个人人的身份生成最佳猜测或替代地生成最佳猜测池。在第二替代实施例中,由面部识别技术利用存储在用户的移动相机设备上的图像和/或先前从中辨别的面部特征标识以及存储在别处并由移动相机设备借助于无线通信访问的图像和/或先前从中辨别的面部特征标识来尝试为捕获图像124中的每个个人的身份生成最佳猜测或替代地生成最佳猜测池。
在一个实施例中,每一个为捕获图像中描绘的个人的身份生成的最佳猜测与照片126中相应显示的人员相关联,即与之一起进行展示或输出。例如,并且参考图2,在移动相机设备290上输出给用户的示例捕获图像200中拍摄三个个人,即人员A205、人员B225和人员C235。在一个实施例中,面部识别技术用于尝试为捕获图像200中每个描绘的个人生成最佳猜测或替代地生成最佳猜测池,其中每个生成的最佳猜测是所描绘的个人的确定。在一个实施例以及图2的示例中,为人员A205生成最佳猜测标识,为人员B225生成最佳猜测标识,并且为人员C235生成最佳猜测标识。在替代实施例以及图2的示例中,为人员A205生成两个或更多最佳猜测标识的最佳猜测池,为人员B225生成两个或更多最佳猜测标识的最佳猜测池,并且为人员C235生成两个或更多最佳猜测标识的最佳猜测池。
在一个实施例以及图2的示例中,为人员A205的身份生成的最佳猜测或最佳猜测池210与在移动相机设备显示器290上输出给用户的捕获图像200中显示的人员A205相关联,即与之一起进行输出。例如,假设为人员A205生成Joe(乔)的最佳猜测。在一个实施例以及图2的示例中,“Joe”210与在移动相机设备显示器290上输出的捕获图像200中的人员A205的图像相关联并与该图像一起进行显示。在这个实施例和示例的一个方面,“Joe”210被写在移动相机设备显示器290上输出的捕获图像200中所描绘的人员A205的面部之上。在这个实施例的其他方面,最佳猜测在捕获图像200中在其他的图像位置中、例如在该个人的身体之上、在该个人的头部上方、在该个人的脚下等等进行输出。
在一个实施例以及图2的示例中,为人员B225的身份生成的最佳猜测或最佳猜测池220与捕获图像200中显示的人员B225相关联。例如,假设为人员B225生成Sue的最佳猜测。在一个实施例以及图2的示例中,“Sue”220与移动相机设备显示器290上输出的捕获图像200中人员B225的图像相关联并与之一起进行显示。作为第二示例,假设为人员B225生成Sue、Amy(艾米)和Ruth(鲁思)的最佳猜测池。在一个实施例以及图2的示例中,“Sue”、“Amy”和“Ruth”220与在移动相机设备显示器290上输出的人员B225的图像相关联并与之一起进行显示。
在一个实施例以及图2的示例中,为人员C235的身份生成的最佳猜测230与在捕获图像200中显示的人员C235相关联。例如,假设为人员C235生成Ann(安)的最佳猜测。在一个实施例以及图2的示例中,“Ann”230与在移动相机设备显示器290上输出的人员C235的图像相关联并与之一起进行显示。
在一个实施例中,如果不能为捕获图像中描绘的个人生成最佳猜测,则没有什么被覆盖或者以其他方式与所显示的人员的图像相关联。因而,例如,在图2中,如果不能为人员C235生成最佳猜测,则在移动相机设备显示器290上输出的人员C235的显示仅保留人员C235的图像。
在替代实施例中,如果不能为捕获图像中描绘的个人生成最佳猜测,则这样的指示被覆盖或者以其他方式与所显示的该人员的图像相关联。因而,例如,在图2中,在替代实施例中,如果不能为人员C235生成最佳猜测,则这样的指示、例如问号(“?”)等与在移动相机设备显示器290上输出的人员C235的图像相关联并与之一起进行显示。在这些替代实施例和示例的一个方面,问号(“?”)被写在移动相机设备显示器290上输出的捕获图像200中描绘的人员C235的面部之上。在这些替代实施例的其他方面,不能为个人生成最佳猜测的指示在捕获图像200中在其他图像位置中、例如在该个人的身体之上、在该个人的头部上方、在该个人的脚下等等进行输出。
再次参考图1B,在一个实施例中,在判定块128,确定是否用户已确认在捕获图像中描绘的人员的身份。在一个实施例中,用户通过触摸与捕获图像中人员的描写相关联并与之一起显示的最佳猜测标识来确认所描绘人员的身份。例如,并且参考图2,在这个实施例中,用户通过触摸与捕获图像200中的人员A205相关联并与之一起显示的“Joe”210而将人员A205的身份确认为“Joe”。
在一个实施例中,用户通过在最佳猜测池中选择与捕获图像中人员的描写相关联并与之一起显示的最佳猜测来确认所描绘人员的身份。例如,并且再次参考图2,在这个实施例中,用户通过选择和触摸与捕获图像200中的人员B225相关联并与之一起显示的“Ruth”220而将人员B225的身份确认为“Ruth”。
在其他的实施例中,用户通过各种其他的输入机制、例如选择最佳猜测并按压在触摸屏上显示的与移动相机设备相关联的确认按钮260、选择最佳猜测并在移动相机设备小型键盘上键入预定义按键等来确认已为之生成至少一个最佳猜测的所描绘人员的身份。
如果在判定块128用户已确认在捕获图像中描绘的个人的最佳猜测标识,则在一个实施例中将该最佳猜测标识存储为捕获图像130的标签。在一个实施例中,与描绘所确认的个人的在先图像和/或捕获图像特征一起存储的任何相关的标签信息也被存储为捕获图像130的标签。
在一个实施例中,如果在判定块128用户交替地已指示最佳猜测或最佳猜测池即所有显示的最佳猜测是不正确的,则在判定块132确定是否具有对于在捕获图像中描绘的个人的用户输入。例如,并且再次参考图2,当例如通过用户首先选择所显示的某个人员的图像等而选择对其的最佳猜测或最佳猜测池是错误的个人时,用户可以例如通过在移动相机设备显示器290上选择触摸屏错误按钮270而指示对于人员A205的最佳猜测“Joe”210是不正确的。用户可以此后通过例如使用与移动相机设备相关联的小型键盘或触摸屏来键入该人员的名字、从存储的实体信息中选择正确识别人员A205的联系人等而输入对于人员A205的正确标识,例如“Sam(山姆)”。
返回参考图1B,如果在判定块132对于用户并不接受为其生成的最佳猜测的所描绘个人具有用户输入,则在一个实施例中该用户输入被存储为用于捕获图像134的标签。在一个实施例中,识别所描绘个人的用户输入与在移动相机设备显示器134上在捕获图像中相应显示的人员相关联或以其他方式与之一起进行展示或输出。
在一个实施例中,无论用户是已确认了对于捕获图像中所描绘的个人的最佳猜测标识还是指示了最佳猜测或最佳猜测池是不正确的并提供了正确的标识,对实体信息进行搜索,以查找与已确认的个人136的身份相关联的任何通信地址。在一个实施例中,在判定块138,确定在已存储的实体信息中是否具有与确认的个人相关联的任何通信地址。如果是的话,在一个实施例中,捕获图像被自动发送到与实体信息140中已确认的个人相关联的每个通信地址。
参考图1C,在一个实施例中,在判定块142,确定是否在捕获图像中存在具有最佳猜测或最佳猜测池的任何更多的用户尚未确认或以其他方式起作用、即指示为错误的个人。如果是的话,在一个实施例中,该逻辑流程返回到图1B的判定块128,在那儿再次确定用户是否已确认捕获图像中描绘的个人的最佳猜测标识。
如果在图1C的判定块142不存在具有生成的最佳猜测标识的捕获图像中描绘的更多个人,则在一个实施例中在判定块144确定是否具有在捕获图像中描绘的没有最佳猜测的任何更多的个人。如果是的话,在一个实施例中,在判定块146确定是否对于在捕获图像中描绘的没有为之生成最佳猜测标识的个人具有用户输入。例如,并且再次参考图2,假设不能为人员C235生成最佳猜测标识,但是用户通过例如在移动相机设备的小型键盘或触摸屏上键入“Ann”、从存储的实体信息中选择“Ann”等等而已将人员C235识别为“Ann”。
返回参考图1C,如果对于捕获图像中描绘的个人具有用户输入,则在一个实施例中该用户输入作为捕获图像148的标签进行存储。在当前示例中,由用户提供的“Ann”的标识作为捕获图像200的标签进行存储。在一个实施例中,识别所描绘个人的用户输入与在移动相机设备显示器148上在捕获图像中相应显示的人员相关联或以其他方式与之一起进行展示或输出。
在一个实施例中,对实体信息进行搜索,以查找与捕获图像150中描绘的个人的已确认身份相关联的通信地址。在一个实施例中,在判定块152确定是否在已存储的实体信息中具有与已确认的个人相关联的任何通信地址。如果是的话,在一个实施例中,捕获图像被自动发送到实体信息154中与已确认的个人相关联的每一个通信地址。
在一个实施例中,无论在判定块152具有用于对其输出捕获图像的任何通信地址与否,在方框144再次确定是否具有在捕获图像中描绘的对其而言没有最佳猜测或确认其身份的任何更多的个人。
在一个实施例中,如果在判定块144在捕获图像中没有更多的对其而言没有最佳猜测或确认其身份的所描绘个人或者在判定块146对于捕获图像中描绘的个人没有用户输入,那么参考图1D,执行场景识别技术,即一个或多个能够处理场景图像计算的应用,以尝试识别有关捕获图像156的附加信息。这样的在这里被称为场景信息的附加信息或元素或组件能够包括但不限于或者能够是摄影捕获位置、即拍摄照片的地方、例如拉什莫尔山、埃菲尔铁塔等等的任何捕获的地标、例如家庭犬“Rex”、花卉、汽车等等的其他描绘的实体或对象的子集等。
在一个实施例中,利用场景识别技术来尝试为在捕获图像156中描绘的一个或多个场景元素或组件的身份生成最佳猜测。在替代实施例中,利用场景识别技术来尝试为捕获图像156中描绘的一个或多个场景元素或组件的身份生成两个或更多的最佳猜测,即最佳猜测池。在这个替代实施例的一个方面,用于图像捕获的场景元素的两个或更多的最佳猜测的最佳猜测池包括用于图像捕获的场景元素的最大预定义数量例如两个、三个等等的最有利的预期最佳猜测标识。
在一个实施例中,用于为一个或多个场景元素生成最佳猜测或交替地生成最佳猜测池的场景识别技术利用已存储的图像和/或场景元素的标识或者场景元素特征和/或分类符(classifier)来将在先图像中识别的场景信息或者场景元素特征和/或分类符与当前图像156中捕获的场景和对象以及实体进行比较。
在一个实施例中,场景识别技术利用存储在用户的移动相机设备上或以其他方式由移动相机设备例如借助于***式存储驱动器等等直接可访问的、在这里被统称为存储在用户的移动相机设备上的在先捕获的图像和/或场景元素特征和/或分类符来尝试为捕获图像156中的一个或多个场景元素生成最佳猜测或交替地生成最佳猜测池。在替代实施例中,存储在用户的移动相机设备之外的位置上、例如存储在由服务器托管的网站上、存储在用户的台式计算机等等上的图像和/或场景元素特征和/或分类符由用户的移动相机设备借助于无线通信来访问,并且由场景识别技术用于尝试为捕获图像156中的一个或多个场景元素生成最佳猜测或交替地生成最佳猜测池。在第二替代实施例中,利用存储在用户的移动相机设备上的图像和/或场景元素特征和/或分类符以及存储在别处并由移动相机设备借助于无线通信访问的图像和/或场景元素特征和/或分类符。
在一个实施例中,每一个为场景元素、即捕获图像中描绘的场景和/或一个或多个实体或对象生成的最佳猜测与显示图像158中相应的场景或实体或对象相关联。例如,并且参考图2,在一个实施例中,场景识别技术用于生成捕获图像200中的场景位置以及所描绘的树245的最佳猜测标识或最佳猜测场景确定符。
在一个实施例以及图2的示例中,为场景位置生成的最佳猜测250与捕获图像200相关联并与之一起显示。例如,假设为捕获图像场景200生成“Redmond,Washington”250的最佳猜测。在一个实施例以及图2的示例中,“Redmond,Washington”250与移动相机设备显示器290上的捕获图像200相关联并显示在该捕获图像内。在这个实施例和示例的一个方面中,“Redmond,Washington”250被写入在移动相机设备显示器290上输出的捕获图像200中或者以其他方式被覆盖在捕获图像200上。
在一个实施例以及图2的示例中,为所描绘的树245生成的最佳猜测240与在捕获图像200中显示的树245相关联。例如,假设为所描绘的树245生成“树”240的最佳猜测。在一个实施例以及图2的示例中,“树”240与在移动相机设备显示器290上输出的捕获图像200中的树245的图像相关联并与之一起显示。
再次参考图1D,在一个实施例中,在判定块160确定是否用户已确认已为之生成一个或多个最佳猜测的捕获图像中的场景和/或描绘的实体和/或对象的身份。在一个实施例中,用户通过触摸与捕获图像中的场景、实体或对象相关联并与之一起显示的最佳猜测标识来确认所描绘的场景或实体或对象的身份。例如,并且参考图2,在这个实施例中,用户通过触摸与在移动相机设备显示器290上输出的捕获图像200相关联并显示在捕获图像200内的“Redmond,Washington”250而将所描绘的场景身份确认为“Redmond,Washington”。
在其他的实施例中,用户通过各种其他的输入机制、例如通过选择最佳猜测并按压移动相机设备显示器290上的触摸屏确认按钮260、选择最佳猜测并在移动相机设备小型键盘上键入预定按键等等来确认其中描绘的已为之生成了至少一个最佳猜测的所描绘场景、实体和对象的身份。
如果在判定块160用户已确认场景信息的最佳猜测标识,那么在一个实施例中最佳猜测标识作为捕获图像162的标签进行存储。在一个实施例中,与描绘所确认的场景信息的在先图像、场景元素特征和/或分类符一起存储的任何相关的标签信息也作为捕获图像162的标签来存储。
如果在判定块160用户交替地指示用于场景信息的最佳猜测或最佳猜测池中所有的最佳猜测是不正确的,那么在一个实施例中,在判定块164确定是否存在对于捕获图像的场景或所描绘的实体或对象的用户输入。例如,并且再次参考图2,当例如通过用户首先选择了在输出给用户的捕获图像上显示的一个或多个最佳猜测标识等而选择错误的捕获场景最佳猜测标识250时,例如,通过选择在移动相机设备显示器290上的触摸屏错误按钮270,用户可以指示用于捕获图像场景的“Redmond,Washington”250的最佳猜测是不正确的。用户可以此后通过例如在使用与移动相机设备相关联的小型键盘或触摸屏中键入这个标识、从实体信息中存储的并由用户可访问的列表中选择正确的场景标识等等而输入用于捕获图像的正确的场景标识,例如“Sammamish,Washington”。
返回参考图1D,如果在判定块164对于用户未接受为之生成的任何最佳猜测的捕获图像中描绘的场景信息具有用户输入,那么在一个实施例中,该用户输入作为捕获图像166的标签来存储。
在一个实施例中,无论用户是已确认对于场景信息的最佳猜测标识还是指示最佳猜测或最佳猜测池是不正确的并提供正确的标识,对实体信息进行搜索,以查找与已确认的场景信息168的身份相关联的任何通信地址。在一个实施例中,在判定块170确定是否存在与已存储的实体信息中已确认的场景信息相关联的任何通信地址。如果是的话,在一个实施例中,捕获图像被自动发送到每一个与实体信息172中已确认的场景信息相关联的通信地址。
在一个实施例中,在判定块174确定是否具有对于用户尚未确认或者交替地已指示是错误的场景信息的任何更多的最佳猜测。如果是的话,在一个实施例中,该逻辑流程返回到判定块160,在那儿再次确定用户是否已确认了场景信息的最佳猜测标识。
如果在判定块174没有更多的对于尚未被用户确认或校正的场景信息的最佳猜测,则在一个实施例中该逻辑流程返回到图1A的判定块102,在那儿再次确定是否用户希望获得现有实体信息。
在一个实施例中,用户能够同时确认为捕获图像中描绘的个人生成的所有的最佳猜测。在这个实施例的一个方面中,如果用户确定为捕获图像中的个人生成的每一个最佳猜测是正确的,那么用户能够选择在移动相机设备显示器290上的触摸屏确认所有按钮265,并且每一个为显示的个人生成的最佳猜测将被确认并被处理,如在上面的实施例中所讨论的。在这个实施例的其他方面中,如果用户确定为捕获图像中的个人生成的每一个最佳猜测是正确的,那么用户能够利用其他的输入机制、例如在移动相机设备小型键盘上键击预定义按键等等来同时确认所有的这些最佳猜测。
在一个实施例中,用户能够同时确认为捕获图像中描绘的场景元素生成的所有的最佳猜测。在这个实施例的一个方面中,如果用户确定为捕获图像中的场景元素生成的每一个最佳猜测是正确的,那么用户能够在移动相机设备显示器290上选择触摸屏确认所有按钮265,并且每一个为显示的场景元素生成的最佳猜测将被确认和被处理,如在上面的实施例中所讨论的。在这个实施例的其他方面中,如果用户确定为捕获图像中的场景元素生成的每一个最佳猜测是正确的,那么用户能够利用其他的输入机制、例如在移动相机设备小型键盘上键击预定义按键等来同时确认所有的这些最佳猜测。
在一个实施例中,用户能够同时将所有的为捕获图像中描绘的个人生成的最佳猜测识别为不正确的。在这个实施例的一个方面中,如果用户确定为捕获图像中的个人生成的每一个最佳猜测是不正确的,那么用户能够在移动相机设备显示器290上选择触摸屏全部错误按钮275,并且每一个为显示的个人生成的最佳猜测将根据上面讨论的实施例被处理为错误的。在这个实施例的其他方面,如果用户确定为捕获图像中的个人生成的每一个最佳猜测是不正确的,那么用户能够利用其他的输入机制、例如键击移动相机设备小型键盘上的预定义按键等等而将所有的这些最佳猜测识别为错误的。
在一个实施例中,用户能够将所有的为捕获图像中描绘的场景元素生成的最佳猜测同时识别为不正确的。在这个实施例的一个方面,如果用户确定为捕获图像中的场景元素生成的每一个最佳猜测是不正确的,那么用户能够在移动相机设备显示器290上选择触摸屏全部错误按钮275,并且每一个为显示的场景元素生成的最佳猜测将依照在上面讨论的实施例被处理为错误的。在这个实施例的其他方面,如果用户确定为捕获图像中的场景元素生成的每一个最佳猜测是不正确的,那么用户能够同时利用其他的输入机制、例如在移动相机设备小型键盘上键击预定义按键等等而将所有的这些最佳猜测识别为错误的。
在替代实施例中,一旦捕获图像中描绘的一个或多个个人和/或一个或多个场景元素被正确地识别并与一个或多个通信地址相关联,用户主动确认将发送捕获图像到一个或多个通信地址。在这个替代实施例中,在选择个人或场景等等的同时,用户通过例如选择确认按钮260等等来指示对于个人或场景元素的最佳猜测是正确的。在这个替代实施例中,用户此后通过例如第二次选择确认按钮260、选择在移动相机设备显示器290上的第二发送按钮280、键击在移动相机设备小型键盘上的预定义按键等等来确认将发送捕获图像到相关联的通信地址。
在这个替代实施例的一个方面中,通过例如从输出给用户的列表中选择一个或多个通信地址等等,用户能够选择与捕获图像中识别的个人或场景元素相关联的该图像应被发送至或者交替地不应被发送至的一个或多个通信地址。在这个替代实施例的这个方面中,捕获图像此后将被自动发送到用户已选择用于发送的通信地址,或者交替地,捕获图像将不被发送到用户已指示不应用于转发捕获图像至的那些通信地址。
如前所提到的,在一个实施例中,图1A-1D的逻辑流程在用户的移动相机设备上进行处理。在其他的实施例中,图1A-1D的逻辑流程的步骤的子集在另一个设备上、例如在服务器上托管的云(cloud)或不同于用户的移动相机设备的其他计算设备上进行处理。例如,在一个替代实施例中,用户的移动相机设备发送捕获图像和/或其中描绘的特征到云,其中云对捕获图像和/或描绘特征运行面部识别和图像场景识别技术。在这个替代实施例中,云将其结果发回给用户的移动相机设备,以便进行任何进一步的用户交互,例如任何生成的最佳猜测的用户确认。
参考图3,实施例图像共享应用或图像共享应用300处理在用户的移动相机设备350上捕获的图像,以便发送到其他的用户和/或设备。在一个实施例中,图像共享应用300在用户的移动相机设备350上进行托管和运行。
在一个实施例中,图像共享应用300中的上传图像程序315管理当前存储在用户的移动相机设备350之外的其他设备上、例如当前存储在硬盘驱动器、用户的台式计算机、USB棒驱动器等上的在先捕获图像345以及任何相关联的标签340的上传。在一个实施例中,上传图像程序315分析与每一个上传的图像345相关联的标签340,并将上传的图像355及其相关联的标签340存储在图像数据库320中。在一个实施例中,图像数据库320在用户的移动相机设备350上进行托管。在其他的实施例中,图像数据库320在用户的移动相机设备350通信可访问的其他存储设备例如USB棒驱动器上进行托管。在一个实施例中,相关联的标签340被包括在包含捕获图像345的文件内。
在实施例中,上传图像程序315并且或交替地管理从在先捕获图像345以及任何相关联的标签340中提取的图像特征345例如面部特征、图像对象和/或元素例如树、山脉、汽车等等和/或图像对象和/或元素特征例如树上的叶子、汽车上的轮子等等的上传。在一个实施例中,上传的图像特征355以及任何相关联的标签340被存储在图像数据库320中。在一个实施例中,相关联的标签340被包括在包含捕获的特征、对象和/或元素345的文件内。在一个实施例中,上传的特征345由图像共享应用300的面部识别技术和场景识别技术用来为捕获的图像个人和元素生成最佳猜测。
在一个实施例中,图像共享应用300中的上传图像程序315生成、填充、修改和访问图像数据库320,并因而为了在这里描述的目的,图像数据库320被显示为图像共享应用300的组件。
在一个实施例中,用户370能够启动现有实体信息330例如联系人列表、地址薄、图像共享规则等等到用户的移动相机设备350的上传。在一个实施例中,用户370也能够或交替地使用例如小型键盘、触摸屏、语音激活等等将实体信息330输入到用户的移动相机设备350。在一个实施例中,图像共享应用300的实体信息程序305管理现有实体信息330的上传以及用户生成的实体信息330到用户的移动相机设备350的输入。
在一个实施例中,实体信息程序305分析接收到的实体信息330,并将实体信息380或从380中导出的实体信息存储在实体信息数据库310中。在一个实施例中,实体信息数据库310在用户的移动相机设备350上进行托管。在其他实施例中,实体信息数据库310在用户的移动相机设备350通信可访问的其他存储设备例如USB棒驱动器上进行托管。
在一个实施例中,实体信息程序305生成、填充、修改和访问实体信息数据库310,并因而为了在这里描述的目的,该实体信息数据库310被显示为图像共享应用300的组件。
在一个实施例中,用户370利用其包括相机的移动相机设备350来捕获图像355,例如拍照。在一个实施例中,捕获图像335利用图像共享应用300的图像程序325来处理。在一个实施例中,图像程序325结合在图像数据库320中存储的一个或多个其他图像355和/或从在先捕获图像345中提取的一个或多个存储的特征355来分析捕获图像335,以尝试为捕获图像335中描绘的一个或多个人员生成最佳猜测或交替地生成最佳猜测池。在一个实施例中,该图像程序325结合在图像数据库320中存储的一个或多个其他图像355和/或从在先捕获图像345中提取的一个或多个存储的特征和/或分类符355来分析捕获图像335,以尝试为一个或多个场景元素例如图像场景位置、任何图像地标和/或一个或多个图像实体或对象例如花卉、汽车、建筑物等等生成最佳猜测或交替地生成最佳猜测池。
在一个实施例中,图像程序325在为捕获图像个人和场景元素生成最佳猜测中利用存储的标签355中的信息。
在一个实施例中,图像程序325将其最佳猜测覆盖在图2的示例中所描绘的并对照图2的示例所描述的捕获图像335中相应的个人或场景元素上,并且结果在移动相机设备显示器290上被输出给用户370,以便确认和/或用户输入。在一个实施例中,当图像共享应用300接收到对于图像共享应用生成的最佳猜测的用户确认375时,图像程序325访问实体信息数据库310,以确定是否具有与所确认的个人或场景元素相关联的任何通信地址。如果是的话,在一个实施例中,图像程序325经由一个或多个通信网络365例如因特网、一个或多个基于SMS的网络、一个或多个电话***网络等等将捕获图像335自动发送到与确认的个人或场景元素相关联的通信地址。在这个实施例的一个方面中,图像程序325借助于其相关联的一个或多个通信网络365将捕获图像335无线发送到相应的通信地址。
在一个实施例中,当图像共享应用300接收到识别捕获图像个人或场景元素的用户输入385时,图像程序325访问实体信息数据库310,以确定是否具有与用户识别的个人或场景元素相关联的任何通信地址。如果是的话,在一个实施例中,图像程序325经由一个或多个通信网络365将捕获图像335自动发送到与用户识别的个人或场景元素相关联的通信地址。在这个实施例的一个方面中,图像程序325将捕获图像335经由其相关联的一个或多个通信网络365无线发送到相应的通信地址。
在一个替代实施例中,如果存在与用户确认的最佳猜测或与用户识别的捕获图像335中的个人或场景元素相关联的通信地址,用户370则通过例如第二次在移动相机设备显示器290上选择触摸屏确认按钮260、在移动相机设备显示器290上选择触摸屏发送按钮280、键击与移动相机设备350相关联的小型键盘上的预定义按键等等来明确命令移动相机设备350发送捕获图像335到一个或多个相关联的通信地址。
在一个实施例中,被用户370确认375的所生成的最佳猜测信息例如个人身份、图像捕获位置、地标标识等用于为捕获图像335生成一个或多个标签。在一个实施例中,用户生成的捕获图像个人和场景元素的标识例如个人身份、图像捕获位置、地标标识等等用于为捕获图像335生成一个或多个标签。在一个实施例中,所生成的标签355与图像数据库320中存储的捕获图像355和/或捕获图像提取的特征355一起进行存储或以其他方式与之相关联。
在一个实施例中,图像程序325取得与捕获图像335相关的GPS生成的信息,例如可靠的位置和时间信息,并在一个或多个与捕获图像335相关联的标签中使用这个信息。在替代实施例中,由图像共享应用300用于处理和标记捕获图像335的时间信息由其他设备和/或***例如移动相机设备时钟、蜂窝电话传输塔等等来生成。
在一个实施例中,图像程序325将捕获图像335存储在图像数据库320中。在一个替代实施例中,捕获图像335可由上传图像程序315访问,其中该程序分析为捕获图像335生成的任何标签,并将捕获图像335及其相关联的标签存储在图像数据库320中。
在实施例中,捕获图像提取的特征例如面部特征、图像元素和/或对象、和/或图像元素和/或对象特征也被存储或替代地被存储在图像数据库320中。在一个实施例中,图像程序325将捕获图像提取的特征存储在图像数据库320中。在一个替代实施例中,从捕获图像335中提取的特征可由上传图像程序315访问,其中该程序分析为捕获图像335生成的任何标签和/或其提取的特征,并将提取的特征以及任何图像或特征相关联的标签存储在图像数据库320中。
在一个替代实施例中,一个或多个用于处理捕获图像335以及发送捕获图像335到一个或多个通信地址和/或用户的移动相机设备350之外的设备的任务在对于图像共享应用300而言经由一个或多个通信网络365例如因特网是可访问的云360中执行,也就是说,所述任务借助于云计算来运行。在这个替代实施例的一个方面中,图像数据库320在远离用户的移动相机设备350的远程服务器上进行托管。在这个替代实施例的这个方面中,当用户370捕获到图像335时,图像程序325发送捕获图像335到云360。在这个替代实施例的这个方面中,云360相对于图像数据库320中存储的在先捕获图像355和/或从在先捕获图像355中提取的特征来分析捕获图像335,并尝试为捕获图像335中描绘的个人和/或场景元素生成最佳猜测。在这个替代实施例的这个方面中,云360发送其生成的最佳猜测到图像共享应用300,其中所述应用借助于图像程序325将最佳猜测覆盖在捕获图像335中相应的个人或场景元素上,如图2的示例中所描绘的,并且结果被输出给用户370,以便确认和/或用户输入。
图4描述具有捕获图像、识别捕获图像的接收方以及与识别的接收方共享捕获图像的能力的移动相机设备350的实施例。在一个实施例中,参考图3讨论的图像共享应用300运行在移动相机设备350上。在一个实施例中,捕获图像程序420运行在移动相机设备350上,用于捕获图像335,该图像随后能够被用户、摄影师370以及其他人查看、存储并利用图像共享应用300来处理,以便与其他个人和/或设备共享。
在一个实施例中,GPS全球定位***程序410运行在移动相机设备350上,以导出与捕获图像335相关的可靠的位置和时间信息。在一个实施例中,GPS程序410与能够识别当前时间以及当前位置的一个或多个方面例如经度、纬度等等的移动相机设备350的一个或多个传感器通信。在一个实施例中,GPS程序410为捕获图像335导出当前GPS信息,其随后对于图像共享应用300而言可用于处理和共享捕获图像335。
在一个实施例中,用户I/O输入/输出程序425运行在移动相机设备350上,以便与用户370通信。在实施例中,用户I/O程序425借助于一个或多个输入机制从用户370接收输入例如数据、命令等,其中输入机制包括但不限于小型键盘、触摸屏、语音激活技术等等。在实施例中,用户I/O程序425向用户370输出图像和数据,例如最佳猜测、命令屏幕等等。在一个实施例中,用户I/O程序425与图像共享应用300通信或以其他方式与之协力操作,以提供用户输入给图像共享应用300和接收图像、其上覆盖有最佳猜测的图像、将经由例如移动相机设备显示器290等等输出给用户370的命令屏幕。
在一个实施例中,设备I/O程序435运行在移动相机设备350上,以便与其他设备440例如USB棒驱动器等通信,从而上传或输入(import)先前捕获的图像345、和/或从先前捕获的图像345中提取的特征和/或先前生成的实体信息330。在一个实施例中,设备I/O程序435也能够与例如USB棒驱动器等的其他设备440通信,从而下载或输出(export)捕获图像355和/或从355中提取的特征、捕获图像和/或提取的特征标签355和/或用户生成的实体信息380,以便存储在其上面。在一个实施例中,设备I/O程序435与图像共享应用300通信或以其他方式与之协力操作,以输入或输出捕获图像和/或从中提取的特征、输入或输出捕获图像和/或提取的特征标签、输入或输出实体信息等等。
在一个实施例中,在这里也被称为comnet(通信网络)I/O程序的通信网络I/O程序415运行在移动相机设备350上,以便与一个或多个通信网络365通信,从而例如上传先前捕获的图像345、上传从先前捕获的图像345中提取的特征345、上传先前生成的实体信息330、发送捕获图像355到一个或多个个人或其他设备、与云360通信,用于图像处理和共享目的等等。在一个实施例中,通信网络I/O程序415与图像共享应用300通信或以其他方式与之协力操作,以执行无线通信网络输入和输出操作,其中所述操作支持图像共享应用对捕获图像335的处理和共享。
计算设备***配置
图5是示出能够对其实现实施例的示例计算设备***500的框图。计算设备***或计算设备500的示例包括但不限于:计算机,例如台式计算机、在这里也被称为膝上型计算机的计算机膝上型、笔记本等等;智能电话;拍照电话;具有因特网通信和处理能力的相机等等。