(57)【特許請求の範囲】
【請求項１】
複数の端末と通信可能な通信装置であって、
前記複数の端末から選択された送信端末から第１の映像データを受信する受信部と、
前記複数の端末のうちで所定期間に配信可能なフレーム数が相対的に小さい端末である対象端末を特定するとともに、前記第１の映像データから、前記対象端末に配信可能な数のフレームを抽出した第２の映像データを生成する制御を行う制御部と、
前記第２の映像データを前記複数の端末の各々に送信する送信部
を備えることを特徴とする通信装置。
【請求項２】
前記制御部は、
前記所定期間に前記第１の映像データとして送信されるフレームの数である第１のフレームレートと、前記所定期間に前記対象端末に配信可能なフレームの数である第２のフレームレートを求め、
前記第２のフレームレートが前記第１のフレームレートより小さい場合、前記第１の映像データ中のフレーム数と前記第２の映像データ中のフレーム数の比が、前記第１のフレームレートと前記第２のフレームレートの比と同じ値になるように、前記第１の映像データから前記第２の映像データとして配信するフレームを抽出する
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記制御部は、
前記第２の映像データの配信前に、前記第１の映像データ中のフレームと同じ解像度の画像データを含むテストパケットを用いて、前記複数の端末の各々との間で得られる通信レートを測定し、
前記複数の端末の各々との間で得られる通信レートを用いて前記第２のフレームレートを決定し、
前記第２の映像データの配信の開始後に、前記第２の映像データを含む送信パケットの送信時刻と前記送信パケットの処理順序を表わす番号を対応付けて記憶し、
前記受信部は、前記第２の映像データの配信の開始後に、前記複数の端末の各々から、当該端末が前記第２の映像データを含む受信パケットを受信した時刻と前記受信パケットの処理順序を示す番号の組み合わせを含むパケットを受信し、
前記制御部は、前記送信時刻、前記送信パケットの処理順序、および、前記組み合わせを用いて、前記第２のフレームレートを更新する
ことを特徴とする請求項２に記載の通信装置。
【請求項４】
前記受信部は、前記第１の映像データの受信前に、前記送信端末から前記第１の映像データ中のフレームと同じ解像度の画像データと時刻情報とを含む複数のパケットを受信し、
前記時刻情報は前記複数のパケットの中で相対的に早く送信されたパケットの送信時刻であり、
前記制御部は、前記複数のパケットの受信時刻と、前記時刻情報を用いて、前記第１のフレームレートを算出し、
前記受信部は、前記第１の映像データの受信開始後に、前記第１の映像データを含む第１のパケットを前記送信端末が送信した時刻と前記第１のパケットの処理順序の組み合わせを通知する通知パケットを受信し、
前記制御部は、前記第１のパケットの後に送信された第２のパケットの受信時刻、前記第２のパケットの処理順序、および、前記通知パケット中の情報を用いて、前記第１のフレームレートを更新する
ことを特徴とする請求項２または３に記載の通信装置。
【請求項５】
複数の端末と
前記複数の端末と通信可能な通信装置
を含む通信システムであって、
前記通信装置は、
前記複数の端末から選択された送信端末から第１の映像データを受信し、
前記複数の端末のうちで所定期間に配信可能なフレーム数が相対的に小さい端末である対象端末を特定し、
前記第１の映像データから、前記対象端末に配信可能な数のフレームを抽出した第２の映像データを前記複数の端末の各々に送信する
ことを特徴とする通信システム。
【請求項６】
複数の端末と前記複数の端末と通信可能な通信装置を含むネットワークで使用される通信方法であって、
前記通信装置が、
前記複数の端末から選択された送信端末から第１の映像データを受信し、
前記複数の端末のうちで所定期間に配信可能なフレーム数が相対的に小さい端末である対象端末を特定し、
前記第１の映像データから、前記対象端末に配信可能な数のフレームを抽出した第２の映像データを前記複数の端末の各々に送信する
処理を行うことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の装置を含む通信システムで行われる通信に関する。
【背景技術】
【０００２】
ネットワークの管理のための工事の際に、複数の拠点で同期をとりながら作業を行う場合がある。このような工事では、各拠点の作業者が進捗を確認しながら作業を行うために、ある装置から工事作業の状況を映像として配信し、他の装置で処理を行う作業員が、配信された映像に応じて工事処理を行うことがある。
【０００３】
図１は、映像配信システムの例を説明する図である。図１に示すネットワークには、配信サーバ５と端末１０（１０ａ〜１０ｄ）が含まれている。端末１０ａは、他の端末１０に作業の状況を示す映像（作業映像）を配信するために、作業映像を配信サーバ５に送信する。配信サーバ５は、端末１０ａから受信した作業映像を端末１０ｂ〜１０ｄに転送する。このため、図１に示すシステムでは、端末１０ａから送信される作業映像に映っている作業員が、指導役として、同期をとるための合図を出す。一方、端末１０ｂ〜１０ｄから映像を取得する作業員は、指導役の作業員の合図に合わせて、処理を行う。
【０００４】
ここで、作業映像は、作業の同期をとるために送信されるため、各端末１０に対して、リアルタイムに送信されることになる。このため、配信サーバ５は、配信サーバ５との間での転送レートが低い端末１０がシステム中に含まれている場合、受信側の端末１０ｂ〜１０ｄの全てに同じタイミングで作業映像が届くようにするために、作業映像中の各フレームの解像度を低くする。
【０００５】
関連する技術として、受信レートの最大値が設定された複数の端末装置が多地点接続装置を介して多地点接続を実現するシステムで、多地点接続装置が各端末装置のビデオフレームの送信レートを制御するシステムが考案されている（特許文献１など）。また、配信装置が所定期間にわたって通常よりも大きな送信レートで動画像データを送信すると、動画像データの受信にかかる時間と、この時間内に受信したパケット数に応じて使用可能な転送レートを計算する再生装置も知られている（特許文献２など）。再生装置は、計算した転送レートを配信装置に通知し、配信装置は、動画像データの送信速度を再生装置から通知された転送レートに変更する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平４−６８７８７号公報
【特許文献２】特開２００４−３５７２２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
近年の工事作業では細かい処理が行われることが多いことなどから、解像度の低い映像を用いて複数の拠点の作業員同士が処理を行った場合に、映像が不鮮明であることに起因した作業ミスが発生する恐れがある。また、映像配信元の端末の作業員は、配信先の端末を用いている作業員との間での処理の同期がとれているかを確認しないので、配信サーバの処理に起因して、映像の配信元と配信先との間での処理に時間差が発生することもある。このため、配信元の端末と配信先の端末との間での同期を正確にとることは困難である。なお、解像度の高い映像を複数の端末に同時配信できないことによる問題は、工事作業の現場以外でも発生しうる。
【０００８】
本発明は、複数の端末に高解像度の映像を同時配信することを目的とする。
【課題を解決するための手段】
【０００９】
通信装置は、受信部、制御部、送信部を備え、複数の端末と通信可能である。受信部は、前記複数の端末から選択された送信端末から第１の映像データを受信する。制御部は、前記複数の端末のうちで所定期間に配信可能なフレーム数が相対的に小さい端末である対象端末を特定するとともに、前記第１の映像データから、前記対象端末に配信可能な数のフレームを抽出した第２の映像データを生成する制御を行う。送信部は、前記第２の映像データを前記複数の端末の各々に送信する。
【発明の効果】
【００１０】
複数の端末に高解像度の映像を同時配信できる。
【図面の簡単な説明】
【００１１】
【図１】映像配信システムの例を説明する図である。
【図２】実施形態にかかる通信システムで行われる通信の例を説明する図である。
【図３】端末および通信装置の構成の例を説明する図である。
【図４】端末および通信装置のハードウェア構成の例を説明する図である。
【図５】接続先テーブルの例を説明する図である。
【図６】下り方向の通信レートの算出方法の例を説明する図である。
【図７】上り方向の通信レートの算出方法の例を説明する図である。
【図８】通信レートの算出結果の例を説明する図である。
【図９】通信装置で行われる処理の例を説明するフローチャートである。
【図１０】端末で行われる処理の例を説明するフローチャートである。
【図１１】配信データの生成方法の例を説明する図である。
【図１２】データ配信中に下り方向の通信レートを求める方法の例を説明する図である。
【図１３】データ配信中に上り方向の通信レートを求める方法の例を説明する図である。
【図１４】データ配信中の通信装置で行われる処理の例を説明するフローチャートである。
【図１５】端末で行われる処理の例を説明するフローチャートである。
【図１６】端末で行われる処理の例を説明するフローチャートである。
【図１７】第３の実施形態で行われる処理の例を説明するシーケンス図である。
【発明を実施するための形態】
【００１２】
図２は、実施形態にかかる通信システムで行われる通信の例を説明する図である。実施形態にかかる通信システムには、通信装置３０と複数の端末２０（２０ａ〜２０ｄ）が含まれる。通信システムでは、複数の端末２０の中から選択された１台の端末２０が指導役の作業員による作業の映像を、通信装置３０に送信する。図２は、端末２０ａが指導役の作業員による作業の映像を送信する装置に選択されている場合を示している（矢印Ｔ１）。以下、端末２０ａから送信される作業の映像を「第１の映像データ」と記載する。
【００１３】
通信装置３０は、予め、通信システム中の各端末を認識しており、通信装置３０から各端末２０にデータを送信するときに使用可能な送信レートを測定する。通信装置３０は、測定結果に基づいて、通信装置３０からのデータの送信に使用可能な送信レートが相対的に低い端末２０を特定し、特定した端末に対して所定期間中に配信可能なフレーム数を計算する。以下、送信レートが相対的に低い端末２０のことを「対象端末」と記載することがある。送信レートの算出に際して、通信装置３０は、第１の映像データを通信装置３０に送信する端末２０ａとの間についても、通信装置３０からのデータの送信に使用可能な送信レートを計測する。従って、対象端末は、通信装置３０にデータを送信する端末も含めた通信システム中の全ての端末２０の中から特定される。
【００１４】
次に、通信装置３０は、端末２０ａから受信した第１の映像データに含まれているフレームの一部を抽出することにより、対象端末に対して遅延を発生させずに配信可能なフレーム数を含む第２の映像データを生成する。その後、通信装置３０は、通信システム中の全ての端末２０に対して、第２の映像データを配信する。第２の映像データが端末２０ａ〜２０ｄの各々に送信される様子を矢印Ｒ１〜Ｒ４に示す。このため、端末２０ａから送信される第１の映像データとして撮影される作業を行う作業員も、他の端末２０ｂ〜２０ｄに配信されている第２の映像データを確認しながら作業を行うことができる。また、端末２０ａ〜２０ｄには、第２の映像データとして、第１の映像データ中のフレームと同じ解像度のフレームが送信されるので、端末２０ａ〜２０ｄを用いて作業を行う全ての作業員が、高解像度の映像を取得できる。
【００１５】
なお、図２では、４台の端末２０が含まれている通信システムを例として説明したが、通信システムに含まれている端末２０の数は任意である。
【００１６】
図２に示すように、実施形態にかかる通信システムでは、第１の映像データの送信元である端末２０ａに対しても、第２の映像データが送信されるため、指導役の作業員とその他の作業員の間での処理を同期させやすい。また、第２の映像データに含まれている各フレームの解像度は、第１の映像データ中のフレームの解像度と同じであるため、実施形態にかかる通信システムでは、配信された映像の解像度が低いことによって作業ミスが発生することを防止できる。
【００１７】
＜装置構成＞
図３は、端末２０および通信装置３０の構成の例を説明する図である。図３では、端末２０ａと端末２０ｂの詳細を示しているが、端末２０ｃ、２０ｄも端末２０ａと同様である。端末２０は、パケット送受信部２１、制御部２２、パケットカウント部２３、カメラ２４、ディスプレイ２５を備える。パケット送受信部２１は、通信装置３０との間でパケットを送受信する。制御部２２は、受信したパケットの処理や送信パケットの生成を行う。パケットカウント部２３は、通信装置３０から受信したパケットの数をカウントし、得られた結果を、適宜、制御部２２に出力する。カメラ２４は、作業員によって行われている作業の撮影など、映像データの生成に使用される。ディスプレイ２５は、通信装置３０から送信された第２の映像データを表示する。ここで、図３に示す通信システムでは、通信システム中の任意の端末２０が映像データの送信元になり得る場合を示している。このため、各端末２０がカメラ２４とディスプレイ２５を保持している。なお、一部の端末２０は作業映像の配信元にならないシステムでは、作業映像の配信元にならない端末２０がカメラ２４を備えていなくても良い。
【００１８】
通信装置３０は、送受信部３１、制御部４０、記憶部５０を備える。送受信部３１は、送信部３２と受信部３３を有する。制御部４０は、算出部４１、カウンタ４２、生成部４３を有する。記憶部５０は、接続先テーブル５１、送信時刻テーブル５２、送信フレーム数テーブル５３を保持し、バッファ５４としても動作する。
【００１９】
送信部３２は端末２０にパケットを送信し、受信部３３は端末２０からパケットを受信する。従って、指導役の作業員による作業の映像データ（第１の映像データ）は、受信部３３から受信される。一方、第１の映像データから生成された第２の映像データは送信部３２から送信される。
【００２０】
算出部４１は、各端末２０との間の通信レートを算出する。通信レートの算出方法の具体例については後述する。カウンタ４２は、通信レートの算出の際にパケット数を計数する。さらに、生成部４３は、対象端末に送信可能な通信レートに合わせて、第１の映像データから第２の映像データを生成する。
【００２１】
接続先テーブル５１には、通信システム中の各端末２０のアドレスや、端末２０が第１の映像データを送信するかを表わす情報などが含まれている。送信時刻テーブル５２には、通信レートの計算に使用するパケットの送信時刻が記録される。送信フレーム数テーブル５３には、各端末２０との間で送受信可能なフレーム数を、通信レートから計算した結果が記録される。バッファ５４は、第１の映像データの格納に使用される。接続先テーブル５１、送信時刻テーブル５２、送信フレーム数テーブル５３については、後で具体例を挙げて説明する。
【００２２】
図４は、端末２０および通信装置３０のハードウェア構成の例を説明する図である。端末２０は、ネットワークインタフェース１０１、プロセッサ１０２、メモリ１０３、カメラ２４、ディスプレイ２５、バスを備える。端末２０と通信装置３０のいずれにおいても、プロセッサ１０２は、Central Processing Unit（ＣＰＵ）を含む任意の処理回路である。
【００２３】
端末２０において、ネットワークインタフェース１０１はパケット送受信部２１として動作し、プロセッサ１０２は制御部２２とパケットカウント部２３として動作する。メモリ１０３は、制御部２２やパケットカウント部２３の処理で生成されたデータを記憶するとともに、制御部２２やパケットカウント部２３の処理に使用されるデータを記憶する。ネットワークインタフェース１０１、プロセッサ１０２、メモリ１０３、カメラ２４、ディスプレイ２５は、互いにデータを入出力できるようにバスで接続されている。
【００２４】
通信装置３０は、ネットワークインタフェース１０１、プロセッサ１０２、メモリ１０３、記憶装置１０６、バスを備える。通信装置３０において、ネットワークインタフェース１０１は送受信部３１として動作する。プロセッサ１０２は制御部４０として動作する。メモリ１０３と記憶装置１０６は、記憶部５０として動作する。なお、プロセッサ１０２は、記憶装置１０６に格納されているプログラムを読み込んで、制御部４０としての動作を行う。ネットワークインタフェース１０１、プロセッサ１０２、メモリ１０３、記憶装置１０６は、互いにデータを入出力できるようにバスで接続されている。通信装置３０は、コンピュータによって実現されても良い。
【００２５】
＜第１の実施形態＞
以下、実施形態を、映像データの配信前の通信レートの決定と、配信する映像データの生成に分けて、処理の詳細を説明する。なお、以下の説明では、図２に示すとおり、通信装置３０に端末２０ａ〜２０ｄが接続されている場合を例とする。また、以下の説明においても、端末２０ａが通信装置３０に第１の映像データを送信し、通信装置３０は、第１の映像データから生成した第２の映像データを端末２０ａ〜２０ｄに送信する場合を例とする。以下、処理を行っている端末２０を明確にするために、符号の末尾に端末２０に割り当てられた識別子と同じアルファベットを付すことがある。例えば、カメラ２４ａは、端末２０ａに含まれているカメラ２４を指す。
【００２６】
（Ａ）映像データの配信前の通信レートの決定
まず、端末２０ａは、作業映像などの高解像度の映像データの配信を開始することを通知する制御メッセージ（配信開始通知）を、通信装置３０に通知する。配信開始通知を受信すると、通信装置３０中の算出部４１は、各端末２０に対して単位時間当たりに送信することができる高解像度のフレームの数を求めるために、接続先テーブル５１を用いて、通信レートの算出を開始する。また、カウンタ４２は、カウント値を初期化する。
【００２７】
図５は、接続先テーブル５１の例を説明する図である。接続先テーブル５１は、端末２０ごとに、端末識別子、ＩＰ（Internet Protocol）アドレス、端末種別を記録している。図５の例では、端末識別子として、各端末２０の符号を用いている。ＩＰアドレスは各端末２０に割り当てられたＩＰアドレスである。端末種別は、その端末２０が映像データを送信するかを示す情報である。端末種別＝０に対応付けられた端末２０は、映像データ（第１の映像データ）を通信装置３０に送信すると共に、通信装置３０から第２の映像データを受信する。端末種別＝１に対応付けられた端末は、通信装置３０から第２の映像データを受信するが、通信装置３０に対して映像データを送信しない。算出部４１は、接続先テーブル５１から、第２の映像データを受信する各端末２０のアドレスを特定する。
【００２８】
図６は、下り方向の通信レートの算出方法の例を説明する図である。以下の説明では、パケットの送信方向を分かりやすくするために、通信装置３０から端末２０に向かう方向を「下り方向」、端末２０から通信装置３０に向かう方向を「上り方向」と記載することがある。算出部４１は、接続先テーブル５１（図５）を用いて、通信システム中の各端末２０に割り当てられたアドレスを特定すると、各端末との間の下り方向の通信レートを特定するためのテストパケットを生成する。以下、各端末との間の下り方向の通信レートを特定するためのテストパケットを「下りテストパケット」と記載する。
【００２９】
図６のＦ１は、下りテストパケットのフォーマットの例である。下りテストパケットは、ＩＰヘッダ、ＴＣＰ（Transmission Control Protocol）ヘッダ、データを含む。なお、図中では、ＩＰヘッダとＴＣＰヘッダをまとめてＴＣＰ／ＩＰヘッダと記載している。データには、パケットが下りテストパケットであることを示す情報（ＴＰ１）、総パケット数（ＡＰ）、パケット番号（ＰＮ）、擬似映像データが含まれる。擬似映像データは、映像データの送信元の端末２０が通信装置３０に送信するデータ中に含まれているフレームと同等の容量の画像データである。例えば、擬似映像データとして、映像データの送信元の端末２０が通信装置３０に送信するデータ中のフレームと同じ解像度で同じ大きさの画像が使用され得る。なお、１パケットに含まれる擬似映像データは、１つのフレームの一部のデータであっても良く、また、１つ以上のフレームの情報を含んでいても良い。通信装置３０は、予め、擬似映像データを保持していても良く、また、配信開始通知とともに端末２０ａから擬似映像データとして使用するデータを取得しても良い。総パケット数（ＡＰ）は、１回の下り方向の通信レートの算出のために通信装置３０が端末２０に向けて送信する下りテストパケットの総数である。パケット番号（ＰＮ）は、下りテストパケットの送信順序を示す値である。
【００３０】
図６のシーケンス図ＳＥＱ１は、下り方向の通信レートの算出に際して、通信装置３０と端末２０ａの間で行われる通信と、通信装置３０と端末２０ｂの間で行われる通信との例を示す。図６の例では、総パケット数は５個であるが、総パケット数は実装に応じて任意に設定される。
【００３１】
算出部４１は、端末２０ａ宛の下りテストパケットを、送信部３２を介して、端末２０ａに送信する（ステップＳ１）。算出部４１は、端末２０ａ宛ての下りテストパケットの送信時刻Ｔ１を取得し、端末２０ａの識別子に対応付けて送信時刻テーブル５２に記録する。また、カウンタ４２は、カウンタ値をインクリメントして、端末２０ａに送信したパケット数を記憶する。図６に示す送信時刻テーブル５２には、各端末２０の識別子と下りテストパケットの送信時刻が対応付けて記録されている。
【００３２】
一方、端末２０ａは、下りテストパケットを、パケット送受信部２１ａを用いて受信する。パケット送受信部２１ａは、下りテストパケットを、受信時刻と共に、制御部２２ａに出力する。制御部２２ａは、下りテストパケットのペイロードを用いて、下りテストパケットの受信を認識する。パケットカウント部２３ａは、下りテストパケットを１つ受信したことを記憶する。制御部２２ａは、下りテストパケット中のデータから総パケット数が５つであることを特定する。制御部２２ａは、パケットカウント部２３ａのカウント値が１であるのに対して、総パケット数が５であるので、全ての下りテストパケットを受信していないと判定して、パケット送受信部２１ａから取得した受信時刻を廃棄する。
【００３３】
算出部４１は、端末２０ａに送信した下りテストパケットの総数が、下りテストパケット中に記載されている総パケット数になるまで、連続的に、下りテストパケットを端末２０ａに送信する（ステップＳ２）。なお、カウンタ４２は、端末２０ａに送信した下りテストパケットの数をカウントしており、算出部４１は、適宜、カウンタ４２からカウント値を取得する。
【００３４】
一方、端末２０は、２〜４番目に受信した下りテストパケットを、ステップＳ１の説明で述べた処理と同様に処理する。５番目の下りテストパケットを受信すると、パケット送受信部２１ａは、受信時刻（Ｔ２）と共に下りテストパケットを制御部２２ａに出力する。パケットカウント部２３ａは、カウント値を１つインクリメントするので、この時点での下りテストパケットの受信数は５つになる。制御部２２ａは、パケットカウント部２３ａのカウント値と総パケット数が一致したことから、全ての下りテストパケットを受信したと判定する。制御部２２ａは、パケット送受信部２１ａから通知された時刻情報（Ｔ２）を、総パケット数として通知された数分の下りテストパケットを受信した時刻として記憶する。制御部２２は、記憶した時刻情報を用いて、下り応答パケットを生成する。
【００３５】
図６のＦ２は、下り応答パケットのフォーマットの例である。下り応答パケットは、ＩＰヘッダ、ＴＣＰヘッダ、データを含む。データには、パケットが下り応答パケットであることを示す情報（ＲＰ１）と受信時刻情報が含まれる。受信時刻情報は、下り応答パケットの送信元の端末２０が、総パケット数として通知された数だけの下りテストパケットを受信した時刻を表わす。制御部２２ａは、生成した下り応答パケットを、パケット送受信部２１ａを介して通信装置３０に送信する（ステップＳ３）。ステップＳ３の処理により、通信装置３０から端末２０ａへ総パケット数分の下りテストパケットが到達した時刻がＴ２であることが、通信装置３０に通知される。
【００３６】
通信装置３０の受信部３３は、下り応答パケットを受信すると、算出部４１に出力する。算出部４１は、下り応答パケット中の受信時刻を取得する。ステップＳ３で受信する下り応答パケットの送信元は端末２０ａであり、受信時刻はＴ２である。算出部４１は、下り応答パケットの送信元に対応付けて送信時刻テーブル５２に記憶されている送信時刻と、下り応答パケットで通知された受信時刻の差分から、総パケット数分の下りテストパケットが宛先に到達するまでにかかった時間を求める。以下、総パケット数分の下りテストパケットが宛先に到達するまでにかかった時間を表わす際に、「ΔＴｄ＿」という文字列に、パケットの宛先の符号の最後のアルファベットを付して表わす。また、下り方向の通信レートは、「Ｒｄ＿」という文字列に、パケットの宛先の符号の最後のアルファベットを付して表わす。さらに、下り方向の送信可能なフレーム数は、「ＦＮｄ＿」という文字列に、パケットの宛先の符号の最後のアルファベットを付して表わすものとする。
【００３７】
総パケット数分の下りテストパケットが通信装置３０から端末２０ａに到達するまでにかかった時間（ΔＴｄ＿ａ）は、図６の例では、通信装置３０から端末２０ａに５つの下りテストパケットが到達するまでにかかる時間である。従って、式（１）のように表わせる。
ΔＴｄ＿ａ＝Ｔ２−Ｔ１  ・・・（１）
【００３８】
そこで、算出部４１は、（２）式から、通信装置３０と端末２０ａの間の下り方向の通信レート（Ｒｄ＿ａ）を計算する。
Ｒｄ＿ａ＝ＡＰ×ＢＮｔｐ／ΔＴｄ＿ａ  ・・・（２）
ここで、ＡＰは通信装置３０から端末２０ａに連続的に送信された下りテストパケットの総パケット数であり、ＢＮｔｐは１つの下りテストパケットに含まれているビット数である。さらに、算出部４１は、通信装置３０から端末２０ａに単位時間当たりに送信可能なフレーム数（ＦＮｄ＿ａ）を、（３）式から計算する。
ＦＮｄ＿ａ＝Ｒｄ＿ａ／ＢＮｆ  ・・・（３）
ここで、ＢＮｆは１フレームに含まれているビット数である。算出部４１は、通信装置３０から端末２０ａに向けて単位時間当たりに送信可能なフレーム数を求めると、端末２０ａの識別子に対応付けて送信フレーム数テーブル５３（図８）に記憶する。また、カウンタ４２は、次に行う通信レートの計算に備えて、カウンタ値を初期化する。
【００３９】
通信装置３０は１つの端末２０ａに単位時間当たりに送信可能なフレーム数を求めると、他の端末２０との間での通信レートや単位時間当たりに送信可能なフレーム数を求める。例えば、図６の例では、通信装置３０中の算出部４１は、端末２０ａに単位時間当たりに送信可能なフレーム数を計算し終わると、端末２０ｂとの間の通信レートの計算を行うために、端末２０ｂに下りテストパケットを送信する（ステップＳ４）。端末２０ｂに送信される下りテストパケットも、Ｆ１に示す情報要素を含む。また、通信装置３０から端末２０ｂに下りテストパケットが送信された時刻（Ｔ３）もステップＳ１で説明した手順と同様に、送信時刻テーブル５２に記録される。さらに、下りテストパケットを受信したときに端末２０ｂで行われる処理は、下りテストパケットを受信したときに端末２０ａで行われる処理と同様である。このため、端末２０ｂは、下りテストパケットで通知された数と同数の下りテストパケットを受信すると、最後の下りテストパケットの受信時刻（Ｔ４）を通知するための下り応答パケットを通信装置３０に送信する（ステップＳ５）。ステップＳ５で下り応答パケットを受信した通信装置３０は、端末２０ｂとの間の通信レートや単位時間当たりに送信可能なフレーム数を、端末２０ａとの間の通信レート等と同様の処理によって算出する。また、算出部４１は、得られた結果を、適宜、端末２０ｂの識別子に対応付けて、送信フレーム数テーブル５３に記録する。
【００４０】
図６のシーケンス図ＳＥＱ１では、紙面の関係で、端末２０ａ、２０ｂとの間でのパケットの送受信のみを示したが、通信装置３０は、通信システム中の他の端末２０に対しても、同様の処理により、単位時間当たりに送信可能なフレーム数を求める。
【００４１】
図７は、上り方向の通信レートの算出方法の例を説明する図である。通信装置３０は、通信装置３０に映像データ（第１の映像データ）を送信する端末２０との間での上り方向の通信レート、単位時間で送信可能なフレーム数も求める。以下、端末２０ａが第１の映像データを送信する場合を例として説明する。
【００４２】
図７のＦ１１は、上りテストパケットのフォーマットの例である。上りテストパケットは、上り方向の通信レートを求めるために使用可能な応答パケットの送信を、第１の映像データの送信元となる端末２０に求めるためのパケットである。上りテストパケットは、ＩＰヘッダ、ＴＣＰヘッダ、データを含む。データには、パケットが上りテストパケットであることを示す情報（ＴＰ２）と総パケット数（ＡＰ）が含まれる。上りテストパケットは、上りテストパケットの宛先からデータを受信する場合の通信レートを求めるために使用されるので、擬似映像データを含まない。
【００４３】
図７のシーケンスＳＥＱ２は、上り方向の通信レートの算出に際して、通信装置３０と端末２０ａの間で行われる通信の例を示す。図７の例でも、総パケット数は５個であるが、総パケット数は実装に応じて任意に設定される。算出部４１は、端末２０ａ宛の上りテストパケットを、送信部３２を介して、端末２０ａに送信する（ステップＳ６）。また、このとき、カウンタ４２は、カウンタ値を初期化する。
【００４４】
一方、端末２０ａの制御部２２ａは、上りテストパケットを、パケット送受信部２１ａを介して取得する。制御部２２ａは、上りテストパケットのペイロードにパケットの種類がＴＰ２であることが記録されているので、上りテストパケットの受信を認識する。制御部２２ａは、上りテストパケット中のデータから総パケット数が５つであることを特定すると、総パケット数分だけの上り応答パケットを、パケット送受信部２１ａを介して、連続的に通信装置３０に送信する（ステップＳ７）。このとき、制御部２２ａは、１番目に送信する上り応答パケットの送信時刻（Ｔ５）を、上り応答パケットに含める。
【００４５】
図７のＦ１２は、上り応答パケットのフォーマットの例である。上り応答パケットは、ＩＰヘッダ、ＴＣＰヘッダ、データを含む。データには、パケットが上り応答パケットであることを示す情報（ＲＰ２）、パケット番号（ＰＮ）、送信時刻情報、擬似映像データが含まれる。送信時刻情報は、上り応答パケットの送信元の端末２０が、１番目の上り応答パケットを送信した時刻を表わす。パケット番号（ＰＮ）は、上り応答パケットの送信順序を示す値である。擬似映像データは、下りテストパケットに含まれている擬似映像データと同様である。
【００４６】
通信装置３０の受信部３３は、上り応答パケットを受信すると、受信時刻と共に、算出部４１に出力する。また、カウンタ４２は、上り応答パケットを受信するたびにカウンタ値をインクリメントすることにより、上り応答パケットの受信数を求める。算出部４１は、総パケット数と同数の上り応答パケットを受信すると、最後に受信した上り応答パケットの受信時刻（Ｔ６）を特定する。算出部４１は、上り応答パケット中の送信時刻（Ｔ５）と受信時刻Ｔ６を用いて、端末２０ａと通信装置３０の間で上り方向に単位時間中で送信可能なフレーム数を計算する（ステップＳ８）。
【００４７】
以下、ステップＳ８で行われる処理の詳細を述べる。以下、総パケット数分の上りテストパケットが通信装置３０に到達するまでにかかった時間を表わす際に、「ΔＴｕ＿」という文字列に、パケットの送信元の符号の最後のアルファベットを付す。また、上り方向の通信レートは、「Ｒｕ＿」という文字列に、パケットの送信元の符号の最後のアルファベットを付して表わす。さらに、上り方向の送信可能なフレーム数は、「ＦＮｕ＿」という文字列に、パケットの送信元の符号の最後のアルファベットを付して表わす。
【００４８】
まず、算出部４１は、（４）式を用いて、端末２０ａから通信装置３０へ総パケット数分の上り応答パケットが到達するまでにかかった時間（ΔＴｕ＿ａ）を求める。
ΔＴｕ＿ａ＝Ｔ６−Ｔ５  ・・・（４）
【００４９】
次に、算出部４１は、（５）式から、通信装置３０と端末２０ａの間の上り方向の通信レート（Ｒｕ＿ａ）を計算する。
Ｒｕ＿ａ＝ＡＰ×ＢＮｒｐ／ΔＴｕ＿ａ  ・・・（５）
ここで、ＡＰは通信装置３０から端末２０ａに連続的に送信された上りテストパケットの総パケット数であり、ＢＮｒｐは１つの上り応答パケットに含まれているビット数である。さらに、算出部４１は、通信装置３０から端末２０ａに単位時間当たりに配信可能なフレーム数（ＦＮｕ＿ａ）を、（６）式から計算する。
ＦＮｕ＿ａ＝Ｒｕ＿ａ／ＢＮｆ  ・・・（６）
ここで、ＢＮｆは１フレームに含まれているビット数である。算出部４１は、端末２０ａから通信装置３０に向けて単位時間当たりに送信可能なフレーム数を求めると、端末２０ａの識別子に対応付けて送信フレーム数テーブル５３（図８）に記憶する。
【００５０】
図８は、通信レートの算出結果の例を説明する図である。図８のネットワークＮ１は、通信システム中の通信経路と、各経路で１秒間当たりに送受信可能なフレーム数（ｆｐｓ、frames per second）の計算結果の例を示す。以下、各経路で１秒間当たりに送受信可能なフレーム数を「フレームレート」と記載することがある。
【００５１】
図８の例では、端末２０ａから通信装置３０に向かう上り方向では３０ｆｐｓのフレームレートが得られている。一方、通信装置３０からの下り方向のフレームレートは、端末２０ａでは４２ｆｐｓ、端末２０ｂでは９ｆｐｓ、端末２０ｃでは１１ｆｐｓ、端末２０ｄでは２０ｆｐｓである。図９に、各経路での通信レートがネットワークＮ１に示すとおりである場合に得られる送信フレーム数テーブル５３の例も示す。
【００５２】
送信フレーム数テーブル５３は、ネットワーク中の各端末に対する下り方向のフレームレートと、第１の映像データの送信元となる端末２０ａからの上り方向のフレームレートが記録されている。さらに、送信フレーム数テーブル５３には、実配信フレームレートも記録される。算出部４１は、ネットワーク中の各端末に対する下り方向のフレームレートと、第１の映像データの送信元となる端末２０ａからの上り方向のフレームレートの中の最小値を、実配信フレームレートに決定する。このため、図９の例では、実配信フレームレートは９ｆｐｓになる。
【００５３】
図９は、通信装置３０で行われる処理の例を説明するフローチャートである。なお、図９は、一例であり、実装に応じて変更されうる。例えば、通信装置３０は、下りテストパケットの送信の前に上りテストパケットを送信しても良い。この場合、ステップＳ１２〜Ｓ１４の処理の前にステップＳ１５からＳ１８の処理が行われる。
【００５４】
通信装置３０中の算出部４１は、テストパケットを生成する（ステップＳ１１）。続いて、通信装置３０は、ループ端Ｌ１とＬ２で挟まれた繰り返しループ（以下、フレームレート算出ループという）の処理を実行する。算出部４１は、処理対象として選択した端末２０に対応付けて、送信時刻を送信時刻テーブル５２に記憶して、処理対象の端末２０に下りテストパケットを送信する（ステップＳ１２）。算出部４１は、受信部３３を介して、処理対象の端末２０から下り応答パケットを受信する（ステップＳ１３）。算出部４１は、処理対象の端末２０との間での下り方向のフレームレート（ｆｐｓ）を算出する（ステップＳ１４）。次に、算出部４１は、接続先テーブル５１を用いて、処理対象の端末２０が第１の映像データの送信元であるかを判定する（ステップＳ１５）。
【００５５】
処理対象の端末２０が第１の映像データの送信元である場合、算出部４１は、処理対象として選択した端末２０に上りテストパケットを送信する（ステップＳ１５でＹｅｓ、ステップＳ１６）。算出部４１は、受信部３３を介して、処理対象の端末２０から上り応答パケットを受信する（ステップＳ１７）。算出部４１は、処理対象の端末２０との間での上り方向のフレームレート（ｆｐｓ）を算出する（ステップＳ１８）。その後、算出部４１は、算出したフレームレートを、送信フレーム数テーブル５３に格納する（ステップＳ１９）。
【００５６】
一方、処理対象の端末２０が第１の映像データの送信元ではない場合、算出部４１は、ステップＳ１４で算出したフレームレートを、送信フレーム数テーブル５３に格納する（ステップＳ１５でＮｏ、ステップＳ１９）。
【００５７】
送信フレーム数テーブル５３の更新が完了すると、フレームレート算出ループの今回の繰り返しが終了する。そこで、通信装置３０は、まだ処理対象になっていない端末２０があれば、次の端末２０に注目して、フレームレート算出ループ内の処理を繰り返す。他方、全ての端末２０に対するフレームレートの算出が終わっていれば、通信装置３０は、各端末までの下り回線のフレームレートの最小値をＦｍｉｎに代入する（ステップＳ２０）。
【００５８】
算出部４１は、第１の映像データの送信元との間の上り方向のフレームレートがＦｍｉｎ以下であるかを判定する（ステップＳ２１）。第１の映像データの送信元との間の上り方向のフレームレートがＦｍｉｎ以下である場合、算出部４１は、Ｆｍｉｎの値を、第１の映像データの送信元との間の上り方向のフレームレートに変更する（ステップＳ２１でＹｅｓ、ステップＳ２２）。その後、算出部４１は、Ｆｍｉｎの値を、実配信フレームレートに設定する（ステップＳ２３）。
【００５９】
一方、第１の映像データの送信元との間の上り方向のフレームレートがＦｍｉｎを超えている場合、算出部４１は、Ｆｍｉｎの値を変更せずに、実配信フレームレートに設定する（ステップＳ２２でＮｏ、ステップＳ２３）。
【００６０】
図１０は、端末２０で行われる処理の例を説明するフローチャートである。図１０において、定数ｖは、総パケット数を表わしている。テストパケットを受信した制御部２２は、受信したテストパケットが下りテストパケットと上りテストパケットのいずれであるかを判定する（ステップＳ３１）。下りテストパケットを受信した場合、パケットカウント部２３は、下りテストパケットの受信数のカウント値を１つインクリメントする（ステップＳ３１で「下り」、ステップＳ３２）。制御部２２は、下りテストパケットの受信数が定数ｖ未満の場合、ステップＳ３１に戻る（ステップＳ３３でＮｏ）。一方、下りテストパケットの受信数が定数ｖと等しい場合、制御部２２は、ｖ番目に受信した下りテストパケットの受信時刻を下り応答パケットに記録する（ステップＳ３３でＹｅｓ、ステップＳ３４）。制御部２２は、パケット送受信部２１を介して、下り応答パケットを通信装置３０に返送する（ステップＳ３５）。パケットカウント部２３は、下り応答パケットが送信されると、下りテストパケットの受信数をリセットして処理を終了する（ステップＳ３６）。
【００６１】
上りテストパケットを受信した場合、制御部２２は、１番目に送信する上り応答パケットの送信時刻を含む上り応答パケットを生成する（ステップＳ３１で「上り」、ステップＳ３７）。制御部２２は、パケット送受信部２１を介して、ｖ個の上り応答パケットを通信装置３０に返送して、処理を終了する（ステップＳ３８）。
【００６２】
（Ｂ）配信データの生成
実配信フレームレートを求めた後、算出部４１は、映像配信開始指示を生成する。映像配信開始指示は、配信開始通知の送信元に対して映像データの配信の開始を許可するために使用可能な任意の形式の制御メッセージである。ここでは、端末２０ａが配信開始通知を送信した場合を例としているので、映像配信開始指示は端末２０ａに送信される。端末２０ａは、映像配信開始指示を受信すると、カメラ２４ａを用いて撮像した映像（撮像映像）を、パケット送受信部２１ａを介して、通信装置３０に送信する。このとき、通信システムは図８のネットワークＮ１に示したとおりであるので、端末２０ａは、撮像映像を３０ｆｐｓで通信装置３０に送信する。
【００６３】
図１１は、配信データの生成方法の例を説明する図である。通信装置３０の受信部３３は、第１の映像データを受信すると、バッファ５４に格納する。バッファ５４に格納されている映像データのフレームの一部を図１１の上の段に示す。図１１の例では、撮像映像が第１の映像データに該当する。
【００６４】
生成部４３は、端末２０ａから受信した撮像映像のフレームレートについて、算出部４１で求められた実配信フレームレートを基準にしたときの比率を求める。図８に示すように、実配信フレームレートが９ｆｐｓであるのに対し、撮像映像のフレームレートは３０ｆｐｓであるので、撮像映像のフレームレートは、実配信フレームレートの３．３３倍（≒３０／９）である。そこで、生成部４３は、撮像映像中のフレーム数と抽出されるフレーム数の比が、実配信フレームレートを基準にしたときの撮像映像のフレームレートの比率と同じになるようにフレームを抽出する。例えば、生成部４３は、撮像映像の先頭のフレームを抽出した後、３枚のフレームを廃棄し、５番目のフレームを送信対象として抽出する。また、その後も、生成部４３は、抽出したフレームに続く３枚のフレームを廃棄して、廃棄済みのフレームの次のフレームを抽出する処理を繰り返すことにより、２９番目のフレームまで処理する。この処理により、１番目、５番目、９番目、１３番目、１７番目、２１番目、２５番目、２９番目の８枚のフレームが抽出される。図１１の中央の欄には、フレームが抽出される様子を示しており、抽出対象に選択されずに間引かれたフレームに点描を入れて示している。また、図１１の一番下の欄の数字は、抽出されたフレームが新たに生成された映像データの中で何番目のフレームにあたるかを示している。生成部４３は、撮影映像中の３０枚のフレームから９枚のフレームを抽出するために、図１１に示すように、３０番目のフレームも配信用のフレームとして抽出する。このため、抽出処理を行った後に得られた映像データ（第２の映像データ）には、図１１の抽出映像に示すフレームが含まれる。なお、図１１は、１秒間に送信されるフレームを示している。従って、抽出後の映像データは、９ｆｐｓで各端末２０に送信される。
【００６５】
生成部４３は、生成した映像データ（第２の映像データ）を、送信部３２に出力する。送信部３２は、生成部４３から入力された第２の映像データを、端末２０ａ〜２０ｄの各々に、９ｆｐｓで送信する。第２の映像データの配信に使用されている通信レートは、いずれの端末への下り回線でも使用可能な値であるため、端末２０ａ〜２０ｄはいずれも、同じタイミングで同じフレームのデータを受信することができる。
【００６６】
各端末２０は、パケット送受信部２１で受信したフレームのパケットを制御部２２に出力する。制御部２２は、通信装置３０から配信された映像を適宜処理して、各端末２０のディスプレイ２５に表示する。
【００６７】
このように、いずれの端末にも同じタイミングでフレームが届くように映像データからフレームが抽出されるため、各端末２０のディスプレイ２５を参照しながら作業を行う作業員は、同じタイミングで高解像度の画像を参照しながら作業を行うことができる。その結果、通信経路の輻輳などに起因した表示タイミングのずれによる作業ミスが防止される。また、映像の配信元となっている端末２０ａにも、第２の映像データが送信されるので、指導役の作業員も、他の作業員が見ている映像を確認することができる。このため、映像の配信元の端末２０ａを用いている作業員の処理と、他の端末２０ｂ〜２０ｄに配信された映像を用いている他の作業員の処理との間のタイミングのずれを防止することができる。さらに、作業を監督することができる有識者の人数が少ない場合でも、複数拠点での処理が行われる際に、各拠点に同一の指示を同時に出すことができるため、工事作業が効率化される。
【００６８】
＜第２の実施形態＞
第２の実施形態では、通信システム中の通信状況の変化に対応するために、映像の配信中にも定期的に通信レートを測定する場合について説明する。第２の実施形態でも、映像の配信の開始の際は、第１の実施形態と同様の処理が行われる。以下の説明では、第１の映像データの配信に使用されているパケット番号をＭと記載し、第２の映像データの配信に使用されているパケット番号をＮと記載する。なお、パケット番号は、映像データの送信順序を表わす値である。映像データの送信がＵＤＰ（User Datagram Protocol）のようにシーケンス番号を用いないプロトコルの場合、パケット番号はデータに含めて送信されるものとする。一方、ＴＣＰなどのシーケンス番号を用いるプロトコルで映像データが送信される場合、シーケンス番号がパケット番号として使用されても良い。
【００６９】
図１２は、データ配信中に下り方向の通信レートを求める方法の例を説明する図である。データ配信中に下り方向の通信レートを測定する場合、通信装置３０の算出部４１は、通信レートの計測を行うタイミングを指定するために、下り計測パケットを生成する。以下の説明では、通信装置３０は、パケット番号を定数Ｘで割ったときに得られる剰余が１のパケットから、パケット番号を定数Ｘで割ったときに得られる剰余が定数ｖのパケットまでのｖ個のパケットの送受信にかかる時間から通信レートを求めるものとする。ここで、数値Ｘは、通信レートの計測処理を行う周期を表わす値であり、回線の状況の変化が比較的小さい間に送信できると見込まれるパケット数である。また、数値Ｘは数値ｖよりも大きな値であるものとする。
【００７０】
図１２のシーケンスＳＥＱ１１は、通信装置３０が通信システム中の端末２０ａとの間で行う通信の例を示す。算出部４１は、下り計測パケットを生成すると、パケット送受信部２１を介して端末２０に送信する（ステップＳ５１）。
【００７１】
図１２のＦ２１は、下り計測パケットのフォーマットの例である。下り計測パケットは、ＩＰヘッダ、ＴＣＰヘッダ、データを含む。データには、パケットが下り計測パケットであることを示す情報（ＣＰ１）、端末２０が下り計測応答パケットを生成するタイミングを表わす情報が含まれる。図１２の場合、端末２０が下り計測応答パケットを生成するタイミングを表わす情報は、数値Ｘと数値ｖである。図１２の例では、数値Ｘ＝１００、数値ｖ＝１０の場合を例として説明する。
【００７２】
端末２０ａの制御部２２ａは、パケット送受信部２１ａを介して、下り計測パケットを取得すると、数値Ｘと数値ｖを取得する。制御部２２ａは、数値Ｘと数値ｖを用いて、パケット番号が（７）式で表わされるパケットの受信時間を特定することが要求されたと認識する。
Ｎ（ｍｏｄＸ）＝ｖ  ・・・（７）
【００７３】
下り計測パケットの送信が終わると、通信装置３０は、第２の映像データを含むパケットの送信を開始する。通信装置３０は、Ｎ＝１のパケットを端末２０ａに送信したとする（ステップＳ５２）。通信装置３０は、１つ目のパケット（Ｎ＝１）はＮ（ｍｏｄＸ）＝１をみたすので、Ｎ＝１のパケットの送信時刻（Ｔ１１）を送信時刻テーブル５２に記憶する。
【００７４】
映像データの配信中は、送信時刻テーブル５２には、端末の識別子に対応付けて、受信時刻が通知されるパケットのパケット番号と、Ｎ（ｍｏｄＸ）＝１のパケットの送信時刻が記録される。例えば、ステップＳ１の処理により、端末２０ａに対応付けて、時刻Ｔ１１の値が記録される。また、算出部４１は、受信時刻が通知されるパケットの番号を、送信時刻を記録したパケットの番号に（ｖ−１）を加えた値に設定する。端末２０ａの場合、ｖ＝１０であるので、受信時刻が通知されるパケットのパケット番号は１０である。
【００７５】
送信時刻テーブル５２に対する処理と並行して、生成部４３は、第２の映像データの送信処理が行われ、Ｎ＝２〜Ｎ＝１０のデータパケットを端末２０に送信する（ステップＳ５３）。
【００７６】
一方、端末２０ａの制御部２２ａは、データパケットを、パケット送受信部２１ａを介して、受信時刻と共に取得する。制御部２２ａは、データパケットのペイロードを処理することにより、適宜、映像をディスプレイ２５ａに出力すると共に、パケット番号も取得する。制御部２２ａは、パケット番号を数値Ｘで割ったときの剰余がｖであるかを判定する。パケット番号を数値Ｘで割ったときの剰余がｖでない場合、制御部２２ａは受信時刻を破棄する。一方、パケット番号を数値Ｘで割ったときの剰余がｖである場合、受信時刻を用いて下り計測応答パケットを生成する。図１２の例では、パケット番号＝ｖのパケットを端末２０ａが受信した場合に、制御部２２ａは受信時刻（Ｔ１２）を含めた下り計測応答パケットを生成する。
【００７７】
図１２のＦ２２は、下り計測応答パケットのフォーマットの例である。下り計測応答パケットは、ＩＰヘッダ、ＴＣＰヘッダ、データを含む。データには、パケットが下り計測応答パケットであることを示す情報（ＣＲ１）、受信時刻、パケット番号が含まれる。ステップＳ５３までの処理が行われた段階で生成される下り計測応答パケットには、受信時刻＝Ｔ１２が記録される。また、ｖ＝１０であるため、パケット番号は１０である。制御部２２ａは、生成した下り計測応答パケットを、通信装置３０に送信する（ステップＳ５４）。
【００７８】
通信装置３０の算出部４１は、受信部３３を介して、下り計測応答パケットを取得する。ステップＳ５４で受信する下り計測応答パケットの送信元は端末２０ａであり、受信時刻はＴ１２である。算出部４１は、下り計測応答パケットに含まれているパケット番号が、下り計測応答パケットの送信元に対応付けて送信時刻テーブル５２に記憶している値と一致すると、受信した下り計測応答パケットを通信レートの算出に使用することを決定する。一方、下り計測応答パケットに含まれているパケット番号が、送信時刻テーブル５２中の値と一致しない場合、算出部４１は下り計測応答パケットを廃棄する。
【００７９】
算出部４１は、通信レートの計算に際し、下り計測応答パケットの送信元に対応付けられている送信時刻と、下り計測応答パケットで通知された受信時刻の差分から、ｖ個分のデータパケットが宛先に到達するまでにかかった時間を（８）式から求める。
ΔＴｄｖ＿ａ＝Ｔ１２−Ｔ１１  ・・・（８）
ここで、ΔＴｄｖ＿ａは、ｖ個のデータパケットが通信装置３０から端末２０ａに到達するまでにかかった時間である。また、算出部４１は、通信装置３０と端末２０ａの間の下り方向の通信レート（Ｒｄｃ＿ａ）を（９）式から計算する。
Ｒｄｃ＿ａ＝ｖ×ＢＮｄｐ／ΔＴｄｖ＿ａ  ・・・（９）
ここで、ＢＮｄｐは１つのデータパケットに含まれているビット数である。さらに、算出部４１は、通信装置３０と端末２０ａの間の下り方向のフレームレート（ＦＮｄ＿ａ）を、１フレームに含まれているビット数（ＢＮｆ）を用いて、（１０）式から計算する。
ＦＮｄ＿ａ＝Ｒｄｃ＿ａ／ＢＮｆ  ・・・（１０）
算出部４１は、通信装置３０と端末２０ａの間の下り方向のフレームレートを求めると、送信フレーム数テーブル５３を更新する。
【００８０】
算出部４１において通信レートの更新処理が行われている間も、並行して、通信装置３０から端末２０ａへのデータパケットの送信が行われる。また、各パケット中のパケット番号は、パケットの送信順序に応じてインクリメントされる。このため、通信装置３０が端末２０ａに対して、Ｎ＝Ｘ＋１のパケットを送信する（ステップＳ５５）。また、このときに、算出部４１は、再度、通信レートの計算を行うために、Ｎ＝Ｘ＋１のパケットの送信時刻（Ｔ１３）を送信時刻テーブル５２に記録する。生成部４３からのデータパケットの送信は継続されているので、Ｎ＝Ｘ＋ｖのデータパケットも端末２０ａに送信される（ステップＳ５６）。
【００８１】
端末２０ａがデータフレームを受信したときに行う処理は、ステップＳ５２〜Ｓ５４を参照しながら説明した処理と同様である。このため、端末２０ａは、Ｎ＝Ｘ＋ｖのデータパケットを受信すると、受信時刻Ｔ１４、および、パケット番号Ｎ＝Ｘ＋ｖを含む下り計測応答パケットを通信装置３０に送信する（ステップＳ５７）。通信装置３０は、端末２０ａから下り計測応答パケットを受信すると、ステップＳ５４を参照しながら説明した処理と同様の処理を行うことにより、端末２０ａとの間の通信レートを更新する。
【００８２】
その後も、パケット番号ＮをＸで割ったときの剰余が１となるパケットごとに、通信装置３０は、送信時刻を記録し、端末２０ａは、パケット番号ＮをＸで割ったときの剰余がｘとなるパケットの受信時刻を通信装置３０に通知する（ステップＳ５８）。このため、定期的に、通信装置３０と端末２０ａの間の通信レートやフレームレートが更新される。また、図１２では、通信装置３０と端末２０ａの間の通信を例として説明したが、通信装置３０は、通信システム中の各端末２０との間で同様の処理を行うことにより、定期的に通信レートやフレームレートを更新する。
【００８３】
図１３は、データ配信中に上り方向の通信レートを求める方法の例を説明する図である。データ配信中に上り方向の通信レートを測定する場合、通信装置３０の算出部４１は、通信レートの計測を行うタイミングを指定するために、上り計測パケットを生成する。以下の説明では、通信装置３０は、パケット番号を定数Ｙで割ったときに得られる剰余が１のパケットから、パケット番号を定数Ｙで割ったときに得られる剰余が定数ｗのパケットまでのｗ個のパケットの送受信にかかる時間から通信レートを求めるものとする。
【００８４】
図１３のシーケンスＳＥＱ１２は、通信装置３０が端末２０ａから第１の映像データを受信する場合に、通信レートを求めるために行う通信の例を示す。算出部４１は、上り計測パケットを生成すると、パケット送受信部２１を介して端末２０ａに送信する（ステップＳ６１）。
【００８５】
図１２のＦ３１は、上り計測パケットのフォーマットの例である。上り計測パケットは、ＩＰヘッダ、ＴＣＰヘッダ、データを含む。データには、パケットが上り計測パケットであることを示す情報（ＣＰ２）、端末２０が上り計測応答パケットを生成するタイミングを求めるために使用される情報が含まれる。図１２の場合、端末２０が上り計測応答パケットを生成するタイミングを求めるために使用される情報は、数値Ｙである。
【００８６】
端末２０の制御部２２は、パケット送受信部２１を介して、上り計測パケットを取得すると、数値Ｙを取得する。制御部２２は、パケット番号ＭをＹで割ったときの剰余が１となるパケットの送信時間を通信装置３０に通知することが要求されたと認識する。そこで、制御部２２は、Ｍ＝１のデータパケットを送信する際に、送信時刻Ｔ２１を記憶する（ステップＳ６２）。制御部２２は、その後も、通信装置３０に向けて、第１の映像データを含むデータパケットを通信装置３０に送信する（ステップＳ６３）。
【００８７】
通信装置３０は、端末２０ａで受信した第１の映像データのデータパケットをバッファ５４に格納する。このとき、算出部４１は、各データパケット中のパケット番号をモニタする。なお、算出部４１は、各データパケットの受信時刻もモニタしており、パケット番号をＹで割ったときの剰余がｗとなるデータパケットの受信時刻を特定する。
【００８８】
ステップＳ６３に示す処理と並行して、端末２０ａは、上り計測応答パケットを通信装置３０に送信することにより、パケット番号ＭをＹで割ったときの剰余が１となるパケットの送信時間を通信装置３０に通知する（ステップＳ６４）。
【００８９】
図１３のＦ３２は、上り計測応答パケットのフォーマットの例である。上り計測応答パケットは、ＩＰヘッダ、ＴＣＰヘッダ、データを含む。データには、パケットが上り計測応答パケットであることを示す情報（ＣＲ２）、送信時刻、パケット番号が含まれる。ステップＳ６２までの処理が行われた段階で生成される上り計測応答パケットには、送信時刻＝Ｔ２１が記録される。また、時刻Ｔ２１に送信したパケットのパケット番号Ｍ＝１も上り計測応答に記録される。制御部２２ａは、生成した上り計測応答パケットを、パケット送受信部２１ａを介して、通信装置３０に送信する。
【００９０】
通信装置３０の算出部４１は、送信部３２を介して、上り計測応答パケットを取得し、パケット番号Ｍ＝１のパケットが時刻Ｔ２１に送信されたことを特定する。算出部４１は、通信レートの計算に際し、上り計測応答パケットの送信元に対応付けられている送信時刻と、下り計測応答パケットで通知された受信時刻の差分を用いて、ｗ個分のデータパケットが宛先に到達するまでにかかった時間（ΔＴｕｗ＿ａ）を（１１）式から求める。
ΔＴｕｗ＿ａ＝Ｔ２２−Ｔ２１  ・・・（１１）
【００９１】
次に、算出部４１は、（１２）式から、通信装置３０と端末２０ａの間の上り方向の通信レート（Ｒｕｃ＿ａ）を計算する。
Ｒｕｃ＿ａ＝ｗ×ＢＮｄｐ／ΔＴｕｗ＿ａ  ・・・（１２）
ここで、ＢＮｄｐは１つのデータパケットに含まれているビット数である。さらに、算出部４１は、通信装置３０と端末２０ａの間の上り方向のフレームレート（ＦＮｕ＿ａ）を、（１３）式から計算する。
ＦＮｕ＿ａ＝Ｒｕｃ＿ａ／ＢＮｆ  ・・・（１３）
算出部４１は、端末２０ａと通信装置３０の間での上り方向のフレームレートを求めると、送信フレーム数テーブル５３を更新する。
【００９２】
その後も、パケット番号ＭをＹで割ったときの剰余が１となるパケットごとに、端末２０ａは、送信時刻を通信装置３０に通知する。また、通信装置３０は、パケット番号ＭをＹで割ったときの剰余がｗとなるパケットの受信時刻と、端末２０ａから通知された送信時刻を用いて、通信レートを計算する。このため、定期的に、通信装置３０と端末２０ａの間の上り方向の通信レートも更新される。
【００９３】
なお、図１３のシーケンスＳＥＱ１２では、ステップＳ６３の次にステップＳ６４によって上り計測応答パケットが送信されているが、上り計測応答パケットの送信のタイミングは実装に応じて変更され得る。上り計測応答パケットは、Ｍ（ｍｏｄＹ）＝１をみたすパケットの送信後の任意のタイミングで送信され得る。
【００９４】
図１２と図１３を参照しながら説明した処理により、通信中のデータパケットを用いて、通信レートの変動がモニタされる。また、定期的に、送信フレーム数テーブル５３中のフレームレートが更新される。このため、生成部４３は、更新後のフレームレートのうちの最小値を、第２の映像のフレームレートとして用いて、第２の映像データを生成する。第１の映像データから第２の映像データを生成する方法は、第１の実施形態で説明した処理と同様である。
【００９５】
図１４は、データ配信中の通信装置３０で行われる処理の例を説明するフローチャートである。なお、図１４は処理の一例であり、通信装置３０での処理は実装に応じて変更され得る。例えば、ステップＳ７１の処理はステップＳ７２、Ｓ７３の後に行われても良い。
【００９６】
まず、ループ端Ｌ１１とＬ１２で挟まれた繰り返しループ（フレームレート算出ループ）の処理が行われる。算出部４１は、フレームレートの測定対象の端末２０に、下り計測パケットを送信する（ステップＳ７１）。処理対象が第１の映像データの送信元である場合、算出部４１は、処理対象の装置に、上り計測パケットを送信する（ステップＳ７２でＹｅｓ、ステップＳ７３）。一方、処理対象が第１の映像データの送信元ではない場合、ステップＳ７３の処理は行われない（ステップＳ７２でＮｏ）。算出部４１は、生成部４３で生成された第２の映像データを含むパケットのうち、パケット番号ＮがＮ（ｍｏｄＸ）＝１を満たすパケットの送信時刻を送信時刻テーブル５２に記録する（ステップＳ７４）。処理対象の端末２０から下り計測応答パケットを受信すると、算出部４１は、下り回線で単位時間当たりに配信可能なフレーム数を算出する（ステップＳ７５、Ｓ７６）。
【００９７】
処理対象が第１の映像データの送信元である場合、算出部４１は、処理対象の装置から上り計測応答パケットを受信する（ステップＳ７７でＹｅｓ、ステップＳ７６）。すると、算出部４１は、第１の映像データを含むパケットのうちで、パケット番号ＭがＭ（ｍｏｄＹ）＝ｗをみたすパケットの受信時刻を取得し、上り回線で単位時間当たりに配信可能なフレーム数を算出する（ステップＳ７９、Ｓ８０）。その後、算出部４１は、算出した配信可能フレーム数を送信フレーム数テーブル５３に格納する（ステップＳ８１）。通信装置３０は、まだ処理対象になっていない端末２０があれば、次の端末２０に注目して、フレームレート算出ループ内の処理を繰り返す。他方、全ての端末２０に対するフレームレートの算出が終わっていれば、ステップＳ８２に進む。ステップＳ８２〜Ｓ８５で行われる処理は、図９を参照しながら説明したステップＳ２０〜Ｓ２３で行われる処理と同様である。ステップＳ８５の処理が終わると、ステップＳ７４以降の処理が繰り返される。
【００９８】
一方、ステップＳ７７において、処理対象が第１の映像データの送信元でないと判定された場合、算出部４１は、算出した配信可能フレーム数を送信フレーム数テーブル５３に格納し、ステップＳ８２以降の処理を行う（ステップＳ７７でＮｏ、ステップＳ８１）。
【００９９】
図１５は、端末２０で行われる処理の例を説明するフローチャートである。図１５を参照しながら、第２の映像データが配信されている端末２０で行われる処理の例を説明する。端末２０は、パケット送受信部２１を介して、通信装置３０から下り計測パケットを受信する（ステップＳ９１）。制御部２２は、下り計測パケットから、数値Ｘと数値ｖを取得する。端末２０は、パケット送受信部２１を介して、通信装置３０から第２の映像データを含むデータパケットを受信する（ステップＳ９２）。制御部２２は、受信したパケットのパケット番号ＮがＮ（ｍｏｄＸ）＝ｖを満たすまで、ステップＳ９２の処理を継続する（ステップＳ９３でＮｏ）。制御部２２は、受信したパケットのパケット番号ＮがＮ（ｍｏｄＸ）＝ｖを満たす場合、パケット番号＝Ｎのパケットの受信時刻を下り計測応答パケットに記録する（ステップＳ９３でＹｅｓ、ステップＳ９４）。制御部２２は、パケット送受信部２１を介して、下り計測応答パケットを通信装置３０に送信する（ステップＳ９５）。
【０１００】
図１６は、端末２０で行われる処理の例を説明するフローチャートである。図１６を参照しながら、第１の映像データを通信装置３０に送信している端末２０において、通信装置３０での上り方向の通信レートの計測のために行われる処理の例を説明する。端末２０は、パケット送受信部２１を介して、通信装置３０から上り計測パケットを受信する（ステップＳ１０１）。制御部２２は、上り計測パケットから、数値Ｙを取得する。端末２０は、パケット送受信部２１を介して、通信装置３０に第１の映像データを含むデータパケットを送信する（ステップＳ１０２）。制御部２２は、送信したパケットのパケット番号ＭがＭ（ｍｏｄＹ）＝１を満たすまで、ステップＳ１０２の処理を継続する（ステップＳ１０３でＮｏ）。制御部２２は、送信したパケットのパケット番号ＭがＭ（ｍｏｄＹ）＝１を満たす場合、パケット番号＝Ｍのパケットの送信時刻を上り計測応答パケットに記録する（ステップＳ１０３でＹｅｓ、ステップＳ１０４）。制御部２２は、パケット送受信部２１を介して、上り計測応答パケットを通信装置３０に送信する（ステップＳ１０５）。
【０１０１】
以上説明したように、第２の実施形態では、通信経路の状況の変化に伴ってフレームレートが適宜更新され、更新されたフレームレートを用いて、通信が行われる。このため、第２の実施形態によると、通信経路の状況が変化しても、いずれの端末にも同じタイミングでフレームが届くように映像データからフレームが抽出される。このため、各端末２０のディスプレイ２５を参照しながら作業を行う作業員は、同じタイミングで高解像度の画像を参照しながら作業を行うことができるので、画像が不鮮明なことに起因する作業ミスが防止できる。また、通信経路の輻輳などに起因した表示タイミングのずれによる作業ミスも防止される。さらに、映像の配信元となっている端末２０ａにも、第２の映像データが送信されるので、指導役の作業員も、他の作業員が見ている映像を確認することができるので、通信システム全体で同期を取りやすくなる。
【０１０２】
＜第３の実施形態＞
通信システムには複数の端末２０が含まれているので、第１の映像データを送信する端末（送信端末）が切り替わる可能性もある。以下、映像の配信中に送信端末が切り替わる場合の処理の例を説明する。以下、端末２０ａが通信装置３０に第１の映像データを送信しているときに、送信端末を端末２０ｂに切り替える場合を例として説明する。なお、第３の実施形態でも、図２に示すように、通信装置３０は、端末２０ａ〜２０ｄに第２の映像データを送信する。
【０１０３】
図１７は、第３の実施形態で行われる処理の例を説明するシーケンス図である。なお、図１７は、処理の一例であり、例えば、ステップＳ１１９とステップＳ１２０の処理の順序は任意に変更され得る。ステップＳ１１１において、端末２０ａは第１の映像データ（撮像映像）を通信装置３０に送信している。紙面の関係上、図示していないが、通信装置３０は、端末２０ａから受信した映像データから一部のフレームを抽出して生成した第２の映像データを端末２０ａ〜２０ｄに配信している。
【０１０４】
ステップＳ１１２において、端末２０ｂが切り替え要求を通信装置３０に送信したとする。切り替え要求は、通信装置３０が配信する映像の生成に使用する映像の送信元を、切り替え要求の送信元に変更することを要求する情報を含む任意の制御パケットである。すなわち、切り替え要求の送信元は、自装置が新たな送信端末として動作することを通信装置３０に通知している。
【０１０５】
通信装置３０は、切り替え要求を受信すると、切り替え要求の送信元である端末２０ｂに対して、上りテストパケットを送信する（ステップＳ１１３）。上りテストパケットのフォーマットは第１の実施形態（図７）で説明したとおりである。ここで、ステップＳ１１３の処理が行われる時点では、端末２０ａが通信装置３０に撮像映像を送信している。すなわち、端末２０ｂから通信装置３０に向かう方向では、端末２０ａ〜２０ｄへの配信用の映像データが送信されていないので、通信レートの算出に上りテストパケットが使用される。
【０１０６】
端末２０ｂは、上りテストパケットを受信すると、通信装置３０に向けて、上り応答パケットを、特定されたパケット数だけ送信する（ステップＳ１１４）。通信装置３０は、上り応答パケットと、上り応答パケットの受信時刻を用いて、端末２０ｂとの間の上り方向のフレームレートを算出する（ステップＳ１１５）。なお、ステップＳ１１３〜Ｓ１１５の処理は、図７と図８を参照しながら説明した処理と同様である。
【０１０７】
その後、通信装置３０は、端末２０ｂとの間の上り方向のフレームレートと、通信装置３０から端末２０ａ〜２０ｄの各々への下り方向のフレームレートを用いて、単位時間当たりの実配信フレーム数（実配信フレームレート）を決定する（ステップＳ１１６）。ステップＳ１１６で行われる処理は、図８や図９のステップＳ２０〜Ｓ２３を参照しながら説明したとおりである。このため、実配信フレームレートは、端末２０ｂとの間の上り方向のフレームレート、および、通信装置３０から端末２０ａ〜２０ｄの各々への下り方向のフレームレートの中の最小値に決定される。通信装置３０の算出部４１は、実配信フレームレートを更新すると、送信部３２を介して、端末２０ｂに、映像配信開始指示を送信する（ステップＳ１１７）。映像配信開始指示を受信した端末２０ｂは、カメラ２４ｂを用いて撮像した映像（撮像映像）の送信を開始する（ステップＳ１１８）。以下、分かりやすくするために、端末２０ｂから通信装置３０に送信される撮像映像を「第３の映像データ」と記載する。
【０１０８】
端末２０ｂから第３の映像データを受信すると、通信装置３０は、端末２０ａに対して、配信停止要求を送信する（ステップＳ１１９）。ステップＳ１１９で送信される配信停止要求は、第１の映像データの配信の停止を要求するために使用できる任意の制御データである。端末２０ａの制御部２２ａは、パケット送受信部２１ａを介して、配信停止要求を取得すると、カメラ２４ａを用いて撮像した映像の送信を停止する。さらに、制御部２２ａは、カメラ２４ａでの撮像処理も停止しても良い。
【０１０９】
一方、通信装置３０は、端末２０ｂから受信した第３の映像データから生成した映像データを、通信システム中の各端末２０に送信する（ステップＳ１２０）。
【０１１０】
このように、第３の実施形態によると、送信処理を行う端末２０を任意に変更することができる。また、送信処理を行う端末２０を切り替えても、全ての端末２０に、同じタイミングで高解像度の映像データを送信することができる。このため、映像が不鮮明であるために作業ミスが発生することを防止できる。
【０１１１】
＜その他＞
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
【０１１２】
例えば、いずれの実施形態においても、作業の終了などにより、映像の配信が停止される場合、以下に説明する終了処理が行われても良い。終了処理では、送信端末として動作している端末２０から通信装置３０に対して、配信停止依頼が送信される。配信停止依頼を受信した通信装置３０は、通信システム中の端末２０に対して、映像受信停止指示を送信する。映像受信停止指示を受信した各端末２０は、ディスプレイ２５への映像の表示を停止するとともに、通信装置３０に対して、映像受信停止応答を送信する。通信装置３０は、映像受信停止応答を、通信システム中の全ての端末２０から受信すると、送信端末として動作している端末２０に対して、配信停止指示を送信する。送信端末は、配信停止指示を受信すると、撮像データの送信を停止すると共に、カメラ２４を用いた撮像処理も停止する。また、送信端末は、配信停止応答を通信装置３０に送信する。通信装置３０は、配信停止応答を受信すると、正常に配信が終了したと判定して、処理を終了する。
【０１１３】
第３の実施形態においても、配信停止指示を受信した端末２０ａは、配信停止応答を通信装置３０に送信しても良い。
【０１１４】
以上の説明で述べたパケットのフォーマットやテーブルに含まれる情報要素は一例であり、実装に応じて変更され得る。なお、通信レートの算出に使用されるパケットがＴＣＰで送受信される場合を例として説明したが、通信レートの算出に使用されるパケットの送受信に使用されるプロトコルは実装に応じて変更され得る。また、第１の映像データと第２の映像データのいずれも、通信に使用されるプロトコルは任意である。
【０１１５】
以上の説明では、配信される映像が工事のための作業映像である場合を例としたが、配信される映像は、工事の映像に限られず、任意の映像が適用され得る。
【０１１６】
上述の第１〜第３の実施形態を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
複数の端末と通信可能な通信装置であって、
前記複数の端末から選択された送信端末から第１の映像データを受信する受信部と、
前記複数の端末のうちで所定期間に配信可能なフレーム数が相対的に小さい端末である対象端末を特定するとともに、前記第１の映像データから、前記対象端末に配信可能な数のフレームを抽出した第２の映像データを生成する制御を行う制御部と、
前記第２の映像データを前記複数の端末の各々に送信する送信部
を備えることを特徴とする通信装置。
（付記２）
前記制御部は、
前記所定期間に前記第１の映像データとして送信されるフレームの数である第１のフレームレートと、前記所定期間に前記対象端末に配信可能なフレームの数である第２のフレームレートを求め、
前記第２のフレームレートが前記第１のフレームレートより小さい場合、前記第１の映像データ中のフレーム数と前記第２の映像データ中のフレーム数の比が、前記第１のフレームレートと前記第２のフレームレートの比と同じ値になるように、前記第１の映像データから前記第２の映像データとして配信するフレームを抽出する
ことを特徴とする付記１に記載の通信装置。
（付記３）
前記制御部は、
前記第２の映像データの配信前に、前記第１の映像データ中のフレームと同じ解像度の画像データを含むテストパケットを用いて、前記複数の端末の各々との間で得られる通信レートを測定し、
前記複数の端末の各々との間で得られる通信レートを用いて前記第２のフレームレートを決定し、
前記第２の映像データの配信の開始後に、前記第２の映像データを含む送信パケットの送信時刻と前記送信パケットの処理順序を表わす番号を対応付けて記憶し、
前記受信部は、前記第２の映像データの配信の開始後に、前記複数の端末の各々から、当該端末が前記第２の映像データを含む受信パケットを受信した時刻と前記受信パケットの処理順序を示す番号の組み合わせを含むパケットを受信し、
前記制御部は、前記送信時刻、前記送信パケットの処理順序、および、前記組み合わせを用いて、前記第２のフレームレートを更新する
ことを特徴とする付記２に記載の通信装置。
（付記４）
前記受信部は、前記第１の映像データの受信前に、前記送信端末から前記第１の映像データ中のフレームと同じ解像度の画像データと時刻情報とを含む複数のパケットを受信し、
前記時刻情報は前記複数のパケットの中で相対的に早く送信されたパケットの送信時刻であり、
前記制御部は、前記複数のパケットの受信時刻と、前記時刻情報を用いて、前記第１のフレームレートを算出し、
前記受信部は、前記第１の映像データの受信開始後に、前記第１の映像データを含む第１のパケットを前記送信端末が送信した時刻と前記第１のパケットの処理順序の組み合わせを通知する通知パケットを受信し、
前記制御部は、前記第１のパケットの後に送信された第２のパケットの受信時刻、前記第２のパケットの処理順序、および、前記通知パケット中の情報を用いて、前記第１のフレームレートを更新する
ことを特徴とする付記２または３に記載の通信装置。
（付記５）
複数の端末と
前記複数の端末と通信可能な通信装置
を含む通信システムであって、
前記通信装置は、
前記複数の端末から選択された送信端末から第１の映像データを受信し、
前記複数の端末のうちで所定期間に配信可能なフレーム数が相対的に小さい端末である対象端末を特定し、
前記第１の映像データから、前記対象端末に配信可能な数のフレームを抽出した第２の映像データを前記複数の端末の各々に送信する
ことを特徴とする通信システム。
（付記６）
前記通信装置は、
前記所定期間に前記第１の映像データとして送信されるフレームの数である第１のフレームレートと、前記所定期間に前記対象端末に配信可能なフレームの数である第２のフレームレートを求め、
前記第２のフレームレートが前記第１のフレームレートより小さい場合、前記第１の映像データ中のフレーム数と前記第２の映像データ中のフレーム数の比が、前記第１のフレームレートと前記第２のフレームレートの比と同じ値になるように、前記第１の映像データから前記第２の映像データとして配信するフレームを抽出する
ことを特徴とする付記５に記載の通信システム。
（付記７）
前記通信装置は、
前記第２の映像データの配信前に、前記第１の映像データ中のフレームと同じ解像度の画像データを含むテストパケットを用いて、前記複数の端末の各々との間で得られる通信レートを測定し、
前記複数の端末の各々との間で得られる通信レートを用いて前記第２のフレームレートを決定し、
前記第２の映像データの配信の開始後に、前記第２の映像データを含む送信パケットの送信時刻と前記送信パケットの処理順序を表わす番号を対応付けて記憶し、
前記第２の映像データの配信の開始後に、前記複数の端末の各々から、当該端末が前記第２の映像データを含む受信パケットを受信した時刻と前記受信パケットの処理順序を示す番号の組み合わせを含むパケットを受信し、
前記送信時刻、前記送信パケットの処理順序、および、前記組み合わせを用いて、前記第２のフレームレートを更新する
ことを特徴とする付記６に記載の通信システム。
（付記８）
前記通信装置は、
前記第１の映像データの受信前に、前記送信端末から前記第１の映像データ中のフレームと同じ解像度の画像データと時刻情報とを含む複数のパケットを受信し、
前記時刻情報は前記複数のパケットの中で相対的に早く送信されたパケットの送信時刻であり、
前記複数のパケットの受信時刻と、前記時刻情報を用いて、前記第１のフレームレートを算出し、
前記第１の映像データの受信開始後に、前記第１の映像データを含む第１のパケットを前記送信端末が送信した時刻と前記第１のパケットの処理順序の組み合わせを通知する通知パケットを受信し、
前記第１のパケットの後に送信された第２のパケットの受信時刻、前記第２のパケットの処理順序、および、前記通知パケット中の情報を用いて、前記第１のフレームレートを更新する
ことを特徴とする付記６または７に記載の通信システム。
（付記９）
複数の端末と前記複数の端末と通信可能な通信装置を含むネットワークで使用される通信方法であって、
前記通信装置が、
前記複数の端末から選択された送信端末から第１の映像データを受信し、
前記複数の端末のうちで所定期間に配信可能なフレーム数が相対的に小さい端末である対象端末を特定し、
前記第１の映像データから、前記対象端末に配信可能な数のフレームを抽出した第２の映像データを前記複数の端末の各々に送信する
処理を行うことを特徴とする通信方法。
【符号の説明】
【０１１７】
５  配信サーバ
１０、２０  端末
２１  パケット送受信部
２２、４０  制御部
２３  パケットカウント部
２４  カメラ
２５  ディスプレイ
３０  通信装置
３１  送受信部
３２  送信部
３３  受信部
４１  算出部
４２  カウンタ
４３  生成部
５０  記憶部
５１  接続先テーブル
５２  送信時刻テーブル
５３  送信フレーム数テーブル
５４  バッファ
１０１  ネットワークインタフェース
１０２  プロセッサ
１０３  メモリ
１０６  記憶装置
【図１】
0006435987.tif 000002
【図２】
0006435987.tif 000003
【図３】
0006435987.tif 000004
【図４】
0006435987.tif 000005
【図５】
0006435987.tif 000006
【図６】
0006435987.tif 000007
【図７】
0006435987.tif 000008
【図８】
0006435987.tif 000009
【図９】
0006435987.tif 000010
【図１０】
0006435987.tif 000011
【図１１】
0006435987.tif 000012
【図１２】
0006435987.tif 000013
【図１３】
0006435987.tif 000014
【図１４】
0006435987.tif 000015
【図１５】
0006435987.tif 000016
【図１６】
0006435987.tif 000017
【図１７】
0006435987.tif 000018