(57)【要約】実施形態は、概して、マルチメディアオーディオおよびビデオストリームの処理に関する。実施形態は、より具体的には、メディアコンテンツストリームのセグメントのタグ付けおよびメディアデバイスを横断したタグ付けされたセグメントの同期に関する。タグデータが、メディアコンテンツアイテムがコンテンツプロバイダによって放送され、遠隔場所によって受信されている間、遠隔場所によってメディアコンテンツアイテム内のインバンドデータから作成される。タグデータは、メディアコンテンツアイテム内の場所を識別し、これは、メディアデバイスが、タグデータに基づいて、メディアコンテンツアイテム内の特定の場所に正確にジャンプすることを可能にする。
2018530257.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
メディアデバイスにおいて、メディアコンテンツアイテムの基準バージョンと関連付けられた複数の時間ベースのメタデータを受信するステップであって、前記複数の時間ベースのメタデータは、前記メディアコンテンツアイテムがコンテンツプロバイダによって最初に放送された際にサービスプロバイダによって作成され、前記複数の時間ベースのメタデータは、前記メディアコンテンツアイテム内の第１の位置を示す前記メディアコンテンツアイテム内のインバンドデータの第１のハッシュ値データシーケンスおよび前記メディアコンテンツアイテム内の第２の位置を示す前記メディアコンテンツアイテム内のインバンドデータの第２のハッシュ値データシーケンスを含む、ステップと、
前記メディアデバイスにおける記憶デバイス上に、前記メディアコンテンツアイテムの受信されたバージョンを記憶するステップと、
第１のユーザ入力に応答して、前記記憶されたメディアコンテンツアイテムの表示を生じさせるステップと、
前記記憶されたメディアコンテンツアイテムの表示を生じさせながら、前記記憶されたメディアコンテンツアイテム内のインバンドデータのハッシュ値シーケンスを計算するステップと、
第１の計算されたハッシュ値シーケンスが前記第１のハッシュ値シーケンスに類似することを判定するステップと、
第２のユーザ入力に応答して、
第２の計算されたハッシュ値シーケンスが前記第２のハッシュ値シーケンスに類似することを判定するステップと、
前記記憶されたメディアコンテンツアイテムの表示に、前記第１の計算されたハッシュ値シーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第１の場所と、前記第２の計算されたハッシュ値シーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第２の場所との間の前記記憶されたメディアコンテンツアイテムの一部を表示させないステップと
を含む、方法。
【請求項２】
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアデバイスにローカルに記録される放送バージョンを備える、請求項１に記載の方法。
【請求項３】
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアデバイスに配信されるトランスコードされたバージョンを備える、請求項１に記載の方法。
【請求項４】
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアコンテンツアイテム内の第１の位置と異なる重複セグメント位置を有する、重複コンテンツセグメントを備え、前記メディアコンテンツ内のインバンドデータの重複ハッシュ値シーケンスと関連付けられた重複コンテンツセグメントは、前記重複セグメント位置を示し、前記方法はさらに、
第３の計算されたハッシュ値データシーケンスが前記第１のハッシュ値データシーケンスに類似することを判定するステップと、
前記第２のユーザ入力に応答して、
前記記憶されたメディアコンテンツアイテムの表示に、前記重複コンテンツセグメントを前記第３の計算されたハッシュ値シーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第３の場所に表示させるステップと
を含む、請求項１に記載の方法。
【請求項５】
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアデバイスに配信されるクラウドＤＶＲバージョンを備える、請求項１に記載の方法。
【請求項６】
前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテム内の前記第１の場所と前記第２の場所との間の前記記憶されたメディアコンテンツアイテムの部分を表示させないステップはさらに、
前記第２の場所と関連付けられたオフセットを計算するステップであって、前記オフセットは、前記第２の場所と関連付けられた時間と前記メディアコンテンツアイテムと関連付けられた現在のストリーム時間との間の差異に追加される、前記メディアデバイスにおける前記メディアコンテンツアイテムの受信されたバージョンと関連付けられた現在の時間を備え、前記現在のストリーム時間は、前記メディアコンテンツアイテム内の第１の位置に基づく、ステップ
を含む、請求項１に記載の方法。
【請求項７】
前記第２のユーザ入力は、タイムラインユーザインターフェースの選択を備え、前記選択は、前記第２の場所を示し、前記方法はさらに、
前記選択に基づいて、前記オフセットを判定するステップと、
前記選択に基づいて、前記オフセットを使用して、前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテム内の前記第１の場所と前記第２の場所との間の前記記憶されたメディアコンテンツアイテムの部分を表示させないステップと
を含む、請求項６に記載の方法。
【請求項８】
命令を記憶する１つまたはそれを上回る非一過性コンピュータ可読記憶媒体であって、前記命令は、１つまたはそれを上回るプロセッサによって実行されると、
メディアデバイスにおいて、メディアコンテンツアイテムの基準バージョンと関連付けられた複数の時間ベースのメタデータを受信するステップであって、前記複数の時間ベースのメタデータは、前記メディアコンテンツアイテムがコンテンツプロバイダによって最初に放送された際にサービスプロバイダによって作成され、前記複数の時間ベースのメタデータは、前記メディアコンテンツアイテム内の第１の位置を示す前記メディアコンテンツアイテム内のインバンドデータの第１のハッシュ値データシーケンスおよび前記メディアコンテンツアイテム内の第２の位置を示す前記メディアコンテンツアイテム内のインバンドデータの第２のハッシュ値データシーケンスを含む、ステップと、
前記メディアデバイスにおける記憶デバイス上に、前記メディアコンテンツアイテムの受信されたバージョンを記憶するステップと、
第１のユーザ入力に応答して、前記記憶されたメディアコンテンツアイテムの表示を生じさせるステップと、
前記記憶されたメディアコンテンツアイテムの表示を生じさせながら、前記記憶されたメディアコンテンツアイテム内のインバンドデータのハッシュ値シーケンスを計算するステップと、
第１の計算されたハッシュ値シーケンスが前記第１のハッシュ値シーケンスに類似することを判定するステップと、
第２のユーザ入力に応答して、
第２の計算されたハッシュ値シーケンスが前記第２のハッシュ値シーケンスに類似することを判定するステップと、
前記記憶されたメディアコンテンツアイテムの表示に、前記第１の計算されたハッシュ値シーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第１の場所と、前記第２の計算されたハッシュ値シーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第２の場所との間の前記記憶されたメディアコンテンツアイテムの一部を表示させないステップと、
を行わせる、１つまたはそれを上回る非一過性コンピュータ可読記憶媒体。
【請求項９】
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアデバイスにローカルに記録される放送バージョンを備える、請求項８に記載の１つまたはそれを上回る非一過性コンピュータ可読記憶媒体。
【請求項１０】
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアデバイスに配信されるトランスコードされたバージョンを備える、請求項８に記載の１つまたはそれを上回る非一過性コンピュータ可読記憶媒体。
【請求項１１】
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアコンテンツアイテム内の第１の位置と異なる重複セグメント位置を有する、重複コンテンツセグメントを備え、前記メディアコンテンツ内のインバンドデータの重複ハッシュ値シーケンスと関連付けられた重複コンテンツセグメントは、前記重複セグメント位置を示し、前記１つまたはそれを上回る非一過性コンピュータ可読記憶媒体は、前記１つまたはそれを上回るプロセッサによって実行されると、
第３の計算されたハッシュ値データシーケンスが前記第１のハッシュ値データシーケンスに類似することを判定するステップと、
前記第２のユーザ入力に応答して、
前記記憶されたメディアコンテンツアイテムの表示に、前記重複コンテンツセグメントを前記第３の計算されたハッシュ値シーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第３の場所に表示させるステップと
をさらに行わせる、請求項８に記載の１つまたはそれを上回る非一過性コンピュータ可読記憶媒体。
【請求項１２】
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアデバイスに配信されるクラウドＤＶＲバージョンを備える、請求項８に記載の１つまたはそれを上回る非一過性コンピュータ可読記憶媒体。
【請求項１３】
前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテム内の前記第１の場所と前記第２の場所との間の前記記憶されたメディアコンテンツアイテムの部分を表示させないステップはさらに、
前記第２の場所と関連付けられたオフセットを計算するステップであって、前記オフセットは、前記第２の場所と関連付けられた時間と前記メディアコンテンツアイテムと関連付けられた現在のストリーム時間との間の差異に追加される、前記メディアデバイスにおける前記メディアコンテンツアイテムの受信されたバージョンと関連付けられた現在の時間を備え、前記現在のストリーム時間は、前記メディアコンテンツアイテム内の第１の位置に基づく、ステップ
を含む、請求項８に記載の１つまたはそれを上回る非一過性コンピュータ可読記憶媒体。
【請求項１４】
前記第２のユーザ入力は、タイムラインユーザインターフェースの選択を備え、前記選択は、前記第２の場所を示し、前記１つまたはそれを上回る非一過性コンピュータ可読記憶媒体は、前記１つまたはそれを上回るプロセッサによって実行されると、
前記選択に基づいて、前記オフセットを判定するステップと、
前記選択に基づいて、前記オフセットを使用して、前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテム内の前記第１の場所と前記第２の場所との間の前記記憶されたメディアコンテンツアイテムの部分を表示させないステップと
をさらに行わせる、請求項１３に記載の１つまたはそれを上回る非一過性コンピュータ可読記憶媒体。
【請求項１５】
ディアデバイスであって、
１つまたはそれを上回るプロセッサと、
記憶デバイスと、
命令を記憶する１つまたはそれを上回るコンピュータ可読記憶媒体であって、前記命令は、前記１つまたはそれを上回るプロセッサによって実行されると、前記メディアデバイスに、
メディアコンテンツアイテムの基準バージョンと関連付けられた複数の時間ベースのメタデータを受信することであって、前記複数の時間ベースのメタデータは、前記メディアコンテンツアイテムがコンテンツプロバイダによって最初に放送された際にサービスプロバイダによって作成され、前記複数の時間ベースのメタデータは、前記メディアコンテンツアイテム内の第１の位置を示す前記メディアコンテンツアイテム内のインバンドデータの第１のハッシュ値データシーケンスおよび前記メディアコンテンツアイテム内の第２の位置を示す前記メディアコンテンツアイテム内のインバンドデータの第２のハッシュ値データシーケンスを含む、ことと、
前記メディアデバイスにおける記憶デバイス上に、前記メディアコンテンツアイテムの受信されたバージョンを記憶することと、
第１のユーザ入力に応答して、前記記憶されたメディアコンテンツアイテムの表示を生じさせることと、
前記記憶されたメディアコンテンツアイテムの表示を生じさせながら、前記記憶されたメディアコンテンツアイテム内のインバンドデータのハッシュ値シーケンスを計算することと、
第１の計算されたハッシュ値シーケンスが前記第１のハッシュ値シーケンスに類似することを判定することと、
第２のユーザ入力に応答して、
第２の計算されたハッシュ値シーケンスが前記第２のハッシュ値シーケンスに類似することを判定することと、
前記記憶されたメディアコンテンツアイテムの表示に、前記第１の計算されたハッシュ値シーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第１の場所と前記第２の計算されたハッシュ値シーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第２の場所との間の前記記憶されたメディアコンテンツアイテムの一部を表示させないことと
を行わせる、１つまたはそれを上回るコンピュータ可読記憶媒体と
を備える、メディアデバイス。
【請求項１６】
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアデバイスにローカルに記録される放送バージョンを備える、請求項１５に記載のメディアデバイス。
【請求項１７】
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアデバイスに配信されるトランスコードされたバージョンを備える、請求項１５に記載のメディアデバイス。
【請求項１８】
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアコンテンツアイテム内の第１の位置と異なる重複セグメント位置を有する、重複コンテンツセグメントを備え、前記メディアコンテンツ内のインバンドデータの重複ハッシュ値シーケンスと関連付けられた重複コンテンツセグメントは、前記重複セグメント位置を示し、前記１つまたはそれを上回るコンピュータ可読記憶媒体は、前記１つまたはそれを上回るプロセッサによって実行されるとさらに、前記メディアデバイスに、
第３の計算されたハッシュ値データシーケンスが前記第１のハッシュ値データシーケンスに類似することを判定することと、
前記第２のユーザ入力に応答して、
前記記憶されたメディアコンテンツアイテムの表示に、前記第３の計算されたハッシュ値シーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第３の場所における重複コンテンツセグメントを表示させることと
を行わせるさらなる命令を含む、請求項１５に記載のメディアデバイス。
【請求項１９】
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアデバイスに配信されるクラウドＤＶＲバージョンを備える、請求項１５に記載のメディアデバイス。
【請求項２０】
前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテム内の前記第１の場所と前記第２の場所との間の前記記憶されたメディアコンテンツアイテムの部分を表示させないことはさらに、
前記第２の場所と関連付けられたオフセットを計算することであって、前記オフセットは、前記第２の場所と関連付けられた時間と前記メディアコンテンツアイテムと関連付けられた現在のストリーム時間との間の差異に追加される、前記メディアデバイスにおける前記メディアコンテンツアイテムの受信されたバージョンと関連付けられた現在の時間を備え、前記現在のストリーム時間は、前記メディアコンテンツアイテム内の第１の位置に基づく、ことを
含む、請求項１５に記載のメディアデバイス。
【請求項２１】
前記第２のユーザ入力は、タイムラインユーザインターフェースの選択を備え、前記選択は、前記第２の場所を示し、前記１つまたはそれを上回るコンピュータ可読記憶媒体は、前記１つまたはそれを上回るプロセッサによって実行されるとさらに、前記メディアデバイスに、
前記選択に基づいて、前記オフセットを判定することと、
前記選択に基づいて、前記オフセットを使用して、前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテム内の第１の場所と第２の場所との間の前記記憶されたメディアコンテンツアイテムの部分を表示させないことと
を行わせるさらなる命令を含む、請求項２０に記載のメディアデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、概して、マルチメディアオーディオおよびビデオストリームの処理に関する。実施形態は、より具体的には、メディアコンテンツストリームのセグメントのタグ付けおよびメディアデバイスを横断したタグ付けされたセグメントの同期に関する。
【背景技術】
【０００２】
本節に説明されるアプローチは、追究され得るアプローチであるが、必ずしも、以前に想起または追究されたアプローチではない。したがって、別様に示されない限り、本節に説明されるアプローチのいずれも、単なる本節におけるその含有によって、先行技術と見なされるものと仮定されるべきではない。
【０００３】
コンテンツプロバイダによって放送されるメディアコンテンツは、典型的には、コマーシャル時間が介在する、いくつかの別個の番組間隔を備える。例えば、放送されるテレビ番組は、最初の冒頭番組セグメントから開始し、その後、コマーシャル時間が続き、その後、別の番組セグメントが続き、その後、別のコマーシャル時間が続く等となり得る。典型的には、コマーシャル時間は、コマーシャル時間に先行する、および／またはその後に続く、番組間隔の持続時間未満である、限定された持続時間であって、コマーシャル時間の間、放送局は、典型的には、１つまたはそれを上回る広告を放送する。
【０００４】
ユーザは、多くの場合、コマーシャル時間の間に生じる広告コンテンツよりも番組セグメントの間に生じるコンテンツに関心がある。その結果、ユーザは、多くの場合、ユーザが広告の鑑賞に時間を費やす必要がないように、コマーシャル時間を通して少なくとも部分的に早送りする試みとして、メディアデバイスの早送り特徴を使用し得る。しかしながら、各コマーシャル時間の間の早送り特徴の動作は、不便であり得、特に、ユーザが高速で広告を通して早送りする場合、次の番組セグメントに精密に早送りするユーザの能力は、限定され得る。
【発明の概要】
【課題を解決するための手段】
【０００５】
以下の説明では、説明目的のため、多数の具体的詳細が、本発明の完全な理解を提供するために記載される。しかしながら、本発明がこれらの具体的詳細を伴わずに実践されてもよいことは、明白となるであろう。他の事例では、周知の構造およびデバイスは、本発明を不必要に曖昧にすることを回避するために、ブロック図形態で示される。
【０００６】
実施形態は、以下の概略に従って本明細書に説明される。
１．０．  一般概要
２．０．  動作環境
３．０．  機能概要
３．１．  メディアコンテンツタグ作成
３．２．  メディアコンテンツタグ同期
３．３．  トランスコードされたコンテンツのためのタグ同期
３．４．  タグ品質保証
３．５．  自動セグメント検出
４．０．  実装機構−ハードウェア概要
５．０．  拡張および代替
【図面の簡単な説明】
【０００７】
【図１】図１は、実施形態が実装され得る、ネットワーク化されたコンピュータ環境を図示する。
【図２】図２は、開示される実施形態による、メディアコンテンツアイテムの第１のバージョンに対して作成されたタグデータと同一メディアコンテンツアイテムの他のバージョンを同期させるためのプロセスを図示する、フロー図である。
【図３】図３は、開示される実施形態による、同一メディアコンテンツアイテムの２つの異なるバージョンに関するハッシュ値シーケンスデータを比較する実施例を図示する。
【図４】図４は、開示される実施形態による、同一メディアコンテンツアイテムの２つのバージョン間の合致する部分の識別に基づいて、タグデータを同期させる実施例を図示する。
【図５】図５は、開示される実施形態による、トランスコードされたコンテンツに関するスキップ正確度のためのプロセスを図示する、フロー図である。
【図６】図６は、実施形態が実装され得る、コンピュータシステムを図示する。
【発明を実施するための形態】
【０００８】
１．０．一般概要
【０００９】
メディアコンテンツアイテムのセグメントを識別し、メディアデバイスが、遠隔で作成されたタグデータに基づいて、メディアコンテンツアイテム内の特定の場所に正確にジャンプすることを可能にする、タグデータの作成に関連する、アプローチ、技法、および機構が、開示される。本文脈では、メディアコンテンツアイテムの「セグメント」は、概して、メディアコンテンツアイテム全体内のある時間の長さを指し、メディアコンテンツアイテムは、例えば、放送されるテレビ番組、映画、スポーツイベント、または任意の他のタイプのメディアコンテンツを含んでもよい。
【００１０】
典型的な放送されるメディアコンテンツアイテムは、連続メディアコンテンツストリームとして放送される、いくつかの別個のセグメントを含有してもよい。例えば、典型的ホームコメディテレビ番組は、最初の導入セグメントを含み、その後、１つまたはいくつかのコマーシャルを含有するセグメントが続き、その後、さらなる番組コンテンツが続き、その後、コマーシャルの別のセグメントが続く等となり得る。別の実施例として、オリンピック等のスポーツイベントは、２０分の飛込競技から成る第１のセグメントを含み、その後、５分のコマーシャルが続き、その後、１５分セグメントの重量挙げが続き、その後、２０分セグメントのフェンシングが続く等となり得る。
【００１１】
ある実施形態では、メディアコンテンツアイテムのためのタグデータの作成は、概して、メディアコンテンツアイテム内のセグメントの境界を識別する、メタデータまたは他の情報を生成するための１つもしくはそれを上回るプロセスを指す。上記に説明される例示的ホームコメディテレビ番組のためのタグデータは、例えば、導入セグメントがメディアコンテンツストリーム途中の時間０：０３から開始し、第１のコマーシャルセグメントが時間５：１４に開始し、第１の番組コンテンツセグメントが時間８：０２に開始する等を示し得る。一般に、そのようなタグデータは、ユーザがメディアコンテンツアイテム内の任意の他の場所から特定の所望のセグメントに「ジャンプ」することを可能にするために使用されてもよい。例えば、例示的ホームコメディテレビ番組を視聴しているユーザは、番組の導入セグメントを視聴し、第１のコマーシャルセグメントへの到達に応じて、ユーザのメディアデバイスを時間８：０２におけるコンテンツセグメントにジャンプさせ、先行するコマーシャルセグメントを迂回する、入力を提供してもよい。そのような入力は、限定ではないが、リモコン上のユーザ入力、モバイルデバイス等のポータブルデバイス上のユーザ入力を含んでもよく、ポータブルデバイスは、第２の画面等として使用される。ユーザ入力は、リモコン上のボタン押下、デバイス上のマウスクリック、タッチスクリーン対応デバイス上のタップ、ジェスチャ対応デバイス上のジェスチャ、および同等物を含んでもよい。
【００１２】
一実施例では、そのようなタグデータは、サービスプロバイダと関連付けられたメディアデバイスのユーザの利点のために、サービスプロバイダによって生成および提供されてもよい。本実施例では、サービスプロバイダは、特定のメディアコンテンツアイテム（例えば、テレビ番組、スポーツイベント等の初回放送）を視聴し、メディアコンテンツアイテム内のセグメント遷移を識別し、他のメディアデバイスへの配信のためのタグデータを作成するタスクを課される、人間の「タガー（ｔａｇｇｅｒ）」のグループを管理してもよい。サービスプロバイダと関連付けられたメディアデバイスのユーザは、次いで、サービスプロバイダによって作成されたタグデータを受信する、または別様にそれにアクセスし、ユーザが、タガーによって識別されるセグメント境界に基づいて、メディアコンテンツアイテムをナビゲートすることを可能にしてもよい。他の実施例では、タグデータは、個々のユーザまたは他のソースによって作成され、メディアデバイス間で共有されてもよい。
【００１３】
一実施形態では、ユーザのメディアデバイスは、サービスプロバイダまたは他の遠隔ソースによって作成されたタグデータとメディアコンテンツアイテムのメディアデバイスのローカルに記憶されたコピーを同期させるように構成されてもよい。一般に、遠隔で作成されたタグデータを同期させるプロセスは、メディアデバイスが、タグデータを作成するために使用されるメディアコンテンツアイテムのバージョンに対するメディアデバイスによって受信および記憶されたメディアコンテンツアイテムのバージョンにおける差異を考慮することを可能にする。差異は、例えば、異なる地理的地域において放送される異なるコマーシャル、異なるコマーシャルセグメント持続時間、および放送されるメディアコンテンツアイテムにおける他の地域変動を含んでもよい。
【００１４】
一実施形態では、メディアコンテンツアイテムのストリーミングコピーを受信し、メディアコンテンツアイテムと関連付けられたタグデータを使用する、メディアデバイスの能力を改良するための技法が、提供される。例えば、ユーザは、最初に、ホストメディアデバイス（例えば、ローカルＤＶＲまたはクラウドベースのＤＶＲシステム）を使用して、テレビ番組または他のメディアコンテンツアイテムを記録してもよい。ユーザは、次いで、後に、モバイルデバイスまたはタブレットコンピュータ等のポータブルデバイスを使用して、テレビ番組の再生を要求してもよく、ホストメディアデバイスは、テレビ番組をポータブルデバイスによるストリーミング再生に好適なフォーマットにトランスコードしてもよい。一実施形態では、ポータブルデバイスは、メディアコンテンツアイテムのローカルコピー全体を記憶することが不可能であり得るため、ホストメディアデバイスは、ポータブルメディアデバイスがタグデータを正確に使用することを可能にする、付加的タイミングメタデータをトランスコードされたメディアコンテンツストリームの中に埋め込むように構成されてもよい。
【００１５】
ある実施形態では、コンピューティングデバイスは、メディアコンテンツアイテム内の可能性として考えられるセグメント遷移を自動的に識別するように構成される。例えば、メディアコンテンツアイテムの種々の特性が、分析され、セグメント遷移に対応する可能性が高いメディアコンテンツアイテム内の点を判定してもよい。メディアコンテンツアイテム内の可能性として考えられるセグメント遷移点を識別するために使用され得る、特性の実施例として、限定ではないが、メディアコンテンツアイテムと関連付けられたクローズドキャプションテキストのスタイルの変化、メディアコンテンツアイテムのオーディオレベルの変化、場面ブランキングのインスタンスの検出、既知の広告のデータベース等が挙げられる。
【００１６】
２．０．    動作環境
【００１７】
図１は、１つまたはそれを上回る実施形態による、タグデータを作成および同期させるための例示的システム１００のブロック図である。システム１００は、１つまたはそれを上回るコンピューティングデバイスを備える。これらの１つまたはそれを上回るコンピューティングデバイスは、本明細書に説明される種々の論理コンポーネントを実装するように構成される、ハードウェアおよびソフトウェアの任意の組み合わせを備える。例えば、１つまたはそれを上回るコンピューティングデバイスは、本明細書に説明される種々のコンポーネントを実装するための命令を記憶する、１つまたはそれを上回るメモリと、１つまたはそれを上回るメモリ内に記憶された命令を実行するように構成される、１つまたはそれを上回るハードウェアプロセッサと、種々のコンポーネントによって利用および操作されるデータ構造を記憶するための１つまたはそれを上回るメモリ内の種々のデータリポジトリとを含んでもよい。
【００１８】
一実施形態では、システム１００は、メディアデバイス１０２と、ポータブルデバイス１０４とを含む、１つまたはそれを上回るメディアデバイスを含む。本明細書で使用されるように、メディアデバイス１０２およびポータブルデバイス１０４は、概して、テレビ番組、映画、ビデオオンデマンド（ＶＯＤ）コンテンツ等のメディアコンテンツアイテムをケーブル信号、地上信号、デジタルネットワークベースのデータ、別のメディアデバイス等から受信可能な任意のタイプのコンピューティングデバイスを指す。図１では、例えば、メディアデバイス１０２は、１つまたはそれを上回るコンテンツソース１０６から受信されたメディアコンテンツアイテムを再生する、記録する、ストリーミングする、および／または別様にそこにアクセスするために使用され得る、ＴＶチューナ入力を含んでもよい。例えば、１つのコンテンツソース１０６は、ケーブルオペレータによって提供される、ライブテレビフィードを含んでもよく、他の例示的コンテンツソース１０６として、限定ではないが、ビデオオンデマンド（ＶＯＤ）ライブラリ、第三者コンテンツプロバイダ（例えば、Ｎｅｔｆｌｉｘ（Ｒ）、ＡｍａｚｏｎＰｒｉｍｅ（Ｒ）等）、ウェブベースのメディアコンテンツ、衛星放送コンテンツ、地上放送コンテンツ等が挙げられる。例示的メディアデバイス１０２として、限定ではないが、セットトップボックス（ＳＴＢ）、デジタルビデオレコーダ（ＤＶＲ）、パーソナルコンピュータ、タブレットコンピュータ、ハンドヘルドデバイス、テレビ、および他のコンピューティングデバイスが挙げられる。
【００１９】
ある実施形態では、システム１００はさらに、１つまたはそれを上回るＩＰ対応ポータブルデバイス１０４を含んでもよい。一般に、ＩＰ対応メディアデバイス１０４は、公衆インターネット、イントラネット、ＬＡＮ、ＷＡＮ等の１つまたはそれを上回るデジタルネットワーク１１０を経由してメディアコンテンツを受信可能であるが、ＴＶチューナ入力を含む場合もある、またはそうではない場合もある、任意のタイプのコンピューティングデバイスを指し得る。ポータブルデバイス１０４の実施例は、限定ではないが、ＳＴＢ、ＤＶＲ、パーソナルコンピュータ、スマートフォン、タブレット、ラップトップ、ゲームデバイス、メディアサーバ、デジタルメディア受信機、テレビ、地上アンテナ等を含む。典型的ユーザは、ユーザの自宅全体を通した種々の場所およびいずれかの場所に位置し、使用され得る、いくつかのメディアデバイス１０２および／またはポータブルデバイス１０４を所有し得る。
【００２０】
ある実施形態では、メディアデバイス１０２およびポータブルデバイス１０４は、１つまたはそれを上回るネットワーク１１０を介して、サービスプロバイダ１０８に結合される。ネットワーク１１０は、広義には、有線、無線、地上マイクロ波、または衛星リンクのいずれかを使用する、１つまたはそれを上回るＬＡＮ、ＷＡＮ、セルラーネットワーク（例えば、ＬＴＥ、ＨＳＰＡ、３Ｇ、より古い技術等）、および／またはインターネットワークを表し、公衆インターネットを含んでもよい。さらに、各メディアデバイス１０２およびポータブルデバイス１０４は、１つまたはそれを上回るネットワーク１１０を介して、１つまたはそれを上回る他のメディアデバイスに結合されてもよい。
【００２１】
ある実施形態では、サービスプロバイダ１０８は、種々のサービスをメディアデバイス１０２およびポータブルデバイス１０４に提供するように構成されてもよい。本明細書により詳細に説明されるように、サービスプロバイダ１０８は、種々のメディアコンテンツアイテムのためのタグデータの作成を可能にし、タグデータをメディアデバイス１０２およびポータブルデバイス１０４に提供するように構成されてもよい。
【００２２】
以降により詳細に説明されるように、各メディアデバイス１０２は、メディアコンテンツアイテムのコンテンツソース１０６からの受信、メディアコンテンツアイテムの再生、メディアコンテンツアイテムの記録のスケジューリング、他のメディアデバイスへのメディアコンテンツアイテムのストリーミング等を含む、種々のアクションをメディアコンテンツアイテムに対して行うように構成されてもよい。
【００２３】
システム１００は、本明細書に説明される機能性を提供するように構成されるコンポーネントの多くの可能性として考えられる配列のうちの１つのみを図示する。他の配列は、より少ない、付加的、または異なるコンポーネントを含んでもよく、コンポーネント間の作業の分割は、配列に応じて変動してもよい。
【００２４】
図１では、システム１００の種々のコンポーネントが、矢印によって、種々の他のコンポーネントに通信可能に結合されるように描写される。これらの矢印は、システム１００のコンポーネント間の情報フローのある実施例のみを図示する。矢印のいずれの方向またはあるコンポーネント間の矢印線の欠如も、あるコンポーネント自体間の通信の存在または不在を示すものと解釈されるべきではない。実際、システム１００の各コンポーネントは、オープンポート、ＡＰＩ、または他の好適な通信インターフェースを特徴としてもよく、それによって、コンポーネントが、本明細書に説明されるシステム１００の機能のいずれかを遂行するために、必要に応じて、システム１００の他のコンポーネントに通信可能に結合された状態になり得る。
【００２５】
３．０．    機能概要
【００２６】
メディアコンテンツアイテムのセグメントを識別するタグデータの作成を可能にし、さらに、任意の数のメディアデバイスを横断したタグデータの同期を可能にする、アプローチ、技法、および機構が、説明される。さらに説明されるのは、他の特徴の中でもとりわけ、ストリーミング再生のために、タグデータとメディアコンテンツアイテムのトランスコードされたバージョンを併用するための技法と、人間のタガーによって作成されたタグデータの品質を改良するための技法と、メディアコンテンツアイテム内のセグメント遷移を自動的に検出するための技法とである。
【００２７】
３．１．    メディアコンテンツタグ作成
【００２８】
ある実施形態では、タグデータは、１つまたはそれを上回るメディアコンテンツアイテム内の種々のセグメントを識別するために作成される。例えば、タグデータは、概して、メディアコンテンツアイテム内の時間位置を識別する、任意のデータを含んでもよい。例えば、特定のテレビ番組のために作成されたタグデータは、種々のコマーシャル時間、番組のセグメント、ユーザ定義クリップ等と関連付けられた開始および／または終了時間を示してもよい。タグデータは、例えば、他の使用の中でもとりわけ、ユーザがメディアコンテンツアイテム内の特定の場所を効率的にナビゲートすることを可能にし、メディアデバイスが特定のセグメントをスキップする（例えば、コマーシャルセグメントをスキップする）ことを可能にするために使用されてもよい。
【００２９】
一実施形態では、サービスプロバイダ（例えば、サービスプロバイダ１０８）は、メディアコンテンツアイテムのためのタグデータを作成し、メディアデバイス（例えば、メディアデバイス１０２および／またはポータブルデバイス１０４）のユーザがメディアコンテンツアイテム内の種々の点により効率的にナビゲートすることを可能にしてもよい。サービスプロバイダ１０８は、例えば、メディアコンテンツアイテムがメディアデバイスによって記録されたことの検出に応じて、またはユーザが１つまたはそれを上回る特定のメディアコンテンツアイテムのためのタグデータを要求したことに応答して、特定のメディアコンテンツアイテムのために作成されたタグデータを送信してもよい。
【００３０】
一実施形態では、サービスプロバイダは、人間のタガーを使用して、メディアコンテンツアイテムのためのタグデータを作成してもよい。例えば、サービスプロバイダと関連付けられた人間のタガーは、タガーが特定のメディアコンテンツアイテムを視聴するにつれてセグメント遷移を識別することによって、タグデータを作成してもよい。例えば、人間のタガーは、メディアデバイスを使用して、テレビ番組の初回放送を鑑賞してもよい。メディアデバイスはさらに、タガーがセグメント遷移に対応するメディアコンテンツアイテム内の場所を規定することを可能にする（例えば、番組セグメントからコマーシャルセグメント、コマーシャルセグメントから番組セグメントへの戻り、１つの番組から別の番組等）、入力デバイスとインターフェースをとってもよい。ある実施形態では、タガーがセグメント遷移を視聴する度に、タガーは、入力を入力デバイスに提供し、セグメント遷移場所を識別する、新しいタグを作成してもよい。
【００３１】
ある実施形態では、タガーによって作成された各タグは、タガーによって規定されたメディアコンテンツ内の場所に対応する、メディアデバイスによって報告されるストリーム時間と関連付けて記憶されてもよい。本文脈では、ストリーム時間は、外部クロックに基づいてではなく、メディアコンテンツアイテムストリームの再生に対する時間を指す。したがって、特定のメディアコンテンツアイテムのためのタグデータは、タグの集合を備えてもよく、各タグは、タグのためのメディアコンテンツアイテム内の特定のストリーム時間を示し、識別されたセグメントのタイプ（例えば、コマーシャルセグメント、番組セグメント等）、タグに遭遇したときに行うための１つまたはそれを上回るアクション（例えば、アラートの表示、次のセグメントへの自動的スキップ、音声の消音、記録の開始または停止等）、タガーの識別、および／または任意の他の情報等、他の情報を含んでもよい。
【００３２】
ある実施形態では、タガーによって使用されるメディアデバイスはさらに、タガーによって視聴されるにつれて、メディアコンテンツアイテムのバージョン全体に関するタイミング情報を作成してもよく、タイミング情報は、メディアコンテンツアイテム内の場所から導出されるデータをメディアデバイスによって報告されるストリーム時間にマッピングする。タイミング情報の一実施例は、ハッシュ値シーケンスデータを含んでもよく、これは、メディアコンテンツアイテムとともに含まれるインバンドデータから導出されるハッシュ値を関連付けられたストリーム時間にマッピングする。例えば、メディアデバイスは、クローズドキャプションデータの完了された送信毎に１つまたはそれを上回るハッシュ値を計算し、タイムスタンプとハッシュ値を関連付けてもよい。
【００３３】
３．２．    メディアコンテンツタグ同期
【００３４】
上記に説明されるようにメディアコンテンツアイテムのために作成されたタグデータは、概して、タグデータが作成されたメディアデバイスによって報告される時間値に基づいてメディアコンテンツアイテム内の場所を識別する、データを備えてもよい。しかしながら、他のメディアデバイス（例えば、タガーの場所と異なる地理的地域に位置するメディアデバイス）によって受信された同一メディアコンテンツアイテムは、タガーによって視聴されるメディアコンテンツアイテムのバージョンに対して差異を含有し得る。一実施例として、１人の視聴者によって受信されたメディアコンテンツアイテムのバージョンは、別の視聴者によって受信された同一メディアコンテンツアイテムの第２のバージョンには存在しないローカルに放送されるコマーシャルを伴う、コマーシャルセグメントを含み得る。別の実施例として、コマーシャルセグメントの全体的持続時間は、メディアコンテンツアイテムのバージョン毎に変動し得る。
【００３５】
一般に、メディアコンテンツアイテムの第１のバージョン（例えば、タグデータを作成するためにタガーによって使用されるバージョン）と同一メディアコンテンツアイテムの別のバージョン（例えば、人間のタガーから国内を横断して位置するユーザによって記録されるバージョン）との間の差異は、バージョンのうちの１つに対して時間値を規定するタグデータの使用を試みるとき、不正確性をもたらし得る。メディアコンテンツアイテムの第１のバージョン、すなわち、基準バージョンが、全ての他のバージョンが同期され得る、標準として使用されてもよい。このように、ユーザによってローカルに記録されたバージョン等の他のバージョンは、基準バージョンと他のバージョンとの間の差異を識別するタグデータを受信するメディアデバイスによって正規化されてもよい。したがって、一実施形態では、タグデータを遠隔ソースから受信するメディアデバイスは、１つまたはそれを上回るステップを行い、タグデータとメディアデバイスによって受信された関連付けられたメディアコンテンツアイテムのバージョンを同期させてもよい。
【００３６】
図２は、メディアコンテンツアイテムの基準バージョンのために作成されたタグデータと異なるメディアデバイスによって受信された同一メディアコンテンツアイテムの異なるバージョンを同期させるためのプロセスを図示する、フロー図である。一実施形態では、大まかには、メディアデバイスは、タグデータが基づくメディアコンテンツアイテムの基準バージョンのために作成されたタイミング情報とメディアコンテンツアイテムのローカルに記憶されたバージョンのためにメディアデバイスによって作成されたタイミング情報を比較し、次いで、タイミング情報の比較に基づいて、タグデータをマッピングすることによって、遠隔で作成されたタグデータとメディアコンテンツアイテムのローカルに記憶されたバージョンを同期させてもよい。
【００３７】
ブロック２０２では、メディアデバイスは、メディアコンテンツアイテムの第１のバージョンに対応する、第１のハッシュ値データシーケンスを受信する。メディアコンテンツアイテムの第１のバージョンは、例えば、メディアデバイスに記録するためにスケジュールされたテレビ番組または他のコンテンツであってもよい。前述のように、メディアデバイス１０２は、例えば、サービスプロバイダ１０８から、特定のメディアコンテンツアイテムのために作成されたタグデータを有する第１のハッシュ値データシーケンスを受信してもよい。例えば、クローズドキャプションデータが、キャッチフレーズ「ＢＡＺＩＮＧＡ，  ｔｈｏｓｅ  ｔｒａｉｎｓ  ａｒｅ  ｃｏｏｌ！」がＭＤ５等の１つまたはそれを上回るハッシュ関数を使用して、第１のハッシュ値データシーケンスとして受信されるように変換されてもよい。ＭＤ５ハッシュ関数を使用した「ＢＡＺＩＮＧＡ，  ｔｈｏｓｅ  ｔｒａｉｎｓ  ａｒｅ  ｃｏｏｌ！」のハッシュ値データシーケンスは、「ｅ１９５ｄｆ７６ｄｆ３ｂｄ６ｂ８ｂ４８ｂ６ｃ０４２５６０ｄ１ｆｃ」である。「ＢＩＧ  ＢＡＮＧ  ＴＨＥＯＲＹ」の主人公のうちの１人が、特定のメディアコンテンツアイテムの規定されたストリーム時間に本キャッチフレーズを発し得る。メディアデバイスは、特定のメディアコンテンツアイテムの記録のスケジューリングに応答して、特定のメディアコンテンツアイテムのためのデータを要求するユーザ入力に応答して、または任意の他のイベントに基づいて、第１のハッシュ値データシーケンスを要求および受信してもよい。
【００３８】
ブロック２０４では、メディアデバイスは、メディアコンテンツアイテムの第２のバージョンのための第２のハッシュ値データシーケンスを作成する。例えば、タガーのメディアデバイスにおいてハッシュ値データシーケンスを作成することに関して上記に説明されるプロセスと同様に、メディアコンテンツアイテムを受信するメディアデバイスは、メディアコンテンツアイテムから導出されるデータ（例えば、クローズドキャプションデータ等）をハッシュ関数にフィードし、結果として生じるハッシュ値とメディアデバイスによって報告されるストリーム時間を関連付けることによって、ローカルタイミング情報を作成してもよい。前の実施例に戻ると、メディアコンテンツアイテムのローカルに記憶されたバージョンを受信する、メディアデバイスは、発話「ＢＡＺＩＮＧＡ，  ｔｈｏｓｅ  ｔｒａｉｎｓ  ａｒｅ  ｃｏｏｌ！」のクローズドキャプションデータをＭＤ５ハッシュ関数にフィードし、結果として生じるハッシュ値とメディアデバイスによって報告されるストリーム時間を関連付けてもよい。したがって、メディアデバイスは、メディアコンテンツアイテムを処理し、ハッシュ値およびストリーム時間値のマッピングを備える、ローカルタイミング情報を作成することができる。一般に、任意のプロセスが、タガーによってタイミング情報を生成するためのプロセスに準拠する、ローカルタイミング情報を生成するために使用されることができる。
【００３９】
ブロック２０６では、メディアデバイスは、第１のハッシュ値データシーケンスと第２のハッシュ値データシーケンスを比較し、メディアコンテンツアイテムの基準バージョンとメディアコンテンツアイテムのローカルに記憶されたバージョンの合致する部分を識別する。例えば、メディアデバイスは、第１のハッシュ値データシーケンスからの一連のハッシュ値が第２のハッシュ値データシーケンスからの一連のハッシュ値と同一または類似することを判定することによって、メディアコンテンツアイテムの第１のバージョンの一部およびメディアコンテンツアイテムの第２のバージョンの一部が類似することを判定してもよい。再び、我々の実施例に戻ると、「ＢＡＺＩＮＧＡ，  ｔｈｏｓｅ  ｔｒａｉｎｓ  ａｒｅ  ｃｏｏｌ！」に関するハッシュ値データシーケンスである「ｅ１９５ｄｆ７６ｄｆ３ｂｄ６ｂ８ｂ４８ｂ６ｃ０４２５６０ｄ１ｆｃ」が、異なるバージョンにおいて比較され、メディアコンテンツアイテムの基準バージョンおよびローカルに記憶されたバージョンの合致する部分を識別してもよい。
【００４０】
図３は、２つの異なるバージョンのためのハッシュ値データシーケンスを比較することによって、メディアコンテンツアイテムの２つのバージョンの合致する部分を識別する実施例を図示する。例えば、図３は、同一メディアコンテンツアイテムの第１のバージョン３０２および第２のバージョン３０４を図示する。図３の特定の実施例では、例えば、メディアコンテンツアイテムは、冒頭セグメント、第１のセグメント、第２のセグメント、および結末セグメントを含む、テレビホームコメディを表してもよく、セグメントはそれぞれ、コマーシャル時間が介在される。
【００４１】
上記に説明されるように、別個のタイミング情報（例えば、ハッシュ値データシーケンス）が、メディアコンテンツアイテムの第１のバージョン３０２および第２のバージョン３０４毎に作成されてもよい。タイミング情報の両インスタンスは、例えば、ハッシュ値とメディアコンテンツアイテムの個別のバージョンを再生するデバイスによって報告されるストリーム時間をマッピングする、テーブルまたは他のデータ構造を備えてもよい。上記の前の実施例では、テキストストリング「ＢＡＺＩＮＧＡ，  ｔｈｏｓｅ  ｔｒａｉｎｓ  ａｒｅ  ｃｏｏｌ！」に関するハッシュ値データシーケンスは、ＭＤ５ハッシュ関数を使用して、「ｅ１９５ｄｆ７６ｄｆ３ｂｄ６ｂ８ｂ４８ｂ６ｃ０４２５６０ｄ１ｆｃ」を含んでもよい。本ハッシュ値データシーケンスは、メディアコンテンツアイテムの個別のバージョンを再生するデバイスによって報告されるストリーム時間にマッピングされてもよい。したがって、メディアコンテンツアイテムの第１のバージョン、すなわち、基準バージョンに関して、データ構造内の第１のエントリは、「１，ｅ１９５ｄｆ７６ｄｆ３ｂｄ６ｂ８ｂ４８ｂ６ｃ０４２５６０ｄ１ｆｃ，［０００３］」であってもよく、これは、テーブルの行内のデータ値を表し、要素は、バージョン番号と、発せられたキャッチフレーズのハッシュ値と、メディアコンテンツアイテムのバージョンを再生するデバイスによって報告されるメディアコンテンツアイテムのストリーム時間に関連した秒単位の開始時間値とを含む。第２のバージョンに関するデータ構造内の第２のエントリは、「２，ｅ１９５ｄｆ７６ｄｆ３ｂｄ６ｂ８ｂ４８ｂ６ｃ０４２５６０ｄ１ｆｃ，［０００５］」であってもよく、これは、同一キャッチフレーズが２秒後に現れることを識別する。
【００４２】
図３に図示されるように、バージョン毎のタイミング情報の比較は、合致するコンテンツ部分３０６Ａおよび３０６Ｂを含む、いくつかの合致する部分をもたらす。図３にさらに図示されるように、合致するコンテンツ部分３０６Ａおよび３０６Ｂは、メディアコンテンツアイテムの個別のバージョンの開始に対して正確に同一時間に開始しない場合がある（例えば、先行するコマーシャルセグメントの異なる長さに起因して）。図３では、例えば、メディアコンテンツアイテムの第１のバージョン３０２に関するタイミング情報は、コンテンツ部分３０６Ａが時間５：４７において開始することを報告し得る一方、メディアコンテンツアイテムの第２のバージョン３０４に関するタイミング情報は、時間５：４２において開始することを報告し得る。
【００４３】
ブロック２０８では、ブロック２０６における合致する部分の識別に基づいて、メディアデバイスは、メディアコンテンツアイテムの第１のバージョンのために作成されたタグデータをメディアコンテンツアイテムの第２のバージョンにマッピングする。例えば、タグデータのマッピングは、概して、メディアコンテンツアイテムの種々の合致する部分の開始位置における差異の考慮を含んでもよい（例えば、図３の合致するコンテンツ部分３０６Ａおよび３０６Ｂの開始時間差を考慮する）。メディアデバイスは、それが受信されると、タグデータをマッピングしてもよい、またはメディアコンテンツアイテムの第２のバージョンの再生の間、タグデータを動的にマッピングしてもよい。
【００４４】
図４は、メディアコンテンツアイテムの２つの異なるバージョンの合致する部分の識別に基づいて、タグデータをマッピングする実施例を図示する。例えば、人間のタガーは、メディアコンテンツアイテムの第１のセグメントの開始を識別するタグ４０２Ａを含む、メディアコンテンツアイテムの第１のバージョン３０２のための作成されたタグデータを有してもよい。図３を参照して上記に説明されるように、２つの異なるメディアコンテンツアイテムのバージョンに関するタイミング情報の比較に基づいて、メディアデバイスは、部分３０６Ａが部分３０６Ｂに対応することを判定してもよい。図４の実施例によって図示されるように、ブロック２０６の合致プロセスによって判定されたタイミング差は、合致するセグメントのマッピングを使用することによって考慮されてもよい。例えば、メディアデバイスは、メディアコンテンツアイテムの第１のバージョンからの部分３０６Ａが時間５：４７において開始する一方、メディアコンテンツアイテムの第２のバージョン内の同一部分３０６Ｂが時間５：４２において開始することを判定してもよい。したがって、タガーが、第１のバージョン３０２に対して５：２０点においてタグ４０２Ａを作成した場合、メディアデバイスは、メディアコンテンツアイテムの第２のバージョン３０４のための対応するタグ４０２Ｂの場所が時間５：４２であることを判定してもよい。
【００４５】
ある実施形態では、タグデータを同期させるためのプロセスは、メディアコンテンツアイテムの２つのバージョン間の他のタイプの変動も考慮するように構成されてもよい。例えば、メディアコンテンツアイテムのローカルに記録されたバージョンのある部分は、コンテンツが再生される速度に若干の増加または減少を呈し得る。ローカル放送局は、例えば、メディアコンテンツアイテムの一部の再生を若干加速し、コマーシャルの挿入のために利用可能な時間量を増加させ得る。別の実施例として、タグデータを同期させるためのプロセスは、タイミングデータが導出され得るインバンドデータ内のある程度の誤差または雑音量に耐えるように構成されてもよい。例えば、メディアデバイスは、メディアコンテンツアイテムの遠隔または基準バージョンの一部が同一メディアコンテンツアイテムのローカルに記録されたバージョンに合致するが、メディアコンテンツアイテムのローカルに記録されたバージョンが、遠隔バージョンと合致しない、いくつかの短間隙を合致する部分内に含むことを判定してもよい。本実施例では、メディアデバイスは、小間隙が信号雑音の結果であると仮定し、部分全体が合致することを判定するように構成されてもよい。一実施形態では、合致閾値は、メディアコンテンツの任意の２つの部分に関するタイミング情報が合致を示すパーセンテージを判定するために使用されてもよい。一実施例として、合致閾値は、８０％に設定され、特定の部分に関するタイミング情報の８０％が合致する場合、メディアデバイスが部分全体を合致部分として識別することを示してもよい。上記に説明されるもの等の種々のヒューリスティックルールが、メディアコンテンツアイテムの異なるバージョンの合致部分を判定するために使用されてもよい。
【００４６】
さらに別の実施例として、タイミング情報を合致させるためのプロセスは、特定のメディアコンテンツアイテム内のコンテンツの重複を考慮するように構成されてもよい。例えば、特定のテレビ番組は、特定の場面を描写する部分を含んでもよく、テレビ番組の後続部分は、前の場面の間に何が生じたかを視聴者に思い出させるために、特定の場面を２回目として再生することを含む、「再現」を含んでもよい。同一番組内で同一場面が１回を上回って再生される結果、メディアコンテンツアイテムのローカルに記録されたバージョンの部分と関連付けられたタイミング情報は、遠隔で作成されたタイミング情報の複数の部分と合致し得る（例えば、部分は、第１の場面および場面の「再現」の両方と合致し得る）。上記に説明されるように、マッピングされたハッシュ値データシーケンスを記憶するデータ構造は、データ構造内の別個のエントリとして記憶される、基準タグタイミング情報の複数の部分を含んでもよい。したがって、一実施形態では、メディアデバイスは、メディアコンテンツアイテムのローカルに記録されたバージョンの各部分と同一メディアコンテンツアイテムの遠隔バージョンの単一部分を合致させるように構成されてもよく、合致する部分は、正しい合致を確実にするために、同一の相対的順序で生じる。
【００４７】
一般に、図２のブロック２０６を参照して説明されるように、同一メディアコンテンツアイテムの２つのバージョン間の類似性を判定し、ブロック２０８において説明されるように、判定された類似性を使用してタグデータをマッピングするプロセスは、連続して、または並行して行われてもよい。上記に説明されるように、メディアデバイスは、結果として生じるマッピングされたタグ情報を使用して、ユーザがメディアコンテンツ内のタグ付けされた場所に正確にジャンプすること、セグメント（例えば、コマーシャルセグメント）を正確にスキップすること、および他の動作を行うことを可能にしてもよい。
【００４８】
３．３．    トランスコードされたコンテンツのためのタグ同期
【００４９】
様々なポータブルデバイス（例えば、ポータブルデバイス１０４）が、再生のためにメディアコンテンツをストリーミング可能であって、そのようなポータブルデバイスのユーザは、メディアコンテンツアイテムのコピー全体を記録可能な他のメディアデバイスに関連して上記に説明されるタグデータの同一使用の一部または全部を所望し得る。しかしながら、多くのポータブルデバイスは、メディアコンテンツアイテムのコピー全体を記録および記憶不可能であり得るため、ポータブルデバイスは、上記に説明される同一方法においてメディアコンテンツアイテムのためのローカルタイミング情報を作成不能であり得る。
【００５０】
一実施例として、多くのタイプのポータブルメディアデバイスは、ＨＴＴＰライブストリーミング（ＨＬＳ）プロトコルを使用して、遠隔で記憶されたメディアコンテンツアイテムの再生をサポートし得る。一般に、ＨＬＳプロトコルは、ホストデバイスにおいて記憶されたメディアコンテンツストリームをＨＴＴＰベースのファイルダウンロードのシーケンスに分け、各ダウンロードは、ストリーム全体の一部に対応する。ＨＬＳ規格は、例えば、概して、メディアコンテンツアイテムを特定の長さ（例えば、２秒）のセグメントに分割する。ポータブルデバイスメディアプレーヤが、ＨＬＳ規格を使用してトランスコードされた遠隔で記憶されたメディアコンテンツアイテムの再生を要求すると、ホストデバイスは、クライアントメディアプレーヤに、作成されたセグメントに対応するＵＲＬのリストを提供してもよい。ＨＬＳプロトコルは、ここでは例証的実施例として使用されるが、他の適応ストリーミングフォーマットも、遠隔で記憶されたメディアコンテンツアイテムの再生をサポートするために使用されてもよい。また、用語「トランスコーディング」が、ここでは使用されるが、トランスマックス等のオリジナルファイルからのストリームの一部または全部を保存しながら、ビデオまたはオーディオファイルのフォーマットを変化させる他のプロセスも、使用されてもよい。
【００５１】
ポータブルデバイスメディアプレーヤが、メディアコンテンツアイテムをストリーミングし、メディアコンテンツアイテム内の特定の時間にジャンプする（例えば、３秒にジャンプする）ことを要求する場合、メディアプレーヤは、要求される時間を含有するセグメントに関する要求をホストデバイスに送信してもよい（例えば、セグメントがそれぞれ、２秒長である場合、メディアプレーヤは、２〜４秒に及ぶセグメントを要求してもよい）。要求時間点が、要求されるセグメントの中央にあるため、メディアプレーヤは、次いで、受信されたセグメントの途中の１秒にジャンプし、要求される３秒点に到着してもよい。
【００５２】
タグデータを使用するポータブルデバイスの能力に影響を及ぼす１つの要因は、特定の時点に「ジャンプ」するポータブルデバイスの能力の正確度に関連する。特定の時間にジャンプするポータブルデバイスの能力は、例えば、前の情報がフレームをデコードするために必要ではないメディアコンテンツストリーム内の点に対応する、ストリーム内の瞬時デコーダリフレッシュ（ＩＤＲ）の頻度等のいくつかの要因によって影響され得る。ポータブルデバイスのジャンプする能力はまた、トランスコーディングの間に作成されたセグメント境界の位置および持続時間ならびにポータブルデバイスがセグメント境界および／またはＩＤＲフレーム以外の点に位置する能力を有するかどうかに依存し得る。
【００５３】
いくつかのポータブルデバイスメディアプレーヤは、メディアプレーヤがメディアコンテンツアイテム内の特定の場所にジャンプすることができる、正確度のある構成を可能にする。例えば、いくつかのメディアプレーヤは、ユーザが、要求される時間点の各方向において許容公差を規定することを可能にしてもよい。別の実施例として、メディアプレーヤは、ユーザが、メディアプレーヤが要求される位置の最大１秒前または０．５秒後に位置付けることを可能にされることを規定することを可能にしてもよい。
【００５４】
タグデータを使用するポータブルデバイスの能力に影響を及ぼす要因の別の実施例として、メディアコンテンツアイテムの同一部分に関するポータブルデバイスメディアプレーヤによって報告されるメディア再生時間とＤＶＲ上のオリジナル記録からのメディア再生時間との間には、差異が存在し得る。実施例として、正確にゼロ秒のメディア時間において開始し、そのビデオが、ビデオの開始から秒数を示す数字を表示する、メディアデバイス（例えば、ＤＶＲ）によるメディアコンテンツアイテムの記録を検討する。この場合、メディアコンテンツアイテムが、メディアデバイス上で再生中の場合に、数字１０が表示されるとき、ＤＶＲによって報告されるメディア時間は、１０秒である。しかしながら、メディアコンテンツアイテムをポータブルデバイスにストリーミングする間、ポータブルデバイスが、数字１０が表示されている間に１１秒の時間を報告し得る場合、ポータブルデバイスのメディア時間の概念と「真の」メディア時間との間には、１秒の相違が存在する。ここで不正確度を導入し得る、いくつかの要因が存在し得る。例えば、１つの要因は、セグメント再生リスト内でアドバタイズされる時間とトランスコードされているビデオの実際の時間との間の差異である。これらの相違が存在する少なくとも１つの理由は、ＩＤＲがセグメント境界と整列しておらず、ポータブルデバイスのみが、前の情報がフレームをデコードするためにポータブルデバイスによって必要とされないメディアコンテンツストリーム内の点として前述のように、ＩＤＲにジャンプ可能であり得ることであり得る。
【００５５】
一実施形態では、ポータブルデバイスがメディアコンテンツアイテムの基準バージョンの遠隔で作成されたタグデータを使用することを可能にするために、タイミングメタデータが、トランスコードされたメディアコンテンツストリームとともに含まれてもよい。例えば、メディアコンテンツアイテムを、例えば、ＨＬＳ規格を使用してフォーマットされる、メディアコンテンツストリームとしてサービス提供するホストメディアデバイスは、メディアコンテンツストリーム内に、ポータブルデバイスがタグ付けされた再生点に遭遇すると、ポータブルデバイスに、アプリケーションにローカルタイムスタンプを逆報告させる、１つまたはそれを上回るタグ付けされたタイムスタンプ（例えば、基準バージョンストリーム時間）を埋め込んでもよい。このように、ポータブルデバイスのメディアプレーヤは、現在送信されているビデオのフレーム毎に、ホストデバイス上のストリーム時間を判定することができる。例えば、ストリーム時間は、任意の点において、ＤＶＲオリジナルローカル時間が判定され得、ポータブルデバイスメディアプレーヤによるその点の要求から相違が生じても、ポータブルデバイスが、その時点で、ＤＶＲの基準バージョンストリーム時間を判定することができるように、トランスコードされたコンテンツの中に挿入されてもよい。
【００５６】
一実施形態では、ジャンプの正確度を改良するために、ホストメディアデバイスは、計時されたメタデータを使用して、ストリーム時間情報をトランスコードされたストリーム内に埋め込んでもよい。これは、ポータブルデバイスメディアプレーヤが、ポータブルデバイスによって報告される時間とストリームの真の時間との間の相違を補償することを可能にする。埋め込まれたメタデータはさらに、全てが記録のためにホストメディアデバイスの報告されたストリーム時間に基づくであろうため、ポータブルデバイスが、ホストメディアデバイスによって使用される同一ストリーム時間調節タグデータを使用することを可能にする。
【００５７】
一実施形態では、ホストメディアデバイスは、ストリーム時間（ホストメディアデバイスの観点から）をトランスコードされたストリーム内に計時されたメタデータとして挿入するように構成される。ポータブルデバイスメディアプレーヤが計時されたメタデータを受信する度に、メディアコンテンツストリームを再生しているアプリケーションに、本ストリーム時間とともにコールバックを発行する。広告スキップ機能性は、本ストリーム時間を監視し、それをタグデータと比較することができる。いったんストリーム時間（計時されたメタデータによって示されるように）がタグデータに示されるようなセグメントのためのストリーム時間に遭遇すると、広告スキップ機能性が、次のタグ付けされたセグメントにジャンプするために使用されてもよい。ある実施形態では、正確なジャンプ場所を判定するために、ポータブルデバイスは、タグデータを確認し、ジャンプすべきストリーム時間を識別してもよい。ポータブルデバイスメディアプレーヤは、次いで、現在のストリーム時間およびポータブルデバイスによって報告される現在の時間を判定し、例えば、現在の時間＋（ジャンプ点ストリーム時間−現在のストリーム時間）へのジャンプを発行してもよい。一実施形態では、オフセットは、ジャンプ点ストリーム時間と現在のストリーム時間との間の差異に追加される、現在の時間として判定されてもよい。他の実施形態では、オフセットが、計時されたメタデータおよびローカルに報告されるストリーム時間に基づいて、動的に判定されてもよい。
【００５８】
ある実施形態では、上記に説明される技法はまた、ホストメディアデバイスがクラウドＤＶＲシステムであるインスタンスにおいて、またはより一般的には、クライアントデバイスが、ローカルタイミング情報が作成され得る、メディアコンテンツアイテムの完全なコピーを有していない、任意の時間において使用されてもよい。上記のいくつかの実施例は、ＨＬＳトランスコーディングの使用を伴ったが、同一プロセスは、ストリームの中へのデータの挿入を可能にする、他のトランスコーディングおよびストリーミングフォーマットにも適用され得る。
【００５９】
図５は、ストリーム時間情報をメディアコンテンツアイテムのトランスコードされたコピーの中に埋め込むための例示的プロセスを図示する。ブロック５０２では、ホストメディアデバイスは、メディアコンテンツアイテムのストリーミングコピーの要求を受信する。例えば、ユーザは、モバイルデバイスを使用して、ユーザのＤＶＲデバイスに以前に記録および記憶されたメディアコンテンツアイテムの再生を要求してもよい。別の実施例として、ユーザは、モバイルデバイスを使用して、ユーザによってクラウドＤＶＲに記録するように以前にスケジュールされたメディアコンテンツアイテムのコピーを要求してもよい。
【００６０】
ブロック５０４では、メディアコンテンツアイテムのトランスコードされたバージョンが、作成される。メディアコンテンツアイテムのトランスコードされたコピーは、「オンザフライ」で（例えば、メディアコンテンツアイテムをストリーミングする要求の受信に応答して）作成されてもよい、またはトランスコードされたコピーは、要求が受信される前の任意の時間に作成されてもよい（例えば、ローカルＤＶＲまたはクラウドＤＶＲシステムは、任意の要求が受信される前であっても、一部または全部の記録されたメディアコンテンツアイテムのトランスコードされたコピーを作成してもよい）。
【００６１】
ブロック５０６では、ホストメディアデバイスは、ストリーム時間情報をメディアコンテンツアイテムのトランスコードされたコピーの中に挿入する。例えば、ホストメディアデバイスは、ストリーム時間をメディアコンテンツアイテムのトランスコードされたコピーのメタデータフィールドの中に挿入してもよい。
【００６２】
ある実施形態では、トランスコードされたコンテンツを再生するポータブルデバイスに関するジャンプ正確度をさらに改良するために、ホストメディアデバイス上のジャンプ機能性は、アンカに対応しない、メディアコンテンツアイテム内の場所にジャンプすることを可能にするように構成されてもよい。例えば、ホストメディアデバイスは、セグメント境界に最も近いアンカの代わりに、直接、セグメント境界にジャンプするように構成されてもよい。これは、当然ながら、ＤＶＲ上で再生しているときも、広告スキップをより正確にするという追加利点を有するであろう。
【００６３】
ある実施形態では、メディアコンテンツアイテムのトランスコードされたコピーのためのセグメントは、アンカと整合されることができる。メディアコンテンツアイテムのトランスコードされたコピーのためのセグメント境界が、アンカ時間と整合される場合、セグメント境界に対するアンカ間隔に起因する任意の不正確度は、事実上、排除され得る。
【００６４】
ある実施形態では、クラウドＤＶＲは、上記に説明されるプロセスのうちのいくつかを簡略化してもよい。例えば、クラウドＤＶＲは、単一トランスコードを生成し（「個人化された」記録毎に）、トランスコードされたファイルをサーバ上に記憶するように構成され得るため、ジャンプが生じる度に変化するストリーム時間の発行は、もはや存在しない。さらに、メディアコンテンツアイテムのセグメント化が、１回行われ、セグメントがポータブルデバイスによって読み出される度に、セグメントに対応するビデオデータが同一のままであるように、再生リストに記憶されてもよい。
【００６５】
ある実施形態では、上記に説明されるようなハッシュ値合致アルゴリズムが、トランスコードされたストリームを使用してサーバ上で行われる、次いで、クラウドＤＶＲにダウンロードされる場合、標準的記録を再生するときと同一論理が、使用されることができる。ポータブルデバイスに関して、サーバのトランスコーダは、オンザフライトランスコーディングと同一方法において、ストリーム時間をトランスコードされたコピーの中に埋め込むことができる。代替として、モバイルデバイスアプリケーションは、クラウドＤＶＲを用いて対処されており、ストリーム時間が埋め込まれることが期待されないことを判定してもよい。
【００６６】
３．３．    タグ品質保証
【００６７】
上記第３．１節に説明されるように、サービスプロバイダは、種々のメディアコンテンツアイテムのためのタグデータを生成し、他のメディアデバイスが、メディアコンテンツアイテムをより容易にナビゲートすること、コマーシャルセグメントをスキップすること、および他の機能を行うことを可能にしてもよい。最初に作成されたタグデータの正確度は、したがって、タグデータを使用する任意の他のメディアデバイスに関連する。一実施形態では、作成されるときのタグデータの品質および正確度の改良を補助するために、人間のタガーおよび／または監督者が、タグ作成プロセスの間、タグの正確度を監視することを可能にする、１つまたはそれを上回るツールが、提供されてもよい。例えば、人間のタガーがタグを作成する度に（例えば、番組セグメントの開始をマーキングするために）、タガーは、タグのタイミング正確度を精査し、必要とされる場合、タグを改訂することを所望し得る。
【００６８】
上記に説明されるように、人間のタガーは、メディアコンテンツアイテムを再生するメディアデバイスと同期され、タガーがメディアコンテンツアイテム内の時間点を「マーキング」することを可能にする、入力デバイスを使用して、特定のメディアコンテンツアイテムのためのタグデータを作成してもよい。例えば、タガーが、特定のメディアコンテンツアイテムを視聴するにつれて、タガーは、ボタンを押下する、または別様に入力を提供し、メディアコンテンツアイテム内の着目セグメントの開始または終了を示してもよい。一実施形態では、タグを作成するためのシステムは、現在視聴されているメディアコンテンツアイテムの一部を記憶し、タガーが、巻き戻し、作成されたタグの正確度を精査することを可能にする、バッファを含んでもよい。
【００６９】
ある実施形態では、監督者は、同様に、記録されたコンテンツのバッファを精査し得るように、類似ツールへのアクセスを有してもよい。例えば、タガーが新しいタグを作成すると、監督者は、バッファを使用して、メディアコンテンツアイテムを巻き戻し、作成されたタグの正確度を精査することができる。
【００７０】
一実施形態では、タガーが、セグメント遷移に気付くと、タガーは、タガーがセグメント遷移点のマーキングに備え得るように、メディアコンテンツストリームをある時間量だけ戻る（例えば、８秒戻る）ようにジャンプさせる、入力を提供してもよい。いったんタガーが、遷移点をマーキングする入力を提供すると、タガーは、次いで、精査プロセスを開始することができ、マーキングされた点を含むメディアコンテンツアイテムの部分は、再び再生され、ユーザに、コンテンツ内にあるタグの場所を示す（例えば、タグ付けされた場所に遭遇すると、フラッシュまたは他の表示を作成することによって）。
【００７１】
一実施形態では、１つまたはそれを上回るメディアデバイスは、品質制御精査の目的のためにタグ付けされる、いくつかのエピソードを記録してもよい。例えば、いくつかのタグ付けされたエピソードは、タガーが、精査し、タグが正確であるかどうかを判定し得るように、毎日記録されてもよい。
【００７２】
３．４．    自動セグメント検出
【００７３】
上記に説明されるように、タグデータを作成するための１つの技法は、人間のタガーがメディアコンテンツアイテムを視聴し、例えば、入力デバイスを使用して、セグメントの開始および／または終了に対応する時間点を識別することによって、メディアコンテンツアイテム内の着目セグメントを手動で識別することを伴う。一実施形態では、メディアデバイスは、セグメントを識別する人間のタガーに依拠するのではなく、メディアコンテンツアイテム内のセグメントを自動的に検出するように構成されてもよい。メディアコンテンツアイテム内のセグメント境界の自動検出は、メディアコンテンツアイテムの人間のタグ付けに取って代わるために使用されてもよい、または人間のタグ付けを補完し、人間が作成したタグの正確度の確認を補助するために使用されてもよい。
【００７４】
ある実施形態では、メディアコンテンツアイテムセグメント境界の自動検出は、概して、１つのセグメントから別のセグメントへのクローズドキャプションスタイルの変化、セグメント間のオーディオレベルの変化、場面ブランキングの検出、コンテンツの特徴を採取し、特徴を既知のセグメントのデータベースと比較すること、加重された組み合わせ係数等を含む、メディアコンテンツアイテムの種々の分析を含んでもよい。例えば、クローズドキャプションスタイルの変化の検出は、典型的には、コマーシャルセグメントから番組セグメントへの遷移を伴い得る、クローズドキャプションデータのフォーマットまたは他の特性における種々の変化の検出を含んでもよい。別の実施例として、オーディオレベル変化の検出は、コンテンツセグメントと比較したコマーシャルセグメントのオーディオレベルの測定に基づいてもよい。
【００７５】
ある実施形態では、特徴は、メディアコンテンツアイテムの一部から導出され、既知のセグメントのデータベースにクエリするために使用されてもよい。例えば、データベースは、既知のコマーシャルに関する特徴のセットを含んでもよく、メディアデバイスは、メディアコンテンツストリーム内のコマーシャルセグメントの存在を判定するためにクエリしてもよい。
【００７６】
一実施形態では、自動場面検出プロセスが、ユーザに、検出されたセグメント遷移点に対応する、提案されるタグのセットを提示してもよく、その正確度が、次いで、ユーザによって精査および確認されてもよい。例えば、自動場面検出プロセスは、タイムライン上にオーバーレイされた提案されるセグメント遷移点とともに、メディアコンテンツアイテムのタイムラインを提示してもよい。ユーザは、次いで、メディアコンテンツアイテムを通して走査し、提案されるタグが実際のセグメント境界と整合されるかどうかを確認してもよい。
【００７７】
４．０．    実装機構−ハードウェア概要
【００７８】
一実施形態によると、本明細書に説明される技法は、１つまたはそれを上回る特殊目的コンピューティングデバイスによって実装される。特殊目的コンピューティングデバイスは、デスクトップコンピュータシステム、ポータブルコンピュータシステム、ハンドヘルドデバイス、ネットワーキングデバイス、または有線および／またはプログラム論理を組み込み、技法を実装する、任意の他のデバイスであってもよい。特殊目的コンピューティングデバイスは、技法を行うために有線であってもよい、または技法を行うように永続的にプログラムされる、１つまたはそれを上回る特定用途向け集積回路（ＡＳＩＣ）もしくはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）等のデジタル電子デバイスを含んでもよい、またはファームウェア、メモリ、他の記憶装置、またはそれらの組み合わせ内のプログラム命令に従って技法を行うようにプログラムされる、１つまたはそれを上回る汎用ハードウェアプロセッサを含んでもよい。そのような特殊目的コンピューティングデバイスはまた、カスタム有線論理、ＡＳＩＣ、またはＦＰＧＡとカスタムプログラミングを組み合わせ、技法を遂行してもよい。
【００７９】
図６は、ある実施形態による、前述の技法を実装する際に利用されるコンピュータシステム６００を図示する、ブロック図である。コンピュータシステム６００は、例えば、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレット、スマートフォン、サーバアプライアンス、コンピューティングメインフレーム、マルチメディアデバイス、ハンドヘルドデバイス、ネットワーキング装置、または任意の他の好適なデバイスであってもよい。
【００８０】
コンピュータシステム６００は、情報を通信するための１つまたはそれを上回るバス６０２もしくは他の通信機構と、情報を処理するためにバス６０２と結合される、１つまたはそれを上回るハードウェアプロセッサ６０４とを含む。ハードウェアプロセッサ６０４は、例えば、汎用マイクロプロセッサであってもよい。バス６０２は、限定ではないが、内部プロセッサまたはメモリバス、シリアルＡＴＡバス、ＰＣＩエクスプレスバス、ユニバーサルシリアルバス、ハイパートランスポートバス、インフィニバンドバス、および／または任意の他の好適な有線もしくは無線通信チャネルを含む、種々の内部および／または外部コンポーネントを含んでもよい。
【００８１】
コンピュータシステム６００はまた、プロセッサ６０４によって実行されるための情報および命令を記憶するためにバス６０２に結合される、ランダムアクセスメモリ（ＲＡＭ）または他の動的もしくは揮発性記憶デバイス等のメインメモリ６０６を含む。メインメモリ６０６はまた、プロセッサ６０４によって実行される命令の実行の間、一時的変数または他の中間情報を記憶するために使用されてもよい。そのような命令は、プロセッサ６０４にアクセス可能な非一過性記憶媒体内に記憶されるとき、コンピュータシステム６００を命令内に規定された動作を行うようにカスタマイズされる特殊目的機械にする。
【００８２】
コンピュータシステム６００はさらに、プロセッサ６０４のための静的情報および命令を記憶するためにバス６０２に結合される、１つまたはそれを上回る読取専用メモリ（ＲＯＭ）６０８または他の静的記憶デバイスを含む。ソリッドステートドライブ（ＳＳＤ）、磁気ディスク、光ディスク、または他の好適な不揮発性記憶デバイス等の１つもしくはそれを上回る記憶デバイス６１０が、情報および命令を記憶するために提供され、バス６０２に結合される。
【００８３】
コンピュータシステム６００は、情報をコンピュータユーザに提示するために、バス６０２を介して、１つまたはそれを上回るディスプレイ６１２に結合されてもよい。例えば、コンピュータシステム６００は、高精細マルチメディアインターフェース（ＨＤＭＩ（登録商標））ケーブルまたは他の好適なケーブル類を介して、液晶ディスプレイ（ＬＣＤ）モニタに、および／またはピアツーピアＷｉ−Ｆｉ直接接続等の無線接続を介して、発光ダイオード（ＬＥＤ）テレビに接続されてもよい。好適なタイプのディスプレイ６１２の他の実施例は、限定ではないが、プラズマディスプレイデバイス、プロジェクタ、ブラウン管（ＣＲＴ）モニタ、電子ペーパ、仮想現実ヘッドセット、点字端末、および／または情報をコンピュータユーザに出力するための任意の他の好適なデバイスを含んでもよい。ある実施形態では、例えば、オーディオスピーカまたはプリンタ等の任意の好適なタイプの出力デバイスが、ディスプレイ６１２の代わりに利用されてもよい。
【００８４】
１つまたはそれを上回る入力デバイス６１４は、情報およびコマンド選択をプロセッサ６０４に通信するために、バス６０２に結合される。入力デバイス６１４の一実施例は、英数字および他のキーを含む、キーボードである。別のタイプのユーザ入力デバイス６１４は、方向情報およびコマンド選択をプロセッサ６０４に通信するため、そしてディスプレイ６１２上のカーソル移動を制御するためのマウス、トラックボール、またはカーソル方向キー等のカーソル制御６１６である。本入力デバイスは、典型的には、２つの軸、すなわち、第１の軸（例えば、ｘ）および第２の軸（例えば、ｙ）における２自由度を有し、デバイスが平面内の位置を規定することを可能にする。好適な入力デバイス６１４のさらに他の実施例は、ディスプレイ６１２、カメラ、マイクロホン、加速度計、運動検出器、および／または他のセンサに添着される、タッチスクリーンパネルを含む。ある実施形態では、ネットワークベースの入力デバイス６１４が、利用されてもよい。そのような実施形態では、ユーザ入力および／または他の情報もしくはコマンドは、ローカルエリアネットワーク（ＬＡＮ）もしくは他の好適な共有ネットワーク上のルータおよび／またはスイッチを介して、または入力デバイス６１４からコンピュータシステム６００上のネットワークリンク６２０へのピアツーピアネットワークを介して、中継されてもよい。
【００８５】
コンピュータシステム６００は、コンピュータシステムと組み合わせて、コンピュータシステム６００を特殊目的機械にさせる、またはそのようにプログラムする、カスタマイズされた有線論理、１つまたはそれを上回るＡＳＩＣもしくはＦＰＧＡ、ファームウェア、および／またはプログラム論理を使用して、本明細書に説明される技法を実装してもよい。一実施形態によると、本明細書の技法は、プロセッサ６０４がメインメモリ６０６内に含有される１つまたはそれを上回る命令の１つもしくはそれを上回るシーケンスを実行することに応答して、コンピュータシステム６００によって行われる。そのような命令は、記憶デバイス６１０等の別の記憶媒体からメインメモリ６０６の中に読み込まれてもよい。メインメモリ６０６内に含有される命令のシーケンスの実行は、プロセッサ６０４に、本明細書に説明されるプロセスステップを行わせる。代替実施形態では、有線回路が、ソフトウェア命令の代わりに、またはそれと組み合わせて、使用されてもよい。
【００８６】
用語「記憶媒体」は、本明細書で使用されるように、機械を具体的方式で動作させるデータおよび／または命令を記憶する、任意の非一過性媒体を指す。そのような記憶媒体は、不揮発性媒体および／または揮発性媒体を備えてもよい。不揮発性媒体は、例えば、記憶デバイス６１０等の光学または磁気ディスクを含む。揮発性媒体は、メインメモリ６０６等の動的メモリを含む。記憶媒体の一般的形態は、例えば、フロッピー（登録商標）ディスク、可撓性ディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、または任意の他の磁気データ記憶媒体、ＣＤ−ＲＯＭ、任意の他の光学データ記憶媒体、穿孔パターンを伴う任意の物理的媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、ＮＶＲＡＭ、任意の他のメモリチップもしくはカートリッジを含む。
【００８７】
記憶媒体は、伝送媒体と明確に異なるが、それと併用されてもよい。伝送媒体は、記憶媒体間の情報の転送に関わる。例えば、伝送媒体は、バス６０２を備えるワイヤを含む、同軸ケーブル、銅線、および光ファイバを含む。伝送媒体はまた、電波および赤外線データ通信の間に生成されるもの等の音響または光波の形態をとることができる。
【００８８】
種々の形態の媒体が、実行のために、１つまたはそれを上回る命令の１つもしくはそれを上回るシーケンスをプロセッサ６０４に搬送する際に伴われ得る。例えば、命令は、最初に、遠隔コンピュータの磁気ディスクまたはソリッドステートドライブ上で搬送されてもよい。遠隔コンピュータは、命令をその動的メモリの中にロードし、モデムを使用して、ケーブルネットワークまたはセルラーネットワーク等のネットワークを経由して、変調信号として命令を送信することができる。コンピュータシステム６００にローカルのモデムは、データをネットワーク上で受信し、信号を復調し、伝送された命令をデコードすることができる。適切な回路が、次いで、データをバス６０２上に設置することができる。バス６０２は、データをメインメモリ６０６に搬送し、そこから、プロセッサ６０４は、命令を読み出し、実行する。メインメモリ６０６によって受信された命令は、随意に、プロセッサ６０４による実行前または後のいずれかにおいて、記憶デバイス６１０上に記憶されてもよい。
【００８９】
コンピュータシステム６００はまた、ある実施形態では、バス６０２に結合される、１つまたはそれを上回る通信インターフェース６１８を含んでもよい。通信インターフェース６１８は、典型的には、双方向である、ローカルネットワーク６２２に接続されるネットワークリンク６２０へのデータ通信結合を提供する。例えば、通信インターフェース６１８は、統合サービスデジタルネットワーク（ＩＳＤＮ）カード、ケーブルモデム、衛星モデム、またはデータ通信接続を対応するタイプの電話回線に提供するためのモデムであってもよい。別の実施例として、１つまたはそれを上回る通信インターフェース６１８は、ローカルエリアネットワーク（ＬＡＮ）カードを含み、データ通信接続を互換性があるＬＡＮに提供してもよい。さらに別の実施例として、１つまたはそれを上回る通信インターフェース６１８は、８０２．１１ベースのコントローラ、Ｂｌｕｅｔｏｏｔｈ（登録商標）コントローラ、ロングタームエボリューション（ＬＴＥ）モデム、および／または他のタイプの無線インターフェース等の無線ネットワークインターフェースコントローラを含んでもよい。任意のそのような実装では、通信インターフェース６１８は、種々のタイプの情報を表すデジタルデータストリームを搬送する、電気、電磁、または光学信号を送受信する。
【００９０】
ネットワークリンク６２０は、典型的には、１つまたはそれを上回るネットワークを通して、他のデータデバイスへのデータ通信を提供する。例えば、ネットワークリンク６２０は、ローカルネットワーク６２２を通して、ホストコンピュータ６２４またはサービスプロバイダ６２６によって動作されるデータ機器への接続を提供してもよい。例えば、インターネットサービスプロバイダ（ＩＳＰ）であり得る、サービスプロバイダ６２６は、順に、ここで一般に「インターネット」６２８と称される、世界規模のパケットデータ通信ネットワーク等の広域ネットワークを通して、データ通信サービスを提供する。ローカルネットワーク６２２およびインターネット６２８は両方とも、デジタルデータストリームを搬送する、電気、電磁、または光学信号を使用する。デジタルデータをコンピュータシステム６００へおよびそこから搬送する、種々のネットワークを通した信号ならびにネットワークリンク６２０上および通信インターフェース６１８を通した信号は、例示的形態の伝送媒体である。
【００９１】
ある実施形態では、コンピュータシステム６００は、ネットワーク、ネットワークリンク６２０、および通信インターフェース６１８を通して、メッセージを送信し、プログラムコードおよび／または他のタイプの命令を含む、データを受信することができる。インターネット実施例では、サーバ６３０は、インターネット６２８、ＩＳＰ６２６、ローカルネットワーク６２２、および通信インターフェース６１８を通して、アプリケーションプログラムのための要求されるコードを伝送し得る。受信されたコードは、受信されるにつれて、プロセッサ６０４によって実行される、および／または後の実行のために、記憶デバイス６１０もしくは他の不揮発性記憶装置内に記憶されてもよい。別の実施例として、ネットワークリンク６２０を介して受信された情報は、ウェブブラウザ、アプリケーション、またはサーバ等のコンピュータシステム６００のソフトウェアコンポーネントによって解釈および／または処理されてもよく、これは、順に、可能性として、ソフトウェアコンポーネントのオペレーティングシステムおよび／または他の中間層を介して、それに基づく命令をプロセッサ６０４に発行する。
【００９２】
ある実施形態では、本明細書に説明されるシステムの一部または全部は、集合的に、システムの種々のコンポーネントをサーバ側プロセスのセットとして実装する、１つまたはそれを上回るコンピュータシステム６００を含む、サーバコンピュータシステムである、またはそれを備えてもよい。サーバコンピュータシステムは、ウェブサーバ、アプリケーションサーバ、データベースサーバ、および／またはある前述のコンポーネントが説明される機能性を提供するために利用する、他の従来のサーバコンポーネントを含んでもよい。サーバコンピュータシステムは、限定ではないが、デスクトップコンピュータ、タブレット、またはスマートフォン、遠隔感知デバイス、および／または他のサーバコンピュータシステム等のユーザ動作クライアントコンピューティングデバイスを含む、種々のソースのいずれかからの入力データを備える、ネットワークベースの通信を受信してもよい。
【００９３】
ある実施形態では、あるサーバコンポーネントは、インターネット等の１つまたはそれを上回るネットワークによってシステムに結合される「クラウド」ベースのコンポーネントを使用して、完全または部分的に実装されてもよい。クラウドベースのコンポーネントは、処理、記憶装置、ソフトウェア、および／または他のリソースをシステムの他のコンポーネントに提供する、インターフェースをエクスポーズしてもよい。ある実施形態では、クラウドベースのコンポーネントは、コンポーネントが展開される別のエンティティの代わりに、第三者エンティティによって実装されてもよい。しかしながら、他の実施形態では、説明されるシステムは、単一エンティティによって所有および動作される、コンピュータシステムによって完全に実装されてもよい。
【００９４】
ある実施形態では、装置は、プロセッサを備え、前述の方法のいずれかを行うように構成される。ある実施形態では、非一過性コンピュータ可読記憶媒体は、１つまたはそれを上回るプロセッサによって実行されると、前述の方法のいずれかの実施を生じさせる、ソフトウェア命令を記憶する。
【００９５】
６．０．    拡張および代替
【００９６】
本明細書で使用されるように、用語「第１の」、「第２の」、「ある」、および「特定の」は、クエリ、計画、表現、ステップ、オブジェクト、デバイス、または他のアイテムを、これらのアイテムが導入された後に参照され得るように、相互から区別するための命名慣例として使用される。本明細書に別様に規定されない限り、これらの用語の使用は、参照されるアイテムの順序、タイミング、または任意の他の特性を含意しない。
【００９７】
前述の明細書では、本発明の実施形態は、実装毎に変動し得る、多数の具体的詳細を参照して説明された。したがって、本発明であり、かつ本発明の出願人によって意図されるものの唯一かつ排他的な指標は、任意の後続補正を含む、そのような請求項が生じる具体的形態における、本願から生じる一連の請求項である。この点において、具体的請求項従属性が、本願の請求項に記載されるが、本願の従属請求項の特徴は、必要に応じて、単に、一連の請求項に列挙される具体的従属性に従うことなく、本願の他の従属請求項の特徴および独立請求項の特徴と組み合わせられてもよいことに留意されたい。さらに、別個の実施形態が本明細書で議論されるが、本明細書で議論される実施形態および／または部分的実施形態の任意の組み合わせが、さらなる実施形態を形成するために組み合わせられてもよい。
【００９８】
そのような請求項内に含有される用語に関する本明細書に明示的に記載される任意の定義は、請求項において使用されるような用語の意味を決定するものとする。故に、請求項に明示的に列挙されない限定、要素、性質、特徴、利点、または属性は、そのような請求項の範囲をいかようにも限定するものではない。明細書および図面は、故に、限定的意味ではなく、例証的と見なされるべきである。
【図１】
2018530257.tif 000003
【図２】
2018530257.tif 000004
【図３】
2018530257.tif 000005
【図４】
2018530257.tif 000006
【図５】
2018530257.tif 000007
【図６】
2018530257.tif 000008
【国際調査報告】
2018530257.tif 000009
2018530257.tif 000010
2018530257.tif 000011
2018530257.tif 000012
2018530257.tif 000013
2018530257.tif 000014