(57)【要約】【課題】高精度な時刻同期を実現できる送信装置を提供する。【解決手段】受信装置２０へパケットを送信する送信装置１０は、パケットを生成する汎用プロセッサ１３と、汎用プロセッサ１３が生成したパケットに、送信装置１０と受信装置２０との時刻同期を取るための時刻同期データを含む時刻情報を書き込むプログラマブルロジックデバイス１２と、時刻情報が書き込まれたパケットを無線で受信装置２０へ送信する無線モジュール１４と、を備える。【選択図】図１
2019149702.tif 000002
【特許請求の範囲】
【請求項１】
受信装置へパケットを送信する送信装置であって、
パケットを生成する汎用プロセッサと、
前記汎用プロセッサが生成したパケットに、前記送信装置と前記受信装置との時刻同期を取るための時刻同期データを含む時刻情報を書き込むプログラマブルロジックデバイスと、
前記時刻情報が書き込まれたパケットを無線で前記受信装置へ送信する無線モジュールと、を備える、
送信装置。
【請求項２】
前記汎用プロセッサは、前記時刻情報とは異なるデータを含み、かつ、当該データとは別に所定の領域が確保されたパケットを生成し、
前記プログラマブルロジックデバイスは、前記所定の領域に、前記時刻情報を書き込む、
請求項１に記載の送信装置。
【請求項３】
前記汎用プロセッサは、
さらに、前記データの前方から前記データを所定のサイズの複数のブロックに分割した際に、前記データ内の後方で発生する前記所定のサイズ未満の剰余データを前記所定のサイズのブロックとして扱うために、前記剰余データよりも後方に設けられるパディング領域のサイズが、前記時刻情報のサイズ以上であるか否かを判定し、
前記パディング領域のサイズが前記時刻情報のサイズ以上であると判定した場合、前記複数のブロックと、前記剰余データおよび前記パディング領域からなる剰余ブロックと、を含むパケットを生成し、
前記パディング領域のサイズが前記時刻情報のサイズよりも小さいと判定した場合、前記複数のブロックと、前記剰余ブロックと、前記剰余ブロックよりも後方に設けられた他のパディング領域のみからなる少なくとも１つの新規ブロックと、を含むパケットを生成し、
前記プログラマブルロジックデバイスは、前記所定の領域として、前記パケット内の後方領域に前記時刻情報を書き込む、
請求項２に記載の送信装置。
【請求項４】
前記汎用プロセッサは、前記データの前方から前記データをそれぞれ所定のサイズに分割した複数のブロックと、当該分割により前記データ内の後方で発生する前記所定のサイズ未満の剰余データ、および、前記剰余データを前記所定のサイズのブロックとして扱うために前記剰余データよりも後方に設けられたパディング領域からなる剰余ブロックと、前記剰余ブロックよりも後方に設けられた他のパディング領域のみからなる少なくとも１つの新規ブロックと、を含むパケットを生成し、
前記プログラマブルロジックデバイスは、前記所定の領域として、前記パケット内の後方領域に前記時刻情報を書き込む、
請求項２に記載の送信装置。
【請求項５】
前記汎用プロセッサは、前記データと、前記データよりも後方に設けられた前記時刻情報と同じサイズのパディング領域と、を含むパケットを生成し、
前記プログラマブルロジックデバイスは、前記所定の領域として、前記パケット内の前記パディング領域に前記時刻情報を書き込む、
請求項２に記載の送信装置。
【請求項６】
前記汎用プロセッサは、前記時刻情報とは異なるデータを含むパケットと、パディング領域のみからなるパディングパケットとを生成し、
前記プログラマブルロジックデバイスは、前記パディングパケットに、前記時刻情報を書き込む、
請求項１に記載の送信装置。
【請求項７】
前記汎用プロセッサは、ＰＴＰ（Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）パケットを生成し、
前記プログラマブルロジックデバイスは、前記ＰＴＰパケット内の所定の領域に、前記時刻情報を書き込む、
請求項１に記載の送信装置。
【請求項８】
前記時刻情報には、前記時刻同期データとは別に時刻同期に関連した追加データが含まれる、
請求項１〜７のいずれか１項に記載の送信装置。
【請求項９】
前記追加データは、前記時刻同期データよりも前方に設けられる、
請求項８に記載の送信装置。
【請求項１０】
送信装置からパケットを受信する受信装置であって、
前記送信装置と前記受信装置との時刻同期を取るための時刻同期データを含む時刻情報が書き込まれたパケットを受信する無線モジュールと、
前記無線モジュールが受信したパケットを解析することで前記時刻情報を取得し、当該時刻情報に基づいて前記送信装置と前記受信装置との時刻同期を取るプログラマブルロジックデバイスと、
前記無線モジュールが受信したパケットにおける前記時刻情報を除く情報を解析する汎用プロセッサと、を備え、
前記無線モジュールが受信するパケットは、前記時刻情報とは異なるデータを含み、かつ、当該データとは別に確保された所定の領域に前記時刻情報が書き込まれており、
前記プログラマブルロジックデバイスは、前記所定の領域を解析することで前記時刻情報を取得する、
受信装置。
【請求項１１】
前記プログラマブルロジックデバイスは、前記所定の領域として、前記パケット内の後方領域を解析することで前記時刻情報を取得する、
請求項１０に記載の受信装置。
【請求項１２】
送信装置が受信装置へパケットを送信する送信方法であって、
前記送信装置が備える汎用プロセッサがパケットを生成するステップと、
前記送信装置が備えるプログラマブルロジックデバイスが、前記汎用プロセッサが生成したパケットに、前記送信装置と前記受信装置との時刻同期を取るための時刻同期データを含む時刻情報を書き込むステップと、
前記時刻情報が書き込まれたパケットを無線で前記受信装置へ送信するステップと、を含む、
送信方法。
【請求項１３】
受信装置が送信装置からパケットを受信する受信方法であって、
前記送信装置と前記受信装置との時刻同期を取るための時刻同期データを含む時刻情報が書き込まれたパケットを受信するステップと、
前記受信装置が備えるプログラマブルロジックデバイスが、前記受信するステップで受信したパケットを解析することで前記時刻情報を取得し、前記時刻情報に基づいて前記送信装置と前記受信装置との時刻同期を取るステップと、
前記受信装置が備える汎用プロセッサが、前記受信するステップで受信したパケットにおける前記時刻情報を除く情報を解析するステップと、を含み、
前記受信するステップで受信するパケットは、前記時刻情報とは異なるデータを含み、かつ、当該データとは別に確保された所定の領域に前記時刻情報が書き込まれており、
前記時刻同期を取るステップでは、前記所定の領域を解析することで前記時刻情報を取得する、
受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信装置、受信装置、送信方法および受信方法に関する。
【背景技術】
【０００２】
複数の機器が連携して動作するシステムにおいて、各機器の時刻同期を取る必要がある。例えば、ネットワークを介して時刻同期パケットを送受信することにより、各機器間で時刻同期するために、ＩＥＥＥ１５８８ではＰＴＰ（Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）が規定されている。特許文献１および２には、ＰＴＰを用いて時刻同期を取るための技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−０６３３６３号公報
【特許文献２】特開２０１６−０３６０６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、機器の設置環境に合わせて、当該機器に要求される動作水準を満たすために、高精度な時刻同期が要求されている。具体的には、１ｍｓ単位、またはそれ以上の精度が要求されている。
【０００５】
本発明は、高精度な時刻同期を実現できる送信装置等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の一態様に係る送信装置は、受信装置へパケットを送信する送信装置であって、パケットを生成する汎用プロセッサと、前記汎用プロセッサが生成したパケットに、前記送信装置と前記受信装置との時刻同期を取るための時刻同期データを含む時刻情報を書き込むプログラマブルロジックデバイスと、前記時刻情報が書き込まれたパケットを無線で前記受信装置へ送信する無線モジュールと、を備える。
【０００７】
これによれば、ハードウェアコントローラであるＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等を含むプログラマブルロジックデバイス（以下、ＰＬ（Ｐｒｏｇｒａｍａｂｌｅ  Ｌｏｇｉｃ）とも呼ぶ）が、受信装置へ送信されるパケットへの時刻情報の書き込みを行うため、例えば、汎用的に用いられ、書き込み等の処理以外にも他の様々な処理を行う汎用プロセッサ（以下、ＰＳ（Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍ）とも呼ぶ）が書き込みを行うよりも短い時間で書き込みを行うことができる。例えば、ＰＳが書き込み処理を行うまでに他の処理の処理待ちが発生することがある。このため、ＰＬが時刻情報の書き込みを行うことで、送信装置が時刻情報を生成してからパケットへ書き込むまでの時間を短くでき、送信装置と受信装置との間の時刻のずれを小さくすることができる。このように、送信装置は、高精度な時刻同期を実現できる。
【０００８】
また、前記汎用プロセッサは、前記時刻情報とは異なるデータを含み、かつ、当該データとは別に所定の領域が確保されたパケットを生成し、前記プログラマブルロジックデバイスは、前記所定の領域に、前記時刻情報を書き込んでもよい。
【０００９】
これによれば、時刻情報とは異なるデータとして、例えば、画像、動画、音声、文字等のコンテンツを送信する際に同時に時刻情報も送信することができる。また、ＰＳとＰＬとは、所定の領域を互いに認識している関係にあるため、ＰＳが時刻情報用の所定の領域を確保したパケットを生成し、ＰＬが当該所定の領域に時刻情報を書き込むことで、容易に、データと時刻情報とを含むパケットを生成できる。
【００１０】
また、前記汎用プロセッサは、さらに、前記データの前方から前記データを所定のサイズの複数のブロックに分割した際に、前記データ内の後方で発生する前記所定のサイズ未満の剰余データを前記所定のサイズのブロックとして扱うために、前記剰余データよりも後方に設けられるパディング領域のサイズが、前記時刻情報のサイズ以上であるか否かを判定し、前記パディング領域のサイズが前記時刻情報のサイズ以上であると判定した場合、前記複数のブロックと、前記剰余データおよび前記パディング領域からなる剰余ブロックと、を含むパケットを生成し、前記パディング領域のサイズが前記時刻情報のサイズよりも小さいと判定した場合、前記複数のブロックと、前記剰余ブロックと、前記剰余ブロックよりも後方に設けられた他のパディング領域のみからなる少なくとも１つの新規ブロックと、を含むパケットを生成し、前記プログラマブルロジックデバイスは、前記所定の領域として、前記パケット内の後方領域に前記時刻情報を書き込んでもよい。
【００１１】
データを例えばＳＤＩＯ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）規格に準拠した固定のデータサイズのブロックに分割して転送する場合に、剰余データに、無意味なデータ領域（例えば足りない桁数だけ「０」のデータが続く領域）であるパディング領域を設ける処理であるパディング処理（ゼロパディング）が施される。これに対して、パディング領域のサイズが時刻情報のサイズよりも大きい場合、当該パディング領域に時刻情報が書き込まれるため、無意味なデータ領域であるパディング領域を有効活用することができる。また、パディング領域はパケット内の後方に設けられるため、ＰＬは、パディング領域の位置の解析または検知をする必要がなく、単に、パケット内の後方領域を指定して時刻情報を書き込むことで、パディング領域に時刻情報を書き込むことができる。
【００１２】
また、前記汎用プロセッサは、前記データの前方から前記データをそれぞれ所定のサイズに分割した複数のブロックと、当該分割により前記データ内の後方で発生する前記所定のサイズ未満の剰余データ、および、前記剰余データを前記所定のサイズのブロックとして扱うために前記剰余データよりも後方に設けられたパディング領域からなる剰余ブロックと、前記剰余ブロックよりも後方に設けられた他のパディング領域のみからなる少なくとも１つの新規ブロックと、を含むパケットを生成し、前記プログラマブルロジックデバイスは、前記所定の領域として、前記パケット内の後方領域に前記時刻情報を書き込んでもよい。
【００１３】
これによれば、時刻情報とパディング領域とのサイズ比に関係なく必ず新規ブロックが設けられるため、ＰＳは、パディング領域のサイズが時刻情報のサイズ以上であるか否かの判定を行う必要がなくなり、ＰＳでの処理を少なくすることができる。
【００１４】
また、前記汎用プロセッサは、前記データと、前記データよりも後方に設けられた前記時刻情報と同じサイズのパディング領域と、を含むパケットを生成し、前記プログラマブルロジックデバイスは、前記所定の領域として、前記パケット内の前記パディング領域に前記時刻情報を書き込んでもよい。
【００１５】
データを、ＳＤＩＯのように、データサイズが決められた方式による転送が行われず、例えばＰＣＩ  Ｅｘｐｒｅｓｓ規格等に準拠して転送する、いわゆるバイト転送が行われる場合、データが固定のデータサイズのブロックに分割されないため、剰余データが発生せず、パディング領域も設けられない。そこで、データとは別にパディング領域が設けられ、当該パディング領域に時刻情報が書き込まれる。これにより、バイト転送が行われる場合であっても、データを送信する際に同時に時刻情報も送信することができる。
【００１６】
また、前記汎用プロセッサは、前記時刻情報とは異なるデータを含むパケットと、パディング領域のみからなるパディングパケットとを生成し、前記プログラマブルロジックデバイスは、前記パディングパケットに、前記時刻情報を書き込んでもよい。
【００１７】
このように、パディング領域のみからなるパディング領域に時刻情報が書き込まれることで、パケットにおいてデータと一体に時刻情報が送信されず、時刻情報が単体で送信されてもよい。この場合、剰余データに対してパディング領域を付与したり、当該パディング領域のサイズと時刻情報のサイズとの比較をしたりする必要がないため、簡潔な構成で高精度な時刻同期を実現できる。
【００１８】
また、前記汎用プロセッサは、ＰＴＰ（Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）パケットを生成し、前記プログラマブルロジックデバイスは、前記ＰＴＰパケット内の所定の領域に、前記時刻情報を書き込んでもよい。
【００１９】
ＰＴＰを用いて時刻同期を行う既存の機器（例えば受信装置）は、受信したＰＴＰパケット内の所定の領域に書き込まれた時刻同期のためのデータを解析することで、時刻同期を行う。そこで、当該所定の領域に時刻情報を書き込むことで、ＰＴＰを用いて時刻同期を行う既存の機器についても本発明による時刻同期が可能となる。この場合、ＰＴＰを用いる構成を流用することになるので、簡潔な構成で高精度な時刻同期を実現できる。
【００２０】
また、前記時刻情報には、前記時刻同期データとは別に時刻同期に関連した追加データが含まれていてもよい。
【００２１】
これによれば、データを送信する際に同時に時刻同期に関連した追加データも送信することができる。
【００２２】
また、前記追加データは、前記時刻同期データよりも前方に設けられていてもよい。
【００２３】
これによれば、時刻情報に追加データが含まれている場合であっても時刻同期データは、パケット内の後方領域に書き込まれているため、受信装置は、パケット内の後方領域を解析することで時刻同期データを解析し、時刻同期を取ることができる。
【００２４】
また、本発明の一態様に係る受信装置は、送信装置からパケットを受信する受信装置であって、前記送信装置と前記受信装置との時刻同期を取るための時刻同期データを含む時刻情報が書き込まれたパケットを受信する無線モジュールと、前記無線モジュールが受信したパケットを解析することで前記時刻情報を取得し、当該時刻情報に基づいて前記送信装置と前記受信装置との時刻同期を取るプログラマブルロジックデバイスと、前記無線モジュールが受信したパケットにおける前記時刻情報を除く情報を解析する汎用プロセッサと、を備え、前記無線モジュールが受信するパケットは、前記時刻情報とは異なるデータを含み、かつ、当該データとは別に確保された所定の領域に前記時刻情報が書き込まれており、前記プログラマブルロジックデバイスは、前記所定の領域を解析することで前記時刻情報を取得する。例えば、前記プログラマブルロジックデバイスは、前記所定の領域として、前記パケット内の後方領域を解析することで前記時刻情報を取得してもよい。
【００２５】
これによれば、ハードウェアコントローラであるＦＰＧＡ等を含むＰＬが、受信したパケットに書き込まれた時刻情報の解析を行うため、例えば、汎用的に用いられ、時刻情報の解析等の処理以外にも他の様々な処理を行うＰＳが時刻情報の解析を行うよりも短い時間で解析を行うことができる。つまり、ＰＳでは時刻情報の解析の際にオーバーヘッドが生じ送信装置と受信装置との間の時刻にずれが生じるが、ＰＬでは、時刻情報の解析の際にオーバーヘッドが生じにくいため、送信装置と受信装置との間の時刻のずれを小さくすることができる。このように、受信装置は、高精度な時刻同期を実現できる。また、時刻領域がパケット内の所定の領域（後方領域）に書き込まれているため、ＰＬは、当該所定の領域を指定することで、時刻情報とは異なるデータ（例えば、画像、動画、音声、文字等のコンテンツ）と時刻情報とを両方含むパケットから、時刻情報を選択的に解析することができる。
【００２６】
また、本発明の一態様に係る送信方法は、送信装置が受信装置へパケットを送信する送信方法であって、前記送信装置が備える汎用プロセッサがパケットを生成するステップと、前記送信装置が備えるプログラマブルロジックデバイスが、前記汎用プロセッサが生成したパケットに、前記送信装置と前記受信装置との時刻同期を取るための時刻同期データを含む時刻情報を書き込むステップと、前記時刻情報が書き込まれたパケットを無線で前記受信装置へ送信するステップと、を含む。
【００２７】
これによれば、高精度な時刻同期を実現できる送信方法を提供できる。
【００２８】
また、本発明の一態様に係る受信方法は、受信装置が送信装置からパケットを受信する受信方法であって、前記送信装置と前記受信装置との時刻同期を取るための時刻同期データを含む時刻情報が書き込まれたパケットを受信するステップと、前記受信装置が備えるプログラマブルロジックデバイスが、前記受信するステップで受信したパケットを解析することで前記時刻情報を取得し、前記時刻情報に基づいて前記送信装置と前記受信装置との時刻同期を取るステップと、前記受信装置が備える汎用プロセッサが、前記受信するステップで受信したパケットにおける前記時刻情報を除く情報を解析するステップと、を含み、前記受信するステップで受信するパケットは、前記時刻情報とは異なるデータを含み、かつ、当該データとは別に確保された所定の領域に前記時刻情報が書き込まれており、前記時刻同期を取るステップでは、前記所定の領域を解析することで前記時刻情報を取得する。
【００２９】
これによれば、高精度な時刻同期を実現できる受信方法を提供できる。
【発明の効果】
【００３０】
本発明により、高精度な時刻同期を実現できる。
【図面の簡単な説明】
【００３１】
【図１】図１は、実施の形態に係る送信装置および受信装置を備える通信システムの一例を示す構成図である。
【図２】図２は、従来のパケット送信時のシーケンス図である。
【図３】図３は、実施例におけるパケット送信時のシーケンス図である。
【図４】図４は、ブロック転送のためのデータ分割およびパディング処理を説明するための図である。
【図５】図５は、パディング領域のサイズが時刻情報のサイズ以上である場合の制御部の動作を説明するための図である。
【図６】図６は、パディング領域のサイズが時刻情報のサイズよりも小さい場合の制御部の動作を説明するための図である。
【図７】図７は、時刻同期データおよび追加データを含む時刻情報の一例を示す図である。
【図８】図８は、パディング領域のサイズが追加データを含む時刻情報のサイズ以上である場合の制御部の動作を説明するための図である。
【図９】図９は、追加データを含む時刻情報のサイズがパディング領域のサイズよりも大きく１つの新規ブロックのサイズ以下の場合の制御部の動作を説明するための図である。
【図１０】図１０は、追加データを含む時刻情報のサイズが１つの新規ブロックのサイズよりも大きい場合の制御部の動作を説明するための図である。
【図１１】図１１は、パディングパケットを用いた例を説明するための図である。
【図１２】図１２は、バイト転送が行われる際の制御部の動作を説明するための図である。
【図１３】図１３は、ＰＴＰパケットを用いた例を説明するための図である。
【図１４】図１４は、従来のパケット受信時のシーケンス図である。
【図１５】図１５は、実施例におけるパケット受信時のシーケンス図である。
【発明を実施するための形態】
【００３２】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【００３３】
以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、より好ましい形態を構成する任意の構成要素として説明される。なお、同一の構成要素には同一の符号を付し、説明を省略する場合がある。
【００３４】
（実施の形態）
［通信システムの構成］
まず、実施の形態に係る通信システムの構成について説明する。
【００３５】
図１は、実施の形態に係る送信装置１０および受信装置２０を備える通信システムの一例を示す構成図である。なお、図１には示していないが、送信装置１０および受信装置２０は、例えば、ＡＰ（Ａｃｃｅｓｓ  Ｐｏｉｎｔ）等を介して無線通信を行う。例えば、当該通信システムは、複数の機器が連携して動作するシステムであり、送信装置１０および受信装置２０は、連携して動作可能となっている。送信装置１０および受信装置２０は、例えば音声再生装置（スピーカ等）であり、音声出力の際に連携して音声を出力できる。具体的には、同じ音声を複数のスピーカから同じタイミングで出力できる。また、送信装置１０および受信装置２０は、例えば映像再生装置（ディスプレイ等）であり、映像再生の際に連携して映像を出力できる。具体的には、同じ映像を複数のディスプレイから同じタイミングで出力できる。
【００３６】
なお、送信装置１０は、受信装置２０が有する機能を有していてもよく、受信装置２０は、送信装置１０が有する機能を有していてもよい。つまり、ここでは、説明上、各装置を送信装置１０、受信装置２０と呼ぶが、互いに同じ機能を有する通信装置であってもよい。言い換えると、後述する制御部１１および制御部２１、ならびに、無線モジュール１４および無線モジュール２４は、それぞれ同じ機能を有していてもよい。例えば、当該通信装置は、送信時には、送信装置１０として機能し、受信時には受信装置２０として機能する。
【００３７】
送信装置１０は、受信装置２０へパケット（通信パケット）を送信する装置である。例えば、送信装置１０は、ビーコンを送出することでパケットを送信する。例えば、パケットには、画像、動画、音声、文字等のコンテンツが含まれている。送信装置１０は、制御部１１と無線モジュール１４を備える。
【００３８】
制御部１１は、送信装置１０の動作を制御する処理部であり、例えば、ＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  ａ  Ｃｈｉｐ）等の集積回路である。制御部１１は、プログラマブルロジックデバイス（ＰＬ）１２と汎用プロセッサ（ＰＳ）１３とにより構成されている。
【００３９】
ＰＬ１２は、ハードウェアコントローラであるＦＰＧＡ等を含むデバイスである。後述するＰＳ１３は送信装置１０に関して汎用的な処理を行うのに対して、ＰＬ１２は、特定の処理に特化した機能を持たせることができる。また、ＰＬ１２は、高精度なハードウェアタイマを有する。当該ハードウェアタイマは、例えば、９００００分の１秒（９０ｋＨｚ）の時間間隔でカウンタ値を増加させるカウンタである。これにより、ＰＬ１２は、送信装置１０と受信装置２０との時刻同期を取るための高精度な時刻同期データを含む時刻情報（以後、単に時刻情報とも呼ぶ）を生成する。
【００４０】
ＰＳ１３は、ソフトウェアコントローラであるＣＰＵ等を含む処理部であり、送信装置１０に関して汎用的な処理を行う。つまり、ＰＳ１３は、送信装置１０に関して様々な処理を汎用的に行う必要があるため、ある特定の処理については、当該特定の処理に特化したＰＬ１２よりも処理に時間を要してしまう。ＰＳ１３は、受信装置２０へ送信されるパケットを生成する。
【００４１】
無線モジュール１４は、受信装置２０と通信するためのモジュールであり、アンテナおよび無線信号の送信回路などを含む。無線モジュール１４は、パケットを無線で受信装置２０へ送信する。
【００４２】
受信装置２０は、送信装置１０からパケットを受信する装置である。例えば、受信装置２０は、ビーコンを受信することでパケットを受信する。受信装置２０は、画像、動画、音声、文字等のコンテンツが含まれているパケットを受信することで、パケットに含まれるコンテンツの出力（再生等）を行う。受信装置２０は、制御部２１と無線モジュール２４を備える。
【００４３】
制御部２１は、受信装置２０の動作を制御する処理部であり、例えば、ＳｏＣ等の集積回路である。制御部１１は、プログラマブルロジックデバイス（ＰＬ）２２と汎用プロセッサ（ＰＳ）２３とにより構成されている。
【００４４】
ＰＬ２２は、ハードウェアコントローラであるＦＰＧＡ等を含むデバイスである。後述するＰＳ２３は受信装置２０に関して汎用的な処理を行うのに対して、ＰＬ２２は、特定の処理に特化した機能を持たせることができる。
【００４５】
ＰＳ２３は、ソフトウェアコントローラであるＣＰＵ等を含む処理部であり、受信装置２０に関して汎用的な処理を行う。つまり、ＰＳ２３は、受信装置２０に関して様々な処理を汎用的に行う必要があるため、ある特定の処理については、当該特定の処理に特化したＰＬ２２よりも処理に時間を要してしまう。
【００４６】
無線モジュール２４は、送信装置１０と通信するためのモジュールであり、アンテナおよび無線信号の送信回路などを含む。無線モジュール２４は、パケットを無線で送信装置１０から受信する。
【００４７】
［パケット送信時の動作］
以下、送信装置１０のパケット送信時の動作について説明する。まず、従来のパケット送信時の動作について図２を用いて説明した後、実施例におけるパケット送信時の動作について図３を用いて説明する。
【００４８】
図２は、従来のパケット送信時のシーケンス図である。
【００４９】
まず、ＰＬ１２は、時刻情報を生成し（ステップＳ１０１）、生成した時刻情報をいったんＰＳ１３へ送る（ステップＳ１０２）。ＰＳ１３は、パケットを生成し（ステップＳ１０３）、生成したパケットに受け取った時刻情報を書き込む（ステップＳ１０４）。ＰＳ１３は、時刻情報が書き込まれたパケットをＰＬ１２へ送り（ステップＳ１０５）、ＰＬ１２は、当該パケットを無線モジュール１４へ送り（ステップＳ１０６）、そして、無線モジュール１４は、当該パケットを受信装置２０へ向けて送信する（ステップＳ１０７）。
【００５０】
ここで、図２に示されるＡ部分において、ＰＬ１２が時刻情報を生成したタイミングと、ＰＳ１３が時刻情報のパケットへの書き込みが完了するタイミングとには、時間のずれが生じてしまっている。具体的には、ステップＳ１０２においてＰＬ１２からＰＳ１３へ時刻情報を送る処理、および、ステップＳ１０４においてＰＳ１３が時刻情報をパケットに書き込む処理に時間を要している。特に、ステップＳ１０４については、上述したように、ＰＳ１３は、送信装置１０に関して汎用的な処理を行うので、時刻情報の書き込みの処理以外にも他の様々な処理（処理待ちを含む）を行う必要があり時間を要してしまう。
【００５１】
このように、従来のパケット送信時には、時刻同期を取るために生成された時刻情報のパケットへの書き込みが完了するまでに時間を要するため、時刻情報が示す時刻と、時刻同期のために時刻情報が取り扱われる時刻とにずれが生じてしまう。
【００５２】
図３は、本発明の実施例におけるパケット送信時のシーケンス図である。
【００５３】
まず、ＰＳ１３は、パケットを生成し（ステップＳ１１）、生成したパケットをＰＬ１２へ送る（ステップＳ１２）。ＰＬ１２は、時刻情報を生成し（ステップＳ１３）、生成した時刻情報を受け取ったパケットに書き込む（ステップＳ１４）。ＰＬ１２は、時刻情報が書き込まれたパケットを無線モジュール１４へ送り（ステップＳ１５）、そして、無線モジュール１４は、当該パケットを受信装置２０へ向けて送信する（ステップＳ１６）。
【００５４】
実施例におけるパケット送信時では、ＰＬ１２がパケットに時刻情報を書き込んでいるため、ＰＬ１２が時刻情報を生成したタイミングに対して、時刻情報のパケットへの書き込みが完了するまでに時間のずれが生じてしまうことが抑制される。具体的には、従来のパケット送信時と比べて、ＰＬ１２からＰＳ１３へ時刻情報を送る処理（ステップＳ１０２）がないため、時間のずれが生じることを抑制できる。また、ＰＬ１２は、上述したように、特定の処理に特化した機能を持たせることができるため、ＰＬ１２が時刻情報の書き込みに特化することで、ＰＳ１３がパケットに時刻情報を書き込むときよりも時間のずれが生じることを抑制できる。
【００５５】
以下、パケット送信時の実施例の具体例として実施例１〜５について説明する。
【００５６】
［実施例１］
実施例１では、無線モジュール１４は、例えば、ＳＤＩＯ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）規格に準拠したインタフェースを備えるＩＥＥＥ８０２．１１ａｃ対応のモジュールであるとする。このため、無線モジュール１４は、ＳＤＩＯ規格に則ってパケットの送信をする必要がある。したがって、ＰＳ１３は、ＳＤＩＯ規格に則ったパケットを生成する。ＰＳ１３は、ＳＤＩＯ規格に則ったパケットとして、時刻情報とは異なるデータを含み、かつ、当該データとは別に所定の領域が確保されたパケットを生成する。時刻情報とは異なるデータは、例えば、画像、動画、音声、文字等のコンテンツである。一方、ＰＬ１２は、ＰＳ１３から受け取ったパケット内の所定の領域に時刻情報を書き込む。ＳＤＩＯ規格に則ってパケットを送信する方式をブロック転送とも呼ぶ。なお、ＳＤＩＯは、本実施例では、ＳＤＩＯ  ｖｅｒ．３．０を意味するものとする。
【００５７】
図４は、ブロック転送のためのデータ分割およびパディング処理を説明するための図である。図４に示されるように、ブロック転送では、データをＳＤＩＯ規格において規定された範囲内の所定のサイズのブロックに分割して、データが送信される。しかし、データのサイズは、所定のサイズの整数倍とならないことが多く、分割後のそれぞれのブロックのサイズが所定のサイズとなるように分割した場合、所定のサイズ未満の剰余データが発生する。ここでは、例えば、データの前方からデータを所定のサイズの複数のブロックに分割した際にデータ内の後方で剰余データが発生する。そこで、剰余データを他のブロック（図４では、ブロックＡ〜Ｃ）と同じ所定のサイズのブロックとして扱うために、剰余データよりも後方にパディング領域が設けられる。これにより、剰余データおよびパディング領域からなる剰余ブロックは、所定のサイズとなり、ブロックＡ〜Ｃと同じように扱うことができる。なお、前方とは、パケット内のヘッダ側であり、送信装置１０から送信される順序が早い側（受信装置２０で受信する順序が早い側）を意味する。一方で、後方とは、ヘッダと反対側であり、送信装置１０から送信される順序が遅い側（受信装置２０で受信する順序が遅い側）を意味する。
【００５８】
ここで、ＰＳ１３は、パディング領域のサイズが、時刻情報のサイズ以上であるか否かを判定する。実施例１では、時刻情報は、送信装置１０と受信装置２０との時刻同期を取るための時刻同期データのみを含むとする。また、時刻同期データは、ＰＬ１２（ＦＰＧＡ）が有するハードウェアタイマにより生成されるため、以下ＦＰＧＡタイマとも呼ぶ。時刻情報（つまり、ＦＰＧＡタイマ）のサイズは基本的には一定であるため、ＰＳ１３は、例えば、ＦＰＧＡタイマのサイズを予め認識しているとする。
【００５９】
図５は、パディング領域のサイズＳｐが時刻情報のサイズＳｔ以上である場合の制御部１１の動作を説明するための図である。具体的には、図５は、当該場合のＰＳ１３によるパケットの生成処理とＰＬ１２によるＦＰＧＡタイマの書き込み処理を説明するための図である。
【００６０】
ＰＳ１３は、パディング領域のサイズＳｐがＦＰＧＡタイマのサイズＳｔ以上であると判定した場合、複数のブロックＡ〜Ｃと、剰余データおよびパディング領域からなる剰余ブロックと、を含むパケットを生成する。つまり、複数のブロックＡ〜Ｃおよび剰余ブロック以外に新たなブロックは設けられない。なお、ブロック転送では、分割されたブロックそれぞれをパケットとみなすこともできるが、ここでは、分割されたブロックの集まりをパケットと呼ぶ。
【００６１】
そして、ＰＬ１２は、パケット内の所定の領域に、ＦＰＧＡタイマを書き込む。具体的には、パケット内の後方領域にパディング領域が設けられているため、ＰＬ１２は、所定の領域として、パケット内の後方領域に、ＦＰＧＡタイマを書き込む。パディング領域は、データを前方から分割した際にデータ内の後方で発生する剰余データよりも後方に設けられると予め決められているため、ＰＬ１２は、パディング領域の位置の解析あるいは検知をする必要がなく、単に、ＰＳ１３から送られてきたパケット内の後方領域に、ＦＰＧＡタイマを書き込むという処理をするだけで、結果的にパディング領域にＦＰＧＡタイマが書き込まれることになる。
【００６２】
図６は、パディング領域のサイズが時刻情報のサイズよりも小さい場合の制御部１１の動作を説明するための図である。具体的には、図６は、当該場合のＰＳ１３によるパケットの生成処理とＰＬ１２によるＦＰＧＡタイマの書き込み処理を説明するための図である。
【００６３】
ＰＳ１３は、パディング領域のサイズＳｐがＦＰＧＡタイマのサイズＳｔよりも小さいと判定した場合、複数のブロックＡ〜Ｃと、剰余ブロックと、剰余ブロックよりも後方に設けられた他のパディング領域（剰余ブロックにおけるパディング領域とは異なるパディング領域）のみからなる少なくとも１つの新規ブロックと、を含むパケットを生成する。剰余ブロックにおけるパディング領域のサイズＳｐがＦＰＧＡタイマのサイズＳｔよりも小さい場合、ＦＰＧＡタイマを当該パディング領域に書き込むことはできず（図６の上側参照）、ＦＰＧＡタイマが書き込まれる新たなブロックが必要となるためである。一方で、図５で説明したように、パディング領域のサイズＳｐがＦＰＧＡタイマのサイズＳｔ以上の場合、ＦＰＧＡタイマを当該パディング領域に書き込むことができるため、新たなブロックを設ける必要がない。なお、ここでは、パケットには、１つの新規ブロックが含まれているが、ＦＰＧＡタイマのサイズＳｔが１つの新規ブロックのサイズよりも大きい場合には、ＰＳ１３は、複数のブロックＡ〜Ｃと、剰余ブロックと、複数の新規ブロックと、を含むパケットを生成する。
【００６４】
そして、ＰＬ１２は、パケット内の後方領域に、ＦＰＧＡタイマを書き込む。新規ブロックは、パケット内において、剰余ブロックよりもさらに後方に設けられると予め決められているため、ＰＬ１２は、新規ブロックの位置の解析あるいは検知をする必要がなく、単に、ＰＳ１３から送られてきたパケット内の後方領域に、ＦＰＧＡタイマを書き込むという処理をするだけで、結果的に新規ブロックのパディング領域にＦＰＧＡタイマが書き込まれることになる。
【００６５】
このように、データを例えばＳＤＩＯ規格に準拠した固定のデータサイズのブロックに分割して転送する場合に、剰余データについてはパディング領域が設けられるパディング処理（ゼロパディング）が施されるが、パディング領域は、無意味なデータ領域（例えば足りない桁数だけ「０」のデータが続く領域）となっている。これに対して、パディング領域のサイズが時刻情報のサイズよりも大きい場合、当該パディング領域に時刻情報が書き込まれるため、パディング領域を有効活用することができる。また、パディング領域はパケット内の後方に設けられるため、ＰＬ１２は、パディング領域の位置の解析または検知をする必要がなく、単に、パケット内の後方領域を指定して時刻情報を書き込むことで、パディング領域に時刻情報を書き込むことができる。
【００６６】
また、時刻情報とは異なるデータとして、例えば、画像、動画、音声、文字等のコンテンツを送信する際に同時に時刻情報も送信することができる。
【００６７】
なお、ＰＳ１３は、パディング領域のサイズが、時刻情報のサイズ以上であるか否かを判定したが、当該判定が行われなくてもよい。この場合、ＰＳ１３は、複数のブロックと、剰余ブロックと、少なくとも１つの新規ブロックと、を含むパケットを生成する。つまり、剰余ブロックにおけるパディング領域のサイズが時刻情報のサイズ以上であっても、必ず新規ブロックを含むパケットが生成される。これにより、ＰＬ１２は、時刻情報および剰余ブロックにおけるパディング領域のサイズ比に関係なくパケットに時刻情報を書き込むことができるため、ＰＳ１３は、パディング領域のサイズが時刻情報のサイズ以上であるか否かの判定を行う必要がなくなり、ＰＳ１３での処理を少なくすることができる。
【００６８】
［実施例２］
実施例２においても、実施例１と同じように、無線モジュール１４は、例えば、ＳＤＩＯ規格に準拠したインタフェースを備えるＩＥＥＥ８０２．１１ａｃ対応のモジュールであるとする。このため、実施例２では、ブロック転送方式によってパケットが送信される点は実施例１と同じである。実施例２は、時刻情報に時刻同期データ（ＦＰＧＡタイマ）とは別に時刻同期に関連した追加データが含まれる点が、実施例１と異なる。
【００６９】
図７は、時刻同期データおよび追加データを含む時刻情報の一例を示す図である。追加データは、例えば、日付情報や時刻同期の際に補助的に用いられるデータである。つまり、実施例２では、時刻同期のために必ず必要となるデータではないが、例えば、時刻同期データと同時に扱いたい場合等に、時刻情報に追加データを含めることができる。
【００７０】
図７に示されるように、追加データは、時刻同期データよりも前方に設けられる。詳細は後述するが、受信装置２０は、パケット内の後方領域を解析することで、時刻同期データを解析するためである。つまり、追加データが時刻同期データよりも後方に設けられている場合、受信装置２０がパケット内の後方領域を解析しても、当該後方領域に追加データしかなく、時刻同期データを解析できないことになることがあるためである。
【００７１】
実施例１と同じように、ＰＳ１３は、パディング領域のサイズが、追加データを含む時刻情報のサイズ以上であるか否かを判定する。
【００７２】
図８は、パディング領域のサイズが追加データを含む時刻情報のサイズ以上である場合の制御部１１の動作を説明するための図である。具体的には、図８は、当該場合のＰＳ１３によるパケットの生成処理とＰＬ１２によるＦＰＧＡタイマおよび追加データからなる時刻情報の書き込み処理を説明するための図である。
【００７３】
ＰＳ１３は、パディング領域のサイズＳｐがＦＰＧＡタイマおよび追加データのサイズＳｔ＋Ｓａ以上であると判定した場合、複数のブロック（図示せず）と、剰余ブロックと、を含むパケットを生成する。そして、ＰＬ１２は、パケット内の後方領域（剰余ブロックにおけるパディング領域）に、ＦＰＧＡタイマおよび追加データを書き込む。
【００７４】
図９は、追加データを含む時刻情報のサイズがパディング領域のサイズよりも大きく１つの新規ブロックのサイズ以下の場合の制御部１１の動作を説明するための図である。具体的には、図９は、当該場合のＰＳ１３によるパケットの生成処理とＰＬ１２によるＦＰＧＡタイマおよび追加データの書き込み処理を説明するための図である。
【００７５】
ＰＳ１３は、ＦＰＧＡタイマおよび追加データのサイズＳｔ＋Ｓａがパディング領域のサイズＳｐよりも大きく、かつ、新規ブロックのサイズＳｂ以下であると判定した場合、複数のブロック（図示せず）と、剰余ブロックと、新規ブロックと、を含むパケットを生成する。パディング領域のサイズＳｐがＦＰＧＡタイマおよび追加データのサイズＳｔ＋Ｓａよりも小さい場合、ＦＰＧＡタイマおよび追加データを当該パディング領域に書き込むことはできず（図９の上側参照）、ＦＰＧＡタイマおよび追加データが書き込まれる新たなブロックが必要となるためである。そして、ＰＬ１２は、パケット内の後方領域（新規ブロックにおけるパディング領域）に、ＦＰＧＡタイマおよび追加データを書き込む。
【００７６】
図１０は、追加データを含む時刻情報のサイズが１つの新規ブロックのサイズよりも大きい場合の制御部１１の動作を説明するための図である。具体的には、図１０は、当該場合のＰＳ１３によるパケットの生成処理とＰＬ１２によるＦＰＧＡタイマおよび追加データの書き込み処理を説明するための図である。
【００７７】
ＰＳ１３は、ＦＰＧＡタイマおよび追加データのサイズＳｔ＋Ｓａが新規ブロックのサイズＳｂよりも大きいと判定した場合、複数のブロック（図示せず）と、剰余ブロックと、複数（ここでは２つ）の新規ブロックと、を含むパケットを生成する。時刻情報には、ＦＰＧＡタイマの他に追加データが含まれており、ＦＰＧＡタイマおよび追加データが１つの新規ブロックに収まりきらないことがあるためである。このため、ＰＳ１３は、ＦＰＧＡタイマおよび追加データが収まる分の新規ブロックを設けている。そして、ＰＬ１２は、パケット内の後方領域（２つの新規ブロックにおけるパディング領域）に、ＦＰＧＡタイマおよび追加データを書き込む。
【００７８】
このように、データを送信する際に同時に時刻同期に関連した追加データも送信することができる。また、実施例１と実施例２との違いは、時刻情報に追加データが含まれているか否かの違いだけであるため、実施例１と同じようにパケットの生成処理と、時刻情報の書き込み処理とを行うことができる。
【００７９】
［実施例３］
実施例１および２では、ＰＬ１２は、パケットに時刻情報を書き込み、コンテンツ等と共に時刻情報が１つのパケットに納められたが、これに限らない。例えば、パディング領域のみからなるパディングパケットに時刻情報が書き込まれてもよい。
【００８０】
図１１は、パディングパケットを用いた例を説明するための図である。なお、実施例３では、時刻情報は、ＦＰＧＡタイマのみからなるが、追加データが含まれていてもよい。
【００８１】
ＰＳ１３は、時刻情報とは異なるデータを含むパケット（ここでは、当該データのみからなるデータパケット１〜ｎ）と、パディング領域のみからなるパディングパケットとを生成する。パディングパケットは、時刻情報（ＦＰＧＡタイマ）専用のパケットであり、例えば、ＦＰＧＡタイマと同じサイズとなっている。そして、ＰＬ１２は、パディングパケットにＦＰＧＡタイマを書き込む。
【００８２】
このように、パディング領域のみからなるパディングパケットに時刻情報が書き込まれることで、時刻情報が単体で送信されてもよい。この場合、剰余データに対してパディング領域を付与したり、当該パディング領域のサイズと時刻情報のサイズとの比較をしたりする必要がないため、簡潔な構成で高精度な時刻同期を実現できる。なお、パディングパケットが送信されるタイミングは、データパケット１〜ｎが送信される前または後でもよいし、データパケット１〜ｎが送信される途中のタイミングであってもよい。
【００８３】
［実施例４］
実施例１および２では、無線モジュール１４は、ＳＤＩＯ規格に則ってパケットの送信をし、ＰＳ１３は、ＳＤＩＯ規格に則ったパケットを生成したが、これに限らない。例えば、ＳＤＩＯのように、データサイズが決められた方式により転送せず、例えばＰＣＩ  Ｅｘｐｒｅｓｓ規格等に準拠して転送する、いわゆるバイト転送が行われてもよい。
【００８４】
図１２は、バイト転送が行われる際の制御部１１の動作を説明するための図である。
【００８５】
ＰＳ１３は、データと、データよりも後方に設けられた時刻情報（ＦＰＧＡタイマ）と同じサイズのパディング領域と、を含むパケット（例えばデータパケットとも呼ぶ）を生成する。そして、ＰＬ１２は、データパケット内の所定の領域として、データパケット内のパディング領域に時刻情報を書き込む。なお、実施例４では、時刻情報は、ＦＰＧＡタイマのみからなるが、追加データが含まれていてもよい。時刻情報に追加データが含まれている場合、追加データも含めた時刻情報のサイズと同じサイズのパディング領域が含まれるようにデータパケットが生成される。
【００８６】
このように、バイト転送が行われる場合、データが固定のデータサイズのブロックに分割されないため、剰余データが発生せず、パディング領域も設けられない。そこで、データとは別にパディング領域が設けられ、当該パディング領域に時刻情報が書き込まれる。これにより、バイト転送が行われる場合であっても、データを送信する際に同時に時刻情報も送信することができる。
【００８７】
［実施例５］
また、従来から時刻同期に用いられているＰＴＰを用いて時刻同期を行ってもよい。
【００８８】
図１３は、ＰＴＰパケットを用いた例を説明するための図である。
【００８９】
ＰＳ１３は、ＰＴＰパケットを生成する。ＰＴＰパケットには、ＰＴＰに則って所定の領域に付加されている時刻データが存在する。ＰＴＰを用いて時刻同期を行う場合、当該時刻データに基づいて時刻同期が行われるが、実施例５では、ＰＬ１２は、ＰＴＰパケット内の所定の領域（当該時刻データが存在する領域）に、時刻情報（ＦＰＧＡタイマ）を書き込む。実施例５では、高精度なＦＰＧＡタイマが用いられるので、ＰＴＰに則って付加された時刻データは不要となるためである。
【００９０】
このように、ＰＴＰを用いて時刻同期を行っている既存の機器（受信装置）は、受信したＰＴＰパケット内の所定の領域に書き込まれた時刻同期のためのデータを解析することで、時刻同期を行うが、当該所定の領域に時刻情報を書き込むことで、ＰＴＰを用いて時刻同期を行っている既存の機器についても本発明による高精度な時刻情報を適用することができる。この場合、ＰＴＰを用いる構成を流用することになるので、簡潔な構成で高精度な時刻同期を実現できる。
【００９１】
［パケット受信時の動作］
次に、受信装置２０のパケット受信時の動作について説明する。まず、従来のパケット受信時の動作について図１４を用いて説明した後、実施例におけるパケット受信時の動作について図１５を用いて説明する。
【００９２】
図１４は、従来のパケット受信時のシーケンス図である。
【００９３】
まず、無線モジュール２４は、送信装置１０から、送信装置１０と受信装置２０との時刻同期を取るための時刻同期データを含む時刻情報が書き込まれたパケットを受信する（ステップＳ２０１）。無線モジュール２４は、当該パケットをＰＬ２２へ送り（ステップＳ２０２）、ＰＬ２２は、当該パケットをＰＳ２３へ送る（ステップＳ２０３）。ＰＳ２３は、当該パケットを解析することで（ステップＳ２０４）、当該パケットに書き込まれた時刻情報を取得し、当該時刻情報をＰＬ２２へ送る（ステップＳ２０５）。そして、ＰＬ２２は、当該時刻情報に基づいて、送信装置１０と受信装置２０との時刻同期を取る（ステップＳ２０６）。
【００９４】
ここで、図１４に示されるＡ部分において、ＰＬ２２が時刻同期を行うタイミングに対して、ＰＳ２３がパケットの解析を行うことによる時間のずれ、いわゆる、オーバーヘッドが生じてしまっている。具体的には、ステップＳ２０４においてＰＳ２３がパケットを解析する処理、および、ステップＳ２０５においてＰＳ２３からＰＬ２２へ時刻情報を送る処理に時間を要している。特に、ステップＳ２０４については、上述したように、ＰＳ２３は、受信装置２０に関して汎用的な処理を行うので、パケットの解析処理以外にも他の様々な処理（処理待ちを含む）を行う必要があり、時間を要してしまう。
【００９５】
このように、従来のパケット受信時には、時刻同期を取るための時刻情報が書き込まれたパケットの解析が完了するまでに時間を要するため、時刻情報が示す時刻と、時刻同期のために時刻情報が取り扱われる時刻とにずれが生じてしまう。
【００９６】
図１５は、本発明の実施例におけるパケット受信時のシーケンス図である。
【００９７】
まず、無線モジュール２４は、送信装置１０から、送信装置１０と受信装置２０との時刻同期を取るための時刻同期データを含む時刻情報が書き込まれたパケットを受信する（ステップＳ２１）。無線モジュール２４は、当該パケットをＰＬ２２へ送る（ステップＳ２２）。ＰＬ２２は、パケットを解析することで時刻情報を取得し（ステップＳ２３）、当該時刻情報に基づいて送信装置１０と受信装置２０との時刻同期を取る（ステップＳ２４）。
【００９８】
具体的には、ＰＬ２２は、パケット内の所定の領域を解析する。例えば、上記実施例１、２および４のように、当該パケットは、時刻情報とは異なるデータを含み、かつ、当該データとは別に確保された所定の領域に時刻情報が書き込まれたパケットであり、ＰＬ２２は、所定の領域を解析することで、具体的には所定の領域として、パケット内の後方領域を解析することで時刻情報を取得する。また、例えば、上記実施例５のように、当該パケットが、ＰＴＰパケットであり、ＰＴＰパケット内の所定の領域に時刻情報が書き込まれている場合、ＰＬ２２は、ＰＴＰパケット内の所定の領域を解析することで時刻情報を取得する。時刻情報はパケット内の所定の領域に書き込まれているため、ＰＬ２２は、当該所定の領域を指定して解析することで、時刻情報とは異なるデータ（例えば、画像、動画、音声、文字等のコンテンツ）と時刻情報とを両方含むパケットから、時刻情報を選択的に解析することができる。
【００９９】
そして、ＰＬ２２は、時刻情報を除く情報（例えばコンテンツ）を含むパケットをＰＳ２３へ送信し（ステップＳ２５）、ＰＳ２３は、無線モジュール２４が受信したパケットにおける時刻情報を除く情報を解析する（ステップＳ２６）。例えば、時刻情報がパディング領域に書き込まれていた場合には、ステップＳ２５では、ＰＳ２３がパディング領域に書き込まれた時刻情報によって誤動作しないように、ＰＬ２２は、パディング領域の時刻情報が書き込まれていた箇所を初期化等してから、パケットをＰＳ２３へ送る。なお、ステップＳ２５での処理は、ステップＳ２４の前に行われてもよいし、ステップＳ２３の前に行われてもよい。
【０１００】
実施例におけるパケット受信時では、ＰＬ２２が時刻情報を取得するためにパケットを解析しているため、時刻情報が示す時刻と、時刻同期のために時刻情報が取り扱われる時の時刻とにずれが生じてしまうことが抑制される。具体的には、ＰＬ２２は、上述したように、特定の処理に特化した機能を持たせることができるため、ＰＬ２２が時刻情報についての解析に特化することで、ＰＳ２３が時刻情報についての解析を行うときよりも時間のずれが生じることを抑制できる。
【０１０１】
［まとめ］
以上説明したように、本発明は、時刻同期のための処理（送信装置１０における時刻情報の書き込み、受信装置２０における時刻情報が書き込まれたパケットの解析）をオーバーヘッド等の時間のずれが生じる可能性があるＰＳ１３、２３を経由せずにＰＬ１２、２２内で完結させている点に特徴を有する。例えば、リソースとしてＦＰＧＡを含む装置に対して本発明を適用することで、ＦＰＧＡを有効活用できる。
【０１０２】
具体的には、送信装置１０について、ハードウェアコントローラであるＦＰＧＡ等を含むＰＬ１２が、受信装置２０へ送信されるパケットへの時刻情報の書き込みを行うため、例えば、汎用的に用いられ、書き込み等の処理以外にも他の様々な処理を行う（処理待ちが発生する）ＰＳ１３が書き込みを行うよりも短い時間で書き込みを行うことができる。このため、送信装置１０が時刻情報を生成してからパケットへ書き込むまでの時間を短くでき、送信装置１０と受信装置２０との間の時刻のずれを小さくすることができる。このように、送信装置１０は、高精度な時刻同期を実現できる。
【０１０３】
また、受信装置２０について、ハードウェアコントローラであるＦＰＧＡ等を含むＰＬ２２が、受信したパケットに書き込まれた時刻情報の解析を行うため、例えば、汎用的に用いられ、時刻情報の解析等の処理以外にも他の様々な処理を行う（処理待ちが発生する）ＰＳ２３が時刻情報の解析を行うよりも短い時間で書き込みを行うことができる。つまり、ＰＳ２３では時刻情報の解析の際にオーバーヘッドが生じ送信装置１０と受信装置２０との間の時刻にずれが生じるが、ＰＬ２２では、時刻情報の解析の際にオーバーヘッドが生じにくいため、送信装置１０と受信装置２０との間の時刻のずれを小さくすることができる。このように、受信装置２０は、高精度な時刻同期を実現できる。
【０１０４】
これにより、例えば、無線通信においても、１ｍｓ単位、またはそれ以上の精度の時刻同期を実現できる。本発明によって高精度な時刻同期が実現されるため、本発明が適用されることで、無線で送信されるパケットの衝突回避に応用できる。また、本発明が適用されることで、断続的に無線で送信されるパケットにおいて、各々の転送間隔を小さくできる。また、具体的な応用例としては、無線通信で制御されている複数のスピーカの音声出力に関して、それらの位相のずれを引き起こさないために応用することができる。また、映像伝送にも応用でき、フレームごとの時刻情報を基準に時刻同期を行うことで、高水準な映像伝送を実現できる。
【０１０５】
（その他の実施の形態）
以上、本発明の送信装置１０および受信装置２０について、実施の形態に基づいて説明したが、本発明は、上記実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、および、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
【０１０６】
例えば、上記実施の形態では、ＰＬ１２とＰＳ１３とがワンチップとなって制御部１１を構成しているが、ＰＬ１２とＰＳ１３とが別体に設けられていてもよい。つまり、制御部１１がそれぞれ別チップのＰＬ１２とＰＳ１３とによって構成されていてもよい。同じように、制御部２１がそれぞれ別チップのＰＬ２２とＰＳ２３とによって構成されていてもよい。また、ＰＬ１２および２２が、それぞれ複数のチップから構成されていてもよい。例えば、時刻情報を書き込む構成が１つのチップとして構成されていてもよい。
【０１０７】
また、本発明は、送信装置１０および受信装置２０として実現できるだけでなく、例えば送信装置１０および受信装置２０を構成する各構成要素が行うステップ（処理）を含む送信方法および受信方法として実現できる。
【０１０８】
具体的には、送信方法は、送信装置１０が受信装置２０へパケットを送信する送信方法である。図３に示されるように、送信方法は、送信装置１０が備えるＰＳ１３がパケットを生成するステップ（ステップＳ１１）と、送信装置１０が備えるＰＬ１２が、ＰＳ１３が生成したパケットに、送信装置１０と受信装置２０との時刻同期を取るための時刻同期データを含む時刻情報を書き込むステップ（ステップＳ１４）と、時刻情報が書き込まれたパケットを無線で受信装置２０へ送信するステップ（ステップＳ１５）と、を含む。
【０１０９】
具体的には、受信方法は、受信装置２０が送信装置１０からパケットを受信する受信方法である。図１５に示されるように、受信方法は、送信装置１０と受信装置２０との時刻同期を取るための時刻同期データを含む時刻情報が書き込まれたパケットを受信するステップ（ステップＳ２１）と、受信装置２０が備えるＰＬ２２が、受信するステップで受信したパケットを解析することで時刻情報を取得し、時刻情報に基づいて送信装置１０と受信装置２０との時刻同期を取るステップ（ステップＳ２３およびステップＳ２４）と、受信装置２０が備えるＰＳ２３が、受信するステップで受信したパケットにおける時刻情報を除く情報を解析するステップ（ステップＳ２６）と、を含む。そして、受信するステップ（ステップＳ２１）で受信するパケットは、時刻情報とは異なるデータを含み、かつ、当該データとは別に確保された所定の領域に時刻情報が書き込まれており、時刻同期を取るステップ（ステップＳ２４）では、所定の領域を解析することで時刻情報を取得する。
【０１１０】
また、例えば、それらのステップは、コンピュータ（コンピュータシステム）によって実行されてもよい。そして、本発明は、それらの方法に含まれるステップを、コンピュータに実行させるためのプログラムとして実現できる。さらに、本発明は、そのプログラムを記録したＣＤ−ＲＯＭ等である非一時的なコンピュータ読み取り可能な記録媒体として実現できる。
【０１１１】
例えば、本発明が、プログラム（ソフトウェア）で実現される場合には、コンピュータのＣＰＵ、メモリおよび入出力回路等のハードウェア資源を利用してプログラムが実行されることによって、各ステップが実行される。つまり、ＣＰＵがデータをメモリまたは入出力回路等から取得して演算したり、演算結果をメモリまたは入出力回路等に出力したりすることによって、各ステップが実行される。
【０１１２】
また、上記実施の形態の送信装置１０および受信装置２０に含まれる複数の構成要素は、それぞれ、専用または汎用の回路として実現されてもよい。これらの構成要素は、１つの回路として実現されてもよいし、複数の回路として実現されてもよい。
【０１１３】
また、上記実施の形態の送信装置１０および受信装置２０に含まれる複数の構成要素は、集積回路（ＩＣ：Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であるＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）として実現されてもよい。これらの構成要素は、個別に１チップ化されてもよいし、一部または全てを含むように１チップ化されてもよい。ＬＳＩは、集積度の違いにより、システムＬＳＩ、スーパーＬＳＩまたはウルトラＬＳＩと呼称される場合がある。
【０１１４】
また、集積回路はＬＳＩに限られず、専用回路または汎用プロセッサで実現されてもよい。上述したように、プログラム可能なＦＰＧＡ、または、ＬＳＩ内部の回路セルの接続および設定が再構成可能なリコンフィギュラブル・プロセッサが、利用されてもよい。
【０１１５】
さらに、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて、情報処理装置１に含まれる各構成要素の集積回路化が行われてもよい。
【０１１６】
その他、実施の形態に対して当業者が思いつく各種変形を施して得られる形態や、本発明の趣旨を逸脱しない範囲で各実施の形態における構成要素および機能を任意に組み合わせることで実現される形態も本発明に含まれる。
【産業上の利用可能性】
【０１１７】
本発明は、複数の機器が連携して動作するシステムに利用可能である。具体的には、公共スペース又は商業施設などにおいて複数設置され、画像、映像、音声等を連携して再生する再生装置などに利用可能である。
【符号の説明】
【０１１８】
１０  送信装置
１１、２１  制御部
１２、２２  プログラマブルロジックデバイス（ＰＬ）
１３、２３  汎用プロセッサ（ＰＳ）
１４、２４  無線モジュール
２０  受信装置
【図１】
2019149702.tif 000003
【図２】
2019149702.tif 000004
【図３】
2019149702.tif 000005
【図４】
2019149702.tif 000006
【図５】
2019149702.tif 000007
【図６】
2019149702.tif 000008
【図７】
2019149702.tif 000009
【図８】
2019149702.tif 000010
【図９】
2019149702.tif 000011
【図１０】
2019149702.tif 000012
【図１１】
2019149702.tif 000013
【図１２】
2019149702.tif 000014
【図１３】
2019149702.tif 000015
【図１４】
2019149702.tif 000016
【図１５】
2019149702.tif 000017