(57)【要約】【課題】画像データを欠落させることなく、ネットワークを介して転送できるようにする。【解決手段】入力部８１より出力された画像データは、エンコーダ８２によりエンコードされた後、バッファ８３を介してＴＣＰ制御部８４に入力される。ＴＣＰ制御部８４は、入力されたデータをインターネットを介して受信装置に配信する。レート制御部８５は、バッファ８３の画像データの増加率を検出し、その増加率に基づいて、エンコーダ８２の送信レートを制御する。本発明は、画像データをライブ配信する送信装置に適用することができる。【選択図】      図５
2005005823.tif 000002
【特許請求の範囲】
【請求項１】
設定された固定の送信レートでデータをエンコードして出力するエンコード手段と、
前記エンコード手段によりエンコードされた前記データを一時的に保持する保持手段と、
前記保持手段に保持された前記データを、ネットワークの状態に応じて送信可能なスループットが変化するプロトコルで、前記ネットワークを介して相手側の装置に送信する送信手段と
を備え、前記エンコード手段によりエンコードされた前記データを、前記ネットワークを介して受信側の装置に送信する送信装置において、
前記保持手段に保持されている前記データの時間的な変化を検出する検出手段と、
前記検出手段により検出された前記時間的な変化に基づいて前記送信レートを制御する制御手段と
を備えることを特徴とする送信装置。
【請求項２】
前記検出手段は、前記データの時間的な変化として、前記データの時間的な変化を表す近似直線の傾きを演算する
ことを特徴とする請求項１に記載の送信装置。
【請求項３】
前記制御手段は、前記送信レートが前記傾きと一致する分だけ小さくなるように制御する
ことを特徴とする請求項２に記載の送信装置。
【請求項４】
前記制御手段は、前記傾きが基準値より小さい場合、前記送信レートを大きくし、前記傾きが前記基準値より大きい場合、前記送信レートを小さくする
ことを特徴とする請求項１に記載の送信装置。
【請求項５】
前記保持手段に保持された前記データのデータ量を第１の基準値と比較する比較手段をさらに備え、
前記制御手段は、前記保持手段に保持された前記データのデータ量が前記第１の基準値より小さい場合には前記送信レートの変更を禁止する
ことを特徴とする請求項１に記載の送信装置。
【請求項６】
前記比較手段は、前記保持手段に保持された前記データのデータ量を、前記第１の基準値より大きい第２の基準値とさらに比較し、
前記制御手段は、前記保持手段に保持された前記データのデータ量が前記第２の基準値より大きい場合、前記送信レートの値が、そのときの値の１／２になるように制御する
ことを特徴とする請求項５に記載の送信装置。
【請求項７】
前記検出手段により検出された前記時間的な変化を前記送信レートと比較する比較手段をさらに備え、
前記制御手段は、前記検出手段により検出された前記時間的な変化が前記送信レートより小さい場合、前記送信レートの値が、そのときの値の１／２になるように制御する
ことを特徴とする請求項１に記載の送信装置。
【請求項８】
設定された固定の送信レートでデータをエンコードして出力するエンコード手段と、
前記エンコード手段によりエンコードされた前記データを一時的に保持する保持手段と、
前記保持手段に保持された前記データを、ネットワークの状態に応じて送信可能なスループットが変化するプロトコルで、前記ネットワークを介して相手側の装置に送信する送信手段と
を備え、前記エンコード手段によりエンコードされた前記データを、前記ネットワークを介して受信側の装置に送信する送信装置の送信方法において、
前記保持手段に保持されている前記データの時間的な変化を検出する検出ステップと、
前記検出ステップの処理により検出された前記時間的な変化に基づいて前記送信レートを制御する制御ステップと
を含むことを特徴とする送信方法。
【請求項９】
設定された固定の送信レートでデータをエンコードして出力するエンコード手段と、
前記エンコード手段によりエンコードされた前記データを一時的に保持する保持手段と、
前記保持手段に保持された前記データを、ネットワークの状態に応じて送信可能なスループットが変化するプロトコルで、前記ネットワークを介して相手側の装置に送信する送信手段と
を備え、前記エンコード手段によりエンコードされた前記データを、前記ネットワークを介して受信側の装置に送信する送信装置のプログラムであって、
前記保持手段に保持されている前記データの時間的な変化を検出する検出ステップと、
前記検出ステップの処理により検出された前記時間的な変化に基づいて前記送信レートを制御する制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１０】
設定された固定の送信レートでデータをエンコードして出力するエンコード手段と、
前記エンコード手段によりエンコードされた前記データを一時的に保持する保持手段と、
前記保持手段に保持された前記データを、ネットワークの状態に応じて送信可能なスループットが変化するプロトコルで、前記ネットワークを介して相手側の装置に送信する送信手段と
を備え、前記エンコード手段によりエンコードされた前記データを、前記ネットワークを介して受信側の装置に送信する送信装置のプログラムであって、
前記保持手段に保持されている前記データの時間的な変化を検出する検出ステップと、
前記検出ステップの処理により検出された前記時間的な変化に基づいて前記送信レートを制御する制御ステップと
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、送信装置および方法、記録媒体、並びにプログラムに関し、特に、簡単かつ確実に、パケットロスを軽減することができるようにした送信装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
最近、インターネットが普及し、インターネットを介して各種のコンテンツを配信することが実用化されている。インターネットを介してコンテンツを提供する場合の問題について、各種の提案もなされている。例えば、特許文献１には、音楽データをダウンロードする際に、バッファの容量制限のために、複数回に分けてデータの転送を要求する場合、ストリーミング再生におけるバッファの使用状況に応じて、効率的にダウンロードを実施することが提案されている。
【０００３】
ところで、映像データを配信する場合、映像データをＲＴＰ（Ｒｅａｌ  Ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）のパケットにパケット化して、それをＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）上で送信するという方法が多く用いられている。
【０００４】
しかしながら、ＵＤＰが用いられる場合、図１に示されるように、送信装置１と受信装置２との間にファイアウォール３が存在すると、多くの場合、ファイアウォール３は、ＵＤＰパケットを通さないように構成されているため、ＲＴＰ／ＵＤＰでの映像配信を行うことができない。
【０００５】
そこで、ファイアウォール３の外部の送信装置１がファイアウォール３の内部の受信装置２との間で映像配信を行う場合、まず、装置間でＴＣＰ（Ｔｒａｎｓｐｏｒｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）でコネクションを張り、そのＴＣＰコネクション上で映像データの配信が行われる。ファイアウォール３では、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）プロキシサーバが動作していることが多く、ＨＴＴＰはＴＣＰの上位プロトコルであるため、ＴＣＰコネクションが張れる結果、ＨＴＴＰでのアクセスが許可される。その結果、送信装置１は、ファイアウォール３を介して受信装置２に映像データを送信することができる。
【０００６】
【公知文献１】
特開２００２−２１５５１６公報
【０００７】
【発明が解決しようとする課題】
送信装置１がＴＣＰプロトコルを用いて、画像データを配信する場合、送信装置１は、例えば、図２に示されるように構成される。すなわち、エンコーダ２１は、図示せぬビデオカメラから入力された映像ソースをエンコードし、バッファ２２を介してＴＣＰ制御部２３に供給する。ＴＣＰ制御部２３は、バッファ２２を介して入力されたデータを、ＴＣＰプロトコルに基づいて、インターネットなどのネットワークを介して受信装置２に配信する。
【０００８】
ＴＣＰ制御部２３は、輻輳制御処理を行う。すなわち、ＴＣＰ制御部２３は、ネットワークの帯域に応じたビットレートでデータを送信する。その結果、ネットワークで輻輳が発生した場合、ビットレートは低下する。
【０００９】
このように、ＴＣＰ制御部２３の輻輳制御に基づいて映像データを配信すると、ネットワークに輻輳がなければ、図２に示されるように、バッファ２２に蓄積されるデータ量は充分小さい。これに対して、ネットワークに輻輳が発生すると、図３に示されるように、バッファ２２には、多くのデータが蓄積されることになる。
【００１０】
エンコーダ２１は、予め設定されている固定のビットレートでエンコード処理を行っているため、バッファ２２のデータの蓄積量に係わらず、エンコード処理が行われる。その結果、ネットワークに輻輳が発生すると、ついにはバッファ２２がオーバーフローしてしまい、受信装置２に送信されるべき映像データの一部が欠落してしまうことがある。
【００１１】
本発明は、このような状況に鑑みてなされたものであり、簡単かつ確実に、映像データを欠落させることなく、送信することができるようにするものである。
【００１２】
【課題を解決するための手段】
本発明の送信装置は、保持手段に保持されているデータの時間的な変化を検出する検出手段と、検出手段により検出された時間的な変化に基づいて送信レートを制御する制御手段とを備えることを特徴とする。
【００１３】
前記検出手段は、データの時間的な変化として、データの時間的な変化を表す近似直線の傾きを演算することができる。
【００１４】
前記制御手段は、送信レートが傾きと一致する分だけ小さくなるように制御することができる。
【００１５】
前記制御手段は、傾きが基準値より小さい場合、送信レートを大きくし、傾きが基準値より大きい場合、送信レートを小さくすることができる。
【００１６】
前記保持手段に保持されたデータのデータ量を第１の基準値と比較する比較手段をさらに備え、制御手段は、保持手段に保持されたデータのデータ量が第１の基準値より小さい場合には送信レートの変更を禁止することができる。
【００１７】
前記比較手段は、保持手段に保持されたデータのデータ量を、第１の基準値より大きい第２の基準値とさらに比較し、制御手段は、保持手段に保持されたデータのデータ量が第２の基準値より大きい場合、送信レートの値が、そのときの値の１／２になるように制御することができる。
【００１８】
前記検出手段により検出された時間的な変化を送信レートと比較する比較手段をさらに備え、制御手段は、検出手段により検出された時間的な変化が送信レートより小さい場合、送信レートの値が、そのときの値の１／２になるように制御することができる。
【００１９】
本発明の送信方法は、保持手段に保持されているデータの時間的な変化を検出する検出ステップと、検出ステップの処理により検出された時間的な変化に基づいて送信レートを制御する制御ステップとを含むことを特徴とする。
【００２０】
本発明の記録媒体のプログラムは、設定された固定の送信レートでデータをエンコードして出力するエンコード手段と、エンコード手段によりエンコードされたデータを一時的に保持する保持手段と、保持手段に保持されたデータを、ネットワークの状態に応じて送信可能なスループットが変化するプロトコルで、ネットワークを介して相手側の装置に送信する送信手段とを備え、エンコード手段によりエンコードされたデータを、ネットワークを介して相手側の装置に送信する送信装置のプログラムであって、保持手段に保持されているデータの時間的な変化を検出する検出ステップと、検出ステップの処理により検出された時間的な変化に基づいて送信レートを制御する制御ステップとを含むことを特徴とする。
【００２１】
本発明のプログラムは、設定された固定の送信レートでデータをエンコードして出力するエンコード手段と、エンコード手段によりエンコードされたデータを一時的に保持する保持手段と、保持手段に保持されたデータを、ネットワークの状態に応じて送信可能なスループットが変化するプロトコルで、ネットワークを介して相手側の装置に送信する送信手段とを備え、エンコード手段によりエンコードされたデータを、ネットワークを介して相手側の装置に送信する送信装置のプログラムであって、保持手段に保持されているデータの時間的な変化を検出する検出ステップと、検出ステップの処理により検出された時間的な変化に基づいて送信レートを制御する制御ステップとをコンピュータに実行させることを特徴とする。
【００２２】
本発明においては、エンコードされたデータがネットワークを介して受信側の装置に送信される場合において、保持手段に保持されているデータの時間的な変化が検出され、その変化に基づいて、送信手段の送信レートが制御される。
【００２３】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２４】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００２５】
［請求項１］  設定された固定の送信レートでデータをエンコードして出力するエンコード手段（例えば、図５のエンコーダ８２）と、
前記エンコード手段によりエンコードされた前記データを一時的に保持する保持手段（例えば、図５のバッファ８３）と、
前記保持手段に保持された前記データを、ネットワーク（例えば、図４のインターネット５１）の状態に応じて送信可能なスループットが変化するプロトコル（例えば、ＴＣＰ）で、前記ネットワークを介して受信側の装置（例えば、図４の受信装置５３）に送信する送信手段（例えば、図５のＴＣＰ制御部８４）と
を備え、前記エンコード手段によりエンコードされた前記データを、前記ネットワークを介して相手側の装置に送信する送信装置（例えば、図４の送信装置５２）において、
前記保持手段に保持されている前記データの時間的な変化を検出する検出手段（例えば、図９の演算部１４４）と、
前記検出手段により検出された前記時間的な変化に基づいて前記送信レートを制御する制御手段（例えば、図１３の指示部１６４）と
を備えることを特徴とする送信装置。
［請求項２］  前記検出手段は、前記データの時間的な変化として、前記データの時間的な変化を表す近似直線の傾き（例えば、図１２の近似直線Ｌの傾き）を演算する
ことを特徴とする請求項１に記載の送信装置。
［請求項３］  前記制御手段は、前記送信レートが前記傾きと一致する分だけ小さくなるように制御する（例えば、図１６のステップＳ９１において、送信レートをバッファの増加率ＵＰＲの分だけ小さくなるように制御する）
ことを特徴とする請求項２に記載の送信装置。
［請求項４］  前記制御手段は、前記傾きが基準値（例えば、図１２の閾値量ＵＰＬ）より小さい場合、前記送信レートを大きくし（例えば、図１４のステップＳ４２，Ｓ４４の処理）、前記傾きが前記基準より大きい場合、前記送信レートを小さくする（例えば、図１４のステップＳ４７，Ｓ４９の処理）
ことを特徴とする請求項１に記載の送信装置。
［請求項５］  前記保持手段に保持された前記データのデータ量を第１の基準値（例えば、図１１の基準値Ｍｉｎ＿ｂ）と比較する比較手段（例えば、図１０のステップＳ２２の処理を実行する図９のバッファ量判定部１４２）をさらに備え、
前記制御手段は、前記保持手段に保持された前記データのデータ量が前記第１の基準値より小さい場合には前記送信レートの変更を禁止する（例えば、図１０のステップＳ２２において、バッファ量が基準値Ｍｉｎ＿ｂより小さいと判定された場合、ステップＳ２３乃至Ｓ２８をスキップする処理）
ことを特徴とする請求項１に記載の送信装置。
［請求項６］  前記比較手段は、前記保持手段に保持された前記データのデータ量を、前記第１の基準値より大きい第２の基準値（例えば、図１１の基準値Ｍａｘ＿ｂ）とさらに比較し、
前記制御手段は、前記保持手段に保持された前記データのデータ量が前記第２の基準値より大きい場合（例えば、図１０のステップＳ２１でバッファ量が基準値Ｍａｘ＿ｂより大きいと判定された場合）、前記送信レートの値が、そのときの値の１／２になるように制御する（例えば、図１０のステップＳ２８の処理を実行する）
ことを特徴とする請求項５に記載の送信装置。
［請求項７］  前記検出手段により検出された前記時間的な変化を前記送信レートと比較する比較手段（例えば、図１０のステップＳ２６の処理を実行する図９のバッファ量判定部１４２）をさらに備え、
前記制御手段は、前記検出手段により検出された前記時間的な変化が前記送信レートより小さい場合（例えば、図１０のステップＳ２６で、バッファの増加率ＵＰＲが送信レートより小さいと判定された場合）、前記送信レートの値が、そのときの値の１／２になるように制御する（例えば、図１０のステップＳ２８の処理を実行する）
ことを特徴とする請求項１に記載の送信装置。
［請求項８］  設定された固定の送信レートでデータをエンコードして出力するエンコード手段（例えば、図５のエンコーダ８２）と、
前記エンコード手段によりエンコードされた前記データを一時的に保持する保持手段（例えば、図５のバッファ８３）と、
前記保持手段に保持された前記データを、ネットワーク（例えば、図４のインターネット５１）の状態に応じて送信可能なスループットが変化するプロトコル（例えば、ＴＣＰ）で、前記ネットワークを介して受信側の装置（例えば、図４の受信装置５３）に送信する送信手段（例えば、図５のＴＣＰ制御部８４）と
を備え、前記エンコード手段によりエンコードされた前記データを、前記ネットワークを介して相手側の装置に送信する送信装置（例えば、図４の送信装置５２）の送信方法において、
前記保持手段に保持されている前記データの時間的な変化を検出する検出ステップ（例えば、図１０のステップＳ２４）と、
前記検出ステップの処理により検出された前記時間的な変化に基づいて前記送信レートを制御する制御ステップ（例えば、図１０のステップＳ２５，Ｓ２７，Ｓ２８）と
を含むことを特徴とする送信方法。
［請求項９］  設定された固定の送信レートでデータをエンコードして出力するエンコード手段（例えば、図５のエンコーダ８２）と、
前記エンコード手段によりエンコードされた前記データを一時的に保持する保持手段（例えば、図５のバッファ８３）と、
前記保持手段に保持された前記データを、ネットワーク（例えば、図４のインターネット５１）の状態に応じて送信可能なスループットが変化するプロトコル（例えば、ＴＣＰ）で、前記ネットワークを介して受信側の装置（例えば、図４の受信装置５３）に送信する送信手段（例えば、図５のＴＣＰ制御部８４）と
を備え、前記エンコード手段によりエンコードされた前記データを、前記ネットワークを介して相手側の装置に送信する送信装置（例えば、図４の送信装置５２）のプログラムであって、
前記保持手段に保持されている前記データの時間的な変化を検出する検出ステップ（例えば、図１０のステップＳ２４）と、
前記検出ステップの処理により検出された前記時間的な変化に基づいて前記送信レートを制御する制御ステップ（例えば、図１０のステップＳ２５，Ｓ２７，Ｓ２８）と
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
［請求項１０］  設定された固定の送信レートでデータをエンコードして出力するエンコード手段（例えば、図５のエンコーダ８２）と、
前記エンコード手段によりエンコードされた前記データを一時的に保持する保持手段（例えば、図５のバッファ８３）と、
前記保持手段に保持された前記データを、ネットワーク（例えば、図４のインターネット５１）の状態に応じて送信可能なスループットが変化するプロトコル（例えば、ＴＣＰ）で、前記ネットワークを介して受信側の装置（例えば、図４の受信装置５３）に送信する送信手段（例えば、図５のＴＣＰ制御部８４）と
を備え、前記エンコード手段によりエンコードされた前記データを、前記ネットワークを介して相手側の装置に送信する送信装置（例えば、図４の送信装置５２）のプログラムであって、
前記保持手段に保持されている前記データの時間的な変化を検出する検出ステップ（例えば、図１０のステップＳ２４）と、
前記検出ステップの処理により検出された前記時間的な変化に基づいて前記送信レートを制御する制御ステップ（例えば、図１０のステップＳ２５，Ｓ２７，Ｓ２８）と
をコンピュータに実行させることを特徴とするプログラム。
【００２６】
次に、図面を参照して本発明の実施の形態について説明する。
【００２７】
図４は、本発明を適用したネットワークシステムの構成例を表している。このシステムにおいては、インターネット５１に送信装置５２と受信装置５３−１，５３−２が接続されている。送信装置５２は、図示せぬビデオカメラで撮像された画像データをインターネット５１を介して、受信装置５３−１，５３−２にライブ配信する。
【００２８】
なお、図４のシステムでは、受信装置が２台のみ示されているが、実際には、より多くの台数の受信装置が、インターネット５１を介して送信装置５２が配信する画像データを受信する。
【００２９】
なお、受信装置５３−１，５３−２は、それらを個々に区別する必要がない場合、単に受信装置５３と称する。
【００３０】
図５は、送信装置５２の構成例を表している。入力部８１は、例えば、ビデオカメラなどにより構成され、配信する画像データをリアルタイムで撮像し、出力する。もちろん、入力部８１は、ビデオカメラ以外の任意のソースからの画像データを入力するようにしてもよい。
【００３１】
エンコーダ８２は、入力部８１から入力された画像データを、例えば、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）２，４などの方式に従って、予め設定された固定ビットレートで（出力のビットレートが、予め設定されている固定された値になるように）エンコードし、出力する。
【００３２】
エンコーダ８２によりエンコードされた画像データは、画像データを一時的に保持するバッファ８３を介してＴＣＰ制御部８４に供給される。ＴＣＰ制御部８４は、バッファ８３を介して入力された画像データを、ＴＣＰに基づいてパケット化し、インターネット５１を介して受信装置５３に配信する。ＴＣＰ制御部８４は、インターネット５１の状態に応じた輻輳制御処理を行う。
【００３３】
レート制御部８５は、バッファ８３に蓄積されるデータの変化量を検出し、その変化量に基づいて、エンコーダ８２の設定されている固定ビットレートの値を、所定の値に制御する。
【００３４】
次に、図６のフローチャートを参照して、ＴＣＰ制御部８４における輻輳制御処理について説明する。
【００３５】
最初に、ステップＳ１において、ＴＣＰ制御部８４は、ウインドウサイズＷ（図７）を最小値にセットする。次に、ステップＳ２において、ＴＣＰ制御部８４は、予め設定されている時間内に、受信装置５３からＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｅ信号）が到着したか否かを判定する。ＡＣＫ信号が予め設定されている時間内に到着した場合には、インターネット５１に輻輳が発生していないので、ステップＳ３において、ＴＣＰ制御部８４は、ウインドウサイズＷを大きい値に設定する。これに対して、時間内にＡＣＫ信号が到着しなかったと、ステップＳ２において判定された場合には、ステップＳ４に進み、ＴＣＰ制御部８４は、ウインドウサイズＷを小さい値に設定する。
【００３６】
ステップＳ３またはステップＳ４の処理の後、ステップＳ２に戻り、それ以降の処理が繰り返し実行される。
【００３７】
ウインドウサイズＷは、図７に示されるように、ＡＣＫ信号が到着するのを待たずに、先送りした場合においても、パケットを受信側に確実に送信することが可能な範囲を意味する。
【００３８】
図７Ａに示されるように、番号１のパケットに関するＡＣＫ信号が返ってきた場合には、ウインドウサイズＷの範囲内の番号２乃至６までの５個のパケットを、次のＡＣＫ信号が到着する前に、送信することが可能である。
【００３９】
これに対して、図７Ｂに示されるように、番号２と番号３に示されるパケットに対応するＡＣＫ信号が返ってきた場合には、番号４乃至番号８までのウインドウサイズＷ内に位置するパケットを送信することが可能である。
【００４０】
このウインドウサイズＷの大きさを大きくすればするだけ、ＴＣＰで送信可能なビットレートも大きくなり、逆に、ウインドウサイズＷの大きさを小さくした場合には、送信可能なスループットが小さくなる。このようにして、ＡＣＫ信号の到着のタイミングに基づいて、輻輳制御が行われる。
【００４１】
以上のようにして、ＴＣＰ制御部８４は、入力部８１から入力され、エンコーダ８２によりエンコードされた画像データを、バッファ８３を介して取り込み、インターネット５１を介して受信装置５３に配信する。
【００４２】
ＴＣＰ制御部８４は、インターネット５１が輻輳した場合、受信装置５３から受け取るＡＣＫ信号の間隔が長くなることに伴って、ウインドウサイズを小さい値に設定する。これに対して、ＡＣＫ信号が制限時間内に受け取られた場合には、ウインドウサイズを大きくすることで、レート制御が行われる。その結果、このままでは、上述した場合と同様に、インターネット５１が輻輳した場合、エンコーダ８２は予め設定されている固定レートで入力部８１から入力される画像データをエンコードし、出力するため、バッファ８３がオーバーフローする恐れがある。
【００４３】
そこで、本発明においては、レート制御部８５がバッファ８３のデータの蓄積量の変化を検出し、その検出結果に基づいてエンコーダ８２の送信レートの制御が行われる。
【００４４】
図８の状態遷移図は、レート制御部８５が行うレート制御での状態の遷移を表す。図８に示されるように、この例ではホールド状態（ＨＯＬＤ）、アップ状態（ＵＰ）、ダウン状態（ＤＯＷＮ）、アップウエイト状態（ＵＰ＿ＷＡＩＴ）、ダウンウエイト状態（ＤＯＷＮ＿ＷＡＩＴ）の５つの状態が用意される。その詳細は、図１４のフローチャートを参照して後述するが、バッファ８３に蓄積される画像データの増加率ＵＰＲ（ＵＰ＿ｒａｔｅ）に基づいて、所定の状態から他の状態に、状態が遷移する。レート制御部８５は、バッファ８３の増加率ＵＰＲを計算するために、図９に示されるような機能的構成を有している。
【００４５】
読取部１４１は、バッファ８３に蓄積されている画像データのデータ量を読み取り、バッファ量判定部１４２に出力する。バッファ量判定部１４２は、読取部１４１により読み取られたバッファ量を基準値と比較し、その比較結果を抽出部１４３に出力する。また、バッファ量判定部１４２は、バッファ量を基準値と比較した結果に基づいて、レート設定部１４５を制御し、増加率ＵＰＲとして所定の値を設定させる。
【００４６】
抽出部１４３は、バッファ８３に蓄積された過去の所定時間分（例えば、過去数秒分）の画像データを蓄積する。そして、バッファ量判定部１４２から所定の判定結果が入力されたとき、抽出部１４３は、演算対象とする過去数秒分の画像データを抽出して演算部１４４に供給する。演算部１４４は、抽出部１４３から供給された画像データに基づいて、その変化率を演算する。具体的には、それらの画像データで表される近似直線が演算され、その近似直線の傾きが演算される。
【００４７】
レート設定部１４５は、演算部１４４により演算された傾きに対する値になるように、増加率ＵＰＲを設定する。記憶部１４６は、レート設定部１４５により設定されたその時点における送信レートを記憶する。この記憶部１４６に記憶されている送信レートに基づいて、エンコーダ８２の送信レートが制御される。
【００４８】
比較部１４７は、演算部１４４により演算された増加率ＵＰＲと、記憶部１４６に記憶されている、その時点における送信レートの大きさを比較し、その比較結果に基づいて、レート設定部１４５に増加率ＵＰＲとして所定の値を設定させる。
【００４９】
次に、図１０のフローチャートを参照して、図９に示されるレート制御部８５により実行されるバッファ８３の増加率ＵＰＲの計算処理について説明する。この処理は、予め設定されている一定の時間毎に周期的に繰り返し実行される。
【００５０】
ステップＳ２１において、読取部１４１は、バッファ８３に蓄積されている画像データのデータ量を読み取り、バッファ量としてバッファ量判定部１４２に供給する。バッファ量判定部１４２は、読取部１４１により読み取られたバッファ量が予め設定されている基準値Ｍａｘ＿ｂ以上であるか否かを判定する。図１１に示されるように、この基準値Ｍａｘ＿ｂは、この基準値を超えると、バッファ８３がオーバーフローする恐れがある値に設定されている。ステップＳ２１において、バッファ量が基準値Ｍａｘ＿ｂ以上であると判定された場合、ステップＳ２８に進み、バッファ量判定部１４２は、レート設定部１４５に制御信号を出力する。このとき、レート設定部１４５は、記憶部１４６にそのとき設定されている送信レートの１／２の値を、増加率ＵＰＲに設定させる。
【００５１】
ステップＳ２１において、バッファ８３から読み取られたバッファ量が基準値Ｍａｘ＿ｂより小さいと判定された場合、ステップＳ２２に進み、バッファ量判定部１４２は、バッファ８３から読み取られたバッファ量が基準値Ｍｉｎ＿ｂ以下であるか否かを判定する。この基準値Ｍｉｎ＿ｂは、図１１に示されるように、基準値Ｍａｘ＿ｂより小さい値に設定されている。
【００５２】
ステップＳ２２において、バッファ量が基準値Ｍｉｎ＿ｂより大きいと判定された場合、ステップＳ２３に進み、抽出部１４３は、過去数秒分のバッファ量で基準値Ｍｉｎ＿ｂを超える値を抽出する。
【００５３】
例えば、図１１に示される例では、期間Ｔ１は、バッファ８３のバッファ量は基準値Ｍｉｎ＿ｂより小さく、オーバーフローする恐れがほとんどない安定した期間となっている。これに対して、期間Ｔ２においては、バッファ８３に蓄積されるデータ量であるバッファ量が基準値Ｍｉｎ＿ｂより次第に大きくなっている。このような場合には、基準値Ｍｉｎ＿ｂより大きくなったバッファ量の過去数秒分の値が図１２に示されるように抽出される。
【００５４】
例えば、エンコーダ８２が４００Ｋｂｐｓで画像データをデコードし、出力しており、ＴＣＰ制御部８４が３００Ｋｂｐｓでインターネット５１を介して画像データを配信しているとすると、バッファ８３には１００ｋｂｐｓの速度で画像データが増加することになる。すなわち、１秒間に１００Ｋｂｉｔのデータがバッファ８３に蓄積されることになる。
【００５５】
ステップＳ２４において、演算部１４４は、図１２に示されるように、抽出部１４３により抽出されたバッファ量の近似直線Ｌを演算すると共に、その近似直線Ｌの傾きを演算する。近似直線Ｌは、各サンプリング時刻におけるバッファ量との誤差の和が最小となる直線として求めることができる。
【００５６】
ステップＳ２５において、レート設定部１４５は、ステップＳ２４の処理で演算部１４４により演算された傾きを、バッファ８３の増加率ＵＰＲとして設定する。演算して求められた傾きは、そのままバッファ８３に蓄積される単位時間当たりのデータ量を表すことになる。
【００５７】
次に、ステップＳ２６において、比較部１４７は、演算部１４４により演算された増加率ＵＰＲの値が、記憶部１４６に記憶されている、その時点における送信レートの値より大きいか否かを判定する。バッファの増加率ＵＰＲが送信レートより大きい場合には、ステップＳ２７に進み、比較部１４７は、レート設定部１４５を制御し、ステップＳ２５の処理で設定された増加率ＵＰＲの値を、記憶部１４６に記憶させる。
【００５８】
ステップＳ２６において、バッファの増加率ＵＰＲが送信レートより小さいと判定された場合、ダウン状態で送信レート以上に下げることができないので、ステップＳ２７に進み、比較部１４７は、レート設定部１４５を制御し、バッファの増加率ＵＰＲとして、そのとき設定されている送信レート（記憶部１４６に記憶されている増加率ＵＰＲの値）の１／２の値を設定させる。そして、その値を記憶部１４６に記憶させる。
【００５９】
ステップＳ２２において、バッファ量が基準値Ｍｉｎ＿ｂ以下であると判定された場合、ステップＳ２３乃至ステップＳ２８の処理はスキップされる。これにより、図１１に示される期間Ｔ１におけるサンプリングデータを近似直線Ｌの傾きを求めるデータに加えることにより、近似直線Ｌの傾きが必要以上に小さい値となってしまうようなことが防止される。すなわち、傾きをより正確に求めることが可能になる。
【００６０】
以上の処理が、一定の周期で繰り返し実行されることで、記憶部１４６には、バッファ８３の増加率ＵＰＲの値が記憶され、順次最新の値に更新されることになる。
【００６１】
以上のようにして、一定のサンプリング周期でバッファ８３に蓄積される画像データの増加率ＵＰＲをサンプリングしつつ、レート制御部８５は、図８に示されるような状態遷移に従って、エンコーダ８２の送信レートを制御する。このため、レート制御部８５は、図１３に示されるような機能的構成をさらに有している。
【００６２】
状態設定部１６１は、図８に示されるホールド状態、アップ状態、ダウン状態、アップウエイト状態、およびダウンウエイト状態の５つの状態のいずれかの状態を設定する。増加率判定部１６２は、図９に示した記憶部１４６に記憶されている増加率ＵＰＲを、予め設定されている基準値としての閾値量ＵＰＬと比較、判定する処理を行う。時間判定部１６３は、各状態における経過時間を、予め設定されている各状態での基準時間と比較する処理を行う。指示部１６４は、エンコーダ８２に対して、送信レートの変更を指示する。
【００６３】
次に、図１４のフローチャートを参照して、レート制御部８５によるエンコーダ８２の送信レート制御処理について説明する。この処理は、送信装置５２において、エンコーダ８２が入力部８１から供給された画像データをエンコードし、バッファ８３を介してＴＣＰ制御部８４に供給し、ＴＣＰ制御部８４から、インターネット５１を介して各受信装置５３に配信する場合に実行される。
【００６４】
ステップＳ４１において、状態設定部１６１は、状態をホールド状態に初期設定する。ステップＳ４２において、増加率判定部１６２は、増加率ＵＰＲが予め設定されている閾値量ＵＰＬ（Ｕｐ＿ｌｉｍｉｔ）より小さいか否かを判定する。増加率ＵＰＲは、図１０のフローチャートに示される処理を一定のサンプリング周期で実行することで、記憶部１４６に記憶されている。そして、閾値ＵＰＬは、図１２に示されるように、近似直線Ｌの傾きに対応する基準値である。近似直線Ｌに所定の傾きが発生するということは、バッファ８３にデータが次第に蓄積されていくことを意味する。しかしながら、傾きの値がそれ程大きくなければ送信レートをより大きい値とし、送信効率を向上させることが可能である。
【００６５】
そこで、ステップＳ４２において、増加率ＵＰＲが閾値量ＵＰＬより小さいと判定された場合、バッファ８３が直ちにオーバーフローする恐れはないので、ステップＳ４３において、時間判定部１６３により、ホールド状態に設定されてからの経過時間Ｓｔが、予め設定されているホールディング時間ＨＴ以上であるか否かが判定される。経過時間Ｓｔがホールディング時間ＨＴより小さい場合には、まだバッファ８３がオーバーフローする恐れがないので、ステップＳ４２に戻り、再び増加率ＵＰＲが閾値量ＵＰＬより小さいか否かが判定される。ステップＳ４３において、経過時間Ｓｔがホールディング時間ＨＴと等しいか、それよりも大きいと判定された場合、増加率ＵＰＲが閾値量ＵＰＬより小さい状態で、ホールディング時間ＨＴより長い時間が経過したので、より効率的にデータを伝送すべく、ステップＳ４４において、状態設定部１６１は、状態をアップ状態に設定する。すなわち、このときホールド状態からアップ状態に状態が遷移することになる。
【００６６】
指示部１６４は、状態設定部１６１より状態がアップ状態になったことの通知を受けると、図１５に示される送信レート制御処理を実行する。
【００６７】
すなわち、指示部１６４は、そのときエンコーダ８２に指示されている送信レートの値を２パーセントだけ上げるようにエンコーダ８２に指示を出す。
【００６８】
なお、もちろんここで上昇させる割合は２パーセントに限られず、所定の値に設定することが可能である。
【００６９】
その結果、エンコーダ８２は、レート制御部８５より指示された送信レートを基準とする固定レートの基準の値として設定する。これにより、エンコーダ８２は、今までより高速にエンコード処理を実行し、バッファ８３に出力することになる。その結果、バッファ８３の増加率が変化することになり、その増加率が上述したように、図１０のフローチャートの処理で検出され、記憶部１４６に記憶されることになる。
【００７０】
ステップＳ４５において、増加率判定部１６２は、その時点における増加率ＵＰＲを記憶部１４６から読み出し、その増加率ＵＰＲと予め設定されている閾値量ＵＰＬと比較する。増加率ＵＰＲが閾値量ＵＰＬより小さい場合には、増加率ＵＰＲをもっと大きい値に設定することが可能である。そこで、この場合、ステップＳ４６に進み、状態設定部１６１は、状態をアップウエイト状態に設定する。
【００７１】
次に、ステップＳ４７において、増加率判定部１６２は、増加率ＵＰＲが閾値量ＵＰＬより小さいか否かを判定する。増加率ＵＰＲが閾値量ＵＰＬより小さい場合には、ステップＳ４８に進み、時間判定部１６３は、アップウエイト状態に遷移してからの経過時間Ｓｔが、予め設定されているアップウエイティング時間ＵＷＴ以上であるか否かを判定する。経過時間Ｓｔがアップウエイティング時間ＵＷＴより小さい場合には、ＴＣＰ制御部８４による制御によりバッファ８３の増加率ＵＰＲが変化するまで待機する。このため、状態設定部１６１は、再びステップＳ４６に戻り、状態をアップウエイト状態に維持させる。
【００７２】
ステップＳ４７において、増加率判定部１６２により増加率ＵＰＲが基準値ＵＰＬより小さいか否かが再び判定される。増加率ＵＰＲが閾値量ＵＰＬより小さいと判定された場合、ステップＳ４８に戻り、時間判定部１６３は、アップウエイト状態における経過時間Ｓｔがアップウエイティング時間ＵＷＴ以上になったか否かを再び判定する。経過時間Ｓｔがアップウエイティング時間ＵＷＴ以上になったと判定された場合、ステップＳ４４に戻り、状態設定部１６１は、状態を再びアップウエイト状態からアップ状態に遷移させる。
【００７３】
これにより、再び指示部１６４は、図１５のステップＳ７１の処理を実行し、送信データを現在の送信レートから２パーセントだけ大きい値になるように、エンコーダ１２を制御する。これにより、エンコーダ８２は、さらに高速にエンコード処理を実行するようになる。バッファ８３には、その結果、より多くのデータが入力されるようになる。
【００７４】
以上の処理が繰り返し実行されることで、エンコーダ８２の送信レートの値は次第に大きい値に設定されるようになる。
【００７５】
ステップＳ４７において、増加率ＵＰＲが閾値量ＵＰＬと等しいか、それより大きくなったと判定された場合、バッファ８３がオーバーフローする恐れがあるので、ステップＳ４９において、状態設定部１６１は、状態をダウン状態に設定する。この処理は、ステップＳ４５において、アップ状態で増加率ＵＰＲが閾値量ＵＰＬ以上であると判定された場合、並びにステップＳ４２において、ホールド状態で増加率ＵＰＲが閾値量ＵＰＬ以上であると判定された場合にも実行される。
【００７６】
ステップＳ４９において、ダウン状態が設定されると、指示部１６４は、図１６に示される送信レート制御処理を実行する。すなわち、このとき指示部１６４は、記憶部１４６に記憶されている増加率ＵＰＲの分だけ送信レートを下げるように、エンコーダ８２に指示する。この指示に基づいて、エンコーダ８２は、基準となる送信レートを指示された増加率ＵＰＲだけ小さい値に設定し、そのレートを基準として固定レートでエンコード処理を実行する。従って、バッファ８３に供給されるデータ量は、それまでより少なくなる。
【００７７】
ステップＳ４９において、ダウン状態が設定されると、次にステップＳ５０において、状態設定部１６１は、状態をダウン状態からダウンウエイト状態に自動的に遷移させる。ステップＳ５１において、時間判定部１６３は、ダウンウエイト状態に設定されてからの経過時間Ｓｔが、予め設定されているダウンウエイティング時間ＤＷＴ以上であるか否かを判定する。経過時間Ｓｔがダウンウエイティング時間ＤＷＴより小さい場合には、ステップＳ５０に戻り、状態設定部１６１は状態をダウンウエイト状態のままとさせる。
【００７８】
ステップＳ５１において、経過時間Ｓｔがダウンウエイティング時間ＤＷＴ以上になったと判定された場合、処理はステップＳ５２に進む。すなわち、ダウンウエイト状態においては、単にダウンウエイティング時間ＤＷＴだけ時間が経過するだけの処理が行われることになる。
【００７９】
ステップＳ５１において、経過時間Ｓｔがダウンウエイティング時間ＤＷＴ以上になったと判定された場合、ステップＳ５２において、増加率判定部１６２は、増加率ＵＰＲが閾値量ＵＰＬより小さいか否かを判定する。いま、ステップＳ４９でダウン状態が設定されたため、エンコーダ８２による送信レートは、それまでより小さい値に設定されていることになる。この状態においても、増加率ＵＰＲが閾値量ＵＰＬと等しいか、それより大きい場合には、さらに送信レートを小さい値に設定する必要がある。このため、この場合には、ステップＳ４９に戻り、状態設定部１６１は、再び状態をダウン状態に設定する。その結果、指示部１６４により、図１６のステップＳ９１の処理が実行され、送信レートがさらに増加率ＵＰＲの分だけ小さい値になるように指示される。その結果、バッファ８３にエンコーダ８２より供給されるデータ量は、さらに小さい値となる。
【００８０】
ステップＳ５２において、増加率ＵＰＲが閾値量ＵＰＬより小さいと判定された場合には、処理はステップＳ４１に戻り、状態設定部１６１は、状態をホールド状態に設定する。そして、以下、上述した場合と同様の処理が繰り返し実行される。
【００８１】
以上のレート制御部８５による制御とは独立に、ＴＣＰ制御部８４により、インターネット５１の状態に対応したデータの転送処理が実行される。この制御は、インターネット５１の輻輳状態に基づいてのみ制御される。すなわち、インターネット５１が混雑している場合には、その転送レートは小さい値に設定され、空いている場合には、より多くのデータが転送されるように制御される。ＴＣＰ制御部８４は、バッファ８３自体のデータ記憶量を監視していない。従って、ＴＣＰ制御部８４の制御だけでは、インターネット５１が混雑してきた場合、ＴＣＰ制御部８４の輻輳制御に基づき、転送レートが低下されるため、バッファ８３がオーバーフローする恐れがある。
【００８２】
そこで、レート制御部８５がバッファ８３の増加率に基づいて、エンコーダ８２の送信レートを制御する。その結果、バッファ８３オーバーフローすることが防止される。これにより、インターネット５１の状態に係わらず、画像データを欠落させずに、受信装置５３に確実に配信することが可能となる。
【００８３】
また、ＴＣＰ制御部８４とレート制御部８５を一体化することも理論的には可能であるが、そのようにすると、ＴＣＰ制御部８４として既存のものを利用することができない。そこで、ＴＣＰ制御部８４と独立にレート制御部８５を設け、レート制御部８５には、インターネット５１の状況に係わらず、バッファ８３の増加率だけに基づいて、エンコーダ８２の送信レートを制御させる。これにより、簡単かつ確実に、低コストでデータ配信することが可能となる。
【００８４】
以上のようにして、図１２に示されるように、近似直線Ｌの傾きが、閾値量ＵＰＬより大きい角度の範囲Ａ１にあるとき送信レートは低下され、閾値量ＵＰＬより小さい角度の範囲Ａ２にあるとき増加される。
【００８５】
なお、以上においては、インターネット５１に対してデータを配信するプロトコルをＴＣＰとしたが、無線プロトコルである８０２．１１ｂやブルートゥース（商標）などのプロトコルを用いることも可能である。要は、これらのプロトコルは、ネットワークの状態に応じて、送信側で送信可能なスループットが変化するプロトコルであればよい。また、本発明で送信されるデータは、画像データに限らず、オーディオデータ、その他各種のコンテンツデータとすることができる。
【００８６】
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。この場合、例えば、送信装置５２は、図１７に示されるようなパーソナルコンピュータにより構成される。
【００８７】
図１７において、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２２１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２２２に記憶されているプログラム、または記憶部２２８からＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２２３にロードされたプログラムに従って各種の処理を実行する。ＲＡＭ２２３にはまた、ＣＰＵ２２１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００８８】
ＣＰＵ２２１、ＲＯＭ２２２、およびＲＡＭ２２３は、バス２２４を介して相互に接続されている。このバス２２４にはまた、入出力インタフェース２２５も接続されている。
【００８９】
入出力インタフェース２２５には、キーボード、マウスなどよりなる入力部２２６、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ）などよりなるディスプレイ、並びにスピーカなどよりなる出力部２２７、ハードディスクなどより構成される記憶部２２８、モデムなどより構成される通信部２２９が接続されている。通信部２２９は、インターネット５１を含むネットワークを介しての通信処理を行う。
【００９０】
入出力インタフェース２２５にはまた、必要に応じてドライブ２３０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア２３１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部２２８にインストールされる。
【００９１】
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【００９２】
この記録媒体は、図１７に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フロッピディスクを含む）、光ディスク（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）を含む）、光磁気ディスク（ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア２３１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているＲＯＭ２２２や、記憶部２２８に含まれるハードディスクなどで構成される。
【００９３】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００９４】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【００９５】
【発明の効果】
以上のごとく本発明によれば、データを確実に受信側に送信することが可能となる。特に、データを欠落させることなく、簡単な構成で低コストで配信することが可能となる。
【図面の簡単な説明】
【図１】従来の通信システムの構成例を示すブロック図である。
【図２】図１の送信装置の構成例を示すブロック図である。
【図３】図１の送信装置の構成例を示すブロック図である。
【図４】本発明を適用したネットワークシステムの構成例を示すブロック図である。
【図５】図４の送信装置の構成例を示すブロック図である。
【図６】図５のＴＣＰ制御部の動作を説明するフローチャートである。
【図７】ウインドウを説明する図である。
【図８】図５のレート制御部のレート制御動作における状態遷移を表す状態遷移図である。
【図９】図５のレート制御部の機能的構成例を示すブロック図である。
【図１０】図５のレート制御部の増加率計算処理を説明するフローチャートである。
【図１１】バッファの増加率を説明する図である。
【図１２】近似直線の例を示す図である。
【図１３】図５のレート制御部の機能的構成例を示すブロック図である。
【図１４】図５のレート制御部の送信レート制御処理を説明するフローチャートである。
【図１５】アップ状態における送信レート設定処理を説明するフローチャートである。
【図１６】ダウン状態における送信レート設定処理を説明するフローチャートである。
【図１７】本発明を適用したコンピュータの構成例を示すブロック図である。
【符号の説明】
５１  インターネット，  ５２  送信装置，  ５３−１，５３−２  受信装置，  ８１  入力部，  ８２  エンコーダ，  ８３  バッファ，  ８４  ＴＣＰ制御部，  ８５  レート制御部
【図１】
2005005823.tif 000003
【図２】
2005005823.tif 000004
【図３】
2005005823.tif 000005
【図４】
2005005823.tif 000006
【図５】
2005005823.tif 000007
【図６】
2005005823.tif 000008
【図７】
2005005823.tif 000009
【図８】
2005005823.tif 000010
【図９】
2005005823.tif 000011
【図１０】
2005005823.tif 000012
【図１１】
2005005823.tif 000013
【図１２】
2005005823.tif 000014
【図１３】
2005005823.tif 000015
【図１４】
2005005823.tif 000016
【図１５】
2005005823.tif 000017
【図１６】
2005005823.tif 000018
【図１７】
2005005823.tif 000019