キャプチャされたデータを強化することについて、本明細書で説明する。キャプチャデータは、取得され、様々なタイプの記録済みデータ(例えば画像データ、オーディオデータ、ビデオデータ等)及び/又はキャプチャデバイスの様々な態様を記述するメタデータ及び/又はそのデータが記録された様式を含むことができる。1つ又は複数の代替要素によって置換することが可能な記録済みデータの1つ又は複数の要素が決定される。置換可能な要素は、記録済みデータから取り除かれ、代替要素へのリンクがキャプチャデータに関連付けられる。キャプチャデータを強化する追加の要素へのリンクも、キャプチャデータに関連付けられる。強化されたコンテンツはその後、記録済みのデータ並びに代替要素及び追加の要素へのリンクに基づいて、構築され得る。
図1は、1つ又は複数の実施形態に従って、キャプチャされたデータの強化を実装する例示のシステム100を示す。システム100は、データをキャプチャして1つ又は複数の再生デバイス104に提供する、1つ又は複数のキャプチャデバイス102を含む。再生デバイス104は、クラウドソーシング(crowd sourcing)データサービス106とネットワーク108を介して通信する。ネットワーク108は、インターネット、ローカルエリアネットワーク(LAN)、公衆電話網、イントラネット、他の公衆及び/又は専用のネットワーク、これらの組合せ等を含め、様々な異なるネットワークとすることができる。1つ又は複数のキャプチャデバイス102は、オプションで、クラウドソーシング・データサービス106及び/又は1つ若しくは複数の再生デバイス104とネットワーク108を介して通信することもできる。別個のデバイスとして図示されているが、特定のデバイスがキャプチャデバイス102と再生デバイス104の双方である可能性があることに留意されたい。
キャプチャデバイス102は、特定の環境に関するデータをキャプチャするが、この環境は、キャプチャデータに関連付けられる環境とも呼ばれる。キャプチャされるデータに関する環境又はデータがキャプチャされる環境とは、データがキャプチャされるときのキャプチャデバイス102の周囲を指す。環境は、例えば建物の中、外、コンサート会場、スポーツイベントの場、パーティ会場等であり得る。各キャプチャデバイス102は、環境に関するデータをキャプチャすることが可能な様々な異なるタイプのデバイスのいずれかとすることができ、これにはカメラ又はビデオカメラ、タブレット又はノートパッドコンピュータ、携帯電話又は他のワイヤレス電話、ゲームコンソール、自動車用のコンピュータ、(データをキャプチャする以外のいずれか追加の機能性をほとんど提供しない)専用のデータキャプチャデバイス等がある。キャプチャデバイス102のそれぞれ異なる1つは、同じタイプのデバイスであってもよく、異なるタイプのデバイスであってもよい。
データをキャプチャすることは、環境に関するデータ及び/又はメタデータを記録することを指す。環境に関するデータを記録することは、環境自体の特性を記録又は感知することを指す。静止画データ、ビデオデータ、オーディオデータ及びこれらの組合せ等のように、環境に関する様々なタイプのデータのいずれか1つ又は複数を記録することができる。例えばキャプチャデバイス102は、特定の環境の静止画(例えば写真)及びその特定の環境で感知されたオーディオを記録すること等ができる。
環境に関するメタデータを記録することは、キャプチャデバイス102の様々な態様、データがキャプチャされる手法及び/又は環境の他の態様を記述するメタデータを記録することを指す。このメタデータは、環境に関するデータが記録される時の(例えばキャプチャデバイスのコンパス又は他の方向付けコンポーネントによって決定されるような)キャプチャデバイスの視点又は方向を含むことができる。このメタデータは、環境に関するデータが記録される時のキャプチャデバイスの地理的位置も(従って環境も)含むことができ、これは、例えばグローバルナビゲーション衛星システム(GNSS)又はキャプチャデバイスの他の位置決定コンポーネントによって決定される地理的位置等である。このメタデータは、環境に関するデータが記録された日付及び/又は時間も含むことができる。デバイス102によって環境に関するデータがキャプチャされるのと同時に(又はデバイス102によって環境に関するデータが記録されてから閾値時間内に)、キャプチャデバイス102がメタデータを記録するという状況では、そのメタデータは、記録されたデータに関連付けられているとも呼ばれることもある。
1つ又は複数の実施形態において、キャプチャデバイスの地理的位置を記録することは、そのようにすることに対するユーザの同意(user consent)を受信した後にのみ行われる。このユーザの同意は、オプトインの同意(opt-in consent)とすることができ、オプトインの同意では、ユーザは、地理的位置を記録するという要求に対して肯定のアクションを取る。あるいは、このユーザの同意は、オプトアウトの同意(opt-out consent)とすることもでき、オプトアウトの同意では、ユーザは、地理的位置が記録されないという要求に対して肯定のアクションを取る。ユーザが地理的位置の記録のオプトアウトを選択しない場合、これは、地理的位置が記録されることに対するユーザの暗黙的な同意である。記録された地理的位置がどのように機密にされるかをユーザに説明するプライバシ規約も、ユーザに表示することができる。さらに、デバイスの地理的位置の記録が必要でない場合、典型的には、特定のユーザを識別するいかなる個人情報も含まないことに留意されたい。したがって、特定のユーザについて地理的位置を記録することがあるが、その特定のユーザを指示するものは記録されない。
1つ又は複数の実施形態において、キャプチャデバイス102は、キャプチャデバイスの様々な態様、データがキャプチャされる手法及び/又は環境の他の態様を記述するメタデータを記録するが、環境に関する他のデータはキャプチャ又は記録しない。例えばキャプチャデバイス102は、キャプチャデバイスの視点又は方向並びにキャプチャデバイスの地理的位置(及びオプションでメタデータが記録された日付及び/又は時間)を記録するが、静止画、ビデオ及び/又は環境のオーディオは全く記録しない。したがって、キャプチャデバイス102は、単にキャプチャデバイスの位置(オプションで更に視点又は方向、日付及び/又は時間等)のみを記録することができ、これを、下述されるキャプチャデータを強化する技術に使用することができる。
再生デバイス104は、本明細書で説明される技術を使用して強化されるキャプチャデータを再生するデバイスである。キャプチャされたデータは、該キャプチャされたデータの要素又は一部を、代替要素又は部分へのリンクと置換することによって強化され得る。キャプチャされたデータは、1つ又は複数の追加の要素へのリンクを追加することによっても強化され得る。要素又は一部分を代替要素又は部分で置換すること、及び/又は1つ若しくは複数の追加の要素へのリンクを追加することは、キャプチャデータに基づいて、強化されたコンテンツを構築することを可能にし、又は許容する。キャプチャデータを強化するためのこれらの技術は、以下の追加の詳細において検討される。
各再生デバイス104は、様々な異なるタイプのデバイスとすることができ、例えばデスクトップコンピュータ、サーバコンピュータ、ラップトップ又はネットブックコンピュータ、タブレット又はノートパッドコンピュータ、モバイルステーション、エンターテイメント機器、ディスプレイデバイスに通信可能に結合されるセットトップボックス、テレビジョン又は他のディスプレイデバイス、携帯電話又は他のワイヤレス電話、ゲームコンソール、自動車用コンピュータ等である。したがって、再生デバイス104は、十分なメモリ及びプロセッサリソースを有するフルリソースデバイス(例えばパーソナルコンピュータ、ゲームコンソール)から、限られたメモリ及び/又は処理リソースを有する低リソースデバイス(例えば従来のセットトップボックス、テレビジョン)までに及ぶことができる。様々な再生デバイス104は同じ及び/又は異なるタイプのデバイスとすることができる。
キャプチャデバイス102は、キャプチャされたデータ及び記録されたメタデータを1つ又は複数の再生デバイス104に提供する。あるいは、キャプチャされたデータをキャプチャデバイス上で再生することができ、この場合、キャプチャデバイス102は再生デバイス104でもある。キャプチャデバイス102は、キャプチャされたデータ及び記録されたメタデータを再生デバイスへ、例えばネットワーク108経由、別のリンク又は接続(例えばユニバーサルシリアルバス(USB)又は無線USB接続のような有線又は無線接続)経由、取外し可能メモリ媒体(例えばキャプチャデバイス102から取り外されて再生デバイス104に挿入されるフラッシュメモリデバイス)又は他の記憶デバイス等を介するような、様々な手法で提供する。
クラウドソーシング・データサービス106は、キャプチャデータを強化するのに使用されるデータを維持する。1つ又は複数の実施形態において、キャプチャデバイス102によってキャプチャされるデータは、クラウドソーシング・データサービス106に提供される。あるいはまた、キャプチャデータを強化するのに使用されるデータを、他のソースからサービス106に提供することができる。例えばデータコレクション又はライブラリを、様々なソースからサービス106に提供することができる。サービス106は、単一のソースからのデータではなく、サービス106が複数のソースから受信したデータに依拠してキャプチャデータを強化することに起因して、クラウドソーシング・サービスと呼ばれる。
クラウドソーシング・サービス106は、様々な異なるタイプのデバイスの1つ又は複数を使用して実装される。例えばサービス106は、再生デバイス104に関して上述したような様々なタイプのデバイスのいずれかを使用して実装され得る。サービス106は、同じ及び/又は異なるタイプのデバイスの1つ又は複数を使用して実装され得る。
図2は、1つ又は複数の実施形態に係るデータ強化システム200を示す図である。システム200は、環境キャプチャモジュール202、リンク挿入モジュール204、クラウドソースデータ(crowd sourced data)モジュール206及び再生モジュール208を含む。図2には具体的なモジュールが図示されているが、追加のモジュールをデータ強化システム200に含めることができることに留意されたい。加えて、データ強化システム200に図示されている複数のモジュールの機能性を、単一のモジュールに組み合わせることができ、及び/又はデータ強化システム200内に図示されている1つ若しくは複数のモジュールの機能性を、複数のモジュールへと分けることができる。
モジュール202〜208を1つ又は複数のデバイスによって実装することができる。1つ又は複数の実施形態において、モジュール202〜208はそれぞれ、異なるデバイスによって実装される。あるいは、モジュール202〜208の2つ又はそれ以上を、少なくとも部分的に同じデバイスにおいて実装することができる。
環境キャプチャモジュール202は、図1のキャプチャデバイス102のようなキャプチャデバイスに含まれ、環境に関するデータをキャプチャする。キャプチャされたデータ212は、上述のように、キャプチャすることができる環境に関する様々なタイプのデータ及び/又はメタデータとすることができ、リンク挿入モジュール204へ提供される。リンク挿入モジュール204を、環境キャプチャモジュール202と同じデバイスに含めることができ、あるいは異なるデバイスに含めてもよい。キャプチャモジュール202は、様々な手法でキャプチャデータ212をリンク挿入モジュール204へ提供することができ、これには、例えばキャプチャデータ212を、モジュール204のインタフェースを起動するときのパラメータとして含めること、キャプチャデータ212をモジュール204に対してアクセス可能な位置に格納すること、電子メール又は他のメッセージングプロトコルを使用してキャプチャデータ212をモジュール204に通信すること等の手法がある。
リンク挿入モジュール204は、データストア210に格納された他のデータからの要素によって置換することができるキャプチャデータ212の要素を識別する。モジュール204が識別するキャプチャデータ212の要素を、他のデータからの要素(又は置換可能な要素とも呼ばれる)によって置換することができるように、リンク挿入モジュール204は、キャプチャデータ212から、置換することができる要素を取り除き、識別された要素を置換している代替要素へのリンクを(キャプチャデータ212に関連付けられるように)追加する。異なるタイプの要素を、キャプチャされるデータのタイプに基づいて識別することができ、例えばキャプチャデータ212が写真又は画像データを含む場合は写真要素であると識別され、キャプチャデータがオーディオデータ等を含む場合はオーディオ要素であると識別される等である。
データストア210は、キャプチャされたデータを強化するのに使用されるデータを保持し、図1のクラウドソーシング・データサービス106によって実装され得る。データストア210に含まれるデータを、図1の様々なキャプチャデバイス102、他のデータコレクション又はライブラリ等のような様々なソースから取得することができる。
リンク挿入モジュール204は、他のデータからの要素によって置換され得るキャプチャデータ212の要素を、データストア210内のデータと同じ又は類似するキャプチャデータの要素(部分とも呼ばれる)を識別することによって決定する。これらの要素を、パターンマッチング及び/又はオブジェクトマッチングを実行するための様々な異なる公に利用可能な及び/又は独自の技術のいずれかを使用して識別することができる。キャプチャデータ212内のオブジェクト又はパターンは、そのような技術を使用して識別され、データストア210内の、同じ又は同様のオブジェクト又はパターンを含む他のデータが識別される。例えばキャプチャされたデータが写真である場合、その写真の中の建物又はランドマークがモジュール204によって識別され、同じ建物又はランドマークを含むデータストア210内の1つ又は複数の他の写真も識別される。
パターンマッチング及び/又はオブジェクトマッチングは、キャプチャされたデータ212に含まれる記録されたデータからの様々なファクタを考慮することができ、このようなファクタは、例えば、画像内の線又は頂点の位置、画像内の色、オーディオにおけるサウンドのパターン等がある。パターンマッチング/オブジェクトマッチングは、キャプチャされたデータ212に含まれるメタデータからの様々なファクタを考慮することもできる。例えばメタデータからのこれらのファクタには、データをキャプチャしたデバイスの地理的位置、デバイスがデータをキャプチャした時のデバイスの視点又は方向、データをキャプチャした日付及び/又は時間等が含まれ得る。
リンク挿入モジュール204が識別する、キャプチャされたデータ212の要素を、他のデータからの要素によって置換することができるように、リンク挿入モジュール204は、キャプチャされたデータ212から、置換することが可能な識別された要素を取り除く。この置換可能な要素を、異なる手法により、キャプチャされたデータ212から取り除くことができる。1つ又は複数の実施形態において、識別された要素についてのデータを、(典型的には高圧縮率で圧縮することができる)何らかの他のデータ、例えば一連の全て“0”ビットの値又は全て“1”ビットの値で置換される。例えば写真(キャプチャされたデータ212)のある要素が取り除かれると、その写真のデータでは、その要素に含まれるピクセルについてのデータを“0”又は“1”の値で置換することができる。他の実施形態において、取り除かれた要素及びデータ内の対応する位置を識別するテーブル又は他のレコードを保持することができ、識別された要素のデータは、単に削除される。例えば写真(キャプチャされたデータ212)の要素が取り除かれる場合、写真内のどのピクセルがその要素に対応するかを識別するテーブル又は他のレコードを保持することができ、写真のデータにおいて、その要素に対応するピクセルについてのデータを単に削除することができる。
リンク挿入モジュール204が除去する、キャプチャされたデータ212の各要素について、リンク挿入モジュール204は、キャプチャされたデータ212に関連付けられるように、識別された要素を置換している代替要素へのリンクを追加する。代替要素へのリンクは、代替要素が格納されている場所及び/又は代替要素を取り出すことができる方法を識別する様々な情報を含み、以下でより詳細に説明されるように、代替要素を後に取り出すことを可能にする。
1つ又は複数の実施形態において、代替要素は、それ自体の個々のデータ(例えばその要素自体のファイル)として格納され、リンクは、その個々のデータがデータストア210内で格納されている場所を指示する。個々のデータが格納されている場所の指示は、ファイルのパス名、ユニフォームリソースインジケータ(URI)、データベース内の位置等のような様々な形式をとることができる。個々のデータを、別のデバイス若しくはサービスにより、リンク挿入モジュール204(例えば代替要素によって置換可能な要素を識別することに応答して、モジュール204がその代替要素を別個のファイルとして保存することができる)による手法等により、異なる手法で生成することができる。
他の実施形態において、代替要素は、他のデータの一部として格納され(例えば他のデータを格納するファイルの一部として含まれ)、リンクは、該他のデータがデータストア210内で格納されている場所と、該他のデータ内の代替要素の場所との双方を指示する。他のデータが格納されている場所の指示は、ファイルのパス名、URI、データベース内の位置等のような異なる形式をとることができる。他のデータ内における代替要素の場所の指示は、特定のデータ範囲、特定のピクセルに関連付けられるデータ等のような、異なる形式をとることができる。
置換可能な要素がキャプチャデータ212内で配置されている場所についての指示も記録される。キャプチャデータ212内における置換可能な要素の場所の指示は、特定のデータ範囲。特定のピクセルに関連付けられるデータ等のような異なる形式をとることができる。置換可能な要素がキャプチャされたデータ212内に配置される場所の指示を保持することにより、以下でより詳細に説明されるように、強化されたコンテンツを生成するときに、代替要素を追加することが可能になる。キャプチャされたデータ212における置換可能な要素の場所の指示を、代替要素へのリンクの一部として格納すること、キャプチャされたデータ212に関連付けられた追加のデータ内に格納すること等のような、異なる手法で格納することができる。
代替要素によって置換可能なキャプチャされたデータ212の要素を識別するのに用いられるパターンマッチング及び/又はオブジェクトマッチング技術は、キャプチャされたデータ212の識別された要素と同様の代替要素を選択することができることに留意されたい。識別された要素と同様の代替要素とは、識別された要素と同一ではないが、識別された要素から閾値未満の差しか有さない要素を指す。この閾値の差分を、異なる手法によって決定することができ、例えば少なくとも同一の閾値部分を有すること(例えば写真内の少なくとも閾値数のピクセルが同じ値であること)、少なくとも識別された要素の閾値内である閾値部分を有すること(例えば写真内の少なくとも閾値数のピクセルが、互いに対して閾値内であること)、体外に対して閾値内の生成されたスコアを有すること等である。
1つ又は複数の実施形態において、置換可能な要素及び代替要素が同一でない状況において、リンク挿入モジュール204は、置換可能な要素と代替要素との間の差を示す変更データも記録する。この変更データを異なる手法により記録することができる。例えばキャプチャされたデータ212が写真の場合、変更データは、置換可能要素と代替要素との間の対応ピクセルの値における差とすることができる。この変更データは、代替要素へのリンクの一部として格納すること、キャプチャされたデータ212に関連付けられる追加のデータに格納すること等のように、様々な異なる手法で格納され得る。
あるいは、置換可能な要素及び代替要素が同一でない状況において、リンク挿入モジュール204は、置換可能な要素と代替要素との間の差に関する変更データを全く記録しない。したがって、リンク挿入モジュール204は、画像の要素を、その要素の他のビュー(例えばランドマーク上の落書きを取り除いたビュー、ランドマークの正面に立っている人々を取り除いたビュー等)で置換することができる。ユーザインタフェースが、オプションにより、リンク挿入モジュール204によって提示されることがあり、これによりモジュール204は、ある要素について複数の可能性のあるビューのうちどのビューが、置換可能な要素の代替要素として使用されることになるかを特定する、ユーザ入力を受信することが可能になる。
リンク挿入モジュール204は、リンクされたデータ214を再生モジュール208に提供する。リンクされたデータ214は、置換可能な要素が取り除かれている、キャプチャされたデータ212である。1つ又は複数の実施形態において、リンクされたデータ214は、置換可能な要素を置換する代替要素への(例えばメタデータに関連付けられるような)リンクを含み、オプションで、キャプチャされたデータ212に関連付けられる他の追加のデータも含む。したがって、そのような実施形態では、リンクされたデータ214は、(取り除かれた要素より少ない)キャプチャされたデータ212だけでなく、代替要素へのリンク(及びオプションでキャプチャされたデータ212に関連付けられる他の追加のデータ)を含む。
あるいは、代替要素へのリンク及び/又はキャプチャされたデータ212に関連付けられる他の追加のデータを、リンクされたデータ214に含めるのではなく、リンクされたデータ214と、リンク及び/又はキャプチャされたデータに関連付けられる他の追加のデータとの間の関連付けを、他の手法により維持することができる。1つ又は複数の実施形態において、リンク及び/又はキャプチャされたデータ212に関連付けられる他の追加のデータが、再生モジュール208に対してアクセス可能なテーブル又は他のレコードに維持される。リンク及び/又はキャプチャされたデータ212に関連付けられる他の追加のデータを、データストア210に格納するか、あるいは別のサービス又はモジュールの一部として格納することもでき、以下でより詳細に説明されるような強化コンテンツを生成するのにアクセスすることができる。
リンク挿入モジュール204は、異なる代替要素で置換することができる、キャプチャされたデータ212内の複数の要素を識別することができることに留意されたい。そのような状況において、複数の識別された要素の各々について、モジュール204は、識別された要素を、キャプチャされたデータ212から取り除いて、その識別された要素を置換している代替要素へのリンクを追加する。
リンクされる代替要素が、置換した要素と異なる解像度を有することができることにも留意されたい。例えばキャプチャされたデータ212が、特定の解像度を有する写真であるとき、代替要素は、より高い解像度(例えば平方インチ当たり、より多くのピクセル)を有する写真に含まれる可能性がある。したがって、代替要素は、置換された識別された要素では得られなかった更なる詳細(detail)を有することができる。この更なる詳細により、例えばユーザは、強化されたコンテンツを続けて見ているときに代替要素に対してズームインして、置換された識別された要素では得られない細部(例えばテキスト、人、作品等)を見ることが可能になる。
リンク挿入モジュール204は、リンクされたデータ214に、1つ又は複数の追加の要素へのリンクを追加することもできる。1つ又は複数の実施形態において、モジュール204は、置換可能な要素を取り除くこと及び代替要素へのリンクを追加することに加えて、1つ又は複数の追加の要素へのリンクを追加する。他の実施形態において、モジュール204は、置換可能な要素を取り除くこと及び代替要素へのリンクを追加する代わりに、1つ又は複数の追加の要素へのリンクを追加する。したがって、一部の実施形態において、システム200は、キャプチャされたデータの要素を代替要素で置換しない。
1つ又は複数の追加の要素へのリンクは、データストア210内のデータへのリンクとすることができ、これらのリンクは、上述の代替要素へのリンクと同様に、その追加の要素が格納されている場所及び/又はその追加の要素を様々な手法でどのように取り出すことができるかを特定することができる。上述の代替要素へのリンクと同様に、1つ又は複数の追加の要素へのリンクを、リンクされたデータ214に関連付けられるメタデータ、あるいはそうでなくとも、リンクされたデータ214に関連付けられるメタデータとして含むことができる。
1つ又は複数の追加の要素へのリンクは、様々なタイプのデータをキャプチャされたデータ212に追加することによって、該キャプチャされたデータ212を強化する。1つ又は複数の追加の要素は、キャプチャされたデータ212と同じタイプのデータ及び/又はキャプチャされたデータ212と異なるタイプのデータとすることができる。
1つ又は複数の実施形態において、1つ又は複数の追加の要素は、キャプチャされたデータ212と同じタイプのデータの要素を含む。例えばキャプチャされたデータ212が画像(写真)である場合、1つ又は複数の追加の要素は画像データを含む。リンク挿入モジュール204は、含めるべき追加の要素を様々な手法で決定することができる。1つ又は複数の実施形態において、モジュール204は、様々なパターンマッチング及び/又はオブジェクトマッチング技術を使用して、データストア210内のデータと同じ又は類似する、キャプチャされるデータ212の(及び/又はキャプチャされたデータ212に関連付けられる代替要素へリンクされる)要素を識別する。データストア210内のデータと同じ又は類似の要素の当該識別は、上述したような、他のデータからの要素によって置換することができる、キャプチャされたデータの要素を識別するのと同様の手法により、実行することができる。追加の要素が、キャプチャされたデータの要素及び/又はキャプチャされたデータ212に関連付けられる代替要素へリンクされた要素に基づいて識別されると、これらの追加の要素も、キャプチャされたデータの要素及び/又は代替要素に関連付けられているものとして参照される。
同じタイプの追加の要素は、識別された要素に比して追加のデータ又は詳細を含む要素とすることができる。例えばキャプチャされたデータ212が、識別された要素として特定のランドマークを含む写真である場合、追加の要素は、同じランドマークに関する追加の詳細を提供する写真とすることができる。リンク挿入モジュール204は、異なる手法により、識別された要素に対して追加のデータ又は詳細を含む追加の要素を決定することができる。1つ又は複数の実施形態において、モジュール204は、識別された要素について、より高解像度(例えば画像データについて平方インチあたりピクセルがより多い、オーディオデータについてサンプリング周波数がより高い等)でキャプチャされたデータに含まれる追加の要素は、識別された要素に対する追加のデータ又は詳細を含むと決定する。他の実施形態において、モジュール204は、識別された要素と追加の要素の双方について、要素解像度を決定する。要素の解像度とは、どのくらいのデータ又は詳細(例えばどの位のピクセル又はデータのバイト数等)がその要素内に含まれているかを指す。モジュール204は、追加の要素が、追加の要素が識別された要素よりも高い要素解像度を有する場合、識別された要素よりも追加のデータ又は詳細を含むと決定する。
リンク挿入モジュール204は、複数の追加の要素が、同じ識別された要素に対して追加のデータ又は詳細を有することを決定することができることに留意されたい。そのような状況では、モジュール20は、リンクされたデータ214内に、複数の追加の要素のうちの1つへのリンク又は複数の追加の要素のうちの複数要素(例えばそれぞれ1つ)へのリンク(複数)を含むことができる。
あるいはまた、リンク挿入モジュール204は、他の手法により、キャプチャされたデータ212と同じタイプのデータについて、含めるべき1つ又は複数の要素を決定することができる。1つ又は複数の実施形態において、リンク挿入モジュール204は、リンクされたデータ214内に含めるべき1つ又は複数の追加の要素を、キャプチャされたデータ212のメタデータに基づいて決定する。このメタデータは、上述のように、キャプチャデバイスの地理的位置、キャプチャデバイスの視点若しくは方向並びにデータがキャプチャされた日付及び/又は時間のような、様々な情報を含むことができる。データストア210に含まれるデータは、メタデータに関連する情報も含み、該情報は、キャプチャされたデータ212に関連付けられるメタデータと同じ情報を含むことができる。例えばデータストア210内に含まれるデータは、該データがキャプチャされた時間における、該データをキャプチャしたデバイスの地理的位置、該デバイスがキャプチャされた時間における、該データをキャプチャしたデバイスの視点又は方向、データがキャプチャされた日付及び/又は時間等を識別する、関連するメタデータを有することができる。
リンク挿入モジュール204は、キャプチャされたデータ212のメタデータに合致する、関連するメタデータを有するデータストア210内のデータを識別する。メタデータ内の情報が、互いに対する閾値(threshold amount)以内である場合、合致する。例えばキャプチャデータ212のメタデータがキャプチャデバイスの地理的位置を含み、データストア210内のデータに関連付けられるメタデータが地理的位置を含む場合、2つのメタデータの地理的位置が、互いに対する閾値距離(例えば10メートル、5メートル等)以内であれば、2つのメタデータは合致する。更なる例として、キャプチャされたデータ212のメタデータがキャプチャデバイスの方向も含み、データストア210内のデータが方向を含む場合、2つのメタデータの地理的位置が互いに対する閾値距離以内であり、かつ、その方向が、互いに対する閾値(例えば3度、10度等)以内であれば、2つのメタデータは合致する。
したがって、リンク挿入モジュール204は、キャプチャされたデータ212を強化する、データストア210内の追加の要素を、該要素が、キャプチャされたデータ内の要素と同一又は類似の要素ではないとしても、識別することができる。これらの追加の要素は、例えば画像又はビデオの視野を拡張することができ、またキャプチャされたオーディオを拡張することもできる。例えばキャプチャされたデータ212が、特定の地理的位置において、特定の方向を指すキャプチャデバイスで、特定の日時にキャプチャされた画像である場合、追加の要素は、キャプチャされたデータ212に含まれないが、同じ(又は近くの)地理的位置から、同じ(又は近くの)方向を指すデバイスによって、同じ(又は近い)日時にキャプチャされた、環境の追加の部分(例えば画像をキャプチャしたときにキャプチャデバイスの視野の外側にある人々、建物、景色等)とすることができる。したがって、キャプチャされたデータ212が、環境のこれらの追加の部分を含まなかった場合も、これらの追加の部分を、リンクされたデータ214に含めることができる。
1つ又は複数の実施形態において、1つ又は複数の追加要素は、キャプチャされたデータ212と異なるタイプのデータの要素を含む。例えばキャプチャされたデータ212が画像(写真)の場合、1つ又は複数の追加の要素は、オーディオデータ、ビデオデータ等を含むことができる。これらの異なるデータのタイプは、キャプチャデバイス(例えば図1のキャプチャデバイス102)によってキャプチャすることができるデータのタイプのいずれか、あるいは他のデータのタイプとすることができる。例えば1つ又は複数の追加の要素は、テキストタイプのデータ(例えば百科事典のエントリ(encyclopedia entry)又は他の記載)、描画タイプのデータ等とすることができる。1つ又は複数の追加の要素は、キャプチャデバイスによってサポートされるタイプ以外のデータのタイプを含むことができる。例えばキャプチャされたデータ212が、オーディオデータを記録しないデバイスによってキャプチャさえる場合、1つ又は複数の追加の要素はオーディオデータを含むことができる。
リンク挿入モジュール204は、様々な手法により、リンクされたデータ214に含むべき追加の要素を決定することができる。1つ又は複数の実施形態において、リンク挿入モジュール204は、リンクされたデータ214に含めるべき異なるデータタイプの追加の要素を、キャプチャされたデータ212に関連付けられるメタデータ及びデータストア210内のデータに関連付けられるメタデータに基づいて決定する。リンク挿入モジュール204は、追加の要素はキャプチャされたデータ212とは異なるタイプのデータではあるが、キャプチャされたデータ212と同じデータタイプの追加の要素を決定することに関して上記したものと同様に、キャプチャされたデータ212に関連付けられるメタデータに合致する関連するメタデータを有する、データストア210内のデータを識別する。
したがって、リンク挿入モジュール204は、キャプチャされたデータ212に含まれないデータのタイプを提供することによって、キャプチャされたデータ212を強化するデータストア210内の追加の要素を識別することができる。例えばキャプチャされたデータ212が、特定の地理的位置において、特定の日の特定の時間においてキャプチャされた画像である場合、追加の要素は、キャプチャされたデータ212内に含まれないが、同じ(又は近くの)地理的位置から同じ日の同じ(近い)時間にキャプチャされた、その環境についての追加のタイプのデータ(例えばオーディオデータ)とすることができる。したがって、キャプチャされたデータ212がこれらの追加のタイプのデータを含まなかった場合でも、依然としてこれらの追加のタイプのデータを、リンクされたデータ214に含めることができる。
リンク挿入モジュール204は、キャプチャされたデータ212のメタデータを使用することに加えて又はこれに代えて、他の手法により、リンクされたデータ214に含めるべき異なるデータタイプの追加の要素を決定することもできる。1つ又は複数の実施形態において、リンク挿入モジュール204は、リンクされたデータ214に含めるべき異なるデータタイプの追加の要素を、キャプチャされたデータ212(又はキャプチャされたデータ212に関連付けられる代替要素へのリンク)に基づいて決定する。例えばモジュール204は、様々なパターンマッチング及び/又はオブジェクトマッチング技術を使用して、特定のランドマーク、特定の固体等のような、キャプチャされた要素212の特定の要素(又は代替要素へのリンク)を識別することができる。これらの技術を使用して、コンサート、スポーツイベント等のような様々な一般的な環境タイプを識別することもできる。データストア210内の要素についての識別された要素又は一般的な環境タイプも、データストア210内のデータに関連付けられるメタデータに含まれる、識別された要素又は一般的な環境タイプの指示に基づいて識別される。追加の要素が、キャプチャされたデータの要素及び/又はキャプチャされたデータ212に関連付けられる代替要素へのリンクに基づいて識別されると、これらの追加の要素も、キャプチャされたデータの要素及び/又は代替要素に関連付けられるものとして参照される。
これらの様々なパターンマッチング及び/又はオブジェクトマッチング技術を使用して、データストア210内のデータの特定の要素を(データストア210内のデータ自体又はデータストア210内のデータに関連付けられるメタデータ)識別することができ、リンク挿入モジュール204は、同じ特定の要素を含むデータストア210内のデータを識別することができる。例えばモジュール204は、キャプチャされたデータ212について特定の環境タイプ(例えばスポーツイベントの画像データ)を決定し、追加の要素として、同じ環境タイプを有するデータストア210内の他のタイプのデータ(例えばスポーツイベントのオーディオデータ)を識別することができる。別の例として、モジュール204は、キャプチャされたデータ212(例えば画像及び/又はビデオデータ)について特定のランドマークを決定し、その同じ特定のランドマークを有するデータストア210内の他のタイプのデータ(例えばテキスト記述)を追加の要素として識別することができる。
リンク挿入モジュール204によって決定される追加の要素は、他のデータの一部又は他のデータの全体とすることができることに留意されたい。例えばキャプチャされたデータ212は、画像又はビデオとすることができ、追加の要素は、他の画像、ビデオ及び/又はオーディオの一部、あるいは他の画像、ビデオ及び/又はオーディオの全体とすることができる。追加の要素を、モジュール204によって上述の手法とは異なる手法で、キャプチャデータ212に関連付けられたメタデータ、キャプチャされたデータ212自体及び/又は代替要素に基づいて決定することができる。例えばモジュール204は、追加のデータとして、閾値時間(例えば15秒)までにキャプチャされた、データ212をキャプチャした時間に先行する1つ又は複数の画像を識別することができる。
環境キャプチャモジュール202は、キャプチャデバイスの様々な態様を記述するメタデータ(例えばそのデバイスの地理的位置、そのデバイスの方向又は視点等)をキャプチャするが、環境に関するいかなる他のデータも記録しないことがある(例えば画像を全くキャプチャせず、オーディオを全くキャプチャせず、ビデオも全くキャプチャしない等)。キャプチャモジュール202は、したがって、環境の特性を感知する環境センサを有さない(例えば環境内の画像又はオーディオを記録するセンサのない)デバイスに含まれるか、環境の特性を感知するための環境センサを用いて、環境に関するデータを記録することなく、メタデータを記録するデバイスに含まれる可能性がある。しかしながら、メタデータに基づいて、1つ又は複数の追加の要素をリンク挿入モジュール204によって決定することができ、これにより、該追加の要素を、リンクされたデータ214への画像、オーディオ、ビデオ等内に追加することができる。したがって、キャプチャデバイスは、画像キャプチャコンポーネント、オーディオキャプチャコンポーネント等を全く含まずに、単にキャプチャデバイスの態様を記述するメタデータ(例えばデバイスの地理的位置及び方向若しくは視点)を記録すればよいことがある。データストア210内の画像データ及び/又はオーディオデータは、上述のようにメタデータに基づいて、追加の要素として識別されることがあり、該追加の要素へのリンクを、リンクデータ214へモジュール204によって追加することができる。
キャプチャされたデータ212が複数のタイプのデータ(例えばビデオデータ及びオーディオデータ)を含むという状況が生じる可能性がある。リンク挿入モジュール204はオプションで、代替要素及び/又は追加の要素を決定することによって、これらのタイプのデータの1つを置換することができる。例えばあるタイプのデータ(例えば画像データ又はビデオデータ)を使用して、キャプチャされたデータについて特定の環境タイプを識別することができ、その同じ環境タイプを有する追加の要素(例えばオーディオデータ)を識別することができる。モジュール204は、キャプチャされたデータ212内で対応するタイプのデータを、追加の要素へのリンクで置換することができる。したがって、例えばキャプチャされたデータ212内のあるタイプのデータ(例えば画像データ又はビデオデータ)は、リンクされたデータ214内に残り、キャプチャされたデータ212内の他のタイプのデータ(例えばオーディオデータ)を、追加の要素へのリンクで置換することができる。
リンクされたデータ214は、再生モジュール208に提供される。リンク挿入モジュール204は、リンクされたデータ214を様々な手法で再生モジュールに提供することができ、この手法には、例えばデータ214をモジュール208のインタフェースを起動するときのパラメータとして含めること、データ214をモジュール208に対してアクセス可能な位置に格納すること、電子メール又は他のメッセージングプロトコルによりデータ214をモジュール208へ伝達すること等がある。再生モジュール208は、データ214内でクラウドソースデータモジュール206からデータ214内へとリンクされる要素を要求する。代替物(及び/又は追加の要素)が格納される場所及び/又は代替物(及び/又は追加の要素)を取り出すことができる方法は、上述のように、要素へのリンクによって識別される。クラウドソースデータモジュール206は、データストア210から要素へのリンクを取得し、該要素へのリンクを、強化データ216として再生モジュール208に提供する。
再生モジュール208は、強化データ216を受信し、強化データ216をリンクされたデータ214と組み合わせて強化されたコンテンツ218を生成又は構築する。データ214及び216を、強化データ216内に含まれる要素のタイプに基づいて、異なる手法により組み合わせることができる。例えば代替要素を(キャプチャされたデータ212内で置換可能な要素があった位置に)データ214に追加することができる。別の例として、追加の要素をデータ214に追加することができる。例えば写真は、キャプチャされたデータ212内に含まれていない追加の部分を含めるように強化されることがあり、オーディオデータは画像データに追加することができ、キャプチャされたオーディオデータを他のオーディオデータと置換することができ、環境に関する他のキャプチャされたデータを有しないキャプチャされたメタデータは、オーディオ及び/又はビデオデータを含めるように強化されること等が可能である。再生モジュール208は、強化されたコンテンツ218を再生(例えば表示又は他の方法により提示)することができ、あるいは強化されたコンテンツ218による他のアクションをとる(例えば強化された218を特定のストレージデバイスに格納する、強化されたコンテンツ218を別のデバイス又はモジュールに伝送する等)ことができる。
図3は、1つ又は複数の実施形態に従ってキャプチャされたデータを強化するための例示の処理300を図示するフローチャートである。処理300は、図2のリンク挿入モジュール204のような1つ又は複数のモジュールによって実行される方法又はスキーマであり、ソフトウェア、ファームウェア、ハードウェア又はその組み合わせで実装することができる。処理300は、動作のセットとして示されているが、様々な動作のオペレーションを実行するために図示される順序に限定されない。処理300は、キャプチャされたデータを強化するための例示の処理であり、キャプチャされたデータを強化する追加の議論は、異なる図面との関連で本明細書内に含まれている。
処理300において、環境に関するキャプチャされたデータが取得される(動作302)。キャプチャされるデータは、上述のように様々な手法で処理300を実装する1つ又は複数のモジュールに対してキャプチャされるか、該1つ又は複数のモジュールへ提供され得る。
1つ又は複数の追加の要素が決定される(動作304)。これらの1つ又は複数の追加の要素は、上述のように、キャプチャされたデータに基づいて決定される。1つ又は複数の追加の要素を決定するのを容易にするユーザ入力を、オプションにより受け取ることができる(例えば追加の要素を識別するのに使用すべきファクタ又は技術を指示するユーザ入力、追加の要素のデータのタイプを指示するユーザ入力、複数の追加の要素のうちの1つ又は複数のユーザ選択等)。
1つ又は複数の追加の要素への1つ又は複数のリンクが、キャプチャされたデータに関連付けられるように追加される(動作306)。これらの1つ又は複数のリンクを、上述のような様々な異なる手法により追加することができる。
1つ又は複数の追加の要素並びにキャプチャされたデータの少なくとも一部を使用して、強化されたコンテンツの構築が可能になる(動作308)。1つ又は複数の追加の要素へのリンクにより、強化されたコンテンツを構築することが可能になる。この構築には、上述のように、1つ又は複数の追加の要素を、キャプチャされたデータの少なくとも一部と組み合わせることが含まれる。
図4は、1つ又は複数の実施形態に従ってキャプチャされたデータを強化するための別の例示の処理400を図示するフローチャートである。処理400は、図2のリンク挿入モジュール204のような1つ又は複数のモジュールによって実行される方法又はスキーマであり、ソフトウェア、ファームウェア、ハードウェア又はその組み合わせで実装することができる。処理400は、動作のセットとして示されているが、様々な動作のオペレーションを実行するために図示される順序に限定されない。処理400は、キャプチャされたデータを強化するための例示の処理であり、キャプチャされたデータを強化する追加の議論は、異なる図面との関連で本明細書内に含まれている。
処理400において、環境に関するキャプチャされたデータが取得される(動作402)。キャプチャされるデータは、上述のように様々な手法で処理400を実装する1つ又は複数のモジュールに対してキャプチャされるか、該1つ又は複数のモジュールへ提供され得る。
キャプチャされたデータの1つ又は要素を、1つ又は複数の代替要素と置換することができるかどうかに関する決定が行われる(動作404)。この決定は、上述のように、1つ又は複数の置換可能な要素並びに1つ又は複数の代替要素を識別することを含む。
1つ又は複数の識別された置換可能な要素が、キャプチャされたデータから取り除かれ(動作406)、圧縮された写真が生成される。これらの置換可能な要素は、上述のように、異なる手法により取り除かれる可能性がある。
1つ又は複数の代替要素への1つ又は複数のリンクが追加される(動作408)。これらの1つ又は複数のリンクを、キャプチャされたデータに関連付けられるように追加し、上述のような様々な異なる手法により追加することができる。1つ又は複数の代替要素を決定するのを容易にするユーザ入力を、オプションにより受け取ることができる(例えば代替要素を識別するのに使用すべきファクタ又は技術を指示するユーザ入力、複数の代替要素のうちの1つのユーザ選択等)。
1つ又は複数の追加の要素も決定される(動作410)。これらの1つ又は複数の追加の要素は、キャプチャされたデータ(及び/又は代替要素)に基づいて決定され、上述のように置換可能な要素及び/又は代替要素に関連付けられる。1つ又は複数の追加の要素を決定するのを容易にするユーザ入力を、オプションにより受け取ることができる(例えば追加の要素を識別するのに使用すべきファクタ又は技術を指示するユーザ入力、追加の要素のデータのタイプを指示するユーザ入力、複数の追加の要素のうちの1つ又は複数のユーザ選択等)。
1つ又は複数の追加の要素への1つ又は複数のリンクが追加される(動作412)。これらの1つ又は複数のリンクは、キャプチャされたデータに関連付けられ、上述のような様々な異なる手法により追加され得る。写真は、例えば置換可能な要素がその写真から取り除かれるために、写真を強化する追加の要素自体ではなく、その追加の要素へリンクされているリンクが写真内に含まれるために、圧縮される。
圧縮されたキャプチャされたデータ及び1つ若しくは複数の代替要素及び追加の要素を使用して、強化されたコンテンツの構築が可能になる(動作414)。1つ若しくは複数の代替要素及び/又は1つ若しくは複数の追加の要素へのリンクにより、強化されたコンテンツを構築することが可能になる。この構築には、上述のように、1つ又は複数の追加の要素、代替要素、並びにキャプチャされたデータを組み合わせることが含まれる。
本明細書で説明される、キャプチャされたデータを強化する技術は、様々な利用シナリオをサポートする。例えばユーザは、様々なランドマーク、アート作品、景観等の写真を撮ることができる。次いで、これらの写真の一部を、同じランドマーク、アート作品、景観等の他のより高い解像度の写真の部分で置換することができ、これにより、ユーザに、そのユーザが撮った写真よりも(潜在的にはユーザのカメラで撮ることができるものよりも)高解像度の写真を提供する。ユーザは、したがって、追加的な細部を見ることができ、オプションにより、写真の一部にズームインして、ユーザが撮った写真では可視でなかった可能性のある人々や文字、デザイン等を見ることができる。オーディオデータを写真に追加することもでき、これにより、写真を後に表示するときにオーディオを再生することが可能になる。したがって、ユーザが自身の写真とともにオーディオをキャプチャしていなかったとしても、そのランドマーク、アート作品、景観等に対応するオーディオデータをユーザに提示することができる。
様々な議論は、キャプチャデータが写真である場合に関連して説明してきたが、本明細書で説明される技術は、ビデオデータのような様々な他のタイプのキャプチャデータにも用いることができることに留意されたい。ビデオデータは、フレームのシーケンス又はアレイとして見ることができ、各フレームが、本明細書で説明される写真として取り扱われる。本明細書で説明される技術を、シーケンス又はアレイ内のフレームのうちの複数フレーム(それぞれ1つ)に適用することができる。ビデオ内の特定のフレームについて、1つ又は複数の代替要素は、他の写真若しくはビデオからの要素及び/又は同じビデオの他のフレームからの要素とすることができる、したがって、ビデオを、キーフレーム又はビデオ内におけるキーフレームと後続フレームとの間の差に基づいて圧縮するのではなく、ビデオのフレーム内の要素を、ビデオの他のフレーム又は他の箇所内の代替要素へのリンクと置換することによって圧縮することができる。
通信する動作、受信する動作、提供する動作、記録する動作、格納する動作、生成する動作、取得する動作等のように、様々なモジュールによって実行される様々なアクションが、本明細書で説明されている。あるアクションを実行するものとして本明細書で説明される特定のモジュールは、そのアクションを実行するその特定のモジュール自体、あるいはそのアクションを実行する(又はその特定のモジュールとともにアクションを実行する)別のコンポーネント又はモジュールを起動するか他の方法でアクセスするその特定のモジュールを含む。したがって、あるアクションを実行する特定のモジュールは、そのアクションを実行するその特定のモジュール自体及び/又はその特定のモジュールによって起動若しくは他の方法でアクセスされる、そのアクションを実行する別のモジュールを含む。
図5は、1つ又は複数の実施形態に従って、強化キャプチャデータを実装するように構成することができる例示のコンピューティングデバイス500を図示している。コンピューティングデバイス500は、例えば図1のデバイス102又は104とすることができ、図1のクラウドソーシング・データサービス106の少なくとも一部を実装し、図2の1つ又は複数のモジュール202〜208を実装することができる。
図示されるように、コンピューティングデバイス500は、相互に通信可能に結合される処理システム502と、1つ又は複数のコンピュータ読取可能媒体504と、1つ又は複数のI/Oインタフェース506とを含む。図示されていないが、コンピューティングデバイス500は更に、様々なコンポーネントを相互に結合するシステムバス又は他のデータ及びコマンド転送システムを含むことができる。システムバスは、メモリバス若しくはメモリコントローラ、周辺バス、ユニバーサルシリアルバス及び/又は様々なバスアーキテクチャのいずれかを使用するプロセッサ若しくはローカルバスのような、異なるバス構造のうちのいずれか1つ又は組み合わせを含むことができる。制御及びデータ回線のような様々な他の例も考えられる。
処理システム502は、ハードウェアを使用して1つ又は複数の動作を実行する機能性を表す。したがって、処理システム502は、プロセッサ、機能ブロック等として構成され得るハードウェア要素508を含むように図示されている。これは、特定用途向け集積回路又は1つ若しくは複数の半導体を使用して形成される他の論理デバイスとして、ハードウェアでの実装を含むことができる。ハードウェア要素508は、これらが形成される材料や用いられる処理機構に制限されない。例えばプロセッサを、半導体及び/又はトランジスタ(例えば電子集積回路(IC))から構成することができる。そのようなコンテキストにおいて、プロセッサ実行可能命令は、電子的に実行可能な命令とすることができる。
コンピュータ読取可能媒体504は、メモリ/ストレージ510を含むように図示されている。メモリ/ストレージ510は、1つ又は複数のコンピュータ読取可能媒体に関連付けられたメモリ/記憶機能を表す。メモリ/ストレージコンポーネント510は、揮発性媒体(ランダムアクセスメモリ(RAM)等)及び/又は非揮発性媒体(読取専用メモリ(ROM)、フラッシュメモリ、光ディスク、磁気ディスク等)を含むことができる。メモリ/ストレージコンポーネント510は、固定の媒体(例えばRAM、ROM、固定のハードドライブ等)だけでなく取外し可能媒体(例えばフラッシュメモリ、取外し可能ハードドライブ、光ディスク等)も含むことができる。コンピュータ読取可能媒体504を、以下で更に説明されるように様々な他の方法で構成することができる。
入出力(I/O)インタフェース506は、ユーザがコマンド及び情報をコンピューティングデバイス500に入力するのを可能にし、また様々な入出力デバイスを使用して、情報をユーザ及び/又は他のコンポーネント若しくはデバイスに提示することを可能にする機能性を表す。入力デバイスの例には、キーボード、カーソル制御デバイス(例えばマウス)、マイク(例えば音声又は他の可聴入力用)、スキャナ、タッチ機能(例えば物理的な接触を検出するように構成される容量式センサ又は他のセンサ)、カメラ(例えば可視の波長又は赤外線周波数のような不可視の波長を用いて、接触を伴わない動きをジェスチャとして検出し得るもの)等が含まれる。出力デバイスの例には、ディスプレイデバイス(例えばモニタ又はプロジェクタ)、スピーカ、プリンタ、ネットワークカード、触覚応答デバイス等が含まれる。したがって、コンピューティングデバイス500は、ユーザ対話をサポートするように様々な方法で構成される可能性がある。
コンピューティングデバイス500は、キャプチャデータ強化システム520も含む。キャプチャデータ強化システム520は、上記で検討したように、データをキャプチャすること、リンクを挿入すること、強化されたコンテンツを再生用に構築すること及び/又はクラウドソースデータを提供することを含め、キャプチャされたデータを強化するための様々な機能性を提供する。キャプチャデータ強化システム520は、例えば図2の1つ又は複数のモジュール202〜208とすることができる。
本明細書では、様々な技術を、ソフトウェア、ハードウェア要素又はプログラムモジュールの一般的なコンテキストにおいて説明していることがある。一般に、そのようなモジュールは、特定のタスクを実行するか特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、要素、コンポーネント、データ構造等を含む。本明細書で使用されるとき、「モジュール」、「機能(性)」及び「コンポーネント」という用語は、一般的に、ソフトウェア、ファームウェア、ハードウェア又はこれらの組み合わせを表す。本明細書で説明される技術の特徴はプラットフォーム独立であるが、これは、本技術が、様々なプロセッサを有する様々な市販のコンピューティングプラットフォームにおいて実装され得ることを意味する。
説明されるモジュール及び技術の実装は、何らかの形式のコンピュータ読取可能媒体に格納されるか、そのコンピュータ読取可能媒体によって伝送され得る。コンピュータ読取可能媒体は、コンピューティングデバイス500によってアクセス可能な様々な媒体を含むことができる。限定ではなく例として、コンピュータ読取可能媒体は、「コンピュータ読取可能記憶媒体」と「コンピュータ読取可能信号媒体」とを含む可能性がある。
「コンピュータ読取可能記憶媒体」は、単なる信号伝送や、搬送波又は信号自体等とは対照的に、情報の持続的及び/又は非一時的な記憶を可能にする媒体及び/又はデバイスを指す。したがって、コンピュータ読取可能記憶媒体は、非信号担持媒体を指す。コンピュータ読取可能記憶媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュール、ロジック要素/回路又は他のデータのような情報の記憶に適した方法又は技術で実装される、揮発性及び非揮発性、取外し可能及び取外し不可能の媒体及び/又はストレージデバイスのようなハードウェアを含む。コンピュータ読取可能記憶媒体の例には、これらに限られないが、RAM、ROM、EEPROM、フラッシュメモリ若しくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)若しくは他の光ストレージ、ハードディスク、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の磁気ストレージデバイス、あるいは所望の情報を格納するのに適切であって、コンピュータによってアクセス可能な他の記憶デバイス、有形の媒体又は製品が含まれる。
「コンピュータ読取可能信号媒体」は、命令を、ネットワークを介するなどしてコンピューティングデバイス500のハードウェアに伝送するように構成される信号担持媒体を指すことがある。信号媒体は典型的に、コンピュータ読取可能命令、データ構造、プログラムモジュール又は他のデータを、搬送波、データ信号又は他の伝送機構のような変調データ信号に具現化することができる。信号媒体は、任意の情報配信媒体も含む。「変調データ信号」という用語は、情報を信号にエンコードするような方法で設定又は変更された特性の1つ又は複数を有する信号を意味する。限定ではなく例として、通信媒体は、有線ネットワーク又は直接有線接続のような有線媒体と、音響、RF、赤外線及び他の無線媒体のような無線媒体とを含む。
上述のように、ハードウェア要素508及びコンピュータ読取可能媒体504は、一部の実施形態において、本明細書において説明される技術の少なくとも一部の態様を実装するのに用いられ得るハードウェア形式で実装される、命令、モジュール、プログラマブルデバイスロジック及び/又は固定のデバイスロジックを表す。ハードウェア要素508は、集積回路若しくはオンチップシステム、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、結合プログラム可能論理回路(CPLD)及びシリコンでの他の実装や他のハードウェアデバイスが含まれる。このコンテキストにおいて、ハードウェア要素は、ハードウェア要素によって具現化される命令、モジュール及び/又はロジックによって定義されるプログラムタスクを実行する処理デバイス、並びに実行のために命令を格納するのに用いられるハードウェアデバイス、例えば前述したコンピュータ読取可能記憶媒体として動作してもよい。
上述の組み合わせを用いて、本明細書で説明される様々な技術及びモジュールを実装することもできる。したがって、ソフトウェア、ハードウェア又はプログラムモジュール及び他のプログラムモジュールを、何らかの形式のコンピュータ読取可能記憶媒体において及び/又は1つ又は複数のハードウェア要素508によって具現化される1つ又は複数の命令及び/又はロジックとして実装することができる。コンピューティングデバイス500は、ソフトウェア及び/又はハードウェアモジュールに対応する特定の命令及び/又は機能を実装するように構成され得る。したがって、コンピューティングデバイス500によって実行可能なモジュールのソフトウェアとしての実装は、少なくとも部分的にハードウェアで、例えばコンピュータ読取可能記憶媒体及び/又は処理システムのハードウェア要素508の使用を通して達成され得る。命令及び/又は機能は、本明細書で説明される技術、モジュール及び実施例を実装するよう1つ又は複数の製品(例えば1つ又は複数のコンピューティングデバイス500及び/又は処理システム502)によって実行可能/動作可能である。
本主題を構造的特徴及び/又は方法的動作に特有の言語で説明してきたが、添付の特許請求の範囲において定義される主題は、必ずしも上述の具体的な特徴又は動作に限定されない。むしろ、上述の具体的な特徴及び動作は、特許請求の範囲を実装するための例示の形式として開示される。