JP6809174B2 - 同期化デバイス、方法、プログラム及びシステム - Google Patents

同期化デバイス、方法、プログラム及びシステム Download PDF

Info

Publication number
JP6809174B2
JP6809174B2 JP2016234319A JP2016234319A JP6809174B2 JP 6809174 B2 JP6809174 B2 JP 6809174B2 JP 2016234319 A JP2016234319 A JP 2016234319A JP 2016234319 A JP2016234319 A JP 2016234319A JP 6809174 B2 JP6809174 B2 JP 6809174B2
Authority
JP
Japan
Prior art keywords
data stream
synchronization
delay
event
time
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.)
Expired - Fee Related
Application number
JP2016234319A
Other languages
English (en)
Other versions
JP2017108399A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2017108399A publication Critical patent/JP2017108399A/ja
Application granted granted Critical
Publication of JP6809174B2 publication Critical patent/JP6809174B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • H04L7/0337Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/18Arrangements for synchronising broadcast or distribution via plural systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • H04L1/203Details of error rate determination, e.g. BER, FER or WER
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/562Attaching a time tag to queues
    • 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
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/76Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet
    • H04H60/78Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by source locations or destination locations
    • H04H60/80Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by source locations or destination locations characterised by transmission among terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

本発明は、同期化デバイス、方法、プログラム及びシステムに関係があり、特に、メディアストリームに同時にアクセスするビューアーの分散グループによるビューイングのために複数のメディアストリームを同期させる同期化デバイス、方法、プログラム及びシステムに関係がある。
ブロードキャストメディアの消費は、人気のあるアクティビティである。特定のデバイスタイプ(すなわち、テレビ受信機及びラジオ)への同時ブロードキャストが従前は支配的であったが、ネットワークの能力の伸びは、コンピュータ、電話機及びタブレットのような広範なデバイスでこのコンテンツを消費する人々を見込んでいる。メディアストリームは、それらのデバイスの夫々でライブで到来しているように見えるが、実際には、ネットワーキングの要件、及びストリームが全てのタイプのデバイスの異なった表示能力に調整される必要性は、ストリームが、メディアストリームの発生時の実時間と比較して、わずかに(数秒)遅延して各デバイスに達することを意味する。
ソーシャルメディア、並びにビデオ及びオーディオ会議の広い利用可能性は、人々のグループが互いに物理的に近くなくとも実時間において互いと相互作用することができることを意味する。これは、分散したグループが、彼らのローカルのデバイスで同時にイベントを見て、他の通信チャネルを用いてグループの他のメンバーと対話することによって、イベントの経験を共有することを可能にする。そのようなインタラクションは、ライブのスポーツイベントについてのスコアのような、メディアストリームにおけるイベントに対するコメント及び反応を含む。このようなインタラクションは、グループの全メンバーが同時にイベントを計算する場合に最も良く働き、故に、前の段落で記載された遅延は、グループによって共有される経験の喜びを減らす。
グループの分布は、異なる大陸から同じバーの異なるテーブルまで、全範囲の物理的分離で起こり得る(問題は、1つのテーブルが、他のテーブルのデバイスがイベントを見る前に喝采することによって、イベントに反応する、すなわち、スコアを言うことである。)。
分散したグループのメンバーは、異なるソースから彼らのメディアストリームを取得する。彼らが異なる国にいる場合には、共有されるイベントは、地元放送局によってカバーされる(オリンピックイベントの世界放送を考える。)。それらの異なるソースは、異なる遅延をストリームにもたらす。
本発明の実施形態の主たる対象である遅延は、同じストリームの他のビューアーと比較される場合に明らかであるもの(例えば、0.5秒から数秒)であり、更には、相当量の時間の間(例えば、ストリームの存続期間の間又は数分間)配置される。なお、地理的に近い(例えば、同じ会場にいる)ビューアーのグループに関して、遅延許容量は低減され、これは、よりずっと小さい遅延しか受け入れられ得ないことを意味する。
それらの遅延の主たる原因には、次のものがある:
−トランスコーディング
メディアストリームは、デバイスのタイプのための且つ配信の方法のための正確なフォーマットで配信される必要があり、地上放送TVのフォーマットは衛星放送とは異なり、両者は、IPを介したメディアストリームとは異なる。オリジナルソースは1つのフォーマットにあり、残りのフォーマットはこのフォーマットから生成される。このリフォーマッティング、又はトランスコーディングは、何らかの処理を必要とし、これを行うための時間は、トランスコーディングされたストリームの送信を遅延させる。
−意図的な遅延
いくつかのストリームは、例えば、スウェアワード(swear word)の削除を可能にするために、ストリームの製作者によって挿入された意図的な遅延を含んでよい。全ての製作者が同じ長さの遅延を挿入するわけではない。
−局所遅延
ビューアーがストリームを表示すると選択する方法は、遅延を導入し得る。例えば、ストリームを得るためにタブレットを用いるが、結果を(例えば、Chromecast(登録商標)を用いて)その場にあるTVで表示することは、純粋なタブレット表示に対して遅延を付加し得る。
−異なる開始時間
グループが記録されたストリームを(オンデマンドで)見ている場合に、彼らは、わずかに異なった時点で夫々見始めてよく、あるいは、彼らが一時的にビューイングを停止することに同意する場合に、彼らの再開もわずかに非同期であってよい。
−再生バッファ
異なる再生メカニズムは異なるバッファサイズを有し、バッファが遅延をストリームに導入するとして、異なるバッファサイズは異なる遅延を生み出す。
メディアストリームを配信するために使用されるネットワーク及びコンピューティング資源は多くの他のユーザと共有され、それらの資源についてのコンテンションは変化する点に留意されたい。これは、メディアストリームの見かけの速度において時間にわたってわずかな変動が存在することを意味する。それらは、上述された遅延よりもずっと小さく、個々のストリームを配信するメカニズムによって補償される一時的な遅延又は加速を生じさせる。この遅延発生源は本実施形態の対象ではないが、異なる再生速度が続く場合に、実施形態は、遅延が大きくなりすぎないことを確かにする。
メディアストリームが異なるルートを通って、ビューアーごとに異なる処理を受ける場合に、ユーザの分散したグループによるメディアストリームの同期された同時のビューイングを可能にすることが望ましい。これは、ビューアーが、一部のビューアーが他のビューアーよりも前にイベントを見ることなしに、メディアストリームにおけるイベントに関して相互作用することを可能にする。
第1の態様の実施形態に従って、受信されるデータストリームを他の同期化デバイスの夫々で受信されるデータストリームと同期させるよう配置される複数の同期化デバイスを含むシステムにおける使用のための同期化デバイスであって、データストリームを受信するよう構成される同期化バッファと、前記受信されたデータストリームにおいてイベントを検出し、イベント検出時間を含むイベント情報をブロードキャストするよう構成されるイベント検出器と、前記システムにおける各同期化デバイスの前記イベント検出器から当該イベント検出器での前記検出されたイベントの前記イベント検出時間を含むイベント情報を受け取り、前記システムにおいて最も遅延しているデータストリームの遅延時間(最大の遅延時間を有する。)を特定し、前記受信されたデータストリームを前記最も遅延しているデータストリームと同期させるよう前記受信されたデータストリームに適用される遅延時間を計算するよう構成される遅延算出要素とを有する同期化デバイスが提供される。
本発明の実施形態は、異なる場所にいるユーザによるメディアストリーム(例えば、ライブのイベントのビデオ又は予め記録されたビデオ若しくはオーディオストリーム)の同期された同時のビューイングを可能にする技術に関係があり、メディアストリームは異なるルート及び場合により異なるコンテンツプロバイダを介して各個人へ供給される。
(例えば、異なる伝送経路及びチャネルにわたって)異なるルートを通り、異なるタイプのビューイングデバイス(例えば、テレビジョン、ラジオ、コンピュータモニタ又はモバイルデバイス)に向けられるメディアストリームは、異なる量の遅延を受け、一方で、それらのストリームを消費する個人は、瞬間的なルートを介してイベントについて論じるためにしばしば互いと相互作用する。これは、例えば、ビデオを見ている間に、貧しい経験をもたらし得る。一部の個人は、他の個人がまだ見ていないイベントについてコメントする。本願で記載される実施形態は、メディアストリームに対する変更を必ずしも必要としないユーザ間の有益なピア・ツー・ピアの同期化を供給することができ、そして、ビューインググループの全てのメンバーが共通のストリームを足並みをそろえて見ることを確かにすることができる。
本質的に同じ情報を多数のデバイスへ送信する無線又は有線通信システムにおいて、特定のデバイスで受信される夫々のデータストリーム(又はメディアストリーム)は、システムにおける他のデバイスへ送られる他のデータストリームとは異なる伝送遅延の量を経験してよい。
実施形態に関連するデータストリームは、データストリーム源(例えば、放送局)から絶えず送信されるデータのフローであってよく、デバイス(実施形態に関連して同期化デバイスと通常は称される。)で相応に受信される。データストリームは、放送局によって送信されている間、同期化デバイスで連続して受信されてよい。
同期化デバイスは、データストリーム源からデータストリームを受信し、データストリームがその後にシステムにおける全ての他のデータストリームと同時に表示/出力されるように、ある時間量(遅延時間)だけデータを同期化バッファにおいて格納する。
遅延時間を計算するために、データストリームは、同期化バッファからイベント検出器(認識器又は識別器)へ出力される。イベント検出器は、時間マーカとして使用されるイベントを検出する。検出されたイベントから、データストリームによって経験される相対的な遅延量は、システムにおける他のデータストリームと比較される場合に、計算され得る。イベント検出器は、次いで、イベントが検出された時間を示す情報(イベント情報)を遅延算出要素(実際上、相対遅延計算器)へ渡す。
イベント検出器は、イベントが検出される時間を特定するために、クロックを含んでよく、あるいは、別個の時間基準デバイスへ接続されてよい。遅延算出要素は、その特定の同期化デバイスに属するイベント検出器からのイベント情報とともに、全ての他のイベント検出器(システムにおける他の同期化デバイスに属する。)からの対応するイベント情報を受け取り、システムにおける最も遅延しているデータストリームによって経験される遅延に対して、それ自身の同期化デバイスの受信されたデータストリームにおける遅延の量を特定する。遅延算出要素は、次いで、受信されたデータストリームが(対応する同期化デバイスで)最も遅延しているデータストリームと同時に出力されることを可能にするために必要とされる遅延の量を計算する。
同期化デバイスは、出力デバイス(テレビジョン、パーソナルコンピュータ、モバイルデバイス、など)に含まれてよく、あるいは、データストリーム伝送の受信側にある又はそのための別個のデバイスであってよい。同期化デバイスは、システム内の他の同期化デバイスによる対応する出力デバイス/出力セクションへの他のデータストリームの出力と同期して、遅延されたデータストリームを出力デバイスへ(あるいは、出力デバイスに組み込まれている場合には、出力セクションへ)出力する。
遅延算出要素は、1つの送信方法(例えば、有線ルート)によるそれ自身の同期化デバイスのイベント検出器からのイベント情報と、他の方法(例えば、無線)によるシステム内の全ての他のイベント検出器からのイベント情報とを受け取ってよい。遅延算出要素は、受信されたイベント情報及び/又はその起源を送信方法に基づき認識する別個のイベント情報認識ユニットを含んでよい。
システムは、複数の(場合により同じ)同期化デバイスを含んでよく、それらの同期デバイスのうちの1つは、夫々の受信機又はデータストリーム出力点で又はその中に位置付けられる。従って、上記の実施形態は、同期化デバイスのうちの1つに言及するが、これは、単に説明のためであり、他の同期化デバイスは対応する構成を備えてよい点が理解されるべきである。
任意に、受信されたデータストリームがシステムにおける最も遅延しているデータストリームである場合には、遅延算出要素は、前記遅延算出要素は、如何なる前に適用された遅延時間も取り外すことによって、最も遅延しているデータストリームのタイミングを調整するよう構成される。
相応に、システムにおける同期化デバイスの遅延算出要素は、如何なる以前に適用された遅延時間も取り外すような、最も遅延しているデータストリームのタイミングに対する調整を考慮しながら、最も遅延しているデータストリームと同期するよう構成される。言い換えると、遅延算出要素は、調整されたタイミングと同期する。
最も遅延しているデータストリームへ加えられた遅延をゼロにすることは、別のデータストリームが最も遅延しているデータストリームになるとして遅延が累積的に付加されるクリープ(creep)又はバッファ消耗を回避する。例えば、最も遅延しているデータストリームにおいて(過去の実績に起因して)含まれている“3”の遅延は、他のデバイスでは3よりも大きい遅延をもたらす。
任意に、イベントは、ストリームパラメータの変化の割合の極大又は極小のような、データストリームの固有特性である。
この実施形態では、検出可能なイベントは、夫々のデータストリームの既に一部である特定のイベントであってよい。如何なる適切なアルゴリズムも、イベントとなり得る特定のストリーム特性を検出するために使用され得る。有利なことに、データストリームが検出可能なイベントを既に含む場合には、特定のイベントを付加する必要はなく、これは、処理を減らし、更には、データストリームが不変なままであることを可能にしながら、データストリームにおけるデータの改悪の機会を減らす。検出可能なイベントは、しかしながら、(例えば、データストリーム源で)データストリームに加えられてよい。検出可能なイベントを加える利点は、ほとんど又は全く固有の検出可能なイベントを有さないデータストリームにおいて確認され得る。この具体的な場合において、容易に検出可能なイベントは、イベント検出器がイベントを検出できないことがないことを確かにするよう送信側で加えられてよい。
任意に、計算された遅延時間は、同期化バッファの容量を変えることによって適用される。
遅延算出要素は、必要とされる遅延時間値を適用するよう、バッファの使用容量を設定してよい。ここで、遅延時間は、データストリームのどれくらいが出力される前にバッファされる(遅延される)かによって指示される。バッファの設定された使用容量に基づき遅延量を制御することによって、同期化デバイスは、遅延がバッファサイズに由来する受動的なアクションになる点で、簡単にされる。これは、制御信号が遅延時間を示す必要性を減らし、更には、バッファ資源が適切に使用されることを確かにする。
任意に、データストリームは、同期化バッファを通った後にイベント検出器を通る。
データストリームを同期化バッファの後にイベント検出器に通すことによって、データストリームのその意図された出力タイミングとのより近いアライメントが達成される。加えて、データストリームの伝送経路に沿って後にイベント検出器を位置付けることは、全ての先行する段でのデータストリームの通信に付随した遅延(特に、データストリームの出力時間に影響を及ぼし得る予測不可能な遅延)が考慮され得ることを意味する。
任意に、イベント情報は、同期化デバイスを識別する識別子と、同期化バッファのバッファ容量のインジケーションとを更に含む。
識別子及びバッファ容量を知っていることは、このデータが格納され、夫々の同期化デバイスのために更新されることを可能にする。これは、最も遅延しているストリームを受信するデバイスによって行われる如何なる調整も考慮しながら、新しい遅延時間の簡単な適用を可能にすることができる。実際に、他のデバイスは、最も遅延しているストリーム
を有するデバイスのアイデンティティ及びその現在のバッファ容量(遅延)を知っており、この現在の遅延を、このデバイスと同期するために加えられた遅延から減じることができる。
同期化バッファの容量は、如何なる適切な方法においても、例えば、絶対容量(トータルのサイズ/メモリ)に関して、又はバッファのトータルのサイズのパーセンテージ(すなわち、利用可能な(使用中及び未使用の)容量のパーセンテージとしての使用容量として)、あるいは、時間単位又は単位の任意の組を用いて、提示されてよい。技術が進歩し、メディアをストリーミングする品質が高くなるにつれて、関連するデータの量は増大する。従って、バッファ容量に関する情報を含めることは、バッファがシステムにおいてアップグレードされる必要があるとの早期の警告を提供するために使用されてよい。
任意に、同期化デバイスは、他の同期化デバイスの夫々からの複数のイベントについてのイベント情報を記憶する記憶ユニットを更に有する。この場合に、順次的なイベント間の一連の時間ギャップは、適用される時間遅延を計算するために使用されてよい。例えば、不規則なイベントが存在する場合に、異なるデバイスでのデータストリーム間の時間オフセットは、データストリームにおける変化する時間ギャップ値の連続をアライメントすることによって、検出され得る。連続は、夫々のデバイスで同じ時間ギャップ値を有するが、異なる時間遅延によってオフセットされている。全てのバッファは、ゼロ遅延による初期設定を有する。
任意に、異なるメディアストリームも当該同期化デバイスによって受信される。異なるメディアストリームは、データストリームとは異なったデータ(例えば、Twitter(登録商標)フィード及び同様のもののような、別個のオーディオストリーム又はコメンタリ)を有する。異なったデータは、データストリームと時間的にリンクされる。算出要素は、異なるメディアストリームがデータストリームと同期するように、異なるメディア遅延を異なるメディアストリームに適用するよう構成される。対比しやすくするために、この遅延時間は、以降、異なるメディア遅延時間と称される。
異なるデバイスで受信されるデータストリームは、全て同じデータを含んでよい。例えば、テレビ放送イベントが(多数の同期化デバイスを通じて)複数のテレビジョンへ送信される場合に、全てのテレビジョンは本質的に同じデータを表示する。代替的に、データは対応するが同じでなくてよい。例えば、1つのデータストリームは、テレビ放送イベント(例えば、スポーツイベント/プログラム)を示すためのデータを含んでよく、異なるデバイス又は同じデバイスによって受信される他の異なるメディアデータストリームは、テレビ番組への別のオーディオコメンタリを示すためのデータを含んでよい。それら2つは、望ましくは、対象の聴衆が所望の時点でコメンタリとともに番組を経験し得るように、同期して出力される。この場合における2つ(又はそれ以上)のデータストリームは、互いに同じデータを有さないが、互いに合わせて再生される(聴衆に出力される)よう意図される。更なるシナリオでは、システム内のいくつかのデータストリームは同じデータを含んでよく、一方、他は、上述されたように、異なるが対応するデータを含んでよい。
任意に、データストリームは、オンデマンドのメディア片を含み、異なるメディアストリームは、インタラクティブなメッセージングフィードを含み、遅延算出要素は、メディア片のライブ開始時間と、計算された遅延時間を含むメディア片のオンデマンド開始時間との間の時間オフセットを特定し、メディア片の再生と同期してインタラクティブなメッセージングフィードにおけるメッセージを表示するよう時間オフセットを異なるメディアストリームに適用することによって異なるメディアストリームをデータストリームと同期させるよう構成される。
オンデマンドのビューイングは、グループが、そもそもはライブで放送されていた記憶されているショーを見ることに決める状況に関係があり得る。この状況では、夫々のビューアーがわずかに異なる時点でオンデマンドのメディア片を再生し始めるか、又はわずかに異なる点へ早送りしたいと望む場合に、遅延が存在する。
放送ショーの記録されたバージョンのようなオンデマンドのサービスを見るために、本発明の実施形態は、グループを構成しない、最初の放送中にショーに反応した人々からのインタラクティブなメッセージングフィードと同期することを可能にする。インタラクティブなメッセージングフィードは、グループローカル時間と最初の放送の時間との間の時間差を示すショーオフセットを含んでよい。メッセージングフィードはまた、メッセージがフィードに投稿されるショータイムライン内の時間にマークして、非同期のメッセージがあたかも最初の放送の間に起こったかのようにタイムライン内にマージされ得るようにするオプションを含むよう増強されてよい。
任意に、同期化バッファは、ストリーム配信のレートに対する変化を補償する再生バッファとしても働く。
本発明の更なる態様の実施形態に従って、データストリーム源と、様々に上述された同期化バッファのグループとを含むシステムが提供される。
システムは、少なくとも1つのデータストリーム源を含む。ストリーミングされるデータに応じて、更なるデータストリーム源が存在してよい。1つのデータストリーム源は、単一の物理送信機/放送局であってよく、あるいは、例えば、送信範囲を増やすために、複数の送信機を含んでよい。複数のデータストリーム源は、例えば、システムが地理的に広い範囲にわたって延在する場合に、又はデータストリームが異なるが対応するデータを含む場合に(以下でより詳細に記載される。)、使用されてよい。
任意に、同期化デバイスのうちの1つ以上は、データストリームの遅延を制御し且つデータストリームをユーザデバイスへ送信するネットワークエッジプロキシである。
任意に、システムは、グループにおける各同期化デバイスに関するシステム情報を記憶するよう構成されるディスカバリサーバを更に有し、新しい同期化デバイスがグループに加えられる場合に、新しい同期化デバイスは、システム情報の要求をディスカバリサーバへ送信し、ディスカバリサーバは、システム情報を含む新しい同期化デバイスへの応答を送信する。
ディスカバリサーバは、システム(同期化デバイスのグループ)に加わることを望む同期化デバイスによって接触されてよい。
本発明の更なる他の態様の実施形態に従って、複数の同期化デバイスを含むシステムにおける同期化デバイスで受信される受信されたデータストリームを、前記システムにおける他の同期化デバイスの夫々で受信されるデータストリームと同期させる方法であって、当該同期化デバイスの同期化バッファでデータストリームを受信し、前記受信されたデータストリームにおいてイベントを検出し、イベント検出時間を含むイベント情報をブロードキャストし、前記システムにおける各同期化デバイスから、その同期化デバイスでの前記検出されたイベントの前記イベント検出時間を含むイベント情報を受け取り、前記システムにおいて最も遅延しているデータストリームの遅延時間を特定し、前記受信されたデータストリームを前記最も遅延しているデータストリームと同期させるよう前記受信されたデータストリームに適用される遅延時間を計算することを有する方法が提供される。
システムにおける最も遅延しているデータストリームは、最大の(相対)遅延時間を有するデータストリームであるか、あるいは、検出されたイベント検出時間に基づき最も遅延されている。上述されたように、最も遅延しているデータストリームのタイミングは、対応するデバイスへ加えられている遅延時間をゼロにすることによって、調整され得る。
本発明の更なる他の態様の実施形態に従って、コンピュータプロセッサで実行される場合に、該コンピュータプロセッサに、上記の実施形態に従う方法を実施させるプログラムが提供される。
上述された機能モジュール/デバイスの夫々は、モジュールの機能を実施するために特に構成されたハードウェアによって実現されてよい。機能モジュールは、コンピュータプロセッシングユニットによって実行される場合にコンピュータプロセッシングユニットに機能モジュールによる機能を実施させる命令又は実行可能プログラムコードによっても実現されてよい。コンピュータプロセッシングユニットは、機能モジュールによる機能を実現するために、メモリ、ストレージ、I/Oデバイス、ネットワークインターフェイス、センサ(オペレーティングシステム又は他を介する。)、及びコンピュータデバイスの他のコンポーネントと協働して動作してよい。モジュールは、ユニット又は要素とも呼ばれてよく、方法、プログラム又はプロセスのステップ又は段階であってよい。
同期化デバイスは、コンピュータデバイス又はサーバのような単一のエンティティによって実現されてよく、あるいは、例えば、制御プロトコルのレイヤとして、協働する1つよりも多いコンピュータデバイスによって実現されてよい。従って、夫々の機能モジュールは、複数のコンピュータデバイスに属するコンポーネントによって実行されてよく、機能モジュールは、1つよりも多いコンピュータデバイスよって提供されてよい。
態様(ソフトウェア/方法/装置)は別々に論じられているが、1つの態様/実施形態に関して論じられている特徴及びその結果は、他の態様に同様に適用可能である点が理解されるべきである。従って、方法の特徴が論じられている場合に、装置の実施形態が、その特徴を実施するか又は適切な機能を提供するよう構成されたユニット又は装置を含むこと、及びプログラムが、それらが実行されているコンピュータ装置に前記の方法の特徴を実施させるよう構成されることは、当たり前である。上記の態様のいずれでも、様々な特徴はハードウェアにおいて、又は1つ以上のプロセッサで実行されるソフトウェアモジュールとして、実装されてよい。
従って、本発明の好適な実施形態に従う方法は、装置の態様の如何なる組み合わせも有することができる。それらの更なる実施形態に従う方法は、それらがプロセッシング及びメモリ機能を必要とする点で、コンピュータにより実施されるものとして記載され得る。
本発明は、デジタル電子回路において、あるいは、コンピュータハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせにおいて、実装され得る。本発明は、コンピュータプログラム又はコンピュータプログラム製品、すなわち、1つ以上のハードウェアモジュールによる実行のために又はその動作を制御するために、情報担体において、例えば、マシン可読記憶デバイスにおいて、又は伝播される信号において、実体的に具現されるコンピュータプログラムとして実装され得る。コンピュータプログラムは、スタンドアローンのプログラム、コンピュータプログラム部分又は1つよりも多いコンピュータプログラムの形をとることができ、コンパイル済み又は解釈済み言語を含む如何なる形式のプログラミング言語でも記述され得、そして、それは、スタンドアローンのプログラムとして又はモジュール、コンポーネント、サブルーチン、又はデータ処理環境での使用に適した他のユニットとしてを含め、如何なる形でも展開され得る。コンピュータプログラムは、1つの場所において1つモジュールで又は複数のモジュールで実行されるか、あるいは、複数の場所にわたって分散されるように、展開され得る。
実施形態に関連する利点は、“第2のスクリーン”(例えば、ビューイングが第1のデバイス(例えば、TVスクリーン)で起こるのと同時に使用される付加的なデバイス(例えば、電話機/タブレット))を通じて相互作用する物理的に離れた人々のグループによるデータストリーム(メディアストリーム)の改善された消費である。第2のスクリーンは、ライブメッセージング、ライブブログ、ボーティング、などのような他のルートを介して相互作用するために使用されてよい。本発明の実施形態は、メディアストリームを配信する方法への変更を必要とせずに、全てのタイプのデバイス及びネットワークにとって有効であることができる。実施形態の使用は、コンテンツ製作者へ及びネットワークプロバイダへ収入機会を提供しながら、ブロードキャスト及びオンデマンドのメディアの消費を奨励する。実施形態は、ネットワークエッジコンピューティングから提供されるサービスとして実装され得、故に、如何なるタイプの表示機器も対象とする。
本発明の好適な実施形態は、単なる一例として、添付の図面を参照して以降記載される。
異なるメディアストリームにおける遅延の発生源を示す例である。 単一のビューアーに適用される本発明の実施形態を示す。 本発明の簡略化された実施形態を示す。 受信されたデータストリームが最初にイベント検出器を通る実施形態を示す。 ディスカバリサーバを含むシステムの実施形態を示す。 メディアストリームが同期されているグループのメンバー間のインタラクションのパターンの例を示す。 遅延算出要素の実施形態の制御のフローを示す。 A〜Cは、ビューアーがグループに参加する場合のメッセージのフローの例を示す。 3ビューアーシステムのためのサンプルデータ構造を示す。 図5Aで示される例のNEプロキシを使用する変形例を示す。 図3で示される例の2つのNEプロキシを使用する変形例を示す。
図1は、メディアストリームの受信における遅延の発生源及び受信されたストリームに対する作用の例を示す。2つの放送局(放送局1及び2と称される。)は、様々なソースにわたるイベントの範囲を伝えている。カメラ及びミキシングは共通の動作であり、同じストリームが両方の放送局へ配信される。放送局1は、如何なる編集上の遅延もなしでイベントを送信し、一方、放送局2は、ストリームを5秒間遅延させる。いずれの放送局も、異なるユーザデバイスを可能にするよういくつかのストリームにトランスコーディングを適用するが、それらは異なる技術を使用し、故に、放送局1によって導入される遅延は6秒であり、放送局2からの遅延は4秒である。ユーザ1乃至3は、自身の受信デバイスで直接にイベントを見るが、ユーザ4は、自身のデバイスからテレビジョン(TV)へストリームを投じ、更なる1秒の遅延を導入する。それらの遅延の累積的影響は、ユーザがインシデントを見る時とユーザが同じインシデントを見る時との間に10秒の時間差が存在することである。
実施形態は、ビューインググループのメンバーごとに個々にメディアストリームの遅延を挿入することを含む。夫々の遅延のサイズは異なり、遅延がストリームの受信に合わせてというよりむしろ“グループ時間”に合わせるように決定される。グループ時間は、最も遅い(最も遅延している)グループメンバーが最も遅延が小さいメンバーと同時にイベントを見るように、ストリームに対する一般に認められている遅延である。グループ時間は、メディアストリームにおいて検出されたイベントがいつ起こったかに関する情報の軽い(lightweight)ピア・ツー・ピア共有を用いてローカル計算によって決定される。
詳細には、多くの受信デバイスを含むシステムにおいて、夫々の受信デバイスは、その受信デバイスの出力をシステムにおける全ての他の受信デバイスの出力と同期させるために使用される同期化部分を含む。例えば、スポーツイベント又は会場で、夫々の受信デバイスは、テレビジョンにおいて具現されてよく、同期された出力は、全てのTVが関連するオーディオ/ビジュアルフィードを同時に再生することを意味する。
これを達成するために、本発明の実施形態は同期化デバイスを用いる。そのような部分は、一実施形態において、入来するデータストリームを受信し、それを、遅延算出要素によって指示された時間量の間保持するバッファ(同期化バッファ)を含む。システムにおける夫々の受信デバイスは、そのような遅延算出要素を含む。夫々の受信デバイスは、イベント検出デバイスを更に含む。遅延算出要素、イベント検出デバイス及び同期化バッファは一緒に同期化デバイスを構成する。
イベント検出デバイスは、受信されたデータストリームにおいてイベントを検出し、イベントが検出された時間を示すイベント情報を(少なくとも遅延算出要素へ及びシステムにおける他の受信デバイスの他の遅延算出要素へ)ブロードキャスト(送信)するよう構成される。
遅延算出要素は、従って、システムにおける全てのイベント検出デバイスからイベント情報を受け取る。このことは、いずれか1つのストリームが遅延している最大の時間量を計算することを遅延算出要素に可能にする。遅延算出要素は、計算された時間量をそれ自身の受信デバイスのイベント検出デバイスと比較し、それ自身のデータストリームの受信と、システムにおける最も遅い(最も遅延している)データストリームの受信との間の時間差を決定する。
遅延算出要素が、比較及び決定を通じて、システムにおける他のデータストリームのいずれもそれ自身のデータストリームよりも遅くないと結論を出す場合に、遅延算出要素は、それ自身を、システムにおいて最も遅いデータストリームを有していると見なし、同期化バッファに、データストリームを遅延させないように(すなわち、ゼロの遅延を提供するように)指示する。しかし、他のデータストリームがそれ自身のデータストリームよりも遅いものとして計算される場合には、遅延算出要素は、それ自身のデータストリームにおけるイベントが検出された時間と、最も遅いデータストリームにおけるイベントが検出された時間との間の差を計算し、同期化バッファに、最も遅いデータストリームを有するデバイスから取り外される如何なる遅延も時間差から減じたものに等しい時間量だけデータストリームを遅延させるように指示する。それにより、自身のデータストリームは、次いで、システムにおける全ての他のデータストリームが各自の同期化バッファから出力されるのと同時に同期化バッファから出力される。
データストリームが計算された遅延時間だけ遅延されると、データストリームは、意図された聴衆への通信のためにディスプレイ/出力ユニットへ転送される。
図2Aは、単一のビューアーに適用されるものとして本発明の実施形態を示す。ビューアーのディスプレイ201は、3つの新しいコンポーネント202、203、204によって増強される。202は、メディアストリーム205の受信と201でのその表示との間に遅延を付加するよう導入された同期化バッファである。遅延の長さは、ビューインググループのメンバー間で異なり、個々のビューアーごとに遅延算出要素204によって制御される。メディアストリームは、同期化バッファの後にイベント検出デバイス203を通る(この配置は、イベントが同期化に近づくにつれて、遅延算出要素におけるアライメント動作の有効性を高める。)。この実施形態の変形例は、202の前に203を置き、場合により、204での更なる計算を犠牲にする可能性を有しながら、現在のバッファサイズをブロードキャストする必要性を除く。イベント検出要素203は、ビューインググループの全てのメンバーのメディアストリームにおいて同様のイベントを検出し(更なる議論については以下を参照。)、それらのイベントの時間をグループの全てのメンバーの遅延算出要素へ送信する(送信については外向き矢印206a及び206bとして、他のグループメンバーからのタイミングの受信については内向き矢印207として示される。)。同期化のために必要とされる遅延に対する変更は、遅延算出要素204によって必要に応じて同期化バッファ202へ(矢印208)、そして、新たに同期化されたビューイング時間への滑らかな遷移を可能にするようディスプレイ201へ送信される。
図2Bは、システム(図示せず。)における同期化デバイス300を示す。データストリーム(DS)は同期化デバイス300で受信される。例えば、データストリームは、データストリーム源から受信される。受信されたデータストリームは、次いで、所定の時間量又は遅延時間の間、同期化バッファ302においてバッファリングされる。その後に、データストリームは、イベント検出器303(イベント検出要素)へ転送される。イベント検出器303は、データストリームにおいてイベントを検出する(それは、データストリームデータの部分であるか、あるいは、データストリームに別個に加えられてよい。)。イベント検出器303は、次いで、イベントが検出されたイベント検出時間を示し、イベント検出時間をシステムにおける他の同期化デバイス300へ及び遅延算出要素304へイベント情報(EI)として送信(ブロードキャスト)する。より具体的には、イベント検出器303は、イベント検出時間をシステムにおける夫々の遅延算出要素304へ送信する。次いで、遅延算出要素304は、このときシステムにおける夫々のイベント検出器303からイベント検出時間を受信しており、受信されたイベント検出時間に基づき、システムにおけるいずれのデータストリームの最大遅延時間がどのようであるかを特定する。この最大遅延時間は、次いで、受信されたデータストリーム(比較を実施する遅延算出要素304を含む同期化デバイス300で受信されたデータストリーム)によって経験されている遅延時間と比較される。この比較から、遅延算出要素304は、受信されたデータストリームを、最大遅延時間を有するデータストリームと同期させるために必要とされる(追加の)遅延時間の量を計算する。この計算された遅延時間は、次いで、同期化バッファ302において、データストリーム(データストリーム源から連続して受信されている。)に適用される。それによって、受信されたデータストリームは、システムにおける最も遅延しているデータストリーム(最大遅延時間を有するデータストリーム)と同期する。受信されたデータストリームは、同期化デバイス300から(出力/ディスプレイデバイス301へ)出力される。
図2Cは、図2Bで示される実施形態変形例を示す。受信されたデータストリームは最初にイベント検出器303を通り、その後に同期化バッファ302を通る。この配置は、遅延時間が加えられる前に計算されることを可能にし、遅延時間が最初の適用から正確であることを意味する。他のコンポーネントは、図2Bについて上述されたとおりである。
図2Dは、システム内で使用される複数の同期化デバイス300、ブロードキャスト源340、及びディスカバリサーバ350(中央サーバ)を含むシステム又はグループの例となる実施形態を示す。ディスカバリサーバ350は、同期化デバイス300によって接触される。同期化デバイス300は、システムに加えられる(含まれる)べき出力デバイス301において具現されてよい。ディスカバリサーバ350は、システムに加わりたいと望むデバイスから、システムに関する情報の要求(req)を受信する。ディスカバリサーバ350は、次いで、新しいデバイスに関する情報を記憶する。ディスカバリサーバ350は、システムにおける全てのデバイス(それ自身、データストリーム源、及び夫々の同期化デバイス300を含む夫々の受信機)に関するシステム情報(SI)も記憶する。特に、ディスカバリサーバ350は、システムにおける夫々の同期化デバイス300を識別するシステム情報を記憶するよう構成されてよい。このとき、新しいデバイス300がシステムに加わりたいと望む場合に、同期化デバイス300はディスカバリサーバ350と接触してよく、これに応答して、ディスカバリサーバ350は、新しい同期化デバイス300にシステム情報を送る。ディスカバリサーバ350は、次いで、新しい同期化デバイス300に関する情報をシステムにおける既存の同期化デバイス300へ送信してよい。ディスカバリサーバ350は、別個のエンティティとして配置されてよく、あるいは、システムにおける同期化デバイス300の1つにおいて含まれてよい。
図3は、メディアストリームが同期しているグループのメンバー間のインタラクションのパターンを示す。4人のビューアーが存在し、各人は異なるソースから異なるルートを介して異なるメディアストリームを受信している。図1で表されるように、夫々のストリームは異なる遅延を有してよい。点線は、全ての他のグループメンバーへのイベントのブロードキャストを示す(線206及び207の外部表現)。従って、夫々のデバイスは、イベント情報をシステムにおける全ての他のデバイスへ送信し、且つ、イベント情報をシステムにおける他のデバイスの夫々から受信するよう構成される。この方法によって、遅延算出要素は、それが位置している同期化デバイスのための適切な遅延時間を確実に計算するために必要とされる関連情報を得ることができる。
図4は、遅延算出要素204の実施形態の制御のフローを示す。図4で示されるように、遅延算出要素204は、それ自身のデバイスのイベントストリーム(イベントを含むデータストリーム)を、システムにおける他のイベントストリームとアライメントする(S101)。このアライメントは、イベント情報及び計算された遅延時間に基づき実施される。次いで、その後のイベントから、如何なる関連する動きもデータストリーム間(遅延算出要素が属する同期化デバイスで受信されたデータストリームと、システムにおける最も遅延しているデータストリームとの間)で検出され(S102)、遅延算出要素は、同期化バッファのサイズを然るべく変更する。受信されたデータストリームが前に測定された遅延に対して遅い場合には、受信されたデータストリームを最も遅延しているデータストリームと同期させるために必要とされる遅延はより小さいので、バッファサイズは低減される(S103)。遅延における目に見えるほど明らかな変化を最小限にするために、データストリームは、後述されるように、滑らかに前進される(S104)。測定された遅延において変化がない場合には、バッファサイズは変更されない(S105)。受信されたデータストリームが前に測定された遅延に対して速い場合には、より大きい遅延時間が適用される必要があり、バッファサイズは増大される(S106)。この変化の影響を最小限にするために、データストリームは、後述されたように、滑らかに遅延される(減速される)(S107)。次いで、適切な動作がバッファサイズを調整又は維持するために行われた後、遅延算出要素204は、データストリームを再びアライメントする(S101)ために、イベント情報を受信するよう次のインターバルを待機する(S108)。
従って、規則的な、しかし、それほど頻繁でないインターバルにおいて、遅延算出要素は、全てのグループメンバーのイベントストリームをアライメントする(これは、全てのメンバーの遅延算出要素において独立して起こる。)。それは、次いで、ストリームを最も遅いメンバーと同期させるために維持すべきバッファのサイズを計算する。最も遅いメンバーに対して進めた場合には、バッファサイズは増大する。遅延した(又は最も遅くなる)場合には、バッファサイズは低減される。
ビューアーに提示されるメディアストリームは、バッファサイズの変化を反映するよう同様に前進又は遅延される必要がある。この変化は、ビューアーにとって目立つアーチファクトを引き起こすほど十分に大きいことがある。そのようなアーチファクトの影響は、メディアストリームにおいて時間を圧縮又は伸長するためのよく知られた技術、例えば、2倍速及び1/2倍速再生ボタンを実装するために使用される技術を用いて、新しいメディア表示点へ滑らかに移動することによって低減され得る。
同期化バッファは、メディア再生ソフトウェアにおいて使用される再生バッファ機能とは異なる。再生バッファは、ストリーム配信のレートに対する変化を補償するために使用され、一方、同期化バッファは、ストリームに遅延を導入するために使用される。再生バッファの副次的な作用は、ストリームを遅延させることであり得る。故に、本実施形態の実施は、再生及び同期化の両機能を提供する再生ソフトウェアにおいて、変形されたバッファを使用してよい。
ストリームを共有したいと望むビューアーのグループをサポートするソフトウェアは、ピア・ツー・ピアネットワークを形成する。ピア・ツー・ピアネットワーキングは、汎用的な分野であり、標準技術の多くが、同期化されたビューイングネットワークを形成するために使用され得る。しかし、グループは分散し、様々な技術(有線、無線)を介して通信しており、故に、最初のピア・ディスカバリは、導入のために、指定された中央サーバ又は確立されたネットワークにおける既知のノードを使用する必要がある。中央サーバは、ビューアーがグループに参加する場合のメッセージのフローを示す図5において、例示のために使用されている。新しいビューアーは、グループ詳細のためにディスカバリサーバに接触して、返答として現在のメンバーのリストを受信する。新しいビューアーは、次いで、彼ら自身を他のグループメンバーに紹介し、その後に、イベント情報は、夫々の同期化デバイスへ及びそれからブロードキャストされてよく、新しいグループメンバー(及び既存のグループメンバー)が適切な遅延時間を計算することを可能にする。
同期化が満足な共有経験を提供するための要件は、他のタイプのメディア同期化ほど強くない。同じストリーム上でボイス及びビデオを同期させることは、動きの時間と再生される音響との間のほんのわずかの不一致も気になってしまうので、非常に厳しい要件を有する。共有経験のための同期化要件は、それらが人間の反応時間によって決定されるので、グループインタラクションがメッセージを思いついて書き込む時までにテキストメッセージングを介する場合に、よりずっと緩い。これは、正確に居場所を確認できるビーコンを使用する必要がなく、緩やかな、おおよその同期化で十分であることを意味する。しかし、課されるシステム制限内で実施できる限り同期化を改善することが望ましい。
一実施形態において、夫々のグループメンバーによって使用されるソフトウェアは、あらゆるグループメンバーが同じイベントを検出するようにイベント検出が指定される識別可能なイベント(容易に検出可能なイベントを定義する1つの方法について以下を参照。)についてメディアストリームをモニタする。イベントは、不規則なパターンにおいて起こり得る。夫々のメンバーは、ストリームにおいて検出されたあらゆるイベントについてのメッセージをビューインググループの他の全てのメンバーへブロードキャストする。メッセージは、メンバーの識別子、検出されたイベントの時間スタンプ、及びメンバーの現在のバッファサイズ(遅延時間に対応する。)を含む。時間スタンプは、例えば、ネットワーク時間プロトコル(Network Time Protocol)を用いて、全てのグループメンバーと同期した時間値である。
あらゆるグループメンバーは、あらゆる他のグループメンバーからの相当数(例えば、10)の受信されたメッセージを記録するデータ構造を保持する。周期的に、メンバーは、あらゆる時間差のパターンを照合して、どの程度あらゆる他のメンバーからオフセットしているかを決定する同期化チェックを実施する。メンバーは自身のローカルオフセット(及びバッファサイズ)を調整して、最も遅延しているメンバーと同期する。
図6は、ビューアー1の同期化ユニットにおける3ビューアーシステムのためのサンプルデータ構造の例を示す。
ビューアーの現在のバッファサイズは0、2、1である。すなわち、ビューアー1は、前の同期化点で最も遅かった。
自己(ビューアー1)とビューアー2との間のイベントシーケンスは、ビューアー1のシーケンスが1列だけ進められる(差は、1、4、1、3・・・である。)場合にアライメントし、タイミングは、自己(ビューアー1)のストリームがビューアー2よりも3秒遅れていることを示す。同様に、ビューアー3を1列進めることによって、差はアライメントし、ビューアー3が自己(ビューアー1)よりも2秒遅れていることを示す。言い換えれば、メソッドロジは、その後のイベント間の同じ時間差がアライメントされるようにストリームを調整する(これは、不規則なイベントを使用することが重要であるからである。)。必要とされる調整の量は、ストリームの相対遅延を示す。メソッドロジは、不規則なイベント自体の他に更なるデータ(例えば、イベントラベリング)なしで遅延算出を可能にする。
見られるストリームの推測される順序は、ビューアー3、ビューアー1(2秒先行)、ビューアー2(更に3秒先行)である。ビューアー1の遅延算出ユニットは、従って、ビューアー3と同期するために、自身の同期化バッファに遅延を2秒増やすように指示する。ビューアー2の同様の計算は、5秒の遅延増大を引き起こし、ビューアー3は変わりない。
それらの計算の後、新しいバッファサイズの初期設定は2、7、及び1である。バッファサイズのクリープを防ぐために、最小のバッファサイズは0に低減され、遅延算出ユニットは、次のようなコマンドを実際に送る:ビューアー1はバッファサイズを1に増やし、ビューアー2はバッファサイズを6に増やし、ビューアー3はバッファサイズを0に減らす。
最善のイベント検出は、2つの特性、すなわち、実行するのに効率がよいこと及び確実にアライメントされ得るイベントの分布を生じることを必要としてよい。以下は、イベントを検出する方法の一例であるが、多数の更なる方法が存在する。
急な変化及び緩やかな変化の周期の間でメディアストリームは移動する。故に:
1)ピクセル間の差の絶対値の和としてフレームごとの差の程度を計算する:
Figure 0006809174
ここで、d(t,t+1)は、時間t及び時間t+1でのフレーム間の差の程度であり、p(i,j,t)は、時間tにおける位置i、jでのピクセル値である。I、Jはフレームの寸法である。ピクセル値は、一般に、ピクセルによって放射される光に作用する数又は数の集合である。ピクセル値は、例えば、ピクセルによって放射される光及び/又は特定の色の強さを示す。“p”は、例において、値(pr、pg、pb)のグループであると見なされてよく、2つのピクセル値(例えばp=(pr、pg、pb)及びq=(qr、qg、qb))どうしの差は、|pr−qr|+|pb−qb|+|pg−qg|として再定義されてよい。
2)次のように、差の変化の割合を近似する:
Figure 0006809174
3)イベントは、距離測度の極大、極小又は変曲点で起こる:
Figure 0006809174
threshold値(閾値)は、信頼できるイベント検出を達成するよう決定され、様々な要因(例えば、異なるスクリーンサイズ)に起因して、デバイスタイプごとに異なる。
本発明の実施形態のコンポーネントは、原理上、ビューアーへの同時の出力を確かにするよう、実施形態が最終の表示の前に補償する遅延がそれ以上ないビデオ表示のためのストリーム処理に挿入されるべきである。
遅延のほとんどは、コンテンツストリームの上流での処理において起こるので、本実施形態はまた、夫々のクライアント(グループメンバー)のネットワークサービスプロバイダによるサービスとして提供され、ネットワークエッジでクラウドサービスとして実装されてよい。これは、個々に実施形態を物理的に実装するようソフトウェア及びデバイス製造者に求めることなしに、全てのメディアストリームへの展開の利点を提供する。1つの例となる場合において、ネットワークは、図7及び8で説明されるように、本実施形態の機能を実施するビューアーのためのネットワークエッジプロキシ(NEプロキシ)を生成する。図7は、代理(プロキシ)されるビューアーがNEプロキシとのメディアストリームの同期化に関心を示すように図5Aを変更する。NEプロキシは、次いで、ビューアーの代わりに更に仲介し、同期されたストリームのみを送る(グループメンバーのうちの2人についてNEプロキシを有して図3を更新する図8に図示。)。
本発明の他の実施形態では、全てのコンポーネントは、表示デバイス(スマートフォン、セットトップボックス、コンピュータなど)のマルチメディアソフトウェアの部分として実装されてよい。
ビューインググループはまた、ソーシャルメディアメッセージストリーム(Twitter、Facebook(登録商標)コメント、ソーシャルメディアネットワークコメント)のような手段を通じて、より広い世界と相互作用したいと望んでよい。通常は、それらは、現実世界の時間において到達し、故に、本実施形態を使用するビューインググループは、グループ通信内で本実施形態によって解決されるのと同じイベントの先取りを経験する。本実施形態の実施のために記述された特別目的のアプリケーションのような、ソーシャルメディアメッセージストリームを表示するアプリケーションも、グループ時間へのオフセットによりメッセージデータベースクエリ時間を変更するか、あるいは、グループ時間オフセットまでメッセージをバッファリングすべきである。
他の適用範囲は、グループが記憶されているショーを見ることに決めるオンデマンド/ビューイングで起こる。上記のアライメントの不整の原因のいくつかは、ショーが全てのデバイスタイプに適した複数のバージョンで記憶されるので、トランスコーディングの問題はないとして、当てはまらない。しかし、夫々のビューアーがわずかに異なる時間で再生し始めるか、又はわずかに異なる点まで早送りする場合に、新しい一定の遅延が存在する。
放送ショーの記録されたバージョンのような、オンデマンドのサービスを見ている場合に、この実施形態は、グループを構成しない、最初の放送中にショーに反応した人々からのソーシャルメディアメッセージストリーム(例えば、“tweetalongs”と呼ばれる。)と同期することを可能にする。ソーシャルメディアフィードは、グループローカル時間及び最初の放送の時間によるショーオフセットに関するタグを有するメッセージをクエリされる。ソーシャルメディアメッセージのタグ付けはまた、ショータイムライン内の時間にマークして、非同期のメッセージがあたかも最初の放送の間に起こったかのようにタイムライン内にマージされ得るようにするよう増強されてよい。
201 ディスプレイ
202,302 同期化バッファ
203,303 イベント検出デバイス
204,304 遅延算出要素
205 メディアストリーム
300 同期化デバイス
340 ブロードキャスト源
350 ディスカバリサーバ

Claims (15)

  1. 受信されるデータストリームを他の同期化デバイスの夫々で受信されるデータストリームと同期させるよう配置される複数の同期化デバイスを含むシステムにおける使用のための同期化デバイスであって、
    データストリームを受信するよう構成される同期化バッファと、
    前記受信されたデータストリームにおいてイベントを検出し、イベント検出時間を含むイベント情報をブロードキャストするよう構成されるイベント検出器と、
    前記システムにおける各同期化デバイスの前記イベント検出器から当該イベント検出器での前記検出されたイベントの前記イベント検出時間を含むイベント情報を受け取り、前記システムにおいて最も遅延しているデータストリームの遅延時間を特定し、前記受信されたデータストリームを前記最も遅延しているデータストリームと同期させるよう前記受信されたデータストリームに適用される遅延時間を計算するよう構成される遅延算出要素と
    を有し、
    前記遅延算出要素は、前記複数の同期化デバイスで夫々検出されたデータストリーム内の順次的なイベント間の時間ギャップを互いにアライメントすることによって、前記複数の同期化デバイスでのデータストリーム間の時間オフセットを検出するよう構成される、
    同期化デバイス。
  2. 前記受信されたデータストリームが前記システムにおける前記最も遅延しているデータストリームである場合に、前記遅延算出要素は、如何なる前に適用された遅延時間も取り外すことによって前記最も遅延しているデータストリームのタイミングを調整するよう構成される、
    請求項1に記載の同期化デバイス。
  3. 前記イベントは、ストリームパラメータの変化の割合の極大又は極小のような、前記データストリームの固有特性である、
    請求項1又は2に記載の同期化デバイス。
  4. 前記計算された遅延時間は、前記同期化バッファの容量を変えることによって適用される、
    請求項1乃至3のうちいずれか一項に記載の同期化デバイス。
  5. 前記データストリームは、前記同期化バッファを通った後に前記イベント検出器を通る、
    請求項1乃至4のうちいずれか一項に記載の同期化デバイス。
  6. 前記イベント情報は、当該同期化デバイスを識別する識別子と、前記同期化バッファのバッファ容量のインジケーションとを更に含む、
    請求項1乃至5のうちいずれか一項に記載の同期化デバイス。
  7. 当該同期化デバイスは、前記複数の同期化デバイスの夫々からの複数のイベントについての前記イベント情報を記憶する記憶ユニットを更に有する
    請求項1乃至6のうちいずれか一項に記載の同期化デバイス。
  8. 異なるメディアストリームも当該同期化デバイスによって受信され、
    前記異なるメディアストリームは、前記データストリームとは異なったデータを有し、該異なったデータは、前記データストリームと時間的にリンクされ、
    前記遅延算出要素は、前記異なるメディアストリームが前記データストリームと同期するように、異なるメディア遅延を前記異なるメディアストリームに適用するよう構成される、
    請求項1乃至7のうちいずれか一項に記載の同期化デバイス。
  9. 前記データストリームは、オンデマンドのメディア片を含み、
    前記異なるメディアストリームは、インタラクティブなメッセージングフィードを含み、
    前記遅延算出要素は、前記メディア片のライブ開始時間と、前記計算された遅延時間を含む前記メディア片のオンデマンド開始時間との間の時間オフセットを特定し、前記メディア片の再生と同期して前記インタラクティブなメッセージングフィードにおけるメッセージを表示するよう前記時間オフセットを前記異なるメディアストリームに適用することによって前記異なるメディアストリームを前記データストリームと同期させるよう構成される、
    請求項8に記載の同期化デバイス。
  10. 前記同期化バッファは、ストリーム配信のレートに対する変化を補償する再生バッファとしても働く、
    請求項1乃至9のうちいずれか一項に記載の同期化デバイス。
  11. データストリーム源と、請求項1乃至10のうちいずれか一項に記載の同期化デバイスのグループとを含むシステム。
  12. 前記同期化デバイスのうちの1つ以上は、前記データストリームの遅延を制御し且つ前記データストリームをユーザデバイスへ送信するネットワークエッジプロキシである、
    請求項11に記載のシステム。
  13. 前記グループにおける各同期化デバイスに関するシステム情報を記憶するよう構成されるディスカバリサーバを更に有し、
    新しい同期化デバイスが前記グループに加えられる場合に、前記新しい同期化デバイスは、システム情報の要求を前記ディスカバリサーバへ送信するよう構成され、前記ディスカバリサーバは、前記システム情報を含む前記新しい同期化デバイスへの応答を送信するよう構成される、
    請求項11又は12に記載のシステム。
  14. 複数の同期化デバイスを含むシステムにおける同期化デバイスで受信される受信されたデータストリームを、前記システムにおける他の同期化デバイスの夫々で受信されるデータストリームと同期させる方法であって、
    当該同期化デバイスの同期化バッファでデータストリームを受信し、
    前記受信されたデータストリームにおいてイベントを検出し、
    イベント検出時間を含むイベント情報をブロードキャストし、
    前記システムにおける各同期化デバイスから、その同期化デバイスでの前記検出されたイベントの前記イベント検出時間を含むイベント情報を受け取り、
    前記システムにおいて最も遅延しているデータストリームの遅延時間を特定し、
    前記受信されたデータストリームを前記最も遅延しているデータストリームと同期させるよう前記受信されたデータストリームに適用される遅延時間を計算する
    ことを有し、
    前記適用される時間遅延を計算することは、前記複数の同期化デバイスで夫々検出されたデータストリーム内の順次的なイベント間の時間ギャップを互いにアライメントすることによって、前記複数の同期化デバイスでのデータストリーム間の時間オフセットを検出することを含む、
    方法。
  15. 同期化デバイスのコンピュータプロセッサで実行される場合に、該コンピュータプロセッサに、請求項14に記載の方法を実施させるプログラム。
JP2016234319A 2015-12-07 2016-12-01 同期化デバイス、方法、プログラム及びシステム Expired - Fee Related JP6809174B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB1521550.2A GB2545181A (en) 2015-12-07 2015-12-07 Synchronisation device, method, program and system
GB1521550.2 2015-12-07
EP16193822.0 2016-10-13
EP16193822.0A EP3179646A1 (en) 2015-12-07 2016-10-13 Synchronisation device, method, program and system

Publications (2)

Publication Number Publication Date
JP2017108399A JP2017108399A (ja) 2017-06-15
JP6809174B2 true JP6809174B2 (ja) 2021-01-06

Family

ID=55234523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016234319A Expired - Fee Related JP6809174B2 (ja) 2015-12-07 2016-12-01 同期化デバイス、方法、プログラム及びシステム

Country Status (4)

Country Link
US (1) US10673609B2 (ja)
EP (1) EP3179646A1 (ja)
JP (1) JP6809174B2 (ja)
GB (1) GB2545181A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017083829A1 (en) * 2015-11-13 2017-05-18 Pyrotechnics Management, Inc. Time code controlled logic device
IL296197B2 (en) * 2019-02-19 2024-05-01 Edgy Bees Ltd Real-time video data stream latency estimation
CA3077469A1 (en) 2019-04-04 2020-10-04 Evertz Microsystems Ltd. Systems and methods for operating a media transmission network
US11323780B2 (en) * 2019-04-04 2022-05-03 Evertz Microsystems Ltd. Systems and methods for determining delay of a plurality of media streams
US11228800B2 (en) 2019-12-31 2022-01-18 Sling TV L.L.C. Video player synchronization for a streaming video system
CN112135177B (zh) * 2020-09-25 2022-10-21 北京猿力未来科技有限公司 数据流同步方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473638A (en) * 1993-01-06 1995-12-05 Glenayre Electronics, Inc. Digital signal processor delay equalization for use in a paging system
KR100231781B1 (ko) * 1997-04-18 1999-11-15 김영환 에이티엠망에서의 이질 트래픽 연결수락 제어장치및 그 방법
JP2006528859A (ja) 2003-07-25 2006-12-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ オーディオとビデオを同期させるための指紋生成及び検出の方法及び装置
EP2165541B1 (en) * 2007-05-11 2013-03-27 Audinate Pty Ltd Systems, methods and computer-readable media for configuring receiver latency
US7934239B1 (en) * 2008-11-14 2011-04-26 Monsoon Multimedia Method and system to daisy-chain access to video resources
US9159338B2 (en) * 2010-05-04 2015-10-13 Shazam Entertainment Ltd. Systems and methods of rendering a textual animation
GB2483277A (en) 2010-09-02 2012-03-07 British Broadcasting Corp Additional service synchronisation using time server
WO2012048928A1 (en) 2010-10-15 2012-04-19 Cinemo Gmbh Distributed playback architecture
GB201116521D0 (en) 2011-09-23 2011-11-09 Imagination Tech Ltd Method and apparatus for time synchronisation in wireless networks
US20140096169A1 (en) 2012-09-28 2014-04-03 Joseph Dodson Playback synchronization in a group viewing a media title
CN105493422A (zh) * 2013-06-20 2016-04-13 汤姆逊许可公司 用于辅助内容的分布式播放的同步的系统和方法
US9210204B2 (en) * 2013-10-31 2015-12-08 At&T Intellectual Property I, Lp Synchronizing media presentation at multiple devices
JP5602963B1 (ja) * 2014-01-30 2014-10-08 グリー株式会社 ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム

Also Published As

Publication number Publication date
GB201521550D0 (en) 2016-01-20
GB2545181A (en) 2017-06-14
US20170163411A1 (en) 2017-06-08
US10673609B2 (en) 2020-06-02
JP2017108399A (ja) 2017-06-15
EP3179646A1 (en) 2017-06-14

Similar Documents

Publication Publication Date Title
US20220303599A1 (en) Synchronizing Program Presentation
JP6809174B2 (ja) 同期化デバイス、方法、プログラム及びシステム
US11490132B2 (en) Dynamic viewpoints of live event
US10327044B2 (en) Time synchronizing of distinct video and data feeds that are delivered in a single mobile IP data network compatible stream
US20160234570A1 (en) Correlating timeline information between media streams
US20090251599A1 (en) System and method for synchronization of television signals associated with multiple broadcast networks
US20140250210A1 (en) System for delayed video viewing
CA2876752A1 (en) Time synchronizing of distinct video and data feeds that are delivered in a single mobile ip data network compatible stream
US11310554B2 (en) Processing video and audio streaming data
van Brandenburg et al. Immersive second-screen experiences using hybrid media synchronization
KR102051985B1 (ko) 이질적인 네트워킹 환경들에서 미디어 렌더링의 동기화
TWI778387B (zh) 使用廣播調度資料來促進執行內容修改操作之方法、非暫時性電腦可讀儲存介質及計算系統
Boronat et al. Future Issues and Challenges in Distributed Media Synchronization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200812

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: 20201110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201123

R150 Certificate of patent or registration of utility model

Ref document number: 6809174

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees