(57)【特許請求の範囲】
【請求項１】
命令を格納するメモリと、
複数の音楽トラック及び複数のビデオシーケンスを格納する１つまたは複数のデータベースと、
動作を実行する前記命令によって構成される１つまたは複数のプロセッサと、を備え、
前記動作は、
前記１つまたは複数のデータベースから、テンポを有する音楽トラックにアクセスすることと、
前記１つまたは複数のデータベースから、第１のビデオシーケンス及び第２のビデオシーケンスにアクセスすることと、
前記第１のビデオシーケンス及び前記第２のビデオシーケンスにおける一連のフレーム間におけるそれぞれの距離の長さに基づいて、前記第１のビデオシーケンスにおける移行及び前記第２のビデオシーケンスにおける移行を特定することと、
前記第１のビデオシーケンス及び前記第２のビデオシーケンスにおける特定された前記移行に基づいて、前記第１のビデオシーケンス及び前記第２のビデオシーケンスを複数のビデオセグメントに分割することと、
前記音楽トラックの前記テンポと、前記複数のビデオセグメントのうちの第１のビデオセグメントの継続時間とに基づいて、前記第１のビデオセグメントを一セットのビデオセグメントに加えるために選択することであって、選択された前記第１のビデオセグメントは、前記第１のビデオシーケンスからのものである、前記選択することと、
選択された前記第１のビデオセグメントを前記一セットのビデオセグメントに加えることと、
前記音楽トラックの前記テンポと、前記複数のビデオセグメントのうちの第２のビデオセグメントの継続時間とに基づいて、前記第２のビデオセグメントを前記一セットのビデオセグメントに加えるために選択することであって、選択された前記第２のビデオセグメントは、前記第２のビデオシーケンスからのものである、前記選択することと、
選択された前記第２のビデオセグメントを前記一セットのビデオセグメントに加えることと、
前記一セットのビデオセグメントと、前記音楽トラックとを有する音声／ビデオシーケンスを生成することと
を含むシステム。
【請求項２】
前記第１のビデオセグメントを前記一セットのビデオセグメントに加えるために選択する前記動作は、
前記音楽トラックの前記テンポと、各特定されたビデオセグメントの前記継続時間とに基づいて、複数のビデオセグメントを特定する繰り返しプロセスにおいて生じ、
前記第１のビデオセグメントは、前記複数のビデオセグメントのうちの１つである、請求項１に記載のシステム。
【請求項３】
前記動作は、テンポの選択を受け取ることをさらに含み、
前記１つまたは複数のデータベースから前記音楽トラックにアクセスすることは、前記選択されたテンポと、前記音楽トラックの前記テンポに基づいている、
請求項１に記載のシステム。
【請求項４】
前記動作は、検索クエリにアクセスすることをさらに含み、
前記１つまたは複数のデータベースから前記第１のビデオシーケンス及び前記第２のビデオシーケンスに前記アクセスすることは、前記検索クエリに基づいている、請求項１に記載のシステム。
【請求項５】
前記第１のビデオセグメントを前記一セットのビデオセグメントに加えるために前記選択することは、前記音楽トラックの拍時間の整数倍である前記第１のビデオセグメントの前記継続時間に基づいている、請求項１に記載のシステム。
【請求項６】
前記音声／ビデオシーケンスを生成することは、所定の継続時間を有する前記音声／ビデオシーケンスを生成することを含む、請求項１に記載のシステム。
【請求項７】
前記音声／ビデオシーケンスを生成することは、前記音楽トラックの継続時間に等しい継続時間を有する前記音声／ビデオシーケンスを生成することを含む、請求項１に記載のシステム。
【請求項８】
前記音声／ビデオシーケンスを生成することは、ユーザが選択した継続時間を有する前記音声／ビデオシーケンスを生成することを含む、請求項１に記載のシステム。
【請求項９】
１つまたは複数のプロセッサによって、音声データベースから、テンポを有する音楽トラックにアクセスすることと、
前記１つまたは複数のプロセッサによって、ビデオデータベースから、第１のビデオシーケンス及び第２のビデオシーケンスにアクセスすることと、
前記第１のビデオシーケンス及び前記第２のビデオシーケンスにおける一連のフレーム間におけるそれぞれの距離の長さに基づいて、前記１つまたは複数のプロセッサによって、前記第１のビデオシーケンスにおける移行及び前記第２のビデオシーケンスにおける移行を特定することと、
前記第１のビデオシーケンスにおける特定された前記移行及び前記第２のビデオシーケンスにおける特定された前記移行に基づいて、前記１つまたは複数のプロセッサによって、前記第１のビデオシーケンス及び前記第２のビデオシーケンスを複数のビデオセグメントに分割することと、
前記音楽トラックの前記テンポと、前記複数のビデオセグメントのうちの第１のビデオセグメントの継続時間とに基づいて、前記１つまたは複数のプロセッサによって、前記第１のビデオセグメントを一セットのビデオセグメントに加えるために選択することであって、選択された前記第１のビデオセグメントは前記第１のビデオシーケンスからのものである、前記選択することと、
前記１つまたは複数のプロセッサによって、選択された前記第１のビデオセグメントを前記一セットのビデオセグメントに加えることと、
前記音楽トラックの前記テンポと、前記複数のビデオセグメントのうちの第２のビデオセグメントの継続時間とに基づいて、前記１つまたは複数のプロセッサによって、前記第２のビデオセグメントを前記一セットのビデオセグメントに加えるために選択することであって、選択された前記第２のビデオセグメントは前記第２のビデオシーケンスからのものである、前記選択することと、
前記１つまたは複数のプロセッサによって、選択された前記第２のビデオセグメントを前記一セットのビデオセグメントに加えることと、
前記１つまたは複数のプロセッサによって、前記一セットのビデオセグメントと、前記音楽トラックとを有する音声／ビデオシーケンスを生成することと
を含む方法。
【請求項１０】
テンポの選択を受け取ることをさらに含み、
前記音声データベースから前記音楽トラックに前記アクセスすることは、前記選択されたテンポと、前記音楽トラックの前記テンポとに基づいている、
請求項９に記載の方法。
【請求項１１】
検索クエリにアクセスすることをさらに含み、
前記ビデオデータベースから前記第１のビデオシーケンス及び前記第２のビデオシーケンスに前記アクセスすることは、前記検索クエリに基づいている、請求項９に記載の方法。
【請求項１２】
前記第１のビデオセグメントを前記一セットのビデオセグメントに加えるために前記選択することは、前記音楽トラックの拍時間の整数倍である前記第１のビデオセグメントの前記継続時間に基づいている、請求項９に記載の方法。
【請求項１３】
前記音声／ビデオシーケンスを生成することは、所定の継続時間を有する前記音声／ビデオシーケンスを生成することを含む、請求項９に記載の方法。
【請求項１４】
前記音声／ビデオシーケンスを生成することは、前記音楽トラックの継続時間に等しい継続時間を有する前記音声／ビデオシーケンスを生成することを含む、請求項９に記載の方法。
【請求項１５】
前記音声／ビデオシーケンスを生成することは、ユーザが選択した継続時間を有する前記音声／ビデオシーケンスを生成することを含む、請求項９に記載の方法。
【請求項１６】
マシンの１つまたは複数のプロセッサによって実行される際に、前記マシンに動作を実行させる命令を有する非一時的マシン読み取り可能な媒体であって、前記動作は、
音声データベースから、テンポを有する音楽トラックにアクセスすることと、
ビデオデータベースから、第１のビデオシーケンス及び第２のビデオシーケンスにアクセスすることと、
前記第１のビデオシーケンス及び前記第２のビデオシーケンスにおける一連のフレーム間におけるそれぞれの距離の長さに基づいて、前記第１のビデオシーケンスにおける移行及び前記第２のビデオシーケンスにおける移行を特定することと、
前記第１のビデオシーケンスにおける特定された前記移行及び前記第２のビデオシーケンスにおける特定された前記移行に基づいて、前記第１のビデオシーケンス及び前記第２のビデオシーケンスを複数のビデオセグメントに分割することと、
前記音楽トラックの前記テンポと、前記複数のビデオセグメントのうちの第１のビデオセグメントの継続時間とに基づいて、前記第１のビデオセグメントを一セットのビデオセグメントに加えるために選択することであって、選択された前記第１のビデオセグメントは前記第１のビデオシーケンスからのものである、前記選択することと、
選択された前記第１のビデオセグメントを前記一セットのビデオセグメントに加えることと、
前記音楽トラックの前記テンポと、前記複数のビデオセグメントのうちの第２のビデオセグメントの継続時間とに基づいて、前記第２のビデオセグメントを前記一セットのビデオセグメントに加えるために選択することであって、選択された前記第２のビデオセグメントは前記第２のビデオシーケンスからのものである、前記選択することと、
選択された前記第２のビデオセグメントを前記一セットのビデオセグメントに加えることと、
前記一セットのビデオセグメントと、前記音楽トラックとを有する音声／ビデオシーケンスを生成することと
を含む、前記非一時的マシン読み取り可能な媒体。
【請求項１７】
前記動作は、テンポの選択を受け取ることをさらに含み、
前記音声データベースから前記音楽トラックに前記アクセスすることは、前記選択されたテンポと、前記音楽トラックの前記テンポとに基づいている、
請求項１６に記載の非一時的マシン読み取り可能な媒体。
【請求項１８】
前記動作は、検索クエリにアクセスすることをさらに含み、
前記ビデオデータベースから前記第１のビデオシーケンス及び前記第２のビデオシーケンスに前記アクセスすることは、前記検索クエリに基づいている、
請求項１６に記載の非一時的マシン読み取り可能な媒体。
【請求項１９】
前記第１のビデオセグメントを前記一セットのビデオセグメントに追加するために選択する前記動作は、
前記音楽トラックの前記テンポと、各特定されたビデオセグメントの前記継続時間とに基づいて複数のビデオセグメントを特定する繰り返しプロセスにおいて生じ、
前記第１のビデオセグメントは、前記複数のビデオセグメントのうちの１つである、請求項１６に記載の非一時的マシン読み取り可能な媒体。
【請求項２０】
前記動作は、前記音楽トラックの前記テンポに基づいて前記音楽トラックの雰囲気またはジャンルを決定することをさらに含み、
前記第１のビデオセグメント及び前記第２のビデオセグメントを前記一セットのビデオセグメントに加えるために前記選択することは、前記音楽トラックの決定された前記雰囲気または前記ジャンルにさらに基づいている、請求項１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示される主題は一般に、音声／ビデオの提示に関する。具体的には、本開示は、音声を伴うビデオ提示を生成するためのシステム及び方法を扱っている。
【０００２】
いくつかの実施形態を、添付の図面の図において、限定ではなく一例として例示する。
【図面の簡単な説明】
【０００３】
【図１】音声を伴うビデオ提示を生成するのに適した、一部の一例の実施形態によるネットワーク環境を示すブロック図である。
【図２】音声を伴うビデオ提示を生成するのに適した、一部の一例の実施形態によるデータベースを示すブロック図である。
【図３】音声を伴うビデオ提示を生成するのに適した、一部の一例の実施形態によるセグメント化されたビデオデータと、セグメント化されないビデオデータを示すブロック図である。
【図４】一部の一例の実施形態による、音声を伴うビデオ提示における音声トラックとビデオセグメントとの位置合わせを示すブロック図である。
【図５】音声を伴うビデオ提示を生成するための、一部の一例の実施形態におけるプロセスを示すフローチャートである。
【図６】音声を伴うビデオ提示を生成するための、一部の一例の実施形態におけるプロセスを示すフローチャートである。
【図７】音声を伴うビデオ提示を生成するための、一部の一例の実施形態におけるプロセスを示すフローチャートである。
【図８】音声を伴うビデオ提示を生成するための、一部の一例の実施形態におけるユーザインターフェースを示すブロック図である。
【図９】マシン読み取り可能な媒体から命令を読み取り、本明細書で考察される方法論のうちの任意の１つまたは複数を実行することが可能な、一部の一例の実施形態によるマシンの構成要素を示すブロック図である。
【発明を実施するための形態】
【０００４】
音声を伴うビデオ提示を生成するための一例の方法及びシステムが記載される。音声トラックが、明示的にまたは暗黙的に選択される。音声トラックは、一セットの利用可能な音声トラックから音声トラックを選択するユーザによって明示的に選択されてよい。音声トラックは、音声トラックの雰囲気、音声トラックのジャンル、音声トラックのテンポまたはそれらの任意の好適な組み合わせに基づいて、一セットの音声トラックから音声トラックを自動的に選択することによって暗黙的に選択される場合もある。
【０００５】
音声トラックを伴うビデオ提示は、１つまたは複数のビデオシーケンスから生成される。ビデオシーケンスは、ユーザによって明示的に選択されてよい、または検索基準を用いてビデオシーケンスのデータベースから選択されてもよい。一部の一例の実施形態では、ビデオシーケンスは、フレーム間の切れ目に対応するビデオセグメントに分割される。ビデオセグメントは連結されて、音声トラックが加えられるビデオ提示を形成する。
【０００６】
一部の一例の実施形態では、音声トラックにおける音楽の整数の拍に匹敵する継続時間を有するビデオセグメントのみがビデオ提示を形成するのに使用される。これらの一例の実施形態では、音声トラックを伴うビデオ提示におけるビデオセグメント間の移行は、音楽の拍と位置合わせされる。
【０００７】
以下の記載において、説明する目的で、一例の実施形態の完全な理解を提供するために多くの特有の詳細が述べられている。しかしながら、本発明の主題は、これらの特有の詳細なしでも実施され得ることは当業者に明らかであろう。
【０００８】
図１は、一部の一例の実施形態による、音声を伴うビデオ提示を生成するのに適したネットワーク環境１００を示すネットワーク図である。ネットワーク環境１００は、ネットワーク１４０によって接続されたサーバシステム１１０と、クライアントデバイス１５０または１６０とを含んでよい。サーバシステム１１０は、ビデオデータベース１２０と、音声データベース１３０とを有する。
【０００９】
クライアントデバイス１５０または１６０は、メディアコンテンツのストリームを受け取り提示することが可能な任意のデバイス（例えばテレビジョン、第２のセットトップボックス、ラップトップまたは他のパーソナルコンピュータ（ＰＣ）、タブレットまたは他のモバイルデバイス、デジタルビデオレコーダ（ＤＶＲ）またはゲーミングデバイス）である。クライアントデバイス１５０または１６０はまた、生成されたビデオ提示を表示するように構成されたディスプレイまたは他のユーザインターフェースを含んでもよい。ディスプレイは、フラットパネルスクリーン、プラズマスクリーン、発光ダイオード（ＬＥＤ）スクリーン、ブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プロジェクタ、またはそれらの任意の好適な組み合わせであってよい。クライアントデバイス１５０または１６０のユーザは、アプリケーションインターフェース１７０またはブラウザインターフェース１８０を介してクライアントデバイスとやり取りしてよい。
【００１０】
ネットワーク１４０は、有線ネットワーク、無線ネットワーク（例えばモバイルネットワーク）など、デバイス間の通信を可能にするいずれのネットワークでもよい。ネットワーク１４０は、プライベートネットワーク（例えばケーブルテレビネットワークまたは衛星テレビネットワーク）、公共ネットワーク（例えば無線放送チャンネルまたはインターネット）などを構成する１つまたは複数の部分を含んでもよい。
【００１１】
一部の一例の実施形態では、クライアントデバイス１５０または１６０は、ネットワーク１４０を介してサーバシステム１１０にリクエストを送信する。このリクエストは、ビデオコンテンツに関する検索クエリ及び音楽のジャンルを特定する。音楽のジャンルに基づいて、サーバシステム１１０は、音声データベース１３０から特定の音声トラックを特定する。ビデオコンテンツに関する検索クエリに基づいて、サーバシステム１１０は、ビデオデータベース１２０から１つまたは複数のビデオシーケンスを特定する。本明細書に開示される方法を用いて、サーバシステム１１０は、特定された音声トラックと、１つまたは複数の特定されたビデオシーケンスからのビデオセグメントとを有するビデオ提示を生成する。サーバシステム１１０は、クライアントデバイスに関連付けられたディスプレイデバイスに提示するために、生成されたビデオ提示をクライアントデバイス１５０または１６０に送信してよい。
【００１２】
図１に示されるように、サーバシステム１１０は、ビデオデータベース１２０と、音声データベース１３０とを有する。一部の一例の実施形態では、ビデオデータベース１２０、音声データベース１３０またはその両方は、サーバシステム１１０によって（例えばネットワーク１４０または別のネットワークを介して）アクセス可能な別々のコンピュータシステムに実装される。
【００１３】
図１に示されるマシン、データベースまたはデバイスのいずれも、そのマシンに関して本明細書に記載される機能を果たす特殊目的のコンピュータであるようにソフトウェアによって改良された（例えば構成された、またはプログラムされた）汎用コンピュータに実装されてもよい。例えば、本明細書に記載される方法論のうちの任意の１つまたは複数を履行することが可能なコンピュータシステムが、図９に関して以下で考察される。本明細書で使用される際、「データベース」は、データストレージリソースであり、テキストファイル、テーブル、スプレッドシート、リレーショナルデータベース、ドキュメントストア、キーバリューストア、トリプルストアまたはそれらの任意の好適な組み合わせとして構築されたデータを格納してよい。さらに、図１に示されるマシンのうちの任意の２つ以上は、単一のマシンに合体されてもよく、任意の単一のマシンに関して本明細書に記載される機能は、複数のマシンの間でさらに分割されてもよい。
【００１４】
さらに、モジュール、システム及び／またはデータベースのいずれも、図１に示されるマシン、データベースまたはデバイスのいずれに配置されてもよい。例えば、構成の中でもとりわけ、クライアントデバイス１５０が、ビデオデータベース１２０および音声データベース１３０を含み、特定されたビデオ及び音声データをサーバシステム１００に伝送してもよい。
【００１５】
図２は、音声を伴うビデオ提示を生成するのに適した、一部の一例の実施形態によるデータベースの図解２００を示すブロック図である。データベースの図解２００は、ビデオデータテーブル２１０と、音声データテーブル２４０とを含む。ビデオデータテーブル２１０は、フィールド２２０を使用しており、テーブル内の各列（例えば列２３０Ａ〜２３０Ｄ）に関して、タイトル、キーワード、クリエータ及びデータを提供している。ビデオデータは、ムービングピクチャエクスパートグループ（ＭＰＥＧ）−４Ｐａｒｔ１４（ＭＰ４）、オーディオビデオインターリーブ（ＡＶＩ）またはクイックタイム（ＱＴ）などの多様な形式であってよい。
【００１６】
音声データテーブル２４０はフィールド２５０を使用しており、テーブル内の各列（例えば列２６０Ａ〜２６０Ｄ）に関してタイトル、ジャンル、テンポ及びデータを提供している。音声データは、ＭＥＰＧ−３（ＭＰ３）、ウィンドウズ(登録商標)メディアオーディオ（ＷＭＡ）、アドバンスオーディオコーディング（ＡＡＣ）またはウィンドウズ(登録商標)ウェーブ（ＷＡＶ）などの多様な形式であってよい。
【００１７】
図３は、音声を伴うビデオ提示を生成するのに適した、一部の一例の実施形態によるセグメント化されたビデオデータと、セグメント化されないビデオデータとを示すブロック図である。セグメント化されないビデオデータ３１０は、１分２４秒の継続時間を有するように示されている。セグメント化されたビデオデータ３２０は、様々に異なる個々の継続時間の９つのセグメントに分割されるが、それでもなお１分２４秒の同一の総継続時間を有する同一のビデオコンテンツを有する。一部の一例の実施形態では、ビデオデータのセグメントは、セグメント化されないビデオデータの一連のフレームにおける差に基づいて特定される。例えば、一連のフレームにおける距離の長さが、所定の閾値と比較されてよい。距離の長さが閾値を超えた場合、一連のフレームは、異なるセグメントの一部であるように特定されてよい。一例の距離の長さは、ＲＧＢ空間における対応するピクセル間の差の絶対値の合計である。例示するように、１０８０×１９２０の高精細度フレームにおいて、対応するピクセル（２，０７３，６００ピクセルの）の各対間におけるＲＧＢ値の差が特定され、その絶対値が取得され、２，０７３，６００の結果として生じる値が合計される。距離が０である場合、２つのフレームは全く同じである。
【００１８】
図４は、一部の一例の実施形態による、音声を伴うビデオ提示における音声トラックとビデオセグメントの位置合わせを示すブロック図４００である。ブロック図４００は、音声トラック４１０、拍４２０及びビデオセグメント４３０Ａ、４３０Ｂ及び４３０Ｃを含む。拍４２０は、音声トラック４１０において拍が生じる瞬間を指している。例えば音声トラック４１０における音楽が１２０ＢＰＭのテンポを有する場合、拍４２０は、０．５秒の間隔で間が空けられる。ビデオセグメント４３０Ａ〜４３０Ｃは、拍４２０と位置合わせされる。よって、ビデオセグメント４３０Ａと、ビデオセグメント４３０Ｂとの間の移行は、１つの拍において生じる。ビデオセグメント４３０Ａ〜４３０Ｃは、異なるビデオシーケンス（例えばビデオデータテーブル２１０からの）から、または単一のビデオシーケンスから取得されてよい。さらに、ビデオセグメント４３０Ａ〜４３０Ｃは、ビデオセグメントが発生元のビデオシーケンス（例えば図３のビデオシーケンス）において提示されるのと同じ順序で、または異なる順序で音声トラック４１０と位置合わせされてよい。
【００１９】
一部の一例の実施形態では、シーンの移行以外のイベントが、音声トラック４１０の拍４２０と位置合わせされる。例えばボクシングにおけるノックアウトの編集において、ビデオセグメント４３０Ａ〜４３０Ｃの各々は、ノックアウトする一撃が当たったタイミングが拍の上になるように音声トラック４１０と位置合わせされてよい。
【００２０】
拍４２０は、音声トラック４１０の拍のサブセットを指す場合もある。例えば、拍４２０は、音楽の強拍またはダウンビートに限定される場合もある。強拍は、各拍における歌の強さまたはエネルギーを検出し、最も高いエネルギーを有する拍を特定することによって検出されてよい。例えば４／４拍子を用いる音楽では、４拍子の各グループのうちの１つまたは２つは、他の拍子より高いエネルギーを有する場合がある。したがって位置合わせに利用される拍４２０は、４拍子の各グループのうちの１つまたは２つに限定されてよい。
【００２１】
一部の一例の実施形態では、音声トラック４１０における移行点は、拍４２０以外の音声信号によって特定されてもよい。例えば、音楽の代わりに走っている馬の録音を含む音声トラックは、馬の叩きつけるひづめの拍子によって特定される移行点を有する場合もある。別の例として、映画またはテレビ番組の音声の一部を含む音声トラックは、例えば人が叫んでいる、銃声、マイクロフォンに近づいてくる車両、またはそれらの任意の好適な組み合わせなど、閾値を超える音声エネルギーによって特定される移行点を有する場合もある。
【００２２】
図５は、音声を伴うビデオ提示を生成するための、一部の一例の実施形態におけるプロセス５００を示すフローチャートである。限定ではなく一例として、プロセス５００の工程は、データベースの図解２００を用いて、図１のシステム及びデバイスによって実施されるように記載されている。
【００２３】
工程５１０において、サーバシステム１１０は、特定のテンポを有する音楽トラックにアクセスする。例えば、列２６０Ａの音楽トラックが、音声データテーブル２４０からアクセスされてよい。一部の一例の実施形態では、クライアントデバイス１５０または１６０は、アプリケーションインターフェース１７０またはブラウザインターフェース１８０を介してユーザに対するユーザインターフェースを提示する。提示されたユーザインターフェースは、ユーザが特定のテンポを選択することを可能にするオプション（例えば数字のテンポを入力するためのテキストフィールド、予め定義されたテンポのドロップダウンリスト、テキストフィールドとドロップダウンリストを有するコンボボックス、またはそれらの任意の好適な組み合わせ）を含んでいる。クライアントデバイス１５０または１６０は、受け取ったテンポをサーバシステム１１０に伝送し、サーバシステム１１０は、このテンポに基づいてアクセスした音楽トラックを選択する。例えば、選択されたテンポ（または選択されたテンポの所定の範囲内、例えば選択されたテンポの５ＢＰＭの範囲内）を有する列を特定するために、音声データベース１３０の音声データテーブル２４０に対して照会がなされてよい。
【００２４】
他の一例の実施形態では、ユーザインターフェースは、ユーザがジャンルを選択することを可能にするオプションを含む。クライアントデバイスは、受け取ったジャンルをサーバシステム１１０に伝送し、サーバシステム１１０は、このジャンルに基づいてアクセスした音楽トラックを選択する。例えば、選択されたジャンルを有する列を特定するために、音声データベース１３０の音声データテーブル２４０に対して照会がなされてよい。追加として、または代替として、ユーザは、音声トラックを選択するために雰囲気を選択してもよい。例えば音声データテーブル２４０は、各歌に関する１つまたは複数の雰囲気と、工程５１０で使用されたユーザが選択した雰囲気に一致する列とを含むように拡張されてもよい。一部の一例の実施形態では、音声トラックの雰囲気は、テンポ（例えば悲しみに相当する遅い、怒りに相当する速い、喜びに相当する中くらいなど）、キー（例えばメジャーキーの音楽は喜びであり、マイナーキーの音楽は悲しみである）、楽器（例えばバスは憂いを秘めており、ピッコロは快活である）、キーワード（例えば喜び、悲しみ、怒り、またはそれらの任意の好適な組み合わせ）あるいはそれらの任意の好適な組み合わせに基づいて決定される。
【００２５】
サーバシステム１１０は、工程５２０において、複数のビデオセグメントを有するビデオトラックにアクセスする。例えば列２３０Ａのビデオシーケンスは、セグメント化されたビデオデータ３２０に示されるようなビデオセグメントを有しており、ビデオデータテーブル２１０からアクセスされてよい。ビデオシーケンスは、ユーザによって選択されてよい（例えば利用可能なビデオシーケンスのリストから）、または自動的に選択されてもよい。例えば音声トラックの雰囲気に一致する雰囲気を有するビデオトラックが自動的に選択されてよい。一部の一例の実施形態では、ビデオトラックの雰囲気は、顔認識（例えば笑っている顔は幸せである、泣いている顔は悲しんでいる、深刻な顔は憂鬱である）、色（例えば明るい色は喜びである、くすんだ顔色は悲しみである）、認識される物体（例えば雨は悲しみ、武器は攻撃的、おもちゃは幸せ）またはそれらの任意の好適な組み合わせに基づいて決定される。
【００２６】
一部の一例の実施形態では、アクセスされるビデオトラックは、ビデオデータテーブル２１０におけるビデオトラックに対応付けられたテンポと、キーワードに基づいてサーバシステム１１０によって選択される。例えばキーワード「ホッケー」に対応付けられたビデオトラックは、多くの短いビデオセグメントで構成されやすい場合があり、キーワード「サッカー」に対応付けられたビデオトラックは、より長いビデオセグメントで構成されやすい場合がある。したがってキーワード「ホッケー」に対応付けられたビデオトラックは、テンポが速い（例えば１１０ＢＰＭを超える）場合に選択されてよく、キーワード「サッカー」に対応付けられたビデオトラックは、テンポが遅い（例えば８０ＢＰＭを下回る）場合に選択されてよい。
【００２７】
工程５３０において、音楽トラックのテンポと、複数のビデオセグメントのうちの第１のビデオセグメントの継続時間に基づいて、サーバシステム１１０は、第１のビデオセグメントを一セットのビデオセグメントに加える。例えば、音楽トラックの拍時間の整数倍である継続時間を有するビデオシーケンスの１つまたは複数のビデオセグメントが特定され、音楽トラックに同期させることができる一セットのビデオセグメントに加えられてよい。例示するために、音楽トラックのテンポが１２０ＢＰＭである場合、音楽トラックの拍時間は０．５秒であり、継続時間が０．５秒の整数倍であるビデオセグメントが、ビデオセグメント間の移行が音楽の拍と同期された状態で音楽トラックと同調するように再生させることができるものとして特定される。
【００２８】
一部の一例の実施形態では、拍時間の整数倍の所定の数のフレーム内にあるビデオセグメントが拍と位置合わせされるように調整され、工程５３０において一セットのビデオセグメントに加えられる。例えばビデオのフレームレートが毎秒３０フレームであり、拍時間が０．５秒、すなわち１５フレームである場合、４６のフレーム長であるビデオセグメントは、位置合わせするには長すぎる唯一のフレームである。ビデオセグメントの最初のまたは最後のフレームを取り除くことによって、工程５４０において使用され得る位置合わせされたビデオセグメントが生成される。同様に４４のフレーム長であるビデオセグメントは、位置合わせするには短すぎる唯一のフレームである。ビデオセグメントの最初のまたは最後のフレームを繰り返すことによって、位置合わせされたビデオセグメントが生成される。
【００２９】
サーバシステム１１０は、工程５４０において、一セットのビデオセグメントと、音声トラックとを有する音声／ビデオシーケンスを生成する。例えば図４の音声／ビデオシーケンスは、ビデオセグメント４３０Ａ〜４３０Ｃ間における移行が音声トラック４１０の拍と位置合わせされた状態で音声トラック４１０が再生される間に再生させることができる３つのビデオセグメント４３０Ａ〜４３０Ｃを含む。生成された音声／ビデオシーケンスは、後のアクセスのためにビデオデータベース１２０に保管されてよい、ユーザに対して再生するためにクライアントデバイス１５０または１６０に伝送されてよい、またはその両方の場合もある。
【００３０】
一部の一例の実施形態では、音声トラックの１つまたは複数の部分が、音声トラック全体の代わりに使用される。例えば、音声トラックは、コーラスと、いくつかの詩に分けられてよい。音声／ビデオシーケンスは、コーラス、詩のサブセットまたはそれらの任意の好適な組み合わせを利用して準備されてもよい。一部分の選択は、音声／ビデオシーケンスの所望される長さに基づいてよい。例えば３分間の歌を使用して、その歌の１分間の部分を選択することによって１分間の音声／ビデオシーケンスを生成することができる。選択された１分間は、歌の最初の１分間、歌の最後の１分間、最初のコーラスの最初における冒頭の１分間、コーラスの１つまたは複数の繰り返し、コーラスなしの１つまたは複数の詩、あるいは詩とコーラスの別の組み合わせであってよい。
【００３１】
一部の一例の実施形態では、複数の音声トラックが、単一の音声トラックの代わりに使用される。例えば、ユーザは、パンク音楽を含む５分間のビデオをリクエストする場合がある。パンクジャンルの複数の歌が音声データテーブル２４０からアクセスされてよく、その各々は５分の長さより短い。２つ以上の長さの足りないパンクトラックが連結されて５分間の音声トラックを生成してよい。連結されるべきトラックは、一致するテンポに基づいて選択されてもよい。例えば１２０ＢＰＭの１つの歌と１１６ＢＰＭの別の歌の代わりに、１２０ＢＰＭの２つの歌が選択されてもよい。あるいは、１つまたは複数の歌のテンポは、一致するように調節される場合もある。例えば１２０ＢＰＭの歌は、１１８ＢＰＭまで速度が下げられてよく、１１６ＢＰＭの歌は、１１８ＢＰＭまで速度が上げられる場合もある。これらの方法のいずれも、音声／ビデオシーケンスのテンポが途中で変化する可能性を回避する。
【００３２】
図６は、音声を伴うビデオ提示を生成するための、一部の一例の実施形態におけるプロセス６００を示すフローチャートである。限定ではなく一例として、プロセス６００の工程は、データベースの図解２００を用いて、図１のシステム及びデバイスによって行われるように記載されている。
【００３３】
工程６１０において、サーバシステム１１０は、特定のテンポを有する音楽トラックにアクセスする。例えば、音楽トラック２６０Ａが、音声データテーブル２４０からアクセスされてよい。
【００３４】
サーバシステム１１０は、工程６２０において、複数のビデオセグメントを有するビデオトラックにアクセスする。例えば列２３０Ａのビデオシーケンスは、セグメント化されたビデオデータ３２０に示されるようなビデオセグメントを有し、ビデオデータテーブル２１０からアクセスされてよい。
【００３５】
工程６３０において、音楽トラックのテンポと、複数のビデオセグメントのうちの特定のビデオセグメントの継続時間に基づいて、サーバシステム１１０は、そのビデオセグメントを一セットのビデオセグメントに加える。例えば、音楽トラックの拍時間の整数倍である継続時間を有するビデオシーケンスのビデオセグメントが特定され、音楽トラックに同期させることができる一セットのビデオセグメントに加えられてよい。
【００３６】
サーバシステム１１０は、工程６４０において一セットのビデオセグメントの総継続時間が音楽トラックの継続時間に等しいかどうか、またはそれを超えるかどうか判定する。例えば音楽トラックが１分の長さであり、１つのビデオセグメントのみが一セットのビデオセグメントに加えられており、そのビデオセグメントが３０秒の長さである場合、工程６４０は、３０秒の総継続時間は、音楽トラックの継続時間より短いと判定するであろう。総継続時間が音楽トラックの継続時間と等しくない、またはそれを超えない場合、プロセス６００は工程６２０〜６４０を繰り返し、別のビデオセグメントを一セットのビデオセグメントに加え、継続時間のチェックを繰り返す。一セットのビデオセグメントの総継続時間が、音楽トラックの継続時間と一致する、またはそれを超える場合、プロセス６００は、工程６５０を継続する。
【００３７】
代替の実施形態では、工程６４０の比較は、音楽トラックの継続時間との比較ではなく、別の継続時間との比較である。例えば、ユーザは、音声／ビデオシーケンスに関して特定の継続時間を選択してもよい。継続時間が音楽トラックの継続時間より短い場合があり、その場合、その音楽トラックは、選択された継続時間になるように切り詰められてよい。ユーザが選択した継続時間が音楽トラックの継続時間より長い場合もあり、そのようなケースでは、音楽トラックは、選択された継続時間に達するように繰り返されてよい、または同じテンポの追加の音楽トラックが音声データテーブル２４０から検索され、最初の音楽トラックに追加されてもよい。
【００３８】
工程６５０において、サーバシステム１１０は、一セットの音楽セグメントと、ビデオトラックとを有する音声／ビデオシーケンスを生成する。例えば図４の音声／ビデオシーケンスは、ビデオセグメント４３０Ａ〜４３０Ｃ間における移行が音声トラック４１０の拍と位置合わせされた状態で音声トラック４１０が再生される間に再生させることができる３つのビデオセグメント４３０Ａ〜４３０Ｃを含む。生成された音声／ビデオシーケンスは、後のアクセスのためにビデオデータベース１２０に保管されてよい、ユーザに対して再生するためにクライアントデバイス１５０または１６０に伝送されてよい、またはその両方の場合もある。一部の一例の実施形態では、一セットのビデオセグメントの総継続時間が音楽トラックの継続時間を超える場合、継続時間を合わせるために１つのビデオセグメント（例えば最後のビデオセグメント）が切り詰められる。
【００３９】
図７は、音声を伴うビデオ提示を生成するための、一部の一例の実施形態におけるプロセス７００を示すフローチャートである。限定ではなく一例として、プロセス７００の工程は、データベースの図解２００を用いて、図１のシステム及びデバイスによって行われるように記載されている。
【００４０】
工程７１０において、サーバシステム１１０は、ビデオシーケンスにアクセスする。例えば、サーバシステム１１０は、クライアントデバイス１６０のブラウザインターフェース１８０においてレンダリングされたウェブページを提供してよい。このウェブページを利用して、ユーザは、音声／ビデオ提示のために使用されるべき所望のビデオシーケンスを特定するために１つまたは複数のキーワードを入力する。この例では、サーバシステム１１０は、ユーザが提供したキーワードと列２３０Ａに格納されたキーワードとの一致に基づいて、ビデオデータテーブル２１０から列２３０Ａのビデオシーケンスにアクセスする。
【００４１】
サーバシステム１１０は、工程７２０においてビデオシーケンスの一連のフレームにおける差に基づいてビデオシーケンスの中のビデオセグメントを特定する。例えば、一連のフレームの各対に関して距離の長さが計算されてよい。距離の長さが閾値を超えた場合、一連のフレームのその対は、別々のセグメントの中にあると判定されてよい。一例の距離の長さは、２つのフレームにおける対応するピクセルの色の値の差の絶対値の合計である。よって２つの全く同じフレームは、ゼロの距離の長さを有するであろう。
【００４２】
工程７３０において、複数の特定されたビデオセグメントがプロセス５００またはプロセス６００で（例えば工程５２０または工程６２０において）使用されて、特定されたビデオセグメントのうちの１つまたは複数と、音楽トラックとを有する音声／ビデオシーケンスを生成する。
【００４３】
図８は、音声を伴うビデオ提示を生成するための、一部の一例の実施形態におけるユーザインターフェース８００を示すブロック図である。ユーザインターフェース８００は、スポーツイベントセレクタ８１０、ビデオスタイルセレクタ８２０及びビデオ再生エリア８３０を含む。ユーザインターフェース８００は、アプリケーションインターフェース１７０またはブラウザインターフェース１８０によってユーザに提示されてよい。
【００４４】
ユーザは、スポーツイベントセレクタ８１０を操作して特定のスポーツを選択してよい。例えば、ユーザが一セットの事前に決められたオプション（例えばフットボール、ホッケーまたはバスケットボール）から選択することを可能にするドロップダウンメニューが提示されてよい。同様にユーザは、ビデオスタイルセレクタ８２０を操作して特定のビデオスタイルを選択することもできる。ビデオスタイルは、音楽のジャンルに対応してよい。
【００４５】
選択されたスポーツ及びビデオスタイルの受信に応答して、クライアントデバイス１５０または１６０は、サーバシステム１１０にこの選択を送信してよい。この選択に基づいて、サーバシステム１１０は、音声データベース１３０及びビデオデータベース１２０から、プロセス５００、６００及び７００のうちの１つまたは複数を実行する際に使用すべき音声及びビデオデータを特定する。音声を伴うビデオ提示を生成した後（例えばプロセス５００または６００を介して）、サーバシステム１１０は、ビデオ再生エリア８３０において表示するために、生成されたビデオ提示をクライアントデバイス１５０または１６０にネットワーク１４０を介して送信してよい。クライアントデバイス１５０または１６０は、受け取ったビデオ提示をユーザのためにビデオ再生エリア８３０において再生させる。
【００４６】
種々の一例の実施形態によると、本明細書に記載される方法論のうちの１つまたは複数は、音声を伴うビデオ提示を生成するのを容易にすることができる。したがって本明細書に記載される方法論のうちの１つまたは複数は、そうでなければ音声を伴うビデオ提示の生成に伴うであろう特定の労力またはリソースの必要性を不要にし得る。本明細書に記載される方法論のうちの１つまたは複数を利用することによって、１つまたは複数のマシン、データベースまたはデバイス（例えばネットワーク環境１００内の）によって使用されるコンピューティングリソースが削減されてよい。そのようなコンピューティングリソースの例には、プロセッササイクル、ネットワークトラフィック、メモリ使用量、データ記憶能力、電力消費及び冷却能力が含まれる。
【００４７】
図９は、マシン読み取り可能な媒体（例えばマシン読み取り可能な記憶媒体、コンピュータ可読記憶媒体、またはそれらの任意の好適な組み合わせ）から命令を読み取り、本明細書で考察される方法論のうちの任意の１つまたは複数を、全体として、または部分的に実行することが可能な、一部の一例の実施形態によるマシン９００の構成要素を示すブロック図である。具体的には、図９は、コンピュータシステムの一例の形態でマシン９００の概略的な表現を示しており、その中では、本明細書で考察される方法論のうちの任意の１つまたは複数をマシン９００に実行させる命令９２４（例えばソフトウェア、プログラム、アプリケーション、アプレット、アプリまたは他の実行可能コード）が、全体として、または部分的に実行されてよい。代替の実施形態では、マシン９００は、スタンドアロンデバイスとして動作する、または他のマシンに接続される（例えばネットワーク接続される）場合もある。ネットワーク接続された配置では、マシン９００は、サーバとクライアントのネットワーク環境においてサーバマシンまたはクライアントマシンという立場で動作してよい、または分散（例えばピアツーピア）ネットワーク環境におけるピアーマシンとして動作する場合もある。マシン９００は、サーバコンピュータ、クライアントコンピュータ、ＰＣ、タブレットコンピュータ、ラップトップコンピュータ、ネットブック、セットトップボックス（ＳＴＢ）、スマートＴＶ、パーソナルデジタルアシスタント（ＰＤＡ）、携帯電話、スマートフォン、ウェブアプライアンス、ネットワークルータ、ネットワークスイッチ、ネットワークブリッジ、またはそのマシンが取るべき行動を指定する命令９２４を、順を追って、またはそれ以外の方法で実行することが可能な任意のマシンであってよい。さらに、単一のマシンのみが例示されるが、用語「マシン」はまた、本明細書で考察される方法論のうちの任意の１つまたは複数の全てあるいは一部を実行するために、個々でまたは共同して命令９２４を実行するマシンの集まりを含めるように利用されるべきである。
【００４８】
マシン９００は、プロセッサ９０２（例えば中央処理装置（ＣＰＵ）、グラフィックス処理装置（ＧＰＵ）、デジタル信号プロセッサ（ＤＳＰ）、ＡＳＩＣ、無線周波数集積回路（ＲＦＩＣ）またはそれらの任意の組み合わせ）、メインメモリ９０４及びスタティックメモリ９０６を含んでおり、これらはバス９０８を介して互いに通信するように構成される。マシン９００は、グラフィックスディスプレイ９１０（例えばプラズマディスプレイパネル（ＰＤＰ）、ＬＥＤディスプレイ、ＬＣＤ、プロジェクタまたはＣＲＴ）をさらに含んでもよい。マシン９００はまた、英数字の入力デバイス９１２（例えばキーボード）、カーソルコントロールデバイス９１４（例えばマウス、タッチパッド、トラックボール、ジョイスティック、モーションセンサまたは他のポインティング機器）、ストレージユニット９１６、１つまたは複数のＧＰＵ９１８及びネットワークインターフェースデバイス９２０を含んでもよい。
【００４９】
ストレージユニット９１６は、本明細書に記載される方法論または機能のうちの任意の１つまたは複数を具現化する命令９２４が格納されるマシン読み取り可能な媒体９２２を含む。命令９２４はまた、マシン９００によるその実行中に、メインメモリ９０４内、プロセッサ９０２内（例えばプロセッサのキャッシュメモリ内）またはその両方に完全に、少なくとも一部が存在する場合もある。したがってメインメモリ９０４及びプロセッサ９０２は、マシン読み取り可能な媒体とみなされてよい。命令９２４は、ネットワークインターフェースデバイス９２０を介してネットワーク９２６（例えば図１のネットワーク１４０）上で送受信されてよい。
【００５０】
本明細書で使用される際、用語「メモリ」は、一時的に、または永久にデータを格納することが可能なマシン読み取り可能な媒体を指し、限定するものではないがランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、バッファメモリ、フラッシュメモリ及びキャッシュメモリを含むように利用されてよい。マシン読み取り可能な媒体９２２は単一の媒体であるように一例の実施形態には示されているが、用語「マシン読み取り可能な媒体」は、命令を格納することが可能な単一の媒体または複数の媒体（例えば集中型または分散型データベース、あるいは関連付けられたキャッシュ及びサーバ）を含むように利用されるべきである。用語「マシン読み取り可能な媒体」はまた、マシンの１つまたは複数のプロセッサ（例えばプロセッサ９０２）によって実行される際、命令が本明細書に記載される方法論のうちの任意の１つまたは複数をマシンに実行させるように、マシン（例えばマシン９００）による実行のために命令を格納することが可能な任意の媒体、または複数の媒体の組み合わせを含むように利用されるべきである。したがって「マシン読み取り可能な媒体」は、単一の記憶装置またはデバイス、ならびに複数の記憶装置またはデバイスを含む「クラウドベースの」ストレージシステムまたはストレージネットワークを指す。用語「マシン読み取り可能な媒体」はしたがって、限定するものではないがソリッドステートメモリ、光媒体、磁気媒体またはそれらの任意の好適な組み合わせの形態で１つまたは複数のデータの保管場所を含むように利用されるべきである。用語「非一時的マシン読み取り可能な媒体」は、マシン読み取り可能な媒体を指しており、信号自体は排除する。
【００５１】
本明細書の全体にわたって、複数の例が、単数の例として記載される構成要素、動作または構造を実施する場合がある。１つまたは複数の方法の個々の動作が別個の動作として図示され、記載されているが、個々の動作のうちの１つまたは複数が一斉に実施される場合もあり、その動作が、図示される順番に実施されることを命じるものは何もない。一例の構成において別個の構成要素として提示される構造及び機能性は、組み合わされた構造または構成要素として実施される場合もある。同様に、単一の構成要素として提示される構造及び機能性は、別個の構成要素として実施される場合もある。これらの、及び他の変形形態、修正形態、追加及び改良は、本明細書の主題の範囲内にある。
【００５２】
特定の実施形態が、論理、またはいくつかの構成要素、モジュールまたは機構を含むものとして本明細書に記載されている。モジュールは、ハードウェアモジュールを構成してよい。「ハードウェアモジュール」は、特定の動作を実行することが可能な有形のユニットであり、特定の物理的手法で構成され得る、または配置されてよい。種々の一例の実施形態では、１つまたは複数のコンピュータシステム（例えば、スダンドアローンコンピュータシステム、クライアントコンピュータシステムまたはサーバコンピュータシステム）あるいはコンピュータシステムの１つまたは複数のハードウェアモジュール（例えば、プロセッサまたは１群のプロセッサ）は、本明細書に記載されるような特定の動作を実行するように動作するハードウェアモジュールとしてソフトウェア（例えば、アプリケーションまたはアプリケーションの一部）によって構成されてよい。
【００５３】
一部の実施形態では、ハードウェアモジュールは、機械的に、電子的に、またはそれらの任意の好適な組み合わせで実装されてよい。例えば、ハードウェアモジュールは、特定の動作を実行するように永久に構成される専用回路または論理を含んでよい。例えばハードウェアモジュールは、ＦＰＧＡまたはＡＳＩＣなどの特殊用途のプロセッサであってよい。ハードウェアモジュールはまた、特定の動作を実行するようにソフトウェアによって一時的に構成されるプログラマブル論理または回路を含む場合もある。例えばハードウェアモジュールは、汎用プロセッサまたは他のプログラマブルプロセッサの中に包含されるソフトウェアを含んでもよい。ハードウェアモジュールを機械的に、専用の永久に構成された回路の中に、または一時的に構成された回路の中に（例えば、ソフトウェアによって構成された）実装する決定は、費用及び時間の問題によって余儀なくされる場合があることを理解されたい。
【００５４】
したがって、「ハードウェアモジュール」という表現は、有形の要素を包含するように理解されるべきであり、すなわち特定の手法で動作するように、または本明細書に記載される特定の動作を実行するように物理的に構築された、永久に構成された（例えば、配線接続された）、または一時的に構成された（例えば、プログラムされた）要素であるべきである。本明細書で使用される際、「ハードウェア実装モジュール」は、ハードウェアモジュールを指している。ハードウェアモジュールが一時的に構成される（例えば、プログラムされる）実施形態を考慮すると、ハードウェアモジュールの各々は、任意の一つのインスタンスにおいて時間を合わせて構成されたり、インスタンス化されたりする必要はない。例えば、ハードウェアモジュールが、特殊目的のプロセッサになるようにソフトウェアによって構成された汎用プロセッサを有する場合、この汎用プロセッサは、異なる時間におけるそれぞれ異なる特殊目的のプロセッサ（例えば異なるハードウェアモジュールを含む）として構成されてよい。ソフトウェアはしたがって、例えば、あるインスタンスの時間では特定のハードウェアモジュールを構成するように、また異なるインスタンスの時間では異なるハードウェアモジュールを構成するようにプロセッサを構成することができる。
【００５５】
ハードウェアモジュールは、他のハードウェアモジュールに情報を提供する、及び他のハードウェアから情報を受け取ることができる。したがって、記載されるハードウェアモジュールは、通信可能に結合されているものとみなされてよい。複数のハードウェアが同時に存在する場合、通信は、ハードウェアモジュールのうちの２つの間での、またはその２つ以上の間での信号伝送（例えば、適当な回路及びバス上での）を通して達成されてよい。複数のハードウェアモジュールが異なる時間に構成される、またはインスタンス化される実施形態において、そのようなハードウェアモジュール間の通信は、例えば、複数のハードウェアモジュールがアクセス権を有するメモリ構造内での情報の格納及び取り出し検索を通して達成されてよい。例えば、１つのハードウェアモジュールが特定の動作を実行し、その動作の出力を、通信可能に結合されたメモリデバイスに格納してもよい。別のハードウェアモジュールが次に、その後になって、このメモリデバイスにアクセスして格納された出力を取り出し処理してよい。ハードウェアモジュールはまた、入力または出力デバイスとの通信を開始してもよく、特定のリソース（例えば、情報のまとまり）上で動作することもできる。
【００５６】
本明細書に記載される一例の方法の種々の動作は、関連する動作を実行するように一時的に構成された（例えば、ソフトウェアによって）または永久に構成された１つまたは複数のプロセッサによって少なくとも部分的に実行されてよい。一時的に構成されていようと永久に構成されていようと、そのようなプロセッサは、本明細書に記載される１つまたは複数の動作または機能を実行するように動作するプロセッサ実装モジュールを構成してよい。本明細書で使用される際、「プロセッサ実装モジュール」は、１つまたは複数のプロセッサを利用して履行されるハードウェアモジュールを指す。
【００５７】
同様に、本明細書に記載される方法は、少なくとも一部がプロセッサに履行されてよく、プロセッサは、一例のハードウェアである。例えば、方法の動作のうちの少なくともいくつかは、１つまたは複数のプロセッサまたはプロセッサ実装モジュールによって実行されてよい。さらに、１つまたは複数のプロセッサはまた、「クラウドコンピューティング」環境において関連する動作の実行をサポートするように動作する場合もあり、または「サービス型ソフトウェア」（ＳａａＳ）として動作する場合もある。例えば、動作のうちの少なくともいくつかは、１群のコンピュータ（プロセッサを含むマシンの例として）によって実行されてよく、これらの動作はネットワーク（例えば、インターネット）を介して、及び１つまたは複数の適当なインターフェース（例えば、アプリケーションプログラムインターフェース（ＡＰＩ））を介してアクセス可能である。
【００５８】
動作のうちの特定のものの実行は、単一のマシン内に存在するだけでなく、いくつかのマシンにわたって展開された１つまたは複数のプロセッサ間で分散される場合もある。一部の一例の実施形態では、１つまたは複数のプロセッサまたはプロセッサ実装モジュールは、単一の地理的な場所（例えば、家庭環境内、職場環境内またはサーバファーム内）に配置されてよい。他の一例の実施形態では、１つまたは複数のプロセッサまたはプロセッサ実装モジュールは、いくつかの地理的な場所にわたって分散される場合もある。
【００５９】
本明細書で考察される主題のいくつかの部分は、マシンメモリ（例えば、コンピュータメモリ）内にビットまたは２値デジタル信号として格納されるデータに対する演算のアルゴリズムまたは記号的表現の観点で提示されてよい。そのようなアルゴリズムまたは記号的表現は、当業者の作業の内容を他の当業者に伝えるためにデータ処理技術における当業者によって使用される技法の例である。本明細書で用いられる場合、「アルゴリズム」は、所望の結果を導く演算または同様の処理の自己矛盾のないシーケンスである。この文脈において、アルゴリズム及び演算は、物理的分量の物理的操作を伴う。典型的には、但し必ずしもそうではないが、そのような分量は、マシンによって格納される、アクセスされる、送信される、結合される、比較される、またはその他の方法で操作され得る電気信号、磁気信号または光信号の形を採る場合がある。主に一般的な使用上の理由で、そのような信号を「データ」、「コンテンツ」、「ビット」、「値」、「要素」、「記号」、「文字」、「用語」、「番号」、「数字」などの語句を用いて称することが時として好都合である。しかしながら、これらの語句は、単に都合のいい標識であり、適当な物理的分量に関連付けられるべきである。
【００６０】
具体的にそうでないことが表明されない限り、「処理する」、「演算する」、「計算する」、「決定する」、「提示する」、「表示する」などの語句を用いた本明細書における考察は、１つまたは複数のメモリ内（例えば、揮発性メモリ、不揮発性メモリまたはそれらの任意の好適な組み合わせ）、レジスタ内、あるいは情報を受け取る、格納する、送信する、または表示する他のマシン構成要素の内で物理的（例えば、電子的、磁気的または光学的）な分量として表されるデータを操作する、または変換するマシン（例えば、コンピュータ）の行為または処理を指してよい。さらに、そうでないことが具体的に表明されない限り、用語「ａ」または「ａｎ」は、特許文書で一般的であるように、１つまたは２つ以上の事例を含むように本明細書では使用される。最後に、本明細書で使用される際、接続語「ｏｒ（または）」は、そうでないことが具体的に表明されない限り、非排他的な「ｏｒ」を指している。
【図１】
0006858272.tif 000002
【図２】
0006858272.tif 000003
【図３】
0006858272.tif 000004
【図４】
0006858272.tif 000005
【図５】
0006858272.tif 000006
【図６】
0006858272.tif 000007
【図７】
0006858272.tif 000008
【図８】
0006858272.tif 000009
【図９】
0006858272.tif 000010