(57)【要約】【課題】効率的に、情報を送受信する。【解決手段】画像送信装置１１は、階層符号化データの複数のレイヤをパケット化し、レイヤ単位で、パケットを画像受信装置１２に送信する。画像受信装置１２は、パケットの送信時刻や損失したパケットのＩＤ等を含む確認応答を、画像送信装置１１に送信する。画像送信装置１１は、画像受信装置１２からの確認応答に従って、最適な送信レートを算出し、送信レートを基に送信パケット数を設定し、設定したパケット数以下になるように、送信するレイヤを設定する。このようにすることにより、無駄に送信するパケットをなくすことができ、通信の効率化を図ることができる。本発明は、ネットワークに接続される電子機器に適用することができる。【選択図】      図３
2004193992.tif 000002
【特許請求の範囲】
【請求項１】
パケット通信により、階層符号化されたデータである階層符号化データを送受信する第１の情報処理装置および第２の情報処理装置から構成される情報処理システムにおいて、
前記第１の情報処理装置は、
前記階層符号化データをパケット化して、第１のパケットを生成する生成手段と、
前記生成手段により生成された前記第１のパケットを、前記第２の情報処理装置に送信する第１の送信手段と、
前記第１の情報処理装置による前記第１のパケットの送信時刻、および前記第１のパケットの損失に関する情報を含む第２のパケットを、前記第２の情報処理装置から受信する第１の受信手段と、
前記第１の受信手段により受信された前記第２のパケットに基づいて、送信する前記第１のパケットのパケット数の基準値を算出する算出手段と、
前記算出手段により算出された前記基準値に基づいて、前記生成手段によりパケット化する前記階層符号化データの階層を設定する設定手段と
を備え、
前記第２の情報処理装置は、
前記第１の情報処理装置より、前記第１のパケットを受信する第２の受信手段と、
前記第２の受信手段により受信された前記第１のパケットから、前記階層符号化データを取得する取得手段と、
前記第２の受信手段により受信された前記第１のパケットに基づいて、前記第２のパケットを作成する作成手段と、
前記作成手段により作成された前記第２のパケットを前記第１の情報処理装置に送信する第２の送信手段と
を備えることを特徴とする情報処理システム。
【請求項２】
パケット通信により、階層符号化されたデータである階層符号化データを他の情報処理装置に送信する情報処理装置において、
前記階層符号化データをパケット化して、第１のパケットを生成する生成手段と、
前記生成手段により生成された前記第１のパケットを、前記他の情報処理装置に送信する送信手段と、
前記情報処理装置による前記第１のパケットの送信時刻、および前記第１のパケットの損失に関する情報を含む第２のパケットを、前記他の情報処理装置から受信する受信手段と、
前記受信手段により受信された前記第２のパケットに基づいて、送信する前記第１のパケットのパケット数の基準値である第１の数を算出する算出手段と、
前記算出手段により算出された前記第１の数に基づいて、前記生成手段によりパケット化する前記階層符号化データの階層を設定する設定手段と
を備えることを特徴とする情報処理装置。
【請求項３】
前記設定手段は、前記生成手段により生成される前記第１のパケットのパケット数が、前記第１の数以下になるように、前記生成手段によりパケット化する前記階層化データの階層を設定する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記設定手段は、パケット化する階層として設定された階層の階層符号化データをパケット化した場合に、前記生成手段により生成される前記第１のパケットのパケット数である第２の数が、前記第１の数以下になるように、パケット化する前記階層を設定するとともに、前記第１の数から前記第２の数を差し引いた余りである第３の数を算出し、
前記生成手段は、前記第３の数だけ、冗長データをさらにパケット化して前記第１のパケットを生成する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記設定手段は、優先的に送信する階層の前記階層符号化データをパケット化した場合に、前記生成手段により生成される前記第１のパケットのパケット数である第２の数が、前記第１の数以下になるように、優先的に送信する前記階層を設定するとともに、前記第１の数から前記第２の数を差し引いた余りである第３の数を算出し、
前記生成手段は、優先的に送信する階層の前記階層符号化データをパケット化して、前記第１のパケットを生成するとともに、前記第３の数だけ、優先的に送信しない階層の前記階層符号化データをパケット化して、前記第１のパケットを生成する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項６】
パケット通信により、階層符号化されたデータである階層符号化データを他の情報処理装置に送信する情報処理装置の情報処理方法において、
前記階層符号化データをパケット化して、第１のパケットを生成する生成ステップと、
前記生成ステップの処理により生成された前記第１のパケットを、前記他の情報処理装置に送信する送信ステップと、
前記情報処理装置による前記第１のパケットの送信時刻、および前記第１のパケットの損失に関する情報を含む第２のパケットを、前記他の情報処理装置から受信する受信ステップと、
前記受信ステップの処理により受信された前記第２のパケットに基づいて、送信する前記第１のパケットのパケット数の基準値である第１の数を算出する算出ステップと、
前記算出ステップの処理により算出された前記第１の数に基づいて、前記生成ステップの処理によりパケット化する前記階層符号化データの階層を設定する設定ステップと
を含むことを特徴とする情報処理方法。
【請求項７】
パケット通信により、階層符号化されたデータである階層符号化データを他の情報処理装置に送信する情報処理装置用のプログラムであって、
前記他の情報処理装置に送信するために、前記階層符号化データをパケット化して、第１のパケットを生成する生成ステップと、
前記情報処理装置による前記第１のパケットの送信時刻、および前記第１のパケットの損失に関する情報を含む第２のパケットを、前記他の情報処理装置から受信した場合、受信された前記第２のパケットに基づいて、送信する前記第１のパケットのパケット数の基準値を算出する算出ステップと、
前記算出ステップの処理により算出された前記基準値に基づいて、前記生成ステップの処理によりパケット化する前記階層符号化データの階層を設定する設定ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項８】
パケット通信により、階層符号化されたデータである階層符号化データを他の情報処理装置に送信する情報処理装置を制御するコンピュータに、
前記他の情報処理装置に送信するために、前記階層符号化データをパケット化して、第１のパケットを生成する生成ステップと、
前記情報処理装置による前記第１のパケットの送信時刻、および前記第１のパケットの損失に関する情報を含む第２のパケットを、前記他の情報処理装置から受信した場合、受信された前記第２のパケットに基づいて、送信する前記第１のパケットのパケット数の基準値を算出する算出ステップと、
前記算出ステップの処理により算出された前記基準値に基づいて、前記生成ステップの処理によりパケット化する前記階層符号化データの階層を設定する設定ステップと
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理システム、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、より効率的に情報を送受信できるようにした情報処理システム、情報処理装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
データの送信レートの制御は、単位時間あたりの送信データ量を決定するものである。パケット通信網であるインターネット上では、仮にパケットサイズ（１パケットあたりのデータ量）が一定である場合、単位時間あたりに送信するパケットの個数を制御することにより、送信レートを制御することができる。
【０００３】
単位時間あたりに送信するパケットの個数を制御することにより、送信レートを制御する例として、RFC(Request For Comments)2001に規定されているスライディングウィンドウアルゴリズムがある。このスライディングウィンドウアルゴリズムについて、図１を参照して説明する。
【０００４】
図１において、縦軸は、ウィンドウサイズを表している。スライディングウィンドウアルゴリズムにおいては、送信端末装置は「ウィンドウ」に入っている個数だけ、パケットを送信することができる。ウィンドウは、そのサイズが可変であり、図１のグラフの縦軸は、このウィンドウのサイズを表している。図１において、横軸は時間軸である。
【０００５】
図１の時刻ｔ０において、送信端末装置は、まず、ウィンドウサイズを、パケット１個分の大きさに設定し、パケット１個を、受信端末装置に送信する。送信端末装置は、受信端末装置からパケット受信の確認応答を受信すると、次に、ウィンドウサイズをパケット２個分に設定し、パケット２個を、受信端末装置に送信する。このようにして、送信端末装置は、受信端末装置からパケット受信の確認応答を受信する度に、ウィンドウの大きさを大きくし、送信可能なパケット数を１個ずつ増やしてゆく。送信端末装置は、このようにして、徐々に、単位時間あたりに送信するパケット数を増加させる。
【０００６】
ここで、時刻ｔ１において、送信端末装置から送信されたパケットの少なくとも一部が、受信端末装置により受信されなかった（パケットロスが発生した）旨の確認応答が、受信端末装置から通知されたとする。この時（ｔ１）、送信端末装置は、ウィンドウの大きさを1/2に縮小し、送信可能なパケット数を半分に減少させる（図１においては、１９個から９個に減少させている。なお、端数は切り捨て）。それ以降、送信端末装置は、ウィンドウ内のパケット全てに対して受信端末装置より確認応答を受信した場合、ウィンドウの大きさを大きくし、送信可能なパケットの個数を１個ずつ増やしてゆく。
【０００７】
そして、時刻ｔ２において、再度、パケットロスが発生した場合、送信端末装置は、上記と同様に、ウィンドウの大きさを1/2に縮小し、送信可能なパケット数を半分に減少させる。その後、また、送信端末装置は、ウィンドウ内のパケット全てに対して受信端末装置より確認応答を受信した場合、ウィンドウの大きさを大きくし、送信可能なパケットの個数を１個ずつ増やしてゆく。以降、時刻ｔ３においても、時刻ｔ１および時刻ｔ２の場合と同様に処理する。
【０００８】
スライディングウィンドウアルゴリズムにおいては、以上のようにして、最適なデータの送信レートを割り出している。
【０００９】
以上のように、ネットワークの状態に応じて、最適なデータの送信レートを迅速に決定するために、送信レートの増加時には、送信パケット数を加算してゆき（上記の例の場合、１個ずつ加算してゆき）、送信レートの減少時には、送信パケット数を、１未満の値（上記の例の場合、1/2）で乗算するAIMD（Additive Increase Multiple Decrease）アルゴリズムが、一般的に知られている（例えば、非特許文献１参照）。
【００１０】
【非特許文献１】
D.Chiu and R.Jain,“Analysis of the Increase/Decrease Algorithms for Congestion Avoidance in Computer Networks,”Journal of Computer Networks and ISDN,Vol.17,No.1,June 1989 pp.1-14
【００１１】
【発明が解決しようとする課題】
ところで、送信するデータが、階層符号化されたデータである場合がある。例えば、階層符号化データの例として、JPEG（Joint Photographic Experts Group）2000がある。
【００１２】
例として、JPEG2000の階層符号化データが、４つの階層により階層符号化されており、１つの階層分のデータを送信するために５個のパケットを必要とする場合、４つの階層全体の階層符号化データでは、４×５＝２０個のパケットを必要とする。図２は、JPEG2000により階層符号化された1フレーム分のデータの例を表している。
【００１３】
図２において、左側の記載「レイヤL1」、「レイヤL２」、「レイヤL３」、および「レイヤL４」は、４つの層を表している。レイヤＬ１が、最下位の階層であり、レイヤＬ２、レイヤＬ３、レイヤＬ４の順番でより上位の階層になる。
【００１４】
図２において、「レイヤL1」、「レイヤL２」、「レイヤL３」、および「レイヤL４」の記載の右側のブロックは、それぞれパケットを表している。すなわち、「P1」、「P２」、「P３」、「P４」、「P５」、「P６」、「P７」、「P８」、「P９」、「P1０」、「P１1」、「P１２」、「P１３」、「P１４」、「P１５」、「P１６」、「P１７」、「P１８」、「P１９」、および「P２０」と記載された各ブロックは、それぞれが、パケットを表している。
【００１５】
図２においては、レイヤL1のデータが、「P1」、「P２」、「P３」、「P４」、および「P５」のパケットに分割され、レイヤL２のデータが、「P６」、「P７」、「P８」、「P９」、および「P1０」のパケットに分割され、レイヤL３のデータが、「P１1」、「P１２」、「P１３」、「P１４」、および「P１５」のパケットに分割され、レイヤL４のデータが、「P１６」、「P１７」、「P１８」、「P１９」、および「P２０」のパケットに分割されている。
【００１６】
JPEG2000においては、レイヤL1のデータのみをデコードして、表示した場合、粗い画像（この画像を画像１と称する）が表示され、レイヤL１とレイヤL２のデータをデコードして、表示した場合、画像１より精細な画像（この画像を画像２と称する）が表示され、レイヤL１、レイヤL２、およびレイヤL３のデータをデコードして、表示した場合、画像２より精細な画像（この画像を画像３と称する）が表示され、レイヤL１、レイヤL２、レイヤL３、およびレイヤL４のデータをデコードして、表示した場合、画像３より精細な画像（この画像を画像４と称する）が表示される。
【００１７】
ただし、図２において、１つのレイヤを構成する全パケットのデータが揃った場合、綺麗な画像を表示することができる。例えば、パケットＰ１乃至Ｐ５が全部揃って、初めて、レイヤＬ１のデータをデコードして、綺麗な画像を表示することができる。また、パケットＰ１乃至Ｐ１０が全部揃って、初めて、レイヤＬ１およびレイヤＬ２のデータをデコードして、綺麗な画像を表示することができる。同様に、パケットＰ１乃至Ｐ１５が全部揃って、初めて、レイヤＬ１、レイヤＬ２、およびレイヤＬ３のデータをデコードして、綺麗な画像を表示することができる。また、パケットＰ１乃至Ｐ２０が全部揃って、初めて、レイヤＬ１、レイヤＬ２、レイヤＬ３、およびレイヤＬ４のデータをデコードして、綺麗な画像を表示することができる。
【００１８】
従って、例えば、パケットＰ１乃至Ｐ６のデータをデコードした場合の画像の画質は、レイヤＬ１のデータ、すなわちパケットＰ１乃至Ｐ５のデータをデコードした場合の画像の画質と比較して、たいして向上しない。つまり、パケットＰ６のデータがあっても、それによる効果は期待できない。同様に、例えば、パケットＰ１乃至Ｐ７のデータをデコードした場合の画像の画質は、レイヤＬ１のデータ、すなわちパケットＰ１乃至Ｐ５のデータをデコードした場合の画像の画質と比較して、たいして向上しない。つまり、パケットＰ６およびＰ７のデータがあっても、それによる効果は期待できない。同様に、例えば、パケットＰ１乃至Ｐ８のデータをデコードした場合の画像の画質は、レイヤＬ１のデータ、すなわちパケットＰ１乃至Ｐ５のデータをデコードした場合の画像の画質と比較して、たいして向上しない。つまり、パケットＰ６乃至Ｐ８のデータがあっても、それによる効果は期待できない。同様に、例えば、パケットＰ１乃至Ｐ９のデータをデコードした場合の画像の画質は、レイヤＬ１のデータ、すなわちパケットＰ１乃至Ｐ５のデータをデコードした場合の画像の画質と比較して、たいして向上しない。つまり、パケットＰ６乃至Ｐ９のデータがあっても、それによる効果は期待できない。
【００１９】
このような階層符号化データを、スライディングウィンドウアルゴリズムにより送受信する場合、送信端末装置は、番号の小さいパケットであるパケットＰ１から順に（Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、…、Ｐ１９、Ｐ２０の順に）、パケットを送信する。すなわち、送信端末装置は、図２の番号の小さいレイヤ、すなわちレイヤＬ１のパケットを優先的に受信端末装置に送信し、以降、レイヤＬ２、レイヤＬ３、レイヤＬ４の順に、各レイヤのパケットを、受信端末装置に送信する。
【００２０】
ここで、仮にウィンドウサイズが、パケット５個分の大きさであれば、送信端末装置は、パケットＰ１乃至Ｐ５を受信端末装置に送信し、受信端末装置は、送信端末装置から受信したパケットＰ１乃至Ｐ５の全データを利用して、レイヤＬ１に対応する画像を表示させることができる。また、仮にウィンドウサイズが、パケット１０個分の大きさであれば、送信端末装置は、パケットＰ１乃至Ｐ１０を受信端末装置に送信し、受信端末装置は、送信端末装置から受信したパケットＰ１乃至Ｐ１０の全データを利用して、レイヤＬ１およびレイヤＬ２に対応する画像を表示させることができる。また、仮にウィンドウサイズが、パケット１５個分の大きさであれば、送信端末装置は、パケットＰ１乃至Ｐ１５を受信端末装置に送信し、受信端末装置は、送信端末装置から受信したパケットＰ１乃至Ｐ１５の全データを利用して、レイヤＬ１、レイヤＬ２、およびレイヤＬ３に対応する画像を表示させることができる。また、仮にウィンドウサイズが、パケット２０個分の大きさであれば、送信端末装置は、パケットＰ１乃至Ｐ２０を受信端末装置に送信し、受信端末装置は、送信端末装置から受信したパケットＰ１乃至Ｐ２０の全データを利用して、レイヤＬ１、レイヤＬ２、レイヤＬ３、およびレイヤＬ４に対応する画像を表示させることができる。
【００２１】
しかしながら、１つのレイヤを構成する全パケットが揃わない場合、そのレイヤに含まれるパケットのデータを利用しても、それによる画質の向上は期待できないため、それらのパケットを送信することに意味がなく、従って、送信するパケットに無駄が生じるという課題があった。
【００２２】
すなわち、例えば、ウィンドウサイズがパケット６個分の大きさであった場合、送信端末装置は、パケットＰ１乃至Ｐ６を受信端末装置に送信するが、受信端末装置は、送信端末装置から受信したパケットＰ１乃至Ｐ６のうちパケットＰ６のデータを利用しても、それによる画質の向上は期待できないため、パケットＰ６を送信することは無駄になる。同様に、ウィンドウサイズが、パケット７個分の大きさであった場合、送信端末装置は、パケットＰ１乃至Ｐ７を受信端末装置に送信するが、受信端末装置は、送信端末装置から受信したパケットＰ１乃至Ｐ７のうちパケットＰ６およびＰ７のデータを利用しても、それによる画質の向上は期待できないため、パケットＰ６およびＰ７を送信することは無駄になる。同様に、ウィンドウサイズが、例えば、パケット８個分の大きさであった場合、送信端末装置は、パケットＰ１乃至Ｐ８を受信端末装置に送信するが、受信端末装置は、送信端末装置から受信したパケットＰ１乃至Ｐ８のうちパケットＰ６、Ｐ７、およびＰ８のデータを利用しても、それによる画質の向上は期待できないため、パケットＰ６、Ｐ７、およびＰ８を送信することは無駄になる。同様に、ウィンドウサイズが、例えば、パケット９個分の大きさであった場合、送信端末装置は、パケットＰ１乃至Ｐ９を受信端末装置に送信するが、受信端末装置は、送信端末装置から受信したパケットＰ１乃至Ｐ９のうちパケットＰ６、Ｐ７、Ｐ８、およびＰ９のデータを利用しても、それによる画質の向上は期待できないため、パケットＰ６、Ｐ７、Ｐ８、およびＰ９を送信することは無駄になる。
【００２３】
このように、階層符号化データをスライディングウィンドウアルゴリズムにより送受信する場合、送信端末装置から受信端末装置に送信するパケットが、１つのレイヤ分、全部が揃わないと、送信端末装置から受信端末装置に送信するパケットの一部分が無駄になってしまうという課題があった。
【００２４】
また、受信端末装置側でも、受信したパケットから、利用することができないパケットを選り分ける必要があった。
【００２５】
本発明はこのような状況に鑑みてなされたものであり、より効率的に情報を送受信することを目的とする。
【００２６】
【課題を解決するための手段】
本発明の情報処理システムは、第１の情報処理装置は、階層符号化データをパケット化して、第１のパケットを生成する生成手段と、生成手段により生成された第１のパケットを、第２の情報処理装置に送信する第１の送信手段と、第１の情報処理装置による第１のパケットの送信時刻、および第１のパケットの損失に関する情報を含む第２のパケットを、第２の情報処理装置から受信する第１の受信手段と、第１の受信手段により受信された第２のパケットに基づいて、送信する第１のパケットのパケット数の基準値を算出する算出手段と、算出手段により算出された基準値に基づいて、生成手段によりパケット化する階層符号化データの階層を設定する設定手段とを備え、第２の情報処理装置は、第１の情報処理装置より、第１のパケットを受信する第２の受信手段と、第２の受信手段により受信された第１のパケットから、階層符号化データを取得する取得手段と、第２の受信手段により受信された第１のパケットに基づいて、第２のパケットを作成する作成手段と、作成手段により作成された第２のパケットを第１の情報処理装置に送信する第２の送信手段とを備えることを特徴とする。
【００２７】
本発明の情報処理装置は、階層符号化データをパケット化して、第１のパケットを生成する生成手段と、生成手段により生成された第１のパケットを、他の情報処理装置に送信する送信手段と、情報処理装置による第１のパケットの送信時刻、および第１のパケットの損失に関する情報を含む第２のパケットを、他の情報処理装置から受信する受信手段と、受信手段により受信された第２のパケットに基づいて、送信する第１のパケットのパケット数の基準値である第１の数を算出する算出手段と、算出手段により算出された第１の数に基づいて、生成手段によりパケット化する階層符号化データの階層を設定する設定手段とを備えることを特徴とする。
【００２８】
前記設定手段には、前記生成手段により生成される前記第１のパケットのパケット数が、前記第１の数以下になるように、前記生成手段によりパケット化する前記階層化データの階層を設定するようにさせることができる。
【００２９】
前記設定手段には、パケット化する階層として設定された階層の階層符号化データをパケット化した場合に、前記生成手段により生成される前記第１のパケットのパケット数である第２の数が、前記第１の数以下になるように、パケット化する前記階層を設定するとともに、前記第１の数から第２の数を差し引いた余りである第３の数を算出すようにさせ、前記生成手段には、第３の数だけ、冗長データをさらにパケット化して前記第１のパケットを生成するようにさせることができる。
【００３０】
前記設定手段には、優先的に送信する階層の前記階層符号化データをパケット化した場合に、前記生成手段により生成される前記第１のパケットのパケット数である第２の数が、前記第１の数以下になるように、優先的に送信する前記階層を設定するとともに、前記第１の数から第２の数を差し引いた余りである第３の数を算出するようにさせ、前記生成手段には、優先的に送信する階層の前記階層符号化データをパケット化して、前記第１のパケットを生成するとともに、第３の数だけ、優先的に送信しない階層の前記階層符号化データをパケット化して、第１のパケットを生成するようにさせることができる。
【００３１】
本発明の情報処理方法は、階層符号化データをパケット化して、第１のパケットを生成する生成ステップと、生成ステップの処理により生成された第１のパケットを、他の情報処理装置に送信する送信ステップと、情報処理装置による第１のパケットの送信時刻、および第１のパケットの損失に関する情報を含む第２のパケットを、他の情報処理装置から受信する受信ステップと、受信ステップの処理により受信された第２のパケットに基づいて、送信する第１のパケットのパケット数の基準値である第１の数を算出する算出ステップと、算出ステップの処理により算出された第１の数に基づいて、生成ステップの処理によりパケット化する階層符号化データの階層を設定する設定ステップとを含むことを特徴とする。
【００３２】
本発明の記録媒体のプログラムは、他の情報処理装置に送信するために、階層符号化データをパケット化して、第１のパケットを生成する生成ステップと、情報処理装置による第１のパケットの送信時刻、および第１のパケットの損失に関する情報を含む第２のパケットを、他の情報処理装置から受信した場合、受信された第２のパケットに基づいて、送信する第１のパケットのパケット数の基準値を算出する算出ステップと、算出ステップの処理により算出された基準値に基づいて、生成ステップの処理によりパケット化する階層符号化データの階層を設定する設定ステップとを含むことを特徴とする。
【００３３】
本発明のプログラムは、パケット通信により、階層符号化されたデータである階層符号化データを他の情報処理装置に送信する情報処理装置を制御するコンピュータに、他の情報処理装置に送信するために、階層符号化データをパケット化して、第１のパケットを生成する生成ステップと、情報処理装置による第１のパケットの送信時刻、および第１のパケットの損失に関する情報を含む第２のパケットを、他の情報処理装置から受信した場合、受信された第２のパケットに基づいて、送信する第１のパケットのパケット数の基準値を算出する算出ステップと、算出ステップの処理により算出された基準値に基づいて、生成ステップの処理によりパケット化する階層符号化データの階層を設定する設定ステップとを実行させることを特徴とする。
【００３４】
本発明の情報処理システムにおいては、第１の情報処理装置では、階層符号化データがパケット化されて、第１のパケットが生成され、生成された第１のパケットが、第２の情報処理装置に送信され、第１の情報処理装置による第１のパケットの送信時刻、および第１のパケットの損失に関する情報を含む第２のパケットが、第２の情報処理装置から受信され、受信された第２のパケットに基づいて、送信する第１のパケットのパケット数の基準値が算出され、算出された基準値に基づいて、パケット化する階層符号化データの階層が設定される。また、第２の情報処理装置では、第１の情報処理装置より、第１のパケットが受信され、受信された第１のパケットから、階層符号化データが取得され、受信された第１のパケットに基づいて、第２のパケットが作成され、作成された第２のパケットが第１の情報処理装置に送信される。
【００３５】
本発明の情報処理装置および方法、記録媒体、並びにプログラムにおいては、階層符号化データがパケット化されて、第１のパケットが生成され、生成された第１のパケットが、他の情報処理装置に送信され、情報処理装置による第１のパケットの送信時刻、および第１のパケットの損失に関する情報を含む第２のパケットが、他の情報処理装置から受信され、受信された第２のパケットに基づいて、送信する第１のパケットのパケット数の基準値である第１の数が算出され、算出された第１の数に基づいて、パケット化する階層符号化データの階層が設定される。
【００３６】
本発明は、ネットワークに接続される電子機器に適用することができる。
【００３７】
【発明の実施の形態】
図３は、本発明を適用した情報処理システムの一実施の形態の構成を示す図である。
【００３８】
図３において、画像送信装置１１および、画像受信装置１２は、インターネットを含むネットワーク１０を介して、接続されている。画像送信装置１１は、例えばJPEG2000などの符号化方式により符号化された階層符号化データを含むパケット（以下の説明において、階層符号化データを含むパケットをデータパケットと称する）を生成し、生成したデータパケットを、ネットワーク１０を介して、画像受信装置１２に実時間送信する。また、画像送信装置１１は、画像受信装置１２より、画像送信装置１１がデータパケットを送信した送信時刻やパケット損失に関する情報を含むパケット（以下の説明において、画像受信装置１２から画像送信装置１１に送信されるパケットを応答パケットと称する）を受信し、これらの情報に基づいて、データパケットの送信レートを制御する。
【００３９】
画像受信装置１２は、画像送信装置１１から受信したデータパケットから、階層符号化データを取得し、所定の記録媒体に記録するとともに、画像送信装置１１によるデータパケットの送信時刻やパケット損失に関する情報を含む応答パケットを生成し、この応答パケットを、画像送信装置１１に送信する。
【００４０】
次に、図４は、画像送信装置１１の内部の構成例を表している。図４において、操作部１０１は、ユーザからの操作の入力を受け付け、受け付けられた操作に対応する操作情報を制御部１０２に通知する。制御部１０２は、予め設定されたプログラムや、操作部１０１からの操作情報に基づいて、画像送信装置１１の各部の動作を制御する。
【００４１】
記録媒体１０３には、JPEG2000などの符号化方式により符号化された階層符号化データが記録されており、適宜、この階層符号化データを、パケット生成部１０５に供給する。入力部１０４は、図示せぬ外部機器（例えば、撮像装置やマイクロフォン）より、階層符号化データの入力を受け付け、入力された階層符号化データを、パケット生成部１０５に供給する。
【００４２】
パケット生成部１０５は、階層設定部１２３からの制御に従って、記録媒体１０３、または入力部１０４から供給された階層符号化データを分割し、分割したデータを含むデータパケットを生成する。パケット生成部１０５は、例えば、図２に示されるように、階層符号化データを、レイヤ毎に複数個に分割し、それぞれのデータを含むデータパケットを生成する。そして、パケット生成部１０５は、生成されたデータパケットのうち、階層設定部１２３から、廃棄するように指令されたデータパケットを廃棄し、廃棄されずに残ったパケットを、パケット送信部１０６に供給する。なお、パケット生成部１０５は、生成したデータパケットに、TCP/IP（Transmission Control Protocol/Internet Protocol）、またはUDP/IP（User Datagram Protocol/Internet Protocol）のパケットヘッダを付加する。パケットヘッダには、データパケットの個々を識別するためのシーケンス番号（以下、パケットヘッダ含まれるシーケンス番号をパケットＩＤと称する）が含まれている。
【００４３】
パケット送信部１０６は、パケット生成部１０５により生成されたデータパケットが供給されると、これを、所定のタイミングで、ネットワーク１０を介して、画像受信装置１２に送信する。なお、パケット送信部１０６は、階層設定部１２３による制御を受ける。また、パケット送信部１０６は、データパケットを送信するとき、そのデータパケットのパケットヘッダに、現在時刻を、データパケットの送信時刻として記録する。
【００４４】
パケット受信部１０７は、画像受信装置１２より、応答パケットを受信し、これを送信レート算出部１２１に供給する。
【００４５】
レート制御部１０８は、パケット受信部１０７により受信された応答パケットに基づいて、パケット生成部１０５およびパケット送信部１０６を制御し、データパケットの送信レートを最適な値に調節する。レート制御部１０８内の送信レート算出部１２１は、パケット受信部１０７から供給された応答パケットに基づいて、データパケットの理想的な送信レートを算出し、算出結果をパケット数算出部１２２に通知する。パケット数算出部１２２は、送信レート算出部１２１からの通知に基づいて、画像受信装置１２に送信する理想的なパケット数を算出し、階層設定部１２３に通知する。階層設定部１２３は、パケット数算出部１２２から通知された送信レートに基づいて、画像受信装置１２に送信するデータパケットのレイヤ（階層）を設定する。
【００４６】
次に、図５は、画像受信装置１２の内部の構成例を表している。図５において、操作部１５１は、ユーザからの操作の入力を受け付け、受け付けられた操作に対応する操作情報を制御部１５２に通知する。制御部１５２は、予め設定されたプログラムや、操作部１５１からの操作情報に基づいて、画像受信装置１２の各部の動作を制御する。
【００４７】
パケット受信部１５３は、画像送信装置１１から送信されたデータパケットを、ネットワーク１０を介して受信し、データパケットに含まれている階層符号化データを、記録媒体１５４に記録するとともに、データパケットに付加されているパケットヘッダを読み出し、パケットヘッダに含まれている情報、すなわち、パケットＩＤとデータパケットの送信時刻に関する情報を状態測定部１５５に供給する。
【００４８】
記録媒体１５４は、例えば、ハードディスクにより構成され、パケット受信部１５３から供給された階層符号化データが記録されるとともに、図示せぬ外部機器により、記録された階層符号化データが読み出される。
【００４９】
状態測定部１５５は、パケット受信部１５３からパケットＩＤとデータパケットの送信時刻に関する情報を受信する。そして、状態測定部１５５は、パケット受信部１５３から供給されたパケットＩＤを基に、損失パケットの有無を判定し、損失パケットがある場合、損失パケットのシーケンス番号を、損失パケットＩＤとして取得する。さらに、状態測定部１５５は、データパケットを受信した受信時刻を取得する。そして、状態測定部１５５は、パケットヘッダから読み出されたデータパケット送信時刻、およびパケットＩＤ、並びに、自らが取得したデータパケット受信時刻、および損失パケットＩＤを、パケット生成部１５６に供給する。
【００５０】
パケット生成部１５６は、状態測定部１５５から、パケットヘッダから読み出されたデータパケット送信時刻、およびパケットＩＤ、並びに、自らが取得したデータパケット受信時刻、および損失パケットＩＤが供給された場合、これらの情報を含む応答パケットを生成し、この応答パケットをパケット送信部１５７に供給する。
【００５１】
パケット送信部１５７は、パケット生成部１５６から供給された応答パケットを、ネットワーク１０を介して、画像送信装置１１に送信する。なお、パケット送信部１５７は、応答パケットを送信するとき、その応答パケットのパケットヘッダに、現在時刻を、応答パケットの送信時刻として記録する。
【００５２】
次に、図６のフローチャートを参照して、画像送信装置１１の画像送信処理、および画像受信装置の画像受信処理について説明する。なお、以下の説明においては、画像送信装置１１から画像受信装置１２に送信する階層符号化データとして、図２に示されるJPEG2000の符号化方式により符号化された階層符号化データを採用した場合を説明する。すなわち、図２に示されるように、階層符号化データは、４つのレイヤ（階層）を有し、各レイヤは５個のパケットに分割される。
【００５３】
図６のステップＳ１において、画像送信装置１１のパケット生成部１０５は、階層設定部１２３からの制御に従って、記録媒体１０３、または入力部１０４から供給される階層符号化データをパケット化し、データパケットを生成する。ステップＳ２において、パケット送信部１０６は、パケット生成部１０５がステップＳ１で生成したデータパケットを、ネットワーク１０を介して、画像受信装置１２に送信する。その後、処理はステップＳ１に戻り、ステップＳ１以降の処理が繰り返される。なお、ステップＳ２の送信処理の詳細な説明は後述する。
【００５４】
画像受信装置１２のパケット受信部１５３は、ステップＳ１１において、画像送信装置１１が、ステップＳ２で送信したデータパケットを受信する。ステップＳ１２において、画像受信装置１２のパケット受信部１５３は、ステップＳ１１で受信されたデータパケットより、階層符号化データを読み出し、この階層符号化データを、記録媒体１５４に記録する。その後、処理はステップＳ１１に戻り、ステップＳ１１以降の処理が繰り返される。
【００５５】
以上のようにして、データパケットが、画像送信装置１１から画像受信装置１２に実時間送信され、記録媒体１５４に記録される。記録媒体１５４に記録された階層符号化データは、適宜、外部機器により読み出され、デコードされ、画像が再生される。
【００５６】
ところで、本発明においては、画像受信装置１２から画像送信装置１１に、応答パケットが送信され、この応答パケットに基づいて、データパケットの送信レートが制御される。
【００５７】
そこで、次に、図７のフローチャートを参照して、画像受信装置１２の確認応答処理、すなわち、画像受信装置１２が、応答パケットを作成し、画像送信装置１１に送信する処理について説明する。
【００５８】
ステップＳ５１において、画像受信装置１２の制御部１５２は、パケット受信部１５３を監視し、パケット受信部１５３がデータパケットを受信するまで待機し、パケット受信部１５３がデータパケットを受信した場合、処理はステップＳ５２に進む。ステップＳ５２において、状態測定部１５５は、内蔵する内部時計より、現在時刻を取得する。ステップＳ５３において、状態測定部１５５は、パケット受信部１５３から、パケットヘッダとして付加されていた情報である、データパケットの送信時刻、およびパケットＩＤを取得し、パケットＩＤに基づいて、パケットの損失の有無を判定する。
【００５９】
すなわち、パケットＩＤは、シーケンス番号であるため、今回受信したデータパケットのパケットＩＤが、前回受信したデータパケットのパケットＩＤと連番になっているか否かを判定することにより、データパケットの損失の有無を判定することができる。例えば、前回受信したデータパケットのパケットＩＤが「１０」で、今回受信したデータパケットのパケットＩＤが「１１」であった場合、「１０」と「１１」で連続しているので、状態測定部１５５は、データパケットの損失はないと判定する。また、例えば、前回受信したデータパケットのパケットＩＤが「１０」で、今回受信したデータパケットのパケットＩＤが「１２」であった場合、「１０」と「１２」で連続していないので、状態測定部１５５は、データパケットが損失していると判定する。
【００６０】
ステップＳ５３において、状態測定部１５５が、データパケットの損失がないと判定した場合、処理はステップＳ５４に進む。
【００６１】
ステップＳ５４において、状態測定部１５５は、ステップＳ５２で取得したデータパケットの受信時刻、並びにデータパケットのパケットヘッダから取得したデータパケットの送信時刻およびパケットＩＤを、パケット生成部１５６に供給する。パケット生成部１５６は、状態測定部１５５から供給された、データパケットの受信時刻、並びにデータパケットの送信時刻およびパケットＩＤを情報として含む応答パケットを生成し、この応答パケットをパケット送信部１５７に供給する。その後、処理はステップＳ５６に進む。
【００６２】
ステップＳ５３において、状態測定部１５５が、データパケットの損失があると判定した場合、処理はステップＳ５５に進む。
【００６３】
ステップＳ５５において、状態測定部１５５は、損失したパケットのパケットＩＤを特定する。例えば、前回受信したデータパケットのパケットＩＤが「１０」で、今回受信したデータパケットのパケットＩＤが「１２」であった場合、状態測定部１５５は、損失パケットＩＤは「１１」であると特定する。状態測定部１５５は、ステップＳ５２で取得したデータパケットの受信時刻、データパケットのパケットヘッダから取得したデータパケットの送信時刻およびパケットＩＤ、並びに損失パケットＩＤを、パケット生成部１５６に供給する。パケット生成部１５６は、状態測定部１５５から供給された、データパケットの受信時刻、データパケットの送信時刻およびパケットＩＤ、並びに損失パケットＩＤを情報として含む応答パケットを生成し、この応答パケットをパケット送信部１５７に供給する。その後、処理はステップＳ５６に進む。
【００６４】
ステップＳ５６において、パケット送信部１５７は、パケット生成部１５６から供給された応答パケットを、ネットワーク１０を介して、画像送信装置１１に送信する。なお、パケット送信部１５７は、応答パケットを送信する直前に、内蔵する内部時計から現在時刻を取得し、この現在時刻を、応答パケットの送信時刻として、パケットヘッダに記録する。
【００６５】
その後、処理はステップＳ５１に戻り、ステップＳ５１以降の処理が繰り返される。
【００６６】
以上のようにして、画像受信装置１２から画像送信装置１１に対して、応答パケットが送信される。
【００６７】
画像送信装置１１は、画像受信装置１２から受信した応答パケットに基づいて、データパケットの送信レートを制御する。
【００６８】
次に、図８のフローチャートを参照して、画像送信装置１１のレート制御処理、すなわち、データパケットの送信レートの制御について説明する。
【００６９】
ステップＳ１０１において、制御部１０２は、パケット受信部１０７を監視し、パケット受信部１０７が応答パケットを受信するまで待機する．そして、パケット受信部１０７が応答パケットを受信したとき、処理はステップＳ１０２に進む。
【００７０】
ステップＳ１０２において、レート制御部１０８の送信レート算出部１２１は、パケット受信部１０７が受信した応答パケットを、パケット受信部１０７より取得するとともに、パケット受信部１０７が応答パケットを受信した受信時刻を、内蔵する内部時計より取得する。そして、送信レート算出部１２１は、取得した応答パケットの受信時刻、並びに応答パケットに含まれているデータパケットの送信時刻、データパケットの受信時刻、および応答パケットの送信時刻から、RTT（Round Trip Time）を算出する。
【００７１】
すなわち、RTTは、画像送信装置１１から送信されたデータパケットが画像受信装置１２により受信されるまでの時間（この時間をＴ１とする）と、画像受信装置１２から送信された応答パケットが画像送信装置１１により受信されるまでの時間（この時間をＴ２とする）の和（Ｔ１＋Ｔ２）である。
【００７２】
ここで、画像送信装置１１から送信されたデータパケットが画像受信装置１２により受信されるまでの時間Ｔ１は、データパケットの受信時刻からデータパケットの送信時刻を引き算して求められる。また、画像受信装置１２から送信された応答パケットが画像送信装置１１により受信されるまでの時間Ｔ２は、応答パケットの受信時刻から応答パケットの送信時刻を引き算して求められる。
【００７３】
以上のようにして、送信レート算出部１２１が、RTTを取得した後、処理は、ステップＳ１０３に進む。
【００７４】
ステップＳ１０３において、送信レート算出部１２１は、応答パケットに含まれている損失パケットＩＤに基づいて、単位時間あたりのパケットロス率を算出する。
【００７５】
ステップＳ１０４において、送信レート算出部１２１は、送信レートＴを算出する。送信レートの算出方法には、例えば、TFRC（TCP-Friendly Rate Control）を利用することができる。なお、TFRCについては、S.Floyd,M.Handley,J.Pandhye and J.Widmer，“Equation-Based Congestion Control for Unicast Applications”，Proceedings of ACM SIGCOMM 2000，May 2000に詳細な説明がある。TFRCにおいては、パケットロス率とRTTを利用して、画像送信装置１１からデータパケットを送信する理想的な送信レートを、以下の式（この式を式（１）とする）により予測する。
【００７６】
【数１】
2004193992.tif 000003
【００７７】
式（１）において、Ｔは理想的な送信レート、ｓはパケットサイズ、ｐはパケットロス率、ｔはTCP（Transmission Control Protocol）のタイムアウト時間（通常は、RTTの４倍）である。送信レート算出部１２１は、式（１）により、送信レートＴを算出した後、算出した送信レートＴを、パケット数算出部１２２に通知する。その後、処理はステップＳ１０５に進む。
【００７８】
ステップＳ１０５において、パケット数算出部１２２は、送信パケット数を以下の式（この式を式（２）とする）により、算出する。
【００７９】
ｎ＝（ｆ×ｓ）／Ｔ
【００８０】
式（２）において、ｎは送信パケット数、ｆはフレームレート、ｓはパケットサイズ、ＴはステップＳ１０４で算出された送信レートである。パケット数算出部１２２は、送信パケット数ｎを算出した後、算出した送信パケット数ｎを、階層設定部１２３に通知する。その後、処理はステップＳ１０６に進む。
【００８１】
ステップＳ１０６において、階層設定部１２３は、変数ＬをＬ＝０に初期化する。その後、処理はステップＳ１０７に進む。ステップＳ１０７において、階層設定部１２３は、以下の式（この式を式（３）とする）が成立するか否かを判定する。
【００８２】
（Ｌ＋１）×５≦ｎ
【００８３】
式（３）において、「５」は、１つのレイヤに含まれるパケットの個数を表している。すなわち、図２においては、１つのレイヤは、５個のパケットに分割されているので、式（３）において「５」とされている。そして、式（３）が成立する場合、処理はステップＳ１０８に進む。
【００８４】
ステップＳ１０８において、階層設定部１２３は、変数Ｌが４以上であるか否かを判定し、４以上ではない（４未満である）と判定した場合、処理はステップＳ１０９に進む。なお、ステップＳ１０８における判定の基準「４」は、レイヤの個数を表している。すなわち、図２において、階層符号化データは、レイヤＬ１乃至Ｌ４の４個のレイヤにより構成されていたため、ステップＳ１０８において、判定の基準が「４」とされる。
【００８５】
ステップＳ１０９において、階層設定部１２３は、変数Ｌの値を１だけインクリメントする。その後、処理はステップＳ１０７に戻り、ステップＳ１０７以降の処理が繰り返される。
【００８６】
ステップＳ１０７において、階層設定部１２３が、式（３）が成立しないと判定した場合、ステップＳ１０８の処理はスキップされ、処理はステップＳ１１０に進む。また、ステップＳ１０８において、階層設定部１２３が、変数Ｌは４以上であると判定した場合、処理はステップＳ１１０に進む。
【００８７】
例えば、ステップＳ１０５で、ｎ＝１７と算出された場合、ステップＳ１０６乃至ステップＳ１０９の処理は、以下のようになる。
【００８８】
まず、ステップＳ１０６においてＬ＝０に初期化され、ステップＳ１０７において、式（３）に、変数Ｌ＝０、およびｎ＝１７が代入され、式（３）が成立するか否かが判定される。変数Ｌ＝０の場合、式（３）は成立するので、処理はステップＳ１０８に進む。ステップＳ１０８において、変数Ｌが４以上であるか否かが判定されるが、変数Ｌ＝０なので、変数Ｌは４以上ではないと判定され、処理はステップＳ１０９に進む。ステップＳ１０９において、変数Ｌが１だけインクリメントされ、Ｌ＝１に設定される。
【００８９】
その後、処理はステップＳ１０７に戻り、式（３）に、変数Ｌ＝１、およびｎ＝１７が代入され、式（３）が成立するか否かが判定される。変数Ｌ＝１の場合、式（３）は成立するので、処理はステップＳ１０８に進む。ステップＳ１０８において、変数Ｌが４以上であるか否かが判定されるが、変数Ｌ＝１なので、変数Ｌは４以上ではないと判定され、処理はステップＳ１０９に進む。ステップＳ１０９において、変数Ｌが１だけインクリメントされ、変数Ｌ＝２に設定される。
【００９０】
その後、処理はステップＳ１０７に戻り、式（３）に、変数Ｌ＝２、およびｎ＝１７が代入され、式（３）が成立するか否かが判定される。変数Ｌ＝２の場合、式（３）は成立するので、処理はステップＳ１０８に進む。ステップＳ１０８において、変数Ｌが４以上であるか否かが判定されるが、変数Ｌ＝２なので、変数Ｌは４以上ではないと判定され、処理はステップＳ１０９に進む。ステップＳ１０９において、変数Ｌが１だけインクリメントされ、変数Ｌ＝３に設定される。
【００９１】
その後、処理はステップＳ１０７に戻り、式（３）に、変数Ｌ＝３、およびｎ＝１７が代入され、式（３）が成立するか否かが判定される。変数Ｌ＝３の場合、式（３）は成立しないので、処理はステップＳ１１０に進む。
【００９２】
ステップＳ１１０において、階層設定部１２３は、Ｌ＋１層より上位のレイヤのデータパケットを廃棄する。ステップＳ１１１において、階層設定部１２３は、下位のＬ層までのパケットを、画像受信装置１２に送信するデータパケットとして設定する。
【００９３】
例えば、ステップＳ１０６乃至ステップＳ１０９の処理により、変数ＬがＬ＝１に設定されていた場合、階層設定部１２３は、ステップＳ１１０において、図２に示される４つのレイヤのうち、レイヤＬ２乃至Ｌ４のパケット、すなわちパケットＰ６乃至Ｐ２０のパケットを廃棄し、ステップＳ１１１において、図２に示されるレイヤＬ１のパケット、すなわちパケットＰ１乃至Ｐ５を、画像受信装置１２に送信するデータパケットとして設定する。
【００９４】
また、例えば、ステップＳ１０６乃至ステップＳ１０９の処理により、変数ＬがＬ＝２に設定されていた場合、階層設定部１２３は、ステップＳ１１０において、図２に示される４つのレイヤのうち、レイヤＬ３およびＬ４のパケット、すなわちパケットＰ１１乃至Ｐ２０のパケットを廃棄し、ステップＳ１１１において、図２に示されるレイヤＬ１およびＬ２のパケット、すなわちパケットＰ１乃至Ｐ１０を、画像受信装置１２に送信するデータパケットとして設定する。
【００９５】
また、例えば、ステップＳ１０６乃至ステップＳ１０９の処理により、変数ＬがＬ＝３に設定されていた場合、階層設定部１２３は、ステップＳ１１０において、図２に示される４つのレイヤのうち、レイヤＬ４のパケット、すなわちパケットＰ１６乃至Ｐ２０のパケットを廃棄し、ステップＳ１１１において、図２に示されるレイヤＬ１乃至Ｌ３のパケット、すなわちパケットＰ１乃至Ｐ１５を、画像受信装置１２に送信するデータパケットとして設定する。
【００９６】
また、例えば、ステップＳ１０６乃至ステップＳ１０９の処理により、変数ＬがＬ＝４に設定されていた場合、階層設定部１２３は、ステップＳ１１０において、パケットを廃棄せず、ステップＳ１１１において、図２に示されるレイヤＬ１乃至Ｌ４のパケット、すなわちパケットＰ１乃至Ｐ２０を、画像受信装置１２に送信するデータパケットとして設定する。
【００９７】
ステップＳ１１１の処理の後、処理はステップＳ１０１に戻り、ステップＳ１０１以降の処理が繰り返される。
【００９８】
このようにして、画像送信装置１１から画像受信装置１２に送信する階層符号化データの階層が決定される。
【００９９】
階層設定部１２３は、以上の処理による設定に基づいて、パケット生成部１０５により生成されたデータパケットのうち、画像受信装置１２に送信するデータパケットのみをパケット生成部１０５に選択させ、それ以外のデータパケットを廃棄させる。その後、選択されたデータパケットのみが、パケット生成部１０５からパケット送信部１０６に供給される。
【０１００】
次に、図９のフローチャートを参照して、図６のステップＳ２の処理、すなわち、データパケットを、パケット送信部１０６から画像受信装置１２に送信する送信処理について説明する。
【０１０１】
パケット送信部１０６は、パケット生成部１０５から、送信すべきパケットとして設定されたデータパケットの供給を受けて、ステップＳ１５１において、送信するデータパケットの階層ｉをｉ＝１に設定する。その後、処理はステップＳ１５２に進む。
【０１０２】
ステップＳ１５２において、パケット送信部１０６は、階層ｉのデータパケットのパケットヘッダに、送信時刻を記録して、データパケットを画像受信装置１２に送信する。その後、処理はステップＳ１５３に進む。
【０１０３】
ステップＳ１５３において、パケット送信部１０６は、階層ｉを１だけインクリメントする。その後、処理はステップＳ１５４に進む。
【０１０４】
ステップＳ１５４において、パケット送信部１０６は、階層ｉが、図８のフローチャートのステップＳ１０６乃至ステップＳ１０９の処理により設定された変数Ｌより大きいか否かを判定し、階層ｉが変数Ｌより大きくない場合（階層ｉが変数Ｌ以下の場合）、処理はステップＳ１５２に戻り、ステップＳ１５２以降の処理が繰り返される。そして、ステップＳ１５４において、階層ｉが変数Ｌより大きいと判定された場合、パケット送信部１０６は、データパケットの送信を終了する。
【０１０５】
例えば、変数ＬがＬ＝３であった場合、まず、ステップＳ１５１でｉ＝１に設定され、ステップＳ１５２において、ｉ＝１に対応するレイヤ、すなわち図２においてレイヤＬ１のパケットＰ１乃至Ｐ５が、画像受信装置１２に送信される。その後、ステップＳ１５３において、ｉが１だけインクリメントされ、ｉ＝２に設定される。そして、ステップＳ１５４において、ｉがＬより大きいか否かが判定されるが、ｉ＝２であり、ｉはＬより大きくないので、処理はステップＳ１５２に戻る。
【０１０６】
その後、ステップＳ１５２において、ｉ＝２に対応するレイヤ、すなわち図２においてレイヤＬ２のパケットＰ６乃至Ｐ１０が、画像受信装置１２に送信される。その後、ステップＳ１５３において、ｉが１だけインクリメントされ、ｉ＝３に設定される。そして、ステップＳ１５４において、ｉがＬより大きいか否かが判定されるが、ｉ＝３であり、ｉはＬより大きくないので、処理はステップＳ１５２に戻る。
【０１０７】
その後、ステップＳ１５２において、ｉ＝３に対応するレイヤ、すなわち図２においてレイヤＬ３のパケットＰ１１乃至Ｐ１５が、画像受信装置１２に送信される。その後、ステップＳ１５３において、ｉが１だけインクリメントされ、ｉ＝４に設定される。そして、ステップＳ１５４において、ｉがＬより大きいか否かが判定されるが、ｉ＝４であり、ｉはＬより大きいので、処理が終了される。
【０１０８】
以上のようにして、画像送信装置１１から画像受信装置１２に対して、１階層分ずつ、データパケットが送信される。
【０１０９】
以上のようにして、データパケットを送信するようにした場合、画像送信装置１１から画像受信装置１２に送信されるデータパケットの個数は、例えば、図１０のように制御される。
【０１１０】
図１０は、図１と同様、縦軸が、ウィンドウサイズを表し、横軸が時間軸を表している。図１０のグラフにおいては、時刻ｔ０乃至ｔ１の間、レイヤＬ１に相当する５個のパケットＰ１乃至Ｐ５が送信するデータパケットとして設定され、時刻ｔ１乃至ｔ２の間、レイヤＬ１およびＬ２に相当する１０個のパケットＰ１乃至Ｐ１０が送信するデータパケットとして設定され、時刻ｔ２乃至ｔ３の間、レイヤＬ１乃至Ｌ３に相当する１５個のパケットＰ１乃至Ｐ１５が送信するデータパケットとして設定され、時刻ｔ３乃至ｔ４の間、レイヤＬ１およびＬ２に相当する１０個のパケットＰ１乃至Ｐ１０が送信するデータパケットとして設定され、時刻ｔ４乃至ｔ５の間、レイヤＬ１乃至Ｌ３に相当する１５個のパケットＰ１乃至Ｐ１５が送信するデータパケットとして設定され、時刻ｔ５乃至ｔ６の間、レイヤＬ１およびＬ２に相当する１０個のパケットＰ１乃至Ｐ１０が送信するデータパケットとして設定され、時刻ｔ６乃至ｔ７の間、レイヤＬ１乃至Ｌ３に相当する１５個のパケットＰ１乃至Ｐ１５が送信するデータパケットとして設定され、時刻ｔ７以降、レイヤＬ１およびＬ２に相当する１０個のパケットＰ１乃至Ｐ１０が送信するデータパケットとして設定されている。
【０１１１】
図１１は、図１０に示される、本発明を適用した場合の送信パケット数の推移を、図１の従来例と比較した図である。
【０１１２】
図１１において、図１の従来例の送信パケットの個数の推移が、点線で示されている。また、図１０に示される、本発明を適用した場合の送信パケット数の推移が、実線で示されている。図１１において、斜線で示された範囲のパケットは、従来例において、画像送信装置１１から画像受信装置１２に送信されても、画質の向上が期待できないデータを含むパケットである。
【０１１３】
各レイヤを構成するデータパケットを、一まとめにして、画像送信装置１１から画像受信装置１２に送信することにより、画像受信装置１２は、受信されたデータパケットのデータを全て利用して、より高画質な画像を提供することができ、画像送信装置１１から画像受信装置１２に対して無駄に送信するデータを無くすことが可能となる。
【０１１４】
また、図１１において、時刻ｔ０乃至ｔ１の間、従来のレート制御では、送信パケット数が５個未満であるため、画像受信装置１２は、これらのデータパケットを受信しても、画像を再現することができない。また、図１１において、時刻ｔ２乃至ｔ３の間、時刻ｔ４乃至ｔ５の間、および時刻ｔ６乃至ｔ７の間においては、送信パケット数は９個であるため、これらのデータパケットを受信した画像受信装置１２は、受信したデータパケットのうち、４個を利用することができなかった。
【０１１５】
それに対して、本発明においては、時刻ｔ０から、送信パケット数が１つのレイヤ分である５個に設定されているため、画像受信装置１２は、データパケットの受信開始直後から、データをデコードして画像を再生することができる。本発明においては、レイヤ単位で、パケットを一まとめに増減させることにより、無駄なデータパケットの送受信をなくすことができる。
【０１１６】
ところで、図１１において、斜線で示された部分は、送信可能なパケット数の余裕を表しているということもできる。そこで、この余裕を利用して、冗長データを送信するようにしても良い。
【０１１７】
図１２は、送信可能なパケット数の余裕を利用して、エラー訂正用の冗長データを送信するようにした場合における、画像送信装置１１のレート制御処理を表すフローチャートである。
【０１１８】
図１２のフローチャートの、ステップＳ２０１乃至ステップＳ２１１の処理は、図８のステップＳ１０１乃至ステップＳ１１１の処理と同様であるため、説明を省略する。図１２においては、ステップＳ２１１の処理の後、ステップＳ２１２において、階層設定部１２３は、ｎ−（Ｌ×５）個分の冗長データを、送信するパケットとして設定する。すなわち、階層設定部１２３は、ステップＳ２０５で算出された送信パケット数ｎから、ステップＳ２１１で設定された、送信するレイヤのパケット数を差し引いた余りの個数分だけ、エラー訂正用の冗長データを、送信するパケットとして設定する。
【０１１９】
その後、処理はステップＳ２０１に戻り、ステップＳ２０１以降の処理が繰り返される。
【０１２０】
以上のように、ステップＳ２０５で算出された送信パケット数ｎから、ステップＳ２１１で設定された、送信するレイヤのパケット数を差し引いた余りの個数分だけ、エラー訂正用の冗長データを、送信するパケットとして設定した場合、階層設定部１２３は、パケット生成部１０５に、ｎ−（Ｌ×５）個分のエラー訂正用の冗長データを、送信するパケットとして作成するように指令する。パケット生成部１０５は、階層設定部１２３からの指令に従って、ｎ−（Ｌ×５）個分のエラー訂正用の冗長データを、送信するパケットとして作成する。
【０１２１】
以上のように、余り個数分だけ、エラー訂正用の冗長データを送信することにより、画像受信装置１２は、パケットの欠損が発生しても、エラー訂正用の冗長データから、欠損したパケットのデータに対応するデータを作成することができる可能性がある。従って、画像受信装置１２は、画像送信装置１１に対して、欠損したパケットの再送要求をしなければならない可能性を減少させることができる。
【０１２２】
ところで、ネットワーク１０が優先制御を提供する場合、優先度を設定して、全データパケットを送信し、優先度の低いデータパケットが何個、画像受信装置１２に届いたかを測定することにより、ネットワーク１０にどの程度、帯域が空いているかを推測することができる。
【０１２３】
例えば、理想的な送信パケット数ｎがｎ＝１２である場合、画像送信装置１１は、レイヤＬ１およびＬ２の１０個のデータパケット（パケットＰ１乃至Ｐ１０）を、高優先度で送信し、レイヤＬ３およびＬ４のデータパケットを低優先度で送信する。そして、画像受信装置１２からの応答パケットに基づいて、画像受信装置１２に届いたデータパケットの個数を特定する。例えば、画像受信装置１２に、７個のデータパケットが届いた場合、画像送信装置１１は、あと７個分のデータパケットを送信するだけの帯域の余裕があると判断し、それ以降の理想的な送信パケット数ｎの値をｎ＝１０＋７＝１７と設定する。このようにしても良い。
【０１２４】
次に、図１３のフローチャートを参照して、優先度の高いレイヤのデータを優先して送信する場合の画像送信装置１１のレート制御処理について説明する。
【０１２５】
図１３のフローチャートの、ステップＳ２３１乃至ステップＳ２３９の処理は、図８のステップＳ１０１乃至ステップＳ１０９の処理と同様であるため、説明を省略する。図１３においては、ステップＳ２３８の処理の後、ステップＳ２４０において、階層設定部１２３は、下位のＬ層までのレイヤのデータパケットを、高優先度で画像受信装置１２に送信するパケットとして設定する。例えば、変数Ｌ＝２である場合、階層設定部１２３は、図２のレイヤＬ１およびＬ２のデータパケットを、高優先度のパケットとして設定する。
【０１２６】
その後、ステップＳ２４１において、階層設定部１２３は、（Ｌ＋１）層以上のレイヤのデータパケットを、低優先度で画像受信装置１２に送信するパケットとして設定する。例えば、変数Ｌ＝２である場合、階層設定部１２３は、図２のレイヤＬ３およびＬ４のデータパケットを、低優先度のパケットとして設定する。
【０１２７】
ステップＳ２４１の処理の後、ステップＳ２４２において、階層設定部１２３は、応答パケットに基づいて、送信パケット数ｎを設定する。すなわち、応答パケットには、損失パケットＩＤが含まれているので、この損失パケットＩＤを基に、何個のデータパケットが、画像受信装置１２に届いたかを求めることができる。そこで、階層設定部１２３は、損失パケットＩＤを基に、低優先度で送信したデータパケットのうち、画像受信装置１２に届いたデータパケットの個数を算出し、算出した値を、現在設定されている送信パケット数ｎに足し算して、新たな送信パケット数ｎを算出する。
【０１２８】
その後、処理はステップＳ２３６に戻り、ステップＳ２３６以降の処理が繰り返される。
【０１２９】
以上のように、優先度の高いレイヤのデータを優先して、送信するようにしてもよい。
【０１３０】
なお、図１３のフローチャートの処理においては、ネットワーク１０の帯域の空き容量を推測することはできるが、たとえ１つのレイヤ分、余分にデータパケットが画像受信装置１２に届いたとしても、それが、あるレイヤを構成する全パケットが揃うとは限らない。そこで、現在高優先度で送信しているレイヤより、１つ上位のレイヤのデータパケットだけ、低優先度で送信するようにしても良い。次に、図１４のフローチャートを参照して、この場合の画像送信装置１１のレート制御処理について説明する。
【０１３１】
図１４のフローチャートの、ステップＳ２６１乃至ステップＳ２７０、並びにステップＳ２７２の処理は、図１３のステップＳ２３１乃至ステップＳ２４０、並びにステップＳ２４２の処理と同様であるため、説明を省略する。図１４においては、ステップＳ２７０の処理の後、ステップＳ２７１において、階層設定部１２３は、（Ｌ＋１）層のレイヤのデータパケットを、低優先度で画像受信装置１２に送信するパケットとして設定する。例えば、変数Ｌ＝２である場合、階層設定部１２３は、図２のレイヤＬ３のデータパケットを、低優先度のパケットとして設定する。その後、処理はステップＳ２７２に進む。
【０１３２】
以上のようにすることにより、例えば、レイヤＬ１を構成するパケットＰ１乃至Ｐ５を高優先度で送信し、レイヤＬ２を構成するパケットＰ６乃至Ｐ１０を低優先度で送信した結果、レイヤＬ１およびＬ２を構成する全パケットＰ１乃至Ｐ１０が、画像受信装置１２に届いた場合、それ以降、レイヤＬ１およびＬ２を構成するパケットＰ１乃至Ｐ１０を、高優先度で送信し、レイヤＬ３を構成するパケットＰ１１乃至Ｐ１５を低優先度で送信することになり、結果的に、より多くの階層符号化データを送信することが可能となる。従って、外部機器が、画像受信装置１２から階層符号化データを取得し再生した場合、より高精細な画像を表示することが可能となる。
【０１３３】
以上、説明したように、本発明によれば、単位時間当りに送信可能なパケット数が増加した場合、レイヤ（階層）の区切り単位分だけ、送信可能なパケット数が増加するまで、送信パケット数の増加を行なわないようにし、単位時間当りに送信可能なパケット数が減少した場合、送信可能なパケット数以下になるように、レイヤ（階層）の区切り単位分だけ、パケット数を減少させるようにしたので、無駄に送受信するデータパケットをなくすことができ、より効率的に、データの送受信を行なうことが可能となる。また、画像受信装置１２の側でも、受信したデータパケットから、利用することができないデータパケットを選り分ける処理を省略することが可能となる。
【０１３４】
なお、以上の説明においては、図２に示されるような、４つのレイヤを有し、１つのレイヤが５個のパケットに分割される階層符号化データの場合を例にしているが、階層符号化データであれば、レイヤの数、および１レイヤ当りのパケット数は、図２に示されるような個数でなくても良い。
【０１３５】
また、本発明は、実時間ストリーミングに適用することも可能である。
【０１３６】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
【０１３７】
図１５は、画像送信装置１１、または画像受信装置１２をソフトウェアにより実現する場合の情報処理装置の一実施の形態の構成を示している。パーソナルコンピュータ４００のCPU４０１は、パーソナルコンピュータ４００の動作の全体を制御する。また、CPU４０１は、バス４０４および入出力インターフェース４０５を介してユーザからキーボードやマウスなどからなる入力部４０６から指令が入力されると、それに対応してROM(Read Only Memory)４０２に格納されているプログラムを実行する。あるいはまた、CPU４０１は、ドライブ４１０に接続された磁気ディスク４２１、光ディスク４２２、光磁気ディスク４２３、または半導体メモリ４２４から読み出され、記憶部４０８にインストールされたプログラムを、RAM(Random Access Memory)４０３にロードして実行する。これにより、上述した画像送信装置１１、または画像受信装置１２の機能が、ソフトウェアにより実現されている。さらに、CPU４０１は、通信部４０９を制御して、外部と通信し、データの授受を実行する。また、入出力インタフェース４０５には、ディスプレイやスピーカなどにより構成される出力部４０７も接続されている。
【０１３８】
プログラムが記録されている記録媒体は、図１５に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク４２１（フレキシブルディスクを含む）、光ディスク４２２（CD-ROM(Compact Disk-Read Only Memory)，DVD（Digital Versatile Disk）を含む）、光磁気ディスク４２３（MD（Mini-Disc）を含む）、もしくは半導体メモリ４２４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM４０２や、記憶部４０８に含まれるハードディスクなどで構成される。
【０１３９】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【０１４０】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１４１】
【発明の効果】
以上のように、第１の本発明によれば、ネットワークを介して、情報を送受信することができる。また、第１の本発明によれば、より効率的に、情報を送受信することができる。さらに、第１の本発明によれば、ネットワークの帯域の空き領域を利用して、エラー訂正を行なうことができる。また、第１の本発明によれば、ネットワークの帯域の空き容量を予測することができる。
【０１４２】
第２の本発明によれば、ネットワークを介して、情報を送信することができる。また、第２の本発明によれば、より効率的に、情報を送信することができる。さらに、第２の本発明によれば、ネットワークの帯域の空き領域を利用して、エラー訂正を行なうことができる。また、第２の本発明によれば、ネットワークの帯域の空き容量を予測することができる。
【図面の簡単な説明】
【図１】従来の送信パケット数の制御を説明するための図である。
【図２】JPEG2000の符号化方式により符号化された１フレーム分のパケットの例を示す図である。
【図３】本発明を適用した情報処理システムの構成例を示すブロック図である。
【図４】画像送信装置の構成例を示すブロック図である。
【図５】画像受信装置の構成例を示すブロック図である。
【図６】画像送信装置の画像送信処理、および画像受信装置の画像受信処理を説明するフローチャートである。
【図７】画像受信装置の確認応答処理を説明するフローチャートである。
【図８】画像送信装置のレート制御処理を説明するフローチャートである。
【図９】図６のステップＳ２を詳細に説明するフローチャートである。
【図１０】本発明における送信パケット数の制御を説明する図である。
【図１１】本発明における送信パケット数の制御を従来の送信パケット数の制御と比較する図である。
【図１２】画像送信装置のレート制御処理を説明する他のフローチャートである。
【図１３】画像送信装置のレート制御処理を説明する、さらに他のフローチャートである。
【図１４】画像送信装置のレート制御処理を説明するフローチャートである。
【図１５】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
１０  ネットワーク，  １１  画像送信装置，  １２  画像受信装置，  １０１  操作部，  １０２  制御部，  １０３  記録媒体，  １０４  入力部，  １０５  パケット生成部，  １０６  パケット送信部，  １０７  パケット受信部，  １０８  レート制御部，  １２１  送信レート算出部，  １２２  階層設定部，  １５１  操作部，  １５２  制御部，  １５３  パケット受信部，  １５４  記録媒体，  １５５  状態測定部，  １５６  パケット生成部，  １５７  パケット送信部，  ４０１  CPU，  ４０２  ROM，  ４０３  RAM，  ４０４  バス，  ４０５  入出力インタフェース，  ４０６  入力部，  ４０７  出力部，  ４０８  記憶部，  ４０９  通信部，  ４１０  ドライブ，  ４２１  磁気ディスク，  ４２２  光ディスク，  ４２３  光磁気ディスク，  ４２４  半導体メモリ
【図１】
2004193992.tif 000004
【図２】
2004193992.tif 000005
【図３】
2004193992.tif 000006
【図４】
2004193992.tif 000007
【図５】
2004193992.tif 000008
【図６】
2004193992.tif 000009
【図７】
2004193992.tif 000010
【図８】
2004193992.tif 000011
【図９】
2004193992.tif 000012
【図１０】
2004193992.tif 000013
【図１１】
2004193992.tif 000014
【図１２】
2004193992.tif 000015
【図１３】
2004193992.tif 000016
【図１４】
2004193992.tif 000017
【図１５】
2004193992.tif 000018