处理视觉查询的方法和系统与流程

文档序号:11624563阅读:237来源:国知局
处理视觉查询的方法和系统与流程

分案说明

本申请属于申请日为2010年08月16日的中国发明专利申请201080062952.6的分案申请。

所公开的实施例一般地涉及处理视觉查询的系统和方法,更具体地涉及响应于视觉查询以及与客户端设备相关联的位置信息获得包括在物理上位于客户端设备附近的本地收录的搜索结果。



背景技术:

其中用户向搜索引擎中输入词或短语并且接收各种结果的基于文本或基于词语的搜索是一种用于搜索的有用工具。然而,基于词语的查询需要用户能够输入相关词语。有时用户会希望了解与其当前所处地方相关的信息。例如,用户可能想要知道特定建筑物中的公司的名称,找出与位于特定建筑物中的组织相关联的电话号码,或者读取与其附近的餐厅相关的评论。因此,将需要一种能够从客户端设备接收视觉查询以及与所述客户端设备的位置相关的信息并且能够使用位置信息和视觉查询来提供相关搜索结果的系统。



技术实现要素:

以上所描述的局限和缺点通过提供以下所描述的方法、系统、计算机可读存储介质和图形用户界面(gui)而被克服。

方法、系统、计算机可读存储介质和图形用户界面(gui)的一些实施例提供了以下内容。根据一些实施例,一种计算机实现的处理视觉查询的方法包括在具有一个或多个处理器以及存储供所述一个或多个处理器所执行的一个或多个程序的存储器的服务器系统上执行以下操作。从客户端系统接收视觉查询。还从客户端系统接收位置信息,其指示所述客户端系统的当前位置。在一些实施例中,客户端系统从gps信息、小区塔台信息和/或无线局域网信息获得位置信息。服务器系统向视觉查询搜索系统发送视觉查询和位置信息。所述服务器系统从所述视觉查询搜索系统接收基于所述视觉查询和位置信息的增强位置信息。所述服务器系统然后将包括所述增强位置信息的搜索查询发送至基于位置的搜索系统。所述搜索系统接收针对客户端系统的一个或多个搜索结果并且将其提供至客户端。

在一些实施例中,提供了一种服务器系统,所述服务器系统包括用于执行程序的一个或多个中央处理单元以及存储由所述一个或多个中央处理单元执行的一个或多个程序的存储器。所述程序包括用于执行以下操作的指令。从客户端系统接收视觉查询。还从客户端系统接收位置信息,其指示所述客户端系统的当前位置。在一些实施例中,客户端系统从gps信息、小区塔台信息和/或无线局域网信息获得位置信息。服务器系统向视觉查询搜索系统发送视觉查询和位置信息。所述服务器系统从所述视觉查询搜索系统接收基于所述视觉查询和位置信息的增强位置信息。所述服务器系统然后将包括所述增强位置信息的搜索查询发送至基于位置的搜索系统。所述搜索系统接收针对客户端系统的一个或多个搜索结果并且将其提供至客户端。

一些实施例提供了一种存储被配置为供计算机执行的一个或多个程序的计算机可读存储介质。所述程序包括用于执行以下操作的指令。从客户端系统接收视觉查询。还从客户端系统接收位置信息,其指示所述客户端系统的当前位置。在一些实施例中,客户端系统从gps信息、小区塔台信息和/或无线局域网信息获得位置信息。服务器系统向视觉查询搜索系统发送视觉查询和位置信息。所述服务器系统从所述视觉查询搜索系统接收基于所述视觉查询和位置信息的增强位置信息。所述服务器系统然后将包括所述增强位置信息的搜索查询发送至基于位置的搜索系统。所述搜索系统接收针对客户端系统的一个或多个搜索结果并且将其提供至客户端。

附图说明

图1是图示包括视觉查询服务器系统的计算机网络的框图。

图2是图示依据一些实施例的用于对视觉查询进行响应的过程的流程图。

图3是图示依据一些实施例的用于利用交互式结果文档对视觉查询进行响应的过程的流程图。

图4是图示依据一些实施例的客户端和视觉查询服务器系统之间的通信的流程图。

图5是图示依据一些实施例的客户端系统的框图。

图6是图示依据一些实施例的前端视觉查询处理服务器系统的框图。

图7是图示依据一些实施例的被用来处理视觉查询的并行搜索系统中一般的一个的框图。

图8是图示依据一些实施例的被用来处理视觉查询的ocr搜索系统的框图。

图9是图示依据一些实施例的被用来处理视觉查询的面部识别搜索系统的框图。

图10是图示依据一些实施例的被用来处理视觉查询的图像至词语搜索系统的框图。

图11图示了依据一些实施例的具有示例性视觉查询的截屏的客户端系统。

图12a和12b均图示了依据一些实施例的具有带分界框的交互式结果文档的截屏的客户端系统。

图13图示了依据一些实施例的具有通过类型编码的交互式结果文档的截屏的客户端系统。

图14图示了依据一些实施例的具有带标签的交互式结果文档的截屏的客户端系统。

图15图示了依据一些实施例的交互式结果文档和与结果列表同时显示的视觉查询的截屏。

图16a-16c是图示根据一些实施例的用于使用位置传感器数据和视觉查询来返回视觉查询的本地收录的过程的流程图。

图17是图示依据一些实施例的选择搜索结果的锥截体(frustum)方法的流程图。

图18是图示依据一些实施例的基于突出性和位置数据选择搜索结果的方法的流程图。

图19是图示依据一些实施例的基于相关位置和精确度数据选择搜索结果的方法的流程图。

图20是图示依据一些实施例的客户端和视觉查询服务器系统之间具有位置信息扩增的通信的流程图。

图21图示了依据一些实施例的针对包括建筑物的街景视觉查询所返回的多个可采取动作的搜索结果元素和结果列表的客户端系统显示。

图22图示了依据一些实施例的针对包括建筑物的街景视觉查询所返回的覆盖视觉查询的多个可采取动作的搜索结果元素的客户端系统显示。

图23是图示依据一些实施例的扩增位置的视觉查询处理服务器系统的框图。

图24是图示依据一些实施例的基于位置的查询处理服务器系统的框图。

相同的附图标记贯穿附图指代相对应的部分。

具体实施方式

现在将对其示例在附图中进行图示的实施例进行详细参考。在以下详细描述中,给出多个具体细节以便提供对本发明的全面理解。然而,对本领域技术人员显而易见的是,本发明可以在没有这些具体细节的情况下进行实践。在其它实例中,没有对已知的方法、过程、组件、电路和网络进行详细描述以免对本发明的方面造成不必要的混淆。

还要理解的是,虽然这里可能使用了术语第一、第二等来对各个元素进行描述,但是这些元素并不被这些术语所限制。这些术语仅被用来将一个元素与另一元素区分开来。例如,第一联系人可以被称之为第二联系人,并且类似地,第二联系人可以被称之为第一联系人,而并不背离本发明的范围。第一联系人和第二联系人均为联系人,但是他们不是相同的联系人。

这里的发明描述中所使用的术语仅是为了描述特定实施例而并非意在对本发明进行限制。如发明描述和权利要求中所使用的,除非上下文明确另外指出,否则单数形式“一个”(“a”、“an”和“the”)意在也包括复数形式。还要理解的是,如这里所使用的术语“和/或”是指代并包含相关联列举项目中的一个或多个的任意和所有的可能组合。将要进一步理解的是,当在该说明书中使用时,术语“包括”和/或“包含”指定存在所提到的特征、整数、步骤、操作、元素和/或组件,但是并不排除存在或添加一个或多个其它特征、整数、步骤、操作、元素、组件和/或其群组。

如这里所使用的,根据上下文,术语“如果”可以被理解为表示“当……时”或“一旦”或“响应于确定了……”或“响应于检测到……”。类似地,根据上下文,短语“如果确定了”或“如果检测到(所提到的条件或事件)”可以被理解为表示“一旦确定了……”或“响应于确定了……”或“一旦检测到(所提到的条件或事件)”或“响应于检测到(所提到的条件或事件)”。

图1是图示根据一些实施例的包括视觉查询服务器系统的计算机网络的框图。计算机网络100包括一个或多个客户端系统102以及视觉查询服务器系统(有时称为视觉查询系统)106。一个或多个通信网络104对这些组件进行互连。通信网络104可以是各种网络中的任意网络,包括局域网(lan)、广域网(wan)、无线网络、有线网络、互联网或者这样的网络的组合。

客户端系统102包括客户端应用108,其由客户端系统执行用于接收视觉查询(例如,图11的视觉查询1102)。视觉查询是作为查询提交给搜索引擎或搜索系统的图像。视觉查询的示例包括照片、扫描文档以及图像和图,但是并不局限于此。在一些实施例中,客户端应用108从搜索应用、用于浏览器应用的搜索引擎插件和用于浏览器应用的搜索引擎扩展所构成的集合中进行选择。在一些实施例中,客户端应用108是“杂性的(omnivorous)”搜索框,其允许用户将任意格式的图像拖放到搜索框中以作为视觉查询。

客户端系统102向视觉查询服务器系统106发送查询并且从其接收数据。客户端系统102可以是能够与视觉查询服务器系统106进行通信的任意计算机或其它设备。示例包括台式和笔记本计算机、大型主机计算机、服务器计算机、诸如移动电话和个人数字助理的移动设备、网络终端和机顶盒,但不限于此。

视觉查询服务器系统106包括前端视觉查询处理服务器110。前端服务器110从客户端102接收视觉查询,并且将所述视觉查询发送到多个并行搜索系统112以便同时进行处理。搜索系统112均实施不同的视觉查询搜索过程并且在必要时访问其相应数据库114以通过它们不同的搜索过程来处理所述视觉查询。例如,脸部识别搜索系统112-a将访问面部图像数据库114-a以寻找与图像查询相匹配的面部。如将关于图9更为详细描述的,如果视觉查询包含脸部,则面部识别搜索系统112-a将从面部图像数据库114-a返回一个或多个搜索结果(例如,名称、匹配脸部等)。在另一个示例中,光学字符识别(ocr)搜索系统112-b将视觉查询中任意可识别的文本转换为文本以便作为一个或多个搜索结果返回。如关于图8更为详细解释地,在光学字符识别(ocr)搜索系统112-b中,可以访问ocr数据库114-b来识别特定字体或文本图案。

可以使用任意数量的并行搜索系统112。一些示例包括面部识别搜索系统112-a、ocr搜索系统112-b、图像至词语搜索系统112-c(其可以识别对象或对象类别)、产品识别搜索系统(其可以被配置为识别诸如图书封面和cd的2-d图像并且还可以被配置为识别诸如家具的3-d图像)、条形码识别搜索系统(其识别1d和2d样式的条形码)、命名实体识别搜索系统、地标识别(其可以被配置为识别诸如埃菲尔铁塔的特定著名地标,并且还可以被配置为识别诸如广告牌之类的特定图像库集)、通过由客户端系统102中的gps接收器或移动电话网络所提供的地理位置信息协助的地点识别、颜色识别搜索系统、以及类似的图像搜索系统(其搜索并识别与视觉查询类似的图像)。由图1中系统112-n所表示的,可以添加另外的搜索系统作为附加的并行搜索系统。除了ocr搜索系统之外,所有搜索系统在这里被共同定义为执行图像匹配过程的搜索系统。包括ocr搜索系统在内的所有搜索系统被共同称作通过图像进行查询(query-by-image)的搜索系统。在一些实施例中,视觉查询服务器系统106包括面部识别搜索系统112-a、ocr搜索系统112-b以及至少一个其它的通过图像进行查询的搜索系统112。

并行搜索系统112均单独对视觉搜索查询进行处理并且将其结果返回给前端服务器系统110。在一些实施例中,前端服务器100可以对搜索结果执行一个或多个分析,诸如以下的一个或多个:将结果聚合到复合文档中,选择结果的子集进行显示,并且对结果进行排名,如关于图6更为详细解释的。前端服务器110将搜索结果通信到客户端系统102。

客户端系统102将一个或多个搜索结果呈现给用户。所述结果可以呈现在显示器上,通过音频扬声器或者用来向用户通信信息的任意其它手段来进行呈现。用户可以以各种方式与搜索结果进行交互。在一些实施例中,用户的选择、注释以及与搜索结果的其它交互被传送到视觉查询服务器系统106并且连同视觉查询一起记录在查询和注释数据库116中。查询和注释数据库中的信息可以被用来改善视觉查询结果。在一些实施例中,来自查询和注释数据库116的信息被定期推送至并行搜索系统112,其将任意相关的信息部分合并到其相应的单独数据库114中。

计算机网络100可选地包括词语查询服务器系统118,其用于响应于词语查询执行搜索。与包含图像的视觉查询相对,词语查询是包含一个或多个词语的查询。词语查询服务器系统118可以被用来生成搜索结果,该搜索结果对视觉查询服务器系统106中的各个搜索引擎所产生信息进行补充。从词语查询服务器系统118所返回的结果可以包括任意格式。词语查询服务器系统118可以包括文本文档、图像、视频等。虽然词语查询服务器系统118在图1中被示为单独系统,但是可选地,视觉查询服务器系统106可以包括词语查询服务器系统118。

以下关于图2-4中的流程图提供与视觉查询服务器系统106的操作相关的附加信息。

图2是图示根据本发明某些实施例的用于对视觉查询进行响应的视觉查询服务器系统方法的流程图。图2中所示出的每个操作可以对应于计算机存储器或计算机可读存储介质中所存储的指令。

视觉查询服务器系统从客户端系统接收视觉查询(202)。如关于图1所解释的,客户端系统例如可以为台式计算设备、移动设备或其它类似设备(204)。图11中示出了示例客户端系统上的示例视觉查询。

视觉查询是任意适当格式的图像文档。例如,视觉查询可以是照片、截屏、扫描图像,或者是视频的一帧或多个帧的序列(206)。在一些实施例中,视觉查询是内容编写程序(736,图5)所产生的图。这样,在一些实施例中,用户“绘制”视觉查询,而在其它实施例中,用户扫描或拍摄视觉查询。一些视觉查询使用诸如acrobat之类的图像生成应用、照片编辑程序、绘画程序或图像编辑程序来创建。例如,视觉查询可以来自于用户在其移动电话上为其朋友拍摄照片并且然后将该照片作为视觉查询提交至服务器系统。视觉查询还可以来自于用户对一页杂志进行扫描或者在台式计算机上截取网页的截屏并然后将扫描或截屏作为视觉查询提交至服务器系统。在一些实施例中,视觉查询通过浏览器应用的搜索引擎扩展、通过浏览器应用的插件或者通过由客户端系统102所执行的搜索应用提交至服务器系统106。视觉查询还可以由(客户端系统所执行的)支持或生成可以由客户端系统传送至远程服务器的图像的其它应用程序来提交。

视觉查询可以是文本和非文本元素的组合(208)。例如,查询可以是包含图像和文本的杂志页面的扫描,诸如一个人站在路标旁边。视觉查询可以包括人脸的图像,其或者由嵌入客户端系统的相机所拍摄或者是客户端系统所扫描或以另外方式所接收的文档。视觉查询还可以是仅包含文本的文档的扫描。视觉查询也可以是多个不同主题的图像,诸如森林中的若干只鸟、人和物体(例如,汽车、公园长椅等)、人和动物(例如,宠物、家畜、蝴蝶等)。视觉查询可以具有两个或更多的不同元素。例如,视觉查询可以包括产品的条形码和图像或者产品包装上的产品名称。例如,视觉查询可以是包括图书标题、封面艺术和条形码的图书封面的图片。如以下更为详细讨论的,在一些实例中,一个视觉查询将产生与该视觉查询的不同部分相对应的两个或更多的不同搜索结果。

服务器系统如下对视觉查询进行处理。前端服务器系统将视觉查询发送到多个并行搜索系统以便同时进行处理(210)。每个搜索系统实施不同的视觉查询搜索过程,即单独的搜索系统通过其自己的处理方案对视觉查询进行处理。

在一些实施例中,对其发送视觉查询以便进行处理的一个搜索系统是光学字符识别(ocr)搜索系统。在一些实施例中,对其发送视觉查询以便进行处理的一个搜索系统是面部识别搜索系统。在一些实施例中,运行不同视觉查询搜索过程的多个搜索系统至少包括:光学字符识别(ocr)、面部识别,以及不同于ocr和面部识别的其它通过图像进行查询的过程(212)。其它通过图像进行查询的过程选自包括但并不局限于产品识别、条形码识别、对象或对象类别识别、命名实体识别和颜色识别的过程集合(212)。

在一些实施例中,命名实体识别作为ocr搜索系统的后期过程发生,其中针对著名人物、位置、对象等对ocr的文本结果进行分析,并且然后在词语查询服务器系统(图1的118)中对被识别为命名实体的词语进行搜索。在其它实施例中,由图像至词语搜索系统对著名地标、标志、人物、影集封面、商标等的图像进行识别。在其它实施例中,采用与图像至词语搜索系统相分离的不同命名实体的通过图像进行查询的过程。对象或对象类别识别系统识别如“汽车”的一般结果类型。在一些实施例中,该系统还识别产品品牌、特定产品模型等,并且提供如“保时捷”的更为具体的描述。一些搜索系统可以是特定于特殊用户的搜索系统。例如,特定版本的颜色识别和面部识别可以是盲人所使用的特殊搜索系统。

前端服务器系统从并行搜索系统接收结果(214)。在一些实施例中,所述结果伴随有搜索分值。对于一些视觉查询而言,一些搜索系统将找不到相关结果。例如,如果视觉查询是花的图片,则面部识别搜索系统和条形码搜索系统将找不到任何相关结果。在一些实施例中,如果没有找到相关结果,则从该搜索系统接收空或零搜索分值(216)。在一些实施例中,如果前端服务器在预定义的时间段(例如,0.2、0.5、1、2或5秒)之后没有从搜索系统接收到结果,则其就将如同超时服务器产生空搜索分值那样来处理所接收结果并且将对来自其它搜索系统的所接收结果进行处理。

可选地,当至少两个所接收搜索结果满足预定义标准时,对它们进行排名(218)。在一些实施例中,一种预定义标准排除无效结果。预定义标准是结果并非无效的标准。在一些实施例中,一种预定义标准排除具有低于预定义最低分值的数字分值(例如,对于相关性因素而言)的结果。可选地,对多个搜索结果进行过滤(220)。在一些实施例中,仅在结果总数超过预定义阈值的情况下对结果进行过滤。在一些实施例中,对所有结果进行排名但是排除低于预定义最低分值的结果。对于一些视觉查询而言,对结果的内容进行过滤。例如,如果一些结果包含隐私信息或个人保护信息,则这些结果被过滤掉。

可选地,视觉查询服务器系统创建复合搜索结果(222)。一个这样的实施例是如关于图3所解释的在交互式结果文档中嵌入了多于一个搜索系统结果时。词语查询服务器系统(图1的118)可以利用来自词语搜索的结果对来自并行搜索系统之一的结果进行扩增,其中附加结果是到文档或信息源的链接,或者是包含可能与视觉查询相关的附加信息的文本和/或图像。因此,例如,复合搜索结果可以包含ocr结果以及到ocr文档中的命名实体的链接(224)。

在一些实施例中,ocr搜索系统(图1的112-b)或前端视觉查询处理服务器(图1的110)识别文本中可能相关的词。例如,其可以识别诸如著名人物或地点的命名实体。命名实体作为查询词语被提交给词语查询服务器系统(图1的118)。在一些实施例中,词语查询服务器系统所产生的词语查询结果被作为“链接”嵌入在视觉查询结果中。在一些实施例中,词语查询结果作为单独的链接返回。例如,如果图书封面的图片是视觉查询,则对象识别搜索系统可能会对图书产生高分值的命中。这样,将在词语查询服务器系统118上运行对图书标题的词语查询并且词语查询结果将连同视觉查询结果一起返回。在一些实施例中,词语查询结果在带标签分组中呈现以将它们与视觉查询结果进行区分。结果可以被单独搜索,或者可以使用搜索查询中的所有所识别的命名实体来执行搜索以产生特别相关的附加搜索结果。例如,如果视觉查询是有关巴黎的扫描旅行册,则所返回的结果可能包括指向词语查询服务器系统118的用于发起对词语查询“巴黎圣母院(notredame)”的搜索的链接。类似地,复合搜索结果包括来自针对所识别著名图像的文本搜索的结果。例如,在相同的旅行册中,还可以示出针对在该册子中作为图片示出的“埃菲尔铁塔”和“卢浮宫”的著名目的地的词语查询结果的活跃(live)链接(即使在册子本身中并没有出现词语“埃菲尔铁塔”和“卢浮宫”)。

视觉查询服务器系统接着将至少一个结果发送到客户端系统(226)。典型地,如果视觉查询处理服务器从多个搜索系统中的至少一些接收到多个搜索结果,则其将接着将所述多个搜索结果中的至少一个发送到客户端系统。对于一些视觉查询而言,仅一个搜索系统将返回相关结果。例如,在仅包含文本图像的视觉查询中,可能仅有ocr服务器的结果是相关的。对于一些视觉查询而言,可能仅来自一个搜索系统的一个结果是相关的。例如,可能仅有与所扫描的条形码相关的产品是相关的。在这些情况下,前端视觉处理服务器将仅返回相关的搜索结果。对于一些视觉查询而言,多个搜索结果被发送到客户端系统,并且多个搜索结果包括来自多于一个的并行搜索系统的搜索结果(228)。这可能在多于一个的不同图像出现在视觉查询中时发生。例如,如果视觉查询是骑马的人的图片,则针对该人的面部识别的结果会连同针对马的对象识别结果一起进行显示。在一些实施例中,图像搜索系统对特定查询的的所有结果被分组并一起呈现。例如,前n个面部识别结果被显示在标题“面部识别结果”之下,并且前n个对象识别结果被一起显示在标题“对象识别结果”之下。可替换地,如以下所讨论的,来自特定图像搜索系统的搜索结果可以通过图像区域进行分组。例如,如果视觉查询包括两个脸部,它们都产生面部识别结果,则每张脸的结果将作为不同的分组进行呈现。对于一些视觉查询而言(例如,包括文本以及一个或多个对象的图像的视觉查询),搜索结果可以包括ocr结果以及一个或多个图像匹配结果(230)。

在一些实施例中,用户可能希望对特定搜索结果进行更多了解。例如,如果视觉查询是海豚的图片并且“图像至词语”搜索系统返回了以下词语“水”、“海豚”、“蓝”和“鳍”;则用户可能希望对“鳍”进行基于文本的查询词语搜索。当用户想要对词语查询进行搜索时(例如,如用户在搜索结果中的相应链接上进行点击或以另外方式选择所述链接所指示的),查询词语服务器系统(图1的118)被访问,并且进行对所选择词语的搜索。相对应的搜索词语结果被单独或者连同视觉查询结果一起显示在客户端系统上(232)。在一些实施例中,前端视觉查询处理服务器(图1的110)自动(即,没有接收除初始的视觉查询之外的任何用户命令)选择视觉查询的一个或多个最前面的潜在文本结果,在词语查询服务器系统118上运行那些文本结果,并且接着将那些词语查询结果连同视觉查询结果一起向客户端系统进行发送,作为向客户端系统发送至少一个搜索结果的一部分(232)。在以上的示例中,如果“鳍”是海豚的视觉查询图片的第一个词语结果,则前端服务器进行对“鳍”的词语查询并且将那些词语查询结果连同视觉查询结果一起返回给客户端系统。该实施例节省了用户的时间,其中在将来自视觉查询的搜索结果发送给用户之前,自动执行被认为可能被用户所选择的词语结果。在一些实施例中,如以上所解释的,这些结果作为复合搜索结果进行显示(222)。在其它实施例中,除了复合搜索结果之外或者作为其替代,所述结果是搜索结果列表的一部分。

图3是图示利用交互式结果文档对视觉查询进行响应的过程的流程图。前三个操作(202、210、214)以上参考图2进行了描述。从接收于并行搜索系统的搜索结果(214),创建交互式结果文档(302)。

现在将对创建交互式结果文档(302)进行详细描述。对于一些视觉查询而言,交互式结果文档包括该视觉查询的相应子部分的一个或多个视觉标识符。每个视觉标识符具有到至少一个搜索结果的至少一个用户可选择的链接。视觉标识符识别视觉查询的相应子部分。对于一些视觉查询而言,交互式结果文档仅具有一个视觉标识符,其具有到一个或多个结果的一个用户可选择链接。在一些实施例中,到一个或多个搜索结果的相应用户可选择链接具有激活区域,并且所述激活区域对应于视觉查询与相对应的视觉标识符相关联的子部分。

在一些实施例中,视觉标识符是边界框(304)。在一些实施例中,所述边界框封闭视觉查询的子部分,如图12a所示。边界框无需是正方形或矩形框形状,而是可以为任意类型的形状,包括圆形、椭圆、等角(例如,针对视觉查询中的对象、实体或其区域)、不规则或者如图12b所示的任意其它形状。对于一些视觉查询而言,边界框包围视觉查询的子部分中可识别实体的边界(306)。在一些实施例中,每个边界框包括到一个或多个搜索结果的用户可选择链接,其中用户可选择链接具有对应于被边界框所包围的视觉查询子部分的激活区域。当边界框内的空间(用户可选择链接的激活区域)被用户选择时,返回与所包围的子部分中的图像相对应的搜索结果。

在一些实施例中,如图14所示,视觉标识符是标签(307)。在一些实施例中,标签包括至少一个与视觉查询的相应子部分中的图像相关联的词语。每个标签被格式化以便在相应子部分之上或附近的交互式结果文档中进行呈现。在一些实施例中,所述标签被颜色编码。

在一些实施例中,每个相应的视觉标识符被格式化以便依据视觉查询的相应子部分中所识别实体的类型的以在视觉上有所区别的方式进行呈现。例如,如图13所示,围绕产品、人、商标的边界框以及两个文本区域均以表示不同着色的透明边界框的不同交叉阴影图案进行呈现。在一些实施例中,视觉标识符被格式化以便以在视觉上有区别的方式进行呈现,诸如覆盖颜色、覆盖图案、标签背景颜色、标签背景图案、标签字体颜色和边框颜色。

在一些实施例中,交互式结果文档中的用户可选择链接是到包含与视觉查询的相对应子部分相关的一个或多个结果的文档或对象的链接(308)。在一些实施例中,至少一个搜索结果包括与视觉查询的相对应子部分相关的数据。这样,当用户选择与相应子部分相关联的可选择链接时,该用户被指向与视觉查询的所述相应子部分中所识别的实体相对应的搜索结果。

例如,如果视觉查询是条形码的照片,则照片的部分可能是与其上贴有条形码的包装的不相关部分。交互式结果文档可以包括仅围绕条形码的边界框。当用户在包围条形码的边界框内进行选择时,显示条形码搜索结果。条形码搜索结果可以包括一个结果,与该条形码相对应的产品的名称,或者条形码结果可以包括若干结果,诸如能够购买、评论该产品的各种地点等。

在一些实施例中,当对应于相应视觉标识符的视觉查询的子部分包含包括一个或多个词语的文本时,对应于相应视觉标识符的搜索结果包括来自对所述文本中的至少一个词语进行的词语查询搜索的结果。在一些实施例中,当对应于相应视觉标识符的视觉查询的子部分包含针对其找到至少一个满足预定可靠性(或其它)标准的匹配(即,搜索结果)的人脸时,对应于相应视觉标识符的搜索结果包括以下的一个或多个:与其脸部包含在可选择子部分中的人相关联的姓名、头衔(handle)、联系信息、账户信息、地址信息、相关移动设备的当前位置,其脸部包含在可选择子部分中的人的其它图像,以及该人脸的潜在图像匹配。在一些实施例中,当视觉查询对应于相应视觉标识符的子部分包含针对其找到至少一个满足预定可靠性(或其它)标准的匹配(即,搜索结果)的产品时,对应于相应视觉标识符的搜索结果包括以下的一个或多个:产品信息、产品评论、发起产品购买的选项、发起对产品出价的选项、类似产品的列表以及相关产品的列表。

可选地,交互式结果文档中的相应用户可选择链接包括锚文本(anchortext),其在不必激活链接的情况下显示在文档中。锚文本提供诸如与激活链接时所获得的信息相关的关键词或词语之类的信息。锚文本可以作为标签的一部分进行显示(307),或者显示在边界框的一部分中(304),或者作为用户将光标在用户可选择链接上悬停诸如1秒的预定时间段时所显示的附加信息。

可选地,交互式结果文档中的相应用户可选择链接是到用于搜索与基于文本的查询(这里有时称作词语查询)相对应的信息或文档的搜索引擎的链接。激活该链接使得由所述搜索引擎执行搜索,其中所述查询和搜索引擎由所述链接所指定(例如,搜索引擎由链接中的url所指定而基于文本的搜索查询由链接的url参数所指定),其结果返回到客户端系统。可选地,该示例中的链接可以包括指定搜索查询中的文本或词语的锚文本。

在一些实施例中,响应于视觉查询所产生的交互式结果文档可以包括与来自相同的搜索系统的结果相对应的多个链接。例如,视觉查询可以是人群的图像或图片。交互式结果文档可以包括围绕每个人的边界框,其在被激活时返回来自面部识别搜索系统针对群组中的每张脸的结果。对于一些视觉查询而言,交互式结果文档中的多个链接对应于来自多于一个的搜索系统的搜索结果(310)。例如,如果人和狗的图片作为视觉查询被提交,则交互式结果文档中的边界框可以单独包围人和狗。当(交互式结果文档中的)人被选择时,返回来自面部识别搜索系统的搜索结果,而当(交互式结果文档中的)狗被选择时,则返回来自图像至词语搜索系统的结果。对于一些视觉查询而言,交互式结果文档包含ocr结果和图像匹配结果(312)。例如,如果人站在标牌旁边的图片作为视觉查询被提交,则交互式结果文档可以包括对人和所述标牌中的文本的视觉标识符。类似地,如果杂志的扫描被用作视觉查询,则交互式结果文档可以包括页面上广告中的照片或商标的视觉标识符以及也处于该页面上的文章文本的视觉标识符。

在已经创建了交互式结果文档之后,将其发送到客户端系统(314)。在一些实施例中,如以上参考图2所讨论的,交互式结果文档(例如,文档1200,图15)连同来自一个或多个并行搜索系统的搜索结果列表一起进行发送。在一些实施例中,在客户端系统,交互式结果文档显示在来自一个或多个并行搜索系统的搜索结果列表上方或以另外方式与之相邻地进行显示(315),如图15所示。

可选地,用户将通过选择结果文档中的视觉标识符来与所述结果文档进行交互。服务器系统从客户端系统接收与交互式结果文档中的视觉标识符的用户选择相关的信息(316)。如以上所讨论的,在一些实施例中,通过选择边界框内的激活区域来激活链接。在其它实施例中,通过对视觉查询子部分的并非边界框的视觉标识符的用户选择来激活链接。在一些实施例中,带链接的视觉标识符是热按钮(hotbutton)、位于子部分附近的标签、文本中的加下划线的词,或者视觉查询中的对象或主题的其它表示。

在利用交互式结果文档呈现搜索结果列表的实施例中(315),当用户选择用户可选择链接时(316),搜索结果列表中与所选择链接相对应的搜索结果被识别。在一些实施例中,光标将跳跃或自动移动到与所选择链接相对应的第一结果。在客户端102的显示器太小而无法显示交互式结果文档和整个搜索结果列表的一些实施例中,选择交互式结果文档中的链接使得搜索结果列表滚动或跳跃以便至少显示与所选择链接相对应的第一结果。在一些其它实施例中,响应于交互式结果文档中链接的用户选择,对结果列表进行重新排序以使得对应于所述链接的第一结果被显示在结果列表的顶端。

在一些实施例中,当用户选择用户可选择链接时(316),视觉查询服务器系统向客户端发送与视觉查询的相对应子部分相关的结果的至少一个子集以便向用户进行显示(318)。在一些实施例中,用户能够同时选择多个视觉标识符并且将同时接收到所有所选择视觉标识符的结果子集。在其它实施例中,对应于用户可选择链接的搜索结果在用户选择任意用户可选择链接之前被预先加载到客户端上,以便响应于交互式结果文档中一个或多个链接的用户选择在视觉上立即向用户提供搜索结果。

图4是图示客户端和视觉查询服务器系统之间的通信的流程图。客户端102从用户/查询方接收视觉查询(402)。在一些实施例中,可以仅接受来自已经注册或者“选择加入”到视觉查询系统的用户的视觉查询。在一些实施例中,仅针对已经注册到面部识别视觉查询系统的用户执行面部识别匹配的搜索,而对无论其是否已经“选择加入”到面部识别部分的任何人执行其它类型的视觉查询。

如以上所解释的,视觉查询的格式可以采取许多形式。视觉查询将可能包含位于视觉查询文档的子部分中的一个或多个主题。对于一些视觉查询而言,客户端系统102对视觉查询执行类型识别预处理(404)。在一些实施例中,客户端系统102在该预处理系统中搜索特定的可识别模式。例如,对于一些视觉查询而言,客户端可以识别颜色。对于一些视觉查询,客户端可以识别出特定子部分可能包含文本(原因在于该区域由被亮空间所包围的小的暗字符所构成,等等)。客户端可以包含任意数量的预处理类型识别器,或者类型识别模块。在一些实施例中,客户端将具有用于识别条形码的类型识别模块(条形码识别406)。其可以通过识别矩形区域中的不同条状图案来完成该功能。在一些实施例中,客户端将具有用于识别视觉查询的特定主题或子部分可能包含脸部的类型识别模块(脸部检测408)。

在一些实施例中,所识别的“类型”被返回给用户以便验证。例如,客户端系统102可以返回指出“已经在你的视觉查询中找到条形码,你有兴趣接收条形码查询结果吗?”的消息。在一些实施例中,该消息甚至可以指示已经在视觉查询中找到所述类型的子部分。在一些实施例中,该呈现类似于参考图3所讨论的交互式结果文档。例如,其可以包围视觉查询的子部分并且指示该子部分可能包含脸部,并且询问用户是否有兴趣接收面部识别结果。

在客户端102执行了视觉查询的可选预处理之后,客户端向视觉查询服务器系统106特别是前端视觉查询处理服务器110发送视觉查询。在一些实施例中,如果预处理产生了相关结果,即如果类型识别模块之一产生了高于特定阈值的结果,这指示查询或查询的子部分可能为特定类型(脸部、文本、条形码等),则客户端将传递与预处理结果相关的信息。例如,客户端可以指示脸部识别模块75%确信视觉查询的特定子部分包含脸部。更一般地,如果有的话,预处理结果包括一个或多个主题类型数值(例如,条形码、脸部、文本等)。可选地,发送到视觉查询服务器系统的预处理结果包括以下的一个或多个:对于预处理结果中的每个主题类型值,识别与主题类型值相对应的视觉查询子部分的信息;以及对于预处理结果中的每个主题类型值,指示视觉查询的相对应子部分的主题类型值和/或识别的确信度水平的确信度值。

前端服务器110从客户端系统接收视觉查询(202)。所接收的视觉查询可以包含以上所讨论的预处理信息。如以上所描述的,前端服务器向多个并行搜索系统发送视觉查询(210)。如果前端服务器110接收了与子部分包含某个类型的主题的可能性相关的预处理信息,则前端服务器可以将该信息送至一个或多个并行搜索系统。例如,其可以传递特定子部分可能为脸部的信息以使得面部识别搜索系统112-a能够首先对视觉查询的该子部分进行处理。类似地,发送(特定子部分可能为脸部的)相同信息可以被其它并行搜索系统用来忽略该子部分或首先分析其它子部分。在一些实施例中,前端服务器将不向并行搜索系统传递预处理信息,而是将替代使用该信息来扩增其对从并行搜索系统所接收的结果进行处理的方式。

如参考图2所解释的,对于一些视觉查询,前端服务器110从并行搜索系统接收多个搜索结果(214)。前端服务器接着可以执行各种排序和过滤,并且可以如参考图2和3所解释的创建交互式搜索结果文档。如果前端服务器110接收了与子部分包含某个类型主题的可能性相关的预处理信息,则其可以通过给出针对匹配预处理的所识别主题类型的那些结果的偏好来进行过滤和排序。如果用户指示了请求特定类型的结果,前端服务器将在对结果进行处理时考虑用户的请求。例如,前端服务器可以在用户仅请求了条形码信息的情况下将所有其它结果过滤掉,或者前端服务器将与所请求类型相关的所有结果列出在列出其它结果之前。如果返回了交互式视觉查询文档,则服务器可以预先搜索与用户指示了对其感兴趣的类型相关联的链接,同时仅提供用于执行针对交互式结果文档中所指示的其它主题的相关搜索的链接。前端服务器110接着将搜索结果发送到客户端系统(226)。

客户端102从服务器系统接收结果(412)。当可应用时,这些结果将包括与预处理阶段中所找到的结果类型相匹配的结果。例如,在一些实施例中,它们将包括一个或多个条形码结果(414)或者一个或多个面部识别结果(416)。如果客户端的预处理模块已经指示了结果可能为特定类型,并且找到了该结果,则所找到的该类型的结果将被突出列出。

可选地,用户将选择或注释一个或多个结果(418)。用户可以选择一个搜索结果,可以选择特定类型的搜索结果,和/或可以选择交互式结果文档的一部分(420)。结果的选择是所返回结果与查询相关的隐含反馈。这样的反馈信息可以在未来的查询处理操作中加以利用。注释提供了与所返回结果相关的明确反馈,其也可以在未来的查询处理操作中加以利用。注释采用所返回结果的部分的更正(如对错误ocr化的词的更正)的形式或者为单独注释(自由形式或结构化)。

一个搜索结果的用户选择是被称作解释中的选择(selectionamonginterpretations)的过程,其通常从若干相同类型中选择“正确”结果(例如,选择来自面部识别服务器的正确结果)。特定类型的搜索结果的用户选择是被称作意图消歧(disambiguationofintent)的过程,其通常从若干不同类型的返回结果中选择感兴趣的结果“类型”(例如,选择杂志中文章的ocr化的文本而不是也处于相同页面上的广告的视觉结果)。如参考图8详细解释的,用户可以类似地选择ocr化的文档中的特定带链接词(诸如所识别的命名实体)。

可替换地或除此之外,用户可能希望对特定搜索结果进行注释。该注释可以以自由样式或者结构化格式来进行(422)。注释可以是结果的描述或者可以是结果的评论。例如,它们可以指示结果中主题的名称,或者它们可以指示“这是一本好书”或者“该产品在销售年度内有所突破”。另一个注释示例是用户绘制的围绕视觉查询子部分的边界框以及用户所提供的识别边界框内的对象或主题的文本。参考图5对用户注释进行更为详细的解释。

搜索结果的用户选择以及其它注释被发送到服务器系统(424)。前端服务器110接收所述选择和注释并且进一步对它们进行处理(426)。如果该信息为交互式结果文档中的对象、子区域或词语的选择,则可以适当地请求关于该选择的进一步信息。例如,如果选择是一个视觉结果,则将会请求关于该视觉结果的更多信息。如果选择是(来自ocr服务器或来自图像至词语服务器的)词,则该词的文本搜索将被发送到词语查询服务器系统118。如果选择是来自面部图像识别搜索系统的人,则将会请求该人的简档。如果选择针对交互式搜索结果文档的特定部分,则将会请求潜在的视觉查询结果。

如果服务器系统接收到注释,则该注释被存储在参考图5所解释的查询和注释数据库116中。接着,如以下参考图7-10所讨论的,来自注释数据库116的信息被定期复制到用于一个或多个并行服务器系统的单独注释数据库。

图5是图示依据本发明的一个实施例的客户端系统102的框图。客户端系统102典型地包括一个或多个处理单元(cpu)702、一个或多个网络或其它通信接口704、存储器712,以及用于将这些组件进行互连的一个或多个通信总线714。客户端系统102包括用户接口705。用户接口705包括显示设备706并且可选地包括诸如键盘、鼠标或其它输入按钮的输入装置708。可替换地或除此之外,显示设备706包括触摸敏感表面709,在这种情况下,显示器706/709是触摸敏感显示器。在具有触摸敏感显示器706/709的客户端系统中,物理键盘是可选的(例如,可以在需要键盘输入时显示软键盘)。此外,一些客户端系统使用麦克风和语音识别来补充或替换键盘。可选地,客户端102包括gps(全球定位卫星)接收器,或者用于确定客户端系统102的位置的其它位置检测装置707。在一些实施例中,客户端102也包括以下的一个或多个:磁力计742、一个或多个加速度计744、或用于提供关于客户端设备的位置信息的其他传感器746。在一些实施例中,提供要求客户端系统102提供视觉查询服务器系统以接收指示客户端系统102的位置的位置信息的视觉查询搜索服务。

客户端系统102还包括诸如相机或扫描仪的图像捕捉设备710。存储器712包括高速随机存取存储器,诸如dram、sram、ddrram或其它随机存取固态存储器设备;并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或者其它非易失性固态存储设备。存储器712可以可选地包括与cpu702远程定位的一个或多个存储设备。存储器712或者可替换地存储器712内的非易失性存储设备包括非瞬时计算机可读存储介质。在一些实施例中,存储器712或者存储器712的计算机可读存储介质存储以下程序、模块和数据结构或者其子集:

·操作系统716,其包括用于处理各种基本系统服务以及用于执行依赖于硬件的任务的程序;

·网络通信模块718,其用于将客户端系统102经由一个或多个通信网络接口704(有线或无线)以及诸如互联网、其它广域网、局域网、城域网等的一个或多个通信网络连接到其它计算机;

·图像捕捉模块720,其用于对图像捕捉设备/相机710所捕捉的相应图像进行处理,其中相应图像可以(例如,被客户端应用模块)作为视觉查询发送到视觉查询服务器系统;

·一个或多个客户端应用模块722,其用于处理通过图像进行查询的各个方面,包括但并不局限于:用于向视觉查询服务器系统提交视觉查询的通过图像进行查询的提交模块724;可选地,检测图像中的感兴趣区域的选择(诸如触摸敏感显示器706/709上的手势)并且将该感兴趣区域准备为视觉查询的感兴趣区域选择模块725;用于显示视觉查询的结果的结果浏览器726;以及可选地,具有用于诸如在表单中进行填写的结构化注释文本输入730或者用于能够接受各种格式的注释的自由形式的注释文本输入732的可选模块的注释模块728;以及允许用户选择图像的特定子部分以便进行注释的图像区域选择模块734(这里有时称作结果选择模块);

·可选的内容编写应用736,其允许用户通过创建或编辑图像而不是仅经由图像捕捉设备710捕捉图像来编写视觉查询;可选地,一个或多个这样的应用736可以包括使得用户能够选择图像的子部分以作为视觉查询的指令;

·可选的本地图像分析模块738,其在将视觉查询发送到视觉查询服务器系统之前对其进行预处理。本地图像分析可以识别图像的特定类型,或者图像内的子区域。可以被这样的模块738所识别的图像类型的示例包括以下的一个或多个:面部类型(视觉查询内所识别的面部图像)、条形码类型(视觉查询内所识别的条形码)和文本类型(视觉查询内所识别的文本);以及

·附加的可选客户端应用740,诸如电子邮件应用、电话应用、浏览器应用、地图应用、即时消息应用、社交网络应用等。在一些实施例中,可以在选择了可采取动作的搜索结果时启动或访问对应于适当可采取动作的搜索结果的应用。

可选地,允许用户选择图像的特定子部分以便进行注释的图像区域选择模块734还允许用户选择作为“正确”命中的搜索结果而并非必须对其进行进一步注释。例如,用户可以被呈现以最前面的n个面部识别匹配并且可以从该结果列表中选择正确的人物。对于一些搜索查询而言,将呈现多于一种类型的结果,并且用户将选择结果的类型。例如,图像查询可以包括站在树旁的人,但是用户仅对与人相关的结果感兴趣。因此,图像选择模块734允许用户指示哪种类型的图像是“正确的”类型—即其有兴趣接收的类型。用户还可能希望通过使用(用于在表单中填写的)注释文本输入模块730或者自由形式的注释文本输入模型732来添加个人评论或描述性词以对搜索结果进行注释。

在一些实施例中,可选的本地图像分析模块738是客户端应用(图1的108)的一部分。此外,在一些实施例中,可选的本地图像分析模块738包括一个或多个用来执行本地图像分析以对视觉查询或其一部分进行预处理或分类的程序。例如,客户端应用722可以在将视觉查询提交至搜索引擎之前识别图像包含条形码、脸部或文本。在一些实施例中,当本地图像分析模块738检测到视觉查询包含特定类型的图像时,该模块询问用户是否对相对应类型的搜索结果感兴趣。例如,本地图像分析模块738可以基于其一般特征来检测脸部(即,没有确定是哪个人的脸)并且在向视觉查询服务器系统发送查询之前向用户提供立即反馈。其可以返回如“已经检测到脸部,你有兴趣得到针对该脸部的面部识别匹配吗?”的结果。这可以为视觉查询服务器系统(图1的106)节省时间。对于一些视觉查询,前端视觉查询处理服务器(图1的110)仅向搜索系统112发送与本地图像分析模块738所识别的图像类型相对应的视觉查询。在其它实施例中,针对搜索系统112的视觉查询可以向所有搜索系统112a-n发送视觉查询,但是将对来自搜索系统112的与本地图像分析模块738所识别的图像类型相对应的结果进行排名。在一些实施例中,本地图像分析对视觉查询服务器系统的操作施加影响的方式取决于客户端系统的配置或者与用户或客户端系统相关联的配置或处理参数。此外,任意特定视觉查询的实际内容以及本地图像分析所产生的结果可以使得在客户端系统和视觉查询服务器系统中任一个或其二者对不同视觉查询进行不同处理。

在一些实施例中,以两个步骤来执行条形码识别,其中在客户端系统上,在本地图像分析模块738执行视觉查询是否包括条形码的分析。接着,视觉查询仅在客户端确定该视觉查询可能包括条形码的情况下才被送至条形码搜索系统。在其它实施例中,条形码搜索系统对每个视觉查询进行处理。

可选地,客户端系统102包括附加客户端应用740。

图6是图示依据本发明一个实施例的前端视觉查询处理服务器系统110的框图。前端服务器110典型地包括一个或多个处理单元(cpu)802、一个或多个网络或其它通信接口804、存储器812,以及用于将这些组件进行互连的一个或多个通信总线814。存储器812包括高速随机存取存储器,诸如dram、sram、ddrram或其它随机访问固态存储器设备;并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或者其它非易失性固态存储设备。存储器812可以可选地包括与cpu802远程定位的一个或多个存储设备。存储器812或者可替换地存储器812内的非易失性存储设备包括非瞬时计算机可读存储介质。在一些实施例中,存储器812或者存储器812的计算机可读存储介质存储以下程序、模块和数据结构或者其子集:

·操作系统816,其包括用于处理各种基本系统服务以及用于执行依赖于硬件的任务的程序;

·网络通信模块818,其用于将前端服务器系统110经由一个或多个通信网络接口804(有线或无线)以及诸如互联网、其它广域网、局域网、城域网等的一个或多个通信网络连接到其它计算机;

·查询管理器820,其用于处理来自客户端系统102的进入视觉查询并且将它们发送到两个或更多并行搜索系统;如本文其它地方所描述的,在一些特殊情况下,诸如在视觉查询包括客户端所生成的指令(例如,“仅面部识别搜索”)时,视觉查询可以仅被指向一个搜索系统;

·结果过滤模块822,其用于可选地对来自一个或多个并行搜索系统的结果进行过滤并且将最前面或“相关”结果发送到客户端系统102以供呈现;

·结果排名和格式化模块824,其用于可选地对来自一个或多个并行搜索系统的结果进行排名并且用于对结果进行格式化以供呈现;

·结果文档创建模块826,其在适当时被用来创建交互式搜索结果文档;模块826可以包括子模块,包括但并不局限于边界框创建模块828和链接创建模块830;

·标签创建模块831,其用于创建作为视觉查询的相应子部分的视觉标识符的标签;

·注释模块832,其用于接收来自用户的注释并且将它们发送到注释数据库116;

·可采取动作的搜索结果模块838,其用于响应于视觉查询而产生一个或多个可采取动作的搜索结果元素,其中每个可采取动作的搜索结果元素被配置为启动客户端侧动作;可采取动作的搜索结果元素的示例是用于发起电话呼叫、发起电子邮件消息、绘制地址地图、进行餐厅预订以及提供购买产品的选项的按钮;

·本地收录选择模块840,其用于通过参考图16a-19所解释的各种方法对从基于位置的搜索系统112g(图24)所返回的位置搜索结果进行选择和过滤;和

·查询和注释数据库116,其包括数据库本身834以及针对数据库836的索引。

结果排名和格式化模块824对从一个或多个并行搜索系统(112-a-112-n,图1)所返回的结果进行排名。如以上已经指出的,对于一些视觉查询而言,可能仅有来自一个搜索系统的结果是相关的。在这样的实例中,仅对来自一个搜索系统的相关搜索结果进行排名。对于一些视觉查询而言,若干类型的搜索结果可能是相关的。在这些实例中,在一些实施例中,结果排名和格式化模块824对来自具有最相关结果(例如,具有最高相关分值的结果)的搜索系统的所有结果排名为高于较不相关搜索系统的结果。在其它实施例中,结果排名和格式化模块824对来自每个相关搜索系统的顶部结果排名为高于其余结果。在一些实施例中,结果排名和格式化模块824依据对每个搜索结果所结算的相关分值对结果进行排名。对于一些视觉查询,除了并行视觉搜索系统上的搜索之外,还执行扩增的文本查询。在一些实施例中,当还执行文本查询时,以与视觉查询系统结果在视觉上有所不同的方式来呈现它们的结果。

结果排名和格式化模块824还对结果进行格式化。在一些实施例中,结果以列表格式呈现。在一些实施例中,结果利用交互式结果文档来呈现。在一些实施例中,交互式结果文档和结果列表都被呈现。在一些实施例中,查询的类型规定了如何呈现结果。例如,如果在视觉查询中检测到多于一个的可搜索主题,则产生交互式结果文档,而如果仅检测到一个可搜索主题,则将仅以列表格式来显示结果。

结果文档创建模块826被用来创建交互式搜索结果文档。交互式搜索结果文档可以具有一个或多个所检测和搜索的主题。边界框创建模块828创建围绕一个或多个搜索主题的边界框。边界框可以是矩形框,或者可以包围主题的形状。链接创建模块830创建到与其在交互式搜索结果文档中的相应主题相关联的搜索结果的链接。在一些实施例中,边界框内的点击激活链接创建模块所插入的相对应链接。

查询和注释数据库116包含能够被用来改进视觉查询结果的信息。在一些实施例中,用户可以在已经呈现了视觉查询结果之后对图像进行注释。此外,在一些实施例中用户可以在将图像发送到视觉查询搜索系统之前对其进行注释。预先注释可以通过对结果进行聚焦(focusing)或者与视觉查询搜索并行地对所注释的词运行基于文本的搜索来对视觉查询处理提供帮助。在一些实施例中,可以使得经注释的图片版本公开(例如,在用户已经例如通过将图像和注释指定为非私有而允许公开时),以使得其作为潜在的图像匹配命中而返回。例如,如果用户拍摄了花的照片并且通过给出与该花相关的详细种属信息对图像进行了注释,则用户可能想要将该图像呈现给执行寻找该花的视觉查询搜索的任何人。在一些实施例中,来自查询和注释数据库116的信息被定期推送到并行搜索系统112,其将信息的相关部分(如果有)合并到其相应的单独数据库114中。

图7是图示被用来处理视觉查询的并行搜索系统之一的框图。图7图示了依据本发明一个实施例的“一般”服务器系统112-n。该服务器系统的一般性仅在于其表示视觉查询搜索服务器112-n中的任意一个。一般服务器系统112-n典型地包括一个或多个处理单元(cpu)502、一个或多个网络或其它通信接口504、存储器512,以及用于将这些组件进行互连的一个或多个通信总线514。存储器512包括高速随机存取存储器,诸如dram、sram、ddrram或其它随机存取固态存储器设备;并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或者其它非易失性固态存储设备。存储器512可以可选地包括与cpu502远程定位的一个或多个存储设备。存储器512或者可替换地存储器512内的非易失性存储设备包括非瞬时计算机可读存储介质。在一些实施例中,存储器512或者存储器512的计算机可读存储介质存储以下程序、模块和数据结构或者其子集:

·操作系统516,其包括用于处理各种基本系统服务以及用于执行依赖于硬件的任务的程序;

·网络通信模块518,其用于将一般服务器系统112-n经由一个或多个通信网络接口504(有线或无线)以及诸如互联网、其它广域网、局域网、城域网等的一个或多个通信网络连接到其它计算机;

·特定于特定服务器系统的搜索应用520,其例如可以是条形码搜索应用、颜色识别搜索应用、产品识别搜索应用、对象或对象类别搜索应用等;

·可选的索引522,如果特定搜索应用采用索引;

·可选的图像数据库524,其用于存储与特定搜索应用相关的图像,其中如果有,则所存储的图像数据取决于搜索过程类型;

·可选的结果排名模块526(有时被称作相关性评分模块),其用于对来自搜索应用的结果进行排名,排名模块可以对来自搜索应用的每个结果分配相关性分值,并且如果没有结果达到预定的最低分值,则可以向前端视觉查询处理服务器返回指示来自该服务器系统的结果不相关的空或零值分值;和

·注释模块528,其用于从注释数据库(图1的116)接收确定任意注释信息是否与特定搜索应用相关的注释信息,并且将任意所确定的注释信息相关部分合并到相应注释数据库530中。

图8是图示依据本发明一个实施例的用来处理视觉查询的ocr搜索系统112-b的框图。ocr搜索系统112-b典型地包括一个或多个处理单元(cpu)602、一个或多个网络或其它通信接口604、存储器612,以及用于将这些组件进行互连的一个或多个通信总线614。存储器612包括高速随机存取存储器,诸如dram、sram、ddrram或其它随机存取固态存储器设备;并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或者其它非易失性固态存储设备。存储器612可以可选地包括与cpu602远程定位的一个或多个存储设备。存储器612或者可替换地存储器612内的非易失性存储设备包括非瞬时计算机可读存储介质。在一些实施例中,存储器612或者存储器612的计算机可读存储介质存储以下程序、模块和数据结构或者其子集:

·操作系统616,其包括用于处理各种基本系统服务以及用于执行依赖于硬件的任务的程序;

·网络通信模块618,其用于将ocr搜索系统112-b经由一个或多个通信网络接口604(有线或无线)以及诸如互联网、其它广域网、局域网、城域网等的一个或多个通信网络连接到其它计算机;

·光学字符识别(ocr)模块620,其试图识别视觉查询中的文本,并且将字母图像转换为字符;

·可选的ocr数据库114-b,其被ocr模块620用来识别特定字体、文本图案以及对于字母识别唯一的其它特征;

·可选的拼写检查模块622,其通过针对字典检查所转换的词并且替换另外匹配了字典单词的词中潜在错误转换的字母来改善字母图像到字符的转换;

·可选的命名实体识别模块624,其搜索转换文本内的命名实体,将所识别的命名实体作为词语查询中的词语发送到词语查询服务器系统(图1的118),并且将来自词语查询服务器系统的结果作为嵌入与所识别命名实体相关联的ocr化文本中的链接进行提供;

·可选的文本匹配应用632,其通过针对文本分段的数据库检查所转换分段(诸如所转换的句子和段落)并且替换另外匹配了文本匹配应用文本分段的ocr化文本分段中潜在错误转换的字母来改善字母图像到字符的转换,在一些实施例中,文本匹配应用所找到的文本分段作为链接提供给用户(例如,如果用户扫描了纽约时报的一页,则文本匹配应用可以提供到纽约时报网站上整篇刊登文章的链接);

·结果排序和格式化模块626,其用于对ocr化结果进行格式化以供呈现并且将可选链接格式化为命名实体,并且还可选地对来自文本匹配应用的任意相关结果进行排名;和

·可选的注释模块628,其用于从注释数据库(图1的116)接收确定任意注释信息是否与ocr搜索系统相关的注释信息,并且将任意所确定的注释信息相关部分合并到相应注释数据库630中。

图9是图示依据本发明一个实施例的用来处理视觉查询的面部识别搜索系统112-a的框图。面部识别搜索系统112-a典型地包括一个或多个处理单元(cpu)902、一个或多个网络或其它通信接口904、存储器912,以及用于将这些组件进行互连的一个或多个通信总线914。存储器912包括高速随机存取存储器,诸如dram、sram、ddrram或其它随机存取固态存储器设备;并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或者其它非易失性固态存储设备。存储器912可以可选地包括与cpu902远程定位的一个或多个存储设备。存储器912或者可替换地存储器912内的非易失性存储设备包括非瞬时计算机可读存储介质。在一些实施例中,存储器912或者存储器912的计算机可读存储介质存储以下程序、模块和数据结构或者其子集:

·操作系统916,其包括用于处理各种基本系统服务以及用于执行依赖于硬件的任务的程序;

·网络通信模块918,其用于将面部识别搜索系统112-a经由一个或多个通信网络接口904(有线或无线)以及诸如互联网、其它广域网、局域网、城域网等的一个或多个通信网络连接到其它计算机;

·面部识别搜索应用920,其用于搜索在面部图像数据库114-a中与视觉查询中所出现的脸部相匹配的面部图像,并且针对与面部图像数据库114-a中所找到的每个匹配相关的信息搜索社交网络数据库922;

·面部图像数据库114-a,其用于存储多个用户的一个或多个面部图像;可选地,面部图像数据库包括用户之外的人的面部图像,诸如家庭成员或用户所认识并且已经被识别为出现在面部图像数据库114-a中所包括的图像中的其他人;可选地,面部图像数据库包括从诸如在公众领域合法的面部图像提供商的外部源获得的面部图像;

·可选地,社交网络数据库922,如参考图12a更为详细讨论的,其包含与社交网络用户相关的信息,诸如姓名、地址、职业、组成员资格、社交网络连接、移动设备的当前gps位置、分享偏好、兴趣、年龄、籍贯、个人统计、工作信息等;

·结果排名和格式化模块924,其用于对来自面部图像数据库114-a的潜在面部匹配进行排名(例如,对其分配相关性和/或匹配质量分值)并且对结果进行格式化以供呈现;在一些实施例中,结果的排名或评分采用从以上提到的社交网络数据库所获取的相关信息;在一些实施例中,经格式化的搜索结果包括潜在的图像匹配以及来自社交网络数据库的信息的子集;和

·注释模块926,其用于从注释数据库(图1的116)接收确定任意注释信息是否与面部识别搜索系统相关的注释信息,并且将任意所确定的注释信息相关部分合并到相应注释数据库928中。

图10是图示依据本发明一个实施例的用来处理视觉查询的图像至词语搜索系统112-c的框图。在一些实施例中,图像至词语搜索系统识别视觉查询中的对象(实例识别)。在其它实施例中,图像至词语搜索系统识别视觉查询中的对象类别(类型识别)。在一些实施例中,图像至词语搜索系统识别对象和对象类别。图像至词语搜索系统返回针对视觉查询中的图像的潜在词语匹配。图像至词语搜索系统112-c典型地包括一个或多个处理单元(cpu)1002、一个或多个网络或其它通信接口1004、存储器1012,以及用于将这些组件进行互连的一个或多个通信总线1014。存储器1012包括高速随机存取存储器,诸如dram、sram、ddrram或其它随机存取固态存储器设备;并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或者其它非易失性固态存储设备。存储器1012可以可选地包括与cpu1002远程定位的一个或多个存储设备。存储器1012或者可替换地存储器1012内的非易失性存储设备包括非瞬时计算机可读存储介质。在一些实施例中,存储器1012或者存储器1012的计算机可读存储介质存储以下程序、模块和数据结构或者其子集:

·操作系统1016,其包括用于处理各种基本系统服务以及用于执行依赖于硬件的任务的程序;

·网络通信模块1018,其用于将图像至词语搜索系统112-c经由一个或多个通信网络接口1004(有线或无线)以及诸如互联网、其它广域网、局域网、城域网等的一个或多个通信网络连接到其它计算机;

·图像至词语搜索应用1020,其在图像搜索数据库114-c中搜索与视觉查询中的一个或多个主题相匹配的图像;

·图像搜索数据库114-c,其能够被搜索应用1020所搜索以找出类似于视觉查询的主题的图像;

·词语至图像反向索引1022,其存储用户在使用基于文本的查询搜索引擎1006搜索图像时所使用的文本词语;

·结果排名和格式化模块1024,其用于对潜在图像匹配进行排名和/或对词语至图像反向索引1022中所标识的与潜在图像匹配相关联的词语进行排名;和

·注释模块1026,其用于从注释数据库(图1的116)接收确定任意注释信息是否与图像至词语搜索系统112-c相关的注释信息,并且将任意所确定的注释信息相关部分合并到相应注释数据库1028中。

图5-10更多地是意在作为可以在计算机系统的集合中给出的各种特征的功能描述而不是作为这里所描述的实施例的结构示意。实际上,并且如本领域技术人员所认识到的,单独示出的项目可以进行组合并且一些项目可以被分离。例如,在这些附图中单独示出的一些项目可以在单个服务器上实现并且单个项目可以由一个或多个服务器实现。用来实施视觉查询处理的系统的实际数量以及特征如何在它们之间进行分配可以随实施方式而变化。

这里所描述的每种方法可以由存储在非瞬时计算机可读存储介质中并且由一个或多个服务器或客户端的一个或多个处理器所执行的指令进行管理。以上所标识的模块或程序(即,指令集合)无需作为单独的软件程序、过程或模块来实现,并且这些模块的各个子集可以在各个实施例中组合或以另外的方式重新安排。图5-10中所示出的每个操作可以对应于存储在计算机存储器或非瞬时计算机可读存储介质中的指令。

图11图示了具有示例性视觉查询1102的截屏的客户端系统102。图11所示的客户端系统102是诸如蜂窝电话、便携式音乐播放器或便携式电子邮件设备的移动设备。客户端系统102包括显示器706以及诸如该图中所示出的按钮的一个或多个输入装置708。在一些实施例中,显示器706是触摸敏感显示器709。在具有触摸敏感显示器709的实施例中,显示在显示器709上的软按钮可以可选地替换一些或所有电子机械按钮708。如以下更为详细解释的,触摸敏感显示器还有助于同视觉查询结果进行交互。客户端系统102还包括诸如相机710的图像捕捉机制。

图11图示了作为店铺货架上的包装的照片或视频帧的视觉查询1102。在这里所描述的实施例中,视觉查询是二维图像,其具有与两个维度中的每一个中的像素的视觉查询大小相对应的分辨率。在该示例中,视觉查询1102是三维对象的二维图像。视觉查询1102包括背景元素、产品包装1104以及包装上各种类型的实体,包括人物图像1106、商标图像1108、产品图像1110以及各种文本元素1112。

如参考图3所解释的,视觉查询1102被发送到前端服务器110,其将视觉查询1102发送到多个并行搜索系统(112a-n),接收结果并创建交互式结果文档。

图12a和12b均图示了具有交互式结果文档1200的实施例的截屏的客户端系统102。交互式结果文档1200包括视觉查询1102的相应子部分的一个或多个视觉标识符1202,其均包括到搜索结果子集的用户可选择链接。图12a和12b图示了具有视觉标识符的交互式结果文档1200,所述视觉标识符是分界框1202(例如,分界框1202-1、1202-2、1202-3)。在图12a和12b所示的实施例中,用户通过在其分界框1202所包围的空间内的激活区域上进行敲击来激活对应于特定子部分的搜索结果的显示。例如,用户将通过在围绕人物图像的分界框1306(图13)上进行敲击来激活与人物图像相对应的搜索结果。在其它实施例中,使用鼠标或键盘而不是触摸敏感显示器来选择可选择链接。在一些实施例中,在用户预览分界框1202时(即,在用户在分界框上进行单击、一次敲击或悬停指示符时)显示第一对应搜索结果。用户在其选择边界框时(即,当用户进行双击、两次敲击或者使用其它机制来指示选择时)激活多个对应搜索结果的显示。

在图12a和12b中,视觉标识符是围绕视觉查询的子部分的分界框1202。图12a图示了为正方形或矩形的分界框。图12b图示了包围视觉查询的子部分中的可识别实体的边界的分界框1202,诸如用于饮料瓶的分界框1202-3。在一些实施例中,相应分界框1202在其内部包括较小的分界框1202。例如,在图12a和12b中,标识包装的分界框1202-1围绕着标识商标的分界框1202-2以及所有其它分界框1202。在包括文本的一些实施例中,还包括一些文本词语的活跃热链接1204。图12b示出了其中“activedrink”和“unitedstates”被显示为热链接1204的示例。对应于这些词语的搜索结果是从词语查询服务器系统118所接收的结果,而对应于分界框的结果则是来自通过图像进行查询的搜索系统的结果。

图13图示了具有交互式结果文档1200的截屏的客户端系统102,所述交互式结果文档1200通过视觉查询中所识别的实体类型进行编码。图11的视觉查询包含人物图像1106、商标图像1108、产品图像1110以及各种文本元素1112。这样,图13中所显示的交互式结果文档1200包括围绕人物1306、商标1308、产品1310以及两个文本区域1312的分界框1202。图13的分界框均利用表示不同着色的透明分界框1202的单独交叉阴影来呈现。在一些实施例中,分界框的视觉标识符(和/或交互式结果文档1200中的标签或其它视觉标识符)被格式化以便以诸如覆盖颜色、覆盖图案、标签背景颜色、标签背景图案、标签字体颜色和分界框边界颜色的视觉上不同的方式进行呈现。用于特定识别实体的类型编码参考图13中的分界框示出,但是通过类型进行的编码也被应用于作为标签的视觉标识符。

图14图示了具有交互式结果文档1200的截屏的客户端系统102,所述交互式结果文档1200具有作为图11的视觉查询1102的相应子部分的视觉标识符的标签1402。标签视觉标识符1402均包括到相对应搜索结果的子集的用户可选择链接。在一些实施例中,可选择链接由标签1402区域内所显示的描述文本所标识。一些实施例包括一个标签1402内的多个链接。例如,在图14中,悬停在喝水女士图像上方的标签包括到针对该女士的面部识别结果的链接以及到针对该特定图片(例如,其它产品的图像或者使用相同图片的广告)的图像识别结果的链接。

在图14中,标签1402被显示为部分透明区域,其具有位于交互式结果文档的其相应子部分上的文本。在其它实施例中,相应标签位于交互式结果文档的其相应子部分附近而并非位于其上。在一些实施例中,标签以与参考图13所讨论的相同方式通过类型进行编码。在一些实施例中,用户通过在被标签1302的边缘或外围所包围的空间内的激活区域上进行敲击来激活与对应于标签1302的特定子部分相对应的搜索结果的显示。以上参考图12a和12b的分界框所讨论的相同预览和选择功能也适用于作为标签1402的视觉标识符。

图15图示了与结果列表1500同时显示的原始视觉查询1102和交互式结果文档1200的截屏。在一些实施例中,交互式结果文档1200如图12-14所示的自己进行显示。在其它实施例中,如图15所示,交互式结果文档1200与原始视觉查询同时显示。在一些实施例中,视觉查询结果的列表1500连同原始视觉查询1102和/或交互式结果文档1200一起同时进行显示。客户端系统的类型以及显示器706上的空间量可以确定是否与交互式结果文档1200同时显示结果列表1500。在一些实施例中,客户端系统102(响应于提交给视觉查询服务器系统的视觉查询)接收结果列表1500和交互式结果文档1200,但是仅在用户向下滚动交互式结果文档1200时才显示结果列表1500。在这些实施例中的一些中,客户端系统102显示与用户所选择的视觉标识符1202/1402相对应的结果而无需再次对服务器进行查询,这是因为客户端系统102响应于视觉查询接收了结果列表1500并且随后将其本地存储在客户端系统102。

在一些实施例中,结果列表1500被组织为类别1502。每个类别包含至少一个结果1503。在一些实施例中,类别标题被高亮以便将它们与结果1503进行区分。类别1502根据其经计算的类别权重进行排序。在一些实施例中,类别权重是该类别中最高的n个结果的权重组合。这样,具有可能产生最为相关的结果的类别被首先显示。在针对相同的识别实体返回了多于一个的类别1502(诸如图15中所示的面部图像识别匹配和图像匹配)的实施例中,首先显示的类别具有较高的类别权重。

如参考图3所解释的,在一些实施例中,当客户端系统102的用户选择了交互式结果文档1200中的可选择链接时,光标将自动移动到适当类别1502或该类别中的第一结果1503。可替换地,当交互式结果文档中的可选择链接被客户端系统102的用户所选择时,结果列表1500被重新排序以使得与所选择链接相关的一个或多个类别被首先显示。例如,这是通过利用标识相对应搜索结果的信息对可选择链接进行编码或者通过对搜索结果进行编码以指示相对应的可选择链接或指示相对应的结果类别来实现的。

在一些实施例中,搜索结果的类别对应于产生那些搜索结果的通过图像进行查询的搜索系统。例如,在图15中,一些类别是产品匹配1506、标志匹配1508、面部识别匹配1510、图像匹配1512。原始视觉查询1102和/或交互式结果文档1200可以与诸如查询1504的类别标题类似地进行显示。类似地,来自词语查询服务器所执行的任意词语搜索的结果也可以被显示为单独类别,诸如web结果1514。在其它实施例中,视觉查询中多于一个的实体将产生来自相同的通过图像进行查询的搜索系统的结果。例如,视觉查询可以包括两个不同脸部,它们将从面部识别搜索系统返回单独的结果。这样,在一些实施例中,类别1502通过所识别实体而不是通过搜索系统进行划分。在一些实施例中,所识别实体的图像被显示在所识别实体的类别首部1502中,以使得该所识别实体的结果能够与另一个所识别实体的结果区分开来,即使两个结果是由图像搜索系统所进行的相同查询所产生。例如,在图15中,产品匹配类别1506包括两个实体产品实体并且由此作为两个实体类别1502—盒装产品1516和瓶装产品1518,它们中的每一个具有多个相应搜索结果1503。在一些实施例中,类别可以通过所识别实体以及通过图像进行查询的系统的类型进行划分。例如,在图15中,存在两个单独实体,它们在产品匹配类别产品下返回了相关结果。

在一些实施例中,结果1503包括缩略图。例如,如对于图15中的面部识别匹配结果所示出的,连同诸如图像中人物的姓名之类的一些文本描述一起显示了“女演员x”和“社交网络好友y”的面部匹配图片的小型版本(也被称作缩略图)。

图16a-16c是图示根据一些实施例的用于使用位置传感器数据和视觉查询返回视觉查询的本地收录的过程的流程图。图17-19图示了选择使用图16a-16c所图示的过程所识别的搜索结果的各种方法。图16a-19中所示的每个操作可以对应于计算机存储器或计算机可读存储介质中所存储的指令。特别地,许多操作对应于前端搜索系统110的本地收录选择模块840(图6)、位置扩增搜索系统112-f的搜索应用2320(图23)和基于位置的搜索系统的搜索应用2420(图24)中的可执行指令。

使用位置信息或增强位置信息来改善视觉查询搜索对于“街景视觉查询”是有用的。例如,如果用户站在街角并且拍摄建筑物的照片作为视觉查询,并且使用当前位置信息(即,识别客户端设备位置的信息)以及视觉查询对其进行处理,则搜索结果将包括与位于该建筑物中的企业或组织相关的信息。

如图16a所示,前端服务器从客户端系统接收视觉查询(202)。前端服务器还接收位置信息(1602)。在一些实施例中,位置信息包括gps传感器信息或小区电话塔台信息(1604)。该位置信息通常是粗略的,即其具有相对低的精确度,并且以下描述将讨论提高其精确度的方式。所接收的位置信息可能精确定位指定范围内的用户。在一些实施例中,位置信息以75英尺或更佳的精确度定位客户端系统;在(如以上所描述的)一些其它实施例中,位置信息具有不低于a的精确度,其中a是预定义的100米或更低的数值。

在一些实施例中,基于先前所接收的位置信息来计算所述位置信息(1606)。在一些实施例中,还从客户端设备接收其它传感器信息(1608)。其它传感器信息可以包括来自以下一个或多个的信息:磁力计742、加速度计744或客户端设备102中的(参考图5所讨论的)其它传感器746。在一些实施例中,附加传感器信息被用来计算这里称之为姿态的用户所看的大致方向或者方位。在一些实施例中,附加传感器信息被用来使用航位推测原理计算用户自视觉查询时间起的移动。

视觉查询系统向至少一个视觉查询搜索系统发送针对增强位置信息的请求(包括视觉查询和位置信息的请求)(1610)。如参考图2所解释的,在大多数实施例中,至少视觉查询被发送到多个并行搜索系统以便同时进行处理。在一些实施例中,视觉查询搜索系统向位置扩增搜索系统(图23中所示的112-f)发送视觉查询(1612)。位置扩增搜索系统对(如位置信息所指示的)客户端设备位置的指定范围内的街景图像库集(先前存储在图像数据库2322中)执行视觉查询匹配搜索。如果在该库集内找到了图像匹配,则识别相关联的精确定位位置(图23中所示的2310)。在一些实施例中,精确定位位置2310也具有指示精确定位位置值的精确度的精确度值2332。精确定位位置被用来确定与视觉查询相关联的增强位置信息。然后,增强位置信息被返回至视觉查询系统中进行请求的服务器(例如,前端服务器)。如果在街景图像的库集中没有找到匹配,则没有确定增强位置信息。

响应于上述的请求(1610),进行请求的服务器接收增强位置信息(1614)。如以上所描述的,增强位置信息基于视觉查询以及客户端设备的传感器所提供的粗略位置信息。典型地,增强位置信息具有比所接收的位置信息更高的精确度(1616)。在一些实施例中,增强位置信息在比原始范围窄的范围内精确定位用户的特定位置。在一些实施例中,增强位置信息所识别的特定位置处于距客户端设备的实际位置诸如10或15英尺的预定范围之内。可选地(但是通常),增强位置信息还包括姿态(即,用户所面对的方向)(1618)。

视觉查询系统向基于位置的搜索系统(图24中所示的112-g)发送搜索查询(1620)。基于位置的搜索系统使用位置数据针对搜索查询中所提供的位置附近的本地收录识别其位置数据库2422中的记录2406。如果增强位置信息是响应提供至前端服务器而获得,则搜索查询将包括增强位置信息(1622)。另外,如果姿态信息被提供至前端服务器,则其也将包括在搜索查询中(1624)。

参考图16b,基于位置的搜索系统(图24中所示的112-g)向前端服务器发送一个或多个搜索结果(1626)。在一些实施例中,搜索结果包括一个或多个依据增强位置信息的结果(即,本地收录)(1628)。在一些实施例中,搜索结果包括姿态方向中的一个或多个结果(1630)。

可选地,视觉查询系统(例如,前端服务器)创建包括包围视觉查询的相应子部分的分界框并且包括到至少一个搜索结果的至少一个用户可选择链接的交互式结果文档(1632)。分界框的细节参考图3进行了讨论。可选地,分界框通过将搜索结果的地球坐标投射到视觉查询的屏幕坐标上而得以创建(1634)。

视觉查询系统接着将至少一个搜索结果发送到客户端系统(1636)。搜索结果包括本地收录。例如,它们可以包括诸如客户端设备的物理位置附近的企业、组织或兴趣点之类的实体的搜索结果。搜索结果可以仅包括视觉查询中可见的实体。可替换地,搜索结果可以包括视觉查询中不可见的实体。在一些实施例中,发送到客户端设备的相应搜索结果位于姿态方向中(1638)。这些搜索结果可以包括视觉查询中可见的实体以及不可见的实体。在一些实施例中,相应搜索结果包括识别视觉查询中对应于相应搜索结果的部分的分界框(1640)。图17-19描述了用于选择特定本地收录以发送至客户端系统的实施例。

在一些实施例中,前端服务器还连同搜索结果一起向客户端设备发送视觉查询系统所确定的街景图像以匹配视觉查询(1642)。

图16c包括用于对第二视觉查询进行处理的可选方法。第二视觉查询典型地在客户端系统已经从对来自相同客户端系统的第一(即,较早的)视觉查询进行处理时的客户端系统位置移动之后从客户端系统所接收(1644)。还从客户端系统接收第二位置信息(1646)。视觉查询系统(例如,视觉查询系统的前端服务器)向视觉查询搜索系统(特别是位置扩增搜索系统112-f—图23)发送请求,其请求基于第二视觉查询和第二位置信息的第二增强位置信息(1648)。

当针对第二增强位置信息的请求成功时,使得接收比从客户端系统所接收的第二位置信息具有更高精确度的第二增强位置信息,视觉查询系统向基于位置的搜索系统(图24的112-g)发送第二搜索查询,其包括第二增强位置信息(1650)。接着接收依据第二搜索查询的一个或多个搜索结果(1652),并且将依据第二搜索查询的至少一个搜索结果发送到客户端系统(1654)。

当针对第二增强位置信息的请求不成功时,视觉查询系统向基于位置的搜索系统发送第三搜索查询,其包括来自第一查询的增强位置信息(1656)。在该实施例中,原始增强位置信息优于从客户端所接收的第二位置信息,这是因为原始增强位置可能比客户端设备所提供的粗略位置信息更为准确地精确定位客户端的位置。在一些实施例中,用户可能自原始查询时起根本没有移动。他可能仅进行了旋转。只要客户端设备的移动速度和/或自从客户端设备接收到第一视觉查询起所过去的时间量没有超过预定限制,则客户端设备的原始精确定位位置保持为相对准确。在该实施例中,然后接收依据第三搜索查询的一个或多个搜索结果(1658),并且至少一个依据第二搜索查询的搜索结果被发送到客户端系统(1660)。

图17是图示选择搜索结果的锥截体方法。在该方法中,从客户端设备接收视觉查询(202)并且接收多个初始搜索结果(例如,本地收录)(1701),例如以上所讨论的系统和方法。如以下所讨论的,然后使用视锥截体对初始搜索结果进行过滤。

视锥截体是客户端设备的视场的模型。在一些实施例中,锥截体基于客户端设备的位置以及姿态信息所构建(1702)。在一些实施例中,姿态信息被作为增强位置信息的一部分提供(见1618)。在位置扩增搜索系统没有确定姿态信息的实施例中,有时可以基于从诸如磁力计(图5的742)的客户端设备传感器所提供的信息来确定粗略姿态(1704)。

锥截体具有长度l,其是距客户端设备的位置的某个定义距离。在一些实施例中,锥截体的长度是位置信息的精确度的函数。如果增强位置信息高度精确,则锥截体的长度处于“小范围”之内。在一些实施例中,该小范围小于100码。如果增强位置不精确,或者如果增强位置信息没有找到,则锥截体的长度处于相对于所述短范围的“大范围”之内。在一些实施例中,该大范围大于所述小范围并且小于500码。

在一些实施例中,还基于设备的当前方位来构建视锥截体(1706)。在一些实施例中,基于视觉查询的非对称纵横比来确定方位(1708)。典型地,用户以竖向或横向两种方位之一握持非对称设备,即其宽度和高度具有不同长度的设备。在一些实施例中,设备的方位是从来自客户端设备传感器的传感器信息(例如,来自客户端设备中的加速计的信息)确定。

一旦构建了视锥截体,其就被用来测试搜索结果是否处于客户端设备的视场之内。如果搜索结果位置处于锥截体之内,则认为其处于客户端设备的视场之内(也被称作“处于客户端设备的视野之内”)。如果搜索结果不处于锥截体之内,则认为其不处于客户端设备的视野之内。在一些实施例中,当接收到多个搜索结果时,对搜索结果进行过滤以排除处于视锥截体之外(也称作“处于客户端设备的视场之外”)的搜索结果(1712)。只要剩余有任何搜索结果,视锥截体内的至少一个搜索结果就被发送到客户端系统(1714)作为对视觉查询的响应。

图18是图示基于突出性和位置数据选择搜索结果的方法的流程图。识别增强位置信息的精确度值(1802)。该精确度值至少部分基于位置扩增搜索系统112-f(参考图23)的图像数据库2322中被识别为匹配视觉查询的街景记录2306的精确定位位置2310的精确度值2332和提供至位置扩增搜索系统的位置信息来识别。在一些实施例中,该精确度值是指示精确度的数字值。在一个示例中,精确度值指示在预定义单位(例如,米或英尺)中测量的估计或最大不精确度。该示例中的较低的精确度值指示较大的精确度。因此,精确度值“10”将指示10米的估计精确度,而值“50”指示50米的估计精确度。在另一个示例中,精确度值可以指示两个或更多预定等级之一。例如,系统可以具有四个预定的不同精确度等级,1至4或a至d。可以使用给任何适当的等级指定。

还识别相应搜索结果的突出性值(1804)。突出性值是搜索结果重要性的相对确定。例如,如埃菲尔铁塔的著名地标具有高的突出性值。在另一个示例中,具有(顾客或评论家或二者的)高度评级的餐厅被分配比具有相对低评级的餐厅高的突出性值。突出性值2436与基于位置的搜索系统112-g(参考图24)的位置数据库2422中作为基于位置的搜索系统的搜索结果返回的相应记录2410相关联。

还识别相应搜索结果的相关联位置(1806)。在一些实施例中,位置是基于位置的搜索系统112-g(图24)的位置数据库2422中作为基于位置的搜索系统的搜索结果返回的相应记录2406中的位置信息2410所确定的实体(例如,建筑物、企业、地标等)的物理位置。在一些实施例中,位置信息2410是纬度和经度值的对。在一些实施例中,位置信息还提供与实体前门最接近的点以及与街道最接近的点相关的信息。接着可以通过形成两个点之间的矢量来确定实体正面的方式。在一些实施例中,位置是实体的邮政地址2434,其同样与基于位置的搜索系统112-g(参考图24)的位置数据库2422中作为基于位置的搜索系统的搜索结果返回的相应记录2406相关联。

执行图18中所图示的方法的服务器确定(客户端设备的)增强位置与相应搜索结果的相关联位置之间的距离(1808)。

接着,服务器依据增强位置的精确度值确定优选的搜索结果(1810)。当客户端设备的增强位置信息精确时(具有高的精确度值),临近收录优于较不接近客户端设备的突出收录以便包括在搜索结果中。更具体地,服务器在增强位置具有等于或高于阈值的精确度值时优选增强位置附近的搜索结果(1812)。在一些实施例中,当客户端设备的增强位置信息精确时,使用基于与突出性相对的接近位置优选收录(即,搜索结果)的加权因数的第一集合。例如,对于精确的增强位置信息而言,加权因数0.8被乘以接近度量度(其对应于搜索结果的位置与客户端设备的位置有多接近),而加权因数0.2则被乘以搜索结果的突出性值。在一些实施例中,使用相关搜索结果的可变半径。在客户端设备的位置信息具有低精确度(精确度值低于阈值)时使用大的半径,并且在客户端设备的位置信息具有高精确度(精确度数值高于阈值)时使用小的半径。

类似地,当客户端设备的位置不精确时,突出性本地收录相对于使用加权因数的第二集合所计算的与客户端设备最为接近的收录被优选。这是因为所计算的最为接近的收录可能由于客户端设备位置值的不精确而实际上根本不是接近的。视觉查询系统在增强位置不可用或具有低于阈值的精确度值时优选具有高突出性值的搜索结果(1814)。当客户端设备的增强位置信息具有低的精确度时,使用基于与位置相对的突出性优选收录的加权因数的第二集合。例如,当增强位置信息低于阈值时,加权因数0.2被乘以接近度量度(其对应于搜索结果的位置与客户端设备的位置有多接近),而加权因数0.8被乘以搜索结果的突出性值。最后,至少一个优选的搜索结果被发送到客户端系统(1816)。

图19是图示基于相对位置和精确度据选择搜索结果的方法的流程图。还识别相应搜索结果的相关联位置(1806)。如参考图18所讨论的,在一些实施例中,相关联位置是(物理)位置信息2410,并且在其它实施例中,其是与基于位置的搜索系统112-g(参考图24)的位置数据库2422中作为基于位置的搜索系统的搜索结果返回的相应记录2410相关联的邮政地址信息2434。

类似地,还识别与相应搜索结果相关联的位置精确度(1904)。位置精确度是与基于位置的搜索系统112-g(参考图24)的位置数据库2422中作为基于位置的搜索系统的搜索结果返回的相应记录2410相关联的位置2432的精确度。在一些实施例中,视觉查询系统选择具有最高的相关联位置精确度的一个或多个搜索结果(1906)。

执行图19中所图示的方法的服务器确定相应搜索结果位置和客户端系统的增强位置信息之间的位置接近度数值(有时称作接近度量度)(1908)。在一些实施例中,服务器选择其位置接近度值满足位置接近度要求的一个或多个第一搜索结果(1910)。在一些实施例中,位置接近度要求是绝对数值,诸如100码。在其它实施例中,位置接近度要求根据如参考图18所讨论的增强位置精确度而变化。在一些实施例中,服务器选择还具有等于或大于阈值的位置精确度的一个或多个第一搜索结果(1912)。

在一些实施例中,服务器依据每个所识别的第二搜索结果满足关于至少一个第一搜索结果的第二位置接近度要求的要求来选择一个或多个第二搜索结果(1914)。换句话说,当候选搜索结果包括具有精确信息的本地收录以及具有较不精确位置(这里有时称作不精确位置)的其它结果时,最终的搜索结果仅包括a)具有处于设备位置附近的精确位置信息的本地收录,和b)具有已知处于(a)中精确定位的本地收录附近的不精确信息的那些本地收录。在一些实施例中,已知不精确定位的收录通过其它一些方式而处于精确定位收录附近,诸如邮政地址、街道名称或者通过对位置进行聚类。

在一些实施例中,服务器从所选择的搜索结果中排除具有低于阈值的位置精确度的那些搜索结果(1916)。该阈值与以上所讨论的相类似。在一些实施例中,服务器排除也不满足关于具有等于或大于阈值的位置精确度的至少一个所选择搜索结果的位置接近度要求并且满足关于客户端系统的增强位置信息的第一位置接近度要求的一个或多个搜索结果。

最后,至少一个所选择的搜索结果被发送到客户端系统(1920)。

如以上关于图16a-19所讨论的,应当注意的是,在实施例中,当针对增强位置信息的请求成功时,导致接收比从客户端系统所接收的位置信息具有更高精确度的增强位置信息,视觉查询系统向基于位置的搜索系统发送第一搜索查询。搜索查询包括所述增强位置信息。视觉查询系统然后接收依据第一搜索查询的一个或多个搜索结果。然而,当针对增强位置信息的请求不成功时,视觉查询系统向基于位置的搜索系统发送第二搜索查询。第二搜索查询包括从客户端系统所接收的位置信息。接着,视觉查询系统接收依据第二搜索查询的一个或多个搜索结果,并且在向客户端系统发送至少一个搜索结果之前以如以上所讨论的各种方式对于它们进行精选。

图20是图示客户端系统102和视觉查询系统(例如视觉查询系统的前端视觉查询服务器系统110)之间用于创建具有位置信息的可采取动作的搜索结果1700的通信的流程图。在一些实施例中,位置信息在使用之前进行增强。在这些实施例中,视觉查询结果至少部分基于用户在查询时的位置。

图20中所示出的每个操作可以对应于计算机存储器或计算机可读存储介质中所存储的指令。特别地,许多操作对应于前端搜索系统110的本地收录选择模块840(图6)中的可执行指令。

客户端设备或系统102接收来自用户的图像(2002)。在一些实施例中,所述图像从客户端设备或系统102中的相机710(图5)接收。客户端系统还接收指示客户端系统的位置的位置信息(2004)。所述位置信息可以来自于客户端设备或系统102中的gps设备707(图5)。可替换地或除此之外,所述位置信息可以来自于小区塔台使用信息或无线局域网信息。为了可用于产生街景辅助结果,所述位置信息通常必须满足精确度标准。在一些实施例中,当位置信息具有不低于a的精确度时,精确度标准得以被满足,其中a是预定义的100米或更小的值。客户端系统102从所述图像创建视觉查询(2006)并且将所述视觉查询发送到服务器系统(2008)。在一些实施例中,客户端系统102还将位置信息发送到服务器(2010)。

前端服务器系统110从客户端系统接收视觉查询(2012)。其还接收位置信息(2014)。前端服务器系统110向实施视觉查询过程的至少一个搜索系统发送视觉查询(2016)。在一些实施例中,视觉查询被发送到多个并行搜索系统。搜索系统返回一个或多个搜索结果(2024)。前端服务器系统将所述位置信息发送到至少一个位置扩增搜索系统(2018)。(在2014)接收的位置信息可能在指定范围内精确定位用户。在一些实施例中,位置信息以75英尺或更好的精确度定位客户端系统;在一些(如以上所描述的)其它实施例中,位置信息具有不低于a的精确度,其中a是预定义的100米或更近的数值。

位置扩增搜索系统(图23所示的112-f)在指定范围内对(之前存储在图像数据库2322中的)街景图像库集执行视觉查询匹配搜索。如果在该库集内找到了图像匹配,则获取与匹配图像相关联的增强位置信息。在一些实施例中,增强位置信息在比原始范围窄的范围内精确定位用户的特定位置,并且可选地(但是通常)还包括姿态(即,用户所面对的方向)。在一些实施例中,增强位置信息所识别的特定位置处于距客户端设备的实际位置的预定距离之内,诸如10或15英尺。在该实施例中,前端服务器系统110从位置扩增搜索系统接收基于视觉查询和位置信息的增强位置信息(2020)。然后,前端服务器系统110将增强位置信息发送到基于位置的查询系统(图24所示的112-g)(2022)。基于位置的查询系统112-g获取并返回被前端服务器系统所接收的一个或多个搜索结果(2024)。可选地,依据视觉查询和增强位置信息两者获得搜索结果(2026)。可替换地,依据使用原始位置信息和视觉查询所获取的增强位置信息获得搜索结果(2028)。

应当注意的是,(在2024接收的)视觉查询结果可以包括所精确定位的位置附近实体的结果,无论这些实体是否能够在视觉查询图像中看到。例如,视觉查询结果可以包括被在原始视觉查询中(例如,被过往车辆或树木)所遮蔽的实体。在一些实施例中,视觉查询结果还将包括诸如精确定位的地址附近的企业或地标之类的临近实体,即使这些实体根本不处于视觉查询图像之中。

前端服务器系统110向客户端系统发送一个或多个搜索结果(2030)。如参考图16a-19所解释的,有多种用来确定应当发送哪些搜索结果的方法。客户端系统102接收一个或多个搜索结果(2032)。接着,客户端系统显示一个或多个搜索结果(2034)。

图21图示了针对建筑物的视觉查询1200所返回的结果列表1500的实施例的客户端系统显示。在该实施例中,视觉查询1200被作为街景视觉查询进行处理,并且因此所接收的搜索结果依据客户端系统102所提供的视觉查询和位置信息而获得。在该实施例中,视觉查询是以竖向模式取得的。针对该查询所识别的实体是旧金山(sf)ferry大厦2101。连同搜索结果一起提供旧金山ferry大厦的街景视图图像的缩略图2102。在图21所示的实施例中,显示了“地点匹配”视觉查询搜索结果信息2104。地点匹配结果包括建筑物名称(sfferry大厦)、邮政地址(pier48)、与该地点相关的描述和星级评级。该信息中的一些从基于位置的搜索系统112-g(图24)中该记录的相关联信息2408所获得。该信息中的一些基于其它视觉查询搜索系统112-a–112-n以及词语查询服务器系统118所执行的其它搜索而获得。

搜索结果列表包括web结果1514和相关地点匹配2110。搜索结果列表包括所述街景地点匹配系统所识别的其它地点。在一些实施例中,地点匹配系统显示其它与被识别为目前处于用户前方的地点相类似的地点和/或其它临近地点。例如,如果处于用户前方的地点被表示为泰式餐厅,则街景地点匹配系统可以显示处于所识别地点一英里范围内的其它泰式餐厅。

在图21中所示的实施例中,所显示的相关地点2110是同样为流行的旅途停留地的地点—californiaacademyofsciences2112和palaceoffinearts2114。这些地点匹配具有高的突出性值。在该实施例中,显示这些高突出性结果而不是sfferry大厦附近的结果。换句话说,具有高突出性值的结果相对于增强位置附近的结果被优选。这可能是因为增强位置信息的精确度值并没有达到阈值这一事实,即增强位置信息具有低的精确度值。如果精确度值达到了阈值,则不同于显示具有高突出性值的结果,所显示的结果将是在地理上位于所识别地点旁边的地点,诸如处于视觉查询中的店铺任一侧或上方的店铺。

图22图示了多个可采取动作的搜索结果元素1700覆盖视觉查询1200的实施例的客户端系统显示。在该实施例中,所返回的可采取动作的搜索结果元素针对街景视觉查询。可采取动作的搜索结果在于2009年12月2日提交的题为“actionablesearchresultsforstreetviewvisualqueries”的美国临时专利申请号61/266133中详细解释,其全文通过引用结合于此。

在图22所示的实施例中,前端服务器系统接收了具有高精确度值的增强位置信息。这样,仅提供与增强位置最为接近的实体作为搜索结果。基于位置的搜索系统识别了具有足够高的确信度的称为“thecityrestaurant”的餐厅实体2201,这是仅有的返回结果。接着,提供与该餐厅实体相关的各种附加信息。前端服务器识别对应于“thecityrestaurant”实体2201的若干客户端侧动作并且为它们创建了可采取动作的搜索结果元素。可采取动作的搜索结果元素包括用于呼叫与餐厅相关联的电话号码的按钮2204、用于阅读关于餐厅的评论的按钮2206、用于得到与餐厅相关的信息的按钮2208、用于绘制与餐厅相关联的地址的地图的按钮2210、用于在餐厅进行预订的按钮2212,以及用于诸如附近或类似餐厅的更多信息的按钮2214。图22中所示的实施例中的可采取动作的结果元素被显示为在可采取动作的搜索结果元素显示框2216中覆盖视觉查询1200的一部分。在该实施例中,显示框2216是部分透明的,以允许用户看到显示框2216以下的原始查询。在一些实施例中,显示框2216包括诸如红色、蓝色、绿色等的带颜色覆盖。在其它实施例中,显示框2216使原始查询图像变灰(grayout)。显示框2216还提供所识别实体的名称2218,在这种情况下为餐厅的名称“thecityrestaurant”。部分透明的显示框2216的实施例是图21所示的结果列表样式的视图的可替换形式。该实施例允许用户直观地将可采取动作的搜索结果按钮与查询中所识别的实体相关联。

图23是图示用于处理视觉查询的一个位置扩增搜索系统的框图。图23图示了依据一些实施例的位置扩增搜索系统112-f。位置扩增搜索系统112-f包括一个或多个处理单元(cpu)2302、一个或多个网络或其它通信接口2304、存储器2312,以及用于将这些组件进行互连的一个或多个通信总线2314。通信总线2314可以包括互连和控制在系统组件之间的通信的电路(有时称为芯片集)。存储器2312包括高速随机存取存储器,诸如dram、sram、ddrram或其它随机存取固态存储器设备;并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或者其它非易失性固态存储设备。存储器2312可以可选地包括与cpu2302远程定位的一个或多个存储设备。存储器2312或者可替换地存储器2312内的非易失性存储设备包括计算机可读存储介质。在一些实施例中,存储器2312或者存储器2312的计算机可读存储介质存储以下程序、模块和数据结构或者其子集:·操作系统2316,其包括用于处理各种基本系统服务以及用于执行依赖于硬件的任务的程序;

·网络通信模块2318,其用于将位置扩增搜索系统112-f经由一个或多个通信网络接口2304(有线或无线)以及诸如互联网、其它广域网、局域网、城域网等的一个或多个通信网络连接到其它计算机;

·搜索应用2320,其针对位于客户端系统位置的指定范围内的匹配视觉查询的相关图像搜索街景索引,所述客户端系统位置由与客户端系统相关联的位置信息所指定,并且如果找到了匹配图像,则返回扩增/增强位置信息,其比客户端系统之前的可用位置信息更为准确;

·图像数据库2322,其包括街景图像记录2306;每个街景图像记录包括图像2308、精确定位位置信息2310和精确度值2332;

·可选索引2324,其用于将街景图像记录2306组织在图像数据库2320中;

·可选的结果排名模块2326(有时称作相关性评分模块),其用于对来自搜索应用的结果进行排名,所述排名模块可以对来自搜索应用的每个结果指定相关性分值,并且如果没有结果达到预定的最低分值,则可以向前端视觉查询处理服务器返回指示来自该服务器系统的结果不相关的空或零值分值;和

·注释模块2328,其用于从注释数据库(图1的116)接收确定任意注释信息是否与特定搜索应用相关的注释信息,并且将任意所确定的注释信息相关部分合并到相应注释数据库2330中。

图24是图示依据一些实施例的基于位置的搜索系统112-g的框图。被用来处理位置查询的基于位置的搜索系统112-g包括一个或多个处理单元(cpu)2402、一个或多个网络或其它通信接口2404、存储器2412,以及用于将这些组件进行互连的一个或多个通信总线2414。通信总线2414可以包括互连和控制在系统组件之间的通信的电路(有时称为芯片集)。存储器2412包括高速随机存取存储器,诸如dram、sram、ddrram或其它随机存取固态存储器设备;并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或者其它非易失性固态存储设备。存储器2412可以可选地包括与cpu2402远程定位的一个或多个存储设备。存储器2412或者可替换地存储器2412内的非易失性存储设备包括计算机可读存储介质。在一些实施例中,存储器2412或者存储器2412的计算机可读存储介质存储以下程序、模块和数据结构或者其子集:

·操作系统2416,其包括用于处理各种基本系统服务以及用于执行依赖于硬件的任务的程序;

·网络通信模块2418,其用于将基于位置的搜索系统112-g经由一个或多个通信网络接口2404(有线或无线)以及诸如互联网、其它广域网、局域网、城域网等的一个或多个通信网络连接到其它计算机;

·搜索应用2420,其针对处于位置扩增搜索系统(112-f)所提供的增强位置信息或客户端系统提供的粗略位置信息的指定范围内的搜索结果搜索基于位置的索引;在一些实施例中,返回指定范围内的所有搜索结果,而在其它实施例中,所返回的结果是与增强位置最接近的n个结果;在再其它的实施例中,搜索应用返回总体而言类似于与增强位置信息相关联的结果的搜索结果(例如,与增强位置信息相关联的餐厅的某个范围内的所有餐厅);

·位置数据库2422,其包括记录2406,每个记录包括位置信息2310,其可以包括图像中的实体的一个或多个位置,诸如前门附近的点和街道附近的点,与位置的精确度相关的信息2432、可选的邮政地址2434、指示记录的相对重要性的突出度值2436,以及相关联的其它信息2308(诸如元数据、联系信息、评论和图像);

·可选索引2424,其用于将记录2406组织在位置数据库2420中;

·可选的结果排名模块2426(有时称作相关性评分模块),其用于对来自搜索应用的结果进行排名,所述排名模块可以对来自搜索应用的每个结果分配相关性,并且如果没有结果达到预定的最低分值,则可以向前端视觉查询处理服务器返回指示来自该服务器系统的结果不相关的空或零值分值;和

·注释模块2428,其用于从注释数据库(图1的116)接收确定任意注释信息是否与特定搜索应用相关的注释信息,并且将任意所确定的注释信息相关部分合并到相应注释数据库2430中。

图23和24中所示出的每个软件元素可以存储在一个或多个之前所提到的存储器设备中,并且对应于用于执行以上所描述功能的指令集合。以上所标识的模块或程序(即,指令集合)无需作为单独的软件程序、过程或模块来实现,并且因此这些模块的各个子集在各个实施例中可以进行组合或者以另外的方式重新安排。在一些实施例中,相应系统的存储器可以存储以上所标识的模块和数据结构的子集。此外,相应系统的存储器可以存储以上没有描述的附加模块和数据结构。

虽然图23和24示出了搜索系统,但是这些附图更多地是意在作为可以在服务器集合中出现的各种特征的功能描述,而不是作为这里所描述的实施例的结构示意。实际上,并且如本领域技术人员所认识到的,单独示出的项目可以进行组合并且一些项目可以被分离。例如,在图23和24中单独示出的一些项目可以在单个服务器上实现并且单个项目可以由一个或多个服务器实现。用来实现基于位置的搜索系统或位置扩增搜索系统的服务器的实际数量以及特征如何在它们之间进行分配可以随实施方式而有所变化,并且可以部分取决于系统在高峰使用期间以及平均使用期间所必须处理的数据业务的数量。

出于解释的目的,已经参考特定实施例对以上描述进行了描述。然而,以上的说明性讨论并非意在是穷举的或者意在将权利要求限制为所公开的确切形式。可能基于以上教导进行许多修改和变化。实施例被选择和描述是为了最佳地对发明原则及其实际应用进行解释,由此使得本领域技术人员能够适应于所预期的特定用途而对本发明以及具有各种修改的各个实施例加以利用。

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