(57)【要約】【課題】通信装置における高精度なクロック同期処理を実現する。【解決手段】自装置と通信相手装置とのクロック同期処理を実行するデータ処理部と、通信相手装置との通信を実行する通信部を有し、データ処理部は通信相手装置との同期パケット送受信を伴うクロック同期処理に際して、同期処理に適用するパケットの許容遅延時間範囲を規定したオフセットウインドウと、同期パケットのネットワーク遅延時間を比較し、ネットワーク遅延時間がオフセットウインドウ内にある同期パケットを選択し、選択した同期パケットから算出する位相差情報を適用して位相制御を実行する。データ処理部はネ同期パケットのネットワーク遅延時間が現在のオフセットウインドウ内部にある場合、現在のオフセットウインドウの幅を減少させ、現在のオフセットウインドウ内部にない場合、現在のオフセットウインドウの幅を増加させるオフセットウインドウ幅更新処理を実行する。【選択図】図７
2014027437.tif 000002
【特許請求の範囲】
【請求項１】
自装置と通信相手装置とのクロック同期処理を実行するデータ処理部と、
前記通信相手装置との通信を実行する通信部を有し、
前記データ処理部は、
前記通信相手装置との同期パケット送受信を伴うクロック同期処理に際して、同期処理に適用するパケットの許容遅延時間範囲を規定したオフセットウインドウと、同期パケットのネットワーク遅延時間を比較し、ネットワーク遅延時間が前記オフセットウインドウ内にある同期パケットを選択し、選択した同期パケットから算出する位相差情報を適用して位相制御を実行する構成であり、
前記データ処理部は、
同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を減少させ、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を増加させるオフセットウインドウ幅更新処理を実行する通信装置。
【請求項２】
前記データ処理部は、
同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を予め規定した固定幅分、減少させ、
同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を予め規定した固定幅分、増加させる処理を実行する請求項１に記載の通信装置。
【請求項３】
前記データ処理部は、
同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を予め規定した固定の減少率分、減少させ、
同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を予め規定した固定の増加率分、増加させる処理を実行する請求項１に記載の通信装置。
【請求項４】
前記データ処理部は、
前記オフセットウインドウの幅の増加処理の連続回数に応じて、前記オフセットウインドウの幅の増加幅を大きくし、
前記オフセットウインドウの幅の減少処理の連続回数に応じて、前記オフセットウインドウの幅の減少幅を大きくする請求項１に記載の通信装置。
【請求項５】
前記データ処理部は、
予め規定したオフセットウインドウ幅の上限値と下限値の範囲で、オフセットウインドウ幅の増減処理を実行する請求項１に記載の通信装置。
【請求項６】
前記データ処理部は、
前記通信相手装置からの同期パケットの受信に要する時間と、前記通信相手装置への同期パケットの受信に要する時間との総和を前記ネットワーク遅延として算出する請求項１に記載の通信装置。
【請求項７】
前記データ処理部は、
前記オフセットウインドウの一方の端部である最小値を、逐次算出する同期パケットの遅延時間データに基づいて更新する処理を実行する請求項１に記載の通信装置。
【請求項８】
第１通信装置と、
前記第１通信装置と通信を実行する第２通信装置を有し、
前記第１通信装置は、
前記第１通信装置と前記第２通信装置とのクロック同期処理を実行するデータ処理部と、
前記前記第２通信装置との通信を実行する通信部を有し、
前記データ処理部は、
前記前記第２通信装置との同期パケット送受信を伴うクロック同期処理に際して、同期処理に適用するパケットの許容遅延時間範囲を規定したオフセットウインドウと、同期パケットのネットワーク遅延時間を比較し、ネットワーク遅延時間が前記オフセットウインドウ内にある同期パケットを選択し、選択した同期パケットから算出する位相差情報を適用して位相制御を実行する構成であり、
前記データ処理部は、
同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を減少させ、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を増加させるオフセットウインドウ幅更新処理を実行する通信システム。
【請求項９】
通信装置においてクロック位相同期処理を実行する同期処理方法であり、
前記通信装置は、自装置と通信相手装置とのクロック同期処理を実行するデータ処理部と、前記通信相手装置との通信を実行する通信部を有し、
前記データ処理部は、
前記通信相手装置との同期パケット送受信を伴うクロック同期処理に際して、同期処理に適用するパケットの許容遅延時間範囲を規定したオフセットウインドウと、同期パケットのネットワーク遅延時間を比較し、ネットワーク遅延時間が前記オフセットウインドウ内にある同期パケットを選択し、選択した同期パケットから算出する位相差情報を適用して位相制御を実行し、
同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を減少させ、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を増加させるオフセットウインドウ幅更新処理を実行する同期処理方法。
【請求項１０】
通信装置においてクロック位相同期処理を実行させるプログラムであり、
前記通信装置は、自装置と通信相手装置とのクロック同期処理を実行するデータ処理部と、前記通信相手装置との通信を実行する通信部を有し、
前記プログラムは、前記データ処理部に、
前記通信相手装置との同期パケット送受信を伴うクロック同期処理に際して、同期処理に適用するパケットの許容遅延時間範囲を規定したオフセットウインドウと、同期パケットのネットワーク遅延時間を比較し、ネットワーク遅延時間が前記オフセットウインドウ内にある同期パケットを選択し、選択した同期パケットから算出する位相差情報を適用して位相制御を実行させ、
同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を減少させ、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を増加させるオフセットウインドウ幅更新処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、通信装置、通信システム、および同期処理方法、並びにプログラムに関する。特にネットワーク接続された複数装置間でのクロック同期処理を行なう通信装置、通信システム、および同期処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
ネットワークを介した通信を行い、通信データに対する処理を実行する場合などに通信装置間での同期処理が必要となる場合がある。
例えば、テレビ放送用のコンテンツを生成する場合、複数の異なる位置に配置した複数のビデオカメラで撮影された画像を、ネットワークを介して編集スタジオに送信し、編集スタジオの編集装置で編集する場合などにおいて、カメラを含む各通信装置間での同期処理が必要となる。編集スタジオの編集装置は、複数のカメラから受信する複数の撮影画像から１つの画像を選択し、選択画像を順次切り替えて放送用コンテンツを生成する。
【０００３】
このような編集処理において、各カメラにおいて個別に撮影された各画像がどのタイミングで撮影された画像であるかを正確に判別することが必要となる。各カメラの撮影時間が正確に把握できないと、例えばカメラ画像の切り替えの際などに、動きのつながらない画像が放送画像として出力されてしまうといった事態が発生し得る。
多くの場合、各カメラの撮影画像には撮影時刻などを示すタイムスタンプが設定され、編集装置はタイムスタンプを参照した編集処理を行なう。
【０００４】
しかし、このタイムスタンプは、ネットワーク接続された各装置に内蔵されたクロックからのクロック信号を利用して設定されるものであり、ネットワーク接続された装置のクロック信号の位相や周波数にずれがあると、個々の装置の設定するタイムスタンプにずれが発生してしまう。
【０００５】
このようなネットワーク接続機器間のクロック信号のずれを修正するため、ネットワーク接続機器間で同期パケットを送受信したクロック同期処理が行なわれる。
例えば、イーサネット（登録商標）などのパケット伝送網で接続された複数の通信装置間での同期処理について開示した従来技術として特許文献１（特開２０１０−１９０６３５号公報）がある。
【０００６】
特許文献１は、同期処理を実行するマスタ装置とスレーブ装置間で、同期パケットを送受信し、パケットに記録されたパケット送信時刻情報や、パケットの受信時刻情報を適用した解析を実行してマスタスレーブ間のクロック同期処理を行なう構成を開示している。
【０００７】
しかし、映像信号のような高速で大容量のデータ格納パケットと、上述の同期処理用の同期パケットを、同一ネットワークを利用して送受信する、いわゆるクロストラフィック構成では、伝送負荷や輻輳等に起因するネットワーク遅延が発生する場合がある。
【０００８】
このようなネットワーク遅延は、マスタからスレーブへ向かうパケットの『行き』方向、あるいはスレーブからマスタへ向かうパケットの『帰り』方向、あるいは、その両方向である『往復』方向、様々な通信過程で発生し得る。
大きな遅延の発生した同期パケットを利用して同期処理を行なうと、誤った処理が行われる可能性があり、高精度な同期処理が困難になるという問題がある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１０−１９０６３５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本開示は、例えば上記問題点に鑑みてなされたものであり、ネットワーク遅延の発生する通信状況においても、精度の高いクロック同期処理を実行可能とした通信装置、通信システム、および同期処理方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本開示の第１の側面は、
自装置と通信相手装置とのクロック同期処理を実行するデータ処理部と、
前記通信相手装置との通信を実行する通信部を有し、
前記データ処理部は、
前記通信相手装置との同期パケット送受信を伴うクロック同期処理に際して、同期処理に適用するパケットの許容遅延時間範囲を規定したオフセットウインドウと、同期パケットのネットワーク遅延時間を比較し、ネットワーク遅延時間が前記オフセットウインドウ内にある同期パケットを選択し、選択した同期パケットから算出する位相差情報を適用して位相制御を実行する構成であり、
前記データ処理部は、
同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を減少させ、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を増加させるオフセットウインドウ幅更新処理を実行する通信装置にある。
【００１２】
さらに、本開示の通信装置の一実施態様において、前記データ処理部は、同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を予め規定した固定幅分、減少させ、同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を予め規定した固定幅分、増加させる処理を実行する。
【００１３】
さらに、本開示の通信装置の一実施態様において、前記データ処理部は、同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を予め規定した固定の減少率分、減少させ、同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を予め規定した固定の増加率分、増加させる処理を実行する。
【００１４】
さらに、本開示の通信装置の一実施態様において、前記データ処理部は、前記オフセットウインドウの幅の増加処理の連続回数に応じて、前記オフセットウインドウの幅の増加幅を大きくし、前記オフセットウインドウの幅の減少処理の連続回数に応じて、前記オフセットウインドウの幅の減少幅を大きくする。
【００１５】
さらに、本開示の通信装置の一実施態様において、前記データ処理部は、予め規定したオフセットウインドウ幅の上限値と下限値の範囲で、オフセットウインドウ幅の増減処理を実行する。
【００１６】
さらに、本開示の通信装置の一実施態様において、前記データ処理部は、前記通信相手装置からの同期パケットの受信に要する時間と、前記通信相手装置への同期パケットの受信に要する時間との総和を前記ネットワーク遅延として算出する。
【００１７】
さらに、本開示の通信装置の一実施態様において、前記データ処理部は、前記オフセットウインドウの一方の端部である最小値を、逐次算出する同期パケットの遅延時間データに基づいて更新する処理を実行する。
【００１８】
さらに、本開示の第２の側面は、
第１通信装置と、
前記第１通信装置と通信を実行する第２通信装置を有し、
前記第１通信装置は、
前記第１通信装置と前記第２通信装置とのクロック同期処理を実行するデータ処理部と、
前記前記第２通信装置との通信を実行する通信部を有し、
前記データ処理部は、
前記前記第２通信装置との同期パケット送受信を伴うクロック同期処理に際して、同期処理に適用するパケットの許容遅延時間範囲を規定したオフセットウインドウと、同期パケットのネットワーク遅延時間を比較し、ネットワーク遅延時間が前記オフセットウインドウ内にある同期パケットを選択し、選択した同期パケットから算出する位相差情報を適用して位相制御を実行する構成であり、
前記データ処理部は、
同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を減少させ、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を増加させるオフセットウインドウ幅更新処理を実行する通信システムにある。
【００１９】
さらに、本開示の第３の側面は、
通信装置においてクロック位相同期処理を実行する同期処理方法であり、
前記通信装置は、自装置と通信相手装置とのクロック同期処理を実行するデータ処理部と、前記通信相手装置との通信を実行する通信部を有し、
前記データ処理部は、
前記通信相手装置との同期パケット送受信を伴うクロック同期処理に際して、同期処理に適用するパケットの許容遅延時間範囲を規定したオフセットウインドウと、同期パケットのネットワーク遅延時間を比較し、ネットワーク遅延時間が前記オフセットウインドウ内にある同期パケットを選択し、選択した同期パケットから算出する位相差情報を適用して位相制御を実行し、
同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を減少させ、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を増加させるオフセットウインドウ幅更新処理を実行する同期処理方法にある。
【００２０】
さらに、本開示の第４の側面は、
通信装置においてクロック位相同期処理を実行させるプログラムであり、
前記通信装置は、自装置と通信相手装置とのクロック同期処理を実行するデータ処理部と、前記通信相手装置との通信を実行する通信部を有し、
前記プログラムは、前記データ処理部に、
前記通信相手装置との同期パケット送受信を伴うクロック同期処理に際して、同期処理に適用するパケットの許容遅延時間範囲を規定したオフセットウインドウと、同期パケットのネットワーク遅延時間を比較し、ネットワーク遅延時間が前記オフセットウインドウ内にある同期パケットを選択し、選択した同期パケットから算出する位相差情報を適用して位相制御を実行させ、
同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を減少させ、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を増加させるオフセットウインドウ幅更新処理を実行させるプログラムにある。
【００２１】
なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
【００２２】
本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００２３】
本開示の一実施例の構成によれば、通信装置における高精度なクロック同期処理が実現される。
具体的には、自装置と通信相手装置とのクロック同期処理を実行するデータ処理部と、前記通信相手装置との通信を実行する通信部を有し、データ処理部は、通信相手装置との同期パケット送受信を伴うクロック同期処理に際して、同期処理に適用するパケットの許容遅延時間範囲を規定したオフセットウインドウと、同期パケットのネットワーク遅延時間を比較し、ネットワーク遅延時間が前記オフセットウインドウ内にある同期パケットを選択し、選択した同期パケットから算出する位相差情報を適用して位相制御を実行する。データ処理部は、同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を減少させ、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を増加させるオフセットウインドウ幅更新処理を実行する。
これらの構成により、現状に即した最適なウインドウ幅の設定下で、確実に同期制御を行うための同期パケットを選択することが可能となり、通信装置における高精度なクロック同期処理を行うことができる。
【図面の簡単な説明】
【００２４】
【図１】クロック同期処理を実行する通信装置の構成と処理について説明する図である。
【図２】クロック同期処理の具体例について説明する図である。
【図３】通信装置間で実行するクロック同期処理における通信シーケンスについて説明する図である。
【図４】同期パケットの往復遅延時間の分布と、位相同期処理に適用するオフセットウインドウの例について説明する図である。
【図５】オフセットウインドウを適用した位相同期処理を実行する装置と処理の一例について説明する図である。
【図６】オフセットウインドウを適用した位相同期処理に適用するネットワーク遅延時間について説明する図である。
【図７】オフセットウインドウサイズを逐次変更して位相同期処理を実行する装置と処理の一例について説明する図である。
【図８】オフセットウインドウの拡大縮小アルゴリズムの一例について説明する図である。
【発明を実施するための形態】
【００２５】
以下、図面を参照しながら本開示の通信装置、通信システム、および同期処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行う。
１．同期パケットを利用したクロック同期処理の概要について
２．オフセットウインドウの設定による同期処理について
３．オフセットウインドウを適用した同期処理の基本的な処理について
４．逐次的なオフセットウインドウの拡大縮小処理を行なう処理例について
５．オフセット拡大縮小処理アルゴリズムの例について
６．本開示の構成のまとめ
【００２６】
［１．同期パケットを利用したクロック同期処理の概要について］
まず、同期パケットを利用したクロック同期処理の概要について説明する。
以下では、同期パケットを利用したクロック同期処理の一例として、ＩＥＥＥ１５８８において規定されたクロック同期シーケンスについて説明する。
【００２７】
図１は、クロック同期処理を行なう２つの装置としてのマスタ装置１００とスレーブ装置２００を示している。マスタ装置１００とスレーブ装置２００は非同期伝送網であるイーサネット（登録商標）等のＩＰ通信網を介してパケットを送受信する。
例えば、１つの具体例は、スレーブ装置２００がビデオカメラであり、マスタ装置１００がビデオカメラの画像を受信して編集処理を行なう編集装置である。
【００２８】
マスタ装置１１０は、マスタクロック１１１、カウンタ１１２、データ処理部１１３、通信部１１４を有する。
マスタクロック１１１は、マスタクロック信号（Ｍｃｌｋ）１１５を生成し、生成したクロック信号をカウンタ１１２に出力する。
カウンタ１１２は、マスタクロック１１１から入力するマスタクロック信号（Ｍｃｌｋ）１１５に基づくカウンタ値を生成しデータ処理部１１３に出力する。
【００２９】
データ処理部１１３は、カウンタ１１２の生成するカウンタ値を入力し、カウンタ値に基づいて様々なデータ処理を実行する。
データ処理部１１３は、例えば、クロック同期処理のための処理、さらに、装置に応じた処理、例えばマスタ装置１１０がビデオカメラであれば、ビデオカメラ撮影データの取得処理や、カウンタの値に基づくタイムスタンプ設定処理などを実行する。
また、マスタ装置１１０がビデオカメラであるスレーブ装置から受信するコンテンツを編集する編集装置であれば、コンテンツに設定されたタイムスタンプを利用したコンテンツ編集処理などを実行する。
【００３０】
データ処理部１１３は、例えばプログラム実行機能を有するＣＰＵやプログラムやデータ、各種パラメータ等を格納するメモリ等によって構成される。
データ処理部１１３は、メモリから読み出したプログラムを実行して例えば以下に説明するクロック同期処理などを実行する。
通信部１１４は、スレーブ装置１２０とのパケット送受信を実行する。
【００３１】
スレーブ装置１２０は、スレーブクロック１２１、カウンタ１２２、データ処理部１２３、通信部１２４を有する。
スレーブクロック１２１は、スレーブクロック信号（Ｓｃｌｋ）１２５を生成し、生成したクロック信号をカウンタ１２２に出力する。
カウンタ１２２は、スレーブクロック１２１から入力するスレーブクロック信号（Ｓｃｌｋ）１２５に基づくカウンタ値を生成しデータ処理部１２３に出力する。
【００３２】
データ処理部１２３は、カウンタ１２２の生成するカウンタ値を入力し、カウンタ値に基づいて様々なデータ処理を実行する。
データ処理部１２３は、例えば、クロック同期処理のための処理、さらに、装置に応じた処理、例えばスレーブ装置１２０がビデオカメラであれば、ビデオカメラ撮影データの取得処理や、カウンタの値に基づくタイムスタンプ設定処理などを実行する。
また、スレーブ装置１２０がビデオカメラであるスレーブ装置から受信するコンテンツを編集する編集装置であれば、コンテンツに設定されたタイムスタンプを利用したコンテンツ編集処理などを実行する。
【００３３】
データ処理部１２３は、例えばプログラム実行機能を有するＣＰＵやプログラムやデータ、各種パラメータ等を格納するメモリ等によって構成される。
データ処理部１２３は、メモリから読み出したプログラムを実行して例えば以下に説明するクロック同期処理などを実行する。
通信部１２４は、マスタ装置１１０とのパケット送受信を実行する。
【００３４】
ここで、マスタ装置１１０のマスタクロック１１１の生成するクロック信号（Ｍｃｌｋ）と、スレーブ装置１２０のスレーブクロック１２１の生成するクロック信号（Ｓｃｌｋ）は、同期しているとは限らない。すなわち、一般的に、図２に示すように、周波数ずれや位相ずれが発生している、
【００３５】
このような同期しないクロックを持つマスタ装置１１０とスレーブ装置１２０間で、データ通信を実行する場合、クロック同期処理を行なうことが必要となる場合がある。
すなわち、上述したようなタイムスタンプに基づくデータ編集などを行う場合には、クロック同期が必要となる。
【００３６】
クロック同期処理には、様々な手法があるが、例えば、ＩＥＥＥ１５８８において１つのクロック同期処理シーケンスが規定されている。
以下、このＩＥＥＥ１５８８のクロック同期処理シーケンスについて説明する。
このＩＥＥＥ１５８８シーケンスに従ったクロック同期においては、マスタ装置１１０は、スレーブ装置２２０に、ＰＴＰ（Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）メッセージを送信する。
【００３７】
ＰＴＰメッセージは、例えばメッセージの送信時刻情報などを格納したメッセージパケットである。なお、この時刻情報は、例えばマスタ装置１１０のカウンタ１１２において設定されるカウンタ値を時間情報であるナノセコンド（ｎｓ：ｎａｎｏ  ｓｅｃｏｎｄ）単位の値に変換した値が利用される。この変換処理のため、マスタ装置１１０のデータ処理部１１３は、カウンタ値をナノセコンド（ｎｓ）単位の時間情報値へ変換する機能を備えている。
【００３８】
１単位の同期パケット送信処理において、マスタ装置１１０がスレーブ装置１２０に送信するＰＴＰメッセージには、以下のメッセージが含まれる。
同期化メッセージ（Ｓｙｎｃ）、
遅延応答メッセージ（ＤｅｌａｙＲｅｓｐｏｎｓｅ）、
これらのメッセージである。
【００３９】
同期化メッセージ（Ｓｙｎｃ）は、時刻同期化を行うための時刻情報を格納したメッセージである。マスタ装置１１０は、複数の同期化メッセージ（Ｓｙｎｃ）を連続して送信する。なお、先行する同期化メッセージ（Ｓｙｎｃ）に後続する同期化メッセージ（Ｓｙｎｃ）をフォローアップメッセージと呼ぶ場合もある。
遅延応答メッセージは、スレーブ装置２２０から遅延要求（ＤｅｌａｙＲｅｑｕｅｓｔ）メッセージを受信した後に、その応答として送信されるメッセージであり、スレーブ装置２２０から遅延要求（ＤｅｌａｙＲｅｑｕｅｓｔ）メッセージの受信時刻情報を格納したメッセージである。
【００４０】
スレーブ装置１２０は、マスタ装置１１０から、上記のＰＴＰメッセージを受信するとともに、スレーブ装置１２０の生成したＰＴＰメッセージをマスタ装置１１０に送信する。
スレーブ装置１２０がマスタ装置１１０に送信するＰＴＰメッセージは、
遅延要求（ＤｅｌａｙＲｅｑｕｅｓｔ）メッセージ、
である。
遅延要求メッセージは、マスタ装置２１０から同期化メッセージ（Ｓｙｎｃ）を受信した後に、マスタ装置１１０に遅延応答メッセージを要求するために送信される。
【００４１】
図３は、図１に示すマスタ装置１１０とスレーブ装置１２０間のクロック同期処理シーケンスを説明するシーケンス図である。
ステップＳ１０１〜Ｓ１０８の各処理について説明する。
【００４２】
（ステップＳ１０１）
マスタ装置１１０からスレーブ装置２２０に、第１同期化メッセージ（Ｓｙｎｃ（ｔ１１））を送信する。
この第１同期化メッセージ（Ｓｙｎｃ（ｔ１１））には、第１同期化メッセージの送信時刻ｔ１１が格納されている。これはマスタクロック（Ｍｃｌｋ）ベースの時刻情報（ｔ１１（Ｍ））である。
以下、各時間情報（ｔｘｙ）に、マスタクロックを基準クロックとして測定された時間情報には（Ｍ）、スレーブクロックを基準クロックとして測定された時間情報には（Ｓ）を付加して記載する。
【００４３】
（ステップＳ１０２）
スレーブ装置１２０は、マスタ装置１１０から送られた第１同期化メッセージ（Ｓｙｎｃ（ｔ１１（Ｍ））を受信し、受信した第１同期化メッセージ（Ｓｙｎｃ（ｔ１１（Ｍ）））に格納されたメッセージ送信時刻情報（ｔ１１（Ｍ））と、
メッセージの受信時刻、すなわちスレーブクロック（Ｓｃｌｋ）ベースの受信時刻情報（ｔ２１（Ｓ））をメモリに記録する。
【００４４】
（ステップＳ１０３）
マスタ装置１１０からスレーブ装置２２０に、さらに第２同期化メッセージ（Ｓｙｎｃ（ｔ１２（Ｍ）））を送信する。
この同期化メッセージ（Ｓｙｎｃ（ｔ１２（Ｍ）））にも、第２同期化メッセージの送信時刻ｔ１２が格納されている。これはマスタクロック（Ｍｃｌｋ）ベースの時刻情報（ｔ１２（Ｍ））である。
【００４５】
（ステップＳ１０４）
スレーブ装置１２０は、マスタ装置１１０から送られた第２同期化メッセージ（Ｓｙｎｃ（ｔ１２（Ｍ）））を受信し、受信した同期化メッセージ（Ｓｙｎｃ（ｔ１２（Ｍ）））に格納されたメッセージ送信時刻情報（ｔ１２（Ｍ））と、
メッセージの受信時刻、すなわちスレーブクロック（Ｓｃｌｋ）ベースの受信時刻情報（ｔ２２（Ｓ））をメモリに記録する。
【００４６】
（ステップＳ１０５ａ，ｂ）
次に、スレーブ装置１２０からマスタ装置１１０に、遅延要求メッセージ（ＤｅｌａｙＲｅｑｕｅｓｔ）を送信する。
スレーブ装置１２０は、この遅延要求メッセージの発行（送信）時刻ｔ３１（Ｓ）をスレーブクロック（Ｓｃｌｋ）ベースの時刻情報（ｔ３１（Ｓ））としてメモリに記録する。
【００４７】
（ステップＳ１０６）
マスタ装置１１０は、スレーブ装置１２０から送られた遅延要求メッセージを受信し、遅延要求メッセージの受信時刻ｔ４１（Ｍ）、すなわち、マスタクロック（Ｍｃｌｋ）ベースの時刻情報（ｔ４１（Ｍ））をメモリに記録する。
【００４８】
（ステップＳ１０７）
次に、マスタ装置１１０からスレーブ装置１２０に、遅延応答メッセージ（ＤｅｌａｙＲｅｓｐｏｎｓｅ）を送信する。
この遅延応答メッセージには、上述の遅延要求メッセージの受信時刻ｔ４１、すなわち、マスタクロック（Ｍｃｌｋ）ベースの時刻情報（ｔ４１（Ｍ））が格納されている。
【００４９】
（ステップＳ１０８）
スレーブ装置１２０は、マスタ装置１１０から送られた遅延応答メッセージを受信し、遅延要求メッセージの受信時刻ｔ４（Ｍ）、すなわち、マスタクロック（Ｍｃｌｋ）ベースの時刻情報（ｔ４１（Ｍ））を取得し、メモリに記録する。
【００５０】
これらの処理によって、スレーブ装置１２０のメモリには以下の時刻情報が記録される。
（１）ｔ１１（Ｍ）：第１同期化メッセージの送信時刻を示すマスタクロック（Ｍｃｌｋ）ベースの時刻情報、
（２）ｔ２１（Ｓ）：第１同期化メッセージ受信時刻を示すスレーブクロック（Ｓｃｌｋ）ベースの時刻情報、
（３）ｔ１２（Ｍ）：第２同期化メッセージの送信時刻を示すマスタクロック（Ｍｃｌｋ）ベースの時刻情報、
（４）ｔ２２（Ｓ）：第２同期化メッセージ受信時刻を示すスレーブクロック（Ｓｃｌｋ）ベースの時刻情報、
（５）ｔ３１（Ｓ）：遅延要求メッセージの送信時刻を示すスレーブクロック（Ｓｃｌｋ）ベースの時刻情報、
（６）ｔ４１（Ｍ）：遅延要求メッセージの受信時刻を示すマスタクロック（Ｍｃｌｋ）ベースの時刻情報、
【００５１】
スレーブ装置１２０のデータ処理部１２３は、これらの時刻情報を適用して、
マスタ装置１１０のマスタクロック１１１の生成するマスタクロック信号（Ｍｃｌｋ）と、スレーブ装置１２０のスレーブクロック１２１の生成するスレーブクロック信号（Ｓｃｌｋ）との周波数差（ドリフト）と、位相差（オフセット）を算出し、算出した周波数差（ドリフト）と、位相差（オフセット）に基づいて、クロック同期処理を実行する。
【００５２】
具体的には、例えば、スレーブ装置１２０のデータ処理部１２３は、カウンタ１２２に補正信号を出力し、スレーブクロック１２１の生成するスレーブクロック信号（Ｓｃｌｋ）に基づくカウント値をマスタクロックに同期した信号に基づくカウント値と同様のカウント値となるように補正する。この処理により、スレーブクロック１２１のマスタクロック１１１に対するずれが補正され、同期が確立することになる。
【００５３】
なお、図３に示すステップＳ１０１〜Ｓ１０８の処理は、同期処理アルゴリズムの一単位の処理シーケンスを示しているものであり、実際の通信装置間では、通信処理の実行期間において、このステップＳ１０１〜Ｓ１０８の処理を繰り返し実行し、各通信装置の同期を維持する処理が実行される。
例えばマスタからスレーブに対しては、１秒間に６４パケットの同期化メッセージパケットが連続的に送信され、これらのパケットを利用した制御処理によって２つの通信装置（マスタスレーブ）間の同期を維持する処理が行われる。
【００５４】
なお、スレーブ装置１２０のデータ処理部１２３が実行する同期処理においては、例えば以下のような処理が実行される。
データ処理部１２３は、スレーブクロック１２１のマスタクロック１１１に対するずれ量に応じた制御電圧を生成し、この制御電圧をＶＣＯ（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ）に出力し、ＶＣＯ出力をカウンタ１２２に入力して、カウンタ１２２のカウント処理のＰＩＤ制御を行うといったサーボ処理などが実行される。
【００５５】
なお、周波数差（ドリフト）と、位相差（オフセット）は、以下の算出式（式１）、で（式２）に従って算出される。
周波数差（ドリフト）＝（ｔ１２（Ｍ）−ｔ１１（Ｍ））−（ｔ２２（Ｓ）−ｔ２１（Ｓ））  ・・・・（式１）
位相差（オフセット）＝｛（ｔ２２（Ｓ）−ｔ１２（Ｍ））−（ｔ４１（Ｍ）−ｔ３１（Ｓ））｝／２  ・・・・（式２）
【００５６】
スレーブ装置１２０のデータ処理部１２３は、上記の算出式（式１）、（式２）に従って、マスタクロック（Ｍｃｌｋ）とスレーブクロック（Ｓｃｌｋ）の周波数差（ドリフト）と、位相差（オフセット）を算出し、算出結果に基づいて補正信号を生成する。
この補正信号をカウンタ１２２に入力して、スレーブクロック（Ｓｃｌｋ）に基づいて生成されるカウント値を制御して、同期処理を実行する。
なお、同期処理は、マスタスレーブ間のデータ通信期間において継続的に実行される。
【００５７】
［２．オフセットウインドウの設定による同期処理について］
上述したように、ネットワーク接続された通信装置間での同期処理は、ネットワークを介した同期化メッセージ等、複数のメッセージパケット送受信によって行われる。
【００５８】
上記（式２）で算出する位相差は、マスタクロック（Ｍｃｌｋ）とスレーブクロック（Ｓｃｌｋ）との時刻差に相当する。すなわち、
時刻差＝位相差（オフセット）＝｛（ｔ２２（Ｓ）−ｔ１２（Ｍ））−（ｔ４１（Ｍ）−ｔ３１（Ｓ））｝／２
である。
【００５９】
ここで、
マスタからスレーブへのパケット送信（以下、『行き』と記す）と、
スレーブからマスタへのパケット送信（以下、『帰り』と記す）、
これら『行き』と『帰り』のネットワーク遅延の加算値である「往復遅延」は以下に示す（式３）で表すことができる。
往復遅延＝｛（ｔ２２（Ｓ）−ｔ１２（Ｍ））−（ｔ４１（Ｍ）−ｔ３１（Ｓ））｝／２  ・・・・（式３）
【００６０】
マスタスレーブ間で伝送負荷が無い場合には、同期パケットの通信処理に要する時間は、『行き』、『帰り』ともに最短の所要時間となる。例えば図３に示すシーケンス図に従ってマスタスレーブ間で送受信されるパケットの通信処理に要する時間は、『行き』、『帰り』ともに最短の所要時間となるので、往復遅延の度数分布は、図４（１）に示すようになる。
図４（１）は、横軸に往復遅延時間、縦軸に各往復遅延時間を有するパケット数に対応する度数を示すグラフである。
マスタスレーブ間で伝送負荷が無い場合には、往復遅延は、１つのピーク（ｐｅａｋ１）に集中する。
【００６１】
しかし、マスタスレーブ間で上述の同期処理用の同期パケットに併せて、同一ネットワークを利用して映像信号のような高速で大容量のデータ格納パケットを送受信するようなクロストラフィック構成では、伝送負荷や輻輳等に起因してネットワーク遅延が発生し、この遅延量の変動も発生する。
【００６２】
ネットワーク遅延は、マスタからスレーブへ向かうパケットの『行き』方向、あるいはスレーブからマスタへ向かうパケットの『帰り』方向、あるいは、その両方向である『往復』方向、様々な通信過程で発生し得る。
このような状況のネットワークにおいて、同期パケットの往復遅延の度数分布は図４（２）に示すようになる。
【００６３】
図４（２）も図４（１）と同様、横軸に往復遅延時間、縦軸に各往復遅延時間を有するパケット数に対応する度数を示すグラフである。
マスタスレーブ間で伝送負荷がある場合には、往復遅延は、図４（２）に示すように、複数のピーク（ｐｅａｋ１、ｐｅａｋ２、ｐｅａｋ３）を形成する。
これらのピークは、以下のような遅延発生によるものと推定される。
ピーク１（ｐｅａｋ１）が、『行き』、『帰り』とも、ほとんど遅延がない場合、
ピーク２（ｐｅａｋ２）が、『行き』、『帰り』のいずれかで遅延が発生した場合、
ピーク３（ｐｅａｋ３）が、『行き』、『帰り』の両方向で遅延が発生した場合、
上記のような各遅延に応じたピークであると推定される。
【００６４】
これらの往復遅延のピークは、同期パケットに併せて送受信される例えば映像信号等の大容量データパケットによるネットワーク負荷の変動に応じて変動する。
【００６５】
図４（２）に示すように、様々な遅延時間の同期パケットが発生する環境では、高精度な同期処理は困難となる。
このような状況において、同期処理の精度を向上させるための一つの手法は、往復遅延時間の少ない同期パケットのみを選択的に利用して同期処理を行なうことである。
例えば、往復遅延時間の最小値（ｍｉｎ）からある範囲に入る同期パケットのみを選択して使用した同期処理を実行するものである。
【００６６】
この遅延時間の少ないパケットを選択するためオフセットウインドウを利用する。オフセットウインドウは、同期処理に適用するパケットを往復遅延時間の最小値（ｍｉｎ）から許容最長遅延時間までのパケットを選択するための遅延時間対応の時間枠である。
【００６７】
例えば、図４（１）に示す例では、往復遅延時間が最小値（ｍｉｎ）〜許容最長遅延時間の時間区間にオフセットウインドウを設定する。往復遅延時間がこのオフセットウインドウの中に入る同期パケットを同期処理に適用するパケットとして選択する。オフセットウインドウの中に入らない同期パケットについては同期処理に適用しない処理を行なうものである。
【００６８】
図４（２）に示す例でも、オフセットウインドウを設定し、往復遅延時間がこのオフセットウインドウの中に入る同期パケットのみを同期処理に適用するパケットとして選択し、オフセットウインドウの中に入らない同期パケットについては同期処理に適用しない設定とすることが有効と考えられる。
【００６９】
しかし、図４（２）に示すように、往復遅延時間の大きいパケットが多く存在する場合、オフセットウインドウの中に入る同期パケットの数が少なくなってしまう。すなわち、同期処理に適用可能な単位時間当たりの同期パケットの数が少なくなってしまうという問題が発生する。
【００７０】
特に、ネットワーク遅延が大きい期間が連続的に発生してしまうと、オフセットウインドウの中に入る同期パケットが一定の期間、全く発生せず、長時間に渡って、同期処理が実行できなくなるという場合が発生する。
この結果、同期処理を行う同期パケットの間隔が空いてしまい、時間の経過とともにマスタとスレーブとのクロックの位相差が大きくずれてしまうといった事態が発生する。一旦、このような事態が発生すると、さらに、その後の同期確立までに長時間を要してしまうことになる。
【００７１】
［３．オフセットウインドウを適用した同期処理の基本的な処理について］
本開示の通信装置において実行する同期処理の説明の前に、上述したオフセットウインドウを適用した基本的な同期処理例について説明する。
【００７２】
図５は、オフセットウインドウを適用した基本的な同期処理を実行する通信装置のデータ処理部の構成例を示している。
この図５に示すデータ処理部３００は、例えば、図１に示すスレーブ装置１２０のデータ処理部１２３に対応する。
【００７３】
先に図３を参照して説明したように、スレーブ装置１２０は、マスタ装置１１０と同期化メッセージ（Ｓｙｎｃ）や遅延要求（ＤｅｌａｙＲｅｑｕｅｓｔ）メッセージ等の同期化パケットの送受信を実行して同期処理を実行する。
【００７４】
スレーブ装置１２０のデータ処理部１２３は、先に説明した算出式（式１）、（式２）に従って、マスタクロック（Ｍｃｌｋ）とスレーブクロック（Ｓｃｌｋ）の周波数差（ドリフト）と、位相差（オフセット）を算出し、算出結果に基づいて補正信号を生成する。この補正信号をカウンタ１２２に入力して、スレーブクロック（Ｓｃｌｋ）に基づいて生成されるカウント値を制御して、同期処理を実行する。
【００７５】
以下で説明する処理例は、マスタクロック（Ｍｃｌｋ）とスレーブクロック（Ｓｃｌｋ）の位相差（オフセット）の制御、すなわち、マスタクロック（Ｍｃｌｋ）とスレーブクロック（Ｓｃｌｋ）の時刻ずれの制御を実行する処理例である。
図５に示すデータ処理部３００は、マスタクロック（Ｍｃｌｋ）とスレーブクロック（Ｓｃｌｋ）の位相差（オフセット）、すなわち時刻差を制御するための制御信号を生成してカウンタ４００に出力する。
【００７６】
図５に示すようにカウンタ４００に対する制御信号は、以下のいずれかのデータに基づく制御信号である。
（ａ）ＰＩＤ制御による制御信号を生成する位相制御部３７０の出力する制御データ、
（ｂ）非制御データ、
スイッチ３８１は、これらのいずれかをＤＡＣ（Ｄｉｇｉｔａｌ  Ａｎａｌｏｇ  Ｃｏｎｖｅｒｔｏｒ）３８２に対する出力データとして選択する。
【００７７】
選択信号がＤＡＣ（Ｄｉｇｉｔａｌ  Ａｎａｌｏｇ  Ｃｏｎｖｅｒｔｏｒ）３８２においてアナログ値に変換され、変換値がＶＣＯ（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ）３８３に対する制御電圧として入力され、ＶＣＯ３８３が制御電圧に応じた所定周波数の出力信号をカウンタ４００に出力してカウンタ出力を調整する。
【００７８】
ここで、スイッチ３８１は、以下のいずれを出力するかを切り換え制御するスイッチである。
（ａ）ＰＩＤ制御による制御信号を生成する位相制御部３７０の出力する制御データ、
（ｂ）非制御データ、
【００７９】
スイッチ３８１を制御するのは、レベルウインドウ３６０の比較器（Ｃｏｍｐ）３６１の出力である。
比較器（Ｃｏｍｐ）３６１は、マスタ装置と送受信する同期パケットの往復遅延時間が、予め設定したオフセットウインドウ内にある場合は、位相制御部３７０の生成した制御データをカウンタ４００側へ出力するようにスイッチ３８１を制御する。
一方、同期パケットの往復遅延時間が、予め設定したオフセットウインドウ内にない場合は、位相制御部３７０の生成した制御データではなく、非制御データをカウンタ４００側へ出力するようにスイッチ３８１を制御する。
なお、非制御データは、カウンタ４００の現在の制御状態を維持するためのデータである。
【００８０】
すなわち、カウンタ４００の出力を変更させる制御は、位相制御部３７０からの制御データがスイッチ３８１によって選択された場合にのみ実行される。
すなわち、マスタ装置と送受信する同期パケットの往復遅延時間が予め設定したオフセットウインドウ内にあることが確認された場合にのみ、その同期パケットに応じた制御データが位相制御部３７０において生成され、カウンタ４００の制御を行う構成である。
【００８１】
データ処理部３００の各構成部の処理について説明する。
遅延・オフセット算出部３１０は、マスタ装置と送受信する同期パケットの往復遅延時間を計測し、さらに、マスタクロックとスレーブクロックの位相差（オフセット）を算出する。
ネットワーク遅延（ＮＷ遅延（Ｔ２−Ｔ１））算出部３１１と、ネットワーク遅延（ＮＷ遅延（Ｔ４−Ｔ３））算出部３１２は、マスタ装置と送受信する同期パケットの遅延時間を算出する。
【００８２】
図６を参照してこれらのネットワーク遅延算出部３１１，３１２の算出するネットワーク遅延時間について説明する。
【００８３】
図６は、先に説明した図３の同期パケット送受信シーケンスを簡略化して示した図であり、位相制御のために利用するパケットの送受信のみを示している。
ネットワーク遅延算出部３１１，３１２の各々は、以下の２つのネットワーク遅延時間（１），（２）をそれぞれ計測する。
（１）マスタ装置１１０からスレーブ装置１２０に対する送信パケットである『行き』のパケットに対するネットワーク遅延時間（Ｔ２−Ｔ１）、
（２）スレーブ装置１２０からマスタ装置１１０に対する送信パケットである『帰り』のパケットに対するネットワーク遅延時間（Ｔ４−Ｔ３）、
これらを計測する。
【００８４】
図６に示すネットワーク遅延（ＮＷ遅延（Ｔ２−Ｔ１））算出部３１１は、上記の（１）に示す『行き』のパケットに対するネットワーク遅延時間（Ｔ２−Ｔ１）を計測する。
ネットワーク遅延（ＮＷ遅延（Ｔ４−Ｔ３））算出部３１２は、上記の（２）に示す『帰り』のパケットに対するネットワーク遅延時間（Ｔ４−Ｔ３）を計測する。
【００８５】
遅延・オフセット算出部３１０の減算器３１３は、
ネットワーク遅延（ＮＷ遅延（Ｔ２−Ｔ１））算出部３１１の出力値（Ｔ２−Ｔ１）から、ネットワーク遅延（ＮＷ遅延（Ｔ４−Ｔ３））算出部３１２の出力値（Ｔ４−Ｔ３）を減算して、マスタクロックとスレーブクロックの位相差（オフセット）の２倍のデータを算出する。すなわち、以下の（式４）に従って、２倍のオフセット値を算出する。
２×（Ｏｆｆｓｅｔ）＝（Ｔ２−Ｔ１）−（Ｔ４−Ｔ３）
・・・・・（式４）
【００８６】
上記（式４）は、先に説明した（式２）に示す位相差（オフセット）算出式の２倍の値を算出する式に相当する。
減算器３１３の出力は、除算器（／２）３１５に入力され、上記の（式４）の算出値を１／２する処理を実行する。
この処理によって、先に説明した（式２）と同様の位相差（オフセット）が算出される。この位相差（オフセット）情報は、レベルウインドウ３６０のスイッチ３６２に入力される。
【００８７】
一方、遅延・オフセット算出部３１０の加算器３１４は、ネットワーク遅延（ＮＷ遅延（Ｔ２−Ｔ１））算出部３１１の出力値（Ｔ２−Ｔ１）と、ネットワーク遅延（ＮＷ遅延（Ｔ４−Ｔ３））算出部３１２の出力値（Ｔ４−Ｔ３）を加算する。
この加算処理により、マスタ装置とスレーブ装置間のパケットの往復遅延時間（２×Ｄｅｌａｙ）を算出する。すなわち、以下の（式５）に従って、往復遅延時間（２×Ｄｅｌａｙ）を算出する。
２×（Ｄｅｌａｙ）＝（Ｔ２−Ｔ１）＋（Ｔ４−Ｔ３）
・・・・・（式５）
【００８８】
上記（式５）に従って算出された往復遅延時間（２×Ｄｅｌａｙ）情報は、レベルウインドウ３６０の比較器（ｃｏｍｐ）３６１に入力される。さらに、この往復遅延時間（２×Ｄｅｌａｙ）情報は、最小値検出部３２０の最小値選択部３２１にも入力される。
【００８９】
次に、最小値検出部３２０の構成と処理について説明する。
最小値検出部３２０の最小値選択部（ｍｉｎ）３２１は、遅延・オフセット算出部３１０の加算器３１４から、上記（式５）に従って算出された往復遅延時間（２×Ｄｅｌａｙ）情報を入力する。
この往復遅延時間（２×Ｄｅｌａｙ）情報は、遅延処理部（Ｚ）３２２を介して、再度、最小値選択部（ｍｉｎ）３２１に入力される。
【００９０】
最小値選択部（ｍｉｎ）３２１は、遅延・オフセット算出部３１０の加算器３１４から入力する最新の往復遅延時間（２×Ｄｅｌａｙ）情報と、遅延処理部（Ｚ）３２２から入力する１つ前の往復遅延時間（２×Ｄｅｌａｙ）情報を比較して、より小さい値を持つ往復遅延時間（２×Ｄｅｌａｙ）情報を最小値（ｍｉｎ）として出力する。
この最小値（ｍｉｎ）は、図４を参照して説明したオフセットウインドウの最小値（ｍｉｎ）の設定情報に対応する。
最小値選択部（ｍｉｎ）３２１の出力である最小値（ｍｉｎ）は、加算器３５０に入力される。
【００９１】
次にオフセットウインドウ生成部３３０の構成と処理について説明する。
オフセットウインドウ生成部３３０には、予め複数のオフセットウインドウがメモリに格納されている。これらは、各々が異なるウインドウ幅を規定したデータである。図に示す例ではＮ個のオフセットウインドウ１〜Ｎ，３４１〜３４Ｎを有する。
【００９２】
オフセットウインドウ生成部３３０のネットワーク測定回路３３１は、マスタ装置とスレーブ装置間の通信ネットワークの状況を観測する。すなわちネットワークにおける通信量等を計測する。
この計測情報は、識別回路３３２に入力され、識別回路３３２は、この計測結果に基づいて現在のネットワークの負荷状態や輻輳状態を解析する。
【００９３】
識別回路３３２は、この識別結果に基づいて、オフセットウインドウ選択スイッチ３３３を制御し、パケット選択に適用するオフセットウインドウを決定して出力する。
具体的には、例えば、ネットワークの負荷が大きい場合は、ウインドウ幅の大きいオフセットウインドウを選択して出力する。
また、ネットワークの負荷が小さい場合は、ウインドウ幅の小さいオフセットウインドウを選択して出力する。
このような処理を行なうことで、制御に適用可能なパケットの単位時間当たりの数の変動を抑制して安定した制御を可能としている。
【００９４】
加算器３５０は、最小値検出部３２０から、最小値（ｍｉｎ）を入力し、オフセットウインドウ生成部３３０から、選択されたオフセットウインドウの幅情報を入力し、制御に適用するパケットの往復遅延量に対応するオフセットウインドウの規定データを生成してレベルウインドウ３６０の比較器（ｃｏｍｐ）３６１に入力する。
加算器３５０から比較器（ｃｏｍｐ）３６１に入力するデータは、
オフセットウインドウを規定するパケットの往復遅延量に相当し、（最小値（ｍｉｎ））〜（最小値（ｍｉｎ）＋オフセットウインドウ幅）のデータからなるオフセットウインドウ情報である。
【００９５】
レベルウインドウ３６０の比較器（ｃｏｍｐ）３６１は、加算器３５０から上記のオフセットウインドウ情報を入力し、さらに、遅延・オフセット算出部３１０から、最新の同期パケットに基づいて計測された往復遅延時間（２×Ｄｅｌａｙ）情報を入力する。
【００９６】
比較器（ｃｏｍｐ）３６１は、これらの２つの情報を比較する。すなわち最新の同期パケットに基づいて算出した往復遅延時間（２×Ｄｅｌａｙ）情報が、オフセットウインドウによって規定された遅延時間内であるか否かを判定し、判定情報に従ってスイッチ３６２、スイッチ３８１を制御する。
【００９７】
最新の同期パケットに基づいて算出した往復遅延時間（２×Ｄｅｌａｙ）情報が、オフセットウインドウによって規定された遅延時間内である場合は、レベルウインドウ３６０のスイッチ３６２をＯＮとして、遅延・オフセット算出部３１０が最新の同期パケットに基づいて算出した位相差（オフセット）情報を位相制御部３７０に入力する。
さらに、スイッチ３８１の設定を、位相制御部３７０からの生成データである制御データをカウンタ４００側に転送する設定とする。
【００９８】
一方、最新の同期パケットに基づいて算出した往復遅延時間（２×Ｄｅｌａｙ）情報が、オフセットウインドウによって規定された遅延時間内でない場合は、レベルウインドウ３６０のスイッチ３６２をＯＦＦとして、遅延・オフセット算出部３１０が最新の同期パケットに基づいて算出した位相差（オフセット）情報を位相制御部３７０に入力しない設定とする。
さらに、スイッチ３８１については、位相制御部３７０からの生成データである制御データではなく非制御データをカウンタ４００側に転送するように設定する。
【００９９】
これらのスイッチ制御により、往復遅延時間がオフセットウインドウによって規定された遅延時間内であるパケットのみが選択され、選択パケットに基づいて算出された位相差（オフセット）情報を適用して生成した制御データを選択適用してカウンタ４００の制御が行われる。
【０１００】
しかし、この図５に示す構成では、オフセットウインドウ生成部３３０では、ネットワーク測定回路３３１がネットワークの通信を監視して通信量等の測定を実行し、識別回路３３２において、測定結果に基づいてネットワークの負荷状況を解析する処理が必要となる。
これらの構成を備えることは装置の回路規模の増大やコストの増大を発生させることになり、小型化低コストが求められる機器においては好ましくない。
【０１０１】
［４．逐次的なオフセットウインドウの拡大縮小処理を行なう処理例について］
次に、本開示の通信装置において実行する同期処理について説明する。図７は、本開示の通信装置における同期処理、すなわち、逐次的なオフセットウインドウの拡大縮小処理を伴う同期処理を実行する通信装置のデータ処理部の構成例を示している。
この図７に示すデータ処理部５００は、例えば、図１に示すスレーブ装置１２０のデータ処理部１２３に相当する。
【０１０２】
先に図３を参照して説明したように、スレーブ装置１２０は、マスタ装置１１０と同期化メッセージ（Ｓｙｎｃ）や遅延要求（ＤｅｌａｙＲｅｑｕｅｓｔ）メッセージ等の同期化パケットの送受信を実行して同期処理を実行する。
【０１０３】
スレーブ装置１２０のデータ処理部１２３は、先に説明した算出式（式１）、（式２）に従って、マスタクロック（Ｍｃｌｋ）とスレーブクロック（Ｓｃｌｋ）の周波数差（ドリフト）と、位相差（オフセット）を算出し、算出結果に基づいて補正信号を生成する。この補正信号をカウンタ１２２に入力して、スレーブクロック（Ｓｃｌｋ）に基づいて生成されるカウント値を制御して、同期処理を実行する。
【０１０４】
以下で説明する処理例は、マスタクロック（Ｍｃｌｋ）とスレーブクロック（Ｓｃｌｋ）の位相差（オフセット）の制御、すなわち、マスタクロック（Ｍｃｌｋ）とスレーブクロック（Ｓｃｌｋ）の時刻ずれの制御を実行する処理例である。
図７に示すデータ処理部５００は、マスタクロック（Ｍｃｌｋ）とスレーブクロック（Ｓｃｌｋ）の位相差（オフセット）、すなわち時刻差を制御するための制御信号を生成してカウンタ６００に出力する。
【０１０５】
図７に示す構成においても、先に説明した図５に示す構成と同様、カウンタ６００に対する制御信号は、以下のいずれかのデータに基づく制御信号である。
（ａ）ＰＩＤ制御による制御信号を生成する位相制御部５７０の出力する制御データ、
（ｂ）非制御データ、
スイッチ５８１は、これらのいずれかをＤＡＣ（Ｄｉｇｉｔａｌ  Ａｎａｌｏｇ  Ｃｏｎｖｅｒｔｏｒ）５８２に対する出力データとして選択する。
【０１０６】
選択信号がＤＡＣ（Ｄｉｇｉｔａｌ  Ａｎａｌｏｇ  Ｃｏｎｖｅｒｔｏｒ）５８２においてアナログ値に変換され、変換値がＶＣＯ（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ）５８３に対する制御電圧として入力され、ＶＣＯ５８３が制御電圧に応じた所定周波数の出力信号をカウンタ６００に出力してカウンタ出力を調整する。
【０１０７】
ここで、スイッチ５８１は、以下のいずれを出力するかを切り換え制御するスイッチである。
（ａ）ＰＩＤ制御による制御信号を生成する位相制御部５７０の出力する制御データ、
（ｂ）非制御データ、
【０１０８】
スイッチ５８１を制御するのは、レベルウインドウ５６０の比較器（Ｃｏｍｐ）５６１の出力である。
比較器（Ｃｏｍｐ）５６１は、マスタ装置と送受信する同期パケットの往復遅延時間が、予め設定したオフセットウインドウ内にある場合は、位相制御部５７０の生成した制御データをカウンタ６００側へ出力するようにスイッチ５８１を制御する。
一方、同期パケットの往復遅延時間が、予め設定したオフセットウインドウ内にない場合は、位相制御部５７０の生成した制御データではなく、非制御データをカウンタ６００側へ出力するようにスイッチ５８１を制御する。
なお、非制御データは、カウンタ６００の現在の制御状態を維持するためのデータである。
【０１０９】
すなわち、カウンタ６００の出力を変更させる制御は、位相制御部５７０からの制御データがスイッチ５８１によって選択された場合にのみ実行される。
すなわち、マスタ装置と送受信する同期パケットの往復遅延時間が予め設定したオフセットウインドウ内にあることが確認された場合にのみ、その同期パケットに応じた制御データが位相制御部５７０において生成され、カウンタ６００の制御を行う構成である。
【０１１０】
データ処理部５００の各構成部の処理について説明する。
遅延・オフセット算出部５１０は、マスタ装置と送受信する同期パケットの往復遅延時間を計測し、さらに、マスタクロックとスレーブクロックの位相差（オフセット）を算出する。
ネットワーク遅延（ＮＷ遅延（Ｔ２−Ｔ１））算出部５１１と、ネットワーク遅延（ＮＷ遅延（Ｔ４−Ｔ３））算出部５１２は、マスタ装置と送受信する同期パケットの遅延時間を算出する。
【０１１１】
これらのネットーク遅延算出部５１１，５１２の処理は、先に図５に示すネットワーク遅延算出部３１１，３１２の処理と同様である。
すなわち、先に図６を参照して説明した以下の各ネットワーク遅延時間を算出する。
（１）マスタ装置１１０からスレーブ装置１２０に対する送信パケットである『行き』のパケットに対するネットワーク遅延時間（Ｔ２−Ｔ１）、
（２）スレーブ装置１２０からマスタ装置１１０に対する送信パケットである『帰り』のパケットに対するネットワーク遅延時間（Ｔ４−Ｔ３）、
これらを計測する。
【０１１２】
遅延・オフセット算出部５１０の減算器５１３は、
ネットワーク遅延（ＮＷ遅延（Ｔ２−Ｔ１））算出部５１１の出力値（Ｔ２−Ｔ１）から、ネットワーク遅延（ＮＷ遅延（Ｔ４−Ｔ３））算出部５１２の出力値（Ｔ４−Ｔ３）を減算して、マスタクロックとスレーブクロックの位相差（オフセット）の２倍のデータを算出する。すなわち、先に説明した以下の（式４）に従って、２倍のオフセット値を算出する。
２×（Ｏｆｆｓｅｔ）＝（Ｔ２−Ｔ１）−（Ｔ４−Ｔ３）
・・・・・（式４）
この位相差（オフセット）情報は、レベルウインドウ５６０のスイッチ５６２に入力される。
【０１１３】
一方、遅延・オフセット算出部５１０の加算器５１４は、ネットワーク遅延（ＮＷ遅延（Ｔ２−Ｔ１））算出部５１１の出力値（Ｔ２−Ｔ１）と、ネットワーク遅延（ＮＷ遅延（Ｔ４−Ｔ３））算出部５１２の出力値（Ｔ４−Ｔ３）を加算する。
この加算処理により、先に説明した以下の（式５）に従って、往復遅延時間（２×Ｄｅｌａｙ）を算出する。
２×（Ｄｅｌａｙ）＝（Ｔ２−Ｔ１）＋（Ｔ４−Ｔ３）
・・・・・（式５）
【０１１４】
上記（式５）に従って算出された往復遅延時間（２×Ｄｅｌａｙ）情報は、レベルウインドウ５６０の比較器（ｃｏｍｐ）５６１に入力される。さらに、この往復遅延時間（２×Ｄｅｌａｙ）情報は、最小値検出部５２０の最小値選択部５２１にも入力される。
【０１１５】
次に、最小値検出部５２０の構成と処理について説明する。
最小値検出部５２０の最小値選択部（ｍｉｎ）５２１は、遅延・オフセット算出部５１０の加算器５１４から、上記（式５）に従って算出された往復遅延時間（２×Ｄｅｌａｙ）情報を入力する。
この往復遅延時間（２×Ｄｅｌａｙ）情報は、遅延処理部（Ｚ）５２２を介して、再度、最小値選択部（ｍｉｎ）５２１に入力される。
【０１１６】
最小値選択部（ｍｉｎ）５２１は、遅延・オフセット算出部５１０の加算器５１４から入力する最新の往復遅延時間（２×Ｄｅｌａｙ）情報と、遅延処理部（Ｚ）５２２から入力する１つ前の往復遅延時間（２×Ｄｅｌａｙ）情報を比較して、より小さい値を持つ往復遅延時間（２×Ｄｅｌａｙ）情報を最小値（ｍｉｎ）として出力する。
この最小値（ｍｉｎ）は、図４を参照して説明したオフセットウインドウの最小値（ｍｉｎ）の設定情報に対応する。
最小値検出部５２０は、オフセットウインドウの一方の端部である最小値を、逐次算出する同期パケットの遅延時間データに基づいて更新する処理を実行する。
【０１１７】
最小値選択部（ｍｉｎ）５２１の出力である最小値（ｍｉｎ）は、加算器５５０に入力される。
次にオフセットウインドウ生成部５３０の構成と処理について説明する。
オフセットウインドウ生成部５３０は、先に図５を参照して説明した構成とは異なる構成を有する。
オフセットウインドウ生成部５３０は、オフセットウインドウ拡大処理データ５４１、オフセットウインドウ縮小処理データ５４２をメモリに格納している。これらは、現在のオフセットウインドウの幅を拡大または縮小するためのデータである。
【０１１８】
現在のオフセットウインドウの幅データが、オフセットウインドウ生成部５３０のオフセットウインドウ５３４である。このオフセットウインドウ５３４は遅延部（ｚ）５３１を介して加算器５３３に入力される。
【０１１９】
この加算器５３２において、現在のオフセットウインドウの幅の調整が実行される。
すなわち、ウインドウサイズ制御スイッチ５３２がオフセットウインドウ拡大処理データ５４１側に接続された場合は、加算器５３３において、現在のオフセットウインドウの幅に対して、オフセットウインドウ拡大処理データ５４１が加算され、ウインドウ幅が拡大される。オフセットウインドウ拡大処理データ５４１は、オフセットウインドウの拡大幅情報としての正の値を持つ。
【０１２０】
一方、ウインドウサイズ制御スイッチ５３２がオフセットウインドウ縮小処理データ５４２側に接続された場合は、加算器５３３において、現在のオフセットウインドウの幅に対して、オフセットウインドウ縮小処理データ５４２が加算され、ウインドウ幅が縮小される。オフセットウインドウ縮小処理データ５４２は、オフセットウインドウの減少幅情報としての負の値を持つ。
【０１２１】
ウインドウ幅が拡大または縮小された更新オフセットウインドウ５３４がリミッタ５３５を介して加算器５５０に出力される。
リミッタ５３５は、オフセットウインドウの最大幅と最小幅、すなわちウインドウ幅の上限と下限値を有し、オフセットウインドウの幅が上限値〜下限値の範囲に収まるように制御を行う。
【０１２２】
ウインドウサイズ制御スイッチ５３２は、レベルウインドウ５６０の比較器（Ｃｏｍｐ）５６１の出力によって設定される。
レベルウインドウ５６０の比較器（ｃｏｍｐ）５６１は、遅延・オフセット算出部５１０が最新の同期パケットに基づいて算出した往復遅延時間（２×Ｄｅｌａｙ）情報が、オフセットウインドウによって規定された遅延時間内であるか否かを判定し、判定情報に従ってウインドウサイズ制御スイッチ５３２を制御する。
【０１２３】
最新の同期パケットに基づいて算出した往復遅延時間（２×Ｄｅｌａｙ）情報が、オフセットウインドウによって規定された遅延時間内である場合は、オフセットウインドウ生成部５３０のウインドウサイズ制御スイッチ５３２をオフセットウインドウ縮小処理データ５４２側に設定する。
すなわち現在のウインドウ幅を減少させる処理を実行するように設定する。
【０１２４】
一方、最新の同期パケットに基づいて算出した往復遅延時間（２×Ｄｅｌａｙ）情報が、オフセットウインドウによって規定された遅延時間内でない場合は、オフセットウインドウ生成部５３０のウインドウサイズ制御スイッチ５３２をオフセットウインドウ拡大処理データ５４１側に設定する。
すなわち現在のウインドウ幅を拡大させる処理を実行するように設定する。
【０１２５】
このように、オフセットウインドウ生成部５３０は、最新の同期パケットに基づいて算出した往復遅延時間（２×Ｄｅｌａｙ）情報が、現在のオフセットウインドウによって規定された遅延時間内に入る場合は、ウインドウ幅を縮小し、現在のオフセットウインドウによって規定された遅延時間外であればウインドウ幅を拡大する。このように逐次的なウインドウサイズ（幅）の更新処理を実行する。
このようなウインドウサイズ制御を行うことで、先に図５を参照して説明したネットワーク測定回路や解析回路を不要としている。
【０１２６】
ウインドウ幅が拡大または縮小された更新オフセットウインドウ５３４がリミッタ５３５を介して加算器５５０に出力される。
リミッタ５３５は、オフセットウインドウの最大幅と最小幅、すなわちウインドウ幅の上限と下限値を有し、オフセットウインドウの幅が上限値〜下限値の範囲に収まるように制御を行う。
【０１２７】
加算器５５０は、最小値検出部５２０から、最小値（ｍｉｎ）を入力し、オフセットウインドウ生成部５３０から、選択されたオフセットウインドウの幅情報を入力し、制御に適用するパケットの往復遅延量に対応するオフセットウインドウの規定データを生成してレベルウインドウ５６０の比較器（ｃｏｍｐ）５６１に入力する。
加算器５５０から比較器（ｃｏｍｐ）５６１に入力するデータは、
オフセットウインドウを規定するパケットの往復遅延量に相当し、（最小値（ｍｉｎ））〜（最小値（ｍｉｎ）＋オフセットウインドウ幅）のデータからなるオフセットウインドウ情報である。
【０１２８】
レベルウインドウ５６０の比較器（ｃｏｍｐ）５６１は、加算器５５０から上記のオフセットウインドウ情報を入力し、さらに、遅延・オフセット算出部５１０から、最新の同期パケットに基づいて計測された往復遅延時間（２×Ｄｅｌａｙ）情報を入力する。
【０１２９】
比較器（ｃｏｍｐ）５６１は、これらの２つの情報を比較する。すなわち最新の同期パケットに基づいて算出した往復遅延時間（２×Ｄｅｌａｙ）情報が、オフセットウインドウによって規定された遅延時間内であるか否かを判定し、判定情報に従って先に説明したウインドウサイズ制御スイッチ５３２を制御する。さらに、スイッチ５６２、スイッチ５８１を制御する。
【０１３０】
最新の同期パケットに基づいて算出した往復遅延時間（２×Ｄｅｌａｙ）情報が、オフセットウインドウによって規定された遅延時間内である場合は、レベルウインドウ５６０のスイッチ５６２をＯＮとして、遅延・オフセット算出部５１０が最新の同期パケットに基づいて算出した位相差（オフセット）情報を位相制御部５７０に入力する。
さらに、スイッチ５８１については、位相制御部５７０からの生成データである制御データをカウンタ５００側に転送する設定とする。
【０１３１】
一方、最新の同期パケットに基づいて算出した往復遅延時間（２×Ｄｅｌａｙ）情報が、オフセットウインドウによって規定された遅延時間内でない場合は、レベルウインドウ５６０のスイッチ５６２をＯＦＦとして、遅延・オフセット算出部５１０が最新の同期パケットに基づいて算出した位相差（オフセット）情報を位相制御部５７０に入力しない設定とする。
さらに、スイッチ５８１については、位相制御部５７０からの生成データである制御データではなく非制御データをカウンタ６００側に転送するように設定する。
【０１３２】
これらのスイッチ制御に基づくデータカウンタ６００の制御が行われる。
すなわち、往復遅延時間がオフセットウインドウによって規定された遅延時間内であるパケットのみが選択され、選択パケットに基づいて算出された位相差（オフセット）情報を適用して生成した制御データを選択適用してカウンタ６００の制御が行われる。
【０１３３】
この図７に示す構成では、最新の同期パケットの遅延時間情報に基づいてオフセットウインドウのウインドウサイズ（幅）の制御を行う構成となっている。
従って、オフセットウインドウ生成部５３０に、先に図５を参照して説明したネットワーク測定回路３３１や、識別回路３３２を設ける必要がなく、回路規模の増大やコストの増大を発生させることなく、小型化、低コスト化が実現される。
【０１３４】
また、オフセットウインドウの幅は、最新のパケットの遅延状況に応じて逐次的に拡大または縮小されることになり、より現状を反映したウインドウサイズの制御が可能となる。また、本構成では、逐次的なウインドウサイズの拡縮が行われるため、長時間に渡って同期パケットの不適用状態が継続するといった事態の発生も低減され、より高精度な同期制御が実現される。
【０１３５】
［５．オフセット拡大縮小処理アルゴリズムの例について］
図７に示す構成において、
オフセットウインドウ拡大処理データ５４１、
オフセットウインドウ縮小処理データ５４２、
これらは、それぞれ、現在のオフセットウインドウのサイズ（幅）を調整するためのデータである。
これらのデータの設定態様としては、様々な設定が可能である。
【０１３６】
例えば、
オフセットウインドウ拡大処理データ５４１を固定的な時間幅ｔ１だけ増加させるデータとし、
オフセットウインドウ縮小処理データ５４２を、同様の固定的な時間幅ｔ２だけ減少させるデータとする。
【０１３７】
例えば、
オフセットウインドウの幅の現在値を、ＯｆｆｓｅｔＷｉｎｄｏｗ＿ｃｕｒ、
更新後のオフセットウインドウの幅を、ＯｆｆｓｅｔＷｉｎｄｏｗ＿ｕｐｄ、
オフセットウインドウ拡大処理データ５４１を、ＯｆｆｓｅｔＷｉｎｄｏｗ＿ｉｎｃ、
オフセットウインドウ縮小処理データ５４２を、ＯｆｆｓｅｔＷｉｎｄｏｗ＿ｄｅｃ、
とする。
ただし、
ＯｆｆｓｅｔＷｉｎｄｏｗ＿ｉｎｃ＞０、
ＯｆｆｓｅｔＷｉｎｄｏｗ＿ｄｅｃ＜０、
である。
【０１３８】
このとき、
最新の同期パケットに基づいて算出した往復遅延時間（２×Ｄｅｌａｙ）情報が、現在のオフセットウインドウ（ＯｆｆｓｅｔＷｉｎｄｏｗ＿ｃｕｒ）によって規定された遅延時間内でない場合は、以下の式に従って、オフセットウインドウ幅の更新を実行する。
ＯｆｆｓｅｔＷｉｎｄｏｗ＿ｕｐｄ＝ＯｆｆｓｅｔＷｉｎｄｏｗ＿ｃｕｒ＋ＯｆｆｓｅｔＷｉｎｄｏｗ＿ｉｎｃ
上記更新処理によって、オフセットウインドウ幅は増加する。
【０１３９】
一方、最新の同期パケットに基づいて算出した往復遅延時間（２×Ｄｅｌａｙ）情報が、現在のオフセットウインドウ（ＯｆｆｓｅｔＷｉｎｄｏｗ＿ｃｕｒ）によって規定された遅延時間内である場合は、以下の式に従って、オフセットウインドウ幅の更新を実行する。
ＯｆｆｓｅｔＷｉｎｄｏｗ＿ｕｐｄ＝ＯｆｆｓｅｔＷｉｎｄｏｗ＿ｃｕｒ＋ＯｆｆｓｅｔＷｉｎｄｏｗ＿ｄｅｃ
上記更新処理によって、オフセットウインドウ幅は減少する。
【０１４０】
上記のアルゴリズムを実行する場合、図７に示すデータ処理部５００は、同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を予め規定した固定幅分、減少させる処理を実行する。一方、同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を予め規定した固定幅分、増加させる処理を実行する。
【０１４１】
あるいは、
オフセットウインドウ拡大処理データ５４１を、現在のウインドウ幅のｎ％、例えば１０％だけ増加させるデータとし、
オフセットウインドウ縮小処理データ５４２を、現在のウインドウ幅のｍ％、例えば１０％だけ減少させるデータとする。
このような様々な設定が可能である。
【０１４２】
上記のアルゴリズムを実行する場合、図７に示すデータ処理部５００は、同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を予め規定した固定の減少率分、減少させる。一方、同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を予め規定した固定の増加率分、増加させる処理を実行する。
【０１４３】
さらに、拡大処理が連続する場合には、その連続回数に応じて拡大幅を変更し、また、縮小処理が連続する場合には、その連続回数に応じて縮小幅を変更するといった設定としてもよい。
図８を参照してこのウインドウサイズ制御アルゴリズムについて説明する。
【０１４４】
図８の上段には、各同期パケット（ｐａｃｋｅｔ）１〜７に基づいて計測された往復遅延時間が、現在のオフセットウインドウの内部にある（○）か否か（×）を時系列に示している。
各同期パケット（ｐａｃｋｅｔ）１〜７は、時間ｔ１〜ｔ７に受信したパケットである。
【０１４５】
図８の下段は、オフセットウインドウの幅の遷移を示す図である。
なお、初期的なオフセットウインドウの幅は、予め規定された幅に設定する。図に示す時間ｔ０〜ｔ１の初期オフセットウインドウである。
時間ｔ１に計測された同期パケット１の遅延時間は（×）、すなわち、現行のオフセットウインドウ内にはない。
この場合、時間ｔ１において、時間ｔ０〜ｔ１に示す初期オフセットウインドウの幅は図に示す（ｉｎｃ１）のサイズ分、拡大され、時間ｔ１〜ｔ２に示すウインドウ幅となる。
【０１４６】
次に、時間ｔ２に計測された同期パケット２の遅延時間も（×）、すなわち、現行のオフセットウインドウ内にはない。
２回連続で同期パケットの遅延時間が、オフセットウインドウ内からはずれたことになる。
この場合、時間ｔ１〜ｔ２に示すオフセットウインドウの幅は図に示す（ｉｎｃ２）のサイズ分、拡大され、時間ｔ２〜ｔ３に示すウインドウ幅となる。
ｉｎｃ１＜ｉｎｃ２
であり、最初の拡大幅より大きい幅のウインドウサイズの拡大処理を実行する。
【０１４７】
次に、時間ｔ３に計測された同期パケット３の遅延時間も（×）、すなわち、現行のオフセットウインドウ内にはない。
３回連続で同期パケットの遅延時間が、オフセットウインドウ内からはずれたことになる。
この場合、時間ｔ２〜ｔ３に示すオフセットウインドウの幅は図に示す（ｉｎｃ３）のサイズ分、拡大され、時間ｔ３〜ｔ４に示すウインドウ幅となる。
ｉｎｃ１＜ｉｎｃ２＜ｉｎｃ３
であり、最初、および２回目の拡大幅より大きい幅のウインドウサイズの拡大処理を実行する。
【０１４８】
このような処理を実行する場合、図７に示すオフセットウインドウ拡大処理データは、拡大処理の連続回数に応じて、順次増加するデータとして設定する。
【０１４９】
次に、時間ｔ４に計測された同期パケット４の遅延時間は（○）、すなわち、現行のオフセットウインドウ内にある。
ウインドウサイズ拡大処理後、初めて同期パケットの遅延時間が、オフセットウインドウ内に入ったことになる。
この場合、時間ｔ３〜ｔ４に示すオフセットウインドウの幅は図に示す（ｄｅｃ１）のサイズ分、縮小され、時間ｔ４〜ｔ５に示すウインドウ幅となる。
【０１５０】
次に、時間ｔ５に計測された同期パケット５の遅延時間も（○）、すなわち、現行のオフセットウインドウ内にある。
２回連続で同期パケットの遅延時間が、オフセットウインドウ内に入ったことになる。
この場合、時間ｔ４〜ｔ５に示すオフセットウインドウの幅は図に示す（ｄｅｃ２）のサイズ分、縮小され、時間ｔ５〜ｔ６に示すウインドウ幅となる。
ウインドウの減少幅の大きさ（ｄｅｃ１），（ｄｅｃ２）の関係は、
ｄｅｃ１＜ｄｅｃ２
であり、最初の縮小幅より大きい幅のウインドウサイズの縮小処理を実行する。
【０１５１】
次に、時間ｔ６に計測された同期パケット６の遅延時間も（○）、すなわち、現行のオフセットウインドウ内にある。
３回連続で同期パケットの遅延時間が、オフセットウインドウ内に入ったことになる。
この場合、時間ｔ５〜ｔ６に示すオフセットウインドウの幅は図に示す（ｄｅｃ３）のサイズ分、縮小され、時間ｔ６〜ｔ７に示すウインドウ幅となる。
ウインドウの減少幅の大きさ（ｄｅｃ１），（ｄｅｃ２），（ｄｅｃ３）の関係は、
ｄｅｃ１＜ｄｅｃ２＜ｄｅｃ３
であり、最初、および２回目の縮小幅より大きい幅のウインドウサイズの縮小処理を実行する。
【０１５２】
このような処理を実行する場合、図７に示すオフセットウインドウ縮小処理データは、縮小処理の連続回数に応じて、順次ウインドウ幅の減少幅を大きくするデータとして設定する。
【０１５３】
このように連続して拡大または縮小を実行する場合、その連続数に応じて、拡大幅や縮小幅を順次、大きく設定する。
このような処理を行なうことで、より早く最適なウインドウサイズに到達することが可能となる。
【０１５４】
なお、図８に示す例では、ウインドウサイズの拡大および縮小の連続処理回数を３回とした例を示したが、４回以上の設定でも同様の処理としてよい。
あるいは、一定の最大拡大幅と、最大縮小幅を規定して、所定回数以上の連続拡大処理においては、規定した最大拡大幅を連続適用し、所定回数以上の連続縮小処理においては、規定した最大縮小幅を連続適用する構成としてもよい。
【０１５５】
［６．本開示の構成のまとめ］
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０１５６】
なお、本明細書において開示した技術は、以下のような構成をとることができる。
（１）  自装置と通信相手装置とのクロック同期処理を実行するデータ処理部と、
前記通信相手装置との通信を実行する通信部を有し、
前記データ処理部は、
前記通信相手装置との同期パケット送受信を伴うクロック同期処理に際して、同期処理に適用するパケットの許容遅延時間範囲を規定したオフセットウインドウと、同期パケットのネットワーク遅延時間を比較し、ネットワーク遅延時間が前記オフセットウインドウ内にある同期パケットを選択し、選択した同期パケットから算出する位相差情報を適用して位相制御を実行する構成であり、
前記データ処理部は、
同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を減少させ、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を増加させるオフセットウインドウ幅更新処理を実行する通信装置。
【０１５７】
（２）前記データ処理部は、同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を予め規定した固定幅分、減少させ、同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を予め規定した固定幅分、増加させる処理を実行する前記（１）に記載の通信装置。
（３）前記データ処理部は、同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を予め規定した固定の減少率分、減少させ、同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を予め規定した固定の増加率分、増加させる処理を実行する前記（１）に記載の通信装置。
【０１５８】
（４）前記データ処理部は、前記オフセットウインドウの幅の増加処理の連続回数に応じて、前記オフセットウインドウの幅の増加幅を大きくし、前記オフセットウインドウの幅の減少処理の連続回数に応じて、前記オフセットウインドウの幅の減少幅を大きくする前記（１）に記載の通信装置。
（５）前記データ処理部は、予め規定したオフセットウインドウ幅の上限値と下限値の範囲で、オフセットウインドウ幅の増減処理を実行する前記（１）〜（４）いずれかに記載の通信装置。
【０１５９】
（６）前記データ処理部は、前記通信相手装置からの同期パケットの受信に要する時間と、前記通信相手装置への同期パケットの受信に要する時間との総和を前記ネットワーク遅延として算出する前記（１）〜（５）いずれかに記載の通信装置。
（７）前記データ処理部は、前記オフセットウインドウの一方の端部である最小値を、逐次算出する同期パケットの遅延時間データに基づいて更新する処理を実行する前記（１）〜（６）いずれかに記載の通信装置。
【０１６０】
（８）  第１通信装置と、
前記第１通信装置と通信を実行する第２通信装置を有し、
前記第１通信装置は、
前記第１通信装置と前記第２通信装置とのクロック同期処理を実行するデータ処理部と、
前記前記第２通信装置との通信を実行する通信部を有し、
前記データ処理部は、
前記前記第２通信装置との同期パケット送受信を伴うクロック同期処理に際して、同期処理に適用するパケットの許容遅延時間範囲を規定したオフセットウインドウと、同期パケットのネットワーク遅延時間を比較し、ネットワーク遅延時間が前記オフセットウインドウ内にある同期パケットを選択し、選択した同期パケットから算出する位相差情報を適用して位相制御を実行する構成であり、
前記データ処理部は、
同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を減少させ、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を増加させるオフセットウインドウ幅更新処理を実行する通信システム。
【０１６１】
さらに、上記した装置およびシステムにおいて実行する処理の方法や、処理を実行させるプログラムも本開示の構成に含まれる。
【０１６２】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１６３】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０１６４】
以上、説明したように、本開示の一実施例の構成によれば、通信装置における高精度なクロック同期処理が実現される。
具体的には、自装置と通信相手装置とのクロック同期処理を実行するデータ処理部と、前記通信相手装置との通信を実行する通信部を有し、データ処理部は、通信相手装置との同期パケット送受信を伴うクロック同期処理に際して、同期処理に適用するパケットの許容遅延時間範囲を規定したオフセットウインドウと、同期パケットのネットワーク遅延時間を比較し、ネットワーク遅延時間が前記オフセットウインドウ内にある同期パケットを選択し、選択した同期パケットから算出する位相差情報を適用して位相制御を実行する。データ処理部は、同期パケットのネットワーク遅延時間が、現在のオフセットウインドウ内部にある場合は、現在のオフセットウインドウの幅を減少させ、現在のオフセットウインドウ内部にない場合は、現在のオフセットウインドウの幅を増加させるオフセットウインドウ幅更新処理を実行する。
これらの構成により、現状に即した最適なウインドウ幅の設定下で、確実に同期制御を行うための同期パケットを選択することが可能となり、通信装置における高精度なクロック同期処理を行うことができる。
【符号の説明】
【０１６５】
１１０  マスタ装置
１１１  マスタクロック
１１２  カウンタ
１１３  データ処理部
１１４  通信部
１１５  マスタクロック信号
１２０  スレーブ装置
１２１  スレーブクロック
１２２  カウンタ
１２３  データ処理部
１２４  通信部
１２５  スレーブクロック信号
３００  データ処理部
３１０  遅延・オフセット算出部
３１１，３１２  ネットワーク遅延算出部
３１３  減算器
３１４  加算器
３１５  除算器
３２０  最小値検出部
３２１  最小値選択部
３２２  遅延処理部
３３０  オフセットウインドウ生成部
３３１  ネットワーク測定回路
３３２  識別回路
３３３  オフセットウインドウ選択スイッチ
３４１〜３４Ｎ  オフセットウインドウ
３５０  加算器
３６０  レベルウインドウ
３６１  比較器
３６２  スイッチ
３７０  位相制御部
３８１  スイッチ
３８２  ＤＡＣ（Ｄｉｇｉｔａｌ  Ａｎａｌｏｇ  Ｃｏｎｖｅｒｔｏｒ）
３８３  ＶＣＯ（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ）
４００  カウンタ
５００  データ処理部
５１０  遅延・オフセット算出部
５１１，５１２  ネットワーク遅延算出部
５１３  減算器
５１４  加算器
５１５  除算器
５２０  最小値検出部
５２１  最小値選択部
５２２  遅延処理部
５３０  オフセットウインドウ生成部
５３１  遅延処理部
５３２  スイッチ
５３３  加算器
５３４  オフセットウインドウ
５３５  リミッタ
５４１  オフセットウインドウ拡大処理データ
５４２  オフセットウインドウ縮小処理データ
５５０  加算器
５６０  レベルウインドウ
５６１  比較器
５６２  スイッチ
５７０  位相制御部
５８１  スイッチ
５８２  ＤＡＣ（Ｄｉｇｉｔａｌ  Ａｎａｌｏｇ  Ｃｏｎｖｅｒｔｏｒ）
５８３  ＶＣＯ（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ）
６００  カウンタ
【図１】
2014027437.tif 000003
【図２】
2014027437.tif 000004
【図３】
2014027437.tif 000005
【図４】
2014027437.tif 000006
【図５】
2014027437.tif 000007
【図６】
2014027437.tif 000008
【図７】
2014027437.tif 000009
【図８】
2014027437.tif 000010