基于图像的应用程序启动器的制作方法

文档序号:14924595发布日期:2018-07-13 15:43阅读:156来源:国知局

例如移动电话、平板计算机、个人数字助理和其它此些装置等移动装置中的技术进步已经为这些装置提供增加的处理器功率、经改善的显示质量以及下载和运行应用程序的能力。许多移动装置包含可俘获静态图像、视频或两者的相机。许多所述装置能够在宽带网络上通信以与其它装置共享内容且从因特网接收多媒体内容。



技术实现要素:

根据本发明的一种用于管理与移动装置相关联的应用程序的方法包含:获得与所述移动装置相关联的相机的视图中的对象的图像;起始对象识别程序以基于从所述图像提取的所述对象的属性识别所述图像中的所述对象;基于所述对象识别程序识别与所述对象相关联的应用程序;以及在所述移动装置上自动启动所述应用程序。

此方法的实施方案可包含以下特征中的一或多者。所述对象识别程序包含从所述图像提取所述属性且将从所述图像提取的所述属性与存储在所述移动装置上的本地数据库中的与对象相关联的属性进行比较以识别所述图像中的所述对象。所述本地数据库中的所述与对象相关联的属性经组织成搜索树;且将从所述图像提取的所述属性与包含在所述本地数据库中的所述与对象相关联的属性进行比较包含基于从所述图像提取的所述属性和所述搜索树识别所述图像中的所述对象。响应于通过将从所述图像提取的所述属性与所述本地数据库中的所述与对象相关联的属性进行比较未识别出所述对象而将所述对象的所述图像或从所述图像提取的所述属性发送到位于远程服务器上的视觉搜索引擎;以及从位于所述远程服务器上的所述视觉搜索引擎接收所述对象的识别。识别与所述对象相关联的所述应用程序包含使用存储在所述移动装置上的本地数据库识别与所述对象相关联的一或多个应用程序。起始所述对象识别程序包含将所述对象的所述图像或从所述图像提取的所述属性发送到位于远程服务器上的视觉搜索引擎。识别与所述对象相关联的所述应用程序包含从所述视觉搜索引擎接收识别与所述对象相关联的一或多个应用程序的信息。自动启动所述应用程序包含确定所述应用程序是否安装在所述移动装置上。在所述移动装置上自动启动所述应用程序包含:在所述应用程序安装在所述移动装置上的情况下启动所述应用程序;以及在所述应用程序未安装在所述移动装置上的情况下显示用于获取所述应用程序的接口,且在所述应用程序经获取的情况下基于对所述接口的输入启动所述应用程序。识别与所述对象相关联的多个候选应用程序,以及从所述多个候选应用程序选择所述应用程序。从所述多个候选应用程序选择所述应用程序包含基于用户选择而选择所述应用程序。显示所述多个候选应用程序的列表,以及提示用户从所述所显示的列表提供所述用户选择。显示所述多个候选应用程序的所述列表包含根据估计相关性对所述列表上的所述多个候选应用程序进行排序。从所述多个候选应用程序选择所述应用程序包含基于用户简档而选择所述应用程序。基于用户输入或所述移动装置的观测使用模式中的至少一者构造所述用户简档。所述应用程序是增强现实应用程序。

根据本发明的一种用于管理与移动装置相关联的应用程序的设备包含:用于获得与所述移动装置相关联的相机的视图中的对象的图像的装置;用于起始对象识别程序以基于从所述图像提取的所述对象的属性识别所述图像中的所述对象的装置;用于基于所述对象识别程序识别与所述对象相关联的应用程序的装置;以及用于在所述移动装置上自动启动所述应用程序的装置。

此类设备的实施方案可包含以下特征中的一或多者。所述对象识别程序包含用于从所述图像提取所述属性的装置以及用于将从所述图像提取的所述属性与存储在所述移动装置上的本地数据库中的与对象相关联的属性进行比较以识别所述图像中的所述对象的装置。所述本地数据库中的所述与对象相关联的属性经组织成搜索树;且其中用于将从所述图像提取的所述属性与包含在所述本地数据库中的所述与对象相关联的属性进行比较的装置包含用于基于从所述图像提取的所述属性和所述搜索树识别所述图像中的所述对象的装置。用于响应于通过将从所述图像提取的所述属性与所述本地数据库中的所述与对象相关联的属性进行比较未识别出所述对象而将所述对象的所述图像或从所述图像提取的所述属性发送到位于远程服务器上的视觉搜索引擎的装置,以及用于从位于所述远程服务器上的所述视觉搜索引擎接收所述对象的识别的装置。所述用于识别与所述对象相关联的所述应用程序的装置包含用于使用存储在所述移动装置上的本地数据库识别与所述对象相关联的一或多个应用程序的装置。所述用于起始所述对象识别程序的装置包含用于将所述对象的所述图像或从所述图像提取的所述属性发送到位于远程服务器上的视觉搜索引擎的装置。所述用于识别与所述对象相关联的所述应用程序的装置包含用于从所述视觉搜索引擎接收识别与所述对象相关联的一或多个应用程序的信息的装置。所述用于自动启动所述应用程序的装置包含用于确定所述应用程序是否安装在所述移动装置上的装置。所述用于在所述移动装置上自动启动所述应用程序的装置包含:用于在所述应用程序安装在所述移动装置上的情况下启动所述应用程序的装置;以及用于在所述应用程序未安装在所述移动装置上的情况下显示用于获取所述应用程序的接口且在所述应用程序经获取的情况下基于对所述接口的输入启动所述应用程序的装置。用于识别与所述对象相关联的多个候选应用程序的装置,以及用于从所述多个候选应用程序选择所述应用程序的装置。所述用于从所述多个候选应用程序选择所述应用程序的装置包含用于基于用户选择而选择所述应用程序的装置。用于显示所述多个候选应用程序的列表的装置,以及用于提示用户从所述所显示的列表提供所述用户选择的装置。用于显示所述多个候选应用程序的所述列表的装置包含用于根据估计相关性对所述列表上的所述多个候选应用程序进行排序的装置。所述用于从所述多个候选应用程序选择所述应用程序的装置包含用于基于用户简档而选择所述应用程序的装置。用于基于用户输入或所述移动装置的观测使用模式中的至少一者构造所述用户简档的装置。所述应用程序是增强现实应用程序。

根据本发明的一种实例性非暂时性计算机可读媒体具有存储于其上的用于管理与移动装置相关联的应用程序的计算机可读指令。所述指令经配置以致使计算机:获得与所述移动装置相关联的相机的视图中的对象的图像;起始对象识别程序以基于从所述图像提取的所述对象的属性识别所述图像中的所述对象;基于所述对象识别程序识别与所述对象相关联的应用程序;以及在所述移动装置上自动启动所述应用程序。

此非暂时性计算机可读媒体的实施方案可包含以下特征中的一或多者。用以执行所述对象识别程序的代码包含用以致使所述计算机从所述图像提取所述属性且将从所述图像提取的所述属性与存储在所述移动装置上的本地数据库中的与对象相关联的属性进行比较以识别所述图像中的所述对象的代码。所述本地数据库中的所述与对象相关联的属性经组织成搜索树,且用以致使所述计算机将从所述图像提取的所述属性与包含在所述本地数据库中的所述与对象相关联的属性进行比较的代码包含用以致使所述计算机基于从所述图像提取的所述属性和所述搜索树识别所述图像中的所述对象的代码。用以致使所述计算机进行以下操作的代码:响应于通过将从所述图像提取的所述属性与所述本地数据库中的所述与对象相关联的属性进行比较未识别出所述对象而将所述对象的所述图像或从所述图像提取的所述属性发送到位于远程服务器上的视觉搜索引擎;以及从位于所述远程服务器上的所述视觉搜索引擎接收所述对象的识别。用以致使所述计算机识别与所述对象相关联的所述应用程序的代码包含使用存储在所述移动装置上的本地数据库识别与所述对象相关联的一或多个应用程序。用以致使所述计算机起始所述对象识别程序的代码包含用以致使所述计算机将所述对象的所述图像或从所述图像提取的所述属性发送到位于远程服务器上的视觉搜索引擎的代码。用以致使所述计算机识别与所述对象相关联的所述应用程序的代码包括用以致使所述计算机从所述视觉搜索引擎接收识别与所述对象相关联的一或多个应用程序的信息的代码。用以致使所述计算机自动启动所述应用程序的代码包含用以致使所述计算机确定所述应用程序是否安装在所述移动装置上的代码。用以致使所述计算机在所述移动装置上自动启动所述应用程序的代码包括用以致使所述计算机进行以下操作的代码:在所述应用程序安装在所述移动装置上的情况下启动所述应用程序;以及在所述应用程序未安装在所述移动装置上的情况下显示用于获取所述应用程序的接口,且在所述应用程序经获取的情况下基于对所述接口的输入启动所述应用程序。用以致使所述计算机进行以下操作的代码:识别与所述对象相关联的多个候选应用程序;以及从所述多个候选应用程序选择所述应用程序。用以致使所述计算机从所述多个候选应用程序选择所述应用程序的代码包含用以致使所述计算机基于用户选择而选择所述应用程序的代码。用以致使所述计算机进行以下操作的代码:显示所述多个候选应用程序的列表,以及提示用户从所述所显示的列表提供所述用户选择。用以致使所述计算机显示所述多个候选应用程序的所述列表的代码包含用以致使所述计算机根据估计相关性对所述列表上的所述多个候选应用程序进行排序的代码。用以致使所述计算机从所述多个候选应用程序选择所述应用程序的代码包含用以致使所述计算机基于用户简档而选择所述应用程序的代码。用以致使所述计算机基于用户输入或所述移动装置的观测使用模式中的至少一者构造所述用户简档的代码。所述应用程序是增强现实应用程序。

根据本发明的一种用于管理与移动装置相关联的应用程序的实例性设备包含经配置以无线地发射及接收数据的收发器,非暂时性计算机可读存储器;多个模块,其包括存储在所述非暂时性计算机可读存储器中的处理器可执行代码;以及处理器,其连接到所述非暂时性计算机可读存储器且经配置以存取存储在所述非暂时性计算机可读存储器中的所述多个模块。所述设备还包含:图像俘获模块,其经配置以获得与所述移动装置相关联的相机的视图中的对象的图像;图像识别模块,其经配置以起始对象识别程序以基于从所述图像提取的所述对象的属性识别所述图像中的所述对象,且基于所述对象识别程序识别与所述对象相关联的应用程序;以及应用程序启动器模块,其用以在所述移动装置上自动启动所述应用程序。

此设备的实施方案也可包含以下特征中的一或多者。经配置以执行所述对象识别程序的所述图像识别模块经配置以从所述图像提取所述属性且将从所述图像提取的所述属性与存储在所述移动装置上的本地数据库中的与对象相关联的属性进行比较以识别所述图像中的所述对象。所述本地数据库中的所述与对象相关联的属性经组织成搜索树;且经配置以将从所述图像提取的所述属性与包含在所述本地数据库中的所述与对象相关联的属性进行比较的所述图像识别模块进一步经配置以基于从所述图像提取的所述属性和所述搜索树识别所述图像中的所述对象。所述图像识别模块进一步经配置以:响应于通过将从所述图像提取的所述属性与所述本地数据库中的所述与对象相关联的属性进行比较未识别出所述对象而将所述对象的所述图像或从所述图像提取的所述属性发送到位于远程服务器上的视觉搜索引擎;以及从位于所述远程服务器上的所述视觉搜索引擎接收所述对象的识别。经配置以识别与所述对象相关联的所述应用程序的所述图像识别模块进一步经配置以使用存储在所述移动装置上的本地数据库识别与所述对象相关联的一或多个应用程序。经配置以起始所述对象识别程序的所述图像识别模块进一步经配置以将所述对象的所述图像或从所述图像提取的所述属性发送到位于远程服务器上的视觉搜索引擎。经配置以识别与所述对象相关联的所述应用程序的所述图像识别模块进一步经配置以从所述视觉搜索引擎接收识别与所述对象相关联的一或多个应用程序的信息。经配置以自动启动所述应用程序的所述应用程序启动器模块进一步经配置以确定所述应用程序是否安装在所述移动装置上。经配置以在所述移动装置上自动启动所述应用程序的所述应用程序启动器模块进一步经配置以在所述应用程序安装在所述移动装置上的情况下启动所述应用程序;且所述设备进一步包含应用程序获取模块,其经配置以在所述应用程序未安装在所述移动装置上的情况下显示用于获取所述应用程序的接口,且在所述应用程序经获取的情况下基于对所述接口的输入启动所述应用程序。所述图像识别模块进一步经配置以识别与所述对象相关联的多个候选应用程序,以及从所述多个候选应用程序选择所述应用程序。经配置以从所述多个候选应用程序选择所述应用程序的所述应用程序启动器模块进一步经配置以基于用户选择而选择所述应用程序。所述应用程序启动器模块进一步经配置以显示所述多个候选应用程序的列表,以及提示用户从所述所显示的列表提供所述用户选择。经配置以显示所述多个候选应用程序的所述列表的所述应用程序启动器模块进一步经配置以根据估计相关性对所述列表上的所述多个候选应用程序进行排序。经配置以从所述多个候选应用程序选择所述应用程序的所述应用程序启动器模块进一步经配置以基于用户简档而选择所述应用程序。所述应用程序启动器模块进一步经配置以基于用户输入或所述移动装置的观测使用模式中的至少一者构造所述用户简档。所述应用程序是增强现实应用程序。

根据本发明的一种用于识别与由移动装置俘获的图像相关联的应用程序的实例性方法包含:从所述移动装置接收关于由与所述移动装置相关联的相机俘获的对象的图像的信息;基于所述信息识别所述对象;识别与所述所识别对象相关联的应用程序;以及将至少包含与所述所识别对象相关联的应用程序的识别的信息发射到所述移动装置。

此方法的实施方案可包含以下特征中的一或多者。所述信息包括所述对象的图像,且识别所述对象包含将所述图像或从所述图像提取的对象的属性与对象数据库的内容进行比较以识别所述图像中的对象。所述信息包括从所述图像提取的所述对象的属性,且识别所述对象包含将所述对象的属性与对象数据库中的与对象相关联的属性进行比较。识别与所述所识别对象相关联的应用程序包含将与所识别对象相关联的信息发送到应用程序门户服务器以及从所述应用程序门户服务器接收与所述应用程序相关联的应用程序识别符,且所述应用程序门户服务器经配置以存储来自多个应用程序提供者的多个应用程序,每一应用程序与至少一个对象和/或对象类型相关联。发射到所述移动装置的信息包含应用程序识别符。发射到所述移动装置的信息对所述移动装置使用应用程序识别符从应用程序门户服务器下载所述应用程序的指令。从应用程序门户服务器请求与同所识别对象相关联的应用程序相关联的可执行应用程序内容,所述请求包含所述应用程序识别符;从应用程序门户服务器接收可执行应用程序内容,且其中将所述信息发射到移动装置包含将可执行应用程序内容发射到移动装置。

根据本发明的一种用于识别与由移动装置俘获的图像相关联的应用程序的实例性设备包含:用于从所述移动装置接收关于由与所述移动装置相关联的相机俘获的对象的图像的信息的装置;基于所述信息识别所述对象;识别与所述所识别对象相关联的应用程序;以及将至少包含与所述所识别对象相关联的应用程序的识别的信息发射到所述移动装置。

此类设备的实施方案可包含以下特征中的一或多者。所述信息包含所述对象的图像,且用于识别所述对象的装置包含用于将所述图像或从所述图像提取的对象的属性与对象数据库的内容进行比较以识别所述图像中的对象的装置。所述信息包含从所述图像提取的对象的属性,且用于识别所述对象的装置包含用于将所述对象的属性与对象数据库中的与对象相关联的属性进行比较的装置。用于识别与所述所识别对象相关联的应用程序的装置包含用于将与所识别对象相关联的信息发送到应用程序门户服务器的装置以及用于从所述应用程序门户服务器接收与所述应用程序相关联的应用程序识别符的装置,且所述应用程序门户服务器经配置以存储来自多个应用程序提供者的多个应用程序,每一应用程序与至少一个对象和/或对象类型相关联。发射到所述移动装置的信息包含应用程序识别符。发射到所述移动装置的信息包含对所述移动装置使用应用程序识别符从应用程序门户服务器下载所述应用程序的指令。用于从应用程序门户服务器请求与同所识别对象相关联的应用程序相关联的可执行应用程序内容的装置,所述请求包含所述应用程序识别符;以及用于从应用程序门户服务器接收可执行应用程序内容的装置,且其中将所述信息发射到移动装置包含将可执行应用程序内容发射到移动装置。用于识别与所识别对象相关联的应用程序的装置包含用于从与所识别对象相关联的多个应用程序选择应用程序的装置。

根据本发明的一种实例性非暂时性计算机可读媒体具有存储于其上的用于识别与由移动装置俘获的图像相关联的应用程序的计算机可读指令。所述指令经配置以致使计算机:从所述移动装置接收关于由与所述移动装置相关联的相机俘获的对象的图像的信息;基于所述信息识别所述对象;识别与所述所识别对象相关联的应用程序;以及将至少包含与所述所识别对象相关联的应用程序的识别的信息发射到所述移动装置。

此非暂时性计算机可读媒体的实施方案可包含以下特征中的一或多者。所述信息包含所述对象的图像,且经配置以致使所述计算机识别所述对象的指令包含经配置以致使所述计算机将所述图像或从所述图像提取的对象的属性与对象数据库的内容进行比较以识别所述图像中的对象的指令。所述信息包含从所述图像提取的所述对象的属性,且经配置以致使所述计算机识别所述对象的指令包含经配置以致使所述计算机将所述对象的属性与对象数据库中的与对象相关联的属性进行比较的指令。经配置以致使所述计算机识别与所述所识别对象相关联的应用程序的指令包含经配置以致使所述计算机将与所识别对象相关联的信息发送到应用程序门户服务器以及从所述应用程序门户服务器接收与所述应用程序相关联的应用程序识别符的指令,所述应用程序门户服务器经配置以存储来自多个应用程序提供者的多个应用程序,每一应用程序与至少一个对象和/或对象类型相关联。发射到所述移动装置的信息包含应用程序识别符。发射到所述移动装置的信息对所述移动装置使用应用程序识别符从应用程序门户服务器下载所述应用程序的指令。经配置以致使所述计算机进行以下操作的指令:从应用程序门户服务器请求与同所识别对象相关联的应用程序相关联的可执行应用程序内容,所述请求包含所述应用程序识别符;以及从应用程序门户服务器接收可执行应用程序内容,且其中经配置以致使所述计算机将所述信息发射到移动装置的指令包含经配置以致使所述计算机将可执行应用程序内容发射到移动装置的指令。

根据本发明的一种用于识别与由移动装置俘获的图像相关联的应用程序的实例性设备包含经配置以无线地发射及接收数据的收发器;非暂时性计算机可读存储器;以及多个模块,其包括存储在所述非暂时性计算机可读存储器中的处理器可执行代码;以及处理器,其连接到所述非暂时性计算机可读存储器且经配置以存取存储在所述非暂时性计算机可读存储器中的所述多个模块。所述设备还包含视觉搜索引擎模块,其经配置以:从所述移动装置接收关于由与所述移动装置相关联的相机俘获的对象的图像的信息;基于所述信息识别所述对象;基于所述信息识别所述对象;识别与所述所识别对象相关联的应用程序;以及将至少包含与所述所识别对象相关联的应用程序的识别的信息发射到所述移动装置。

此类设备的实施方案可包含以下特征中的一或多者。所述信息包含所述对象的图像,且经配置以识别所述对象的视觉搜索引擎模块进一步经配置以将所述图像或从所述图像提取的对象的属性与对象数据库的内容进行比较以识别所述图像中的对象。所述信息包含从所述图像提取的所述对象的属性,且其中经配置以识别所述对象的视觉搜索引擎模块进一步经配置以将所述对象的属性与对象数据库中的与对象相关联的属性进行比较。经配置以识别与所述所识别对象相关联的应用程序的视觉搜索引擎模块进一步经配置以将与所识别对象相关联的信息发送到应用程序门户服务器以及从所述应用程序门户服务器接收与所述应用程序相关联的应用程序识别符,所述应用程序门户服务器经配置以存储来自多个应用程序提供者的多个应用程序,每一应用程序与至少一个对象和/或对象类型相关联。发射到所述移动装置的信息包含应用程序识别符。发射到所述移动装置的信息包含对所述移动装置使用应用程序识别符从应用程序门户服务器下载所述应用程序的指令。应用程序获取模块经配置以:从应用程序门户服务器请求与同所识别对象相关联的应用程序相关联的可执行应用程序内容,所述请求包含所述应用程序识别符;从应用程序门户服务器接收可执行应用程序内容,且将可执行应用程序内容发射到移动装置。经配置以识别与所识别对象相关联的应用程序的视觉搜索引擎模块进一步经配置以从与所识别对象相关联的多个应用程序选择应用程序。

根据本发明的一种用于识别与由移动装置俘获的图像相关联的对象的实例性方法包含:从所述移动装置接收关于由与所述移动装置相关联的相机俘获的对象的图像的信息;基于所述信息识别所述对象;以及将至少包含所识别对象的识别的信息发射到所述移动装置。

此方法的实施方案可包含以下特征中的一或多者。所述信息包含所述对象的图像,且识别所述对象包含将所述图像或从所述图像提取的对象的属性与对象数据库的内容进行比较以识别所述图像中的对象。所述信息包含从所述图像提取的所述对象的属性,且识别所述对象包含将所述对象的属性与对象数据库中的与对象相关联的属性进行比较。

根据本发明的一种用于识别与由移动装置俘获的图像相关联的对象的实例性设备包含:用于从所述移动装置接收关于由与所述移动装置相关联的相机俘获的对象的图像的信息的装置;用于基于所述信息识别所述对象的装置;以及用于将至少包含所识别对象的识别的信息发射到所述移动装置的装置。

此类设备的实施方案可包含以下特征中的一或多者。所述信息包含所述对象的图像,且用于识别所述对象的装置包含用于将所述图像或从所述图像提取的对象的属性与对象数据库的内容进行比较以识别所述图像中的对象的装置。所述信息包含从所述图像提取的对象的属性,且用于识别所述对象的装置包含用于将所述对象的属性与对象数据库中的与对象相关联的属性进行比较的装置。

根据本发明的一种实例性非暂时性计算机可读媒体具有存储于其上的用于识别与由移动装置俘获的图像相关联的对象的计算机可读指令。所述指令经配置以致使计算机:从所述移动装置接收关于由与所述移动装置相关联的相机俘获的对象的图像的信息;基于所述信息识别所述对象;以及将至少包含所识别对象的识别的信息发射到所述移动装置。

此非暂时性计算机可读媒体的实施方案可包含以下特征中的一或多者。所述信息包含所述对象的图像,且经配置以致使所述计算机识别所述对象的指令包含经配置以致使所述计算机将所述图像或从所述图像提取的对象的属性与对象数据库的内容进行比较以识别所述图像中的对象的指令。所述信息包含从所述图像提取的所述对象的属性,且经配置以致使所述计算机识别所述对象的指令包含经配置以致使所述计算机将所述对象的属性与对象数据库中的与对象相关联的属性进行比较的指令。

根据本发明的一种用于识别与由移动装置俘获的图像相关联的对象的设备包含:经配置以无线地发射及接收数据的收发器;非暂时性计算机可读存储器;多个模块,其包括存储在所述非暂时性计算机可读存储器中的处理器可执行代码;处理器,其连接到所述非暂时性计算机可读存储器且经配置以存取存储在非暂时性计算机可读存储器中的所述多个模块;以及视觉搜索引擎模块。所述视觉搜索引擎模块经配置以:从所述移动装置接收关于由与所述移动装置相关联的相机俘获的对象的图像的信息;基于所述信息识别所述对象;以及将至少包含所识别对象的识别的信息发射到所述移动装置。

此类设备的实施方案可包含以下特征中的一或多者。所述信息包含所述对象的图像,且经配置以识别所述对象的视觉搜索引擎模块进一步经配置以将所述图像或从所述图像提取的对象的属性与对象数据库的内容进行比较以识别所述图像中的对象。所述信息包含从所述图像提取的所述对象的属性,且经配置以识别所述对象的视觉搜索引擎模块进一步经配置以将所述对象的属性与对象数据库中的与对象相关联的属性进行比较。

根据本发明的一种用于提供与对象或对象类型相关联的应用程序内容的实例性方法包含:接收与来自移动装置或视觉搜索服务器的针对应用程序内容的请求有关的信息;在应用程序数据库中识别与所述信息相关联的应用程序内容,所述应用程序数据库包括与来自多个应用程序提供者的多个应用程序相关联的应用程序内容,每一应用程序与至少一个对象和/或对象类型和唯一应用程序识别符相关联;以及将所述所识别应用程序内容发射到所述移动装置或所述视觉搜索服务器。

此方法的实施方案可包含以下特征中的一或多者。所述信息包含对象和/或对象类型,且所述应用程序内容包括与所述对象和/或对象类型相关联的应用程序的列表。所述信息包含唯一应用程序识别符,且所述应用程序内容包括用于所述移动装置的可执行应用程序内容。所述信息包括从由所述移动装置俘获的所述对象的图像提取的对象的属性,且所述识别是基于所述属性。所述信息包括对象的识别符,且所述识别是基于所述识别符。从应用程序提供者接收对象的识别符或可从所述对象的图像提取的所述对象的属性,从所述应用程序提供者接收与所述对象相关联的应用程序,将所述识别符或所述属性存储在所述应用程序数据库中,以及在所述应用程序数据库中存储所述应用程序以使得所述应用程序与所述所存储的识别符或属性相关联。

根据本发明的一种用于提供与对象或对象类型相关联的应用程序内容的实例性设备包含:用于接收与来自移动装置或视觉搜索服务器的针对应用程序内容的请求有关的信息的装置;用于在应用程序数据库中识别与所述信息相关联的应用程序内容的装置,所述应用程序数据库包括与来自多个应用程序提供者的多个应用程序相关联的应用程序内容,每一应用程序与至少一个对象和/或对象类型和唯一应用程序识别符相关联;以及用于将所述应用程序内容发射到所述移动装置或所述视觉搜索服务器的装置。

此类设备的实施方案可包含以下特征中的一或多者。所述信息包含对象和/或对象类型,且所述应用程序内容包含与所述对象和/或对象类型相关联的应用程序的列表。所述信息包含唯一应用程序识别符,且其中所述应用程序内容包含用于所述移动装置的可执行应用程序内容。所述信息包括从由所述移动装置俘获的对象的图像提取的对象的属性,且其中用于识别的装置包括用于基于所述属性识别应用程序内容的装置。所述信息包括对象的识别符,且其中用于识别的装置包括用于基于所述识别符进行识别的装置。用于从应用程序提供者接收对象的识别符或可从所述对象的图像提取的所述对象的属性的装置,用于从所述应用程序提供者接收与所述对象相关联的应用程序,将所述识别符或所述属性存储在所述应用程序数据库中的装置,以及用于在所述应用程序数据库中存储所述应用程序以使得所述应用程序与所述所存储的识别符或属性相关联的装置。

根据本发明的一种实例性非暂时性计算机可读媒体具有存储于其上的用于提供与对象或对象类型相关联的应用程序内容的计算机可读指令。所述指令经配置以致使计算机:接收与来自移动装置或视觉搜索服务器的针对应用程序内容的请求有关的信息;在应用程序数据库中识别与所述信息相关联的应用程序内容,所述应用程序数据库包括与来自多个应用程序提供者的多个应用程序相关联的应用程序内容,每一应用程序与至少一个对象和/或对象类型和唯一应用程序识别符相关联;以及将所述应用程序内容发射到所述移动装置或所述视觉搜索服务器。

此非暂时性计算机可读媒体的实施方案可包含以下特征中的一或多者。所述信息包含对象和/或对象类型,且所述应用程序内容包含与所述对象和/或对象类型相关联的应用程序的列表。所述信息包含唯一应用程序识别符,且所述应用程序内容包含用于所述移动装置的可执行应用程序内容。所述信息包括从由所述移动装置俘获的对象的图像提取的对象的属性,且经配置以致使所述计算机识别应用程序内容的指令包括经配置以致使所述计算机基于所述属性识别应用程序内容的指令。所述信息包括对象的识别符,且经配置以致使所述计算机识别应用程序内容的指令包括经配置以致使所述计算机基于所述识别符识别应用程序内容的指令。经配置以致使所述计算机进行以下操作的指令:从应用程序提供者接收对象的识别符或可从所述对象的图像提取的所述对象的属性;从所述应用程序提供者接收与所述对象相关联的应用程序;将所述识别符或所述属性存储在所述应用程序数据库中,以及在所述应用程序数据库中存储所述应用程序以使得所述应用程序与所述所存储的识别符或属性相关联。

根据本发明的一种用于提供与对象或对象类型相关联的应用程序内容的实例性设备包含:收发器,其经配置以接收与来自移动装置或视觉搜索服务器的针对应用程序内容的请求有关的信息;应用程序数据库,其包括与来自多个应用程序提供者的多个应用程序相关联的应用程序内容,每一应用程序与至少一个对象和/或对象类型和唯一应用程序识别符相关联;以及处理器。所述处理器经配置以在所述应用程序数据库中识别与所述信息相关联的应用程序内容;其中所述收发器进一步经配置以将所述所识别应用程序内容发射到所述移动装置或所述视觉搜索服务器。

此类设备的实施方案可包含以下特征中的一或多者。所述信息包含对象和/或对象类型,且所述应用程序内容包含与所述对象和/或对象类型相关联的应用程序的列表。所述信息包含唯一应用程序识别符,且所述应用程序内容包含用于所述移动装置的可执行应用程序内容。所述信息包括从由所述移动装置俘获的对象的图像提取的对象的属性,且其中所述处理器经配置以基于所述属性识别应用程序内容。所述信息包括对象的识别符,且其中所述处理器经配置以基于所述识别符识别应用程序内容。所述处理器进一步经配置以:从应用程序提供者接收对象的识别符或可从所述对象的图像提取的所述对象的属性;从所述应用程序提供者接收与所述对象相关联的应用程序;将所述识别符或所述属性存储在所述应用程序数据库中;以及在所述应用程序数据库中存储所述应用程序以使得所述应用程序与所述所存储的识别符或属性相关联。

本文中描述的项目和/或技术可提供以下能力中的一或多者以及未提到的其它能力。

附图说明

图1为无线通信系统的简化图。

图2是可用于实施图1中说明的移动台的移动装置的功能框图。

图3为说明图2中所展示存储器的功能模块的图1中所说明的移动台的功能框图。

图4是可用于实施图1中说明的视觉搜索服务器的计算机系统的功能框图。

图5是用于管理与移动装置相关联的应用程序的过程的框流程图。

图6是用于识别使用与移动装置相关联的相机俘获的对象的图像中的对象的过程的框流程图。

图7是用于识别与由与移动装置相关联的相机俘获的对象的图像中识别的对象相关联的应用程序的过程的框流程图。

图8是用于在移动装置上启动应用程序的过程的框流程图。

图9是用于选择将在移动装置上启动的候选应用程序的过程的框流程图。

图10是用于识别由与移动装置相关联的相机俘获的图像中的对象以及用于识别与所述对象相关联的至少一个候选应用程序的过程的框流程图。

图11是可用以实施图1中说明的应用程序门户服务器的计算机系统的框图。

图12是用于识别使用移动装置的相机俘获的图像中的对象的过程的框流程图。

图13是用于识别与由移动装置的相机俘获的图像中的对象相关联的对象和/或对象类型的过程的框流程图。

图14是用于提供与对象和/或对象类型相关联的应用程序信息的过程的框流程图。

图15是用于更新应用程序数据存储装置中的应用程序信息的过程的图的框。

图16是用于将与特定应用程序相关联的应用程序信息提供到移动装置或视觉搜索服务器的过程的框流程图。

具体实施方式

提供用于管理与移动装置相关联的应用程序的技术。本文所揭示的技术包含用于获得与移动装置相关联的相机的视图中的对象的图像、基于从所述图像提取的对象的属性识别所述图像中的对象以及确定一或多个应用程序是否与所述对象相关联的技术。移动装置可包含启动器功能性,其允许移动装置的用户通过将移动装置的相机指向现实世界对象(目标)而识别、开始和/或获取应用程序,例如增强现实(AR)应用程序或其它应用程序。如本文所使用的术语“应用程序”指代计算应用程序,即,经设计以在移动装置上执行特定任务或任务集合的计算机程序或计算机软件组件。应用程序可包括可由移动装置的处理器执行和/或解译的处理器可执行程序代码的集合。应用程序还可经配置以执行在移动装置的固件和/或硬件中和/或作为移动装置的操作系统的部分而实施的一或多个例程。在一些实施方案中,应用程序可与移动装置的操作系统和/或原生功能性分离。举例来说,在一些实施方案中应用程序可从移动装置下载、存储、更新和/或删除而不影响移动装置的其它操作。在一些实施方案中,应用程序不是子功能或不作为移动装置的另一操作的子过程而调用,而是可由移动装置的用户单独地选择和/或激活。

如果存在与现实世界对象(在本文中也被称作目标)相关联的一或多个应用程序,那么与所述对象相关联的应用程序可在移动装置上自动启动。现实世界对象与应用程序之间的关联在一些实施例中可由视觉指示符识别,例如图标、符号或对象上的其它标记,其指示所述对象与一或多个应用程序相关联或可用以搜索用于潜在相关联的应用程序的数据库。

图1是其中可实施用于管理与移动装置相关联的应用程序的技术的无线通信系统的简化图。在图1中示出的实例中,无线网络环境包含无线接入点115、基站140、多个移动装置120、网络110、视觉搜索服务器125以及应用程序门户服务器145。

图1中说明的实例网络环境包含单个无线接入点115,但可用以实施本文所揭示的技术的其它网络环境可包含更多或更少的无线接入点。术语“接入点”是出于简单起见而使用,但是指通信装置,更一般地说,其中的一个实例包含无线局域网中的接入点,例如IEEE 802系列相容网络,包含通常被称为Wi-Fi的IEEE 802.11族标准。例如,使用蓝牙的装置可为根据本发明的通信装置。由此,术语接入点的使用不排除其它类别的通信网络。此外,无线接入点115可经配置以实施其它无线通信标准以作为来自IEEE 802系列的标准的补充或替代。无线接入点115还可实施为经配置以操作用于移动通信网络的基站的毫微微小区。无线接入点115可定位于固定位置处或可移动。例如,无线接入点115可为经配置以提供WiFi热点且经配置以无线地连接到移动通信网络(例如,用以提供到WiFi热点的网络连接性的WAN)的移动装置。

基站140经配置以与例如移动装置120等多个移动装置无线通信。基站140可与移动通信网络提供商相关联且可经配置以使用用于移动装置的一或多个无线通信协议通信。例如,基站140可经配置以使用无线通信协议中的一或多者,所述无线通信协议例如为码分多址(CDMA)、时分多址(TDMA)、频分多址(FDMA)、正交FDMA(OFDMA),及单载波FDMA(SC-FDMA)、长期演进(LTE),及/或其它无线通信协议。例如,基站140可为实施LTE无线通信标准的无线通信系统中的演进节点B(eNB)。本文中所论述的无线通信仅是可由基站140实施的无线协议的类型中的一些类型的实例,且并不希望将本文中所论述的技术限制于使用这些协议的无线通信网络。

图1中说明的实例网络环境还包含两个移动装置120,但可用于实施本文中揭示的技术的其它网络环境可包含更多或更少的移动装置。移动装置120可经配置以(例如)通过无线接入点115或无线基站140中的一者与一或多个视觉搜索服务器125和/或应用程序门户服务器145通信。视觉搜索服务器125可经配置以对与从移动装置120接收的图像相关联的图像内容和/或描述符、关键点和/或其它信息或属性执行搜索且尝试识别图像中的对象。视觉搜索服务器125可响应于来自移动装置120的请求将图像中的对象的身份提供到移动装置120和/或将与此对象相关联的其它信息或属性提供到移动装置120。视觉搜索服务器125还可经配置以使一或多个应用程序与对象关联且将与那些应用程序相关联的应用程序识别符提供到移动装置120。视觉搜索服务器125还可经配置以将与所识别应用程序相关联的可执行应用程序内容获得到移动装置120且可经配置以从应用程序门户服务器145获得应用程序内容。应用程序门户服务器145可经配置以允许应用程序开发者登记应用程序且使应用程序与可用以使应用程序与对象和/或对象的类型关联的描述符、关键点和/或其它信息或属性关联。应用程序门户服务器145可提供可用以使应用程序与对象和/或对象的类型关联的描述符、关键点和/或其它信息或属性与一或多个应用程序的应用程序识别符之间的关联,且视觉搜索服务器125可使用此信息来选择将提供到移动装置120和/或在移动装置120上启动的一或多个应用程序。图4中提供视觉搜索服务器125的实例实施方案且图11中提供应用程序门户145的实例实施方案。在其它实施方案中,视觉搜索服务器125和应用程序门户服务器145的一或多个功能可组合到单个服务器或服务器集合上。在其它实施方案中,网络环境可含有还可经配置以将信息和/或电子内容提供到移动装置120的其它服务器(未图示)。

图2是可用于实施移动装置(例如图1中说明的移动装置120)的系统架构的实例。移动装置120可包含图2中说明的组件中的一些或全部且可包含图3中未说明的额外组件,且可经配置以实施各种功能,例如下文详细描述的图5到9中说明的阶段过程中的至少一些。在一些实施方案中,移动装置120可省略图2中说明的组件中的一或多者。移动装置120可为移动电话、平板计算机、个人数字助理或其它此类便携式计算装置。

移动装置120可包含传感器205(例如,陀螺仪、加速度计、惯性测量单元(IMU)和/或其它类型的传感器)和用于处理由传感器205收集的数据的传感器处理器210。由传感器收集的数据可用以确定移动台的定向、移动台的加速度或速度和/或其它信息,其例如可有用于确定移动装置120的位置。由传感器205收集的数据也可用以对移动装置120上的一或多个应用程序提供输入,包含用以确定移动装置120的位置的定位引擎。

移动装置120还可包含相机215及相机处理器220。相机215可经配置以俘获图像及/或视频内容。相机处理器220可经配置以处理由相机215收集的数据,且将由相机收集的数据转换为可由移动装置120上的一或多个应用程序使用及/或在移动装置120的显示器225上观看的格式。相机处理器220可经配置以对从相机收集的数据执行各种类型的图像或视频处理以准备用于在显示器225上显示的内容。

显示器225可为包含触摸传感器235的触摸屏接口。图形处理器230可用于产生用于在显示器225上显示的图形数据。移动装置1200上的应用程序及/或其它可执行程序(例如操作系统及定位引擎)可在软件及/或硬件中实施,且可经配置以将命令发送到图形处理器230以在显示器225上显示图像或视频内容。触摸传感器处理器240可处理由触摸传感器235输出的数据以识别用户何时触摸触摸屏。触摸传感器处理器240可经配置以识别各种触摸手势,包含对触摸屏的多手指触摸。操作系统、应用程序及/或定位引擎可使用由触摸传感器处理器240确定的手势信息来至少部分确定、接收及响应用户输入。

在一些实施方案中,显示器225可包括可由移动装置120的用户佩戴的头戴式显示器(HMD)。在此实施方案中,显示器225可实施为佩戴于用户的头部上且可经由有线和/或无线连接连接到移动装置120的其它组件的单独单元。显示器225可经配置以提供包含透明或半透明组件的光学透视组件,HMD的用户通过其可获得HMD的视场内的对象的现实世界视图,且HMD可经配置以将增强现实内容上覆于HMD的视场中的对象的现实世界视图上方。在其中显示器225包括HMD的一些实施方案中,相机215可经安装以使得相机215的视场与HMD的用户的视场对准以使得相机215的视场可俘获HMD的用户的视场的至少一部分。

通信控制器250可包含使移动装置120能够使用一或多个无线协议进行通信的一或多个无线发射器、接收器、收发器等。通信控制器250可经配置以允许装置从能够无线通信的附近的无线装置发送和接收数据。举例来说,通信控制器250可经配置以使移动装置120能够与无线接入点115、基站140和服务器125和/或其它移动装置120直接或间接通信。通信控制器250还可经配置以使移动装置120能够接收移动装置120可用来确定其位置的导航信号。例如,通信控制器250可经配置以从属于一或多个卫星定位系统(SPS)(例如GPS系统、格洛纳斯系统、伽利略系统及/或其它SPS)的人造卫星(SV)接收信号。通信控制器250可经配置以在较多的无线通信协议上使用,例如码分多址(CDMA)、时分多址(TDMA)、频分多址(FDMA)、正交FDMA(OFDMA)和单载波FDMA(SC-FDMA)、长期演进(LTE)和/或其它无线通信协议。通信控制器250还可经配置以允许移动装置120使用一或多个其它无线协议无线发送和/或接收数据,例如蓝牙、ZigBee、WiFi、WiMax和/或其它无线通信协议。

存储器260包含用于存储由移动装置120的各种组件使用的数据的易失性及/或持久非暂时性存储器。存储器260可用于存储用于包含在装置中的处理器中的一或多者的处理器可执行程序代码。

处理器控制器255可经配置以控制传感器处理器210、相机处理器220、图形处理器230及触摸传感器处理器240中的一或多者。传感器处理器210、相机处理器220、图形处理器230及触摸传感器处理器240中的一或多者还可由处理器控制器255实施。处理器控制器255还可经配置以执行处理器可执行程序代码。虽然图2中说明的移动装置120的特定实例实施方案包含多个处理器210、220、230、240和处理器控制器255,但处理器210、220、230、240和/或处理器控制器255中的一些或全部可由通用处理器或中央处理单元(CPU)实施。此外,处理器210、220、230、240和处理器控制器255的功能性的至少一部分可实施为存储于移动装置120的存储器260中的处理器可执行程序代码。

图3是说明图2中所示的存储器的功能模块的图1中说明的移动台的功能框图。举例来说,移动装置120可包含图像俘获模块362、图像识别模块364、应用程序启动器模块366、应用程序获取模块368和增强现实模块370。图像俘获模块362、图像识别模块364、应用程序启动器模块366、应用程序获取模块368和/或增强现实模块370可替代地由通用处理器或CPU实施和/或在其它硬件中实施而不是实施为存储器260中的处理器可执行程序代码。

移动装置120可包含对象数据库350和对象应用程序数据库355。对象数据库350和对象应用程序数据库355可在移动装置120的存储器260中实施和/或可在移动装置120的另一非暂时性持久存储器中实施。对象数据库350和对象应用程序数据库355可存储在与移动装置120相关联的可装卸式计算机可读媒体中,例如快闪存储器、SD卡或其它类型的可装卸式存储器。

图像俘获模块362可经配置以俘获移动装置120的相机215的视场内的对象的图像。图像俘获模块362可经配置以响应于用户用户命令而俘获相机215的视场内的对象的图像,例如用户按压相机上的图像俘获按钮或用户说出话音命令。图像俘获模块362还可经配置以自动俘获移动装置120的相机215的视场内的对象的图像。举例来说,图像俘获模块362可经配置以周期性地俘获移动装置120的相机215的视场中的对象的图像。

图像俘获模块362还可经配置以使用移动装置120的相机215俘获一系列图像和/或俘获视频内容。图像俘获模块362可经配置以从由移动装置的相机215俘获的视频内容提取一或多个图像。图像俘获模块362可经配置以将所俘获图像提供到图像识别模块364以为图像识别模块364提供识别由移动装置120的相机215俘获的一或多个图像内的一或多个对象的机会。

图像识别模块364可经配置以识别由移动装置120的相机215俘获的图像或视频内容中包含的对象。图像识别模块364可经配置以自动尝试识别由移动装置120的相机215俘获的图像中的对象,可由用户命令或输入触发以识别对象,或可当图像识别模块364辨识出对象上的图标、符号或其它标记时自动触发。图像识别模块364可经配置以辨识某些图标、符号或其它标记,其指示所述图标、符号或其它标记在其上可见的对象与可在移动装置120上执行的一或多个应用程序相关联。如果在由相机215俘获的图像中识别出此图标、符号或其它标记,那么图像识别模块364可经配置以识别与所述图标、符号或其它标记相关联的对象。图像识别模块364可经配置以使得与现实世界对象相关联的图标、符号或其它标记并不传达识别对象和/或与对象相关联的应用程序的任何信息,而是,所述图标、符号或其它标记向图像识别模块364通知存在与所述对象相关联的一或多个应用程序。

图像识别模块364还可经配置以识别在对象上并不包含图标、符号或其它标记的对象。举例来说,图像识别模块364可经配置以由用户命令或输入触发以识别移动装置120的相机215的视场内的对象。图像识别模块364可经配置以自动扫描和检测移动装置的相机215的视场内的对象。举例来说,图像识别模块364可经配置以在移动装置120的用户将相机指向对象和/或平移相机经过对象时接收由相机215俘获的视频内容和/或图像内容,且尝试检测和识别相机215的视场中的对象。在一个实例实施方案中,移动装置120可包含HMD且移动装置120可经配置以自动下载和/或启动用于HMD的视场内的对象的应用程序。以此方式,用户可易于发现和/或启动与可靠近用户和/或对用户可见的多种对象中的任一者相关联的应用程序。

图像识别模块364可经配置以当触发图像识别过程时指示增强现实模块370在移动装置的显示器225上显示增强现实内容。举例来说,如果图像识别模块364识别出触发对象识别过程的图标或其它标记,那么图像识别模块364可经配置以显示动画或其它增强现实内容以向用户指示存在与现实世界对象相关联的一或多个应用程序和/或识别对象和相关联应用程序的过程已起始。举例来说,增强现实模块370可经配置以使可与一或多个应用程序相关联的对象上辨识的图标、符号或其它标记动画化。

图像识别模块364还可经配置以将对象的图像与对象数据库350的内容进行比较以识别图像中的对象和/或对象的对象类型且识别哪些应用程序(如果存在)与图像中的对象和/或对象类型相关联。图像识别模块364可经配置以识别和/或提取与图像中的对象相关联的属性、描述符、关键点和/或其它信息,且将图像中的对象的属性与存储在对象应用程序数据库350中的对象的属性进行比较以识别由相机150俘获的对象。

图像识别模块364可经配置以使用各种技术识别图像中的对象。举例来说,图像识别模块364可经配置以使用一或多个方法用于对象辨识,所述方法使用自然特征描述符来描述对象且搜索对象的图像中的相似特征以尝试识别对象。图像识别模块364可经配置以当超过阈值数目的与已知对象相关联的特征匹配于由移动装置的相机215俘获的图像中的特征时识别出图像中的对象。因此,由图像识别模块364识别和/或提取的属性可包括来自图像的特征、描述符、关键点和/或其它信息或属性。

图像识别模块364可使用的一个技术是尺度不变特征变换(SIFT)技术,其用以从对象的图像导出自然特征描述符且将所述特征与可存储在移动装置上的对象数据库350中的已知对象的特征描述符进行比较。SIFT技术大体上选择不会从一个图像到同一对象的另一图像改变和特征,所述特征可稍后用以识别对象的图像中的所述对象。举例来说,可选择特征描述符以使得由与移动装置120相关联的相机215俘获的图像与用以建立数据库的对象的参考图像之间的图像尺度的改变并不干扰图像识别模块364辨识对象的能力。也可选择特征描述符以使得图像识别模块364辨识由相机215俘获的图像中的对象的能力不受由相机215俘获的图像与用以产生建立数据库的参考图像之间的照明差异的影响。也可选择特征描述符以使得由相机215俘获的图像和参考图像中的对象的定向可不同而不会影响图像识别模块364辨识对象的能力。

图像识别模块364可使用的另一技术是加速稳健特征(SURF)技术,其用于识别对象的局部特征,所述特征随后可用以识别所述对象的对象图像。图像识别模块364可使用的又一技术是用于识别图像中的对象的二进制稳健独立基本特征(BRIEF)技术。

对象数据库350可组织为高效搜索数据结构,例如搜索树、散列表或其它类型的搜索数据结构,以使得图像识别模块364可从对象应用程序数据库350识别最可能表示由移动装置120的相机215俘获的图像中的对象的单个对象或单个类型的对象。图像识别模块364可经配置以遍历对象数据库350的高效搜索数据结构以比较与描述符相关联的自然特征点,以从数据库识别具有与对象相关联的匹配于从由相机215俘获的对象的图像提取的特征点的足够特征点的对象。图像识别模块364可经配置以从对象数据库350选择在从由相机214俘获的图像提取的阈值数目的特征点上匹配的对象。

图像识别模块364可经配置以通过搜索对象应用程序数据库355和/或通过视觉搜索服务器125直接或间接从应用程序门户服务器145获得应用程序内容而选择与对象或对象类型相关联的一或多个应用程序。对象应用程序数据库355可经配置以提供对象和/或对象类型和与那些对象相关联的应用程序之间的映射。应用程序与对象和/或对象类型之间的关联可由应用程序的开发者做出且可使用应用程序门户服务器145界定。应用程序门户服务器145的实例实施方案在图11中说明且在下文详细论述。在一些实施方案中,对象应用程序数据库355中的内容可由移动装置的制造商和/或由与移动装置120相关联的无线网络提供者添加。移动装置120还可经配置以周期性地询问门户服务器145以得到对包含在对象应用程序数据库355中的信息的更新。应用程序门户服务器145还可经配置以响应于对对象和/或对象类型与应用程序之间的映射的更新而将对对象应用程序数据库中的内容的更新推送到移动装置120。

图像识别模块364可经配置以使用由移动装置120的相机俘获的图像中识别的对象的身份和/或对象类型来从应用程序数据库355选择一或多个应用程序。对象和/或对象类型的识别可能已经由图像识别模块364执行或由视觉搜索服务器125响应于来自图像识别模块364的请求而执行。

对象应用程序数据库355可包含使一或多个应用程序的应用程序识别符与各种对象和/或对象类型关联的数据,且图像识别模块364可经配置以使用图像中的对象的身份和/或对象类型从对象应用程序数据库355选择与所述对象或对象类型相关联的一或多个应用程序。

图像识别模块364可经配置以选择匹配于具有多个阶层的应用程序的对象和/或对象类型的不同阶层的应用程序,所述多个阶层的应用程序包含移动装置的用户可关注的内容。举例来说,如果移动装置的用户拍摄雷尼尔山国家公园(Mount Rainier)的照片,那么图像识别模块364可能够基于可用于图像识别模块364和/或视觉搜索服务器125的信息而识别所述图像是雷尼尔山国家公园。图像识别模块364可经配置以选择仅与雷尼尔山国家公园相关联的应用程序内容或可经配置以选择移动装置120的用户可能也关注的额外内容。举例来说,移动装置120可经配置以选择与华盛顿州的山、一般的山相关和/或与例如徒步、登山和露营等山上活动相关的额外内容。图像识别模块364和/或视觉搜索服务器125还可将图像识别为山的图像但不能够识别图像中俘获的确切对象,且图像识别模块364可选择包含与一般的山相关的内容和/或例如徒步、登山和露营等与山相关的活动的信息的应用程序。图像识别模块364可经配置以选择与多个层级的阶层式信息相关联的应用程序内容。举例来说,如果用户以移动装置120的相机215俘获纽约的帝国大厦的图像,那么图像识别模块364可经配置以选择与帝国大厦自身相关联的应用程序以及在不同阶层式层级的相关应用程序。举例来说,图像识别模块364可经配置以选择与在一个较宽广阶层式层级的在曼哈顿具有观景平台的摩天大楼相关联的应用程序内容,以及与在甚至更宽广的阶层式层级的在纽约的地标相关联的应用程序内容。阶层式层级可由应用程序启动器模块366用来在应用程序列表呈现给移动装置120的用户的情况下确定将呈现应用程序的次序。

图像识别模块364还可经配置以当尝试识别由移动装置120的相机215俘获的图像中的对象时使用移动装置的位置,且也可当从对象应用程序数据库355选择应用程序和/或从应用程序门户服务器145获得应用程序信息时考虑所述位置。

对象数据库350和/或对象应用程序数据库355可在移动装置120提供给顾客之前的某个时间点例如由装置的制造商或由对移动装置提供无线网络服务的服务提供商填充信息。对象应用程序数据库355也可由安装在移动装置120上的一或多个应用程序填充。对象数据库350也可以由视觉搜索服务器125提供的数据填充,且对象应用程序数据库355可以来自应用程序门户服务器145的适合于在移动装置120上执行的可执行应用程序上下文填充。举例来说,服务器125可经配置以将数据提供到移动装置120用于识别对象,所述对象可具有与那些对象相关联的一或多个应用程序。对象数据库350和对象应用程序数据库355也可用以实施高速缓冲存储器,其可用以存储最近识别的对象和/或应用程序,且可在发送识别对象和/或识别与对象相关联的应用程序的请求到服务器之前搜索高速缓冲存储器的内容以得到图像识别模块364可经配置以搜索的最近对象和/或应用程序。

图像识别模块364还可经配置以将由相机215俘获的图像发送到服务器125用于识别。服务器125可经配置以识别由图像识别模块364发送的图像中的对象和/或识别与所述图像中的对象相关联的一或多个应用程序且将识别所述对象和/或应用程序的信息提供到图像识别模块364。图像识别模块364还可经配置以除了图像之外或替代于图像将从对象的图像提取的属性和/或特征发送到服务器125。服务器125可经配置以当识别图像中的对象时除了图像之外或替代于图像使用从对象的图像提取的属性和/或特征。

增强现实模块370可经配置以在移动装置120的显示器225上显示经增强现实内容。举例来说,增强现实模块370可经配置以将增强现实内容上覆于在移动装置120的显示器225上显示的现实世界内容上方。增强现实模块370可经配置以显示上覆于由移动装置的相机215俘获的静态图像、一系列图像或视频内容上的增强现实内容。在一个实例中,移动装置120可包含显示相机215的视图的场内的现实世界场景的应用程序,且增强现实模块370可经配置以提供可在现实世界场景上方显示的增强现实内容。增强现实模块370可经配置以产生可在现实世界场景上上覆对象的内容,例如上覆现实世界场景中的例如玩具等无生命对象的动画图。经增强现实内容也可包含信息上覆,例如地图、关注点的识别符以及与显示器225上正显示的现实世界场景内的对象相关联的其它信息。经增强现实内容也可将过滤器应用于现实世界场景的部分以更改一或多个现实世界对象的外观。举例来说,经增强现实内容可包含过滤器以改变现实世界对象的颜色的饱和度和/或改变现实世界对象的对比度。

应用程序启动器模块366可经配置以启动与已由图像识别模块364识别的现实世界对象相关联的应用程序。对象可具有已经与所述对象相关联的多个应用程序。举例来说,糖果条可能具有与所述糖果条相关联的游戏应用程序和地图应用程序。所述游戏应用程序允许移动装置的用户玩可关联到糖果条的营销或与已进入与糖果条的生产者的营销合约的第三方相关联的内容的游戏。与糖果条相关联的所述地图应用程序可经配置以提供接近于移动装置120的出售糖果条和/或由糖果条的生产者生产的其它产品的零售商的列表。

应用程序启动器模块366可经配置以向移动装置120的用户提示在存在与特定对象相关联的多个应用程序的情况下选择自动启动应用程序。举例来说,应用程序启动器模块366可经配置以向移动装置的用户呈现与对象相关联的应用程序的列表且用户可选择所述用户将想要启动的应用程序。应用程序启动器模块366还可经配置以基于移动装置120的用户的用户简档和/或使用简档从与对象相关联的应用程序的列表自动选择应用程序。移动装置120的用户的用户简档和/或使用简档还可包含例如最多使用的应用程序和/或应用程序类型和/或最近使用的应用程序和/或应用程序类型的信息。举例来说,如果用户的用户简档指示用户偏好于某些类型的应用程序,例如某些类型的游戏,那么应用程序启动器模块366可经配置以优先于与对象相关联的其它类型的应用程序而自动选择用户偏好于的类型的游戏。应用程序启动器模块366还可经配置以基于移动装置120上的用户的使用简档而选择应用程序。举例来说,如果与移动装置120的用户相关联的使用模式指示用户并不通常玩游戏但使用对用户提供折扣或出售信息的应用程序,那么应用程序启动器模块366可经配置以优先于游戏应用程序而选择对移动装置120的用户提供此些折扣或出售信息的应用程序。

应用程序启动器模块366还可经配置以基于移动装置的用户的购买和/或下载历史选择将启动的应用程序。应用程序启动器模块366可优先于与对象相关联的其它类型的应用程序而选择移动装置120的用户通常使用的类型的应用程序。应用程序启动器模块366还可经配置以使用位置数据以确定将为移动装置120的用户选择哪些应用程序。举例来说,应用程序启动器模块366可经配置以使用GPS和/或其它SPS数据和/或其它位置数据以确定将选择哪些应用程序。举例来说,应用程序启动器模块366可经配置以选择包含针对与移动装置的位置相关联的地理区域局部化的内容的应用程序。

应用程序获取模块368可经配置以在应用程序在移动装置120上已经不可用的情况下获取与对象相关联的应用程序。应用程序获取模块368可经配置以接入与移动装置相关联的应用程序服务器,其提供可在移动装置上执行的应用程序。应用程序获取模块368还可经配置以从应用程序服务器自动下载且安装应用程序且向应用程序启动器模块366通知应用程序现在可用于在移动装置120上启动。应用程序启动器模块366可在此通知之后自动启动应用程序。应用程序获取模块368还可经配置以提供允许用户输入支付细节和/或其它信息的接口,所述其它信息例如电子邮件地址、电话号码或与用户相关联的其它信息,在用户可下载应用程序之前应用程序发布者可能请求所述信息。此外,应用程序获取模块368可经配置以致使例如使用显示器225显示接口,其允许用户获取应用程序。举例来说,所述接口可为要求用户确认正下载新应用程序的确认屏幕,或所述接口可为到应用程序的链接或到在用户选择之后即刻可全部自动启动的应用程序的列表的链接。在一些实施方案中,所述接口是在应用程序获取模块368将装置引导到应用程序商店之后由所述商店显示的接口。

图4是可用以实施图1中说明的视觉搜索服务器125的计算机系统的功能框图。图4的视觉搜索服务器125可用以实施图10和12到16中说明的过程的阶段中的一些或全部。在一些实施方案中,视觉搜索服务器125的功能可与图11中说明的应用程序门户服务器145的功能组合。视觉搜索服务器125可包含处理器455、网络接口480、存储器460和对象数据库450。视觉搜索服务器125也可包含可实施为存储在存储器460中的处理器可执行软件代码的功能模块。图4中说明的功能模块可替代地部分或整体地存储于不同计算机可读存储器中。举例来说,所述功能模块可存储在与视觉搜索服务器125相关联的可装卸式计算机可读媒体中,例如快闪存储器、SD卡或其它类型的可装卸式存储器。图4中说明的功能模块还可部分或整体地实施于固件及/或硬件中。视觉搜索服务器125可包含视觉搜索引擎模块462、应用程序启动器模块464和应用程序获取模块466。视觉搜索引擎模块462、应用程序启动器模块464和/或应用程序获取模块466可替代地由例如处理器455等通用处理器或CPU实施,和/或在其它硬件中实施而不是实施为存储器460中的处理器可执行程序代码。

处理器455可经配置以执行存储于存储器460中的软件代码。例如,处理器455可经配置以执行与视觉搜索引擎模块462、应用程序启动器模块464及应用程序获取模块466相关联的软件代码。处理器455还可经配置以执行由服务器125使用的其它软件代码,例如操作系统组件、用于外围装置的软件驱动程序,及/或可由视觉搜索服务器125执行但不需要其描述来理解本文中揭示的系统和方法的操作的其它软件代码。

网络接口480可经配置以将双向无线及/或有线网络通信提供到视觉搜索服务器125。网络接口480可经配置以允许视觉搜索服务器125经由一或多个中间网络(例如因特网、无线网络服务提供商的核心网络、一或多个无线局域网(WLAN)及/或其它类型的网络)与移动装置120通信。视觉搜索服务器125的网络接口480与移动装置120和/或应用程序门户服务器145之间的网络通信可通过一或多个其它网络元件而路由,例如无线接入点115或基站140。

存储器460可包括用于存储由视觉搜索服务器125的各种组件使用的数据的易失性及/或持久性存储器。存储器460可用于存储用于包含在视觉搜索服务器125中的处理器中的一或多者(例如处理器455)的处理器可执行程序代码。

视觉搜索引擎模块462可经配置以类似于包含在移动装置120中的图像识别模块364而操作。视觉搜索引擎模块462可经配置以识别包含在由移动装置120的相机215俘获且由移动装置120发送到视觉搜索服务器125的图像或视频内容中的对象。视觉搜索引擎模块462可经配置以自动尝试识别从移动装置120接收的图像中的对象,或当由视觉搜索引擎模块462辨识出对象上的一、符号或其它标记时可触发视觉搜索引擎模块462。视觉搜索引擎模块462可经配置以辨识某些图标、符号或其它标记,其指示所述图标、符号或其它标记在其上可见的对象与可在移动装置120上执行的一或多个应用程序相关联。视觉搜索引擎模块462可经配置以使得与现实世界对象相关联的图标、符号或其它标记并不传达识别对象和/或与对象相关联的应用程序的任何信息,而是,所述图标、符号或其它标记向视觉搜索引擎模块462通知存在与所述对象相关联的一或多个应用程序。可改为由应用程序开发者当经由应用程序门户服务器145使应用程序内容可用于移动装置120时确定对象和/或对象类型之间的映射。

视觉搜索引擎模块462还可经配置以从移动装置120接收从对象的图像提取的图像和/或属性和/或特征。视觉搜索引擎模块462可经配置以当识别图像中的对象时除图像之外或替代于图像使用从对象的图像提取的属性和/或特征。视觉搜索引擎模块462可经配置以使用视觉搜索引擎模块462已从图像提取或已从移动装置120接收的属性和/或特征以与对象数据库450中的内容进行比较以识别从移动装置120俘获的图像中的对象或对象类型。

视觉搜索引擎模块462可经配置以将从图像提取的信息和/或属性与对象数据库450的内容进行比较以识别图像中的对象且识别哪些(如果存在)应用程序与图像中的对象相关联。视觉搜索引擎模块462可经配置以使用各种技术用于通过从对象的图像提取对象的信息和/或属性而识别从移动装置120接收的图像中的对象或对象类型。举例来说,视觉搜索引擎模块462可使用类似于上文相对于图像识别模块364描述的那些技术的技术,例如用于对象辨识的一或多个方法,其使用自然特征描述符来描述对象且搜索对象的图像中的相似特征以尝试识别对象,包含SIFT、SURF和BRIEF技术以及其它对象辨识技术。视觉搜索引擎模块462可经配置以当超过阈值数目的与已知对象相关联的特征匹配于从移动装置120接收的图像中的特征时识别图像中的对象或对象类型。

对象数据库450可组织为高效搜索数据结构,例如搜索树、散列表或其它类型的搜索数据结构,以使得视觉搜索引擎模块462可从对象数据库450识别最可能表示从移动装置120接收的图像中的对象的单个对象。

视觉搜索引擎模块462可经配置以将对象的身份和/或对象类型信息提供到移动装置120且移动装置120可使用所述信息从应用程序门户服务器145获得与所述对象和/或对象类型相关联的应用程序。在一些实施方案中,视觉搜索引擎模块462可经配置以将对象的身份和/或对象类型信息提供到应用程序启动器模块464,其可经配置以启动移动装置120上的一或多个应用程序和/或协调应用程序内容从应用程序服务器门户145到移动装置120的下载。

应用程序启动器模块464可经配置以响应于视觉搜索引擎模块462识别出从移动装置120接收的图像中的对象和/或对象类型而致使应用程序在移动装置上启动。应用程序启动器模块464可经配置以将针对与特定对象和/或对象类型相关联的应用程序的列表的请求发送到应用程序门户服务器145。应用程序启动器模块464可经配置以协调将所识别应用程序内容下载到移动装置120和/或在移动装置120上启动这些应用程序中的一或多者。

应用程序启动器模块464可经配置以发送查询到移动装置120以确定移动装置120是否已经具有在移动装置上可用的由应用程序门户服务器145识别的一或多个应用程序。应用程序启动器模块464可经配置以在应用程序尚未已经在移动装置120上可用的情况下指示应用程序获取模块466从应用程序门户服务器145获取应用程序。

应用程序获取模块466可经配置以获取尚未已经在移动装置120上可用的应用程序且将所述应用程序提供到移动装置120。举例来说,应用程序获取模块466可经配置以从应用程序门户服务器145下载应用程序且经由网络连接将应用程序推送到移动装置120。应用程序获取模块466还可经配置以发送命令到移动装置120以致使移动装置120从应用程序门户服务器145下载应用程序到移动装置120。

应用程序启动器模块464可经配置以在在移动装置120上下载和/或启动任何应用程序之前提示移动装置的用户进行许可。在一些实施方案中,应用程序启动器模块464可经配置以向移动装置120的用户提示由应用程序门户服务器145识别的一或多个应用程序的列表与由移动装置120俘获的图像的对象和/或对象类型相关。应用程序启动器模块464可经配置以将指令发送到移动装置120以将一或多个应用程序的列表显示给移动装置的用户。移动装置120可经配置以提供用户接口,其允许用户选择用户将想要下载到移动装置哪些应用程序内容(如果存在)以及用户将想要在移动装置120上启动应用程序中的哪一者(如果存在)。

应用程序启动器模块464还可经配置以基于移动装置120的用户的用户简档和/或使用简档从与对象和/或对象类型相关联的应用程序的列表自动选择应用程序以用于在移动装置120上下载和/或启动。应用程序启动器模块464可经配置以从移动装置120请求简档信息和/或可经配置以从与移动装置120相关联的网络服务提供商获得此信息。举例来说,如果用户的用户简档指示用户可包含指示用户偏好于某些类型的应用程序(例如某些类型的游戏)的信息,那么应用程序启动器模块464可经配置以优先于与对象相关联的其它类型的应用程序而自动选择用户偏好于的类型的游戏。

应用程序启动器模块464还可经配置以基于移动装置120上的用户的使用简档而选择应用程序。举例来说,如果与移动装置120的用户相关联的使用模式指示用户并不通常玩游戏但使用对用户提供折扣或出售信息的应用程序,那么应用程序启动器模块464可经配置以优先于游戏应用程序而选择对移动装置120的用户提供此些折扣或出售信息的应用程序。应用程序启动器模块464还可经配置以基于移动装置的用户的购买和/或下载历史选择将启动的应用程序。应用程序启动器模块464可优先于与对象相关联的其它类型的应用程序而选择移动装置120的用户通常使用的类型的应用程序。关于移动装置120的用户的使用模式和/或使用历史的信息可由移动装置120发送和/或可从其它源维持和获取。举例来说,与移动装置120相关联的无线服务提供者可维持此信息。出售可在移动装置120上使用的应用程序的应用程序商店也可具有关于移动装置120的用户在过去已购买或下载的应用程序和/或应用程序类型的信息。

图11是可用以实施图1中说明的应用程序门户服务器145的计算机系统的功能框图。应用程序门户服务器145可包含处理器1155、网络接口1180、存储器1160和应用程序数据库1150。应用程序门户服务器145可经配置以允许应用程序开发者登记其应用程序,允许应用程序开发者使其应用程序与特定特征或描述符和/或对象关联,且允许移动装置120和/或视觉搜索服务器125基于图像中识别的对象的特征或描述符和/或身份而获取应用程序。在一些实施方案中,应用程序门户服务器145的所有功能中的一些可在一或多个服务器上与视觉搜索服务器125的那些功能组合。

应用程序门户服务器145还可包含可实施为存储在存储器1160中的处理器可执行软件代码的功能模块。图11中说明的功能模块可替代地部分或整体地存储于不同计算机可读存储器中。举例来说,所述功能模块可存储在与应用程序门户服务器145相关联的可装卸式计算机可读媒体中,例如快闪存储器、SD卡或其它类型的可装卸式存储器。图11中说明的功能模块还可部分或整体地实施于固件及/或硬件中。应用程序门户服务器145可包含应用程序请求模块1162、应用程序启动器模块1164、应用程序获取模块1166和应用程序登记模块1168。视觉搜索引擎模块1162、应用程序启动器模块1164、应用程序登记模块1168和/或应用程序获取模块1166可替代地由例如处理器1155的通用处理器或CPU实施,和/或在其它硬件中实施而不是实施为存储器1160中的处理器可执行程序代码。

处理器1155可经配置以执行存储于存储器460中的软件代码。举例来说,处理器1155可经配置以执行与视觉搜索引擎模块1162、应用程序启动器模块1164、应用程序获取模块1166和应用程序登记模块1168相关联的软件代码。处理器1155还可经配置以执行由应用程序门户服务器145使用的其它软件代码,例如操作系统组件、用于外围装置的软件驱动程序,和/或可由应用程序门户服务器145执行但不需要其描述以理解本文所揭示的系统和方法的操作的其它软件代码。

网络接口1180可经配置以将双向无线及/或有线网络通信提供到应用程序门户服务器145。网络接口1180可经配置以允许应用程序门户服务器145经由一或多个中间网络(例如因特网、无线网络服务提供商的核心网络、一或多个无线局域网(WLAN)及/或其它类型的网络)与移动装置120通信。应用程序门户服务器145的网络接口1180与移动装置120之间的网络通信可通过例如无线接入点115或基站140等一或多个其它网络元素而路由。

存储器1160可包括用于存储由应用程序门户服务器145的各种组件使用的数据的易失性和/或持久性存储器。存储器1160可用以存储用于包含在应用程序门户服务器145中的处理器中的一或多者(例如处理器1155)的处理器可执行程序代码。

应用程序请求模块1162可经配置以从移动装置120和/或视觉搜索服务器125接收针对应用程序信息和针对应用程序内容的请求。应用程序请求模块1162可经配置以从移动装置120和/或视觉搜索服务器125接收针对与特定对象和/或对象类型相关的应用程序的列表的请求。响应于此类请求,应用程序请求模块1162可经配置以搜索应用程序数据库1150是否有与来自移动装置120或视觉搜索服务器125的请求中识别的对象和/或对象类型相关联的应用程序。应用程序数据库1150可经配置以存储由应用程序开发者提供的应用程序信息。应用程序信息可使应用程序与特定对象和/或对象类型关联。应用程序请求模块1162可产生与针对应用程序信息的请求中包含的对象和/或对象类型相关联的应用程序的列表,且可经配置以将所述列表发送到请求实体(例如,移动装置120或视觉搜索服务器125)。所述应用程序列表可包含与所述列表上的每一应用程序相关联的唯一应用程序识别符。应用程序识别符可由移动装置120和/或视觉搜索服务器125使用以从应用程序门户服务器145请求与特定应用程序相关联的应用程序内容。

应用程序请求模块1162还可经配置以从移动装置120和/或视觉搜索服务器125接收针对应用程序内容的请求。所述请求可包含与一或多个应用程序相关联的唯一应用程序识别符且可包含与移动装置相关联的装置特定信息。与移动装置相关联的装置特定信息可包含移动装置的制造商信息、操作系统版本和/或应用程序请求模块1162可用来从应用程序数据库1150检索应用程序内容的适当版本的其它信息。应用程序请求模块1162可经配置以将所请求应用程序内容发送到移动装置120或视觉搜索服务器125。

应用程序管理模块1164可经配置以允许应用程序开发者以应用程序启动服务登记应用程序。应用程序管理模块1164可经配置以提供用户接口,其允许应用程序开发者以应用程序启动服务登记且将新应用程序上载到应用程序门户服务器145和/或管理与已经上载到应用程序门户服务器145的应用程序相关联的信息。应用程序管理模块1164可经配置以允许应用程序开发者使其应用程序与特定对象和/或对象类型关联。

对象类型信息可包含与应用程序开发者将想要与应用程序关联的对象的类型相关联的特定质量、语义描述、特征和/或描述符。在一些实施方案中,应用程序也可与某些对象类型相关联而不是与特定所识别对象相关联。在此实施方案中,应用程序的供应商或发布者可提供与应用程序相关联的质量、类型、群组或描述的集合,且当由移动装置120和/或服务器125识别出所述类型的对象时,可从对象数据库450选择应用程序。在一些实施方案中,应用程序开发者可直接识别与应用程序相关联的特征、描述符和/或关键点。因此,在一些实施方案中,从图像提取的对象的属性可用以确定应用程序。在其它实施例中,如上文所描述,此些属性可用以首先识别对象,且随后可基于所识别对象识别应用程序。

在一些实施方案中,多个阶层式层级的信息可与应用程序相关联,且移动装置120和视觉搜索服务器的应用程序启动器模块可使用此信息以确定在移动装置120上下载和/或启动哪些应用程序。移动装置120和视觉搜索服务器的应用程序启动器模块可使用此信息以确定以哪一次序分选应用程序的列表以呈现给移动装置的用户。举例来说,具有与帝国大厦相关联的内容的应用程序可与作为对象的帝国大厦相关联,但也可与纽约的历史地标和/或在曼哈顿提供观景平台的摩天大楼和其它位置相关联。

应用程序登记模块可经配置以用所述特征或描述符和/或对象将应用程序数据库更新为与由应用程序开发者提供的应用程序相关联。应用程序管理模块1164可经配置以将唯一应用程序识别符指派于以启动服务登记的每一应用程序。应用程序识别符可用以参考应用程序且检索与应用程序相关联的数据。

应用程序数据库1150提供用于应用程序数据的持久性数据存储。应用程序数据库1150可在应用程序门户服务器145中的持久性计算机可读存储装置中实施和/或实施为可由应用程序门户服务器145存取的外部持久性计算机可读存储装置。应用程序数据库1150可经配置以存储与应用程序相关联的应用程序数据且可经配置以允许使用与每一应用程序相关联的唯一应用程序识别符存取应用程序数据。应用程序数据库1150可经配置以从由应用程序管理模块提供的应用程序管理用户接口接收应用程序数据,且存储可执行应用程序代码和/或应用程序将关联到的特征或描述符和/或对象。

应用程序数据库1150可经配置以存储经配置以在具有不同类型和/或版本的操作系统的不同类型的移动装置上操作的应用程序的多个版本。应用程序请求模块1162可经配置以接收针对可执行应用程序代码的特定版本的请求且将所述可执行应用程序代码的所述版本(如果可用)提供到移动装置120和/或视觉搜索服务器125。

图5是用于管理与移动装置相关联的应用程序的过程的框流程图。图5中说明的过程可由移动装置120实施。然而,图5中说明的过程的阶段中的一些或全部可整体或部分地由服务器125实施。

图5中说明的过程可以各种方式起始。在一些实例中,图5中说明的过程可通过激活由移动装置120显示的应用程序启动器用户接口上的图标而起始。在一些实施方案中,图5中说明的过程可通过按压移动装置120上的按钮而启动。举例来说,图5中说明的过程可通过按压移动装置上的按钮而触发,所述按钮触发移动装置120的相机215俘获对象的图像。在一些实施方案中,在用户正观看例如具有视频馈送的相机接口时,用户可选择将识别用于所述视频馈送中可观看的对象的应用程序的按钮或图标。在一些实施方案中,移动装置120也可包含增强现实接口,其中移动装置120显示移动装置的相机215的视场的图像或视频,且所述用户可通过触摸或指向对象而选择所述对象。在一些实施方案中,图5中说明的过程可通过在移动装置120上连续地运行的过程而触发以自动识别相机215的视场内的对象且尝试识别与那些对象相关联的应用程序。举例来说,后一个实例可在包含用于显示器225的HMD的移动装置120中实施且相机215安装在HMD上。移动装置120可经配置以当移动装置的用户面向对象时自动尝试识别相机215的视场内的对象。

过程可以由与移动装置120相关联的相机215俘获对象的图像开始(阶段505)。可触发移动装置120的图像俘获模块362以俘获与移动装置相关联的相机215的视场内的对象的图像。图像俘获模块362可经配置以使用相机215俘获视频或一系列图像且在显示器225上显示俘获的内容。对象的图像的俘获可由移动装置120的用户触发。举例来说,移动装置120可经配置以响应于移动装置120的用户通过按压移动装置120上的按钮发出俘获图像的命令、通过触摸显示器225的一部分激活触摸传感器235、通过发出话音命令到移动装置120和/或通过经由其它技术发出命令到移动装置而俘获与移动装置120相关联的相机215的视场内的图像。对象的图像的俘获也可由移动装置120自动触发。举例来说,移动装置120可经配置以包含可致使移动装置120显示由移动装置的相机215俘获的相机215的视场内的场景的视图的应用程序。所述应用程序可为经设计用于俘获照片和/或视频内容的应用程序。所述应用程序可为经配置以在现实世界场景上方上覆经增强现实内容的应用程序。所述应用程序可经配置以将由相机215俘获的图像周期性地提供到移动装置120的图像识别模块364用于处理。

过程可以识别由与移动装置120相关联的相机215俘获的对象的图像中的对象和/或对象类型继续(阶段510)。移动装置的图像识别模块364可经配置以使用上述各种技术识别图像中的对象和/或对象类型。举例来说,可通过将从图像中的对象的图像提取的属性和/或特征与存储于移动装置120上或视觉搜索服务器125上的对象应用程序数据库中存储的所识别对象的属性和/或特征进行比较来识别图像中的对象和/或对象类型。图像中的对象的用以识别对象的属性和/或特征,例如对象的高度与宽度的比率、对象的一或多个颜色、对象的形状、对象的大小和/或对象的属性,可用以识别对象。图像识别模块364可使用各种技术用于识别图像中的对象和/或对象类型。举例来说,图像识别模块364可使用用于对象辨识的一或多个方法,其使用自然特征描述符来描述对象且搜索对象的图像中的相似特征以尝试识别对象,例如SIFT、SURF和BRIEF技术,以及其它对象辨识技术。

过程可以识别与由相机215俘获的图像中识别的对象和/或对象类型相关联的一或多个应用程序继续(阶段515)。图像识别模块364可经配置以使用存储在应用程序数据库350中的信息识别与对象相关联的应用程序。在一些实施方案中,图像识别模块364还可经配置以将针对与特定对象或对象类型相关联的应用程序的列表的请求发送到应用程序门户服务器145。图像识别模块364可经配置以在移动装置上的对象应用程序数据库355中未找到匹配的情况下将针对与特定对象或对象类型相关联的应用程序的列表的请求发送到应用程序门户服务器145。在一些实施方案中,图像识别模块364可经配置以始终将针对与由图像识别模块364识别的特定对象或对象类型相关联的应用程序的列表的请求发送到应用程序门户服务器145。

过程可以在移动装置上自动启动与对象相关联的应用程序继续(阶段520)。一旦已经识别与对象和/或对象类型相关联的一或多个应用程序,便可在移动装置120上由应用程序启动器模块366启动与所述对象和/或对象相关联的应用程序。如上文所描述,如果多个应用程序与一对象相关联,那么可提示移动装置的用户进行关于用户将想要在移动装置120上下载和/或启动哪一应用程序的输入。或者,可由移动装置120或服务器125从与对象相关联的多个应用程序自动选择应用程序。应用程序的自动选择可基于与移动装置相关联的使用简档或与移动装置的用户相关联的用户简档。在一些实施方案中,可以视觉搜索服务器125的应用程序启动器模块464的辅助在移动装置120上启动应用程序。应用程序启动器模块464可发送查询到移动装置120以确定应用程序是否已经在移动装置120上可用和/或可经配置以将用于移动装置120的适当可执行应用程序内容推送到移动装置120。

图6是用于识别使用与移动装置120相关联的相机215俘获的对象的图像中的对象的过程的框流程图。图6中说明的过程可用以实施图5中说明的过程的阶段510。图6中说明的过程可由移动装置120实施。或者,阶段605、610和630可由服务器125实施,所述服务器125可经配置以识别图像中的对象且识别与对象相关联的一或多个应用程序。

过程可以识别图像中的对象的属性开始(阶段605)。移动装置120的图像识别模块364可经配置以应用使用自然特征描述符来描述对象的一种或多种技术,例如SIRF或BRIEF技术,可用以识别图像中的对象的自然特征,所述特征可用以尝试确定图像中包含的对象的身份和/或对象类型。

过程以将在阶段605中识别的对象的属性与存储在对象数据库350中的对象的属性进行比较继续(阶段610)。图像识别模块364可将图像中识别的对象的属性与存储在移动装置120上的本地对象数据库350的内容进行比较以尝试识别图像中的对象或与对象相关联的对象类型。过程以图像识别模块364确定在对象应用程序数据库中是否找到针对图像中的对象的匹配继续(阶段615)。所述匹配可包括对象和/或对象类型。举例来说,帝国大厦的图像可能匹配于对象类型“帝国大厦”和/或可匹配于“建筑物”或“结构”的对象类型。通过将图像中的对象的属性与对象数据库350中的对象的属性进行比较可确定针对图像中的对象的匹配。对象数据库350可布置于高效搜索数据结构中,例如搜索树、散列表或其它类型的搜索数据结构,且确定针对图像中的对象的匹配可包含遍历所述高效搜索数据结构以从对象数据库350选择最佳地匹配由移动装置120的相机215俘获的图像中的对象的属性的对象。

如果在对象应用程序数据库中找到匹配,那么可从对象应用程序数据库检索识别图像中的对象的对象信息(阶段630)。如果在移动装置120的本地对象数据库350中未找到匹配,那么移动装置120的图像识别模块364可经配置以将识别图像中的对象的请求发送到视觉搜索服务器125(阶段620)。到视觉搜索服务器125的请求可包含图像的副本和/或在阶段610中识别的图像的属性和/或特征。

移动装置可随后从视觉搜索服务器125接收对象识别信息(阶段625)。对象识别信息可包含识别从移动装置120接收的图像中俘获的对象和/或对象类型的信息。

如果服务器125不可找到匹配对象,那么从视觉搜索服务器125返回的对象信息可指示视觉搜索服务器125未找到匹配。如果视觉搜索服务器125未找到匹配,那么移动装置120的图像识别模块364可经配置以对移动装置的用户提供不可识别图像中的对象或对象类型的指示。举例来说,移动装置120的图像识别模块364可经配置以在对象上显示指示无法识别对象的经增强现实覆层,例如在对象上方显示问题标记图标。移动装置120的图像识别模块364还可经配置以提示用户尝试使用移动装置120俘获对象的另一图像。移动装置120的图像识别模块364可提示用户尝试俘获对象的另一图像,因为周围光照条件(例如,对象上的阴影或不良照明)、俘获对象的角度或其它因数可影响移动装置120或服务器125从对象的图像准确提取对象的属性的能力。

在图6中说明的过程的一些实施方案中,移动装置120的图像识别模块364可经配置以跳过阶段605、610、615和630,且图像识别模块364可改为继续过程的阶段620和625。在此实施方案中,移动装置120可能不具有执行对象识别需要的处理能力或其它资源,且请求视觉搜索服务器125执行识别过程。

图7是用于识别与由与移动装置相关联的相机俘获的对象的图像中识别的对象相关联的应用程序的过程的框流程图。图7中说明的过程可用以实施图5中说明的过程的阶段515。图7中说明的过程可由移动装置120实施。

过程以搜索对象应用程序数据库以确定图像中识别的对象是否与任何应用程序相关联开始(阶段705)。移动装置120的图像识别模块364可经配置以搜索本地对象应用程序数据库355以确定是否存在与由相机215俘获的图像中识别的对象和/或对象类型相关联的任何应用程序。对象应用程序数据库355可通过对象和/或对象类型而组织且可包含与每一对象和/或对象类型相关联的一或多个应用程序。对象应用程序数据库355可经配置以存储用于与对象和/或对象类型相关联的每一应用程序的唯一应用程序识别符。所述唯一应用程序识别符可用以从应用程序门户服务器145请求应用程序内容。

图像识别模块364可做出在本地对象数据库350中是否找到匹配的确定(阶段710)。如果找到匹配,那么可从对象应用程序数据库355检索图像识别模块364应用程序信息(阶段725)。对象应用程序数据库355可提供与应用程序中的每一者相关联的唯一应用程序识别符。图像识别模块364可将应用程序识别信息提供到应用程序启动器模块366,且应用程序启动器模块366可经配置以从应用程序门户服务器145获取应用程序内容(如果在移动装置上未已经可用)且启动一或多个应用程序。

如果在本地对象应用程序数据库355中针对对象和/或对象类型未找到匹配,那么移动装置120可经配置以将针对与图像中识别的对象相关联的应用程序的应用程序信息的请求发送到应用程序门户服务器145(阶段715)。移动装置120可随后从服务器接收应用程序信息(阶段720)。到应用程序门户服务器145的请求可包含关于当确定是否存在可用于移动装置120的任何应用程序内容时应用程序门户服务器145可使用的移动装置120的硬件和/或操作系统版本的信息。如果应用程序门户服务器145未找到匹配,那么移动装置120可经配置以向移动装置的用户提供指示:图像中的对象当前并不具有与所述对象相关联的任何应用程序和/或不具有可用于移动装置120的硬件和/或操作系统版本的应用程序内容。如果应用程序门户服务器145找到针对对象和/或对象类型的匹配,那么应用程序门户服务器145可经配置以向移动装置120发送匹配于所述对象和/或对象类型的应用程序中的每一者的应用程序识别符。应用程序门户服务器145还可经配置以发送关于找到匹配的应用程序的额外信息,例如应用程序描述、缩略图图像和/或与应用程序相关联的其它内容。应用程序门户服务器145还可经配置以响应于针对匹配于对象和/或对象类型的应用程序的请求而将可执行程序内容发送到移动装置120。

对象和/或对象类型可能曾具有在过去与对象相关联的一或多个应用程序,但应用程序的发布者可能仅在有限时间周期中使应用程序与对象关联。举例来说,应用程序可能已在有限促销周期中与对象关联,且一旦所述有限促销周期已过去,便可通过从对象应用程序数据库移除对象与应用程序之间的关联而将应用程序与对象解除关联。由于应用程序从应用程序服务器移除,应用程序也可能不再可用。移动装置120可经配置以提供用于对象的增强现实覆层,其指示针对对象无法找到应用程序。举例来说,移动装置120可经配置以在已经识别但不存在与之相关联的应用程序的对象上方上覆“X”图标。

图8是用于在移动装置上启动应用程序的过程的框流程图。图8中说明的过程可用以实施图5中说明的过程的阶段520。图8中说明的过程可由移动装置120实施。所述过程以应用程序启动器模块366在多个候选应用程序与由相机215俘获的图像中的对象相关联的情况下选择候选应用程序开始(阶段805)。多个应用程序可与对象相关联且可选择那些应用程序中的一者以在移动装置120上启动。一旦已由应用程序启动器模块366选定候选应用程序,便可进行针对移动装置120上的候选应用程序的搜索(阶段810)。与对象相关联的选定应用程序可能已经安装在移动装置120上。应用程序启动器模块366可做出在移动装置120上是否找到应用程序候选者的确定(阶段815)。

如果应用程序在移动装置120上不可用,那么应用程序启动器模块366可指示移动装置120的应用程序获取模块368发送请求到应用程序门户服务器145或应用程序驻留于其上的另一应用程序源服务器以将应用程序下载到移动装置120(阶段820)。移动装置120可随后从应用程序门户服务器145或另一远程应用程序源服务器(未图示)接收应用程序下载(阶段825)。应用程序门户服务器145或另一应用程序源服务器可经配置以经由网络110将应用程序发送到移动装置120。移动装置120可经配置以在用户可下载应用程序之前请求支付细节和/或其它信息,例如电子邮件地址、电话号码或可由应用程序发布者请求的与用户相关联的其它信息,且将所请求信息提供到服务器125或另一远程应用程序源服务器。

如果候选应用程序在移动装置上可用或已从服务器125或另一远程应用程序源服务器接收,那么应用程序启动器模块366可经配置以在移动装置120上启动应用程序(阶段830)。可执行应用程序可存储在存储器260或移动装置120的另一存储器中,且处理器控制器255可经配置以执行存储于存储器260中的处理器可执行应用程序内容。

图9是用于选择将在移动装置上启动的候选应用程序的过程的框流程图。图9中说明的过程可用以实施图8中说明的过程的阶段830。图9中说明的过程可由移动装置120实施。或者,图9中说明的过程的步骤可由视觉搜索服务器125和/或应用程序门户服务器145实施,其中所述服务器可将命令或命令系列发送到移动装置120以执行所说明的过程的阶段。

在存在与同由移动装置120的相机215俘获的图像相关联的对象和/或对象类型相关联的多个应用程序的情况下可使用图9说明的过程。过程可开始于应用程序启动器模块366向用户显示应用程序候选者的列表(阶段905),其中应用程序候选者是与应用程序相关联的应用程序。应用程序候选者的列表可从移动装置120上的对象数据库350和/或从应用程序门户服务器145的应用程序数据库1150获得。应用程序启动器模块366可经配置以在移动装置的显示器225上显示应用程序的列表,且移动装置120可经配置以接收选择待启动的应用程序的用户输入。应用程序启动器模块366还可经配置以提供取消应用程序的启动的选项,且如果移动装置120的用户选择应用程序以取消应用程序的启动,那么在移动装置120上将不启动与对象相关联的应用程序。应用程序启动器模块366可做出移动装置的用户是否已选择将启动的应用程序的确定(阶段910)。如果在预定时间周期已过去之前未接收到选择或如果装置120经配置以自动选择应用程序而不是提示用户,那么移动装置120的应用程序启动器模块366可经配置以自动选择将在移动装置120上启动的应用程序(阶段915)。移动装置120的应用程序启动器模块366可经配置以基于移动装置120的用户的用户简档和/或使用简档从与对象相关联的应用程序的列表自动选择应用程序。举例来说,如果用户的用户简档指示所述用户可包含指示所述用户偏好于某些类型的应用程序(例如某些类型的游戏)的信息,那么应用程序启动器模块366可经配置以优先于与对象相关联的其它类型的应用程序而自动选择用户偏好于的类型的游戏。随后可在移动装置120上启动所述选定应用程序(阶段920)。

图10是用于识别由与移动装置相关联的相机俘获的图像中的对象以及用于识别与所述对象相关联的至少一个候选应用程序的过程的框流程图。图10说明可由移动装置120实施且可用以实施图5中说明的过程的阶段510和515的过程。图10中说明的过程可由移动装置120的图像识别模块364执行,其中移动图像识别模块364未能找到针对由移动装置120的相机215俘获的图像中的对象的匹配(对象身份或对象类型)。图10中说明的过程也可由移动装置的图像识别模块364执行以通过基于本地对象数据库350的内容从视觉搜索服务器125获得识别结果而增加由图像识别模块364做出的识别的置信度,所述识别结果可随后与由图像识别模块364产生的搜索结果进行比较。图10中说明的方法也可由移动装置120实施,来代替先前描述的其中移动装置120推迟到视觉搜索服务器125的识别过程的过程。

在图10中说明的过程中,移动装置120的图像识别模块364可将由与移动装置120相关联的相机215俘获的图像发射到服务器125(阶段1005)。视觉搜索服务器125可经配置以识别图像中的对象且提供与所述对象相关联的对象身份和/或对象类型。视觉搜索服务器125还可经配置以识别与同从移动装置120接收的图像中的对象相关联的对象和/或对象类型相关联的至少一个应用程序。移动装置120的图像识别模块364可经配置以接收识别图像中的对象的对象信息以及识别与对象相关联的任何应用程序(如果存在)的应用程序信息(阶段1010)。或者,移动装置的图像识别模块364可经配置以从视觉搜索服务器125仅接收与由视觉搜索服务器125识别的对象相关联的应用程序识别符和/或可执行应用程序代码。

如果视觉搜索服务器125针对对象未找到匹配,那么移动装置120的图像识别模块364可经配置以在例如由于不良图像质量而不可识别对象的情况下提示移动装置的用户重新俘获对象的图像。移动装置120还可经配置以在对象上方提供经增强现实覆层,其指示不可识别对象或不存在与对象相关联的应用程序。

图12是用于识别使用移动装置的相机俘获的图像中的对象的过程的框流程图。图12中说明的过程可由视觉搜索服务器125实施。然而,图12中说明的过程的阶段中的一些或全部可整体或部分地由应用程序门户服务器145实施。此外,在一些实施方案中,视觉搜索服务器125和应用程序门户服务器145可由相同的服务器或服务器集合实施。在移动装置120将由移动装置120的相机215俘获的对象的图像发送到视觉搜索服务器进行处理以识别所述图像中的对象和/或对象的对象类型的情况下可使用图12中论述的过程。在移动装置120的图像识别模块364不能识别对象的情况下可调用图12中说明的过程,以提供“第二观点”以与由图像识别模块364达到的结果进行比较,或作为在移动装置120上识别对象的替代方案。

过程可以在视觉搜索服务器125处例如以接口480接收由移动装置120的相机215俘获的对象的图像的信息开始(阶段1205)。移动装置120可经配置以发送图像和/或由移动装置120从对象的图像提取的属性和/或特征。在一些实施方案中,对象的属性和/或特征可能已经从由移动装置120俘获的对象的图像提取以尝试识别与图像中的对象相关联的对象和/或对象类型。在其它实施方案中,仅对象的图像可由移动装置120提供到视觉搜索服务器125。在其中移动装置120未经配置以执行图像识别过程或其中需要图像识别模块364与视觉搜索服务器125之间的识别结果的比较的情况下可提供图像而无从图像提取的属性和/或特征。

过程可以识别由与移动装置120相关联的相机215俘获的对象的图像中的对象和/或对象类型继续(阶段1210)。视觉搜索服务器125的视觉搜索引擎模块462可经配置以使用上述各种技术识别图像中的对象和/或对象类型。举例来说,可通过将从图像中的对象的图像提取的属性和/或特征与存储在对象数据库450中的所识别对象的属性和/或特征进行比较来识别图像中的对象和/或对象类型。图像中的对象的用以识别所述对象的属性和/或特征,例如对象的高度与宽度的比率、对象的一或多个颜色、对象的形状、对象的大小和/或对象的属性,可用以识别所述对象。视觉搜索服务器125的视觉搜索引擎模块462可使用各种技术用于识别图像中的对象和/或对象类型。举例来说,视觉搜索服务器125的视觉搜索引擎模块462可以使用用于对象辨识的一或多个方法,所述方法使用自然特征描述符来描述对象且搜索对象的图像中的相似特征以尝试识别对象,例如SIFT、SURF和BRIEF技术,以及其它对象辨识技术。

过程可以识别与由相机215俘获的图像中识别的对象和/或对象类型相关联的一或多个应用程序继续(阶段1215)。图像识别模块364可经配置以将对象的身份和/或对象类型信息提供到应用程序启动器模块464。应用程序启动器模块464可经配置以从应用程序门户服务器145请求与对象和/或对象类型相关联的应用程序信息。在一些实施方案中,应用程序启动器模块464还可经配置以将针对与特定对象或对象类型相关联的应用程序的列表的请求发送到应用程序门户服务器145。在一些实施方案中,阶段1115是任选的,且视觉搜索服务器125经配置以仅将对象身份和/或对象类型提供到移动装置120且移动装置120经配置以识别且获得与所述对象和/或对象类型相关联的任何应用程序。

过程可以例如以接口480将至少包含与所识别对象和/或对象类型相关联的应用程序的识别的信息发射到移动装置继续(阶段1220)。一旦已经识别与对象和/或对象类型相关联的一或多个应用程序,应用程序启动器模块464便可将与所述应用程序和/或多个应用程序中的每一者相关联的应用程序识别符发送到移动装置120,其中应用程序识别符信息是由视觉搜索服务器125的应用程序获取模块466从应用程序门户服务器145获得。在一些实施方案中,应用程序获取模块466可经配置以从应用程序门户服务器145下载可执行应用程序内容且将所述内容推送到移动装置120。在又其它实施方案中,启动器模块464可经配置以指示移动装置120的应用程序获取模块368从应用程序门户服务器145下载所识别应用程序。

图13是用于识别与由移动装置的相机俘获的图像中的对象相关联的对象和/或对象类型的过程的框流程图。图13中说明的过程可由视觉搜索服务器125实施。然而,图13中说明的过程的阶段中的一些或全部可整体或部分地由应用程序门户服务器145实施。此外,在一些实施方案中,视觉搜索服务器125和应用程序门户服务器145可由相同的服务器或服务器集合实施。在移动装置120将由移动装置120的相机215俘获的对象的图像发送到视觉搜索服务器进行处理以识别所述图像中的对象和/或对象的对象类型的情况下可使用图13中论述的过程。在移动装置120的图像识别模块364不能识别对象的情况下可调用图13中说明的过程,以提供“第二观点”以与由图像识别模块364达到的结果进行比较,或作为在移动装置120上识别对象的替代方案。在图13中说明的过程中,移动装置120仅依赖于视觉搜索服务器125来识别图像中的对象和/或对象的对象类型,且并不依赖于视觉搜索服务器125来识别和/或获取与所述对象和/或对象类型相关联的任何应用程序。

过程可以在视觉搜索服务器125处例如以接口480接收由移动装置120的相机215俘获的对象的图像的信息开始(阶段1305)。移动装置120可经配置以发送图像和/或由移动装置120从对象的图像提取的属性和/或特征。在一些实施方案中,对象的属性和/或特征可能已经从由移动装置120俘获的对象的图像提取以尝试识别与图像中的对象相关联的对象和/或对象类型。在其它实施方案中,仅对象的图像可由移动装置120提供到视觉搜索服务器125。在其中移动装置120未经配置以执行图像识别过程或其中需要图像识别模块364与视觉搜索服务器125之间的识别结果的比较的情况下可提供图像而无从图像提取的属性和/或特征。

过程可以识别由与移动装置120相关联的相机215俘获的对象的图像中的对象和/或对象类型继续(阶段1310)。视觉搜索服务器125的视觉搜索引擎模块462可经配置以使用上述各种技术识别图像中的对象和/或对象类型。举例来说,可通过将从图像中的对象的图像提取的属性和/或特征与存储在对象数据库450中的所识别对象的属性和/或特征进行比较来识别图像中的对象和/或对象类型。对象的属性和/或特征,例如对象的高度与宽度的比率、对象的一或多个颜色、对象的形状、对象的大小和/或对象的属性,可用以识别所述对象。视觉搜索服务器125的视觉搜索引擎模块462可使用各种技术用于识别图像中的对象和/或对象类型。举例来说,视觉搜索服务器125的视觉搜索引擎模块462可以用于对象辨识的一或多个方法,所述方法使用自然特征描述符来描述对象且搜索对象的图像中的相似特征以尝试识别对象,例如SIFT、SURF和BRIEF技术,以及其它对象辨识技术。

过程可以例如以接口480将至少包含由移动装置120提供的图像中的对象和/或对象类型的识别的信息发射到移动装置继续(阶段1315)。视觉搜索引擎模块462可在找到任何结果的情况下将对象的身份和/或对象类型发射到移动装置。否则,视觉搜索引擎模块462可向移动装置120发送不可识别图像中的对象的消息。

图14是用于提供与对象和/或对象类型相关联的应用程序信息的过程的框流程图。图14中说明的过程可由应用程序门户服务器145实施。在一些实施方案中,视觉搜索服务器125和应用程序门户服务器145可由相同的服务器或服务器集合实施。在移动装置120或视觉搜索服务器125发送针对与特定对象和/或对象类型相关联的应用程序信息的请求的情况下可使用图14中论述的过程,且应用程序门户服务器145可提供与所述请求中识别的对象和/或对象类型相关联的应用程序的列表。

所述过程可以在应用程序门户服务器145处例如以接口1180接收针对与特定对象和/或对象类型相关联的应用程序信息的请求开始(阶段1405)。应用程序请求模块1162可经配置以接收由移动装置120或视觉搜索服务器125发送的请求。在一些实施方案中,替代于关于特定对象和/或对象类型的信息或除其之外,可接收从图像提取的对象的属性,例如特征描述符或关键点。

应用程序请求模块1162可随后存取应用程序数据库1150以识别与所识别对象和/或对象类型相关联的任何应用程序(阶段1410)。应用程序请求模块1162可经配置以基于应用程序数据库1150的内容产生与对象和/或对象类型相关联的应用程序的列表(或对象属性)。

应用程序请求模块1162可随后经配置以例如以接口1180将应用程序信息发射到请求实体(阶段1415)。应用程序请求模块1162可经配置以将与对象和/或对象类型相关联的应用程序的列表发射到请求与对象和/或对象类型相关联的应用程序的列表的移动装置120或视觉搜索服务器125。

图15是用于更新应用程序数据存储装置中的应用程序信息的过程的图的框。图15中说明的过程可由应用程序门户服务器145实施。在一些实施方案中,视觉搜索服务器125和应用程序门户服务器145可在相同的服务器或服务器集合上实施。在应用程序开发者将想要添加或修改由应用程序门户服务器145提供的应用程序内容的情况下可使用图15中论述的过程。图15中说明的过程之前可以是验证过程,其中应用程序开发者在能够从应用程序门户服务器145添加、更新或移除应用程序之前提供验证凭证。

所述方法可以应用程序门户服务器145例如以接口1180接收更新与可在一或多个移动装置上执行的应用程序相关联的应用程序信息的请求开始(阶段1505)。应用程序门户服务器145的应用程序管理模块1164可经配置以处理所述请求。应用程序信息可包含用于针对特定类型的移动装置和/或移动装置上的操作系统版本配置的应用程序的一或多个版本的可执行程序代码。应用程序信息还可包含应用程序的描述、与应用程序相关联的缩略图图像和/或与应用程序相关联的其它内容。

可随后以随所述请求提供的应用程序信息来更新应用程序数据存储装置(阶段1510)。如果所述请求与当前不包含在数据库中的新应用程序相关联,那么应用程序管理模块1164可经配置以将新的唯一应用程序识别符指派于应用程序且以随所述请求提供的应用程序信息更新应用程序数据库1150。如果所述请求与现有应用程序相关联,那么可由应用程序管理模块1164更新与应用程序数据库1150中的所述应用程序相关联的应用程序信息。

图16是用于将与特定应用程序相关联的应用程序信息提供到移动装置或视觉搜索服务器的过程的框流程图。图16中说明的过程可由应用程序门户服务器145实施。在一些实施方案中,视觉搜索服务器125和应用程序门户服务器145可在相同的服务器或服务器集合上实施。在移动装置120或视觉搜索服务器125发送针对与特定应用程序识别符相关联的应用程序内容的请求的情况下可使用图16中论述的过程。

所述过程可以在应用程序门户服务器145处例如以接口1180接收针对与特定应用程序识别符相关联的应用程序内容的请求开始(阶段1605)。应用程序请求模块1162可经配置以接收由移动装置120或视觉搜索服务器125发送的请求。应用程序识别符提供可用以识别可从应用程序服务器门户145存取的特定应用程序的唯一识别符。应用程序门户服务器145可经配置以执行授权步骤以在前进到查找和/或发送应用程序内容到请求实体之前确定移动装置120和/或视觉搜索服务器125是否经授权以存取所述内容。

应用程序请求模块1162可随后存取应用程序数据库1150以识别与所述请求中包含的应用程序识别符相关联的任何应用程序(阶段1610)。应用程序请求模块1162可经配置以使用与所请求应用程序相关联的唯一应用程序识别符存取与应用程序相关的内容。

应用程序请求模块1162可随后经配置以例如以接口1180将所请求应用程序内容发射到移动装置120或视觉搜索服务器125(取决于哪一实体请求应用程序内容)(阶段1615)。在一些实施方案中,应用程序请求模块1162可经配置以将可执行程序代码发送到移动装置120和/或视觉搜索服务器125或发送命令以致使移动装置120和/或视觉搜索服务器125从应用程序门户服务器145下载所请求的内容。在所述请求包含无效应用程序识别符的情况下,应用程序请求模块1162可经配置以向请求实体发送应用程序识别符不是有效的消息。在所述请求包含与不再可用的内容相关联的应用程序识别符的情况下,应用程序请求模块1162可经配置以向服务器发送应用程序识别符不再可用的消息。

以下实例使用情况提供说明可如何一起使用本文所描述的各种系统和过程以提供应用程序内容到移动装置120的一些实例。这些实例仅既定证明在此说明的各种过程可如何一起使用以提供与对象和/或对象类型相关联的应用程序内容到移动装置120,且这些实例并不希望为详尽的或限制性的。这些过程的其它组合是可能的。

在一个实例中,移动装置120可俘获对象的图像且将对象的图像和/或由移动装置120从图像提取的对象的描述符的集合发送到视觉搜索服务器125。在一些实施方案中,移动装置可在将对象的图像发送到视觉搜索服务器之前首先尝试识别对象,例如在图6中说明的可用以实施图5中说明的过程的阶段510的过程中。视觉搜索服务器125可经配置以例如在图13的过程中返回图像中的对象的身份和/或对象的对象类型。视觉搜索服务器125可经配置以将从图像提取的特征和/或描述符提供到移动装置120,移动装置120可将其发送到应用程序门户服务器145以接收与那些描述符相关联的应用程序内容。

视觉搜索服务器125还可经配置以例如在图12说明的过程中响应于从移动装置120接收的对象的图像和/或对象的描述符的集合而将应用程序信息提供到移动装置120。由视觉搜索服务器125提供的应用程序信息可包含与对象和/或对象类型相关联的应用程序的一或多个应用程序识别符或可包含应用程序内容自身。在应用程序识别符由视觉搜索服务器125提供到移动装置120(例如在图12中说明的过程中)的情况下,移动装置120可经配置以做出是否任何应用程序内容已经在移动装置上可用的确定,且使用由视觉搜索服务器125提供的应用程序识别符从应用程序门户服务器145请求在移动装置120上不可用的任何应用程序内容。应用程序门户服务器145可经配置以接收应用程序识别符且将与那些应用程序识别符相关联的应用程序内容提供到移动装置120(例如在图14中说明的过程中)。

在另一个实例中,移动装置120可俘获对象的图像且将对象的图像发送到视觉搜索服务器125以识别对象。在一些实施方案中,移动装置可在将对象的图像发送到视觉搜索服务器125之前首先尝试识别对象,例如在图6中说明的可用以实施图5中说明的过程的阶段510的过程中。在其它实施方案中,移动装置120可经配置以例如在图10中说明的过程中将对象的图像发送到视觉搜索服务器125用于识别而无需首先尝试识别对象。在一些实施方案中,视觉搜索服务器125可经配置以例如在图13中说明的过程中接收对象的图像,识别对象,且将至少包含对象的识别的信息发送到移动装置120。提供到移动装置120的信息可包含对象的识别,例如与由移动装置120俘获的图像中的对象相关联的对象标识符和/或描述符的集合。移动装置120可随后经配置以将与图像中的对象相关联的对象标识符和/或描述符的集合发送到应用程序门户服务器145,且从应用程序门户服务器145接收应用程序内容。此过程类似于图14中说明的过程,其中应用程序门户服务器145可经配置以从移动装置120或视觉搜索服务器125接收应用程序识别符且将与那些应用程序识别符相关联的应用程序内容提供到请求实体。然而,在此实例中,应用程序门户服务器145可经配置以接收与图像中的对象相关联的对象标识符和/或描述符的集合,且基于从移动装置120接收的对象标识符和/或描述符的集合识别与图像中的对象和/或对象的对象类型相关联的应用程序内容。

在另一个实例中,移动装置120可俘获对象的图像,且将对象的图像发送到应用程序门户145和/或将由移动装置120从图像提取的对象的描述符的集合发送到应用程序门户145。此过程类似于图12中论述的过程,其中视觉搜索服务器125可经配置以接收由与移动装置120相关联的相机215俘获的对象的图像的图像信息,但在此示范性使用情况中,应用程序门户服务器145可经配置以从视觉搜索服务器125接收图像信息。应用程序门户服务器145可随后经配置以将从移动装置120接收的图像信息发送到视觉搜索服务器125。视觉搜索服务器125可经配置以执行与图12中说明的过程相似的过程,其中阶段1205中的图像信息是从应用程序门户服务器145接收且视觉搜索服务器125将与从由移动装置俘获的图像的对象和/或对象的对象类型相关联的至少一个应用程序的识别发送到应用程序门户服务器145。应用程序门户服务器145可经配置以使用所述至少一个应用程序的识别以提供应用程序内容到移动装置120。或者,视觉搜索服务器125可经配置以执行与图13中说明的过程相似的过程,其中阶段1205中的图像信息是从应用程序门户服务器145接收,且视觉搜索服务器125发送将来自由移动装置俘获的图像的对象和/或对象的对象类型发送到应用程序门户服务器145。应用程序门户服务器145可随后使用从视觉搜索服务器125接收的对象和/或对象类型来查找与所述对象和/或对象类型相关联的应用程序内容且将应用程序内容提供到移动装置。

其它考虑

如本文所使用,包含在权利要求书中,以“至少一个”开始的项目的列表中所使用的“或”指示分离性列表,以使得(例如)“A、B或C中的至少一者”的列表是指A或B或C或AB或AC或BC或ABC(即,A及B及C),或与一个以上特征的组合(例如,AA、AAB、ABBC等)。

如本文中所使用,包含在权利要求书中,除非另外规定,否则功能或操作是“基于”项目或条件的声明是指所述功能或操作是基于所陈述的项目或条件且可基于除了所陈述的项目或条件之外的一或多个项目及/或条件。

无线通信网络不无线地发射所有通信,但经配置以无线地发射至少一些通信。

其它实例及实施方案在本发明及所附权利要求书的范围及精神内。举例来说,归因于软件的性质,上文所描述的功能可使用由处理器、硬件、固件、硬连线或这些中的任何者的组合执行的软件实施。实施功能的特征还可物理地位于各种位置处,包含经分布以使得功能的部分在不同物理位置处实施。并且,如本文所使用,包含在权利要求书中,以“至少一个”开始的项目的列表中所使用的“或”指示分离性列表,以使得(例如)“A、B或C中的至少一者”的列表是指A或B或C或AB或AC或BC或ABC(即,A及B及C),或与一个以上特征的组合(例如,AA、AAB、ABBC等)。

此外,可揭示一个以上发明。

可根据特定要求作出对所描述的配置的实质上变化。举例来说,还可能使用定制硬件,且/或可将特定元件实施于硬件、软件(包含便携式软件,例如小程序等)或两者中。另外,可以利用到其它计算装置(例如网络输入/输出装置)的连接。

举例来说,常见形式的物理及/或有形计算机可读媒体包含软性磁盘、柔性磁盘、硬盘、磁带,或任何其它磁性媒体、CD-ROM、任何其它光学媒体、打孔卡、纸带、具有孔图案的任何其它物理媒体、RAM、PROM、EPROM、快闪-EPROM、任何其它存储器芯片或盒带、如下文所描述的载波,或计算机可从其读取指令及/或代码的任何其它媒体。

上文所论述的方法、系统和装置为实例。按需要,各种配置可省略、替代或添加各种程序或组件。举例来说,在替代配置中,方法可以不同于所描述的次序来执行,且可添加、省略或组合各种步骤。又,可以各种其它配置组合关于某些配置所描述的特征。可以类似方式组合配置的不同方面和元件。并且,技术发展,且因此,元件中的许多为实例且并不限制本发明或权利要求书的范围。

在描述中给出特定细节以提供对实例配置(包含实施方案)的透彻理解。然而,可在并无这些特定细节的情况下实践配置。举例来说,已在无不必要细节的情况下展示众所周知的电路、过程、算法、结构和技术以便避免混淆配置。此描述仅提供实例配置,且并不限制权利要求书的范围、适用性或配置。实际上,所述配置的前面描述提供用于实施所描述的技术的描述。在不脱离本发明的精神或范围的情况下可对元件的功能和配置作出各种改变。

而且,可将配置描述为被描绘为流程图或框图的过程。尽管每一流程图或框图可将操作描述为顺序过程,但许多操作可并行地或同时执行。此外,操作的次序可以重新排列。过程可具有图中未包含的额外阶段或功能。此外,方法的实例可由硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合实施。当以软件、固件、中间件或微码实施时,执行任务的程序代码或代码段可存储在例如存储媒体的非暂时性计算机可读媒体中。此些非暂时性计算机可读媒体可由存储器260和/或存储器460实施。处理器可执行所描述的任务;例如处理器210、220、230、240和455中的一或多者可经配置以执行相对于图5-10和12-16描述的功能中的一或多者。

已描述若干实例配置,可在不脱离本发明的精神的情况下使用各种修改、替代构造和等效物。举例来说,以上元件可为较大系统的组件,其中其它规则可优先于本发明的应用或以其它方式修改本发明的应用。而且,可在考虑以上元件之前、期间或之后进行若干操作。因此,以上描述并不限制权利要求书的范围。

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