IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グレースノート インコーポレイテッドの特許一覧

<>
  • 特許-音声を伴うビデオ提示の生成 図1
  • 特許-音声を伴うビデオ提示の生成 図2
  • 特許-音声を伴うビデオ提示の生成 図3
  • 特許-音声を伴うビデオ提示の生成 図4
  • 特許-音声を伴うビデオ提示の生成 図5
  • 特許-音声を伴うビデオ提示の生成 図6
  • 特許-音声を伴うビデオ提示の生成 図7
  • 特許-音声を伴うビデオ提示の生成 図8
  • 特許-音声を伴うビデオ提示の生成 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-28
(45)【発行日】2023-05-11
(54)【発明の名称】音声を伴うビデオ提示の生成
(51)【国際特許分類】
   G06F 16/783 20190101AFI20230501BHJP
   H04N 21/233 20110101ALI20230501BHJP
   H04N 21/234 20110101ALI20230501BHJP
【FI】
G06F16/783
H04N21/233
H04N21/234
【請求項の数】 20
【外国語出願】
(21)【出願番号】P 2021048224
(22)【出願日】2021-03-23
(62)【分割の表示】P 2019553828の分割
【原出願日】2018-03-30
(65)【公開番号】P2021101366
(43)【公開日】2021-07-08
【審査請求日】2021-04-08
(31)【優先権主張番号】15/474,305
(32)【優先日】2017-03-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】501112323
【氏名又は名称】グレースノート インコーポレイテッド
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【弁理士】
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【弁理士】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100151987
【弁理士】
【氏名又は名称】谷口 信行
(72)【発明者】
【氏名】ハロン ウィルソン
(72)【発明者】
【氏名】サマーズ キャメロン オーブリー
【審査官】酒井 恭信
(56)【参考文献】
【文献】米国特許出願公開第2015/0160916(US,A1)
【文献】国際公開第2015/089095(WO,A1)
【文献】欧州特許出願公開第03080810(EP,A1)
【文献】中国特許出願公開第105814634(CN,A)
【文献】特開2003-228963(JP,A)
【文献】米国特許第08855334(US,B1)
【文献】米国特許出願公開第2017/0026719(US,A1)
【文献】国際公開第2007/066818(WO,A1)
【文献】米国特許出願公開第2015/0142147(US,A1)
【文献】特開平11-069290(JP,A)
【文献】米国特許出願公開第2007/0174274(US,A1)
【文献】韓国公開特許第10-2011-0121830(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00 - 16/958
H04N 21/00 - 21/858
(57)【特許請求の範囲】
【請求項1】
命令を格納するメモリと、
複数の音楽トラック及び複数のビデオシーケンスを格納する1つまたは複数のデータベースと、
前記命令に従って処理を実行する1つまたは複数のプロセッサと、を備え、
前記処理は、
前記1つまたは複数のデータベースから、第1のテンポを有する第1の音楽トラックにアクセスすることと、
前記1つまたは複数のデータベースから、前記第1のテンポとは異なる第2のテンポを有する第2の音楽トラックにアクセスすることと、
前記第1のテンポ及び前記第2のテンポの少なくとも一方を、前記第1及び第2の音楽トラックが共通テンポを有するように変更することと、
前記1つまたは複数のデータベースから、第1のビデオシーケンス及び第2のビデオシーケンスにアクセスすることと、
前記第1及び第2の音楽トラックの前記共通テンポに基づいて、第1のビデオセグメントを一セットのビデオセグメントに加えるために選択することであって、選択された前記第1のビデオセグメントは、前記第1のビデオシーケンスからのものである、前記選択することと、
選択された前記第1のビデオセグメントを前記一セットのビデオセグメントに加えることと、
前記第1及び第2の音楽トラックの前記共通テンポに基づいて、第2のビデオセグメントを前記一セットのビデオセグメントに加えるために選択することであって、選択された前記第2のビデオセグメントは、前記第2のビデオシーケンスからのものである、前記選択することと、
選択された前記第2のビデオセグメントを前記一セットのビデオセグメントに加えることと、
前記一セットのビデオセグメントを有する音声/ビデオシーケンスを生成することと
を含むシステム。
【請求項2】
前記第1のビデオセグメントを前記一セットのビデオセグメントに加えるために選択することは、前記第1及び第2の音楽トラックの前記共通テンポに基づいて複数のビデオセグメントを特定することをさらに含み、前記第1のビデオセグメントは、前記特定された複数のビデオセグメントから選択される、請求項1に記載のシステム。
【請求項3】
前記処理は、テンポの選択を受け取ることをさらに含み、
前記1つまたは複数のデータベースから前記第1及び第2の音楽トラックにアクセスすることは、前記選択されたテンポと、前記第1のテンポと、前記第2のテンポとに基づいている、請求項1に記載のシステム。
【請求項4】
前記処理は、検索クエリにアクセスすることをさらに含み、
前記1つまたは複数のデータベースから前記第1のビデオシーケンス及び前記第2のビデオシーケンスにアクセスすることは、前記検索クエリに基づいている、請求項1に記載のシステム。
【請求項5】
前記第1のビデオセグメントを前記一セットのビデオセグメントに加えるために選択することは、前記第1のビデオセグメントの継続時間にさらに基づいている、請求項1に記載のシステム。
【請求項6】
前記音声/ビデオシーケンスを生成することは、所定の継続時間を有する前記音声/ビデオシーケンスを生成することを含む、請求項1に記載のシステム。
【請求項7】
前記処理は、前記第1及び第2の音楽トラックを含む音楽トラックを生成することを含み、
前記音声/ビデオシーケンスを生成することは、前記音楽トラックの継続時間に等しい継続時間を有する前記音声/ビデオシーケンスを生成することを含む、請求項1に記載のシステム。
【請求項8】
前記音声/ビデオシーケンスを生成することは、ユーザが選択した継続時間を有する前記音声/ビデオシーケンスを生成することを含む、請求項1に記載のシステム。
【請求項9】
前記処理は、前記第1の音楽トラックの前記第1のテンポまたは第2の音楽トラックの前記第2のテンポに基づいて前記第1または第2の音楽トラックの雰囲気を決定することをさらに含み、
前記第1のビデオセグメント及び前記第2のビデオセグメントを前記一セットのビデオセグメントに加えるために前記選択することは、前記第1の音楽トラックまたは前記第2の音楽トラックの決定された前記雰囲気にさらに基づいている、請求項1に記載のシステム。
【請求項10】
1つまたは複数のプロセッサによって、音声データベースから、第1のテンポを有する第1の音楽トラックにアクセスすることと、
前記1つまたは複数のプロセッサによって、前記音声データベースから、前記第1のテンポとは異なる第2のテンポを有する第2の音楽トラックにアクセスすることと、
前記1つまたは複数のプロセッサによって、前記第1のテンポ及び前記第2のテンポの少なくとも一方を、前記第1及び第2の音楽トラックが共通テンポを有するように変更することと、
前記1つまたは複数のプロセッサによって、ビデオデータベースから、第1のビデオシーケンス及び第2のビデオシーケンスにアクセスすることと、
前記第1及び第2の音楽トラックの前記共通テンポに基づいて、前記1つまたは複数のプロセッサによって、第1のビデオセグメントを一セットのビデオセグメントに加えるために選択することであって、選択された前記第1のビデオセグメントは、前記第1のビデオシーケンスからのものである、前記選択することと、
前記1つまたは複数のプロセッサによって、選択された前記第1のビデオセグメントを前記一セットのビデオセグメントに加えることと、
前記第1及び第2の音楽トラックの前記共通テンポに基づいて、前記1つまたは複数のプロセッサによって、第2のビデオセグメントを前記一セットのビデオセグメントに加えるために選択することであって、選択された前記第2のビデオセグメントは、前記第2のビデオシーケンスからのものである、前記選択することと、
前記1つまたは複数のプロセッサによって、選択された前記第2のビデオセグメントを前記一セットのビデオセグメントに加えることと、
前記1つまたは複数のプロセッサによって、前記一セットのビデオセグメントを有する音声/ビデオシーケンスを生成することと
を含む方法。
【請求項11】
テンポの選択を受け取ることをさらに含み、
前記音声データベースから前記第1及び第2の音楽トラックに前記アクセスすることは、前記選択されたテンポと、前記第1のテンポと、前記第2のテンポとに基づいている、
請求項10に記載の方法。
【請求項12】
検索クエリにアクセスすることをさらに含み、
前記ビデオデータベースから前記第1のビデオシーケンス及び前記第2のビデオシーケンスに前記アクセスすることは、前記検索クエリに基づいている、請求項10に記載の方法。
【請求項13】
前記第1のビデオセグメントを前記一セットのビデオセグメントに加えるために選択することは、前記第1のビデオセグメントの継続時間に基づいている、請求項10に記載の方法。
【請求項14】
前記音声/ビデオシーケンスを生成することは、所定の継続時間を有する前記音声/ビデオシーケンスを生成することを含む、請求項10に記載の方法。
【請求項15】
前記方法は、前記第1及び第2の音楽トラックを含む音楽トラックを生成することを含み、
前記音声/ビデオシーケンスを生成することは、前記音楽トラックの継続時間に等しい継続時間を有する前記音声/ビデオシーケンスを生成することを含む、請求項10に記載の方法。
【請求項16】
前記音声/ビデオシーケンスを生成することは、ユーザが選択した継続時間を有する前記音声/ビデオシーケンスを生成することを含む、請求項10に記載の方法。
【請求項17】
コンピュータに処理を実行させる命令を記録した非一時的コンピュータ読み取り可能な記録媒体であって、前記処理は
音声データベースから、第1のテンポを有する第1の音楽トラックにアクセスすることと、
前記音声データベースから、前記第1のテンポとは異なる第2のテンポを有する第2の音楽トラックにアクセスすることと、
前記第1のテンポ及び前記第2のテンポの少なくとも一方を、前記第1及び第2の音楽トラックが共通テンポを有するように変更することと、
ビデオデータベースから、第1のビデオシーケンス及び第2のビデオシーケンスにアクセスすることと、
前記第1及び第2の音楽トラックの前記共通テンポに基づいて、第1のビデオセグメントを一セットのビデオセグメントに加えるために選択することであって、選択された前記第1のビデオセグメントは、前記第1のビデオシーケンスからのものである、前記選択することと、
選択された前記第1のビデオセグメントを前記一セットのビデオセグメントに加えることと、
前記第1及び第2の音楽トラックの前記共通テンポに基づいて、第2のビデオセグメントを前記一セットのビデオセグメントに加えるために選択することであって、選択された前記第2のビデオセグメントは、前記第2のビデオシーケンスからのものである、前記選択することと、
選択された前記第2のビデオセグメントを前記一セットのビデオセグメントに加えることと、
前記一セットのビデオセグメントを有する音声/ビデオシーケンスを生成することと
を含む、前記非一時的コンピュータ読み取り可能な記録媒体
【請求項18】
前記処理は、テンポの選択を受け取ることをさらに含み、
前記音声データベースから前記第1及び第2の音楽トラックに前記アクセスすることは、前記選択されたテンポと、前記第1のテンポと、前記第2のテンポとに基づいている、
請求項17に記載の非一時的コンピュータ読み取り可能な記録媒体
【請求項19】
前記処理は、検索クエリにアクセスすることをさらに含み、
前記ビデオデータベースから前記第1のビデオシーケンス及び前記第2のビデオシーケンスにアクセスすることは、前記検索クエリに基づいている、
請求項17に記載の非一時的コンピュータ読み取り可能な記録媒体
【請求項20】
前記音声/ビデオシーケンスを生成することは、所定の継続時間を有する前記音声/ビデオシーケンスを生成することを含む、請求項17に記載の非一時的コンピュータ読み取り可能な記録媒体
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示される主題は一般に、音声/ビデオの提示に関する。具体的には、本開示は、音声を伴うビデオ提示を生成するためのシステム及び方法を扱っている。
【0002】
いくつかの実施形態を、添付の図面の図において、限定ではなく一例として例示する。
【図面の簡単な説明】
【0003】
図1】音声を伴うビデオ提示を生成するのに適した、一部の一例の実施形態によるネットワーク環境を示すブロック図である。
図2】音声を伴うビデオ提示を生成するのに適した、一部の一例の実施形態によるデータベースを示すブロック図である。
図3】音声を伴うビデオ提示を生成するのに適した、一部の一例の実施形態によるセグメント化されたビデオデータと、セグメント化されないビデオデータを示すブロック図である。
図4】一部の一例の実施形態による、音声を伴うビデオ提示における音声トラックとビデオセグメントとの位置合わせを示すブロック図である。
図5】音声を伴うビデオ提示を生成するための、一部の一例の実施形態におけるプロセスを示すフローチャートである。
図6】音声を伴うビデオ提示を生成するための、一部の一例の実施形態におけるプロセスを示すフローチャートである。
図7】音声を伴うビデオ提示を生成するための、一部の一例の実施形態におけるプロセスを示すフローチャートである。
図8】音声を伴うビデオ提示を生成するための、一部の一例の実施形態におけるユーザインターフェースを示すブロック図である。
図9】マシン読み取り可能な媒体から命令を読み取り、本明細書で考察される方法論のうちの任意の1つまたは複数を実行することが可能な、一部の一例の実施形態によるマシンの構成要素を示すブロック図である。
【発明を実施するための形態】
【0004】
音声を伴うビデオ提示を生成するための一例の方法及びシステムが記載される。音声トラックが、明示的にまたは暗黙的に選択される。音声トラックは、一セットの利用可能な音声トラックから音声トラックを選択するユーザによって明示的に選択されてよい。音声トラックは、音声トラックの雰囲気、音声トラックのジャンル、音声トラックのテンポまたはそれらの任意の好適な組み合わせに基づいて、一セットの音声トラックから音声トラックを自動的に選択することによって暗黙的に選択される場合もある。
【0005】
音声トラックを伴うビデオ提示は、1つまたは複数のビデオシーケンスから生成される。ビデオシーケンスは、ユーザによって明示的に選択されてよい、または検索基準を用いてビデオシーケンスのデータベースから選択されてもよい。一部の一例の実施形態では、ビデオシーケンスは、フレーム間の切れ目に対応するビデオセグメントに分割される。ビデオセグメントは連結されて、音声トラックが加えられるビデオ提示を形成する。
【0006】
一部の一例の実施形態では、音声トラックにおける音楽の整数の拍に匹敵する継続時間を有するビデオセグメントのみがビデオ提示を形成するのに使用される。これらの一例の実施形態では、音声トラックを伴うビデオ提示におけるビデオセグメント間の移行は、音楽の拍と位置合わせされる。
【0007】
以下の記載において、説明する目的で、一例の実施形態の完全な理解を提供するために多くの特有の詳細が述べられている。しかしながら、本発明の主題は、これらの特有の詳細なしでも実施され得ることは当業者に明らかであろう。
【0008】
図1は、一部の一例の実施形態による、音声を伴うビデオ提示を生成するのに適したネットワーク環境100を示すネットワーク図である。ネットワーク環境100は、ネットワーク140によって接続されたサーバシステム110と、クライアントデバイス150または160とを含んでよい。サーバシステム110は、ビデオデータベース120と、音声データベース130とを有する。
【0009】
クライアントデバイス150または160は、メディアコンテンツのストリームを受け取り提示することが可能な任意のデバイス(例えばテレビジョン、第2のセットトップボックス、ラップトップまたは他のパーソナルコンピュータ(PC)、タブレットまたは他のモバイルデバイス、デジタルビデオレコーダ(DVR)またはゲーミングデバイス)である。クライアントデバイス150または160はまた、生成されたビデオ提示を表示するように構成されたディスプレイまたは他のユーザインターフェースを含んでもよい。ディスプレイは、フラットパネルスクリーン、プラズマスクリーン、発光ダイオード(LED)スクリーン、ブラウン管(CRT)、液晶ディスプレイ(LCD)、プロジェクタ、またはそれらの任意の好適な組み合わせであってよい。クライアントデバイス150または160のユーザは、アプリケーションインターフェース170またはブラウザインターフェース180を介してクライアントデバイスとやり取りしてよい。
【0010】
ネットワーク140は、有線ネットワーク、無線ネットワーク(例えばモバイルネットワーク)など、デバイス間の通信を可能にするいずれのネットワークでもよい。ネットワーク140は、プライベートネットワーク(例えばケーブルテレビネットワークまたは衛星テレビネットワーク)、公共ネットワーク(例えば無線放送チャンネルまたはインターネット)などを構成する1つまたは複数の部分を含んでもよい。
【0011】
一部の一例の実施形態では、クライアントデバイス150または160は、ネットワーク140を介してサーバシステム110にリクエストを送信する。このリクエストは、ビデオコンテンツに関する検索クエリ及び音楽のジャンルを特定する。音楽のジャンルに基づいて、サーバシステム110は、音声データベース130から特定の音声トラックを特定する。ビデオコンテンツに関する検索クエリに基づいて、サーバシステム110は、ビデオデータベース120から1つまたは複数のビデオシーケンスを特定する。本明細書に開示される方法を用いて、サーバシステム110は、特定された音声トラックと、1つまたは複数の特定されたビデオシーケンスからのビデオセグメントとを有するビデオ提示を生成する。サーバシステム110は、クライアントデバイスに関連付けられたディスプレイデバイスに提示するために、生成されたビデオ提示をクライアントデバイス150または160に送信してよい。
【0012】
図1に示されるように、サーバシステム110は、ビデオデータベース120と、音声データベース130とを有する。一部の一例の実施形態では、ビデオデータベース120、音声データベース130またはその両方は、サーバシステム110によって(例えばネットワーク140または別のネットワークを介して)アクセス可能な別々のコンピュータシステムに実装される。
【0013】
図1に示されるマシン、データベースまたはデバイスのいずれも、そのマシンに関して本明細書に記載される機能を果たす特殊目的のコンピュータであるようにソフトウェアによって改良された(例えば構成された、またはプログラムされた)汎用コンピュータに実装されてもよい。例えば、本明細書に記載される方法論のうちの任意の1つまたは複数を履行することが可能なコンピュータシステムが、図9に関して以下で考察される。本明細書で使用される際、「データベース」は、データストレージリソースであり、テキストファイル、テーブル、スプレッドシート、リレーショナルデータベース、ドキュメントストア、キーバリューストア、トリプルストアまたはそれらの任意の好適な組み合わせとして構築されたデータを格納してよい。さらに、図1に示されるマシンのうちの任意の2つ以上は、単一のマシンに合体されてもよく、任意の単一のマシンに関して本明細書に記載される機能は、複数のマシンの間でさらに分割されてもよい。
【0014】
さらに、モジュール、システム及び/またはデータベースのいずれも、図1に示されるマシン、データベースまたはデバイスのいずれに配置されてもよい。例えば、構成の中でもとりわけ、クライアントデバイス150が、ビデオデータベース120および音声データベース130を含み、特定されたビデオ及び音声データをサーバシステム100に伝送してもよい。
【0015】
図2は、音声を伴うビデオ提示を生成するのに適した、一部の一例の実施形態によるデータベースの図解200を示すブロック図である。データベースの図解200は、ビデオデータテーブル210と、音声データテーブル240とを含む。ビデオデータテーブル210は、フィールド220を使用しており、テーブル内の各列(例えば列230A~230D)に関して、タイトル、キーワード、クリエータ及びデータを提供している。ビデオデータは、ムービングピクチャエクスパートグループ(MPEG)-4Part14(MP4)、オーディオビデオインターリーブ(AVI)またはクイックタイム(QT)などの多様な形式であってよい。
【0016】
音声データテーブル240はフィールド250を使用しており、テーブル内の各列(例えば列260A~260D)に関してタイトル、ジャンル、テンポ及びデータを提供している。音声データは、MEPG-3(MP3)、ウィンドウズ(登録商標)メディアオーディオ(WMA)、アドバンスオーディオコーディング(AAC)またはウィンドウズ(登録商標)ウェーブ(WAV)などの多様な形式であってよい。
【0017】
図3は、音声を伴うビデオ提示を生成するのに適した、一部の一例の実施形態によるセグメント化されたビデオデータと、セグメント化されないビデオデータとを示すブロック図である。セグメント化されないビデオデータ310は、1分24秒の継続時間を有するように示されている。セグメント化されたビデオデータ320は、様々に異なる個々の継続時間の9つのセグメントに分割されるが、それでもなお1分24秒の同一の総継続時間を有する同一のビデオコンテンツを有する。一部の一例の実施形態では、ビデオデータのセグメントは、セグメント化されないビデオデータの一連のフレームにおける差に基づいて特定される。例えば、一連のフレームにおける距離の長さが、所定の閾値と比較されてよい。距離の長さが閾値を超えた場合、一連のフレームは、異なるセグメントの一部であるように特定されてよい。一例の距離の長さは、RGB空間における対応するピクセル間の差の絶対値の合計である。例示するように、1080×1920の高精細度フレームにおいて、対応するピクセル(2,073,600ピクセルの)の各対間におけるRGB値の差が特定され、その絶対値が取得され、2,073,600の結果として生じる値が合計される。距離が0である場合、2つのフレームは全く同じである。
【0018】
図4は、一部の一例の実施形態による、音声を伴うビデオ提示における音声トラックとビデオセグメントの位置合わせを示すブロック図400である。ブロック図400は、音声トラック410、拍420及びビデオセグメント430A、430B及び430Cを含む。拍420は、音声トラック410において拍が生じる瞬間を指している。例えば音声トラック410における音楽が120BPMのテンポを有する場合、拍420は、0.5秒の間隔で間が空けられる。ビデオセグメント430A~430Cは、拍420と位置合わせされる。よって、ビデオセグメント430Aと、ビデオセグメント430Bとの間の移行は、1つの拍において生じる。ビデオセグメント430A~430Cは、異なるビデオシーケンス(例えばビデオデータテーブル210からの)から、または単一のビデオシーケンスから取得されてよい。さらに、ビデオセグメント430A~430Cは、ビデオセグメントが発生元のビデオシーケンス(例えば図3のビデオシーケンス)において提示されるのと同じ順序で、または異なる順序で音声トラック410と位置合わせされてよい。
【0019】
一部の一例の実施形態では、シーンの移行以外のイベントが、音声トラック410の拍420と位置合わせされる。例えばボクシングにおけるノックアウトの編集において、ビデオセグメント430A~430Cの各々は、ノックアウトする一撃が当たったタイミングが拍の上になるように音声トラック410と位置合わせされてよい。
【0020】
拍420は、音声トラック410の拍のサブセットを指す場合もある。例えば、拍420は、音楽の強拍またはダウンビートに限定される場合もある。強拍は、各拍における歌の強さまたはエネルギーを検出し、最も高いエネルギーを有する拍を特定することによって検出されてよい。例えば4/4拍子を用いる音楽では、4拍子の各グループのうちの1つまたは2つは、他の拍子より高いエネルギーを有する場合がある。したがって位置合わせに利用される拍420は、4拍子の各グループのうちの1つまたは2つに限定されてよい。
【0021】
一部の一例の実施形態では、音声トラック410における移行点は、拍420以外の音声信号によって特定されてもよい。例えば、音楽の代わりに走っている馬の録音を含む音声トラックは、馬の叩きつけるひづめの拍子によって特定される移行点を有する場合もある。別の例として、映画またはテレビ番組の音声の一部を含む音声トラックは、例えば人が叫んでいる、銃声、マイクロフォンに近づいてくる車両、またはそれらの任意の好適な組み合わせなど、閾値を超える音声エネルギーによって特定される移行点を有する場合もある。
【0022】
図5は、音声を伴うビデオ提示を生成するための、一部の一例の実施形態におけるプロセス500を示すフローチャートである。限定ではなく一例として、プロセス500の工程は、データベースの図解200を用いて、図1のシステム及びデバイスによって実施されるように記載されている。
【0023】
工程510において、サーバシステム110は、特定のテンポを有する音楽トラックにアクセスする。例えば、列260Aの音楽トラックが、音声データテーブル240からアクセスされてよい。一部の一例の実施形態では、クライアントデバイス150または160は、アプリケーションインターフェース170またはブラウザインターフェース180を介してユーザに対するユーザインターフェースを提示する。提示されたユーザインターフェースは、ユーザが特定のテンポを選択することを可能にするオプション(例えば数字のテンポを入力するためのテキストフィールド、予め定義されたテンポのドロップダウンリスト、テキストフィールドとドロップダウンリストを有するコンボボックス、またはそれらの任意の好適な組み合わせ)を含んでいる。クライアントデバイス150または160は、受け取ったテンポをサーバシステム110に伝送し、サーバシステム110は、このテンポに基づいてアクセスした音楽トラックを選択する。例えば、選択されたテンポ(または選択されたテンポの所定の範囲内、例えば選択されたテンポの5BPMの範囲内)を有する列を特定するために、音声データベース130の音声データテーブル240に対して照会がなされてよい。
【0024】
他の一例の実施形態では、ユーザインターフェースは、ユーザがジャンルを選択することを可能にするオプションを含む。クライアントデバイスは、受け取ったジャンルをサーバシステム110に伝送し、サーバシステム110は、このジャンルに基づいてアクセスした音楽トラックを選択する。例えば、選択されたジャンルを有する列を特定するために、音声データベース130の音声データテーブル240に対して照会がなされてよい。追加として、または代替として、ユーザは、音声トラックを選択するために雰囲気を選択してもよい。例えば音声データテーブル240は、各歌に関する1つまたは複数の雰囲気と、工程510で使用されたユーザが選択した雰囲気に一致する列とを含むように拡張されてもよい。一部の一例の実施形態では、音声トラックの雰囲気は、テンポ(例えば悲しみに相当する遅い、怒りに相当する速い、喜びに相当する中くらいなど)、キー(例えばメジャーキーの音楽は喜びであり、マイナーキーの音楽は悲しみである)、楽器(例えばバスは憂いを秘めており、ピッコロは快活である)、キーワード(例えば喜び、悲しみ、怒り、またはそれらの任意の好適な組み合わせ)あるいはそれらの任意の好適な組み合わせに基づいて決定される。
【0025】
サーバシステム110は、工程520において、複数のビデオセグメントを有するビデオトラックにアクセスする。例えば列230Aのビデオシーケンスは、セグメント化されたビデオデータ320に示されるようなビデオセグメントを有しており、ビデオデータテーブル210からアクセスされてよい。ビデオシーケンスは、ユーザによって選択されてよい(例えば利用可能なビデオシーケンスのリストから)、または自動的に選択されてもよい。例えば音声トラックの雰囲気に一致する雰囲気を有するビデオトラックが自動的に選択されてよい。一部の一例の実施形態では、ビデオトラックの雰囲気は、顔認識(例えば笑っている顔は幸せである、泣いている顔は悲しんでいる、深刻な顔は憂鬱である)、色(例えば明るい色は喜びである、くすんだ顔色は悲しみである)、認識される物体(例えば雨は悲しみ、武器は攻撃的、おもちゃは幸せ)またはそれらの任意の好適な組み合わせに基づいて決定される。
【0026】
一部の一例の実施形態では、アクセスされるビデオトラックは、ビデオデータテーブル210におけるビデオトラックに対応付けられたテンポと、キーワードに基づいてサーバシステム110によって選択される。例えばキーワード「ホッケー」に対応付けられたビデオトラックは、多くの短いビデオセグメントで構成されやすい場合があり、キーワード「サッカー」に対応付けられたビデオトラックは、より長いビデオセグメントで構成されやすい場合がある。したがってキーワード「ホッケー」に対応付けられたビデオトラックは、テンポが速い(例えば110BPMを超える)場合に選択されてよく、キーワード「サッカー」に対応付けられたビデオトラックは、テンポが遅い(例えば80BPMを下回る)場合に選択されてよい。
【0027】
工程530において、音楽トラックのテンポと、複数のビデオセグメントのうちの第1のビデオセグメントの継続時間に基づいて、サーバシステム110は、第1のビデオセグメントを一セットのビデオセグメントに加える。例えば、音楽トラックの拍時間の整数倍である継続時間を有するビデオシーケンスの1つまたは複数のビデオセグメントが特定され、音楽トラックに同期させることができる一セットのビデオセグメントに加えられてよい。例示するために、音楽トラックのテンポが120BPMである場合、音楽トラックの拍時間は0.5秒であり、継続時間が0.5秒の整数倍であるビデオセグメントが、ビデオセグメント間の移行が音楽の拍と同期された状態で音楽トラックと同調するように再生させることができるものとして特定される。
【0028】
一部の一例の実施形態では、拍時間の整数倍の所定の数のフレーム内にあるビデオセグメントが拍と位置合わせされるように調整され、工程530において一セットのビデオセグメントに加えられる。例えばビデオのフレームレートが毎秒30フレームであり、拍時間が0.5秒、すなわち15フレームである場合、46のフレーム長であるビデオセグメントは、位置合わせするには長すぎる唯一のフレームである。ビデオセグメントの最初のまたは最後のフレームを取り除くことによって、工程540において使用され得る位置合わせされたビデオセグメントが生成される。同様に44のフレーム長であるビデオセグメントは、位置合わせするには短すぎる唯一のフレームである。ビデオセグメントの最初のまたは最後のフレームを繰り返すことによって、位置合わせされたビデオセグメントが生成される。
【0029】
サーバシステム110は、工程540において、一セットのビデオセグメントと、音声トラックとを有する音声/ビデオシーケンスを生成する。例えば図4の音声/ビデオシーケンスは、ビデオセグメント430A~430C間における移行が音声トラック410の拍と位置合わせされた状態で音声トラック410が再生される間に再生させることができる3つのビデオセグメント430A~430Cを含む。生成された音声/ビデオシーケンスは、後のアクセスのためにビデオデータベース120に保管されてよい、ユーザに対して再生するためにクライアントデバイス150または160に伝送されてよい、またはその両方の場合もある。
【0030】
一部の一例の実施形態では、音声トラックの1つまたは複数の部分が、音声トラック全体の代わりに使用される。例えば、音声トラックは、コーラスと、いくつかの詩に分けられてよい。音声/ビデオシーケンスは、コーラス、詩のサブセットまたはそれらの任意の好適な組み合わせを利用して準備されてもよい。一部分の選択は、音声/ビデオシーケンスの所望される長さに基づいてよい。例えば3分間の歌を使用して、その歌の1分間の部分を選択することによって1分間の音声/ビデオシーケンスを生成することができる。選択された1分間は、歌の最初の1分間、歌の最後の1分間、最初のコーラスの最初における冒頭の1分間、コーラスの1つまたは複数の繰り返し、コーラスなしの1つまたは複数の詩、あるいは詩とコーラスの別の組み合わせであってよい。
【0031】
一部の一例の実施形態では、複数の音声トラックが、単一の音声トラックの代わりに使用される。例えば、ユーザは、パンク音楽を含む5分間のビデオをリクエストする場合がある。パンクジャンルの複数の歌が音声データテーブル240からアクセスされてよく、その各々は5分の長さより短い。2つ以上の長さの足りないパンクトラックが連結されて5分間の音声トラックを生成してよい。連結されるべきトラックは、一致するテンポに基づいて選択されてもよい。例えば120BPMの1つの歌と116BPMの別の歌の代わりに、120BPMの2つの歌が選択されてもよい。あるいは、1つまたは複数の歌のテンポは、一致するように調節される場合もある。例えば120BPMの歌は、118BPMまで速度が下げられてよく、116BPMの歌は、118BPMまで速度が上げられる場合もある。これらの方法のいずれも、音声/ビデオシーケンスのテンポが途中で変化する可能性を回避する。
【0032】
図6は、音声を伴うビデオ提示を生成するための、一部の一例の実施形態におけるプロセス600を示すフローチャートである。限定ではなく一例として、プロセス600の工程は、データベースの図解200を用いて、図1のシステム及びデバイスによって行われるように記載されている。
【0033】
工程610において、サーバシステム110は、特定のテンポを有する音楽トラックにアクセスする。例えば、音楽トラック260Aが、音声データテーブル240からアクセスされてよい。
【0034】
サーバシステム110は、工程620において、複数のビデオセグメントを有するビデオトラックにアクセスする。例えば列230Aのビデオシーケンスは、セグメント化されたビデオデータ320に示されるようなビデオセグメントを有し、ビデオデータテーブル210からアクセスされてよい。
【0035】
工程630において、音楽トラックのテンポと、複数のビデオセグメントのうちの特定のビデオセグメントの継続時間に基づいて、サーバシステム110は、そのビデオセグメントを一セットのビデオセグメントに加える。例えば、音楽トラックの拍時間の整数倍である継続時間を有するビデオシーケンスのビデオセグメントが特定され、音楽トラックに同期させることができる一セットのビデオセグメントに加えられてよい。
【0036】
サーバシステム110は、工程640において一セットのビデオセグメントの総継続時間が音楽トラックの継続時間に等しいかどうか、またはそれを超えるかどうか判定する。例えば音楽トラックが1分の長さであり、1つのビデオセグメントのみが一セットのビデオセグメントに加えられており、そのビデオセグメントが30秒の長さである場合、工程640は、30秒の総継続時間は、音楽トラックの継続時間より短いと判定するであろう。総継続時間が音楽トラックの継続時間と等しくない、またはそれを超えない場合、プロセス600は工程620~640を繰り返し、別のビデオセグメントを一セットのビデオセグメントに加え、継続時間のチェックを繰り返す。一セットのビデオセグメントの総継続時間が、音楽トラックの継続時間と一致する、またはそれを超える場合、プロセス600は、工程650を継続する。
【0037】
代替の実施形態では、工程640の比較は、音楽トラックの継続時間との比較ではなく、別の継続時間との比較である。例えば、ユーザは、音声/ビデオシーケンスに関して特定の継続時間を選択してもよい。継続時間が音楽トラックの継続時間より短い場合があり、その場合、その音楽トラックは、選択された継続時間になるように切り詰められてよい。ユーザが選択した継続時間が音楽トラックの継続時間より長い場合もあり、そのようなケースでは、音楽トラックは、選択された継続時間に達するように繰り返されてよい、または同じテンポの追加の音楽トラックが音声データテーブル240から検索され、最初の音楽トラックに追加されてもよい。
【0038】
工程650において、サーバシステム110は、一セットの音楽セグメントと、ビデオトラックとを有する音声/ビデオシーケンスを生成する。例えば図4の音声/ビデオシーケンスは、ビデオセグメント430A~430C間における移行が音声トラック410の拍と位置合わせされた状態で音声トラック410が再生される間に再生させることができる3つのビデオセグメント430A~430Cを含む。生成された音声/ビデオシーケンスは、後のアクセスのためにビデオデータベース120に保管されてよい、ユーザに対して再生するためにクライアントデバイス150または160に伝送されてよい、またはその両方の場合もある。一部の一例の実施形態では、一セットのビデオセグメントの総継続時間が音楽トラックの継続時間を超える場合、継続時間を合わせるために1つのビデオセグメント(例えば最後のビデオセグメント)が切り詰められる。
【0039】
図7は、音声を伴うビデオ提示を生成するための、一部の一例の実施形態におけるプロセス700を示すフローチャートである。限定ではなく一例として、プロセス700の工程は、データベースの図解200を用いて、図1のシステム及びデバイスによって行われるように記載されている。
【0040】
工程710において、サーバシステム110は、ビデオシーケンスにアクセスする。例えば、サーバシステム110は、クライアントデバイス160のブラウザインターフェース180においてレンダリングされたウェブページを提供してよい。このウェブページを利用して、ユーザは、音声/ビデオ提示のために使用されるべき所望のビデオシーケンスを特定するために1つまたは複数のキーワードを入力する。この例では、サーバシステム110は、ユーザが提供したキーワードと列230Aに格納されたキーワードとの一致に基づいて、ビデオデータテーブル210から列230Aのビデオシーケンスにアクセスする。
【0041】
サーバシステム110は、工程720においてビデオシーケンスの一連のフレームにおける差に基づいてビデオシーケンスの中のビデオセグメントを特定する。例えば、一連のフレームの各対に関して距離の長さが計算されてよい。距離の長さが閾値を超えた場合、一連のフレームのその対は、別々のセグメントの中にあると判定されてよい。一例の距離の長さは、2つのフレームにおける対応するピクセルの色の値の差の絶対値の合計である。よって2つの全く同じフレームは、ゼロの距離の長さを有するであろう。
【0042】
工程730において、複数の特定されたビデオセグメントがプロセス500またはプロセス600で(例えば工程520または工程620において)使用されて、特定されたビデオセグメントのうちの1つまたは複数と、音楽トラックとを有する音声/ビデオシーケンスを生成する。
【0043】
図8は、音声を伴うビデオ提示を生成するための、一部の一例の実施形態におけるユーザインターフェース800を示すブロック図である。ユーザインターフェース800は、スポーツイベントセレクタ810、ビデオスタイルセレクタ820及びビデオ再生エリア830を含む。ユーザインターフェース800は、アプリケーションインターフェース170またはブラウザインターフェース180によってユーザに提示されてよい。
【0044】
ユーザは、スポーツイベントセレクタ810を操作して特定のスポーツを選択してよい。例えば、ユーザが一セットの事前に決められたオプション(例えばフットボール、ホッケーまたはバスケットボール)から選択することを可能にするドロップダウンメニューが提示されてよい。同様にユーザは、ビデオスタイルセレクタ820を操作して特定のビデオスタイルを選択することもできる。ビデオスタイルは、音楽のジャンルに対応してよい。
【0045】
選択されたスポーツ及びビデオスタイルの受信に応答して、クライアントデバイス150または160は、サーバシステム110にこの選択を送信してよい。この選択に基づいて、サーバシステム110は、音声データベース130及びビデオデータベース120から、プロセス500、600及び700のうちの1つまたは複数を実行する際に使用すべき音声及びビデオデータを特定する。音声を伴うビデオ提示を生成した後(例えばプロセス500または600を介して)、サーバシステム110は、ビデオ再生エリア830において表示するために、生成されたビデオ提示をクライアントデバイス150または160にネットワーク140を介して送信してよい。クライアントデバイス150または160は、受け取ったビデオ提示をユーザのためにビデオ再生エリア830において再生させる。
【0046】
種々の一例の実施形態によると、本明細書に記載される方法論のうちの1つまたは複数は、音声を伴うビデオ提示を生成するのを容易にすることができる。したがって本明細書に記載される方法論のうちの1つまたは複数は、そうでなければ音声を伴うビデオ提示の生成に伴うであろう特定の労力またはリソースの必要性を不要にし得る。本明細書に記載される方法論のうちの1つまたは複数を利用することによって、1つまたは複数のマシン、データベースまたはデバイス(例えばネットワーク環境100内の)によって使用されるコンピューティングリソースが削減されてよい。そのようなコンピューティングリソースの例には、プロセッササイクル、ネットワークトラフィック、メモリ使用量、データ記憶能力、電力消費及び冷却能力が含まれる。
【0047】
図9は、マシン読み取り可能な媒体(例えばマシン読み取り可能な記憶媒体、コンピュータ可読記憶媒体、またはそれらの任意の好適な組み合わせ)から命令を読み取り、本明細書で考察される方法論のうちの任意の1つまたは複数を、全体として、または部分的に実行することが可能な、一部の一例の実施形態によるマシン900の構成要素を示すブロック図である。具体的には、図9は、コンピュータシステムの一例の形態でマシン900の概略的な表現を示しており、その中では、本明細書で考察される方法論のうちの任意の1つまたは複数をマシン900に実行させる命令924(例えばソフトウェア、プログラム、アプリケーション、アプレット、アプリまたは他の実行可能コード)が、全体として、または部分的に実行されてよい。代替の実施形態では、マシン900は、スタンドアロンデバイスとして動作する、または他のマシンに接続される(例えばネットワーク接続される)場合もある。ネットワーク接続された配置では、マシン900は、サーバとクライアントのネットワーク環境においてサーバマシンまたはクライアントマシンという立場で動作してよい、または分散(例えばピアツーピア)ネットワーク環境におけるピアーマシンとして動作する場合もある。マシン900は、サーバコンピュータ、クライアントコンピュータ、PC、タブレットコンピュータ、ラップトップコンピュータ、ネットブック、セットトップボックス(STB)、スマートTV、パーソナルデジタルアシスタント(PDA)、携帯電話、スマートフォン、ウェブアプライアンス、ネットワークルータ、ネットワークスイッチ、ネットワークブリッジ、またはそのマシンが取るべき行動を指定する命令924を、順を追って、またはそれ以外の方法で実行することが可能な任意のマシンであってよい。さらに、単一のマシンのみが例示されるが、用語「マシン」はまた、本明細書で考察される方法論のうちの任意の1つまたは複数の全てあるいは一部を実行するために、個々でまたは共同して命令924を実行するマシンの集まりを含めるように利用されるべきである。
【0048】
マシン900は、プロセッサ902(例えば中央処理装置(CPU)、グラフィックス処理装置(GPU)、デジタル信号プロセッサ(DSP)、ASIC、無線周波数集積回路(RFIC)またはそれらの任意の組み合わせ)、メインメモリ904及びスタティックメモリ906を含んでおり、これらはバス908を介して互いに通信するように構成される。マシン900は、グラフィックスディスプレイ910(例えばプラズマディスプレイパネル(PDP)、LEDディスプレイ、LCD、プロジェクタまたはCRT)をさらに含んでもよい。マシン900はまた、英数字の入力デバイス912(例えばキーボード)、カーソルコントロールデバイス914(例えばマウス、タッチパッド、トラックボール、ジョイスティック、モーションセンサまたは他のポインティング機器)、ストレージユニット916、1つまたは複数のGPU918及びネットワークインターフェースデバイス920を含んでもよい。
【0049】
ストレージユニット916は、本明細書に記載される方法論または機能のうちの任意の1つまたは複数を具現化する命令924が格納されるマシン読み取り可能な媒体922を含む。命令924はまた、マシン900によるその実行中に、メインメモリ904内、プロセッサ902内(例えばプロセッサのキャッシュメモリ内)またはその両方に完全に、少なくとも一部が存在する場合もある。したがってメインメモリ904及びプロセッサ902は、マシン読み取り可能な媒体とみなされてよい。命令924は、ネットワークインターフェースデバイス920を介してネットワーク926(例えば図1のネットワーク140)上で送受信されてよい。
【0050】
本明細書で使用される際、用語「メモリ」は、一時的に、または永久にデータを格納することが可能なマシン読み取り可能な媒体を指し、限定するものではないがランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、バッファメモリ、フラッシュメモリ及びキャッシュメモリを含むように利用されてよい。マシン読み取り可能な媒体922は単一の媒体であるように一例の実施形態には示されているが、用語「マシン読み取り可能な媒体」は、命令を格納することが可能な単一の媒体または複数の媒体(例えば集中型または分散型データベース、あるいは関連付けられたキャッシュ及びサーバ)を含むように利用されるべきである。用語「マシン読み取り可能な媒体」はまた、マシンの1つまたは複数のプロセッサ(例えばプロセッサ902)によって実行される際、命令が本明細書に記載される方法論のうちの任意の1つまたは複数をマシンに実行させるように、マシン(例えばマシン900)による実行のために命令を格納することが可能な任意の媒体、または複数の媒体の組み合わせを含むように利用されるべきである。したがって「マシン読み取り可能な媒体」は、単一の記憶装置またはデバイス、ならびに複数の記憶装置またはデバイスを含む「クラウドベースの」ストレージシステムまたはストレージネットワークを指す。用語「マシン読み取り可能な媒体」はしたがって、限定するものではないがソリッドステートメモリ、光媒体、磁気媒体またはそれらの任意の好適な組み合わせの形態で1つまたは複数のデータの保管場所を含むように利用されるべきである。用語「非一時的マシン読み取り可能な媒体」は、マシン読み取り可能な媒体を指しており、信号自体は排除する。
【0051】
本明細書の全体にわたって、複数の例が、単数の例として記載される構成要素、動作または構造を実施する場合がある。1つまたは複数の方法の個々の動作が別個の動作として図示され、記載されているが、個々の動作のうちの1つまたは複数が一斉に実施される場合もあり、その動作が、図示される順番に実施されることを命じるものは何もない。一例の構成において別個の構成要素として提示される構造及び機能性は、組み合わされた構造または構成要素として実施される場合もある。同様に、単一の構成要素として提示される構造及び機能性は、別個の構成要素として実施される場合もある。これらの、及び他の変形形態、修正形態、追加及び改良は、本明細書の主題の範囲内にある。
【0052】
特定の実施形態が、論理、またはいくつかの構成要素、モジュールまたは機構を含むものとして本明細書に記載されている。モジュールは、ハードウェアモジュールを構成してよい。「ハードウェアモジュール」は、特定の動作を実行することが可能な有形のユニットであり、特定の物理的手法で構成され得る、または配置されてよい。種々の一例の実施形態では、1つまたは複数のコンピュータシステム(例えば、スダンドアローンコンピュータシステム、クライアントコンピュータシステムまたはサーバコンピュータシステム)あるいはコンピュータシステムの1つまたは複数のハードウェアモジュール(例えば、プロセッサまたは1群のプロセッサ)は、本明細書に記載されるような特定の動作を実行するように動作するハードウェアモジュールとしてソフトウェア(例えば、アプリケーションまたはアプリケーションの一部)によって構成されてよい。
【0053】
一部の実施形態では、ハードウェアモジュールは、機械的に、電子的に、またはそれらの任意の好適な組み合わせで実装されてよい。例えば、ハードウェアモジュールは、特定の動作を実行するように永久に構成される専用回路または論理を含んでよい。例えばハードウェアモジュールは、FPGAまたはASICなどの特殊用途のプロセッサであってよい。ハードウェアモジュールはまた、特定の動作を実行するようにソフトウェアによって一時的に構成されるプログラマブル論理または回路を含む場合もある。例えばハードウェアモジュールは、汎用プロセッサまたは他のプログラマブルプロセッサの中に包含されるソフトウェアを含んでもよい。ハードウェアモジュールを機械的に、専用の永久に構成された回路の中に、または一時的に構成された回路の中に(例えば、ソフトウェアによって構成された)実装する決定は、費用及び時間の問題によって余儀なくされる場合があることを理解されたい。
【0054】
したがって、「ハードウェアモジュール」という表現は、有形の要素を包含するように理解されるべきであり、すなわち特定の手法で動作するように、または本明細書に記載される特定の動作を実行するように物理的に構築された、永久に構成された(例えば、配線接続された)、または一時的に構成された(例えば、プログラムされた)要素であるべきである。本明細書で使用される際、「ハードウェア実装モジュール」は、ハードウェアモジュールを指している。ハードウェアモジュールが一時的に構成される(例えば、プログラムされる)実施形態を考慮すると、ハードウェアモジュールの各々は、任意の一つのインスタンスにおいて時間を合わせて構成されたり、インスタンス化されたりする必要はない。例えば、ハードウェアモジュールが、特殊目的のプロセッサになるようにソフトウェアによって構成された汎用プロセッサを有する場合、この汎用プロセッサは、異なる時間におけるそれぞれ異なる特殊目的のプロセッサ(例えば異なるハードウェアモジュールを含む)として構成されてよい。ソフトウェアはしたがって、例えば、あるインスタンスの時間では特定のハードウェアモジュールを構成するように、また異なるインスタンスの時間では異なるハードウェアモジュールを構成するようにプロセッサを構成することができる。
【0055】
ハードウェアモジュールは、他のハードウェアモジュールに情報を提供する、及び他のハードウェアから情報を受け取ることができる。したがって、記載されるハードウェアモジュールは、通信可能に結合されているものとみなされてよい。複数のハードウェアが同時に存在する場合、通信は、ハードウェアモジュールのうちの2つの間での、またはその2つ以上の間での信号伝送(例えば、適当な回路及びバス上での)を通して達成されてよい。複数のハードウェアモジュールが異なる時間に構成される、またはインスタンス化される実施形態において、そのようなハードウェアモジュール間の通信は、例えば、複数のハードウェアモジュールがアクセス権を有するメモリ構造内での情報の格納及び取り出し検索を通して達成されてよい。例えば、1つのハードウェアモジュールが特定の動作を実行し、その動作の出力を、通信可能に結合されたメモリデバイスに格納してもよい。別のハードウェアモジュールが次に、その後になって、このメモリデバイスにアクセスして格納された出力を取り出し処理してよい。ハードウェアモジュールはまた、入力または出力デバイスとの通信を開始してもよく、特定のリソース(例えば、情報のまとまり)上で動作することもできる。
【0056】
本明細書に記載される一例の方法の種々の動作は、関連する動作を実行するように一時的に構成された(例えば、ソフトウェアによって)または永久に構成された1つまたは複数のプロセッサによって少なくとも部分的に実行されてよい。一時的に構成されていようと永久に構成されていようと、そのようなプロセッサは、本明細書に記載される1つまたは複数の動作または機能を実行するように動作するプロセッサ実装モジュールを構成してよい。本明細書で使用される際、「プロセッサ実装モジュール」は、1つまたは複数のプロセッサを利用して履行されるハードウェアモジュールを指す。
【0057】
同様に、本明細書に記載される方法は、少なくとも一部がプロセッサに履行されてよく、プロセッサは、一例のハードウェアである。例えば、方法の動作のうちの少なくともいくつかは、1つまたは複数のプロセッサまたはプロセッサ実装モジュールによって実行されてよい。さらに、1つまたは複数のプロセッサはまた、「クラウドコンピューティング」環境において関連する動作の実行をサポートするように動作する場合もあり、または「サービス型ソフトウェア」(SaaS)として動作する場合もある。例えば、動作のうちの少なくともいくつかは、1群のコンピュータ(プロセッサを含むマシンの例として)によって実行されてよく、これらの動作はネットワーク(例えば、インターネット)を介して、及び1つまたは複数の適当なインターフェース(例えば、アプリケーションプログラムインターフェース(API))を介してアクセス可能である。
【0058】
動作のうちの特定のものの実行は、単一のマシン内に存在するだけでなく、いくつかのマシンにわたって展開された1つまたは複数のプロセッサ間で分散される場合もある。一部の一例の実施形態では、1つまたは複数のプロセッサまたはプロセッサ実装モジュールは、単一の地理的な場所(例えば、家庭環境内、職場環境内またはサーバファーム内)に配置されてよい。他の一例の実施形態では、1つまたは複数のプロセッサまたはプロセッサ実装モジュールは、いくつかの地理的な場所にわたって分散される場合もある。
【0059】
本明細書で考察される主題のいくつかの部分は、マシンメモリ(例えば、コンピュータメモリ)内にビットまたは2値デジタル信号として格納されるデータに対する演算のアルゴリズムまたは記号的表現の観点で提示されてよい。そのようなアルゴリズムまたは記号的表現は、当業者の作業の内容を他の当業者に伝えるためにデータ処理技術における当業者によって使用される技法の例である。本明細書で用いられる場合、「アルゴリズム」は、所望の結果を導く演算または同様の処理の自己矛盾のないシーケンスである。この文脈において、アルゴリズム及び演算は、物理的分量の物理的操作を伴う。典型的には、但し必ずしもそうではないが、そのような分量は、マシンによって格納される、アクセスされる、送信される、結合される、比較される、またはその他の方法で操作され得る電気信号、磁気信号または光信号の形を採る場合がある。主に一般的な使用上の理由で、そのような信号を「データ」、「コンテンツ」、「ビット」、「値」、「要素」、「記号」、「文字」、「用語」、「番号」、「数字」などの語句を用いて称することが時として好都合である。しかしながら、これらの語句は、単に都合のいい標識であり、適当な物理的分量に関連付けられるべきである。
【0060】
具体的にそうでないことが表明されない限り、「処理する」、「演算する」、「計算する」、「決定する」、「提示する」、「表示する」などの語句を用いた本明細書における考察は、1つまたは複数のメモリ内(例えば、揮発性メモリ、不揮発性メモリまたはそれらの任意の好適な組み合わせ)、レジスタ内、あるいは情報を受け取る、格納する、送信する、または表示する他のマシン構成要素の内で物理的(例えば、電子的、磁気的または光学的)な分量として表されるデータを操作する、または変換するマシン(例えば、コンピュータ)の行為または処理を指してよい。さらに、そうでないことが具体的に表明されない限り、用語「a」または「an」は、特許文書で一般的であるように、1つまたは2つ以上の事例を含むように本明細書では使用される。最後に、本明細書で使用される際、接続語「or(または)」は、そうでないことが具体的に表明されない限り、非排他的な「or」を指している。
図1
図2
図3
図4
図5
図6
図7
図8
図9