(57)【特許請求の範囲】
【請求項１】
通信ネットワークを介して接続された主機器と少なくとも一つの従機器とを含む同期制御システムの同期制御方法であって、
前記主機器が、同期信号の発生を検知すると、該同期信号の発生時刻を報知する第１の時刻データをハブを介して前記主機器及び前記少なくとも一つの従機器に送信するステップと、
前記主機器が、前記第１の時刻データを受信すると、前記第１の時刻データの受信時刻を報知する第２の時刻データを前記ハブを介して前記少なくとも一つの従機器に送信するステップと、
前記少なくとも一つの従機器の各々が、前記第１の時刻データと前記第２の時刻データを受信すると、前記第１の時刻データが報知する時刻から前記第２の時刻データが報知する時刻までの経過時間を前記第１の時刻データを受信した時刻から差し引いて、前記同期信号の発生見積時刻を算出するステップと、
前記少なくとも一つの従機器の各々が、前記発生見積時刻を基準として前記主機器との同期を制御するステップと、を含む同期制御方法。
【請求項２】
前記第１の時刻データは、前記ハブから前記主機器及び各々の前記従機器に略同時に受信される、請求項１記載の同期制御方法。
【請求項３】
前記主機器が前記第１の時刻データを受信する時刻と、前記少なくとも一つの従機器が前記第１の時刻データを受信する時刻との差分が既知かつ一定であり、
前記同期信号の発生見積時刻を算出するステップは、前記差分を考慮して前記発生見積時刻を算出することを含む、請求項１記載の同期制御方法。
【請求項４】
通信ネットワークを介してデータを送受信する送受信部と、同期信号の発生を検知する同期信号検知部と、時間を計時する計時部と、制御部と、を備えた主機器と、
通信ネットワークを介して主機器からデータを受信する受信部と、時間を計時する計時部と、制御部と、を備えた少なくとも一つの従機器と、
を含む同期制御システムであって、
前記通信ネットワークは、前記主機器及び前記少なくとも一つの従機器を接続するハブを含み、
前記主機器の制御部は、前記同期信号検知部が同期信号の発生を検知すると、前記主機器の計時部から前記同期信号の発生時刻を取得し、取得した前記同期信号の発生時刻を報知する第１の時刻データを前記送受信部によって前記ハブを介して前記主機器及び前記少なくとも一つの従機器に送信し、さらに、前記送受信部が前記ハブを介して前記第１の時刻データを受信すると、前記計時部から前記第１の時刻データの受信時刻を取得し、前記第１の時刻データの受信時刻を報知する第２の時刻データを前記少なくとも一つの従機器に送信し、
前記少なくとも一つの従機器の制御部は、前記受信部が前記ハブを介して前記主機器から前記第１の時刻データと前記第２の時刻データとを受信すると、前記第１の時刻データが報知する時刻から前記第２の時刻データが報知する時刻までの経過時間を前記第１の時刻データを受信した時刻から差し引いて、前記同期信号の発生見積時刻を算出し、前記発生見積時刻を基準として前記主機器との同期を制御する、同期制御システム。
【請求項５】
前記第１の時刻データは、前記ハブから前記主機器及び各々の前記従機器に略同時に受信される、請求項４記載の同期制御システム。
【請求項６】
前記主機器が前記第１の時刻データを受信する時刻と、前記少なくとも一つの従機器が前記第１の時刻データを受信する時刻との差分が既知かつ一定であり、
前記少なくとも一つの従機器の制御部は、前記差分を考慮して前記発生見積時刻を算出することを含む、請求項４記載の同期制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークを介して相互に接続された主機器と従機器とを含む同期制御システム及びその同期制御方法に関する。
【背景技術】
【０００２】
従来より、オーディオデータやビデオデータを処理して再生する再生装置をイーサネット（Ｅｔｈｅｒｎｅｔ）（登録商標）などの通信ネットワークを介して複数接続して、同期を制御しながら音楽や映像を再生することが行われている。
【０００３】
通信ネットワークを介して接続された複数の再生装置の間でビデオフレームを同期させる場合、高い精度が要求されることから、Ｇｅｎｌｏｃｋ（Ｇｅｎｅｒａｔｏｒ  Ｌｏｃｋ）回路などの外部の同期信号発生器を用いて発生させた基準同期信号を複数の再生装置に入力して同期を取るというような、ハードウェア的な手法が利用されている（特許文献１参照）。
【０００４】
このような同期信号発生器などの外部の回路を不要とするため、通信ネットワークを介して接続された送受信機において、同期の主体となる送信機が有する基準クロックと同期の対象となる他の受信機が有する局部クロックとの間で、送信機は基準同期信号を、受信機は従同期信号を周期的に生成して基準クロックと局部クロックを周波数同期させるものがある。送信機は基準クロックに基づいてビデオタイミングパケットを受信機に送信する。このビデオタイミングパケットには、ビデオタイミングパケットを通信ネットワークに送出した時刻と基準同期信号の生成時刻とのタイミングの差の情報が含まれる。受信機はビデオタイミングパケットに含まれる、ビデオタイミングパケットを通信ネットワークに送出した時刻と基準同期信号の生成時刻とのタイミングの差の情報と、タイミングパケットの到着時刻とに基づいて、従同期信号の生成タイミングを制御する（特許文献２参照）。
【０００５】
また、ネットワーク家電の普及に伴い、オーディオデータやビデオデータの再生装置のみならず、通信ネットワークを介して接続された様々な家電製品の同期を低コストで制御する技術も求められている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】ＷＯ２００７／１０４８９１号公報
【特許文献２】特開２００４−３０４８０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に開示された手法では、ビデオフレームの同期を行うためのハードウェアが必須となるが、ビデオフレームの同期を行うためのＧｅｎｌｏｃｋ回路、同期信号発生器などのハードウェアは一般的に高価である。また、同期させようとする複数の再生装置へ基準同期信号の入力が必要となり、同期信号発生器からの信号線の引き回しが必要となる。
【０００８】
特許文献２に開示された同期方法において用いられる受信機は、ビデオタイミングパケットに含まれる、そのビデオタイミングパケットを通信ネットワークに送出した時刻と基準同期信号の生成時刻とのタイミングの差の情報と、タイミングパケットの到着時刻とに基づいて、送信機との同期をとるようになっている。そのため、送信機から送信される信号に基づいて受信機同士で同期を制御することは可能である。しかしながら、ビデオタイミングパケットに含まれる情報からはパケットが送信機から受信機に到達するまでに要する時間を推定できないことから、受信機は送信機の正確な処理時刻を見積もることができない。したがって、受信機と送信機との間で同期をとることができないという課題があった。
【０００９】
そこで、本発明は、外部の同期信号発生器などのハードウェアを別途必要とせずに、ネットワークを介して接続された主機器と従機器との同期を制御することができる同期制御システム及びその同期制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一態様による、通信ネットワークを介して接続された主機器と少なくとも一つの従機器とを含む同期制御システムの同期制御方法は、前記主機器が、同期信号の発生を検知すると、該同期信号の発生時刻を報知する第１の時刻データを前記主機器及び前記少なくとも一つの従機器に送信するステップと、前記主機器が、前記第１の時刻データを受信すると、前記第１の時刻データの受信時刻を報知する第２の時刻データを前記少なくとも一つの従機器に送信するステップと、前記少なくとも一つの従機器の各々が、前記第１の時刻データと前記第２の時刻データを受信すると、前記第１の時刻データが報知する時刻から前記第２の時刻データが報知する時刻までの経過時間を前記第１の時刻データを受信した時刻から差し引いて、前記同期信号の発生見積時刻を算出するステップと、前記少なくとも一つの従機器の各々が、前記発生見積時刻を基準として前記主機器との同期を制御するステップと、を含む。
【００１１】
また、本発明の他の態様によれば、通信ネットワークを介してデータを送受信する送受信部と、同期信号の発生を検知する同期信号検知部と、時間を計時する計時部と、制御部と、を備えた主機器と、通信ネットワークを介して主機器からデータを受信する受信部と、時間を計時する計時部と、制御部と、を備えた少なくとも一つの従機器と、を含む同期制御システムが提供される。前記主機器の制御部は、前記同期信号検知部が同期信号の発生を検知すると、前記主機器の計時部から前記同期信号の発生時刻を取得し、取得した前記同期信号の発生時刻を報知する第１の時刻データを前記送受信部によって前記通信ネットワークを介して前記主機器及び前記少なくとも一つの従機器に送信し、さらに、前記送受信部が前記通信ネットワークを介して前記第１の時刻データを受信すると、前記計時部から前記第１の時刻データの受信時刻を取得し、前記第１の時刻データの受信時刻を報知する第２の時刻データを前記少なくとも一つの従機器に送信する。前記少なくとも一つの従機器の制御部は、前記受信部が前記通信ネットワークを介して前記主機器から前記第１の時刻データと前記第２の時刻データとを受信すると、前記第１の時刻データが報知する時刻から前記第２の時刻データが報知する時刻までの経過時間を前記第１の時刻データを受信した時刻から差し引いて、前記同期信号の発生見積時刻を算出し、前記発生見積時刻を基準として前記主機器との同期を制御する。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施の形態に係る同期制御システムのブロック図である。
【図２】図１の同期制御システムを構成する主機器と従機器が実行する処理のフローを説明する図である。
【図３】図２の処理を時系列で説明する図である。
【図４】本発明の第２の実施の形態に係る同期制御システムにおける処理の時系列を説明する図である。
【図５】本発明の第３の実施の形態に係る同期制御システムのブロック図である。
【図６】図５の同期システムを構成する主機器と従機器が実行する処理のフローを説明する図である。
【図７】図６の処理を時系列で説明する図である。
【発明を実施するための形態】
【００１３】
以下、本発明の具体的な実施の形態について、図面を参照して詳細に説明する。
【００１４】
＜第１の実施の形態＞
図１は、通信ネットワークを介して相互にデータを送受信する主機器としてのマスター・プレーヤ２０ａと、１台以上の従機器としてのスレーブ・プレーヤ２０ｂ〜２０ｎとを含む、本発明の第１の実施の形態に係る同期制御システム１０のブロック図である。マスター・プレーヤ２０ａ及びスレーブ・プレーヤ２０ｂ〜２０ｎは、それぞれ圧縮データを復号してビデオ／オーディオデータを映像音声出力部２６ａ、２６ｂから出力する映像音声再生装置である。
【００１５】
図１を参照するに、同期制御システム１０は、マスター・プレーヤ２０ａと１台以上のスレーブ・プレーヤ２０ｂ〜２０ｎと、マスター・プレーヤ２０ａと１台以上のスレーブ・プレーヤ２０ｂ〜２０ｎとを接続するハブ２７ａを有している。マスター・プレーヤ２０ａとスレーブ・プレーヤ２０ｂ〜２０ｎとの同期制御はマスター・プレーヤ２０ａから送信される時刻パケットに基づいて行われる。この通信ネットワークは、例えば、イーサネット（Ｅｔｈｅｒｎｅｔ）（登録商標）ネットワークであり、ハブ２７ａを介してマスター・プレーヤ２０ａと１台以上のスレーブ・プレーヤ２０ｂ〜２０ｎとが接続されている。本実施の形態では、マスター・プレーヤ２０ａが復号処理を実行する際に発生するイベントまたは同期信号に合わせて、スレーブ・プレーヤ２０ｂ〜２０ｎが実行する動作の同期制御が行われる。
【００１６】
マスター・プレーヤ２０ａは、ハードディスク２１ａと、本実施の形態で制御部を構成するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央演算処理装置）２２ａと、通信ネットワークを介して１台以上のスレーブ・プレーヤ２０ｂ〜２０ｎとデータを送受信する送受信部２３ａと、ハードディスク２１ａに保存した圧縮データを復号してビデオデータやオーディオデータを生成するデコーダ２４ａと、ＣＰＵ２２ａが動作する際のタイミングを提供するＶＣＸＯ（Ｖｏｌｔａｇｅ−Ｃｏｎｔｒｏｌｌｅｄ  Ｃｒｙｓｔａｌ  Ｏｓｃｉｌｌａｔｏｒ：電圧制御水晶発振器）２５ａとを備えている。
【００１７】
ハードディスク２１ａは、ストレージとして機能し、ＭＰＥＧ方式などで圧縮されたビデオデータやオーディオデータなどのコンテンツを格納する。送受信部２３ａは、ハブ２７ａを介してマスター・プレーヤ２０ａに接続されたスレーブ・プレーヤ２０ｂ〜２０ｎとの間でデータを送受信する処理を行う。デコーダ２４ａは、ハードディスクに保存された圧縮データを復号する。デコーダ２４ａによって復号されたビデオデータやオーディオデータは映像音声出力部２６ａを介して不図示の表示装置等に出力される。本実施の形態では、圧縮データを格納する記憶装置としてハードディスク２１ａを用いて説明するが、本発明はこれに限定されず、圧縮データを格納する上で適当であれば、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）−ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）など、実装に応じて様々な記憶装置が適用可能である。
【００１８】
ＶＣＸＯ２５ａはクロック信号を生成する。デコーダ２４ａは、ＶＣＸＯ２５ａが生成するタイミング信号、すなわちクロック信号に従って動作する。また、ＣＰＵ２２ａはＰＭＷ（Ｐｕｌｓｅ−Ｗｉｄｔｈ−Ｍｏｄｕｌａｔｉｏｎ：パルス幅変調）制御によりＶＣＸＯ２５ａに供給する電圧を制御して、ＶＣＸＯ２５ａがクロック信号を生成するタイミングを調節する。
【００１９】
ＣＰＵ２２ａは、デコーダ２４ａを制御して、ハードディスク２１ａに格納された圧縮データをＶＣＸＯ２５ａが生成するクロック信号に従って復号させる。また、ＣＰＵ２２ａは、デコーダ２４ａがビデオデータを復号する際に発生するビデオ垂直同期信号（Ｖｓｙｎｃ）の発生タイミングを、Ｖｓｙｎｃ割り込み信号（ＶｓｙｎｃＩＮＴ）により取得する。また、ＣＰＵ２２ａは、ＶＣＸＯ２５ａが生成するクロック信号に従って計時を行う。ＣＰＵ２２ａは、本発明の同期信号検知部として機能し、ＶＣＸＯ２５ａは、計時部として機能する。
【００２０】
ハブ２７ａを含む通信ネットワークは、マスター・プレーヤ２０ａがパケットをマルチキャスト送信すると、パケットのマルチキャスト・アドレスを識別して、通信ネットワークを介してハブ２７ａによって接続されたすべての機器に該パケットを略同時に配信し、通信ネットワーク内のマスター・プレーヤ２０ａ及びすべてのスレーブ・プレーヤ２０ｂ〜２０ｎが該パケットを略同時に受信できるように構成されている。ハブ２７ａには、例えば、マルチキャスト・アドレスを識別してマルチキャスト送信を実行可能な、例えば、スイッチング・ハブなどが適用可能である。このマスター・プレーヤ２０ａ及びスレーブ・プレーヤ２０ｂ〜２０ｎにより構成される同期制御システムは、同一のハブ２７ａで接続された閉じた系として形成して、パケットの伝送遅延を無視できる程度に小さくして設計する。また、マスター・プレーヤ２０ａは、一つの同期制御システムに１台のみであるが、スレーブ・プレーヤ２０ｂ〜２０ｎは一つの同期制御システムに複数存在してもよい。
【００２１】
スレーブ・プレーヤ２０ｂ〜２０ｎの各々の構成は、マスター・プレーヤ２０ａの構成とハードウェア的には同一であるので、スレーブ・プレーヤ２０ｂ〜２０ｎの構成については類似の番号を付して詳しい説明を省略する。
【００２２】
スレーブ・プレーヤ２０ｂのＣＰＵ２２ｂは、マスター・プレーヤ２０ａから送信された第１の時刻パケットと第２の時刻パケットを受信すると、第１の時刻パケットが報知する時刻から第２の時間が報知する時刻までの経過時間を第１の時刻パケットの受信時刻から差し引いて算出した時間を、マスター・プレーヤ２０ａのビデオ垂直同期信号（Ｖｓｙｎｃ）の発生タイミングとして、マスター・プレーヤ２０ａとの同期の制御を行う。
【００２３】
なお、プレーヤ２０ａ〜２０ｎの各々の同期制御に係わる構成はハードウェア的には同一であるので、本実施形態の構成によれば、必要に応じて、プレーヤ２０ａ〜２０ｎの何れか一つをマスターとして動作させ、残りのプレーヤをスレーブとして動作させることも可能である。
【００２４】
次に、このようにして構成された同期制御システム１０で実行される、マスター・プレーヤ２０ａがビデオデータを処理するタイミングに１台以上のスレーブ・プレーヤ２０ｂ〜２０ｎの各々の動作を同期させる同期制御処理について説明する。複数のスレーブ・プレーヤ２０ｂ〜２０ｎの各々の動作をマスター・プレーヤ２０ａがビデオデータを処理するタイミングに同期させる処理は、１台のスレーブ・プレーヤ２０ｂの動作をマスター・プレーヤ２０ａがビデオデータを処理するタイミングに同期させる処理と同様であるので、以下、マスター・プレーヤ２０ａとスレーブ・プレーヤ２０ｂとの同期を制御する処理フローを例に挙げて説明する。
【００２５】
図２は、マスター・プレーヤ２０ａとスレーブ・プレーヤ２０ｂとが同期制御のために実行する処理フローを説明する図であり、図３は、マスター・プレーヤ２０ａとスレーブ・プレーヤ２０ｂが実行する各処理を時系列で説明する図である。
【００２６】
まず、マスター・プレーヤ２０ａが実行する処理について、図２のステップｍ１〜ｍ４と、図３の時系列とを併せて参照して説明する。
【００２７】
はじめに、マスター・プレーヤ２０ａのＣＰＵ２２ａは、ＶｓｙｎｃＩＮＴがデコーダ２４ａから入力されたことによりＶｓｙｎｃの発生を検知すると、ＶｓｙｎｃＩＮＴを検知した時刻Ｔｍｖを記録する（ステップｍ１）。このＶｓｙｎｃの発生タイミングである時刻Ｔｍｖは高い精度で記録する必要がある。そのために、ＶｓｙｎｃＩＮＴを検出した時刻の記録を割り込みハンドラで実行するか、またはＶｓｙｎｃＩＮＴを検出した時刻を記録する処理を他の処理と比較して高い優先度で実行する。
【００２８】
次に、Ｔｍｖの値を情報として含むパケット（Ｐａｃｋｅｔ（Ｔｍｖ））をマルチキャスト送信する（ステップｍ２）。このパケットは、ハブ２７ａに接続された、マスター・プレーヤ２０ａ自身を含むすべてのプレーヤへ同時に送信される。パケット（Ｐａｃｋｅｔ（Ｔｍｖ））は本発明の第１の時刻データに相当する。
【００２９】
次に、マスター・プレーヤ２０ａは、自分が送信したパケット（Ｐａｃｋｅｔ（Ｔｍｖ））を自分自身で受信し、そのパケット（Ｐａｃｋｅｔ（Ｔｍｖ））を受信した時刻Ｔｍｒを記録する（ステップｍ３）。ステップｍ１におけるＴｍｖの記録と同様に、Ｔｍｒは高い精度で記録する必要がある。そのために、パケット（Ｐａｃｋｅｔ（Ｔｍｖ））を受信した時刻Ｔｍｒの記録を割り込みハンドラで実行するか、またはパケット（Ｐａｃｋｅｔ（Ｔｍｖ））を受信した時刻Ｔｍｒを記録する処理を他の処理と比較して高い優先度で実行する。
【００３０】
次に、Ｔｍｖをスレーブ・プレーヤ２０ｂ側で再現可能とするため、Ｔｍｒの値を情報として含むパケット（Ｐａｃｋｅｔ（Ｔｍｒ））をスレーブ・プレーヤ２０ｂに送信する（ステップｍ４）。尚、Ｔｍｒの値を情報として含むパケット（Ｐａｃｋｅｔ（Ｔｍｒ））は、スレーブ・プレーヤ２０ｂが受信できればよいので、必ずしもマルチキャストで送信しなくてもよい。パケット（Ｐａｃｋｅｔ（Ｔｍｒ））は本発明の第２の時刻データに相当する。
【００３１】
続いて、スレーブ・プレーヤ２０ｂが実行する処理について、図２のステップｓ１〜ｓ４と、図３の時系列とあわせて参照して説明する。
【００３２】
はじめに、スレーブ・プレーヤ２０ｂのＣＰＵ２２ｂは、ステップｍ２でマスター・プレーヤ２０ａが送信したパケット（Ｐａｃｋｅｔ（Ｔｍｖ））を受信し、そのパケット（Ｐａｃｋｅｔ（Ｔｍｖ））を受信した時刻Ｔｓｒを記録する（ステップｓ１）。このステップでは、ステップｍ３におけるＴｍｒの記録と同様、Ｔｓｒは高い精度で記録する必要がある。そのため、パケット（Ｐａｃｋｅｔ（Ｔｍｖ））を受信した時刻Ｔｓｒの記録を割り込みハンドラで実行するか、またはパケット（Ｐａｃｋｅｔ（Ｔｍｖ））を受信した時刻を記録する処理を他の処理と比較して高い優先度で実行する。次に、ステップｍ４でマスター・プレーヤ２０ａが送信したパケット（Ｐａｃｋｅｔ（Ｔｍｒ））を受信する（ステップｓ２）。
【００３３】
次に、マスター・プレーヤ２０ａにおけるＶｓｙｎｃの発生見積時刻Ｔｓｖｅを計算する（ステップｓ３）。Ｔｓｖｅは、以下の式から算出する。
Ｔｓｖｅ＝Ｔｓｒ−（Ｔｍｒ−Ｔｍｖ）
これにより、マスター・プレーヤ２０ａ側でＶｓｙｎｃが発生した時刻をスレーブ・プレーヤ２０ｂ側で再現することが可能となる。
【００３４】
スレーブ・プレーヤ２０ｂでも独自にＶｓｙｎｃの発生ごとに時刻（Ｔｓｖ）を記録しておき、ＴｓｖとＴｓｖｅとの差が０になるように、すなわちＴｓｖがＴｓｖｅと一致するようにＶＣＸＯ２５ｂを調整して、ビデオ表示クロックの制御を行う（ステップｓ４）。
【００３５】
ここで、同期信号の発生時刻を高い精度で記録する必要があるのは、ＶｓｙｎｃＩＮＴを検出した時刻（Ｔｍｖ及びＴｓｖ）と、Ｐａｃｋｅｔ（Ｔｍｖ）を受信したタイミング（Ｔｍｒ及びＴｓｒ）である。したがって、これらのタイミングは割り込みハンドラなどで取得して記録するか、または他の処理と比較して高い優先度で実行することにより、処理遅延時間をほぼ０にすることができる。これにより、伝送遅延以外の遅延時間を減少させ、マスター・プレーヤ２０ａと、スレーブ・プレーヤ２０ｂとの間の同期の精度を高めることができる。例えば、クロック周波数が１００ＭＨｚのＣＰＵで、割り込みが検出されてから割り込みハンドラで処理可能になるまで２０クロック分の時間を要するとすると、遅延は２００ｎｓｅｃ程度となる。この遅延は、１フレーム当たりの再生時間を３０ｍｓｅｃとしても、±１フレーム以内の誤差として処理できることになるので、ビデオを再生するためには十分な精度で同期制御を実現できる。
【００３６】
また、Ｐａｃｋｅｔ（Ｔｍｖ）の受信時刻はすべてのプレーヤ２０ａ〜２０ｎで略同時とする必要がある。これに関しては、上述したハブ２７ａを含む通信ネットワークを使用することにより、マスター・プレーヤ２０ａ自身を含むすべてのプレーヤ２０ａ〜２０ｎに略同時にパケットを送信することが可能である。これにより、マスター・プレーヤ２０ａ側でのＰａｃｋｅｔ（Ｔｍｖ）の受信時刻Ｔｍｒと、スレーブ・プレーヤ２０ｂ側でのＰａｃｋｅｔ（Ｔｍｖ）の受信時刻Ｔｓｒとを、略同時刻とすることができる。
【００３７】
本実施の形態では、通信ネットワークにおいて、プレーヤ２０ａ〜２０ｎ同士を、マルチキャスト送信を行うことができるハブ２７ａによって接続した場合について説明したが、本発明はこれに限定されない。プレーヤ２０ａ〜２０ｎ同士がマルチキャスト送信を行うことができて、かつ、マスター・プレーヤとハブ２７ａとの間の伝送遅延とハブ２７ａとスレーブ・プレーヤとの間の伝送遅延を等しくすることができるのであれば、通信ネットワークも有線のみならず、無線であってもよく、例えば、ＩＥＥＥ８０２．１１などの無線ＬＡＮや、Ｂｌｕｅｔｏｏｔｈ（登録商標）を用いて形成してもよい。この場合、ハブ２７ａは無線ＬＡＮアクセスポイントまたはＢｌｕｅｔｏｏｔｈ（登録商標）ハブとなる。
【００３８】
以上説明したように、本実施の形態の同期制御システム１０では、スレーブ・プレーヤ２０ｂ側の同期信号発生見積時刻Ｔｓｖｅをマスター・プレーヤ２０ａ側のＶｓｙｎｃの発生時刻Ｔｍｖと略同一の時刻とすることができる。このため、スレーブ・プレーヤ２０ｂ〜２０ｎのＶｓｙｎｃの発生タイミングをＴｓｖｅに合わせることにより、マスター・プレーヤ２０ａのビデオ表示タイミングにスレーブ・プレーヤ２０ｂ〜２０ｎのビデオ表示タイミングを同期させることが可能となる。また、上記特定のタイミング、すなわち、ＶｓｙｎｃＩＮＴ発生タイミング（Ｔｍｖ及びＴｓｖ）と、Ｐａｃｋｅｔ（Ｔｍｖ）を受信するタイミング（Ｔｍｒ及びＴｓｒ）以外の処理については、タイミングを特に考慮する必要がないため、リアルタイムに処理する必要はない。したがって、各プレーヤ２０ａ〜２０ｎに負荷をかけることなく、各プレーヤ２０ａ〜２０ｎ間の同期を制御することができる。したがって、Ｇｅｎｌｏｃｋ回路のような外部同期信号発生器を用いることなく、マスター・プレーヤ２０ａとスレーブ・プレーヤ２０ｂ〜２０ｎとの間のビデオフレーム同期を行うことができる。また、既存のネットワークを利用することにより、同期信号線などの引き回しが不要となる。
【００３９】
＜第２の実施の形態＞
第１の実施の形態では、マスター・プレーヤ２０ａが、ステップｍ４で、パケット（Ｐａｃｋｅｔ（Ｔｍｖ））を受信した時刻Ｔｍｒを送信するものとして説明したが、本発明はこれに限定されない。例えば、スレーブ・プレーヤ２０ｂ〜２０ｎがそれぞれマスター・プレーヤ２０ａと接続しているネットワーク経路の伝送遅延が既知であれば、マスター・プレーヤ２０ａがパケット（Ｐａｃｋｅｔ（Ｔｍｖ））を受信した時の受信時刻にその伝送遅延を加味した情報を送信してもよい。マスター・プレーヤ２０ａからハブ２７ａまでのネットワーク経路と、ハブ２７ａからスレーブ・プレーヤ２０ｂ〜２０ｎまでのネットワーク経路の状況によって、マスター・プレーヤ２０ａがハブ２７ａを介してパケット（Ｐａｃｋｅｔ（Ｔｍｖ））を受信した時刻と、スレーブ・プレーヤ２０ｂ〜２０ｎの何れかがハブ２７ａを介してパケット（Ｐａｃｋｅｔ（Ｔｍｖ））を受信した時刻が大きく異なる場合がある。マスター・プレーヤ２０ａがハブ２７ａを介してパケットを受信するために要する時間と、スレーブ・プレーヤ２０ｂ〜２０ｎの各々がハブ２７ａを介してパケットを受信するために要する時間の差が一定で、しかも既知の場合、スレーブ・プレーヤ２０ｂ〜２０ｎの各々は、マスター・プレーヤ２０ａがハブ２７ａを介してパケット（Ｐａｃｋｅｔ（Ｔｍｖ））を受信した時刻に、スレーブ・プレーヤ２０ｂ〜２０ｎの何れかがハブ２７ａを介して同期信号発生時刻データを受信する時刻との差分を考慮して、スレーブ・プレーヤ２０ｂ〜２０ｎ各々の伝送遅延を考慮したタイミングを算出してもよい。
【００４０】
マスター・プレーヤ２０ａがハブ２７ａを介してパケットを受信するために要する時間と、スレーブ・プレーヤ２０ｂ〜２０ｎの各々がハブ２７ａを介してパケットを受信するために要する時間の差が既知の場合の伝送遅延値の算出方法について、本実施の形態で説明する。
【００４１】
理解を容易にするため、第２の実施の形態の同期制御システムの構成及び同期を制御する処理フローは第１の実施の形態に係わる同期制御システム１０と略同一として説明する。
【００４２】
本実施の形態の同期制御システムは、処理の時系列、ステップｍ４で主機器が従機器に送信するパケットの情報が伝送遅延情報であること、及び同期信号発生見積時刻Ｔｓｖｅの算出方法以外は、第１の実施の形態の同期制御システム１０と同一の構成とするので、以下、第１の実施の形態の同期制御システム１０と同様の符号及びステップ番号を用いて説明する。
【００４３】
図４は、本実施の形態のマスター・プレーヤ２０ａとスレーブ・プレーヤ２０ｂが実行する各処理を時系列で説明する図である。図４に示すように、本実施の形態では、マスター・プレーヤ２０ａがハブ２７ａを介してパケットを受信するために要する時間と、スレーブ・プレーヤ２０ｂ〜２０ｎの各々がハブ２７ａを介してパケットを受信するために要する時間との差をＤ１とする。このＤ１は既知かつ一定の値である。スレーブ・プレーヤ２０ｂがＰａｃｋｅｔ（Ｔｍｖ）を受信する時刻をＴｓｒ’とすると、Ｔｓｒ’は、マスター・プレーヤ２０ａがＰａｃｋｅｔ（Ｔｍｖ）を受信した時刻Ｔｍｖと、Ｄ１だけずれることになる。すなわち、マスター・プレーヤ２０ａがハブ２７ａを介してパケットを受信するために要する時間と、スレーブ・プレーヤ２０ｂ〜２０ｎの各々がハブ２７ａを介してパケットを受信するために要する時間とが等しい場合の、スレーブ・プレーヤ２０ｂがＰａｃｋｅｔ（Ｔｍｖ）を受信する時刻をＴｓｒとすると、Ｔｓｒ’とＴｓｒとは以下の式の関係となる。
Ｔｓｒ’＝Ｔｓｒ＋Ｄ１
【００４４】
本実施の形態では、ステップｍ４でマスター・プレーヤ２０ａがスレーブ・プレーヤ２０ｂに送信するパケットには、伝送遅延情報として、ｔｍｒにＤ１を加えた時刻、すなわちｔｍｒ＋Ｄ１の情報を含ませる。Ｔｍｒ＝Ｔｓｒであるので以下の関係が成立する。
Ｔｍｒ＋Ｄ１＝Ｔｓｒ＋Ｄ１＝Ｔｓｒ’
【００４５】
したがって、Ｔｓｖｅは、以下の式から算出する。
Ｔｓｖｅ＝Ｔｓｒ−（Ｔｍｒ−Ｔｍｖ）＝（Ｔｓｒ’―Ｄ１）―（Ｔｍｒ−Ｔｍｖ）
【００４６】
このように、本実施の形態では、マスター・プレーヤ２０ａがハブ２７ａを介してパケットを受信するために要する時間と、スレーブ・プレーヤ２０ｂ〜２０ｎの各々がハブ２７ａを介してパケットを受信するために要する時間との差を考慮して、主機器であるマスター・プレーヤ２０ａと従機器であるスレーブ・プレーヤ２０ｂ〜２０ｎとの同期を制御する。そのためマスター・プレーヤ２０ａからハブ２７ａへの通信経路と、スレーブ・プレーヤ２０ｂ〜２０ｎの各々からハブ２７ａへの通信経路とが、例えば通信容量などが異なるなどの理由で、ハブ２７ａからのパケットの受信に時間差が発生したとしても、その時間差が既知かつ一定である場合には、上述の実施の形態と同様に、低コストの構成で同期制御を行うことができる。
【００４７】
＜第３の実施の形態＞
上記の各々の実施の形態では、本発明を映像音声再生装置に適用した場合について説明したが、本発明はこれに限定されない。本発明は、映像や音声を再生する装置のみならず、マルチキャスト送信が可能で、伝送遅延を等しくなるように通信ネットワークを介して接続された装置であれば、様々な装置にも適用することが可能である。本実施の形態では、本発明を、通信ネットワークを介して接続されたネットワーク家電などの機器に適用した場合について説明する。
【００４８】
図５は、本発明の第３の実施の形態に係る通信ネットワークを介して相互にデータを送受信する主機器２０Ａと従機器２０Ｂとを含む同期制御システム２０のブロック図である。図５を参照するに、同期制御システム２０は、主機器２０Ａと１台以上の従機器２０Ｂ〜２０Ｎと、主機器２０Ａと従機器２０Ｂ〜２０Ｎとを通信ネットワークを介して接続する集線装置２７Ａとを有している。主機器２０Ａが実行する動作に基づいて主機器２０Ａと従機器２０Ｂ〜２０Ｎとの同期制御を行う。この通信ネットワークは、例えば、イーサネット（Ｅｔｈｅｒｎｅｔ）（登録商標）ネットワークであり、集線装置２７Ａは、例えば、ハブでもよい。本実施の形態では、主機器２０Ａが所定の動作を実行する際に発生する信号またはイベントに従って従機器２０Ｂ〜２０Ｎが実行する動作の同期制御を行う。
【００４９】
主機器２０Ａは、通信ネットワークを介して１台以上の従機器２０Ｂ〜２０Ｎとデータを送受信する送受信部２３Ａと、主機器２０Ａが所定の動作を実行する際に発生する同期信号を検知する同期信号検知部２４Ａと、時間を計時する計時部２５Ａと、制御部２２Ａとを含む。
【００５０】
制御部２２Ａは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などにより構成され、送受信部２３Ａ、同期信号検知部２４Ａ、計時部２５Ａなどを制御して、主機器２０Ａの各種機能を実行する。
【００５１】
送受信部２３Ａは、例えば、ネットワークインタフェースカードであってもよく、ネットワークインタフェースカードを含んでいてもよく、またはネットワークインタフェースカードの一部であってもよい。
【００５２】
同期信号検知部２４Ａは、主機器２０Ａが所定の動作を実行する際に発生する同期信号を検出する。同期信号検知部２４Ａが検出する同期信号として、例えば、垂直同期信号などのフレーム同期信号、フィールド同期信号、タイムコードなどがあるが、本発明はこれに限定されない。主機器２０Ａと従機器２０Ｂが実行する動作として、照明灯の消灯、エアコンのオンオフなどの様々な動作や、ビデオやオーディオ機器の制御などが可能である。したがって、同期信号検知部２４Ａが検出する同期信号も、主機器２０Ａと従機器２０Ｂが実行する動作の同期を制御するために適切であればフレーム同期信号、フィールド同期信号、タイムコードなどに限定されず、その他の任意の信号を同期信号として用いることができる。
【００５３】
また、計時部２５Ａは、主機器２０Ａの内部クロックで構成される。集線装置２７Ａは、例えば、マルチキャスト・アドレスを識別してマルチキャスト送信を実行可能なハブが好ましい。
【００５４】
主機器２０Ａと接続する従機器２０Ｂは、通信ネットワークを介して主機器２０Ａからデータを受信する受信部２３Ｂと、時間を計時する計時部２５Ｂと、制御部２２Ｂを含む。従機器２０Ｂに含まれるそれらの構成は、主機器２０Ａにおける対応する構成と同様であるので、詳しい説明は省略する。
【００５５】
また、主機器２０Ａが二台以上の従機器２０Ｂ〜２０Ｎと接続する場合であっても、従機器２０Ｂ〜２０Ｎの各々は、上述の従機器２０Ｂと同様の構成を含むものとするので、その説明を省略する。
【００５６】
本同期制御システム２０は、主機器２０Ａから送信される同期信号発生時刻パケットはマルチキャストにより主機器２０Ａと１台以上の従機器２０Ｂ〜２０Ｎに同時に送信され、こうして送信された同期信号発生時刻パケットが、主機器２０Ａ及び１台以上の従機器２０Ｂ〜２０Ｎにおいて同時に受信されるように構成する。したがって、この主機器２０Ａ、１台以上の従機器２０Ｂ〜２０Ｎ及び集線装置２７Ａにより構成される同期制御システム２０は、集線装置２７Ａにより閉じた系として形成する。
【００５７】
次に、このようにして構成された同期制御システム２０で実行される、主機器２０Ａの所定の動作に１台以上の従機器２０Ｂ〜２０Ｎの動作を同期制御する処理について説明する。複数の従機器２０Ｂ〜２０Ｎの各々の動作を主機器２０Ａの所定の動作に同期させる処理は、１台の従機器２０Ｂの所定の動作を主機器２０Ａの所定の動作に同期させる処理と同様であるので、以下、主機器２０Ａと従機器２０Ｂとが同期制御のために実行する処理フローについて図面を参照して説明する。
【００５８】
図６は、主機器２０Ａと従機器２０Ｂが実行する処理フローを説明する図であり、図７は、主機器２０Ａと従機器２０Ｂが実行する各処理を時系列で説明する図である。
【００５９】
まず、主機器２０Ａが実行する処理について、図６のステップＡ１〜Ａ２と、図７の時系列とをあわせて参照して説明する。
【００６０】
はじめに、主機器２０Ａの制御部２２Ａは、同期信号検知部２４Ａが同期信号の発生を検知すると、内部クロックにより構成される計時部２５Ａから同期信号の発生時刻を取得し、同期信号を検知したタイミングで同期信号発生時刻パケットをマルチキャスト送信する（ステップＡ１）。同期信号発生時刻パケットは本発明の第１の時刻データに相当する。制御部２２Ａは同期信号の発生時刻を割り込みハンドラを用いて取得する、または同期信号の発生時刻を取得する処理を他の処理と比較して高い優先度で実行する。これによって、主機器２０Ａがいかなる処理を行っていても直ちに優先的に同期信号の発生時刻を取得することができる。同期信号発生時刻パケットは、同期信号を検知した時刻情報を含むパケットである。また、このパケットは、集線装置２７Ａに接続された主機器２０Ａ及びすべての従機器２０Ｂへ同時に送信される。
【００６１】
次に、主機器２０Ａは、自分が送信したパケットを自分自身で受信する。そして、パケットを受信したタイミングで、伝送遅延情報を報知する時間情報を含む伝送遅延情報パケットを従機器２０Ｂへ送信する（ステップＡ２）。伝送遅延情報パケットは第２の時刻データに相当する。この時、制御部２２Ａはパケットの受信時刻を割り込みハンドラを用いて取得する、またはパケットの受信時刻を取得する処理を他の処理と比較して高い優先度で実行する。これによって、主機器２０Ａがいかなる処理を行っていても直ちに優先的にパケットの受信時刻を取得することができる。伝送遅延情報として、例えば、同期信号発生時刻データを受信した時の受信時刻を送信してもよい。
【００６２】
次に、従機器２０Ｂが実行する処理について、図６のステップＢ１〜Ｂ３と、図７の時系列とあわせて参照して説明する。
【００６３】
はじめに、従機器２０Ｂの制御部２２Ｂは、ステップＡ２で主機器２０Ａが送信した同期信号発生時刻パケットを受信すると、そのタイミングで内部クロックにより構成される計時部２５Ｂからパケットの受信時刻Ｔｓｒを取得し、従機器２０Ｂのメモリ（図示されていない）に記録する（ステップＢ１）。次に、ステップＡ２で主機器２０Ａが送信した伝送遅延情報パケットを受信する（ステップＢ２）。制御部２２Ｂはパケットの受信時刻を割り込みハンドラを用いて取得する、またはパケットの受信時刻を取得する処理を他の処理と比較して高い優先度で実行する。これによって、従機器２０Ｂがいかなる処理を行っていても直ちに優先的にパケットの受信時刻を取得することができる。
【００６４】
次に、主機器２０Ａにおける同期信号発生時刻の見積もりである同期信号発生見積時刻Ｔｓｖｅを計算する（ステップＢ３）。Ｔｓｖｅは、以下の式から算出する。
Ｔｓｖｅ＝Ｔｓｒ−伝送遅延値
ここで、伝送遅延値とは、ステップＢ２で受信した伝送遅延情報パケットに含まれる伝送遅延情報が、主機器２０Ａが同期信号発生時刻データを受信した時の受信時刻である場合は、主機器２０Ａが同期信号発生時刻データを受信した時の受信時刻からパケットの受信時刻Ｔｓｒを引いて算出する。
【００６５】
求められた、主機器２０Ａにおける同期信号発生見積時刻Ｔｓｖｅにより、従機器２０Ｂにおける同期信号発生時刻との差が０になるように制御を行う。これにより、主機器２０Ａに接続されている従機器２０Ｂの各種複数のネットワーク家電間で同期信号発生のタイミングを合わせて同期することができる。これにより、主機器２０Ａ側で同期信号が発生した時刻を従機器２０Ｂ側で再現することが可能となる。
【００６６】
このように本発明によると、ネットワークを介して接続された主機器と従機器の同期を、別途ハードウェアなどを必要とせずに、主機器と従機器との間で処理する動作を基準として制御することができる。
【００６７】
本実施の形態では、通信ネットワークにおいて、主機器２０Ａと従機器２０Ｂ〜２０Ｎ同士を、マルチキャスト送信を行うことができる集線装置２７Ａによって接続した場合について説明したが、本発明はこれに限定されない。機器２０Ａ〜２０Ｎがマルチキャスト送信を行うことができて、かつ、主機器２０Ａと集線装置２７Ａとの間の伝送遅延とハブ２７ａとスレーブ・プレーヤとの間の伝送遅延を等しくすることができるのであれば、通信ネットワークも有線のみならず、無線であってもよく、例えば、ＩＥＥＥ８０２．１１などの無線ＬＡＮや、Ｂｌｕｅｔｏｏｔｈ（登録商標）を用いて形成してもよい。この場合、集線装置２７Ａは無線ＬＡＮアクセスポイントまたはＢｌｕｅｔｏｏｔｈ（登録商標）ハブとなる。
【００６８】
また、本実施の形態で、主機器２０Ａは、伝送遅延情報として同期信号発生時刻パケットを受信した時の受信時刻を送信するものとして説明したが、本発明はこれに限定されない。例えば、従機器２０Ｂ〜２０Ｎがそれぞれ主機器２０Ａと接続しているネットワーク経路の伝送遅延が既知であれば、主機器２０Ａが同期信号発生時刻パケットを受信した時の受信時刻にその情報を加味した情報を送信してもよい。主機器２０Ａから集線装置２７Ａまでのネットワーク経路と、集線装置２７Ａから従機器２０Ｂ〜２０Ｎまでのネットワーク経路の状況によって、主機器２０Ａが集線装置２７Ａを介して同期信号発生時刻パケットを受信した時刻と、従機器２０Ｂ〜２０Ｎの何れかが集線装置２７Ａを介して同期信号発生時刻パケットを受信した時刻が大きく異なる場合がある。主機器２０Ａが集線装置２７Ａを介してパケットを受信するために要する時間と、従機器２０Ｂ〜２０Ｎの各々が集線装置２７Ａを介してパケットを受信するために要する時間の差が既知の場合、従機器２０Ｂ〜２０Ｎの各々は、主機器２０Ａが集線装置２７Ａを介して同期信号発生時刻データを受信した時刻に、従機器２０Ｂ〜２０Ｎの何れかが集線装置２７Ａを介して同期信号発生時刻データを受信する時刻との差分を考慮して、伝送遅延値を算出してもよい。
【００６９】
様々な実施の形態に係わる同期制御システムについて説明したが、本発明の同期制御システムを構成する主機器と従機器はそれぞれ、ＣＰＵとメモリを含む、コンピュータを上述した各手段として機能させる主機器プログラム及び従機器プログラムによって実現することができる。主機器プログラム及び従機器プログラムは、通信回線を介して配布することも可能であるし、ＣＤ−ＲＯＭ等の記録媒体に書き込んで配布することも可能である。
【００７０】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態に限定されるものではない。また、本発明の実施の形態に記載された効果は、本発明から生じる最も好適な効果を列挙したものに過ぎず、本発明による効果は、本発明の実施例に記載されたものに限定されるものではない。
【図１】
0005525032.tif 000002
【図２】
0005525032.tif 000003
【図３】
0005525032.tif 000004
【図４】
0005525032.tif 000005
【図５】
0005525032.tif 000006
【図６】
0005525032.tif 000007
【図７】
0005525032.tif 000008