説明

通信装置、通信方法、および通信プログラム

【課題】重要なデータのパケットロスを抑制しつつ、帯域を計測することができる通信装置、通信方法、および通信プログラムを提供する。
【解決手段】送信対象となるパケットの生成元が対象データである場合(S61:YES)、探索範囲に含まれる未計測帯域のなかで最下端が、計測帯域に選択される(S63)。送信対象となるパケットの生成元が対象データでない場合(S61:NO)、探索範囲に含まれる未計測帯域のなかで最上端が、計測帯域に選択される(S65)。パケットが生成されて、選択された計測帯域に送信される(S67、S69)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介してデータ通信を行う場合に、帯域を計測できるようにデータ通信を行う通信装置、通信方法、および通信プログラムに関する。
【背景技術】
【0002】
インターネット等の公衆ネットワークでは、帯域(帯域幅:Available Bandwidth)に適した伝送速度でデータを送受信する必要がある。しかし、このようなネットワークでは、通信装置間でのデータ通信に使用できる帯域(以下、「可用帯域」という。)は、地域、プロバイダ、時間帯等の状況によって変動する。そのため、通信装置間でデータ通信が行われている間に可用帯域が小さくなると、通信装置が実際に利用している帯域(以下、「利用帯域」という。)が可用帯域よりも大きくなって、データの輻輳、パケットロス等の問題が生じるおそれがある。一方、通信装置間でデータ通信が行われている間に可用帯域が大きくなると、データ通信に使用されない帯域が増大し、帯域の無駄を生じるおそれがある。
【0003】
非特許文献1は、音声データ等のメディアデータの送受信を行いながら、変動する帯域を計測するための計測方式を開示している。非特許文献1が開示している計測方式では、まず、送信側の通信装置は、帯域の計測対象範囲である探索範囲を設定する。設定した探索範囲内の帯域を計測するための、複数のパケットの送信条件を設定する。送信条件には、複数のパケットの送信間隔と、複数のパケットを構成するパケットの数と、複数のパケットを構成する各パケットのパケットサイズとが含まれる。次いで、送信側の通信装置は、設定した送信条件に従って、受信側の通信装置に送信間隔を算出させるための時間情報を含んだ複数のパケットを、送信間隔を変更しながら連続して送信する。その後、パケット内の時間情報によって算出されるパケットの送信間隔と、受信側の通信装置で記録された受信間隔との差分が算出される。算出された複数の差分の値の変化傾向から、現在の帯域が計測される。1回の帯域の計測が終了すると、過去の計測結果に基づいて次の帯域の探索範囲が設定され、次の計測処理が行われる。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】津川知朗、CaoLe Thanh Man、長谷川剛、村田正幸、「インラインネットワーク計測手法ImTCPおよびその応用手法の実装および性能評価」、電子情報通信学会技術研究報告(IN2005−120)、p.79−84、2005年12月
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1に開示の計測方式では、設定した探索範囲が可用帯域を超える場合がある。この場合、設定した探索範囲内の帯域を計測時に送信されるパケットのうち、可用帯域を超える帯域を使用して送信されるパケットは、伝送中に消失するおそれがある。このようなパケットロスが、特に重要なデータについて発生すると、ユーザに与える不利益が大きい。そのため、上記の計測方式は、重要なデータを送信するのに適さない場合があった。
【0006】
本発明は、重要なデータのパケットロスを抑制しつつ、帯域を計測することができる通信装置、通信方法、および通信プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第一態様に係る通信装置は、パケットの送信レートを変化させることで、データ通信に使用できる帯域である可用帯域を計測する通信装置であって、帯域の計測結果に基づいて、次回の帯域計測の基準となる帯域値を示す基準点を設定し、前記基準点を中心に計測対象となる帯域の範囲である探索範囲を決定する範囲決定手段と、送信対象となる前記パケットの生成元であるデータが、所定のデータ種別を有する対象データであるか否かを判断するデータ判断手段と、前記データ判断手段によって前記対象データであると判断された場合、前記範囲決定手段によって決定された前記探索範囲に含まれる未計測帯域のなかで前記基準点よりも低い帯域を、計測対象の帯域である計測帯域として決定する一方、前記データ判断手段によって前記対象データでないと判断された場合、前記未計測帯域のいずれかを前記計測帯域として決定する帯域決定手段と、前記帯域決定手段によって決定された前記計測帯域で、前記パケットを送信するパケット送信手段とを備えている。
【0008】
第一態様に係る通信装置は、送信対象となるパケットの生成元が対象データである場合、探索範囲に含まれる未計測帯域のなかで、帯域の計測結果に基づいて設定した基準点よりも低い帯域にパケットを送信する。送信対象となるパケットの生成元が対象データでない場合、探索範囲に含まれる未計測帯域のいずれかにパケットを送信する。したがって、対象データのパケットロスを抑制しつつ、帯域を計測することができる。
【0009】
前記通信装置は、前記帯域決定手段は、前記データ判断手段によって前記対象データであると判断された場合、前記範囲決定手段によって決定された前記探索範囲の前記未計測帯域のなかで最も低い帯域を前記計測帯域として決定する一方、前記データ判断手段によって前記対象データでないと判断された場合、前記未計測帯域のなかで最も高い帯域を前記計測帯域として決定してもよい。この場合、対象データをパケットロスの発生確率がより低い帯域を使用して送信することで、通信品質がさらに向上する。また、非対象データをパケットロスの発生確率がより高い帯域を使用して送信することで、帯域全体の有効利用を図ることができる。
【0010】
前記通信装置は、前記データ判断手段は、前記データの種別が、人間の声を集音した音声データ、人間を映し出した画像データ、および文字情報を含む資料データのいずれかである場合、前記対象データであると判断してもよい。この場合、これらの音声データ、画像データ、および資料データは、パケットロスを抑制しつつ送信されるので、例えばテレビ会議等を円滑に進行させることができる。
【0011】
前記通信装置は、前記データを符号化して、符号化データを生成する符号化手段と、前記対象データに基づいて生成された前記符号化データに、所定の付加情報を設定する情報設定手段とを備え、前記データ判断手段は、前記符号化手段によって生成された前記符号化データに前記付加情報が設定されている場合、前記対象データであると判断してもよい。この場合、データを符号化した後でも、所定の付加情報に基づいて対象データであるか否かを判断できるため、データ処理を高速化することができる。
【0012】
本発明の第二態様に係る通信方法は、パケットの送信レートを変化させることで、データ通信に使用できる帯域である可用帯域を計測する通信装置によって行われる通信方法であって、帯域の計測結果に基づいて、次回の帯域計測の基準となる帯域値を示す基準点を設定し、前記基準点を中心に計測対象となる帯域の範囲である探索範囲を決定する範囲決定ステップと、送信対象となるパケットの生成元であるデータが、所定のデータ種別を有する対象データであるか否かを判断するデータ判断ステップと、前記データ判断ステップによって前記対象データであると判断された場合、前記範囲決定ステップによって決定された前記探索範囲に含まれる未計測帯域のなかで、前記探索範囲の中心となる帯域である基準点よりも低い帯域を、計測対象の帯域である計測帯域として決定する一方、前記データ判断ステップによって前記対象データでないと判断された場合、前記未計測帯域のいずれかを前記計測帯域として決定する帯域決定ステップと、前記帯域決定ステップによって決定された前記計測帯域で、前記パケットを送信するパケット送信ステップとを備えている。
【0013】
第二態様に係る通信方法は、送信対象となるパケットの生成元が対象データである場合、探索範囲に含まれる未計測帯域のなかで、帯域の計測結果に基づいて設定した基準点よりも低い帯域にパケットを送信する。送信対象となるパケットの生成元が対象データでない場合、探索範囲に含まれる未計測帯域のいずれかにパケットを送信する。したがって、対象データのパケットロスを抑制しつつ、帯域を計測することができる。
【0014】
本発明の第三態様に係る通信プログラムは、パケットの送信レートを変化させることで、データ通信に使用できる帯域である可用帯域を計測する通信装置を制御する通信プログラムであって、コンピュータに、帯域の計測結果に基づいて、次回の帯域計測の基準となる帯域値を示す基準点を設定し、前記基準点を中心に計測対象となる帯域の範囲である探索範囲を決定する範囲決定ステップと、送信対象となるパケットの生成元であるデータが、所定のデータ種別を有する対象データであるか否かを判断するデータ判断ステップと、前記データ判断ステップによって前記対象データであると判断された場合、前記範囲決定ステップによって決定された前記探索範囲に含まれる未計測帯域のなかで、前記探索範囲の中心となる帯域である基準点よりも低い帯域を、計測対象の帯域である計測帯域として決定する一方、前記データ判断ステップによって前記対象データでないと判断された場合、前記未計測帯域のいずれかを前記計測帯域として決定する帯域決定ステップと、前記帯域決定ステップによって決定された前記計測帯域で、前記パケットを送信するパケット送信ステップとを実行させる。
【0015】
第三態様に係る通信プログラムは、送信対象となるパケットの生成元が対象データである場合、探索範囲に含まれる未計測帯域のなかで、帯域の計測結果に基づいて設定した基準点よりも低い帯域にパケットを送信する。送信対象となるパケットの生成元が対象データでない場合、探索範囲に含まれる未計測帯域のいずれかにパケットを送信する。したがって、対象データのパケットロスを抑制しつつ、帯域を計測することができる。
【図面の簡単な説明】
【0016】
【図1】通信装置1の電気的構成、および帯域計測システム100の構成を示す図である。
【図2】実際の帯域および探索範囲の経時的変化を示すグラフである。
【図3】従来の帯域計測で使用される信号波形を示すグラフである。
【図4】送信データ処理のフローチャートである。
【図5】画像データ60の具体例である。
【図6】通信処理のフローチャートである。
【図7】本実施形態の帯域計測で使用される信号波形を示すグラフである。
【図8】変形例に係る送信データ処理のフローチャートである。
【図9】変形例に係る通信処理のフローチャートである。
【発明を実施するための形態】
【0017】
以下、本発明の通信装置を具現化した一実施の形態である通信装置1、および複数の通信装置1を備えた帯域計測システム100について、図面を参照して説明する。参照する図面は、本発明が採用し得る技術的特徴を説明するために用いられるものである。図面に記載されている装置の構成、各種処理のフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。
【0018】
帯域計測システム100について説明する。図1に示すように、帯域計測システム100は、少なくとも2つの通信装置1を備える。通信装置1は、ネットワーク8を介して他の通信装置1と接続する。通信装置1は、他の通信装置1との間で各種データの通信を行う。
【0019】
本実施形態の帯域計測システム100は、複数の拠点のユーザがテレビ会議を行うためのテレビ会議システムである。各通信装置1は、音声データおよび動画データを互いに送受信することで、複数の拠点の音声および映像を共有し、テレビ会議を実現する。さらに、各通信装置1は、資料データをテレビ会議中に送受信することもできる。資料データは、テレビ会議で使用される文書等を示す画像データであり、少なくとも文字情報を含む。ユーザは、他のユーザと同じ資料を見ながらテレビ会議を進行させることができる。音声データ、動画データ、資料データ、画面上のポインタの位置を示すデータ、および制御情報等をまとめて「メディアデータ」という。通信装置1は、ネットワーク8を介したデータ通信を実行できるものであればよい。具体的には、通信装置1は、テレビ会議を実行するために各拠点に配置される専用のテレビ会議端末であってもよいし、種々の情報処理を行うパーソナルコンピュータであってもよい。
【0020】
帯域計測システム100では、各通信装置1は、メディアデータをパケット化して送受信しつつ、可用帯域の計測、および利用帯域が確保されているか否かの判定(以下、これらをまとめて「帯域の計測」という。)を行うことができる。「可用帯域」とは、送信側の通信装置1が送信するデータの伝送速度とほぼ等しい伝送速度で受信側の通信装置1がデータを受信できる最大の伝送速度をいう。「利用帯域」とは、送信側の通信装置1がデータを送信するために利用する帯域である。帯域と、各通信装置1間の伝送速度とを比較するため、帯域を伝送路容量(bps)で表す。可用帯域を越える伝送速度でパケットが送信されると、パケットロス、輻輳による送信遅延等が生じる。一方、通信装置1がデータの伝送速度を低くしすぎると、帯域を十分に活用することができず、効率が悪い。従って、各通信装置1は、計測された帯域に合わせてデータの伝送速度を制御する。
【0021】
通信装置1の電気的構成について説明する。図1に示すように、通信装置1は、通信装置1の制御を司るCPU10を備えている。CPU10には、ROM11、RAM12、ハードディスクドライブ(以下、「HDD」という。)13、および入出力インターフェース19が、バス18を介して接続されている。
【0022】
ROM11は、通信装置1を動作させるためのプログラムおよび初期値等を記憶している。RAM12は、制御プログラムで使用される各種の情報を一時的に記憶する。HDD13は、制御プログラム等の各種情報を記憶する不揮発性の記憶装置である。HDD13の代わりに、EEPROMまたはメモリカード等の記憶装置を用いてもよい。
【0023】
入出力インターフェース19には、音声入力処理部21、音声出力処理部22、映像入力処理部23、映像出力処理部24、操作部25、および外部通信I/F26が接続されている。音声入力処理部21は、音声を入力するマイク31からの音声データの入力を処理する。音声出力処理部22は、音声を出力するスピーカ32の動作を処理する。映像入力処理部23は、映像を撮像するカメラ33からの動画データの入力を処理する。映像出力処理部24は、映像を表示する表示装置34の動作を処理する。操作部25は、ユーザが通信装置1に各種指示を入力するために用いられる。操作部25は、通信装置1の外部から入出力インターフェース19へ接続されるキーボードおよびマウス等であってもよい。外部通信I/F26は、通信装置1をネットワーク8に接続する。
【0024】
次に、本実施形態の帯域計測システム100で用いられる帯域計測方式について、概略的に説明する。帯域計測システム100では、以下の文献に記載されている帯域計測方式が利用される。「津川知朗、CaoLe Thanh Man、長谷川剛、村田正幸、「インラインネットワーク計測手法ImTCPおよびその応用手法の実装および性能評価」、電子情報通信学会技術研究報告(IN2005−120)、p.79−84、2005年12月」
【0025】
計測原理について説明する。帯域計測システム100では、データを送信する通信装置1(以下、「送信装置」という。)は、送信するメディアデータを複数のパケットにパケット化する。送信装置は、複数のパケットを連続して他の通信装置1(以下、「受信装置」という。)にネットワーク8を介して送信する。パケットを送信する際の伝送速度(単位:bps)が、送信装置と受信装置との間の可用帯域(単位:bps)以下であれば、パケットは渋滞(輻輳)しない。パケットが渋滞しなければ、送信装置によって送信された複数のパケットを受信装置が受信する間隔(受信間隔)は、理論的に、送信装置が複数のパケットを送信する間隔(送信間隔)と同一となる。一方、伝送速度が可用帯域よりも大きければ、パケットは渋滞し、受信間隔は送信間隔よりも長くなる。
【0026】
帯域を計測する場合、送信装置は、送信間隔を徐々に長くしながら、または徐々に短くしながら、複数のパケットを送信する。あるパケットが送信された場合の伝送速度は、以下の式(1)で求められる。
伝送速度(bps)=パケットサイズ(bit)/前回のパケット送信時と今回のパケット送信時との送信間隔(s)・・・・・(1)
送信間隔を徐々に長くしながら複数のパケットを送信すると、伝送速度が可用帯域よりも大きい間は、受信間隔が送信間隔よりも長くなる。しかし、送信間隔が長くなり、伝送速度が可用帯域以下となれば、受信間隔と送信間隔とが同一となる。よって、「受信間隔−送信間隔」の値が変化する時点のデータの伝送速度を、可用帯域として計測することができる。
【0027】
送信装置は、パケットサイズ、パケット数、送信間隔等の条件を調整することで、計測対象とする帯域の範囲内に「受信間隔−送信間隔」の変化時点が存在するか否かを判断するためのパケット群を送信する。送信装置がパケット数を増やすと、帯域の計測を行う受信装置は、「受信間隔−送信間隔」の変化時点を詳細に判定することができる。よって、受信装置は、より正確に帯域を計測することができる。しかし、送信装置および受信装置は、パケット数が多くなる程、パケットの送受信処理、およびパケット内に含まれたデータの処理等の各種処理に時間を要する。さらに、送信装置は、パケットサイズを一定に保ったままパケット数を増加させると、複数のパケットの送信を開始してから終了するまでに要する時間も長くなる。よって、送信装置は、計測結果の精度と、計測結果を得るまでに要する時間とを考慮して、パケットの生成条件および送信条件を決定するのが望ましい。
【0028】
計測手順の概略について説明する。帯域計測システム100では、以下の手順で帯域が計測される。
1.帯域の探索範囲を設定する。
その時点の可用帯域を計測できると予想される探索範囲を限定することで、効率よく可用帯域を計測することができる。初回の計測処理であれば、初期探索範囲が所定の値に設定される。
【0029】
2.探索範囲を1または複数の区画帯域に分割する。
送信装置は、帯域を計測する際、探索範囲を分割した小区間(以下、区画帯域)毎に、複数のパケットからなるパケット群(以下、「ストリーム」という。)を送信する。ストリームは、区画帯域内に「受信間隔−送信間隔」の値の変化時点が存在するか否かを判断するために送信される。通信装置1は、分割する区画帯域の数を多くする程、一時的な異常に対する耐性が高い計測結果を得ることができ、「受信間隔−送信間隔」の値の変化時点を正確に検出できる。分割する区画帯域の数が少ない程、計測処理に要する時間が短くなるため、通信装置1は計測結果を素早く得ることができる。
【0030】
3.探索範囲に対応するストリームを、送信装置と受信装置との間で送受信する。
通信装置1は、それぞれの区画帯域内で帯域を計測するためのストリームの送信条件を決定する。送信条件には、ストリームを構成するパケットの数、各パケットのパケットサイズ、および、前回のパケット送信時から次のパケットを送信するまでの時間である送信間隔が含まれる。次いで、送信装置は、決定した送信条件に従って複数のパケットを生成し、送信する。各パケットには、受信装置が送信間隔を算出するための時間情報が含まれる。
【0031】
4.受信間隔と送信間隔との差分から帯域を計測する。
送信装置と受信装置との間の帯域は、受信装置によって計測される。受信装置では、パケットを実際に受信した時刻から受信間隔が算出され、受信されたパケットに含まれる時間情報から送信間隔が算出される。パケットが送信された際のデータの伝送速度と、パケットが受信された際の受信レート(bps)との関係が、線形回帰法によって2本の直線で近似される。その結果、「受信間隔−送信間隔」の値の変化時点が検出される。
【0032】
その結果、変化時点が存在すれば、変化時点におけるデータの伝送速度が可用帯域として判定されて、変化時点の探索帯域値Kiが可用帯域の計測結果Fとされる。変化時点が存在せず、「受信間隔−送信間隔」の値が探索範囲全体を通じてゼロとなれば、探索範囲よりも大きい範囲に可用帯域が存在すると判定されて、探索範囲の最大値が暫定的な計測結果Fとされる。変化時点が存在せず、「受信間隔−送信間隔」の値が探索範囲全体を通じてプラスの値となれば、探索範囲よりも小さい範囲に可用帯域が存在すると判定されて、探索範囲の最小値が暫定的な計測結果Fとされる。受信装置で算出された最新計測結果Fは、送信装置に通知される。
【0033】
5.上記1.へ戻り、探索範囲を再設定して再び帯域を計測する。
送信装置では、受信装置から通知された最新計測結果Fに応じて、次回の帯域の計測処理における探索範囲(以下、「次回の探索範囲」という。)が設定される。例えば、最新計測結果Fの値が前回設定した探索範囲(最新計測結果Fを計測するために設定されていた探索範囲)の上限値よりも大きい場合には、その上限値が次回の探索範囲の中心値に決定される。最新計測結果Fの値が前回設定した探索範囲の下限値よりも小さい場合には、その下限値が次回の探索範囲の中心値に決定される。最新計測結果Fの値が前回の探索範囲内(探索範囲の上限値および下限値を除く)にあれば、その最新計測結果Fの値が次回の探索範囲の中心値に決定される。次回の探索範囲の幅Dは、前述した文献に記載されている手法によって、計測回数が増加する毎に小さくなるように決定されることが好適である。このように、過去の計測結果に基づいて次の探索範囲を再設定することで、効率よく帯域を計測できる。
【0034】
以上説明したように、パケットの送信間隔および受信間隔を利用して帯域を計測する方式では、通信装置1は、メディアデータを含んだパケットを送受信しながら帯域を計測することができる。通信装置1は、探索範囲内に可用帯域が含まれるように探索範囲を設定すれば、テレビ会議を実行しながら可用帯域の値を計測することができる。ただし、上記のようにパケットの送信レートを変化させることで、データ通信に使用できる帯域である可用帯域を計測する帯域計測方式は、以下のようなパケットロスの発生要因を含んでいる。
【0035】
図2は、上記の帯域計測方式における実際の帯域(現在の可用帯域)および探索範囲の経時的変化を例示している。図2において、探索範囲をY方向に延びる直線で示し、実際の帯域をX方向に延びる波線で示している。また、探索範囲の中央値は黒塗りの丸点で示し、探索範囲の上限値は黒塗りの四角点で示し、探索範囲の下限値は黒塗りの三角点で示している。
【0036】
図2に示すように、上記の帯域計測方式では、時間の経過に伴って変化する実際の帯域が、探索範囲を変化させることで複数回に亘って計測されて、変化時点の探索帯域値Kiが検出される。以下の説明では、変化時点の探索帯域値Kiが検出された時点以降の最新計測結果Fを、最新の可用帯域(つまり、前回計測時に特定された可用帯域)を示す「基準点」という。図2において探索範囲の中心値を結ぶ点線は、基準点の経時的変化を示している。なお、「基準点」は、次回の帯域計測の基準となる帯域値を示すものであればよく、例えば過去の計測結果の統計値(可用帯域の平均値や予測値など)を設定してもよい。
【0037】
上記の基準点が求められた以降は、パケット送信による帯域計測の実行時に、前回の帯域計測で得られた最新計測結果Fが基準点となる。そうすると、前回の帯域計測時から実際の帯域が変化している可能性はあるものの、基準点よりも大きな帯域は実際の帯域を超えている可能性が高い。つまり、基準点よりも大きな帯域で送信されたパケットは、ロスが発生するおそれが高いとみなすことができる。
【0038】
図3は、上記の通信方式における1回の帯域計測で送信される信号波形(つまり、ストリーム群の経時的変化)を例示している。図3に示す信号波形は、「330ms」で1回の帯域計測を行うものであり、フレームレートは「15fps」(1秒間に15フレーム)である。この場合、「66ms」間隔で1フレームのデータが生成および送信され、1回の帯域計測で5フレーム分のデータが生成および送信される。また、1フレームのデータが2つのストリームで送信されるため、1回の帯域計測で計10のストリームが送信される。
【0039】
具体的に、図3に示す例では、各帯域計測の探索範囲(連続した10の区画帯域B0〜B9)に、10のストリームが「33ms」間隔で順次送信される。これらの区画帯域B0〜B9は、探索範囲を10等分するように異なる高さの帯域に設定されている。区画帯域B0が最も低い帯域であり、区画帯域B1、B2、B3・・・の順に帯域が高くなり、区画帯域B9が最も高い帯域である。
【0040】
各帯域計測の前半にストリームが送信される区画帯域B0〜B4は、基準点よりも下側の帯域(つまり、基準点よりも低い帯域)である。区画帯域B0〜B4に送信されるパケットは、現在の帯域内で送信される可能性が高い。そのため、区画帯域B0〜B4に送信されるパケットは、1回の帯域計測時における平均的なパケットロスの発生確率と比較して、パケットロスの発生確率が相対的に小さいとみなすことができる。一方、各帯域計測の後半にストリームが送信される区画帯域B5〜B9は、基準点よりも上側の帯域(つまり、基準点よりも高い帯域)である。区画帯域B5〜B9に送信されるパケットは、現在の帯域を超えて送信される可能性が高い。そのため、区画帯域B5〜B9に送信されるパケットは、1回の帯域計測時における平均的なパケットロスの発生確率と比較して、パケットロスの発生確率が相対的に大きいとみなすことができる。
【0041】
特に、重要なデータについて通信時のパケットロスが生じると、ユーザに与える不利益が大きい。例えばテレビ会議の実行中は、ユーザの顔や音声などを含むデータや、テレビ会議に使用される資料のデータ等が、テレビ会議を円滑に進めるのに重要なデータであり、そのパケットロスは抑制されるべきである。よって、このような重要なデータは、パケットロスの発生確率が少ない帯域(つまり、基準点よりも下側の帯域)で送信されることが望ましい。これを実現するために、本実施形態の通信装置1では、以下に説明する通信制御を行っている。
【0042】
図4〜図7を参照して、帯域を計測するためのパケットを送信する送信装置として通信装置1が動作する場合に実行される送信データ処理および通信処理について説明する。送信データ処理および通信処理は、送信装置のHDD13に記憶されているプログラムに従って、送信装置のCPU10によって実行される。図6の通信処理は、受信装置との間でデータを送受信する指示が送信装置に入力されることを契機として実行される。図4の送信データ処理は、通信処理の中で帯域計測開始の処理が行われることを条件に、通信処理と並行して実行される。以下の説明では、通信装置と受信装置との間でテレビ会議が進行しているときに、送信データ処理および通信処理が行われる場合を例示する。
【0043】
図4に示すように、送信データ処理では、まず送信対象のデータありか否かが判断される(S1)。本実施形態の送信装置では、テレビ会議の実行中に、メディアデータが所定間隔(例えば、10ms毎)で生成されて、RAM12(図1参照)の所定記憶エリアに格納される。この所定記憶エリアにメディアデータが格納されている場合、送信対象のデータありと判断される(S1:YES)。
【0044】
この場合、所定記憶エリアに格納されているデータが取得される(S3)。ステップS3で取得されたデータについて、そのデータ種別が判定される(S5)。ステップS5で判定されたデータ種別に基づいて、対象データであるか否かが判定される(S7)。本実施形態では、テレビ会議の円滑な進行に重要なデータの種別(人物画像データ、人物音声データ、および資料データのいずれか)であると判定された場合、対象データであると判断される(S7:YES)。人物画像データは、ユーザの顔を映し出した画像データである。人物音声データは、ユーザの声を集音した音声データである。
【0045】
この場合、対象データがエンコーダ(図示外)で符号化されて、その符号化データに対象フラグが付与される(S9、S11)。対象フラグは、対象データの符号化データであることを示すデータである。一方、対象データでない(つまり、非対象データである)と判断された場合(S7:NO)、エンコーダ(図示外)でデータの符号化のみが実行される(S13)。ステップS11またはステップS13の実行後、処理はステップS1に戻る。送信対象のデータがない場合も(S1:NO)、処理はステップS1に戻る。なお、ステップS11で対象フラグが付与された符号化データ、またはステップS13で生成された符号化データは、RAM12(図1参照)の送信バッファに格納される。
【0046】
具体的に、図5に例示する1フレームの画像データ60が、テレビ会議の実行中に生成され、RAM12の所定記憶エリアに格納された場合を想定する。この場合、ステップS5では、公知の顔認識手法によって、画像データ60のうちでユーザの表示領域が人物画像データ61として判定され、ユーザの表示領域以外の表示領域が背景画像データ62として判定される。人物画像データ61は対象データであると判断されて、対象フラグが付された符号化データが生成される(S7:YES、S9、S11)。一方、背景画像データ62は非対象データであると判断されて、通常の符号化データが生成される(S7:NO、S13)。
【0047】
また、1フレームの音声データが、テレビ会議の実行中に生成され、RAM12の所定記憶エリアに格納された場合を想定する。この場合、ステップS5では、公知の音声認識手法によって、音声データのうちでユーザの音声成分が人物音声データとして判定され、ユーザの音声成分以外の音声成分が背景音声データとして判定される。人物音声データは対象データであると判断されて、対象フラグが付された符号化データが生成される(S7:YES、S9、S11)。一方、背景音声データは非対象データであると判断されて、通常の符号化データが生成される(S7:NO、S13)。
【0048】
また、1フレームの資料データが、テレビ会議の実行中に生成され、RAM12の所定記憶エリアに格納された場合を想定する。この場合、ステップS5では、公知の文字認識手法によって、画像データから文字情報が検出された場合、資料データであると判定される。資料データは対象データであると判断されて、対象フラグが付された符号化データが生成される(S7:YES、S9、S11)。
【0049】
図6に示すように、通信処理では、まず上述の帯域計測方式による帯域計測が開始される(S51)。ステップS51で帯域計測が開始されると、少なくとも基準点が検出されるまで計測が継続される。基準点が検出されたのち、帯域計測を終了するか否かが判断される(S53)。例えばユーザによってテレビ会議の終了指示が入力された場合、帯域計測を終了すると判断される(S53:YES)。この場合、通信処理(図6)は終了され、さらに送信データ処理(図4)も終了される。
【0050】
帯域計測を終了しない場合(S53:NO)、上述したように探索範囲が決定され、区画帯域が設定される(S55、S57)。さらに、送信バッファに格納されている符号化データが取得される(S59)。本実施形態では、図3に示す信号波形と同様に、「330ms」の信号波形で1回の帯域計測が行われ、フレームレートは「15fps」(1秒間に15フレーム)である。また、1フレームのデータが2つのストリームで送信されるため、1回の帯域計測で計10のストリームが送信される。よって、ステップS57では、計10のストリームがそれぞれ送信される計10の区画帯域B0〜B9が、ステップS55で決定された探索範囲に設定される。ステップS59では、ストリームの送信間隔(例えば、33ms)で送信バッファから1フレーム分の符号化データが取得される。
【0051】
ステップS59で取得されたデータが、対象データであるか否かが判断される(S61)。具体的には、送信バッファから取得された符号化データに対象フラグが付されている場合、対象データであると判断される(S61:YES)。この場合、未計測の区画帯域の中で最下端が計測帯域に選択される(S63)。すなわち、ステップS57で設定された複数の区画帯域のうちで、まだ計測帯域として選択されていない未計測帯域であって、且つ、未計測帯域の中で最も帯域が低いものが、計測帯域に選択される。
【0052】
一方、送信バッファから取得された符号化データに対象フラグが付されていない場合、対象データでない(つまり、未対象データである)と判断される(S61:NO)。この場合、未計測の区画帯域の中で最上端が計測帯域に選択される(S65)。すなわち、ステップS57で設定された複数の区画帯域のうちで、まだ計測帯域として選択されていない未計測帯域であって、且つ、未計測帯域の中で最も帯域が高いものが、計測帯域に選択される。
【0053】
ステップS63またはステップS65の実行後、ステップS59で取得されたデータがパケット化されて、帯域計測用のパケットが作成される(S67)。ステップS67で作成されたパケットは、ステップS63またはステップS65で選択された計測帯域に送信される(S69)。その後、ステップS57で設定された全区画帯域にパケットを送信したか否か(つまり、未計測帯域が存在するか否か)が判断される(S71)。未計測帯域が存在する場合(S71:NO)、処理はステップS59に戻る。ステップS57で設定された全区画帯域にパケットが送信されるまで、ステップS59〜S69の処理が繰り返し実行される。
【0054】
具体的に、計10の区画帯域B0〜B9が全て未計測の状態で、送信バッファに画像データ60(図5参照)の符号化データが格納されている場合を想定する。この場合、ステップS59で人物画像データ61の符号化データが取得されると、対象データであると判定されて、計測帯域として区画帯域B0が選択される(S61:YES、S63)。人物画像データ61のパケットが作成されて、区画帯域B0に送信される(S67、S69)。一方、ステップS59で背景画像データ62の符号化データが取得されると、対象データでないと判定されて、計測帯域として区画帯域B9が選択される(S61:YES、S65)。背景画像データ62のパケットが作成されて、区画帯域B9に送信される(S67、S69)。
【0055】
以上の処理によって、例えば1回の帯域計測時に対象データと非対象データとが交互に複数回選択された場合、その帯域計測で送出される信号波形は、図7に示すような波形形状となる。すなわち、1回の帯域計測で生成される計10のストリームは、区画帯域B0、B9、B1、B8、B2、B7、B3、B6、B4、B5の順に送信される。対象データのパケットで構成されたストリームが基準点よりも低い区画帯域B0〜B4に送信され、非対象データのパケットで構成されたストリームが基準点よりも高い区画帯域B5〜B9に送信される。
【0056】
なお、未計測帯域が存在しない場合は(S71:YES)、受信装置側から最新計測結果Fが受信され(S73)、処理はステップS53に戻る。帯域計測が終了されない場合は(S53:NO)、上述の計測方式と同様に、受信した最新計測結果Fに基づいて探索範囲が再設定されて、帯域計測が継続される(S55〜S73)。
【0057】
以上説明したように、本実施形態に係る通信装置1は、送信対象となるパケットの生成元が対象データである場合、探索範囲に含まれる未計測帯域のなかで、帯域の計測結果に基づいて設定した最新の可用帯域を示す基準点よりも低い帯域にパケットを送信する。送信対象となるパケットの生成元が対象データでない場合、探索範囲に含まれる未計測帯域のいずれかにパケットを送信する。したがって、対象データのパケットロスを抑制しつつ、帯域を計測することができる。さらに、本実施形態の通信処理(図6)では、ストリームの送信間隔(33ms)でデータが取得されるため、データの生成時から送信時までの間隔が相対的に短い。そのため、リアルタイムなデータ通信を実現することができる。
【0058】
また、対象データのパケットは未計測帯域のなかで最も低い帯域に送信される一方、非対象データのパケットは未計測帯域のなかで最も高い帯域に送信される。このように、対象データをパケットロスの発生確率がより低い帯域を使用して送信することで、通信品質がさらに向上する。また、非対象データをパケットロスの発生確率がより高い帯域を使用して送信することで、帯域全体の有効利用を図ることができる。
【0059】
また、人物音声データ、人物画像データ、および資料データは、対象データであると判断されて、基準点よりも低い帯域を使用して送信される。よって、これらのテレビ会議の円滑な進行に重要なデータは、パケットロスを抑制しつつ送信されるので、テレビ会議を円滑に進行させることができる。
【0060】
また、対象データであるか否かは、符号化データに対象フラグが付与されているか否かに基づいて判断される。つまり、エンコーダによってデータを符号化した後でも、対象データであるか否かを判断できるため、データ処理を高速化することができる。
【0061】
上記実施形態において、ステップS55を実行するCPU10が、本発明の「範囲決定手段」に相当する。ステップS61を実行するCPU10が、本発明の「データ判断手段」に相当する。ステップS63、S65を実行するCPU10が、本発明の「帯域決定手段」に相当する。ステップS69を実行するCPU10が、本発明の「パケット送信手段」に相当する。ステップS9、S13を実行するCPU10が、本発明の「符号化手段」に相当する。ステップS11を実行するCPU10が、本発明の「情報設定手段」に相当する。
【0062】
ステップS55が、本発明の「範囲決定ステップ」に相当する。ステップS61が、本発明の「データ判断ステップ」に相当する。ステップS63、S65が、本発明の「帯域決定ステップ」に相当する。ステップS69が、本発明の「パケット送信ステップ」に相当する。通信処理(図6または図9)を実行させるプログラムが、本発明の「通信プログラム」に相当する。
【0063】
本発明は上記実施形態に限定されることはなく、様々な変形が可能であることは言うまでもない。例えば、上記実施形態では、テレビ会議の円滑な進行に重要なデータが、対象データとして判断されるが、対象データとして他のデータを適用できる。例えば、個人情報、セキュリティ、金銭等に係るデータが、対象データとして判断されてもよい。
【0064】
また、図4に示す送信データ処理に代えて、図8に示す送信データ処理が実行されてもよい。図8に示す送信データ処理では、まずステップS1〜S3と同様に、送信対象のデータありか否かが判断される(S101)。送信対象のデータがある場合(S101:YES)、所定記憶エリアから送信対象のデータが取得される(S103)。次に、ステップS103で取得されたデータが、ステップS9、13と同様に符号化される(S105)。ただし、ステップS105では、符号化対象のデータの種別に応じて、そのデータの重要度を示す情報が付与される。例えば、重要度として「1」〜「5」の5段階が用意されている場合、通常の画像データに基づく符号化データには重要度「1」が設定され、人物画像データに基づく符号化データには重要度「3」が設定され、資料データに基づく符号化データには重要度「5」が設定される。なお、ステップS105の実行後、または送信対象のデータがない場合(S101:NO)、処理はステップS101に戻る。図8に示す送信データ処理も、通信処理(図6)の終了に伴って終了される。
【0065】
この場合、通信処理(図6参照)では、符号化データに設定されている重要度に応じて、対象データであるか否かが判断されればよい(S61)。例えば、設定されている重要度が「3」以上であれば対象データであると判断され、設定されている重要度が「3」未満であれば非対象データであると判断される。このように、対象データであるか否かの判断は、各種手法を適用することができる。
【0066】
また、図6に示す通信処理に代えて、図9に示す通信処理が実行されてもよい。上記実施形態の通信処理(図6)では、対象データであるか否かを判断し、その判断結果に応じて計測帯域を選択している。一方、本変形例の通信処理(図9)では、まず計測帯域を選択し、その選択された計測帯域に応じて送信対象のデータを取得する。以下では、図7に示す信号波形を使用して、区画帯域B0、B9、B1、B8、B2、B7、B3、B6、B4、B5の順にストリームが送信される場合を例示する。
【0067】
図9に示す通信処理では、まずステップS51〜S57と同様の処理が実行され(S151〜S157)、計測帯域が選択される(S159)。すなわち、ステップS157で設定された複数の区画帯域のうちで、最も送信順序の早い未計測帯域が、計測帯域に選択される。ステップS159で選択された計測帯域が、基準点よりも下であるか否か(つまり、基準点よりも低い帯域であるか否か)が判断される(S161)。
【0068】
計測帯域が基準点よりも下である場合(S161:YES)、送信バッファに格納されている符号化データのうちで、対象フラグが付されている対象データが取得される(S163)。一方、計測帯域が基準点よりも上である場合(S161:NO)、送信バッファに格納されている符号化データのうちで、対象フラグが付されていない非対象データが取得される(S165)。ステップS163またはステップS165で取得されたデータはパケット化されて、帯域計測用のパケットが作成される(S167)。ステップS167で作成されたパケットは、ステップS159で選択された計測帯域に送信される(S169)。
【0069】
その後、ステップS157で設定された全区画帯域にパケットを送信したか否か(つまり、未計測帯域が存在するか否か)が判断される(S171)。未計測帯域が存在する場合(S171:NO)、処理はステップS159に戻る。ステップS157で設定された全区画帯域にパケットが送信されるまで、ステップS159〜S169の処理が繰り返し実行される。未計測帯域が存在しない場合(S171:YES)、受信装置側から最新計測結果Fが受信され(S173)、処理はステップS153に戻る。
【0070】
具体的に、計10の区画帯域B0〜B9が全て未計測の状態で、送信バッファに画像データ60(図5参照)の符号化データが格納されている場合を想定する。この場合、まず計測帯域として区画帯域B0が選択され、計測帯域は基準点よりも下であると判断される(S159、S161:YES)。送信バッファから人物画像データ61の符号化データが取得されて、パケットが作成される(S163、S167)。作成されたパケットは、区画帯域B0に送信される(S169)。次いで、計測帯域として区画帯域B9が選択され、計測帯域は基準点よりも上であると判断される(S159、S161:NO)。送信バッファから背景画像データ62の符号化データが取得されて、パケットが作成される(S165、S167)。作成されたパケットは、区画帯域B9に送信される(S169)。
【0071】
このように、本変形例の通信処理(図9)によれば、送信バッファに格納されたデータを、計測帯域に応じて一括して処理できるため、計測処理時のデータ処理に係る負担を軽減することができる。さらに、上記実施形態では、対象データおよび非対象データのいずれが取得されたか否かに応じて信号波形が変化するが、本変形例では、図7に示す信号波形にあらかじめ固定されている。図7に示す信号波形は、次のような特徴を有する。
【0072】
図7に示す信号波形は、1フレームのデータ送信に使用される2つのストリームが、基準点よりも低い区画帯域に送信されるストリームと、基準点よりも高い区画帯域に送信されるストリームとを含む。さらに、1回の帯域計測で送信される5つのフレームのうち、先に送信されるフレームの送信時ほど、基準点よりも低い区画帯域に送信されるストリームの送信帯域が低く、且つ基準点よりも高い区画帯域に送信されるストリームの送信帯域が高い。
【0073】
つまり、図7に示す信号波形では、対象データのパケットで構成されたストリームと、非対象データのパケットで構成されたストリームとが、基準点を挟んで対称をなす高さの帯域に交互で送信される。これにより、各フレームを送信する2つのストリームの合計帯域(つまり、伝送路容量)は、5つのフレームのいずれを送信する場合でもほぼ等しくなる。その結果、上記の帯域計測の実行中は、1フレーム送信に必要な単位時間(本実施形態では、66ms)当たりの最大データ送信量がほぼ等しくなり、通信状態が安定しやすい。
【0074】
また、上記実施形態の通信装置1は、前述した文献に記載されている帯域計測方式を利用している。しかし、前述した文献に記載されている帯域計測方式以外の方式を利用する場合であっても、本発明を適用できる。例えば、2つのパケットの送信間隔と受信間隔とから帯域を計測する方式(所謂「パケットペア方式」)、および3つのパケットの送信間隔と受信間隔とから帯域を計測する方式(所謂「トレインベース方式」)等の他の方式にも、本発明は適用できる。つまり、複数のパケットの送信間隔と受信間隔とを用いて、メディアデータを送受信しながら帯域を計測する方式であれば、前述した文献に記載されている方式以外の方式であっても本発明を適用できる。
【符号の説明】
【0075】
1 通信装置
8 ネットワーク
10 CPU
13 HDD
100 帯域計測システム

【特許請求の範囲】
【請求項1】
パケットの送信レートを変化させることで、データ通信に使用できる帯域である可用帯域を計測する通信装置であって、
帯域の計測結果に基づいて、次回の帯域計測の基準となる帯域値を示す基準点を設定し、前記基準点を中心に計測対象となる帯域の範囲である探索範囲を決定する範囲決定手段と、
送信対象となる前記パケットの生成元であるデータが、所定のデータ種別を有する対象データであるか否かを判断するデータ判断手段と、
前記データ判断手段によって前記対象データであると判断された場合、前記範囲決定手段によって決定された前記探索範囲に含まれる未計測帯域のなかで前記基準点よりも低い帯域を、計測対象の帯域である計測帯域として決定する一方、前記データ判断手段によって前記対象データでないと判断された場合、前記未計測帯域のいずれかを前記計測帯域として決定する帯域決定手段と、
前記帯域決定手段によって決定された前記計測帯域で、前記パケットを送信するパケット送信手段と
を備えたことを特徴とする通信装置。
【請求項2】
前記帯域決定手段は、前記データ判断手段によって前記対象データであると判断された場合、前記範囲決定手段によって決定された前記探索範囲の前記未計測帯域のなかで最も低い帯域を前記計測帯域として決定する一方、前記データ判断手段によって前記対象データでないと判断された場合、前記未計測帯域のなかで最も高い帯域を前記計測帯域として決定することを特徴とする請求項1に記載の通信装置。
【請求項3】
前記データ判断手段は、前記データの種別が、人間の声を集音した音声データ、人間を映し出した画像データ、および文字情報を含む資料データのいずれかである場合、前記対象データであると判断することを特徴とする請求項1または2に記載の通信装置。
【請求項4】
前記データを符号化して、符号化データを生成する符号化手段と、
前記対象データに基づいて生成された前記符号化データに、所定の付加情報を設定する情報設定手段とを備え、
前記データ判断手段は、前記符号化手段によって生成された前記符号化データに前記付加情報が設定されている場合、前記対象データであると判断することを特徴とする請求項1から3のいずれかに記載の通信装置。
【請求項5】
パケットの送信レートを変化させることで、データ通信に使用できる帯域である可用帯域を計測する通信装置によって行われる通信方法であって、
帯域の計測結果に基づいて、次回の帯域計測の基準となる帯域値を示す基準点を設定し、前記基準点を中心に計測対象となる帯域の範囲である探索範囲を決定する範囲決定ステップと、
送信対象となるパケットの生成元であるデータが、所定のデータ種別を有する対象データであるか否かを判断するデータ判断ステップと、
前記データ判断ステップによって前記対象データであると判断された場合、前記範囲決定ステップによって決定された前記探索範囲に含まれる未計測帯域のなかで、前記探索範囲の中心となる帯域である基準点よりも低い帯域を、計測対象の帯域である計測帯域として決定する一方、前記データ判断ステップによって前記対象データでないと判断された場合、前記未計測帯域のいずれかを前記計測帯域として決定する帯域決定ステップと、
前記帯域決定ステップによって決定された前記計測帯域で、前記パケットを送信するパケット送信ステップと
を備えたことを特徴とする通信方法。
【請求項6】
パケットの送信レートを変化させることで、データ通信に使用できる帯域である可用帯域を計測する通信装置を制御する通信プログラムであって、
コンピュータに、
帯域の計測結果に基づいて、次回の帯域計測の基準となる帯域値を示す基準点を設定し、前記基準点を中心に計測対象となる帯域の範囲である探索範囲を決定する範囲決定ステップと、
送信対象となるパケットの生成元であるデータが、所定のデータ種別を有する対象データであるか否かを判断するデータ判断ステップと、
前記データ判断ステップによって前記対象データであると判断された場合、前記範囲決定ステップによって決定された前記探索範囲に含まれる未計測帯域のなかで、前記探索範囲の中心となる帯域である基準点よりも低い帯域を、計測対象の帯域である計測帯域として決定する一方、前記データ判断ステップによって前記対象データでないと判断された場合、前記未計測帯域のいずれかを前記計測帯域として決定する帯域決定ステップと、
前記帯域決定ステップによって決定された前記計測帯域で、前記パケットを送信するパケット送信ステップと
を実行させることを特徴とする通信プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate