(57)【特許請求の範囲】
【請求項１】
検索結果を提示するためにコンピュータによって実行される方法であって、前記方法は、
前記コンピュータのハードウェアプロセッサを用いて、現在提示されているメディアに関するクエリを受信するステップと、
現在提示されている番組を特定するステップと、
特定した前記番組と関連付けられる複数のキーワードを特定するステップと、
前記クエリに文脈的に関連している前記複数のキーワードから、１つ以上のキーワードを求めるステップと、
前記クエリおよび文脈的に関連している前記１つ以上のキーワードに基づいて複数の検索結果を得るステップと、
前記複数の検索結果の少なくとも１つをユーザに提示するステップとを備える、方法。
【請求項２】
前記クエリは第１のデバイスから受信され、前記メディアは第２のデバイスによって提示され、前記複数の検索結果の前記少なくとも１つは前記第１のデバイスによって提示される、請求項１に記載の方法。
【請求項３】
オーディオデータを受信するステップと、
受信した前記オーディオデータの第１のオーディオフィンガープリントを、複数の番組に対応するオーディオフィンガープリントと比較するステップと、
前記比較に基づいて、前記第１のオーディオフィンガープリントが対応する前記複数の番組のうちの第１の番組の識別情報を受信するステップとをさらに備え、
現在提示されている前記番組は、前記第１の番組の受信された前記識別情報に基づいて特定される、請求項１または２に記載の方法。
【請求項４】
前記第１のオーディオフィンガープリントと、前記第１の番組と関連付けられる複数のオーディオフィンガープリントとの比較に基づいて、現在提示されている前記第１の番組のある部分を受信するステップをさらに備え、前記第１の番組と関連付けられる前記複数のオーディオフィンガープリントの各々は前記第１の番組の特定の部分に対応する、請求項３に記載の方法。
【請求項５】
前記クエリに文脈的に関連している前記複数のキーワードの１つ以上を求めるステップは、前記複数のキーワードの前記１つ以上が、現在提示されている前記第１の番組の前記部分と関連付けられていると判断するステップを備える、請求項４に記載の方法。
【請求項６】
前記複数のキーワードを特定するステップは、
前記番組と関連付けられるキーワードを求めて、複数の番組と関連付けられるキーワードのデータベースに問合せるステップと、
前記データベースの問合せに応答して、前記キーワードのデータベースから前記番組と関連付けられるキーワードを受信するステップとを備える、請求項１から５のいずれか１項に記載の方法。
【請求項７】
前記クエリに文脈的に関連している前記複数のキーワードの１つ以上を求めるステップは、自然言語処理を用いて、前記複数のキーワードの前記１つ以上が、前記クエリの少なくとも一部に応答する種類のキーワードであると判断するステップを備える、請求項１から６のいずれか１項に記載の方法。
【請求項８】
前記キーワードは、前記番組に現れる対象物に対応する、請求項１から７のいずれか１項に記載の方法。
【請求項９】
検索結果を提示するためのシステムであって、前記システムは、
ハードウェアプロセッサを備え、前記ハードウェアプロセッサは、
現在提示されているメディアに関するクエリを受信し、
現在提示されている番組を特定し、
特定した前記番組と関連付けられる複数のキーワードを特定し、
前記クエリに文脈的に関連している前記複数のキーワードから、１つ以上のキーワードを求め、
前記クエリおよび文脈的に関連している前記１つ以上のキーワードに基づいて複数の検索結果を得て、
前記複数の検索結果の少なくとも１つをユーザに提示する
ようにプログラムされている、システム。
【請求項１０】
前記クエリは第１のデバイスから受信され、前記メディアは第２のデバイスによって提示され、前記複数の検索結果の前記少なくとも１つは前記第１のデバイスによって提示される、請求項９に記載のシステム。
【請求項１１】
前記ハードウェアプロセッサはさらに、
オーディオデータを受信し、
受信した前記オーディオデータの第１のオーディオフィンガープリントを、複数の番組に対応するオーディオフィンガープリントと比較し、
前記比較に基づいて、前記第１のオーディオフィンガープリントが対応する前記複数の番組のうちの第１の番組の識別情報を受信する
ように構成され、
現在提示されている前記番組は、前記第１の番組の受信された前記識別情報に基づいて特定される、請求項９または１０に記載のシステム。
【請求項１２】
前記ハードウェアプロセッサはさらに、前記第１のオーディオフィンガープリントと、前記第１の番組と関連付けられる複数のオーディオフィンガープリントとの比較に基づいて、現在提示されている前記第１の番組のある部分を受信するように構成され、前記第１の番組と関連付けられる前記複数のオーディオフィンガープリントの各々は前記第１の番組の特定の部分に対応する、請求項１１に記載のシステム。
【請求項１３】
前記ハードウェアプロセッサはさらに、前記複数のキーワードの前記１つ以上が、現在提示されている前記第１の番組の前記部分と関連付けられていると判断するように構成される、請求項１２に記載のシステム。
【請求項１４】
前記ハードウェアプロセッサはさらに、
前記番組と関連付けられるキーワードを求めて、複数の番組と関連付けられるキーワードのデータベースに問合せ、
前記データベースの問合せに応答して、前記キーワードのデータベースから前記番組と関連付けられるキーワードを受信する
ように構成される、請求項９から１３のいずれか１項に記載のシステム。
【請求項１５】
前記ハードウェアプロセッサはさらに、自然言語処理を用いて、前記複数のキーワードの前記１つ以上が、前記クエリの少なくとも一部に応答する種類のキーワードであると判断するように構成される、請求項９から１４のいずれか１項に記載のシステム。
【請求項１６】
前記キーワードは、前記番組に現れる対象物に対応する、請求項９から１５のいずれか１項に記載のシステム。
【請求項１７】
前記１つ以上のキーワードは、前記クエリが入力されたときに提示されている部分に関連付けられている、請求項１〜請求項８のいずれか１項に記載の方法。
【請求項１８】
前記１つ以上のキーワードは、前記クエリが入力されたときに提示されている部分に関連付けられている、請求項９〜請求項１６のいずれか１項に記載のシステム。
【請求項１９】
請求項１〜８および１７のいずれか１項に記載の方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願との相互参照
本願は、２０１３年１２月３１日に出願された米国仮特許出願番号第６１／９２２，２１８号の利益を主張する２０１４年２月２６日に出願された米国特許出願番号第１４／１９１，０３４号の利益を主張し、上記出願の全体が引用により本明細書に援用される。
【０００２】
技術分野
文脈情報に基づいて検索結果を生成するための方法、システム、および媒体が提供される。
【背景技術】
【０００３】
背景
映画またはテレビ番組などの番組を見ている時、ユーザは、多くの質問の中でも特に、番組に出ている俳優の名前、番組の場所、その俳優がこれまでに他に何に出演したか、番組についての詳細、番組のプロットなどの、番組の内容についての質問があることが多い。これらの質問に対する答えを見つけることは、ユーザが、番組の名前を見つけ出すこと、検索エンジンまたは番組情報のデータベースを用いて番組についての詳細を探し求めること、および検索結果またはデータベースエントリを組合せることなどの、多数のステップを行なうことをしばしば伴い、これは、答えを見つけ出そうとしているユーザの質問に無関係であり得る。これはユーザにとって時間の掛かる手順であり得、ユーザが番組の大部分を見逃す原因となり得るか、さもなければユーザの視聴体験を中断させ得る。
【０００４】
したがって、文脈情報に基づいて検索結果を生成するための新たな方法、システム、および媒体が望まれる。
【発明の概要】
【課題を解決するための手段】
【０００５】
概要
開示される主題のいくつかの実現例に従って、文脈情報に基づいて検索結果を生成するためのメカニズムが提供される。
【０００６】
開示される主題のいくつかの実現例に従って、検索結果を提示するための方法が提供され、当該方法は、ハードウェアプロセッサを用いて、現在提示されているメディアに関するクエリを受信するステップと、現在提示されている番組を特定するステップと、特定した番組と関連付けられる複数のキーワードを特定するステップと、クエリに文脈的に関連している複数のキーワードの１つ以上を求めるステップと、クエリおよび文脈的に関連している１つ以上のキーワードに基づいて複数の検索結果を得るステップと、複数の検索結果の少なくとも１つをユーザに提示するステップとを含む。
【０００７】
開示される主題のいくつかの実現例に従って、検索結果を提示するためのシステムが提供され、当該システムは、ハードウェアプロセッサを含み、ハードウェアプロセッサは、現在提示されているメディアに関するクエリを受信し、現在提示されている番組を特定し、特定した番組と関連付けられる複数のキーワードを特定し、クエリに文脈的に関連している複数のキーワードの１つ以上を求め、クエリおよび文脈的に関連している１つ以上のキーワードに基づいて複数の検索結果を得て、複数の検索結果の少なくとも１つをユーザに提示するようにプログラムされている。
【０００８】
開示される主題のいくつかの実現例に従って、プロセッサによって実行されるとプロセッサに検索結果を提示するための方法を実行させるコンピュータ実行可能命令を含む非一時的なコンピュータ読取可能媒体が提供され、当該方法は、現在提示されているメディアに関するクエリを受信するステップと、現在提示されている番組を特定するステップと、特定した番組と関連付けられる複数のキーワードを特定するステップと、クエリに文脈的に関連している複数のキーワードの１つ以上を求めるステップと、クエリおよび文脈的に関連している１つ以上のキーワードに基づいて複数の検索結果を得るステップと、複数の検索結果の少なくとも１つをユーザに提示するステップとを含む。
【０００９】
開示される主題のいくつかの実現例に従って、検索結果を提示するためのシステムが提供され、当該システムは、現在提示されているメディアに関するクエリを受信するための手段と、現在提示されている番組を特定するための手段と、特定した番組と関連付けられる複数のキーワードを特定するための手段と、クエリに文脈的に関連している複数のキーワードの１つ以上を求めるための手段と、クエリおよび文脈的に関連している１つ以上のキーワードに基づいて複数の検索結果を得るための手段と、複数の検索結果の少なくとも１つをユーザに提示するための手段とを含む。
【００１０】
いくつかの実現例では、クエリは第１のデバイスから受信され、メディアは第２のデバイスによって提示され、複数の検索結果の少なくとも１つは第１のデバイスによって提示される。
【００１１】
いくつかの実現例では、システムはさらに、第１のデバイスからオーディオデータを受信するための手段と、受信したオーディオデータの第１のオーディオフィンガープリントを、複数の番組に対応するオーディオフィンガープリントと比較するための手段と、比較に基づいて、第１のオーディオフィンガープリントが対応する複数の番組のうちの第１の番組の識別情報（アイデンティティ）を受信するための手段とを含み、現在提示されている番組は、第１の番組の受信された識別情報に基づいて特定される。
【００１２】
いくつかの実現例では、システムはさらに、第１のオーディオフィンガープリントと、第１の番組と関連付けられる複数のオーディオフィンガープリントとの比較に基づいて、現在提示されている第１の番組のある部分を受信するための手段を含み、第１の番組と関連付けられる複数のオーディオフィンガープリントの各々は第１の番組の特定の部分に対応する。
【００１３】
いくつかの実現例では、クエリに文脈的に関連している複数のキーワードの１つ以上を求めるための手段は、複数のキーワードの１つ以上が、現在提示されている第１の番組の部分と関連付けられていると判断するための手段を含む。
【００１４】
いくつかの実現例では、複数のキーワードを特定するための手段は、番組と関連付けられるキーワードを求めて、複数の番組と関連付けられるキーワードのデータベースに問合せるための手段と、データベースの問合せに応答して、キーワードのデータベースから番組と関連付けられるキーワードを受信するための手段とを含む。
【００１５】
いくつかの実現例では、クエリに文脈的に関連している複数のキーワードの１つ以上を求めるための手段は、自然言語処理を用いて、複数のキーワードの１つ以上が、クエリの少なくとも一部に応答する種類のキーワードであると判断するための手段を含む。
【００１６】
いくつかの実現例では、キーワードは、番組に現れる対象物に対応する。
開示される主題のさまざまな目的、特徴、および利点は、以下の図面に関連して考慮されると、開示される主題の以下の詳細な説明を参照してより完全に認識され得る。図中、同様の参照番号は同様の要素を示す。
【図面の簡単な説明】
【００１７】
【図１】開示される主題のいくつかの実現例に従う、文脈情報に基づいて検索結果を生成するための処理の例を示す図である。
【図２】開示される主題のいくつかの実現例に従う、テレビ番組などのメディアコンテンツを提供しているデバイスと、検索クエリを受信するとクエリおよびテレビ番組に基づいて検索結果を提供するモバイルデバイスとの説明的な例を示す図である。
【図３】開示される主題のいくつかの実現例に従う、文脈情報に基づいて検索結果を生成するためのここに記載されるメカニズムの実現に好適な説明的なシステムの概略図である。
【図４】開示される主題のいくつかの実現例に従う、サーバ、および使用可能な図３のコンピューティングデバイスのうちの１つの詳細な例を示す図である。
【図５】開示される主題のいくつかの実現例に従う、文脈情報に基づいて検索結果を生成するためのフローの例を示す図である。
【発明を実施するための形態】
【００１８】
詳細な説明
開示される主題のいくつかの実現例に従って、文脈情報に基づいて検索結果を生成するためのメカニズムが提供される。
【００１９】
いくつかの実現例では、ここに記載されるメカニズムは、現在提示されているメディアコンテンツに関するクエリを受信することができる。たとえば、メカニズムはスマートフォンからクエリを受信することができ、当該クエリは、スマートフォンの場所で現在提示されているメディアコンテンツに関する。より特定の例では、クエリは「今テレビに出ているあの登場人物を私はどこで見た？」というフレーズを含んでもよい。
【００２０】
いくつかの実現例では、クエリに関連して、ここに記載されるメカニズムは、現在提示されているメディアコンテンツに関するメディアデータを受信することができる。たとえば、メカニズムは、スマートフォンによって録音された音声に基づいてオーディオデータおよび／またはオーディオフィンガープリントを受信することができる。いくつかの実現例では、このメディアデータをここに記載されるメカニズムによって用いて、現在提示されている番組を特定することができる。提示されているものについての情報は、番組の識別情報に基づいて、ここに記載されるメカニズムによって求めることができる。たとえば、オーディオフィンガープリントを用いて、提示されている番組の部分を求めることができ、番組のその部分に基づいて、その部分の間にビデオデータに現れる俳優（または登場人物）の識別情報を求めることができる。この情報（たとえばどの俳優がビデオデータに提示されているのか）は、いくつかの実現例では、クエリに応答して検索結果を得る際に、ここに記載されるメカニズムによって用いられ得る。さらに、いくつかの実現例では、ここに記載されるメカニズムは、クエリに対して検索結果を得る際に、クエリからの文脈情報を用いることができる。
【００２１】
いくつかの実現例では、ここに記載されるメカニズムは、検索結果をユーザに提示することができる。たとえば、ここに記載されるメカニズムは、スマートフォンからの「今テレビに出ているあの登場人物を私はどこで見た？」のクエリと、スマートフォンによって録音されたオーディオデータとを受信することができる。ここに記載されるメカニズムは、当該音声に対応する番組が「番組Ｚ」であり、かつ、当該音声が、人物「俳優Ａ」および「俳優Ｂ」がビデオデータに現れる番組の部分に対応すると判断することができる。クエリの文脈に基づいて、ここに記載されるメカニズムは、クエリが、番組の特定された部分の間にビデオデータに現れる人物に関しており、かつ、クエリが、その人物がこれまでに他に何に出演したかに関すると判断することができる。ここに記載されるメカニズムは、クエリがどの人物に差し向けられているかを判断できない場合、「俳優Ａ」および「俳優Ｂ」の両者がこれまでに出演したものについての検索結果を得ることができる。メカニズムは次に、検索結果をスマートフォンによって提示することができる。たとえば、検索結果は、俳優の名前（たとえば「俳優Ａ」、「俳優Ｂ」等）、俳優の画像、俳優がこれまでに出演したもの（たとえば時系列に、人気順に、等で編成される）、および／またはその他の好適な情報を含んでもよい。
【００２２】
図１を参照して、文脈情報に基づいて検索結果を生成するための処理の例１００が、開示される主題のいくつかの実現例に従って示される。図１に示されるように、処理１００は、１０２において、ユーザからのクエリを、当該クエリが現在提示されているメディアに差し向けられているという表示とともに受信することによって開始することができる。クエリは任意の好適な単数または複数の技術を用いて受信されてもよい。たとえば、いくつかの実現例では、処理１００は、クエリを構成するのに用いられたコンピューティングデバイスからクエリを受信してもよい。クエリは任意の好適な単数または複数の技術を用いてコンピューティングデバイスによって構成されてもよい。たとえば、クエリは、スマートフォン、タブレットコンピュータ、ウェアラブルコンピュータ、ラップトップコンピュータ等のコンピューティングデバイス上のウェブブラウザを用いてアクセスされる検索エンジンと関連付けられる検索フィールド内に構成されてもよい。別の例として、クエリは、コンピューティングデバイス上にインストールされる検索アプリケーション（たとえば一般機能ウェブブラウザではないアプリケーション）を用いてアクセスされる検索エンジンと関連付けられる検索フィールド内に構成されてもよい。さらに別の例として、クエリは、現在提示されているメディアコンテンツについての情報を見つけて提示するためのアプリケーションと関連付けられる検索フィールド内に構成されてもよい。より特定の例では、クエリは、オーディオデータを受信し、当該オーディオデータを用いて現在提示されているメディアを特定するオーディオフィンガープリンティングアプリケーションの検索フィールド内に構成されてもよい。さらに別の例として、クエリは、クエリを解釈し、検索エンジン等と通信して検索結果を得ることができる、コンピューティングデバイス（いくつかの実現例ではバックグラウンドで実行されていてもよい）上で実行されるオペレーティングシステムまたは他のアプリケーションによって構成されてもよい。
【００２３】
いくつかの実現例では、検索クエリは任意の好適な技術を用いて構成されてもよい。たとえば、クエリを構成するのに用いられるデバイスは、キーボードまたはクエリのテキストを入力するためのその他の好適なデバイスを用いるユーザによって入力されるテキストを受信してもよい。別の例として、クエリを構成するデバイスは、（たとえばクエリを話すユーザによって）音声を受信してもよく、（たとえば音声を処理して語を抽出し、当該語に基づいてクエリを作成することによって）音声に基づいてクエリを構成してもよい。
【００２４】
いくつかの実現例では、処理１００は、任意の好適な単数または複数の技術を用いて、クエリが現在提示されているメディアに差し向けられているという表示を受信することができる。たとえば、１０２で受信されたクエリは、クエリが現在提示されているメディアに差し向けられているという表示を含んでもよい。より特定の例では、クエリは、「今テレビに出ている」、「この番組」、「この映画」、「今画面上の」などのフレーズ、および／または、クエリに対する答えが現在提示されているメディアに関することを示すその他のフレーズを含んでもよい。いくつかの実現例では、クエリは、現在提示されているメディアコンテンツに関するクエリを開始するための特定のフレーズ（または特定のフレーズに類似の変形）を含まなければならない。
【００２５】
別の例として、１０２で受信されたクエリは、現在提示されているメディアに差し向けられるクエリを構成するようにプログラムされているアプリケーションまたはウェブページから受信されてもよい。そのような例では、処理１００は、クエリが発生したアプリケーションおよび／またはウェブページに基づいて、クエリが現在提示されているメディアに関すると判断することができる。
【００２６】
１０４において、処理１００は、現在提示されているメディアに対応する第１のメディアデータを受信することができる。いくつかの実現例では、処理１００は、現在提示されている番組のオーディオデータを含むオーディオデータを受信することができる。たとえば、１０２で受信されたクエリを構成するのに用いられるコンピューティングデバイスは、メディアコンテンツを現在提示しているデバイスによって提示されるメディアコンテンツの音声の一部を録音することができる。この音声は、処理１００を実行するデバイスによって受信されてもよい。別の例として、処理１００は、提示されているメディアコンテンツから記録されたオーディオデータの一部に基づいて生成されるメディアコンテンツについてのオーディオフィンガープリントを受信することができる。そのような例では、オーディオフィンガープリントは、クエリを構成するのに用いられるデバイス、または、オーディオデータからオーディオフィンガープリントを生成するための処理を実行するサーバなどの別のデバイスによって作成されてもよい。
【００２７】
いくつかの実現例では、処理１００は、現在提示されているメディアコンテンツと関連付けられるメタデータを受信することができる。たとえば、処理１００は、現在提示されているメディアコンテンツと関連付けられる電子番組ガイドデータを受信することができる。別の例として、処理１００は、番組と関連付けられるメタデータ（たとえばコンテンツプロバイダから番組とともに送信されるメタデータ）を受信することができる。
【００２８】
いくつかの実現例では、処理１００は、現在提示されているメディアコンテンツの画像データの少なくとも一部を含む画像データを受信することができる。この画像データは、たとえば、１０２で受信されたクエリを構成するのに用いられるデバイスによってキャプチャされるメディアコンテンツのビデオデータを含んでもよい。たとえば、１０２で受信されたクエリを構成するのに用いられるコンピューティングデバイスは、メディアコンテンツを提示しているデバイスによって提示されるメディアコンテンツのビデオの一部を記録することができる。このビデオは、処理１００を実行するデバイスによって受信されてもよい。別の例として、処理１００は、提示されているメディアコンテンツから作成されるビデオデータの一部から作成されるメディアコンテンツについてのビデオフィンガープリントを受信することができる。そのような例では、ビデオフィンガープリントは、クエリを構成するのに用いられるデバイス、または、ビデオデータからビデオフィンガープリントを生成するための処理を実行するサーバなどの別のデバイスによって作成されてもよい。
【００２９】
いくつかの実現例では、処理１００は、メディアコンテンツについてのさまざまな情報を含み得る現在提示されているメディアコンテンツについてのデータを受信することができる。たとえば、メディアコンテンツについてのデータは、そこからコンテンツが受信されたサービスプロバイダ、コンテンツが提示されたチャンネル、コンテンツが提示された時間、コンテンツのタイトル、および／または提示されているメディアコンテンツについてのその他の好適なデータを含んでもよい。いくつかの実現例では、メディアコンテンツについてのデータは、任意の好適な技術を用いてデータを生成可能な、１０２でクエリを構成するのに用いられたコンピューティングデバイスから受信されてもよい。たとえば、クエリを構成するのに用いられたコンピューティングデバイスは、オーディオデータをキャプチャし（および／またはオーディオフィンガープリントを生成し）、オーディオデータに基づいてメディアデータを特定して番組を特定するサービスを用いることによって、番組を特定することができる。そのようなサービスは、特定された番組の番組データを提供することができる。別の例として、クエリを構成するのに用いられたコンピューティングデバイスは、コンテンツプロバイダ（たとえばケーブル、衛星、コンテンツを提供した電話会社、もしくはコンテンツがアンテナを介して放送として受信されたか否か）、番組が提示されるおよび／または提示されたチャンネル（たとえばコンテンツプロバイダのチャンネル）、コンテンツが提示された日付および／または時間（コンテンツプロバイダから現在受信されて提示されているコンテンツについての現在の時間であり得る）等の、現在提示されているメディアコンテンツについての情報を入力するようにユーザに促すことができる。
【００３０】
１０６において、処理１００は、１０４で受信された第１のメディアデータに基づいて、提示されている番組を特定することができる。メディアデータを特定する任意の好適な単数または複数の技術が用いられてもよい。たとえば、いくつかの実現例では、１０４で受信されたオーディオデータを用いて、現在提示されているメディアコンテンツについてのオーディオフィンガープリントが生成されてもよい。このオーディオフィンガープリントは、特定のメディアコンテンツに対応することが分かっているオーディオフィンガープリントと比較されてもよく、この比較に基づいて、現在提示されているメディアコンテンツが特定されてもよい。別の例として、１０４で受信されたオーディオフィンガープリントを用いて、（たとえば音声を受信し、受信した音声に基づいてオーディオフィンガープリントを生成する代わりに）メディアコンテンツが特定されてもよい。さらに別の例として、１０４で受信された電子番組ガイド情報および／またはメタデータが、特定のメディアコンテンツに対応することが分かっている電子番組ガイド情報および／またはメタデータと比較されてもよく、この比較に基づいて、現在提示されているメディアコンテンツが特定されてもよい。さらに別の例として、１０４で受信された画像データ、ビデオデータおよび／またはビデオフィンガープリントデータが、特定のメディアコンテンツに対応することが分かっている同様のデータと比較されてもよく、この比較に基づいて、現在提示されているメディアコンテンツが特定されてもよい。より特定の例では、１０４で受信された画像データは、バーコード、ＱＲコード（登録商標）、および／または情報を視覚的に符号化するためのその他の好適な種類の視覚的コードなどのコードを含んでもよい。別のより特定の例として、１０４で受信された画像データおよび／またはビデオデータはステガノグラフィ的に符号化されるデータを含んでもよく、処理１００はこの符号化データを画像データおよび／またはビデオデータから抽出してもよい。さらなる例として、１０４で受信された番組についてのデータは、現在提示されているメディアコンテンツを特定するために用いられてもよく、および／または特定のメディアコンテンツに対応することが分かっている番組データと比較されてもよく、この比較に基づいて、現在提示されているメディアコンテンツが特定されてもよい。
【００３１】
いくつかの実現例では、処理１００は、公知の番組に対応するメディアデータ（たとえばオーディオフィンガープリント、メタデータ、ビデオフィンガープリント、および／またはその他の好適なメディアデータ）のデータベースにアクセスすることができる。たとえば、１０６において、現在提示されているメディアを特定するために、処理１００は、１０４で受信されたオーディオフィンガープリントと、公知の番組に対応するデータベース内のオーディオフィンガープリントとを比較するために当該データベースにアクセスすることができる。
【００３２】
いくつかの実現例では、処理１００は、現在提示されているメディアに対応する番組の部分を特定することができる。たとえば、メディアデータのデータベースは、現在提示されているメディアに対応する番組の特定の部分を特定することができる。より特定の例では、番組から生成されるオーディオフィンガープリントが、当該オーディオフィンガープリントに対応するオーディオデータを有する番組の部分と関連付けられてもよい。図３に関連して以下に説明するように、オーディオフィンガープリントは、コンテンツソースから受信される番組の音声から生成されてもよい。これらのオーディオフィンガープリントの各々は、オーディオフィンガープリントに対応する音声を有する番組の部分と関連付けられてもよい。これらのオーディオフィンガープリントは、たとえば、番組を特定する情報、およびオーディオフィンガープリントが対応する番組の部分と関連して、オーディオフィンガープリントのデータベースに記憶されてもよい。現在提示されているメディアのオーディオフィンガープリントと公知の番組のオーディオフィンガープリントのデータベースとを比較すると、処理１００は、現在提示されているメディアが対応する番組、および現在提示されているメディアが対応する番組の部分を特定することができる。いくつかの実現例では、番組の当該部分は、タイミング情報（たとえばオーディオフィンガープリントに対応する音声を有する番組内の時間）を用いて特定されてもよい。
【００３３】
いくつかの実現例では、現在提示されているメディアコンテンツに対応する番組の部分は、ビデオフィンガープリント、電子番組ガイドデータ、当該番組のメタデータ、当該番組を提示するデバイスからのタイミング情報、現在提示されているメディアコンテンツを特定するためのサービスからのタイミング情報等の、その他の好適な情報（たとえばオーディオフィンガープリント以外）を用いて求められてもよい。
【００３４】
１０８において、処理１００は、１０６で特定された番組と関連付けられるキーワードを特定することができる。いくつかの実現例では、キーワードは、番組からのエンティティおよび／または番組自体に対応し、これらを表わしてもよい。たとえば、キーワードは、人物、場所、イベント、物体、生物、ロゴ、特性、特徴、プロット、音楽、珍しい語もしくは科学用語、製品、ブランド、および／または番組に関するその他の好適なエンティティを含んでもよい。これらのキーワードは、さまざまな方法で番組と関連付けられてもよい。たとえば、人物またはランドマークの画像が、番組と関連付けられるビデオデータに含まれてもよい。別の例として、人物またはイベントが番組内で論じられてもよい（たとえば、人物の名前またはイベントを特定する語が、番組と関連付けられるオーディオデータおよび／またはサブタイトルデータに含まれてもよい）。さらに別の例として、番組と関連付けられるビデオデータに含まれるテキストを介して、および／または番組と関連付けられるオーディオデータを介して、場所が番組内に特定されてもよい。さらに別の例として、キーワードが、メタデータなどの番組と関連付けられるテキスト、電子番組ガイドデータ、および／または当該番組と関連付けられるその他のテキストに含まれてもよい。上述のものは例に過ぎず、キーワードは多くの異なる方法で番組と関連付けられてもよいと認識されることに留意すべきである。
【００３５】
図３に関連して以下に説明するように、特定のキーワードを特定された番組と関連付ける任意の好適な単数または複数の技術が用いられてもよい。たとえば、いくつかの実現例では、キーワードは、メタデータから抽出される番組のキャストに基づいて、電子番組ガイドデータに基づいて番組と関連付けられてもよく、および／または番組のタイトル（もしくは番組についてのその他の好適な情報）を用いて検索可能な番組を求めてキャスト情報のデータベースを検索することによって見つけられてもよい。別の例として、キーワードは、番組と関連付けられるビデオデータからの１つ以上のスクリーンショットに含まれる人物を特定する顔認識技術に基づいて番組と関連付けられてもよい。さらに別の例として、キーワードは、番組と関連付けられるビデオデータから抽出される１つ以上のスクリーンショットに含まれるランドマークを特定する画像認識技術に基づいて番組と関連付けられてもよい。さらに別の例として、キーワードは、番組と関連付けられるビデオデータから抽出される１つ以上のスクリーンショットに含まれるキーワードを特定する光学文字認識技術に基づいて番組と関連付けられてもよい。
【００３６】
いくつかの実現例では、キーワードは番組の特定の部分と関連付けられてもよい。たとえば、番組に現れる人物の識別情報がキーワードであってもよく、その人物が番組に現れる単数または複数の部分がそのキーワードと関連付けられてもよい。その同一人物が番組のキャストメンバーでもある場合は、その人物についてのキーワードは、番組の特定の部分が当該キーワードと関連付けられることなく、番組全体と関連付けられてもよい。別の例として、メタデータまたは電子番組ガイドデータに現れるキーワードが、これも番組の特定の部分と関連付けられることなく、番組と関連付けられてもよい。さらに別の例として、番組に現れるテキストが、当該テキストがビデオデータ、オーディオデータ、サブタイトルデータ等に現れる番組の部分と関連付けられてもよい。
【００３７】
いくつかの実現例では、番組と関連付けられるキーワードは、さまざまな番組と関連して、たとえばキーワードデータのデータベースに記憶されてもよい。いくつかの実現例では、キーワードが番組の文脈において対応するエンティティの種類がキーワードと関連付けられてもよい。たとえば、キーワードが番組に現れる人物に対応する場合、キーワードは人物キーワード、キャストキーワード等として特定されてもよい。別の例として、キーワードが番組に現れる建物またはランドマークに対応する場合、キーワードは建物キーワード、ランドマークキーワード等として特定されてもよい。いくつかの実現例では、処理１００は１０８においてキーワードデータベースにアクセスし、１０６で特定された番組と関連付けられるキーワードを特定してもよい。
【００３８】
１１０において、処理１００は、クエリに文脈的に関連している、および／または１０４で受信された第１のメディアデータに文脈的に関連している、特定されたキーワードの１つ以上を求めることができる。いくつかの実現例では、処理１００は、自然言語処理を用いて、特定のキーワードがクエリに文脈的に関連しているか否かを判断することができる。たとえば、クエリが「誰が」というフレーズまたは同様のフレーズを含む場合、処理１００は、文脈的に関連しているキーワードは人物に対応するキーワードであると判断することができる。別の例として、クエリが「今テレビに出ているこの人物はこれまでに他に何に出演した？」というフレーズを含む場合、クエリは、現在提示されているメディア中の人物を特定することを要求しているため、処理１００は、文脈的に関連しているキーワードは人物に対応するキーワードであると判断することができる。さらに別の例として、クエリが「いつ」というフレーズを含む場合、処理１００は、文脈的に関連しているキーワードは時間に対応するキーワードであると判断することができる。関連しているキーワードの種類を求めるための任意の好適な技術が用いられてもよい。たとえば、どのような種類のキーワードがクエリに文脈的に関連しているかを判断する任意の好適な自然言語処理が、ここに記載されるメカニズムによって用いられてもよい。いくつかの実現例では、クエリは、自然言語処理を実行してクエリの文脈を判断するための自然言語処理サーバに提出されてもよい。
【００３９】
いくつかの実現例では、処理１００は、１０４で受信された第１のメディアデータに基づいて、特定のキーワードがクエリに文脈的に関連しているか否かを判断することができる。たとえば、１０６に関連して上述したように、第１のメディアデータを用いて、現在提示されているメディアが対応する番組の部分を判断することができる。いくつかの実現例では、クエリの文脈に基づいて、処理１００はクエリが時間依存クエリであるか否かを判断することができる。たとえば、時間依存クエリは、番組全般ではなく、現在提示されている何かに関していてもよい。より特定の例では、「誰が今テレビに出ている？」は時間依存クエリであってもよいが、「この映画はいつ公開された？」は、現在提示されている番組の部分ではなく番組に全体的に当てはまるため、時間依存でなくてもよい。
【００４０】
いくつかの実現例では、１０８において番組と関連付けられるキーワードを特定し、１１０において文脈的に関連しているキーワードを特定する代わりに、処理１００は、クエリおよび／または第１のメディアデータの文脈を判断し、キーワードを特定する際に当該文脈を用いることができる。たとえば、処理１００は、第１のメディアデータが番組の特定の部分に対応すると判断することができ、次に、当該特定の部分に対応する、または番組に全体的に対応する（たとえば番組のいずれかの特定の部分には対応しない）キーワードのみを特定することができる。別の例として、処理１００は、クエリが人物に関すると判断することができ、人物に対応するキーワード（たとえば、ランドマーク、場所等に対応するキーワードではない）のみを特定することができる。
【００４１】
１１２において、処理１００は、クエリの少なくとも一部、および１１０で特定された文脈的に関連しているキーワードに基づいて、検索結果を得ることができる。いくつかの実現例では、処理１００は、検索エンジンにアクセスして、１０２で受信されたクエリ、および１１０で特定された文脈的に関連しているキーワードの少なくとも１つ、の両方に文脈的に関連している検索結果を得ることができる。たとえば、クエリが、「テレビに出ているあの人物は誰？」などの、現在提示されているビデオに含まれる人物に関する場合、処理１００は、クエリと、１１０で特定された文脈的に関連しているキーワード（たとえば現在提示されている番組の部分と関連付けられるキャストメンバー）とを用いて検索エンジンにアクセスすることができる。いくつかの実現例では、１１０で特定された文脈的に関連しているキーワードは、検索に対する制約として検索エンジンに渡されてもよい。たとえば、検索エンジンは、文脈的に関連しているキーワードのみに関する検索結果を求めるように制約されてもよい。
【００４２】
いくつかの実現例では、検索結果は、画像、キーワードについての記述的情報（たとえばキャストメンバーについての経歴情報、ランドマークについての背景情報等）、および／またはキーワードについてのその他の関連情報などの、１１０で特定された文脈的に関連しているキーワードについての情報を含んでもよい。
【００４３】
１１４において、処理１００は、文脈的に関連しているキーワードからの検索結果および／または文脈的に関連しているキーワードの１つ以上と関連付けられる情報の１つ以上を提示することができる。いくつかの実現例では、任意の好適な数の検索結果がクエリに応答して提示されてもよい。たとえば、１１０で特定された文脈的に関連しているキーワード毎の検索結果がユーザに提示されてもよい。別の例として、検索結果の各々は、特定の結果がクエリに関連している確率を示す信頼性パラメータ（および／またはその他の好適なパラメータ）と関連付けられてもよい。そのような例では、閾値信頼性を超える信頼性パラメータを有する検索結果のみが提示されてもよく、および／または最も高い信頼性パラメータを有する予め定められた数の検索結果が提示されてもよい。
【００４４】
いくつかの実現例では、処理１００は、クエリを構成および送信したデバイスに検索結果を送信することによって結果を提示してもよい。たとえば、クエリがモバイルコンピューティングデバイス上で構成され、ウェブブラウザを用いて送信された場合、処理１００は結果をモバイルデバイスに送信してもよく、モバイルデバイスは次にウェブブラウザ（またはその他の好適なアプリケーション）を用いて検索結果をモバイルデバイスのディスプレイ上に提示してもよい。
【００４５】
いくつかの実現例では、１１４で提示される検索結果は、検索結果が関連付けられるキーワードについてのさらなる情報へのハイパーリンクを含んでもよい。たとえば、俳優についての検索結果は、当該俳優についての経歴情報を含むウェブページへのリンクを含んでもよい。別の例として、俳優についての検索結果は、当該俳優が出演した他の番組についての情報を含むウェブページへのリンクを含んでもよい。
【００４６】
図２は、メディアコンテンツを提示しているデバイス、およびメディアコンテンツに関するクエリを構成するのに用いられるデバイスの例を示す。図２に示されるように、ディスプレイ２０４を有するメディア再生デバイス２０２が、ディスプレイ２０４およびスピーカ（図示せず）を用いて、映画などのメディアコンテンツを提示することができる。
【００４７】
メディア再生デバイス２０２によって現在提示されているメディアは、とりわけ人物２０６およびランドマーク２０８を示すビデオを含んでもよい。１０８に関連して上述したように、たとえば、人物２０６およびランドマーク２０８の識別情報が、番組（たとえば「パリについての映画」）と、番組の特定の部分（たとえば時間０：１８：１３と関連付けられる部分）とに関連付けられるキーワードであってもよい。メディア再生デバイス２０２によって現在提示されているメディアは、会話、サウンドトラック、背景雑音等の音声をさらに含んでもよい。
【００４８】
いくつかの実現例では、図２に示されるように、モバイルデバイス２１０が、検索を実行する際に用いられるクエリを構成するためのユーザインターフェイス２１２を提示することができる。たとえば、モバイルデバイス２１０上で実行されるウェブブラウザを用いて、その中にクエリが構成され得る検索フィールド２１４を有する検索エンジンウェブページにアクセスすることができる。いくつかの実現例では、モバイルデバイス２１０は、モバイルデバイス２１０と関連付けられるキーボード（図示せず）への入力に基づいて、および／またはモバイルデバイス２１０と関連付けられるマイク２１６を用いて受信されるオーディオデータに基づいて、検索フィールド２１４内にクエリを構成してもよい。
【００４９】
図２に示されるように、ユーザは、マイク２１６によってオーディオデータとして録音され得るクエリ２１８を話すことができる。図２に示される例では、話されるクエリ２１８は、「今テレビに出ているあの男性は誰？」というフレーズを含んでもよい。モバイルデバイス２１０は、マイク２１６によって録音されたオーディオデータを用いて、検索フィールド２１４内に用いられる検索クエリを構成してもよい。音声認識技術などの任意の好適な単数または複数の技術を用いて、マイク２１６によって録音されたオーディオデータから検索クエリが構成されてもよい。そのような音声認識技術はモバイルデバイス２１０によって実行されてもよいし、音声認識技術を実行するためのデバイスによって実行されてもよい。たとえば、モバイルデバイス２１０は、マイク２１６によって録音されたオーディオデータ（および／またはオーディオデータから作成された他の好適なデータ）を、音声認識を実行するサーバに送信してもよい。これらの音声認識技術の結果を用いて、検索フィールド２１４内に用いられるクエリが構成されてもよい。
【００５０】
いくつかの実現例では、検索ユーザインターフェイス要素２２０（たとえばユーザインターフェイス２１２内のボタン）を選択すると検索が開始されてもよい。付加的にまたは代替的に、モバイルデバイス２１０は、キーボード上の「終了」または「入力」キーなどの、その他の好適なユーザインターフェイス要素の選択に応答して検索を開始してもよく、および／またはクエリが構成されたことに応答して（たとえば音声認識技術が完了したことに応答して）検索を開始してもよい。いくつかの実現例では、検索は、その他の好適な条件および／もしくは判定基準が満たされたこと、ならびに／または条件および／もしくは判定基準の任意の好適な組合せが満たされたこと応答して開始されてもよい。
【００５１】
いくつかの実現例では、検索が開始されると、モバイルデバイス２１０は、ユーザインターフェイス２１２を用いて構成されたクエリを、クエリに応答して検索を実行可能なおよび／または検索結果を生成可能なリモートデバイス（たとえばサーバ）に送信してもよい。たとえば、サーバは処理１００を用いて、モバイルデバイス２１０によって提示される検索結果を生成してもよい。
【００５２】
図２に示されるように、検索結果２２２および２２４は、ユーザインターフェイス２１２を用いて構成されたクエリに応答して検索結果として提示されてもよい。たとえば、ユーザインターフェイス２１２を用いて、話されたクエリ２１８に基づいてクエリを構成してもよい。いくつかの実現例では、モバイルデバイス２１８は、（たとえばメディア再生デバイス２０２によって）現在提示されているメディアを特定する際に用いられる音声を（たとえばマイク２１６を用いて）を録音してもよい。たとえば、モバイルデバイス２１８（またはクエリが提出された先のリモートサーバ）が、クエリが現在提示されているメディアに差し向けられていると判断したことに応答して、モバイルデバイス２１８は、提示されている音声の部分を、ディスプレイ２０４によって提示されているビデオと関連して記録してもよい。次にこの音声を、処理１００を実行するデバイスによって用いて、モバイルデバイス２１０によって共有される場所で現在提示されているメディアを特定してもよい。
【００５３】
いくつかの実現例では、検索結果２２２および２２４は、処理１００を実行するデバイスからモバイルデバイス２１０に戻されてもよい。示されるように、検索結果２２２は、話されたクエリ２１８が受信される時に提示されている番組の部分の間にディスプレイ２０４上に現れる俳優（「俳優Ａ」）に対応してもよい。図１に関連して（たとえば１０８において）上述したように、人物２０６の識別情報が、現在提示されている番組の部分と関連付けられるキーワードであってもよい。検索結果２２４は、現在提示されている部分（たとえばモバイルデバイス２１０によって録音された音声と関連付けられる部分）に密接に関連する番組の部分の間にディスプレイ２０４上に現れる別の俳優（「俳優Ｂ」）に対応してもよい。
【００５４】
いくつかの実現例では、検索結果２２２および２２４は、それぞれ俳優Ａおよび俳優Ｂと関連付けられる画像、ならびに経歴情報を含んでもよい。図１に関連して上述したように、検索結果２２２および２２４は、選択されるとモバイルデバイス２１８に検索結果に関する付加的な情報を提示させるハイパーリンクを含んでもよい。たとえば、ユーザが検索結果２２２を選択すると、図２に示されるように、検索結果２２２と関連付けられるハイパーリンクが、モバイルデバイス２１０に、俳優Ａについての付加的な情報を含むウェブページ２２６を要求させてもよい。
【００５５】
図３を参照して、開示される主題のいくつかの実現例に従う、文脈情報に基づいて検索結果を生成するためのメカニズムがその上に示される、システムの一般化された概略図の説明的な例３００が示される。図３に示されるように、システム３００は１つ以上のコンピューティングデバイス３１０を含んでもよい。コンピューティングデバイス３１０は、１つ以上の通信リンク３０８によって、通信リンク３０４を介してサーバ３０２にリンクされ得る通信ネットワーク３０６に接続されてもよい。いくつかの実現例では、コンピューティングデバイス３１０およびサーバ３０２は通信リンク３１２を介して１つ以上のコンテンツソース３１４にリンクされてもよい。
【００５６】
システム３００は１つ以上のサーバ３０２を含んでもよい。サーバ３０２は、プロセッサ、コンピュータ、データ処理装置、および／またはそのような装置の任意の好適な組合せなどの、ここに記載されるメカニズムへのアクセスを提供するための任意の好適なサーバであってもよい。たとえば、ここに記載されるメカニズムは、複数のバックエンドコンポーネントおよび複数のフロントエンドコンポーネントならびに／またはインターフェイスに分散されてもよい。より特定の例では、データ収集およびデータ分配、情報の索引付けおよび検索などのバックエンドコンポーネント、ならびに／またはその他の好適なコンポーネントが、１つ以上のサーバ３０２上で実行されてもよい。別のより特定の例では、検索クエリを受信する、現在提示されているメディアを特定する際に用いられるメディアデータを集める、検索結果を提示するためのユーザインターフェイスなどのフロントエンドコンポーネント、および／またはその他の好適なコンポーネントが、１つ以上のコンピューティングデバイス３１０上で実行されてもよい。
【００５７】
いくつかの実現例では、コンピューティングデバイス３１０およびサーバ３０２の各々は、コンピュータなどの汎用装置、またはクライアント、サーバ等の特殊用途装置のいずれであってもよい。これらの汎用または特殊用途装置のいずれも、ハードウェアプロセッサ（マイクロプロセッサ、デジタル信号プロセッサ、コントローラ等であり得る）、メモリ、通信インターフェイス、ディスプレイコントローラ、入力デバイス等の任意の好適なコンポーネントを含んでもよい。たとえば、コンピューティングデバイス３１０は、スマートフォン、タブレットコンピュータ、ウェアラブルコンピュータ、テレビ、スマートテレビ、セットトップボックス、デジタルメディアレシーバ、ゲームコンソール、パーソナルコンピュータ、ラップトップコンピュータ、携帯情報端末（ＰＤＡ）、ホームエンターテイメントシステム、ステレオレシーバ、スピーカ、プロジェクタ、ゲームコンソール、および／もしくは他の好適な装置、ならびに／またはそれらの任意の好適な組合せとして実現されてもよい。いくつかの実現例では、たとえば、番組は、スマートテレビ、セットトップボックス、デジタルメディアレシーバ等の第１のコンピューティングデバイス３１０を用いて提示されてもよく、タブレットコンピュータ、スマートフォン、ウェアラブルコンピュータ、ＰＤＡ、ゲームコンソール等の第２のコンピューティングデバイス３１０は、クエリを構成し、第１のコンピューティングデバイスによって提示されている番組に関するメディアデータを記録および／もしくは送信し、クエリおよび／もしくは提示されている番組に関するメディアデータに基づいて検索を実行し、（たとえば処理１００に基づいて生成された）クエリに文脈的に関連している検索結果を提示し、ならびに／またはその他の好適な機能を実行してもよい。
【００５８】
いくつかの実現例では、コンテンツソース３１４は、ケーブル（もしくは電話）テレビコンテンツソース、衛星テレビコンテンツソース、オンデマンド番組コンテンツソース、オーバーザトップ番組コンテンツソース、インターネットコンテンツソース、ストリーミング番組コンテンツソース、その他の好適なコンテンツソース、および／またはそれらの任意の好適な組合せなどの、任意の好適なコンテンツソースであってもよい。
【００５９】
いくつかの実現例では、通信ネットワーク３０６は、インターネット、イントラネット、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、ワイヤレスネットワーク、デジタル加入者線（ＤＳＬ）ネットワーク、フレームリレーネットワーク、非同期転送モード（ＡＴＭ）ネットワーク、仮想プライベートネットワーク（ＶＰＮ）等を含む、任意の好適なコンピュータネットワークまたはそのようなネットワークの組合せであってもよい。通信リンク３０４，３０８および３１２は、ネットワークリンク、ダイヤルアップリンク、ワイヤレスリンク、ハードワイヤードリンク、その他の好適な通信リンク、および／またはそのようなリンクの任意の好適な組合せなどの、コンピューティングデバイス３１０、サーバ３０２および／またはコンテンツソース３１４の間でデータを通信するのに適した任意の通信リンクであってもよい。コンピューティングデバイス３１０は、ここに記載されるメカニズムの特徴の使用を可能にし得る、ここに記載される技術の使用を可能にし得る。コンピューティングデバイス３１０、サーバ３０２およびコンテンツソース３１４は任意の好適な場所に配置されてもよい。
【００６０】
いくつかの実現例では、サーバ３０２は、ここに記載されるメカニズムのさまざまな機能を実行するための、および／または文脈情報に基づいて検索結果を生成するためのここに記載されるメカニズムを容易にするための、相互に接続可能な１つ以上のモジュール３２０〜３３２および／またはデータベース３４０〜３４４を含んでもよい。
【００６１】
いくつかの実現例では、フロントエンドサーバモジュール３２０は、たとえば図１および図２に関連して上述したような文脈情報に基づいて検索結果を生成するための処理を実行してもよい。
【００６２】
いくつかの実現例では、キャプチャモジュール３２２が、たとえば図１に関連して上述したように、ビデオデータ、オーディオデータ、電子番組ガイドデータ、メタデータ等の番組に関するメディアデータを受信してもよい。付加的にまたは代替的に、キャプチャモジュール３２２は、コンテンツソースから与えられるコンテンツからさまざまなメディアデータを抽出してもよい。そのような抽出されたメディアデータは、たとえば、オーディオフィンガープリント、サブタイトル、ビデオスクリーンショット等を含んでもよい。この情報は、たとえば、キーワードおよび／またはさまざまな他の動作を特定する際にフロントエンドサーバモジュール３２０によって用いられるデータベース（図示せず）に記憶されてもよい。
【００６３】
いくつかの実現例では、マッチモジュール３２４が、たとえばキャプチャ３２２から、番組のオーディオフィンガープリントデータを受信し、受信したオーディオフィンガープリントデータをフィンガープリントデータベース３４２に記憶してもよい。フィンガープリントデータベース３４２を用いて、たとえば、上述のように図１の１０６で番組を特定し、現在提示されている、１０２で受信されたクエリに関するメディアを特定してもよい。
【００６４】
いくつかの実現例では、アノテーションモジュール３２６が、オーディオフィンガープリント、ビデオスクリーンショット、サブタイトル等の、キャプチャモジュール３２２によってキャプチャされたデータおよび／またはキャプチャモジュール３２２によって抽出された情報に基づいて、番組と関連付けられる１つ以上のキーワードを抽出してもよい。たとえば、アノテーションモジュール３２６はキーワード抽出モジュール３２８を含んでもよく、キーワード抽出モジュール３２８は、顔認識技術、画像認識技術、光学文字認識技術等の認識技術を実行するように構成される認識モジュール３３０を用いて、キャプチャモジュールから受信されたデータおよび／または情報からキーワードを抽出して、キーワードが関連付けられることになる番組中に言及されるおよび／または現れる人物、物体、ランドマーク、場所、および／またはその他の好適なキーワードを特定してもよい。
【００６５】
いくつかの実現例では、キーワード抽出モジュール３２８は、図１に関連して上述したキーワードのようなキーワードを抽出してもよい。たとえば、キーワード抽出モジュール３２８は、人物の識別情報、場所、イベント、物体、生物、ロゴ、特性、特徴、プロット、音楽、珍しい語もしくは科学用語、製品、ブランド、および／またはその他の好適なキーワードを抽出してもよい。付加的にまたは代替的に、キーワード抽出モジュール３２８は、たとえば、（たとえばキャプチャモジュール３２２によってキャプチャされた）ビデオスクリーンショットからの顔の画像からの情報を公知の顔情報（たとえば公知の個人の顔情報）のデータベースと比較して、画像内の１人または複数の人物の識別情報を求めることができる認識モジュール３３０を用いて、キーワードを特定してもよい。同様に、認識モジュール３３０は、たとえば、建物、像、製品パッケージング、エレクトロニクス、果物および野菜、またはその他の好適な物体などの、物体の画像からの情報を公知の物体情報のデータベースと比較して、画像内の物体の識別情報を求めてもよい。上述のように、キーワード抽出モジュール３２８および／またはアノテーションモジュール３２６による番組関連データからのキーワード抽出を容易にする任意の好適な認識技術が認識モジュール３３０によって用いられてもよい。
【００６６】
いくつかの実現例では、アノテーションモジュール３２６は、たとえばオーディオデータまたはビデオデータから抽出されたキーワードを、当該キーワードがそのようなデータに現れる番組の部分と関連付けてもよい。たとえば、キーワードおよびさまざまな番組とのそれらのキーワード関連付けがキーワードデータベースに記憶されてもよく、キーワードデータベースはアノテーションモジュール３２６によって生成される情報で定期的に更新されてもよく、および／または、予め定められた期間中に（たとえばコンテンツソース３１４によって）提示されなかった番組に対応するキーワード、番組および／またはキーワードと番組との関連付けを除去するように定期的に更新されてもよい。
【００６７】
いくつかの実現例では、１１２において検索結果を得る際に検索モジュール３３２が用いられてもよい。たとえば、検索モジュール３３２は、１０２で受信されたクエリおよび／または１１０で特定された文脈的に関連しているキーワードを、クエリに文脈的に関連している検索結果を生成するために検索エンジンによって用いられる入力として使用してもよい。
【００６８】
いくつかの実現例では、電子番組ガイド（electronic program guide：ＥＰＧ）データベース３４０が、コンテンツの出版社または放送局などの第三者によって提供され得る電子番組ガイドデータに対応するガイダンスデータを記憶してもよい。さらに、ＥＰＧデータベース３４０は、たとえばコンテンツソース３１４から与えられる１つ以上の番組についての情報を提供してもよい。
【００６９】
モジュール３２０〜３３２およびデータベース３４０〜３４４はサーバ３０２に含まれるとして示されているが、これらのモジュールおよび／またはデータベースは異なるサーバ（および／または他の好適なコンピューティングデバイス）においてさまざまな組合せで提供されてもよいことに留意すべきである。たとえば、検索モジュール３３２が第１のサーバ上に提供され、モジュール３２０〜３３０が第２のサーバ上に提供されてもよい。別の例として、各モジュールは異なるサーバ上に提供されてもよい。これらは例に過ぎず、記載されるモジュールは任意の好適な態様で編成されてもよいことに留意すべきである。
【００７０】
また、モジュール３２０〜３３２はここに記載されるメカニズムの一部として含まれてもよく、別個のメカニズムであってもよく、および／またはその他の好適なメカニズムの一部であってもよいことに留意すべきである。たとえば、ある実施形態では、キーワードは任意の好適な技術を用いて番組と関連付けられてもよく、処理１００も実行する当事者によって必ずしも関連付けられない。より特定の例では、会社などの当事者が、任意の好適な技術を用いてキーワードをコンテンツソース３１４からの番組と関連付けてもよく、番組と関連付けられるキーワードを任意の好適な条件で他の人々にアクセス可能にしてもよい。別のより特定の例では、会社が、番組と関連付けられるキーワードのデータベースおよび／またはキーワードが番組のどの部分と関連付けられるかを維持してもよく、当該データベースを無料でアクセス可能に、または何らかの報酬と引換えにアクセス可能にしてもよい。
【００７１】
図４は、開示される主題のいくつかの実現例に従う、図４に示されるサーバ３０２およびコンピューティングデバイス３１０のうちの１つを実現するのに用いられ得るハードウェアの例４００を示す。図４を参照して、コンピューティングデータベース３１０は、相互に接続可能なハードウェアプロセッサ４１２、ディスプレイ４１４、入力デバイス４１６、およびメモリ４１８を含んでもよい。いくつかの実現例では、メモリ４１８は、ハードウェアプロセッサ４１２を制御するためのコンピュータプログラムを記憶するための記憶装置（非一時的なコンピュータ読取可能媒体）を含んでもよい。
【００７２】
ハードウェアプロセッサ４１２は、ディスプレイ４１４上にコンテンツを提示するためのコンピュータプログラム、および／またはユーザがここに記載されるメカニズムにアクセスし、通信リンク３０８を介してデータを送受信することを可能にするユーザインターフェイスを用いてもよい。通信リンク３０８またはその他の通信リンクを介して受信されるデータは、任意の好適なソースから受信されてもよいことにも留意すべきである。いくつかの実現例では、ハードウェアプロセッサ４１２は、たとえば、送信機、受信機、送信機／受信機、送受信機、またはその他の好適な通信装置を用いて通信リンク３０８および／またはその他の通信リンクを介してデータを送受信してもよい。入力デバイス４１６は、コンピュータキーボード、マイク、マウス、トラックボール、キーパッド、リモートコントロール、その他の好適な入力デバイス、および／またはそれらの任意の好適な組合せであってもよい。付加的にまたは代替的に、入力デバイス４１６は、（たとえば指、スタイラス等を用いて）入力を受信可能なタッチスクリーンディスプレイ４１４を含んでもよい。
【００７３】
サーバ３０２は、相互に接続可能なハードウェアプロセッサ４２２、ディスプレイ４２４、入力デバイス４２６、およびメモリ４２８を含んでもよい。いくつかの実現例では、メモリ４２８は、通信リンク３０４を介してまたは他のリンクを介して受信されるデータを記憶するための記憶装置を含んでもよく、プロセッサ４２２は、たとえばコンピューティングデバイス３１０の１人以上のユーザによって送信されるコマンドおよび値を受信してもよい。記憶装置はさらに、ハードウェアプロセッサ４２２を制御するためのサーバプログラムを含んでもよい。
【００７４】
文脈情報に基づいて検索結果を生成するためのここに記載されるメカニズムは、ソフトウェア、ファームウェア、ハードウェア、および／またはそれらの任意の好適な組合せとしてコンピューティングデバイス３１０および／またはサーバ３０２において実現されてもよい。
【００７５】
いくつかの実現例では、サーバ３０２は１つのサーバとして実現されてもよいし、任意の好適な数のサーバとして分散されてもよい。たとえば、複数のサーバ３０２が、ここに記載されるメカニズムの信頼性、機能、および／またはサーバがコンピューティングデバイス３１０と通信可能な速度を高めるようにさまざまな場所に実現されてもよい。
【００７６】
図５は、開示される主題のいくつかの実現例に従う、文脈情報に基づいて検索結果を生成するためのフローの例５００を示す。図５に示されるように、５０２において、第１のコンピューティングデバイス３１０−１はメディアコンテンツを提示することができる。たとえば、第１のコンピューティングデバイス３１０−１は、ビデオを提示するためのディスプレイおよび音声を提示するためのスピーカを含むテレビであってもよい。フロー５００はテレビによって提示されているメディアに関連して説明されるが、これは例に過ぎず、メディアは任意の好適な単数または複数のデバイスによって提示されてもよい。
【００７７】
５０４において、第２のコンピューティングデバイス３１０−２はクエリ入力を受信することができる。上述のように、クエリ入力は任意の好適な単数または複数の技術を用いて受信されてもよい。たとえば、クエリは、物理的なキーボードまたは仮想キーボードであり得るたとえばキーボードを用いて入力されるテキストとして受信されてもよい。別の例として、クエリは、マイクを介して受信され、音声認識技術を用いて解釈されるボイスデータとして受信されてもよい。付加的にまたは代替的に、クエリ入力は任意の好適なアプリケーションを用いて受信されてもよい。たとえば、図２に関連して説明したように、クエリは、クエリを構成するためのユーザインターフェイスに関連して受信されてもよい。別の例として、クエリは、パーソナルアシスタントアプリケーションなど（たとえば、文脈に基づいてさまざまなクエリを処理可能であり、クエリに基づいて処理を開始可能なアプリケーション）へのクエリとして第２のコンピューティングデバイス３１０−２によって受信されてもよい。より特定の例では、そのようなクエリは、ユーザが特定の語またはフレーズを話すことによって開始されてもよい。
【００７８】
５０６において、第２のコンピューティングデバイスは、５０４で受信されたクエリ入力に基づいてクエリを構成することができる。たとえば、クエリはフォーマット化されてもよいし、そうでなければ検索結果を得る際に用いられるように準備されてもよい。５０８において、第２のコンピューティングデバイス３１０−２は、クエリが現在提示されているメディアに関するか否かを判断することができる。第２のコンピューティングデバイス３１０−２は、５０６において、クエリが（たとえばテレビ３１０−１によって）現在提示されているメディアコンテンツに関するか否かを判断する任意の好適な技術を用いてもよい。たとえば、１０２に関連して上述したように、ここに記載されるメカニズムは、クエリの文脈、クエリ入力を受信したアプリケーションに基づいて、および／またはその他の好適な判定基準に基づいて、クエリが現在提示されているメディアコンテンツに関すると判断してもよい。いくつかの実現例では、クエリが現在提示されているメディアコンテンツに関するか否かの判断は第２のコンピューティングデバイス３１０−２によってなされてもよい。たとえば、第２のコンピューティングデバイス３１０−２は、クエリを構成するのに用いられているアプリケーションに基づいて、クエリが現在提示されているメディアに差し向けられていることをユーザ入力が示すことに基づいて、および／またはその他の好適な基準に基づいて当該判断を下してもよい。付加的にまたは代替的に、サーバ３０２などの、ここに記載されるメカニズムを実行するデバイスが、クエリが現在提示されているメディアコンテンツに関するか否かの判断を下してもよい。たとえば、第２のコンピューティングデバイス３１０−２がクエリをサーバ３０２に送信してもよく、サーバ３０２は、クエリの文脈に基づいて、クエリを構成するのに用いられるアプリケーションに基づいて、および／またはその他の好適な基準に基づいて、クエリが現在提示されているメディアに関すると判断してもよい。サーバ３０２は次に、クエリが現在提示されているメディアコンテンツに関することを第２のコンピューティングデバイス３１０−２に通知してもよい。
【００７９】
クエリが現在提示されているメディアコンテンツに関していない場合（５０８で「ＮＯ」）、フロー５００は５１４に進むことができ、５０６で構成されたクエリに基づいて検索を要求することができる。そうでなく、クエリが現在提示されているメディアコンテンツに関する場合（５０８で「ＹＥＳ」）、フロー５００は５１０に進むことができる。
【００８０】
５１０において、クエリが現在提示されているメディアに関するという判断に応答して、第２のコンピューティングデバイス３１０−２は、現在提示されているメディアを特定する際に用いられるメディアデータを記録することができる。上述のように、メディアデータは、現在提示されているメディアを特定する際に用いられる任意の好適なメディアデータであってもよい。図５の破線によって示されるように、第１のコンピューティングデバイス３１０−１によって現在提示されているメディアに対応するメディアデータは第２のコンピューティングデバイス３１０−２に伝達されてもよい。メディアデータを第２のコンピューティングデバイス３１０−２に伝達する任意の好適な技術が用いられてもよい。たとえば、第２のコンピューティングデバイス３１０−２のマイクを用いて、提示されているメディアコンテンツのオーディオデータが録音されてもよい。別の例として、第２のコンピューティングデバイス３１０−２の画像センサを用いて、提示されているメディアコンテンツの画像データおよび／またはビデオデータが記録されてもよい。さらに別の例として、第２のコンピューティングデバイス３１０−２は、近距離無線通信（たとえばBLUETOOTH（登録商標）、無線ＵＳＢ等）、ＩＥＥＥ８０２．１１グループの無線通信規格の１つ以上に準拠する無線通信技術、および／またはその他の好適な無線通信技術などの無線通信技術を用いてコンピューティングデバイス３１０−１からメディアデータを受信してもよい。さらに別の例として、第１のコンピューティングデバイス３１０−１によって現在提示されているメディアコンテンツを含む単数または複数の信号が第２のコンピューティングデバイス３１０−２にさらに与えられてもよく、第２のコンピューティングデバイス３１０−２は当該信号から任意の好適な情報を記録してもよい。より特定の例では、第１のコンピューティングデバイス３１０−１によって現在提示されているメディアコンテンツを含む単数または複数の信号が第１のコンピューティングデバイス３１０−１によって有線または無線通信リンク上で第２のコンピューティングデバイス３１０−２に出力されてもよい。付加的にまたは代替的に、第１のコンピューティングデバイス３１０−１によって現在提示されているメディアコンテンツを含む単数または複数の信号が、現在提示されているメディアコンテンツのソースから第２のコンピューティングデバイス３１０−２に入力されてもよい。特に、メディアコンテンツが、セットトップボックスによって出力された信号に基づいてテレビ（たとえば第１のコンピューティングデバイス３１０−１）によって提示されている場合、その信号は第２のコンピューティングデバイス３１０−２（たとえばゲームコンソールであり得る）にもルーティングされてもよい。信号は、たとえば第２のコンピューティングデバイス３１０−２を介して第１のコンピューティングデバイス３１０−１に入力されることによって、または第１のコンピューティングデバイス３１０−１のオーディオおよび／もしくはビデオ出力を介して第２のコンピューティングデバイス３１０−２に渡されることによって、任意の好適な経路を用いて第２のコンピューティングデバイス３１０−２にルーティングされてもよい。
【００８１】
５１２において、第２のコンピューティングデバイス３１０−２は、５０４で受信されたおよび／または５０６で構成されたクエリならびに５１０で記録されたメディアデータに基づいて、検索結果を要求することができる。たとえば、検索結果の要求はサーバ３０２に提出されてもよい。
【００８２】
５１６において、サーバ３０２は、５１２および／または５１４で第２のコンピューティングデバイス３１０−２によって提出されたクエリおよび／またはメディアデータを受信することができる。いくつかの実現例では、５１６で実行されるアクションは、たとえば、図１に関連して上述した処理１００の１０２および１０４に対応してもよい。
【００８３】
５１８において、サーバ３０２は、現在提示されているメディアコンテンツに関するメディアデータが受信されたか否かを判断することができる。メディアデータが受信されていない場合（５１８で「ＮＯ」）、サーバ３０２は５２６に進むことができ、５１６で受信されたクエリに基づいて検索結果を得ることができる。そうでなく、メディアデータが受信されている場合（５１８で「ＹＥＳ」）、サーバ３０２は５２０に進むことができる。
【００８４】
５２０において、サーバ３０２は、（たとえば１０６に関連して上述したように）５１６で受信されたメディアデータに対応する番組を特定することができ、（たとえば１０８に関連して上述したように）メディアデータに対応する番組および／または番組の特定の部分と関連付けられるキーワードを特定することができる。５２２において、サーバ３０２は、（たとえば５２２に関連して上述したように）特定されたキーワードから文脈的に関連しているキーワードを求めて取得することができる。５２４において、サーバ３０２は、（たとえば１１２に関連して上述したように）クエリおよび文脈的に関連しているキーワードに基づいて検索結果を得ることができる。
【００８５】
５２８において、サーバ３０２は、５２４または５２６で得られた、５２４で得られた検索結果を第２のコンピューティングデバイス３１０−２に戻すことができる。いくつかの実現例では、メディアデータは受信されたがクエリは受信されていない場合、サーバ３０２はメディアデータに対応する番組を特定し、クエリに基づいて検索結果を得ることなく当該結果を戻してもよい。
【００８６】
５３０において、第２のコンピューティングデバイス３１０−２は検索結果を受信することができ、検索結果の少なくとも１つを提示することができる。いくつかの実現例では、結果は、（たとえば上記の図２に関連して上述したように）第２のコンピューティングデバイス３１０−２のディスプレイを用いて提示されてもよい。付加的にまたは代替的に、結果は、現在提示されているメディアコンテンツとともに第１のコンピューティングデバイス３１０−１のディスプレイを用いて提示されてもよい。
【００８７】
いくつかの実現例では、単一のコンピューティングデバイスが、メディアコンテンツを提示すること、およびクエリを構成して検索結果を提示することの両方を行なっていてもよい。たとえば、パーソナルコンピュータ、スマートテレビ、スマートフォン、タブレットコンピュータ等がメディアコンテンツを提示し、メディアコンテンツに関するクエリを構成し、メディアデータをサーバ３０２に送信し、メディアデータおよびクエリに基づいて得られた検索結果を提示してもよい。別の例として、コンピューティングデバイスによって実行されている第１のアプリケーションがコンテンツを提示してもよく、コンピューティングデバイスによって実行されている第２のアプリケーションが、第１のアプリケーションによって現在提示されているメディアコンテンツに関するクエリを受信および／または構成してもよい。第２のアプリケーションは、たとえば、コンピューティングデバイスによって現在提示されているオーディオデータおよび／または画像データを用いて、現在提示されているメディアを特定してもよい。そのようなオーディオデータおよび／または画像データは、たとえば、コンピューティングデバイスによって現在生成されているオーディオ出力信号を受信することによって、コンピューティングデバイスと関連付けられるマイクを用いてキャプチャされたオーディオデータを受信することによって、コンピューティングデバイスによって現在提示されている画像データ（たとえばスクリーンショット）を受信することによって、任意の好適な技術もしくは技術の組合せ、および／またはその他の好適な技術もしくは技術の組合せを用いてキャプチャされてもよい。
【００８８】
いくつかの実現例では、ここに記載されるメカニズムは、クライアント側ソフトウェア、サーバ側ソフトウェア、ハードウェア、ファームウェア、および／またはそれらの任意の好適な組合せを含んでもよい。たとえば、ここに記載されるメカニズムは、１つ以上のプロセッサにここに記載されるメカニズムを実行させるコンピュータプログラムを含んでもよい。別の例として、ここに記載されるメカニズムは、ここに記載されるメカニズムにアクセスするおよび／または当該メカニズムを実行するために用いられているコンピューティングデバイス３１０および／またはサーバ３０２によって認識可能なプログラム言語で書かれたコンピュータプログラム（たとえば、Java（登録商標）、Ｃ、Objective−Ｃ、Ｃ＋＋、Ｃ♯、Javascript（登録商標）, Visual Basic（登録商標）、ＨＴＭＬ、ＸＭＬ、ColdFusion（登録商標）、その他の好適なアプローチ、および／またはそれらの任意の好適な組合せなどのプログラム言語で書かれたプログラム）を含んでもよい。
【００８９】
いくつかの実現例では、ここに記載されるメカニズムは、（たとえば、ハイパーテキストマークアップ言語（「ＨＴＭＬ」）、ダイナミックハイパーテキストマークアップ言語（「ＤＨＴＭＬ」）、拡張可能なマークアップ言語（「ＸＭＬ」）、JavaServer Pges（「ＪＳＰ」）、Active Server Pages（「ＡＳＰ」）、ColdFusion、その他の好適なアプローチ、および／またはそれらの任意の好適な組合せなどの、任意の好適な符号化を介して）１つ以上のウェブページまたはウェブページ部分を含んでもよい。
【００９０】
いくつかの実現例では、ここに記載される機能および／または処理を実行するための命令を記憶するための任意の好適なコンピュータ読取可能媒体が用いられてもよい。たとえば、いくつかの実現例では、コンピュータ読取可能媒体は一時的であってもよいし、非一時的であってもよい。たとえば、非一時的なコンピュータ読取可能媒体は、磁気媒体（ハードディスク、フロッピー（登録商標）ディスク等）、光学媒体（コンパクトディスク、デジタルビデオディスク、ブルーレイディスク等）、半導体媒体（フラッシュメモリ、電気的プログラム可能読出専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラム可能読出専用メモリ（ＥＥＰＲＯＭ）等）、送信時に過渡的でない、もしくは表面上の永続性を欠いている任意の好適な媒体、および／または任意の好適な有形媒体などの媒体を含んでもよい。別の例として、一時的なコンピュータ読取可能媒体は、ネットワーク上の、配線、導体、光ファイバ、回路、送信時に過渡的でない、かつ表面上の永続性を欠いている任意の好適な媒体、および／または任意の好適な無形媒体内の信号を含んでもよい。
【００９１】
図１および図５の処理の上述のステップは、図面に示され説明された順序およびシーケンスに限定されない任意の順序もしくはシーケンスで実行または実践されてもよいことを理解すべきである。また、図１および図５の処理の上記のステップのいくつかは、必要に応じて実質的に同時に、または待ち時間および処理時間を減らすために並行して実行または実践されてもよい。
【００９２】
本明細書において、メカニズムという用語は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の好適な組合せを含んでもよいことにも留意すべきである。
【００９３】
したがって、文脈情報に基づいて検索結果を生成するための方法、システム、および媒体が提供される。
【００９４】
発明は上記の例示的な実現例において説明および図示されたが、本開示は一例としてなされているに過ぎないこと、ならびに、以下の請求項によってのみ限定される発明の精神および範囲から逸脱することなく発明の実現例の詳細に多数の変更が加えられてもよいことが理解される。開示される実現例の特徴は、さまざまな方法で組合わされ、再構成されてもよい。
【図１】
0006668245.tif 000002
【図２】
0006668245.tif 000003
【図３】
0006668245.tif 000004
【図４】
0006668245.tif 000005
【図５】
0006668245.tif 000006