CN103797481B - 基于手势的搜索 - Google Patents

基于手势的搜索 Download PDF

Info

Publication number
CN103797481B
CN103797481B CN201180073610.9A CN201180073610A CN103797481B CN 103797481 B CN103797481 B CN 103797481B CN 201180073610 A CN201180073610 A CN 201180073610A CN 103797481 B CN103797481 B CN 103797481B
Authority
CN
China
Prior art keywords
search
gesture
content
selector
display area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201180073610.9A
Other languages
English (en)
Other versions
CN103797481A (zh
Inventor
X.D.黃
H.张
S.Y.沈
Y.睿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN103797481A publication Critical patent/CN103797481A/zh
Application granted granted Critical
Publication of CN103797481B publication Critical patent/CN103797481B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/041012.5D-digitiser, i.e. digitiser detecting the X/Y position of the input means, finger or stylus, also when it does not touch, but is proximate to the digitiser's interaction surface and also measures the distance of the input means within a short range in the Z direction, possibly with a separate measurement setup

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

用于启动诸如搜索框的呈现或搜索的启动之类的搜索功能的计算机可读媒体、计算机系统以及计算设备被提供。在一个实施例中,所述方法包括检测选择器从显示区域内到所述显示区域的边缘的移动。这样的选择器能够被耦合到用户设备的输入设备控制。响应于检测到所述选择器从所述显示区域内到所述显示区域的边缘的移动,与搜索引擎相关联的搜索查询输入区域被呈现在显示屏幕视图内。

Description

基于手势的搜索
相关申请的交叉引用
本申请是2010年3月4日提交的并且标题为“Gesture-Based Search”的、编号13/017,335的待决非临时申请的部分继续并且要求来自其的优先权。编号为13/017,335的申请被完整地包含在本文中。
背景技术
为了找到期望的内容,计算机用户常常利用搜索服务。示范性的因特网搜索引擎在本领域中是众所周知的,例如,广为人知的商业引擎是由华盛顿州雷德蒙德(Redmond)的微软公司(Microsoft Corporation)所提供的BING搜索引擎。通常,为了使用搜索引擎,用户首先打开web浏览器并导航到与特定搜索服务相关联的主页。其后,用户能够例如经由由搜索服务提供的搜索框输入搜索查询来获得期望的搜索结果。这样的搜索过程可能是费时的和效率低的,尤其是如果用户正在使用独立于web浏览器的 (一个或多个)应用的话。
发明内容
本概要介绍基于手势的搜索的简化概念,其在下面在具体实施方式中被进一步描述。本概要不旨在标识所要求保护的主题的必要特征,也不旨在用来限制所要求保护的主题的范围。
本申请描述了基于搜索手势执行搜索功能的示例性的实施例。在一个示例性实施例中,用户可能正在诸如台式或膝上型计算机之类的客户端设备上执行任务。因此,客户端设备可以显示一些内容,诸如桌面视图、网页、电子邮件、文字处理文档、电子表格文档、图片、地图、媒体播放机的用户界面、相机的取景器、日历、社交网站、联系人、游戏的界面等等。用户可以简单地通过做出搜索手势来启动搜索功能,诸如查询输入区域的显示或搜索的执行。客户端设备检测所述搜索手势,并且响应于所述搜索手势的完成来启动搜索功能。在一些实施方案中,所述搜索手势指的是将选择器从显示区域的内部移动到所述显示区域的显示边缘。在这样的实施方案中,搜索框响应于所述搜索手势的检测而被显示在显示屏幕内。在其它实施方案中,所述搜索手势可能正将与诸如文本或图像之类的特定内容相关联的选择器从显示区域的内部移动到所述显示区域的显示边缘从而导致搜索基于特定内容的执行。
附图说明
参考附图对具体描述进行阐述。在图中,附图标记的最左边的(一个或多个)数字标识附图标记在其中首次出现的图。相同的附图标记在不同的图中的使用指示相似的或相同的项。
图1是示范性环境的示意图,其包括可用来实施基于手势的搜索的客户端设备。
图2是呈现在客户端设备的显示器上的示例性内容的示意图。
图3是执行基于手势的搜索的示例性过程的示意图,并图示了定义在图2的显示器上呈现的内容的子集的示例性搜索手势。
图4是调整图3的搜索手势的表示的大小的示例性过程的示意图。
图5是移动或者平移图3的搜索手势的表示的示例性过程的示意图。
图6是执行附加的搜索手势的示例性过程的示意图。
图7是展开结果窗口的示例性过程的示意图。
图8是示例性的展开的搜索结果窗口的示意图。
图9是通过搜索实体的选择来细化图3的搜索结果的示例性过程的示意图。
图10是通过语音识别和/或眼运动来细化图3的搜索结果的示例性过程的示意图。
图11是隐藏/最小化搜索结果窗口的示例性过程的示意图。
图12A-12E图示了用于执行搜索的示例性搜索手势。
图13是依照检测到搜索手势所显示的示例性查询输入区域的示意图。
图14是呈现在客户端设备的显示器上的示例性内容的示意图。
图15是依照检测到搜索手势所显示的示例性搜索结果页的示意图。
图16图示了基于搜索手势执行搜索功能的第一示例性方法。
图17图示了基于搜索手势执行搜索功能的第二示例性方法。
图18图示了基于搜索手势执行搜索功能的第三示例性方法。
图19图示了基于搜索手势执行搜索功能的第四示例性方法。
图20图示了基于搜索手势执行搜索功能的第五示例性方法。
具体实施方式
综述
典型地,当用户想要搜索与用户正在执行的任务(例如,浏览web、读电子邮件、在文字处理文档上工作等)有关的特定信息时,用户打开web浏览器或web浏览器中的单独窗口,并且与搜索服务连接。用户可以通过输入搜索查询来查询搜索引擎。这样的搜索查询可以经由与web浏览器和/或网页集成的或者作为工具栏与web浏览器一起运行的搜索框、或者通过将web浏览器用作平台来完成搜索的单独的应用而被输入。在任一情况下,用户要么通过打字要么通过从他/她先前从事的任务剪切并粘贴搜索查询来手动地输入搜索查询。其它已有技术可以允许用户通过激活用户的设备的语音识别功能(如果有的话)来输入语音命令和/或语音输入来输入搜索查询,所述语音命令和/或语音输入通过搜索服务或用户的设备的搜索应用而被转换成文本。在其它已有技术中,用户的设备(例如,移动电话)可以收集诸如相片、全球定位卫星(GPS)数据和/或其它地点信息之类的信息以制定或者细化搜索查询。
响应于接收到搜索查询,搜索服务可以在结果页上将搜索结果返回并呈现给用户。如果用户想要修改搜索,则用户可以将修改的搜索查询输入到文本框中并将经修改的搜索查询提交给搜索引擎,所述搜索引擎然后将新的搜索结果返回给用户。一旦用户找到所期望的信息,他或她就退出搜索服务并返回到他/她原始正执行的任务。如果用户需要参考搜索结果或者执行另一搜索,则用户必须在他/她的原始任务与搜索服务之间来回地切换,从而干扰他或她的工作流程。
如果由用户使用的设备具有有限能力或没有同时地运行多个应用的能力,则情况变得更糟。这些问题对移动设备是特别破坏性的,这常常不允许用户同时地查看搜索结果和原始任务。
例如,用户可能接收到来自朋友的消息,该朋友邀请用户在餐馆见面。用户可能不知道餐馆的地点,并且因此可以搜索该餐馆的地点。用户可以例如打开web浏览器、转向由搜索引擎所托管的网页、在由网页所提供的搜索框中输入包括餐馆的名称的查询并且将该查询提交给搜索引擎。替换地,用户可以通过语音命令和/或语音输入将餐馆的名称输入到搜索应用。然而,考虑到移动设备的小显示器、物理键盘和/或语音识别能力的缺少,用户可能发现执行这个搜索过程是困难的。如果餐馆的名称是长的或复杂的,则情况可能变得更糟,使得用户可能需要在文本消息与网页之间来回地切换以便输入餐馆的正确名称。
在另一例子中,用户可能正在使用计算设备阅读包括图像的网页。用户可能想要对图像进行搜索。为了进行搜索,用户可能需要知道如何描述图像并将该图像的文本描述提供给搜索引擎,这与上面描述的搜索过程类似。替换地,用户首先可以将图像保存到设备的本地存储器并且然后将图像上载到允许基于内容的图像检索的搜索引擎。然而在两种情况下,为了执行图像搜索,用户被要求通过许多步骤。此外,诸如具有有限存储器和/或功能能力的移动电话这样的一些移动设备可能不允许将来自因特网的图像存储到移动设备中或者可能要求繁琐的过程来完成此。这些仅仅是在使用移动电话和其它客户端设备进行搜索的情况下存在的困难的两个例子。
本公开描述了基于手势的搜索技术,其允许搜索功能响应于手势而被执行。这样的搜索功能例如可以是查询输入区域的呈现和/或搜索的启动。通常,客户端设备经由显示屏幕向用户显示内容。这样的内容可以为能够经由客户端设备的显示屏幕显示的任何内容。例如,客户端设备可以在显示器上向用户显示文本内容或者可以向用户播放视频或音频。通过另一例子,客户端设备可以显示桌面视图或环境。客户端设备随后可以从用户接收指示意图启动搜索功能的手势。在某些情况下,客户端设备随后可以从用户接收定义在显示器上所显示的内容中的内容区或者被客户端设备消费的内容的主题的手势。所述手势可以包括但不限于对客户端设备的触摸屏或触摸板的触摸输入、由客户端设备的图像捕获设备检测到的身体运动、和/或由鼠标或其它用户输入设备控制的光标的运动。在一些例子中,手势可以定义内容区。例如,由手势所定义的内容区可以是大体上被手势(例如,一般地是圆形的手势)界定的区、被搜索手势触摸或者重叠的区、或跨越显示边缘或者与显示边缘相关联地选择和移动的区。在其它实施例中,手势可以被解释为通用搜索请求,而客户端设备和/或搜索服务可以呈现查询输入区域和/或解释所显示的内容和/或上下文信息以开展(develop)搜索查询。
附加地或替换地,手势可以包括客户端设备本身的运动。客户端设备的运动可以被例如加速度计、姿态传感器、罗盘等检测到。客户端设备的运动可以指示用户执行与客户端设备所消费的内容有关的功能的意图,例如,从而导致对客户端设备所消费的内容的信息的搜索。
在一些实施例中,客户端设备可以显示在所显示的内容上由搜索手势所定义的内容区的表示,以便将该手势的大小和形状的可视反馈提供给用户。内容区的表示例如可以包括包围内容区的线、内容区的加亮视图、和/或内容区的放大镜头视图。
在一些实施例中,内容区可以包括由手势定义的文本信息、图象信息、图像信息、音频信息、和/或视频信息。附加地,手势可以定义被包括在围绕内容区的区域中的和/或与所显示的内容有关的上下文信息。通过例子而不是限制,上下文信息可以包括接近于内容区的内容、在内容区内具有其一部分的段落、在内容区内具有其一部分的句子、在内容区内具有文档的一部分的文档的标题、所显示内容位于其处的统一资源定位符、在内容区内具有其一部分的图像、在内容区内具有其一部分的录音的表示、和/或在内容区内具有其一部分的视频。上下文信息附加地或替换地可以包括与用来显示所显示内容的应用有关的信息、在相同的会话和/或一个或多个过去的会话内与所述应用相关联的用户的历史动作、客户端设备的地点数据、设备用户或所有者的批准或所选择的个人信息、和/或与所显示内容相关联的元数据。响应于手势的完成,客户端设备可以至少部分地基于由手势所定义的信息(即,内容区或内容的主题)来制定搜索查询,并且可以使搜索例如基于所述搜索查询被执行。
在一些实施例中,一个或多个后续输入可以被系统检测到以便重新制定、细化或者否则更改搜索查询。可以被用来更改搜索的后续输入的例子包括但不限制于用来调整由搜索手势定义的内容区的大小的捏手势(pinch gesture)、用来移动搜索手势的表示以定义不同内容区的拖曳手势、附加的搜索手势、语音输入、眼运动检测、和/或搜索实体的选择。
本文中所描述的基于手势的搜索技术允许用户通过简单地输入例如定义或者标识要搜索的内容的手势而从任何应用内以及在执行任何任务时无缝地执行搜索功能。这些基于手势的搜索技术允许用户在不打开web浏览器的情况下执行搜索、导航到由搜索引擎所托管的网页、以及通过例如打字或语音输入手动地输入搜索查询,从而改进了用户的搜索体验。基于手势的搜索技术可以被用来搜索因特网、客户端设备的本地存储器、或数据的任何其它语料库(corpus)。因此,本文中所描述的基于手势的搜索技术使启动针对信息的搜索的过程合理化(streamline)和简化,从而提高了用户的生产力。搜索结果可以被呈现为结果的排序列表(例如,仅标题、上下文中的关键词、相关内容的摘录、图像、音频和/或视频剪辑、或这些的任意项的组合),并且如在下面更详细地描述的那样可以被显示在所显示的内容内或者重叠在所显示的内容上。
在一些实施例中,本文中所描述的基于手势的搜索技术允许用户启动查询输入区域在计算设备的显示区域内的呈现,而不管与特定搜索服务相关联的web浏览器或主页没有被打开。就这点而言,用户能够独立于web浏览器在执行搜索手势时被打开而启动或者触发搜索框的显示以便使能更容易的搜索。搜索框的这样的显示能够根据诸如选择器朝着或跨越显示边缘的移动之类的搜索手势而发生。如本文所使用的那样,查询输入区域或搜索查询输入区域指的是用户能够将与要被搜索的内容(例如,在数据库中的)相关联的查询输入到其中的搜索框或文本框。在实施例中,查询输入区域与搜索引擎相关联。就这点而言,在用户将查询输入到查询输入区域中时,特定搜索引擎(例如,因特网搜索引擎)被使用来执行搜索。
本文中所描述的本发明的实施例包括启动搜索功能的计算机实施的方法。所述方法包括在配置有计算机可执行指令的一个或多个处理器的控制下检测选择器从显示区域内接近于显示区域的边缘的移动。选择器被耦合到用户设备的输入设备控制。响应于检测到选择器从显示区域内到显示区域的边缘的移动,与搜索引擎相关联的搜索查询输入区域被呈现在显示屏幕视图内。
在第二说明性实施例中,一个或多个计算机可读媒体存储指令,当所述指令被处理器执行时配置该处理器执行动作。所述动作包括检测搜索手势,其包括与内容区相关联的选择器从显示区域内到显示区域的边缘的移动。选择器被耦合到用户设备的输入设备控制。响应于检测到搜索手势,搜索查询基于与选择器相关联的内容区而被自动地生成;并且使用所生成的搜索查询来启动要被执行的搜索。
在第三说明性实施例中,客户端设备包括处理器、通信地耦合到处理器的存储器、以及被配置成显示内容和接收用户输入的显示屏幕。客户端设备还包括手势检测模块,其被存储在存储器内并且可在处理器上执行来检测包括选择器从显示区域内到显示区域的边缘的移动的搜索手势,所述选择器被耦合到用户设备的输入设备控制。客户端设备还包括搜索功能标识模块,其被配置成基于搜索手势是否与特定内容相关联而标识启动的搜索功能。此外,客户端设备包括被配置成启动搜索功能的功能启动模块,其中,查询输入区域的显示在搜索手势与特定内容相关联时被启动以及搜索在搜索手势不与特定内容相关联时被启动。
多个且变化的实施方案和实施例在下面被描述。以下部分描述了适合于实施基于手势的搜索的示例性环境。以下部分描述了基于手势的搜索技术的说明性方面。
示范性架构
图1是可用来实施基于手势的搜索的示例性环境100的示意图。环境100包括用户102和客户端设备104。客户端设备104可以被实施为各种各样的常规计算设备中的任何一个,所述各种各样的常规计算设备诸如例如台式计算机、笔记本或膝上型计算机、上网本、平板或平板计算机、表面计算设备、电子书阅读器设备、工作站、移动设备(例如,智能手机、个人数字助理、车载导航设备等)、游戏控制器、机顶盒、或其组合。
客户端设备104包括耦合到存储器108的一个或多个处理器106。客户端设备104还可以包括一个或多个通信连接110和一个或多个输入/输出接口112。(一个或多个)通信连接110允许客户端设备104通过有线和/或无线网络与其它计算设备进行通信,并且可以包括例如广域、局域、和/或个人局域网络连接。例如,(一个或多个)通信连接110可以包括蜂窝网络连接构件、WiFi网络连接构件、以太网络连接构件等等。取决于客户端设备的类型,输入/输出接口112可以包括例如触摸屏或其它显示器、键盘、鼠标、触摸板、滚动球、滚轮、图像捕获设备、音频输入设备、音频输出设备、和/或任何其它输入或输出设备。存储器108是计算机可读媒体的例子。计算机可读媒体包括至少两种类型的计算机可读媒体,即计算机存储媒体和通信媒体。
计算机存储媒体包括以任何方法或技术实施以用于存储诸如计算机可读指令、数据结构、程序模块、或其它数据之类的信息的易失性和非易失性、可移除和不可移除媒体。计算机存储媒体包括但不限于相变存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其它类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦可编程只读存储器(EEPROM)、闪速存储器或其它存储器技术、只读光盘存储器(CD-ROM)、数字多功能盘(DVD)或其它光存储装置、磁带盒、磁带、磁盘存储装置或其它磁存储设备、或能够被用来存储供计算设备访问的信息的任何其它非传输介质。
相比之下,通信媒体可以将计算机可读指令、数据结构、程序模块或其它数据具体化为诸如载波或其它传输机制之类的调制数据信号。如本文中所定义的那样,计算机存储媒体不包括通信媒体。
存储器108包括一个或多个程序模块114和程序数据115。在所图示的例子中,程序模块114包括尤其能够在客户端设备104的显示器上向用户显示内容的任何数目的(一个或多个)应用116。通过例子而不限制,(一个或多个)应用116可以包括桌面环境(例如,图标、窗口、工具栏、文件夹、墙纸、桌面小部件等)、web浏览器、电子邮件客户端、文字处理应用、电子表格应用、录音应用、日历应用、新闻应用、文本消息发送客户端、媒体播放机应用、相簿应用、地址簿应用、取景器应用、社交网络应用或游戏。
在所图示的例子中,程序模块114还包括手势检测模块118以便检测输入到客户端设备104的手势。特别地,手势检测模块118可以被配置成检测一个或多个搜索手势。在一些例子中,单个搜索手势可以定义搜索的范围(例如,通过定义要被搜索的内容区)或与被客户端设备104所消费的内容有关的主题,以及使搜索被执行(例如,将搜索查询发送到搜索引擎)。例如,客户端设备104可以消费内容,例如播放视频。用户102可以摇动或者执行例如客户端设备104本身的预定义的或用户定义的运动,以便执行与视频有关的搜索,诸如基于该视频的标题、(一个或多个)演员、开发者等来执行搜索。
在另一实施例中,搜索手势可以包括来自用户102的一根或多根手指或诸如触针或数字笔之类的指向设备的触摸输入。手势检测模块118可以通过客户端设备104的触摸屏、触摸板、或另外的输入/输出接口112检测来自用户102的触摸输入。
在另一实施例中,搜索手势可以包括用户102的眼移动。手势检测模块118可以通过客户端设备104的图像捕获设备来检测眼移动。
在又一实施例中,搜索手势可以包括用户102的身体或诸如手指、手、头、和/或臂之类的身体的一部分的运动。手势检测模块118可以通过客户端设备104的相机、其它图像捕获设备或任何运动检测构件来检测身体运动。例如,客户端设备可以是具有相机或其它运动检测接口的游戏设备,诸如配置有KinectTM运动检测系统的Xbox® 游戏控制台,两者都可从华盛顿州雷德蒙德的微软公司得到。客户端设备可以接收并解释客户端设备接收到的图像或信号以便确定用户102正在执行什么运动。用户102的运动可以触发搜索和/或定义搜索的范围。附加地或替换地,搜索的范围可以参考内容正被显示在其中的上下文而被确定。
在一些实施例中,搜索手势可以包括由用户102所控制的遥控器(例如,指示器、操纵杆、游戏控制器等等)的运动。手势检测模块118可以通过接近遥控器的检测器来检测由用户102所控制的遥控器的运动,所述遥控器将遥控器的运动的信息传送到手势检测模块118。
在其它实施例中,搜索手势可以包括由耦合到客户端设备104的输入/输出接口112的鼠标、轨迹球或其它输入设备所控制的光标的运动。在那种情况下,手势检测模块118可以检测由该输入设备所控制的光标的运动。在某些情况下,触发搜索功能的搜索手势是选择器(即,光标)从显示区域的内部到与该显示区域相关联的显示边缘或边界、在其附近或者通过其的移动或运动。就这点而言,当选择器或光标被从显示区域的内部移动到与显示区域的显示边缘接触或者其跨越显示边缘移动时,搜索手势可以被检测到。这样的动作还可以被称为刷运动、刷出运动、刷出手势等等。光标或选择器指的是指示显示屏幕上的位置的可移动符号。光标或选择器在显示屏幕内的移动例如能够被连接到计算设备的鼠标、轨迹球等控制。如能够被理解的那样,在一些实例中,搜索手势可以在光标到达到显示边缘的特定距离(例如,在离显示边缘5个像素内)或者达到被视为指示要启动搜索功能的意图的特定速度时被检测到。
如本文所使用的那样,显示边缘指的是显示区域的任何外边缘、边界或周界,诸如例如顶部边缘、底部边缘、右侧边缘、或左侧边缘。一组显示边缘能够限定显示区域。显示区域可以是显示屏幕视图(即,显示屏幕或桌面视图或环境的外边缘)、或显示屏幕视图内的窗口(例如,应用窗口)。就这点而言,用户能够将选择器(例如,经由鼠标)移动到或穿过显示屏幕视图的外边缘来启动搜索功能。例如,假定用户正在查看桌面的主页或者具有各种打开的窗口的桌面。在这样的情况下,用户能够将选择器滑动到或穿过显示屏幕的边缘。附加地或替换地,用户能够将选择器移动到或穿过窗口的外边缘来启动搜索功能。例如,假定用户具有在显示屏幕上打开的文字文档。在这样的情况下,用户能够将选择器滑动到或穿过呈现该文字文档的窗口的边缘来启动搜索功能。
在某些情况下,刷运动可能包括内容区到显示边缘或跨越显示边缘的移动。因此,用户可以选择或者加亮来自显示区域的内容并且将该内容拖曳到或者跨越显示边缘(例如,拖放内容)。这样的内容区例如可以是如上面更充分地描述的文本、图像、视频、或任何其它内容。包括内容区或对象的这样的刷手势能够启动与内容有关的搜索并导致与其相关的搜索结果的显示。如能够被理解的那样,即使内容在物理上未被移动到显示边缘,刷手势也能够与内容相关联。例如,即使没有内容的实际移动被可视地显示,文本或其它内容在选择器朝显示边缘并与其接触地移动时也能够被选择(例如,被加亮)。
尽管单独的搜索手势在前述实施例中被描述了,但是搜索手势可以包括如上面所描述的一个或多个搜索手势的组合。
系统还可以包括手势跟踪模块120,其响应于通过用户102输入搜索手势而在显示器上呈现搜索手势的线或其它表示以供显示。搜索手势的表示可以依照搜索手势的运动而被显示。所述表示将反馈提供给用户,从而指示他/她刚输入的手势的大小和形状。所述表示可以包括但不限于包围内容区的线、内容区的加亮视图、跟踪选择器的路径、和/或内容区的放大镜头视图。
如上面所讨论的那样,被搜索手势定义或标识的内容的主题或者内容区可以包括文本信息、图像信息、音频信息的可视表示、和/或视频信息。客户端设备104还可以包括内容分析模块122以便分析被包括在内容区中的信息或内容的主题,并且以便至少基于所述分析来制定搜索查询。在一些实施例中,内容分析模块122还可以分析上下文信息从而提供关于内容区例如被呈现在其中的上下文的信号。通过例子而不是限制,上下文信息可以包括接近于内容区的内容、在内容区内具有其一部分的段落、在内容区内具有其一部分的句子、在内容区内具有文档的一部分的文档的标题、所显示的内容位于其处的统一资源定位符、用来显示所显示的内容的应用的应用标识符、与所显示的内容相关联的元数据、和/或内容被显示在其上的客户端设备的地点。上下文信息可以被内容分析模块122使用来通过至少部分地基于上下文信息制定更相关的搜索查询和/或按相关的顺序对搜索结果进行排名来提高搜索结果的相关性。
在一些实施例中,内容分析模块122可以从被包括在内容区中的信息中提取一个或多个关键词,并且将所述一个或多个关键词制定成搜索查询。在一个实施例中,一个或多个提取的关键词可以包括由搜索手势定义的内容区的文本、由搜索手势定义的图像的标签等。在一些例子中,关键词可以包括可视关键词,其可以被用来执行对与可视关键词视觉上类似或者有关的图像的搜索。
附加地或替换地,内容分析模块122可以包含与所显示的内容、客户端设备104的地点(诸如GPS数据)、应用和/或用户102的一个或多个历史动作和/或会话有关的上下文信息,并且基于这个附加的信息来制定搜索查询。通过例子而不是限制,内容分析模块122可以基于最近的电子邮件通信确定用户102正在计划旅行,并且可以推断出即时搜索与计划旅行有关。附加地或替换地,内容分析模块122可以基于关于主题/话题和/或与另一用户的过去的电子邮件通信来确定用户102正在计划与另一用户一起旅行,并且可以推断出即时搜索与计划旅行有关。因此,考虑到所确定的用户计划旅行的意图,内容分析模块122可以基于内容区和/或诸如过去的电子邮件通信中的信息之类的与内容区有关的上下文信息来制定搜索查询。因此,在旅行例子中,内容分析模块122可以推断出如果内容区包括地点,则用户可能正在计划去该地点的旅行并且可以相应地制定搜索查询。此外,内容分析模块122还可以包含诸如客户端设备104的GPS数据、内容正从其被服务的网站、用户已打开的具有关于旅行的细节的日历条目等等之类的其它上下文信息,以便制定搜索查询。例如,往回参考旅行例子,即使手势未定义与特定地点有关的内容,内容分析模块122也仍然可以基于为内容服务的网站是旅行web站点或者文章的标题涉及旅行的事实来确定搜索与计划旅行有关。
附加地,内容分析模块122还可以将所制定的搜索查询提交给提供航班或火车调度服务的信息的给定网站以找出所确定旅行的时刻表和/或价格。内容分析模块122可以通过检查客户端设备104中web浏览器或搜索应用的书签或历史来确定给定网站。用户102在客户端设备104显示搜索查询的搜索结果之前和/或之后可以被给予修改搜索的机会。
程序模块114还可以包括可用来识别语音命令和/或输入并将其译成文本输入的语音识别模块128。客户端设备104然后可以使用这些文本输入来制定或者细化搜索查询。如果客户端设备104可以被一个以上的用户使用,则语音识别模块128可以进一步标识当前的用户并且检索与当前用户有关的历史信息(例如,在诸如一小时内之类的预定义的时间段内的)以用于制定或者细化搜索查询。
客户端设备104还可以包括手势学习模块130,以便允许用户102定义一个或多个手势。例如,手势学习模块130可以允许用户102定义用于平移、搜索、拷贝、粘贴、删除等的自定义手势。手势学习模块130可以收集针对这些用户定义手势中的每一个的诸如曲度、手势速度等等之类的信息,以便将用户定义的手势彼此区分开来。
客户端设备104还可以包括搜索功能标识模块132以便标识、识别、或者确定要启动的搜索功能(例如,查询输入区域的显示、搜索结果的执行和/或显示等)。如先前所描述的那样,在某些情况下,用户可以作为启动搜索功能的搜索手势来执行选择器的刷出运动。在一些实例中,用户可以简单地刷出选择器以便导致查询输入区域的显示。在其它实例中,用户可以刷出与内容相关联的选择器(例如,选择、拖放)以便导致与内容相关的搜索结果的显示。因此,搜索功能标识模块132可以确定对象或内容是否与刷出搜索手势相关联。就这点而言,搜索功能标识模块132确定或者标识内容是否已被与刷出运动相关联地选择和/或移动到或跨越显示边缘。如果是这样的话,搜索功能标识模块132能够确定与所选内容或对象相关联的搜索应该被启动使得相关搜索结果能够被显示给用户。在搜索将被启动的情况下,内容分析模块122能够被使用来完成该搜索。另一方面,如果选择器在没有与对象或内容关联的情况下已被移动到或跨越显示边缘,则搜索功能标识模块132能够确定查询输入区域的显示应该被启动使得用户能够输入搜索查询。
客户端设备104还可以包括功能启动模块134。这样的功能启动模块134启动搜索功能,诸如由搜索功能标识模块132所标识的搜索功能。在没有内容与搜索手势相关联地被标识的情况下,功能启动模块134能够启动查询输入区域在显示屏幕内的显示。在内容与搜索手势相关联地被标识的情况下,功能启动模块134能够启动与对应内容有关的搜索和响应于该搜索而提供的相关搜索结果的显示。就这点而言,搜索查询能够被生成和传送到搜索服务或者被在本地用来执行搜索。
如能够被理解的那样,查询输入区域和/或搜索结果列表能够被显示在显示屏幕内的任何位置或地点处。在一些实施例中,查询输入区域和/或搜索结果可能被显示在显示视图的顶部处或在其附近、在显示视图的中心处、在活动窗口的外面、与对应于刷出运动的显示边缘相关联地显示、被重叠在活动窗口上等。因此,在某些情况下,功能启动模块134可以确定要显示查询输入区域和/或搜索结果列表的地点。
客户端设备104还可以包含在客户端设备104中存储的个人数据以制定或者细化搜索查询。在一个实施例中,客户端设备104的程序数据115可以包括用户102的个人数据124和其它数据126。个人数据124可以包括但不限于地址簿、联系人列表、日历、呼叫日志、和/或当前地点数据,诸如由客户端设备104的GPS模块(未示出)所获得的全球定位系统(GPS)数据。个人数据124还可以包括从社交网络收集到的社交数据、联系人、电话日志、文本消息日志、用户102的联盟和会员身份等等。如上面所讨论的那样,在任何个人信息被用来制定搜索查询之前,用户可以被提示他/她是否期望共享这个信息并且给出要一直共享这个信息、从不共享这个信息、或者每次在共享信息之前要被提示的选项。其它数据126可以包括在客户端设备104上存储的文档、文件、图像、照片、电子邮件、或任何其它内容或数据。程序数据115中的任一个或全部可以被用在制定如由用户102所许可的搜索查询中。尽管程序模块114和程序数据115被图示在图1的客户端设备104上,但是这样的程序模块和/或程序数据能够与任何计算设备包括在一起。
示例性使用场景
图2-14 图示了使用基于手势的搜索的各种可能的使用场景。为了方便起见,参考图1的示例性环境100对使用场景进行描述。然而,使用场景不被限制于与图1的示例性环境100一起使用。
图2图示了其中用户102正在使用在客户端设备104上运行的应用的例子。客户端设备104可以将应用的内容呈现在客户端设备104的显示器200上。所呈现的内容可以包括文本、图像、音频内容的表示和/或视频。在一些实施例中,应用可以包括启用web的应用,诸如web浏览器、电子邮件应用、新闻应用等等。例如,用户102可以读取由web浏览器在显示器上呈现的网页的内容,如图2中所示出的。在其它实施例中,应用可以为未启用web的应用。本文中所描述的基于手势的搜索技术适用于向用户显示或者以其它方式呈现内容的任何应用。
以前,如果用户102对学习更多关于正被显示的内容的信息感兴趣,则用户将不得不退出或者最小化他们当前正查看的内容,并且打开web浏览器以执行搜索。本文中所描述的基于手势的搜索技术允许用户从任何应用内执行搜索,其通过简单地输入例如定义他们希望搜索的内容的搜索手势来实现。
图3图示了执行基于手势的搜索的示例性过程,并且图示了示例性搜索手势300,所述示例性搜索手势300定义了在显示器200上呈现的内容区。在所图示的例子中,用户102的搜索手势300包括界定或者大体上界定内容区的形状,诸如椭圆运动或总体上椭圆运动、圆形运动或总体上圆形运动、或自由形态界定的运动。
在所图示的例子中,手势跟踪模块120响应于由用户102输入搜索手势300而将搜索手势的线表示302再现在显示器上。搜索手势的表示302近似由用户102所输入的搜索手势300的运动,并且将他/她刚输入的手势的大小和形状的可视反馈提供给用户。如上面所讨论的那样,其它类型的诸如加亮和/或放大镜头之类的可视表示可以被用来标识内容区。
内容区可以限定搜索的范围并被用来制定搜索查询。形状大体上界定了区,即使该形状没有在所述区周围形成完整边界(例如,在形状的起始和结束点之间存在间隙,使得形状至少部分地未被界定)。在一个例子中,如果边界中的间隙小于手势的总长度的1/3,则形状将被说成是大体上界定区。在其它实施例中,搜索手势可以包括任何形状的运动。在其中搜索手势没有界定或者大体上界定区的情况下,手势可以将内容区定义为被搜索手势触摸、接近于搜索手势、被搜索手势重叠、或者与搜索手势相关联的区。这些和其它示例性的搜索手势参考图12A-12E被更详细地描述。
响应于制定搜索查询的完成,客户端设备104可以自动地将搜索查询提交给搜索引擎或搜索服务。附加地或替换地,客户端设备104可以在显示器上向用户102呈现搜索查询并要求用户102确认和/或修改搜索查询。在其它实施例中,客户端设备104可以向用户102呈现多个潜在的搜索查询并允许用户102选择所述多个搜索查询中的一个以用来进行搜索。在一些实施例中,客户端设备104可以进一步允许用户102修改在显示器上呈现的搜索查询或潜在的搜索查询。客户端设备104可以将所选择的搜索查询或经修改的搜索查询提交给搜索引擎或搜索服务。
在一个实施例中,搜索服务可以将一个或多个搜索结果返回给客户端设备104,所述客户端设备104然后可以向用户102呈现一个或多个搜索结果。附加地或替换地,搜索引擎或搜索服务可以解释搜索查询并且标识用户102想要完成的任务(例如,进行保留、得到方向等)。搜索服务可以进一步基于与内容区有关的上下文信息来解释搜索查询并且标识用户102可能想要完成的任务。例如,搜索引擎或搜索服务可以基于在搜索查询中标识餐馆的名称和/或标识包括内容区被从其获得的应用(例如,日历应用)的名称的上下文信息来标识用户102正在查找餐馆的地点。对于另一例子,客户端设备104可以基于经标识的用户102的任务来接收和/或提供推荐和/或广告。
在从搜索引擎接收到一个或多个搜索结果时,客户端设备104可以将搜索结果304呈现在显示器200上。在一些实施方案中,搜索结果可以在搜索手势300被接收到之后被立即显示。在一个实施例中,客户端设备104可以将搜索结果304重叠在所显示内容的一部分上。这允许用户在不用退出或最小化用户先前参与的应用或任务的情况下查看搜索结果。通过例子而不限制,包括一个或多个搜索结果的滑出窗口可以被重叠在所显示内容的一部分上。在一些实施例中,客户端设备104可以将搜索结果重叠在所显示内容的不包括由搜索手势300所定义的内容区的一部分上。在一个实施例中,呈现给用户102的搜索结果304可以是从搜索引擎接收到的搜索结果的简化版本。例如,搜索结果304可以包括仅标题、或标题和有限数目的字符。
在查看搜索结果304时,用户102可能期望扩大、缩小、细化、重新聚焦、或者否则更改搜索的范围。例如,用户可以确定原始搜索手势300不包含用户期望搜索的内容中的一些。在那种情况下,用户可能期望扩大搜索以包括附加的内容。在另一例子中,用户可能期望移动由手势所定义的表示302以便包括刚好在表示302外部但用户打算被包括在表示302中的词,或者以便排除在表示302内的词。
图4图示了用于通过调整由搜索手势所定义的表示302的大小以便包括不同的内容区来细化搜索从而扩大或者缩小搜索的范围来更改搜索的范围的示例性技术。在所图示的例子中,用户102通过调整手势400的大小来调整表示302的大小。不同的调整大小的手势可以被用来扩大或者缩小搜索的范围。例如,在所图示的实施例中,反向捏手势(在图4中由反向箭头示出)被用来扩大搜索的范围。在另一例子中,捏手势可以被用来缩小搜索的范围。调整大小的手势400被手势检测模块118检测到,所述手势检测模块118命令手势跟踪模块120再现经调整大小的手势表示402。响应于调整大小的手势,客户端设备104的内容分析模块122可以即时或连续不断地(即,在调整大小的手势400期间)更新搜索查询,将经更新的搜索查询提交给搜索引擎并且呈现基于经更新的查询从搜索引擎接收到的新的搜索结果。在另一实施例中,客户端设备104可以响应于调整大小的手势400的完成而更新搜索查询,提交经更新的搜索查询并且从搜索引擎接收新的搜索结果。
图5图示了更改搜索的范围的另一示例性技术,其中用户102可以通过将由搜索手势所定义的表示302重定位到所显示的内容上的新位置来更改搜索的范围。具体地,用户102可以输入重定位手势500以便将表示302重定位到新的地点(用虚线示出)。与以上调整大小的例子类似,客户端设备104的内容分析模块122可以随着用户102重定位表示302而连续不断地或者即时地更新搜索查询,或者可以等待直到重定位手势500的完成来更新搜索查询。替换地,搜索的范围可以通过简单地在由新手势所规定的新地点中重绘表示302而被更改。
图6图示了更改搜索的范围的另一示例性技术,其中客户端设备104响应于检测到除原始搜索手势之外的一个或多个新的搜索手势而更改搜索查询。具体地,在图6中,用户102执行第二搜索手势600,其定义了第二内容区。手势检测模块118检测第二手势600,并且命令手势跟踪模块120输出第二内容区的第二表示602用于显示。客户端设备104然后可以至少基于第一内容区和第二内容区两者来重新制定搜索查询。在一些实施例中,在第一内容区中包括的信息和在第二内容区中包括的信息在制定新的搜索查询中可以被赋予相同的权重或不同的权重。在其它实施例中,客户端设备104可以使用在第二内容区中包括的信息以便通过搜索来自原始搜索结果内的结果的子集来细化搜索。
图7图示了展开图3的搜索结果304的例子。如上面所指出的那样,搜索结果304包括从搜索引擎检索到的搜索结果的简化版本或有限版本。为了展开搜索结果并且查看完整的搜索结果,用户102可以执行展开式手势700(图7中被图示为向左刷)以便使搜索结果304和/或它们被呈现其中的窗格被展开。在图7的例子中,用户102可以展开搜索结果以便覆盖整个显示的内容或整个显示器。在所图示的例子中,展开式手势700模拟朝未被窗口重叠的其余的显示的内容拖曳包括一个或多个搜索结果304的窗口的边缘。
图8示出了展开包括由展开式手势700所导致的一个或多个搜索结果的窗口的结果的例子。如图8中所示,被展开的搜索结果800被以全窗口或全屏模式显示。在一些实施例中,用户102可能能够通过执行调整大小的手势(例如、捏或反向捏)改变被展开的搜索结果800窗口的尺寸来调整窗口的大小。附加地或替换地,用户102可以通过执行平移手势以将窗口平移到新位置来将窗口移动或者平移到显示器上的新位置。
图9示出了通过一个或多个搜索实体900的选择来更改搜索结果800的例子。由客户端设备104所制定的搜索查询和/或呈现给用户102的一个或多个搜索结果304或800可以包括一个或多个搜索实体900。搜索实体是表示搜索结果的预定关键词。在图9的例子中,用户102选择搜索实体900中的一个以便重新聚焦搜索结果800。响应于其,客户端设备104可以鉴于所选择的搜索实体900通过例如更重地对所选择的搜索实体进行加权或者通过在搜索结果800内搜索与所选择的搜索实体相关的结果来细化搜索查询。
在一些实例中,由客户端设备104所制定的搜索查询或呈现给用户102的搜索结果304或800可以包括实体的名称。所述实体可以包括但不限于地理地点、建筑物、组织、零售店、餐馆等。在一个实施例中,用户102可以点击实体的名称或者在实体的名称周围执行搜索手势来选择实体的名称。响应于由用户102选择实体的名称,客户端设备104可以使用该实体的名称来执行新的搜索。在一些实例中,当所选择的搜索实体是实体的名称时,新的搜索可以包括地图搜索并且呈现包括该实体的地点的地图。在所图示的例子中,用户102选择了“New York (纽约)”搜索实体900,并且作为响应,客户端设备104 将New York的地图902呈现在新的搜索页中,或者重叠在原始搜索结果800的一部分上。
附加地,地图可以包括一个或多个搜索标签,诸如地图中的那些标签(在图9中被编号1-5)。搜索标签他们本身可以对应于其它的搜索结果。用户102可以选择搜索标签来查看相应的搜索结果,或者来启动针对地图的包括所选择的搜索标签的一部分的细化搜索。作为回报,客户端设备104可以呈现地图的放大的所选择的部分和/或与地图的所选择的部分有关的一个或多个搜索结果。
附加地或替换地,当用户已授予许可时,客户端设备104还可以包含客户端设备104的当前地点或其它个人数据124以便制定或者细化地图搜索。通过例子而不限制,用户102可以如图9中所示出的那样点击搜索框中的术语“New York”。作为响应,客户端设备104可以基于术语“New York”和存储在客户端设备104中的诸如用户102的地址簿这样的个人数据来执行地图搜索。例如,客户端设备104可以搜索地址簿并且找到在New York内或者靠近New York的一个或多个地址。附加于如上面所描述的那样呈现包括New York的地图,客户端设备104可以进一步在地图上呈现指示一个或多个地址的一个或多个地址标签。所述一个或多个地址标签可以包括在地址簿中被与一个或多个地址一起存储的实体的名称。然而,如上面所指出的那样,用户102可以被给予选择退出将这样的信息作为个人可标识的信息进行共享的机会。
图10图示了另一例子,其中搜索结果800可以被语音输入和/或眼追踪数据修改。例如,不是如图9中那样通过触摸屏幕上的实体来选择搜索实体,而是用户可以通过说出被客户端设备104的音频输入1000接收的命令或输入来细化搜索结果800。语音识别模块128然后可以将语音命令和/或输入译成文本输入来细化搜索查询。例如,在所图示的例子中,用户可以说出命令“搜索”和输入“New York”来细化搜索查询以便包括或者强调术语NewYork。在另一例子中,用户102可以通过将他们的凝视1002指向感兴趣的术语(图10中的搜索实体New York)来细化搜索查询。用户的凝视可以被诸如客户端设备104的前置相机之类的图像捕获设备检测。用户的凝视然后可以被用来生成眼追踪数据以便确定用户正在看的一个或多个词。这个眼追踪数据附加地或替换地能够被用来细化搜索结果。
图11示出了用于折叠搜索结果800的示例性技术。在读取了被展开的结果窗口中的搜索结果800之后,用户102可以通过隐藏手势1100来隐藏结果窗口。例如,用户102可以通过朝其原始位置移动或者平移结果窗口来隐藏结果窗口。图11中的隐藏手势1100暗示滑动关闭的搜索结果。
在另一实施例中,用户102可以通过折叠手势(未示出)将结果窗口折叠为减少尺寸的窗口。通过例子而不限制,用户102可以移动或者平移结果窗口使得结果窗口的部分仍然出现在显示器中并且结果窗口的部分在显示器之外。在一个例子中,折叠手势可能是与隐藏手势1100相同的,但处于较慢的速度和/或具有较短的距离。响应于折叠手势,客户端设备104可以调整结果窗口以便显示简化的或有限的搜索结果,诸如图3中所示出的那些。在一些实施例中,用户102可能能够连续不断地将搜索结果窗口的宽度调整到任何尺寸,从如图8中800处所示出的全屏幕到在图3中304处示出的简化结果,或者甚至更小。
图13图示了其中用户102正在客户端设备104上查看桌面环境1302的例子。客户端设备104可以将应用的内容呈现在客户端设备104的显示器1300上。在图13中,桌面环境1302包括桌面视图的主页。在桌面环境1302内的所呈现的内容可以包括文本、图像、视频内容和/或音频内容的表示等。在各实施例中,附加的或替换的应用可能正在客户端设备104上运行,导致了各种类型的内容的显示。例如,启用web的应用(例如,web浏览器、电子邮件应用、新闻应用)、未启用web的应用(例如,文档应用)等等以及对应的内容能够被呈现。如能够被理解的那样,本文中所描述的基于手势的搜索技术适用于向用户显示或者以其它方式呈现内容的任何应用。
假定用户接近于显示边缘1306、与显示边缘1306接触地、或者跨越显示边缘1306移动选择器1304。在检测到这样的搜索手势时,查询输入区域1308能够被显示在显示区域1310内。在图13中,显示区域1310被显示边缘1306、1312、1314以及1316界定。就这点而言,显示边缘与作为整个显示视图的显示边缘1310的边缘相符。尽管图13将显示区域1310图示为显示屏幕视图或桌面视图的主页 (例如,屏幕显示区域),但是这样的显示区域可以是另一区域,诸如由窗口的边缘所限定的窗口显示区域。
参考图14,图14的显示屏幕1400显示了与应用相关联的内容1402。假定用户如图14中所图示的那样选择或者加亮术语“Microsoft (微软)”1404。进一步假定用户随即与显示边缘1406相关联地、接近于其、或者跨越其拖曳所选文本和/或选择器1408。这样的搜索手势提供例如基于术语“Microsoft (微软)”执行搜索的指示。因此,如图15的显示屏幕1500中所图示的那样,搜索结果页1502被显示。在搜索结果页1502内呈现的搜索结果是基于针对术语“Microsoft”所执行的搜索的。如本文中所描述的那样,这样的搜索还可以包含与所选择的内容相关联的上下文信息,诸如元数据、应用数据、用户数据等。如图15中所图示的那样,查询1504能够被呈现在查询输入区域中使得用户能够识别和/或修改初始搜索查询。
手势确定
许多不同的技术可以被用来区分搜索手势(其被配置成触发基于手势的搜索)和其它手势(例如,例如要平移或者缩放的手势)。
在一个实施例中,客户端设备104可以包括物理搜索按钮或在显示器上显示的虚拟搜索按钮或图标。用户102可以按或者按且保持搜索按钮来向客户端设备104通知搜索手势在其后。在虚拟搜索按钮或图标被使用的情况下,当至少在显示器上显示的内容的子集是可被搜索的或者被允许用作用于执行搜索的搜索查询的一部分时,客户端设备104可以呈现这个虚拟搜索按钮或图标。通过例子而不限制,当用户正在使用客户端设备104中的文字处理应用时,在该文字处理应用中呈现的内容可能是可被搜索的并且被用于文本搜索。客户端设备104然后可以呈现重叠在应用上的虚拟搜索按钮或图标以便允许用户102启动搜索手势。附加地或替换地,客户端设备104可以从用户102接收语音命令或输入以便开始搜索手势。
在一些实施例中,客户端设备104可以允许用户102合作地使用两根或更多根手指来指示定义内容区的搜索手势。通过例子而不限制,用户102可以用手指按且保持在显示器上的区域或斑点,并且使用另一手指来绘制手势以便在显示器上定义内容区。在一个实施例中,用户102可以按且保持在显示器上的任何区域或斑点以便启动搜索手势。在另一实施例中,用户102可以按且保持在显示器上的诸如显示器的底角中的一个这样的指定区域或斑点以便指示搜索手势的启动。在这些例子的每一个中,第一触摸构成指示搜索手势是即将发生的命令,而第二触摸包括定义搜索的范围以及启动搜索的手势。
在其它实施例中,用户102可以按和/或保持在显示器上的区域或斑点达诸如1秒这样的预定时间段,以便指示用于定义内容区的搜索手势的启动,后面是定义搜索的范围的手势。在这个例子中,按和/或保持以及定义搜索的范围的手势作为一个连续运动被执行。
在一些实施例中,响应于接收到由用户102按和/或保持在显示器上的区域或斑点的指示,客户端设备104可以呈现图标、指示等等来向用户102指示客户端设备104正进入哪一个模式(平移、搜索、拷贝等)。例如,用户102可以用手指按和/或保持显示器上的区域或斑点。响应于其,客户端设备104可以呈现例如平移图标(例如,在按压手指的下面),其指示客户端设备104准备好从用户102接收平移手势。如果用户102继续按和/或保持该区域或斑点达第一预定时间段,则客户端设备104可以将平移图标改变为搜索图标,其指示客户端设备104准备好从用户102接收搜索手势。在由客户端设备104呈现搜索图标时,用户102可以开始执行手势以便在显示器上定义内容区。在一个实施例中,搜索图标或平移图标可以具有与在来自手指的压力下的区域成比例的尺寸。附加地或替换地,搜索图标或平移图标可以接近于直接在按压手指下面(例如,稍微偏离用户的手指)被定位,使得该图标不被用户的手指阻碍。
在另有的其它实施例中,客户端设备104可能能够大体上实时地动态区别各种手势,以便确定对于任何给定手势来说用户102是意图输入搜索手势或是平移或者滚动屏幕上的内容的刷手势。例如,客户端设备104可以基于例如手势的曲度、手势以其正被输入的速度、和/或上下文信息(例如,客户端设备是否正在移动、在什么速度、在什么加速度等)来区别手势的类型。以这种方式,客户端设备104可以被配置成在没有指示搜索手势即将到来的任何特殊命令的情况下来确定搜索手势。例如,假定用户正在将活动窗口拖曳到例如显示器的顶部。在这样的情况下,系统能够识别这样的事件使得搜索框或搜索将不被错误地触发。客户端设备104的手势学习模块130可以被配置成通过从用户与客户端设备104过去的交互中学习来增强这个手势确定,以便从任何给定手势推断用户的意图。
在一些实施例中,附加于或代替客户端设备104中的预定义手势,客户端设备104可以被配置成允许用户102定义一个或多个用户定义的手势。在那种情况下,手势学习模块130可以为用户102提供会话以便定义用于平移、搜索、拷贝、粘贴、删除等的用户定义的手势。通过例子而不限制,用户102可以定义用来确定内容区的语义和方式。例如,用户102可以以核对标记的形式将搜索手势定义为:<手势名称=“检查” 动作=“搜索” roc=“外箱”/>。附加地或替换地,手势学习模块130可以收集针对这些用户定义的手势中的每一个的诸如移动速度这样的信息以便将用户定义的手势彼此区分。这些用户定义的手势和/或预定义手势的定义可以被存储在储存库中,诸如在其它数据126中。
图12A-12E图示了附加的示例性搜索手势,其可以被用来定义搜索查询或者启动查询输入区域的搜索或显示。图12A图示了通过触摸或者重叠内容区来定义内容区的示例性的通常为S形的手势。图12B图示了同样通过触摸或者重叠内容区来定义内容区的示例性的波形曲线(squiggle)手势。图12C图示了示例性的类似问号的搜索手势。图12C的类似问号的手势可以通过触摸或者重叠内容或者通过大体上界定内容来定义内容区。此外,用户可以将点放在手势的末端以便当客户设备104的内容分析模块122制定针对搜索的搜索查询时指示特定内容应该被给予较高的权重。替换地,点的地点能够被用来指定要被搜索的源(例如,因特网、本地存储器、特定文件夹或文件等)。图12D是对类似问号的手势的变化,其中用户已将点放置在术语“renting(出租)”上,从而指示搜索查询应该更重地对该术语进行加权。图12E图示了也通过触摸或者重叠内容区来定义内容区的示例性的核对标记手势。
替换的实施例
尽管前述实施例描述了客户端设备104能够响应于接收到搜索手势而启动因特网搜索,但是本公开不限于因特网的搜索。
在一个实施例中,客户端设备104附加地或替换地可以响应于接收到定义内容区的搜索手势来启动本地搜索,标识至少形成针对搜索的部分基础的主题,或者否则指示搜索功能。在一些实施例中,本地搜索可以包括具有内容区的应用内的搜索。在其它实施例中,本地搜索可以包括整个客户端设备104的本地存储器114或客户端设备104的指定存储器或文件夹内的搜索。例如,用户102可能正在使用电子邮件应用读电子邮件。用户102可能想要搜索被包括在该电子邮件中的特定信息。用户102然后可以执行搜索手势来定义包括或者大体上包括电子邮件中要被搜索的期望的信息的内容区,如上面描述的。客户端设备104然后可以至少基于内容区来在电子邮件应用(例如所有的电子邮件文件夹)内执行搜索。客户端设备104可以在电子邮件应用上重叠的窗口中呈现一个或多个搜索结果。
在另一实施例中,客户端设备104可以基于用户102的搜索手势来启动图像搜索。例如,用户102可能记录下图像处理应用或网页中的图像并且想要执行与该图像有关的搜索。用户102可以如在前述实施例中所描述的那样执行搜索手势,以便定义内容区或者否则标识包括图像中的全部或部分的主题。
在一个实施例中,响应于搜索手势的完成,客户端设备104可以使用图像来制定搜索查询并且为用户102执行图像搜索。在接收到一个或多个搜索结果时,客户端设备104可以将一个或多个搜索结果呈现给用户102,所述用户102可以通过对所述一个或多个搜索结果执行新的搜索手势来进一步细化搜索。
在其它实施例中,客户端设备104可以进一步包括图像识别模块(未示出),其可以标识图像的一部分中的一个或多个对象,其由内容区定义或者为经标识的主题(例如,面部、界标、产品等)的一部分。客户端设备104然后可以使用经标识的一个或多个对象来制定搜索查询并且为用户102执行图像搜索。附加地,客户端设备104可以在执行图像搜索之前将搜索查询呈现给用户102。客户端设备104可以允许用户102确认或修改搜索查询,并且提交经确认或修改的搜索查询来完成图像搜索。
在一些实施例中,客户端设备104可以包括图像提取模块(未示出),其可以从图像提取图像的由搜索手势定义的一部分并且将所提取的图像的一部分提交给针对图像搜索的搜索服务。
在另有的其它实施例中,客户端设备104可以指示搜索服务将图像搜索聚焦或者限制于图像的由搜索手势定义的一部分上。客户端设备104可以通过在图像上添加指示符来提供这个指示。例如,客户端设备可以将诸如表示搜索手势的线这样的搜索手势的表示附着到图像,并且将具有所附着的搜索手势的表示的图像提交给针对图像搜索的搜索服务。用户102可以进一步交互式地通过重定位手势、调整大小的手势或附加的搜索手势来更改图像搜索的范围,如前述描述中所指示的。
示范性的方法
参考图16-20描述了用于执行基于手势的搜索的示范性的方法。这些示范性的方法能够在计算机可执行指令的一般上下文中被描述。通常,计算机可执行指令可以包括执行特定功能或者实施特定抽象数据类型的例行程序、程序、对象、构件、数据结构、过程、模块、函数等等。所述方法还能够被实践在分布式计算环境中,其中功能由通过通信网络或通信云链接的远程处理设备来执行。在分布式计算环境中,计算机可执行指令可以位于包括存储器存储设备的本地和远程计算机存储媒体两者中。
示范性的方法被以表示操作的序列的逻辑流程图的形式图示为块的集合,所述操作能够用硬件、软件、固件、或其组合实施。对方法进行描述的顺序不旨在被解释为限制,并且任何数目的所描述的方法块能够被以任何顺序组合来实施所述方法或替换方法。附加地,单独的操作可以被从方法中省略而不背离本文中所描述的主题的精神和范围。在软件的上下文中,块表示计算机指令,当其被一个或多个处理器执行时执行所记载的操作。
图16图示了基于手势执行搜索的第一示范性方法1600。方法1600在示例性的客户端设备104的上下文中被描述以便于说明,但不限于使用这样的客户端设备被执行。
在块1602 处,内容被显示在诸如客户端设备104的显示器200这样的显示器上。内容可以包括文本、图像、图片、音频内容的可视表示、和/或视频。内容可以被显示在诸如web浏览器这样的应用内。
在块1604处,定义内容区的搜索手势被检测。该搜索手势可以包括触摸屏或触摸板上的触摸输入、由图像捕获设备检测到的身体运动、和/或由用户输入设备控制的光标的运动。由搜索手势定义的内容区可以包括被搜索手势界定或者大体上界定的区、被搜索手势触摸、接近于搜索手势或者被搜索手势重叠的区。在一个例子中,搜索手势可以包括界定或者大体上界定内容区的大体上圆形的运动。
响应于检测到搜索手势,在1606处,由搜索手势定义的内容区的表示可以被显示在所显示的内容上。内容区的表示可以包括包围内容区的线、内容区的加亮视图、和/或内容区的放大镜头视图。
在块1608处,搜索查询可以基于由搜索手势定义的内容区而被制定。搜索查询可能是基于所述区内的内容和可能地基于与搜索相关的上下文信息的。上下文信息可以包括接近于内容区的内容、在内容区内具有其一部分的段落、在内容区内具有其一部分的句子、在内容区内具有文档的一部分的文档的标题、所显示内容位于其处的统一资源定位符、用来显示所显示内容的应用的应用标识符、与所显示内容相关联的元数据、和/或执行搜索的客户端设备的地理地点。
在块1610处,使用搜索查询的搜索可以响应于搜索手势的完成而自动地被导致执行。搜索查询可以被发送到远程搜索引擎,其是与用户的客户端设备104分开的。附加地或替换地,搜索可以在客户端设备104中被在本地执行。在块1612处,搜索结果被显示在客户端设备104的显示器上。
在块1614处,客户端设备基于例如诸如图4中示出的调整大小的手势、诸如图5中示出的重定位手势、诸如图6中示出的后续手势、如图9中示出的搜索实体的选择、诸如图10中示出的语音输入和/或眼追踪数据、或指示搜索查询应该被更改的任何其它输入来确定搜索查询是否应该被更改。如果搜索查询将被更改,则方法1600返回到块1608来依照所述更改重新制定搜索查询。
如果搜索查询将不被更改,则方法1600继续到块1616,在所述块1616处客户端设备104接收诸如图7中示出的展开式手势,并且显示被展开的搜索结果。在块1618处,客户端设备接收诸如图11中示出的隐藏或折叠手势,并且隐藏或者折叠搜索结果,这有效地将方法1600返回到块1602来再次显示应用的原始内容。因此,用户能够从应用内搜索内容,而不用中断用户的工作流程。
图17图示了基于手势执行搜索的第二示范性方法1700。方法1700在示例性的客户端设备104的上下文中被描述以便于说明,但不限于使用这样的客户端设备被执行。
在块1702处,内容被客户端设备104消费。通过例子而不限制,内容可以被显示在诸如客户端设备104的显示器200这样的显示器上。内容可以被显示在应用内,所述应用诸如客户端设备104上的web浏览器、电子邮件客户端、或任何其它应用。附加地或替换地,诸如视频或音频这样的内容可以由客户端设备104的媒体播放机进行播放。内容可以包括文本、图像、图片、音频内容的可视表示、和/或视频。
在块1704处,搜索手势被检测。搜索手势可以通过例如客户端设备104的运动检测模块(未示出)或在上面的前述描述中所描述的一个或多个手势检测方法的任何组合检测。附加地或替换地,搜索手势可以包括客户端设备104它本身的运动。客户端设备104的搜索手势可以由加速度计、姿态传感器、罗盘或可以确定运动的任何设备进行检测,所述运动包括但不限于客户端设备104的方向、位置、速度和/或加速度。
在块1706处,由搜索手势定义的被消费内容(诸如所显示的内容)的一个或多个主题被标识。搜索手势可以在所显示内容中的全部或部分中指示一个或多个主题,其然后被客户端设备104标识。此外,客户端设备104可以进一步标识上下文信息,其可以提供关于一个或多个主题被呈现在其中的上下文的信号。
在块1708处,响应于搜索手势的完成,搜索可以自动地被导致至少部分地基于经标识的一个或多个主题被执行。在一个实施例中,搜索查询可以被发送到远程搜索引擎,其是与用户的客户端设备104分开的。附加地或替换地,搜索可以在客户端设备104中被在本地执行。
在块1710处,搜索结果被显示在客户端设备104的显示器上。
在块1712处,客户端设备104基于例如诸如图4中示出的调整大小的手势、诸如图5中示出的重定位手势、诸如图6中示出的后续手势、如图9中示出的搜索实体的选择、诸如图10中示出的语音输入和/或眼追踪数据、或指示搜索查询应该被更改的任何其它输入来确定搜索查询是否应该被更改。如果搜索查询将被更改,则方法1700返回到块1706来依照所述更改重新制定搜索查询。
如果搜索查询将不被更改,则方法1700继续到块1714,在所述块1714处客户端设备104接收诸如图7中示出的展开式手势,并且显示被展开的搜索结果。在块1716处,客户端设备接收诸如图11中示出的隐藏或折叠手势,并且隐藏或者折叠搜索结果,这有效地将方法1700返回到块1702以便再次显示应用的原始内容。因此,用户能够从应用内搜索内容,而不用中断用户的工作流程。
图18图示了基于手势执行搜索功能的第三示范性方法1800。在块1802处,内容被显示在显示屏幕上。在一些实施例中,桌面的主页可能被呈现或者与(一个或多个)应用相关联的一个或多个窗口可能被呈现。这样的内容可以包括文本、图像、图片、音频内容的可视表示和/或视频内容。
在块1804处,指示打算要启动搜索功能的搜索手势被检测。在一个实施例中,搜索手势是由用户输入设备控制的光标的刷出运动。就这点而言,光标和/或所选择的内容到或跨越与显示区域相关联的显示边缘的移动能够被检测。如先前所描述的那样,显示区域可以是显示屏幕视图或窗口视图。因此,显示边缘可以是桌面视图内的窗口的边缘或者显示视图或显示屏幕(即,桌面视图或环境)的边缘。
响应于检测到搜索手势,在块1806处,确定搜索内容是否与该搜索手势相关联。搜索内容指的是在显示屏幕视图内显示的内容区,对于其来说,搜索旨在或者期望被与其相关联地执行。就这点而言,可以标识的是,是否仅选择器接近和/或接触显示边缘(即,选择器不与内容相关联)或是否选择器与内容相关联地接近和/或接触显示边缘(例如,内容与该选择器相关地被拖放,在选择器接近显示边缘时内容被加亮或者否则被选择等)。
如果确定搜索内容不与搜索手势相关联,则查询输入区域被显示在显示屏幕上。这在块1808处被指示。在一些实施例中,话筒可能被附加地或替换地启动使得用户能够说出搜索查询。这样的话筒选项可能被自动地提供或者基于由用户设置的用户偏好被提供。另一方面,如果确定搜索内容与搜索手势相关联,则与这样的搜索内容有关的搜索被自动地启动(不需要用户干预),如在块1810处所指示的那样。就这点而言,搜索查询可以被发送到远程搜索引擎(例如,因特网搜索引擎),其是与用户的客户端设备104分开的。附加地或替换地,搜索可以在客户端设备104中被在本地执行。在一些实施例中,搜索查询可以基于由搜索手势指示的内容而被制定。搜索查询可能是基于内容的和可能地基于上下文信息的,其是与搜索相关的。这样的上下文信息可以包括接近于内容区的内容、在内容区内具有其一部分的段落、在内容区内具有其一部分的句子、在内容区内具有文档的一部分的文档的标题、所显示内容位于其处的统一资源定位符、用来显示所显示内容的应用的应用标识符、与所显示内容相关联的元数据、和/或启动搜索的客户端设备的地理地点。在块1812处,搜索结果被显示在诸如客户端设备104这样的客户端设备的显示器屏幕上。
图19图示了基于手势执行搜索功能的另一示范性方法1900。在块1902处,具有内容的显示区域被呈现在客户端设备的显示屏幕内,所述客户端设备诸如具有控制选择器或光标的输入设备的客户端设备。在一个实施例中,显示区域可以为整个显示屏幕,诸如桌面的主页。在这样的实施例中,显示区域的显示边缘与显示屏幕视图的边缘相符。在附加的或替换的实施例中,显示区域可以是窗口,诸如与应用(例如,web浏览器、文字处理文档等)相关联的窗口,所述窗口具有限定或邻接显示区域的显示边缘。
在块1904处,选择器的移动或运动被监控。其后,在块1906处,识别到选择器从显示区域内移动到显示区域的边缘或跨越显示区域的边缘移动。在某些情况下,这样的识别可以依照诸如特定速度的移动等之类的其它参数而发生。在块1908处,选择器接近于其移动、穿过其、或者与其接触的显示区域的特定边缘被标识。
在块1910处,查询输入区域的落点被确定。这样的查询输入区域能够基于选择器移动到或者跨越的显示区域的特定边缘被显示在具有显示屏幕视图的位置处。例如,假定选择器接近和/或接触顶部显示边缘。在这样的情况下,查询输入区域能够靠近顶部边缘被显示。尽管用于放置查询输入区域的地点或位置相对于选择器的移动被描述,但是其它参数可以被附加地或替换地使用来确定查询输入区域的落点。例如,用户偏好或默认地点(例如,显示屏幕的中心或顶部)能够被用来确定查询输入区域的落点。在另一例子中,如果有可能的话,针对查询输入区域的落点的优选地点可以在显示区域或活动显示区域的外面(例如,重叠在显示屏幕的不是活动的一部分上)。如能够被理解的那样,在一些实施例中,与显示区域的任何显示边缘接触可以导致查询输入区域在显示屏幕内的预定地点(例如,顶部中心部分)处的自动显示。
在块1912处,查询输入区域依照所确定的地点而被显示在客户端设备的显示屏幕内。就这点而言,查询输入区域或搜索框独立于用户打开web浏览器和/或导航到搜索服务被显示给用户。也就是说,查询输入区域能够在检测到搜索手势时被显示,即使web浏览器在搜索手势被检测到时可能不是打开的或活动的。
查询输入区域可以被显示直到时间段流逝和/或事件的发生为止。通过例子而不限制,在不使用查询输入区域(例如,用户打字、选择等)的情况下,查询输入区域可以保持活动直到预定时间段已经流逝为止。通过另外的例子,隐藏或折叠手势能够被接收到,这有效地导致原始内容的显示而不用中断用户的工作流程。例如,假定用户执行触发搜索功能的手势。进一步假定在显示搜索框或搜索结果时,用户移动鼠标远离被触发的搜索框或搜索结果。在这样的情况下,搜索框或搜索结果能够自动地被移除、隐藏或者最小化。
图20图示了基于手势执行搜索功能的另一示范性方法2000。在块2002处,具有内容的显示区域被呈现在客户端设备的显示屏幕内,所述客户端设备诸如具有控制选择器或光标的输入设备的客户端设备。在一个实施例中,显示区域可以为整个显示屏幕视图,诸如桌面环境。在这样的实施例中,显示区域的显示边缘与显示屏幕的边缘相符。在附加的或替换的实施例中,显示区域可以是由一组显示边缘限定或者邻接的窗口,诸如与应用(例如,web浏览器、文字处理文档等)相关联的窗口。
在块2004处,选择器的移动或运动被监控。其后,在块2006处,识别到选择器从显示区域内移动到显示区域的边缘或跨越显示区域的边缘移动。在某些情况下,这样的识别可以依照诸如特定速度的移动等之类的其它参数发生。在块2008处,识别到内容区与选择器相关联。例如,在一个实施方案中,内容区可以被拖曳到显示区域的显示边缘。在另一实施方案中,内容区可以在选择器接近、接触、或者穿过显示区域的显示边缘时被选择或者加亮。
在块2010处,内容的类型被标识。例如,能够标识所述内容是否是文本、图像、视频等。在块2012处,内容的上下文被标识或者引用。上下文信息可以包括例如接近于内容区的内容、在内容区内具有其一部分的段落、在内容区内具有其一部分的句子、在内容区内具有文档的一部分的文档的标题、所显示内容位于其处的统一资源定位符、在内容区内具有其一部分的图像、在内容区内具有其一部分的录音的表示、和/或在内容区内具有其一部分的视频。
在块2014处,搜索查询基于内容区、内容的类型、和/或内容的上下文而被自动地生成(不需要用户干预)。其后,在块2016处,搜索基于所生成的搜索查询被启动。就这点而言,所生成的搜索查询可以被自动地提交给搜索引擎或搜索服务。附加地或替换地,所生成的搜索查询和可能地其它搜索查询能够在显示器上被呈现给用户并且请求搜索查询的确认或选择。
被标识为与搜索查询相关的搜索结果被自动地显示在显示屏幕内。这在块2018处被指示。因此,搜索服务可以将与查询相关的一个或多个搜索结果返回给客户端设备104,所述客户端设备104然后可以将一个或多个搜索结果呈现给用户102。如能够被理解的那样,搜索结果独立于用户打开web浏览器和/或导航到搜索服务而被显示给用户。也就是说,搜索结果列表能够在检测到搜索手势(例如,与内容相关联的刷出事件)时被显示,即使web浏览器在搜索手势被检测到时可能不是打开的或活动的。
在某些情况下,搜索结果的落点可以被确定。例如,相关搜索结果能够基于选择器移动到或者跨越的显示区域的特定边缘被显示在具有显示屏幕的位置处。例如,假定选择器接近和/或跨越顶部显示边缘。在这样的情况下,搜索结果能够靠近顶部边缘被显示。尽管用于放置搜索结果的地点或位置相对于选择器的移动被描述,但是其它参数可以被附加地或替换地使用来确定搜索结果列表的落点。例如,用户偏好或默认地点(例如,显示屏幕的中心或顶部)能够被用来确定搜索结果的落点。在另一例子中,如果有可能的话,针对搜索结果的放置的优选地点可以在显示区域或活动显示区域的外面(例如,重叠在显示屏幕的不是活动的一部分上)。
搜索结果可以被显示直到时间段流逝和/或事件的发生为止。通过例子而不限制,搜索结果可以在不使用搜索结果(例如,用户查看、选择等)的情况下保持活动或者被显示在显示屏幕上直到预定时间段已经流逝为止。通过另外的例子,隐藏或折叠手势能够被接收到,这有效地导致原始内容的显示而不用中断用户的工作流程。
本文中所描述的方法中任一项的动作中的任一个可以至少部分地由处理器或其它电子设备基于存储在一个或多个计算机可读媒体上的指令被实施。
结论
尽管已经以特定于结构特征和/或方法动作的语言对本发明进行了描述,但是应当理解,本发明不必被限制于所描述的特定特征或动作。相反,特定特征和动作作为实施本发明的示范性形式被公开。

Claims (21)

1.一种启动搜索功能的计算机实施的方法,所述方法包括:
在配置有计算机可执行指令的一个或多个处理器的控制下:
检测选择器从显示区域的内部通过所述显示区域的外部边缘的移动,所述选择器被耦合到用户设备的输入设备控制,所述显示区域包括用于显示内容的内容区;以及
响应于检测到所述选择器从所述显示区域内通过所述显示区域的所述外部边缘的移动:
基于所述选择器移动通过其的所述显示区域的所述外部边缘,确定搜索查询输入区域的落点,所述落点与所述选择器移动通过其的所述显示区域的外部边缘相对应;并且
呈现与搜索引擎相关联的所述搜索查询输入区域。
2.根据权利要求1所述的方法,其中,所述显示区域包括顶部边缘、右侧边缘、底部边缘以及左侧边缘。
3.根据权利要求1所述的方法,其中,检测所述选择器从所述显示区域的内部通过所述显示区域的外部边缘的移动包括检测所述选择器从所述显示区域的内部通过所述显示区域的外部边缘移动的速度。
4.根据权利要求1所述的方法,其中,所述确定包括标识所述选择器被移动到的所述显示区域的边缘。
5.根据权利要求4所述的方法,其中,所述确定包括依照所述选择器被移动到的所标识的边缘将所述搜索查询输入区域显示在特定地点处。
6.根据权利要求1所述的方法,其中,所述搜索查询输入区域将内容重叠在显示屏幕视图的顶部处。
7.根据权利要求1所述的方法,其中,所述搜索查询输入区域包括文本框,在所述文本框中用户能够提供用来搜索与其相关的内容的文本。
8.一种用于基于手势的搜索的计算机实施的方法,包括:
检测包括与内容区相关联的选择器从显示区域的内部到与所述显示区域的边缘接触的移动的搜索手势,所述选择器被耦合到用户设备的输入设备控制,所述检测包括:
选择所述内容区的一部分;并且
将所述内容区的选定部分从所述显示区域的内部拖曳到与所述显示区域的边缘接触;
响应于检测到所述搜索手势,基于与所述选择器相关联的所述内容区的所述选定部分自动地生成搜索查询;以及
使用所生成的搜索查询来启动要被执行的搜索。
9.根据权利要求8所述的方法,还包括通过将所述搜索的一个或多个搜索结果重叠在显示所述显示区域的显示屏幕上来呈现所述一个或多个搜索结果。
10.根据权利要求8所述的方法,其中,所述搜索查询至少包括与所述选择器相关联的所述内容区的一部分。
11.根据权利要求10所述的方法,其中,所述搜索查询还包括提供能够用来提高一个或多个搜索结果的相关性的信号的上下文信息。
12.根据权利要求11所述的方法,其中,所述上下文信息包括以下各项中的一个或多个:
接近于与所述选择器相关联的内容区的内容;
在与所述选择器相关联的所述内容区内具有其一部分的段落;
在与所述选择器相关联的所述内容区内具有其一部分的句子;
在与所述选择器相关联的所述内容区内具有文档的一部分的文档的标题;
所述内容区位于其处的统一资源定位符;
用来显示所述内容区的应用的应用标识符;或
与所述内容区相关联的元数据。
13.根据权利要求8所述的方法,其中,启动要被执行的搜索包括将所述搜索查询发送到远程搜索引擎、在本地执行所述搜索、或其的组合。
14.根据权利要求8所述的方法,其中,与所述选择器相关联的内容区在执行所述搜索手势时被选择。
15.根据权利要求8所述的方法,其中,与所述选择器相关联的内容区被与所述选择器的移动相关地移动。
16.一种用于基于手势的搜索的客户端设备,其包括:
处理器;
存储器,其被通信地耦合到所述处理器;
显示屏幕,其被配置成显示内容以及被配置成接收用户输入;
手势检测模块,其被存储在所述存储器中并且能够在所述处理器上执行来检测包括选择器从显示区域的内部到与所述显示区域的边缘接触的移动的搜索手势,所述选择器被耦合到用户设备的输入设备控制,所述显示区域包括用于显示内容的内容区;
搜索功能标识模块,其被配置成基于搜索手势是否与特定内容相关联而标识启动的搜索功能;以及
功能启动模块,其被配置成启动所述搜索功能,查询输入区域的显示在所述搜索手势不与特定内容相关联时被启动,而搜索在所述搜索手势与特定内容相关联时被启动,所述查询输入区域的落点是基于所述选择器被移动到的所述显示区域的所述边缘的,所述落点与所述选择器移动通过其的所述显示区域的所述边缘相对应,并且其中,使用基于与所述选择器相关联的所述内容区的选定部分自动地生成的搜索查询,来启动要被执行的搜索。
17.根据权利要求16所述的客户端设备,其中,所述搜索基于与所述搜索手势相关联的所述特定内容通过使搜索经由搜索引擎被执行而被启动。
18.根据权利要求17所述的客户端设备,其中,与所述搜索手势相关联的特定内容在所述选择器移动到所述显示区域的边缘时被选择,或者连同所述选择器一起被移动到所述显示区域的边缘。
19.根据权利要求16所述的客户端设备,其中,所述查询输入区域的落点基于预定地点或者依照所述选择器被移动到的边缘而被确定。
20.一种启动搜索功能的计算机实施的装置,所述装置包括:
在配置有计算机可执行指令的一个或多个处理器的控制下:
用于检测选择器从显示区域的内部通过所述显示区域的外部边缘的移动的单元,所述选择器被耦合到用户设备的输入设备控制,并且,所述显示区域包括用于显示内容的内容区;以及
用于响应于检测到所述选择器从所述显示区域内通过所述显示区域的所述外部边缘的移动而执行下列动作的单元:
基于所述选择器移动通过其的所述显示区域的所述外部边缘,确定搜索查询输入区域的落点,所述落点与所述选择器移动通过其的所述显示区域的外部边缘相对应;并且
呈现与搜索引擎相关联的所述搜索查询输入区域。
21.一种用于基于手势的搜索的计算机实施的装置,包括:
用于检测包括与内容区相关联的选择器从显示区域的内部到与所述显示区域的边缘接触的移动的搜索手势的单元,所述选择器被耦合到用户设备的输入设备控制,所述用于检测的单元包括:
用于选择所述内容区的一部分的单元;并且
用于将所述内容区的选定部分从所述显示区域的内部拖曳到与所述显示区域的边缘接触的单元;
用于响应于检测到所述搜索手势,基于与所述选择器相关联的所述内容区的所述选定部分自动地生成搜索查询的单元;以及
用于使用所生成的搜索查询来启动要被执行的搜索的单元。
CN201180073610.9A 2011-09-21 2011-09-21 基于手势的搜索 Active CN103797481B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/079926 WO2013040761A1 (en) 2011-09-21 2011-09-21 Gesture based search

Publications (2)

Publication Number Publication Date
CN103797481A CN103797481A (zh) 2014-05-14
CN103797481B true CN103797481B (zh) 2018-07-31

Family

ID=47913758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180073610.9A Active CN103797481B (zh) 2011-09-21 2011-09-21 基于手势的搜索

Country Status (3)

Country Link
EP (1) EP2758899B1 (zh)
CN (1) CN103797481B (zh)
WO (1) WO2013040761A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101690528B1 (ko) 2015-06-05 2016-12-28 오드컨셉 주식회사 검색 정보를 표시하는 방법, 장치 및 컴퓨터 프로그램
CN104216973B (zh) * 2014-08-27 2018-07-31 小米科技有限责任公司 一种数据搜索的方法及装置
CN104281647B (zh) * 2014-09-01 2018-11-20 百度在线网络技术(北京)有限公司 搜索输入方法和装置
CN105512125A (zh) * 2014-09-24 2016-04-20 阿里巴巴集团控股有限公司 搜索方法及装置
CN105446608A (zh) * 2014-09-25 2016-03-30 阿里巴巴集团控股有限公司 信息搜索方法、信息搜索装置及电子装置
US10528597B2 (en) 2014-09-28 2020-01-07 Microsoft Technology Licensing, Llc Graph-driven authoring in productivity tools
US10210146B2 (en) * 2014-09-28 2019-02-19 Microsoft Technology Licensing, Llc Productivity tools for content authoring
US20170061482A1 (en) * 2015-08-24 2017-03-02 TCL Research America Inc. Focal-point based recommendation method and system
CN106125937B (zh) * 2016-06-30 2019-05-31 联想(北京)有限公司 一种信息处理方法和处理器
CN108268585A (zh) * 2017-08-29 2018-07-10 广州市动景计算机科技有限公司 新闻内容关联检索方法、装置及终端
US10997760B2 (en) * 2018-08-31 2021-05-04 Snap Inc. Augmented reality anthropomorphization system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292174B1 (en) * 1997-08-23 2001-09-18 Immersion Corporation Enhanced cursor control using limited-workspace force feedback devices
WO2005008444A2 (en) * 2003-07-14 2005-01-27 Matt Pallakoff System and method for a portbale multimedia client
US7365735B2 (en) * 2004-03-23 2008-04-29 Fujitsu Limited Translation controlled cursor
US7487461B2 (en) * 2005-05-04 2009-02-03 International Business Machines Corporation System and method for issuing commands based on pen motions on a graphical keyboard
US8159457B2 (en) 2006-09-27 2012-04-17 Yahoo! Inc. Zero-click activation of an application
US7693842B2 (en) * 2007-04-09 2010-04-06 Microsoft Corporation In situ search for active note taking
KR20080098732A (ko) * 2007-05-07 2008-11-12 이성범 드래글
US8589374B2 (en) * 2009-03-16 2013-11-19 Apple Inc. Multifunction device with integrated search and application selection
CN102024064B (zh) * 2011-01-11 2012-12-26 宇龙计算机通信科技(深圳)有限公司 快速搜索方法和移动通信终端

Also Published As

Publication number Publication date
EP2758899A4 (en) 2015-09-16
EP2758899A1 (en) 2014-07-30
CN103797481A (zh) 2014-05-14
WO2013040761A1 (en) 2013-03-28
EP2758899B1 (en) 2021-06-02

Similar Documents

Publication Publication Date Title
CN103797481B (zh) 基于手势的搜索
US20200301950A1 (en) Method and System for Intelligently Suggesting Tags for Documents
US10409851B2 (en) Gesture-based search
US9977835B2 (en) Queryless search based on context
US10394420B2 (en) Computer-implemented method of generating a content recommendation interface
US11017045B2 (en) Personalized user experience and search-based recommendations
EP3469477B1 (en) Intelligent virtual keyboards
US20130006957A1 (en) Gesture-based search
White Interactions with search systems
TWI573042B (zh) 基於手勢標記來檢視相關內容
US10514833B2 (en) Contextual paste target prediction
US7941429B2 (en) Interface for visually searching and navigating objects
CN108629033B (zh) 电子文本的操纵和显示
US20170357521A1 (en) Virtual keyboard with intent-based, dynamically generated task icons
US20130241952A1 (en) Systems and methods for delivery techniques of contextualized services on mobile devices
US20120311509A1 (en) Reader with enhanced user functionality
WO2017059388A1 (en) Action suggestions for user-selected content
US20170103072A1 (en) Generating Image Tags
US20150006504A1 (en) Method of and system for displaying a plurality of user-selectable refinements to a search query
CN105849758A (zh) 多模式内容消费模型
US20240118803A1 (en) System and method of generating digital ink notes
US20230350967A1 (en) Assistance user interface for computer accessibility
KR101727821B1 (ko) 컨텐츠 내 단어에 대한 정답성 검색 결과를 제공하는 방법 및 시스템
US20150160830A1 (en) Interactive content consumption through text and image selection

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150713

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150713

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant