基于手势的搜索的制作方法

文档序号:6496899阅读:236来源:国知局
基于手势的搜索的制作方法
【专利摘要】通常本说明书中描述的发明主题可以实现在方法、系统和程序产品中,其用于利用基于手势的输入执行搜索。搜索系统接收与已经在客户端设备显示器上绘制的一个或多个字符对应的手势数据。该搜索系统识别与该手势数据对应的一个或多个字符。该搜索系统制定包括一个或多个字符作为查询项的搜索。该搜索系统向客户端设备传达针对搜索的一个或多个搜索结果和标识一个或多个字符的数据。
【专利说明】基于手势的搜索
[0001]相关申请的交叉引用
[0002]本申请要求在2011年10月25日提交的、名称为“GESTURE-BASED SEARCH”的美国申请序列号13/280,582的优先权,通过引用将其公开内容在此并入。
【背景技术】
[0003]本说明书涉及搜索引擎,以及与使用通过用户设备显示器接收的输入执行的搜索有关的一个特定实现。
[0004]搜索的一个示例是基于web的即时搜索,其在用户录入信息时返回搜索结果,例如即时搜索。即时搜索的搜索结果通常在用户录入附加信息时进行更新。

【发明内容】

[0005]本公开描述了这样的系统和技术,利用该系统和技术,可以在用户设备和搜索系统之间、通过网络交换信息,以便促进搜索。在一个实现中,当用户在用户设备的显示器上绘制图案(例如,对应于语言的字母、字形、字符的图案)时,将发起搜索。用户设备收集与该用户绘制的图案有关的手势数据,并且将该手势数据与构成搜索项的任何之前识别的字符一起发送至搜索系统。
[0006]该搜索系统基于手势数据识别新字符,并且通过将新识别的字符与之前识别的字符聚集在一起而更新搜索项。该搜索系统继而基于更新的搜索项来生成更新的搜索结果。该搜索系统向用户设备返回更新的搜索项和更新的搜索结果,并且该用户设备在其显示器上呈现更新的搜索项和更新的搜索结果。
[0007]通常,在此说明书中描述的本发明主题的一方面可以实现在计算机实现的方法中,其包括:搜索系统接收与已经在客户端设备的显示器上绘制的一个或多个字符对应的手势数据。该搜索系统识别与手势数据对应的一个或多个字符。该搜索系统制定这样的搜索,其包括一个或多个字符作为查询项。搜索系统向客户端设备传达针对该搜索的一个或多个搜索结果,以及标识该一个或多个字符的数据。
[0008]此方面的其他实施方式包括对应的系统和计算机程序产品。该系统包括客户端设备和一个或多个计算机,其可操作用于与客户端设备交互以及执行上文列出的动作。
[0009]这些实施方式和其他实施方式可以可选地包括下述特征中的一个或多个。手势数据可以在客户端设备的用户发起搜索之前被接收。该搜索系统可以在接收与一个或多个字符对应的手势数据之前、接收标识该搜索系统之前识别的一个或多个其他字符的数据。该搜索系统可以传达标识一个或多个其他字符的数据。手势数据可以包括点地图,其标识一个或多个字符在其上绘制的显示器上的点,以及指定显示器上的点在其上进行绘制的序列。该搜索可以是即时搜索或者图像搜索。
[0010]通常,本说明书中描述的本主题另一方面可以实现在计算机实现的方法中,其包括客户端设备生成与已在客户端设备显示器上绘制的一个或多个字符对应的手势数据。该客户端设备向搜索系统传输手势数据。该客户端设备接收已经由搜索系统使用包括一个或多个字符的搜索识别的搜索结果,和标识该一个或多个字符的数据。该客户端设备显示搜索结果。
[0011]这些实施方式和其他实施方式可以可选地包括下述一个或多个特征。客户端设备可以确定控制物体不再与客户端设备的显示器接触。可以响应于确定控制物体不再接触客户端设备的显示器而生成手势数据。客户端设备可以基于接收到了标识一个或多个字符的数据而显示搜索项。客户端设备可以检测该用户已经发起搜索,并且确定该用户已经在客户端设备的显示器上绘制了图案。
[0012]本说明书中所描述本发明主题一个或多个方面的细节在下文的具体描述和附图中给出。该发明主题的其他特征、方面和优势将从描述、附图和权利要求变得容易理解。
【专利附图】

【附图说明】
[0013]图1示出了基于用户在用户设备的显示器上绘制的图案执行搜索的系统。
[0014]图2是示出用于基于在用户设备的显示器上绘制的图案、执行搜索的过程示例的流程图。
[0015]图3示出了用于检测在用户设备的显示器上绘制的图案、以及基于检测到的图案呈现搜索结果的系统的示例。
[0016]图4A至图4C不出了不例性用户设备400的一系列截屏,其在用户设备400的显示器上呈现与用户绘制的图案对应的搜索项和关联搜索结果。
[0017]图5示出了可以用于基于在用户设备的显示器上绘制的图案、生成像素地图的示例性系统。
[0018]图6A至图6F示出了可以用于执行搜索的系统示例,其中图像作为基于在用户设备显示器上所绘制图案的搜索结果返回。
[0019]图7A至图7H示出了可以用于执行搜索的系统示例,其中搜索项和搜索结果基于在用户设备显示器上绘制的图案进行更新。
[0020]图8A至图8D示出了系统示例,其中可以通过选择搜索应用接口上的图标来启用或禁用用于执行搜索的用户设备显示器上的手势。
[0021 ] 各种附图中类似附图标记指代类似元素。
【具体实施方式】
[0022]图1示出了系统100,其基于用户在用户设备110的显示器上绘制的图案执行搜索。系统100是可以在其中实现下述系统、部件和技术的信息取回系统的示例。图1还示出了在状态㈧到状态⑶期间、流经系统100部件的数据流。状态㈧到状态⑶可以按照所示序列发生,或者以不同于所示序列的序列发生。
[0023]系统100包括用户设备110,其通过网络130耦合至搜索系统140。通常,用户设备110通过网络130向搜索系统140传达搜索数据120。搜索系统140处理搜索数据120,以及通过网络130向用户设备110返回结果数据160。结果数据160的表征使用用户设备110显示给用户。系统100例如可以用来执行即时搜索,其中在用户录入与查询项对应的一个或多个字符时、生成搜索结果并将其呈现在用户设备110的显示器上,而在用户录入针对查询项的附加字符时、会更新该搜索结果。[0024]用户设备110可以是例如智能电话、平板计算机、笔记本计算机、膝上型计算机、电子书阅读器、音乐播放器、台式计算机或任何其他适当的便携式或静止式计算设备。用户设备110可以包括一个或多个处理器,配置用于执行由计算机可读介质存储的、用于执行各种客户端操作(诸如,输入/输出,通信,数据处理等)的指令。例如,用户设备110可以包括显示器112或与之通信,并且可以向用户呈现与搜索相关联的信息。显示器设备112可以实现为邻近度敏感显示器(例如,触屏),使得用户可以通过在显示器112上触摸或悬停控制物体(例如,手指或触笔)而录入信息。
[0025]为了执行搜索,用户可以启动搜索应用,其经由显示器112向用户提供接口。由用户录入并由系统100处理的信息利用搜索应用接口呈现在显示器112上,并且可以包括搜索项116和与搜索项116对应的搜索结果118。用户可以通过在显示器112上绘制图案来录入针对搜索项的附加信息。用户设备110可以在显示器112上呈现由用户绘制的图案的表征119,例如,数字墨水。该接口可以使用在用户设备110上触发的浏览器而呈现在显示器112上,或者该接口可以是用于搜索应用(例如,本地搜索应用)的专用接口。
[0026]用户绘制的图案可以对应于字母表的字母,或者非字母语言的字符。在某些应用中,用户可以以草书绘制语言的一个或多个字符。在其他应用中,图案可以对应于不一定是任何语言字符的字形,但是可被解释并用于触发有用的搜索,例如,笑脸,心形,或星型。
[0027]从用户设备110通过网络130向搜索系统140发送的搜索数据120可以包括搜索系统140之前识别的字符122,和与用户自执行的最近一次搜索开始、绘制的图案对应的手势数据124。在某些实现中,在绘制由表征119示出的图案之前,搜索数据120可以包括与用户之前绘制的一个或多个图案对应的手势数据。在备选实现中,搜索数据120可以仅包括与新绘制的图案对应的手势数据124。在其他实现中,搜索数据可以包括与多个新绘制的图案对应的手势数据。例如,当搜索系统140配置用于支持一次多个字符的识别时,是这种情况。
[0028]网络130可以包括电路交换数据网络,分组数据网络,或能够携带数据的任何其他网络(例如,基于互联网协议(IP)的网络或基于异步传输模式(ATM)的网络,包括有线的网络或无线的网络)。网络130可以配置用于处理web业务,诸如超文本传输协议(HTTP)业务和超文本标记语言(HTML)业务。网络130可以包括因特网、广域网(WAN)、局域网(LAN)、模拟或数字有线和无线网络(例如,IEEE802.11网络、公共交换电话网络(PSTN)、集成服务数字网络(ISDN)和数字订户线路(xDSL))、第三代(3G)移动电信网络或第四代(4G)移动电信网络、有线以太网网络、专属网络(诸如,内部网、无线电、电视、电缆、卫星,和/或任何其他用于携带数据的递送或隧道传输机制),或者这种网络的任何适当组合。
[0029]搜索系统140可以实现为安装在彼此通过网络(例如,网络130)耦合的一个或多个位置中的一个或多个网络设备上的计算机程序。搜索系统140可以包括一个或多个服务器,例如,云计算服务器、服务器农场或者另一服务器布置(包括配置用于执行由计算机可读介质存储的、用于执行各种服务器操作的指令的一个或多个处理器)。在一个示例实现中,搜索系统140可以是由服务器引擎提供者主管的服务器农场。搜索系统140包括连接至手势引擎I50和搜索引擎155的前端145。前端145可以是配置用于处理与服务器农场外实体进行的所有通信的网关服务器。前端145还可以配置用于协调手势引擎150和搜索引擎155的操作,以基于接收的手势数据确定搜索项,以及基于确定的搜索项返回搜索结果。[0030]手势引擎150可以实现在主控一个或多个软件过程的服务器上,这些软件过程配置用于处理手势数据147,以及标识与该手势数据匹配的字符152。字符152的标识可以通过在手势数据147和包括在可用于手势引擎150的字符数据库中一个或多个字符之间密切度匹配而发生。密切度匹配可以例如使用统计距离测量(例如,通过标识距手势数据147具有最小统计距离的字符)得以确定。手势数据147可以与连同搜索数据120—起传输的手势数据124类似。标识的字符152与之前识别的字符122—起,可以形成搜索项154。在某些实现中,手势引擎150可以配置用于一次识别多个字符152,从而匹配与用户绘制的单个图案或多个图案对应的手势数据。
[0031]搜索引擎155可以实现在主控一个或多个软件过程的服务器上,这些软件过程配置用于处理搜索项154,以及将匹配搜索项154或者包括搜索项154的一个或多个web页面标识为搜索结果157。搜索引擎通常包括索引引擎,其将因特网上的资源(例如,web页面、图像或新文章)编制索引;以及排序引擎,用于将已标识的资源进行排序。资源的索引和排序可以使用传统技术执行。在本示例中,搜索引擎155可以是web服务器,配置用于返回与搜索项对应的搜索结果157。搜索结果157可以包括去往web页面的链接,这些web页面包括搜索项或者基于某个特定度量而与搜索项匹配。备选地,搜索结果157可以包括去往图像或视频文件或音频文件的链接,或者其任何组合,这些链接基于某个特定度量而与搜索项关联。
[0032]搜索系统140向用户设备110返回的结果数据160可以包括信息单元,其适用于格式化以在网络130上传输,或者用于在用户设备110上显示给用户(例如,在用户设备110上的web浏览器中所显示的)。例如,搜索结果157可以包括在标记语言文档中(例如,超文本标记语言(HTML)文档或可扩展标记语言(XML)文档),其作为包括在因特网协议(IP)分组中的净荷、在网络130上进行发送。结果数据160可以包括识别的字符162和使用识别的字符162作为搜索项生成的搜索结果164。在备选实现中,结果数据160可以仅包括搜索结果164。识别的字符162可以包括与搜索数据120 —起发送的、之前识别的字符122,和与手势数据124对应的新识别的字符152。搜索结果164可以与搜索结果157相同。备选地,搜索结果164可以包括与搜索结果157类似的信息,但是可以与用于在网络130上向用户设备110进行传输进行不同的格式编排。
[0033]用户设备110例如使用搜索应用提供的接口(例如,经由web浏览器)呈现结果数据160,以及使用显示器112来呈现搜索结果164。识别的字符162作为查询框或“搜索框”中的搜索项172进行显示,同时搜索结果164在显示的搜索项172下面的结果域174中进行显示。
[0034]参考示例数据流,在状态(A)之前,在用户设备110上运行的搜索应用已经经由网络130从搜索系统140接收了识别的字符(例如,“B”)。识别的字符作为搜索项116显示在显示器112上。用户设备110也经由网络130从搜索系统140接收与识别的字符对应的搜索结果,这些结果显示为搜索结果页面118。搜索项116和关联的搜索结果页面118对应于用户已经在显示器112上绘制的、作为针对“banana pie recipe”的搜索一部分的图案。
[0035]在状态(a)期间,为了不止录入搜索项,用户通过在显示器112上绘制新的图案进行手势指示,同时搜索应用接口呈现在显示器112上。用户通过触摸(例如,用诸如手指、触笔、用户的手或手臂的部分,或另一适当输入机构的控制物体)显示器112、以及通过与显示器接触着移动输入机构描绘字符、而在显示器112上绘制图案。尽管图1描述了用户使用手指在显示器上描绘字符,但是可以使用其他适当输入机制。此外,术语“绘制手势”、“绘制轨迹”、“绘制图案”、“描绘手势”和“描绘字符”可以互换使用,其中每个都涉及用户在用户设备上录入信息的类似动作。
[0036]随着用户在显示器112上绘制图案,在显示器112上呈现该图案的表征119,同时与该图案关联的数据(例如,与用户所触摸显示器112的区位对应的显示器112像素坐标)由用户设备110作为手势数据进行捕获。
[0037]搜索应用确定用户已经完成了手势录入。例如,搜索应用可以在用户手指的接触从显示器112移除、以及在预定时段未再接触显示器112时、确定用户已完成了手势录入。预定时段可能非常短,例如,I秒,或者可以是若干秒。
[0038]在某些实现中,用户设备110可能不具有识别与显示器112上用户的图案对应的字符的处理能力。在状态(B)期间,搜索应用经由网络130发送与显示器112上的用户图案对应的手势数据124至搜索系统140以进行处理。在某些实现中,手势数据124可以采用像素地图的形式,而在备选实现中,手势数据124可以以不同于像素地图的某个其他形式进行传输。例如,搜索应用可以发送与该手势对应的显示器采样点的[x,y]坐标。
[0039]在某些实现中,像素地图是代表用户触摸的显示器112的像素坐标的阵列。阵列中的每个元素可以包括显示器112的单个像素的坐标。阵列中的元素可以基于用户在显示器112上绘制图案的顺序而布置在序列中,使得用户轨迹重构可以通过分析阵列元素所处序列中的元素而得以促进。像素地图的示例呈现在图5中。
[0040]除了手势数据124之外,搜索应用还向搜索系统140发送之前识别的字符122(在附图中,“B”)。搜索应用将之前识别的字符122与手势数据124 —起发送,以便辅助搜索系统140对搜索结果的标识,或者辅助识别与手势数据124对应的字符。
[0041]在某些实现中,搜索应用发送的手势数据124可以包括与之前识别的字符122对应的手势数据。这可以辅助搜索系统140利用之前识别的字符来修正错误(例如,针对较差识别的初始字符),后面的字符可以用来修正初始字符到底是什么。
[0042]之前识别的字符122和手势数据124 —起形成通过网络130向搜索系统140发送的搜索数据120。搜索数据120也可以包括辅助搜索系统140标识或解析之前识别的字符122和手势数据124的指令。这些指令还辅助搜索系统140通过处理手势数据120来识别新的字符。另外,这些指令可以辅助搜索系统140将已识别字符处理为搜索项,用于查找搜索结果。搜索数据120可以以适当的传输格式在网络130上发送,例如,作为包括在一个或多个IP分组中的数据。
[0043]搜索数据120在搜索系统140处由前端145接收。前端145处理搜索数据120以及抽取之前识别的字符122(例如“B”)和手势数据147。手势数据147可以与作为搜索数据120 —部分传输的手势数据124相同。备选地,手势数据147可以包括与手势数据124类似的信息,但是排除可能由搜索应用为了在网络130上传输而添加的某些格式除外。
[0044]基于对所抽取信息(包括可与搜索数据120 —起被包括的指令)进行检查,前端145确定手势数据147待由手势引擎150处理。因此,在状态(C)期间,前端向手势引擎150发送手势数据147。
[0045]手势引擎150处理手势数据147并识别与手势数据147匹配的一个或多个字符。手势引擎150可以例如通过选择具有最高手势识别置信度值的字符,来选择特定字符(在附图中,“a”),以传达回前端145。
[0046]在状态⑶期间,手势引擎150向前端145返回新识别的字符152(例如,“a”)。在某些实现中,为了保存计算资源,手势引擎150不能在本地存储器中存储手势数据147或新识别的字符152。相反,一旦将新识别的字符152传输至前端145,则可以丢弃手势数据147或新识别的字符152。
[0047]在某些实现中,前端145可以向手势引擎150发送之前识别的字符122(例如,“B”)和手势数据147。在某些实现中,之前识别的字符122可以向手势引擎150提供上下文信息,以促进与手势数据147对应的字符的识别。例如,手势引擎150可以使用之前识别的字符“B”来消除不经常在特定语言中出现的字符组合,例如,英语中的组合“Bx”。相反,手势引擎150可以使用之前识别的字符122来将字符搜索空间限制到在与之前识别的字符122配对时、形成有含义组合的字符。
[0048]前端145从手势引擎150接收新识别的字符152。前端可以例如基于可能已经与搜索数据120包括在一起的指令来确定之前识别的字符122和新识别的字符152将用于执行搜索。因此,前端145可以将之前识别的字符122和新识别的字符152组合在一起,以形成更新的搜索项154 (例如,“Ba”)。在状态(E)期间,前端145向搜索引擎155传输搜索项 154。
[0049]搜索引擎155使用搜索项154来执行搜索,以及在状态(F)期间,向前端145返回与搜索项154匹配的web页面对应的链接,作为搜索结果157。搜索结果157可以以引用搜索结果的搜索结果页、或搜索结果页的部分的形式进行发送。在某些实现中,为了保存计算资源,搜索引擎155可能不能在本地存储器中存储搜索项154或搜索结果157。相反,一旦向前端145传输了搜索结果157,则搜索项154或搜索结果157可被丢弃。因此,前端154可以通过针对每个搜索实例、向搜索引擎150提供包括之前识别的字符122和新识别的字符152的更新搜索项154,来促进搜索引擎155返回与搜索项154对应的准确搜索结果。
[0050]在从搜索引擎155接收了搜索结果157之后,前端145利用之前识别的字符122和新识别的字符152来填充字符字域162。前端145还将搜索结果157包括在搜索结果域164中。在状态(G)期间,前端145通过网络130向用户设备110发送结果数据160。
[0051]在某些实现中,前端145可能不在本地存储器中存储识别的字符、手势数据或搜索结果。相反,一旦向用户设备传输了识别的字符和搜索结果,识别的字符、手势数据或搜索结果可被丢弃。因此,为了促进前端145针对每个搜索实例向搜索引擎155提供正确搜索项,用户设备110上的搜索应用可以在向搜索系统140发送搜索数据120时、在搜索数据120中包括之前识别的字符122。
[0052]在状态⑶期间,用户设备110接收结果数据160,以及向在用户设备110上运行的搜索应用传达结果数据160。搜索应用处理结果数据160,以从字符字段162和搜索结果164抽取识别的字符。搜索应用在显示器112上呈现识别的字符,以作为搜索应用接口搜索框中的搜索项172。
[0053]搜索应用还在例如所显示搜索项172下面的结果域174中呈现搜索结果164。如状态(H)所示,搜索项172是“Ba”,则结果域174包括带有短语“Bank of Example”,“BananaPie Recipe”和“Bank of Alaska”(每个都与搜索项“Ba”匹配)的搜索结果。由于搜索结果包括去往与用户所需信息(例如,“Banana Pie Recipe”)对应的web页面的链接,用户可能例如通过轻拍显示器112上与“Banana Pie Recipe”对应的链接正上方的部分,选择查看该对应的web页面,而该web页面随后可能在显示器112上呈现与所选链接相关联的web页面。
[0054]另一方面,用户可能想要继续搜索而因此输入了与搜索项对应的更多字符(例如,通过以上文描述的方式在显示器112上描绘字符,或者通过某个其他适当方法)。对于由此录入的每个字符,上述过程可以重复,包括:通过网络130向搜索系统140发送手势数据和之前识别的字符,由手势引擎150识别与手势数据对应的字符,由搜索引擎155确定与搜索项对应的搜索结果,以及通过网络130向用户设备110返回识别的字符和搜索结果。因此,在查询框或搜索框中呈现的搜索项172和结果域174中的对应搜索结果可以随着用户录入更多字符而进行更新,由此提供了增强的搜索体验。例如当执行的搜索是即时搜索时,可以是这样。
[0055]总之,用户设备110上的搜索应用向搜索系统140传输之前识别的字符122和手势数据124,以便促进搜索引擎155对搜索结果的确定。前端145向用户设备110发送识别的字符162和最近搜索结果164,使得识别的字符作为搜索项172呈现给用户,以及搜索结果呈现在结果域174中。因此,系统100向用户提供该用户所绘制图案的解释,以及还可以提供所显示搜索结果的上下文。
[0056]图2是用于基于在用户设备显示器上绘制的图案执行搜索的过程200示例的流程图。例如,该过程200可以用来执行即时搜索,其中搜索结果在用户录入与查询项对应的一个或多个字符时呈现在用户设备显示器上,以及搜索结果随着用户录入了针对查询项的附加字符而进行更新。过程200可以由安装在一个或多个计算机上的一个或多个计算机程序实现。下文描述了由系统100的部件执行的过程200。然而,该过程200可以由其他系统或系统配置执行。
[0057]该过程200在系统接收信息以执行搜索时开始(202)。例如,用户可以通过在用户设备110上启动搜索应用以及在显示器112上描绘字符而发起搜索。
[0058]该系统检测用户的手势(206)。例如,显示器112可以是触敏显示器,而用户设备110可以配置用于当用户在显示器112上绘制图案时、检测用户手指的触摸。随着用户在显示器112上绘制图案,用户设备110可以捕获与该图案相关联的数据,例如与用户触摸的显示器112的部分对应的显示器112像素的坐标或屏幕区域,以作为手势数据。用户设备110可以存储捕获的手势数据。在某些实现中,手势数据可以用像素地图的形式存储。然而,在某些备选实现中,手势数据可以以不同于像素地图的某个其他形式存储。
[0059]该系统传输手势数据以进行处理(206)。在某些实现中,除了手势数据之外,该系统还传输之前识别的字符,而在某些其他实现中,仅传输手势数据。例如,在搜索系统于本地存储器中针对给定搜索会话高速缓存了之前识别字符的某些实现中,可以是这种情况。然而,在某些其他实现中,搜索系统可能不会在本地存储器中存储之前识别的字符,以及由此用户设备上的搜索应用将之前识别的字符与手势数据一起发送,以便辅助搜索系统标识搜索结果,如前所述。
[0060]此外,之前识别的字符可以辅助搜索系统识别与手势数据对应的字符,如之前所述。例如,用户设备110上的搜索应用可以经由网络向搜索系统传输手势数据。此外,搜索应用也可以向搜索系统发送之前识别的字符。
[0061]该系统接收传输的任何之前识别的字符和手势数据(208)。例如,该搜索系统可以在前端接收由用户设备上的搜索应用传输的搜索数据。搜索数据可以包括之前识别的字符和手势数据。在某些实现中,搜索系统可以仅接收手势数据。
[0062]该系统基于接收的数据识别字符(210)。例如,搜索系统的前端处理搜索数据,并且抽取与手势数据124类似的手势数据和之前识别的字符。前端向手势引擎150发送手势数据,该手势引擎150处理手势数据并且确定与该手势数据匹配的可识别字符。此后,手势引擎150向前端145返回新识别的字符152。
[0063]该系统基于识别的字符制定搜索(212)。例如,在从手势引擎150接收了新识别的字符152之后,前端145可以确定之前识别的字符122和新识别的字符152用于执行搜索。因此,前端145可以通过组合之前识别的字符122和新识别的字符152来形成新的搜索项154,以及向搜索引擎155传输搜索项154。
[0064]该系统生成搜索结果(214)。例如,在从前端145接收了搜索项154之后,搜索引擎155可以使用搜索项154来执行搜索。搜索操作的结果可以作为搜索结果157返回至前端145。搜索引擎155可以以包括去往与搜索项154匹配的web页面的链接的web页面形式来发送搜索结果157。
[0065]该系统收集与所接收手势数据对应的识别字符和搜索结果。随后,该系统传输搜索结果和识别的字符(216)。在某些实现中,该系统传输之前识别的字符和新识别的字符,而在某些实现中,该系统仅传输新识别的字符。例如,搜索系统140的前端145生成包括字符域162和搜索结果域164的结果数据160。前端145将之前识别的字符122和新识别的字符152放入字符域162,以及将搜索结果157包括在搜索结果域164中。前端145继而通过网络130向用户设备110发送结果数据160。
[0066]该系统接收搜索结果和识别的字符(218)。例如,用户设备110从搜索系统140接收结果数据160,以及将其转发至运行在用户设备110上的搜索应用。
[0067]在接收了搜索结果和识别的字符之后,该系统显示搜索结果(220)。例如,运行在用户设备110上的搜索应用处理结果数据160,以抽取识别的字符162和搜索结果164。该搜索应用在显示器112上、于搜索应用接口的搜索框中呈现识别的字符162,作为更新的搜索项。该搜索应用还在搜索应用接口的结果域174中(通常位于显示的搜索项172之下)呈现搜索结果164。
[0068]在显示了搜索结果之后,该系统检查是否检测到另一手势(222)。如果该系统确定检测到另一手势,则该系统重复过程200,从检测手势(204)到基于与新检测的手势对应的更新搜索来显示搜索结果(220)。然而,如果没检测到手势,则该系统终止过程200 (224)。
[0069]用户可以通过在显示器112上描绘字符或通过某个其他适当方法来输入针对搜索项的更多字符。对于由此录入的每个字符,运行在用户设备110上的搜索应用可以通过网络130向搜索系统140发送之前识别的字符和手势数据;系统140可以使用手势引擎150来识别与手势数据对应的字符,使用前端145来基于之前识别的字符和新识别的字符制定搜索项,使用搜索引擎155来确定与搜索项对应的搜索结果,以及通过网络130向用户设备110返回识别的字符和搜索结果,以呈现给用户。
[0070]图3示出了用于检测在用户设备显示器上绘制的手势和基于检测的手势呈现搜索结果的系统300的示例。该系统300例如可以利用系统100中的用户设备110实现。系统300例如可以用于执行即时搜索,其中在用户录入与查询项对应的一个或多个字符时、会在用户设备110的显示器上呈现搜索结果,其中搜索结果随着用户录入针对查询项的附加字符而更新。
[0071]系统300包括搜索应用302,其耦合至触敏显示器304,网络接口 306和高速缓存308。网络接口 308还耦合至天线310。搜索应用302具有若干部件,包括将搜索应用耦合至触敏显示器304的显示器接口 312,触摸消歧器314,像素地图生成器316,将搜索应用302耦合至高速缓存308的高速缓存接口 318,查询制定器320,将搜索应用302耦合至网络接口的识别字符解析器322,和用户接口生成器324。高速缓存308包括识别的字符326和触摸的像素328。
[0072]在某些实现中,搜索应用302可以是驻留在计算设备(例如,用户设备110)上本地存储器中的软件应用(例如,可执行软件代码)。在某些其他实现中,该搜索应用302可以是硬件应用,例如,其中编程有搜索功能性的现场可编程门阵列(FPGA)或微芯片,其与计算设备(例如,用户设备110)中的其他硬件耦合在一起。
[0073]搜索应用302可以配置用于促进与用户在计算设备显示器上绘制的图案对应的字符识别,以及使用基于所识别字符的搜索项来返回搜索结果。搜索应用302可以由用户例如通过在计算设备主屏上所显示图标上轻拍来启动该计算设备。备选地,搜索应用302可以或多或少地持续运行在计算设备上。
[0074]搜索应用302可以配置用于通过显示在计算设备的显示器(例如,用户设备110的显示器112)上的接口来向用户呈现搜索项和关联搜索结果。在某些实现中,搜索应用接口可以由运行在用户设备上的web浏览器提供。在某些其他实现中,接口可以是除了专供搜索应用302使用的web浏览器之外的接口。
[0075]搜索应用302可以配置用于与搜索系统(例如,搜索系统140)通信。搜索应用302可以向搜索系统转发与在计算设备显示器上绘制的图案对应的手势数据。作为响应,搜索应用302可以从远程搜索系统接收回搜索结果和识别的字符。搜索应用302可以经由接口在计算设备的显示器上呈现与识别的字符对应的搜索项和关联搜索结果。
[0076]系统300具有配置用于接受用户通过触摸显示器304录入信息的触敏显示器304(例如,触屏)。触敏显示器304还配置用于向用户显示各种信息,例如与用户在显示器304的表面上绘制的图案对应的搜索项和关联搜索结果。触敏显示器304例如可以是用户设备110的显示器112。在某些实现中,触敏显示器304也可以是临近性敏感显示器,即,显示器304可以配置用于检测用户的物理临近性,以及因此调节显示器的一个或多个配置参数,以促进用户的舒适阅览。
[0077]系统300具有网络接口 306,其配置用于支持系统300经由一个或多个网络(例如,网络130)与远程系统和设备通信。网络接口可以是一个硬件,例如以太端口或IEEE802.11芯片,或者一个软件,例如,软件无线电,或者硬件和软件的任何适当组合。由搜索应用302通过与搜索系统的通信而传输或接收的信息由作为系统300的入口和/或出口的点的网络接口 306处理。
[0078]系统300具有天线310,其可以是配置用于传输和接收与远程系统和设备交换的信息(作为电磁波,例如,射频(RF)电波或红外(IR)电波)的一个硬件。天线310从耦合至天线306的网络接口 306接收待传输的数据,以及将该数据作为电磁波进行广播。天线310还从远程系统和设备接收作为电磁波的数据,以及向网络接口 306转发接收的数据以进行处理。系统300可以具有一个天线310或多个天线310。
[0079]系统300具有高速缓存308,其可以实现在本地存储器中以存储信息。例如,高速缓存308可以实现在用户设备110中提供的随机访问存储器(RAM)中。高速缓存308可以配置用于快速存储和取回由搜索应用302使用的数据。搜索应用302可以将识别的字符326存储在高速缓存308中。识别的字符326可以包括基于在触敏显示器304的表面上所绘制图案而识别的字符。例如,识别的字符326可以包括与搜索项116对应的之前识别的字符,或者与搜索项172对应的之前识别的字符和新识别的字符的组合。
[0080]搜索应用302也可以将触摸的像素328存储在高速缓存308中。触摸的像素308包括关于触敏显示器304与用户所触摸显示器304部分对应的像素坐标或屏幕区位。例如,触摸的像素308可以包括在用户于显示器112上绘制图案时、与该用户触摸的显示器112的部分对应的显示器112像素坐标。触摸的像素328也可以包括例如与用户绘制的图案相关联的、由用户设备110向远程系统140传输的手势数据(例如,像素地图)。此外,触摸的像素328可以包括与之前录入的手势相关联的手势数据,与之对应的字符可能已经被识别并且存储在了识别的字符326中。系统300可以使用与触摸的像素328关联的信息,以在用户在显示器的表面上绘制图案(例如,呈现在显示器112上的轨迹119)时、在触敏显示器304上提供可见轨迹表征。系统300还可以使用与触摸的像素328关联的信息,生成与用户在触敏显示器304上绘制的图案对应的手势数据(例如,像素地图)。
[0081]系统300具有将搜索应用302与触敏显示器304耦合的显示器接口 312。在某些实现中,显示器接口 312可以提供为搜索应用302的模块,而在某些其他实现中,显示器接口 312可以提供为在运行搜索应用302的计算设备(例如,用户设备110)上的通用应用,其由不同应用共享(包括搜索应用302)。显示器接口 312可以是图形用户接口(⑶I),或者可以是基于文本的接口或其任何适当组合。在某些实现中,显示器接口 312可以由包括在系统300中的web浏览器提供。在某些其他实现中,显示器接口 312可以是除了专供搜索应用302使用的web浏览器之外的接口。显示器接口 312可以配置用于在触敏显示器304上呈现基于用户在触敏显示器304上所绘制图案的搜索项和关联搜索结果。
[0082]系统300包括触摸消歧器314。在某些实现中,触摸消岐器314可以提供为搜索应用302的模块,而在其他实现中,触摸消岐器314可以提供为运行搜索应用302的计算设备上(例如,用户设备110)的通用应用,其由不同应用(包括搜索应用302)共享。触摸消岐器314配置用于在用户在触敏显示器304的表面上执行的各种触摸动作之间进行区分。例如,触摸消岐器314可以配置用于将以下两个动作进行区分:涉及用户临时从与触敏显示器304的接触移除其手指以点画“i”的动作,和涉及用户从与触敏显示器304的接触移除其手指以指示图案结束的不同动作。
[0083]触摸消岐器314也可以负责转译系统300提供的命令。这种命令可以来自于触敏显示器304 (例如,与用户设备110关联的显示器112),或者来自于耦合至系统300的其他这种源(包括专用按钮或软按钮(例如,其功能可以随时间改变,以及其功能可以显示在触敏显示器304上与特定按钮临近的区域或区位上))。触摸消岐器314可以将在触敏显示器304上的输入运动解释为常见格式,以及将这些解释的运动(例如,短按压,长按压,轻打和直线拖拽)传递至搜索应用302。此外,触摸消岐器314可以确定例如在显示器304的哪个区域或区位接收命令,以及由此确定这些命令针对的、在显示器上示出的应用。触摸消岐器314还可以向事件管理器(未示出)报告这种输入,该事件管理器继而向适当的模块或应用报告这些输入。
[0084]系统300包括像素地图生成器316。在某些实现中,像素地图生成器316可以提供为搜索应用302的模块,而在某些其他实现中,像素地图生成器316可以提供为运行搜索应用302的计算设备(例如,用户设备110)上的通用应用,其在不同应用(包括搜索应用302)间共享。像素地图生成器316配置用于基于用户在触敏显示器304的表面上绘制的图案而生成像素地图。例如,像素地图生成器可以与高速缓存308通信,以取回触摸的像素328,以及使用与触摸的像素328相关联的信息来创建像素地图。像素地图可以由搜索应用302作为与用户在触敏显示器304的表面上所绘制图案对应的手势数据(例如,手势数据124)发送至搜索系统。
[0085]系统300包括高速缓存接口 318。在某些实现中,高速缓存接口 318可以提供为搜索应用302的模块,而在某些其他实现中,高速缓存接口 318可以提供为运行搜索应用302的计算设备(例如,用户设备110)上的通用应用,其在不同应用(包括搜索应用302)中共享。高速缓存接口 318配置用于支持搜索应用302 (包括搜索应用302的不同部件)与高速缓存308通信。高速缓存接口 318促进识别的字符326和触摸的像素328由系统300的各种部件存储在高速缓存308中。高速缓存接口 318也促进高速缓存308中识别的字符326和触摸的像素328由系统300的各种部件(例如,由像素地图生成器316和查询制定器320)取回。
[0086]在某些实现中,系统300可以包括提供为搜索应用302的部件的查询制定器320。例如当系统300有处理能力标识与用户在触敏显示器304上绘制的图案对应的字符时,可以是这种情况。在这种实现中,查询制定器320可以配置用于识别与用户在触敏显示器304上绘制的图案对应的新字符。查询制定器320可以与高速缓存308通信,以存储新识别的字符。查询制定器320还可以从高速缓存308获取之前识别的字符326,以及将其与新识别的字符进行组合,从而制定搜索项。查询制定器320耦合至网络接口 306,并且其可以将制定的搜索项通过网络接口 306发送至搜索系统(例如,搜索系统140)。
[0087]在某些其他实现中,系统300可能没有处理能力标识与用户在触敏显示器304上绘制的图案对应的字符。在这种实现中,可以不存在查询制定器320。
[0088]系统300包括提供为搜索应用302的部件的识别字符解析器322。识别字符解析器322耦合至网络接口 306,并且通过网络接口 306从搜索系统接收信息。例如,识别字符解析器322可以从搜索系统140接收结果数据160。识别字符解析器322配置用于解析接收的信息(例如,结果数据160)并且抽取识别的字符(例如,识别的字符162)和搜索结果(例如,搜索结果164)。识别字符解析器322向用户接口生成器324发送抽取的字符和搜索结果。此外,识别字符解析器322耦合至高速缓存接口 318,以及其向高速缓存308发送识别的字符以作为识别的字符326进行存储。
[0089]系统300包括提供为搜索应用302部件的用户接口生成器324。用户接口生成器324从识别的字符解析器322接收识别的字符和搜索结果,以及编排其格式、以便使用显示器接口 312呈现在触敏显示器304上。例如,用户接口生成器324可以作为用户设备110上搜索应用的部分被包括进来。在此情况中,用户接口生成器324可以编排识别的字符162的格式,以作为显示在显示器112上搜索应用接口的查询框或搜索框中的搜索项172进行呈现。用户接口生成器324也可以在包括于所显示搜索应用接口中的结果域174(通常位于显示的搜索项172之下)中将搜索结果164呈现为去往web页面的链接。
[0090]图4A至图4C不出了不例性用户设备400的一系列截屏,其呈现与用户设备400显示器上由用户绘制的图案对应的搜索项和关联搜索结果。用户设备400可以是例如用户设备110,或者其可以是包括触敏显示器的某个其他适当设备。
[0091]图4A示出了在其上呈现搜索应用接口 404的用户设备400的显示器402。搜索应用接口 404包括搜索框406和搜索结果域408。用户在显示器402的表面上绘制的图案由轨迹410指示。
[0092]显示器402可以是例如与用户设备110相关联的触敏显示器112。图4A示出了当例如未在发起搜索时、生成搜索结果时的显示器402。这由空搜索框406和空搜索结果域408指示。搜索应用接口 404可以当用户例如通过轻拍显示在用户设备400主屏上的图标、而在用户设备400上发起搜索应用时呈现在显示器402上。备选地,搜索应用可以连续地运行在用户设备400上,使得接口 404总是呈现在显示器402上。
[0093]用户可以通过在显示器402上绘制图案来录入搜索项。用户设备400可以配置用于提供显示器402上图案的轨迹。例如,用户可能已经在显示器402上绘制了图案“b”,以及因此在显示器402的前景中显示指示图案“b”的轨迹410,而搜索应用接口 404在背景中可见。可以基于用户绘制的图案来识别一个或多个字符,以及由搜索系统140使用例如一个或多个识别字符作为查询项而返回的搜索结果。图4B示出了当在已识别出与参考图4A描述的图案对应的字符时的显示器402。例如,识别的字符可以是“b”,其用作搜索项、以生成向用户设备400返回的搜索结果。识别的字符作为搜索框406中的搜索项412显示在搜索应用接口 404上。搜索结果414显示在搜索应用接口 404的搜索结果域408中。例如,如图4B所示,搜索项412是“b”,以及对应的搜索结果414包括去往包含短语“Bank ofExample”, “Bozo The Clown” 和“Bill the Builder” 的 web 页面的链接,每个短语都与搜索项“b”匹配。
[0094]尽管显示了搜索项412和关联搜索结果414,但是用户例如可以通过在显示器402上绘制新图案或者利用某个其他适当方法来输入与搜索项对应的附加字符。用户设备400可以配置用于提供显示器402上新图案的表征,其叠加在搜索应用接口 404上。例如,如图4B所示,用户可以在显示器402上绘制图案“a”,以及因此指示图案“a”的表征416显示在显示器402的前景中,以及搜索接口 404在背景中可见。表征416可能遮挡搜索结果414的某些部分,例如带有短语“Bozo The Clown”的链接。
[0095]可以基于新的用户绘制图案来识别一个或多个字符,以及将搜索项更新为包括之前识别的字符和新识别的字符。因此,基于更新的搜索项生成新的搜索结果,并向用户设备400返回该搜索结果。
[0096]图4C示出了在已参考图4B的描述识别出与图案对应的新字符时的显示器402,以及已经更新搜索项以包括新字符,以及基于更新搜索项的新搜索结果返回至用户设备400。之前识别的字符和新识别的字符一起作为搜索框406中的搜索项而显示在搜索应用接口404上。新搜索结果显示在搜索应用接口 404的搜索结果域408中。例如,如图4C所示,更新的搜索项418是“ba”,以及对应的搜索结果420包括去往包括短语“Bank of Example",“Baby”和“Banana Recipe”的web页面的链接,每个短语与搜索项“ba”相匹配。去往包括短语“Bozo The Clown”和“Bill The Builder”(其包括在搜索结果414中)的web页面的链接未包括在搜索结果420中,因为它们与更新的搜索项“ba”不匹配。
[0097]如果搜索结果420包括匹配用户期望搜索的搜索结果,则该用户可以选择例如通过轻拍显示器402上与匹配结果对应的链接正上方的部分来访问对应的web页面,该web页面随后可能在显示器402上呈现与所选链接关联的web页面。另一方面,该用户可以例如通过以上文所述方式描绘显示器402表面上的字符或以某个其他适当方法,来继续输入与搜索项对应的更多字符。例如,如图4C所示,用户可以在显示器402上绘制新图案“n”,以及因此指示图案“η”的轨迹422可以显示在显示器402的前景中,而搜索项418和搜索结果420在背景中可见。该系统可以随后识别出为“η”的新字符,将搜索项更新为“ban”,以及生成与更新的搜索项匹配的搜索结果。
[0098]图5示出了可以用来基于在用户设备显示器上绘制的图案来生成像素地图的示例性系统500。该系统500可以由安装在一个或多个计算机上的一个或多个计算机程序实现。下文将系统500描述为由搜索应用302实现。然而,系统500可以由其他应用、系统或系统配置实现。
[0099]系统500包括显示器502,其包括在用户设备中或者与之耦合,用户可以在其上绘制由504代表的图案。显示器502可以映射至带有行506和列508的像素阵列。该系统500可以生成与504代表的图案对应的像素地图510。
[0100]显示器502可以是配置用于接受用户通过触摸显示器502而录入的信息的触敏显示器(例如,触屏)。触敏显示器502可以是例如包括在系统300中的显示器304。触敏显示器502可以配置用于向用户显示由用户通过触摸该显示器502而录入的信息的轨迹,例如,由用户在显示器502的表面上绘制的图案轨迹。例如,用户可以利用手指或某个其他适当输入方法在显示器502的表面上绘制图案“g”。该系统500将处理用户的图案,以及在显示器502上呈现图案“g”的轨迹504。
[0101]系统500存储与该用户触摸的显示器502上的点或区位对应的像素。这例如可以由触摸消岐器314或像素地图生成器316或其任何适当组合来执行。系统500基于行506和列508而将显示器502映射到像素阵列。阵列中的每个像素由其对应的行和列标识,例如,如图5所示的元素Al和元素B2代表两个不同的像素。生成像素的阵列,使得显示器502的每个区位由阵列的元素表征。
[0102]当用户在显示器502上绘制图案时,系统500检测由用户触摸的显示器502的每个区位,并且识别代表所检测区位的像素。例如,随着用户在显示器502上绘制由轨迹504代表的图案,用户可以按照图5中的编号(1)-(22)指示的序列来触摸显示器的区位。该系统500将顺序检测触摸的区位,以及标识与所触摸区位对应的像素。系统500将标识的像素作为阵列的元素进行存储,例如,系统500分别存储与关联于触摸区位(1)-(22)的像素对应的坐标 D2,C2, B2, B3, B4, C4, D4, D3, D2, D4, D5, D6, D7, C7, B7, B6, B5, C5, D5, D4, E4。上述操作可以由触摸消岐器314执行,其在高速缓存308中将像素坐标D2,C2,B2, B3, B4,C4,D4,D3,D2,D4,D5,D6,D7,C7,B7, B6, B5, C5,D5,D4,E4 作为触摸的像素 328 进行存储。
[0103]当系统500基于确定用户未触摸显示器502预定时间段、而确定用户已经完成了在显示器502上的字符描绘时,系统500取回存储的像素并生成像素地图。例如,像素地图生成器316从高速缓存308取回触摸的像素328,并且生成与轨迹504对应的像素地图510,为{D2,C2, B2, B3, B4, C4, D4, D3, D2, D4, D5, D6, D7, C7, B7, B6, B5, C5, D5, D4, E4}。随后,系统500可以向搜索系统(例如,搜索系统140)发送像素地图510,用于识别与像素地图对应的字符,以及基于识别的字符来生成搜索结果。
[0104]图6A至图6F示出了可以用来执行搜索的系统600示例,其中,图像作为基于在用户设备显示器602上所绘制图案的搜索结果被返回。显示器602例如可以是用户设备110的显示器,其向用户呈现了在显示器602上示出搜索项和关联搜索结果的搜索应用接口。如图6A至图6F所示,用户可以在显示器602上绘制图案,以录入搜索项。系统600识别与用户录入的图案对应的字符,以及可以建议包括所识别字符的搜索项604。用户可以选择建议的搜索项之一,如果其与用户的意定搜索查询匹配的话,或者用户可以忽略所建议的搜索项,并且继续通过在显示器上绘制图案来录入针对搜索项的字符。搜索应用可以向用户提供通过选择图标608来禁用所建议搜索项的选择。
[0105]利用基于用户绘制图案被识别为搜索项的字符,系统600返回图像606的缩略图,作为搜索结果。随着用户绘制更多的图案,系统600识别更多的字符,更新所建议的搜索项以包括新识别的字符,以及返回包括与更新的搜索项匹配的图像610的缩略图的更新搜索结果。图像和搜索项的缩略图由显示器602上的搜索应用接口呈现。
[0106]图7A至图7H示出了可以用来执行搜索的系统700示例,其中基于在用户设备显示器702上绘制的图案来更新搜索项和搜索结果。显示器702例如可以是用户设备110的显示器,其向用户呈现在显示器602上示出搜索项和关联搜索结果的搜索应用接口。如图7A至图7H所示,用户可以在显示器702上绘制图案以录入搜索项。系统700识别与用户录入图案对应的字符,以及可以建议包括所识别字符的搜索项704。用户可以选择建议的搜索项之一,如果其与用户的意定搜索查询匹配的话,或者用户可以忽略所建议的搜索项,并且继续通过在显示器上绘制图案来录入针对搜索项的字符。
[0107]使用基于用户绘制的图案识别为搜索项的字符,系统700返回搜索结果。随着用户绘制更多的图案,系统700识别更多的字符,更新所建议的搜索项以包括新识别的字符,以及返回更新搜索结果。如图7H所示,搜索结果可以包括与搜索项匹配的图像708的缩略图,和去往与搜索项匹配的web页面的基于文字的链接706。基于文字的链接和图像的缩略图一起由显示器702上的搜索应用接口呈现。
[0108]图8A至图8D示出了系统800的示例,其中可以通过选择搜索应用接口上的图标来启用或禁用用于执行搜索的用户设备的显示器802上的手势。显示器802例如可以是用户设备110的显示器,其向用户呈现在显示器802上示出搜索项和关联搜索结果的搜索应用接口。如图8A和图8C所示,搜索应用可以提供搜索框806中的图标804,以指示通过手势的搜索被启用。搜索应用可以向用户提供选择808以禁用基于手势的搜索。如果用户选择禁用基于手势的搜索,则图标804从搜索框806消失,如图8D所示。然而,搜索应用可以在接口上提供指令812,其指示如何通过修改搜索应用的设置来重新启用通过手势的搜索。
[0109]在某些实现中,搜索应用也可以提供关于如何通过手势执行搜索的示范810,如图8B所示。该示范810可以辅助用户理解如何使用手势(例如,通过在显示器802上绘制图案而录入与搜索项对应的字符)执行搜索。[0110]此处描述的系统和技术的各种实现可以以数字电路、集成电路、专用设计ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合实现。这些各种实现可以包括在一个或多个计算机程序中的实现,这些程序可在包括至少一个可编程处理器(其可以是专用的或通用的,耦合以与储存系统、至少一个输入设备和至少一个输出设备接收数据和指令,以及传输数据和指令)的可编程系统上执行和/或解释。
[0111]这些计算机程序(也公知为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以实现在高级过程和/或面向对象的编程语言,和/或汇编/机器语言中。如此处使用的,术语“机器可读介质”或“计算机可读介质”涉及任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),其用于提供机器指令和/或数据给可编程处理器,包括接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”涉及用来向可编程处理器提供机器指令和/或数据的任何信号。
[0112]为了提供与用户的交互,此处描述的系统和技术可以实现在计算机上,其具有用于向用户显示信息的显示器设备(例如,CRT (阴极射线管)或LCD (液晶显示器)监视器),和用户可以利用其向计算机提供输入的指点设备(例如,鼠标或轨迹球)。其他种设备也可以用来与用户提供交互;例如,向用户提供的反馈可以是任何传感反馈的形式(例如,可视反馈、可听反馈或可追踪反馈);以及来自用户的输入可以以任何形式(例如,声的、语音的或可追踪的输入)接收。
[0113]此处描述的系统和技术可以实现在计算系统中,其包括后端部件(例如,数据服务器),或包括中间件部件(例如,应用服务器),或包括前端部件(例如,具有图形用户接口或web浏览器的客户端设备,用户可以通过其与此处描述的系统和技术的实现进行交互),或者这种后端部件、中间件或前端部件的任何组合。系统的部件可以通过数字数据通信的任何形式或介质(例如,通信网络)互联。通信网络的示例包括本地网络(“LAN”)、广域网(“WAN”)和因特网。
[0114]计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,以及通常通过通信网络交互。客户端和服务器的关系借助于运行在各个计算机上且彼此具有客户端服务器关系的计算机程序实现。
[0115]上述示例性实现使用来自英语字母表的字符。在其他实现中,字符可以是来自非英语字母表或非字母符号的字符。
[0116]已经描述了多个实施方式。然而,将理解,可以在不脱离本发明精神和范围的情况下,做出各种修改。例如,已经参考消息收发和映射应用描述了本文档的大部分,但是也可以实现图形应用的其他形式,诸如交互式程序引导、web页面导航和缩放,以及其他这种应用。
[0117]此外,附图中描述的逻辑流不需要按照所示特定顺序、或序列顺序,来实现期望的结果。此外,可以从描述的流程提供其他步骤,或可以消除步骤,以及可以从所描述系统移除其他部件或向其添加其他部件。因此,其他实施方式也落入下述权利要求的范围内。
【权利要求】
1.一种计算机实现的方法,包括: 由搜索系统接收:(i)与已经在客户端设备显示器上绘制的一个或多个字符对应的像素地图,和(ii)标识之前由所述搜索系统使用一个或多个其他像素地图识别的一个或多个其他字符的数据; 由所述搜索系统基于所述接收的像素地图和所述一个或多个其他字符来识别与所述像素地图对应的所述一个或多个字符; 由所述搜索系统制定包括所述一个或多个字符和所述一个或多个其他字符作为查询项的搜索;以及 由所述搜索系统向所述客户端设备传达:(i)针对所述搜索的一个或多个搜索结果,(ii)标识与所述接收的像素地图对应的所述一个或多个字符的数据,以及(iii)标识之前由所述搜索系统使用所述一个或多个其他像素地图识别的所述一个或多个其他字符的数据。
2.如权利要求1的方法,其中所述像素地图在所述客户端设备的用户发起所述搜索之前被接收。
3.如权利要求1的方法,其中所述像素地图(i)标识所述一个或多个字符在其上绘制的所述显示器上的点,以及(ii)指定所述显示器上的点被绘制的序列。
4.如权利要求1的方法,其中所述搜索包括即时搜索。
5.如权利要求1的方法,其中所述搜索包括图像搜索。
6.一种系统,包括: 一个或多个计算机和一个或多个储存设备,所述一个或多个储存设备存储当由所述一个或多个计算机执行时、可操作以引起所述一个或多个计算机执行下述操作的指令,包括: 由搜索系统接收:(i)与已经在客户端设备显示器上绘制的一个或多个字符对应的像素地图,和(ii)标识之前由所述搜索系统使用一个或多个其他像素地图识别的一个或多个其他字符的数据; 由所述搜索系统基于所述接收的像素地图和所述一个或多个其他字符来识别与所述像素地图对应的所述一个或多个字符; 由所述搜索系统制定包括所述一个或多个字符和所述一个或多个其他字符作为查询项的搜索;以及 由所述搜索系统向所述客户端设备传达:(i)针对所述搜索的一个或多个搜索结果,(ii)标识与所述接收的像素地图对应的所述一个或多个字符的数据,以及(iii)标识之前由所述搜索系统使用所述一个或多个其他像素地图识别的所述一个或多个其他字符的数据。
7.如权利要求6的系统,其中所述像素地图在所述客户端设备的用户发起所述搜索之前被接收。
8.如权利要求6的系统,其中所述像素地图(i)标识所述一个或多个字符在其上绘制的所述显示器上的点,以及(ii)指定所述显示器上的点被绘制的序列。
9.如权利要求6的系统,其中所述搜索包括即时搜索。
10.如权利要求6的系统,其中所述搜索包括图像搜索。
11.一种非瞬态计算机可读介质,存储包括可由一个或多个计算机执行的指令的软件,当执行时,会引起所述一个或多个计算机执行操作,包括: 由搜索系统接收:(i)与已经在客户端设备显示器上绘制的一个或多个字符对应的像素地图,和(ii)标识之前由所述搜索系统使用一个或多个其他像素地图识别的一个或多个其他字符的数据; 由所述搜索系统基于所述接收的像素地图和所述一个或多个其他字符来识别与所述像素地图对应的所述一个或多个字符; 由所述搜索系统制定包括所述一个或多个字符和所述一个或多个其他字符作为查询项的搜索;以及 由所述搜索系统向所述客户端设备传达:(i)针对所述搜索的一个或多个搜索结果,(ii)标识与所述接收的像素地图对应的所述一个或多个字符的数据,以及(iii)标识之前由所述搜索系统使用所述一个或多个其他像素地图识别的所述一个或多个其他字符的数据。
12.如权利要求11的计算机可读介质,其中所述像素地图在所述客户端设备的用户发起所述搜索之前被接收。
13.如权利要求11的计算机可读介质,其中所述像素地图(i)标识所述一个或多个字符在其上绘制的所述显示器上的点,以及(ii)指定所述显示器上的点被绘制的序列。
14.如权利要求11的计算机可读介质,其中所述搜索包括即时搜索。
15.如权利要求11的计算机可读介质,其中所述搜索包括图像搜索。
【文档编号】G06K9/00GK103959287SQ201280052322
【公开日】2014年7月30日 申请日期:2012年10月22日 优先权日:2011年10月25日
【发明者】栗阳, L·C-F·汀, 植山类, L·常, 安永勋 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1