(57)【要約】【課題】簡単に、高精度のクロック同期を行うことができるようにする。【解決手段】同期マスタ装置１２は、ｔ１のタイミングにおいて、同期制御フレームを生成し、時間Ａ１の間待機し、クロックカウンタレジスタの値が「０」になったｔ２のタイミングにおいて、同期制御フレームを送信開始し、同期制御フレームの送信が完了したｔ３のタイミングにおいて、クロックカウンタレジスタをリセットする。一方、同期スレーブ装置１３は、同期マスタ装置１２が同期制御フレームを送信開始したｔ２と同じタイミングから、同期制御フレームを受信し始め、同期マスタ装置１２が同期制御フレームの送信が完了するｔ３の同じタイミングにおいて、同期制御フレームの受信を完了し、クロックカウンタレジスタをリセットする。本発明は、映像データや音声データなどのリアルタイムデータを送受信するＡＶデータ通信システムに適用できる。【選択図】図１１
2005094348.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークで相互に接続される第１の情報処理装置と第２の情報処理装置の間でデータを通信する通信システムにおいて、
前記第１の情報処理装置は、
内部の送信用クロックをカウントする送信用クロックカウンタと、
所定の周期で、前記第２の情報処理装置の内部の受信用クロックをカウントする受信用クロックカウンタの値のリセットを指示する同期制御データを生成する生成手段と、
前記生成手段により生成された前記同期制御データを前記第２の情報処理装置に送信する送信手段と、
前記送信手段による前記同期制御データの送信完了後に、前記送信用クロックカウンタの値をリセットする送信用リセット手段と
を備え、
前記第２の情報処理装置は、
前記受信用クロックカウンタと、
受信されたデータが前記同期制御データであるか否かを判断するデータ判断手段と、
前記データ判断手段により前記データが前記同期制御データであると判断された場合、前記受信用クロックカウンタの値をリセットする受信用リセット手段と
を備えることを特徴とする通信システム。
【請求項２】
前記送信用クロックカウンタと前記受信用クロックカウンタは、同じ範囲の値をカウントする
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記第１の情報処理装置は、前記送信用クロックカウンタの値が０になったか否かを判断するカウンタ判断手段をさらに備え、
前記カウンタ判断手段により前記送信用クロックカウンタの値が０になったと判断された場合、前記送信手段は、前記生成手段により生成された前記同期制御データを前記第２の情報処理装置に送信する
ことを特徴とする請求項１に記載の通信システム。
【請求項４】
ネットワークで相互に接続される第１の情報処理装置と第２の情報処理装置の間でデータを通信する通信システムの通信方法において、
前記第１の情報処理装置の通信方法は、
所定の周期で、前記第２の情報処理装置の内部の受信用クロックをカウントする受信用クロックカウンタの値のリセットを指示する同期制御データを生成し、生成された前記同期制御データを前記第２の情報処理装置に送信し、前記同期制御データの送信完了後に、内部の送信用クロックをカウントする送信用クロックカウンタの値をリセットし、
前記第２の情報処理装置の通信方法は、
受信された前記データが前記同期制御データであるか否かを判断し、前記データが前記同期制御データであると判断された場合、前記受信用クロックカウンタの値をリセットする
ことを特徴とする通信方法。
【請求項５】
ネットワークで接続された他の情報処理装置とデータを送受信する情報処理装置において、
内部のクロックをカウントするクロックカウンタと、
所定の周期で、前記他の情報処理装置のクロックカウンタの値のリセットを指示する同期制御データを生成する生成手段と、
前記生成手段により生成された前記同期制御データを前記他の情報処理装置に送信する制御データ送信手段と、
前記制御データ送信手段による前記同期制御データの送信完了後に、前記クロックカウンタの値をリセットするリセット手段と
を備えることを特徴とする情報処理装置。
【請求項６】
前記クロックカウンタは、前記他の情報処理装置のクロックカウンタと同じ範囲の値をカウントする
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記クロックカウンタの値が０になったか否かを判断するカウンタ判断手段をさらに備え、
前記カウンタ判断手段により前記クロックカウンタの値が０になったと判断された場合に、前記制御データ送信手段は、前記生成手段により生成された前記同期制御データを前記他の情報処理装置に送信する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項８】
前記クロックカウンタの値に基づいて、前記データのヘッダに、前記他の情報処理装置が前記データを処理するタイミングを示すカウンタ値を付加する付加手段と、
前記付加手段により前記カウンタ値が付加された前記データを前記他の情報処理装置に送信するデータ送信手段と
をさらに備えることを特徴とする請求項５に記載の情報処理装置。
【請求項９】
受信された前記データから、前記他の情報処理装置により付加された前記データを処理するタイミングを示すカウンタ値を取得する取得手段と、
前記クロックカウンタの値が、前記取得手段により取得された前記カウンタ値になったか否かを判断する時刻判断手段と、
前記時刻判断手段により前記クロックカウンタの値が前記カウンタ値になったと判断された場合、前記データを処理するデータ処理手段と
をさらに備えることを特徴とする請求項５に記載の情報処理装置。
【請求項１０】
ネットワークで接続された情報処理装置とデータを送受信する情報処理方法において、
所定の周期で、前記情報処理装置のクロックカウンタの値のリセットを指示する同期制御データを生成する生成ステップと、
前記生成ステップの処理により生成された前記同期制御データを前記情報処理装置に送信する制御データ送信ステップと、
前記制御データ送信ステップの処理による前記同期制御データの送信完了後に、内部のクロックをカウントするクロックカウンタの値をリセットするリセットステップと
を含むことを特徴とする情報処理方法。
【請求項１１】
ネットワークで接続された情報処理装置とデータを送受信する処理をコンピュータに行わせるプログラムであって、
所定の周期で、前記情報処理装置のクロックカウンタの値のリセットを指示する同期制御データを生成する生成ステップと、
前記生成ステップの処理により生成された前記同期制御データを前記情報処理装置に送信する制御データ送信ステップと、
前記制御データ送信ステップの処理による前記同期制御データの送信完了後に、内部のクロックをカウントするクロックカウンタの値をリセットするリセットステップと
を含むことを特徴とするプログラム。
【請求項１２】
ネットワークで接続された他の情報処理装置とデータを送受信する情報処理装置において、
内部のクロックをカウントするクロックカウンタと、
受信された前記データが、前記他の情報処理装置のクロックカウンタの値のリセットと同時に前記クロックカウンタの値のリセットを指示する同期制御データであるか否かを判断するデータ判断手段と、
前記データ判断手段により前記データが前記同期制御データであると判断された場合、前記クロックカウンタの値をリセットするリセット手段と
を備えることを特徴とする情報処理装置。
【請求項１３】
前記クロックカウンタは、前記他の情報処理装置のクロックカウンタと同じ範囲の値をカウントする
ことを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記クロックカウンタの値に基づいて、前記データのヘッダに、前記他の情報処理装置が前記データを処理するタイミングを示すカウンタ値を付加する付加手段と、
前記付加手段により前記カウンタ値が付加された前記データを前記他の情報処理装置に送信するデータ送信手段と
をさらに備えることを特徴とする請求項１２に記載の情報処理装置。
【請求項１５】
受信された前記データから、前記他の情報処理装置により付加された前記データを処理するタイミングを示すカウンタ値を取得する取得手段と、
前記クロックカウンタの値が、前記取得手段により取得された前記カウンタ値になったか否かを判断する時刻判断手段と、
前記時刻判断手段により前記クロックカウンタの値が前記カウンタ値になったと判断された場合、前記データを処理するデータ処理手段と
をさらに備えることを特徴とする請求項１２に記載の情報処理装置。
【請求項１６】
ネットワークで接続された情報処理装置とデータを送受信する情報処理方法において、
受信された前記データが、前記情報処理装置のクロックカウンタの値のリセットと同時に内部のクロックをカウントするクロックカウンタの値のリセットを指示する同期制御データであるかを判断するデータ判断ステップと、
前記データ判断ステップの処理により前記データが前記同期制御データであると判断された場合、前記クロックカウンタの値をリセットするリセットステップと
を含むことを特徴とする情報処理方法。
【請求項１７】
ネットワークで接続された情報処理装置とデータを送受信する処理をコンピュータに行わせるプログラムであって、
受信された前記データが、前記情報処理装置のクロックカウンタの値のリセットと同時に内部のクロックをカウントするクロックカウンタの値のリセットを指示する同期制御データであるかを判断するデータ判断ステップと、
前記データ判断ステップの処理により前記データが前記同期制御データであると判断された場合、前記クロックカウンタの値をリセットするリセットステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムおよび方法、情報処理装置および方法、並びにプログラムに関し、特に、簡単に、高精度のクロック同期を行うことができるようにした通信システムおよび方法、情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、ＥｔｈｅｒＮｅｔ（商標）や、ＩＥＥＥ８０２．１１のワイヤレスＬＡＮ（Local Area Network）に代表されるＣＳＭＡ／ＣＤ（Carrier Sense Multiple Access with Collision Detection）またはＣＳＭＡ／ＣＡ（Carrier Sense Multiple Access with Collision Avoidance）方式のネットワークは、その原理上、ネットワークフレームを送信するタイミングを、一定間隔のタイミングや特定のタイミングで正確に開始することが保証されない。これは、送信タイミングを決定するためのキャリアセンス時間と、コリジョンに伴うランダムバックオフが影響するためである。
【０００３】
このため、ネットワーク接続されたデバイス間で、ネットワークフレームを用いて高精度なクロック同期を行うことが困難であった。
【０００４】
そこで、特許文献１に示されるように、送信するデータにタイムスタンプを付加し、このタイムスタンプに基づいて、受信側において、送信側のクロックと自己のクロックのずれを検出し、自己のクロックの周波数を制御することにより、送受信間のクロックを同期させるようにした通信システムが提案されている。
【０００５】
【特許文献１】特開２０００−３３２８０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した通信システムにおいては、送受信間のクロックを同期させるために、受信側に、電圧制御型可変周波数発振器などの専用のハードウェアを設置する必要がある。したがって、上述した通信システムを実装するためには、ハードウェア設計から行う必要があり、実装が簡単にできない課題があった。さらに、上述した通信システムに設置される専用のハードウェアの費用がかかってしまう課題があった。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、簡単に、高精度のクロック同期を行うことができるようにするものである。
【課題を解決するための手段】
【０００８】
本発明の通信システムは、第１の情報処理装置は、内部の送信用クロックをカウントする送信用クロックカウンタと、所定の周期で、第２の情報処理装置の内部の受信用クロックをカウントする受信用クロックカウンタの値のリセットを指示する同期制御データを生成する生成手段と、生成手段により生成された同期制御データを第１の情報処理装置に送信する送信手段と、送信手段による同期制御データの送信完了後に、送信用クロックカウンタの値をリセットする送信用リセット手段とを備え、第２の情報処理装置は、受信用クロックカウンタと、受信されたデータが同期制御データであるか否かを判断するデータ判断手段と、データ判断手段によりデータが同期制御データであると判断された場合、受信用クロックカウンタの値をリセットする受信用リセット手段とを備えることを特徴とする。
【０００９】
送信用クロックカウンタと受信用クロックカウンタは、同じ範囲の値をカウントするようにすることができる。
【００１０】
第１の情報処理装置は、送信用クロックカウンタの値が０になったか否かを判断するカウンタ判断手段をさらに備え、カウンタ判断手段により送信用クロックカウンタの値が０になったと判断された場合、送信手段は、生成手段により生成された同期制御データを第２の情報処理装置に送信するようにすることができる。
【００１１】
本発明の通信方法は、第１の情報処理装置の通信方法は、所定の周期で、第２の情報処理装置の内部の受信用クロックをカウントする受信用クロックカウンタの値のリセットを指示する同期制御データを生成し、生成された同期制御データを第２の情報処理装置に送信し、同期制御データの送信完了後に、内部の送信用クロックをカウントする送信用クロックカウンタの値をリセットし、第２の情報処理装置の通信方法は、受信されたデータが同期制御データであるか否かを判断し、データが同期制御データであると判断された場合、受信用クロックカウンタの値をリセットすることを特徴とする。
【００１２】
本発明の第１の情報処理装置は、内部のクロックをカウントするクロックカウンタと、所定の周期で、他の情報処理装置のクロックカウンタの値のリセットを指示する同期制御データを生成する生成手段と、生成手段により生成された同期制御データを他の情報処理装置に送信する制御データ送信手段と、制御データ送信手段による同期制御データの送信完了後に、クロックカウンタの値をリセットするリセット手段とを備えることを特徴とする。
【００１３】
クロックカウンタは、他の情報処理装置のクロックカウンタと同じ範囲の値をカウントするようにすることができる。
【００１４】
クロックカウンタの値が０になったか否かを判断するカウンタ判断手段をさらに備え、カウンタ判断手段によりクロックカウンタの値が０になったと判断された場合に、制御データ送信手段は、生成手段により生成された同期制御データを他の情報処理装置に送信するようにすることができる。
【００１５】
クロックカウンタの値に基づいて、データのヘッダに、他の情報処理装置がデータを処理するタイミングを示すカウンタ値を付加する付加手段と、付加手段によりカウンタ値が付加されたデータを他の情報処理装置に送信するデータ送信手段とをさらに備えるようにすることができる。
【００１６】
受信されたデータから、他の情報処理装置により付加されたデータを処理するタイミングを示すカウンタ値を取得する取得手段と、クロックカウンタの値が、取得手段により取得されたカウンタ値になったか否かを判断する時刻判断手段と、時刻判断手段により前記クロックカウンタの値がカウンタ値になったと判断された場合、データを処理するデータ処理手段とをさらに備えるようにすることができる。
【００１７】
本発明の第１の情報処理方法は、所定の周期で、情報処理装置のクロックカウンタの値のリセットを指示する同期制御データを生成する生成ステップと、生成ステップの処理により生成された同期制御データを情報処理装置に送信する制御データ送信ステップと、制御データ送信ステップの処理による同期制御データの送信完了後に、内部のクロックをカウントするクロックカウンタの値をリセットするリセットステップとを含むことを特徴とする。
【００１８】
本発明の第１のプログラムは、所定の周期で、情報処理装置のクロックカウンタの値のリセットを指示する同期制御データを生成する生成ステップと、生成ステップの処理により生成された同期制御データを情報処理装置に送信する制御データ送信ステップと、制御データ送信ステップの処理による同期制御データの送信完了後に、内部のクロックをカウントするクロックカウンタの値をリセットするリセットステップとを含むことを特徴とする。
【００１９】
本発明の第２の情報処理装置は、内部のクロックをカウントするクロックカウンタと、受信されたデータが、他の情報処理装置のクロックカウンタの値のリセットと同時にクロックカウンタの値のリセットを指示する同期制御データであるか否かを判断するデータ判断手段と、データ判断手段によりデータが同期制御データであると判断された場合、クロックカウンタの値をリセットするリセット手段とを備えることを特徴とする。
【００２０】
クロックカウンタは、他の情報処理装置のクロックカウンタと同じ範囲の値をカウントするようにすることができる。
【００２１】
クロックカウンタの値に基づいて、データのヘッダに、他の情報処理装置がデータを処理するタイミングを示すカウンタ値を付加する付加手段と、付加手段により前記カウンタ値が付加されたデータを他の情報処理装置に送信するデータ送信手段とをさらに備えるようにすることができる。
【００２２】
受信されたデータから、他の情報処理装置により付加されたデータを処理するタイミングを示すカウンタ値を取得する取得手段と、クロックカウンタの値が、取得手段により取得されたカウンタ値になったか否かを判断する時刻判断手段と、時刻判断手段によりクロックカウンタの値がカウンタ値になったと判断された場合、データを処理するデータ処理手段とをさらに備えるようにすることができる。
【００２３】
本発明の第２の情報処理方法は、受信されたデータが、情報処理装置のクロックカウンタの値のリセットと同時に内部のクロックをカウントするクロックカウンタの値のリセットを指示する同期制御データであるかを判断するデータ判断ステップと、データ判断ステップの処理によりデータが同期制御データであると判断された場合、クロックカウンタの値をリセットするリセットステップとを含むことを特徴とする。
【００２４】
本発明の第２のプログラムは、受信されたデータが、情報処理装置のクロックカウンタの値のリセットと同時に内部のクロックをカウントするクロックカウンタの値のリセットを指示する同期制御データであるかを判断するデータ判断ステップと、データ判断ステップの処理によりデータが同期制御データであると判断された場合、クロックカウンタの値をリセットするリセットステップとを含むことを特徴とする。
【００２５】
第１の本発明においては、第１の情報処理装置または方法により、所定の周期で、第２の情報処理装置の内部の受信用クロックをカウントする受信用クロックカウンタの値のリセットを指示する同期制御データが生成され、生成された同期制御データが第２の情報処理装置に送信され、同期制御データの送信完了後に、内部の送信用クロックをカウントする送信用クロックカウンタの値がリセットされる。そして、第２の情報処理装置または方法により、受信されたデータが同期制御データであるか否かが判断され、データが同期制御データであると判断された場合、受信用クロックカウンタの値がリセットされる。
【００２６】
第２の本発明においては、所定の周期で、他の情報処理装置のクロックカウンタの値のリセットを指示する同期制御データが生成され、生成された同期制御データが他の情報処理装置に送信され、同期制御データの送信完了後に、内部のクロックをカウントするクロックカウンタの値がリセットされる。
【００２７】
第３の本発明においては、受信されたデータが、他の情報処理装置のクロックカウンタの値のリセットと同時に内部のクロックをカウントするクロックカウンタの値のリセットを指示する同期制御データであるかが判断され、データが同期制御データであると判断された場合、クロックカウンタの値がリセットされる。
【００２８】
ネットワークとは、少なくとも２つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであってもよいし、１つの装置を構成している内部ブロックどうしであってもよい。
【００２９】
また、通信とは、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであってもよい。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであってもよい。
【発明の効果】
【００３０】
本発明によれば、簡単に、高精度のクロック同期を行うことができる。さらに、本発明によれば、コストをかけずに、高精度のクロック同期を行うことができる。
【発明を実施するための最良の形態】
【００３１】
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。本明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００３２】
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加される発明の存在を否定するものではない。
【００３３】
本発明によれば、ネットワーク（例えば、図１のネットワーク１１）で相互に接続される第１の情報処理装置（例えば、図１の同期マスタ装置１２）と第２の情報処理装置（例えば、図１２の同期スレーブ装置１３−１）の間でデータを通信する通信システムが提供される。この通信システムは、第１の情報処理装置（例えば、図１の同期マスタ装置１２）は、内部の送信用クロック（例えば、図２のクロック３２）をカウントする送信用クロックカウンタ（例えば、図２のクロックカウンタレジスタ３１）と、所定の周期で、第２の情報処理装置の内部の受信用クロック（例えば、図７のクロック２０２）をカウントする受信用クロックカウンタ（例えば、図７のクロックカウンタレジスタ２０１）の値のリセットを指示する同期制御データ（例えば、同期制御フレーム）を生成する生成手段（例えば、図５の同期フレーム生成部１０２）と、生成手段により生成された同期制御データを第２の情報処理装置に送信する送信手段（例えば、図３のネットワーク通信部８５）と、送信手段による同期制御データの送信完了後に、送信用クロックカウンタの値をリセットする送信用リセット手段（例えば、図５のカウンタリセット部１０４）とを備え、第２の情報処理装置（例えば、図１２の同期スレーブ装置１３−１）は、受信用クロックカウンタ（例えば、図７のクロックカウンタレジスタ２０１）と、受信されたデータが同期制御データであるか否かを判断するデータ判断手段（例えば、図８の同期フレーム検出部２４１）と、データ判断手段によりデータが同期制御データであると判断された場合、受信用クロックカウンタの値をリセットする受信用リセット手段（例えば、図８のカウンタリセット部２４２）とを備えることを特徴とする。
【００３４】
この通信システムは、送信用クロックカウンタ（例えば、図２のクロックカウンタレジスタ３１）と受信用クロックカウンタ（例えば、図７のクロックカウンタレジスタ２０１）は、同じ範囲の値をカウントするようにすることができる。
【００３５】
この通信システムは、第１の情報処理装置は、送信用クロックカウンタの値が０になったか否かを判断するカウンタ判断手段（例えば、図９のステップＳ３の処理を実行する図５の同期フレーム送信部１０３）をさらに備え、カウンタ判断手段により送信用クロックカウンタの値が０になったと判断された場合、送信手段（例えば、図３のネットワーク通信部８５）は、生成手段により生成された同期制御データを第２の情報処理装置に送信するようにすることができる。
【００３６】
本発明によれば、ネットワーク（例えば、図１のネットワーク１１）で相互に接続される第１の情報処理装置（例えば、図１の同期マスタ装置１２）と第２の情報処理装置（例えば、図１２の同期スレーブ装置１３−１）の間でデータを通信する通信システムの通信方法が提供される。この通信方法は、第１の情報処理装置の通信方法は、所定の周期で、第２の情報処理装置の内部の受信用クロックをカウントする受信用クロックカウンタの値のリセットを指示する同期制御データを生成し（例えば、図９のステップＳ２）、生成された同期制御データを第２の情報処理装置に送信し（例えば、図９のステップＳ４）、同期制御データの送信完了後に、内部の送信用クロックをカウントする送信用クロックカウンタの値をリセットし（例えば、図９のステップＳ６）、第２の情報処理装置の通信方法は、受信されたデータが同期制御データであるか否かを判断し（例えば、図１０のステップＳ２２）、データが同期制御データであると判断された場合、受信用クロックカウンタの値をリセットする（例えば、図１０のステップＳ２３）ことを特徴とする。
【００３７】
本発明によれば、ネットワーク（例えば、図１のネットワーク１１）で接続された他の情報処理装置（例えば、図１２の同期スレーブ装置１３−１）とデータを送受信する第１の情報処理装置（例えば、図１の同期マスタ装置１２）が提供される。この第１の情報処理装置は、内部のクロックをカウントするクロックカウンタ（例えば、図２のクロックカウンタレジスタ３１）と、所定の周期で、他の情報処理装置のクロックカウンタの値のリセットを指示する同期制御データを生成する生成手段（例えば、図５の同期フレーム生成部１０２）と、生成手段により生成された同期制御データを他の情報処理装置に送信する制御データ送信手段（例えば、図３のネットワーク通信部８５）と、制御データ送信手段による同期制御データの送信完了後に、クロックカウンタの値をリセットするリセット手段（例えば、図５のカウンタリセット部１０４）とを備えることを特徴とする。
【００３８】
この第１の情報処理装置は、クロックカウンタ（例えば、図２のクロックカウンタレジスタ３１）は、他の情報処理装置のクロックカウンタ（例えば、図７のクロックカウンタレジスタ２０１）と同じ範囲の値をカウントするようにすることができる。
【００３９】
この第１の情報処理装置は、クロックカウンタの値が０になったか否かを判断するカウンタ判断手段（例えば、図５の同期フレーム送信部１０３）をさらに備え、カウンタ判断手段によりクロックカウンタの値が０になったと判断された場合に、制御データ送信手段（例えば、図３のネットワーク通信部８５）は、生成手段により生成された同期制御データを他の情報処理装置に送信するようにすることができる。
【００４０】
この第１の情報処理装置は、クロックカウンタの値に基づいて、データのヘッダに、他の情報処理装置（例えば、図１２の同期スレーブ装置１３−１）がデータを処理するタイミングを示すカウンタ値（例えば、図４のＭＰＥＧパケットカウンタ値）を付加する付加手段（例えば、図３のカウンタ値付加部９２）と、付加手段によりカウンタ値が付加されたデータを他の情報処理装置に送信するデータ送信手段（例えば、図１３のステップＳ４５の処理を実行する図３のネットワーク通信部８５）とをさらに備えることを特徴とする。
【００４１】
この第１の情報処理装置は、受信されたデータから、他の情報処理装置（例えば、図１２の同期スレーブ装置１３−１）により付加されたデータを処理するタイミングを示すカウンタ値（例えば、図４のＭＰＥＧパケットカウンタ値）を取得する取得手段（例えば、図８のカウンタ値取得部２４３）と、クロックカウンタ（例えば、図７のクロックカウンタレジスタ２０１）の値が、取得手段により取得されたカウンタ値になったか否かを判断する時刻判断手段（例えば、図８のクロック判断部２４４）と、時刻判断手段によりクロックカウンタの値がカウンタ値になったと判断された場合、データを処理するデータ処理手段（例えば、図８のデータ供給部２４５）とをさらに備えるようにすることができる。
【００４２】
本発明によれば、ネットワーク（例えば、図１のネットワーク１１）で接続された情報処理装置（例えば、図１２の同期スレーブ装置１３−１）とデータを送受信する第１の情報処理方法が提供される。この第１の情報処理方法は、所定の周期で、情報処理装置のクロックカウンタの値のリセットを指示する同期制御データを生成する生成ステップ（例えば、図９のステップＳ２）と、生成ステップの処理により生成された同期制御データを情報処理装置に送信する制御データ送信ステップ（例えば、図９のステップＳ４）と、制御データ送信ステップの処理による同期制御データの送信完了後に、内部のクロックをカウントするクロックカウンタの値をリセットするリセットステップ（例えば、図９のステップＳ６）とを含むことを特徴とする。
【００４３】
本発明によれば、ネットワーク（例えば、図１のネットワーク１１）で接続された他の情報処理装置（例えば、図１の同期マスタ装置１２）とデータを送受信する第２の情報処理装置（例えば、図１２の同期スレーブ装置１３−１）が提供される。この第２の情報処理装置は、内部のクロックをカウントするクロックカウンタ（例えば、図７のクロックカウンタレジスタ２０１）と、受信されたデータが、他の情報処理装置のクロックカウンタの値のリセットと同時にクロックカウンタの値のリセットを指示する同期制御データであるか否かを判断するデータ判断手段（例えば、図８の同期フレーム検出部２４１）と、データ判断手段によりデータが同期制御データであると判断された場合、クロックカウンタの値をリセットするリセット手段（例えば、図８のカウンタリセット部２４２）とを備えることを特徴とする。
【００４４】
この第２の情報処理装置は、クロックカウンタ（例えば、図７のクロックカウンタレジスタ２０１）は、他の情報処理装置のクロックカウンタ（例えば、図２のクロックカウンタレジスタ３１）と同じ範囲の値をカウントするようにすることができる。
【００４５】
この第２の情報処理装置は、クロックカウンタの値に基づいて、データのヘッダに、他の情報処理装置（例えば、図１の同期マスタ装置１２）がデータを処理するタイミングを示すカウンタ値（例えば、図４のＭＰＥＧパケットカウンタ値）を付加する付加手段（例えば、図３のカウンタ値付加部９２）と、付加手段によりカウンタ値が付加されたデータを他の情報処理装置に送信するデータ送信手段（例えば、図１３のステップＳ４５の処理を実行する図３のネットワーク通信部８５）とをさらに備えることを特徴とする。
【００４６】
この第２の情報処理装置は、受信されたデータから、他の情報処理装置（例えば、図１の同期マスタ装置１２）により付加されたデータを処理するタイミングを示すカウンタ値（例えば、図４のＭＰＥＧパケットカウンタ値）を取得する取得手段（例えば、図８のカウンタ値取得部２４３）と、クロックカウンタ（例えば、図７のクロックカウンタレジスタ２０１）の値が、取得手段により取得されたカウンタ値になったか否かを判断する時刻判断手段（例えば、図８のクロック判断部２４４）と、時刻判断手段によりクロックカウンタの値がカウンタ値になったと判断された場合、データを処理するデータ処理手段（例えば、図８のデータ供給部２４５）とをさらに備えるようにすることができる。
【００４７】
本発明によれば、ネットワーク（例えば、図１のネットワーク１１）で接続された情報処理装置（例えば、図１の同期マスタ装置１２）とデータを送受信する第２の情報処理方法が提供される。この第２の情報処理方法は、受信されたデータが、情報処理装置のクロックカウンタの値のリセットと同時に内部のクロックをカウントするクロックカウンタの値のリセットを指示する同期制御データであるかを判断するデータ判断ステップ（図１０のステップＳ２２）と、データ判断ステップの処理によりデータが同期制御データであると判断された場合、クロックカウンタの値をリセットするリセットステップ（例えば、図１０のステップＳ２３）とを含むことを特徴とする。
【００４８】
なお、本発明の第１および第２のプログラムは、上述した本発明の第１および第２の情報処理方法と基本的に同様の構成であるため、繰り返しになるのでその説明は省略する。
【００４９】
以下、図を参照して本発明の実施の形態について説明する。
【００５０】
図１は、本発明を適用したＡＶ（Audio Visual）データ通信システム１の構成例を表している。ＬＡＮ（Local Area Network）に代表されるネットワーク１１には、同期マスタ装置１２、同期スレーブ装置１３−１乃至１３−３（以下、これらの同期スレーブ装置を個々に区別する必要がない場合、単に同期スレーブ装置１３と称する）が、ＨＵＢ１４を介して、相互に接続されている。
【００５１】
ネットワーク１１は、例えば、１００Ｂａｓｅ−Ｔのイーサーネット（商標）により構成される。このネットワーク１１においては、ＣＳＭＡ／ＣＤ（Carrier Sense Multiple Access with Collision Detection）方式が用いられ、１００Ｂａｓｅ−ＴのスイッチングＨＵＢ１４を介して、同期マスタ装置１２および同期スレーブ装置１３間のデータの送受信が行われる。
【００５２】
同期マスタ装置１２および同期スレーブ装置１３は、共に、同じ範囲の値をカウントするクロックカウンタレジスタと、同一精度のクロックを有しており、内部のクロックに従って、クロックカウンタレジスタの値をインクリメント（カウント）している。
【００５３】
同期マスタ装置１２は、例えば、ＡＶ（Audio Visual）データサーバまたはパーソナルコンピュータなどにより構成され、映像データや音声データなどのリアルタイムデータを、ＭＰＥＧ（Moving Picture Experts Group）２の形式で、ＭＰＥＧデータとして記憶、管理している。同期マスタ装置１２は、自己のクロックカウンタレジスタに基づいて、記憶されているＭＰＥＧデータに時刻情報を付加し、ネットワーク１１およびＨＵＢ１４を介して、同期スレーブ装置１３に送信する。
【００５４】
同期スレーブ装置１３は、例えば、ＡＶデータ（Audio Visual）再生装置（テレビジョン装置）または光ディスク記録装置（光ディスクレコーダ）などにより構成され、ネットワーク１１およびＨＵＢ１４を介して、ＡＶデータサーバからなる同期マスタ装置１２からＭＰＥＧデータを受信し、受信されたＭＰＥＧデータを、ＭＰＥＧデータに付加されている時刻情報および自己のクロックカウンタレジスタに基づいて、再生し、内蔵する表示部およびスピーカなどに出力する処理を行う。
【００５５】
以上のように、ＡＶデータ通信システム１においては、映像データや音声データなどのリアルタイムデータが送受信され、送受信された映像データや音声データが、それぞれのクロックに基づいて、再生される。
【００５６】
なお、図１の例においては、同期スレーブ装置１３が３台のみ示されているが、ネットワーク１１には、任意の台数の同期スレーブ装置１３が接続される。
【００５７】
図２は、同期マスタ装置１２の構成例を表している。図２において、同期マスタ装置１２は、同期スレーブ装置１３のクロックカウンタレジスタ２０１（後述する図７）と同じ範囲の値をカウントするクロックカウンタレジスタ３１、および同期スレーブ装置１３のクロック２０２（後述する図７）と同一精度（例えば、２０ＭＨｚ  ±１００ｐｐｍ）のクロック３２を有している。ＣＰＵ（Central Processing Unit）３３は、クロック３２に従って、クロックカウンタレジスタ３１の値をインクリメント（カウント）している。図２の例の場合、クロックカウンタレジスタ３１は、例えば、０乃至19,999,999の範囲の値をカウントし、１秒ほどの間隔でその値を１周する。
【００５８】
ＣＰＵ３３は、クロック３２に従って、ＲＯＭ（Read Only Memory）３４に記憶されているプログラム、または記憶部４３からＲＡＭ（Random Access Memory）３５にロードされたプログラムに従って各種の処理を実行する。ＲＡＭ３５にはまた、ＣＰＵ３３が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００５９】
ＣＰＵ３３、ＲＯＭ３４およびＲＡＭ３５は、ＣＰＵバス３６を介して相互に接続されている。このＣＰＵバス３６にはまた、ＣＰＵバス３６とシステムバス４０とのブリッジを行うバスブリッジ３７も接続されている。
【００６０】
システムバス４０には、各種のボタンおよびスイッチなどよりなる入力部４１、被写体を撮像し、撮像されたＡＶデータを、ＭＰＥＧデータとして入力するカメラ部４２、ＭＰＥＧデータを記憶するハードディスクなどより構成される記憶部４３、ネットワーク１１を介して、同期スレーブ装置１３との通信処理を行うネットワークインターフェイス（Ｉ／Ｆ）４４が接続されている。カメラ部４２は、被写体を撮像し、撮像されたＡＶデータを入力する撮像部５１、および撮像部５１より入力されたＡＶデータをＭＰＥＧ２形式に符号化するＭＰＥＧ符号化部５２により構成される。
【００６１】
システムバス４０にはまた、必要に応じてドライブ６０が接続され、磁気ディスク６１、光ディスク６２、光磁気ディスク６３、或いは半導体メモリ６４などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部４３またはＲＯＭ３４にインストールされる。
【００６２】
図３は、同期マスタ装置１２の機能構成例を示すブロック図である。図３に示される機能ブロックは、同期マスタ装置１２のＣＰＵ３３により所定の制御プログラムが実行されることで実現される。なお、図３の例においては、従来からの通信処理を行うネットワーク処理部８４に、ＭＰＥＧデータ通信処理を行う機能ブロックが追加されて構成されている。
【００６３】
ＭＰＥＧデータ取得部８１は、ＭＰＥＧ符号化部５２または記憶部４３からＭＰＥＧ−ＴＳ（トランスポートストリーム）データを取得し、取得されたＭＰＥＧ−ＴＳデータをＭＰＥＧパケット生成部８２に出力する。ＭＰＥＧパケット生成部８２は、ＭＰＥＧデータ取得部８１より入力されたＭＰＥＧ−ＴＳデータからＴＳパケットを生成し、生成されたＴＳパケットをクロック同期処理部８３に出力する。
【００６４】
クロック同期処理部８３は、同期フレーム処理部９１およびカウンタ値付加部９２により構成される。同期フレーム処理部９１は、クロック３２に基づいて、所定の周期（例えば、１秒間）毎に、同期スレーブ装置１３のクロックカウンタレジスタ２０１の値のリセットを指示するための同期制御フレームを生成し、生成された同期制御フレームを、ネットワーク通信部８５に出力する。
【００６５】
カウンタ値付加部９２は、ＭＰＥＧパケット生成部８２よりＴＳパケットが入力されると、クロックカウンタレジスタ３１の値に基づいて、図４に示されるように、ＭＰＥＧパケット生成部８２より入力されたＴＳパケットのヘッダに、送信先の装置（図１の場合、同期スレーブ装置１３）がこのパケットをデコードする時刻を示すＭＰＥＧパケットカウンタ値を付加し、データフレームとしてネットワーク通信部８５に出力する。
【００６６】
図４は、カウンタ値付加部９２によりＭＰＥＧパケットカウンタ値が付加されたＴＳパケットの構成例を示す。図４の例の場合、ＴＳパケットは、４バイトのソースパケットヘッダ（ＳＰＨ）と１８８バイトのＭＰＥＧ−トランスポートストリーム（ＴＳ）パケットにより構成される。
【００６７】
パケットヘッダは、７ビットの予約領域（Reserve）および２５ビットのタイムスタンプ領域により構成され、図４の例においては、タイムスタンプ領域には、カウンタ値付加部９２により付加されたＭＰＥＧパケットカウンタ値が格納されている。
【００６８】
図３に戻って、ネットワーク処理部８４は、ＭＰＥＧデータ以外のデータ通信処理（例えば、メールの通信やブラウザアプリケーションを用いての通信など）を制御し、送信するデータフレームを、ネットワーク通信部８５に出力する。
【００６９】
ネットワーク通信部８５は、同期フレーム処理部９１より入力される同期制御フレームを、ネットワーク１１に接続されているすべての同期スレーブ装置１３に向けて、ブロードキャストする。また、ネットワーク通信部８５は、カウンタ値付加部９２より入力されるデータフレームおよびネットワーク処理部８４より入力されるデータフレームを、ネットワーク１１を介して、送信先の同期スレーブ装置１３に送信する。
【００７０】
図５は、同期フレーム処理部９１の詳細なブロック図を示す。図５の例においては、同期フレーム処理部９１は、同期フレーム制御部１０１、同期フレーム生成部１０２、同期フレーム送信部１０３、およびカウンタリセット部１０４により構成される。
【００７１】
同期フレーム制御部１０１は、クロック３２を監視し、所定の周期毎に、同期フレーム生成部１０２を制御し、同期制御フレームを生成させる。同期フレーム生成部１０２は、データフレームに、同期制御フレームであることを示すフラグＣをセットすることにより、同期制御フレームを生成し、生成された同期制御フレームを同期フレーム送信部１０３に出力する。この同期制御フレームについて、図６を参照して詳しく説明する。
【００７２】
図６は、データフレームのデータ構造例を示す。なお、図６の例においては、ネットワーク１１として、ＩＥＥＥ８０２．３のネットワークが用いられている場合のデータ構造例である。
【００７３】
ＩＥＥＥ８０２．３のデータフレームは、先頭から順に、７オクテットの「プリアンブル」フィールド、１オクテットの「ＳＦＤ(Start Frame Delimiter)」フィールド、６オクテットの「宛先アドレス」フィールド、６オクテットの「送信元アドレス」フィールド、２オクテットの「Ｌ（Length）／Ｔ（Type）」フィールド、４６乃至１５００オクテットの「データ／ＬＬＣ（Logical Link Control）」フィールド、および４オクテットの「ＦＣＳ（Frame Check Sequence）」フィールドにより構成される。
【００７４】
イーサーネット（商標）において、データフレームは、１と０が交互に続くパターンである「プリアンブル」から開始される。図６の例の場合、「プリアンブル」は、「１０１０１０１０」、「１０１０１０１０」、「１０１０１０１０」、「１０１０１０１０」、「１０１０１０１０」、「１０１０１０１０」および「１０１０１０１０」の７オクテットにより構成されている。そして、このデータフレームを受信する受信装置においては、この「プリアンブル」を受信中に、次の１オクテット「１０１０１０１１」により構成される「ＳＦＤ」フィールドが検出されたときに、「プリアンブル」フィールドが終了し、その次のビットから「宛先アドレス」フィールドが始まることが認識される。
【００７５】
「ＳＦＤ」フィールドの後の「宛先アドレス」フィールドには、宛先のＭＡＣ（Media Access Control address）アドレスが設定され、「送信元アドレス」フィールドには、送信元ＭＡＣアドレスが設定される。「Ｌ／Ｔ」フィールドは、次の「データ／ＬＬＣ」フィールドの値が１５００オクテット以下の場合には、データのサイズを表し、「Ｌ／Ｔ」フィールドが１５３６以上の場合は、データの上位プロトコルのタイプを表すことが定義されている。なお、１５０１乃至１５３５については未定義とされている。「データ／ＬＬＣ」フィールドには、最小４６オクテットから、最大１５００オクテットまでのデータが格納される。「ＦＣＳ」フィールドには、フレームのエラーを検出するためのＣＲＣ(Cyclic Redundancy Check)値が設定される。
【００７６】
したがって、同期フレーム生成部１０２は、以上のように構成されるデータフレームのうち、ＩＥＥＥ８０２．３において未定義とされ、使用されていない「Ｌ／Ｔ」フィールドにおける１５０１乃至１５３５のうちの１ビット（例えば、１５１０）を、同期制御フレームであることを示すフラグＣとして割り当て、同期フレーム制御部１０１の制御に基づいて、フラグＣとして割り当てられた１５１０を「Ｌ／Ｔ」フィールドにセットすることにより、同期制御フレームを生成する。
【００７７】
これにより、同期制御フレームを受信した同期スレーブ装置１３は、受信されたデータフレームにフラグＣがあれば、すなわち、「Ｌ／Ｔ」フィールドが１５１０であれば、受信されたデータフレームが同期制御フレームであると認識することができる。
【００７８】
図５に戻って、同期フレーム送信部１０３は、クロックカウンタレジスタ３１の値を監視しており、クロックカウンタレジスタ３１の値が「０」になったと判断した場合、同期フレーム生成部１０２より入力された同期制御フレームを、ネットワーク通信部８５を介して、ネットワーク１１にブロードキャストする。また、同期フレーム送信部１０３は、ネットワーク通信部８５の同期制御フレームの送信を監視しており、ネットワークインターフェイス４４に内蔵されるネットワークコントローラの送信完了割り込みに基づいて、同期制御フレームの送信が完了したと判断し、カウンタリセット部１０４を制御し、クロックカウンタレジスタ３１の値をリセット（「０」に）させる。
【００７９】
カウンタリセット部１０４は、同期フレーム送信部１０３の制御に基づいて、クロックカウンタレジスタ３１の値をリセット（「０」に）する。
【００８０】
図７は、同期スレーブ装置１３の構成例を表している。図７において、同期スレーブ装置１３は、同期マスタ装置１２のクロックカウンタレジスタ３１と同じ範囲の値をカウントするクロックカウンタレジスタ２０１、および同期マスタ装置１２のクロック３２と同一精度のクロック２０２を有している。ＣＰＵ２０３は、クロック２０２に従って、クロックカウンタレジスタ２０１の値をインクリメント（カウント）している。
【００８１】
ＣＰＵ２０３は、クロック２０２に従って、ＲＯＭ２０４に記憶されているプログラム、またはＲＡＭ２０５にロードされたプログラムに従って各種の処理を実行する。ＲＡＭ２０５にはまた、ＣＰＵ２０３が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００８２】
ＣＰＵ２０３、ＲＯＭ２０４およびＲＡＭ２０５は、内部バス２０６を介して相互に接続されている。この内部バス２０６にはまた、ＤＭＡ(Direct Memory Access)コントローラ２０７、ＳＤＲＡＭ(Synchronous Dynamic Random Access Memory)２０８、および、内部バス２０６と入出力インターフェイス用外部バス２１０とのブリッジを行うバスブリッジ２０９も接続されている。
【００８３】
ＤＭＡコントローラ２０７は、ネットワークインターフェイス（Ｉ／Ｆ）２１２に受信されるデータフレームからＴＳパケットを取得し、取得されたＴＳパケットをＳＤＲＡＭ２０８に蓄積する。ＳＤＲＡＭ２０８には、ＤＭＡコントローラ２０７よりＴＳパケットが蓄積される。
【００８４】
入出力インターフェイス用外部バス２１０には、各種のボタンおよびスイッチなどよりなる入力部２１１、ネットワーク１１を介して、同期マスタ装置１２との通信処理を行うネットワークインターフェイス２１２、および、ＭＰＥＧデコーダインターフェイス（Ｉ／Ｆ）２１３が接続されている。
【００８５】
ネットワークインターフェイス２１２には、同期マスタ装置１２から送信されてくるデータフレームが蓄積される。ＭＰＥＧデコーダインターフェイス２１３には、ＣＰＵ２０３の制御により、ＳＤＲＡＭ２０８に蓄積されているＴＳパケットがＭＰＥＧ−ＴＳデータとして入力される。ＭＰＥＧデコーダインターフェイス２１３は、入力されたＭＰＥＧ−ＴＳデータをデマルチプレクサ２１４に出力する。デマルチプレクサ２１４は、ＭＰＥＧデコーダインターフェイス２１３より入力されたＭＰＥＧ−ＴＳデータを、映像データおよび音声データなどに分離し、分離された映像データおよび音声データをデコーダ２１５に出力する。
【００８６】
デコーダ２１５は、デマルチプレクサ２１４より入力された映像データを復号し、表示部２１６に映像を表示させるとともに、デマルチプレクサ２１４より入力された音声データを復号し、スピーカ２１７から音声を出力させる。
【００８７】
入出力インターフェイス用外部バス２１０にはまた、必要に応じてドライブ２２０が接続され、磁気ディスク２２１、光ディスク２２２、光磁気ディスク２２３、或いは半導体メモリ２２４などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じてＲＯＭ２０４などにインストールされる。
【００８８】
図８は、同期スレーブ装置１３の機能構成例を示すブロック図である。図８に示される機能ブロックは、同期スレーブ装置１３のＣＰＵ２０３により所定の制御プログラムが実行されることで実現される。
【００８９】
同期フレーム処理部２３１は、同期フレーム検出部２４１およびカウンタリセット部２４２により構成される。同期フレーム検出部２４１は、ネットワークインターフェイス２１２に内蔵されるネットワークコントローラの受信完了割り込みに基づいてデータフレームを受信完了を判断すると、ネットワークインターフェイス２１２に受信されたデータフレームからフラグＣを検出し、受信されたデータフレームからフラグＣが検出されたか否か（すなわち、「Ｌ／Ｔ」フィールドが１５１０であるか否か）を判断し、受信されたデータフレームからフラグＣが検出された場合、受信されたデータフレームが同期制御フレームであると認識し、カウンタリセット部２４２を制御し、クロックカウンタレジスタ２０１の値をリセット（「０」に）させる。カウンタリセット部２４２は、同期フレーム検出部２４１の制御に基づいて、クロックカウンタレジスタ２０１の値をリセットする。
【００９０】
データフレーム処理部２３２は、カウンタ値取得部２４３、クロック判断部２４４、データ供給部２４５により構成される。カウンタ値取得部２４３は、ＳＤＲＡＭ２０８に蓄積されているＴＳパケットのヘッダからＭＰＥＧパケットカウンタ値を取得し、取得されたＭＰＥＧパケットカウンタ値をクロック判断部２４４に出力する。
【００９１】
クロック判断部２４４は、クロックカウンタレジスタ２０１の値を監視し、クロックカウンタレジスタ２０１の値が、ＭＰＥＧパケットカウンタ値になったか否かを判断し、クロックカウンタレジスタ２０１の値が、ＭＰＥＧパケットカウンタ値になったと判断した場合、データ供給部２４５を制御し、対応するＴＳパケットのＭＰＥＧ−ＴＳデータを、ＭＰＥＧデコーダインターフェイス２１３に出力させる。データ供給部２４５は、クロック判断部２４４の制御に基づいて、対応するＴＳパケットをＳＤＲＡＭ２０８から読み出し、読み出されたＴＳパケットのＭＰＥＧ−ＴＳデータを、ＭＰＥＧデコーダインターフェイス２１３に出力する。
【００９２】
次に、ＡＶデータ通信システム１のネットワーク１１におけるクロック同期について、説明する。
【００９３】
ＡＶデータ通信システム１のネットワーク１１においては、ＣＳＭＡ／ＣＤ方式が用いられており、同期マスタ装置１２および同期スレーブ装置１３において、同一精度のクロック３２および２０２が用いられていたとしても、クロックの誤差（±１００ｐｐｍ）が生じてしまうため、その原理上、データフレームを送信するタイミングを、一定間隔のタイミングや特定のタイミングで正確に開始することが保証されない。そこで、ＡＶデータ通信システム１においては、同期マスタ装置１２により同期制御フレーム送信処理が実行される。
【００９４】
この同期制御フレーム送信処理を、図９のフローチャートを参照して説明する。
【００９５】
同期フレーム制御部１０１は、図９のステップＳ１において、クロック３２を監視し、所定の時間（例えば、１秒間）が経過するまで待機しており、所定の時間が経過したと判断した場合、ステップＳ２に進み、同期フレーム生成部１０２を制御し、同期制御フレームを生成させ、ステップＳ３に進む。具体的には、同期フレーム制御部１０１の制御に基づいて、図６を参照して上述したフラグＣとして割り当てられた１５１０を「Ｌ／Ｔ」フィールドにセットすることにより、同期制御フレームを生成し、生成された同期制御フレームを同期フレーム送信部１０３に出力する。
【００９６】
同期フレーム送信部１０３は、ステップＳ３において、クロックカウンタレジスタ３１の値を監視し、クロックカウンタレジスタ３１の値が「０」になるまで待機し、クロックカウンタレジスタ３１の値が「０」になったと判断した場合、ステップＳ４に進み、ネットワーク通信部８５を制御し、同期フレーム生成部１０２より入力された同期制御フレームを、ネットワーク１１にブロードキャストさせ、ステップＳ５に進む。
【００９７】
同期フレーム送信部１０３は、ステップＳ５において、ネットワーク通信部８５の同期制御フレームの送信を監視し、同期制御フレームの送信が完了するまで待機しており、ネットワークインターフェイス４４に内蔵されるネットワークコントローラの送信完了割り込みに基づいて、同期制御フレームの送信が完了したと判断した場合、ステップＳ６に進み、カウンタリセット部１０４を制御し、クロックカウンタレジスタ３１の値をリセット（「０」に）させ、同期制御フレームの送信処理を終了する。
【００９８】
以上のように、ＡＶデータ通信システム１においては、同期制御マスタ装置１２により所定の周期で、同期制御フレームがブロードキャスト送信され、同期制御フレームの送信完了後、クロックカウンタレジスタ３１がリセットされる。
【００９９】
一方、同期スレーブ装置１３は、同期制御マスタ装置１２から送信された同期制御フレームを受信する。この同期スレーブ装置１３の同期制御フレーム受信処理を、図１０のフローチャートを参照して説明する。
【０１００】
ステップＳ２１において、ネットワークインターフェイス２１２は、同期マスタ装置１２から送信されてくるデータフレームを受信し、ネットワークインターフェイス２１２に内蔵されるネットワークコントローラの受信完了割り込みに基づいて、データフレームを受信完了すると、ステップＳ２２に進み、同期フレーム検出部２４１は、ネットワークインターフェイス２１２に受信されたデータフレームからフラグＣ（図５の「Ｌ／Ｔ」フィールドの１５１０オクテット）を検出し、データフレームからフラグＣが検出されたか否かを判断し、データフレームからフラグＣが検出されなかったと判断した場合、すなわち、受信されたデータフレームが同期制御フレームではないと判断した場合、同期フレーム受信処理を終了する。
【０１０１】
同期フレーム検出部２４１は、ステップＳ２２において、データフレームからフラグＣが検出されたと判断した場合、すなわち、受信されたデータフレームが同期制御フレームであると判断された場合、ステップＳ２３に進み、カウンタリセット部２４２を制御し、クロックカウンタレジスタ２０１の値をリセット（「０」に）させ、同期フレーム受信処理を終了する。
【０１０２】
以上のように、ＡＶデータ通信システム１においては、同期スレーブ装置１３により、同期マスタ装置１２から送信された同期制御フレームが受信され、受信された後に、クロックカウンタレジスタ２０１がリセットされる。
【０１０３】
すなわち、同期マスタ装置１２により、同期制御フレームがブロードキャスト送信され、同期制御フレームの送信完了後、クロックカウンタレジスタ３１がリセットされるときに、同期スレーブ装置１３も、同期マスタ装置１２より送信された同期制御フレームを受信し、受信した同期制御フレームに基づいて、クロックカウンタレジスタ２０１をリセットしている。この同期制御フレームによるクロックカウンタレジスタ３１およびクロックカウンタレジスタ２０１のリセットのタイミングについて、図１１のタイミングチャートを参照して説明する。
【０１０４】
図１１は、同期マスタ装置１２および同期スレーブ装置１３の同期制御フレームの送受信のタイミングを示す。図１１の例において、横軸は、時刻を表している。
【０１０５】
同期マスタ装置１２は、所定の時間が経過したと判断したｔ１のタイミングにおいて、同期制御フレームを生成し、ｔ１のタイミングからクロックカウンタレジスタ３１の値が「０」になるｔ２のタイミングまでの時間Ａ１の間、待機している。そして、同期マスタ装置１２は、クロックカウンタレジスタ３１の値が「０」になったｔ２のタイミングにおいて、同期制御フレームを送信開始し、ネットワークインターフェイス４４に内蔵されるネットワークコントローラの送信完了割り込みに基づいて判断される同期制御フレームの送信が完了したｔ３のタイミングにおいて、クロックカウンタレジスタ３１をリセットする。
【０１０６】
ここで、図１のネットワーク１１においては、ＣＳＭＡ／ＣＤ方式が用いられており、ＣＳＭＡ／ＣＤ方式においては、送受信装置間のデータの送信完了と受信完了のタイミング（すなわち、ネットワークインターフェイス４４に内蔵されるネットワークコントローラの送信完了割り込みと、ネットワークインターフェイス２１２に内蔵されるネットワークコントローラの受信完了割り込みのタイミング）は、ほぼ同時とされる。なお、このタイミング精度は、例えば、ネットワークが１００ＢＡＳＥ−Ｔの場合、１００ＭＨｚ、±１クロック程度の精度であるため、同期クリック（２０ＭＨｚ±１００ｐｐｍ）の誤差よりも非常に小さく、同時として説明してもあまり問題にはならないので、以下、送受信装置間のデータの送信完了と受信完了のタイミングは、同時として説明する。
【０１０７】
したがって、同期スレーブ装置１３は、同期マスタ装置１２が同期制御フレームを送信開始したｔ２と同じタイミングから、同期制御フレームの受信を開始し、同期マスタ装置１２が同期制御フレームの送信が完了するｔ３の同じタイミングにおいて、ネットワークインターフェイス２１２に内蔵されるネットワークコントローラの受信完了割り込みに基づいて、同期制御フレームの受信を完了したと判断し、クロックカウンタレジスタ２０１をリセットする。
【０１０８】
以上のように、ＣＳＭＡ／ＣＤ方式において、同期制御フレームの送受信の完了タイミング（すなわち、ネットワークインターフェイス４４に内蔵されるネットワークコントローラの送信完了割り込みと、ネットワークインターフェイス２１２に内蔵されるネットワークコントローラの受信完了割り込みのタイミング）は同じであるため、同期マスタ装置１２がクロックカウンタレジスタ３１をリセットするタイミングと、同期マスタ装置１３がクロックカウンタレジスタ２０１をリセットするタイミングが同じである。
【０１０９】
したがって、同期制御フレームを送信した同期マスタ装置１２と同期制御フレームを受信した複数の同期スレーブ装置１３は、一斉に、各クロックカウンタレジスタをリセットすることができる。これにより、ＡＶデータ通信システム１全体を、２０ＭＨｚ、±１クロック程度の精度で、クロックの同期が取れている状態にすることができる。
【０１１０】
なお、図１２に示されるように、同期マスタ装置１２が制御フレームをブロードキャスト送信したとしても、ネットワーク１１に接続される同期スレーブ装置１３の中には、同期制御フレームの受信を失敗する場合も考えられる。
【０１１１】
図１２は、図１のＡＶデータ通信システム１を簡略した構成例を示す。図１２の例においては、同期制御フレームＦが、同期マスタ装置１２からネットワーク１１に接続されている同期スレーブ装置１３−１乃至１３−３にブロードキャスト送信されている。
【０１１２】
図１２の例の場合、同期スレーブ装置１３−１および１３−２は、ネットワーク１１を介して、同期制御フレームＦを受信しているので、同期マスタ装置１２、並びに同期スレーブ装置１３−１および１３−２の間においては、クロック同期をとることができるが、同期スレーブ装置１３−３は、同期制御フレームの受信に失敗し、クロック同期がとれていない。この受信エラーにより、結果的に、ＡＶデータ通信システム１全体において、クロック同期が破綻してしまう恐れがある。
【０１１３】
これに対応して、ＡＶデータ通信システム１においては、図１１を参照して上述したように、クロックカウンタレジスタ３１の値が「０」になるｔ２のタイミングに、同期マスタ装置１２が同期制御フレームを送信するようにしている。
【０１１４】
例えば、クロックカウンタレジスタ３１の値が、「５００」のときに、同期マスタ装置１２が同期制御フレームを送信し、各クロックカウンタレジスタをリセット（「０」に）してしまうと、同期制御フレームの受信に失敗した同期スレーブ装置１３−３のクロックカウンタレジスタとの値が大きくずれてしまう。そこで、クロックカウンタレジスタ３１の値が「０」になるｔ２のタイミングに、同期制御フレームを送信することにより、仮に、同期スレーブ装置１３−３が同期制御フレームの受信に失敗したとしても、クロック同期に成功した同期マスタ装置１２、並びに同期スレーブ装置１３−１および１３−２のクロックカウンタレジスタの値が１周して、再び「０」になるときには、同期スレーブ装置１３−３のクロックレジスタカウンタ２０１も、同じ範囲の値をカウントしているため、多少のずれを持ちながらも、同時期に１周して「０」になる。
【０１１５】
したがって、クロックカウンタレジスタ３１の値が「０」になるｔ２のタイミングに、同期制御フレームを送信することにより、同期制御フレームの受信が失敗したとしても、クロックレジスタカウンタの同期が大きくずれてしまうことが抑制され、クロックレジスタカウンタの同期のずれを最小限に抑えることができる。
【０１１６】
以上のように、ＡＶデータ通信システム１においては、所定の周期で、同期制御フレームを送信することにより、同期マスタ装置１２と同期制御フレームを受信した複数の同期スレーブ装置１３は、一斉に、各クロックカウンタレジスタをリセットすることができるので、ＡＶデータ通信システム１全体を、常に、クロック同期が取れている状態に保つようにすることができる。
【０１１７】
これにより、ＡＶデータ通信システム１において、ネットワーク１１に接続されている任意の装置が、任意のタイミングに、映像データや音声データなどのリアルタイムデータの送信を開始しても、ネットワーク１１に接続されている装置であれば、どの装置でも、データ送信開始後に、同期のネゴシエーションを取ることなしに、即座に再生処理を行うことができる。
【０１１８】
次に、上述したように、常にクロック同期が取れている状態のＡＶデータ通信システム１におけるＭＰＥＧデータ送信、再生処理を、図１３および図１４のフローチャートを参照して説明する。なお、図１３のフローチャートを参照して、同期マスタ装置１２のＭＰＥＧデータ送信処理を説明し、図１４のフローチャートを参照して、同期スレーブ装置１３のＭＰＥＧデータ再生処理を説明する。
【０１１９】
ユーザは、同期スレーブ装置１３の入力部２１１を操作して、同期マスタ装置１２の記憶部４３に記憶されているＭＰＥＧデータを、同期スレーブ装置１３において再生するという指示を、同期スレーブ装置１３に入力する。同期スレーブ装置１３の入力部２１１は、ユーザからの指示を、ＣＰＵ２０３およびＤＭＡコントローラ２０７に出力するとともに、ＭＰＥＧデータの送信指示を、ネットワークインターフェイス２１２を制御し、ネットワーク１１を介して、同期マスタ装置１２に送信する。なお、このユーザによる指示は、同期マスタ装置１２の入力部４１を介して入力されるようにしてもよい。
【０１２０】
同期マスタ装置１２のＭＰＥＧデータ取得部８１は、ステップＳ４１において、ＭＰＥＧデータの送信が指示されるまで待機しており、ネットワークインターフェイス４４を介して、同期スレーブ装置１３からのＭＰＥＧデータの送信の指示を入力すると、ＭＰＥＧデータの送信が指示されたと判断し、ステップＳ４２に進み、記憶部４３からＭＰＥＧ−ＴＳデータを取得し、取得されたＭＰＥＧ−ＴＳデータをＭＰＥＧパケット生成部８２に出力し、ステップＳ４３に進む。
【０１２１】
ＭＰＥＧパケット生成部８２は、ステップＳ４３において、ＭＰＥＧデータ取得部８１より入力されたＭＰＥＧ−ＴＳデータからＴＳパケットを生成し、生成されたＴＳパケットをクロック同期処理部８３に出力し、ステップＳ４４に進み、カウンタ値付加部９２は、クロックカウンタレジスタ３１の値に基づいて、ＭＰＥＧパケット生成部８２より入力されたＴＳパケットのヘッダに、送信先の装置（図１の場合、同期スレーブ装置１３）がこのＴＳパケットをデコードする時刻を示すＭＰＥＧパケットカウンタ値を付加し、ＭＰＥＧパケットカウンタ値が付加されたＴＳパケットを、データフレームとしてネットワーク通信部８５に出力し、ステップＳ４５に進む。
【０１２２】
ステップＳ４５において、ネットワーク通信部８５は、カウンタ値付加部９２より入力されたデータフレームを、ネットワーク１１を介して、送信先の同期スレーブ装置１３に送信し、ステップＳ４６に進む。ＭＰＥＧデータ取得部８１は、ステップＳ４６において、指示されたＭＰＥＧデータの送信が終了したか否かを判断し、ＭＰＥＧデータの送信が終了したと判断した場合、ＭＰＥＧデータの送信処理を終了する。また、ＭＰＥＧデータ取得部８１は、ステップＳ４６において、ＭＰＥＧデータの送信が終了していないと判断した場合、ステップＳ４２に戻り、それ以降の処理を繰り返す。
【０１２３】
これに対応して、同期スレーブ装置１３のネットワークインターフェイス２１２は、ネットワーク１１を介して、同期マスタ装置１２からデータフレームを受信する。ＤＭＡコントローラ２０７は、ネットワークインターフェイス２１２に受信されるデータフレームからＴＳパケットを取得し、取得されたＴＳパケットをＳＤＲＡＭ２０８に蓄積する。
【０１２４】
一方、同期スレーブ装置１３のカウンタ値取得部２４３は、図１４のステップＳ６１において、ＭＰＥＧデータの再生が指示されるまで待機しており、入力部２１１を介して、ユーザからのＭＰＥＧデータの再生の指示が入力されると、ＭＰＥＧデータの再生が指示されたと判断し、ステップＳ６２に進み、ＳＤＲＡＭ２０８に蓄積されているＴＳパケットのヘッダからＭＰＥＧパケットカウンタ値を取得し、取得されたＭＰＥＧパケットカウンタ値をクロック判断部２４４に出力し、ステップＳ６３に進む。
【０１２５】
クロック判断部２４４は、ステップＳ６３において、クロックカウンタレジスタ２０１の値を監視し、クロックカウンタレジスタ２０１の値が、ＭＰＥＧパケットカウンタ値になるまで待機しており、クロックカウンタレジスタ２０１の値が、ＭＰＥＧパケットカウンタ値になったと判断した場合、ステップＳ６４に進み、データ供給部２４５を制御し、対応するＴＳパケットのＭＰＥＧ−ＴＳデータを、ＭＰＥＧデコーダインターフェイス２１３に出力させる。ＭＰＥＧデコーダインターフェイス２１３は、入力されたＭＰＥＧ−ＴＳデータをデマルチプレクサ２１４に出力し、ステップＳ６５に進む。
【０１２６】
デマルチプレクサ２１４は、ステップＳ６５において、ＭＰＥＧデコーダインターフェイス２１３より入力されたＭＰＥＧ−ＴＳデータを、映像データおよび音声データなどに分離し、分離された映像データおよび音声データをデコーダ２１５に出力し、ステップＳ６６に進み、デコーダ２１５は、デマルチプレクサ２１４より入力された映像データを復号し、表示部２１６に映像を表示させるとともに、デマルチプレクサ２１４より入力された音声データを復号し、スピーカ２１７から音声を出力させ、ステップＳ６７に進む。
【０１２７】
ステップＳ６７において、カウンタ値取得部２４３は、指示されたＭＰＥＧデータの再生が終了したか否かを判断し、ＭＰＥＧデータの再生が終了したと判断した場合、ＭＰＥＧデータの再生処理を終了する。また、カウンタ値取得部２４３は、ステップＳ６７において、ＭＰＥＧデータの再生が終了していないと判断した場合、ステップＳ６２に戻り、それ以降の処理を繰り返す。
【０１２８】
以上のように、ＡＶデータ通信システム１において同期されているクロックに基づいて、ＭＰＥＧデータを送信し、再生するようにしたので、高精度な再生を行うことができる。
【０１２９】
また、ＡＶデータ通信システム１においては、同期制御フレームにより同じタイミングでクロックカウンタレジスタをリセットするだけで、クロック同期を取ることができる。したがって、このようなシステムを実装するためには、専用のＬＳＩなどのハードウェアを必要とせず、例えば、上述したように、同期マスタ装置１２において、図３のネットワーク処理部８４に、ＭＰＥＧデータを送信する機能ブロックを追加するだけでよい。すなわち、既存の８０２．３ｘや８０２．１１ｘのネットワークインターフェイス（ＭＡＣリンク層や物理層）をそのまま利用することができるので、実装がとても簡単である。
【０１３０】
なお、以上においては、ネットワークを、ＣＳＭＡ／ＣＤ方式を用いるイーサーネット（商標）のＬＡＮとして説明したが、ＣＳＭＡ／ＣＡ方式を用いるようにしてもよいし、上述したようにデータの送受信のタイミングが同時であれば、インターネットなど他のネットワークを用いるようにしてもよい。
【０１３１】
また、上記説明においては、同期マスタ装置を、ＡＶデータサーバまたはパーソナルコンピュータなどとして説明し、同期スレーブ装置を、ＡＶデータ再生装置または光ディスク記録装置などとして説明したが、ネットワーク上に、同期制御フレームを送信する同期マスタ装置が１台のみ接続されていれば、同期マスタ装置および同期スレーブ装置は、どのような装置であってもよい。
【０１３２】
したがって、上記説明においては、同期マスタ装置がＭＰＥＧデータを送信するようにしたが、ＡＶデータ通信システム１においては、同期マスタ装置によりＡＶデータ通信システム１全体の装置にクロック同期が取られているため、同期スレーブ装置から同期マスタ装置にＭＰＥＧデータを送信するようにしてもよいし、また、同期スレーブ装置から他の同期スレーブ装置にＭＰＥＧデータを送信するようにしてもよい。
【０１３３】
また、上記説明においては、イーサーネットなどを用いたリアルタイム映像ストリームの伝送において、高精度のコンテンツ再生を行うＡＶデータ通信システムについて説明したが、ＦＡ（Factory Automation）システムにおいて、高精度なりあるタイム性の要求される分散制御デバイス間のカウンタ同期にも適用することができる。また、ＧＰＳ（Global Positioning System）などを使用して、デバイス間のタイミング制御を行うネットワークシステムにも適用される。
【０１３４】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
【０１３５】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図２および図７に示されるように、磁気ディスク６１，２２１（フレキシブルディスクを含む）、光ディスク６２，２２２（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク６３，２２３（MD(Mini-Disc)（商標）を含む）、もしくは半導体メモリ６４，２２４などよりなるパッケージメディア、または、プログラムが一時的もしくは永続的に格納されるＲＯＭ３４，２０４や記憶部４３などにより構成される。
【０１３６】
なお、本明細書において、フローチャートに示されるステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１３７】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０１３８】
【図１】本発明のＡＶデータ通信システムの構成例を示す図である。
【図２】図１の同期マスタ装置の構成例を示すブロック図である。
【図３】図１の同期マスタ装置の機能構成例を示す機能ブロック図である。
【図４】ＭＰＥＧ−ＴＳパケットの構成例を示す図である。
【図５】図２の同期フレーム処理部の詳細な構成例を示す機能ブロック図である。
【図６】データフレームのデータ構造例を示す図である。
【図７】図１の同期スレーブ装置の構成例を示すブロック図である。
【図８】図１の同期スレーブ装置の機能構成例を示す機能ブロック図である。
【図９】図１の同期マスタ装置の同期制御フレーム送信処理を説明するフローチャートである。
【図１０】図１の同期スレーブ装置の同期制御フレーム受信処理を説明するフローチャートである。
【図１１】図１のＡＶデータ通信システムの同期制御フレーム送受信処理を説明するタイミングチャートである。
【図１２】図１のＡＶデータ通信システムの他の構成例を示す図である。
【図１３】図１の同期マスタ装置のＭＰＥＧデータ送信処理を説明するフローチャートである。
【図１４】図１の同期スレーブ装置のＭＰＥＧデータ再生処理を説明するフローチャートである。
【符号の説明】
【０１３９】
１  ＡＶデータ通信システム，１１  ネットワーク，１２  同期マスタ装置，１３−１乃至１３−３  同期スレーブ装置，３１  クロックカウンタレジスタ，３２  クロック，３３  ＣＰＵ，３４  ＲＯＭ，３５  ＲＡＭ，８３  クロック同期処理部，８４  ネットワーク処理部，８５  ネットワーク通信部，９１  同期フレーム処理部，９２  カウンタ値付加部，１０１  同期フレーム制御部，１０２  同期フレーム生成部，１０３  同期フレーム送信部，１０４  カウンタリセット部，２０１  クロックカウンタレジスタ，２０２  クロック，２０３  ＣＰＵ，２０４  ＲＯＭ，２０５  ＲＡＭ，２０７  ＤＭＡコントローラ，２０８  ＳＤＲＡＭ，２１３  ＭＰＥＧデコーダインターフェイス
【図１】
2005094348.tif 000003
【図２】
2005094348.tif 000004
【図３】
2005094348.tif 000005
【図４】
2005094348.tif 000006
【図５】
2005094348.tif 000007
【図６】
2005094348.tif 000008
【図７】
2005094348.tif 000009
【図８】
2005094348.tif 000010
【図９】
2005094348.tif 000011
【図１０】
2005094348.tif 000012
【図１１】
2005094348.tif 000013
【図１２】
2005094348.tif 000014
【図１３】
2005094348.tif 000015
【図１４】
2005094348.tif 000016