JP3591493B2 - ネットワークシステム、およびネットワークシステムの同期方法 - Google Patents

ネットワークシステム、およびネットワークシステムの同期方法 Download PDF

Info

Publication number
JP3591493B2
JP3591493B2 JP2001224983A JP2001224983A JP3591493B2 JP 3591493 B2 JP3591493 B2 JP 3591493B2 JP 2001224983 A JP2001224983 A JP 2001224983A JP 2001224983 A JP2001224983 A JP 2001224983A JP 3591493 B2 JP3591493 B2 JP 3591493B2
Authority
JP
Japan
Prior art keywords
time
clock
network
delay
cpu
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
JP2001224983A
Other languages
English (en)
Other versions
JP2003037585A (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.)
Sony Corp
Original Assignee
Sony Corp
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
Priority to JP2001224983A priority Critical patent/JP3591493B2/ja
Application filed by Sony Corp filed Critical Sony Corp
Priority to US10/381,309 priority patent/US20040010727A1/en
Priority to CNB028027671A priority patent/CN1271813C/zh
Priority to EP02747669A priority patent/EP1320213A4/en
Priority to KR10-2003-7004220A priority patent/KR20040017794A/ko
Priority to PCT/JP2002/007169 priority patent/WO2003010915A1/ja
Priority to TW91116180A priority patent/TW577231B/zh
Publication of JP2003037585A publication Critical patent/JP2003037585A/ja
Priority to HK04105273A priority patent/HK1063392A1/xx
Application granted granted Critical
Publication of JP3591493B2 publication Critical patent/JP3591493B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/06Receivers
    • H04B1/16Circuits
    • H04B1/20Circuits for coupling gramophone pick-up, recorder output, or microphone to receiver
    • H04B1/205Circuits for coupling gramophone pick-up, recorder output, or microphone to receiver with control bus for exchanging commands between units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2838Distribution of signals within a home automation network, e.g. involving splitting/multiplexing signals to/from different paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • 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
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S3/00Systems employing more than two channels, e.g. quadraphonic
    • H04S3/008Systems employing more than two channels, e.g. quadraphonic in which the audio signals are in digital form, i.e. employing more than two discrete digital channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Digital Computer Display Output (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、複数の機器を備えたネットワークシステム等に係り、特に、ネットワークに接続された複数の機器において同期をとるネットワークシステム等に関する。
【0002】
【従来の技術】
近年、通信ネットワークが企業、学校、家庭に浸透しつつ有り、このインフラを利用してオーディオビデオのコンテンツを配信しようという試みがなされている。 これをもう一歩進めて、家庭内のオーディオビデオの配線をネットワークで置き換えることが当然考えられる。しかしながら、新しい技術分野であるために、未だ充分な検討が行われていなかった。
【0003】
家庭内のオーディオビデオの配線を通信ネットワークで置き換えることは、例えばDVD(Digital Versatile Disk)、ディスプレイ、スピーカなどをそれぞれ通信ネットワークに接続することを意味する。例えば、DVDを再生すると、ディジタル通信ネットワークを介してディスプレイ、スピーカからそれぞれ動画と音声が出力されるということになる。
【0004】
【発明が解決しようとする課題】
しかしながら、現在の通信ネットワークでは、その上を流れるデータにおいて、配信されるタイミングが保証されないという問題点がある。即ち、複数の入出力機器間の入出力位相関係(時間的前後関係)にて、現在のディジタルネットワークでは、伝送遅延が固定ではないことから、十分に小さい位相誤差で出力されるという保証がない。また、ディジタル通信ネットワークを介した場合に、アナログ接続に比べて遅延の絶対値が大きくなる。かかる場合、上記の例では、DVDから発信されたコンテンツにおいて、ディスプレイや複数存在するスピーカに到着する時刻がまちまちになってしまう。これをそのまま再生すると、結果としてまちまちなタイミングで再生が行われることになる。
【0005】
これは、即ち、アナログケーブルで接続されていた場合に実現されていた出力信号の同期が達成されないということになる。ディジタルネットワーク化によるメリットは数多く存在するが、ディスプレイとスピーカ、あるいはスピーカ同士の出力位相、更にはマイクとカメラの入力位相を合わせることが出来なければ、家庭内におけるオーディオビデオの配線をディジタル通信ネットワークで置き換えることは困難となる。
【0006】
本発明は、以上のような技術的課題を解決するためになされたものであって、ディジタルネットワークに接続された各機器の間において、クロックを同期させると共に、入出力位相を一致させることを主たる目的とする。
【0007】
【課題を解決するための手段】
かかる目的のもと、本発明は、複数の機器がディジタルネットワークに接続されるネットワークシステムであって、複数の機器に対してクロックを配信すると共に時刻情報を配信するクロック配信手段と、配信されたクロックおよび時刻情報に基づき各々の機器においてクロックを調整するクロック調整手段と、ディジタルネットワーク上をストリームが通信される際に生じるネットワークディレイ、複数の機器がストリームに関する変換に際して生じる変換ディレイを考慮して複数の機器に対してディレイ補正を施すディレイ補正手段とを備えたことを特徴としている。
【0008】
また、本発明が適用されるネットワークシステムは、ディジタルネットワークに接続されるシンク機器群に対してクロックを送信するクロックソースと、このシンク機器群に対してディジタルネットワークを介してコンテンツを提供するコンテンツソースと、コンテンツを再生するにあたり、コンテンツデータがシンク機器群に送られるときのネットワークディレイとシンク機器群におけるデコードディレイとに基づく遅延時間をコンテンツソースに対して提供するコントローラとを備えたことを特徴としている。
【0009】
ここで、このクロックソースは、シンク機器群に対して所定時間ごとに時刻情報を送信することを特徴とすれば、位相調整の前提として、クロックを同期させることができる点で好ましい。
また、このコンテンツソースは、コントローラから提供された遅延時間に基づく遅延情報メッセージを作成し、コンテンツデータに伴ってシンク機器群に対して配信することを特徴とすれば、各シンク機器群では、自らのデコードディレイを考慮してデコードを開始することで、シンク機器群の間における再生タイミングを合わせることが可能となる。
【0010】
他の観点から把握すると、本発明は、ディジタルネットワークに接続され、このディジタルネットワークを介して提供されるコンテンツデータをデコードする出力機器であって、ディジタルネットワークを介して受信した基準時刻信号に基づいてクロックを再生するクロック再生手段と、ディジタルネットワークを介して受信したコンテンツデータに対して必要なディレイを施し、デコードして出力するストリーム再生手段とを備えたことを特徴としている。
【0011】
ここで、内部にて用いられるクロックを発振するクロック発振手段とを更に備え、クロック再生手段は、受信された基準時刻信号とクロック発振手段からの出力の値とを比較して、クロック発振手段の発振周波数を調整することにより、クロックを再生することを特徴とすることができる。
【0012】
一方、本発明を方法のカテゴリから把えると、本発明は、ディジタルネットワークに接続される複数の機器にて入力または出力の同期をとるためのネットワークシステムの同期方法であって、複数の機器に対してクロックと共に時刻情報を配信し、配信されるクロックと時刻情報とに基づいて、共通な時計を複数の機器で動作させ、ネットワークディレイおよび複数の機器におけるデコードディレイやエンコードディレイ等の変換ディレイを考慮して時計の時刻を用いた入力タイミングまたは出力タイミングを複数の機器に使用し、使用された入力タイミングまたは出力タイミングと各々の機器における変換ディレイとに基づいて、各々の機器における変換を開始することを特徴とすることができる。
【0013】
また、本発明は、ネットワークに接続されるシンク機器にて適用される発明として把握できる。即ち、本発明におけるネットワークシステムの同期方法は、ディジタルネットワークを介してクロックと共に時刻情報を受信し、受信したクロックおよび時刻情報に基づいてクロックを調整し、コンテンツデータと共にコンテンツデータの再生を開始する時刻を示す情報を受信し、受信した情報に基づき、コンテンツデータをデコードする際に生じるディレイに基づいてデコードの開始タイミングを決定し、決定した開始タイミングによりデコードを開始してコンテンツデータを再生することを特徴としている。
【0014】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて本発明を詳細に説明する。
図1は、本実施の形態におけるネットワークシステムの全体像を示した構成図である。図1に含まれる各機器は、ネットワーク1により相互に接続されている。リスニングポジション8は、特定の機器ではないが、このネットワークシステムにおけるユーザの存在位置を模式的に示したものである。ユーザは、リスニングポジション8にて操作用のリモコン7を用いてネットワークシステムに対する指令を行うことができる。
【0015】
ネットワーク1には、システムにクロックを供給するクロックソース2、システム全体を制御するコントローラ3、コンテンツデータ(信号)を送り出すコンテンツソース4、ユーザに対して音声信号を供給する5つのスピーカ5(5−1〜5−5)、ユーザに対し映像信号を供するディスプレイ6、の各入出力機器が接続されている。ここで、ディスプレイ6とスピーカ5とを、コンテンツソース4に対して(コンテンツ)シンク機器群と呼ぶことができる。また、各スピーカ5は、図1に示すような位置、即ち、フロントレフト(5−1)、センター(5−2)、フロントライト(5−3)、リアレフト(5−4)、リアライト(5−5)の各位置に設置されている。各スピーカ5およびディスプレイ6は、各々LEDとプッシュスイッチを備えており、LEDを用いたユーザへの働きかけとプッシュスイッチによるユーザからの反応を得ることができる。
【0016】
図2は、クロックソース2における第1の構成例を示した図である。この第1の構成例におけるクロックソース2は、クロック発振器11、カウンタ12、タイマ13、ラッチ14、およびネットワークインタフェース15を備えており、このネットワークインタフェース15を介してネットワーク1と接続されている。クロック発振器11の出力はカウンタ12とタイマ13に各々入力される。カウンタ12の出力(時刻信号)はラッチ14に入力される。またラッチ14の出力はネットワークインタフェース15に入力される。更に、タイマ13の出力(トリガ信号)は、ラッチ14のラッチ信号端子とネットワークインタフェース15の送信信号端子に入力されている。クロックソース2は、ネットワーク1によって相互に接続された機器に対し、このような構成を用いてクロックを送信している。
【0017】
図3は、クロックソース2における第2の構成例を示した図である。この第2の構成例におけるクロックソース2は、クロック発振器21、カウンタ22、タイマ23、およびラッチ24を備えている。またクロックソース2は、制御装置としてのCPU25、ROM27、RAM28を備えており、ネットワークインタフェース26を介してネットワーク1と接続されている。このCPU25とROM27、RAM28は、システムバス20により相互に接続されたマイクロコンピュータを構成している。また、ネットワークインタフェース26はシステムバス20に接続されている。クロック発振器21の出力はカウンタ22とタイマ23に入力される。カウンタ22の出力(時刻信号)はラッチ24に入力される。ラッチ24の出力はシステムバス20に接続されている。またタイマ23の出力(トリガ信号)はラッチ24のラッチ信号端子とCPU25の割り込み端子に入力される。クロックソース2は、ネットワーク1によって相互に接続された機器に対し、このような構成を用いてクロックを送信している。
【0018】
図4は、図1に示したコントローラ3の構成を説明するための図である。本実施の形態におけるコントローラ3は、CPU31、ROM32、およびRAM33を備えており、これらはシステムバス34により相互に接続されてマイクロコンピュータを構成している。また、コントローラ3は、システムバス34に接続されるネットワークインタフェース35を備え、このネットワークインタフェース35を介してネットワーク1と接続されている。またコントローラ3はリモコン受光部36を有しており、リモコン受光部36はシステムバス34に接続されている。このコントローラ3は、図1のシステム全体を制御する役割を担っており、具体的な制御は、システムの構成の設定や、システムの動作(コンテンツの再生)の制御等である。特に本実施の形態では、コンテンツ再生時におけるディレイの設定が機能として重要である。
【0019】
図5は、図1に示したコンテンツソース4の構成を説明するための図である。本実施の形態におけるコンテンツソース4は、ネットワーク1に接続された機器に、ネットワーク1を経由して、コンテンツストリームを供給している。図5に示すように、コンテンツソース4は、CPU41、ROM42、およびRAM43を備えており、これらはシステムバス44により相互に接続されマイクロコンピュータを構成している。また、コンテンツソース4は、ネットワークインタフェース45を介してネットワーク1と接続されている。ネットワークインタフェース45はシステムバス44に接続されている。
【0020】
更に、本実施の形態におけるコンテンツソース4は、クロック発振器46とカウンタ47を備えている。クロック発振器46の出力はカウンタ47に入力されている。クロック発振器46とカウンタ47はそれぞれシステムバス44に接続されている。また、コンテンツソース4は、ハードディスク装置48、ビットストリーム解析器49、バッファ50を備えている。ハードディスク装置48は、自身に格納されているコンテンツストリームをビットストリーム解析器49に入力している。ビットストリーム解析器49の出力はバッファ50に入力され、その出力はシステムバス44に供給されている。また、ハードディスク装置48およびビットストリーム解析器49は、それぞれシステムバス44に接続されている。
【0021】
尚、コンテンツソース4は、デコーダを持たないためデコードディレイという値には意味は無いが、デコードディレイとして0を持っている。このデコードディレイ値は、ROM42に記録され、CPU41から読み出すことができるようになっている。また、コンテンツソース4は、自身の種別を知っており、その種別は「コンテンツソース」である。この種別はROM42に記録され、CPU41から読み出すことができるようになっている。本実施の形態における種別として、ディスプレイ6は「ディスプレイ型」、各スピーカ5は「モノラルスピーカ型」の種別を持つものとする。この他にも、例えば「ステレオスピーカ型」、「ディスプレイ+ステレオスピーカ一体型」、「スーパーウーファー型」、「オーディオソース型」などの種別が考えられる。
【0022】
コンテンツソース4は、内部にクロックの再生機能を持ち、クロックソース2から供給される基準時刻信号からクロックを再生している。また、コントローラ3の制御を受けて、内部に蓄えているコンテンツストリームを供給している。このとき、コントローラ3から指定されるディレイ値と再生したクロックから、ストリームにタイムスタンプを付加する機能を備えている。
【0023】
図6は、図1に示したスピーカ5(5−1〜5−5)の構成を説明するための図である。この図6に示す構成は、図1に示す5本のスピーカ5(5−1〜5−5)の全てに共通しており、これらは同一の内部構造(および動作)を備えている。スピーカ5は、CPU51、ROM52、およびRAM53を備えており、これらはシステムバス54により相互に接続されマイクロコンピュータを構成している。また、スピーカ5は、システムバス54に接続されているネットワークインタフェース55を介して、ネットワーク1と接続されている。
【0024】
このスピーカ5は、システムバス54に接続されるクロック発振器56とカウンタ57とを備えており、このクロック発振器56の出力はカウンタ57に入力されている。更に、スピーカ5は、バッファ59、タイムスタンプ抽出器60、デコーダ61、アンプ62、およびスピーカ63を備えている。スピーカ5を流れるストリームデータは、システムバス54からバッファ59、タイムスタンプ抽出器60を経てデコーダ61に入力されてデコードされる。デコーダ61の出力は、アンプ62を経てスピーカ63により、音声信号に変換されて出力される。タイムスタンプ抽出器60、デコーダ61、およびアンプ62は、各々システムバス54に接続されている。このデコーダ61の内部は、後述するMPEGデコーダの構成をなしている。具体的にはデマルチプレクサ、オーディオバッファ、オーディオデコーダで構成されている。
【0025】
スピーカ5は、更に、ボタン/LED操作器58を備えている。CPU51は、システムバス54経由で、ボタン/LED操作器58のボタンが押されたか否かの情報を読み出すことができる。また、CPU51は、システムバス54経由でボタン/LED操作器58におけるLEDの点滅を制御することができる。
【0026】
ここで、スピーカ5は、自身のデコーダ61におけるデコードディレイを知っている。ここでデコードディレイとは、デコーダ61にデータが入力されてからデコードされたデータが出力されるまでの時間であり、各種のディレイである変換ディレイの中で代表的なものである。このデコードディレイ値はROM52に記録され、CPU51から読み出すことができるようになっている。また、スピーカ5は自身の種別を知っており、このスピーカ5の種別は「モノラルスピーカ」である。この種別はROM52に記録され、CPU51から読み出すことができるようになっている。
【0027】
スピーカ5にて実行される動作は大きく3つに分けられる。この3つの動作とは、(1)クロックの再生、(2)ユーザインタフェース対応、(3)ストリームの再生、である。これらの動作は、CPU51上で動作するタスクと、それぞれ必要な構成要素とが組み合わされて成り立っている。なお、CPU51上で動作するこれらの3つのタスクは、CPU51で動作するマルチタスクオペレーティングシステムの上で独立に動作しているものとする。
【0028】
上述した第1の動作である、(1)クロックの再生、では、クロックソース2から発信された基準時刻信号により、スピーカ5の内部にクロックが再生される。第2の動作である、(2)ユーザインタフェース対応、では、例えばコントローラ3の指示により内部のLEDを発光させ、内部のボタンが押されたか否かの情報をコントローラ3に戻す動作がなされる。第3の動作である、(3)ストリームの再生、では、受け取ったコンテンツデータに必要なディレイが施され、デコードして出力される。
【0029】
図7は、図1に示したディスプレイ6の構成を説明するための図である。このディスプレイ6の内部構成は、図6で説明したスピーカ5の内部構成に、OSD(On Screen Display)82、表示装置83を加えたものとして把握することができる。即ち、図7に示すディスプレイ6は、CPU71、ROM72、およびRAM73を備えており、これらはシステムバス74により相互に接続されマイクロコンピュータを構成している。また、ディスプレイ6は、システムバス74に接続されているネットワークインタフェース75を介して、ネットワーク1と接続されている。
【0030】
このディスプレイ6は、それぞれシステムバス74に接続されているクロック発振器76とカウンタ77を備えており、クロック発振器76の出力は、カウンタ77に入力されている。更に、ディスプレイ6はバッファ79、タイムスタンプ抽出器80、デコーダ81、OSD82、および表示装置83を備えている。ディスプレイ6を流れるストリームデータは、システムバス74からバッファ79、タイムスタンプ抽出器80を経てデコーダ81に入力されてデコードされる。デコーダ81からの出力は、OSD82の出力と混合された後に、表示装置83に表示される。このタイムスタンプ抽出器80、デコーダ81およびOSD82は、それぞれシステムバス74に接続されている。尚、デコーダ81の内部は、後述するMPEGデコーダの構成をなしている。具体的にはデマルチプレクサ、ビデオバッファ、ビデオデコーダで構成されている。
【0031】
また、ディスプレイ6は、ボタン/LED操作器78を備えている。CPU71は、システムバス74経由でボタンが押されたか否かの情報を読み出すことができる。また、CPU71は、システムバス74経由でLEDの点滅を制御することができる。ディスプレイ6は自身のデコーダ81におけるデコードディレイを知っている。ここでデコードディレイとは、デコーダ81にデータが入力されてから、デコードされたデータが出力されるまでの時間である。このデコードディレイ値はROM72に記録され、CPU71から読み出すことができるようになっている。また、ディスプレイ6は、自身の種別を知っている。ディスプレイ6の種別は「ディスプレイ」である。この種別はROM72に記録され、CPU71から読み出すことができるように構成されている。
【0032】
ディスプレイ6の行う動作は大きく3つに分けられる。この3つの動作とは、スピーカ5の動作と同様であり、(1)クロックの再生、(2)ユーザインタフェース対応、(3)ストリームの再生、である。これらの動作は、CPU71上で動作するタスクと、それぞれ必要な構成要素とが組み合わされて成り立っている。なお、CPU71上で動作するこれらの3つのタスクは、CPU71で動作するマルチタスクオペレーティングシステムの上で独立に動作しているとする。
【0033】
この(1)クロックの再生、とは、クロックソース2から発信された基準時刻信号により、ディスプレイ6の内部にクロックを再生することである。(2)ユーザインタフェース対応、とは、例えばコントローラ3の指示により内部のLEDを発光させ、内部のボタンが押されたか否かの情報をコントローラ3に戻すことである。(3)ストリームの再生、とは、受け取ったコンテンツデータに必要なディレイを施した後、デコードして出力することである。
【0034】
次に、本実施の形態が適用されるネットワークシステムの全体の動作について説明する。図1に示すクロックソース2は、ネットワーク1で相互に接続された機器に対して、クロックを送信している。より具体的には、一定時間ごとの時刻情報(ここでは基準時刻信号’Ts’)を送信している。但し、この時刻情報の送信は、必ずしも決まった時間間隔である必要はなく、所定時間ごとに送信されるものとすることができる。クロックの受信側(スピーカ5(5−1〜5−5)、ディスプレイ6、コンテンツソース4)では、受け取った基準時刻情報と内部発振回路の出力の値とが比較されて、内部発振回路の発振周波数が調整され、クロックが再現される。
【0035】
図1に示すコントローラ3は、システム構成を設定している。この動作は、コントローラ3の指示に従いディスプレイ6にて表示されるメッセージや、コントローラ3の指示に従い各スピーカ5が発光させるLEDに反応して、ユーザが各スピーカ5の持つスイッチを押す事により達成される。また、コントローラ3は、ストリーム再生を制御している。この動作は、コントローラ3の指示に従い、コンテンツソース4がストリームを出力し、各スピーカ5およびディスプレイ6がストリームをデコードすることにより行われる。また、コントローラ3の指示により各スピーカ5の音声出力を調整することも行われる。
【0036】
次に、クロックソース2が行うクロック配信について説明する。ここでは、図2および図3に示した2種類の構成のそれぞれに対して説明を行う。
まず、図2に示すクロックソース2の動作を説明する。ここでクロック発振器11の発振周波数を’U’[Hz]とする。クロック発振器11で発信されたクロックは、カウンタ12とタイマ13のそれぞれに入力される。カウンタ12は、入力されたクロックにより自身のカウンタ12をインクリメントし、時刻情報’T’を生成する。入力されるクロックが’U’[Hz]であるため、時刻情報’T’は’U’[Hz]の周波数でインクリメントされる。カウンタ12の出力(時刻情報’T’)は、ラッチ14に入力される。ラッチ14は、ラッチ信号が入力された時に入力信号をラッチして出力する。ラッチ信号が入力されない場合には、直前にラッチした信号が保持される。
【0037】
タイマ13は、入力されたクロックを計数し、あらかじめ設定された設定値’S’ごとにトリガ信号を出力している。ここで、タイマ13への入力クロックは’U’[Hz]であるので、トリガ信号は’S/U’[秒]ごとに出力される。言い換えると、トリガ信号の周期は’S/U’[秒]、あるいはトリガ信号の周波数は’U/S’[Hz]となる。タイマ13から出力されるトリガ信号は、ラッチ14のラッチ信号端子に入力されると同時に、ネットワークインタフェース15の送信信号端子に入力される。
【0038】
ラッチ14は、ラッチ信号端子にタイマ13からのトリガ信号が入力された時点で、カウンタ12から入力されている時刻信号’T’をホールドして出力する。ラッチ14の出力は、次のラッチ信号が入力されるまで変化しない。この値を基準時刻信号’Ts’とする。送信信号端子にトリガ信号を受け取ったネットワークインタフェース15は、入力されているラッチ14の出力信号’Ts’を読み取り、ブロードキャストパケットに格納してネットワーク1に送り出す。ブロードキャストパケットは宛先を指定しないために、ネットワーク1に接続されている各機器に到着する。
【0039】
次に、図3に示すクロックソース2の動作を説明する。ここでクロック発振器21の発振周波数を’U’[Hz]とする。クロック発振器21で発信されたクロックは、カウンタ22とタイマ23のそれぞれに入力される。カウンタ22は、入力されたクロックにより自身のカウンタをインクリメントして時刻情報’T’を生成する。入力されるクロックが’U’[Hz]であるため、時刻情報’T’は、’U’[Hz]の周波数でインクリメントされる。カウンタ22の出力(時刻情報’T’)はラッチ24に入力される。ラッチ24は、ラッチ信号が入力された時に入力信号をラッチして出力する。ラッチ信号が入力されない場合には、直前にラッチした信号が保持される。
【0040】
タイマ23は、入力されたクロックを計数し、あらかじめ設定された設定値’S’ごとにトリガ信号を出力している。ここでタイマ23への入力クロックは’U’[Hz]であるので、トリガ信号は’S/U’[秒]ごとに出力される。言い換えると、トリガ信号の周期は’S/U’[秒]、あるいはトリガ信号の周波数は’U/S’[Hz]となる。タイマ23から出力されるトリガ信号は、ラッチ24のラッチ信号端子に入力されると同時にCPU25の割り込み端子に入力される。ラッチ24は、ラッチ信号端子にタイマ23からのトリガ信号が入力された時点で、カウンタ22から入力されている時刻信号’T’をホールドして出力する。ラッチ24の出力は、次のラッチ信号が入力されるまで変化しない。この値を基準時刻信号’Ts’とする。
【0041】
割り込み端子にトリガ信号を受け取ったCPU25は、システムバス20を介して、ラッチ24の値、即ち基準時刻信号’Ts’を読み出す。さらにCPU25は、システムバス20経由でネットワークインタフェース26に指令し、ネットワーク1に接続されている各機器に対して、ラッチ24から読み出した基準時刻信号’Ts’を送信させる。ネットワークインタフェース26は、CPU25から受け取った指令に従い、基準時刻信号’Ts’をブロードキャストパケットに格納して、ネットワーク1に送り出す。ブロードキャストパケットは宛先を指定しないために、ネットワーク1に接続されている各機器に到着する。尚、CPU25は、ROM27に蓄えられているプログラムによりRAM28を利用して動作している。
【0042】
図8は、クロック配信におけるクロックソース2の動作を説明するための図である。ここでは、横軸に時刻をとり、縦軸はそれぞれの信号の値が割り当てられている。クロック発振器11(あるいはクロック発振器21)は、’U’[Hz]の周波数で発信している。カウンタ12(あるいはカウンタ22)の出力、即ち時刻情報’T’は、同じく’U’[Hz]の周波数でインクリメントされる。図8の横軸の原点’t0’をタイマ13(あるいはタイマ23)のトリガ信号が出力された時刻にとり、その時点での時刻情報’T’を’T0’とする。
【0043】
次のトリガ信号は、時刻’t0’からクロック’U’の周波数で周期’S’だけ計数した時刻’t1’に出力され、この時の時刻情報’T’は’T0+S’となる。このとき、同時に時刻情報’T’はラッチ14(あるいはラッチ24)によりラッチされ、基準時刻信号’Ts’は’T0+S’となる。その後、トリガ信号は’U’の周波数でクロック周期’S’ごとに出力され、基準時刻情報’Ts’はそれぞれ’T0+2S’、’T0+3S’と変化して行く。基準時刻信号’Ts’は、トリガ信号が発生する度にネットワーク1に対してブロードキャストされる。
【0044】
次に、クロック再生の動作について、スピーカ5(5−1〜5−5)を例に挙げて説明する。このクロック再生は、コンテンツソース4およびディスプレイ6においても実行される。ここで「クロックの再生」とは、クロックソース2から送られたクロックをクライアント機器内部で再び発生させることを示している。
【0045】
通常状態において、図6に示すクロック発振器56の出力はカウンタ57に入力され、カウンタ57は、入力されたクロックにより自身のカウンタをインクリメントして時刻情報’Tt’を生成する。CPU51は、バス54を経由してカウンタ57の値(時刻情報’Tt’)を読み込むことができる。時刻情報’Tt’は、CPU51により読み出され、デコードのタイミング調整に使用される。クロック発振器56は可変周波数発振器であり、CPU51がシステムバス54を経由して指示を行うことにより、発振周波数を一定の範囲で変化させることができる。また、CPU51は、システムバス54を経由して、カウンタ57に所望の値を設定することができる。
【0046】
クロックソース2からの基準時刻信号’Ts’は、例えば一定時刻ごとに受信され、その際、CPU51は、以下で説明する時計合わせのタスクを実行する。カウンタ57は、クロック発振器56の自走クロックで時刻情報’Tt’を生成する。クロックソース2の発信した基準時刻信号’Ts’は、スピーカ5のネットワークインタフェース55で受信される。ネットワークインタフェース55は、CPU51に基準時刻信号’Ts’の到着を伝える。CPU51では、この信号により時計合わせのタスクが起動される。
【0047】
図9は、クロック再生における時刻合わせの処理を説明するためのフローチャートである。CPU51は、まず、ネットワークインタフェース55に到着した基準時刻信号’Ts’を読み出す(ステップ101)。その後、カウンタ57から時刻情報’Tt’を読み出す(ステップ102)。次に、基準時刻信号’Ts’と時刻信号’Tt’の差分を計算し(’Ts’−’Tt’)、変数 ’diff’に代入する(ステップ103)。CPU51は、’diff’の絶対値と定数kを比較し(ステップ104)、’diff’の絶対値の方が大きいと判断された場合には、’Ts’の値をカウンタ57に代入して(ステップ105)、処理を終了する。ステップ104にて’diff’の絶対値の方が大きいと判断されなかった場合には、ステップ106に進む。
【0048】
ステップ106にて、CPU51は、’diff’の値が0(ゼロ)であるか否かを確認し、’diff’の値が0でない場合にはステップ107へ進み、’diff’の値が0である場合には処理を終了する。ステップ107にて、CPU51は、’diff’の値と0(ゼロ)とを比較し、’diff’の値が0(ゼロ)より大きいと判断された場合(’Ts’>’Tt’)にはステップ109に進み、そうでない(’Ts’<’Tt’)と判断された場合にはステップ108へ進む。ステップ108において、CPU51は、クロック発振器56に対して発振周波数を遅くするよう指令した後、処理を終了する。また、ステップ109においてCPU51は、クロック発振器56に対して発振周波数を速くするよう指令した後、処理を終了する。
【0049】
以上のようなCPU51のタスクにより、受信した基準時刻信号’Ts’と内部時刻情報’Tt’の差が大きい場合には受信した基準時刻信号’Ts’を内部時刻カウンタに代入し、内部時刻情報’Tt’が少し進んでいる時にはクロックを遅くし、また内部時刻情報’Tt’が少し遅れている時にはクロックを速める。これらの動作により、基準時刻信号’Ts’にあわせた内部時刻情報’Tt’を再生することができる。尚、上記の例では、クロック配信に際してブロードキャスト通信を使用したが、ユニキャスト(一対一通信)の通信を用いることも可能である。
【0050】
次に、コントローラ3を中心に行われるシステム構成設定の動作について説明する。
図10および図11は、ネットワーク1に各機器が接続された直後からの処理を示したフローチャートである。図10に示すように、まず、コントローラ3は、物理的にネットワーク1に接続されて電源が投入されると、ネットワーク1への接続を確認する。即ち、図4に示すコントローラ3のCPU31は、まず、ネットワークインタフェース35に対してネットワーク1に接続したことを確認させる(ステップ201)。そして、ネットワーク1に接続したと判断されるとステップ203に進み、ネットワーク1に接続したと判断されない場合にはステップS201に戻って確認を繰り返す(ステップ202)。
【0051】
ステップ203において、CPU31は、「応答リクエストメッセージ」を作成し、ネットワークインタフェース35に指令して、ネットワーク1に対して送信させる。この「応答リクエストメッセージ」は所定の文字列で構成されている。ネットワークインタフェース35は、CPU31から受け取った指令に従い、「応答リクエストメッセージ」をブロードキャストパケットに格納してネットワーク1に送り出す。ブロードキャストパケットは、宛先を指定していないために、「応答リクエストメッセージ」はネットワーク1に接続されている各機器に到着する。「応答リクエストメッセージ」を受け取った各機器は、自身の種別およびデコードディレイ値を返答する。種別およびデコードディレイ値は各機器のROMに記録されている。例えばスピーカ5において、このメッセージはネットワークインタフェース55に到着し、CPU51は、このメッセージを解読して、ROM52から種別とデコードディレイを読み取り、「応答」メッセージを作成し、ネットワークインタフェース55に指令してコントローラ3に対して送信させる。各機器の返答したメッセージは、ネットワークインタフェース35で受信され、ネットワークインタフェース35は、CPU31にメッセージの到着を伝える。
【0052】
ステップ204においてメッセージが到着していると判断される場合には、コントローラ3のCPU31は、ステップ205に進む。メッセージが到着していないと判断された時には、ステップ208に進む。ステップ205において、CPU31は、ネットワークインタフェース35に到着したメッセージを読み出す。その後、CPU31は、読み出したメッセージが各機器から返答された所定の「応答」であるかどうかを確認する(ステップ206)。所定の「応答」であった場合にはステップ207へ進む。所定の「応答」ではなかった場合には、ステップ208へ進む。
【0053】
ステップ207において、CPU31は、受け取った「応答」をRAM33に置かれた機器データベースに記録する。図12は、機器データベースの構造を示した図である。機器データベースの先頭には、登録されているエントリの数が記録され、引き続いて、エントリの数だけ各機器のレコードが記録されている。機器のレコードには、その機器をネットワーク上で特定するためのネットワークアドレス、種別、役割、デコードディレイがそれぞれ記録される。「応答」を機器データベースに記録する際には、まず、エントリ数を1だけインクリメントする。そして、新しいレコードをリストの終りに追加する。その後、新しく追加したレコードに対して、受け取った「応答」の送り先の機器を特定するためのネットワークアドレス、種別、デコードディレイを記録する。役割の項はシステム構成設定動作の後半で記録される。
【0054】
ステップ208において、CPU31では、ステップ203の「応答リクエストメッセージ」を送信してから、所定の時間が経過したかどうかが判断される。所定時間が経過したと判断された場合には、図11に示すステップ210に進む。まだ所定時間が経過していないと判断された場合には、ステップ204に戻って、これまでの動作を繰り返す。
【0055】
図11に示すステップ210において、RAM33に置かれている機器データベースの内容は、図13に示すような内容になっており、そのエントリの数は7となっている。7つあるレコードの内訳としては、まず、ディスプレイ6を示すネットワークアドレスを持ち、種別がディスプレイとなっているレコードが置かれる。また、5つのスピーカ5(5−1〜5−5)の各々を示すネットワークアドレスを持ち、種別がモノラルスピーカとなっているレコードが計5つ置かれている。最後に、コンテンツソース4を示すネットワークアドレスを持ち、種別がコンテンツソースとなっているレコードが置かれている。尚、レコードの順番は一例として示したものであり、図13に示す順番になるものと決まっているものではない。
【0056】
ステップ210において、CPU31は、RAM33に置かれている機器データベースから種別がディスプレイとなっているものを探す。この例では、図13に示すように、最初に記録されているレコードの種別がディスプレイとなっている。CPU31は、最初のレコードに記録されているネットワークアドレスを持つ機器がディスプレイであることを認識する。その後、CPU31は、「システムを設定開始する」旨のメッセージを作成し、ネットワーク1経由でディスプレイ6に指令して表示させる(ステップ220)。前のステップにてディスプレイ手段を持つ機器としてディスプレイ6を認識したので、CPU31は、直接、ディスプレイ6(を示すネットワークアドレスを持つ機器)に対して指令を行う。具体的には、CPU31は、メッセージを作成し、ネットワークインタフェース35に指令してディスプレイ6に対して送信させる。ディスプレイ6では、図7に示すネットワークインタフェース75がメッセージを受信し、CPU71によってそのメッセージが読み取られて解読され、OSD82に指令してメッセージを出力して表示装置83に表示させる。
【0057】
次に、コントローラ3のCPU31により「フロントレフト」が指定される(ステップ230)。即ち、「フロントレフトの位置に有るスピーカのスイッチを押して下さい」という旨のメッセージが作成され、ネットワーク1を経由してディスプレイ6に表示される。
【0058】
その後、コントローラ3は、「LED点滅/ボタン待ち」を指令するメッセージを作成し、RAM33に置かれている機器データベースから種別がモノラルスピーカになっている機器の全て(スピーカ5(5−1〜5−5))に対して送出する。この「LED点滅/ボタン待ち」のメッセージを受信した機器は、LEDを点滅させ (ステップ231)、ボタンが押されることを待ち受ける。スピーカ5においては、このメッセージはネットワークインタフェース55に到着し、CPU51はこのメッセージを解読して、ボタン/LED操作器58に指令してLEDを点滅させる。またCPU51は、ボタン/LED操作器58にてボタンが押されたことを探知したら、コントローラ3に返答を返すべく、待ち受ける。
【0059】
ユーザは、LEDの点滅しているスピーカ5(5−1〜5−5)の中から、フロントレフトの位置にあたるスピーカ5−1のスイッチを押す。スピーカ5−1では、ボタンを押されたことをボタン/LED操作器58が感知し、CPU51に伝える。CPU51は、「ボタン押下」のメッセージを作成し、ネットワークインタフェース55に指令してコントローラ3に対して送信させる。コントローラ3のCPU31は、ステップ232にて「ボタン押下」のメッセージが受信されるまで待ち(ステップ232)、受信するとスピーカ5−1のLEDを消灯する(ステップ233)。
【0060】
その後、CPU31は、ネットワークインタフェース35からメッセージを読み出し、「ボタン押下」メッセージ発信元のネットワークアドレスを読み取り、RAM33に記録されている機器データベースのレコードの中で、ネットワークアドレスが一致するもの、即ち、図13の例では第2番目のレコードを探し出し、該当するレコードの役割のフィールドに「フロントレフト」の属性を書き込んで設定する(ステップ234)。最後にCPU31は、役割のフィールドの内容、ここでは「フロントレフト」の属性を記述した「役割メッセージ」を作成し、ネットワーク1を経由して「ボタン押下」メッセージの発信元に送り返す(ステップ235)。「ボタン押下」メッセージの発信元(ここではスピーカ5−1)は、「役割メッセージ」を受信し、役割(ここでは「フロントレフト」の属性)を取り出してRAM53に格納する。即ち、このメッセージは、ネットワークインタフェース55に到着し、CPU51は、このメッセージを解読して、RAM53に記録する。以上のようなステップ230からステップ235の操作によって、「フロントレフト」の位置に設置されたスピーカ5はスピーカ5−1であるということがコントローラ3の機器データベースに記録される。また、スピーカ5−1は、自身の役割(ここではフロントレフト)を知り、自身のRAM53に記録する。
【0061】
以下同様に、ステップ240からステップ245の操作により「フロントライト」、ステップ250からステップ255の操作により「センター」、ステップ260からステップ265の操作により「リアレフト」、ステップ270からステップ275の操作により「リアライト」のそれぞれの位置に設置されたスピーカ5を知ることができる。更に、各スピーカ5(5−2〜5−5)は、自身の役割を知り自身のRAM53に記録する。
【0062】
最後に、コントローラ3のCPU31は「システム設定が終了した」という旨のメッセージを作成し、ネットワーク1経由でディスプレイ6に指令して表示させる(ステップ280)。以上の手順により、物理的な配置とネットワーク1上でのアドレスの対応をとることができる。尚、ここでは説明しなかったが、ディスプレイ6が複数、存在する場合には、ディスプレイ6が持つボタン/LED操作器78、あるいはリモコン7と画面表示などを用いて、上記と同様の設定を行うことができる。
【0063】
次に、スピーカ5(5−1〜5−5)のデコーダ61やディスプレイ6のデコーダ81にて構成されるMPEGデコーダについて説明する。
図14は、MPEG2システム(ISO13818‐1)に準拠したデコーダシステムの概略を示した図である。図14に示すデコーダシステムでは、ストリーム入力91からストリームが入力され、デマルチプレクサ92にてビデオストリームとオーディオストリームとに振り分けられる。ビデオストリームは、ビデオバッファ93に入力され、所定のディレイ時間を経過した後にビデオデコ−ダ94に入力され、デコードされてビデオ出力97から出力される。オーディオストリームは、オーディオバッファ95に入力され、所定のディレイ時間を経過した後にオーディオデコ−ダ96に入力され、デコードされてオーディオ出力98から出力される。
【0064】
図15は、MEPGデコーダに供給されるデータフォーマットの一例を示した図である。このフォーマットは、MPEG2の多重化ビットストリーム(Program Stream)として規定されているものである。図15に示すように、多重化ビットストリームは、1つ以上のパック(PACK)で構成され、各パックは1つ以上のパケット(PACKET)で構成される。パックの先頭にはパックヘッダ(PACK HEADER)が配置され、このパックヘッダにはパックの開始点を示すパックスタートコード(PACK START CODE)、SCR(System Clock Reference)およびMUX RATEが配置されている。SCRは、その最後のバイトがデマルチプレクサ92に入力される時刻を表わしている。MUX RATEは、転送レートを示すものである。
【0065】
図15に示す例においては、パックヘッダに続いて、ビデオパケット(VIDEO PACKET)とオーディオパケット(AUDIO PACKET)とが配置されている。これらのパケットの先頭にもパケットヘッダが配置され、これらのパケットヘッダは、ビデオまたはオーディオのパケットの開始点を表すビデオパケットスタートコード(VIDEO PACKET START CODE)またはオーディオパケットスタートコード(AUDIO PACKET START CODE)と、ビデオまたはオーディオデータのデコード(表示)開始時刻を示すDTS(V)(PTSV(PTSvideo))またはDTS(A)(PTSA(PTSaudio))が配置されている。そして、この各パケットヘッダの次に、ビデオデータあるいはオーディオデータが配置されている。尚、これらSCR、PTS(PTSVまたはPTSA)などのタイミングデータは、90kHzの周波数からなるクロックのカウント値で表わされ、33ビットの有効数字を有している。更に、システム表現のための簡略モデル化を行っているため、デコードにかかる時間は0となっている。このためデコード開始時刻と表示開始時刻が等しい。
【0066】
図16は、SCRとPTSV(PTSvideo)、SCRとPTSA(PTSaudio)の関係を示した図である。パックヘッダがデマルチプレクサ92を通過した時刻がt1であり、該当するパックに含まれるビデオとオーディオの表示時間がそれぞれt2とt3となる。ここでは、SCRからPTSaudioまでの時間をΔTaとし、SCRからPTSvideoまでの時間をΔTvとしている。ΔTaとΔTvは、エンコード時に決まる任意の時間である。該当するパックがデマルチプレクサ92に入力される時刻がSCRであり、該当するパックに含まれるビデオデータとオーディオデータは、それぞれビデオバッファ93とオーディオバッファ95で所定の時間、遅延するために、そのデコード(表示)開始時刻はSCRより遅くなる。また、一般的にビデオバッファ93での遅延はオーディオバッファ95での遅延より大きいため、同じタイミングでデマルチプレクサ92を通過した場合でも、ビデオのデコード(表示)時刻はオーディオのデコード(表示)開始時刻より遅くなる。尚、前述したように、デコードにかかる時間は0であるので、ここでの遅延は、それぞれビデオバッファ93とオーディオバッファ95で発生している。
【0067】
次に、本実施の形態におけるディレイ補償の考え方について説明する。
コントローラ3は、コンテンツの再生を行うにあたり、Δtを設定してコンテンツソース4に知らせる。コンテンツソース4は、コンテンツデータの送信時刻に対して、Δtだけ遅らせた時刻にコンテンツの出力されるべき時刻を設定してコンテンツデータを送り出す。コンテンツのシンク機器群(スピーカ5(5−1〜5−5)、ディスプレイ6)では、受け取ったコンテンツデータを指定された時刻に出力する。
【0068】
Δtは、コンテンツソース4からコンテンツのシンク機器群(スピーカ5(5−1〜5−5)、ディスプレイ6)に、コンテンツデータが送られた時のネットワークディレイ(通信ディレイ)のうち最大となる時間と、コンテンツのシンク機器群(スピーカ5(5−1〜5−5)、ディスプレイ6)の実際のデコードディレイのうち最大となる時間とを加えたものである。場合によっては、マージンを増やすために幾分かの余裕を加える場合がある。また、この2つ以外の要因によるディレイを加える場合もある。例えば、サブネットをまたぐ場合のルーターのディレイ等が考えられる。
【0069】
更に、Δtの値はシンク機器群の組み合わせによって変化することがある。即ち、コンテンツのシンク機器群の組み合わせが変化すると、その中での最大のネットワークディレイと最大のデコードディレイは変化する可能性がある。シンク機器群の組み合わせによってΔtをその都度変えて制御する場合と、システム内で起こり得る最大のネットワークディレイと最大のデコードディレイとを用いて、即ち、Δtの最大値を見積もってそれを使用する場合の二つの方法が考えられる。
【0070】
図17は、本実施の形態におけるディレイを説明するための図である。コンテンツソース4がストリーム先頭に対する発信を開始した時刻をt10とする。t10に最大の通信ディレイ(ネットワークディレイ)を加えた時刻をt11とする。コンテンツソース4から発信されたコンテンツデータは、遅くともt11までには全てのコンテンツのシンク機器群(スピーカ5(5−1〜5−5)、ディスプレイ6)に到着している。即ち、通信のディレイに関しては、配信時刻から再生時刻を最大の通信ディレイだけ遅らせることで補償可能である。
【0071】
次に、t11に最大のデコードディレイを加えた時刻、即ち、t10にΔtを加えた時刻をt12とする。MPEG系の多重化ストリームの場合には、デコード開始とはビットストリームの処理開始、即ちデマルチプレクス開始ということになる。このため、時刻t12は、該当するビットストリームのSCRが対応することになる。図16に示した数値を当てはめて考えると、デコーダではt12がSCRの時刻となるから、オーディオの出力開始時刻PTSaudioは、t12にΔTaを加えた時刻t20となり、ビデオの出力開始時刻PTSvideoは、t12にΔTvを加えた時刻t22となる。
【0072】
ここで、実際のデコードディレイを考える。ディスプレイ6のデコーダ81のデコードディレイをDv、スピーカ5のデコーダ61のデコードディレイをDaとすると、t20にオーディオを出力するためには、t20よりDaだけさかのぼった時刻t21にオーディオのデコードを開始する必要がある。また、同様に、t22にビデオを出力するためには、t22からDvだけさかのぼった時刻t23にビデオのデコードを開始する必要がある。
【0073】
このとき、ΔTaあるいはΔTvが非常に小さく与えられたとすると、t20あるいはt22はt12に限りなく近付くので、t21あるいはt23はt12からデコードディレイ分さかのぼった時刻になる。このため、t12から最大のデコードディレイ分をさかのぼった時刻が、t11の後になっていれば良い。繰り返すと、t11までデコード開始を待てばネットワークによるディレイは無視できる。更に、見かけ上のデコード開始時刻(t12、SCR)を、t11から実際のデコードディレイにおける最大のものだけ遅らせることにより、デコードディレイの影響も無視できるようになる。このために、Δtには最大のデコードディレイが加算されている。
【0074】
次に、ストリーム再生動作について説明する。
図1にて、ユーザがリモコン7を使用して、再生モードの指定をコントローラ3に対して与えた場合を考える。ここではディスプレイ6とスピーカ5(5−1〜5−5)を使用するサラウンド再生を指定したものとする。このとき、リモコン信号は、コントローラ3のリモコン受光部36で受信される。リモコン受光部36は、CPU31に対して再生モード指定のコマンドを伝える。CPU31は、RAM33に記録されている機器データベースを参照し、シンク機器(スピーカ5(5−1〜5−5)、ディスプレイ6)から、デコードディレイの最大値を選び出し、更に、予め決まっているネットワークのディレイをROM32から読み出して加算し、Δtとする。
【0075】
ここで、ユーザがリモコン7を使用して、コンテンツ再生の命令をコントローラ3に対して与えた場合を考える。このリモコン信号は、コントローラ3のリモコン受光部36で受信される。リモコン受光部36は、CPU31にコンテンツ再生のコマンドを伝える。CPU31は、RAM33に記録されている機器データベースを参照して、コンテンツソースを探し出す。ここではコンテンツソース4を発見し、ネットワークアドレスを得る。コントローラ3は、コンテンツソース4に対して「コンテンツ再生開始」のメッセージを送出する。このとき、Δtの値も同時に与える。また、通常では、ここでコンテンツの指定がなされる。
【0076】
即ち、CPU31は、「コンテンツ再生開始メッセージ」を作成し、その中でΔtを指定する。そして、CPU31は、ネットワークインタフェース35に指令して、「コンテンツ再生開始メッセージ」をコンテンツソース4に対して送信させる。この「コンテンツ再生開始メッセージ」は、所定の文字列で構成される。
【0077】
コントローラ3は、今回のシンク機器群(スピーカ5(5−1〜5−5)、ディスプレイ6)に対して、コンテンツソース4からのコンテンツデータを再生するように指示する。即ち、CPU31は、「コンテンツソース指定メッセージ」を作成し、その中でコンテンツソース4のネットワークアドレスを指定する。CPU31は、ネットワークインタフェース35に指令して、今回のシンク機器群(スピーカ5(5−1〜5−5)、ディスプレイ6)に対して、一つづつ順番に「コンテンツソース指定メッセージ」を送信させる。この「コンテンツソース指定メッセージ」は、所定の文字列で構成される。
【0078】
同時に、コントローラ3は、今回のシンク機器群の中で、スピーカ5群(スピーカ5−1〜5−5)に対してボリュームを設定する。即ち、CPU31は、「ボリューム設定メッセージ」を作成し、その中でボリュームの値を指定する。CPU31は、ネットワークインタフェース35に指令して、シンク機器群の中の指定されたシンク機器であるスピーカ5(5−1〜5−5)に対して、一つづつ順番に「ボリューム設定メッセージ」を送信させる。この「ボリューム設定メッセージ」は、所定の文字列で構成されている。
【0079】
次に、コンテンツソース4の動作について説明する。コンテンツソース4は、「コンテンツ再生開始メッセージ」を受信する。即ち、ネットワークインタフェース45にメッセージが到着し、CPU41はこのメッセージを解読し、Δtの値を受け取ると共に、コンテンツの再生を開始する。まず、CPU41は、ハードディスク装置48に対して所定のコンテンツの出力を指示する。ハードディスク装置48から出力したストリームは、ビットストリーム解析器49にて解析され、先頭のSCRの値が読み出される。SCRの数値はCPU41によって読み出され、ストリームはそのままバッファ50へ進む。
【0080】
このとき、コンテンツソース4での時刻情報’Tt’が’T10’、ストリーム先頭のSCRの値が’S10’であったとする。即ち、ビットストリームの’S10’の値を持つタイムスタンプが、スピーカ5におけるデコーダ61内の図示せぬデマルチプレクサ、あるいはディスプレイ6のデコーダ81内の図示せぬデマルチプレクサにて処理される時刻’T12’は、現在時刻’T10’にコントローラ3より与えられた’Δt’を加えた時刻となる。
T12=T10+Δt
コンテンツソース4のCPU41は、「タイムスタンプオフセットメッセージ」を作成し、’S10’の値と’T12’の値を指定する。CPU41は、ネットワークインタフェース45に指令して、「タイムスタンプオフセットメッセージ」をネットワーク1にブロードキャストする。これにより、全てのシンク機器は、MPEG2のタイムスタンプと’クロック’の関係を知ることになる。
【0081】
コンテンツソース4のCPU41は、ネットワークインタフェース45に指定して、バッファ50の内容(ストリーム)をネットワーク1にブロードキャストさせる。ここではネットワーク1に対してブロードキャストするが、ユニキャスト(一対一通信)でも構わない。その際には、コントローラ3が、シンク機器の一覧をコンテンツソース4に伝える必要が有り、コンテンツソース4は、その一覧データに従ってデータを送信する。
【0082】
次に、本実施の形態におけるスピーカ5の動作について説明する。スピーカ5のCPU51は、コントローラ3の発信した「コンテンツソース指定メッセージ」のメッセージを受け取る。CPU51は、コンテンツソースとして指定されたネットワークアドレスをRAM53に格納する。スピーカ5は、コントローラ3の指示により、コンテンツソース4からのコンテンツデータを待ち受ける。このメカニズムにより、同一ネットワーク上に、コンテンツソースとシンク機器の組み合わせが複数存在することができる。
【0083】
また、スピーカ5のCPU51は、コントローラ3の発信した「ボリューム設定メッセージ」のメッセージを受け取る。CPU51はアンプ62に対してボリュームを設定する。更にスピーカ5は、コンテンツソース4の発信した「タイムスタンプオフセットメッセージ」を受け取る。この「タイムスタンプオフセットメッセージ」は、コンテンツデータに伴って送られるものであり、スピーカ5は、予めコンテンツソース4からのコンテンツデータを待ち受けていたので、このメッセージを受け入れた。この「タイムスタンプオフセットメッセージ」からMPEGのタイムスタンプと時刻情報の関係が判る。スピーカ5のCPU51は、
差分オフセット値=S10−T12
を計算する。これによりスピーカ5での時刻情報’Tt’にオフセット値を加えることで、MPEGの時計であるところのSTC(システムタイムクロック)の値を計算することができる。また、MPEG系のタイムスタンプからオフセットを減じることで、時刻情報’Tt’の値を求めることができる。
【0084】
スピーカ5は、コンテンツソース4の発信したストリームを受け取り、バッファ59に入力する。バッファ59に入ったストリームは、タイムスタンプ抽出器60を経てデコーダ61に入力される。CPU51は、タイムスタンプ抽出器60からSCRとPTSaudioを読み出す。また、CPU51はデコードディレイDaの値を知っている。デコーダ61にはデコードディレイがあるために、名目上の出力開始時刻からDaだけさかのぼって(前に)デコードを開始する必要がある。この調整を行うために、スピーカ5のCPU51は以下の処理を行う。
【0085】
まず、T12からDaだけさかのぼった時刻をT11(実際のデマルチプレクス開始時刻)とする。ストリームの最初のPTSaudio(名目上のオーディオデコード/表示開始)をT20とし、T20からDaだけさかのぼった時刻をT21とする。即ちT12は名目上のデマルチプレクス開始時刻であり、T11はデコードディレイの分、前倒しにした実際のデマルチプレクス開始時刻となる。また、T20は、ストリームの最初のPTSaudioにおける名目上のデコード(表示)開始時刻であり、T21はデコードディレイの分、前倒しにした実際のデコード開始時刻となる。CPU51はカウンタ57から再生された時刻情報’Tt’を読み出し、時刻がT11に等しくなった時点でデマルチプレクスを開始する。引き続いて時刻がT21になった時点でデコードを開始する。これにより、T20にオーディオの出力を開始することができる。
【0086】
次に、本実施の形態におけるディスプレイ6の動作について説明する。ディスプレイ6のCPU71は、コントローラ3の発信した「コンテンツソース指定メッセージ」のメッセージを受け取る。CPU71は、コンテンツソースとして指定されたネットワークアドレスをRAM73に格納する。ディスプレイ6は、コントローラ3の指示により、コンテンツソース4からのコンテンツデータを待ち受ける。この仕掛けにより、同一ネットワーク上に、コンテンツソースとシンク機器の組み合わせが複数存在することができる。
【0087】
ディスプレイ6は、コンテンツソース4の発信した「タイムスタンプオフセットメッセージ」を受け取る。この「タイムスタンプオフセットメッセージ」は、コンテンツデータに伴って送られるものであり、ディスプレイ6は、予めコンテンツソース4からのコンテンツデータを待ち受けていたのでこのメッセージを受け入れた。この「タイムスタンプオフセットメッセージ」からMPEGのタイムスタンプと時刻情報の関係が判る。ディスプレイ6のCPU71は、
差分オフセット値=S10−T12
を計算する。これによりディスプレイでの時刻情報’Tt’にオフセット値を加えることで、MPEGの時計であるところのSTC(システムタイムクロック)の値を計算することができる。また、MPEG系のタイムスタンプからオフセットを減じることで、時刻情報’Tt’の値を求めることができる。
【0088】
ディスプレイ6は、コンテンツソース4の発信したストリームを受け取り、バッファ79に入力する。バッファ79に入ったストリームは、タイムスタンプ抽出器80を経てデコーダ81に入力する。CPU71は、タイムスタンプ抽出器80からSCRとPTSvideoを読み出す。また、CPU71はデコードディレイDvの値を知っている。デコーダ81にはデコードディレイがあるために、名目上の出力開始時刻からDvだけさかのぼって(前に)デコードを開始する必要がある。この調整を行うために、ディスプレイ6のCPU71は以下の処理を行う。
【0089】
まず、T12からDvだけさかのぼった時刻をT11(実際のデマルチプレクス開始時刻)とする。ストリームの最初のPTSvideo(名目上のビデオデコード/表示開始)をT22とし、T22からDvだけさかのぼった時刻をT23とする。即ちT12は名目上のデマルチプレクス開始時刻であり、T11はデコードディレイの分、前倒しにした実際のデマルチプレクス開始時刻となる。また、T22はストリームの最初のPTSvideoにおける名目上のデコード(表示)開始時刻であり、T23はデコードディレイの分、前倒しにした実際のデコード開始時刻となる。CPU71は、カウンタ77から再生された時刻情報’Tt’を読み出し、時刻がT11に等しくなった時点でデマルチプレクスを開始する。引き続いて時刻がT23になった時点でデコードを開始する。これにより、T22にビデオの出力を開始することができる。
【0090】
最後に、位置補償の方法について説明する。
上記の例では、Δtの要素として、ネットワークによるディレイとデコードディレイの二つを考えたが、このほかにもスピーカ5(5−1〜5−5)の位置によるディレイ調整が考えられる。例えば、スピーカ5−4がスピーカ5−5より1.7メートルだけリスニングポジション8に近いとする。音速はおよそ340メートル毎秒なので、1.7メートルの距離を進むのに約5ミリ秒かかる。即ち、スピーカ5−4とスピーカ5−5を同時に発した音は、スピーカ5−4からの音が5ミリ秒だけ早くリスニングポジション8に到達する。これを補償するために、スピーカ5−4に対して5ミリ秒のディレイを加えるという方法がある。言い換えれば、スピーカ5−4だけが1.7メートルだけリスニングポジション8に近い場合に、スピーカ5−4以外のスピーカに対して5ミリ秒だけ早く出力させるということになる。
【0091】
本実施の形態では、かかる方法にも対応することが可能である。具体的には、上記例においてΔtを計算する際に、「ネットワークディレイの最大値」と「デコードディレイの最大値」に加えて「位置補償ディレイの最大値」を加算する。即ち、上記例よりもΔtは5ミリ秒だけ大きくなる。また、コントローラ3は、スピーカ5−4に対して0ミリ秒のディレイを指示し、スピーカ5−4以外のスピーカに対して5ミリ秒の前倒しを指示する。このとき、コントローラ3から発信される「コンテンツソース指定メッセージ」によって指定されたネットワークアドレスに基づいて、シンク機器毎にディレイの指示を受けることが可能である。また、コントローラ3のCPU31により各スピーカ5の「位相補償ディレイ設定メッセージ」が作成され、各スピーカ5に送られることで、シンク機器毎にディレイを指示するように構成することも可能である。
【0092】
図18は、位置補償ディレイの最大値を考慮した場合のディレイを説明するための図である。コンテンツソース4は、コンテンツの送り出し時刻t10に対してΔtを加え、名目上のデマルチプレクス開始時刻としてt12を指定する。リアレフトであるスピーカ5−4では、最初のSCRにあたるt12から”デコードディレイDa+0ミリ秒”だけさかのぼった時刻t11にデマルチプレクスを開始し、最初のPTSaudioにあたるt20から”デコードディレイDa+0ミリ秒”だけさかのぼった時刻t21にデコードを開始する。これによって、t20に音声出力することができる。
【0093】
スピーカ5−4以外のスピーカ5では、最初のSCRにあたるt12から”デコードディレイDa+5ミリ秒”だけさかのぼった時刻t31にデマルチプレクスを開始し、最初のPTSaudioにあたるt20から”デコードディレイDa+5ミリ秒”だけさかのぼった時刻t32にデコードを開始する。するとt20から5ミリ秒前に音声出力することができる。即ち、これらの操作によりスピーカ5−4以外のスピーカ5からの出力は、スピーカ5−4からの出力よりも5ミリ秒だけ早く出力することができる。このようにしてスピーカ位置の補償が可能となる。
【0094】
以上、詳述したように、本実施の形態では、まず、ソース機器とシンク機器における動作クロックの関係(結びつき)について対策を施している。即ち、両者のクロックが非同期である場合、両者のデータ処理速度、即ち同一サンプル数に対する処理時間が異なるため、結果として二つの機器の間に存在するバッファには破錠(アンダーフロー、オーバーフロー)をきたすことになる。本実施の形態では、クロックの配信を行い、受信した基準時刻信号と内部時刻情報との差が大きい場合には受信した基準時刻信号を内部時刻カウンタに代入し、内部時刻情報が進んでいるときにはクロックを遅くし、遅れているときにはクロックを速めるように構成した。これによって、ディジタルネットワークに接続された機器におけるクロックの同期をとることが可能となる。
【0095】
また、ネットワークに接続された複数の入出力機器間の位相(タイミング)の関係について、ディジタルネットワークでは伝送遅延が固定ではないことから、十分に小さい位相誤差にて出力されるという保証が無い。また、アナログ接続に比べて遅延の絶対値が大きくなる。しかしながら、本実施の形態によれば、まず、上記のように、同じ時計を各機器で動作させ、入出力タイミングをその時計の時刻で指定することで、位相情報(入出力時刻/タイミング)配信を行っている。また、ネットワーク(通信)ディレイと末端機器におけるデコードディレイを考慮し、コンテンツの再生に際して生じるディレイ分を補正するように構成した。これによって、理想状態で位相を合わせた上で実際の位相調整を行うことが可能となる。
【0096】
尚、本実施の形態にて説明したデコードディレイに代表される変換ディレイには、例えば、サンプリング周波数変換、ノイズフィルタ、また、サラウンド機能を通した場合のディレイ等の各種ディレイを含むことができる。
また、本実施の形態では、ストリームを再生して出力するデコーダを備える出力機器を中心に説明したが、例えば、ディジタルカメラやマイク、リモコン操作等を行うスイッチ等、各種入力機器がディジタルネットワークに接続された態様に対しても適用することができる。かかる態様の場合には、エンコードしてストリームを生成する際に生じるエンコードディレイを考慮し、位相の同期が図られる。
【0097】
【発明の効果】
以上説明したように、本発明によれば、ディジタルネットワークに接続された各機器の間において、同期をとることが可能となる。
【図面の簡単な説明】
【図1】本実施の形態におけるネットワークシステムの全体像を示した構成図である。
【図2】クロックソースにおける第1の構成例を示した図である。
【図3】クロックソースにおける第2の構成例を示した図である。
【図4】図1に示したコントローラの構成を説明するための図である。
【図5】図1に示したコンテンツソースの構成を説明するための図である。
【図6】図1に示したスピーカの構成を説明するための図である。
【図7】図1に示したディスプレイの構成を説明するための図である。
【図8】クロック配信におけるクロックソースの動作を説明するための図である。
【図9】クロック再生における時刻合わせの処理を説明するためのフローチャートである。
【図10】ネットワークに各機器が接続された直後からの処理を示したフローチャートである。
【図11】ネットワークに各機器が接続された直後からの処理を示したフローチャートである。
【図12】機器データベースの構造を示した図である。
【図13】コントローラのRAMに置かれている機器データベースの内容を示した図である。
【図14】MPEG2システム(ISO13818‐1)に準拠したデコーダシステムの概略を示した図である。
【図15】MEPGデコーダに供給されるデータフォーマットの一例を示した図である。
【図16】SCRとPTSV(PTSvideo)、SCRとPTSA(PTSaudio)の関係を示した図である。
【図17】本実施の形態におけるディレイを説明するための図である。
【図18】位置補償ディレイの最大値を考慮した場合のディレイを説明するための図である。
【符号の説明】
1…ネットワーク、2…クロックソース、3…コントローラ、4…コンテンツソース、5(5−1〜5−5)…スピーカ、6…ディスプレイ、11…クロック発振器、12…カウンタ、13…タイマ、14…ラッチ、15…ネットワークインタフェース、20…システムバス、21…クロック発振器、22…カウンタ、23…タイマ、24…ラッチ、25…CPU、26…ネットワークインタフェース、31…CPU、32…ROM、33…RAM、34…システムバス、35…ネットワークインタフェース、41…CPU、44…システムバス、45…ネットワークインタフェース、46…クロック発振器、47…カウンタ、48…ハードディスク装置、49…ビットストリーム解析器、50…バッファ、51…CPU、54…システムバス、55…ネットワークインタフェース、56…クロック発振器、57…カウンタ、59…バッファ、60…タイムスタンプ抽出器、61…デコーダ、71…CPU、75…ネットワークインタフェース、76…クロック発振器、77…カウンタ、79…バッファ、80…タイムスタンプ抽出器、81…デコーダ

Claims (4)

  1. ディジタルネットワークに接続されるシンク機器群に対してクロックを送信するクロックソースと、
    前記ディジタルネットワークに接続される前記シンク機器群に対して当該ディジタルネットワークを介してコンテンツを提供するコンテンツソースと、
    前記コンテンツを再生するにあたり、コンテンツデータが前記シンク機器群に送られるときのネットワークディレイと当該シンク機器群におけるデコードディレイとに基づく遅延時間を前記コンテンツソースに対して提供するコントローラと
    を備えたことを特徴とするネットワークシステム。
  2. 前記クロックソースは、前記シンク機器群に対して所定時間ごとに時刻情報を送信することを特徴とする請求項1記載のネットワークシステム。
  3. 前記コンテンツソースは、前記コントローラから提供された前記遅延時間に基づく遅延情報メッセージを作成し、コンテンツデータに伴って前記シンク機器群に対して配信することを特徴とする請求項1記載のネットワークシステム。
  4. ディジタルネットワークに接続される複数の機器にて出力の同期をとるためのネットワークシステムの同期方法であって、
    前記ディジタルネットワークを介してクロックと共に時刻情報を受信し、
    受信した前記クロックおよび前記時刻情報に基づいてクロックを調整し、
    前記ディジタルネットワークを介してコンテンツソースとしてのネットワークアドレスの指定を受け、
    コンテンツデータと共に当該コンテンツデータの再生を開始する時刻を示す情報を受信し、
    受信した前記情報に基づき、前記ネットワークアドレスに対してなされるディレイの指示と、前記コンテンツデータをデコードする際に生じるディレイに基づいてデコードの開始タイミングを決定し、
    決定した前記開始タイミングによりデコードを開始して前記コンテンツデータを再生することを特徴とするネットワークシステムの同期方法。
JP2001224983A 2001-07-25 2001-07-25 ネットワークシステム、およびネットワークシステムの同期方法 Expired - Fee Related JP3591493B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2001224983A JP3591493B2 (ja) 2001-07-25 2001-07-25 ネットワークシステム、およびネットワークシステムの同期方法
CNB028027671A CN1271813C (zh) 2001-07-25 2002-07-15 网络系统和在该系统中使用的输出设备
EP02747669A EP1320213A4 (en) 2001-07-25 2002-07-15 NETWORK SYSTEM AND OUTPUT DEVICE FOR USE IN THIS SYSTEM
KR10-2003-7004220A KR20040017794A (ko) 2001-07-25 2002-07-15 네트워크 시스템 및 이 시스템에 이용되는 출력 기기
US10/381,309 US20040010727A1 (en) 2001-07-25 2002-07-15 Network system and output device used in this system
PCT/JP2002/007169 WO2003010915A1 (fr) 2001-07-25 2002-07-15 Systeme de reseau et dispositif de sortie mis en oeuvre dans ce systeme
TW91116180A TW577231B (en) 2001-07-25 2002-07-19 Network system and output machine used in the system
HK04105273A HK1063392A1 (en) 2001-07-25 2004-07-19 Network system and output device used in this system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001224983A JP3591493B2 (ja) 2001-07-25 2001-07-25 ネットワークシステム、およびネットワークシステムの同期方法

Publications (2)

Publication Number Publication Date
JP2003037585A JP2003037585A (ja) 2003-02-07
JP3591493B2 true JP3591493B2 (ja) 2004-11-17

Family

ID=19058055

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001224983A Expired - Fee Related JP3591493B2 (ja) 2001-07-25 2001-07-25 ネットワークシステム、およびネットワークシステムの同期方法

Country Status (8)

Country Link
US (1) US20040010727A1 (ja)
EP (1) EP1320213A4 (ja)
JP (1) JP3591493B2 (ja)
KR (1) KR20040017794A (ja)
CN (1) CN1271813C (ja)
HK (1) HK1063392A1 (ja)
TW (1) TW577231B (ja)
WO (1) WO2003010915A1 (ja)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
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
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US11294618B2 (en) 2003-07-28 2022-04-05 Sonos, Inc. Media player system
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
JP2005136464A (ja) * 2003-10-28 2005-05-26 Pioneer Electronic Corp データ出力装置、データ送信装置、データ処理システム、データ出力方法、データ送信方法、データ処理方法、それらのプログラム、および、それらのプログラムを記録した記録媒体
US7058089B2 (en) * 2004-02-18 2006-06-06 Rosemount, Inc. System and method for maintaining a common sense of time on a network segment
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
KR100611985B1 (ko) * 2004-07-27 2006-08-11 삼성전자주식회사 실시간 컨텐츠 관리 방법, 소오스 장치 및 싱크 장치
DE102005036851B3 (de) 2005-08-04 2006-11-23 Siemens Audiologische Technik Gmbh Verfahren zum Synchronisieren von Signaltönen und entsprechende Hörgeräte
JP4322851B2 (ja) 2005-08-19 2009-09-02 Necディスプレイソリューションズ株式会社 動画配信システムおよび動画配信サーバー
US7995143B2 (en) 2006-02-10 2011-08-09 Qualcomm Incorporated Wireless video link synchronization
KR100801002B1 (ko) * 2006-06-05 2008-02-11 삼성전자주식회사 무선 네트워크 상에서 멀티미디어 데이터를 전송/재생하는방법, 및 그 방법을 이용한 무선 기기
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
US8788080B1 (en) 2006-09-12 2014-07-22 Sonos, Inc. Multi-channel pairing in a media system
JP5207756B2 (ja) 2007-03-07 2013-06-12 キヤノン株式会社 通信システム、通信装置、及びその制御方法
EP2114053A1 (en) 2008-04-30 2009-11-04 THOMSON Licensing Delivery delay compensation on synchronised communication devices in a packet switched network
US7903681B2 (en) * 2008-06-13 2011-03-08 Alcatel Lucent Method for distributing a common time reference within a distributed architecture
US8582033B2 (en) 2009-05-22 2013-11-12 Megachips Corporation Movie reproduction system and movie reproduction method for reducing delay time of reproduced movie
JP5664250B2 (ja) * 2011-01-11 2015-02-04 日本電気株式会社 通信制御システム、装置、方法及びプログラム
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
US9052810B2 (en) 2011-09-28 2015-06-09 Sonos, Inc. Methods and apparatus to manage zones of a multi-zone media playback system
TWI457008B (zh) * 2011-10-13 2014-10-11 Acer Inc 立體音效裝置、立體音效系統以及立體音效播放方法
US9729115B2 (en) 2012-04-27 2017-08-08 Sonos, Inc. Intelligently increasing the sound level of player
US8861664B2 (en) 2012-06-15 2014-10-14 Smsc Holdings S.A.R.L. Communication system and method for synchronizing a plurality of network nodes after a network lock condition occurs
US8995687B2 (en) 2012-08-01 2015-03-31 Sonos, Inc. Volume interactions for connected playback devices
US9008330B2 (en) 2012-09-28 2015-04-14 Sonos, Inc. Crossover frequency adjustments for audio speakers
US9510055B2 (en) 2013-01-23 2016-11-29 Sonos, Inc. System and method for a media experience social interface
US9438193B2 (en) 2013-06-05 2016-09-06 Sonos, Inc. Satellite volume control
US9654073B2 (en) 2013-06-07 2017-05-16 Sonos, Inc. Group volume control
US9355555B2 (en) 2013-09-27 2016-05-31 Sonos, Inc. System and method for issuing commands in a media playback system
US9231545B2 (en) 2013-09-27 2016-01-05 Sonos, Inc. Volume enhancements in a multi-zone media playback system
US9654545B2 (en) 2013-09-30 2017-05-16 Sonos, Inc. Group coordinator device selection
US9720576B2 (en) 2013-09-30 2017-08-01 Sonos, Inc. Controlling and displaying zones in a multi-zone system
US9288596B2 (en) 2013-09-30 2016-03-15 Sonos, Inc. Coordinator device for paired or consolidated players
US9300647B2 (en) 2014-01-15 2016-03-29 Sonos, Inc. Software application and zones
US20150220498A1 (en) 2014-02-05 2015-08-06 Sonos, Inc. Remote Creation of a Playback Queue for a Future Event
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
US9679054B2 (en) 2014-03-05 2017-06-13 Sonos, Inc. Webpage media playback
US10587693B2 (en) 2014-04-01 2020-03-10 Sonos, Inc. Mirrored queues
US20150324552A1 (en) 2014-05-12 2015-11-12 Sonos, Inc. Share Restriction for Media Items
US20150356084A1 (en) 2014-06-05 2015-12-10 Sonos, Inc. Social Queue
US9671997B2 (en) 2014-07-23 2017-06-06 Sonos, Inc. Zone grouping
US10209947B2 (en) 2014-07-23 2019-02-19 Sonos, Inc. Device grouping
US9874997B2 (en) 2014-08-08 2018-01-23 Sonos, Inc. Social playback queues
EP3114625A1 (en) 2014-09-24 2017-01-11 Sonos, Inc. Social media connection recommendations based on playback information
US9723038B2 (en) 2014-09-24 2017-08-01 Sonos, Inc. Social media connection recommendations based on playback information
US9690540B2 (en) 2014-09-24 2017-06-27 Sonos, Inc. Social media queue
US9959087B2 (en) 2014-09-24 2018-05-01 Sonos, Inc. Media item context from social media
US10645130B2 (en) 2014-09-24 2020-05-05 Sonos, Inc. Playback updates
US9860286B2 (en) 2014-09-24 2018-01-02 Sonos, Inc. Associating a captured image with a media item
US9667679B2 (en) 2014-09-24 2017-05-30 Sonos, Inc. Indicating an association between a social-media account and a media playback system
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
CN104993899A (zh) * 2015-06-23 2015-10-21 浪潮软件集团有限公司 一种时间同步的方法、装置及系统
CN105429724B (zh) * 2015-10-20 2018-03-23 北京小鸟听听科技有限公司 时钟校正方法、时钟校正装置及音箱
US10303422B1 (en) 2016-01-05 2019-05-28 Sonos, Inc. Multiple-device setup
US9886234B2 (en) 2016-01-28 2018-02-06 Sonos, Inc. Systems and methods of distributing audio to one or more playback devices
CN109314631B (zh) 2016-06-24 2021-08-27 雅马哈株式会社 同步设定装置、传送系统、同步设定方法及记录介质
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name
KR102254823B1 (ko) * 2017-03-15 2021-05-24 한국전자기술연구원 네트워크 기반의 동기 보조 클록을 가지는 멀티 디스플레이 시스템
US20180278947A1 (en) * 2017-03-24 2018-09-27 Seiko Epson Corporation Display device, communication device, method of controlling display device, and method of controlling communication device
CN114124281B (zh) * 2021-11-30 2024-02-06 西安西科节能技术服务有限公司 多物联网设备在可预期误差范围内的事件同步估算方法
WO2024026662A1 (en) * 2022-08-02 2024-02-08 Qualcomm Incorporated Hybrid codec present delay sync for asymmetric sound boxes

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473274A (en) * 1992-09-14 1995-12-05 Nec America, Inc. Local clock generator
JP3427416B2 (ja) * 1993-05-25 2003-07-14 ソニー株式会社 多重化データ分離装置および方法
US5430485A (en) * 1993-09-30 1995-07-04 Thomson Consumer Electronics, Inc. Audio/video synchronization in a digital transmission system
JP3197766B2 (ja) * 1994-02-17 2001-08-13 三洋電機株式会社 Mpegオーディオデコーダ、mpegビデオデコーダおよびmpegシステムデコーダ
US5623483A (en) * 1995-05-11 1997-04-22 Lucent Technologies Inc. Synchronization system for networked multimedia streams
US5712882A (en) * 1996-01-03 1998-01-27 Credence Systems Corporation Signal distribution system
JP2000059898A (ja) * 1998-08-06 2000-02-25 Matsushita Electric Ind Co Ltd 聴取位置補正装置およびその方法
JP3451971B2 (ja) * 1999-03-23 2003-09-29 ヤマハ株式会社 パケット転送装置
JP3541736B2 (ja) * 1999-07-14 2004-07-14 日本ビクター株式会社 クロック再生回路
US6741273B1 (en) * 1999-08-04 2004-05-25 Mitsubishi Electric Research Laboratories Inc Video camera controlled surround sound
JP2001127712A (ja) * 1999-10-29 2001-05-11 Yazaki Corp 音響システム
JP4196509B2 (ja) * 1999-12-27 2008-12-17 ソニー株式会社 音場創出装置
US6778493B1 (en) * 2000-02-07 2004-08-17 Sharp Laboratories Of America, Inc. Real-time media content synchronization and transmission in packet network apparatus and method
JP3833490B2 (ja) * 2000-04-07 2006-10-11 株式会社エヌ・ティ・ティ・ドコモ データ伝送において発生する遅延ジッタを吸収する装置および方法
US6732319B2 (en) * 2001-01-05 2004-05-04 General Electric Company Method and apparatus for protecting appliance memory contents
US6856688B2 (en) * 2001-04-27 2005-02-15 International Business Machines Corporation Method and system for automatic reconfiguration of a multi-dimension sound system

Also Published As

Publication number Publication date
US20040010727A1 (en) 2004-01-15
EP1320213A1 (en) 2003-06-18
HK1063392A1 (en) 2004-12-24
CN1471769A (zh) 2004-01-28
EP1320213A4 (en) 2007-12-05
TW577231B (en) 2004-02-21
KR20040017794A (ko) 2004-02-27
JP2003037585A (ja) 2003-02-07
CN1271813C (zh) 2006-08-23
WO2003010915A1 (fr) 2003-02-06

Similar Documents

Publication Publication Date Title
JP3591493B2 (ja) ネットワークシステム、およびネットワークシステムの同期方法
US11764890B2 (en) Methods for transporting digital media
JP4571794B2 (ja) オーディオ/ビジュアルコンポーネントを分解するための方法およびシステム
KR102233051B1 (ko) 오디오 재생을 위한 시스템 및 방법
EP2123021A1 (en) System and method for synchronizing playback of audio and video
JP2007124044A (ja) 基準クロック再生回路及びデータ受信装置
JP4362734B2 (ja) 同期再生システム
JP7513910B2 (ja) 同期制御システム、送信装置、受信装置、同期制御方法、および、同期制御プログラム
JPH0962277A (ja) カラオケ情報供給システム、カラオケ情報供給装置及びカラオケ端末
JP2003115810A (ja) パケット受信装置
JPH1115479A (ja) デジタル多チャンネル放送における音楽番組の配信方法およびこの放送を受信するカラオケ装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040713

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040816

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100903

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100903

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110903

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120903

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees