(57)【特許請求の範囲】
【請求項１】
伝送すべきデータを所定のエンコードレートで圧縮し、エンコードデータを出力するエンコーダと、前記エンコードデータを、通信網を介して受信装置へ送信する送信端末とを備えた送信装置において、
前記送信端末は、
前記エンコーダにより出力されたエンコードデータを蓄積するバッファと、
前記受信装置により受信されなかったエンコードデータを特定するためのロス情報を、前記受信装置から受信する受信部と、
該受信部により受信されたロス情報で特定されるエンコードデータを、前記バッファから読み出し、再送データとして生成すると共に、該再送データの量を算出する再送データ生成部と、
該再送データ生成部により算出された再送データ量に基づいて、エンコードレートを算出し、該エンコードレートが増加しているか否かを判定し、該判定結果に基づいて、目標レートを算出する判定部と、
前記エンコーダにより出力されたエンコードデータの量を算出するエンコードデータ量算出部と、
前記エンコードデータ量算出部により算出されたエンコードデータ量、前記再送データ生成部により算出された再送データ量、及び、前記判定部により算出された目標レートに基づいて、加算データを生成する加算データ生成部と、
前記エンコーダにより出力されたエンコードデータ、前記再送データ生成部により生成された再送データ、及び、前記加算データ生成部により生成された加算データを、前記目標レートで受信装置へ送信する送信部と、を備えたことを特徴とする送信装置。
【請求項２】
請求項１に記載の送信装置において、
前記判定部は、目標レートを上げた場合に、該目標レートと、該目標レートを上げた後の再送データ量とに基づいてエンコードレートを算出し、該エンコードレートが増加していると判定したときに、目標レートを更に上げるようにしたことを特徴とする送信装置。
【請求項３】
請求項１に記載の送信装置において、
前記判定部は、目標レートを上げた場合に、該目標レートと、該目標レートを上げた後の再送データ量とに基づいてエンコードレートを算出し、該エンコードレートが増加していないと判定したときに、目標レートを下げるようにしたことを特徴とする送信装置。
【請求項４】
請求項１に記載の送信装置において、
前記判定部は、目標レートを下げた場合に、該目標レートと、該目標レートを下げた後の再送データ量とに基づいてエンコードレートを算出し、該エンコードレートが増加していると判定したときに、目標レートを更に下げるようにしたことを特徴とする送信装置。
【請求項５】
請求項１に記載の送信装置において、
前記判定部は、目標レートを下げた場合に、該目標レートと、該目標レートを下げた後の再送データ量とに基づいてエンコードレートを算出し、該エンコードレートが増加していないと判定したときに、目標レートを上げるようにしたことを特徴とする送信装置。
【請求項６】
請求項１から５までのいずれか一項に記載の送信装置において、
前記加算データ生成部は、エンコードデータ量、再送データ量及び加算データ量の合計が目標レートになるように、加算データを生成することを特徴とする送信装置。
【請求項７】
エンコーダによって所定のエンコードレートで圧縮したエンコードデータを、通信網を介して受信装置へ送信する送信装置による送信プログラムであって、前記送信装置を構成するコンピュータに、
前記エンコーダによって出力したエンコードデータをバッファに蓄積する処理と、
前記受信装置により受信されなかったエンコードデータを特定するためのロス情報を、前記受信装置から受信する処理と、
前記受信したロス情報により特定されるエンコードデータを、前記バッファから読み出し、再送データとして生成すると共に、該再送データの量を算出する処理と、
前記算出した再送データ量に基づいて、エンコードレートを算出し、該エンコードレートが増加しているか否かを判定し、該判定結果に基づいて、目標レートを算出する処理と、
前記エンコーダによって出力したエンコードデータの量を算出する処理と、
前記算出したエンコードデータ量、再送データ量及び目標レートに基づいて、加算データを生成する処理と、
前記エンコーダによって出力したエンコードデータ、前記算出した再送データ及び加算データを、前記目標レートで受信装置へ送信する処理と、を実行させる送信プログラム。
【請求項８】
送信装置により通信網を介して送信されたエンコードデータを受信する受信端末と、前記エンコードデータを復号して元のデータを出力するデコーダとを備えた受信装置において、
前記受信端末は、
請求項１から６までのいずれか一項に記載の送信装置により、通信網を介して送信されたエンコードデータ、再送データ及び加算データを受信する受信部と、
該受信部により受信されたエンコードデータ、再送データ及び加算データを分離する分離部と、
該分離部により分離されたエンコードデータ及び再送データに基づいて、前記送信装置により送信されたエンコードデータ及び再送データのうち、前記受信部が受信していないエンコードデータ及び再送データを検出し、これらのデータを特定するためのロス情報を生成するロス検出部と、を備え、
前記分離部により分離されたエンコードデータ及び再送データを、前記デコーダに復号させることを特徴とする受信装置。
【請求項９】
請求項８に記載の受信装置において、
前記ロス情報検出部は、エンコードデータ及び再送データに付加されたシーケンス番号に基づいて、前記送信装置により送信されたエンコードデータ及び再送データのうち、前記受信部が受信していないエンコードデータ及び再送データを検出し、これらのデータに付加されたシーケンス番号をロス情報として生成することを特徴とする受信装置。
【請求項１０】
送信装置により通信網を介して送信されたエンコードデータを受信し、デコーダによって前記エンコードデータを元のデータに復号する受信装置による受信プログラムであって、前記受信装置を構成するコンピュータに、
請求項７に記載の送信プログラムを実行する送信装置により、通信網を介して送信されたエンコードデータ、再送データ及び加算データを受信する処理と、
前記受信したエンコードデータ、再送データ及び加算データを分離する処理と、
前記分離したエンコードデータ及び再送データに基づいて、前記送信装置により送信されたエンコードデータ及び再送データのうち、受信していないエンコードデータ及び再送データを検出し、これらのデータを特定するためのロス情報を生成する処理と、
前記分離したエンコードデータ及び再送データを、前記デコーダによって復号する処理と、を実行させる受信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、伝送可能な帯域が時間によって変動する通信網において、データ伝送を行いながら伝送可能帯域を算出し、伝送するデータ量を調整する技術に関する。
【背景技術】
【０００２】
従来、ベストエフォートな通信網（例えば、インターネット）を用いた伝送システムが広く普及している。このような通信網によるデータ伝送の通信手順として、受信応答を確認する機構及び輻輳制御を行う機構を備えたＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）が広く利用されている。
【０００３】
ＴＣＰによる通信手順を利用することにより、データ伝送の信頼性及び利用帯域の公平性を保つことができる。しかし、この手順では、データ伝送に要する時間が考慮されていないことから、映像及び音声等のストリーミング型データを送信するリアルタイム伝送には適していない。
【０００４】
インターネットの通信網におけるリアルタイム伝送は、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）による通信手順を利用することにより、この手順で定義されるパケットデータを伝送することにより実現することが可能である。また、映像及び音声等のデータ伝送を行うことを前提に、ＲＴＰ（Ｒｅａｌ  Ｔｉｍｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）による通信手順が知られており、広く利用されている。
【０００５】
しかし、ＵＤＰ及びＲＴＰでは、一般的に必要となるデータの型を定義しているのみで、欠落（ロス）したデータを回復させる機構、及び送信データの流量制御の機構については、ユーザが個別に対応しなければならない。
【０００６】
通信網において欠落したデータを回復させる機構としては、ＡＲＱ（Ａｕｔｏｍａｔｉｃ  Ｒｅｐｅａｔ  Ｒｅｑｕｅｓｔ）と呼ばれるデータ再送機構や、誤り訂正能力をもったパケットを予め送信するＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）と呼ばれる機構等が利用されている。また、輻輳制御については通信網の状態に応じた送信レートを算出するためにＴＦＲＣ（ＴＣＰ  Ｆｒｉｅｎｄｌｙ  Ｒａｔｅ  Ｃｏｎｔｒｏｌ）による通信方式が提案されている。
【０００７】
ＴＦＲＣによる通信方式は、通信網の往復時間長、パケットのロス率、パケットのサイズからＴＣＰで伝送を行った場合と同程度の伝送レートを算出するものであり、通信網の状態に応じて妥当な伝送可能帯域を算出することができる。
【０００８】
ところで、通信網を利用して伝送するデータの種類、性質を考えた場合、そのデータは次の２つに区分することができる。第１のデータは、伝送を行うにあたり送信すべき全データ量が予め決まっており、データ送信の時間間隔を考慮する必要のないデータである。例えば、文字データが該当する。第２のデータは、伝送を行うにあたり送信すべき全データ量が予め決まっておらず、データ送信の時間間隔を考慮する必要のあるデータ、すなわちリアルタイムで伝送する必要のあるデータである。例えば、映像及び音声等のデータが該当する。
【０００９】
前述した第１のデータを伝送するシステムでは、輻輳の状態に応じながら流量を調整して、一時的にデータの送信を停止することにより、データの消失を回避しながら、他の通信との公平性を保つことができ、輻輳状態の悪化を防ぐことができる。
【００１０】
これに対し、前述した第２のデータを伝送するシステムでは、そのデータ量は圧縮技術により調整できるが、圧縮の度合いを高めるほど映像音声の品質は劣化するため、なるべく高いエンコードレート（圧縮率）で伝送することが求められる。また、途切れることなくデータを伝送し続ける必要があり、一時的にデータの送信を停止することができない。その時々で変化する通信網の状態に応じて、その時点で伝送可能帯域を正確に算出し、その帯域内に収まるように映像及び音声等のデータの圧縮率を調整することにより、通信網の状態に応じた、最も品質の高い映像及び音声等のデータの伝送が可能となる。
【００１１】
通信網の状態に応じて、高い品質の映像及び音声等のデータを誤りなく所用時間内に伝送するためには、伝送可能帯域を算出し、その帯域に収まるように、映像及び音声等のデータを圧縮するレート制御手法が用いられる。
【００１２】
ＴＣＰによるレート制御手法は、受信装置の受付可能データ量を示すウィンドウサイズを調節することにより行われる。具体的には、データ損失等のロスが発生した場合、ウィンドウサイズを大幅に狭める、すなわち受信可能データ量を少なくすることにより、送信データ量を減らして輻輳を回避する。このレート制御手法によれば、ウィンドウサイズの調整は時々の通信網の状態に応じて行われるが、サイズ調整の幅が大きいため、多数のユーザが公平に通信帯域を利用できるが、通信網の帯域を最大限に利用することはできない。また、映像及び音声等のデータのようなリアルタイム性のあるデータに対して、常に一定の帯域利用を保証することもできない。
【００１３】
また、ＴＦＲＣによるレート制御手法は、通信網においてＴＣＰ手順により伝送を行った場合の使用帯域を推定し、送信データ量を制御することにより行われる。このレート制御手法によれば、ＴＣＰによってデータを伝送している他のユーザとの間で公平性を保つことはできるが、通信網の利用可能帯域の最大値を算出することはできず、また、リアルタイム性のあるデータ、例えばストリームデータのための帯域利用を保証することもできない。
【００１４】
一方、一般的なＴＣＰの手順を用いることなく、ストリームデータの送信量を上昇させながら、ロスの増大を検出すると共に、連続したロスの発生を検出することにより、データの送信量の上限を求める手法がある（例えば、特許文献１を参照）。
【００１５】
【特許文献１】特開２００５−２６９２３６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかし、複数端末によりトラフィックが集合して構成されたインターネットのような通信網においては、ロスの発生量及びロスの連続量は絶えず変化する。このため、ある一定のロスの発生量を閾値として、送信するデータ量を変化させた場合、そのときのデータ送信量が、必ずしも送信可能な最大量となるわけではない。
【００１７】
同様に、ロスの発生量が増えた場合であっても、再送または誤り訂正等の手法を用いてロスが回復可能である限り、送信するデータ量を増やすことにより、高いエンコードレートのデータを送ることができる場合がある。これにより、高い品質の映像音声データを伝送することができる。
【００１８】
前述した特許文献１において、例えば、ロスが発生する頻度の変化、及びロスが連続して発生したときのデータ量等を、ある一定の閾値で検出し、その値によってエンコードレートを変化させた場合、そのエンコードレートは通信網の状態によって変化するが、その時点で送信可能なデータ量は最大値を示すものではない。通信網は、ルータによる帯域制限を受けていたり、故障していたり、その他の要因により発生する輻輳状態によって変化するものである。つまり、通信網における伝送可能帯域は、その通信網の状態変化に応じて変化するものである。
【００１９】
そこで、これらの問題を鑑み、本発明の目的は、通信網における輻輳状態等の変化に応じて、伝送可能な帯域を正確に算出し、一層高い品質で、映像または音声等のデータを伝送可能な送信装置、送信プログラム、受信装置及び受信プログラムを提供することにある。
【課題を解決するための手段】
【００２０】
前記目的を達成するために、請求項１の発明は、伝送すべきデータを所定のエンコードレートで圧縮し、エンコードデータを出力するエンコーダと、前記エンコードデータを、通信網を介して受信装置へ送信する送信端末とを備えた送信装置において、前記送信端末が、前記エンコーダにより出力されたエンコードデータを蓄積するバッファと、前記受信装置により受信されなかったエンコードデータを特定するためのロス情報を、前記受信装置から受信する受信部と、該受信部により受信されたロス情報で特定されるエンコードデータを、前記バッファから読み出し、再送データとして生成すると共に、該再送データの量を算出する再送データ生成部と、該再送データ生成部により算出された再送データ量に基づいて、エンコードレートを算出し、該エンコードレートが増加しているか否かを判定し、該判定結果に基づいて、目標レートを算出する判定部と、前記エンコーダにより出力されたエンコードデータの量を算出するエンコードデータ量算出部と、前記エンコードデータ量算出部により算出されたエンコードデータ量、前記再送データ生成部により算出された再送データ量、及び、前記判定部により算出された目標レートに基づいて、加算データを生成する加算データ生成部と、前記エンコーダにより出力されたエンコードデータ、前記再送データ生成部により生成された再送データ、及び、前記加算データ生成部により生成された加算データを、前記目標レートで受信装置へ送信する送信部と、を備えたことを特徴とする。
【００２１】
また、請求項２の発明は、請求項１に記載の送信装置において、前記判定部が、目標レートを上げた場合に、該目標レートと、該目標レートを上げた後の再送データ量とに基づいてエンコードレートを算出し、該エンコードレートが増加していると判定したときに、目標レートを更に上げるようにしたことを特徴とする。
【００２２】
また、請求項３の発明は、請求項１に記載の送信装置において、前記判定部が、目標レートを上げた場合に、該目標レートと、該目標レートを上げた後の再送データ量とに基づいてエンコードレートを算出し、該エンコードレートが増加していないと判定したときに、目標レートを下げるようにしたことを特徴とする。
【００２３】
また、請求項４の発明は、請求項１に記載の送信装置において、前記判定部が、目標レートを下げた場合に、該目標レートと、該目標レートを下げた後の再送データ量とに基づいてエンコードレートを算出し、該エンコードレートが増加していると判定したときに、目標レートを更に下げるようにしたことを特徴とする。
【００２４】
また、請求項５の発明は、請求項１に記載の送信装置において、前記判定部が、目標レートを下げた場合に、該目標レートと、該目標レートを下げた後の再送データ量とに基づいてエンコードレートを算出し、該エンコードレートが増加していないと判定したときに、目標レートを上げるようにしたことを特徴とする。
【００２５】
また、請求項６の発明は、請求項１から５までのいずれか一項に記載の送信装置において、前記加算データ生成部が、エンコードデータ量、再送データ量及び加算データ量の合計が目標レートになるように、加算データを生成することを特徴とする。
【００２６】
また、請求項７の発明は、エンコーダによって所定のエンコードレートで圧縮したエンコードデータを、通信網を介して受信装置へ送信する送信装置による送信プログラムであって、前記送信装置を構成するコンピュータに、前記エンコーダによって出力したエンコードデータをバッファに蓄積する処理と、前記受信装置により受信されなかったエンコードデータを特定するためのロス情報を、前記受信装置から受信する処理と、前記受信したロス情報により特定されるエンコードデータを、前記バッファから読み出し、再送データとして生成すると共に、該再送データの量を算出する処理と、前記算出した再送データ量に基づいて、エンコードレートを算出し、該エンコードレートが増加しているか否かを判定し、該判定結果に基づいて、目標レートを算出する処理と、前記エンコーダによって出力したエンコードデータの量を算出する処理と、前記算出したエンコードデータ量、再送データ量及び目標レートに基づいて、加算データを生成する処理と、前記エンコーダによって出力したエンコードデータ、前記算出した再送データ及び加算データを、前記目標レートで受信装置へ送信する処理と、を実行させることを特徴とする。
【００２７】
また、請求項８の発明は、送信装置により通信網を介して送信されたエンコードデータを受信する受信端末と、前記エンコードデータを復号して元のデータを出力するデコーダとを備えた受信装置において、前記受信端末が、請求項１から６までのいずれか一項に記載の送信装置により、通信網を介して送信されたエンコードデータ、再送データ及び加算データを受信する受信部と、該受信部により受信されたエンコードデータ、再送データ及び加算データを分離する分離部と、該分離部により分離されたエンコードデータ及び再送データに基づいて、前記送信装置により送信されたエンコードデータ及び再送データのうち、前記受信部が受信していないエンコードデータ及び再送データを検出し、これらのデータを特定するためのロス情報を生成するロス検出部と、を備え、前記分離部により分離されたエンコードデータ及び再送データを、前記デコーダに復号させることを特徴とする。
【００２８】
また、請求項９の発明は、請求項８に記載の受信装置において、前記ロス情報検出部は、エンコードデータ及び再送データに付加されたシーケンス番号に基づいて、前記送信装置により送信されたエンコードデータ及び再送データのうち、前記受信部が受信していないエンコードデータ及び再送データを検出し、これらのデータに付加されたシーケンス番号をロス情報として生成することを特徴とする。
【００２９】
また、請求項１０の発明は、送信装置により通信網を介して送信されたエンコードデータを受信し、デコーダによって前記エンコードデータを元のデータに復号する受信装置による受信プログラムであって、前記受信装置を構成するコンピュータに、請求項７に記載の送信プログラムを実行する送信装置により、通信網を介して送信されたエンコードデータ、再送データ及び加算データを受信する処理と、前記受信したエンコードデータ、再送データ及び加算データを分離する処理と、前記分離したエンコードデータ及び再送データに基づいて、前記送信装置により送信されたエンコードデータ及び再送データのうち、受信していないエンコードデータ及び再送データを検出し、これらのデータを特定するためのロス情報を生成する処理と、前記分離したエンコードデータ及び再送データを、前記デコーダによって復号する処理と、を実行させることを特徴とする。
【発明の効果】
【００３０】
以上のように、本発明によれば、送信装置が、受信装置において受信されなかったデータを示すロス情報から再送データを生成し、再送データからエンコードレートを算出し、エンコードレートの増減結果から目標レートを算出し、その目標レートになるように、エンコードデータ、再送データ及び加算データを受信装置へ送信するようにした。これにより、エンコードレート及び目標レートは、通信網における輻輳状態等の変化に応じた値になり、伝送可能な帯域を正確に算出することができる。したがって、一層高い品質で、映像または音声等のデータを伝送することが可能となる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明を実施するための最良の形態について図面を用いて詳細に説明する。
〔伝送システム〕
まず、伝送システムについて説明する。図１は、本発明の実施形態による送信装置及び受信装置を含む伝送システムの構成を示す全体図である。この伝送システム１は、送信装置２、受信装置３及び通信網４により構成され、送信装置２及び受信装置３は、通信網４を介して接続され、データの送受信を行う。
【００３２】
送信装置２は、映像音声データの圧縮（エンコード、符号化）を行い、通信網４を介して受信装置３へ送信する。映像音声データを圧縮するのは、通信網４を効率よく利用するためである。通信網４においてデータのロスが発生した場合、送信装置２は、再送データを生成して再送を行う。ここで、通信網４が例えばインターネットのようなベストエフォートなネットワークである場合、その時々の状態に応じてロスの頻度は変化し、一定期間に送信可能なデータ量は変動する。
【００３３】
受信装置３は、送信装置２により通信網４を介して送信されたデータを受信し、復号（デコード）を行う。また、受信したデータが欠落している場合、すなわち欠落したデータ（ロスデータ）が存在する場合、データの再送を要求するためのロス情報を送信装置２へ送信する。例えば、ＲＴＰを用いてデータの送受信が行われる場合、ロス情報は、ロスデータの箇所を示すシーケンス番号である。
【００３４】
〔送信装置〕
送信装置２は、エンコーダ５及び送信端末６を備えている。エンコーダ５は、送信端末６からエンコードレートを入力し、そのエンコードレートに従って映像音声データの圧縮を行い、エンコードデータを出力する。エンコーダ５は、高いエンコードレートで圧縮処理を行うほど、元の映像音声データに近い品質のエンコードデータを出力することができるが、そのエンコードデータ量は増加してしまう。一方、低いエンコードレートで圧縮処理を行うほど、元の映像音声データに比較して劣化した品質のエンコードデータを出力することになるが、そのエンコードデータ量は減少する。
【００３５】
送信端末６は、エンコーダ５からエンコードデータを入力し、通信網４を介して受信装置３へ送信する。また、送信端末６は、受信装置３からロス情報を受信し、そのロス情報に従って再送データを生成して再送信する。さらに、送信端末６は、送信データ量の合計が、後述する手順によって算出される目標レートとなるように、エンコードデータ及び再送データに加えて、加算データを生成して送信する。加算データは、送信データ量の調整を目的とするもので、データの内容はどのようなものでも構わない。
【００３６】
また、送信端末６は、例えばＲＴＰにより規定された手順を用いることにより、シーケンス番号をエンコードデータに付加する。これにより、受信装置３は、エンコードデータに付加されたシーケンス番号から、エンコードデータを一意に識別することができ、ロスデータを特定することができる。さらに、送信端末６は、後述する手順に従ってエンコードレートを算出し、エンコーダ５を制御する。
【００３７】
〔受信装置〕
受信装置３は、受信端末７及びデコーダ８を備えている。受信端末７は、送信装置２の送信端末６からエンコードデータ、再送データ及び加算データを受信し、再送データによってエンコードデータのロスを修復し、エンコードデータとしてデコーダ８に出力すると共に、受信したエンコードデータ及び再送データからロスデータを特定し、ロスデータの箇所を示すロス情報を生成して送信装置２へ送信する。受信装置３は、例えばＲＴＣＰ（ＲＴＰ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）により規定された手順を用いることにより、ＲＴＰと整合性を保ちながら、ロス情報を送信装置２へ送信することができる。
【００３８】
デコーダ８は、受信端末７からエンコードデータを入力し、エンコードデータを復号して元の映像音声データを生成し、出力する。
【００３９】
〔送信端末〕
次に、送信装置２に備えた送信端末６について詳細に説明する。図２は、図１に示した送信端末６の構成を示すブロック図である。この送信端末６は、ヘッダ生成部６１、バッファ６２、エンコードデータ量算出部６３、再送データ生成部６４、加算データ生成部６５、加算データヘッダ生成部６６、送信部６７、受信部６８及び判定部６９を備えている。
【００４０】
ヘッダ生成部６１は、エンコーダ５からエンコードデータを入力し、エンコードデータにヘッダを付加し、ヘッダが付加されたエンコードデータを送信部６７に出力する。ヘッダは、受信装置３の受信端末７において、エンコードデータと後述する再送データ及び加算データとを識別するために用いられる。
【００４１】
バッファ６２は、エンコーダ５からエンコードデータを入力し、一定量のエンコードデータを蓄積する。バッファ６２に蓄積される一定量のエンコードデータは、再送データ生成部６４に読み出され、エンコードデータの再送のために用いられる。したがって、バッファ６２には、送信端末６がエンコードデータを送信し、受信装置３からロス情報を受信して再送データを生成するまでの時間に相当する量のエンコードデータが蓄積される。
【００４２】
エンコードデータ量算出部６３は、エンコーダ５からエンコードデータを入力し、エンコードデータ量を算出し、そのエンコードデータ量を加算データ生成部６５に出力する。
【００４３】
受信部６８は、受信端末７からロス情報を受信し、そのロス情報を再送データ生成部６４及び判定部６９に出力する。
【００４４】
再送データ生成部６４は、受信部６８からロス情報を入力し、そのロス情報を、再送すべきエンコードデータの情報を特定するために用い、ロス情報に従ってバッファ６２からエンコードデータを読み出し、再送データを生成する。例えば、エンコードデータにはシーケンス番号が付加されており、ロス情報は、そのシーケンス番号を含む情報とする。つまり、再送データ生成部６４は、入力したロス情報が示すシーケンス番号をキーとして、バッファ６２から、そのシーケンス番号が付加されているエンコードデータを読み出し、再送データを生成する。そして、再送データ生成部６４は、再送データにヘッダを付加し、ヘッダが付加された再送データを送信部６７に出力する。ヘッダは、再送データとエンコードデータ及び後述する加算データとを識別するために用いられる。また、再送データ生成部６４は、生成した再送データから再送データ量を算出し、加算データ生成部６５及び判定部６９に出力する。
【００４５】
判定部６９は、受信部６８からロス情報を、再送データ生成部６４から再送データ量をそれぞれ入力し、後述する手順に従って目標レート及びエンコードレートを算出する。そして、目標レートを加算データ生成部６５に出力し、エンコードレートをエンコーダ５に出力する。これにより、エンコーダ５は、判定部６９が出力するエンコードレートにより制御される。
【００４６】
加算データ生成部６５は、エンコードデータ量算出部６３からエンコードデータ量を、再送データ生成部６４から再送データ量を、判定部６９から目標レートをそれぞれ入力し、以下の式を満たすように、加算データ量を算出して加算データを生成する。
目標レート＝エンコードデータ量＋再送データ量＋加算データ量
そして、その加算データを加算データヘッダ生成部６６に出力する。尚、加算データは、エンコードデータ等を目標レートで送信するために加算されるデータであるから、前述のとおり、ダミーデータ等のそれ自体に意味を持たないデータを用いてもよい。
【００４７】
加算データヘッダ生成部６６は、加算データ生成部６５から加算データを入力し、加算データにヘッダを付加し、ヘッダが付加された加算データを送信部６７に出力する。ヘッダは、加算データとエンコードデータ及び再送データとを識別するために用いられる。
【００４８】
送信部６７は、ヘッダ生成部６１からヘッダが付加されたエンコードデータを、再送データ生成部６４からヘッダが付加された再送データを、加算データヘッダ生成部６６からヘッダが付加された加算データをそれぞれ入力し、これらのデータを、通信網４を介して受信装置３へ送信する。
【００４９】
〔受信端末〕
次に、受信装置３に備えた受信端末７について詳細に説明する。図３は、図１に示した受信端末７の構成を示すブロック図である。この受信端末７は、受信部７１、加算データ分離部７２、バッファ７３、ヘッダ除去部７４、ロス検出部７５及び送信部７６を備えている。
【００５０】
受信部７１は、送信端末６から通信網４を介してエンコードデータ、再送データ及び加算データを受信する。加算データ分離部７２は、受信部７１からこれらのデータを入力し、エンコードデータ、再送データ及び加算データにそれぞれ分離する。加算データ分離部７２は、分離したエンコードデータ及び再送データをバッファ７３に蓄積する。
【００５１】
バッファ７３は、加算データ分離部７２からエンコードデータ及び再送データを入力し、一定量のエンコードデータ及び再送データを蓄積する。バッファ７３に蓄積される一定量のエンコードデータ及び再送データは、ヘッダ除去部７４に読み出され、ロスのないエンコードデータの出力のために用いられる。したがって、バッファ７３は、ロスのあるエンコードデータを入力してから、加算データ分離部７２からそのロスのあった再送データを入力するまでの間、入力したエンコードデータを一時的に蓄積する。この場合、ロスのあった再送データがバッファ７３に蓄積されることにより、そのロスは回復したことになる。そして、バッファ７３は、エンコードデータを入力してから所定時間が経過した後に、エンコードデータ及び再送データをヘッダ除去部７４に出力する。または、ヘッダ除去部７４は、前記所定時間が経過した後に、エンコードデータ及び再送データをバッファ７３から読み出す。この場合、ヘッダ除去部７４は、所定時間をカウントするために、バッファ７３がエンコードデータを入力したタイミングに関する情報を、予め入力しておくものとする。
【００５２】
ヘッダ除去部７４は、エンコードデータ及び再送データをバッファ７３から読み出し、エンコードデータ及び再送データに付加されたヘッダを除去し、元のエンコードデータに戻してデコーダ８に出力する。
【００５３】
ロス検出部７５は、加算データ分離部７２からエンコードデータ及び再送データを入力し、未だ受信していないデータ、すなわちロスデータを検出して特定し、そのロスデータを特定するために必要なロス情報（例えば、ＲＴＰによりエンコードデータが送信される場合、ロス情報の内容は未受信データ（ロスデータ）のシーケンス番号となる。）を生成し、送信部７６に出力する。例えば、ロス検出部７５は、エンコードデータ及び再送データに付加されたシーケンス番号を昇順または降順に並べ、そのシーケンス番号に抜けがあるか否かを判定し、抜けがあると判定した場合に、ロスデータを検出したとして、その抜けているシーケンス番号を含むロス情報を生成する。
【００５４】
送信部７６は、ロス検出部７５からロス情報を入力し、通信網４を介して送信装置２へ送信する。ここで、ロス情報とは、通信網４内でロスしたエンコートデータ及び再送データそれ自体であってもよいし、ロスの割合、ロス数、ロスデータの位置等の情報であってもよい。
【００５５】
〔判定部〕
次に、送信装置２に備えた送信端末６における判定部６９の処理について詳細に説明する。判定部６９は、図２に示したように、受信部６８からロス情報を、再送データ生成部６４から再送データ量をそれぞれ入力し、ロス情報に基づいて目標レート及びエンコードレートを算出し、目標レートを加算データ生成部６５に出力し、エンコードレートをエンコーダ５に出力する。具体的には、ロス情報から再送データ量を算出し、前回（のサンプリングにて）算出した目標レートから再送データ量を減算してエンコードレートを算出する。そして、算出したエンコードレートを、図示しない記憶部に記憶する。そして、今回算出したエンコードレートと、記憶部から読み出した前回算出したエンコードレートと比較し、その比較結果に応じて、予め設定された量だけ目標レートを上下させる。詳細については後述する。
【００５６】
ここで、目標レートは、送信端末６から送信される全てのデータ量（全出力データ量）を決めるものであり、現在の通信網４の状態に応じて、常にエンコードレートが増加するように設定される。詳細については後述する。送信端末６は、送信する全てのデータ量が目標レートとなるように、エンコードデータ及び再送データに加えて加算データを送信する。この場合、エンコードデータと再送データの合計が目標レートを上回っているときは、加算データは送信されず、エンコードデータと再送データの合計が送信端末６の全出力データ量となる。エンコードレートは、目標レートから、ロス情報によって算出される再送データ量を引いた値であり、この値によりエンコーダ５が制御される。
【００５７】
〔送信端末の処理〕
次に、送信端末６の処理について説明する。送信端末６は、後述するように、モード１及びモード２の処理を行う。まず、モードについて説明する。このモードは、送信端末６の処理を示すものであり、通信網４におけるロスの発生状況に応じて、モード１及びモード２に区別される。モード１は、目標レートを上げることでエンコードレートが増加する状態の処理をいい、モード２は、目標レートを下げることでエンコードレートが増加する状態の処理をいう。
【００５８】
まず、モード１における送信端末６の処理について説明する。送信端末６は、目標レートを上げる場合、全出力データ量が目標レートとなるように、エンコードデータ及び再送データに加えて加算データも送信する。そして、送信端末６は、ロス情報を受信端末７から受信することにより、再送データ生成部６４にて、目標レートで送信した場合の再送データ量を算出することができる。判定部６９は、現在の目標レートから再送データ量を引いた値をエンコードレートとすることにより、エンコードデータのロスを再送データによって回復することができる。
【００５９】
ここで、目標レートを上げたことに伴いロスが増加し、目標レートを上げた以上に再送データ量が増えた場合、エンコードレートは、現在の目標レートから再送データ量を引いて算出される値だから、前回のエンコードレートと比較して減少する。この場合、送信端末６は、モード２の処理に移行し、目標レートを下げる。一方、目標レートを上げたことに伴いロスが増加し、目標レートを上げた以上に再送データ量が増えなかった場合、エンコードレートは、前回のエンコードレートと比較して増加する。この場合、送信端末６は、モード１の処理を繰り返し、目標レートを上げる。
【００６０】
次に、モード２における送信端末６の処理について説明する。例えば、通信網４において帯域制限がある場合に、送信端末６が、この帯域制限値を超えて目標レートを設定し、この目標レートに相当する全出力データ量のエンコードデータ等を送信したとすると、帯域制限を超えて送信されたデータは全てロスとなり、全出力データ量における再送データの割合は増加する。そして、エンコードレートは減少するが、エンコードレートが減少した結果エンコードデータが減少し、その結果、ロス情報によって算出される再送データ量は減少する。
【００６１】
ここで、目標レートを下げたことに伴いロスが減少し、目標レートを下げた以上に再送データ量が減少した場合、エンコードレートは、前回のエンコードレートと比較して増加する。この場合、送信端末６は、再び目標レートを下げる。一方、目標レートを下げたことに伴いロスが減少し、目標レートを下げた以上に再送データ量が減少しなかった場合、エンコードレートは、前回のエンコードレートと比較して減少する。この場合、送信端末６は、モード１の処理に移行し、目標レートを上げる。
【００６２】
次に、前述したモード１及びモード２における送信端末６の処理の詳細について、図４及び図５を用いて説明する。図４は、モード１及びモード２における送信端末６の処理を示すフローチャートである。図５は、送信端末６により送信されるデータの構成を示す図である。図４において、処理開始時の送信データ（送信端末６により送信される全てのデータ）の構成を、図５の（４０１）とする。モード１の処理が、ステップＳ１〜ステップＳ４であり、モード２の処理が、ステップＳ５〜ステップＳ８である。
【００６３】
ステップＳ１において、送信端末６は、判定部６９にて目標レートを上げ、加算データ生成部６５にて目標データに基づいて所定量の加算データを生成し、送信部６７にてエンコードデータ、再送データ及び加算データを送信する。その際の送信データの構成は（４０２）となる。
【００６４】
ステップＳ２において、送信端末６は、受信部６８にてロス情報を受信し、再送データ生成部６４にてロス情報から再送データ量を算出する。ステップＳ３において、送信端末６は、判定部６９にて現在の目標レートから再送データ量を引いてエンコードレートを算出し、エンコーダ５に出力してエンコーダ５を制御する。ステップＳ３にて算出されたエンコードレートが前回のエンコードレートよりも増加している場合、その送信データの構成は（４０３）となる。
【００６５】
ステップＳ４において、送信端末６は、判定部６９にて、ステップＳ３で算出されたエンコードレートが前回のエンコードレートよりも増加しているか否かを判定する。ここでは、今回のエンコードレートが前回のエンコードレートよりも増加していると判定するので（ステップＳ４、Ｙｅｓ）、処理はステップＳ１へ移行し、目標レートを上げる。その際の送信データの構成は（４０４）となる。
【００６６】
そして、送信端末６は、ステップＳ２を経てステップＳ３において、エンコードレートを算出し、エンコーダ５を制御する。ステップＳ３にて算出されたエンコードレートが前回のエンコードレートよりも減少している場合、その送信データの構成は（４０５）となる。
【００６７】
ステップ４において、送信端末６は、判定部６９にて、ステップＳ３で算出されたエンコードレートが前回のエンコードレートよりも増加しているか否かを判定する。ここでは、今回のエンコードレートが前回のエンコードレートよりも増加していないと判定するので（ステップＳ４、Ｎｏ）、処理はステップＳ５へ移行し、目標レートを下げる。この場合、エンコードレートは、ステップ３において減少しており、受信端末７から要求される再送データ量も減少することが予想される。目標レートを下げることにより、再送データ量が減少すれば、エンコードレートは増加することになる。
【００６８】
ステップ５において、送信端末６は、判定部６９にて目標レートを下げ、加算データ生成部６５にて目標データに基づいて所定量の加算データを生成し、送信部６７にてエンコードデータ及び再送データを送信する。その際の送信データの構成は（４０６）となる。
【００６９】
ステップＳ６において、送信端末６は、受信部６８にてロス情報を受信し、再送データ生成部６４にてロス情報から再送データ量を算出する。ステップＳ７において、送信端末６は、判定部６９にて現在の目標レートから再送データ量を引いてエンコードレートを算出し、エンコーダ５に出力してエンコーダ５を制御する。ステップＳ７にて算出されたエンコードレートが前回のエンコードレートよりも増加している場合、その送信データの構成は（４０７）となる。
【００７０】
ステップＳ８において、送信端末６は、判定部６９にて、ステップＳ７で算出されたエンコードレートが前回のエンコードレートよりも増加しているか否かを判定する。ここでは、今回のエンコードレートが前回のエンコードレートよりも増加していると判定するので（ステップＳ８、Ｙｅｓ）、処理はステップＳ５へ移行し、目標レートを下げる。その際の送信データの構成は（４０８）となる。
【００７１】
そして、送信端末６は、ステップＳ６を経てステップＳ７において、エンコードレートを算出し、エンコーダ５を制御する。ステップＳ７にて算出されたエンコードレートが前回のエンコードレートよりも減少している場合、その送信データの構成は（４０９）となる。
【００７２】
ステップ８において、送信端末６は、判定部６９にて、ステップＳ７で算出されたエンコードレートが前回のエンコードレートよりも増加しているか否かを判定する。ここでは、今回のエンコードレートが前回のエンコードレートよりも増加していないと判定するので（ステップＳ８、Ｎｏ）、処理はステップＳ１へ移行し、目標レートを上げる。その際の送信データの構成は（４１０）となる。このように、送信端末６は、目標レートを上下し、エンコードデータを増減することにより、前述した同様のステップを繰り返す。
【００７３】
〔シミュレーション結果〕
次に、図１に示した伝送システム１のシミュレーション結果について、図６及び図７を用いて説明する。このシミュレーションは、図１に示した伝送システム１の構成において、シミュレータを用いてロスを発生させたものである。図６及び図７において、縦軸はレート（Ｍｂｐｓ）及びロス率（％）を示し、横軸は時間（ｓｅｃ）を示している。（Ａ）は、送信装置２により送信されるデータの送信レート（目標レート）を示し、（Ｂ）は受信装置３により受信されるデータの受信レートを示し、（Ｃ）は送信装置２に備えた送信端末６の判定部６９が算出するエンコードレートを示し、（Ｄ）は送信装置２に備えたエンコーダ５により出力されるエンコードデータ（ＮＵＬＬパケット削除後のデータ）のレート（出力レート）を示し、（Ｅ）はシミュレータにより発生させた、データの１秒間におけるロス率を示す。
【００７４】
図６（１）は、ロス率を約１０％に固定した場合の変化を示しており、（Ａ）送信レート、（Ｂ）受信レート及び（Ｃ）エンコードレートが共に増加していることがわかる。このとき、送信端末６は、図４に示したモード１の処理を行っている。すなわち、目標レートを上げ、ロス率が一定の１０％を維持しており、それに伴ってエンコードレートを増加する処理を行っている。
【００７５】
図６（２）は、通信網４が３０Ｍｂｐｓで帯域制限されている状況を示しており、（Ａ）送信レート、（Ｂ）受信レート及び（Ｃ）エンコードレートが共に増加しておらず、増減を繰り返していることがわかる。このとき、送信端末６は、図４に示したモード１及びモード２の処理を繰り返している。すなわち、目標レートは増減しているため、エンコードレートも増減している。
【００７６】
尚、（Ｃ）エンコードレートと、（Ｄ）エンコーダ５により出力されるエンコードデータのレート（出力レート）とが対応していないのは、後者の出力レートが、エンコーダ５によりエンコードされる映像音声データの種類に応じて異なるからである。
【００７７】
図７（１）は、ロス率を約５％に固定した場合の変化を示しており、（Ａ）送信レートである目標レートが、設定した最大レートの約４０Ｍｂｐｓで安定していることがわかる。このとき、送信端末６は、図４に示したモード１及びモード２の処理を繰り返している。
【００７８】
図７（２）は、通信網４が約３０Ｍｂｐｓで帯域制限されている状況を示しており（（Ｂ）受信レートが約３０Ｍｂｐｓで安定している。）、（Ａ）送信レート、（Ｂ）受信レート及び（Ｃ）エンコードレートが共に（１）に比べて減少していることがわかる。このとき、ロス情報により再送データ量が増加しているため、エンコードレートが減少している。
【００７９】
図７（３）は、通信網４が３０Ｍｂｐｓで帯域制限された結果の状況を示しており、（Ａ）送信レートである目標レートが下がっていることがわかる。このとき、送信端末６は、図４に示したモード１の処理において、エンコードレートが減少したため、モード２の処理に移行して目標レートを下げている。この場合、目標レートが下がったことに伴い通信網４においてロスが減り、再送データ量は減少する。再送データ量が減少した分だけ、エンコードレートを上げていることになる。
【００８０】
図７（４）は、（３）と同様に、（Ａ）送信レートである目標レートが下がっていることがわかる。このとき、送信端末６は、図４に示したモード２の処理において、エンコードレートが増加した場合に目標レートを下げている通信網４が３０Ｍｂｐｓで帯域制限された結果の状況を示しており、（Ａ）送信レートである目標レートが下がっていることがわかる。このとき、送信端末６は、図４に示したモード１の処理において、エンコードレートが減少したため、モード２の処理に移行して目標レートを下げている。
【００８１】
尚、送信装置２及び受信装置３は、ＣＰＵ、ＲＡＭ等の揮発性の記憶媒体、ＲＯＭ等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによってそれぞれ構成される。送信装置２に備えた送信端末６のヘッダ生成部６１、バッファ６２、エンコードデータ量算出部６３、再送データ生成部６４、加算データ生成部６５、加算データヘッダ生成部６６、送信部６７、受信部６８及び判定部６９の各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。受信装置３に備えた受信端末７の受信部７１、加算データ分離部７２、バッファ７３、ヘッダ除去部７４、ロス検出部７５及び送信部７６の各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。これらのプログラムは、磁気ディスク（フロッピィーディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記憶媒体に格納して頒布することもできる。
【００８２】
以上のように、本発明の実施形態によれば、送信装置２に備えた送信端末６が、目標レートを上げることによりエンコードレートを増加させるモード１の処理と、目標レートを下げることによりエンコードレートを増加させるモード２の処理とを繰り返すことにより、エンコードレートが増加するように目標レートを決定することができる。したがって、送信端末６は、通信網４における輻輳状態等の変化に応じて、伝送可能な帯域を正確に算出し、映像音声データを送信することができる。
【００８３】
また、本発明の実施形態によれば、送信装置２に備えた送信端末６が、目標レートを上げた場合、加算データを加えて送信し、そして、受信したロス情報に基づいて必要となる再送データ量を算出し、エンコードデータ及び再送データが目標レートの範囲内に収まるようにエンコードレートを制御するようにした。これにより、常に再送データによってエンコードデータのロスを回復できる。つまり、送信端末６により算出されたエンコードレートは、再送データにより回復できることを前提とした最大のエンコードデータ量に対応したレートとなる。したがって、送信端末６は、輻輳状態等の変化のある通信網４において、一層高い品質で、映像音声データを送信することができる。
【００８４】
以上、実施形態を上げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。前記実施形態では、図１に示したように、伝送システム１は、１台の送信装置２、１台の受信装置３及び通信網４により構成されているが、本発明は、送信装置２及び受信装置３の台数を限定するものではない。また、前記実施形態では、伝送システム１において送受信されるデータを映像音声データとして説明したが、本発明は、映像音声データに限定するものではなく、他のデータであってもよい。
【００８５】
また、前記実施形態では、判定部６９が、ロス情報に基づいて目標レート及びエンコードレートを算出し、目標レートを加算データ生成部６５に出力し、エンコードレートをエンコーダ５に出力するようにしたが、予め設定された上限値を超える場合に、その上限値を目標レートとして加算データ生成部６５に出力するようにしてもよい。この場合、目標レートの最大値が制限されるから、通信網４に伝送されるデータ量が制限され、送信装置２による通信網４の専有を回避することができる。つまり、他の送信装置との間で、バランスよく通信網４を共用することが可能となる。
【図面の簡単な説明】
【００８６】
【図１】本発明の実施形態による送信装置及び受信装置を含む伝送システムの構成を示す全体図である。
【図２】本発明の実施形態による送信装置に備えた送信端末の構成を示すブロック図である。
【図３】本発明の実施形態による受信装置に備えた受信端末の構成を示すブロック図である。
【図４】送信端末の処理を示すフローチャートである。
【図５】送信装置により送信されるデータの構成を示す図である。
【図６】伝送システムのシミュレーション結果を示す図である。
【図７】伝送システムのシミュレーション結果を示す図である。
【符号の説明】
【００８７】
１  伝送システム
２  送信装置
３  受信装置
４  通信網
５  エンコーダ
６  送信端末
７  受信端末
８  デコーダ
６１  ヘッダ生成部
６２  バッファ
６３  エンコードデータ量算出部
６４  再送データ生成部
６５  加算データ生成部
６６  加算データヘッダ生成部
６７  送信部
６８  受信部
６９  判定部
７１  受信部
７２  加算データ分離部
７３  バッファ
７４  ヘッダ除去部
７５  ロス検出部
７６  送信部
【図１】
0004834013.tif 000002
【図２】
0004834013.tif 000003
【図３】
0004834013.tif 000004
【図４】
0004834013.tif 000005
【図５】
0004834013.tif 000006
【図６】
0004834013.tif 000007
【図７】
0004834013.tif 000008