(57)【要約】  一般に、本明細書で説明される主題は、ジェスチャベースの入力を用いた検索を実行するための方法、システム、およびプログラム製品の形で実施してもよい。検索システムは、クライアントデバイスのディスプレイ上に描かれた1つまたは複数の文字に対応するジェスチャデータを受信する。検索システムは、ジェスチャデータに対応する1つまたは複数の文字を認識する。検索システムは、1つまたは複数の文字をクエリ条件として含む検索を形成する。検索システムは、検索に関する1つまたは複数の検索結果と、1つまたは複数の文字を識別するデータとをクライアントデバイスに通信する。
2014535110.tif 000002
【特許請求の範囲】
【請求項１】
(i)クライアントデバイスのディスプレイ上に描かれた1つまたは複数の文字に対応するピクセルマップと、(ii)1つまたは複数の他のピクセルマップを使用して検索システムによってこれまで認識した1つまたは複数の他の文字を識別するデータとを前記検索システムによって受信するステップと、
前記受信したピクセルマップと前記1つまたは複数の他の文字とに基づいて、前記ピクセルマップに対応する前記1つまたは複数の文字を前記検索システムによって認識するステップと、
前記1つまたは複数の文字と前記1つまたは複数の他の文字とをクエリ条件として含む検索を前記検索システムによって形成するステップと、
(i)前記検索に関する1つまたは複数の検索結果と、(ii)前記受信したピクセルマップに対応する前記1つまたは複数の文字を識別するデータと、(iii)前記1つまたは複数の他のピクセルマップを使用して前記検索システムによってこれまで認識した前記1つまたは複数の他の文字を識別するデータとを前記検索システムによって前記クライアントデバイスに通信するステップと
を含むコンピュータ実施方法。
【請求項２】
前記クライアントデバイスのユーザが前記検索を開始する前に前記ピクセルマップが受信される、請求項1に記載の方法。
【請求項３】
前記ピクセルマップが、(i)前記1つまたは複数の文字が描かれた前記ディスプレイ上の点を識別し、(ii)前記ディスプレイ上の前記点が描かれた順序を指定する、請求項1に記載の方法。
【請求項４】
前記検索がインスタント検索を含む、請求項1に記載の方法。
【請求項５】
前記検索が画像検索を含む、請求項1に記載の方法。
【請求項６】
1つまたは複数のコンピュータと、前記1つまたは複数のコンピュータによって実行されるとき、前記1つまたは複数のコンピュータに、
(i)クライアントデバイスのディスプレイ上に描かれた1つまたは複数の文字に対応するピクセルマップと、(ii)1つまたは複数の他のピクセルマップを使用して検索システムによってこれまで認識した1つまたは複数の他の文字を識別するデータとを前記検索システムによって受信するステップと、
前記受信したピクセルマップと前記1つまたは複数の他の文字とに基づいて、前記ピクセルマップに対応する前記1つまたは複数の文字を前記検索システムによって認識するステップと、
前記1つまたは複数の文字と前記1つまたは複数の他の文字とをクエリ条件として含む検索を前記検索システムによって形成するステップと、
(i)前記検索に関する1つまたは複数の検索結果と、(ii)前記受信したピクセルマップに対応する前記1つまたは複数の文字を識別するデータと、(iii)前記1つまたは複数の他のピクセルマップを使用して前記検索システムによってこれまで認識した前記1つまたは複数の他の文字を識別するデータとを前記検索システムによって前記クライアントデバイスに通信するステップと
を含む動作を実行させるように動作可能な命令を記憶した、1つまたは複数の記憶デバイスと
を含むシステム。
【請求項７】
前記クライアントデバイスのユーザが前記検索を開始する前に前記ピクセルマップが受信される、請求項6に記載のシステム。
【請求項８】
前記ピクセルマップが、(i)前記1つまたは複数の文字が描かれた前記ディスプレイ上の点を識別し、(ii)前記ディスプレイ上の前記点が描かれた順序を指定する、請求項6に記載のシステム。
【請求項９】
前記検索がインスタント検索を含む、請求項6に記載のシステム。
【請求項１０】
前記検索が画像検索を含む、請求項6に記載のシステム。
【請求項１１】
1つまたは複数のコンピュータによって実行可能な命令を含むソフトウェアを記憶した非一時的コンピュータ可読媒体であって、前記命令が、そのような実行時に、前記1つまたは複数のコンピュータに、
(i)クライアントデバイスのディスプレイ上に描かれた1つまたは複数の文字に対応するピクセルマップと、(ii)1つまたは複数の他のピクセルマップを使用して検索システムによってこれまで認識した1つまたは複数の他の文字を識別するデータとを前記検索システムによって受信するステップと、
前記受信したピクセルマップと前記1つまたは複数の他の文字とに基づいて、前記ピクセルマップに対応する前記1つまたは複数の文字を前記検索システムによって認識するステップと、
前記1つまたは複数の文字と前記1つまたは複数の他の文字とをクエリ条件として含む検索を前記検索システムによって形成するステップと、
(i)前記検索に関する1つまたは複数の検索結果と、(ii)前記受信したピクセルマップに対応する前記1つまたは複数の文字を識別するデータと、(iii)前記1つまたは複数の他のピクセルマップを使用して前記検索システムによってこれまで認識した前記1つまたは複数の他の文字を識別するデータを前記検索システムによって前記クライアントデバイスに通信するステップと
を含む動作を実行させる、非一時的コンピュータ可読媒体。
【請求項１２】
前記クライアントデバイスのユーザが前記検索を開始する前に前記ピクセルマップが受信される、請求項11に記載のコンピュータ可読媒体。
【請求項１３】
前記ピクセルマップが、(i)前記1つまたは複数の文字が描かれた前記ディスプレイ上の点を識別し、(ii)前記ディスプレイ上の前記点が描かれた順序を指定する、請求項11に記載のコンピュータ可読媒体。
【請求項１４】
前記検索がインスタント検索を含む、請求項11に記載のコンピュータ可読媒体。
【請求項１５】
前記検索が画像検索を含む、請求項11に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、検索エンジンに関し、1つの特定の実装形態は、ユーザデバイスのディスプレイを介して受信した入力を使用して実行される検索に関する。
【０００２】
関連出願の相互参照
本出願は、その開示が参照により本明細書に組み込まれている、GESTURE-BASED SEARCHという表題の、2011年10月25日に出願した米国出願第13/280,582号の優先権を主張するものである。
【背景技術】
【０００３】
検索の一例は、例えば、インスタント検索であり、ユーザが情報を入力している間に検索結果を返すウェブベースのインスタント検索がある。インスタント検索の検索結果は、一般に、ユーザが追加の情報を入力すると更新される。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示は、検索を促すために、ユーザデバイスと検索システムとの間でネットワークを介して情報を交換できるシステムおよび技法を説明する。一実装形態では、ユーザがパターン、例えば、文字、グリフ、またはある言語の文字に対応するパターンをユーザデバイスのディスプレイ上に描くとき、検索が開始される。ユーザデバイスは、ユーザによって描かれたパターンに関するジェスチャデータを収集して、検索ターム(search term)を構成するこれまでに認識した文字とともに、そのジェスチャデータを検索システムに送信する。
【０００５】
検索システムは、ジェスチャデータに基づいて新しい文字を認識して、新しく認識した文字をこれまで認識した文字と集約することによって、検索タームを更新する。検索システムは、次いで、更新された検索タームに基づいて更新された検索結果を生成する。検索システムは、更新された検索タームと更新された検索結果とをユーザデバイスに返して、ユーザデバイスは更新された条件と更新された検索結果とをそのディスプレイ上に提示する。
【０００６】
一般に、本明細書で説明される主題の一態様は、検索システムが、クライアントデバイスのディスプレイ上に描かれた1つまたは複数の文字に対応するジェスチャデータを受信するステップを含む、コンピュータ実施方法の形で実施してもよい。検索システムはジェスチャデータに対応する1つまたは複数の文字を認識する。検索システムは、1つまたは複数の文字をクエリ条件として含む検索を形成する。検索システムは、検索に関する1つまたは複数の検索結果と、1つまたは複数の文字を識別するデータとをクライアントデバイスに通信する。
【０００７】
本態様の他の実施形態は、対応するシステムとコンピュータプログラム製品とを含む。このシステムは、クライアントデバイスと、クライアントデバイスと対話して、上に列挙された活動を実行するように動作可能な1つまたは複数のコンピュータとを含む。
【０００８】
これらの実施形態および他の実施形態は、以下の特徴のうちの1つまたは複数をオプションとして含んでいてもよい。クライアントデバイスのユーザが検索を開始する前にジェスチャデータを受信してもよい。検索システムは、1つまたは複数の文字に対応するジェスチャデータが受信される前に、検索システムによって先に認識した、1つまたは複数の文字を識別するデータを受信してもよい。検索システムは、1つまたは複数の他の文字を識別するデータを通信してもよい。ジェスチャデータは、1つまたは複数の文字が描かれたディスプレイ上の点を識別し、そのディスプレイ上の点が描かれた順序を指定するピクセルマップを含んでいてもよい。検索は、インスタント検索であってよく、または画像検索であってもよい。
【０００９】
一般に、本明細書で説明される主題の別の態様は、クライアントデバイスがクライアントデバイスのディスプレイ上に描かれた1つまたは複数の文字に対応するジェスチャデータを生成するステップを含むコンピュータ実施方法の形で実施してもよい。クライアントデバイスは、ジェスチャデータを検索システムに送信する。クライアントデバイスは、1つまたは複数の文字と、1つまたは複数の文字を識別するデータとを含む検索を使用して検索システムによって識別されている検索結果を受信する。クライアントデバイスは検索結果を表示する。
【００１０】
これらの実施形態および他の実施形態は、以下の特徴のうちの1つまたは複数をオプションで含んでいてもよい。クライアントデバイスは、制御オブジェクトがクライアントデバイスのディスプレイにもはや接触していないことを判断してもよい。ジェスチャデータは、制御オブジェクトがクライアントデバイスの表示にもはや接触していないことを判断することに応答して生成してもよい。クライアントデバイスは、1つまたは複数の文字を識別するデータを受信することに基づいて、検索タームを表示してもよい。クライアントデバイスは、ユーザが検索を開始したことを検出して、ユーザがクライアントデバイスのディスプレイ上にパターンを描いたことを判断してもよい。
【００１１】
本明細書で説明される主題の1つまたは複数の態様の詳細は、添付の図面および下の説明に記載される。主題の他の特徴、態様、および利点は、説明、図面、および請求項から明らかになるであろう。
【図面の簡単な説明】
【００１２】
【図１】ユーザがユーザデバイスのディスプレイ上に描くパターンに基づいて検索を実行する、あるシステムを例示する図である。
【図２】ユーザデバイスのディスプレイ上に描かれたパターンに基づいて検索を実行するための、あるプロセスの例を示す流れ図である。
【図３】ユーザデバイスのディスプレイ上に描かれたパターンを検出して、検出されたパターンに基づいて検索結果を提示するために使用される、あるシステムの例を示す図である。
【図４Ａ】ユーザデバイス400のディスプレイ上にユーザが描いたパターンに対応する検索タームと関連する検索結果とを提示する、ある例示的なユーザデバイス400のスクリーンショットを示す図である。
【図４Ｂ】ユーザデバイス400のディスプレイ上にユーザが描いたパターンに対応する検索タームと関連する検索結果とを提示する、ある例示的なユーザデバイス400のスクリーンショットを示す図である。
【図４Ｃ】ユーザデバイス400のディスプレイ上にユーザが描いたパターンに対応する検索タームと関連する検索結果とを提示する、ある例示的なユーザデバイス400のスクリーンショットを示す図である。
【図５】ユーザデバイスのディスプレイ上に描かれたパターンに基づいて、ピクセルマップを生成するために使用可能な、ある例示的なシステムを示す図である。
【図６Ａ】ユーザデバイスのディスプレイ上に描かれたパターンに基づいて、検索結果として画像が返される検索を実行するために使用可能な、あるシステムの例を示す図である。
【図６Ｂ】ユーザデバイスのディスプレイ上に描かれたパターンに基づいて、検索結果として画像が返される検索を実行するために使用可能な、あるシステムの例を示す図である。
【図６Ｃ】ユーザデバイスのディスプレイ上に描かれたパターンに基づいて、検索結果として画像が返される検索を実行するために使用可能な、あるシステムの例を示す図である。
【図６Ｄ】ユーザデバイスのディスプレイ上に描かれたパターンに基づいて、検索結果として画像が返される検索を実行するために使用可能な、あるシステムの例を示す図である。
【図６Ｅ】ユーザデバイスのディスプレイ上に描かれたパターンに基づいて、検索結果として画像が返される検索を実行するために使用可能な、あるシステムの例を示す図である。
【図６Ｆ】ユーザデバイスのディスプレイ上に描かれたパターンに基づいて、検索結果として画像が返される検索を実行するために使用可能な、あるシステムの例を示す図である。
【図７Ａ】検索タームと検索結果とがユーザデバイスのディスプレイ上に描かれたパターンに基づいて更新される検索を実行するために使用可能な、あるシステムの例を示す図である。
【図７Ｂ】検索タームと検索結果とがユーザデバイスのディスプレイ上に描かれたパターンに基づいて更新される検索を実行するために使用可能な、あるシステムの例を示す図である。
【図７Ｃ】検索タームと検索結果とがユーザデバイスのディスプレイ上に描かれたパターンに基づいて更新される検索を実行するために使用可能な、あるシステムの例を示す図である。
【図７Ｄ】検索タームと検索結果とがユーザデバイスのディスプレイ上に描かれたパターンに基づいて更新される検索を実行するために使用可能な、あるシステムの例を示す図である。
【図７Ｅ】検索タームと検索結果とがユーザデバイスのディスプレイ上に描かれたパターンに基づいて更新される検索を実行するために使用可能な、あるシステムの例を示す図である。
【図７Ｆ】検索タームと検索結果とがユーザデバイスのディスプレイ上に描かれたパターンに基づいて更新される検索を実行するために使用可能な、あるシステムの例を示す図である。
【図７Ｇ】検索タームと検索結果とがユーザデバイスのディスプレイ上に描かれたパターンに基づいて更新される検索を実行するために使用可能な、あるシステムの例を示す図である。
【図７Ｈ】検索タームと検索結果とがユーザデバイスのディスプレイ上に描かれたパターンに基づいて更新される検索を実行するために使用可能な、あるシステムの例を示す図である。
【図８Ａ】検索アプリケーションインターフェース上でアイコンを選択することによって、検索を実行するためのユーザデバイスのディスプレイ上のジェスチャを動作可能または動作不可能にできるシステムの例を示す図である。
【図８Ｂ】検索アプリケーションインターフェース上でアイコンを選択することによって、検索を実行するためのユーザデバイスのディスプレイ上のジェスチャを動作可能または動作不可能にできるシステムの例を示す図である。
【図８Ｃ】検索アプリケーションインターフェース上でアイコンを選択することによって、検索を実行するためのユーザデバイスのディスプレイ上のジェスチャを動作可能または動作不可能にできるシステムの例を示す図である。
【図８Ｄ】検索アプリケーションインターフェース上でアイコンを選択することによって、検索を実行するためのユーザデバイスのディスプレイ上のジェスチャを動作可能または動作不可能にできるシステムの例を示す図である。
【発明を実施するための形態】
【００１３】
様々な図面における類似の参照符号は、類似の要素を示す。
【００１４】
図1は、ユーザがユーザデバイス110のディスプレイ上に描くパターンに基づいて検索を実行する、あるシステム100を例示する。システム100は、下で説明されるシステム、構成要素、および技法を実施してもよい、ある情報検索システムの例である。図1は、状態(A)から(H)までの間にシステム100の構成要素を通るデータの流れをやはり例示する。状態(A)から(H)は、例示された順序で発生する場合があり、または例示された順序とは異なる順序で発生する場合もある。
【００１５】
システム100は、ネットワーク130を介して検索システム140に接続されたユーザデバイス110を含む。一般に、ユーザデバイス110は、ネットワーク130を介して検索データ120を検索システム140に通信する。検索システム140は、検索データ120を処理して、ネットワーク130を介して結果データ160をユーザデバイス110に返す。結果データ160の表現は、ユーザデバイス110を使用しているユーザに表示される。システム100を使用して、例えば、検索結果を生成して、ユーザがクエリ条件に対応する1つまたは複数の文字を入力すると、その検索結果をユーザデバイス110上に提示し、ユーザがクエリ条件に関する追加の文字を入力すると、検索結果を更新するインスタント検索を実行してもよい。
【００１６】
ユーザデバイス110は、例えば、スマートフォン、タブレットコンピュータ、ノートブックコンピュータ、ラップトップコンピュータ、電子書籍リーダ、音楽プレイヤ、デスクトップコンピュータ、または他の適切な携帯コンピューティングデバイスもしくは固定コンピューティングデバイスであってよい。ユーザデバイス110は、入出力、通信、データ処理など、様々なクライアント動作を実行するためのコンピュータ可読媒体によって記憶される命令を実行するように構成された1つまたは複数のプロセッサを含んでいてもよい。例えば、ユーザデバイス110は、ディスプレイ112を含むか、またはディスプレイ112と通信することが可能であり、検索に関連する情報をユーザに提示してもよい。ディスプレイデバイス112は、ユーザがディスプレイ112上に接触すること、または制御オブジェクト(例えば、指もしくはスタイラス)を乗せることによって、情報を入力できるように、近接感応ディスプレイ(proximity-sensitive display)(例えば、タッチスクリーン)として実施してもよい。
【００１７】
検索を実行するために、ユーザは、ディスプレイ112を介してインターフェースをユーザに提供する検索アプリケーションを開始してもよい。ユーザによって入力されて、システム100によって処理される情報は、検索アプリケーションインターフェースによってディスプレイ112上に提示され、検索ターム116と、検索ターム116に対応する検索結果118とを含んでいてもよい。ユーザは、例えば、ディスプレイ112上にパターンを描くことによって、検索タームに関して追加の情報を入力してもよい。ユーザデバイス110は、ユーザ、例えば、デジタルインクによって描かれたパターンの表現119をディスプレイ112上に提示してもよい。インターフェースは、ユーザデバイス110上で起動されたウェブブラウザを使用して、ディスプレイ112上に提示してもよいか、またはインターフェースは、検索アプリケーション、例えば、ネイティブ検索アプリケーション(native search application)に関する専用インターフェースであってよい。
【００１８】
ユーザによって描かれたパターンは、アルファベット文字または非アルファベット文字の文字に対応しうる。いくつかのアプリケーションでは、ユーザは、ある言語の1つまたは複数の文字を草書体文字で描くことができる。さらに他のアプリケーションでは、パターンは、必ずしも言語の文字でなくてよいが、有用な検索をトリガするために解釈可能かつ使用可能なグリフ、例えば、笑顔、ハート、または星など、に相当しうる。
【００１９】
ネットワーク130を介してユーザデバイス110から検索システム140に送信される検索データ120は、検索システム140がこれまで認識した文字122、ならびに最後の検索が実行されて以来ユーザによって描かれたパターンに対応するジェスチャデータ124を含んでいてもよい。いくつかの実装形態では、検索データ120は、表現119によって示されるパターンを描く前に、ユーザによってこれまで描かれた1つまたは複数のパターンに対応するジェスチャデータを含んでいてもよい。代替実装形態では、検索データ120は、新しく描かれたパターンに対応するジェスチャデータ124だけを含んでいてもよい。さらに別の実装形態では、検索データは、複数の新しく描かれたパターンに対応するジェスチャデータを含んでいてもよい。これは、例えば、検索システム140がその時点で複数の文字の認識をサポートするように構成されている場合でありうる。
【００２０】
ネットワーク130は、回線交換データネットワーク、パケット交換データネットワーク、あるいは、ワイヤードネットワークもしくはワイヤレスネットワークを含めて、データを搬送することが可能な他のネットワーク、例えば、インターネットプロトコル(IP)ベースネットワークまたは非同期転送モード(ATM)ベースネットワークを含んでいてもよい。ネットワーク130は、ハイパーテキストトランスファープロトコル(HTTP)トラフィックおよびハイパーテキストマークアップ言語(HTML)トラフィックなどのウェブトラフィックを処理するように構成してもよい。ネットワーク130は、インターネット、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、アナログまたはデジタルのワイヤードネットワークおよびワイヤレスネットワーク(例えば、IEEE802.11ネットワーク、公衆交換電話ネットワーク(PSTN)、総合デジタル通信網(ISDN)、およびデジタル加入者線(xDSL))、第3世代(3G)移動体通信ネットワークまたは第4世代(4G)移動体通信ネットワーク、ワイヤードイーサネット(登録商標)ネットワーク、イントラネットなどのプライベートネットワーク、無線、テレビジョン、ケーブル、衛星、および/またはデータを搬送するための他の配信機構もしくはトンネリング機構、あるいはそのようなネットワークの適切な組合せを含んでいてもよい。
【００２１】
検索システム140は、ネットワーク、例えば、ネットワーク130を介して互いと接続された、1つまたは複数の位置で1つまたは複数のネットワークデバイス上に設置されたコンピュータプログラムとして実施してもよい。検索システム140は、1つもしくは複数のサーバ、例えば、クラウドコンピューティングサーバ、サーバファーム、または様々なサーバ動作を実行するためにコンピュータ可読媒体によって記憶された命令を実行するように構成された、1つもしくは複数のプロセッサを含む別のサーバ構造を含んでいてもよい。1つの例示的な実装形態では、検索システム140は、検索エンジンプロバイダによって管理されたサーバファームであってよい。検索システム140は、ジェスチャエンジン150と検索エンジン155とに接続されたフロントエンド145を含む。フロントエンド145は、サーバファームの外部のエンティティとのすべての通信を処理するように構成されたゲートウェイサーバであってよい。フロントエンド145は、ジェスチャエンジン150および検索エンジン155の動作を調整して、受信したジェスチャデータに基づいて検索タームを判断して、判断された検索タームに基づいて、検索結果を返すようにやはり構成してもよい。
【００２２】
ジェスチャエンジン150は、ジェスチャデータ147を処理して、ジェスチャデータに整合する文字152を識別するように構成された、1つまたは複数のソフトウェアプロセスをホストするサーバ上で実施してもよい。ジェスチャデータ147とジェスチャエンジン150に利用可能な文字のデータベース内に含まれた1つまたは複数の文字との間に最も一致するマッチングを検出することによって、文字152の識別を行ってもよい。最も一致するマッチングは、例えば、ジェスチャデータ147から最も短い統計的距離を有する文字を識別することによって、例えば、統計的距離測定値を使用して判断してもよい。ジェスチャデータ147は、検索データ120とともに送信されるジェスチャデータ124に類似しうる。識別された文字152は、これまで認識した文字122とともに検索ターム154を形成してもよい。いくつかの実装形態では、ジェスチャエンジン150は、ユーザによって描かれた単一のパターンまたは複数のパターンに対応するジェスチャデータに整合する複数の文字152を一度に識別するように構成してもよい。
【００２３】
検索エンジン155は、検索ターム154を処理して、検索ターム154に整合するか、または検索ターム154を含む検索結果157として、1つまたは複数のウェブページを識別するように構成された、1つまたは複数のソフトウェアプロセスをホストするサーバ上で実施してもよい。検索エンジンは、一般に、リソース、例えば、ウェブページ、画像、またはインターネット上の新しい記事にインデックスを付けるインデックスエンジンと、識別されているリソースをランク付けするためのランキングエンジンとを含むことになる。リソースのインデックス付けおよびランク付けは、従来の技法を使用して実行してもよい。この例では、検索エンジン155は、検索タームに対応する検索結果157を返すように構成されたウェブサーバであってよい。検索結果157は、検索タームを含むか、または適切な測定基準に基づく検索タームに整合するウェブページに対するリンクを含んでいてもよい。あるいは、検索結果157は、適切な測定基準に基づいて、検索タームと関連する画像またはビデオファイルもしくは音声ファイル、あるいはそれらの組合せに対するリンクを含んでいてもよい。
【００２４】
検索システム140によってユーザデバイス110に返された結果データ160は、ネットワーク130を介して送信するために、かつ、例えば、ユーザデバイス110上のウェブブラウザ内に表示されるように、ユーザデバイス110上でユーザに表示するために、適切にフォーマットされた情報の単位を含んでいてもよい。例えば、検索結果157を、インターネットプロトコル(IP)パケット内に含まれたペイロードとして、ネットワーク130を介して送信されるマークアップ言語文書、例えば、ハイパーテキストマークアップ言語(HTML)または拡張可能マークアップ言語(XML)文書の中に含めてもよい。結果データ160は、認識した文字162と、検索タームとして認識した文字162を使用して生成された検索結果164とを含んでいてもよい。代替実装形態では、結果データ160は、検索結果164だけを含んでいてもよい。認識した文字162は、検索データ120とともに送信された、これまで認識した文字122と、ジェスチャデータ124に対応する、新しく認識した文字152とを含んでいてもよい。検索結果164は、検索結果157と同一でありうる。あるいは、検索結果164は、検索結果157に類似の情報を含んでいてもよいが、ネットワーク130を介してユーザデバイス110に送信するために異なってフォーマットされてよい。
【００２５】
ユーザデバイス110は、例えば、(例えば、ウェブブラウザを経由して)検索アプリケーションによって提供されたインターフェースを使用して、結果データ160をレンダリングして、ディスプレイ112を使用して検索結果164を提示する。認識した文字162は、クエリ欄内、すなわち「検索欄」内に検索ターム172として表示されるのに対して、検索結果164は、表示された検索ターム172の下の結果フィールド174内に表示される。
【００２６】
例示的なデータフローを参照すると、状態(A)の前に、ユーザデバイス110上で実行している検索アプリケーションは、ネットワーク130を介して、認識した文字、例えば「B」を検索システム140から受信した。認識した文字はディスプレイ112上に検索ターム116として表示される。ユーザデバイス110は、検索結果ページ118として表示される、認識した文字に対応する検索結果を、ネットワーク130を介して検索システム140からやはり受信した。検索ターム116、および関連する検索結果ページ118は、「バナナパイレシピ」に関する検索の一部として、ユーザがディスプレイ112上に描いたパターンに対応する。
【００２７】
状態(A)の間、より多くの検索タームを入力するために、検索アプリケーションインターフェースがディスプレイ112上に提示されている間に、ユーザはディスプレイ112上に新しいパターンを描くことによってジェスチャをする。ユーザは、例えば、指、スタイラス、ユーザの手もしくは腕の一部、または別の適切な入力機構など、制御オブジェクトを用いてディスプレイ112に接触して、ディスプレイに接触している入力機構を移動させることによって文字をトレースすることによって、ディスプレイ112上にパターンを描く。図1は、ユーザが指を使用してディスプレイ上の文字をトレースすることを説明するが、他の適切な入力機構を使用してもよい。加えて、「ジェスチャを描く」、「トレースを描く」、「パターンを描く」、「ジェスチャをトレースする」、および「文字をトレースする」という用語は交換可能に使用され、それぞれ、ユーザがユーザデバイス上に情報を入力する類似の活動を指す。
【００２８】
ユーザがディスプレイ112上にパターンを描くと、そのパターンの表現119がディスプレイ112上にレンダリングされる間に、そのパターンに関連するデータ、例えば、ユーザがタッチしたディスプレイ112のゾーンに対応するディスプレイ112の画素の座標がジェスチャデータとしてユーザデバイス110によって捕捉される。
【００２９】
検索アプリケーションは、ユーザがジェスチャを完了したことを判断する。例えば、検索アプリケーションは、ユーザの指の接触がディスプレイ112から離れ、既定の期間にわたってディスプレイ112との何の接触も存在しないとき、ユーザがジェスチャを完了したことを判断してもよい。この既定の期間は、非常に短くてよく、例えば、1秒であってよく、または数秒であってもよい。
【００３０】
いくつかの実装形態では、ユーザデバイス110は、ディスプレイ112上のユーザのパターンに対応する文字を認識するための処理機能を有さなくてもよい。状態(B)の間、検索アプリケーションは、ディスプレイ112のユーザのパターンに対応するジェスチャデータ124を処理のためにネットワーク130を介して検索システム140に送信する。いくつかの実装形態では、ジェスチャデータ124は、ピクセルマップの形であってよいのに対して、代替実装形態では、ジェスチャデータ124は、ピクセルマップとは異なる何らかの他の形式で送信されてもよい。例えば、検索アプリケーションは、ジェスチャに対応するディスプレイのサンプリング点の[x, y]座標を送信してもよい。
【００３１】
いくつかの実装形態では、ピクセルマップは、ユーザがタッチしたディスプレイ112の画素の座標を表すアレイである。アレイ内のそれぞれの要素は、ディスプレイ112の単一の画素の座標を含んでいてもよい。アレイ内の要素は、アレイの要素が提示される順にそれらの要素を解析することによって、ユーザのトレースの再構成を円滑にできるように、ユーザによってディスプレイ112上に描かれたパターンの順序に基づいて順に配置されてよい。ピクセルマップのある例が図5に提示される。
【００３２】
ジェスチャデータ124に加えて、検索アプリケーションは、これまで認識した文字122(図では、「B」)を検索システム140にやはり送信する。検索アプリケーションは、検索システム140による検索結果の識別を助けるために、またはジェスチャデータ124に対応する文字の認識を助けるために、これまで認識した文字122をジェスチャデータ124とともに送信する。
【００３３】
いくつかの実装形態では、検索アプリケーションによって送信されたジェスチャデータ124は、これまで認識した文字122に対応するジェスチャデータを含んでいてもよい。これは、例えば、不十分に認識した当初の文字に関して、検索システム140がこれまで認識した文字に伴う誤りを補正するのを助けることができ、後の文字を使用して、当初の文字が何であるかを補正してもよい。
【００３４】
これまで認識した文字122およびジェスチャデータ124はともにネットワーク130を介して検索システム140に送信される検索データ120を形成する。検索データ120は、検索システム140がこれまで認識した文字122とジェスチャデータ124とを識別または解析するのを助ける命令を含めてもよい。これらの命令は、検索システム140がジェスチャデータ120を処理することによって、新しい文字を認識するのを助けることもできる。加えて、これらの命令は、検索システム140が検索結果を検出するための検索タームとして、認識した文字を処理するのを助けることができる。検索データ120は、例えば、1つまたは複数のIPパケット内に含まれたデータなど、ネットワーク130を介して送信するのに適したフォーマットで送信されうる。
【００３５】
検索データ120は、フロントエンド145によって検索システム140で受信される。フロントエンド145は、検索データ120を処理して、これまで認識した文字122(例えば、「B」)とジェスチャデータ147とを抽出する。ジェスチャデータ147は、検索データ120の一部として送信されたジェスチャデータ124と同一でありうる。あるいは、ジェスチャデータ147は、ジェスチャデータ124と類似するが、ネットワーク130を介して送信するために検索アプリケーションによって追加されている可能性があるフォーマットを除く情報を含んでいてもよい。
【００３６】
検索データ120内に含まれうる命令を含めて、抽出された情報の検査に基づいて、フロントエンド145は、ジェスチャデータ147がジェスチャエンジン150によって処理されることになることを判断する。それに応じて、状態(C)の間に、フロントエンドはジェスチャデータ147をジェスチャエンジン150に送信する。
【００３７】
ジェスチャエンジン150は、ジェスチャデータ147を処理して、ジェスチャデータ147に整合する、1つまたは複数の文字を認識する。ジェスチャエンジン150は、例えば、最高のジェスチャ認識信頼値を有する文字を選択することによって、フロントエンド145に通信し戻すための特定の文字(図では、「a」)を選択してもよい。
【００３８】
状態(D)の間、ジェスチャエンジン150は、新しく認識した文字152(例えば、「a」)をフロントエンド145に返す。いくつかの実装形態では、コンピューティングリソースを節約するために、ジェスチャエンジン150は、ジェスチャデータ147または新しく認識した文字152をローカルメモリ内に記憶しなくてよい。むしろ、新しく認識した文字152がフロントエンド145に送信されると、ジェスチャデータ147または新しく認識した文字152を破棄してもよい。
【００３９】
いくつかの実装形態では、フロントエンド145は、これまで認識した文字122(例えば、「B」)とジェスチャデータ147の両方をジェスチャエンジン150に送信してもよい。そのような実装形態では、これまで認識した文字122は、ジェスチャデータ147に対応する文字の認識を円滑にするためのコンテキスト情報をジェスチャエンジン150に提供してもよい。例えば、ジェスチャエンジン150は、これまで認識した文字「B」を使用して、特定の言語で頻繁に発生しない文字の組合せ、例えば、英語の組合せ「Bx」を除去してもよい。逆に、ジェスチャエンジン150は、これまで認識した文字122を使用して、文字検索スペースをこれまで認識した文字122と対にされたとき有意義な組合せを形成する文字に限定してもよい。
【００４０】
フロントエンド145は、新しく認識した文字152をジェスチャエンジン150から受信する。フロントエンドは、例えば、検索データ120内に含まれている場合がある命令に基づいて、これまで認識した文字122と新しく認識した文字152とが検索を実行するために使用されることになるのを判断してもよい。したがって、フロントエンド145は、これまで認識した文字122と新しく認識した文字152とを一緒に組み合わせて、更新された検索ターム154(例えば、「Ba」)を形成してもよい。状態(E)の間、フロントエンド145は検索ターム154を検索エンジン155に送信する。
【００４１】
検索エンジン155は、検索ターム154を使用して検索を実行して、状態(F)の間、検索ターム154に整合するウェブページに対応するリンクを検索結果157としてフロントエンド145に返す。検索結果157は、検索結果ページ、または検索結果を参照する、検索結果ページの一部の形で送信してもよい。いくつかの実装形態では、コンピューティングリソースを節約するために、検索エンジン155は検索ターム154または検索結果157をローカルメモリ内に記憶しなくてよい。むしろ、検索結果157がフロントエンド145に送信されると、検索ターム154または検索結果157を破棄してもよい。したがって、フロントエンド154は、検索のそれぞれのインスタンスに関して、これまで認識した文字122と新しく認識した文字152の両方を含む、更新された検索ターム154を検索エンジン150に提供することによって、検索エンジン155が検索ターム154に対応する正確な検索結果を返すのを円滑にしてもよい。
【００４２】
検索エンジン155から検索結果157を受信するとすぐに、フロントエンド145は、文字フィールド162をこれまで認識した文字122と新しく認識した文字152とで埋める(populates)。フロントエンド145は、検索結果フィールド164内に検索結果157も含める。状態(G)の間、フロントエンド145は、ネットワーク130を介して結果データ160をユーザデバイス110に送信する。
【００４３】
いくつかの実装形態では、フロントエンド145は、認識した文字、ジェスチャデータ、または検索結果をローカルメモリ内に記憶しなくてよい。むしろ、認識した文字と検索結果とがユーザデバイスに送信されると、認識した文字、ジェスチャデータ、または検索結果を破棄してもよい。したがって、フロントエンド145が、検索のそれぞれのインスタンスに関して、検索エンジン155に正確な検索タームを提供するのを円滑にするために、ユーザデバイス110上の検索アプリケーションは、検索データ120を検索システム140に送信するとき、これまで認識した文字122を検索データ120内に含めてもよい。
【００４４】
状態(H)の間、ユーザデバイス110は、結果データ160を受信して、ユーザデバイス110上で実行する検索アプリケーションに結果データ160を通信する。検索アプリケーションは結果データ160を処理して、認識した文字を文字フィールド162および検索結果164から抽出する。検索アプリケーションは、検索アプリケーションインターフェースの検索欄内に検索ターム172として認識した文字をディスプレイ112上に提示する。
【００４５】
検索アプリケーションは、検索結果164を結果フィールド174内、例えば、表示された検索ターム172の下にやはり提示する。状態(H)に示されるように、検索ターム172は「Ba」であり、結果フィールド174は、それぞれ、検索ターム「Ba」に整合する「Bank of Example」、「Banana Pie Recipe」、および「Bank of Alaska」という表現を有する検索結果を含む。検索結果はユーザの情報ニーズ(例えば、「Banana Pie Recipe」)に対応するウェブページに対するリンクを含むため、例えば、選択されたリンクに関連するウェブページをディスプレイ112上に後で提示することが可能な「Banana Pie Recipe」に対応する、ディスプレイ112のリンクの真上の部分をタップすることによって、ユーザは対応するウェブページを訪問すること選ぶことができる。
【００４６】
他方で、ユーザは、検索を続けることを望む場合があり、したがって、例えば、上で説明された様式でディスプレイ112上の文字をトレースすることによって、または他の適切な方法によって、検索タームに対応するより多くの文字を入力してもよい。そのように入力されたそれぞれの文字に関して、これまで認識した文字とジェスチャデータとをネットワーク130を介して検索システム140に送信することと、ジェスチャデータに対応する文字をジェスチャエンジン150によって認識することと、検索タームに対応する検索結果を検索エンジン155によって判断することと、ユーザに提示されるように、認識した文字と検索結果とをネットワーク130を介してユーザデバイス110に返すこととを含めて、上で説明されたプロセスを繰り返すことができる。したがって、ユーザがより多くの文字を入力すると、クエリ欄内すなわち検索欄内で提示された検索ターム172と、結果フィールド174内の対応する検索結果とが更新され、これにより、拡張された検索経験を提供する。これは、例えば、実行されている検索がインスタント検索であるときでありうる。
【００４７】
要約すれば、ユーザデバイス110上の検索アプリケーションは、検索エンジン155による検索結果の判断を円滑にするために、これまで認識した文字122をジェスチャデータ124とともに検索システム140に送信する。結果フィールド174内の検索結果とともに、認識した文字が検索ターム172としてユーザに提示されるように、フロントエンド145は認識した文字162を最近の検索結果164とともにユーザデバイス110に送信する。したがって、システム100は、ユーザによって描かれたパターンの解釈をユーザに提供し、表示された検索結果に関するコンテキストをやはり提供してもよい。
【００４８】
図2は、ユーザデバイスのディスプレイ上に描かれたパターンに基づいて検索を実行するための、あるプロセス200の例を示す流れ図である。例えば、プロセス200を使用して、ユーザがクエリ条件に対応する1つまたは複数の文字を入力すると、検索結果がユーザデバイスのディスプレイ上に提示され、ユーザがクエリ条件に関する追加の文字を入力すると、検索結果が更新されるインスタント検索を実行してもよい。プロセス200は、1つまたは複数のコンピュータ上に設置された1つまたは複数のコンピュータプログラムによって実施してもよい。以下の説明は、システム100の構成要素によって実行されるとしてプロセス200を説明する。しかし、プロセス200は、他のシステムまたは他のシステム構成によって実行してもよい。
【００４９】
システムが検索を実行するための情報を受信するとき、プロセス200が開始する(202)。例えば、ユーザは、ユーザデバイス110上で検索アプリケーションを起動させて、ディスプレイ112上で文字をトレースすることによって検索を開始してもよい。
【００５０】
システムは、ユーザのジェスチャを検出する(204)。例えば、ディスプレイ112はタッチセンサ式ディスプレイであってよく、ユーザデバイス110は、ユーザがディスプレイ112上にパターンを描いている間に、ユーザの指のタッチを検出するように構成してもよい。ユーザがディスプレイ112上にパターンを描くと、ユーザデバイス110は、パターンに関連するデータ、例えば、ユーザがタッチしたディスプレイ112の区分に対応する、ディスプレイ112の画素の座標または画面ゾーンをジェスチャデータとして捕捉してもよい。ユーザデバイス110は、捕捉されたジェスチャデータを記憶してもよい。いくつかの実装形態では、ジェスチャデータをピクセルマップの形で記憶してもよい。しかし、いくつかの代替実装形態では、ピクセルマップとは異なる、他の形式でジェスチャデータを記憶してもよい。
【００５１】
システムは、処理のためにジェスチャデータを送信する(206)。いくつかの実装形態では、ジェスチャデータに加えて、システムは、これまで認識した文字をやはり送信するのに対して、いくつかの他の実装形態では、ジェスチャデータだけが送信される。これは、例えば、いくつかの実装形態では、検索システムが所与の検索セッションのために、これまで認識した文字をローカルメモリ内にキャッシュする場合でありうる。しかし、いくつかの他の実装形態では、検索システムは、これまで認識した文字をローカルメモリ内に記憶しなくてよく、したがって、ユーザデバイス上の検索アプリケーションは、先に説明されたように、検索システムが検索結果を識別するのを助けるために、これまで認識した文字をジェスチャデータとともに送信する。
【００５２】
加えて、これまで認識した文字は、先に説明されたように、検索システムがジェスチャデータに対応する文字を認識するのを助けることができる。例えば、ユーザデバイス110上の検索アプリケーションは、ネットワークを介してジェスチャデータを検索システムに送信してもよい。加えて、検索アプリケーションは、これまで認識した文字を検索システムに送信することもできる。
【００５３】
システムは、ジェスチャデータおよび送信されたこれまでに認識した文字を受信する(208)。例えば、検索システムは、ユーザデバイス上の検索アプリケーションによって送信された検索データをフロントエンドで受信してもよい。検索データは、これまで認識した文字とジェスチャデータとを含んでいてもよい。いくつかの実装形態では、検索システムはジェスチャデータだけを受信してもよい。
【００５４】
システムは、受信したデータに基づいて文字を認識する(210)。例えば、検索システムのフロントエンドは、検索データを処理して、これまで認識した文字と、ジェスチャデータ124に類似するジェスチャデータとを抽出する。フロントエンドは、ジェスチャデータを処理して、ジェスチャデータと整合する認識可能な文字を判断するジェスチャエンジン150にジェスチャデータを送信する。その後で、ジェスチャエンジン150は新しく認識した文字152をフロントエンド145に返す。
【００５５】
システムは、認識した文字に基づいて検索を形成する(212)。例えば、新しく認識した文字152をジェスチャエンジン150から受信するとすぐに、フロントエンド145は、これまで認識した文字122と新しく認識した文字152とが検索を実行するために使用されることを判断してもよい。したがって、フロントエンド145は、これまで認識した文字122と新しく認識した文字152とを組み合わせることによって、新しい検索ターム154を形成して、検索ターム154を検索エンジン155に送信してもよい。
【００５６】
システムは検索結果を生成する(214)。例えば、検索ターム154をフロントエンド145から受信するとすぐに、検索エンジン155は、検索ターム154を使用して検索を実行してもよい。検索動作の結果を検索結果157としてフロントエンド145に返すことができる。検索エンジン155は、検索ターム154に整合するウェブページに対するリンクを含むウェブページの形で検索結果157を送信してもよい。
【００５７】
システムは、受信したジェスチャデータに対応する検索結果と認識した文字とを収集する。その後で、システムは検索結果および認識した文字を送信する(216)。いくつかの実装形態では、システムはこれまで認識した文字と新しく認識した文字の両方を送信するのに対して、いくつかの他の実装形態では、システムは新しく認識した文字だけを送信する。例えば、検索システム140のフロントエンド145は、文字フィールド162と検索結果フィールド164とを含む結果データ160を生成する。フロントエンド145は、これまで認識した文字122と新しく認識した文字152とを文字フィールド162内に配置して、検索結果157を検索結果フィールド164内に含める。次いで、フロントエンド145は、ネットワーク130を介して結果データ160をユーザデバイス110に送信する。
【００５８】
システムは、検索結果および認識した文字を受信する(218)。例えば、ユーザデバイス110は、結果データ160を検索システム140から受信して、それをユーザデバイス110上で実行する検索アプリケーションに転送する。
【００５９】
検索結果と認識した文字とを受信するとすぐに、システムは検索結果を表示する(220)。例えば、ユーザデバイス110上で実行する検索アプリケーションは、結果データ160を処理して、認識した文字162と検索結果164とを抽出する。検索アプリケーションは、認識した文字162を検索アプリケーションインターフェースの検索欄内の更新された検索ターム172としてディスプレイ112上に提示する。検索アプリケーションは、検索結果164を、検索アプリケーションインターフェースの結果フィールド174内、通常、表示された検索ターム172の下にやはり提示する。
【００６０】
検索結果を表示した後で、システムは別のジェスチャが検出されたかどうかを確認する(222)。システムが別のジェスチャが検出されたことを判断した場合、システムは、ジェスチャを検出すること(204)から、新しく検出されたジェスチャに対応して更新された検索に基づいて、検索結果を表示することまで(220)プロセス200を繰り返す。しかし、何もジェスチャが検出されない場合、システムはプロセス200を終了する(224)。
【００６１】
ユーザは、ディスプレイ112上の文字をトレースすることによって、または他の適切な方法によって、検索タームに関するより多くの文字を入力してもよい。そのように入力されたそれぞれの文字に関して、ユーザデバイス110上で実行する検索アプリケーションは、これまで認識した文字とジェスチャデータとをネットワーク130を介して検索システム140に送信することができ、システム140は、ジェスチャエンジン150を使用して、ジェスチャデータに対応する文字を認識して、フロントエンド145を使用してこれまで認識した文字と新しく認識した文字とに基づいて検索タームを形成して、検索エンジン155を使用して、検索タームに対応する検索結果を判断して、認識した文字と検索結果とを、ユーザに提示するために、ネットワーク130を介してユーザデバイス110に返すことができる。
【００６２】
図3は、ユーザデバイスのディスプレイ上に描かれたジェスチャを検出して、検出されたジェスチャに基づいて検索結果を提示するために使用される、あるシステム300の例を示す。システム300は、例えば、システム100内のユーザデバイス110によって実施してもよい。システム300は、例えば、ユーザがクエリ条件に対応する1つまたは複数の文字を入力すると、検索結果がユーザデバイス110のディスプレイ上に提示され、例えば、ユーザがクエリ条件に関する追加の文字を入力すると、検索結果が更新されるインスタント検索を実行するために使用してもよい。
【００６３】
システム300は、タッチセンサ式ディスプレイ304と、ネットワークインターフェース306と、キャッシュ308とに接続された検索アプリケーション302とを含む。ネットワークインターフェース306はアンテナ310にも接続される。検索アプリケーション302は、検索アプリケーションをタッチセンサ式ディスプレイ304に接続するディスプレイインターフェース312と、タッチ曖昧性除去装置(touch disambiguator)314と、ピクセルマップ生成器316と、検索アプリケーション302をキャッシュ308に接続するキャッシュインターフェース318と、クエリ形成装置(query formulator)320と、検索アプリケーション302をネットワークインターフェース306に接続する認識した文字パーサ322と、ユーザインターフェース生成器324とを含めて、いくつかの構成要素を有する。キャッシュ308は、認識した文字326とタッチされた画素328とを含む。
【００６４】
いくつかの実装形態では、検索アプリケーション302は、コンピューティングデバイス上、例えば、ユーザデバイス110上のローカルメモリ内に常駐するソフトウェアアプリケーション、例えば、実行可能なソフトウェアコードであってよい。いくつかの他の実装形態では、検索アプリケーション302は、コンピューティングデバイス内、例えば、ユーザデバイス110内で他のハードウェアと接続されたハードウェアアプリケーション、例えば、検索機能性がプログラムされたマイクロチップまたはフィールドプログラマブルゲート論理(FPGA)であってよい。
【００６５】
検索アプリケーション302は、ユーザによってコンピューティングデバイスのディスプレイ上で描かれたパターンに対応する文字認識を円滑にして、認識した文字に基づく検索タームを使用して、検索結果を返すように構成してもよい。検索アプリケーション302は、例えば、コンピューティングデバイスのホームスクリーン上に表示されたアイコンをタップすることによって、ユーザによってコンピューティングデバイス上で起動されうる。あるいは、検索アプリケーション302は、コンピューティングデバイス上で多少連続的に実行してもよい。
【００６６】
検索アプリケーション302は、コンピューティングデバイスのディスプレイ上、例えば、ユーザデバイス110のディスプレイ112上に表示されたインターフェースを介して検索タームと関連する検索結果とをユーザに提示するように構成してもよい。いくつかの実装形態では、検索アプリケーションインターフェースは、ユーザデバイス上で実行するウェブブラウザによって提供してもよい。いくつかの他の実装形態では、インターフェースは、検索アプリケーション302による使用専用のウェブブラウザ以外のインターフェースであってよい。
【００６７】
検索アプリケーション302は、検索システム、例えば、検索システム140と通信するように構成してもよい。検索アプリケーション302は、コンピューティングデバイスのディスプレイ上に描かれたパターンに対応するジェスチャデータを検索システムに転送してもよい。応答して、検索アプリケーション302は、検索結果と認識した文字とを遠隔検索システムから再度受信してもよい。検索アプリケーション302は、認識した文字に対応する検索タームと関連する検索結果とをインターフェースを介してコンピューティングデバイスのディスプレイ上に提示してもよい。
【００６８】
ディスプレイ304をタッチすることによって、ユーザによって入力された情報を受け取るように構成されたタッチセンサ式ディスプレイ304(例えば、タッチスクリーン)がシステム300に提供される。タッチセンサ式ディスプレイ304は、様々な情報、例えば、ユーザによってディスプレイ304の表面上に描かれたパターンに対応する検索タームと関連する検索結果とをユーザに表示するようにやはり構成される。タッチセンサ式ディスプレイ304は、例えば、ユーザデバイス110のディスプレイ112であってよい。いくつかの実装形態では、タッチセンサ式ディスプレイ304は、近接感応ディスプレイであってもよく、すなわち、ディスプレイ304は、ユーザの物理的な近接性を検出して、それに応じて、ユーザによる快適な閲覧を円滑にするために、ディスプレイの1つまたは複数の構成パラメータを調整するように構成してもよい。
【００６９】
システム300が1つまたは複数のネットワーク、例えば、ネットワーク130を介して遠隔システムおよび遠隔デバイスと通信するのを可能にするように構成されたネットワークインターフェース306がシステム300に提供される。ネットワークインターフェースは、1個のハードウェア、例えば、イーサネット(登録商標)ポートもしくはIEEE802.11チップ、または1個のソフトウェア、例えば、ソフトウェア無線、あるいはハードウェアとソフトウェアの適切な組合せであってよい。検索システムとの通信を介して検索アプリケーション302によって送信または受信される情報は、システム300に関する入口点および/または出口点としてネットワークインターフェース306によって処理される。
【００７０】
遠隔システムおよび遠隔デバイスと交換された情報を電磁波、例えば、無線周波数(RF)波または赤外線(IR)波として送受信するように構成された1個のハードウェアであってよいアンテナ310がシステム300に提供される。アンテナ310は、送信されることになるデータをアンテナ310に接続されたネットワークインターフェース306から受信して、電磁波としてそのデータをブロードキャストする。アンテナ310は、電磁波としてデータを遠隔システムおよび遠隔デバイスからやはり受信して、受信したデータを処理のためにネットワークインターフェース306に転送する。システム300は、1本のアンテナ310または複数のアンテナ310をシステム300に提供してもよい。
【００７１】
情報を記憶するためにローカルメモリ内で実装可能なキャッシュ308がシステム300に提供される。例えば、キャッシュ308は、ユーザデバイス110内に提供されたランダムアクセスメモリ(RAM)内で実施してもよい。キャッシュ308は、検索アプリケーション302によって使用されるデータを迅速に記憶および取り出すように構成してもよい。検索アプリケーション302は認識した文字326をキャッシュ308内に記憶してもよい。認識した文字326は、タッチセンサ式ディスプレイ304の表面上に描かれたパターンに基づいて認識される文字を含んでいてもよい。例えば、認識した文字326は、検索ターム116に対応する、これまで認識した文字、または、検索ターム172に対応する、これまで認識した文字と新しく認識した文字の組合せを含んでいてもよい。
【００７２】
検索アプリケーション302は、タッチされた画素328をキャッシュ308内に記憶してもよい。タッチされた画素328は、ユーザがタッチした、ディスプレイ304の区分に対応する、タッチセンサ式ディスプレイ304の画素の座標または画面ゾーン上に関する情報を含む。例えば、タッチされた画素328は、ユーザがディスプレイ112上にパターンを描くと、ユーザがタッチした、ディスプレイ112の区分に対応する、ディスプレイ112の画素の座標を含んでいてもよい。タッチされた画素328は、例えば、ユーザデバイス110によって遠隔システム140に送信された、ユーザによって描かれたパターンに関連するジェスチャデータ(例えば、ピクセルマップ)を含めてもよい。加えて、タッチされた画素328は、それに対応して、文字がすでに認識されて、認識した文字326内に記憶されている可能性がある、これまで入力されたジェスチャに関連するジェスチャデータを含んでいてもよい。システム300は、ユーザがディスプレイの表面上にパターンを描くと、タッチされた画素328に関連する情報を使用して、可視トレース表現、例えば、ディスプレイ112上に提示されるトレース119をタッチセンサ式ディスプレイ304上に提供してもよい。システム300は、タッチされた画素328に関連する情報を使用して、ユーザによってタッチセンサ式ディスプレイ304上に描かれたパターンに対応するジェスチャデータ(例えば、ピクセルマップ)を生成することもできる。
【００７３】
検索アプリケーション302をタッチセンサ式ディスプレイ304と接続するディスプレイインターフェース312がシステム300に提供される。いくつかの実装形態では、ディスプレイインターフェース312は検索アプリケーション302のモジュールとして提供してもよいのに対して、いくつかの他の実装形態では、ディスプレイインターフェース312は、検索アプリケーション302を含めて、異なるアプリケーション間で共有される検索アプリケーション302を実行するコンピューティングデバイス(例えば、ユーザデバイス110)上の汎用アプリケーションとして提供してもよい。ディスプレイインターフェース312はグラフィカルユーザインターフェース(GUI)であってよく、ディスプレイインターフェース312はテキストベースのインターフェースであってよく、またはそれらの適切な組合せであってもよい。いくつかの実装形態では、ディスプレイインターフェース312は、システム300内に含まれたウェブブラウザによって提供されうる。いくつかの他の実装形態では、ディスプレイインターフェース312は、検索アプリケーション302によって使用されるだけのウェブブラウザ以外のインターフェースであってよい。ディスプレイインターフェース312は、ユーザによってタッチセンサ式ディスプレイ304上に描かれたパターンに基づいて、検索タームと関連する検索結果とをタッチセンサ式ディスプレイ304上に提示するように構成してもよい。
【００７４】
システム300は、タッチ曖昧性除去装置314を含む。いくつかの実装形態では、タッチ曖昧性除去装置314は検索アプリケーション302のモジュールとして提供してもよいのに対して、いくつかの他の実装形態では、タッチ曖昧性除去装置314は、検索アプリケーション302を含めて、異なるアプリケーション間で共有される検索アプリケーション302を実行するコンピューティングデバイス(例えば、ユーザデバイス110)上の汎用アプリケーションとして提供してもよい。タッチ曖昧性除去装置314は、ユーザによってタッチセンサ式ディスプレイ304の表面上で実行される様々なタッチ動作を区別するように構成される。例えば、タッチ曖昧性除去装置314は、ユーザが「i」を打つために自らの指をタッチセンサ式ディスプレイ304との接触から一瞬離すことを伴う動作を、ユーザがパターンの終了を示すために自らの指をタッチセンサ式ディスプレイ304との接触から離すことを伴う動作と区別するように構成してもよい。
【００７５】
タッチ曖昧性除去装置314は、システム300によって提供されるコマンドを変換する役目を果たしてもよい。タッチセンサ式ディスプレイ304(例えば、ユーザデバイス110に関連するディスプレイ112)から、または、システム300に接続された(例えば、その機能が経時的に変化しうる、かつその機能が特定のボタンに隣接する、タッチセンサ式ディスプレイ304の区域上もしくはゾーン上に表示されうる)専用ボタンまたはソフトボタンを含めて、他のそのようなソースからそのようなコマンドを生じさせることができる。タッチ曖昧性除去装置314は、タッチセンサ式ディスプレイ304上の入力動作を一般的なフォーマットに変換して、それらの変換された動作(例えば、短い押下、長い押下、フリック(flicks)、および直線ドラッグ)を検索アプリケーション302に伝えることができる。加えて、タッチ曖昧性除去装置314は、例えば、ディスプレイ304のどの区域内またはゾーン内でコマンドが受信されているかを判断することができ、したがって、コマンドの対象となる、ディスプレイ上に示されたアプリケーションを判断してもよい。タッチ曖昧性除去装置314は、そのような入力を事象マネージャ(図示せず)に報告することもでき、事象マネージャは、次に、それらの入力を適切なモジュールまたはアプリケーションに報告する。
【００７６】
システム300はピクセルマップ生成器316を含む。いくつかの実装形態では、ピクセルマップ生成器316は検索アプリケーション302のモジュールとして提供してもよいのに対して、いくつかの他の実装形態では、ピクセルマップ生成器316は、検索アプリケーション302を含めて、異なるアプリケーション間で共有される検索アプリケーション302を実行するコンピューティングデバイス(例えば、ユーザデバイス110)上の汎用アプリケーションとして提供してもよい。ピクセルマップ生成器316は、ユーザによってタッチセンサ式ディスプレイ304の表面に描かれたパターンに基づいてピクセルマップを生成するように構成される。例えば、ピクセルマップ生成器は、キャッシュ308と通信して、タッチされた画素328を取り出して、タッチされた画素328に関連する情報を使用してピクセルマップを作成してもよい。ピクセルマップは、ユーザによってタッチセンサ式ディスプレイ304の表面上に描かれたパターンに対応するジェスチャデータ(例えば、ジェスチャデータ124)として、検索アプリケーション302によって検索システムに送信してもよい。
【００７７】
システム300はキャッシュインターフェース318を含む。いくつかの実装形態では、キャッシュインターフェース318は検索アプリケーション302のモジュールとして提供してもよいのに対して、いくつかの他の実装形態では、キャッシュインターフェース318は、検索アプリケーション302を含めて、異なるアプリケーション間で共有される検索アプリケーション302を実行するコンピューティングデバイス(例えば、ユーザデバイス110)上の汎用アプリケーションとして提供してもよい。キャッシュインターフェース318は、検索アプリケーション302の様々な構成要素を含めて検索アプリケーション302がキャッシュ308と通信するのを可能にするように構成される。キャッシュインターフェース318は、システム300の様々な構成要素によって、認識した文字326とタッチされた画素328とをキャッシュ308内に記憶するのを円滑にする。キャッシュインターフェース318は、システム300の様々な構成要素によって、例えば、ピクセルマップ生成器316およびクエリ形成装置320によって、キャッシュ308内の認識した文字326とタッチされた画素328とを取り出すことをやはり円滑にする。
【００７８】
いくつかの実装形態では、システム300は、検索アプリケーション302の構成要素として提供されるクエリ形成装置320を含んでいてもよい。これは、例えば、システム300がユーザによってタッチセンサ式ディスプレイ304上に描かれたパターンに対応する特徴を識別する処理能力を有する場合でありうる。そのような実装形態では、クエリ形成装置320は、タッチセンサ式ディスプレイ304上にユーザによって描かれたパターンに対応する新しい文字を認識するように構成してもよい。クエリ形成装置320は、キャッシュ308と通信して、新しく認識した文字を記憶してもよい。クエリ形成装置320は、これまで認識した文字326をキャッシュ308から取り出して、それらを新しく認識した文字と組み合わせて、検索タームを形成してもよい。クエリ形成装置320はネットワークインターフェース306と接続され、クエリ形成装置320は、形成された検索タームを、ネットワークインターフェース306を介して検索システム(例えば、検索システム140)に送信してもよい。
【００７９】
いくつかの他の実装形態では、システム300は、タッチセンサ式ディスプレイ304上にユーザによって描かれたパターンに対応する文字を識別する処理能力を有さなくてもよい。そのような実装形態では、クエリ形成装置320は存在しなくてよい。
【００８０】
システム300は、検索アプリケーション302の構成要素として提供される、認識した文字パーサ322を含む。認識した文字パーサ322はネットワークインターフェース306と接続され、認識した文字パーサ322は、ネットワークインターフェース306を介して情報を検索システムから受信する。例えば、認識した文字パーサ322は、結果データ160を検索システム140から受信してもよい。認識した文字パーサ322は、受信した情報(例えば、結果データ160)を解析して、認識した文字(例えば、認識した文字162)と検索結果(例えば、検索結果164)とを抽出するように構成される。認識した文字パーサ322は、抽出された文字と検索結果とをユーザインターフェース生成器324に送信する。加えて、認識した文字パーサ322はキャッシュインターフェース318に接続され、認識した文字パーサ322は、認識した文字326として記憶するために、認識した文字をキャッシュ308に送信する。
【００８１】
システム300は、検索アプリケーション302の構成要素として提供されるユーザインターフェース生成器324を含む。ユーザインターフェース生成器324は、認識した文字と検索結果とを認識した文字パーサ322から受信して、ディスプレイインターフェース312を使用してタッチセンサ式ディスプレイ304上で提示するためにそれらをフォーマットする。例えば、ユーザインターフェース生成器324は、ユーザデバイス110上の検索アプリケーションの一部として含まれてもよい。この場合、ユーザインターフェース生成器324は、ディスプレイ112上に表示された検索アプリケーションインターフェースのクエリ欄内すなわち検索欄内に検索ターム172として提示されることになる認識した文字162をフォーマットしてもよい。ユーザインターフェース生成器324は、表示された検索アプリケーションインターフェース内に含まれた結果フィールド174内、通常、表示された検索ターム172の下にウェブページに対するリンクとして検索結果164を提示することもできる。
【００８２】
図4A〜図4Cは、ユーザデバイス400のディスプレイ上にユーザが描いたパターンに対応する検索タームと関連する検索結果とを提示する、ある例示的なユーザデバイス400の一連のスクリーンショットを示す。ユーザデバイス400は、例えば、ユーザデバイス110であってよく、またはユーザデバイス400は、タッチセンサ式ディスプレイを含む、他の適切なデバイスであってもよい。
【００８３】
図4Aは、検索アプリケーションインターフェース404が提示されるユーザデバイス400のディスプレイ402を示す。検索アプリケーションインターフェース404は、検索欄406と検索結果フィールド408とを含む。ディスプレイ402の表面上にユーザによって描かれたパターンはトレース410によって示される。
【００８４】
ディスプレイ402は、例えば、ユーザデバイス110に関連するタッチセンサ式ディスプレイ112であってよい。図4Aは、何の検索結果も生成されていないときの、例えば、検索の開始時のディスプレイ402を示す。これは空の検索欄406と空の検索結果フィールド408とによって示される。検索アプリケーションインターフェース404は、例えば、ユーザデバイス400のホームスクリーン上に表示されたアイコンをタップすることによって、ユーザがユーザデバイス400上で検索アプリケーションを起動するとき、ディスプレイ402上に提示してもよい。あるいは、インターフェース404がディスプレイ402上に常に提示されるように、検索アプリケーションはユーザデバイス400上で連続的に実行してもよい。
【００８５】
ユーザは、ディスプレイ402上にパターンを描くことによって検索タームを入力してもよい。ユーザデバイス400は、ディスプレイ402上にパターンのトレースを提供するように構成してもよい。例えば、ユーザはディスプレイ402上にパターン「b」を描いた可能性があり、それに応じて、検索アプリケーションインターフェース404が背景内に見える状態で、パターン「b」を示すトレース410がディスプレイ402の前景に表示される。1つまたは複数の文字は、ユーザが描いたパターンと、例えば、検索システム140によって、クエリ条件として、1つまたは複数の認識した文字を使用して戻された検索結果とに基づいて認識してもよい。図4Bは、図4Aを参照して説明されたパターンに対応する文字が認識したときのディスプレイ402を示す。例えば、認識した文字は、ユーザデバイス400に返される検索結果を生成するための検索タームとして使用される「b」であってよい。認識した文字は、検索欄406内の検索ターム412として検索アプリケーションインターフェース404上に表示される。検索結果414は検索アプリケーションインターフェース404の検索結果フィールド408内に表示される。例えば、図4Bに示されるように、検索ターム412は「b」であり、対応する検索結果414は、それぞれの表現が検索ターム「b」に整合する「Bank of Example」、「Bozo The Clown」、および「Bill The Builder」という表現を含むウェブページに対するリンクを含む。
【００８６】
検索ターム412と関連する検索結果414とが表示されている間、例えば、ディスプレイ402上に新しいパターンを描くことによって、または他の適切な方法によって、ユーザは検索タームに対応する追加の文字を入力してもよい。ユーザデバイス400は、検索アプリケーションインターフェース404上に重畳された、新しいパターンの表現をディスプレイ402上に提供するように構成してもよい。例えば、図4Bに示されるように、ユーザはディスプレイ402上にパターン「a」を描くことができ、それに応じて検索インターフェース404が背景に見える状態で、パターン「a」を示す表現416がディスプレイ402の前景に表示される。表現416は、検索結果414の一部の区分、例えば、「Bozo The Clown」という表現とのリンクを曖昧にしてもよい。
【００８７】
1つまたは複数の新しい文字は、新しくユーザが描いたパターンに基づいて認識可能であり、これまで認識した文字と新しく認識した文字の両方を含めるために検索タームが更新される。したがって、更新された検索タームに基づいて新しい検索結果が生成されて、ユーザデバイス400に返される。
【００８８】
図4Cは、図4Bを参照して説明されたパターンに対応する新しい文字が認識され、新しい文字を含めるために検索タームが更新され、更新された検索タームに基づく新しい検索結果がユーザデバイス400に戻されるときのディスプレイ402を示す。これまで認識した文字と新しく認識した文字とがともに検索アプリケーションインターフェース404上で検索タームとして検索欄406内に表示される。新しい検索結果は、検索アプリケーションインターフェース404の検索結果フィールド408内に表示される。例えば、図4Cに示されるように、更新された検索ターム418は「ba」であり、対応する検索結果420は、それぞれの表現が検索ターム「ba」に整合する、「Bank of Example」、「Baby」、および「Banana Recipe」という表現を含むウェブページに対するリンクを含む。検索結果414内に含まれた「Bozo The Clown」および「Bill The Builder」という表現を含むウェブページに対するリンクは検索結果420内に含まれないが、これはこれらが更新された検索ターム「ba」に整合しないためである。
【００８９】
検索結果420が、ユーザが所望する検索に整合する検索結果を含む場合、ユーザは、例えば、整合する結果に対応するリンクの真上のディスプレイ402の区分をタップすることによって、対応するウェブページを訪問することを選ぶことができ、これは、その後に、選択されたリンクに関連するウェブページをディスプレイ402上に提示してもよい。他方で、ユーザは、例えば、上で説明されたように、ディスプレイ402の表面上の文字をトレースすることによって、または他の適切な方法によって、検索タームに対応するより多くの文字を入力し続けることができる。例えば、図4Cに示されるように、ユーザは、ディスプレイ402上に新しいパターン「n」を描くことができ、それに応じて、検索ターム418と検索結果420とが背景に見える状態で、パターン「n」を示すトレース422をディスプレイ402の前景に示すことができる。システムは、その後で、新しい文字を「n」として認識して、検索タームを「ban」に更新して、更新された検索タームに整合する検索結果を生成してもよい。
【００９０】
図5は、ユーザデバイスのディスプレイ上に描かれたパターンに基づいて、ピクセルマップを生成するために使用可能な、ある例示的なシステム500を示す。システム500は、1つまたは複数のコンピュータ上に設置された1つまたは複数のコンピュータプログラムによって実施してもよい。以下の説明は、検索アプリケーション302によって実施されるとしてシステム500を説明する。しかし、システム500は、他のアプリケーション、システム、またはシステム構成によって実施してもよい。
【００９１】
システム500は、その上にユーザが504によって表されたパターンを描くことができる、ユーザデバイス内に含まれるか、またはそのユーザデバイスに接続されたディスプレイ502を含む。ディスプレイ502は、行506と列508とを有する画素のアレイにマッピングされうる。システム500は、504によって表されるパターンに対応するピクセルマップ510を生成してもよい。
【００９２】
ディスプレイ502は、ディスプレイ502をタッチすることによってユーザによって入力される情報を受け入れるように構成されたタッチセンサ式ディスプレイ(例えば、タッチスクリーン)であってよい。タッチセンサ式ディスプレイ502は、例えば、システム300内に含まれたディスプレイ304であってよい。タッチセンサ式ディスプレイ502は、ディスプレイ502をタッチすることによってユーザによって入力された情報のトレース、例えば、ユーザによってディスプレイ502の表面上に描かれたパターンのトレースをユーザに表示するように構成してもよい。例えば、ユーザは、指または他の適切な入力方法を用いて、ディスプレイ502の表面上にパターン「g」を描くことができる。システム500は、ユーザのパターンを処理して、パターン「g」のトレース504をディスプレイ502上に提示することになる。
【００９３】
システム500は、ユーザがタッチしたディスプレイ502のゾーンまたは点に対応する画素を記憶する。これは、例えば、タッチ曖昧性除去装置314、もしくはピクセルマップ生成器316、またはそれらの適切な組合せによって実行してもよい。システム500は、行506と列508とに基づいて、ディスプレイ502を画素のアレイにマッピングする。アレイ内のそれぞれの画素は、その対応する行および列によって識別され、例えば、図5に示されるアレイの要素A1およびB2は2つの別個の画素を表す。ディスプレイ502のそれぞれのゾーンがアレイの要素によって表されるように、画素のアレイが生成される。
【００９４】
ユーザがディスプレイ502上にパターンを描くとき、システム500は、ユーザがタッチしたディスプレイ502のそれぞれのゾーンを検出して、検出されたゾーンを表す画素を識別する。例えば、ユーザがトレース504によって表されるパターンをディスプレイ502上に描くと、ユーザは、図5の番号(1)から(22)によって示された順にディスプレイのゾーンにタッチしてもよい。システム500は、タッチされたゾーンを順番に検出して、タッチされたゾーンに対応する画素を識別することになる。システム500は、識別された画素をアレイの要素として記憶することになり、例えば、システム500は、それぞれ、タッチされたゾーン(1)から(22)に関連する画素に対応する座標D2、C2、B2、B3、B4、C4、D4、D3、D2、D3、D4、D5、D6、D7、C7、B7、B6、B5、C5、D5、D4、E4を記憶することになる。上記の動作は、画素座標D2、C2、B2、B3、B4、C4、D4、D3、D2、D3、D4、D5、D6、D7、C7、B7、B6、B5、C5、D5、D4、E4をタッチされた画素328としてキャッシュ308内に記憶するタッチ曖昧性除去装置314によって実行されうる。
【００９５】
例えば、システム500が、ユーザが既定の期間にわたってディスプレイ502をタッチしていないと判断することに基づいて、ディスプレイ502上の文字のトレースを完了したと判断するとき、システム500は、記憶された画素を取り出して、ピクセルマップを生成する。例えば、ピクセルマップ生成器316は、タッチされた画素328をキャッシュ308から取り出して、トレース504に対応するピクセルマップ510を{D2、C2、B2、B3、B4、C4、D4、D3、D2、D3、D4、D5、D6、D7、C7、B7、B6、B5、C5、D5、D4、E4}として生成する。その後で、システム500は、ピクセルマップに対応する文字を認識して、認識した文字に基づいて、検索結果を生成するために、ピクセルマップ510を検索システム(例えば、検索システム140)に送信してもよい。
【００９６】
図6A〜図6Fは、ユーザデバイスのディスプレイ602上に描かれたパターンに基づいて、検索結果として画像が返される検索を実行するために使用可能な、あるシステム600の例を示す。ディスプレイ602は、例えば、検索タームと関連する検索結果とをディスプレイ602上に示す検索アプリケーションインターフェースをユーザに提示する、ユーザデバイス110のディスプレイであってよい。図6A〜図6Fによって示されるように、ユーザは、パターンをディスプレイ602上に描いて、検索タームを入力してもよい。システム600は、ユーザが入力したパターンに対応する文字を認識して、認識した文字を含む検索ターム604を示唆してもよい。示唆された検索タームのうちの1つが、ユーザが意図した検索クエリに整合する場合、ユーザはその検索タームを選択することができ、またはユーザは示唆された検索タームを無視して、パターンをディスプレイ上に描くことによって、検索タームに関する文字を入力し続けることができる。検索アプリケーションは、アイコン608を選択することによって、示唆された検索タームを動作不能にするオプションをユーザに提供してもよい。
【００９７】
検索タームとしてユーザが描いたパターンに基づいて認識した文字を使用して、システム600は画像606のサムネイルを検索結果として返す。ユーザがより多くのパターンを描くと、システム600はより多くの文字を認識して、新しく認識した文字を含めるために、示唆された検索タームを更新して、更新された検索タームに整合する画像610のサムネイルを含む、更新された検索結果を戻す。画像のサムネイルおよび検索タームは、検索アプリケーションインターフェースによってディスプレイ602上に提示される。
【００９８】
図7A〜図7Hは、検索タームと検索結果とがユーザデバイスのディスプレイ702上に描かれたパターンに基づいて更新される検索を実行するために使用可能な、あるシステム700の例を示す。ディスプレイ702は、例えば、検索タームと関連する検索結果とをディスプレイ702上に示す検索アプリケーションインターフェースをユーザに提示する、ユーザデバイス110のディスプレイであってよい。図7A〜図7Hによって示されるように、ユーザは、ディスプレイ702上にパターンを描いて、検索タームを入力してもよい。システム700は、ユーザが入力したパターンに対応する文字を認識して、認識した文字を含む検索ターム704を示唆してもよい。示唆された検索タームのうちの1つが、ユーザが意図した検索クエリに整合する場合、ユーザはその検索タームを選択することができ、またはユーザは示唆された検索タームを無視して、パターンをディスプレイ上に描くことによって、検索タームに関する文字を入力し続けることができる。
【００９９】
検索タームとしてユーザが描いたパターンに基づいて認識した文字を使用して、システム700は検索結果を返す。ユーザがより多くの文字を描くと、システム700はより多くの文字を認識して、新しく認識した文字を含めるために、示唆された検索タームを更新して、更新された検索結果を返す。図7Hに示されるように、検索結果は、検索タームに整合するウェブページに対するテキストベースのリンク706と、さらに、検索タームに整合する画像708のサムネイルの両方を含んでいてもよい。テキストベースのリンクと画像のサムネイルは両方とも検索アプリケーションインターフェースによってディスプレイ702上に一緒に提示される。
【０１００】
図8A〜図8Dは、検索アプリケーションインターフェース上のアイコンを選択することによって、検索を実行するためのユーザデバイスのディスプレイ802上のジェスチャを動作可能または動作不能にしてもよいシステム800の例を示す。ディスプレイ802は、例えば、検索タームと関連する検索結果とをディスプレイ802上に示す検索アプリケーションインターフェースをユーザに提示する、ユーザデバイス110のディスプレイであってよい。図8Aおよび図8Cに示されるように、検索アプリケーションは、ジェスチャによる検索が動作可能にされることを示すアイコン804を検索欄806内に提供してもよい。検索アプリケーションは、ジェスチャに基づいて検索を動作不能にするためのオプション808をユーザに提供してもよい。ユーザがジェスチャに基づいて検索を動作不能にすることを選ぶ場合、図8Dに示されるように、アイコン804は検索欄806から消える。しかし、検索アプリケーションは、検索アプリケーションの設定を修正することによって、ジェスチャによる検索をどのように再度動作可能にできるかを示す命令812をインターフェース上に提供してもよい。
【０１０１】
いくつかの実装形態では、検索アプリケーションは、図8Bに示されるように、ジェスチャによってどのように検索を実行するかに関するデモンストレーション810を提供することもできる。デモンストレーション810は、ユーザが、例えば、ディスプレイ802上にパターンを描いて、検索タームに対応する文字を入力することによって、ジェスチャを使用してどのように検索を実行するかを理解するのを助けることができる。
【０１０２】
ここで説明されたシステムおよび技法の様々な実装形態は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せの形で実現してもよい。これらの様々な実装形態は、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータならびに命令を受信して、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスにデータならびに命令を送信するために接続されうる、専用であってよく、または汎用であってもよい、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/あるいは解釈可能な1つもしくは複数のコンピュータプログラム内の実装形態を含んでいてもよい。
【０１０３】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)これらのコンピュータプログラムは、プログラマブルプロセッサ用の機械命令を含み、ハイレベルの手続き型および/もしくはオブジェクト指向のプログラミング言語、ならびに/またはアセンブリ言語/機械語で実施されてもよい。本明細書で使用される場合、「機械可読媒体」、「コンピュータ可読媒体」という用語は、機械可読信号として機械命令を受信する機械可読媒体を含めて、機械命令および/もしくはデータをプログラマブルプロセッサに提供するために使用されるコンピュータプログラム製品、装置、ならびに/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される信号を指す。
【０１０４】
ユーザとの対話を提供するために、ここで説明されたシステムおよび技法は、ディスプレイデバイス(例えば、情報をユーザに表示するためのCRT(陰極線管)モニタまたはLCD(液晶ディスプレイ)モニタ)と、それによってユーザがコンピュータに入力を提供できるキーボードおよびポインティングデバイス(例えば、マウス、またはトラックボール)とを有するコンピュータ上で実施してもよい。ユーザとの対話を提供するために、他の種類のデバイスを同様に使用してもよい。例えば、ユーザに提供されるフィードバックは、形の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、もしくは触覚フィードバック)であってよく、音響入力、音声入力、または触覚入力を含めて、任意の形でユーザから入力を受信してもよい。
【０１０５】
ここで説明されたシステムおよび技法は、(例えば、データサーバなど)バックエンド構成要素を含むコンピューティングシステム、(例えば、アプリケーションサーバなど)ミドルウェア構成要素を含むコンピューティングシステム、フロントエンド構成要素(例えば、それを介してユーザがここで説明されたシステムおよび技法の実装形態と対話することが可能なグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータ)を含むコンピューティングシステム、あるいはそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の組合せを含むコンピューティングシステム内で実施してもよい。システムの構成要素は、任意の形式または任意の媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互接続されうる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)と、広域ネットワーク(「WAN」)と、インターネットとを含む。
【０１０６】
コンピュータシステムは、クライアントとサーバとを含んでいてもよい。クライアントおよびサーバは、一般に、互いから離れており、典型的には、通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行し、互いに対してクライアント・サーバ関係を有するコンピュータプログラムによって生じる。
【０１０７】
上で説明された例示的な実装形態は、英語のアルファベットからの文字を使用する。他の実装形態では、文字は英語ではないアルファベットからの文字であってよく、または非アルファベット記号であってもよい。
【０１０８】
いくつかの実施形態が説明された。それでもなお、本発明の趣旨および範囲から逸脱せずに、様々な修正を行ってもよいことを理解されよう。例えば、本文書の大部分はメッセージングアプリケーションおよびマッピングアプリケーションに関して説明されているが、対話式プログラムガイド、ウェブページナビゲーションおよびウェブページズーミング、ならびに他のそのようなアプリケーションなど、他の形式のグラフィカルアプリケーションに対処してもよい。
【０１０９】
加えて、図面に示される論理の流れは、所望される結果に達するために、示された特定の順序、または連続的な順序を必要としない。加えて、他のステップを提供することが可能であり、または説明された流れからステップを除去することが可能であり、説明されたシステムに他の構成要素を追加することが可能であり、または説明されたシステムから構成要素を除去してもよい。したがって、他の実施形態は以下の請求項の範囲内である。
【符号の説明】
【０１１０】
100  システム
110  ユーザデバイス
112  ディスプレイ、ディスプレイデバイス
116  検索ターム
118  検索結果
119  表現、トレース
120  検索データ
122  これまで認識した文字
124  ジェスチャデータ
130  ネットワーク
140  検索システム、遠隔システム
145  フロントエンド
147  ジェスチャデータ
150  ジェスチャエンジン
152  文字
154  検索ターム
155  検索エンジン
157  検索結果
160  結果データ
162  認識した文字、文字フィールド
164  検索結果、検索結果フィールド
172  検索ターム
174  結果フィールド
【図１】
2014535110.tif 000003
【図２】
2014535110.tif 000004
【図３】
2014535110.tif 000005
【図４】
2014535110.tif 000006
【図５】
2014535110.tif 000007
【図６（Ａ）】
2014535110.tif 000008
【図６（Ｂ）】
2014535110.tif 000009
【図６（Ｃ）】
2014535110.tif 000010
【図６（Ｄ）】
2014535110.tif 000011
【図６（Ｅ）】
2014535110.tif 000012
【図６（Ｆ）】
2014535110.tif 000013
【図７（Ａ）】
2014535110.tif 000014
【図７（Ｂ）】
2014535110.tif 000015
【図７（Ｃ）】
2014535110.tif 000016
【図７（Ｄ）】
2014535110.tif 000017
【図７（Ｅ）】
2014535110.tif 000018
【図７（Ｆ）】
2014535110.tif 000019
【図７（Ｇ）】
2014535110.tif 000020
【図７（Ｈ）】
2014535110.tif 000021
【図８（Ａ）】
2014535110.tif 000022
【図８（Ｂ）】
2014535110.tif 000023
【図８（Ｃ）】
2014535110.tif 000024
【図８（Ｄ）】
2014535110.tif 000025
【国際調査報告】
2014535110.tif 000026
2014535110.tif 000027
2014535110.tif 000028