(57)【要約】【課題】伝播遅延の大きい環境におけるパケットロス、誤り等の異常の発生による音切れなどの再生品質の低下を抑制し、高品質なデータ通信を可能にする通信装置およびその制御方法を提供する。【解決手段】通信装置(100)は、RTPに基づくリアルタイム性のあるデータをRTPパケット化して無線ネットワークに送信する送信手段(112)と、送信手段から送信されたRTPパケットの受信異常情報を無線ネットワークから受信する受信手段(112)と、受信手段により受信した受信異常情報に基づき選ばれる送信済データ、および、新たに送信されるべき送信データを含むRTPパケットを生成するRTPパケット生成手段(122)と、RTPパケット生成手段によって生成されたRTPパケットを送信するよう送信手段を制御する制御手段(120)とを備える。【選択図】図１
2008085802.tif 000002
【特許請求の範囲】
【請求項１】
ＲＴＰに基づくリアルタイム性のあるデータをＲＴＰパケット化して無線ネットワークに送信する送信手段と、
該送信手段から送信されたＲＴＰパケットの受信異常情報を前記無線ネットワークから受信する受信手段と、
前記受信手段により受信した受信異常情報に基づき選ばれる送信済データ、及び、新たに送信されるべき送信データを含むＲＴＰパケットを生成するＲＴＰパケット生成手段と、
該ＲＴＰパケット生成手段によって生成されたＲＴＰパケットを送信するよう前記送信手段を制御する制御手段と、
を備えることを特徴とする通信装置。
【請求項２】
ＲＴＰに基づくリアルタイム性のあるデータをＲＴＰパケット化して無線ネットワークに送信する送信手段と、
前記無線ネットワークからＲＴＰパケットを受信する受信手段と、
該受信手段が受信したＲＴＰパケットを解析して受信異常情報を生成する受信異常情報生成手段と、
前記受信異常情報生成手段により生成された受信異常情報に基づき選ばれる送信済データ、及び、新たに送信されるべき送信データを含むＲＴＰパケットを生成するＲＴＰパケット生成手段と、
該ＲＴＰパケット生成手段によって生成されたＲＴＰパケットを送信するよう前記送信手段を制御する制御手段と、
を備えることを特徴とする通信装置。
【請求項３】
請求項１または２の記載の通信装置において、
前記ＲＴＰパケット生成手段が、
前記受信異常情報に基づき選ばれる送信済データと新たに送信されるべき送信データとの差分データ、及び、前記新たに送信されるべき送信データを含むＲＴＰパケットを生成する、
ことを特徴とする通信装置。
【請求項４】
請求項１または２の記載の通信装置において、
前記受信異常情報が、ＲＴＰパケットの連続受信異常回数を含み、
前記ＲＴＰパケット生成手段が、
前記新たに送信されるべき送信データから前記連続受信異常回数だけ前に遡った送信済データ、及び、該新たに送信されるべき送信データを含むＲＴＰパケットを生成する、
ことを特徴とする通信装置。
【請求項５】
ＲＴＰに基づくリアルタイム性のあるデータをＲＴＰパケット化して無線ネットワークに送信する送信手段と、
該送信手段から送信されたＲＴＰパケットのフレーム単位の受信異常情報を前記無線ネットワークから受信する受信手段と、
前記受信手段により受信したフレーム単位の受信異常情報に基づき選ばれる送信済データ、及び、新たに送信されるべき送信データを含むＲＴＰパケットを生成するＲＴＰパケット生成手段と、
該ＲＴＰパケット生成手段によって生成されたＲＴＰパケットを送信するよう前記送信手段を制御する制御手段と、
を備えることを特徴とする通信装置。
【請求項６】
ＲＴＰに基づくリアルタイム性のあるデータをＲＴＰパケット化して無線ネットワークに送信する送信手段と、
前記無線ネットワークからＲＴＰパケットを受信する受信手段と、
該受信手段が受信したＲＴＰパケットを解析してフレーム単位の受信異常情報を生成する受信異常情報生成手段と、
前記受信異常情報生成手段により生成されたフレーム単位の受信異常情報に基づき選ばれる送信済データ、及び、新たに送信されるべき送信データを含むＲＴＰパケットを生成するＲＴＰパケット生成手段と、
該ＲＴＰパケット生成手段によって生成されたＲＴＰパケットを送信するよう前記送信手段を制御する制御手段と、
を備えることを特徴とする通信装置。
【請求項７】
ＲＴＰに基づくリアルタイム性のあるデータをＲＴＰパケット化して無線ネットワークに送信する送信ステップと、
該送信ステップにより送信されたＲＴＰパケットの受信異常情報を前記無線ネットワークから受信する受信ステップと、
該受信ステップにより受信した受信異常情報に基づき選ばれる送信済データ、及び、新たに送信されるべき送信データを含むＲＴＰパケットを生成するＲＴＰパケット生成ステップと、
該ＲＴＰパケット生成ステップによって生成されたＲＴＰパケットを送信するよう制御する制御ステップと、
を含むことを特徴とする通信装置の制御方法。
【請求項８】
ＲＴＰに基づくリアルタイム性のあるデータをＲＴＰパケット化して無線ネットワークに送信する送信ステップと、
前記無線ネットワークからＲＴＰパケットを受信する受信ステップと、
該受信ステップで受信したＲＴＰパケットを解析して受信異常情報を生成する受信異常情報生成ステップと、
前記受信異常情報生成ステップにより生成された受信異常情報に基づき選ばれる送信済データ、及び、新たに送信されるべき送信データを含むＲＴＰパケットを生成するＲＴＰパケット生成ステップと、
該ＲＴＰパケット生成ステップによって生成されたＲＴＰパケットを送信するよう制御する制御ステップと、
を含むことを特徴とする通信装置の制御方法。
【請求項９】
ＲＴＰに基づくリアルタイム性のあるデータをＲＴＰパケット化して無線ネットワークに送信する送信ステップと、
該送信ステップにより送信されたＲＴＰパケットのフレーム単位の受信異常情報を前記無線ネットワークから受信する受信ステップと、
前記受信ステップにより受信したフレーム単位の受信異常情報に基づき選ばれる送信済データ、及び、新たに送信されるべき送信データを含むＲＴＰパケットを生成するＲＴＰパケット生成ステップと、
該ＲＴＰパケット生成ステップによって生成されたＲＴＰパケットを送信するよう制御する制御ステップと、
を含むことを特徴とする通信装置の制御方法。
【請求項１０】
ＲＴＰに基づくリアルタイム性のあるデータをＲＴＰパケット化して無線ネットワークに送信する送信ステップと、
前記無線ネットワークからＲＴＰパケットを受信する受信ステップと、
該受信ステップにて受信したＲＴＰパケットを解析してフレーム単位の受信異常情報を生成する受信異常情報生成ステップと、
前記受信異常情報生成ステップにより生成されたフレーム単位の受信異常情報に基づき選ばれる送信済データ、及び、新たに送信されるべき送信データを含むＲＴＰパケットを生成するＲＴＰパケット生成ステップと、
該ＲＴＰパケット生成ステップによって生成されたＲＴＰパケットを送信するよう制御する制御ステップと、
を含むことを特徴とする通信装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及びその制御方法に関し、より詳細には、（ＶｏＩＰシステム等の）リアルタイムでのデータ送信が要求される通信におけるエラー耐性を高めた通信装置及びその制御方法に関する。
【背景技術】
【０００２】
ＶｏＩＰ（Voice over Internet Protocol）、ライブ中継、テレビ電話などのリアルタイム通信において有効な技術として、データをＩＰ（Internet Protocol）パケットに格納してインターネット等の無線ネットワーク上を転送させ、ＰＣ、ＰＤＡ、及び携帯電話等の通信端末において受信するシステムの開発が進められている。このようなリアルタイム通信では、リアルタイムトランスポートプロトコル（RTP：Real-time Transport Protocol）に従い、データ（例えば、音声データ、画像データ等）をＲＴＰパケットとして送信する。受信側はＲＴＰパケット内のＲＴＰヘッダに含まれるタイムスタンプとシーケンス番号を参照して、データをリアルタイムで再生する。
【０００３】
このＲＴＰプロトコルは下位の転送プロトコルにＵＤＰを用いている。ＵＤＰでは効率のよいデータ伝送のため、ネットワーク環境の影響によりパケットロス等が生じた場合でも、ＴＣＰのような再送制御を行わず新しいパケットの転送を続ける。このため、パケットロスが生じた場合、例えば音声データでは受信側で音が途切れるという問題が発生する。
【０００４】
この問題の解決のため、ＲＴＰパケットを用いた通信中に生じたパケットロスに対し、受信側でＴＣＰの様に再送要求を行うことで、受信するＲＴＰパケットの欠落を低減しデータを復元する技術が提案されている（特許文献１を参照されたい。）。
【特許文献１】特開2003-169040号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１では、受信側でパケットの異常（例えば、パケットロス、パケット誤り等）の発生を検出してから、送信側にパケットの再送を要求する。このため、ネットワークの伝搬遅延が非常に大きい環境では、パケットロスが発生してから送信側から再送されたパケットが受信側で受信されるまでに時間がかかる。ジッタ（パケット転送の遅延ゆらぎ）を吸収するバッファのサイズよりも往復伝播遅延が大きい場合には、再送されたパケットが廃棄されるため（すなわち、受信した再送データでは、当該部分の再生に間に合わないため）、音の途切れの問題を解決することができない。また、再送パケットによりトラフィックが増加してしまう問題もあった。
【０００６】
本発明は、上述した諸課題を解消し、伝播遅延の大きい環境におけるパケットロス、誤り等の異常の発生による音切れなどの再生品質の低下を抑制し、高品質なデータ通信を可能にする通信装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した諸課題を解決すべく、第１の発明による通信装置は、
ＲＴＰに基づくリアルタイム性のあるデータをＲＴＰパケット化して無線ネットワーク（基地局、相手端末など）に送信する送信手段と、
（該送信手段は、自装置から送信されたＲＴＰパケットの受信異常情報を送信するよう前記無線ネットワークに要求するデータを送信するものであり）該送信手段から送信されたＲＴＰパケットの受信異常情報（パケットロス、データ誤りなど）を前記無線ネットワークから受信する受信手段と、
前記受信手段により受信した受信異常情報に基づき選ばれる送信済データ（即ち、既に送信したデータのうち再送した方が良いと相手側（基地局や相手端末など）の受信状態から予想されるデータ）、及び、新たに送信されるべき送信データ（未送信データ）を含むＲＴＰパケットを生成するＲＴＰパケット生成手段と、
該ＲＴＰパケット生成手段によって生成されたＲＴＰパケットを送信するよう前記送信手段を制御する制御手段と、
を備えることを特徴とする。
【０００８】
また、第２の発明による通信装置は、ＲＴＰに基づくリアルタイム性のあるデータをＲＴＰパケット化して無線ネットワーク（基地局、相手端末など）に送信する送信手段と、
前記無線ネットワーク（基地局、相手端末など）からＲＴＰパケットを受信する受信手段と、
該受信手段が受信したＲＴＰパケットを解析して受信異常情報を生成する受信異常情報生成手段と、
前記受信異常情報生成手段により生成された受信異常情報に基づき選ばれる送信済データ（即ち、自装置の受信状態に基づき再送した方が良いと予想されるデータ）、及び、新たに送信されるべき送信データ（未送信データ）を含むＲＴＰパケットを生成するＲＴＰパケット生成手段と、
該ＲＴＰパケット生成手段によって生成されたＲＴＰパケットを送信するよう前記送信手段を制御する制御手段と、
を備えることを特徴とする。
【０００９】
また、第３の発明による通信装置は、前記ＲＴＰパケット生成手段が、前記受信異常情報に基づき選ばれる送信済データと新たに送信されるべき送信データとの差分データ、及び、前記新たに送信されるべき送信データを含むＲＴＰパケットを生成する、
ことを特徴とする。
【００１０】
また、第４の発明による通信装置は、前記受信異常情報が、ＲＴＰパケットの連続受信異常回数を含み、
前記ＲＴＰパケット生成手段が、前記新たに送信されるべき送信データから前記連続受信異常回数だけ前に遡った送信済データ、及び、該新たに送信されるべき送信データを含むＲＴＰパケットを生成する、
ことを特徴とする。
【００１１】
また、第５の発明による通信装置は、ＲＴＰに基づくリアルタイム性のあるデータをＲＴＰパケット化して無線ネットワーク（基地局、相手端末など）に送信する送信手段と、
（該送信手段は、自装置から送信されたＲＴＰパケットの受信異常情報を送信するよう前記無線ネットワークに要求するデータを送信するものであり）該送信手段から送信されたＲＴＰパケットのフレーム単位の受信異常情報（パケットロス、データ誤りなど）を前記無線ネットワークから受信する受信手段と、
前記受信手段により受信したフレーム単位の受信異常情報に基づき選ばれる送信済データ（即ち、既に送信したデータのうち再送した方が良いと相手側（基地局や相手端末など）の受信状態から予想されるデータ）、及び、新たに送信されるべき送信データ（未送信データ）を含むＲＴＰパケットを生成するＲＴＰパケット生成手段と、
該ＲＴＰパケット生成手段によって生成されたＲＴＰパケットを送信するよう前記送信手段を制御する制御手段と、
を備えることを特徴とする。
【００１２】
また、第６の発明による通信装置は、ＲＴＰに基づくリアルタイム性のあるデータをＲＴＰパケット化して無線ネットワーク（基地局、相手端末など）に送信する送信手段と、
前記無線ネットワーク（基地局、相手端末など）からＲＴＰパケットを受信する受信手段と、
該受信手段が受信したＲＴＰパケットを解析してフレーム単位の受信異常情報を生成する受信異常情報生成手段と、
前記受信異常情報生成手段により生成されたフレーム単位の受信異常情報に基づき選ばれる送信済データ（即ち、自装置の受信状態に基づき再送した方が良いと予想されるデータ）、及び、新たに送信されるべき送信データ（未送信データ）を含むＲＴＰパケットを生成するＲＴＰパケット生成手段と、
該ＲＴＰパケット生成手段によって生成されたＲＴＰパケットを送信するよう前記送信手段を制御する制御手段と、
を備えることを特徴とする。
【００１３】
上述したように本発明の解決手段を装置として説明してきたが、本発明はこれらに実質的に相当する方法、プログラム、プログラムを記録した記憶媒体としても実現し得るものであり、本発明の範囲にはこれらも包含されるものと理解されたい。
例えば、本発明を方法として実現させた第７の発明による通信装置の制御方法は、
（処理手段、通信手段が、）ＲＴＰに基づくリアルタイム性のあるデータをＲＴＰパケット化して無線ネットワークに送信する送信ステップと、
（通信手段が、）該送信ステップにより送信されたＲＴＰパケットの受信異常情報を前記無線ネットワークから受信する受信ステップと、
（処理手段、演算手段が）受信した受信異常情報に基づき選ばれる送信済データ、及び、新たに送信されるべき送信データを含むＲＴＰパケットを生成するＲＴＰパケット生成ステップと、
（処理手段、演算手段が）該ＲＴＰパケット生成ステップによって生成されたＲＴＰパケットを送信するよう制御する制御ステップと、
を含むことを特徴とする。
【００１４】
また、第８の発明による通信装置の制御方法は、
（処理手段、通信手段が、）ＲＴＰに基づくリアルタイム性のあるデータをＲＴＰパケット化して無線ネットワークに送信する送信ステップと、
（通信手段が、）前記無線ネットワークからＲＴＰパケットを受信する受信ステップと、
（処理手段、演算手段が、）該受信ステップで受信したＲＴＰパケットを解析して受信異常情報を生成する受信異常情報生成ステップと、
（処理手段、演算手段が、）前記受信異常情報生成ステップにより生成された受信異常情報に基づき選ばれる送信済データ、及び、新たに送信されるべき送信データを含むＲＴＰパケットを生成するＲＴＰパケット生成ステップと、
（処理手段、演算手段が、）該ＲＴＰパケット生成ステップによって生成されたＲＴＰパケットを送信するよう制御する制御ステップと、
を含むことを特徴とする。
【００１５】
また、第９の発明による通信装置の制御方法は、
（処理手段、通信手段が、）ＲＴＰに基づくリアルタイム性のあるデータをＲＴＰパケット化して無線ネットワークに送信する送信ステップと、
（通信手段が、）該送信ステップにより送信されたＲＴＰパケットのフレーム単位の受信異常情報を前記無線ネットワークから受信する受信ステップと、
（処理手段、演算手段が、）前記受信ステップにより受信したフレーム単位の受信異常情報に基づき選ばれる送信済データ、及び、新たに送信されるべき送信データを含むＲＴＰパケットを生成するＲＴＰパケット生成ステップと、
（処理手段、演算手段が、）該ＲＴＰパケット生成ステップによって生成されたＲＴＰパケットを送信するよう制御する制御ステップと、
を含むことを特徴とする。
【００１６】
また、第１０の発明による通信装置の制御方法は、
（処理手段、通信手段が、）ＲＴＰに基づくリアルタイム性のあるデータをＲＴＰパケット化して無線ネットワークに送信する送信ステップと、
（通信手段が、）前記無線ネットワークからＲＴＰパケットを受信する受信ステップと、
（処理手段、演算手段が、）該受信ステップにて受信したＲＴＰパケットを解析してフレーム単位の受信異常情報を生成する受信異常情報生成ステップと、
（処理手段、演算手段が、）前記受信異常情報生成ステップにより生成されたフレーム単位の受信異常情報に基づき選ばれる送信済データ、及び、新たに送信されるべき送信データを含むＲＴＰパケットを生成するＲＴＰパケット生成ステップと、
（処理手段、演算手段が、）該ＲＴＰパケット生成ステップによって生成されたＲＴＰパケットを送信するよう制御する制御ステップと、
を含むことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、伝搬遅延の大きい環境でも、データ（例えば、音声、画像など）の途切れの発生を抑えた高品質なリアルタイムのデータ通信を可能にする通信装置を提供することができる。
【発明を実施するための最良の形態】
【００１８】
以降、諸図面を参照しながら、本発明の実施態様を詳細に説明するが、典型例としてＶｏＩＰ（ＩＰ電話）用の通信装置に本発明を適用して説明する。
【実施例１】
【００１９】
図１は、本実施例の通信装置１００の構成を示すブロック図である。図に示した通信装置１００は、通信手段１１０、制御手段（ＣＰＵなどの演算手段、及びソフトウェアモジュールなど）１２０、受信異常情報検出手段１３０、データ保存手段（フラッシュメモリなど）１４０、音声入力手段（マイクなど）１５０、音声出力手段（スピーカなど）１６０、及びアンテナにより構成されている。通信手段１１０は、送信手段１１２及び受信手段１１４を含む。また、制御手段１２０は、受信異常情報生成手段１２１、ＲＴＰパケット生成手段１２２、入出力制御手段１２３、受信制御手段１２４、送信制御手段１２５、及び無音検出手段１２６を含む。受信異常情報検出手段１３０は、パケット誤り検出手段１３２、パケットロス検出手段１３４を含む。さらに、データ保存手段１４０は、送信再送間隔保存手段１４１、再送間隔保存手段１４２、最大再送間隔保存手段１４３、予測送信再送間隔保存手段１４４、送信バッファ１４５、及び受信バッファ１４６を含む。
【００２０】
図１のブロック図における各ブロックの機能とともに、本発明の通信装置の概要について説明する。通話の開始後、無音検出手段１２６が、音声入力手段１５０から入力された音声が無音であるか否かを検出する。入力された音声は、図示しない符号化装置（エンコーダ）によって符号化され、送信バッファ１４５に格納される。ＲＴＰパケット生成手段１２２は、ＲＴＰに従い、送信バッファ１４５から出力された音声データを含むＲＴＰパケットを生成する。ＲＴＰパケットは、ＲＴＰヘッダ及び符号データ（音声データ）から成る。ＲＴＰヘッダには、ＲＴＰのバージョン情報、パディング（調整用ビット）、拡張ビット、マーカ、ペイロードタイプ、シーケンス番号、タイムスタンプ、同期ソース識別子等の各フィールドが設けられている。これらのうちシーケンス番号は、初期値を乱数としてパケットごとに１ずつ増加するもので、タイムスタンプは、パケットに含まれる最も古い符号データの発生時刻を表す。なお符号データは本実施例では音声データであるが、他の通信装置の例では、映像データであってもよい。また、ＣＤ、ＤＶＤ等の記憶媒体から入力されるデータ、あるいは外部ネットワークから受信するデータであってもよい。ＲＴＰパケットにはさらに、ＵＤＰヘッダ、ＩＰヘッダによって、送信元アドレス、宛て先アドレス等の情報が付与される。
【００２１】
送信制御手段１２５は、送信手段１１２を制御して、作成されたＲＴＰパケットを無線ネットワーク上に送信する。このとき本発明の第１の実施例では、自装置が送信するＲＴＰパケットの受信異常情報（パケットロス、データ誤りなど）を送信するように通話相手装置に要求するデータが、送信するパケットにさらに付加される。
【００２２】
受信制御手段１２４は、受信手段１１４を制御して、無線ネットワーク上のパケットを受信する。受信異常情報検出手段１３０は、受信したパケットの解析を行う。具体的にはパケット誤り検出手段１３２、及びパケットロス検出手段１３４が、パケット内のシーケンス番号、タイムスタンプを解析し、受信したパケットの順序の入れ替わりなどのパケット誤り、パケットロスが発生したか否かを検出する。パケットから取り出された符号データ、すなわち音声データは、受信バッファ１４６に格納される。受信バッファ１４６に格納されたデータは、シーケンス番号及びタイムスタンプが示す時間情報に基づき、図示しない復号装置（デコーダ）によって復号され、音声として音声出力手段１６０から出力される。音声入力手段１５０及び音声出力手段１６０は、入出力制御手段１２３によって制御される。
【００２３】
本発明の通信装置は、さらに、受信異常情報生成手段１２１を備える。前述のように、送信側からの受信異常情報の送信要求を受け、受信異常情報生成手段１２１は、受信異常情報検出手段１３０による検出結果に基づき、異常情報（パケットロス、パケット誤り）、すなわち異常が発生したパケットの数や位置の情報を生成する。この情報は、ＲＴＰパケット生成手段１２２で生成されるパケットにレポートの形式で付加され、通話相手装置、すなわち異常を検出した受信パケットの送り手へと送信される。レポートを受信した側（送り手）はそのレポート内容から、自身が送信したパケットのうち連続して何個異常が生じたかを知ることができ、伝搬環境がパケット送受信に及ぼす影響の傾向を知ることができる。
【００２４】
異常情報レポートを受信した側は、その後に続く送信処理の際に、レポート内容に基づき、すなわち伝搬環境の影響を考慮し、既に送信しデータ保存手段１４０に格納されていた送信済パケットを選択し、ＲＴＰパケット生成部１２２で生成する最新の未送信パケットに付加して送信する。ここで、付加する送信済パケットは、例えば異常情報レポートにパケットロスが１つ生じたことが通知されている場合、最新の未送信パケットの１つ前に送信した送信済パケットを付加する。また他の例として、異常情報レポートにパケットロスが連続して２つ生じたことが通知されている場合、最新の未送信パケットの２つ前に送信した送信済パケットを付加する。送信済パケットを受信する側は、その後の通信において、もしパケットロスを「２回連続」で生じたとしても、この再送された送信済パケットによってデータの復元が可能になる。これら異常情報レポートを有するパケットの生成を含む送受信処理は、本発明の第２、第３の実施例とともに、フローチャートを用いて後述する。
【実施例２】
【００２５】
本発明の第２の実施例では、未送信データに付加する送信済データの選択を、受信異常情報生成手段１２１で生成する受信異常情報に基づいて行うこともできる。すなわち、受信パケットのロス、誤りから伝播環境の影響を考慮し、自装置から通話相手装置に送信したパケットにも同様の異常が生じているとの予測に基づいて、新たに送信する未送信データに付加すべき（再送すべき）送信済パケットを選択する。例えば、受信パケットの異常情報からパケットロスが１つ生じていたことが判明した場合、最新の未送信パケットの１つ前に送信したパケットを付加する。また他の例として、パケットロスが２つ連続して生じていたことが判明した場合、最新の未送信パケットの２つ前の送信済パケットを付加する。送信済パケットを受信する側は、その後の通信において、もしパケットロス「２回連続」で生じたとしても、この再送された送信済パケットによってデータの復元が可能になる。
【実施例３】
【００２６】
図２は、送信済データの再送によるトラフィックの増加を低減するための、差分データの作成方法を説明する図である。なお、図示したデータ波形は説明を簡易化するための概念図であり、厳密なものではない。同図（ａ）に示すように、本発明の第１、第２の実施例で再送される送信済データＤ１０と最新の未送信データＤ１１とで差分を行い、差分データＤ１２を作成する。データサイズにおいて送信済データＤ１０が差分データＤ１２よりも小さい場合は、同図（ｂ）のように送信済データＤ１０を未送信データＤ１１に付加して再送する。逆に、差分データＤ１２が送信済データＤ１０よりも小さい場合は、同図（ｃ）のように差分データＤ１２を未送信データＤ１１に付加して再送する。受信側は、差分データであることを示すフラグ等の有無に基づき送信済データの判別を行い、差分データであれば最新データを用いて送信済データの復元を行う。このようにすれば、送信済データの再送によるトラフィックの増加を低減することができる。
【００２７】
以下にフローチャートを用いて、本発明の第１〜３の実施例における送受信処理を説明する。まず、本発明の通信装置１００における受信処理について説明する。図３は、受信処理のフローチャートである。まず、通話が開始したか否かを判定し（ステップＲ３１）、通話を開始した場合はデータ保存手段１４０に格納している再送間隔、及び最大再送間隔を０に設定する（ステップＲ３２、Ｒ３３）。ここで再送間隔とは、再送すべき送信済パケットと最新の送信済パケットとの時間間隔を指し、送受信処理中に求められる。最大再送間隔とは、通話中、すなわち送受信処理中に更新されていく再送間隔のうち最大のものを指す。また、後述の送信再送間隔とは、この再送すべき送信済パケットが、通話相手装置から再送を要求されたもの、すなわち、通話相手装置から受信したパケットにレポートの形式で含まれている異常情報から抽出した場合の時間間隔である。さらに予測送信再送間隔とは、再送すべき送信済パケットを、自装置の受信状況から自装置で予測した場合の時間間隔である。
【００２８】
次にステップＲ３４のループ１に進み、以降通話終了までループ１（ステップＲ３４〜Ｒ４０）を繰返す。通信装置１００は無線ネットワーク（通話相手装置）よりデータを受信し（ステップＲ３５）、受信データに含まれているレポート内の最大再送間隔を抽出し、送信再送間隔としてデータ保存手段１４０に格納する（ステップＲ３６）。その後、受信データに基づきステップＲ３７の再送情報生成処理に進む。
【００２９】
図４は受信処理における再送情報生成処理のフローチャートである。まず、受信したデータが通話開始後に最初に受信したパケットか否かを判定し（ステップＲ４１）、最初に受信したパケットである場合は受信したＲＴＰパケットに含まれるタイムスタンプを最新タイムスタンプとしてデータ保存手段１４０に格納する（ステップＲ５８）。その後、パケット誤り検出手段１３２にて、受信したパケットに誤りが発生したか否かを検出し（ステップＲ５９）、誤りが発生しなかった場合は何もせず、誤りが発生した場合はパケット誤りフラグを１に設定して（ステップＲ６０）、図３のステップＲ３８へと進む。
【００３０】
ステップＲ４１にて最初に受信したパケットでない場合は、パケット誤り検出手段１３２にてパケット誤りが発生したか否かを検出し（ステップＲ４２）、誤りが発生した場合はパケット誤りフラグに１を設定して（ステップＲ５１）ステップＲ５２へと進む。誤りが発生しなかった場合は、パケットロス検出手段１３４にてパケットロスが発生したか否かを判定する（ステップＲ４３）。パケットロスが発生した場合、受信したＲＴＰパケットに含まれるタイムスタンプと、データ保存手段１４０に格納されている最新タイムスタンプとの差分から、１フレームあたりのタイムスタンプの増分を減算した値を求め、この値を再送間隔に設定し（ステップＲ４９）、再送間隔保存手段１４２に格納する。その後、データ保存手段１４０に格納されている最新タイムスタンプを、受信したＲＴＰパケットに含まれるタイムスタンプに更新し（ステップＲ５０）、ステップＲ５２へと進む。
【００３１】
ステップＲ４３にてパケットロスが発生していないと判定された場合、データ保存手段１４０に格納されているパケット誤りフラグが１か否かを判定する（ステップＲ４４）。パケット誤りフラグが１と判定された場合、受信したＲＴＰパケットに含まれるタイムスタンプと、データ保存手段１４０に格納されている最新タイムスタンプとの差分から、１フレームあたりのタイムスタンプの増分を減算した値を求め、この値を再送間隔に設定する（ステップＲ４７）。その後、パケット誤りフラグを０に設定する（ステップＲ４８）。次に、データ保存手段１４０に格納されている最新タイムスタンプを、受信したＲＴＰパケットに含まれるタイムスタンプに更新し（ステップＲ４６）、ステップＲ５２へと進む。
【００３２】
ステップＲ４４にてパケット誤りフラグが１でないと判定された場合、再送間隔保存手段１４２に格納されている再送間隔を０に設定し（ステップＲ４５）、データ保存手段１４０に格納されている最新タイムスタンプを、受信したＲＴＰパケットに含まれるタイムスタンプに更新し（ステップＲ４６）、ステップＲ５２へと進む。
【００３３】
ステップＲ４６、Ｒ５０、Ｒ５１のいずれか１つのステップを実行後、ステップＲ５２に進み、それぞれ最大再送間隔保存手段１４３、再送間隔保存手段１４２に格納されている、最大再送間隔と再送間隔との値を比較する。再送間隔が最大再送間隔の値よりも大きい場合、再送間隔をクロックレートで割った値が受信バッファのサイズよりも大きいか否かを判定する（ステップＲ５３）。これは例えばデータが音声である場合、音声の再生時間が受信バッファよりも大きいか否かを判定することになる。再送間隔が小さい場合には再送間隔の値を最大再送間隔の値に設定し、最大再送間隔保存手段１４３に格納する（ステップＲ５４）。再送間隔が大きい場合には、何もせずに次のステップに進む。この処理により、受信バッファ容量よりも多く送信済データが再送されることが避けられる。
【００３４】
次にステップＲ５５に進み、それぞれ予測送信再送間隔保存手段１４４、再送間隔保存手段１４２に格納されている、予測送信再送間隔と再送間隔との値を比較する。再送間隔が予測送信再送間隔の値よりも大きい場合、再送間隔をクロックレートで割った値が受信バッファのサイズよりも大きいか否かを判定する（ステップＲ５６）。再送間隔が小さい場合には再送間隔の値を予測送信再送間隔の値に設定し、予測送信再送間隔保存手段１４４に格納する（ステップＲ５７）。再送間隔が大きい場合には、何もせずに次のステップに進む。この処理により、受信バッファ容量よりも多く送信済データが再送されることが避けられる。
【００３５】
ステップＲ３７の再送情報生成処理が終了すると、図３のフローチャートにおけるステップＲ３８へ進み、受信パケットにパケット誤りが発生しているか否かを、パケット誤りフラグに基づいて判定する。パケット誤りが発生していない場合は受信バッファに受信データを追加する（ステップＲ３９）。パケット誤りが発生した場合は、受信データを受信バッファに追加することなく、次のステップＲ４０へ進む。以降、通話が終了するまでループ１（ステップＲ３４〜Ｒ４０）の処理を繰返し、通話が終了した場合には受信処理を終了する。
【００３６】
次に、送信処理について説明する。図５は、本発明の通信装置１００による送信処理のフローチャートである。まず、通話が開始したか否かを判定し（ステップＴ１１）、通話を開始した場合はデータ保存手段１４０に格納している送信再送間隔、及び予測送信再送間隔を０に設定する（ステップＴ１２、Ｔ１３）。その後ステップＴ１４のループ１に進み、以降通話終了までループ１（ステップＴ１４〜Ｔ２３）を繰返す。通信装置１００は、音声入力手段１５０により入力された音声データが無音か否かを判定し（ステップＴ１５）、無音である場合予測送信再送間隔を０に設定する(ステップＴ１６)。その後、前述したように制御手段１２０により送信可能な形式に変換したデータ（すなわち、ＲＴＰパケット）を送信バッファ１４５に格納する（ステップＴ１７）。次に、データ保存手段１４０に格納されている送信再送間隔、予測送信再送間隔を読込む（ステップＴ１８）。そして、格納されている送信再送間隔が０か否か、または、予測送信再送間隔が０か否かを判定し（ステップＴ１９）、いずれかひとつが０でない場合はステップＴ２０の送信データ生成処理に進む。
【００３７】
図６は、送信データ生成処理のフローチャートである。ここでは、再送すべきデータの選択と、差分データの生成が行われる。まず、送信再送間隔の値が予測送信再送間隔の値よりも小さいか否かを判定する（ステップＴ３１）。このステップにより、通話相手装置でパケットの異常が生じており再送を要すると受信状況から自装置で予測した送信済パケットと、通話相手装置から再送要求された送信済パケットとのうち、より古い送信済データが再送されることになる。すなわち、送信済パケットを受信した側が、異常を生じたパケットにおいてより多くのパケットを復元できるように、送信済パケットを選択するものである。よって、予測送信再送間隔の値が小さい場合には、現在のＲＴＰのタイムスタンプから送信再送間隔分遡ったタイムスタンプを持つデータを送信バッファ１４５より抽出し、最新の受信データとの差分データを作成する（ステップＴ３２）。次に、ステップＴ３２にて作成した差分データが送信バッファ１４５より抽出したデータよりも小さいか否かを判定する（ステップＴ３３）。これは前述したように、送信済データの再送によるトラフィックの増加を低減するためである。差分データのほうが大きい場合には送信バッファ１４５より抽出したデータを送信データに追加し（ステップＴ３４）、差分データのほうが小さい場合には差分データを送信データに追加する（ステップＴ３５）。
【００３８】
ステップＴ３１にて予測送信再送間隔の値のほうが小さい場合には、現在のＲＴＰのタイムスタンプから予測送信再送間隔分遡ったタイムスタンプを持つデータを送信バッファ１４５より抽出し、最新の受信データとの差分データを作成する（ステップＴ３６）。次に、ステップＴ３６にて作成した差分データが送信バッファ１４５より抽出したデータよりも小さいか否かを判定する（ステップＴ３７）。差分データの方が大きい場合には送信バッファ１４５より抽出したデータを送信データに追加し（ステップＴ３８）、差分データのほうが小さい場合には差分データを送信データに追加する（ステップＴ３９）。その後、送信データ生成処理を終了し、ステップＴ２１に進む。
【００３９】
その後ステップＴ２１で、受信処理中に生成され、受信バッファ１４６に格納されている最大再送間隔を抽出し、その情報をレポート形式で送信データに付加する。そして、作成した送信データを、送信手段１１２により通話相手装置へ送信する（ステップＴ２２）。この送信処理のステップＴ２１において送信データに付加した最大再送間隔が、通話相手装置の受信処理中のステップＲ３６における「受信レポート内の再送間隔」となる。その後通話終了まで、ループ１（ステップＴ１４〜ステップＴ２３）の処理を繰返し、通話が終了した場合、送信処理を終了する。通話中は、上述した送受信処理が各装置で行われる。
【００４０】
次に、通話中に各装置が送受信するパケットの時間推移を表す図とともに、本発明の具体的な実施例を説明する。図７は、自装置の予測に基づかず、通話相手装置からの受信レポートに基づいて送信済データを選択する場合を説明する図である。図３〜図６のフローチャートとともに説明する。通話開始後、端末Ａが送信処理を行う。端末Ｂからの受信データはないため（ステップＴ１８）、送信再送間隔、予測送信再送間隔は０である（ステップＴ１９）。よって、再送間隔は０というレポートを付加して送信データを送信する（ステップＴ２１、Ｔ２２）。端末Ｂから矢印ＡＲ１０のレポートを受信するまで、すなわちここでは一例としてパケットＡ１０の送信まで、この処理を行う。なお付加したレポートには、端末Ｂ側への受信状況（受信異常情報）のレポートの要求が含まれている。
【００４１】
端末ＢがパケットＡ０を受信した後の、時刻Ｐ１０での受信処理について説明する。データを受信し、受信レポート内の再送間隔を送信再送間隔とする（ステップＲ３５、Ｒ３６）。ここで、レポート内の再送間隔は０、送信再送間隔は０となる。次に再送情報生成処理を行う（ステップＲ３７）。最初に受信したパケットであるため（ステップＲ４１）、パケットＡ０に含まれるタイムスタンプ（ここでは例えば１とする。また、１フレームあたり１ずつ増分するとする。）を最新タイムスタンプとする（ステップＲ５８）。パケット誤りは発生していないため（ステップＲ５９、ステップＲ３８）、受信バッファに受信データを追加し（ステップＲ３９）、次のデータを受信する（ステップＲ３５）。
【００４２】
次に端末ＢがパケットＡ２を受信した後の、時刻Ｐ１１での受信処理について説明する。受信レポート内の再送間隔は同様に０であるため、送信再送間隔は０のままである（ステップＲ３６）。その後、再送情報生成処理に入る。パケットロスが発生したため（ステップＲ４３）、パケットＡ２に含まれるタイムスタンプ３から、最新のタイムスタンプ１、及び１フレームあたりのタイムスタンプの増分１を減算する。すなわち、「３−１−１＝１」を、再送間隔に設定する（ステップＲ４９）。その後、最新のタイムスタンプを更新して、パケットＡ２のタイムスタンプ３を最新のタイムスタンプに設定する（ステップＲ５０）。再送間隔は１、最大再送間隔は０であるため、ステップＲ５３に進む。ここで説明の簡易化のため、本実施例の説明では、ステップＲ５３及びＲ５６において、再送パケットはすべて受信バッファのサイズの容量内であるものとする。よって、再送間隔１を最大再送間隔に設定する（ステップＲ５４）。図７では予測に基づかないため、ステップＲ５５の判定を省略する。パケット誤りが発生したため、受信バッファに受信データを追加せず、ループ１の処理を繰返す。
【００４３】
その後端末Ｂは送信処理を行う。送信再送間隔保存手段１４１からデータを読込むと、上述した処理結果から送信再送間隔は０となっている。よって、再送間隔１を示すデータを含むレポートを送信データに追加し、端末Ａへと送信する（ステップＴ１９〜Ｔ２２）。なお、図７では説明の簡易化のため、端末Ｂから送信されるレポートのみ図示し、パケットは図示していない。
【００４４】
端末ＢがパケットＡ２の受信に基づき作成した、矢印ＡＲ１０で示す前記受信異常情報レポートを、端末ＡはパケットＡ１０の送信の前後の時刻Ｐ１２に受信し、受信処理を行う。このレポートには、上の段落で説明したように再送間隔が１であることが記されている。端末Ａはこのレポートを受け、受信レポート内の再送間隔１を送信再送間隔とする（ステップＲ３６）。その後、再送間隔を０に設定し（ステップＲ４５）、受信したパケットＡに含まれるタイムスタンプを最新のタイムスタンプとする。その後端末Ａは送信処理を行い、端末Ｂに再送すべき送信済データの選択処理を行う。送信再送間隔を読込み（ステップＴ１８）、送信再送間隔は１であるため、送信データ生成処理を行う（ステップＴ１９）。この例では予測に基づかないため、送信再送間隔分遡ったデータと最新データとの差分データを作成し、前述したように、差分データと送信済データのうちデータ量の小さいほうを送信データに追加する（ステップＴ３２〜Ｔ３４、またはＴ３５）。いま送信再送間隔は１であるため、最新の未送信データＡ１１から送信再送間隔分遡ったデータはＡ１０である。よって、端末Ａは時刻Ｐ１３に、最新の未送信パケットＡ１１に、送信済パケットＡ１０を付加して端末Ｂへ送信する。
【００４５】
次に端末ＢがパケットＡ７を受信した後の、時刻Ｐ１４での受信処理について説明する。端末Ａからの受信レポート内の再送間隔は０であるため、送信再送間隔は０である（ステップＲ３６）。その後、再送情報生成処理に入る。パケットロスが発生したため（ステップＲ４３）、ステップＲ４９に進む。ここで、パケットＡ２〜Ａ４の受信の間、パケット誤り、及びパケットロスは発生せず、またパケット誤りフラグは１でないため、再送間隔は０に設定され（ステップＲ４５）、最新タイムスタンプはパケットＡ４のタイムスタンプ５に設定されている（ステップＲ４６）。よってパケットＡ７に含まれるタイムスタンプ８から、最新のタイムスタンプステップ５、及び１フレームあたりのタイムスタンプの増分１を減算する。すなわち、「８−５−１＝２」を、再送間隔に設定する（ステップＲ４９）。その後、最新のタイムスタンプを更新して、パケットＡ７のタイムスタンプ８を最新のタイムスタンプに設定する（ステップＲ５０）。最大再送間隔は時刻Ｐ１１での処理から１であるため、ステップＲ５３に進み、再送間隔２を最大再送間隔に設定する（ステップＲ５４）。
【００４６】
その後端末Ｂは送信処理を行う。送信再送間隔保存手段１４１よりデータを読込むと、上述した処理結果から送信再送間隔は０となっている。よって、最大再送間隔２を示すデータを含むレポートを送信データに追加し、端末Ａへと送信する（ステップＴ１９〜Ｔ２２）。
【００４７】
端末ＢがパケットＡ７の受信に基づき作成した、矢印ＡＲ１１で示す前記受信異常情報レポートを、端末ＡはパケットＡ１５の送信の前後の時刻Ｐ１５に受信し、受信処理を行う。このレポートには、上の段落で説明したように再送間隔が２であることが記されている。端末Ａはこのレポートを受け、受信レポート内の再送間隔２を送信再送間隔とする（ステップＲ３６）。その後、再送間隔を０に設定し（ステップＲ４５）、受信したパケットＡに含まれるタイムスタンプを最新のタイムスタンプとする。その後端末Ａは送信処理を行い、端末Ｂに再送すべき送信済データの選択処理を行う。送信再送間隔保存手段１４１よりデータを読込み（ステップＴ１８）、送信再送間隔は２であるため、送信データ生成処理を行う（ステップＴ１９）。この例では予測に基づかないため、送信再送間隔分遡ったデータと最新データとの差分データを作成し、前述したように、差分データと送信済データのうちデータ量の小さいほうを送信データに追加する（ステップＴ３２〜Ｔ３４、またはＴ３５）。いま送信再送間隔は２であるため、最新の未送信データＡ１６から送信再送間隔分遡ったデータはＡ１４である。よって、端末Ａは時刻Ｐ１６に、最新の未送信パケットＡ１６に、送信済パケットＡ１４を付加して端末Ｂへ送信する。
【００４８】
端末Ｂはその後、端末Ａが送信した送信済パケットに基づき、例えばパケットＡ１３をロスした場合でも、次に受信するパケットＡ１４に付加された送信済パケットＡ１３によってデータの復元が可能となる。また、パケットＡ１６、Ａ１７をロスした場合でも、次に受信するパケットＡ１８、Ａ１９に付加された送信済パケットによって、データの復元が可能となる。しかしこの場合、通話相手からのレポートを受信してから再送すべきパケットを選択するため、パケットの再送まで時間がかかる。したがって図７のように、端末Ｂにて復元できないパケットが多くなる。
【００４９】
図８は、自装置の予測に基づいて再送する送信済データを選択する場合を説明する概略図である。端末Ａ、Ｂがそれぞれ送受信処理を行う。図８（ａ）は、端末Ａが送信、端末Ｂが受信を行う場合、同図（ｂ）は、それと並行する端末Ａの受信、端末Ｂの送信を説明する概略図である。まず、時刻Ｐ２１での端末Ｂでの処理を説明する。端末Ｂは端末ＡからパケットＡ２を受信し、図７の時刻Ｐ１１でと同様の条件のため、同様の処理を行う。すなわち、受信処理にてステップＲ５４まで進み、再送間隔及び最大再送間隔を１に設定する。図８では予測に基づくため、ステップＲ５５に進む。予測送信再送間隔は送信処理でのステップＴ１３から０であるため、ステップＲ５７に進み、再送間隔１を予測送信再送間隔に設定する。
【００５０】
その後、端末Ｂは送信処理を行う。送信再送間隔を読込むと、上述した処理結果から送信再送間隔は０となっている。よって、最大再送間隔１を示すデータを含むレポートを送信データに追加し、矢印ＡＲ２０で示すように端末Ａへと送信する（ステップＴ１９〜Ｔ２２）。また、ステップＴ１９の判定にて予測送信再送間隔が１であるため、送信データ生成処理へ進む。送信再送間隔０よりも予測送信再送間隔１が大きいため、予測送信再送間隔分遡ったデータと最新データとの差分データを作成し、前述したように、差分データと送信済データのうちデータ量の小さいほうを送信データに追加する（ステップＴ３２〜Ｔ３４、またはＴ３５）。いま予測送信再送間隔は１であるため、時刻Ｐ２１で受信後の、時刻Ｐ２３での最新の未送信データＢ８から、予測送信再送間隔分遡ったデータはＢ７である。よって端末Ｂは、最新の未送信パケットＢ８に、送信済パケットＢ７を付加して端末Ａへ送信する。すなわち、端末Ｂは、矢印ＡＲ２２に示す、端末Ａからの受信状況からの予測に基づいて、再送すべき送信済パケットを選択し、端末Ａに送信する。
【００５１】
次に、時刻Ｐ２２での端末Ａでの処理を説明する。端末Ａは端末ＢからパケットＢ３を受信する。端末Ｂからの受信レポート内の再送間隔は０であるため、送信再送間隔は０である（ステップＲ３６）。その後、再送情報生成処理を行う。パケットロスが発生したのでステップＲ４９に進む。最新タイムスタンプは、パケットＢ０の１に設定されている。よって、ステップＲ４９では、パケットＢ３のタイムスタンプ４から、最新タイムスタンプ１、及び１フレームあたりのタイムスタンプの増分１を減算する。すなわち、「４−１−１＝２」を、再送間隔に設定する。その後、最新のタイムスタンプを更新して、パケットＢ３のタイムスタンプ４を最新のタイムスタンプに設定する（ステップＲ５０）。端末Ａでは最初の再送処理は発生しておらず、最大再送間隔は０であるため、ステップＲ５３に進み、再送間隔２を最大再送間隔に設定する（ステップＲ５４）。予測送信再送間隔は送信処理でのステップＴ１３から０であるため、ステップＲ５７に進み、再送間隔２を予測送信再送間隔に設定する。
【００５２】
その後、端末Ａは送信処理を行う。送信再送間隔、予測送信再送間隔を読込むと送信再送間隔は０である。ステップＴ１９の判定にて予測送信再送間隔が２であるため、送信データ生成処理へ進む。送信再送間隔０よりも予測送信再送間隔２が大きいため、予測送信再送間隔分遡ったデータと最新データとの差分データを作成し、前述したように、差分データと送信済データのうちデータ量の小さいほうを送信データに追加する（ステップＴ３２〜Ｔ３４、またはＴ３５）。いま予測送信再送間隔は２であるため、時刻Ｐ２２で受信後の、時刻Ｐ２４での最新の未送信データＡ９から、予測送信再送間隔分遡ったデータはＡ７である。よって、端末Ａは、最新の未送信パケットＡ９に送信済パケットＡ７を付加して、端末Ｂへ送信する。すなわち、端末Ａは、矢印ＡＲ２１に示したように、端末Ｂからの受信状況からの予測に基づいて、再送すべき送信済パケットを選択し、端末Ｂに送信する。同時に、端末Ｂには矢印ＡＲ２３で示す、最大再送間隔が２というレポートを付加して送信している。
【００５３】
次に時刻Ｐ２５での、端末Ａの送受信処理を説明する。端末Ａは時刻Ｐ２５に、矢印ＡＲ２０のように、最大再送間隔が１であることを含む端末Ｂからのレポートを受け取る。よって、最大再送間隔１を、送信再送間隔に設定する（ステップＲ３６）。パケットロスは発生していないため、受信処理では再送間隔が０に設定され（ステップＲ４５）、最大再送間隔１、予測送信再送間隔２は更新されない（ステップＲ５２、Ｒ５５）。その後送信処理を行い、送信再送間隔１よりも予測送信再送間隔２のほうが大きいため、予測送信再送間隔分遡ったデータと最新データとの差分データを作成し、前述したように、差分データと送信済データのうちデータ量の小さいほうを送信データに追加する（ステップＴ３２〜Ｔ３４、またはＴ３５）。その後、端末Ａ、Ｂは通話中に上述した処理を続けていく。すなわち、再送すべき送信済パケットにおいて、自装置が予測したものと、通話相手装置から要求されたものとを比較し、受信バッファの容量内で、より多くデータを復元できるものを選択する。
【００５４】
ここで、本発明の効果を説明する。いま、自装置の予測（矢印ＡＲ２１）に基づかずにレポート内の受信異常情報（矢印ＡＲ２０）のみから送信済データを再送した場合を考える。端末Ａから送信したパケットＡ９、Ａ１０が、図８のように端末Ｂで受信できなかった（ロスした）と仮定する。矢印ＡＲ２０の最大再送間隔＝１に基づき、パケットＡ１１に送信済パケットＡ１０を付加して送信した場合、端末ＢでパケットＡ１１とともにＡ１０を受信しても、パケットＡ９を復元することができない。しかし、矢印ＡＲ２１の、自装置の予測送信再送間隔＝２の予測に基づき、パケットＡ９に送信済パケットＡ７を付加して送信し、その後も続けて送信済パケットを付加して送信すれば、端末ＢでパケットＡ１１を受信したときにパケットＡ９、Ａ１０とも復元することができる。このように、予測に基づきパケットを再送すればパケットロスを低減でき、音切れの少ない通信が可能となる。
【００５５】
なお、連続してパケットロスが生じた場合（すなわち、受信異常情報に連続受信回数が含まれていた場合）に上述した処理により再送される送信済パケットの数は、連続受信異常回数に所定の数を付け加えて遡った数でもよい。すなわち、パケットロスが「２回連続」で生じた場合に、送信済パケットを「２つ前のもの」ではなく、安全をとって例えば「３つ前のもの」を付加して再送してもよい。このようにすれば、自装置での予測時、若しくは通話相手装置の受信異常情報の作成時よりも伝播環境が悪化し、後続する通信において、「観測した連続受信異常回数」よりもパケットロス連続回数が増加しても、データの復元が可能となる。但し、「再送される送信済パケットの数」を増加する場合には、受信バッファの容量を考慮する必要がある。即ち、受信バッファの容量を超えて送信済パケットを再送すると、通話相手側で再送されたパケットが廃棄され、音切れが発生してしまい効果がないため、「再送される送信済パケットの数」は、受信バッファの容量を超えてはならない。
【００５６】
端末が移動したり、通信装置と端末との間の遮蔽物の移動など様々な要因の影響を受けて、通信状態（伝播環境）は悪くなる場合もあるが良くなる場合もある。上述した処理では、通信が終了するまで「再送される送信済パケットの数」が増加し続けていくが、例えば「３つ」送信済パケットを付加して再送していた場合でも、伝播環境が良くなったことを示す「新たな受信異常情報」が取得された場合は、「新たな受信異常情報」に基づき、送信済パケットを「２つ」、または「１つ」に減少することができる。このようにすれば、伝播環境が変化し通話が安定した場合に、現在の通信に適合したデータを再送することができる。
【００５７】
本実施例では連続して２つパケットロスが生じた場合を説明したが、それ以上のロスが生じても本発明を適用することは可能である。また、本実施例では１フレームあたり１パケットと仮定し、パケット単位で説明したが、フレーム単位での通信方式に本発明を適用することも可能である。さらに、本発明を音声データに適用して説明したが、本発明はこれに限るものではなく、リアルタイム性を要するライブ中継、テレビ電話及び衛星通信等に適用することも可能である。
【００５８】
本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。したがって、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各手段、各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の手段やステップなどを１つに組み合わせたり、あるいは分割したりすることが可能である。
【図面の簡単な説明】
【００５９】
【図１】通信装置の構成を示すブロック図である。
【図２】差分データの作成を説明する概略図である。
【図３】通信装置による受信処理のフローチャートである。
【図４】受信処理における再送情報生成処理のフローチャートである。
【図５】通信装置による送信処理のフローチャートである。
【図６】送信処理における送信データ生成処理のフローチャートである。
【図７】自装置の予測に基づかず、通話相手装置からの受信レポートに基づいて送信済データを選択する場合を説明する概略図である。
【図８】自装置の予測に基づいて再送する送信済データを選択する場合を説明する概略図である。
【符号の説明】
【００６０】
１００  通信装置  
１１０  通信手段
１１２  送信手段
１１４  受信手段
１２０  制御手段
１２１  受信異常情報生成手段
１２２  ＲＴＰパケット生成手段
１２３  入出力制御手段
１２４  受信制御手段
１２５  送信制御手段
１２６  無音検出手段
１３０  受信異常情報検出手段
１３２  パケット誤り検出手段
１３４  パケットロス検出手段
１４０  データ保存手段
１４１  送信再送間隔保存手段
１４２  再送間隔保存手段
１４３  最大再送間隔保存手段
１４４  予測送信再送間隔保存手段
１４５  送信バッファ
１４６  受信バッファ
Ｄ１０  送信済データ
Ｄ１１  未送信データ
Ｄ１２  差分データ
Ａ０〜Ａ２０  パケット
Ｂ０〜Ｂ２０  パケット
Ｐ１０〜Ｐ２５  時刻
ＡＲ１０〜ＡＲ２３  矢印
【図１】
2008085802.tif 000003
【図２】
2008085802.tif 000004
【図３】
2008085802.tif 000005
【図４】
2008085802.tif 000006
【図５】
2008085802.tif 000007
【図６】
2008085802.tif 000008
【図７】
2008085802.tif 000009
【図８】
2008085802.tif 000010