以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、以下では、下記に示す順序で説明を行う。
1.本実施形態に係る通信方法
2.本実施形態に係る通信システム
3.本実施形態に係る送信装置、受信装置、通信装置
4.本実施形態に係るプログラム
(本実施形態に係る通信方法)
本実施形態に係る通信システム(以下、総称して「通信システム10000」と示す場合がある。)を構成する各装置の構成について説明する前に、本実施形態に係る通信方法について説明する。以下では、通信システム10000(より厳密には、通信システム10000を構成する装置)が、本実施形態に係る通信方法に係る処理を行うものとして説明する。
上述したように、送信装置が1または2以上の装置に対して無線でデータを送信する場合、ユニキャストで各装置に対してデータを送信するときには、データを送信可能な装置の数に限りがある。また、送信装置がマルチキャストでデータを送信する場合には、特定の装置に対してのみデータを再送信することはできないことから、データを正常に受信できない装置が存在することが起こりうる。
ここで、送信装置が無線でデータを送信する場合において、より多くの装置に対して安定的にデータを受信させるための一の方法としては、例えば、送信装置が、同一のデータ(または、当該データがパケット化されたパケットデータ。以下、同様とする。)を、常に複数回マルチキャストで送信することが挙げられる。上記のように送信装置が同一のデータを常に複数回マルチキャストで送信することによって、データを正常に受信できない装置が存在する可能性をより低減させることが可能となる。よって、上記のように送信装置が同一のデータを複数回マルチキャストで送信することによって、より多くの装置に対して安定的にデータを受信させることができる可能性がある。
しかしながら、送信装置が同一のデータを複数回マルチキャストで送信する場合には、複数回の送信が行われる分、1回の送信が行われる場合よりもデータの送信に時間を要する。そのため、送信装置が同一のデータを複数回マルチキャストで送信する場合には、送信装置からデータの送信対象の装置へのデータの伝送効率が低下する。
[本実施形態に係る通信方法の概要]
そこで、本実施形態に係る通信システム10000では、送信データを送信する装置(以下、「送信装置100」と示す場合がある。)が、送信データの送信対象である装置(以下、「受信装置200」と示す場合がある。)に対して、ユニキャストで送信データを無線で送信する(例えば、図2参照)。
ここで、本実施形態に係る送信データとしては、例えば、画像(動画像または静止画像。以下、同様とする。)および/または音声(音楽も含む。以下同様とする。)を示すコンテンツデータ(または、コンテンツデータを含むデータ)が挙げられる。以下では、画像および/または音声を総称して「コンテンツ」と示す場合がある。なお、本実施形態に係る送信データは、コンテンツデータに限られない。例えば、本実施形態に係る送信データは、テキストデータや、アプリケーションをアップデートさせるためのアップデートデータ、ソフトウェアやハードウェアを制御するための制御データなど、様々なデータ(または、当該データを含むデータ)が挙げられる。
また、通信システム10000を構成する受信装置200以外の他の装置(以下、「通信装置300」と示す場合がある。)は、送信装置100と受信装置200との間で送受信される通信データを受信し、受信された通信データの中から処理に用いるデータを判別する。より具体的には、通信装置300は、送信装置100と受信装置200との間で送受信される通信データを受信し、受信した通信データの宛先(送信先)が自装置でない場合であっても、受信された通信データの中から処理に用いるデータを判別する。つまり、ユニキャスト通信を行なう一般的な装置が、受信した通信データの宛先(送信先)が自装置でない場合には当該通信データを破棄するのに対して、通信装置300は、受信した通信データの宛先(送信先)が自装置でない場合であっても、処理に用いるデータの判別を行うことなく当該通信データ(または、当該通信データの一部)を破棄しない。
ここで、本実施形態に係る通信データとしては、例えば、送信装置100から送信される送信データや、受信装置200から送信される応答信号(応答データ)が挙げられる。また、本実施形態に係る応答信号としては、例えば、ACK(ACKnowledgement)やNACK(Negative ACKnowledgment)などが挙げられる。
図1は、本実施形態に係る通信データの一例を示す説明図である。ここで、図1は、パケット化された通信データの一例を示している。より具体的には、図1は、画像データを含むIP(Internet Protocol)パケットのフレームフォーマットの一例を示している。
図1のAに示すように、IPパケットは、例えば、IPヘッダとIPデータとから構成される。IPヘッダには、例えば、宛先IPアドレス(送信先のIPアドレス)などのIPプロトコルに基づく通信経路の制御に関する経路制御情報などが含まれる。また、図1のBに示すように、IPデータは、例えば、UDP(User Datagram Protocol)ヘッダとUDPデータとから構成される。ここで、UDPは、リアルタイム性が重視される動画像を示す画像データや音声データの配信において使用される、OSI(Open Systems Interconnection)参照モデルのトランスポート層のプロトコルである。UDPヘッダには、例えばアプリケーション識別情報である宛先ポート番号(送信先のポート番号)などが含まれる。また、図1のCに示すように、UDPデータは、例えば、RTP(Real-time Transport Protocol)ヘッダとRTPデータとから構成される。RTPヘッダには、例えばシーケンス番号など、データストリームのリアルタイム性を保証するための再生制御情報が含まれる。ここで、上記再生制御情報には、例えば図1のCに示すように、複数の装置において再生処理などの処理を同期させるためのフレーム同期タイムスタンプが含まれていてもよい。また、図1のDに示すように、RTPデータは、画像データのヘッダ(以下、「画像ヘッダ」と示す。)と、例えばラインベース・コーデックに基づいて圧縮された画像本体である符号化データとから構成される。画像ヘッダには、例えば、ピクチャ番号やラインブロック番号(1ライン単位で符号化を行う場合にはライン番号)、サブバンド番号、データの種別を示す識別子(後述する識別情報の一例)などが含まれる。なお、画像ヘッダは、例えば、ピクチャごとに付与されるピクチャヘッダと、ラインブロックごとに付与されるラインブロックヘッダとにさらに分けて構成されてもよい。また、図1に示す例では、ペイロードに該当する符号化データが、通信装置300の処理対象となりうるデータに相当する。
本実施形態に係る通信データとしては、例えば、図1に示す構成のIPパケット(パケットデータ)が挙げられる。なお、本実施形態に係る通信データは、図1に示す構成に限られない。例えば、本実施形態に係る通信データは、IP以外の任意のプロトコルに対応するパケットデータや、パケット化されていないデータであってもよい。また、本実施形態に係る通信データに含まれるペイロードが、画像データに限られないことは、言うまでもない。
また、通信装置300における処理に用いるデータの判別方法としては、例えば、通信装置300が、受信した通信データに含まれるデータの種別を示す識別情報に基づいて、処理に用いるデータを判別する方法が挙げられる。
より具体的には、通信装置300は、例えば、受信した通信データから識別情報(例えば図1のDに示す画像ヘッダに含まれる識別子や、図1のA〜Cに示す各ヘッダなどに含まれる識別子など)を検出する。また、通信装置300は、識別情報が検出された場合には、例えば、処理対象のデータの種別が設定された処理対象情報と、検出された識別情報とを用いて、処理対象情報に検出された識別情報が示すデータの種別が設定されているか否かを判定する。そして、通信装置300は、処理対象情報に検出された識別情報が示すデータの種別が設定されていると判定された場合に、例えば、受信された通信データのペイロードが処理に用いるデータであると判別する。また、処理対象情報に検出された識別情報が示すデータの種別が設定されていると判定されない場合には、通信装置300は、例えば、受信した通信データを破棄する。
ここで、本実施形態に係る処理対象情報としては、例えば、処理対象のデータの種別が記録されたデータベースが挙げられる。処理対象情報には、例えば、コンテンツデータや、テキストデータ、アップデートデータ、制御データなど、送信装置100が送信する送信データに対応するデータが、処理対象のデータとして設定される。また、例えばACKやNACKなどの応答データ(通信に係る制御データ)は、送信データを送信する送信装置100などにとっては必要なデータであるが、通信装置300にとっては必要ではないデータである。そのため、処理対象情報には、例えば、ACKやNACKなどの応答データは、処理対象のデータとして設定されない。また、通信装置300は、例えば、通信装置300が備える記憶部(後述する)などに記憶された処理対象情報を用いるが、サーバなどの外部装置から取得した処理対象情報を用いてもよい。
通信装置300は、例えば上記のような方法を用いることによって、処理に用いるデータを判別する。なお、本実施形態に係る通信装置300における処理に用いるデータの判別方法は、上記に限られない。例えば、通信装置300は、特定の装置または特定の装置群を示す装置指定情報が通信データに含まれる場合には、当該装置指定情報に基づいて処理に用いるデータの判別を選択的に行ってもよい。ここで、本実施形態に係る装置指定情報としては、例えば、MACアドレス(Media Access Control address)や、グループIDなどが挙げられるが、本実施形態に係る装置指定情報は、上記に限られない。例えば、通信システム10000では、特定の装置または特定の装置群を示すことが可能であれば、任意の情報(データ)を装置指定情報として用いることができる。
より具体的には、通信装置300は、例えば、自装置が装置指定情報が示す装置と合致するとき、または自装置が装置指定情報が示す装置群に含まれるときに、識別情報に基づいて処理に用いるデータを判別する。また、通信装置300は、例えば、自装置が装置指定情報が示す装置と合致せず、自装置が装置指定情報が示す装置群に含まれないときには、識別情報に基づくデータの判別を行わない。通信装置300は、例えば上記のように装置指定情報に基づく判別を行うことによって、処理に用いるデータの判別を選択的に行うことができる。
また、通信装置300は、処理に用いるデータの判別を行った後、処理に用いると判別されたデータを処理し、処理に用いると判別されないデータは処理しない。つまり、通信装置300は、受信された通信データのうち、処理対象のとなる所定のデータを選択的に処理する。また、通信装置300は、例えば、受信された通信データのうち処理対象のとなる所定のデータ以外のデータについては、破棄してもよい。さらに、通信装置300は、本来宛先(送信先)が自装置ではない通信データに含まれる所定のデータを処理するので、通信装置300は、判別されたデータの処理を行う場合において、送信装置100および受信装置200のいずれに対しても応答(例えばACKやNACK、処理結果などの送信)を行わない。
ここで、通信装置300が行う処理としては、例えば通信装置300が処理に用いるデータとしてコンテンツデータを判別した場合には、判別されたコンテンツデータを再生する処理や、表示画面に画像データ(コンテンツデータの一例)に応じた画像を表示させる処理、スピーカなどの音声出力デバイスから音声データ(コンテンツデータの一例)に応じた音声を出力させる処理などが挙げられる。なお、本実施形態に係る通信装置300が行う処理は、上記に限られない。例えば、通信装置300は、処理に用いるデータとしてアップデートデータを判別した場合には、当該アップデートデータを用いて対応するアプリケーションやOS(Operating System)などのソフトウェアを更新する。つまり、通信装置300は、判別されたデータに応じた処理を行う。
本実施形態に係る通信装置300は、上記のように、(1)通信データを受信する処理、(2)受信された通信データの中から処理に用いるデータを判別する処理、(3)処理に用いると判別されたデータの処理を行う処理、を行う。また、通信装置300は、上記(3)の処理を行う場合において、ユニキャストで通信を行っている送信装置100および受信装置200のいずれに対しても応答を行わない。
上記のように、通信システム10000では、送信装置100と受信装置200との間でユニキャストでの通信が行われ、1または2以上の通信装置300それぞれは、送信装置100と受信装置200との間で送受信される通信データを受信し、受信した通信データに基づく処理を行う。つまり、通信システム10000では、送信装置100と通信装置300との間、および受信装置200と通信装置300との間においてユニキャストでの無線通信は行われない。よって、通信システム10000では、ある帯域を用いて無線通信を行う場合において、上述した送信装置が各装置に対してユニキャストでデータを無線送信する場合(以下、「従来のユニキャスト無線通信」と示す場合がある。)よりも、より多くの通信装置300にデータを伝送することができる。
また、通信装置300それぞれは、送信装置100と受信装置200との間でユニキャストで送受信される通信データを受信するので、送信装置100が受信装置200(特定の装置)に対して再送信した送信データを受信することが可能である。よって、通信システム10000は、上述した送信装置が各装置に対してマルチキャストでデータを無線送信する場合(以下、「従来のマルチキャスト無線通信」と示す場合がある。)よりもデータを正常に受信できない装置が存在する可能性をより低減させることができる。
また、通信システム10000では、上述した送信装置が同一のデータを常に複数回マルチキャストで送信する場合のように、送信装置が常に同一のデータを複数回送信させるのではなく、エラーが発生した場合に送信装置100が選択的に再送信を行う。つまり、通信システム10000では、従来のユニキャスト無線通信における、送信装置から送信対象の特定の装置に対するデータの伝送効率と同等の伝送効率を実現することが可能である。よって、通信システム10000は、上述した送信装置が同一のデータを常に複数回マルチキャストで送信する場合よりも、送信装置100からデータの送信対象の装置(受信装置200、および、1または2以上の通信装置300)へのデータの伝送効率を向上させることができる。
さらに、通信システム10000では、通信装置300が、送信装置100と通信装置300との間の通信環境が送信装置100と受信装置200との間の通信環境よりもよい位置に配置されることによって、“受信装置200が送信データを受信したにも関わらず、通信装置300が送信データを受信できない事態”が生じる可能性を低減させることが可能となる。したがって、通信装置300が、送信装置100と通信装置300との間の通信環境が送信装置100と受信装置200との間の通信環境よりもよい位置に配置されることによって、通信システム10000は、データを正常に受信できない装置が存在する可能性をさらに低減させることができる。
ここで、送信装置100と通信装置300との間の通信環境を、送信装置100と受信装置200との間の通信環境よりもよくするための方法としては、例えば、受信装置200を送信装置100との通信においてエラーが頻繁に発生する位置(例えば、受信装置200が、NACKを送信装置100に送信する頻度が所定の閾値以上となる位置)に配置することが挙げられる。上記のように送信装置100との通信においてエラーが頻繁に発生する位置に受信装置200を配置することによって、送信装置100から受信装置200への送信データの再送信の頻度が上がる。よって、通信システム10000では、“受信装置200が送信データを受信したにも関わらず、通信装置300が送信データを受信できない事態”が生じる可能性を低減させることができる。なお、送信装置100と通信装置300との間の通信環境を、送信装置100と受信装置200との間の通信環境よりもよくするための方法は、上記に限られない。例えば、受信装置200を複数の位置(配置候補のなる位置)に適宜配置して送信装置100と通信を行い、送信装置100との通信においてエラーが最も発生した位置に、受信装置200を配置してもよい。
したがって、本実施形態に係る通信方法に係る処理を行う通信システム10000は、より多くの装置に対して安定的にデータを受信させることができる。
以下、本実施形態に係る通信システム10000の構成の一例について説明をすると共に、本実施形態に係る通信方法に係る処理の具体例についても併せて説明する。なお、通信システム10000を構成する送信装置100、受信装置200、通信装置300それぞれの構成例については、後述する。
(本実施形態に係る通信システム)
(I)第1の実施形態に係る通信システム
図2は、第1の実施形態に係る通信システム1000の構成の一例を示す説明図である。通信システム1000は、送信装置100と、受信装置200と、通信装置300A、300Bとを有する。ここで、図2では、通信装置300Aと通信装置300Bとの2つの通信装置300を有する構成を示しているが、第1の実施形態に係る通信システム1000の構成は、上記に限られない。例えば、第1の実施形態に係る通信システム1000は、1つの通信装置300を有していてもよく、また、3以上の通信装置300を有していてもよい。以下では、第1の実施形態に係る通信システム1000が通信装置300Aと通信装置300Bとの2つの通信装置300を有する場合を例に挙げて、第1の実施形態に係る通信システム1000について説明する。
通信システム1000では、送信装置100と受信装置200とがユニキャストで無線通信を行い、通信装置300A、300B(以下、総称して「通信装置300」と示す場合がある。)が、送信装置100と受信装置200との間で送受信される通信データを受信して処理を行う。
図3は、第1の実施形態に係る通信システム1000における通信の概要を示す説明図である。ここで、図3は、通信システム1000における無線通信が、IEEE802.11n規格に基づく無線LAN通信である場合を示している。より具体的には、図3は、IEEE802.11n規格に規定されている、複数のMSDU(Mac Service Data Unit)をまとめて1つのパケットとして送信するアグリゲーション機能を用いて、送信装置100が送信データを伝送している例を示している。
送信装置100は、例えば5つのMSDUを1つのパケットとし、受信装置200に対してユニキャストで当該パケット(送信データの一例)を送信する。このとき、各MSDUには、シーケンス番号(例えば、MSDUを送信するときにシーケンス番号を+1する)が付される。また、受信装置200は、送信装置100から送信されたパケットを正常に受信すると、正常に受信したことを示す応答信号(例えば、Block ACK)を送信装置100へ送信する。なお、図3では示していないが、受信装置200は、送信装置100から送信されたパケットが正常に受信されなかった場合には、正常に受信されなかったことを示す応答信号(例えば、NACK)を送信する。上記の場合には、送信装置100は、正常に受信されなかったことを示す応答信号に対応するパケットを受信装置200に再送信する。
なお、本実施形態に係る通信システム10000における送信装置100と受信装置200との間のユニキャストの通信は、上記に限られない。例えば、送信装置100は、アグリゲーション機能を使わずに、1つのMSDUを1パケットとして送信してもよい。また、受信装置200は、例えば、一度に複数分のデータを受信したとしてDelayed ACK応答してもよいし、1つのパケットに対して1つの応答を行なうImmediate ACKを行なってもよい。
通信装置300A、300Bそれぞれは、送信装置100から送信されたパケットと、受信装置200から送信された応答信号を受信する(上記(1)の処理(通信データを受信する処理))。そして、通信装置300A、300Bそれぞれは、上記(2)の処理(受信された通信データの中から処理に用いるデータを判別する処理)、および(3)の処理(処理に用いると判別されたデータの処理を行う処理)を行う。また、通信装置300A、300Bそれぞれは、図3に示すように、上記(3)の処理を行う場合において、ユニキャストで通信を行っている送信装置100および受信装置200のいずれに対しても応答を行わない。
また、受信装置200から送信された応答信号を受信した送信装置100は、当該応答信号に基づきシーケンス番号1〜5のMSDUに対応するパケットの送信が完了したことを判定すると、シーケンス番号6〜10のMSDUに対応するパケットを受信装置200に対して送信する。また、受信装置200は、送信装置100から送信されたパケットを受信すると、受信結果に対応する応答信号を送信装置100へ送信する。
通信装置300A、300Bそれぞれは、送信装置100から送信されたパケットと、受信装置200から送信された応答信号を受信し(上述した(1)の処理)、上述した(2)の処理および(3)の処理を行う。また、通信装置300A、300Bそれぞれは、図3に示すように、上記(3)の処理を行う場合において、ユニキャストで通信を行っている送信装置100および受信装置200のいずれに対しても応答を行わない。
第1の実施形態に係る通信システム1000では、例えば、図3に示す処理が行われることによって、送信装置100から送信される送信データが、受信装置200、および各通信装置300に伝送される。
図3に示すように、第1の実施形態に係る通信システム1000では、送信装置100と受信装置200との間でユニキャストでの通信が行われ、通信装置300それぞれは、送信装置100と受信装置200との間で送受信される通信データを受信し、受信した通信データに基づく処理を行う。つまり、第1の実施形態に係る通信システム1000では、上述した本実施形態に係る通信方法に係る処理が実現される。
したがって、例えば図2に示す構成によって、より多くの装置に対して安定的にデータを受信させることが可能な通信システムが実現される。
なお、本実施形態に係る通信方法に係る処理を行うことが可能な通信システムは、図2に示すトポロジに限られない。例えば、図2では、送信装置100が送信データを送信する対象が、送信装置100と直接的に無線通信可能な受信装置200である例を示したが、本実施形態に係る通信システムは、送信装置100が、1または2以上の中継装置を介して送信データを送信対象の受信装置200へ伝送するトポロジであってもよい。上記のように1または2以上の中継装置を介して送信データが伝送されることによって、本実施形態に係る通信システム10000では、送信データを伝送可能な通信距離をより伸ばすことが可能となる。そこで、次に、第2の実施形態に係る通信システム(以下、「通信システム2000」と示す場合がある。)として、送信装置100と受信装置200との間に中継装置が介在する通信システムについて説明する。
(II)第2の実施形態に係る通信システム
図4は、第2の実施形態に係る通信システム2000の構成の一例を示す説明図である。通信システム2000は、送信装置100と、受信装置200A、200Bと、通信装置300A、300B、300Cとを有する。
ここで、図4では、受信装置200Aが、送信装置100と受信装置200Bとの間の無線通信を中継する中継装置としての役目を果たしうる構成を示している。なお、図4では、受信装置200Aと受信装置200Bとの2つの受信装置200を有する構成を示しているが、第2の実施形態に係る通信システム2000の構成は、上記に限られない。例えば、第2の実施形態に係る通信システム2000は、3以上の受信装置200を有していてもよい。通信システム2000が3以上の受信装置200を有する場合、各受信装置200は、送信装置100と他の受信装置200との間の無線通信を中継する中継装置としての役目を果たすことが可能である。
また、図4では、図2と同様に、送信装置100と受信装置200Aとの間において送受信される通信データを受信する通信装置300として、通信装置300Aと通信装置300Bとの2つの通信装置300を有する構成を示しているが、第2の実施形態に係る通信システム2000の構成は、上記に限られない。例えば、第2の実施形態に係る通信システム2000は、第1の実施形態に係る通信システム1000と同様に、送信装置100と受信装置200Aとの間において送受信される通信データを受信する通信装置300として、1つの通信装置300を有していてもよく、また、3以上の通信装置300を有していてもよい。
また、図4では、受信装置200Aと受信装置200Bとの間において送受信される通信データを受信する通信装置300として、通信装置300Cを有する構成を示しているが、第2の実施形態に係る通信システム2000の構成は、上記に限られない。例えば、第2の実施形態に係る通信システム2000は、受信装置200Aと受信装置200Bとの間において送受信される通信データを受信する通信装置300として、複数の通信装置300を有していてもよい。
また、図4に示す通信システム2000では、通信システム2000を構成する各装置がグループ化されていてもよい。上記のようにグループ化することによって、通信システム2000では、例えば、特定のグループにのみ処理の実行を行わせることが可能となるなど、セキュリティを向上させることができる。
以下では、図4に示す構成を例に挙げて、第2の実施形態に係る通信システム2000について説明する。また、以下では、送信装置100が、受信装置200Aを介して受信装置200Bへ送信データを送信する場合、すなわち、受信装置200Aが中継装置としての役目を果たす場合を例に挙げて説明する。
送信装置100は、受信装置200Aに対してユニキャストで送信データを送信する。ここで、上記送信データのヘッダ(例えば図1のAに示すIPヘッダ)には、例えば受信装置200BのIPアドレスが設定される。
受信装置200Aは、図2に示す第1の実施形態に係る受信装置200と同様に、送信データの受信に応じた応答信号を送信装置100へ送信する。
通信装置300A、300Bそれぞれは、図2に示す第1の実施形態に係る通信装置300A、300Bと同様に、送信装置100と受信装置200Bとの間で送受信される通信データを受信する(上述した(1)の処理(通信データを受信する処理))。そして、通信装置300A、300Bそれぞれは、上述した(2)の処理(受信された通信データの中から処理に用いるデータを判別する処理)、および(3)の処理(処理に用いると判別されたデータの処理を行う処理)を行う。また、通信装置300A、300Bそれぞれは、図3に示すように、上記(3)の処理を行う場合において、ユニキャストで通信を行っている送信装置100および受信装置200のいずれに対しても応答を行わない。
また、受信装置200Aは、受信した送信データの送信対象を判定する。ここで、受信装置200Aは、例えば、送信データのヘッダに設定されているIPアドレスとして自装置に対応するIPアドレスが含まれている場合に、送信データの送信対象に自装置が含まれていると判定する。また、受信装置200Aは、送信データのヘッダに設定されているIPアドレスとして自装置に対応するIPアドレス以外のIPアドレスが含まれている場合に、送信データの送信対象の装置が他に存在すると判定する。なお、受信装置200Aにおける送信対象の判定処理が、上記に限られないことは、言うまでもない。
上記判定において送信データの送信対象として受信装置200A以外の装置が含まれている場合には、受信装置200Aは、送信対象の装置に対して送信データをユニキャストで送信(再送信)する。つまり、上記判定において送信データの送信対象として受信装置200A以外の装置が含まれている場合には、受信装置200Aは、受信した送信データの中継を行う。図4に示す例では、受信装置200Aは、受信装置200Bに対してユニキャストで送信データを再送信する。ここで、受信装置200Aは、例えば、通信装置300との間の無線通信において用いる帯域と同一の帯域を用いて送信対象の装置に対して送信データを再送信してもよいし、通信装置300との間の無線通信において用いる帯域と異なる帯域を用いて送信対象の装置に対して送信データを再送信してもよい。
また、上記判定において送信データの送信対象として受信装置200Aが含まれている場合には、受信装置200Aは、受信された送信データの中から処理に用いるデータを判別する。そして、受信装置200Aは、処理に用いると判別されたデータを処理する。ここで、受信装置200Aにおけるデータの判別処理としては、例えば、上述した通信装置300に係る(2)の処理(受信された通信データの中から処理に用いるデータを判別する処理)が挙げられる。また、受信装置200Aにおける判別されたデータの処理としては、例えば、上述した通信装置300に係る(3)の処理(処理に用いると判別されたデータの処理を行う処理)が挙げられる。
第2の実施形態に係る受信装置200は、例えば上記のように、(i)送信装置100がユニキャストで送信する送信データを受信する処理、(ii)受信した送信データの送信対象を判定する処理、(iii)送信対象の装置に対して送信データを再送信する中継処理、(iv)受信された送信データの中から処理に用いるデータを選択的に判別する処理、および(v)処理に用いると判別されたデータの処理を行う処理、を行う。受信装置200が上記(i)の処理〜(v)の処理を行うことによって、第1の実施形態に係る通信システム1000と同様の送信装置100との間におけるユニキャストでの通信に加え、送信データの中継を実現することができる。よって、受信装置200が上記(i)の処理〜(v)の処理を行うことによって、送信データを伝送可能な通信距離をより伸ばすことが可能な通信システムが実現される。
受信装置200Aから再送信された送信データが受信されると、受信装置200Bは、図2に示す第1の実施形態に係る受信装置200と同様に、送信データの受信に応じた応答信号を受信装置200Aへ送信する。
通信装置300Cは、図2に示す第1の実施形態に係る通信装置300A、300Bと同様に、受信装置200Aと受信装置200Bとの間で送受信される通信データを受信する(上述した(1)の処理(通信データを受信する処理))。ここで、例えば図4に示すように、本実施形態に係る通信装置300が受信する送信データは、送信装置100が送信した送信データに限られず、例えば、他の装置(図4の例では、受信装置200A)によって再送信された送信データであってもよい。
そして、通信装置300Cは、上述した(2)の処理(受信された通信データの中から処理に用いるデータを判別する処理)、および(3)の処理(処理に用いると判別されたデータの処理を行う処理)を行う。また、通信装置300Cは、図3に示すように、上記(3)の処理を行う場合において、ユニキャストで通信を行っている受信装置200Aおよび受信装置200Bのいずれに対しても応答を行わない。
図4に示すように、第2の実施形態に係る通信システム2000では、送信装置100と受信装置200Aとの間でユニキャストでの通信が行われ、通信装置300A、300Bそれぞれは、送信装置100と受信装置200Aとの間で送受信される通信データを受信し、受信した通信データに基づく処理を行う。つまり、第2の実施形態に係る通信システム2000を構成する送信装置100、受信装置200A、および通信装置300A、300Bは、第1の実施形態に係る通信システム1000と同様に、上述した本実施形態に係る通信方法に係る処理を行う。
また、図4に示すように、第2の実施形態に係る通信システム2000では、受信装置200Aが、受信した送信データに基づき上記(i)の処理〜(v)の処理を行うことによって、送信データの送信対象となっている受信装置200B(他の装置の一例)に対して、当該送信データを選択的にユニキャストで再送信する。そして、通信装置300Cは、受信装置200Aと受信装置200Bとの間で送受信される通信データを受信し、受信した通信データに基づく処理を行う。つまり、第2の実施形態に係る通信システム2000を構成する受信装置200A(中継装置)、受信装置200B、および通信装置300Cは、第1の実施形態に係る通信システム1000と同様に、上述した本実施形態に係る通信方法に係る処理を行う。
よって、図4に示す第2の実施形態に係る通信システム2000では、中継装置の役目を果たす受信装置200Aを介して、送信装置100から受信装置200Bへと送信データが伝送される。また、通信装置300A、300B、300Cそれぞれは、本実施形態に係る通信方法に係る、上述した(1)の処理(通信データを受信する処理)〜(3)の処理(処理に用いると判別されたデータの処理を行う処理)を行う。つまり、通信システム2000は、従来のユニキャスト無線通信を用いる場合よりも、より多くの通信装置300にデータを伝送することができ、また、従来のマルチキャスト無線通信を用いる場合よりも、データを正常に受信できない装置が存在する可能性をより低減させることができる。
したがって、第2の実施形態に係る通信システム2000は、送信データを伝送可能な通信距離をより伸ばしつつ、より多くの装置に対して安定的にデータを受信させることができる。
[通信システム10000の適用例]
本実施形態に係る通信システム10000は、例えば、図2に示す第1の実施形態に係る通信システム1000の構成や、図4に示す第2の実施形態に係る通信システム2000の構成によって、より多くの装置に対して安定的にデータを受信させることを実現することができる。そこで、次に、本実施形態に係る通信システム10000の適用例として、送信装置100から送信される送信データに含まれる、受信装置200、通信装置300が処理に用いるデータが、例えば、画像や音声を示すコンテンツデータである場合を例に挙げて説明する。ここで、上記コンテンツデータは、例えば、撮像装置などによってリアルタイムに撮像されている画像や音声を示すデータであってもよく、また、予め記録媒体などに記憶されている非リアルタイムの画像や音声を示すデータであってもよい。
なお、以下では、通信システム10000が、図4に示す第2の実施形態に係る通信システム2000の構成である場合を例に挙げて、本実施形態に係る通信システム10000における処理について、より具体的に説明する。また、以下では、送信装置100が、例えば図1に示す画像データを含む送信データを送信し、受信装置200が、送信データに含まれる画像データが示す画像を表示画面に表示させる場合を例に挙げる。
〔1〕通信システム10000における処理の第1の例
図5〜図7は、本実施形態に係る通信システム10000における処理の第1の例を説明するための説明図である。ここで、図5は、送信装置100における処理の一例を示しており、図6は、受信装置200における処理の一例を示している。また、図7は、通信システム10000におけるタイミングチャートの一例を示している。
まず図5を参照して、送信装置100における処理の一例について説明する。
送信装置100は、送信データの送信開始時間(例えば、送信開始時刻)を取得する(S100)。ここで、送信装置100は、例えば、画像データを生成した撮像装置などの外部装置から、画像データと共に受信された送信開始指示信号から送信開始時間を取得するが、ステップS100の処理は、上記に限られない。例えば、送信装置100は、操作部(後述する)から伝達されるユーザ操作に応じた操作信号から送信開始時間を取得してもよいし、予め規定された時間を送信開始時間としてもよい。
ステップS100において送信開始時間が取得されると、送信装置100は、現在の時間が、送信開始時間に該当するか否かを判定する(S102)。ステップS102において送信開始時間に該当すると判定されない場合には、送信装置100は、送信開始時間に該当すると判定されるまで処理を進めない。
ステップS102において送信開始時間に該当すると判定された場合には、送信装置100は、送信対象の画像データを符号化する(S104)。ここで、送信装置100は、例えば、画像データを1フィールド内のNライン(Nは、1以上の整数。)の符号化単位で符号化する。また、送信装置100が行う符号化処理としては、例えば、ウェーブレット変換を用いた処理が挙げられるが、送信装置100における符号化処理が、ウェーブレット変換を用いることに限られないことは、言うまでもない。
ステップS104において画像データの符号化が行われると、送信装置100は、送信待機を行うか否かを判定する(S106)。ここで、送信装置100は、例えば、通信経路や送信に係る処理の進行状況に基づいて送信の準備が完了しているかを判定し、送信の準備が完了していると判定されない場合に、送信待機を行うと判定する。
ステップS106において送信待機を行うと判定された場合には、送信装置100は、送信待機を行うと判定されないまで、処理を進めない。また、ステップS106において送信待機を行うと判定された場合、ステップS104において符号化された画像データは、例えば、送信装置100が備えるRAM(Random Access Memory)などに記憶される。
また、ステップS106において送信待機を行うと判定されない場合には、送信装置100は、例えば図1に示すような画像データを含む送信データを生成し(S108)、生成された送信データを送信対象の受信装置200、または中継装置の役目を果たす受信装置200へ向けて、ユニキャストで送信する(S110)。
送信装置100は、例えば図5に示す処理を行うことによって、送信データを送信する。なお、本実施形態に係る送信装置100における処理が、図5に示す処理に限られないことは、言うまでもない。
次に図6を参照して、受信装置200における処理の一例について説明する。
受信装置200は、表示開始時間(例えば、表示開始時刻)を指定し(S200)、表示開始時間を観測するためのタイマーを起動する(S202)。ここで、受信装置200は、例えば、送信装置100から送信されるパケットやビーコンなどの受信に応じて、受信装置200が備える記憶部(後述する)などの所定のアドレスに表示開始時間を示すデータを書き込むことにより行う。また、このとき、受信装置200は、上記送信開始指示信号を送信装置100に対して送信する撮像装置などの外部装置に対して、送信開始指示信号の送信を指示する命令を送信してもよい。
受信装置200は、送信装置100から送信される送信データを受信することにより、当該送信データに含まれる画像データを受信する(S204)。受信装置200は、受信した画像データを、例えば、受信装置200が備えるRAMなどに記録する。なお、図6では示していないが、受信装置200は、送信データの受信の結果に応じた応答信号を送信装置100に対して送信する。
受信装置200は、現在の時間がステップS200において指定された表示開始時間に該当するか否かを判定する(S206)。ステップS206において表示開始時間に該当すると判定されない場合には、受信装置200は、表示開始時間に該当すると判定されるまで処理を進めない。
ステップS206において表示開始時間に該当すると判定されない場合には、受信装置200は、例えばRAMなどに記憶された画像データに基づいて、送受信対象の画像データの受信が完了しているか否かを判定する(S208)。ステップS208において画像データの受信が完了していると判定されない場合には、受信装置200は、ステップS200からの処理を再度行い、画像データの送受信タイミングを再調整する。
ステップS208において画像データの受信が完了していると判定された場合には、受信装置200は、例えばRAMなどに記憶された画像データに対して符号化単位の復号処理を行う(S210)。
ステップS210の処理が行われると、受信装置200は、画像内の全てのライン(例えば、水平方向のライン)に対する処理が完了したか否かを判定する(S212)。
ステップS212において処理が完了したと判定されない場合には、受信装置200は、ステップS210からの処理を繰り返す。また、ステップS212において処理が完了したと判定された場合には、受信装置200は、送信データの受信に係る処理を終了する。
受信装置200は、例えば図6に示す処理を行うことによって、送信データを受信し、送信データに含まれる画像データが示す画像を表示画面に表示させることが可能な状態とする。なお、本実施形態に係る受信装置200における処理が、図6に示す処理に限られないことは、言うまでもない。
通信システム10000では、例えば、送信装置100が上記図5に示す処理を行い、受信装置200が上記図6に示す処理を行うことによって、送信装置100と受信装置200との間で処理の同期を図る。また、通信システム10000では、例えば、中継装置の役目を果たす受信装置200(例えば受信装置200A)が上記図5に示す処理を行い、中継装置の役目を果たす受信装置200とユニキャストで通信を行う他の受信装置200(例えば受信装置200B)が上記図6に示す処理を行うことによって、中継装置の役目を果たす受信装置200と他の受信装置200との間で処理の同期を図ることができる。
図7に示すように、上記のような通信システム10000における第1の例に係る処理が行われることによって、通信システム10000では、受信装置200Aの時刻(Tx)0のタイミングと、受信装置200Bの時刻0のタイミングとが、無線遅延時間分シフトされて同期されたタイミングとなる。ここで、通信システム10000における第1の例に係る処理では、送信装置100と受信装置200Aとの間における同期処理と、受信装置200Aと受信装置200Bとの間の同期処理とが独立に行われる。そのため、図7のA、Bに示すように、受信装置200Aにおける画像の出力タイミングと、受信装置200Bにおける画像の出力タイミングとは異なることとなる。つまり、通信システム10000における第1の例に係る処理が行われることによって、通信システム10000では、上記出力タイミングの相違により画像データのVSYNCに相当するタイミングが異なることから、装置ごとに画像(音声も同様)の出力タイミングが異なる。
〔2〕通信システム10000における処理の第2の例
上記第1の例に係る処理が行われる場合には、例えば図7に示すように、装置ごとにコンテンツの出力タイミングが異なる、すなわち、装置間においてコンテンツの出力タイミングにずれが生じることが起こりうる。ここで、上記ずれは、例えば、無線伝送に係る遅延や、中継装置の役目を果たす受信装置200Aにおける中継処理に係る遅延により生じうる。以下では、無線伝送に係る遅延時間を「無線遅延時間」と示し、また、中継処理に係る遅延時間を「中継遅延時間」と示す。
通信システム10000では、無線で送信データが伝送されるため、例えば受信装置200や通信装置300を移動させることは、有線で送信データが伝送される場合よりもより容易である。そのため、例えば、図4に示す通信装置300Cを、通信装置300Aと同様の位置に移動させた場合には、通信装置300Cが受信する通信データが、受信装置200Aと受信装置200Bとの間の通信データから送信装置100と受信装置200Aとの間の通信データへと切り替わること(いわゆる、Handoff)が起こりうる。上記のように通信装置300Cが受信する通信データが切り替わった場合には、例えば、中継処理に係る遅延などに相当する分、通信装置300Cがコンテンツデータを処理した結果出力されるコンテンツにずれが生じうる。ここで、上記のようにコンテンツにずれが生じた場合には、例えば、表示画面に表示されている画像の乱れや、音声出力デバイスから出力される音声の乱れが、ユーザに認識される恐れがある。
したがって、通信システム10000において受信装置200のユーザや通信装置300のユーザに、再生品質の高いコンテンツを提供するためには、通信システム10000においてコンテンツの出力タイミングの同期をとることがより望ましい。
そこで、次に、通信システム10000における第2の例に係る処理として、通信システム10000においてコンテンツの出力タイミングの同期をとることが可能な処理の一例について説明する。
図8は、本実施形態に係る通信システム10000における処理の第2の例を説明するための説明図である。ここで、図8は、受信装置200Aが、受信装置200Aにおける表示開始タイミングを、受信装置200Aにおける中継遅延時間と、受信装置200Aと受信装置200Bとの間の無線遅延時間とを加味して決定する方法を示している。
より具体的には、通信システム10000では、受信装置200Aが、送信装置100と受信装置200Aとの間の同期処理(上述した通信システム10000における第1の例に係る処理と同様の処理)において決定した表示開始タイミングに、下記の数式1で算出される「表示開始タイミング待ち時間」を加えることによって、受信装置200Aにおける表示開始タイミングと受信装置200Bにおける表示開始タイミングとを一致させる。
表示開始タイミング待ち時間=(受信装置200Aにおける中継遅延時間)+(受信装置200Aと受信装置200Bとの間の無線遅延時間)
・・・(数式1)
上記のように受信装置200Aと受信装置200Bとにおける表示開始タイミングを一致させることによって、画像データのVSYNCに相当するタイミングも一致する。よって、例えば無線情報(例えば、RSSI(Receive Signal Strength Indication)情報、パケットエラー情報、パケット遅延など)に基づき送信データの受信元を切り替えたとしても、上記コンテンツのずれは生じない。
ここで、受信装置200Aは、受信装置200Aにおける中継処理に要する時間を中継遅延時間として取得することが可能である。また、通信システム10000において中継装置の役目を果たす他の受信装置200がさらに存在する場合には、当該他の受信装置200における中継遅延時間を示す中継遅延時間情報を、当該他の受信装置200から取得することにより、通信システム10000全体における中継遅延時間を特定することができる。
また、受信装置200Aは、例えば、予め測定された無線遅延時間を示す無線遅延時間情報を用いて無線遅延時間を特定する。ここで、受信装置200Aは、受信装置200Aの記憶部(後述する)に記憶されている無線遅延時間情報を用いて無線遅延時間を特定するが、受信装置200Aにおける無線遅延時間情報の取得方法は、上記に限られない。例えば、受信装置200Aは、着脱可能な外部記録媒体や、サーバなどの外部装置から無線遅延時間情報を取得してもよい。
なお、本実施形態に係る通信システム10000における無線遅延時間の特定方法は、上記無線遅延時間情報を用いる方法に限られない。例えば、通信システム10000では、通信システム10000を構成する送信装置100、受信装置200、通信装置300それぞれが、無線遅延時間を算出することも可能である。
図9は、本実施形態に係る通信システム10000における無線遅延時間の特定方法の一例を示す説明図である。ここで、図9は、受信装置200Aが、送信装置100と受信装置200Aとの間における無線遅延時間を算出する例を示している。なお、以下では、説明を省略するが、本実施形態に係る通信システム10000を構成する送信装置100、受信装置200、通信装置300それぞれは、下記に示す方法に係る処理を行うことによって、装置間における無線遅延時間を算出することができる。
受信装置200Aは、受信装置200Aの基準時間を示す時間情報(例えば、受信装置200Aにおける時刻0を示す情報)を、送信装置100へ送信する。上記時間情報を受信した送信装置100は、時間情報に基づいて、送信装置100の時間を調整する。送信装置100における時間情報に基づく時間の調整としては、例えば、送信装置100が、送信装置100の時刻を時間情報が示す時刻に合わせることが挙げられる。上記の時点において、受信装置200Aと送信装置100とにおける絶対時刻の差は無線遅延時間となるが、送信装置100は、絶対時刻を保持していないので、当該無線遅延時間を把握することはできない。つまり、送信装置100と受信装置200Aとは、無線遅延時間分のずれを持ったまま動作する。
次に、送信装置100は、受信装置200Aに対して送信装置100の視点での時間情報が付加されたデータ(パケット)を送信する。ここで、上記データは、例えば、図1に示すようなコンテンツデータを含む送信データであってもよいし、時間情報を送信するためのデータであってもよい。また、上記データは、例えば、無線層でやりとりされるACKパケット(例えば、Immediate ACKや、Delayed ACK)であってもよい。
受信装置200Aは、送信装置100から送信された上記データを受信した時刻αと、受信したデータに含まれる時間情報が示す時刻βとに基づき、例えば下記の数式2により無線遅延時間を算出する。
無線遅延時間=(α−β)/2
・・・(数式2)
上記のように、中継装置の役目を果たす受信装置200Aは、受信装置200A(自装置)の時間を示す時間情報を送信装置100に対して送信する。そして、受信装置200Aは、時間情報に基づき時間が調整された送信装置100から送信される、送信データなどのデータを受信し、受信したデータを用いることによって、無線遅延時間(通信遅延時間)を算出することができる。
また、受信装置200Aは、図9に示す処理と同様の処理を、受信装置200Bとの間で行うことによって、受信装置200Aと受信装置200Bとの間における無線遅延時間を算出することができる。
なお、上記では、送信装置100と受信装置200Aとの間の無線遅延時間の算出処理と、受信装置200Aと受信装置200Bとの間の無線遅延時間の算出処理との一例を示したが、本実施形態に係る通信システム10000における無線遅延時間の算出処理は、上記に限られない。例えば、通信システム10000を構成する通信装置300は、送信データを送信する装置(例えば、送信装置100や、中継装置の役目を果たす受信装置200A)との間で、図9に示す処理と同様の処理を行うことによって、送信データを送信する装置との間の無線遅延時間(通信遅延時間)を算出することができる。
また、通信装置300が算出した無線遅延時間が経過した後に上記(3)の処理(処理に用いると判別されたデータの処理を行う処理)を行うことによって、通信システム10000では、通信システム10000全体においてコンテンツの出力タイミングの同期が図られる。
また、通信装置300が、例えば、中継装置の役目を果たす受信装置200A(送信装置100とは異なる他の送信装置)と送信データの送信対象の受信装置200Bとの間の通信遅延時間を示す通信遅延時間情報を、受信装置200Aから取得し、当該通信遅延時間情報に基づいて上記(3)の処理を行ってもよい。ここで、本実施形態に係る通信遅延時間情報としては、例えば、中継装置の役目を果たす受信装置200における中継遅延時間を示す中継遅延時間情報や、当該受信装置200において算出された無線遅延時間を示す情報などが挙げられる。また、本実施形態に係る通信遅延時間情報は、通信システム10000を構成する各装置における処理を開始するタイミングを制御する情報(タイミング制御情報)と捉えることも可能である。
通信装置300が、例えば通信遅延時間情報が示す遅延時間(例えば、中継遅延時間情報が示す中継遅延時間および無線遅延時間)が経過した後に上記(3)の処理を行うことによって、通信システム10000全体におけるコンテンツの出力タイミングの同期をさらに図ることができる。
ここで、上記通信遅延時間情報は、例えば、送信データのデータフォーマットの一部に含まれて通信システム10000を構成する各装置に送信されてもよいし、MulticastパケットやMultiple−Unicastパケットなどによって、通信システム10000を構成する各装置に送信されてもよい。
図10は、本実施形態に係る通信システム10000における処理の第2の例を説明するための説明図である。ここで、図10は、受信装置200Aが上記図9に示す処理と同様の処理を行うことによって算出した無線遅延時間を用いる場合における、通信システム10000の処理の一例を示している。
上記のように、受信装置200Aは、図9に示す処理と同様の処理を、受信装置200Bとの間で行うことによって、受信装置200Aと受信装置200Bとの間における無線遅延時間を算出することが可能である。よって、図10に示すように、受信装置200Aにおける表示開始タイミングと受信装置200Bにおける表示開始タイミングとを一致させることができる。
ここで、受信装置200における処理について、より具体的に説明する。図11は、本実施形態に係る中継装置の役目を果たす受信装置200における処理の一例を示す流れ図である。ここで、図11は、図4に示す受信装置200Aが、例えば図1に示す画像データを含む送信データを受信する場合における処理の一例を示している。
受信装置200Aは、画像データの受信が開始されると(S300)、中継を行うパケット(中継パケット)があるか否かを判定する(S302)。ここで、受信装置200Aは、例えば、送信データの送信対象として受信装置200A(自装置)以外の装置が含まれている場合に、中継を行うパケットがあると判定する。また、受信装置200Aは、他の受信装置200(例えば受信装置200B)から時間情報を含むパケットが受信された場合には、中継を行うパケットがあると判定してもよい。
ステップS302において中継を行うパケットがあると判定されない場合には、受信装置200Aは、処理を終了する。なお、本実施形態に係る受信装置200Aにおける処理は、上記に限られない。例えば、受信装置200Aは、ステップS302において中継を行うパケットがあると判定されない場合、ステップS310からの処理を行ってもよい。
ステップS302において中継を行うパケットがあると判定された場合には、受信装置200Aは、当該パケットを、送信対象の受信装置200Bへと送信する(S306)。
ステップS304においてパケットを受信装置200Bへ送信すると、受信装置200Aは、受信装置200Bから送信された、時間情報を含むパケットが受信されたか否かを判定する(S306)。ステップS306において時間情報を含むパケットが受信されたと判定されない場合には、受信装置200Aは、ステップS300からの処理を繰り返す。
また、ステップS306において時間情報を含むパケットが受信されたと判定された場合には、受信装置200Aは、例えば、上記数式2より受信装置200Bとの間における無線遅延時間を算出し、上記数式1より表示開始タイミング待ち時間を算出する(S308)。
ステップS308の処理が行われると、受信装置200Aは、現在の時間が、表示開始時間に該当するか否かを判定する(S310)。ステップS310において表示開始時間に該当すると判定されない場合には、受信装置200Aは、表示開始時間に該当すると判定されるまで処理を進めない。
また、ステップS310において表示開始時間に該当すると判定された場合には、受信装置200Aは、受信した画像データに対応する画像の表示を開始する(S312)。
受信装置200は、通信システム10000における第2の例に係る処理として、例えば図11に示す処理を行う。なお、本実施形態に係る受信装置200における処理が、図11に示す処理に限られないことは、言うまでもない。
通信システム10000は、通信システム10000における第2の例に係る処理として、例えば上記のような処理を行うことによって、受信装置200A、受信装置200B、通信装置300における表示開始タイミングを同期させることができる。
なお、本実施形態に係る通信システム10000における第2の例に係る処理は、上記に限られない。例えば、通信システム10000を構成する受信装置200、通信装置300それぞれは、図7に示す処理(第1の例に係る処理)を行うか、または、図8または図10に示す処理(第2の例に係る処理)を行うかを選択可能な構成であってもよい。
より具体的には、例えば、受信装置200、通信装置300それぞれは、例えば、送信装置100と送信データの送信対象の受信装置200(例えば受信装置200B)との間における通信遅延時間を加味して処理を行うか否かが設定された遅延制御情報を記憶する。ここで、上記通信遅延時間としては、例えば、数式1で示される表示開始タイミング待ち時間に相当する時間であってもよいし、中継装置としての役目を果たす受信装置200(例えば受信装置200A)と送信データの送信対象の受信装置200(例えば受信装置200B)との間の無線遅延時間であってもよい。そして、受信装置200、通信装置300それぞれは、遅延制御情報が通信遅延時間を加味して処理を行うことを示す場合に、例えば図8または図10に示す処理(第2の例に係る処理)を行う。
ここで、遅延制御情報は、例えば、各装置が有する操作部(後述する)、または、リモート・コントローラなどの外部操作装置を用いたユーザ操作により設定されるが、遅延制御情報の設定方法は、上記に限られない。例えば、本実施形態に係る通信システム10000では、各装置を管理する管理サーバ(図示せず)から送信される設定命令に基づいて、遅延制御情報が設定されてもよい。
また、例えば図8では、受信装置200Aの時刻(Tx)は、最初に中継するパケットを送信する時刻を0に設定しているが、本実施形態に係る通信システム10000における処理は、上記に限られない。例えば、受信装置200Aの時刻(Tx)と受信装置200Aの時刻(Rx)とが、同一の時刻制御情報により制御されてもよい。上記の場合には、例えば、受信装置200Aは、受信装置200Aの時刻(Rx)のスタートタイミングで時刻制御情報による制御を開始し、受信装置200Aの時刻(Tx)は、時刻制御情報が示す時刻とする。例えば上記のように、受信装置200Aの時刻(Tx)と受信装置200Aの時刻(Rx)とを同一の時刻制御情報で制御することによって、例えば図10に示すような、受信装置200Aが、送信系(Tx)および受信系(Rx)で受信装置200Aの時刻を一系統しか有さない場合であっても、受信装置200Aにおける時間管理をより容易化することができる。
〔3〕通信システム10000における処理の第3の例
上記第2の例に係る処理が行われることによって、通信システム10000では、受信装置200A、受信装置200B、通信装置300における表示開始タイミング(コンテンツの出力開始タイミングの一例)の同期を図ることができる。しかしながら、本実施形態に係る通信システム10000における表示開始タイミングの同期方法は、上記に限られない。例えば、通信システム10000では、中継装置の役目を果たす受信装置200が、同期をとるためのビーコンを送信することによって、通信システム10000における表示開始タイミングの同期をとることも可能である。そこで、次に、通信システム10000における第3の例に係る処理として、中継装置としての役目を果たす受信装置200がビーコンによる管理機能(AP(Access Point)機能)を有する場合における処理について説明する。なお、以下では、通信システム10000が、図4に示す第2の実施形態に係る構成を有し、送信装置100と受信装置200Aとの間と、受信装置200Aと受信装置200Bとの間とが、同一のSSID(Service Set IDentifier)で管理されている場合を例に挙げて説明する。
図12は、本実施形態に係る通信システム10000における処理の第3の例を説明するための説明図である。ここで、図12に示すAは、通信システム10000における時刻同期を行った直後の通信システム10000における各装置の動作の一例を示している。また、図12に示すBは、図12のAに示す処理によって取得された時間情報を用いて、送信装置100から受信装置200Bまで画像データが送受信される場合における動作の一例を示してる。
ここで、中継装置の役目を果たす受信装置200における処理について、より具体的に説明する。図13は、本実施形態に係る中継装置の役目を果たす受信装置200Aにおける処理の一例を示す流れ図である。ここで、以下では、送信装置100が、送信する画像データ(コンテンツデータの一例)に、送信時刻を示す送信時刻情報を挿入している場合を例に挙げて説明する。なお、本実施形態に係る送信時刻情報は、コンテンツデータに挿入されて送信されることに限られない。例えば、通信システム10000では、送信装置100は、コンテンツデータと同期して、送信時刻情報を送信してもよい。上記の場合、送信時刻情報は、同期情報としての役目を果たすこととなる。
受信装置200Aは、ビーコンとして受信装置200Aの基準時間を示す時間情報(例えば、受信装置200Aにおける時刻0を示す情報)を送信した後に、画像データが受信されると(S400)、受信装置200Aにおける受信時の時刻に基づき画像データを受信した受信タイミングを把握する(S402)。
ステップS402の処理が行われると、受信装置200Aは、受信した画像データに挿入されている送信時刻情報を抽出する(S404)。そして、受信装置200Aは、ステップS402において把握した受信タイミングに対応する時刻と、ステップS404において抽出した送信時刻情報が示す送信時刻とに基づいて、無線遅延時間を算出する(S406)。
図14は、本実施形態に係る通信システム10000における処理の第3の例を説明するための説明図であり、通信システム10000のネットワーク・トポロジの一部を示している。通信システム10000を構成する送信装置100、受信装置200A、および受信装置200Bは、図14に示すネットワーク・トポロジを構成するので、受信装置200Aは、例えば上記数式2に示す演算を行うことによって、無線遅延時間を算出することができる。
再度図13を参照して、中継装置の役目を果たす受信装置200Aにおける処理の一例について説明する。ステップS406において無線遅延時間が算出されると、受信装置200Aは、例えば上記数式1より表示開始タイミング待ち時間を算出し、表示開始時間を特定する(S408)。
ステップS408の処理が行われると、受信装置200Aは、現在の時間が、表示開始時間に該当するか否かを判定する(S410)。ステップS410において表示開始時間に該当すると判定されない場合には、受信装置200Aは、表示開始時間に該当すると判定されるまで処理を進めない。
また、ステップS410において表示開始時間に該当すると判定された場合には、受信装置200Aは、受信した画像データに対応する画像の表示を開始する(S412)。
受信装置200は、通信システム10000における第3の例に係る処理として、例えば図13に示す処理を行う。なお、本実施形態に係る受信装置200における処理が、図13に示す処理に限られないことは、言うまでもない。
通信システム10000は、通信システム10000における第3の例に係る処理として、例えば上記のような処理を行うことによって、例えば時間情報のパケット転送を行なうことなく、受信装置200A、受信装置200B、通信装置300における表示開始タイミングを同期させることができる。
なお、本実施形態に係る通信システム10000における第3の例に係る処理は、上記に限られない。例えば、上記では、中継装置の役目を果たす受信装置200がビーコン送信機能を有する装置(すなわち、AP機能を有する装置)である場合を例に挙げたが、中継装置の役目を果たす受信装置200は、ビーコン送信機能を有していなくてもよい。上記の場合には、例えば、中継装置の役目を果たす受信装置200が、MulticastパケットまたはMultiple−Unicastパケットを送信する機能を有し、これらのパケットに受信装置200の基準時間を示す時間情報(例えば、受信装置200における時刻0を示す情報)を挿入して送信することによって、受信装置200がビーコン送信機能を有する場合と同様の動作を実現することができる。
(本実施形態に係る送信装置、受信装置、通信装置)
次に、上述した本実施形態に係る通信システム10000を構成する送信装置100、受信装置200、および通信装置300それぞれの構成の一例について説明する。
[1]送信装置100
図15は、本実施形態に係る送信装置100の構成の一例を示すブロック図である。送信装置100は、例えば、通信部102と、記憶部104と、制御部106とを備える。
また、送信装置100は、例えば、ROM(Read Only Memory。図示せず)や、RAM(図示せず)、ユーザが操作可能な操作部(図示せず)、様々な画面を表示画面に表示する表示部(図示せず)などを備えていてもよい。送信装置100は、例えば、データの伝送路としてのバス(bus)により上記各構成要素間を接続する。
ROM(図示せず)は、制御部106が使用するプログラムや演算パラメータなどの制御用データを記憶する。RAM(図示せず)は、制御部106により実行されるプログラムなどを一時的に記憶する。操作部(図示せず)としては、例えば後述する操作デバイスが挙げられ、表示部(図示せず)としては、例えば後述する表示デバイスが挙げられる。
〔送信装置100のハードウェア構成例〕
図16は、本実施形態に係る送信装置100のハードウェア構成の一例を示す説明図である。送信装置100は、例えば、MPU150と、ROM152と、RAM154と、記録媒体156と、入出力インタフェース158と、操作入力デバイス160と、表示デバイス162と、通信インタフェース164とを備える。また、送信装置100は、例えば、データの伝送路としてのバス166で各構成要素間を接続する。
MPU150は、MPU(Micro Processing Unit)や制御機能を実現するための各種回路が集積された集積回路などで構成され、送信装置100全体を制御する制御部106として機能する。また、MPU150は、送信装置100において、後述する通信制御部110としての役目を果たすこともできる。
ROM152は、例えばMPU150が使用するプログラムや演算パラメータなどの制御用データを記憶し、また、RAM154は、例えばMPU150により実行されるプログラムなどを一次的に記憶する。
記録媒体156は、送信装置100における記憶手段であり、記憶部104として機能する。記録媒体156には、例えば、画像データなどのコンテンツデータや、アプリケーションなどが記憶される。ここで、記録媒体156としては、例えば、ハードディスク(Hard Disk)などの磁気記録媒体や、フラッシュメモリ(flash memory)、MRAM(Magnetoresistive Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)などの不揮発性メモリ(nonvolatile memory)が挙げられる。また、記録媒体156は、送信装置100から着脱可能であってもよい。
入出力インタフェース158は、例えば、操作入力デバイス160や、表示デバイス162を接続する。操作入力デバイス160は、操作部(図示せず)として機能し、また、表示デバイス162は、表示部(図示せず)として機能する。ここで、入出力インタフェース160としては、例えば、USB(Universal Serial Bus)端子や、DVI(Digital Visual Interface)端子、HDMI(High-Definition Multimedia Interface)端子、各種処理回路などが挙げられる。また、操作入力デバイス160は、例えば、送信装置100上に備えられ、送信装置100の内部で入出力インタフェース158と接続される。操作入力デバイス160としては、例えば、ボタン、方向キー、ジョグダイヤルなどの回転型セレクター、あるいは、これらの組み合わせなどが挙げられる。また、表示デバイス162は、例えば、送信装置100上に備えられ、送信装置100の内部で入出力インタフェース158と接続される。表示デバイス162としては、例えば、液晶ディスプレイ(Liquid Crystal Display;LCD)や有機ELディスプレイ(organic ElectroLuminescence display。または、OLEDディスプレイ(Organic Light Emitting Diode display)ともよばれる。)などが挙げられる。なお、入出力インタフェース158が、送信装置100の外部装置としての操作入力デバイス(例えば、キーボードやマウスなど)や表示デバイス(例えば、外部ディスプレイなど)と接続することも可能であることは、言うまでもない。また、表示デバイス162は、例えばタッチスクリーンなどのように、表示とユーザ操作とが可能なデバイスであってもよい。
通信インタフェース164は、送信装置100が備える通信手段であり、ネットワークを介して(あるいは、直接的に)外部装置と無線で通信を行うための通信部102として機能する。ここで、通信インタフェース164としては、例えば、IEEE802.11nポートおよび送受信回路や、通信アンテナおよびRF(Radio Frequency)回路などが挙げられる。なお、本実施形態に係る通信インタフェース164は、上記に限られない。例えば、通信インタフェース164は、例えば図2や図4に示すような無線通信ネットワークを構成することが可能な、任意の通信方式に対応するデバイスが挙げられる。
送信装置100は、例えば図16に示す構成によって、受信装置200と通信を行い、送信データを送信する。
なお、本実施形態に係る送信装置100の構成は、図16に示す構成に限られない。例えば、送信装置100は、ネットワークを介して(あるいは、直接的に)外部装置と有線で通信を行うための他の通信手段をさらに備えていてもよい。上記送信装置100が備える他の通信手段としては、例えば、LAN(Local Area Network)端子および送受信回路などが挙げられる。
再度図15を参照して、送信装置100の構成の一例について説明する。通信部102は、送信装置100が備える通信手段であり、ネットワークを介して(あるいは、直接的に)外部装置と無線で通信を行う役目を果たす。ここで、通信部102としては、例えば、IEEE802.11nポートおよび送受信回路や、通信アンテナおよびRF回路などが挙げられる。
記憶部104は、送信装置100が備える記憶手段である。ここで、記憶部104としては、例えば、ハードディスクなどの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリなどが挙げられる。
また、記憶部104は、例えば、画像データなどのコンテンツデータや、アプリケーションなどを記憶する。図15では、画像データ120、…が記憶部104に記憶されている例を示している。
制御部106は、例えば、MPUなどで構成され、送信装置100全体を制御する役目を果たす。また、制御部106は、例えば、通信制御部110を備える。
通信制御部110は、通信部102を介した外部装置との通信を制御する。より具体的には、通信制御部110は、例えば、図5に示す処理を主導的に行うことによって、図3に示すように送信データを送信する。ここで、通信制御部110は、画像データを送信する場合には、例えば記憶部104に記憶された画像データを送信する。なお、通信制御部110は、例えば外部撮像装置において撮像により生成された画像データなど、外部装置から送信された画像データを受信し、受信した画像データを送信対処の受信装置200へ送信してもよい。
送信装置100は、例えば図15に示す構成によって、外部装置と通信を行い、送信データを特定の装置に対して送信する。なお、本実施形態に係る送信装置100の構成は、図15に示す構成に限られない。例えば、送信装置100は、コンテンツデータの符号化などの各種処理を行う処理部をさらに備えていてもよい。
また、上記では、本実施形態に係る通信システム10000を構成する構成要素として送信装置100を挙げて説明したが、本実施形態は、かかる形態に限られない。本実施形態は、例えば、PC(Personal Computer)やサーバなどのコンピュータ、携帯電話やPHS(Personal Handyphone System)などの携帯型通信装置、映像/音楽再生装置、映像/音楽記録再生装置、ゲーム機、撮像装置など、通信機能を有する様々な機器に適用することができる。
[2]受信装置200
次に、本実施形態に係る受信装置200の構成の一例について説明する。図17は、本実施形態に係る受信装置200の構成の一例を示すブロック図である。ここで、図17は、中継装置としての役目を果たすことが可能な受信装置200の構成の一例を示している。
受信装置200は、例えば、通信部202と、制御部204と、操作部206と、表示部208とを備える。
また、受信装置200は、例えば、ROM(図示せず)や、RAM(図示せず)、記憶部(図示せず)などを備えていてもよい。受信装置200は、例えば、データの伝送路としてのバスにより上記各構成要素間を接続する。
ROM(図示せず)は、制御部204が使用するプログラムや演算パラメータなどの制御用データを記憶する。RAM(図示せず)は、制御部204により実行されるプログラムなどを一時的に記憶する。
記憶部(図示せず)は、受信装置200が備える記憶手段である。ここで、記憶部(図示せず)としては、例えば、ハードディスクなどの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリが挙げられる。
〔受信装置200のハードウェア構成例〕
受信装置200は、例えば図16に示す送信装置100と同様のハードウェア構成を有する。ここで、図16に示すMPU150は、制御部204として機能する。また、MPU150は、受信装置200において、後述する中継判定部210、中継処理部212、データ判別部214、および処理部216としての役目を果たすこともできる。また、図16に示す操作入力デバイス160は、操作部206として機能し、図16に示す表示デバイス162は、表示部208として機能する。また、図16に示す通信インタフェース164は、通信部202として機能する。
なお、受信装置200のハードウェア構成は、図16に示す構成に限られない。例えば、受信装置200は、通信インタフェース164に加え、1または2以上の他の通信手段をさらに備えていてもよい。ここで、受信装置200が備える他の通信手段としては、ネットワークを介して(あるいは、直接的に)外部装置と有線で通信を行う通信手段や、ネットワークを介して(あるいは、直接的に)外部装置と無線で通信を行う通信手段が挙げられる。上記外部装置と有線で通信を行う通信手段としては、例えば、LAN端子および送受信回路などが挙げられる。また、上記外部装置と無線で通信を行う通信手段としては、例えば、通信インタフェース164と同種、または異種の通信方式の通信デバイスが挙げられる。
通信部202は、受信装置200が備える通信手段であり、ネットワークを介して(あるいは、直接的に)送信装置100などの外部装置と無線で通信を行う役目を果たす。ここで、通信部202としては、図15に示す送信装置100が備える通信部102と対応する構成が挙げられる。
また、通信部202は、受信装置200における本実施形態に係る通信方法に係る処理(上記(i)の処理(送信装置100がユニキャストで送信する送信データを受信する処理)〜(v)の処理(処理に用いると判別されたデータの処理を行う処理)の一部を行う役目を果たす。より具体的には、通信部202は、上記(i)の処理(送信装置100がユニキャストで送信する送信データを受信する処理)を行う役目を果たす。
制御部204は、例えば、MPUなどで構成され、受信装置200全体を制御する役目を果たす。また、制御部204は、例えば、中継判定部210と、中継処理部212と、データ判別部214と、処理部216とを備え、受信装置200における本実施形態に係る通信方法に係る処理を主導的に行う役目を果たす。
中継判定部210は、上記(ii)の処理(受信した送信データの送信対象を判定する処理)を主導的に行う役目を果たす。より具体的には、中継判定部210は、通信部202が受信した送信データの送信対象を判定する。
ここで、中継判定部210は、例えば、送信データのヘッダに設定されているIPアドレスとして自装置に対応するIPアドレスが含まれている場合に、送信データの送信対象に自装置が含まれていると判定する。上記の場合には、中継判定部210は、送信データの送信対象として自装置が含まれていることを示す信号をデータ判別部214へ伝達する。また、中継判定部210は、送信データの送信対象として自装置が含まれていることを示す信号を処理部216へさらに伝達してもよい。
また、中継判定部210は、送信データのヘッダに設定されているIPアドレスとして自装置に対応するIPアドレス以外のIPアドレスが含まれている場合に、送信データの送信対象の装置が他に存在すると判定する。上記の場合には、中継判定部210は、例えば、送信対象の装置が他に存在することを示す信号を中継処理部212へ伝達する。なお、上記の場合において中継判定部210が中継処理部212へ伝達する信号が示す内容は、上記に限られない。例えば、中継判定部210は、自装置に対応するIPアドレス以外のIPアドレスを、さらに中継処理部212へ伝達してもよい。また、中継判定部210は、送信対象の装置が他に存在することを示す信号を処理部216へさらに伝達してもよい。
中継処理部212は、上記(iii)の処理(送信対象の装置に対して送信データを再送信する中継処理)を主導的に行う役目を果たす。より具体的には、中継処理部212は、例えば、送信対象の装置が他に存在することを示す信号が中継判定部210から伝達された場合に、通信部202を介して送信対象の装置に対して送信データを送信する。
データ判別部214は、上記(iv)の処理(受信された送信データの中から処理に用いるデータを選択的に判別する処理)を主導的に行う役目を果たす。より具体的には、データ判別部214は、送信データの送信対象として自装置が含まれていることを示す信号が中継判定部210から伝達された場合に、通信部202が受信した送信データの中から処理に用いるデータを判別する。ここで、データ判別部214が判別するデータとしては、例えば、コンテンツデータや、テキストデータや、アップデートデータ、制御データなど様々なデータが挙げられる。
データ判別部214は、例えば、受信した送信データから検出される識別情報(例えば図1のDに示す画像ヘッダに含まれる識別子など)と、記憶部(図示せず)などに記憶された処理対象情報とに基づいて処理に用いるデータを判別する。なお、データ判別部214におけるデータの判別処理が、上記に限られないことは、言うまでもない。
また、データ判別部214は、処理に用いるデータが判別された場合に、処理に用いるデータが存在することを示す信号を処理部216へ伝達する。なお、上記の場合においてデータ判別部214が処理部216へ伝達する信号が示す内容は、上記に限られない。例えば、データ判別部214は、判別されたデータの種別を示す信号を、さらに処理部216へ伝達してもよい。
処理部216は、上記(v)の処理(処理に用いると判別されたデータの処理を行う処理)を主導的に行う役目を果たす。より具体的には、処理部216は、例えば、処理に用いるデータが存在することを示す信号がデータ判別部214から伝達された場合に、通信部202が受信した送信データを処理する。ここで、処理部216における処理としては、例えば、コンテンツデータを再生する処理や、表示画面に画像データ(コンテンツデータの一例)に応じた画像を表示させる処理、音声出力デバイスから音声データ(コンテンツデータの一例)に応じた音声を出力させる処理などが挙げられる。
また、処理部216は、中継判定部210において、送信データの送信対象として自装置以外の装置が含まれており、かつ送信データの送信対象として自装置が含まれていると判定された場合には、所定の時間が経過した後に判別されたデータを処理することも可能である。ここで、上記所定の時間としては、例えば、中継処理部212が送信対象の装置に対して送信データを送信するために要する中継遅延時間と、当該送信対象の装置との間における無線遅延時間(通信遅延時間)とを加算した時間が挙げられる。なお、本実施形態に係る所定の時間は、上記に限られない。例えば、本実施形態に係る所定の時間は、中継遅延時間、または無線遅延時間のいずれかであってもよい。
ここで、処理部216は、例えば、中継判定部210における処理を監視すること、または、中継判定部210から中継遅延時間が伝達されることによって、中継遅延時間を特定することができる。
また、処理部216は、予め測定された無線遅延時間の情報を用いることによって、無線遅延時間を特定することができる。
なお、処理部216における無線遅延時間を特定方法は、上記に限られない。例えば、処理部216は、通信部202を介して自装置の時間を示す時間情報を送信装置100に対して送信し、通信部202において受信された、時間情報に基づき時間が調整された送信装置100から送信される送信データに基づいて、無線遅延時間を算出することもできる。より具体的には、処理部216は、例えば、上記数式2の演算を行うことによって、無線遅延時間を算出する。なお、処理部216が所定の時間として用いる無線遅延時間は、送信装置100と受信装置200との間における無線遅延時間に限られない。例えば、処理部216は、上記数式2の演算を行うことによって、受信装置200と送信データの送信対象の装置との間の無線遅延時間を算出し、算出された受信装置200と送信データの送信対象の装置との間の無線遅延時間を、上記所定の時間として用いることも可能である。
処理部216が、例えば上記のように所定の時間が経過した後に判別されたデータを処理することによって、通信システム10000では、構成する各装置における処理の同期を図ることが可能となる。
また、処理部216は、例えば記憶部(図示せず)に記憶されている遅延制御情報に基づいて、所定の時間が経過した後に判別されたデータを処理するか否かを切り替えることも可能である。
制御部204は、例えば、中継判定部210、中継処理部212、データ判別部214、および処理部216を備えることによって、受信装置200における本実施形態に係る通信方法に係る処理を主導的に行う。なお、受信装置200における本実施形態に係る通信方法に係る処理を実現するための構成が、図17に示す構成に限られないことは、言うまでもない。
操作部206は、ユーザによる操作を可能とする受信装置200が備える操作手段である。受信装置200は、操作部206を備えることによって、ユーザ操作を可能とし、ユーザ操作に応じてユーザが所望する処理を行うことができる。ここで、操作部206としては、例えば、ボタン、方向キー、ジョグダイヤルなどの回転型セレクタ、あるいは、これらの組み合わせなどが挙げられる。
表示部208は、受信装置200が備える表示手段であり、表示画面に様々な情報を表示する。受信装置200の表示画面に表示される画面としては、例えば、コンテンツデータの再生に応じたコンテンツ再生画面や、所望する動作を受信装置200に対して行わせるための操作画面などが挙げられる。ここで、表示部208としては、例えば、液晶ディスプレイや有機ELディスプレイなどが挙げられる。また、受信装置200は、例えばタッチスクリーンで表示部208を構成することもできる。上記の場合には、表示部208は、ユーザ操作および表示の双方が可能な操作表示部として機能することとなる。
受信装置200は、例えば図17に示す構成によって、受信装置200における本実施形態に係る通信方法に係る処理を行う。なお、本実施形態に係る受信装置200の構成は、図17に示す構成に限られない。例えば、本実施形態に係る受信装置200は、操作部206や表示部208を備えていなくてもよい。
また、上記では、本実施形態に係る通信システム10000を構成する構成要素として受信装置200を挙げて説明したが、本実施形態は、かかる形態に限られない。本実施形態は、例えば、PCやサーバなどのコンピュータ、携帯電話やPHSなどの携帯型通信装置、映像/音楽再生装置、映像/音楽記録再生装置、ゲーム機、撮像装置など、通信機能を有する様々な機器に適用することができる。
[3]通信装置300
次に、本実施形態に係る通信装置300の構成の一例について説明する。図18は、本実施形態に係る通信装置300の構成の一例を示すブロック図である。
通信装置300は、例えば、通信部302と、制御部304と、操作部306と、表示部308とを備える。
また、通信装置300は、例えば、ROM(図示せず)や、RAM(図示せず)、記憶部(図示せず)などを備えていてもよい。通信装置300は、例えば、データの伝送路としてのバスにより上記各構成要素間を接続する。
ROM(図示せず)は、制御部304が使用するプログラムや演算パラメータなどの制御用データを記憶する。RAM(図示せず)は、制御部304により実行されるプログラムなどを一時的に記憶する。
記憶部(図示せず)は、通信装置300が備える記憶手段である。ここで、記憶部(図示せず)としては、例えば、ハードディスクなどの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリが挙げられる。
〔通信装置300のハードウェア構成例〕
通信装置300は、例えば図16に示す送信装置100と同様のハードウェア構成を有する。ここで、図16に示すMPU150は、制御部304として機能する。また、MPU150は、通信装置300において、後述するデータ判別部310、および処理部312としての役目を果たすこともできる。また、図16に示す操作入力デバイス160は、操作部306として機能し、図16に示す表示デバイス162は、表示部308として機能する。また、図16に示す通信インタフェース164は、通信部302として機能する。
なお、通信装置300のハードウェア構成は、図16に示す構成に限られない。例えば、通信装置300は、受信装置200と同様に、通信インタフェース164に加え、1または2以上の他の通信手段をさらに備えていてもよい。
通信部302は、通信装置300が備える通信手段であり、ネットワークを介して(あるいは、直接的に)送信装置100や受信装置200などの外部装置と無線で通信を行う役目を果たす。ここで、通信部302としては、図15に示す送信装置100が備える通信部102や、図17に示す受信装置200が備える通信部202と対応する構成が挙げられる。
また、通信部302は、通信装置300における本実施形態に係る通信方法に係る処理(上記(1)の処理(通信データを受信する処理)〜(3)の処理(処理に用いると判別されたデータの処理を行う処理))の一部を行う役目を果たす。より具体的には、通信部302は、上記(1)の処理(通信データを受信する処理)を行う役目を果たす。
制御部304は、例えば、MPUなどで構成され、通信装置300全体を制御する役目を果たす。また、制御部304は、例えば、データ判別部310と、処理部312とを備え、通信装置300における本実施形態に係る通信方法に係る処理を主導的に行う役目を果たす。
データ判別部310は、上記(2)の処理(受信された通信データの中から処理に用いるデータを判別する処理)を主導的に行う役目を果たす。より具体的には、データ判別部310は、通信部302が受信した通信データの中から処理に用いるデータを判別する。ここで、データ判別部310が判別するデータとしては、例えば、コンテンツデータや、テキストデータや、アップデートデータ、制御データなど様々なデータが挙げられる。また、データ判別部310は、例えば、ACKやNACKなどの応答データについては、処理に用いるデータ(処理対象のデータ)として判別しない。なお、データ判別部310は、例えば、通信部302が受信したACKやNACKなどの応答データに基づいて、送信データの再送信が行われるか否かを判定してもよい。
データ判別部310は、例えば、受信した通信データから検出される識別情報(例えば図1のDに示す画像ヘッダに含まれる識別子や、図1のA〜Cに示す各ヘッダなどに含まれる識別子など)と、記憶部(図示せず)などに記憶された処理対象情報とに基づいて処理に用いるデータを判別する。なお、データ判別部310におけるデータの判別処理は、上記に限られない。例えば、データ判別部310は、特定の装置または特定の装置群を示す装置指定情報が通信データに含まれる場合には、当該装置指定情報に基づいて処理に用いるデータの判別を選択的に行ってもよい。
また、データ判別部310は、処理に用いるデータが判別された場合に、処理に用いるデータが存在することを示す信号を処理部312へ伝達する。なお、上記の場合においてデータ判別部310が処理部312へ伝達する信号が示す内容は、上記に限られない。例えば、データ判別部310は、判別されたデータの種別を示す信号を、さらに処理部312へ伝達してもよい。
また、データ判別部310は、例えば、データの判別結果に応じて、通信部302が受信した通信データ(または、当該通信データの一部)を破棄する、または、当該通信データ(または、当該通信データの一部)を通信部302などの他の構成要素に破棄させる。
処理部312は、上記(3)の処理(処理に用いると判別されたデータの処理を行う処理)を主導的に行う役目を果たす。より具体的には、処理部312は、例えば、処理に用いるデータが存在することを示す信号がデータ判別部310から伝達された場合に、通信部302が受信した通信データを処理する。ここで、処理部312における処理としては、例えば、コンテンツデータを再生する処理や、表示画面に画像データ(コンテンツデータの一例)に応じた画像を表示させる処理、音声出力デバイスから音声データ(コンテンツデータの一例)に応じた音声を出力させる処理などが挙げられる。
また、処理部312は、判別されたデータの処理を行う場合には、通信部302が受信した通信データを送信した装置に対して、通信部302に応答を行わせない。ここで、通信部302が受信する通信データとしては、例えば、送信装置100と受信装置200との間で送受信されるデータ(または信号)や、一の受信装置200と他の受信装置200との間で送受信されるデータ(または信号)が挙げられる。
また、処理部312は、所定の時間が経過した後に判別されたデータを処理することも可能である。ここで、上記所定の時間としては、例えば、送信装置100、または中継装置としての役目を果たす受信装置200との間における無線遅延時間(通信遅延時間)が挙げられる。
処理部312は、例えば、通信部302を介して自装置の時間を示す時間情報を、送信装置100に対して送信し、通信部302において受信された、時間情報に基づき時間が調整された送信装置100から送信される送信データに基づいて、送信装置100との間の無線遅延時間を算出する。また、処理部312は、中継装置としての役目を果たす受信装置200に対して時間情報を送信することによって、受信装置200との間の無線遅延時間を算出することが可能である。より具体的には、処理部312は、例えば、上記数式2の演算を行うことによって、無線遅延時間を算出する。
なお、処理部312が処理に利用する所定の時間は、上記に限られない。例えば、処理部312は、通信部302が中継装置としての受信装置200など外部装置から送信された通信遅延時間情報を受信した場合には、当該通信遅延時間情報が示す遅延時間を、上記所定の時間として用いてもよい。
処理部312が、例えば上記のように所定の時間が経過した後に判別されたデータを処理することによって、通信システム10000では、構成する各装置における処理の同期を図ることが可能となる。
また、処理部312は、例えば記憶部(図示せず)に記憶されている遅延制御情報に基づいて、所定の時間が経過した後に判別されたデータを処理するか否かを切り替えることも可能である。
制御部304は、例えば、データ判別部310、および処理部312を備えることによって、通信装置300における本実施形態に係る通信方法に係る処理を主導的に行う。なお、通信装置300における本実施形態に係る通信方法に係る処理を実現するための構成が、図18に示す構成に限られないことは、言うまでもない。
操作部306は、ユーザによる操作を可能とする通信装置300が備える操作手段である。通信装置300は、操作部306を備えることによって、ユーザ操作を可能とし、ユーザ操作に応じてユーザが所望する処理を行うことができる。ここで、操作部306としては、例えば、ボタン、方向キー、ジョグダイヤルなどの回転型セレクタ、あるいは、これらの組み合わせなどが挙げられる。
表示部308は、通信装置300が備える表示手段であり、表示画面に様々な情報を表示する。通信装置300の表示画面に表示される画面としては、例えば、コンテンツデータの再生に応じたコンテンツ再生画面や、所望する動作を通信装置300に対して行わせるための操作画面などが挙げられる。ここで、表示部308としては、例えば、液晶ディスプレイや有機ELディスプレイなどが挙げられる。また、通信装置300は、例えばタッチスクリーンで表示部308を構成することもできる。上記の場合には、表示部308は、ユーザ操作および表示の双方が可能な操作表示部として機能することとなる。
通信装置300は、例えば図18に示す構成によって、通信装置300における本実施形態に係る通信方法に係る処理を行う。なお、本実施形態に係る通信装置300の構成は、図18に示す構成に限られない。例えば、本実施形態に係る通信装置300は、操作部306や表示部308を備えていなくてもよい。
また、上記では、本実施形態に係る通信システム10000を構成する構成要素として通信装置300を挙げて説明したが、本実施形態は、かかる形態に限られない。本実施形態は、例えば、PCやサーバなどのコンピュータ、携帯電話やPHSなどの携帯型通信装置、映像/音楽再生装置、映像/音楽記録再生装置、ゲーム機、撮像装置など、通信機能を有する様々な機器に適用することができる。
(本実施形態に係るプログラム)
コンピュータを、本実施形態に係る受信装置として機能させるためのプログラム(例えば、上記(ii)の処理(受信した送信データの送信対象を判定する処理)〜(v)の処理(処理に用いると判別されたデータの処理を行う処理)など、受信装置における本実施形態に係る通信方法に係る処理を実行することが可能なプログラム)によって、送信データを伝送可能な通信距離をより伸ばしつつ、より多くの装置に対して安定的にデータを受信させることが可能な通信システムが実現される。
また、コンピュータを、本実施形態に係る通信装置として機能させるためのプログラム(例えば、上記(2)の処理(受信された通信データの中から処理に用いるデータを判別する処理)、および(3)の処理(処理に用いると判別されたデータの処理を行う処理)など、通信装置における本実施形態に係る通信方法に係る処理を実行することが可能なプログラム)によって、より多くの装置に対して安定的にデータを受信させることが可能な通信システムが実現される。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本技術はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
例えば、上記では、コンピュータを、本実施形態に係る受信装置、または通信装置として機能させるためのプログラム(コンピュータプログラム)が提供されることを示したが、本実施形態は、さらに、上記プログラムをそれぞれ記憶させた記録媒体も併せて提供することができる。
上述した構成は、本実施形態の一例を示すものであり、当然に、本技術の技術的範囲に属するものである。
なお、本技術は以下のような構成も取ることができる。
(1)
送信装置と、前記送信装置がユニキャストで送信する送信データの送信対象の受信装置との間で送受信される通信データを受信する通信部と、
受信された前記通信データの中から処理に用いるデータを判別するデータ判別部と、
処理に用いると判別されたデータを処理する処理部と、
を備え、
判別された前記データの処理を行う場合において、前記処理部は、前記送信装置および前記受信装置のいずれに対しても前記通信部に応答を行わせない、通信装置。
(2)
前記データ判別部は、前記通信データに含まれるデータの種別を示す識別情報に基づいて、処理に用いるデータを判別する、(1)に記載の通信装置。
(3)
特定の装置または特定の装置群を示す装置指定情報が前記通信データに含まれる場合、
前記データ判別部は、自装置が前記装置指定情報が示す装置と合致するとき、または自装置が前記装置指定情報が示す装置群に含まれるときに、前記識別情報に基づいて処理に用いるデータを判別する、(2)に記載の通信装置。
(4)
前記データ判別部は、自装置が前記装置指定情報が示す装置と合致せず、自装置が前記装置指定情報が示す装置群に含まれないときには、前記識別情報に基づくデータの判別を行わない、(3)に記載の通信装置。
(5)
前記データ判別部は、画像および/または音声を示すコンテンツデータを判別し、
前記処理部は、判別されたコンテンツデータを再生させる、(1)〜(4)のいずれか1つに記載の通信装置。
(6)
前記処理部は、自装置の時間を示す時間情報を前記送信装置に対して送信させ、
前記通信部は、前記時間情報に基づき時間が調整された前記送信装置から送信される前記送信データを含む、前記通信データを受信し、
前記処理部は、前記送信装置との間における通信遅延時間を算出し、算出された前記通信遅延時間が経過した後に判別された前記データを処理する、(1)〜(5)のいずれか1つに記載の通信装置。
(7)
前記通信装置は、前記送信装置と自装置との間の通信環境が前記送信装置と前記受信装置との間の通信環境よりもよい位置に配置される、(1)〜(6)のいずれか1つに記載の通信装置。
(8)
前記送信装置から送信される前記送信データは、前記送信装置が他の送信装置から送信された送信データを受信し、受信した前記送信データを前記受信装置に再送信したデータである、(1)〜(5)、(7)のいずれか1つに記載の通信装置。
(9)
前記通信部は、前記他の送信装置から送信される、前記他の送信装置と前記送信データの送信対象の受信装置との間における通信遅延時間を示す通信遅延時間情報をさらに受信し、
前記処理部は、前記通信遅延時間情報が示す通信遅延時間が経過した後に判別された前記データを処理する、(8)に記載の通信装置。
(10)
前記処理部は、前記通信遅延時間情報を用いるか否かが設定された遅延制御情報に基づいて、前記遅延制御情報が前記通信遅延時間情報を用いることを示す場合に、前記通信遅延時間が経過した後に判別された前記データを処理する、(9)に記載の通信装置。
(11)
送信装置がユニキャストで送信する送信データを受信する通信部と、
受信した前記送信データの送信対象を判定する中継判定部と、
前記送信データの送信対象として自装置以外の装置が含まれている場合に、送信対象の装置に対して前記送信データを送信させる中継処理部と、
前記送信データの送信対象として自装置が含まれている場合に、受信された前記送信データの中から処理に用いるデータを判別するデータ判別部と、
処理に用いると判別されたデータを処理する処理部と、
を備える、受信装置。
(12)
前記送信データの送信対象として自装置以外の装置が含まれており、かつ前記送信データの送信対象として自装置が含まれている場合、
前記処理部は、前記送信対象の装置に対して前記送信データを送信するために要する中継遅延時間、および前記送信対象の装置との間における通信遅延時間が経過した後に判別された前記データを処理する、(11)に記載の受信装置。
(13)
前記処理部は、自装置の時間を示す時間情報を前記送信装置に対して送信させ、
前記通信部は、前記時間情報に基づき時間が調整された前記送信装置から送信される前記送信データを受信し、
前記送信データの送信対象として自装置以外の装置が含まれており、かつ前記送信データの送信対象として自装置が含まれている場合、
前記処理部は、
前記送信装置との間における通信遅延時間を算出し、
前記送信対象の装置に対して前記送信データを送信するために要する中継遅延時間、および算出された前記通信遅延時間が経過した後に判別された前記データを処理する、(11)に記載の受信装置。
(14)
送信装置と、前記送信装置がユニキャストで送信する送信データの送信対象の受信装置との間で送受信される通信データを受信するステップと、
受信された前記通信データの中から処理に用いるデータを判別するステップと、
処理に用いると判別されたデータを処理するステップと、
を有し、
判別された前記データの処理を行う場合には、前記送信装置および前記受信装置のいずれに対しても応答を行わない、通信方法。
(15)
送信装置がユニキャストで送信する送信データを受信するステップと、
受信した前記送信データの送信対象を判定するステップと、
前記送信データの送信対象として自装置以外の装置が含まれている場合に、送信対象の装置に対して前記送信データを送信させるステップと、
前記送信データの送信対象として自装置が含まれている場合に、受信された前記送信データの中から処理に用いるデータを判別するステップと、
処理に用いると判別されたデータを処理するステップと、
を有する、通信方法。
(16)
送信装置と、
前記送信装置がユニキャストで送信する送信データの送信対象の受信装置と、
前記送信装置と前記受信装置との間で送受信される通信データを受信する、1または2以上の通信装置と、
を有し、
前記通信装置それぞれは、
前記通信データを受信する通信部と、
受信された前記通信データの中から処理に用いるデータを判別するデータ判別部と、
処理に用いると判別されたデータを処理する処理部と、
を備え、
判別された前記データの処理を行う場合において、前記処理部は、前記送信装置および前記受信装置のいずれに対しても前記通信部に応答を行わせない、通信システム。