[go: up one dir, main page]

JP6219858B2 - 同期されたコンテンツの分散型制御 - Google Patents

同期されたコンテンツの分散型制御 Download PDF

Info

Publication number
JP6219858B2
JP6219858B2 JP2014560901A JP2014560901A JP6219858B2 JP 6219858 B2 JP6219858 B2 JP 6219858B2 JP 2014560901 A JP2014560901 A JP 2014560901A JP 2014560901 A JP2014560901 A JP 2014560901A JP 6219858 B2 JP6219858 B2 JP 6219858B2
Authority
JP
Japan
Prior art keywords
command
transport
stb
content
content controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014560901A
Other languages
English (en)
Other versions
JP2015515774A (ja
JP2015515774A5 (ja
Inventor
ギベンズ レッドマン ウィリアム
ギベンズ レッドマン ウィリアム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2015515774A publication Critical patent/JP2015515774A/ja
Publication of JP2015515774A5 publication Critical patent/JP2015515774A5/ja
Application granted granted Critical
Publication of JP6219858B2 publication Critical patent/JP6219858B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Selective Calling Equipment (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

(関連出願の相互参照)
本願は、米国特許法第119条(e)の下、2012年3月9日にて提出された米国仮出願第61/609,040号の優先権を主張し、その教示がここに組み込まれる。
本発明は、異なる場所における複数の参加者の間で、共有コンテンツの再生を制御するための技術に係わる。
種々の既知の技術により、複数のコンテンツコントローラ(「メディアコントローラ」とも呼ばれる)を、1つの分散型コンテンツコントローラ、「分散型トランスポート」とも呼ばれる、として集合的に動作させるような制御が可能とされる。コンテンツコントローラのコンフェデレーションのためのそのような技術により、複数の局(station)(通常は異なる場所にある)のそれぞれにおける個々のコンテンツコントローラが、情報およびコマンドを共有して、コントローラ同士の協調したアクションを通じて、全参加局で音声および/または映像のコンテンツの略同時再生を行うことが可能とされる。そのような技術により、各参加サイトを「共有コンテンツ」内のほぼ同じポイントで、ほぼ同じステータスで維持しながら、種々の場所にいる参加者が、異なるコンテンツコントローラコマンド、「トランスポートコマンド」(例えば、一時停止、巻き戻し、早送りおよび再生)とも呼ばれる、を実行することができる。換言すれば、分散型コンテンツコントローラを使用して提示される音声または映像のコンテンツは、介入するトランスポートコマンドに係わらず、各局においてコンテンツ内のほぼ同じ位置でほぼ同じ状態にあるように見える(例えば、再生中、一時停止中、早送り中)。(「トランスポート」という名詞は、本明細書において使用されるとき、デジタルコンテンツコントローラに関連し、テープレコーダで読込みおよび書込みのヘッドを通過して磁気テープを動かすのに使用される機械的な「テープトランスポート」の例えとして使用される。)従って、「共有コンテンツ」は、各局が実際にコンテンツをどのように取得するのかに依存せず、1参加局においてコンテンツコントローラの内の1つを使用したコンテンツの視聴歴が、他の参加局のいずれかにおけるものとほぼ同じであることを示す。
映像放送を見ている異なる視聴者が、同じコンテンツを同じ状態および位置で見ているとしても、これは、1視聴者が、例えば自分が所有するデジタルビデオレコーダ(DVR)を使用して、プレイアウトを一時停止する場合に、映像の視聴は一時停止するが、全ての他の視聴者が見る映像は継続する、という意味において、「共有コンテンツ」ではない。コンテンツは同じであるが、複数の局を通してステータスおよび位置の一貫性が無いために、そのような放送は「共有コンテンツ」として適格であるとは見なされない。異なるシナリオにおいて、そのような放送が、協同して分散型コンテンツコントローラを形成するDVRを使用して複数の参加者により見られる場合、その放送は、それらの視聴者にとっては「共有コンテンツ」であり、何故なら、1視聴者が自分のDVR上でコンテンツを一時停止または巻き戻しした場合、全ての参加DVRがそれに倣うからである。
たとえそうであっても、既存の分散型コンテンツコントローラには欠点がある。あるシステムでは、分散型コンテンツコントローラの制御が指定された参加者に限定される。スタジオ技術者が記録再生機器を制御するが、バンドのメンバーは制御しない、ということによく似ている。他のシステムでは、種々の場所にいる参加者が、平等の能力を有して共有コンテンツのプレイアウトを制御し、例えば、わずかに分かるフレーズをもう一度聴くために巻き戻す。しかし、2人またはそれ以上の参加者がお互いに短い間隔をおいてコマンドを発行する場合、追加的または相反する性質の複数のコマンドが生じ、競合状態が生じ得る。そのような複数のコマンドの実行により、望ましくないというわけでなくとも、予期しない結果が生じることがある。
任意の参加者が、分散型コンテンツコントローラに対してコマンドを発行することができる現在のシステムでは、トランスポートコマンドの発行者を識別することができないことも、問題の原因となり得る。現在、トランスポートコマンドの発行者のみが、コマンドの発行についての情報を有する。複数の参加者が、誰がそのようなコマンドを発行したのかについての情報を持たずに同時にコマンドを発行すると、個々の参加者が混乱して、1つまたは複数の追加コマンドを発行してしまう可能性があり、さらに状況が混乱する。
米国特許第6,653,545号(Redmannら)、および第7,518,051号(Redmann)では、collaborative music recording(協調的音楽記録)での使用に適した分散型トランスポート制御スキームが教示される。そのような分散型トランスポート制御戦略は、分散型コンテンツコントローラに命令する能力が、1つの指定された参加者に制限されるために、ソーシャルテレビジョン応用での使用には適さないと判明するであろう。米国特許第7,818,770号(Ducheneautら)、第7,873,983号(同じくDucheneautら)、及び米国特許出願第2011/0218656号(Bishopら)のそれぞれにおいて、個別局がその対応するコンテンツコントローラに対しコマンドを発行した場合でも、共有コンテンツのプレイアウトで複数局の同期を維持するための1つまたは複数の方法が教示される。しかし、これらの技術は、上述の欠点による不利益を被り、すなわち、ある場合において、同期が不十分な局を外すことにより特定の発行を回避する。従って、異なる場所における複数の聴衆構成員の間で共有コンテンツの再生を制御するための向上した技術が必要である。
簡潔には、好ましい実施形態によると、ローカルコンテンツコントローラにおいてトランスポートコマンドを処理して共有コンテンツの再生を制御するための方法が、受信したトランスポートコマンドが、ローカルコンテンツコントローラから、または、少なくとも1つのリモートコンテンツコントローラから生じたか否かを最初に判定することにより開始される。ローカルに生じたトランスポートコマンドのイベントにおいて、ローカルコンテンツコントローラは、まだ実行されていないトランスポートコマンドと共に、ローカルに生じたトランスポートコマンドに優先順位をつける。その後、ローカルに生じたトランスポートコマンドが優先度を持つ場合に、ローカルコントローラは、ローカルに生じたトランスポートコマンドを、それによる実行のために、少なくとも1つのリモートコンテンツコントローラに送信する。リモートに生じたトランスポートコマンドのイベントにおいて、ローカルコントローラは、まだ実行されていないトランスポートコマンドと共に、リモートに生じたトランスポートコマンドに優先順位を付け、次に、コンテンツコントローラ間の待ち時間に従って、優先順位付けされたトランスポートコマンドを実行する。
分散した聴衆としての参加者が使用して共有コンテンツを視聴するための分散型コンテンツコントローラの例示のブロック図を、テレプレゼンスの特徴と共に示す図である。 図1の分散型コンテンツコントローラ内で共有コンテンツの再生を行うためのコンテンツコントローラコマンド(すなわち、「トランスポートコマンド」)により誘発されるコンテンツコントローラの状態の遷移を示す例示の状態遷移図を示す図である。 図2に示すコンテンツコントローラの状態遷移を実装するための例示の遷移表を示す図である。 図1の分散型コンテンツコントローラ内でコンテンツコントローラ間の共通タイミングを確立するトランザクション例のトランザクション図を示す図である。 例示のトランスポートコマンド(例えば、「スキップ」コマンド)を、同様のコマンド(共に「スキップ後方向」)との競合状態のイベントにおいて説明する分散型コンテンツコントローラのトランザクション図を示す図である。 例示のトランスポートコマンド(例えば、「スキップ」コマンド)を、異種のコマンド「スキップ前方向」/「スキップ後方向)との競合状態のイベントにおいて説明する分散型コンテンツコントローラのトランザクション図を示す図である。 図1の分散した聴衆としての参加者のそれぞれから見た、図5Aに示される分散トランザクションを示す図であり、図1の分散型コンテンツコントローラが同期を復元する際に映像が一時停止されている。 図5Aの分散トランザクションの代替実施形態を示す図であり、図1の分散型コンテンツコントローラが同期を復元する際に映像がプリロールしている。 別の例示のトランスポートコマンドを説明する分散型コンテンツコントローラのトランザクション図を示す図であり、図1の分散型コンテンツコントローラのホールドオフ挙動を表す。 本原理の好ましい実施形態に従い、共有コンテンツを再生するための分散型コンテンツコントローラにおける参加のためのコンテンツコントローラ処理を、フローチャートの形式で示す図である。 リモートコンテンツコントローラコマンドに応答して共有コンテンツを制御するためのコンテンツコントローラ処理を、フローチャートの形式で示す図である。 ローカル局が図5Dの例示のトランザクションに応答する、異なる例示の挙動を示す図である。 ローカル局が図5Dの例示のトランザクションに応答する、異なる例示の挙動を示す図である。 ローカル局が図5Dの例示のトランザクションに応答する、異なる例示の挙動を示す図である。 ローカル局が図5Dの例示のトランザクションに応答する、異なる例示の挙動を示す図である。
図1は、共有コンテンツシステム100のブロック概略図を示し、このシステムは共通通信チャンネル101を使用して、複数の局、例えば、例示の局110、120、および130、とお互いに、かつヘッドエンド102と、リンクする。図示の実施形態において、局110、120、および130は、その目的に合わせて提供されるモニタおよびカメラ(図示の通り)を使用してその局間にテレプレゼンスを提供するのに適した特徴を持つ。このようにして、局110、120、および130は、お互いに通信することができ、また、個々の消費と共に、1つまたは複数の他の局と共有コンテンツとして共有するために、ヘッド102からコンテンツをダウンロードすることができる。ヘッドエンド102からダウンロードされたコンテンツには、映画、テレビ番組、ゲーム、広告などのオーディオビジュアルファイルを含むことができる。図1では3局110、120、および130が示されるが、より多くのまたは少ない局が本原理から逸脱することなく存在してよい。
局110、120、および130のそれぞれは、コンテンツモニタ112、122、および132それぞれを別個のものとして備え、それらは対応する参加者113、123、および133それぞれが視聴するためのものである。参加者113、123、および133は、そのコンテンツモニタ112、122、および132それぞれを、カウチまたは椅子114、124、および134それぞれから見る。図1の例示される実施形態において、局110、120、および130のそれぞれは、セットトップボックス(STB)111、121、および131それぞれを別個のものとして含み、ヘッドエンド102からのコンテンツにチューニングし、および、対応するコンテンツモニタ112、122、および132それぞれを駆動する。局110、120、および130はまた、テレプレゼンスモニタ116、126、および136それぞれと、配置されるテレプレゼンスカメラ117、127、および137それぞれとを含み、各々がSTB111、121、および131それぞれに個別に連結される。実際には、テレプレゼンスモニタ116、126、および136は、コンテンツモニタ112、122、および132それぞれの側面に置かれる。一例として、コンテンツモニタ112は参加者112と一直線に並べて置かれ、参加者113が方向118(例えば、正面)を見て、共有コンテンツを見る。しかし、参加者113は、異なる方向119(例えば、ある角度で)を向いてテレプレゼンスモニタ116を眺め、リモートテレプレゼンスカメラ127および137それぞれにより別個にキャプチャされる参加者123および133の画像を眺めることもある。
検討を簡単にするために、局110、120、および130の内の関連するものに常駐する参加者を「ローカル参加者」と称する。各ローカル参加者の観点からは、別の局の各参加者は「リモート参加者」となる。従って、局110の参加者113の観点から、それぞれ局120および130の参加者123および133は、リモート参加者となる。
図1には図示しないが、テレプレゼンスカメラ117、127、および137の内の1つまたは複数を、対応するコンテンツモニタ112、122、および132それぞれのスクリーンと共に置くことができる。そのような場合、各リモート参加者の画像を、ローカル参加者のコンテンツモニタ上にピクチャ・イン・ピクチャモードで現わすことができる。例として、参加者113は、リモート参加者123および133のそれぞれの画像を自分のコンテンツモニタ112上で眺めることができる。リモート参加者の画像をローカル参加者のコンテンツモニタ上に表示することにより、各ローカル参加者に個別のテレプレゼンスモニタを提供する必要性がなくなる。
セットトップボックス111、121、および131のそれぞれは、リモートコントロールユニット115、125、および135の内の関連するものそれぞれを有する。実際には、参加者113、123、および133のそれぞれが、対応するリモートコントロール115、125、および135それぞれを作動させて、それぞれのSTBによるヘッドエンド102からのコンテンツのチューニング、および、コンテンツモニタ112、122、および132上でのそのプレイアウトを制御する。このように、参加者112、123、および133のそれぞれが、自分のコンテンツモニタ上でのコンテンツのプレイアウトを制御することができる。1つまたは複数のリモート参加者との共有コンテンツセッションの間、ローカル参加者は、対応する1つまたは複数のリモート局においてコンテンツのプレイアウトを制御することもできる。
実際には、ヘッドエンド102からチューニングされたコンテンツは、テレビ放送装置、衛星テレビ会社、および/または、ケーブルテレビ会社、を含むがこれに限定されない1つまたは複数のソースからのものである。さらに、STB111、121、および131のそれぞれによってチューニングされるコンテンツは、例えば、VCR、DVDプレイヤ、パーソナルビデオレコーダ、パーソナルコンピュータ、またはローカルゲートウェイからのものであってよい。いくつかの例において、共有コンテンツの別個のコピーが、局110、120、および130のそれぞれに、存在してよい(例えば、STB111、121、および131に接続される別個のDVDプレイヤ)。他の例において、1つのSTB(例えば、STB111)が利用可能な番組は、各局においてコンテンツのローカルコピーを要求するのではなく、他の2つのSTB121および131にストリーミングされてもよい。
以下の検討では、ヘッドエンド102が、共有コンテンツモニタ112、122、および132それぞれにおいて、略同時かつ略同期して(以下で定義するように)に視聴するためのコンテンツのソースとして機能するものとする。実際には、共有コンテンツには、画像(例えば、映像)と共に、映像と同期して表される付随する音声が含まれる。説明を簡単にするために、図1では、音声のプレイアウトに必要な音声再生装置(例えば、スピーカ)を示さないが、そのような装置は、典型的には局110、120、および130それぞれにおいて存在する。
ヘッドエンド102は、サーバ103がSTB111、121、および131に通信チャンネル101を介して配信するためのコンテンツを格納する少なくとも1つの記憶装置104を備える。サーバ103にはまた、以下の種々の目的で、参加者113、123、および133またはSTB111、121、および131を認証するためのデータベース106が含まれてよい。
(a)特定のコンテンツを記憶装置104からダウンロードするための適格性を判定する
(b)電子番組ガイドまたは記憶装置104内の利用可能なコンテンツのインデックスを維持する
(c)参加者113、123、および133のそれぞれの友人のリストを維持して共有コンテンツの視聴を円滑にする
図2は、分散型コンテンツコントローラとして協働する図1のSTB111、121、および131が実装するコンテンツコントローラの例示の状態遷移図200を示し、コンテンツモニタ112、122、および132上で視聴されるコンテンツがそれぞれ、局110、120、および130それぞれにおいて、略同期した状態にあり、それにより、対応する参加者113,123,133に「共有コンテンツ」が提供される。各STBは、コンテンツを再生するためのコンテンツコントローラを提供する。「ローカルコンテンツコントローラ」は、メディアをローカルに再生するために必要な要素の集まりであり、例えば、物理的なDVDプレイヤおよびその動作を管理するための制御システムを備えてよく、代替的には(または追加的に)、ローカルコンテンツコントローラは、バッファ、デコーなどを含むデジタルメディアプレイヤを備えてよく、この場合も、その動作を管理するための制御システムが含まれてデジタルコンテンツが再生できるようにされる。本明細書において提供される「分散型コンテンツコントローラ」は、複数の局のそれぞれにおける別個のローカルコンテンツコントローラのコンフェデレーションであり、各局におけるコンテンツの再生がお互いに略同期した状態に落ち着くように、別々のコンテンツコントローラが協働して動作する。分散型コンテンツコントローラのいくつかの実施形態において、1つの局が、コンテンツ(例えば、DVDまたは事前にDVRによりキャプチャされた記録から)を提供し、それを他の局に提供してもよい。典型的には、最新のシステムでは、コンテンツコントローラが論理コンテンツコントローラを構成する。この論理コンテンツコントローラは、提示装置、例えばSTB、の適切なバッファ記憶装置を有するメモリバッファ(図示せず)からのデジタルコンテンツのプレイアウトを管理して、例えば、ヘッドエンド102もしくはPVRまたはDVD(図示せず)などの他のコンテンツソースから、または、リモートコンテンツコントローラから、デジタルコンテンツが配信される際のドロップアウトおよび変動に対処する。例示される実施形態において、信頼できるプレイアウト(すなわち、不適切な一時停止またはドロップアウトが無いプレイアウト)を確実にするために、各STBは、自身のローカル論理コンテンツコントローラを維持し、かつ、本明細書に記載される処理を適用して、各STBのそれぞれの論理コンテンツコントローラを略同期状態に保持する。
本原理の論理コンテンツコントローラは、仮想読取ヘッド、すなわちポインタ、を設け、バッファ(図示せず)内のコンテンツの現在のプレイアウトの位置を示す。最終的には、読取ヘッドがプレイアウト用のコンテンツの部分を読みだした後に、バッファがそのコンテンツをフラッシュして、まだ再生されていないコンテンツの受け取るためのスペースを作ることができる。この周知の構成においては、コンテンツがプレイアウトを受けて、バッファ内における一時停止、リジューム、早送り、巻き戻し、およびスキップなどのトランスポートコマンドのための早い信頼できるアクセスタイムを提示する際に、コンテンツへの正規の予測可能な信頼できるアクセスが可能となる。しかし、このアプローチでは、前方向または後方向へ大きくスキップする、または、全く異なるコンテンツを呼ぶ(すなわち、バッファ内に無いコンテンツへジャンプする)要求をするトランスポートコマンドに応答する際に、相当な待ち時間が表わされる。
相当な待ち時間は、以下のいくつかの原因から生じる。すなわち、(a)STB−サーバ間の各方向の通信リンクが課すディレイ。(2)コンテンツサーバ103におけるキューイングの要求に関連するディレイ、(3)コンテンツサーバでのアクセスタイムラグ(プレイアウトポイントの不測の変更による)、および、(4)新しい場所でプレイアウトを開始する前に、適切なバッファリングのためにSTBに課される要求。いくつかの状況下で、例えば、サーバ103に、または単一のSTB(例えば、STB111)上に実装される、単一のコンテンツコントローラは、コンテンツストリームを全ての参加STBに提供することができる。各STBは、トランスポートディレイを明らかにするためにコンテンツを別にバッファリングし、略同期してコンテンツモニタ112、122、および132のそれぞれに提示されるコンテンツを保持する必要がある。
通信ディレイおよびリモート装置の他の待ち時間を考慮することは、複数のSTBにわたって再生されるコンテンツの略同期の維持には重要である。図2において、一時停止状態201と再生状態203との間に「再生ペンディング」状態202を割り込ませること、および再生遷移251に向かう再生ペンディングにおいて使用されるタイムアウトの適切な設定が、待ち時間の問題に対処する働きをする。遷移251およびタイムアウトの適切な設定も、再生ペンディング状態202に遷移する他の状態を考慮する際には依然として重要である。タイムアウト遷移251以外の、ダイアグラム200内の残りの遷移は、トランスポートコマンドに相当し、これは典型的には、参加者によりリモートコントロール(例えば、リモートコントロール115)からコンテンツコントローラに発行される。ローカルSTB(例えば、STB111)がそのようなコマンドを受け取り、そのコマンドを他のSTB(例えば、STB121および131)に、他のSTBが予測可能に同期するための十分な追加情報と共に伝える。いくつかの実施形態において、そのようなコマンドはまた、ヘッドエンド102に伝わり、参加STBが要求する対応するストリーム(またはそれらのストリーム内での位置)が変更されたという通知をできるだけ早く提供する。一時停止コマンドにより、遷移232および252が生み出され、その両方が一時停止状態201を引き起こす。他の遷移222、224、226、および228もまた、一時停止状態を引き起こす。これらのコマンドが簡単に実装できるのは、それらが明確な、静止状態(共有コンテンツが一時停止される)を引き起こすからである。対照的に、遷移231は一時停止状態中に再生コマンドから生じ、遷移242、244、246、および248は全て、再生ペンディング状態を引き起こす(共有コンテンツは再生されるはずであるか、または間もなく再生される)。
リモートコントロール(例えば、リモートコントロール115)上に現れるスキップ後方向ボタンは、作動されると、現在の状態に依存して3つの異なる遷移を生み出すことが可能なスキップ後方向コマンド(SK−)をトリガする。現在の状態は、(a)一時停止状態201、(b)再生ペンディング状態202、または(c)再生状態203であってよく、これらにより、スキップ−/一時停止状態210に向かう遷移221、および、スキップ−/再生状態214に至る遷移241および261、が生み出される。リモートコントロール115上にスキップ後方向ボタンをリリースすることにより、コマンド(〜SK−)に、2つの遷移(a)一時停止状態201に戻る遷移222、または、(b)再生ペンディング202に向かう遷移242、の内の一方を生じさせる。
遷移と状態についての同様のまとまりも、状態遷移図200に表される。3つの遷移225、245、および265は、巻き戻しボタン押下により誘発されるコマンド(RW)から引き起こされ、同様に2つの状態(a)巻き戻し/一時停止状態212、および(b)巻き戻し/再生216、を生じさせる。巻き戻しボタンのリリースにより、それぞれ一時停止状態201および再生ペンディング状態202に向かう遷移226および246を生み出すコマンド(〜RW)がトリガされる。同様の関係がスキップ前方向ボタンの作動においても存在し、スキップ+/一時停止状態211およびスキップ+/再生状態215に向かう遷移223、243、および263を生み出すコマンド(SK+)がトリガされる。スキップ前方向ボタンのリリースによりコマンド(〜SK+)が生み出され、一時停止状態201に向かう遷移224および再生ペンディング状態202に向かう遷移244を生じさせる。
最後に、同様の関係が早送りボタンの作動において存在し、早送り/一時停止状態213および早送り/再生状態217に向かう遷移227、247、および267をトリガするコマンド(FF)が生み出される。早送りボタンのリリースにより、一時停止状態201に向かう遷移228および再生ペンディング状態202に向かう遷移248を生み出すコマンド(〜FF)がトリガされる。
DVDから供給されるコンテンツを使用することにより、例えば、(1)チャプタ+、(2)チャプタ−、(3)メインメニュー、(4)カーソルのアップ/ダウン/左/右、(5)選択などの追加コマンドを生じさせることができ、典型的には、同様の方法で実装される。実際には、「静的」状況に関連するコマンド(例えば、カーソル移動)は、最終状態を直接的に達成するが、「動的」状況(再生に向かうチャプタ+)を引き起こすコマンドは、適切に判定されるタイムアウト値を有する再生ペンディング202のような中間同期状態を通過する。そのようなコマンドは、本明細書において検討するものと同様の様式で処理され、これについては、以下のさらなる検討に基づき明らかになるであろう。ヘッドエンド102からのビデオオンデマンド(VOD)、または、他のウェブサイト(図示せず)からストリーミングされるオーバーザトップ(OTT)コンテンツと共に生じる他のコマンドについても同様であり、例えば、必要に応じて、電子番組ガイド(EPG)をナビゲートしたり、どのコンテンツを対応する商品から共有すべきかを選択したりする。
図3は、分散型コンテンツコントローラの現在の状態に依存して、1つまたは複数の外部イベント、例えばリモートコントロール115のボタンの作動、に応答したコマンドの発行を説明する遷移表300を示す。分散型コンテンツコントローラの集約状態、現在の協調時間、および/または、各ローカルコンテンツコントローラ動作の予想性能についての情報に基づき、少なくとも1つのパラメータを用いたコマンドの強化が可能である。遷移表300は、行301および列302を持つ。各行は、状態遷移図200の状態の内の1つに対応し、一方、各列は、リモートコントロール(例えば、リモートコントロール115)を介してなされるボタン作動の内の1つに対応する。遷移表300の各セル303は、図2の遷移に対応し、分散型コンテンツコントローラ用のコマンドを提供し、このコマンドは、行301の内の対応する状態によって示される状態中に列302の内の対応するイベントが発生するとき、発生する。多くの場合、示されるコマンドはヌルコマンド(例えば、セル304)を構成し、これは、何もアクションが必要でないことを意味する。リリースされたイベント〜SK+および〜SK−に対応するアクションも列も存在しないのは、本実施形態では、これらのアクションが全ての状況でヌルのままであるためである。全ての関連するアクションは、発生する場合は、SK+またはSK−のボタン作動で起こり、ボタンのリリースでは起きない。
表300内の頻繁に見られるアクションは、「Pause to P」であり、遷移232、252、226、および228と共に見られる。このコマンドの表記が示すことは、コマンドを受け取るローカル装置は位置「P」で一時停止すべきである、ということである。位置「P」は、イベントが発生しているローカル装置によりプレイアウトが制御されているコンテンツ内の一義的な位置を識別する。実際には、位置Pは、コマンドがリモートコントロール115を用いて発行される時の、STB111における共有コンテンツ内のコンテンツコントローラの現在位置に相当する。位置Pは典型的には、実装に依存して、フレーム番号、時間、またはコンテンツ内へのフレームオフセット、すなわち、コンテンツに埋め込まれるタイムコードの値、の内の1つを構成する。「Pause to P」は、「静的」アクションを構成し、そのようなものとして、全てのSTBは、コマンドを実行すると同期されることになる(このコマンドに、後に続くコマンドが干渉しないものとする)。
「Pause to P+d」および「Pause to P−d」は、表300においてそれぞれ遷移223および221と共に示す「Pause to P」条件の変形を構成する。ここで、「d」は、システム100においてスキップの基準として使用される変動(差分)を表す。いくつかの実装において、パラメータ「d」は、一時停止中にスキップコマンドと共に実際に送信されるパラメータではなく、所定の値を構成するものとすることができる。スキップサイズ「d」は、フレームや時間の大きさを表し、そういうものとして、イベントが発生すると、共有コンテンツ内のローカルコンテンツコントローラの現在位置「P」に対して加算または減算されてよく、コンテンツコントローラに対して共有コンテンツ内の正確な新しい位置が判定される。これらのアクションは「静的」アクションを表し、なぜなら、このアクションが、各コンテンツコントローラを特定の判別できる位置に導き、そこで無期限に(少なくとも、次のコマンドを受信するまで)待機するからである。
表300に見られる「FF from P@speed S」および「RW from P@speed S」などのアクションは、遷移、227、247、267、225、245、および265と共に発生し、各ローカルコンテンツコントローラ(例えば、各STB)に、速度係数「S」で、理想的には位置「P」から開始してそれぞれ順行再生または逆行再生させる。速度係数「S」は乗数を構成する。実装の決定事項に依存して、「S」には、整数値(例えば、2x、5x)または非整数値(例えば、2.5x、3.3x)が含まれてよく、また、1より大きい数に限定されるか、またはスローモーションが可能とされる1より小さい数(例えば、0.5xまたは0.0417x)に限定される。他の実施形態において、「S」は、1秒あたりのフレームで表現される値を表すことができる(「1」がスローモーションの場合、「24」は通常速度、「48」は倍速、など)。
興味深いことに、2つのアクション「FF/RW from P@speed S」は、各装置の実装に依存して、「静的」または「動的」なアクションを表すことができる。遷移225および227の場合、次の遷移はそれぞれ静的コマンドを構成する226または228に制限される。参加者がFFまたはRWのボタンを作動させる限り、参加者のローカル装置(例えば、STB)は、適切な速度係数で忠実に順行再生または逆行再生する。参加者がボタンをリリースすると、ローカル装置は、対応する静的コマンド「Pause at P」を伝える。最終的には、ボタンのリリースに続き、プレイアウトが全てのSTBにわたって同期される。しかし、分散型コンテンツコントローラが、早送りまたは巻き戻しの動作の実行中にも(どの程度良好に)引き続き略同期しているか否かは、実装の細部にすぎない。
例えば、早送りボタンの押下について考える。一実施形態において、FFボタンの作動時、ローカルコンテンツコントローラ(典型的には、ローカルSTB111により実装される)が現在位置「P」を与え、2x通常速度でプレイアウトを開始する(2xは、早送り速度係数の所定のデフォルトであるものとする)。ローカルSTB111は、FFコマンドを、Pについてローカルに取得された値および現在の同期された時刻T(図4と併せて以下で検討する)と共に、リモートSTB(例えば、STB121、131)に伝える。しかし、リモートSTBは、リモートSTBとの通信の待ち時間のため、少し後まで、そのような情報を受信しない。早送りコマンドの受信時、本実施形態では、リモートSTBが、「P」および「T」のパラメータを考慮せずに2xの速度で直ちに再生を開始する(なぜなら、「P」は正確であるか、最近通過されたものであり、「T」は常に過去のものであるため)。分散型コンテンツコントローラが、早送り(FF)ボタン作動の前に一時停止状態201にある時は、このアクションが、全ての参加局の参加者に酷似した形で、コマンドを発した局に比べてわずかに遅れてリモート局がこのコンテンツを再生するという警告と共に、現れる。後に続く、静的「Pause to P」アクションの伝送、受信、実行の際、各STBのコンテンツコントローラはもう一度同期する。
分散型コンテンツコントローラが、早送り(FF)ボタン作動の前に再生状態203である場合は、多少異なる挙動が起こる。リモート局は、コマンド発行局(例えば、STB111)と元々同期しており、コマンドが各リモートSTB(例えば、STB121131)に伝わる間は、通常速度でコンテンツの再生を継続する。リモートSTBがPまたはTを考慮せずにコマンドに従うのであれば、リモートSTBは、2x通常速度で早送りのプレイアウトを開始する前に、少し多くのコンテンツを通常速度で提示するはずである。この状態は、ボタンのリリース、ならびに、コマンド「Play pending from P@T+x」(早送りまたは巻き戻しのコマンドについては、遷移248または246に相当する)のリモートSTBへの伝送およびリモートSTBによる受信まで続く。
例示される実施形態において、図2の再生ペンディング状態202に向かってゼロのタイムアウトで遷移することによってのみ、通常速度の再生状態203に向かって直ちに遷移251が起こり、かつ、全ての局で略同期したプレイアウトが復元される。各局は、略同量のコンテンツを2x速度で再生するが、2x速度で再生されるコンテンツの開始部分が、各局において、チャンネル101を介する対応する接続の通信待ち時間の分だけ、多少異なる。
例示される実施形態では、あるSTB(例えば、STB111)から別のもの(例えば、STB121)に送られたコマンドの待ち時間が、ほぼ一致していると仮定している。待ち時間が一致しないならば、再生ペンディング状態202への(例えば、遷移248を介した)遷移が、FFコマンドの速度Sパラメータで除算した、FFコマンドおよび〜FFコマンドに相当する第1および第2のPパラメータにより示されるインターバルに従って、タイムアウトを設定することができる。このように、行われるアクション間の時間は、大元のボタンのイベント間の時間(または、代替えとして、このパラメータがどのコマンドにも付随すると仮定すると、2つのTパラメータ間の差)とほぼ等しい。このように、第1のコマンドが著しくディレイされ、後のコマンドがそうでない場合、2xのプレイアウトの非常に短いインターバルを持たせるのではなく、2xのプレイアウトは確なインターバルのために生じる。
第1のコマンドが適時に配信されるが、第2のコマンドがさらに著しくディレイするという、正反対の場合を管理するために、リモートSTBは、瞬間的なホールドオフを設けることができ、それにより、STBは、第1のコマンドの実行をホールドオフインターバルによりディレイさせる。ホールドオフ継続期間は、所定の値を持つこと、最悪の場合の待ち時間を表すことができ、または、待ち時間の観察される変化に基づき、動的に変動してよい。対の一方である第2のコマンドが現れると、インターバルの計算が発生し、早送り動作の正確な継続期間が再現される。このアプローチは、可変の待ち時間の存在下で同期を確実に復元するが、2x速度で再生されるコンテンツの開始部分が、各局において、チャンネル101を介する対応する接続の通信待ち時間とホールドオフ継続期間の分だけ異なる、という欠点がある。
さらに別の実施形態において、リモート局は、遮断位置を算出することができる。一例として、遷移267に関連してコマンド「FF from P@speed S」が、同期された時刻Tに発生したが、後の時刻Tに受信されたとする。その結果、発信局は、元の速度Sではなく速度Sでコンテンツを再生する。そのような状況下で、発信局は推定上、受信局に対して相対的にΔP=(S−S)(T−T)分だけ、受信局に先んじて再生する。受信局では、例えば、継続期間(T−T)(S−S)/(2S−S)の間、速度2Sで稼働することにより追いつこうと試みることができ、その後、2つの局の間の現在のプレイアウト位置の差は、ほぼゼロになるはずである。
その後、受信局は、他にコマンドを受けるまで、速度Sで再生することができる。ここで、速度2Sは、「追いつく」速度となるが、この速度は、実装の細部に依存して決めてよく、または、好みの問題として予め決めることができ、すなわち、受信コンテンツコントローラがうまく稼働すると思われる特定の速度があるためである。その後、発信局の参加者が早送りボタンをリリースすると、時刻T3に、プレイアウトが元の速度Sで再開し、受信局はこのことを時刻Tに学習する。そのような状況下で、受信局は、ΔP=(S−S)(T−T)分だけ行き過ぎ、典型的には、適切な継続期間の間、一時停止する(速度をゼロ、または、Sより小さい値に設定する)。一例として、受信局は、継続期間(T−T)(S−S)/Sの間一時停止することにより、行き過ぎ分を補うことができる。
例示される実施形態において、先に急進しているかまたは後に遅れている発信局を補正する試みが、予測因子原理処理を使用して生じる。例示される実施形態の変形において、発信局は、自局の現在位置Pおよび対応する時刻Tを周期的に送信することができ、また、他の局が、必要に応じて、予測因子原理処理を使用して、位置を合わせるよう作動する、ことを見込むことができる。予測因子原理処理の正確な実装は、対応するローカルコンテンツコントローラの特定の挙動、例えば、速度の値について特定の制限が存在するか否か、または、速度変更、一時停止などの際に、固有の待ち時間が存在するか否か、に依存する。他の制限が、本実装において生じてよく、例えば、位置の不連続を最小にする、または、発信局が一時停止していない場合の一時停止を防ぐ(すなわち、一時停止の代わりに、行き過ぎを補正しながら、1より小さい速度を使用する)。一般に、予測因子原理処理により、ロバストなシステムが同期を維持することが可能となり、例えば、直前に推測されたΔPがゼロに減少してしまう前に、新しい動的コマンドを受信するなど、複数のイベントが立て続けに発生することが容認される実施形態において、特にそうである。
例えば、「PLAYPENDIG from P@T+x」コマンドなどのいくつかのコマンドが、遷移が再生ペンディング状態202を引き起こし、ここで、タイムアウトは時刻T+xに時間切れとなるよう設定され、「x」は任意の対のSTBの間の最悪の予想待ち時間に基づくホールドオフを表す。これにより、どの局も時刻T+xの前のローカル時刻Tに、コマンドを受け取るだろうという見込みでで、コマンドの転送が可能であり、従って、タイムアウトがT+x−Tに設定された状態で、再生ペンディング状態202に向かう遷移が直ちに発生する。以下に、xの適正な値を測るための例示の機構の説明を、図4と併せて示す。あるいは、分散型コンテンツコントローラシステムでは、十分に大きい所定の値(例えば、x=500mSという設定)を用いることができる。このアプローチは、コンテンツのプレイアウトが、発信局を含めて、同時に開始されるという利点をもたらす。時折、通信チャンネル101での予想外の待ち時間のため、局が、時間通りに開始するには、コマンドを受信するのが遅すぎることがあるが、そのような場合には、予測因子原理処理により、その局を発信局に追いつかせることができる。
競合状態は、全ての他のSTBへの他のアクションの伝送の前に、1つまたは複数の参加者113、123、および133が、それぞれのリモートコントロール115、125、および135のそれぞれのボタンを押すとき、発生する。そのような競合状態を解消するために、各ボタンの作動は、参加者がボタンを押下した時間を示す付随の時間のタグ「T」を有する。時間「T」は、各ローカルクロックが他のローカルクロックと略同期した状態で、各局のローカルクロックに対して決められる。
図4は、分散型コンテンツコントローラに参加している3つのSTBの間でクロックを同期する様式を示す、例示のクロック同期トランザクションシーケンス400を示す。STB111、121、および131のそれぞれがお互いに通信する。本例において、STB111はマスタの役割を担う。STB111は、メッセージ401をSTBに送信してタイミングの関係性を確立する。STB111では、メッセージ401の送信時刻を時刻T111Sであると留意する。メッセージ401の受信時、STB121はメッセージ402で応答する。STB121は、この応答を可及的迅速に行うべきである。実際には、STB121では、メッセージ402の送信時刻を時刻T121Sであると留意し、この時刻をメッセージ402に含めることができる。STB111は、メッセージ402の受信時刻を時刻T111Rであると留意し、往復時間403をT111R−T111Sであると判定することができる。正確には正しくないが、往復時間が表すのは、双方の方向の送信の待ち時間L111to121の適正な近似値であり、(T111R−T111S)/2とされる。STB121が送信時刻T121Sをメッセージ402に含めたのであれば、時刻情報の受信時、STB111は、それら2つのクロック間の差を、関係性(T121S−(T111R−T111S)/2)−TlllRに従って、判定することができる。続いて、STB111は、STB121により提供されたどの時刻もローカル時刻に変換することができる。メッセージ402の受信時、STB111は、可及的迅速に応答を返さなければならず、これはメッセージ404を用いて時刻T111Aに送信され、この時刻がメッセージ404に含まれる。
STB121は、メッセージ404を時刻T121Rに受信し、関係性T121R−T121Sに従って、往復時間405を判定することができる。STB121は、T111A−(T121R−(T121R−T121S)/2)の値を自身のローカルクロックに加えることにより、STB111のクロック値を判定することができる。これにより、STB121は、マスタクロック(すなわち、STB111のクロック)の現在値を自身のクロックから算出することができる。いくつかの実施形態において、STB121は、自身のローカルクロックを、マスタクロックの算出された値と等しくなるように設定することができる。しかし、特定のSTBは、長い運用年数の間にはいくつかの異なるマスタを有しているかもしれない。このため、STBは、マスタに対応するオフセットを維持はするべきである。同様の様式で、STB111は、メッセージ411、412、および414を交換することによりSTB131と同期し、これにより、往復時間413および415が算出される。往復時間415は、STB131が自身のローカルクロックに適用してSTB111上のマスタクロックの現在値を判定するために必要なオフセットを規定する。
任意の所与の往復交換において、通信チャンネル101が、非対称すなわち偽の余剰の待ち時間を導入することがある。そのようなことが発生し得る間は、図1のシステムは、最小往復時間と同期して、クロックを同期させる目的で、偽の長い往復時間を無視すべきである。往復時間の統計的分析は、例えば、予想待ち時間を判定するために有用であることが分かる(例えば、一実装では、平均待ち時間を選択可能であり、別の実装では90パーセンタイル選択される)。参加STBの全ての対の中で最高予想待ち時間は、「x」について所定の値(例えば、500mS)が選ばれない限りは、図3においてコマンドのいくつかと併せて上記で検討したように、適切なホールドオフ「x」を判定するのに有用である。
概して、伝送のディレイが、STBの異なる対の間で同じであると信じる理由は無いため、同期は、STBの各対の間で発生するはずである。他の実施形態において、第1のSTBは、マスタとして機能することができ、他のそれぞれのSTBがマスタSTBのクロックに同期する。さらに他の実施形態において、STBの全てが、例えば、ネットワークタイムプロトコル(NTP)サーバを使用する信頼筋のクロックなどの別のマスタクロック、または、GPS(global positionin gsystem)由来のクロックに、同期することができる。さらに、クロックに同期する以外では、いくつかの状況において、図4と併せて説明したトランザクションに関連してホールドオフ「x」について適切な値を使用することが、有用であると分かる。
参加者は、STBの対の間の伝送のディレイのため、相反するコマンドをほぼ同時に発行することがある。本原理のシステムは、有利には、異なる局の参加者からのそのような同時のコマンドを管理して、矛盾を最小限にして、かつ、発生する矛盾を軽減する、直感的な、有効なインターフェースを提供する。同様のコマンドの場合、2つの参加者(例えば、参加者113および123)が、何かおかしな再生があって、両参加者がもう一度見たいと考えたため、それぞれ、自分のリモートコントロール(例えば、リモートコントロール115および125)のスキップ後方向(SK−)ボタンを作動させるという可能性を考える。各ボタン押下は、対応するローカルSTBによる処理がなされ、これにより、通信チャンネル101を介して他のSTBにコマンドが伝送される。管理されない場合、STB111、121、および131のそれぞれは、2回後方向にスキップし、おかしい部分を行き過ぎ、これは、どちらの参加者も意図しないことである。このアクションにより、分散型コンテンツコントローラを使用してコンテンツを視聴する参加者に対して、ぎこちなさと混乱を招くことになる。
図5Aは、可能性のある、相反するコマンドを処理するための分散トランザクション500を示す。各縦軸は、STB111、121、および131の1つを表す。時間は、図5Aにおいて、上から下に向かって進み、同時に発生するイベントが水平に並ぶ。STB111、121、131が略同期してコンテンツを再生している間に、参加者113が自分のリモートコントロール115のスキップ後方向ボタン551を押下して、ローカルSTB111によって時刻TPRIOR553に受信される、SK−コマンド552が生成される、と仮定する。遷移表300から、このイベントは、アクション241「PLAYPENDINGfromP−d@T+x」を引き起こす。P−dは、現在位置からSK−(すなわち、スキップサイズ)に関連する所定の差を引くことに相当するので、STB111は、これを位置「N」として算出する。T+xは、現在時刻「T」に何らかの差「x」を足したものであり、これは、所定の値を構成し得、または、上記で検討し、かつ、ここにTTRANSPORT+RESPONSE554(すなわち、リモートコンテンツコントローラのためのトランスポートのディレイおよび応答時間に余裕を与えるのに十分であると予想される時間量)として示すような現在の待ち時間条件に基づくものであってよい。従って、STB111T+xを時刻tSYNC555と算出する。さらに、このコマンドの発行の時刻を示すために、コマンドには、時刻tPRIORが付加される。従って、STB111は、コマンドPL:fr(N)@tSYNC,tPRIORをメッセージ557としてSTB121に送り、メッセージ558としてSTB111からSTB131に送る。この表記PL:fr(N)@tSYNCは、「時刻tSYNCに位置Nから再生する」ことを示す。
PRIORをメッセージ557に付加することにより、一時的な優先度コマンドが規定される。相反する場合、先のコマンドが統制する。可能性の低い、一時的な優先度が同じであるという場合、すなわち、2つのコマンドが同じ一時的な優先度値を持つ場合、より高い優先度を持つ参加STBからのコマンドが有効となり、一例の実施形態において、STBの優先度判定が、STBがセッションに参加した順序に依存する。この場合、STB111が最初に参加し、STB121が2番目に参加し、STB131が3番目に参加した。従って、メッセージ557は、コマンドが、第1の優先装置(ここではSTB111)から第2の優先装置(STB121)への送信用に生じたことを示すタグ「l→2」を有する。なお、メッセージがどのSTBから生じたのかは他のSTBに分かるため、各メッセージがSTB優先度を含む必要あるわけではない。別の例の実施形態のように、STB優先度は、STBのIPアドレスに応じて決めてもよく、より下位のIPアドレスの値がより高い優先度を有する。なお、これらの例では、STB111が、直ちに後方向にスキップするべく動作して、ローカル参加者113に、スキップコマンドが再生する映像を見せることができる。ローカルプレイアウトの種々の処理が、図6および7示されるが、以下で検討する。
コマンドのための時間が有効であるようにするために、システム100は、動的に指定しても、予め決めてもよい、ホールドオフインターバルtHOLDOFF556を課すことができ、先のコマンドのすぐ後に発行された他の参加者によるコマンドを許可しない。ホールドオフインターバルは、リモートコマンドを受ける参加者のための時間に、そのリモートコマンドが十分に効果的であるようにする。このように、参加者は、リモートに誘発されたコンテキストの変更を理解する機会を持った後、後続のコマンドを作成する。例えば、参加者は、別の参加者が後方向にスキップするコマンドを既に発行済みだとしても、後方向にスキップする必要はない。別の例として、参加者が早送りを試みても、別の参加者が既に同じアクションの実行をしようとした場合は、不適切とされる。ホールドオフインターバルを策定することでは、参加者が相反するコマンドを与えることを妨げなくても、そのようなコマンドをディレイさせることにより、そのような参加者に、そのコマンドが矛盾の原因になることに気付く機会を与える。
続いて、参加者123がリモート125のスキップ後方向ボタン561を押し、SK−コマンド562が生成されローカルSTB121で時刻tLATER563に受信される。これに応じて、STB121が、P−dの値として「M」を算出するが、この値は「N」と同じ値である必要はなく、なぜなら、tPRIORでのSTB111のプレイアウト位置が、tLATERでのSTB121のプレイアウト位置と一致する可能性が低いからである。同様に、STB121によるT+xの計算でt565が算出されるが、これがtSYNCと等しい可能性は低い。その結果、STB121は、コマンドPL:fr(M)@t,tLATERをメッセージ567としてSTB131に送り、メッセージ568としてSTB121からSTB111に送る。
時刻tFIRSTにて、STB131は、STB121からメッセージ567でPL:fr(M)@tコマンドを受信し、実装に応じて、時刻tまで動作することを待機できる。例えば、STB131は、タイムアウトがt−tFIRSTに設定された状態で再生ペンディング状態202に入るか、直ちにプレイアウトを開始することができ、この場合は、実際のコマンドにプリロールを設けるように位置Mの前のt−tFIRSTに対応する位置で開始され、または、図6および7にいくつかの例が見られる何らかの同様の挙動が設けられる。tSYNC+tHOLDOFFの少し前の時刻に、STB111は、STB121からメッセージ568でPL:fr(M)@tコマンドを受信する。tLATERに開始されたコマンドより先に、STB121がtPRIORにコマンドを開始し、tLATERの時点で、早いほうのコマンドのホールドオフインターバル556がまだ時間切れしていないため、STB111は、メッセージ568による後のコマンドを無視する。
時刻tSECONDにて、STB131は、STB111からメッセージ558でPL:fr()@tSYNCコマンドを受信する。STBは既にSTB121からメッセージ567でコマンドを受信しているが、この後から受信したコマンドは、tPRIORがtLATERより早いため優先度を有する。この2つのコマンドが同一の一時的な優先度(例えば、両者ともtPRIORに開始された)を持つとしても、メッセージ557は、メッセージ567より高い優先度を持つが、これは、前者のメッセージが高優先度のSTBから生じたものであるからである。その結果、STB131は、STB111からのメッセージ558によるコマンドに従ってアクションをとる。実装に応じて、参加者133には、明らかでない変化が発生することがある。任意の明らかな変化が無いのは、STB131のコンテンツコントローラが既に再生ペンディング状態に入っているが、現在はタイムアウトがtSYNC−tSECONDになる場合である。任意の明らかな変化が無いのは、STB131が既にプリロールを開始しており、STB121がtに関して命令したプレイアウトと最終的には同期することになるという場合にもある。プレイアウトは、必要に応じてスキップして、STB111が時刻tSYNCに関して命令したプレイアウトと同期する。アクションが無い別の例は、プリロールを採用する場合に生じ、プリロールにより、STB131が両リモート局からのコマンドが同じ差「d」分だけ後方向にスキップすることを認識するからである。その結果、プリロールまたは同期の変化が必要でなくなるか、または、差が、例えば1、2フレームの映像など小さ過ぎて、修正が必要ない。
STB121は、メッセージ557の受信時に同様の様式で動作する。メッセージ557のコマンドは、コマンド562より高い優先度を持ち、STB121は、同期したプレイアウトをtSYNCに達成する必要があるものとして、このコマンドに対処する。さらに、STB121は、tHOLDLDOFF556の時間切れまでコンテンツコントローラに影響を与えるリモートコントロール125からの追加コマンドを無視する。あるいは、STB121は、アイコンを表示すること、または、現在のところSTB121がそのようなコマンドを無視する旨を示す可聴の信号を生成すること、により、コマンドを受信したことに応答を返すことができる。そうであっても、STB121は、非トランスポートコマンド(例えば、これらの量の変更)は受け取るが、これらがローカル局のみに影響するからである。時刻tSYNCにて、STB111、121、および131のそれぞれが、お互いに分散して同期した状態でコンテンツを再生する。プリロールを設けることができるSTBのいずれも、既に再生状態203に入っている。タイムアウト251が時刻tSYNCに発生することを待っている、再生ペンディング状態202にあるSTBは、再生状態203に遷移したところである。
図5Bは、トランザクションシーケンス500と同様の分散トランザクションシーケンス570を示す。図5Bが異なっているのは、参加者123がリモートコントロール125のスキップ前方向ボタン571を押して、SK+コマンド572(SK−コマンド562ではなく)を生成したためである。このアクションにより、コマンドメッセージ575〜576が送信される。図5Bに示される条件の下、SK−およびSK+コマンドは、増分コマンドを構成し、すなわち、表300に示すコマンド形式とは対照的に、所定量だけ後方向または前方向にスキップさせる。従って、時刻tPRIORに、STB111は、STB121へメッセージ573でコマンド「SK−,tPRIOR」を送り、メッセージ574でSTB131向けにもそのコマンドを送る。この場合、前述のように、STB111は、分散型コンテンツコントローラが、一時停止していたか再生中であるかに係わらず、既に同期していると仮定する。さらに、STB111は、各局が、受信時にスキップを適切に処理する、または、いくつかの実施形態において、所定または動的に定められる時刻に、時刻tPRIORの後についてインクリメントする、と仮定する。同様に、SK+コマンド572は、「SK+,PLATER」としてパッケージ化され、STB131および111に、それぞれメッセージ575および576を介して送信される。しかし、STB131が、時刻tFIRST569に受信した第1のコマンドメッセージ575の受信直後に動作したか、または、再生ペンディング状態202用にSTB131が設定したタイムアウトが時間切れとなって、コマンド574の受信時には、既に実行済みのコマンド574より高い優先度を持つと判定される(tPRIOR<tLATERであるため)場合、STB131は、先の実行を戻す必要があるが、メッセージ575の優先度を持つコマンドを低くする。さらに、STB131は、メッセージ574からのコマンドを実行して、結果的に、時刻tSECOND559から前進して、STB131が第2のメッセージ574を受け取っただけであるかのように、STB131のローカルコンテンツコントローラが振る舞うようにする必要がある。
この、ローカルトランスポートコマンドを「戻す」能力は、第1のトランスポートコマンドの実行時に、STBがコマンドに従ってローカルコンテンツコントローラを指示する以上のことを必ず行う、ということを要求する。むしろ、STBは、モデルまたは十分なコンテンツコントローライベントデータを保持して、将来のステータスを判定する必要があり、なぜなら、ローカルコンテンツコントローラが第1のコマンドを無視して、そのままの状態が維持されたためである。概して、このことは、第1のコマンド(ここでは575)の実行時における時刻「T」でのコンテンツ位置「P」および速度「S」に留意することに等しい。そして、後の時刻Tに、tHOLDOFF(例えば、ここではtHOLDOFF556などであるが、図示はしないが、t565に開始して測定されるものでよい)の時間切れより早く、STBが、第1のコマンドより優先度が高い(574のように)、相反する第2のトランスポートコマンドを受信した場合、簡単な計算により、STBが第1のコマンドを実行しなかった、T時点のコンテンツ位置Pが提供される(P=P+S(T−T))。第2のコマンドが第1のコマンドより高い優先度を持たない場合は、STBは第2のコマンドを無視する。
第2のコマンドが実行されると、STBは、STBが第3の相反する、かつ、さらに高い優先度のコマンドを受信するという低い可能性の場合に使用できるように、P、S、およびTを必ず記憶する。tHOLDOFFインターバルが時間切れとなったコマンドと相反する優先度の高いコマンドは無く、このことにより、STBがどの程度の期間P、S、Tの組み合わせ(または、P、S、T)を記憶するのかについて、上限が設定される。現在の最高の優先度を持つコマンドに関連するtHOLDOFFインターバルの時間切れの際、STBは、対応するP、S、Tの組み合わせの記憶を消してよい。なお、各コマンドの時刻Tがコマンドの優先度を表す。上述のように、優先度が同じである場合、優先度を判定するためのさらなる機構を使用することが必要となる。従って、各実行済みコマンドについて、STBは、優先度値を保持すること、または、STBが現在のP、S、Tの組み合わせを保持して、任意の新しく受信されるコマンドと完全な優先度比較を可能にするだけの、優先度を判定する能力を持つことが必要である。なお、より高い優先度を持つメッセージ557または573の受信時、コマンド552に関連するtHOLDOFFインターバル556の時間切れまで、STB121は、リモートコントロール125からそれ以上コマンドを受け取らない。STB131は、メッセージ575の受信時、対応するホールドオフ時間(図示せず)まで、ローカルコマンドを受けておらず、リモートコントロール135からコマンドを受け取らない。メッセージ574でより高い優先度のコマンドを受信すると、STB131は、その制約を解いて、tHOLDOFFインターバル556の有効時間のみを要求することができる。
STB131とは異なり、STB111はそのような制約を受けない。受信したコマンドメッセージ576が、既に実施済みの受信コマンド552より低い優先度を持つため、STB111は、メッセージ576を無視する。tHOLDOFF556が時間切れしない限り、参加者113は、自分のリモート115を使用して別のコマンドを発行することができ、該コマンドは分散型コンテンツコントローラの関連で受け取られる。参加者のコマンドが優先度を持つと、最後のホールドオフインターバルが時間切れになり、「優先度」が簡単に手に入るまでは、次に続くコマンドもそのようになる。これにより、参加者113はアクションを開始することができ、例えば、特定のシーンを検索するなどして、1つ以上のコマンドコマンド552、例えば、数ステップ後方向にスキップするなど、が必要となる。このようにして、参加者は、そういった試みを干渉したり混乱させたりする参加者123および133などの他の参加者のコマンドの介入なく、各スキップを実行する権限を持つ。しかし、最後のスキップに対応するホールドオフインターバルが時間切れになると、参加者のコマンドのいずれもが、ローカルにかつ共有のために受け取られ、この優先度機構により解く別のコマンドの相反が生じる。
図5Aおよび5Bは、2つの例示のコマンドの表現機構を示す。シーケンス500のコマンドは、目標フレーム数(例えば、「N」、「M」)および表300に見られるような目標同期時刻(例えば、tSYNC555)を用いて完全に適格とされるという特性を持つ。シーケンス570のコマンドは、その発行時刻(例えば、tPRIOR553)に関連して現れる。受信されて現在は最高の優先度を持つ各コマンドについて、示した例示の処理機構には、アクションを取る前に同期時刻まで待機すること、同期時刻には略同期を達成するように適宜プリロールすること、および、同期点で、同期時刻まで一時停止すること、が含まれる。
これらのコマンド表現(および、図示しない他のもの)、および処理機構(図示しない他のものを含む)は、アクションにより(例えば、表300に入力することにより)、また、STBにより選択することができる。すなわち、遷移セル303内の異なるアクションは、そのものを異なる方法でコマンドメッセージとして明示することができ、個々のSTB111、121、および131が同じアクションに異なる方法で応答することができる。しかし、一般に、各協働するSTBのローカルコンテンツコントローラを備える分散型コンテンツコントローラは、数フレームまたはほんの一瞬、ならびに、伝送およびコマンドの相反解消時の瞬間的に過ぎない相違、の略同期を維持する。
図6および7はそれぞれ、トランザクションシーケンス500への異なる応答の効果を示す。図6は、時刻tSYNC555を待つ間の(すなわち、再生ペンディングタイムアウトがtSYNCに時間切れになるよう設定されている)、再生ペンディング状態202での一時停止を示す。一方、図7は、時刻tSYNCまたはその前での同期が確保された再生状態203でのプリロールを示す(すなわち、再生ペンディングタイムアウトは、tSYNCまたはその前に時間切れになり、前である場合、再生状態203は、指定される位置Nより前の、位置tSYNC−tSTARTから開始される)。図6に示すように、共有される提示600は、それぞれ局110、120、および130のモニタ112、122、および132に表示される。時間610にて、提示が同期し、それぞれ対応するモニタ112、122、132上に現れる表示611、612、および613が、ほぼ同じ画像を示す。時間620にて、局110の参加者113が、リモートコントロール115のスキップ後方向ボタン551を押し、その結果、STB111が時刻tPRIOR553に、SK−コマンドを受信する。現在のフレーム631が、STB111については「N」に設定され、これは、所定の値だけ後方向にスキップすることに相当し、プレイアウトが一時停止する。しかし、局120および130は再生を継続しており、現在のところ、局110からのコマンドについては通知されていない。従って、オンゴーイングのプレイアウトフレーム632および633がそれぞれ局120および130に現れる。スキップ後方向アイコン634が、局110のディスプレイに現れる。本例において、コマンド発行局110は「N」で一時停止して、指定の再同期時刻tSYNC555を待っている。
時間640にて、局120の参加者123が、リモートコントロール125のスキップ後方向ボタン561を押し、その結果、STB121が時刻tLATER563にSK−コマンドを受信する。局120の現在のフレーム642が今度は「M」に設定され、これは、所定の値だけ後方向にスキップすることに相当する。プレイアウトが一時停止し、スキップ後方向アイコン644が今度はローカルディスプレイに現れる。局110は、背景を斑点にして図6に示すように、フレーム641で一時停止している。局130は、フレーム643の再生を継続しており、まだリモートで生成されたコマンドのことを知らない。
時間620および640でのリモートコントロールイベントにより、図5Aに示すようにコマンドメッセージ557、558、567、568が生成される。時刻tFIRST569にて、局130のSTB131がメッセージ567を受信する。同時に、局120のSTB121がメッセージ557を受信する。これら2つのコマンドメッセージの受信の結果、局120は、局110からのコマンドに応答して一時停止したフレーム652を表示する。局130は、局120からのコマンドに応答して一時停止したフレーム653を表示する。スキップ後方向アイコン654が、局110の参加者113に対して表示され、本例においては、参加者113を表す画像を使用してコマンドに属性を持たせる。同時に、同様の様式で、スキップ後方向アイコン655が局120の参加者123に属するものとなる。この時点で、局130は局120から低優先度のコマンドを受信しているだけであり、後方向にスキップしたが、局110および120のスキップには及んでいない。
時刻tSYNC555になるまでには、STB111および131はコマンドメッセージ568および558を受信する。STB111はメッセージ568を無視するが、そのSTBが既により高い優先度のコマンド552のことが分かっているからである。しかし、局130のSTB131がメッセージ558を受信したとき、そのメッセージは、より高い優先度を持ちかつメッセージ567のコマンドよりも優先されていた。その結果、局130は、より高い優先度コマンドを受け取り、フレーム「N」にスキップした。時刻tSYNCにて、局110、120、および130のそれぞれが、略同期した画像661〜663それぞれの表示を開始する。局130は、スキップ後方向アイコン664を表示することもできるが、アイコンは今のところ、参加者113に属するものとなっている。続いて、3つの局が、略同期した状態で画像671〜673の再生を継続する。スキップ後方向アイコン634、644、654、664があるインターバルの後消え、これにより、所定の時間(例えば、図示のように約1秒)が構成され、または、同期点(例えば、時刻tSYNC555)まで、または、この状態が、ホールドオフインターバル(例えば、時刻tHOLDOFF556)が時間切れになるまで、持続される。なお、アイコン655は、より高い優先度のコマンド558に対応するアイコン664と入れ替えられている。後者のポリシーでは、現在別の参加者が優先度を命令しているということを示す視覚的表示を提供するという利点を提供がされる。しかし、アイコン655および664で分かるように、現在優先度を持つ参加者が変更することができる。アイコンにより、なぜローカルリモートが効力を持たないのか(優先度を持つ別の参加者のせいで)についての視覚的なリマインダが提供される。インターバル610、620、および660の間、局110、120、および130はほぼ同期して動作し、その一方、インターバル630の間は、局のステータスが一時的に分化する。
図7は、先に検討したものと同じトランザクションシーケンス500に応答する共有される提示700を示すが、局が映像をプリロールして、指定のフレームN上で指定の時刻tSYNC555にロール同期を達成する時の状況下のものである。時間710にて、局110、120、および130は、それぞれ同期フレーム711、712、および713を表示する。時間720にて、局110では、参加者113がSK−コマンド552を発行して、STB111が時刻tPRIOR553に受信し、その結果即座にフレーム710が「N」として指定され、後方向スキップアイコン734がモニタ112上にローカルに表示される。リモート局120および130は、まだコマンド552を知らない状態にあり、それぞれフレーム732および733の表示を継続する。
時間740にて、参加者123がSK−コマンド562を発行して、STB121が時刻tLATER563に受信する。フレーム742は、ローカルな後方向スキップを示すもので、「M」として指定され、後方向スキップアイコン744がコンテンツモニタ122上に表示される。リモート局110および130は、まだコマンド562のことを知らない状態にある。STB131は再生を継続して、現在フレーム743であり、一方、STB111はフレームNを超えて後方向にスキップして、現在フレーム741を再生しており、プリロールイベントが示される。参加者113は、フレーム741の表示を薄暗くする、または、フレームにタグをつける(図7では斜線で示す)などすることができ、他の参加者123および133が、このプリロールを共有コンテンツとして視聴しないかもしれない(するかもしれないが)ことに、参加者113が気付くようにする。
時刻tFIRST569にて、STB111は、まだフレーム751を再生しており、従って、まだローカルコマンド552に応答してプリロール動作を実行している。STB121は、後方向にスキップして、現在フレーム752を再生している。従って、STB121は、現在、リモートコマンドメッセージ557の受信に応答して、プリロール動作を実行している。さらに、STB121は、参加者111あるいは局110属する、または全く属性の無いリモートのスキップ後方向アイコン754の表示をトリガする。STB131は後方向にスキップして、現在、リモートコマンドメッセージ567の受信に応答してプリロール動作を実行した結果、フレーム753を再生している。さらに、STB131は、参加者121に属するリモートスキップ後方向アイコン755の表示をトリガする。最高の優先度のコマンドに対応するプリロール動作と結びついたそれらの局(例えば、局110および120)に対して、それらの画像(例えば、画像751および752)が略同期する。
時刻tSYNC555にて、モニタ112、122、132のそれぞれが、フレームN(画像761、762、763)を表示し、局130が、現在参加者111に属するリモートスキップ後方向コマンドアイコン764を示す。表示は、略同期され、プレイアウト、すなわち、この画像771、772、および773の表示が継続するように保たれる。インターバル710、720、および760の間、分散型コンテンツコントローラは略同期した状態を保ち、インターバル730の間は、いくつかの局のステータスは分化する。
図8はトランザクションシーケンス800を示し、ホールドオフインターバルの別の目的および効果が説明される。時刻tPRIOR853にて、STB111が、リモートコントロール115のボタン押下851の結果、SK−コマンド852を受信する。STB111は、このインターバルを動的に判定することにより、または、所定のトランスポートディレイおよび応答時間インターバル854に従って時刻tSYNC855を設定する。STB111は、得られたコマンドをSTB121およびSTB131に、それぞれメッセージ857および858によって送信する。STB121がメッセージ857を受信した後、このSTBは、同期時刻(tSYNC)まで、リモート125のボタン押下861で生じるトランスポートコマンド862などのトランスポートコマンドを無視するが、なぜなら、そのコマンドが、コマンド852(メッセージ857により中継される)より低い優先度(このコマンドは後に到着した)を持つからである。さらに、時刻tSYNC855の後でさえ、ポリシーにより時刻tHOLDOFF856などのホールドオフインターバルが必要とされる場合は、STB121は、ボタン押下871で生じるトランスポートコマンド872などのトランスポートコマンドも無視する。時間tHOLDOFFが時間切れとなった後、例えば、atNEXT883に、STB121がボタン押下881で生じるトランスポートコマンド882を受信する場合、STB121は、そのコマンドを受け取り、リモート局110および130にそれぞれメッセージ888および887を介して伝送する。
ホールドオフインターバルは、優先度を持つコマンドを発行した局(ここでは、STB111を有する局110)には適用される。これにより、優先度を持つコマンドを発行する参加者(ここでは、局110の参加者113)が、いかなる目的のためでも、他の参加者のコマンドから干渉されることなく、後に続くコマンドを発行することができる。さらに、これにより、別の参加者(ここでは、参加者123)にもコマンド(例えば、コマンド882)の発行前に何が起こったのかが分かるように、適宜時間が与えられる。時間tHOLDOFF856の時間切れ前に、コマンド852に続いてコマンドを発行しないことで、参加者111は、任意の他の参加者に優先度を譲る。ホールドオフインターバルの時間切れ前にコマンド862および872を許可しないことにより、参加者121は、関係のないコマンドを開始する前に、より高い優先度コマンド、例えばコマンド852、の結果が分かる機会を確実に得る。本原理の分散型コンテンツコントローラのこれらの重要な態様は、欠如していると、混乱、不満、およびあからさまな矛盾を引き起こす可能性が高い。
図9は、コマンド操作処理900を示し、分散型コンテンツコントローラへの参加のためにSTB111により実行される。処理900は、STB111が既に1つまたは複数のリモート局(例えば、STB121および131)に接続された状態で、ステップ910にて開始される。いくつかの例において、ステップ911にて、STB111が、クロック同期処理400を用いるなどして、リモート局のそれぞれに対して待ち時間を判定し、結果は待ち時間データ901に格納される。他の実施形態において、特に、STB111がローカルクロックタイムを確立する際に他の機構を使用する場合、待ち時間データ901が予め定められてよい。待ち時間データ901は、十分な情報を提供して、リモート局(例えば、局130)が、リモート局から(例えば、メッセージ558を介して)送信される、ローカルに生じたコマンド(例えば、コマンド552)を実行可能な時間(例えば、tSYNC555)を、ローカル局(例えば、局110)が正確に予測できるようにする。逆の状況では、待ち時間データ901により、メッセージ(例えば、558)で受信されるリモートに生じたコマンドが、リモート発信局(例えば、局110)によって実行される時間(tSYNC555)を、ローカル局(例えば、局130)が正確に予測できるようになる。
待ち時間データ901は、様々な形式で存在させることができる。例えば、待ち時間データは、マスタ局のクロックのオフセットを構成することができ、マスタ局についてはゼロでよい。あるいは、待ち時間データ901は、他のリモートクロックのそれぞれに対してローカルクロックのオフセットを表すデータを構成することができる。同期前のクロックに用いて有用な待ち時間データのさらに別の例は、各リモート局へのトランスポート待ち時間の記録である。十分に正確な同期前のクロックを有し、実際のトランスポート待ち時間ではない所定の値を使用するいくつかの実施形態では、データの取得を全く必要とせず、その場合、待ち時間データ901は所定の値のセットを構成する。
ステップ912にて、局110は、その情報を各リモート局と交換する。ローカル局(例えば、局110)についての情報は、ローカル局情情報ストア902Aにあり、ローカル局情情報ストア902Aからダウンロードされ、典型的にはローカル局に関連するSTBに常駐する。ローカル局(例えば、局110)は、リモート局(例えば、局120および130)について取得した情報をリモート局情報ストア902Bに記録する。局情報には、アイコン654、655、664、754、755、および764(これらのアイコンには参加者の画像を使用することができる)に含まれる参加者の属性などの属性に使用するための画像、名前、アイコン、またはローカル参加者もしくは局を表す番号、を含むことができる。従って、局110では、カメラ117で参加者113の画像をキャプチャすることができ、または、参加者の画像を、STB111がアクセス可能なローカル局情報ストア902Aに格納することができる。参加者の画像のキャプチャまたはプロビジョニングは、処理900(図示せず)の開始と同時に発生してよい。あるいは、参加者の画像は、開始ステップ910の時点で存在していてよい。各リモート局から受信した局情報は、メモリ902Bに格納される。
いくつかの状況において、各局がお互いに局同士で情報を交換するのではなく、参加局の1つが、マスタとして機能することができる。従って、1つの局が、局情報のクリアリングハウスとして動作することができ、その場合、ステップ912での局情報の交換は、クリアリングハウスとして指定される局と行われる。各局は、他の局が分散型コンテンツコントローラに参加すると、臨時の更新を要求してよい。さらに他の状況では、サーバ103は、他の局によるアクセスのために局情報を保持することができる。交換用に提供される追加の局情報には、各ローカルコンテンツコントローラの特性が含まれてよい。例えば、いくつかのローカル局が、早送りのレートに10xの制限があるが、他の局が20xを達成できる場合、分散型コンテンツコントローラは、下限に制約されることになる。他の実装において、コンテンツコントローラ能力が遅い局が、早送りのプレイアウトではなく、前方向スキップを用い、それにより、分散型コンテンツコントローラの動作を「最小公分母」に制約する。
局間の潜在的な相違の別の例には、再生コマンドの予想セットアップ時間に対して発生するものがある。いくつかの局は、シークタイムが速いが、他の局ではシーク動作が遅く、分散型コンテンツコントローラは、参加局の最低のシークタイムに対する性能上の制約に直面する。性能に関する別の制約が生じるのは、スキップ前方向とスキップ後方向のコマンドについて、異なる局が異なるスキップサイズを実装する場合である。
他の局情報には、コンテンツの利用可能なソースを含むことができる。図1は、ヘッドエンド102が共有コンテンツのソースとして機能する例示の実施形態を示す。1つまたは複数のSTBが追加のヘッドエンド(図示せず)をサポートするか、または、1つまたは複数のサービスの「オーバーザトップ」のインターネットストリーミングをサポートするか、または、ローカルにキャッシュされるコンテンツをサポートする場合、局は、そのような代替のソースからコンテンツを共有することができる。利用可能なコンテンツが多ければ、例えば、参加者113、123、および133に、3つ全てのSTB111、121、131がアクセスかつ共有できるコンテンツを提示することにより、「何を見るか」を決めることが容易にされる。制約により、参加者が利用可能なコンテンツの検索能力が制限することができる。さらに、電子番組ガイドには、どの参加者(または局)が各番組を共有できるのかを示す注記を含むことができる。この特徴により、参加者のグループは、どの参加者の構成が、コンテンツ選択についてのグループの幅広さを最も制約するのかを認識することが可能となり、このことにより、次回誰を招かないか、または、誰が機器またはサービスの更新について考えるのか、が示唆されることになる。
図9に示される処理900と併せて、以下で検討する種々の例示は、特定の局の観点についての例の先行する検討に基づく。明確にするために、以下の処理ステップは、分散型コンテンツコントローラと併せて各局により実行され、各局はその対応する観点を有する。STB111で発生する処理900では、そのSTBは、「ローカルSTB」として動作し、それに対して、他のSTB121、131が、STB111に対して「リモートSTB」として現れる。種々の例において、異なるSTBを「ローカル」または「リモート」装置として呼び出すことがあると言う事実は、どの局の条件も全て提供しているのではないが、図3〜8についての上述の検討から得られるものである。
処理900には、ステップ920から開始して実行されるメインループが含まれる。最初に、チェックが行われて、ローカルコマンドの発生が判定される(例えば、コマンド852および862の一方の発生)。発生した場合、ステップ921にて、アクティブな(時間切れしていない)リモートホールドオフインターバル(例えば、タイムインターバル856)についてチェックが行われ、コマンド履歴バッファ903に反映される。アクティブなリモートホールドオフインターバルが現在存在する場合、STBは、ローカルコマンドを無視して、ステップ920にてメインループを再スタートする。この状況の例は、STB121がコマンド862および872を受信するときに発生するが、ホールドオフインターバル856が、リモート局STB111からのコマンド852に関連して、まだ時間切れではないためある。ローカルSTBは、canビープ音を出す、アイコンを点滅させる、または他の方法で、このようにしてコマンドの拒否を示す。いくつかの例では、STBは、ローカルコンテンツモニタ(例えば、122)上にリモート局コマンドアイコン(例えば、アイコン654)の表示を開始することができる、さらに、ローカル参加者(例えば、123)にローカルコマンドがブロックされている理由を通知する
ステップ921にて、実行されたチェックにより、所定位置にアクティブなリモートホールドオフが無いことが明らかにされる。例えば、この状況はコマンド882と共に存在し得え、時刻NEXT883までに発生したため、それより前のリモートホールドオフ856が時間切れになってしまうのである。アクティブなリモートホールドオフが無い状態で、ステップ930が、ローカルコマンド(例えば、コマンド882)を処理するべく実行され、その時刻に、STBがローカルコマンドを各リモート局に(例えば、メッセージ887および888として)送信する。ステップ950にて、コマンド履歴バッファ903では、処理されるコマンドを配慮することができ、該コマンドより前の、現在位置P、速度係数S、時刻Tを表すまたはそれらに基づく情報が含まれる。コマンド履歴バッファ903では、このコマンドに対応するホールドオフの失効時間を考慮することもでき、または、必要に応じてこの値をTから導き出すことができる。コマンドの優先度の判定に、Tの他にも情報が必要な場合は、2つのコマンドが時刻Tに同時に起こる場合のように、コマンド履歴バッファ903は、追加の優先度情報(例えば、コマンドを提供する局、コマンド提供する局のIPアドレスなど、上述の通り)も記録することができる。
ステップ951にて、ローカルコンテンツコントローラの状態に変化が起きたか否かについてチェックが行われ、これには、上記で検討したように、再生ペンディング状態202の適切なタイムアウト値の計算が含まれてよい。この計算では、ステップ950で言及したばかりのローカルコンテンツコントローラの状態(すなわち、位置Pおよび速度S)を考慮することができ、また、シークタイム、スルーレート、早送り/巻き戻し速度の限界または量子化などの、ローカルコンテンツコントローラの性能限界を考慮することができる。この計算により、ローカルコンテンツコントローラで使用するためのコマンドの良好な変換が提供される。全ての局が同一のローカルコンテンツコントローラ性能パラメータを有するならば、この計算は自明なものとなる。しかし、性能パラメータが異なる場合、例えば、1つのコマンドが3xの早送りを指定するが、ローカルコンテンツコントローラが2xまたは5xしかできない場合、差を解消するためのいくつかの可能性が存在する。例えば、STBが、単一の速度(例えば、2x)を選択できるようにする。あるいは、STBは、より複雑なコマンドのシーケンス(図示せず)を実行して、2xと5xの間で早送りのレートをディザリングすることができる。例えば、STBは、2xで2秒間稼働し、次に、5xで1秒間稼働することを繰り返すことで、平均して3xとなるが、3xで稼働するコンテンツコントローラを追い越すことはない。どちらの場合も、STBは、後の一時停止または通常速度プレイアウトのコマンドの処理の際には「フィックスアップ(整える)」を実行する必要がある。いくつかの場合、ステップ951で発生する計算により、先のコマンド(例えば、ディザリングされた早送り速度)の近似のために要求される、必要なフィックスアップが提供される。
リモートコマンドが、ステップ951にて処理される場合、待ち時間データ901は、必要に応じて適切なタイミングオフセットを判定する機能があるため、各局で実行されるコマンドが最終的に同時発生するようにされる(インターバル660および760の間に達成されるように)。待ち時間データ901の使用例により生じる結果は、略同期がtSYNC555にグローバルに起きるように、コマンドメッセージ557が、STB111のローカルクロックに従ってtSYNCとして表現され、そして、STB121を処理する際にSTB121のローカルクロックに変換されるはずであるということである。
ステップ952にて、ローカルSTB111は、ステップ951にて計算されたトランスポートコマンドを、ローカルコンテンツコントローラに対して発行する。例えば、ローカルコンテンツコントローラがDVDプレイヤを備え、コマンドが、プレイアウトを開始すること、である場合、再生コマンドが、DVDプレイヤに適切なタイミングで発行され、コマンドにはDVDプレイヤのレスポンスの任意の予測可能な待ち時間についての補償が含まれる。ローカルコンテンツコントローラが、入力メディアブッファを含むデジタルメディアプレイヤを備える場合、再生コマンドにより、確実に適切なコンテンツがバッファに送り込まれ、時間通りにプレイアウトが、コマンドが指定した時間と場所から開始されるようにする。
ステップ953にで、必要であれば、コマンドアイコンを、ある時間の間スクリーン上に表示させることができる。ローカルコマンド(例えば、STB111でのコマンド552)の場合、ローカルコマンドアイコン(例えば、アイコン634)を、モニタ112上に表示させることができる。リモートコマンド(例えば、STB121で受信されたメッセージ557)の場合、属性のあるコマンドアイコン(例えば、アイコン654)を、リモート局情報ストア902からのリモート局(例えば、STB111)に対応する情報を使用して、モニタ(例えば、モニタ122)上に表示させることができる。コマンドアイコンを、ステップ953を通る次の経路に対応するタイムインターバルの間に表示させて、最新の優先度を持つコマンドを表すことができる。あるいは、コマンドアイコンを、対応するホールドオフインターバルの時間切れまで、まだ過ぎていない場合で、ある所定の最小時間(例えば、1秒)以上、表示させることができ、状態について現在の変化の原因を参加者が判定する機会が常にあるようにされる。
この時点で、ステップ920にて、処理がメインループを再スタートさせ、コマンドアイコンは、交換されてしまっていなければ、ステップ953で判定されたタイミングに従って消えるように設定された状態にある。任意のローカルトランスポートコマンドシーケンス(例えば、ステップ951にて実行される、早送り速度をディザリングする例)は、後に続くコマンドによりキャンセルされるまで、必要に応じて継続される。ステップ920にて、処理を必要とするローカルコマンドが無い場合、ステップ922にてテストが行われて、リモートコマンドメッセージ(例えば、メッセージ557、567、および568)の受信がチェックされる。リモートコマンドメッセージが無い場合、ステップ920にて、処理がメインループを再スタートさせる。コマンドメッセージの受信時、ステップ923にて、テストが行われて、任意のホールドオフがアクティブであるか否かが判定される。コマンド履歴バッファ903は、ステップ950において先になされた各実行の間に更新され、ホールドオフが無い場合、または、時間切れでないものが無い場合、この新しいリモートコマンドの処理がステップ950にて継続される。これの例には、STB131によるコマンドメッセージ567の最初の受信、および、tHOLDOFF856の時間切れの後のSTB111によるコマンドメッセージ888の受信、が含まれる。
しかし、ホールドオフがアクティブである場合、リモートまたはローカルのコマンドに関連するか否かに係わらず、ステップ924にて、再度コマンド履歴903からのデータを使用してチェックが行われて、新しいリモートコマンドが、先の優先度を持つコマンドより高い優先度を持つか否かが判定される。持たない場合、STBは、新しいリモートコマンドを静かに破棄し、ステップ920にて処理を再スタートさせる。これの例は、tHOLDOFF556がまだ時間切れでなく際の、STB111によるコマンド568の受信時に発生する。
ステップ924にて、新しいリモートコマンドが、より高い優先度を持つ場合(その例には、STB131によるメッセージ558および574の受信が含まれる)、ステップ925にて、任意的なテストが実行されて、新たに受信されたより高い優先度のコマンドが、実効的な変化を示す否かが判定される。実効的な変化が発生していない場合、すなわち、ローカル局の観察できる挙動が、先のコマンドの代わりに新しくより高い優先度コマンドを実行することにより、実施的に変化しない場合、局は、より高い優先度コマンドの実行を見送ることができる。これの例は、STB131によるコマンドメッセージ558の受信と併せて検討したいくつかの実施形態と共に発生するが、それにおいて、2つの異なるSK−コマンド552および562により、分化するインターバル(例えば、インターバル630および730)の間に、異なる挙動が引き起こされ得るが、最終的には、少し後に(例えば、インターバル660760)、略同期されることになる。分化のインターバルは、それほど厳しくも破壊的にもならないため、実際のより高い優先度を持つコマンドの発行に厳密さは必要ない。事実、ローカルコンテンツモニタに提示される表示に実際に示される混乱は、実際に存在するよりも少ない。にもかかわらず、実際のより高い優先度コマンドをコマンド履歴903に記録することが、記録にはコマンドが実行されなかったことが注記されるけれども、依然望ましい。STBが、適切な属性のあるアイコンの表示を提供するので、特定のリモート局が現在優先権を有する、という視覚的表示をローカル参加者は受信できるが、このアクションは、ステップ925に関連して現れない。
ステップ925にて行われるテストにより、新しくより高い優先度を持つリモートコマンドが実効的な変化を示すと判定された場合(または、実装により、ステップ925にてテストが実行されず、ステップ924にて実行されたテストにより、新しいコマンドが優先度を持つと分かった場合)、ステップ940にて、STB111は、1つまたは複数の先のコマンドを先制して回避し、ステップ950にて、新しくより高い優先度を持つコマンドを処理する。この一連のイベントの例は、STB131によるSK−コマンドメッセージ574の受信時に発生し、先のSK+コマンド575を後から行う。SK+コマンドは、先制して回避されて、より高い優先度SK−コマンドがSTB131により処理される。いくつかの場合、ローカルコンテンツコントローラの仮説上のステータスの計算が生じ、現在のものであったステータスが、今度は先制して回避されるコマンドを持つことになり、実行されない。最も早く先制して回避されたコマンドに関連したステップ950の早期の実行中に、コマンド履歴903に記録された位置/速度/時間の状態により、そのような仮説的ステータスが容易に生み出される。ローカルコンテンツコントローラの仮説的ステータスが、現在時刻と新しい優先度を持つコマンドの実効時間と間のどこかの時間(実装に依存する)に対する記録された状態の外挿を構成する。実際には、実効時間は、メッセージ574から渡された、または、ポリシーまたは局情報から識別できる、時刻tSYNCを構成する。この仮説的ステータスは、ステップ950にて記録されるものであって、現在先制して回避されるコマンドによって誘発される実際のステータスではない。
なお、いくつかの実装について、特に、メッセージ待ち時間および装置応答時間に適度な余裕を与える実装では、実際のローカルコンテンツコントローラステータスから仮説的ステータスへの必要とされる任意のフィックスアップは、ささいなものである。例えば、メッセージ567受信時の図5AのSTB131を考えると、ローカルコンテンツコントローラは、フレーム「M」にジャンプして、一時停止され、再生ペンディング状態202で待機しており、タイムアウトが時刻tに設定されている。メッセージ558で、より高い優先度を持つコマンドを受信すると、STB131は、そのタイムアウトを先制して回避する。後に続く、新しい優先度を持つコマンド(ステップ950−953)の処理において、ローカルコンテンツコントローラは、フレーム「N」にジャンプして、再生ペンディング状態のタイムアウトが時刻tSYNCに設定された状態で待機する。
図10は、分散型コンテンツコントローラを提供する局で使用するための簡略化したリモートコマンド操作処理1000を示す。処理1000は、ステップ1001にて、新しいリモートコマンドを分散型コンテンツコントローラに参加する他の局の1つから受信すると、開始される。ステップ1002にて、コマンド履歴バッファ903のチェックが行われて、現在アクティブなホールドオフが残っているか否かが判定される。残っていない場合、新しいコマンドが、ステップ1005にて即座に実行される(または、適切な時刻に実行されるようスケジュールされる)。コマンド履歴バッファ903は、現在のローカルコンテンツコントローラステータスを、現在の優先度を持つコマンドとして記録する。
しかし、ステップ1002にて、アクティブなホールドオフアクティブが存在する場合、ステップ1003にて、チェックが行われて、コマンド履歴バッファ903からのデータを使用して、新しいコマンドが、現在の優先度を持つコマンドより高い優先度を持つか否かが判定される。アクティブなホールドオフが存在し、かつ、それを超える優先度を新しいコマンドが持たない場合、STBは、新しいコマンドを無視し、ステップ1006にて処理が終了する。しかし、新しいコマンドが優先度を持つ場合STBは、ステップ1004にて、先に受信したが優先度が低いコマンドを先制して回避し、仮説的コンテンツコントローラ状態を計算して、コンテンツコントローラの状態が、先制して回避されたコマンドが決して実行されない状態であることを判定する。ステップ1005にて、STBは、新しいコマンドを実行する(または、実行用にスケジュールする、すなわち、1つまたは複数のアクションが、必要に応じてタイムアウト値を含んでローカルコンテンツコントローラに与えられる)。STBは、現在のコンテンツコントローラ状態(これは、仮説的コンテンツコントローラ状態であり、ステップ1004にて先制して回避された任意のコマンドに因る)を、現在の優先度を持つコマンドとしてコマンド履歴バッファ903に記録する。ステップ1005にて、新しいコマンドが実行用にスケジュールされると、ステップ1006にて処理が終わる。
図11A〜Dは、図5Bに示すトランザクションに反応してSTB111、121、131がとる例示のローカルコンテンツコントローラの挙動を示す。以下で検討するように、STB131の挙動は、図11A〜Dのそれぞれにおける異なる例示の戦略によって、異なる。これら4図のそれぞれにおいて、垂直のコンテンツ位置軸1101では、コンテンツの前の方(コンテンツ自身のタイムラインの意味で)ほど、軸の下端近くに示され、後ろの方ほど上端に近づく。水平の時間軸1102は、(先から後へ)左から右へ進む。そのうえで、通常速度のプレイアウトは傾き1の直線により示される。図5Bに示される時間の値(tPRIOR553、tLATER563、tFIRST569、tSECOND559、tSYNC555、およびt565)が、時間軸1102に沿って示され、いくつかの時間値(tFIRSTからt)は、延長線が上方に延び、種々のコンテンツコントローラのステータス変化との並びが良好に示される。特定のコンテンツの場所「P1」1103、「P2」1104、および「P3」1105が、コンテンツ軸1101に沿って示される。
図11AからDのそれぞれにおいて、図5Bにあるように、時刻tPRIOR553の前は3つ全てのSTB111、121、131が正規の速度で略同期して再生している。正規の速度でのプレイアウトは、図1lAから11Dの図示では、傾き1.0を持つ区間1110に相当し、通常プレイアウトを表す。区間1110は太線で示され、3つ全てのSTBがその時刻/位置の関係に追従することを表す。しかし、時刻tPRIOR553に、STB111がSK−コマンド552を受信することにより、そのローカルコンテンツコントローラはコンテンツ内で後方向スキップ1111を実行し、スキップのサイズは「−d」である。その結果、時刻tPRIOR553に続いてすぐに、STB111は区間1112に従ってコンテンツを再生する。区間1112は、スキップ後方向のため、STB111によるコンテンツのプレイアウトが、STB121および131によるコンテンツのプレイアウトに後れをとることを表し、STB121および131は、「d」分だけ(コンテンツ軸1101の単位で測定されるものであり、フレームまたはタイムコードの単位であってもよい)コンテンツの再生を継続している(区間1113で示すように)。なお、区間1113が中太線で示され、2つのSTBのコンテンツのプレイアウトを表し、一方、区間1112は最細線で示され、その時刻/位置の関係にある単一のSTBのプレイアウトを表す。
時刻tLATER563に、STB121がSK+コマンド572を受信し、前方向スキップ1114で示すように「+d」分だけコンテンツを前方向にスキップする。その結果、STB111、121、131のそれぞれが、時刻tLATER563の直後はコンテンツ内の異なる場所で再生中であり、それぞれ細線区間1112、1115、および1116で示す通りである。時刻tFIRSTの少し前、STB121がSTB111からコマンドメッセージ573を受信し、時間が早かったためにより高い優先度を取得していた元のSK−552コマンドに応答して、ジャンプ1117(−2dサイズの幅で)で応じる。その結果、STB111および121が、中太線の区間1118で示すように同時に再生を行い、STB121は、区間1119に沿った軌道で表すように自らのそれまでのプレイアウトを放棄する。なお、ジャンプ1117のサイズを判定するためのSTB121が必要とする計算の詳細については、ここでは明らかにしないが、そういった詳細は、STB131の例示の挙動のそれぞれと併せて以下で明らかにされる。
時刻tFIRST569に、STB131がSTB121からコマンドメッセージ575を受信し、これは、SK+コマンド572から生じたものである。図9および10に示す例示の処理に従って、STB131が、現在時刻(tFIRST569)、位置(「P3」1105)、および速度(「1x」、傾きは前の時刻/位置区間1116)のログをローカルコマンド履歴バッファ903にとり、これらは、まとまってローカルコンテンツコントローラステータス1120を表す。この時点から、STB131の例示の挙動により、図中の残りの部分が統制され、図11A〜Dのそれぞれで異なる。
図11Aにおいて、STB131が例示の様式で動作するとき、STB131は、即座に予想同期点までジャンプし、そこで予想同期時刻まで待機し、その後、予想再生レートで再生を行う。この挙動は、図6に示す「一時停止」挙動に相当する(図6は図5Aのトランザクションに基づく)。メッセージ572から、STB131は、所定のインターバル554をコマンドの時刻tLATER563に加えることにより同期時刻を計算し、時刻t565を得る。図5Aの例示のトランザクションにおいて、メッセージ572は同期時刻を明示的に与える。予想同期点を計算するための一方法では、ローカルコンテンツコントローラステータス点1120から逆に外挿して、時刻tLATERでのコンテンツコントローラ位置を判定し、デフォルトのSK+サイズ(+d)を加えて新しい位置を計算し、その位置時刻tに対して前方向に外挿して、コンテンツ位置「P2」1104を得る。この特定の方法は、コマンドまたはコンテンツコントローラステータスが、1x以外の速度を(例えば、早送りまたは巻き戻しのコマンドで)を伴う場合でも、良好に働く。
従って、時刻tFIRSTに、STB131のローカルコンテンツコントローラが、区間1121に示すように、現在位置「P3」から予想同期点「P2」にジャンプし、傾きゼロの区間1122に示すように一時停止し、時間の経過につれて位置が進まないことが示される。この時、STB131は、一時停止のまま(区間1123を通過して時刻tまで)であると予想する。その後、STB131は、傾き1で区間1115と共線の区間1124で示すように、プレイアウトを予想し、そこではSTB131がSTB121と同期し、STB121がジャンプ1117をせずに再生を継続している。
しかし、時刻tSECOND559に、STB131がSTB111からSK−コマンドメッセージ574をするため、STB131は、区間1123および1124には決して達しない。このコマンドは、ステータス1120に関連するコマンド履歴入力を超える優先度を獲得する。その結果、STB131は、時刻tPRIOR553でのそのローカルコンテンツコントローラ位置を計算する(メッセージ574で与えられるように)、そして、この位置を「−d」分だけオフセットし、その後、予想同期時刻tSYNC555に対して前方向に外挿して、予想同期点「P1」1103を判定する。従って、時刻tSECONDに、STB131は、区間1125に示すように「P1」にジャンプし、時刻tSYNCに、STBが区間1127に沿って通常速度でプレイアウトを開始するであろうという予想の下、区間1126に示すように待機する。このアクションを先制して回避する優先度を持つコマンドが他に無いため、これはまさに起こることであるが、tSYNC555に続いて、3つ全ての局が再び同期して再生を行う。
なお、コマンド履歴バッファ903のおかげで、STB131は、予測同期位置および予想同期時刻を外挿するのに、最新の優先度を持つコマンドより劣る最も早いログ入力(すなわち、低優先度を持つログ入力であり、通常、優先時刻が遅いことを意味する)を使用するだけでよい。最新のホールドオフインターバルが時間切れになるまでは正当に起こるが、コマンド履歴バッファ903に入力が無いときは、STBは、現在のローカルコンテンツコントローラステータスを使用するが、その状況では全てのコンテンツコントローラが同期すると予想するからである。
ジャンプ1121および1125に費やされる時間はゼロ(または、事実上、は1フレーム分の時間)であるように見えるが、この条件は、これらの点に関連するコンテンツが既にローカルバッファに存在している時を除いて、実際には発生しないかもしれない。図11AのSTB131の挙動は、新しい位置へのジャンプに必要な時間が比較的長い、または、信頼性低く予測される場合のシステムには容易に適合する。従って、区間1121、1125がそれぞれ、ジャンプに費やされる時間がゼロでないことを示す傾きを持つ場合でも、たとえ個別に一時停止される区間1122、1126が短いとしても同じ成果が生じる。STB131がこれらの一時停止の間に画像をブランクにすると、ローカル参加者133は違いに気付かない。
図11Bでは、STBが即座に一時停止して予想同期時刻を待っているため、STB131の例示の挙動が異なる。予想同期時刻に、STB131は、予想同期点にジャンプし、そこからプレイアウトを開始する。従って、時刻tFIRSTに、STB131が、予想同期時刻tおよび位置「P3」を以前のように計算し、ローカルコンテンツコントローラが、区間1131で示すように即座に一時停止する。STB131は、区間1134、1132を通して一時停止したままであると予想し、「P2」までジャンプ1133を行い、そこから区間1124(区間1115との共線)に沿って再生を行う。しかし、STB131は、区間1132、1133、および1124に追従しない。その代わり、時刻tSECONDに、STB131は、上述のように、新しい予想同期時刻tSYNCおよび位置「P1」を再度計算する。その結果、ローカルコンテンツコントローラは、予想同期時刻tSYNCまでのみ一時停止されたままとなり(区間1134)、その時刻tSYNCに、ローカルコンテンツコントローラが(区間1135を)予測同期位置「P1」までジャンプし、コンテンツの正規のプレイアウト(区間1127)を、STB111および121と同期して、開始する。
図11BのSTB131の挙動は、最初に「P2」の未来のイベントにジャンプして、「P1」に戻ることにより、参加者133を混乱させるような画像の変化を最小にするべく機能する。代わりに、STB131は、最終的な優先度持つコマンドの結果を示すのみにして、「P1」から開始する。STB131が一時停止1131および1134の間に画像をブランクにすると、参加者133は、違いに気付かない(755から764へのような、コマンドの属性に変化が無ければ)。今現在の挙動により、配信が速く(すなわち、ジャンプにほとんど時間がかからない)かつ予測可能である帯域幅の消費を減少させる機会も示されるが、それは、そのような状況下では、予想同期時刻の直前までコンテンツをフェッチする必要がないためである。このことにより、STB131は、そのスキップ前方向が時刻tSECONDに、先制して回避されるため、時刻tFIRSTの直後、メッセージ575に応答して、「P2」について不必要なコンテンツのフェッチを避けることが可能となる。
図11Cでは、STB131の例示の挙動は、図11A〜Dの全てにおいてSTB121のそれと一致する。図11Cでは、STB131は予想現在位置に即座にジャンプし、プレイアウトを開始する。この動作は、図7に示す「プリロール」挙動を構成する(図7は、図5Aに示すトランザクションに基づく)。ここで、時刻tFIRSTに、SK+コマンドメッセージ575のため、STB131は、最初に、時刻tLATERでの位置を逆に外挿して、次に、オフセット「+d」を加え、その後、時刻tFIRSTに対して前方向に外挿することにより、STB121の現在位置を計算する。ローカルコンテンツコントローラは、区間1142で示すように、その点に即座にジャンプし、時刻tSECONDにSK−コマンドメッセージ574を受信するまでの、区間1143(区間1115との共線)で示すように、プレイアウトを開始する。時刻tSECONDに、STB131は、時刻tPRIORに対して、コマンド履歴903に格納される記録1120によって表されるような、自らのコンテンツ位置を逆に外挿することにより、STB111の現在位置を計算する。STB131は、その位置に、新しい優先度を持つコマンドに従ってオフセット「−d」を加え、次に、前方向に外挿して現在時刻での位置を判定し、区間1144で示すように対応するジャンプを行って、区間1127の前までのSTB111および121と共線であり同期する区間1145で示すように、即座にプレイアウトを開始する。この挙動により、最小限の時間の間スクリーンを一時停止させるという利点が提供され、最高の優先度を持つコマンドを発行する局との同期が可及的速やかに発生する。
図11Dでは、STB131の例示の挙動が示され、その有用性についてはそれほど示さず、広範囲の多様な可能性ついて多く示される。ここでの挙動では、ローカルコンテンツコントローラが任意の速度で再生できる能力が必要とされる。従って、tFIRSTに、予想同期時刻「t」における予測同期位置「P2」の計算が発生すると、時刻/位置の対への傾きが、区間1120での現在の時刻/位置の対から判定され、本例では1.25である。この計算に応答して、ローカルコンテンツコントローラは、区間1151で示すように速度1+1/4xで再生を即座に開始し、「t」で「P2」に到達して、その後は区間1124で示すように通常速度で再生を行う、と予測されている。しかし、この早送りのプレイアウトは、tSECONDに先制して回避され(よって、区間1153は再生されない)、STB131が、そのローカルコンテンツコントローラの現在位置から、tSYNCでの予想同期点「P1」への傾きを計算し、傾き−0.5が算出される。従って、tSECONDに、STBが、tSYNCまでの区間1154で示すように低速−0.5xで巻き戻しを開始し、その後、プレイアウトは再度前方向となり、通常速度で、区間1127に示すようにSTB111、121と同期する。
STB131が設けるローカルコンテンツコントローラが、例えば、早送りまたは巻き戻しの速度が整数値に制約されるために、任意の速度でプレイアウトを達成できない場合でも、STBは、なお、区分的に達成可能なレートを使用して、この挙動を達成することができる。例えば、STBは、最初に2xで早送りし、次に、区間1119との交点の後は1xに落とすという計画を立てることにより、区間1120の間、傾き1.25に接近することができる。同様に、STB131は、区間1154の傾き−0.5への接近を、「P1」に到達するまでは1xで巻き戻し、次に、tSYNCまで一時停止する、または、代替えとして、区間1118との交点まで1xで巻き戻し、次に、tSYNCと「P1」に真っ直ぐに通常速度で前方向に再生する、ことにより行う。
STB131のこの挙動には、リモート参加者が何のコマンドを受けているのかを理解するために必要なアイコンの数を減らすことができるという利点がある。例えば、映像がその点に向かって視覚的に後方向に動けば、後方向スキップを示す必要はない。そのようなアイコン(例えば、654、655、664)の属性要素を、誰がコマンドを発行したのかを示すために提供することはできる。これらの挙動のそれぞれにおいて、スキップ前方向、または、プレイアウトのレートあるいは方向の変更には、待ち時間を持つ種々のソースのため、時間がかかる。これらの問題に対処して同期を復元するための複数の方法が存在する。1つは、各コマンドの性能で経験される待ち時間を測定することである。ある場所までスキップして再生を開始するという計画で、これが直ちに発生するが、実際には100mSかかる、という場合、次にコマンド(発生する場合は必ず)に対して、その目標位置が100mS後になることが示される。このようにして、同期が最悪の待ち時間より悪くなることは決してなく、また、その可能性が低いのは、各局が自らの待ち時間を経験して、これらが少なくともお互いの一部をキャンセルする傾向があるからである。別の方法は、各コマンドの待ち時間を予測することである。例えば、短いスキップ前方向(および、恐らくは大きなスキップ後方向も)が、待ち時間がゼロである(コンテンツが既にバッファされているからである)か、または、わずかな待ち時間である(例えば、映像デコーダのパイプラインをフラッシュして入れ替えることに関連して)ことが知られている。どちらの方向の大きなスキップも、待ち時間は異なりかつ大きく(まだバッファされていないコンテンツのフェッチ、または、バッファリングのために、バッファがまだフラッシュされていないこと、に関連して)、その場合、命令された位置を、予想待ち時間によって再生の方向にオフセットすることができる。すなわち、新しい場所へのスキップが、速度−2xで後方向のプレイアウトで追従されるはずである場合、目標位置は、スキップにおいて予想待ち時間の−2倍分だけオフセットされるはずである。このように、ローカルな同期誤差は、単に、任意の予測ミスの大きさであり、予想待ち時間全体ではない。
第3の方法は、これらの方法の組み合わせであり、以前の経験と現在のネットワークの待ち時間を使用して、各コマンドのオフセットを予測し、次のコマンドが到着する度に、測定された予測ミスを次のコマンドに組み込む。第4の方法では、極小のジャンプまたはプレイアウト速度のわずかな変動を使用して、測定される同期誤差を減少させる。例えば、ローカルSTBにおいて、適正な同期が復元されるまで、フレームがスキップされる、または、再生速度が+/−1%調整される。そのような速度調整の間、対応する音声ピッチの調整が発生して、音声および音楽のテンポが微妙に変更ピッチが変わらないようにするが、テンポは微妙に変化してしまう。
例えば、1つのSTBが数秒間コンテンツにアクセスできないなど、何らかの壊滅的な非同期イベントが発生した場合は、STBを回復させることができるいくつかの方法が存在する。不運なSTBは、コンテンツ喪失のずっと前の時点まで、コンテンツが復元されると期待される時間量分、後方向にスキップする効果を持つコマンドを発行することができる。従って、STBが、コンテンツは回復に10秒かかる、と予想する場合、被害を受けているSTBに起因する10秒の後方向スキップにより、失ったコンテンツを再要求および再取得するための時間が与えられ、瞬間的に巻き戻ししなくても、プレイアウトが正確に起こる。この選択により、「再バッファ中」のアイコンを、信号を喪失したSTBに帰属させた状態で、全てのシステム上でプレイアウトを一時停止させることが好ましいことが分かり、なぜなら、プレイアウトの10秒間の中断が、10秒間のスキップ後方向よりも破壊できであると認識されるかもしれないからである。あるいは、コンテンツを喪失したSTBが、コンテンツの復元まで一時停止し、次に、誇張された速度(例えば、+5%)で再生を行って、もっと早く追いついてもよい。この場合も、対応する音声を補償することができる。
本発明の別の例では、テレプレゼンスのモニタおよびカメラを提供する別のテレビ会議システム(図示せず)を考慮に入れる。対応するDVDプレイヤ(図示せず)では、本明細書に記載される分散型コンテンツコントローラの機構および処理を組み込み、STB111、121、および131を置き換えることができる。そのようなDVDプレイヤはそれぞれ、同じDVDのコピーを有することができる。コンテンツコントローラの動作の何らかを円滑にするために、そのようなプレイヤは、同期を円滑にするための追加のデジタルバッファリングを有することができる。
いくつかの実施形態において、局間で共有されるコンテンツには、メニュー、チェックボックス、およびボタンなどのグラフィカルユーザインターフェース要素、ならびに、コンテンツのロード(または選択)、イジェクトなどの追加コマンド、を含むインタラクティブ要素を含むことができる。これらのユーザインターフェース要素を共有するために、分散型コンテンツコントローラに対して拡張または変形を厳しく要求する必要はなく、コマンドおよび状態を状態図200に、コマンド、状態、およびアクションを状態遷移表300に追加することで、達成できる。しかし、コマンド履歴、コマンド優先度、ホールドオフ、および、先の実行を低優先度コマンドにして戻すこと、という原理は適用可能である。
正反対に、他の実施形態において、どのコンテンツを共有モニタ112、122、および132上で(例えば、ユーザインターフェースを使用して)再生するべきかを、マスタ局が選択することができる。選択されると、各局または単にヘッドエンド102が、どのコンテンツを局が共有するのかについて情報を受信し、状態図200または遷移表300を拡張する必要なく、参加者113、123、133に分散型コンテンツコントローラを用いてコンテンツを共有するという経験が提供される。
上記では、分散型コンテンツコントローラを使用して複数の局間に共有コンテンツを提供するための技術について説明した。

Claims (18)

  1. ローカルコンテンツコントローラにおいてトランスポートコマンドを処理するための方法であって、
    1)受信したトランスポートコマンドが、前記ローカルコンテンツコントローラから生じたか、または、少なくとも1つのリモートコンテンツコントローラから生じたか判定することと、
    2)ローカルに生じたトランスポートコマンドの場合、
    i)まだ実行されていないトランスポートコマンドと共に、前記ローカルに生じたトランスポートコマンドに優先順位を付けることと、
    ii)前記ローカルに生じたトランスポートコマンドが優先する場合、前記ローカルに生じたトランスポートコマンドを、実行のために、前記リモートコンテンツコントローラに送信することと、
    3)リモートに生じたトランスポートコマンドの場合、
    iii)まだ実行されていないトランスポートコマンドと共に、前記リモートに生じたトランスポートコマンドに優先順位をつけることであって、当該リモートに生じたトランスポートコマンドが、先に受信されたコマンドのホールドオフインターバル中に受信され、かつ前記先に受信されたコマンドより高い優先度を有している場合、前記先に受信されたコマンドの実行を回避する、ことと、
    4)コンテンツコントローラ間の待ち時間に従って、前記優先順位付けされたトランスポートコマンドを実行することと、
    を含む、前記方法。
  2. 前記コンテンツコントローラ間の待ち時間が、信号が1つのコントローラと別のコントローラとの間を伝播するための往復時間に従って、判定される、請求項1に記載の方法。
  3. まだ実行されていないトランスポートコマンドと共に、前記ローカルに生じたトランスポートコマンドに優先順位を付けることが、前記ローカルに生じたトランスポートコマンドが、まだ実行されていないトランスポートコマンドに関連して最初に発生したか否かを判定することを含む、請求項1に記載の方法。
  4. まだ実行されていないトランスポートコマンドと共に、前記リモートに生じたトランスポートコマンドに優先順位を付けることが、前記リモートに生じたトランスポートコマンドが、まだ実行されていないトランスポートコマンドに関連して最初に発生したか否かを判定することを含む、請求項1に記載の方法。
  5. 前記まだ実行されていないコマンドが、ローカルに生じたトランスポートコマンドを含む、請求項1に記載の方法。
  6. 前記まだ実行されていないコマンドが、リモートに生じたトランスポートコマンドを含む、請求項1に記載の方法。
  7. 前記ホールドオフインターバルにより、リモートに生じたトランスポートコマンドの実行を遅延させることを含む、請求項1に記載の方法。
  8. 前記ローカルに生じたトランスポートコマンドおよび前記リモートに生じたトランスポートコマンドがそれぞれ、優先度を判定するためのコマンドの発行時刻を示すそれぞれのタイムスタンプを含む、請求項1に記載の方法。
  9. 前記リモートに生じたトランスポートコマンドが前記先に受信されたコマンドより高い優先度を有する場合、前記リモートに生じたトランスポートコマンドが、実効的な変化を示すか否か判定することをさらに含む、請求項1に記載の方法。
  10. 前記リモートに生じたトランスポートコマンドが、実効的な変化を示さない場合、前記先に受信されたコマンドの実行を回避せずに、前記リモートに生じたトランスポートコマンドの実行を回避する、請求項9に記載の方法。
  11. 前記少なくとも1つのリモートコンテンツコントローラのそれぞれのオペレータを表すデータを提供することと、
    前記受信したトランスポートコマンドが、前記少なくとも1つのリモートコンテンツコントローラのうちの第のコンテンツコントローラにおいて生じた場合、前記トランスポートコマンドが実行されるとき、前記トランスポートコマンドの印を表示することであって、前記印が、前記第のコンテンツコントローラに対応するデータを含む、ことと、
    さらに含む、請求項1に記載の方法。
  12. 前記データがオペレータの名前を含む、請求項11に記載の方法。
  13. 前記データがオペレータの画像を含む、請求項11に記載の方法。
  14. トランスポートコマンドを処理するローカルコンテンツコントローラであって、
    1)受信したトランスポートコマンドが、前記ローカルコンテンツコントローラから生じたか、または、少なくとも1つのリモートコンテンツコントローラから生じたか判定する手段と、
    2)まだ実行されていないトランスポートコマンドと共に、ローカルに生じたトランスポートコマンドに優先順位を付ける手段であって、前記ローカルに生じたトランスポートコマンドが優先する場合、前記ローカルに生じたトランスポートコマンドを、実行のために、前記リモートコンテンツコントローラに送信する、手段と、
    3)まだ実行されていないトランスポートコマンドと共に、リモートに生じたトランスポートコマンドに優先順位をつける手段であって、当該リモートに生じたトランスポートコマンドが、先に受信されたコマンドのホールドオフインターバル中に受信され、かつ前記先に受信されたコマンドより高い優先度を有している場合、前記先に受信されたコマンドの実行を回避する、手段と、
    4)コンテンツコントローラ間の待ち時間に従って、前記優先順位付けされたトランスポートコマンドを実行する手段と、
    を備える、ローカルコンテンツコントローラ。
  15. 前記コンテンツコントローラ間の待ち時間が、信号が1つのコントローラと別のコントローラとの間を伝播するための往復時間に従って、判定される、請求項14に記載のローカルコンテンツコントローラ。
  16. 前記リモートに生じたトランスポートコマンドが前記先に受信されたコマンドより高い優先度を有する場合、前記リモートに生じたトランスポートコマンドが、実効的な変化を示すか否か判定する手段をさらに備える、請求項14に記載のローカルコンテンツコントローラ。
  17. 前記リモートに生じたトランスポートコマンドが、実効的な変化を示さない場合、前記リモートに生じたトランスポートコマンドに優先順位をつける手段は、前記先に受信されたコマンドの実行を回避せずに、前記リモートに生じたトランスポートコマンドの実行を回避する、請求項16に記載のローカルコンテンツコントローラ。
  18. 前記少なくとも1つのリモートコンテンツコントローラのそれぞれのオペレータを表すデータを提供する手段と、
    前記受信したトランスポートコマンドが、前記少なくとも1つのリモートコンテンツコントローラのうちの第1のコンテンツコントローラにおいて生じた場合、前記トランスポートコマンドが実行されるとき、前記トランスポートコマンドの印を表示する手段であって、前記印が、前記第1のコンテンツコントローラに対応するデータを含む、手段と、
    をさらに備える、請求項14に記載のローカルコンテンツコントローラ。
JP2014560901A 2012-03-09 2012-08-09 同期されたコンテンツの分散型制御 Active JP6219858B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261609040P 2012-03-09 2012-03-09
US61/609,040 2012-03-09
PCT/US2012/050130 WO2013133863A1 (en) 2012-03-09 2012-08-09 Distributed control of synchronized content

Publications (3)

Publication Number Publication Date
JP2015515774A JP2015515774A (ja) 2015-05-28
JP2015515774A5 JP2015515774A5 (ja) 2015-10-08
JP6219858B2 true JP6219858B2 (ja) 2017-10-25

Family

ID=46796726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014560901A Active JP6219858B2 (ja) 2012-03-09 2012-08-09 同期されたコンテンツの分散型制御

Country Status (7)

Country Link
US (1) US10924582B2 (ja)
EP (1) EP2823642B1 (ja)
JP (1) JP6219858B2 (ja)
KR (1) KR101932793B1 (ja)
CN (1) CN104160708B (ja)
BR (1) BR112014021401B1 (ja)
WO (1) WO2013133863A1 (ja)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US11650784B2 (en) 2003-07-28 2023-05-16 Sonos, Inc. Adjusting volume levels
US11106425B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US8086752B2 (en) 2006-11-22 2011-12-27 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
US11294618B2 (en) 2003-07-28 2022-04-05 Sonos, Inc. Media player system
US10613817B2 (en) 2003-07-28 2020-04-07 Sonos, Inc. Method and apparatus for displaying a list of tracks scheduled for playback by a synchrony group
US9374607B2 (en) * 2012-06-26 2016-06-21 Sonos, Inc. Media playback system with guest access
US9977561B2 (en) 2004-04-01 2018-05-22 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide guest access
US8326951B1 (en) 2004-06-05 2012-12-04 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US8868698B2 (en) 2004-06-05 2014-10-21 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US12167216B2 (en) 2006-09-12 2024-12-10 Sonos, Inc. Playback device pairing
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
US8788080B1 (en) 2006-09-12 2014-07-22 Sonos, Inc. Multi-channel pairing in a media system
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
US11429343B2 (en) 2011-01-25 2022-08-30 Sonos, Inc. Stereo playback configuration and control
US11265652B2 (en) 2011-01-25 2022-03-01 Sonos, Inc. Playback device pairing
US9344292B2 (en) 2011-12-30 2016-05-17 Sonos, Inc. Systems and methods for player setup room names
CN104160708B (zh) 2012-03-09 2018-12-11 汤姆逊许可公司 同步内容的分布式控制
US9729115B2 (en) 2012-04-27 2017-08-08 Sonos, Inc. Intelligently increasing the sound level of player
US20160164976A1 (en) * 2012-09-24 2016-06-09 Suitable Technologies, Inc. Systems and methods for remote presence
US9008330B2 (en) 2012-09-28 2015-04-14 Sonos, Inc. Crossover frequency adjustments for audio speakers
US9930082B2 (en) 2012-11-20 2018-03-27 Nvidia Corporation Method and system for network driven automatic adaptive rendering impedance
US10616086B2 (en) * 2012-12-27 2020-04-07 Navidia Corporation Network adaptive latency reduction through frame rate control
WO2014204459A1 (en) 2013-06-20 2014-12-24 Thomson Licensing System and method to assist synchronization of distributed play out of control
US9819604B2 (en) 2013-07-31 2017-11-14 Nvidia Corporation Real time network adaptive low latency transport stream muxing of audio/video streams for miracast
WO2015038186A1 (en) * 2013-09-16 2015-03-19 Thomson Licensing Auxiliary content synchronization system and method
US20150113576A1 (en) * 2013-10-23 2015-04-23 Sony Corporation Method and apparatus for ip video signal synchronization
US9673994B2 (en) * 2014-01-20 2017-06-06 General Electric Company Synchrophasor data management systems and methods
US9226087B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9226073B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9882705B2 (en) * 2014-05-23 2018-01-30 Mitsubishi Electric Corporation Communication apparatus, communication method, and computer readable medium using propagation delay for time synchronization
CN105407124B (zh) * 2014-09-16 2019-01-15 腾讯科技(深圳)有限公司 一种服务器控制方法及用户终端
CN104391739A (zh) * 2014-11-05 2015-03-04 刘帅 一种能够在实时互动沟通平台中共同分享一个文件并跟随对方操作的交流方法
EP3089457A1 (en) 2015-04-30 2016-11-02 Thomson Licensing Enhanced content consumption by deep immersion
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
US9792147B2 (en) * 2015-07-02 2017-10-17 International Business Machines Corporation Transactional storage accesses supporting differing priority levels
US10303422B1 (en) 2016-01-05 2019-05-28 Sonos, Inc. Multiple-device setup
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name
CN107346119A (zh) * 2017-08-24 2017-11-14 苏睿 协同控制方法、装置及系统
US10966001B2 (en) 2018-04-05 2021-03-30 Tvu Networks Corporation Remote cloud-based video production system in an environment where there is network delay
US11463747B2 (en) * 2018-04-05 2022-10-04 Tvu Networks Corporation Systems and methods for real time control of a remote video production with multiple streams
US10855794B2 (en) 2018-04-12 2020-12-01 Pearson Management Services Limited Systems and method for automated package-data asset generation
WO2020186249A1 (en) * 2019-03-13 2020-09-17 Core Health And Fitness, Llc Torque overdrive stair climber
US11284141B2 (en) 2019-12-18 2022-03-22 Yerba Buena Vr, Inc. Methods and apparatuses for producing and consuming synchronized, immersive interactive video-centric experiences
CN114063505B (zh) * 2021-11-12 2024-11-12 国仪量子技术(合肥)股份有限公司 一种同步控制方法、装置、设备、同步系统及存储介质

Family Cites Families (159)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548324A (en) 1994-05-16 1996-08-20 Intel Corporation Process, apparatus and system for displaying multiple video streams using linked control blocks
US5896128A (en) 1995-05-03 1999-04-20 Bell Communications Research, Inc. System and method for associating multimedia objects for use in a video conferencing system
US5808662A (en) 1995-11-08 1998-09-15 Silicon Graphics, Inc. Synchronized, interactive playback of digital movies across a network
JPH09282133A (ja) 1996-04-09 1997-10-31 Hitachi Ltd 映像通信システム
TW563053B (en) 1998-05-19 2003-11-21 Sony Computer Entertainment Inc Image processing device, method and providing medium
TW447221B (en) 1998-08-26 2001-07-21 United Video Properties Inc Television message system
US7146330B1 (en) 1999-02-08 2006-12-05 Vulcan Portals, Inc. Method and system for creating and managing groups for increasing buying power on the world wide web
US20040194131A1 (en) 1999-03-11 2004-09-30 Ellis Michael D. Television system with scheduling of advertisements
US7076447B1 (en) 1999-06-10 2006-07-11 Inphonic, Inc. Systems and methods for aggregating buyers for the purchase of telecommunication services via a network
JP2001054084A (ja) 1999-08-09 2001-02-23 Matsushita Electric Ind Co Ltd テレビ電話装置
US6754904B1 (en) 1999-12-30 2004-06-22 America Online, Inc. Informing network users of television programming viewed by other network users
US8527345B2 (en) 2000-01-06 2013-09-03 Anthony Richard Rothschild System and method for adding an advertisement to a personal communication
IL145314A0 (en) 2000-01-14 2002-06-30 Nds Ltd Advertisements in an end-user controlled playback environment
US6954728B1 (en) 2000-05-15 2005-10-11 Avatizing, Llc System and method for consumer-selected advertising and branding in interactive media
US20070022375A1 (en) 2000-10-19 2007-01-25 David Walker Apparatus, system, and method for an electronic payment system
US8996698B1 (en) * 2000-11-03 2015-03-31 Truphone Limited Cooperative network for mobile internet access
US6894714B2 (en) 2000-12-05 2005-05-17 Koninklijke Philips Electronics N.V. Method and apparatus for predicting events in video conferencing and other applications
JP3573203B2 (ja) 2001-01-22 2004-10-06 日本電気株式会社 情報再生方法及び情報再生システム。
AU2002305652A1 (en) 2001-05-18 2002-12-03 Biowulf Technologies, Llc Methods for feature selection in a learning machine
JP4744079B2 (ja) 2001-06-06 2011-08-10 ソニー株式会社 広告選択装置及び広告選択方法、並びに記憶媒体
KR20030023415A (ko) 2001-09-13 2003-03-19 김승현 네트워크상 연락물을 이용한 컨텐츠 동시 이용 서비스제공방법
JP2003163911A (ja) * 2001-11-22 2003-06-06 Nippon Telegr & Teleph Corp <Ntt> 好感度情報に基づく映像再生制御方法、映像再生制御システム、サーバ装置、クライアント装置、並びに、映像再生制御プログラム及びその記録媒体
ES2420909T3 (es) 2001-12-24 2013-08-27 Intrasonics S.A.R.L. Sistema de subtitulación
US6653545B2 (en) 2002-03-01 2003-11-25 Ejamming, Inc. Method and apparatus for remote real time collaborative music performance
JP2004007539A (ja) 2002-04-19 2004-01-08 Sumitomo Electric Ind Ltd ビジュアル情報の記録/再生方法、その装置及び通信システム
US8312504B2 (en) 2002-05-03 2012-11-13 Time Warner Cable LLC Program storage, retrieval and management based on segmentation messages
US20040003413A1 (en) 2002-06-27 2004-01-01 International Business Machines Corporation System and method for priority sponsorship of multimedia content
US20070055566A1 (en) 2005-09-02 2007-03-08 Aws Convergence Technologies, Inc. System, method, apparatus and computer media for user control of advertising
GB0222926D0 (en) 2002-10-03 2002-11-13 Koninkl Philips Electronics Nv Media communications apparatus and method
JP2004135062A (ja) * 2002-10-10 2004-04-30 Matsushita Electric Ind Co Ltd 映像コミュニケーションシステム及び映像コミュニケーション方法
US7627808B2 (en) * 2003-06-13 2009-12-01 Microsoft Corporation Computer media synchronization player
US20050091311A1 (en) * 2003-07-29 2005-04-28 Lund Christopher D. Method and apparatus for distributing multimedia to remote clients
US8156444B1 (en) 2003-12-31 2012-04-10 Google Inc. Systems and methods for determining a user interface attribute
US8949899B2 (en) 2005-03-04 2015-02-03 Sharp Laboratories Of America, Inc. Collaborative recommendation system
KR100939904B1 (ko) 2004-03-31 2010-02-03 엔에이치엔(주) 동영상 공동 관람 서비스 제공 방법 및 시스템
US7236615B2 (en) 2004-04-21 2007-06-26 Nec Laboratories America, Inc. Synergistic face detection and pose estimation with energy-based models
JP4300419B2 (ja) 2004-06-15 2009-07-22 船井電機株式会社 テレビジョン受信チュ−ナ
US7865834B1 (en) 2004-06-25 2011-01-04 Apple Inc. Multi-way video conferencing user interface
US20060013557A1 (en) 2004-07-01 2006-01-19 Thomas Poslinski Suppression of trick modes in commercial playback
JP2006041885A (ja) 2004-07-27 2006-02-09 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
KR100488595B1 (ko) 2004-07-29 2005-05-11 엔에이치엔(주) 동영상 공동 관람 서비스 제공 방법 및 시스템
JP4623497B2 (ja) * 2004-10-01 2011-02-02 株式会社オプティム 遠隔制御システムおよびその処理方法
US20060085824A1 (en) * 2004-10-14 2006-04-20 Timo Bruck Method and appartus for management of video on demand client device
US8051425B2 (en) * 2004-10-29 2011-11-01 Emc Corporation Distributed system with asynchronous execution systems and methods
ES2503738T3 (es) 2004-11-12 2014-10-07 Asuragen, Inc. Procedimientos y composiciones que implican miARN y moléculas inhibidoras de miARN
US7873983B2 (en) 2004-11-23 2011-01-18 Palo Alto Research Center Incorporated Method and apparatus for controlling an experiential data stream in a social space
US7882530B2 (en) 2004-11-23 2011-02-01 Palo Alto Research Center Incorporated Method, apparatus, and program products for socially synchronizing an experiential data stream
US7818770B2 (en) 2004-11-23 2010-10-19 Palo Alto Research Center Incorporated Methods, apparatus, and program products to support a shared viewing experience from remote locations
US8392938B2 (en) 2004-12-21 2013-03-05 Swift Creek Systems, Llc System for providing a distributed audience response to a broadcast
US7657829B2 (en) 2005-01-20 2010-02-02 Microsoft Corporation Audio and video buffer synchronization based on actual output feedback
US7665107B2 (en) 2005-03-11 2010-02-16 Microsoft Corporation Viral advertising for interactive services
US7669219B2 (en) 2005-04-15 2010-02-23 Microsoft Corporation Synchronized media experience
US7817180B2 (en) 2005-04-28 2010-10-19 Apple Inc. Video processing in a multi-participant video conference
US7528860B2 (en) 2005-04-29 2009-05-05 Hewlett-Packard Development Company, L.P. Method and system for videoconferencing between parties at N sites
JP4587384B2 (ja) 2005-06-08 2010-11-24 シャープ株式会社 データ通信システム及びデータ通信装置
US7518051B2 (en) * 2005-08-19 2009-04-14 William Gibbens Redmann Method and apparatus for remote real time collaborative music performance and recording thereof
EP1969562B1 (en) 2005-12-30 2016-11-09 Telecom Italia S.p.A. Edge-guided morphological closing in segmentation of video sequences
US8571932B2 (en) 2005-12-30 2013-10-29 Google Inc. Using search query information to determine relevant ads for a landing page of an ad
US20070157105A1 (en) 2006-01-04 2007-07-05 Stephen Owens Network user database for a sidebar
KR100747699B1 (ko) 2006-01-05 2007-08-08 에스케이 텔레콤주식회사 무선 데이터 콘텐츠 함께 보기 서비스 제공 방법 및 시스템
US7917583B2 (en) 2006-02-17 2011-03-29 Verizon Patent And Licensing Inc. Television integrated chat and presence systems and methods
WO2008063819A2 (en) 2006-10-25 2008-05-29 Google Inc. User-specified online advertising
EP2051523B1 (en) 2006-11-06 2012-05-16 Panasonic Corporation Receiver with means for switching without discontinuity between the audio-video signals from two transport streams
WO2008063624A2 (en) 2006-11-17 2008-05-29 Globaltel Media, Inc. System and method for delivering web content to a mobile network
US9253222B2 (en) * 2007-02-22 2016-02-02 Match.Com. L.L.C. Synchronous delivery of media content in a collaborative environment
US20100082727A1 (en) 2007-02-26 2010-04-01 Sony Computer Entertainment America Inc. Social network-driven media player system and method
WO2008116137A2 (en) 2007-03-22 2008-09-25 Nielsen Media Research, Inc. Digital rights management and audience measurement systems and methods
US8330791B2 (en) 2007-04-30 2012-12-11 Hewlett-Packard Development Company, L.P. Video conference system with symmetric reference
US8542266B2 (en) 2007-05-21 2013-09-24 Polycom, Inc. Method and system for adapting a CP layout according to interaction between conferees
US20080307412A1 (en) 2007-06-06 2008-12-11 Sony Computer Entertainment Inc. Cached content consistency management
US20090024718A1 (en) 2007-07-20 2009-01-22 Aris Anagnostopoulos Just-In-Time Contextual Advertising Techniques
US8279254B2 (en) 2007-08-02 2012-10-02 Siemens Enterprise Communications Gmbh & Co. Kg Method and system for video conferencing in a virtual environment
WO2009036415A1 (en) 2007-09-12 2009-03-19 Event Mall, Inc. System, apparatus, software and process for integrating video images
CN101132516B (zh) 2007-09-28 2010-07-28 华为终端有限公司 一种视频通讯的方法、系统及用于视频通讯的装置
US8606634B2 (en) 2007-10-09 2013-12-10 Microsoft Corporation Providing advertising in a virtual world
US8330789B2 (en) 2007-10-31 2012-12-11 At&T Intellectual Property I, L.P. Integrated devices for multimedia content delivery and video conferencing
US9536233B2 (en) 2007-11-16 2017-01-03 At&T Intellectual Property I, L.P. Purchasing a gift using a service provider network
US20090132356A1 (en) 2007-11-19 2009-05-21 Booth Cory J System and method for profile based advertisement insertion into content for single and multi-user scenarios
US8856833B2 (en) 2007-11-21 2014-10-07 United Video Properties, Inc. Maintaining a user profile based on dynamic data
US8060525B2 (en) 2007-12-21 2011-11-15 Napo Enterprises, Llc Method and system for generating media recommendations in a distributed environment based on tagging play history information with location information
US8527334B2 (en) 2007-12-27 2013-09-03 Microsoft Corporation Advertising revenue sharing
US20090169171A1 (en) * 2007-12-27 2009-07-02 Motorola, Inc. Methods and devices for coordinating functions of multimedia devices
US20090215538A1 (en) 2008-02-22 2009-08-27 Samuel Jew Method for dynamically synchronizing computer network latency
US20090232285A1 (en) 2008-03-13 2009-09-17 Babu Mani Method and system for providing personally endorsed advertising content to a calling party
US8554891B2 (en) 2008-03-20 2013-10-08 Sony Corporation Method and apparatus for providing feedback regarding digital content within a social network
US8245262B2 (en) 2008-04-07 2012-08-14 Samsung Electronics Co., Ltd. System and method for synchronization of television signals associated with multiple broadcast networks
US9246613B2 (en) 2008-05-20 2016-01-26 Verizon Patent And Licensing Inc. Method and apparatus for providing online social networking for television viewing
US20090307047A1 (en) 2008-06-02 2009-12-10 International Business Machines Corporation System to Defer and Refer Advertisements Presented in Conjunction with Media Device Control Interfaces
US9445045B2 (en) 2008-06-23 2016-09-13 Alcatel Lucent Video conferencing device for a communications device and method of manufacturing and using the same
US8839327B2 (en) 2008-06-25 2014-09-16 At&T Intellectual Property Ii, Lp Method and apparatus for presenting media programs
US20100030648A1 (en) 2008-08-01 2010-02-04 Microsoft Corporation Social media driven advertisement targeting
US20100043020A1 (en) 2008-08-15 2010-02-18 At&T Labs, Inc. System and method for fine grain payment for media services
US8144182B2 (en) 2008-09-16 2012-03-27 Biscotti Inc. Real time video communications system
US9070149B2 (en) 2008-09-30 2015-06-30 Apple Inc. Media gifting devices and methods
US20100114692A1 (en) 2008-09-30 2010-05-06 Ryan Steelberg System and method for brand affinity content distribution and placement
US8537196B2 (en) 2008-10-06 2013-09-17 Microsoft Corporation Multi-device capture and spatial browsing of conferences
US8345082B2 (en) 2008-10-08 2013-01-01 Cisco Technology, Inc. System and associated methodology for multi-layered site video conferencing
US20100131385A1 (en) 2008-11-25 2010-05-27 Opanga Networks, Llc Systems and methods for distribution of digital media content utilizing viral marketing over social networks
US8812699B2 (en) 2008-12-04 2014-08-19 Lenovo (Singapore) Pte. Ltd. Apparatus, system, and method for data synchronization in a multi-path environment
US8141115B2 (en) * 2008-12-17 2012-03-20 At&T Labs, Inc. Systems and methods for multiple media coordination
US20100199310A1 (en) 2009-01-30 2010-08-05 Echostar Technologies L.L.C. Methods and devices for recommending media content
US20100223119A1 (en) 2009-03-02 2010-09-02 Yahoo! Inc. Advertising Through Product Endorsements in Social Networks
JP2010206349A (ja) 2009-03-02 2010-09-16 Nec Corp 動画コンテンツの再生制御方法、動画コンテンツ再生システム、コンピュータ端末、サーバ、及びプログラム
US8677282B2 (en) 2009-05-13 2014-03-18 International Business Machines Corporation Multi-finger touch adaptations for medical imaging systems
US8830293B2 (en) 2009-05-26 2014-09-09 Cisco Technology, Inc. Video superposition for continuous presence
WO2010141023A1 (en) 2009-06-04 2010-12-09 Hewlett-Packard Development Company, L.P. Video conference
US20100318405A1 (en) 2009-06-16 2010-12-16 Accenture Global Services Gmbh Product placement for the masses
NZ614112A (en) 2009-08-13 2014-07-25 Media Core Pty Ltd Media trading
US8325276B2 (en) 2009-08-26 2012-12-04 Samsung Electronics Co., Ltd. System and method for real-time video content sharing with synchronization via closed-caption metadata
US8957918B2 (en) 2009-11-03 2015-02-17 Qualcomm Incorporated Methods for implementing multi-touch gestures on a single-touch touch surface
KR20110059199A (ko) * 2009-11-27 2011-06-02 삼성전자주식회사 단말장치와, 그 단말 장치와 연결된 미디어 처리 장치 및 그 제어 방법
US20110138018A1 (en) 2009-12-04 2011-06-09 Qualcomm Incorporated Mobile media server
US8910208B2 (en) 2009-12-07 2014-12-09 Anthony Hartman Interactive video system
US20110154386A1 (en) 2009-12-22 2011-06-23 Telcordia Technologies, Inc. Annotated advertisement referral system and methods
EP2517469A4 (en) 2009-12-22 2014-01-15 Vidyo Inc SYSTEM AND METHOD FOR INTERACTIVE SYNCHRONIZED VIDEO VISUALIZATION
US7970661B1 (en) 2010-01-20 2011-06-28 International Business Machines Corporation Method, medium, and system for allocating a transaction discount during a collaborative shopping session
US20110191288A1 (en) 2010-01-29 2011-08-04 Spears Joseph L Systems and Methods for Generation of Content Alternatives for Content Management Systems Using Globally Aggregated Data and Metadata
US9209987B2 (en) 2010-03-02 2015-12-08 Microsoft Technology Licensing, Llc Social media playback
US20110219405A1 (en) 2010-03-03 2011-09-08 Vizio, Inc. System, method and apparatus for integrating social functions into a device
US20110258050A1 (en) 2010-04-16 2011-10-20 Bread Labs Inc. A Delaware Corporation Social advertising platform
US8854416B2 (en) 2010-04-27 2014-10-07 Lifesize Communications, Inc. Recording a videoconference using a recording server
KR20110125548A (ko) 2010-05-13 2011-11-21 엘지전자 주식회사 카메라 제어 장치 및 그 방법
US8928659B2 (en) 2010-06-23 2015-01-06 Microsoft Corporation Telepresence systems with viewer perspective adjustment
KR101189608B1 (ko) 2010-06-23 2012-10-10 (주)엔써즈 콘텐츠 공동 구매 서비스 제공 방법
WO2012008972A1 (en) 2010-07-16 2012-01-19 Hewlett-Packard Development Company, L.P. Methods and systems for establishing eye contact and accurate gaze in remote collaboration
US7921156B1 (en) 2010-08-05 2011-04-05 Solariat, Inc. Methods and apparatus for inserting content into conversations in on-line and digital environments
US8395655B2 (en) 2010-08-15 2013-03-12 Hewlett-Packard Development Company, L.P. System and method for enabling collaboration in a video conferencing system
EP2609750A4 (en) 2010-08-26 2014-10-08 Tarik Taleb SYSTEM AND METHOD FOR CREATING A CUSTOMIZED MULTIMEDIA CONTENT CHANNEL FOR A SOCIAL NETWORK
US20120084160A1 (en) 2010-10-05 2012-04-05 Gregory Joseph Badros Providing Social Endorsements with Online Advertising
US9490998B1 (en) * 2010-11-08 2016-11-08 Google Inc. Network-based remote control
US8928810B2 (en) 2010-12-15 2015-01-06 Bernhard Fritsch System for combining video data streams into a composite video data stream
US20120166349A1 (en) 2010-12-28 2012-06-28 Anastasia Dedis Social media communication and relationship management
US8848024B2 (en) * 2011-03-08 2014-09-30 CSC Holdings, LLC Virtual communal television viewing
US9058611B2 (en) 2011-03-17 2015-06-16 Xerox Corporation System and method for advertising using image search and classification
US20140188634A1 (en) 2011-06-03 2014-07-03 Instant Sponsor.Com Pty Ltd Sponsorship System
US8970704B2 (en) 2011-06-07 2015-03-03 Verizon Patent And Licensing Inc. Network synchronized camera settings
US20130030987A1 (en) 2011-07-27 2013-01-31 Zuckerberg Mark E Paid Profile Personalization
WO2013019259A1 (en) 2011-08-01 2013-02-07 Thomson Licensing Telepresence communications system and method
US20130076980A1 (en) 2011-09-26 2013-03-28 Amichay Oren Systems and methods for synchronizing the presentation of a combined video program
US8271334B1 (en) 2011-10-05 2012-09-18 Google Inc. Generating a media content availability notification
US8973066B2 (en) 2011-11-14 2015-03-03 Comcast Cable Communications, Llc Media content delivery
US20130173742A1 (en) * 2011-12-28 2013-07-04 United Video Properties, Inc. Systems and methods for latency-based synchronized playback at multiple locations
KR20140121387A (ko) 2012-01-06 2014-10-15 톰슨 라이센싱 제 1 스크린의 콘텐츠에 동기된 제 2 스크린에 사회적 메시지의 디스플레이를 제공하기 위한 방법 및 시스템
US9807438B2 (en) 2012-02-10 2017-10-31 Verizon Patent And Licensing Inc. Video on demand gifting
WO2014055058A1 (en) 2012-02-15 2014-04-10 Thomson Licensing Video conference system and method for maintaining participant eye contact
CN104160708B (zh) 2012-03-09 2018-12-11 汤姆逊许可公司 同步内容的分布式控制
US20130246155A1 (en) 2012-03-15 2013-09-19 Verizon Patent And Licensing Inc. Digital content purchase offers via set-top box
US20140229288A2 (en) 2012-03-21 2014-08-14 Lester Teichner System and method for providing a platform for private referrals among social contacts
EP2648418A1 (en) 2012-04-05 2013-10-09 Thomson Licensing Synchronization of multimedia streams
US20130282454A1 (en) 2012-04-19 2013-10-24 Landslide IP Group, LLC Virtual Environment with Targeted Advertising and Rewards
JP2015517164A (ja) 2012-04-30 2015-06-18 トムソン ライセンシングThomson Licensing ソーシャルな分散式コンテンツ閲覧システムにおける広告のための方法および装置
US20130347033A1 (en) 2012-06-22 2013-12-26 United Video Properties, Inc. Methods and systems for user-induced content insertion
JP5815136B2 (ja) 2012-08-23 2015-11-17 三菱電機株式会社 同期配信サーバ
US20150089372A1 (en) 2012-09-18 2015-03-26 General Instrument Corporation Method of user interaction for showing and interacting with friend statsu on timeline
EP2909695B1 (en) 2012-10-22 2019-08-28 InterDigital CE Patent Holdings Electronic device with combination heat sink/blower or fan assembly having air duct
US8806544B1 (en) 2013-01-31 2014-08-12 Cable Television Laboratories, Inc. Content synchronization
WO2014168616A1 (en) 2013-04-10 2014-10-16 Thomson Licensing Tiering and manipulation of peer's heads in a telepresence system
US20160014371A1 (en) 2013-04-24 2016-01-14 Mark J. Huber Social television telepresence system and method
US20150199727A1 (en) 2014-01-10 2015-07-16 Facebook, Inc. Sponsoring Brands Detected in User-Generated Social Networking Content

Also Published As

Publication number Publication date
EP2823642A1 (en) 2015-01-14
US10924582B2 (en) 2021-02-16
JP2015515774A (ja) 2015-05-28
KR20140131534A (ko) 2014-11-13
BR112014021401A2 (ja) 2017-06-20
US20150019670A1 (en) 2015-01-15
CN104160708B (zh) 2018-12-11
BR112014021401B1 (pt) 2022-10-11
EP2823642B1 (en) 2024-04-24
WO2013133863A1 (en) 2013-09-12
CN104160708A (zh) 2014-11-19
KR101932793B1 (ko) 2018-12-27

Similar Documents

Publication Publication Date Title
JP6219858B2 (ja) 同期されたコンテンツの分散型制御
JP6243876B2 (ja) 向上された特殊再生機能のためのシステムおよび方法
US8768146B2 (en) Strategies for controlling presentation of media information based on a sampling of customer playback behavior
US7424545B2 (en) Methods, apparatus, and program products for providing supplemental content to a recorded experiential data stream
US7873983B2 (en) Method and apparatus for controlling an experiential data stream in a social space
US7818770B2 (en) Methods, apparatus, and program products to support a shared viewing experience from remote locations
US7870589B2 (en) Method for providing commentary audio and additional or replacement video content
JP2015515208A (ja) 相関したメディアプレゼンテーションの同期のためのバッファ管理方法
US7814517B2 (en) Method and apparatus for associating commentary audio with a position in an experiential data stream
JP6486628B2 (ja) メディア・ストリームの同期再生を行う相互接続マルチメディア・システム
US7882530B2 (en) Method, apparatus, and program products for socially synchronizing an experiential data stream
US7814518B2 (en) Methods, apparatus, and program products for presenting replacement content instead of a portion of a recorded content
US12088864B2 (en) Systems and methods for providing media content for continuous watching
CA3104700A1 (en) Systems and methods for providing media content for continuous watching
JP4735441B2 (ja) Avサーバ装置
US10887652B2 (en) Systems and methods for providing media content for continuous watching

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150818

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160927

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20161027

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20161125

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20161128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170322

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170831

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170928

R150 Certificate of patent or registration of utility model

Ref document number: 6219858

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250