(57)【要約】【課題】ネットワークの状態の変化に、迅速に適応する。【解決手段】画像送信装置１１は、画像受信装置１２にパケットを送信し、画像受信装置１２から、確認応答を受信する。画像送信装置１１は、受信した確認応答に基づいて、RTTおよびパケットロス率を取得する。そして、画像送信装置１１は、RTTの変動が小さい場合、パケットロス率の変化に対して優先的に対応するレート制御アルゴリズムにより、送信レートを制御し、パケットロス率の変動が小さい場合、RTTの変化に対して優先的に対応するレート制御アルゴリズムにより、送信レートを制御する。このようにすることにより、RTTおよびパケットロス率の２つのパラメータの変化に対応した、理想的な送信レートで、パケットを送信することが可能となる。本発明は、ネットワークに接続される電子機器に適用することができる。【選択図】      図４
2004193991.tif 000002
【特許請求の範囲】
【請求項１】
パケット通信する第１の情報処理装置および第２の情報処理装置から構成される情報処理システムにおいて、
前記第１の情報処理装置は、
前記第２の情報処理装置にパケットを送信する第１の送信手段と、
前記第２の情報処理装置から確認応答を受信する第１の受信手段と、
前記第１の受信手段により受信された前記確認応答に基づいて、RTTを算出する算出手段と、
前記算出手段により算出された前記RTTの変動が所定の値以下であるか否かを判定する第１の判定手段と、
前記第１の判定手段により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第２の判定手段と、
前記第１の判定手段により前記RTTの変動は所定の値以下であると判定された場合、前記パケットの前記パケットロス率の変化に従って、前記パケットの送信レートを設定し、前記第２の判定手段により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定手段と
を備え、
前記第２の情報処理装置は、
前記第１の情報処理装置より、前記パケットを受信する第２の受信手段と、
前記第２の受信手段により受信された前記パケットに基づいて、前記第１の情報処理装置に、前記確認応答を送信する第２の送信手段と
を備えることを特徴とする情報処理システム。
【請求項２】
他の情報処理装置にパケットを送信する送信手段と、
前記他の情報処理装置から確認応答を受信する受信手段と、
前記受信手段により受信された前記確認応答に基づいて、RTTを算出する算出手段と、
前記算出手段により算出された前記RTTの変動が所定の値以下であるか否かを判定する第１の判定手段と、
前記第１の判定手段により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第２の判定手段と、
前記第１の判定手段により前記RTTの変動は所定の値以下であると判定された場合、前記パケットの前記パケットロス率の変化に従って、前記パケットの送信レートを設定し、前記第２の判定手段により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定手段と
を備えることを特徴とする情報処理装置。
【請求項３】
前記送信手段により送信される前記パケットを生成する生成手段をさらに備え、
前記パケットは、画像データを含む
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記設定手段は、前記第１の判定手段により前記RTTの変動は所定の値以下であると判定され、かつ、前記確認応答に、バーストロスの発生の通知が含まれていた場合、前記生成手段により生成される前記パケットに含まれる前記画像データのフレームレートを低下させることにより、送信レートを低下させ、前記第１の判定手段により前記RTTの変動は所定の値以下であると判定され、かつ、前記確認応答に、前記バーストロスの発生の通知が含まれていなかった場合、前記生成手段により生成される前記パケットに含まれる前記画像データの画質を低下させることにより、送信レートを低下させる
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第１の判定手段により前記RTTの変動は所定の値以下であると判定され、かつ、パケットロス率が所定の値より低い場合、ARQを実行し、前記第２の判定手段により前記パケットロス率の変動は所定の値以下であると判定された場合、FECを実行し、前記第２の判定手段によりより前記パケットロス率の変動は所定の値以下ではないと判定された場合、パリティチェックを実行する実行手段をさらに備える
ことを特徴とする請求項２に記載の情報処理装置。
【請求項６】
情報処理装置の情報処理方法において、
他の情報処理装置にパケットを送信する送信ステップと、
前記他の情報処理装置から確認応答を受信する受信ステップと、
前記受信ステップの処理により受信された前記確認応答に基づいて、RTTを算出する算出ステップと、
前記算出ステップの処理により算出された前記RTTの変動が所定の値以下であるか否かを判定する第１の判定ステップと、
前記第１の判定ステップの処理により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第２の判定ステップと、
前記第１の判定ステップの処理により前記RTTの変動は所定の値以下であると判定された場合、前記パケットの前記パケットロス率の変化に従って、前記パケットの送信レートを設定し、前記第２の判定ステップの処理により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定ステップと
を含むことを特徴とする情報処理方法。
【請求項７】
情報処理装置用のプログラムであって、
パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された前記確認応答に基づいて、RTTを算出する算出ステップと、
前記算出ステップの処理により算出された前記RTTの変動が所定の値以下であるか否かを判定する第１の判定ステップと、
前記第１の判定ステップの処理により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第２の判定ステップと、
前記第１の判定ステップの処理により前記RTTの変動は所定の値以下であると判定された場合、前記パケットの前記パケットロス率の変化に従って、前記パケットの送信レートを設定し、前記第２の判定ステップの処理により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項８】
情報処理装置を制御するコンピュータに、
パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された前記確認応答に基づいて、RTTを算出する算出ステップと、
前記算出ステップの処理により算出された前記RTTの変動が所定の値以下であるか否かを判定する第１の判定ステップと、
前記第１の判定ステップの処理により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第２の判定ステップと、
前記第１の判定ステップの処理により前記RTTの変動は所定の値以下であると判定された場合、前記パケットの前記パケットロス率の変化に従って、前記パケットの送信レートを設定し、前記第２の判定ステップの処理により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定ステップと
を実行させることを特徴とするプログラム。
【請求項９】
他の情報処理装置より、パケットを受信する受信手段と、
パケットロスが発生したか否かを判定する第１の判定手段と、
前記第１の判定手段により、パケットロスが発生したと判定された場合、前記パケットロスがバーストロスであるか否かを判定する第２の判定手段と、
前記第２の判定手段による判定結果を含む確認応答を、前記他の情報処理装置に送信する送信手段と
を備えることを特徴とする情報処理装置。
【請求項１０】
情報処理装置の情報処理方法において、
他の情報処理装置より、パケットを受信する受信ステップと、
パケットロスが発生したか否かを判定する第１の判定ステップと、
前記第１の判定ステップの処理により、パケットロスが発生したと判定された場合、前記パケットロスがバーストロスであるか否かを判定する第２の判定ステップと、
前記第２の判定ステップの処理による判定結果を含む確認応答を、前記他の情報処理装置に送信する送信ステップと
を含むことを特徴とする情報処理方法。
【請求項１１】
情報処理装置用のプログラムであって、
他の情報処理装置より、パケットを受信した場合、パケットロスが発生したか否かを判定する第１の判定ステップと、
前記第１の判定ステップの処理により、パケットロスが発生したと判定された場合、前記パケットロスがバーストロスであるか否かの判定結果を含む確認応答を、前記他の情報処理装置に送信するために、前記パケットロスが前記バーストロスであるか否かを判定する第２の判定ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１２】
情報処理装置を制御するコンピュータに、
他の情報処理装置より、パケットを受信した場合、パケットロスが発生したか否かを判定する第１の判定ステップと、
前記第１の判定ステップの処理により、パケットロスが発生したと判定された場合、前記パケットロスがバーストロスであるか否かの判定結果を含む確認応答を、前記他の情報処理装置に送信するために、前記パケットロスが前記バーストロスであるか否かを判定する第２の判定ステップと
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理システム、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、ネットワークの状態の変化に、迅速に適応できるようにした情報処理システム、情報処理装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
送信端末装置から受信端末装置に対して、インターネットなどのネットワークを経由して、連続してパケットを送信する場合、受信端末装置から送信端末装置に対して、損失した（受信されなかった）パケットを特定する情報や、パケットの受信時刻などの情報を含む確認応答が通知される。送信端末装置は、受信端末装置から受信した確認応答に応じて、送信するパケットの送信間隔やパケットサイズを変更して、ネットワークの帯域の状態に最適な送信レートで、パケットを送信する。
【０００３】
ネットワークの帯域の状態に従って、パケットの送信レートを制御するレート制御アルゴリズムは、通常、パケットロス率（送信端末から送信したパケットのうち、損失したパケットの率）、およびRTT（Round Trip Time）を基に、ネットワークの帯域の状態を推測して、送信レートを制御している。
【０００４】
TCP（Transmission Control Protocol）をはじめとする多くのレート制御アルゴリズムにおいては、パケットの損失を検知すると、それがネットワークの輻輳に起因するものだと判定して、送信レートの制御を行なう。例えば、送信端末装置は、パケットの損失を検知した場合、パケットの送信間隔をひろくしたり、パケットサイズを小さくして、ネットワーク上を流れるデータの量を減少させる。しかしながら、このようなレート制御アルゴリズムを適用した場合、送信端末装置は、単に、パケットの受信端末装置への到着順が入れ替わっただけでも、受信端末装置からの通知により、パケットが損失したと推定し、ネットワークの輻輳を回避する処理を開始してしまう。結果的に、このようなレート制御アルゴリズムにおいては、単に、パケットの受信端末装置への到着順が入れ替わっただけでも、送信レートが低下してしまい、単位時間当りに送信されるデータ量が減少してしまうという問題があった。
【０００５】
このような問題を解決するために、RFC（Request For Comments）2581においては、以下のような処理が規定されている。すなわち、TCPにおいては、所定の個数のパケットを一まとめにした、セグメントと呼ばれるデータ管理単位により、データを管理している。送信端末装置は、通し番号（以下の説明において、この通し番号をセグメント番号と称する）を付加して、受信端末装置にセグメントを送信する。受信端末装置は、このセグメントを受信する毎に、連番で受信中のセグメントのセグメント番号を、確認応答として送信端末装置に通知する。パケットが損失した場合、送信端末装置に通知されるセグメント番号が欠落するため、送信端末装置は、パケットの損失を検知することができる。
【０００６】
FRC2581の規定によれば、送信端末装置は、２回までの確認応答の重複は、セグメントの到着順序が入れ替わった可能性があるとして、セグメントが損失したとは判定せず、３回以上、確認応答が重複した場合、途中のセグメントが損失したと判定するようになっている。そして、３回以上の確認応答の重複があった場合、送信端末装置は、タイムアウトを待たずに、損失した可能性のあるセグメントを再送する（Fast Retransmit）。これにより、これまでタイムアウト時間（通常はRTTの４倍）だけ、待機しなければ検知できなかったパケットの損失に、より迅速に対処することが可能となり、また、到着順序の入れ替わりによる、送信レート低下の発生頻度を減少させることが可能となっている。
【０００７】
また、輻輳状態と伝送誤り発生状態とを組み合わせて判定することにより、無意味な送信レートの低下とデータの損失を共に防ぐようにしたレート制御アルゴリズムがある（例えば、特許文献１参照）。すなわち、無線ネットワークにおいては、ネットワークが輻輳していない場合でも、伝送誤りが頻繁に発生するが、ネットワーク層において伝送誤りはパケットロスと同等に扱われてしまうため、伝送誤りの度に、輻輳が発生したと判定して、ネットワークの輻輳を回避する処理を開始してしまう。特許文献１に記載のレート制御アルゴリズムは、これを避けるため、伝送誤りを検知した際に、RTTを基に、ネットワークが輻輳しているか否かを判定し、ネットワークが輻輳していると判定した場合のみ、輻輳回避段階に入るという制御を追加している。
【０００８】
また、パケットロス率とRTTの２つのパラメータを利用して、輻輳回避段階に入るか否かの判定だけではなく、送信端末装置から送信する理想的な送信レートをも予測するようにたレート制御アルゴリズムであるTFRC（TCP-Friendly Rate Control）もある（例えば、非特許文献１参照）。
【０００９】
【特許文献１】
特開2001-160824号公報（第４−６ページ）
【非特許文献１】
S.Floyd,M.Handley,J.Pandhye and J.Widmer，“Equation-Based Congestion Control for Unicast Applications”，Proceedings of ACM SIGCOMM 2000，May2000 pp2
【００１０】
【発明が解決しようとする課題】
しかしながら、TFRCにおいては、パケットロス率とRTTの２つのパラメータの変化に対して、迅速に反応することができないという課題があった。
【００１１】
ところで、インターネットを介して動画をストリーミングする場合、送信端末装置から受信端末装置へ、1フレームを複数のパケットに分割して送信することがある。これは、1フレームのデータが、MTU（Maximum Transmission Unit）より大きいため、または1フレームのデータを意味のある単位で区切り、送信するからである。なお、意味のあるデータとは、例えば、JPEG（Joint PhotographicExperts Group）2000などでは、1フレームの各レイヤ単位のデータのことを指している。
【００１２】
このように、1フレームを複数のパケットに分割して送信する場合、1フレーム内のデータを一度に送信しようとするため、通信データ量が一時的に集中的に増大し、所謂、バーストトラフィックになる。従って、インターネットを介して、送信端末装置から受信端末装置へ、１フレームのデータを送信するとき、このバーストトラフィックの影響で、パケットロスを引き起こす可能性がある。
【００１３】
図１にその例を示す。図１において、画像送信装置１は、保有している画像データを送信する装置であり、画像受信装置３は、画像送信装置１が送信した画像データを受信する装置である。図１において、画像送信装置１および画像受信装置３の間には、ルータ２−１および２−２が設置され、画像送信装置１から送信された画像データのパケットは、ルータ２−１および２−２を介して、画像受信装置３に受信される。すなわち、ルータ２−１は、画像送信装置１から、パケットを受信し、受信したパケットを、ルータ２−２に送信する。ルータ２−２は、ルータ２−１からパケットを受信し、受信したパケットを画像受信装置３に送信する。
【００１４】
画像送信装置１が、例えば、30fps（frames per second）で、動画データのパケットを送出しているとする。図２は、画像送信装置１から送信されるパケットの送出のタイミングを表している。図２において、「１」、「２」、「３」、「４」、「５」、「６」、「７」、および「８」と記されたブロックは、それぞれ１個のパケットを表しており、これらの数字は、パケットのシーケンス番号を表している。図２においては、１フレームのデータを、４個のパケットに分割して送信しているとする。図２において、横軸は時間軸である。
【００１５】
図２に示されるように、画像送信装置１は、まず、シーケンス番号１乃至４のパケットを、順番に送出する。そして、シーケンス番号１のパケットが送出されるタイミングから３３ms後、画像送信装置１は、シーケンス番号５乃至８のパケットを順番に送出する。画像送信装置１から送出されたパケットは、まずルータ２−１に受信される。ルータ２−１は、ルータ２−２にパケットを送出するまでの間、画像送信装置１から受信したパケットを内蔵する記録媒体に保持しておく。しかしながら、画像送信装置１からルータ２−１に、一度に集中的にパケットが到達した場合、記憶すべきパケットのデータ量が、ルータ２−１の記憶容量を超えてしまうことがある。この場合の例を図３に示す。
【００１６】
図３において、ルータ２−１は、例えば、６個のパケットを記憶することができるとする。ここで、画像送信装置１から、一度に集中的にパケットが受信された場合、ルータ２−１の記憶容量を越えた分のパケットである、シーケンス番号７番および８番のパケットは、ルータ２−１により廃棄されてしまう。結果的に、シーケンス番号７番および８番のパケットは、画像受信装置３には届かず、パケットロスが発生する。
【００１７】
画像受信装置３は、シーケンス番号に基づいて、欠落したシーケンス番号の有無を判定することにより、パケットロスを検知する。そして、パケットロスを検知した場合、画像受信装置３は、画像送信装置１に対して、パケットの送信レートを下げるように要求するメッセージを送信する。従来、この要求メッセージには、現在の送信レート（bps；bits per second）、またはパケットロス率などが含まれていた。
【００１８】
画像送信装置１は、画質を下げることにより送信レートを下げるか、フレームレートを下げることにより送信レートを下げるかのいずれかの手段により、送信レートを下げることができる。しかしながら、画像送信装置１は、画像受信装置３から、現在の送信レート（bps）を含む要求メッセージを受信しても、この情報のみでは、画質を落とすべきなのか、フレームレートを落とすべきなのか、最適な選択肢を選択することができなかった。
【００１９】
本発明は、このような状況に鑑みてなされたものであり、ネットワークの帯域の状態の変化に対して迅速に適応して、情報を送受信させることを目的とする。
【００２０】
【課題を解決するための手段】
本発明の情報処理システムは、第１の情報処理装置は、第２の情報処理装置にパケットを送信する第１の送信手段と、第２の情報処理装置から確認応答を受信する第１の受信手段と、第１の受信手段により受信された確認応答に基づいて、RTTを算出する算出手段と、算出手段により算出されたRTTの変動が所定の値以下であるか否かを判定する第１の判定手段と、第１の判定手段により、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第２の判定手段と、第１の判定手段によりRTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートを設定し、第２の判定手段によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定手段とを備え、第２の情報処理装置は、第１の情報処理装置より、パケットを受信する第２の受信手段と、第２の受信手段により受信されたパケットに基づいて、第１の情報処理装置に、確認応答を送信する第２の送信手段とを備えることを特徴とする。
【００２１】
本発明の第１の情報処理装置は、他の情報処理装置にパケットを送信する送信手段と、他の情報処理装置から確認応答を受信する受信手段と、受信手段により受信された確認応答に基づいて、RTTを算出する算出手段と、算出手段により算出されたRTTの変動が所定の値以下であるか否かを判定する第１の判定手段と、第１の判定手段により、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第２の判定手段と、第１の判定手段によりRTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートを設定し、第２の判定手段によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定手段とを備えることを特徴とする。
【００２２】
前記送信手段により送信される前記パケットを生成する生成手段をさらに設けるようにし、前記パケットは、画像データを含むようにすることができる。
【００２３】
前記設定手段には、前記第１の判定手段により前記RTTの変動は所定の値以下であると判定され、かつ、前記確認応答に、バーストロスの発生の通知が含まれていた場合、前記生成手段により生成される前記パケットに含まれる前記画像データのフレームレートを低下させることにより、送信レートを低下させ、前記第１の判定手段により前記RTTの変動は所定の値以下であると判定され、かつ、前記確認応答に、バーストロスの発生の通知が含まれていなかった場合、前記生成手段により生成される前記パケットに含まれる前記画像データの画質を低下させることにより、送信レートを低下させるようにさせることができる。
【００２４】
前記第１の判定手段により前記RTTの変動は所定の値以下であると判定され、かつ、パケットロス率が所定の値より低い場合、ARQを実行し、前記第２の判定手段により前記パケットロス率の変動は所定の値以下であると判定された場合、FECを実行し、前記第２の判定手段によりより前記パケットロス率の変動は所定の値以下ではないと判定された場合、パリティチェックを実行する実行手段をさらに設けるようにすることができる。
【００２５】
本発明の第１の情報処理方法は、他の情報処理装置にパケットを送信する送信ステップと、他の情報処理装置から確認応答を受信する受信ステップと、受信ステップの処理により受信された確認応答に基づいて、RTTを算出する算出ステップと、算出ステップの処理により算出されたRTTの変動が所定の値以下であるか否かを判定する第１の判定ステップと、第１の判定ステップの処理により、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第２の判定ステップと、第１の判定ステップの処理によりRTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートを設定し、第２の判定ステップの処理によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定ステップとを含むことを特徴とする。
【００２６】
本発明の第１の記録媒体のプログラムは、情報処理装置用のプログラムであって、パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された確認応答に基づいて、RTTを算出する算出ステップと、算出ステップの処理により算出されたRTTの変動が所定の値以下であるか否かを判定する第１の判定ステップと、第１の判定ステップの処理により、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第２の判定ステップと、第１の判定ステップの処理によりRTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートを設定し、第２の判定ステップの処理によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定ステップとを含むことを特徴とする。
【００２７】
本発明の第１のプログラムは、情報処理装置を制御するコンピュータに、パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された確認応答に基づいて、RTTを算出する算出ステップと、算出ステップの処理により算出されたRTTの変動が所定の値以下であるか否かを判定する第１の判定ステップと、第１の判定ステップの処理により、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第２の判定ステップと、第１の判定ステップの処理によりRTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートを設定し、第２の判定ステップの処理によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定ステップとを実行させることを特徴とする。
【００２８】
本発明の第２の情報処理装置は、他の情報処理装置より、パケットを受信する受信手段と、パケットロスが発生したか否かを判定する第１の判定手段と、第１の判定手段により、パケットロスが発生したと判定された場合、パケットロスがバーストロスであるか否かを判定する第２の判定手段と、第２の判定手段による判定結果を含む確認応答を、他の情報処理装置に送信する送信手段とを備えることを特徴とする。
【００２９】
本発明の第２の情報処理方法は、他の情報処理装置より、パケットを受信する受信ステップと、パケットロスが発生したか否かを判定する第１の判定ステップと、第１の判定ステップの処理により、パケットロスが発生したと判定された場合、パケットロスがバーストロスであるか否かを判定する第２の判定ステップと、第２の判定ステップの処理による判定結果を含む確認応答を、他の情報処理装置に送信する送信ステップとを含むことを特徴とする。
【００３０】
本発明の第２の記録媒体のプログラムは、情報処理装置用のプログラムであって、他の情報処理装置より、パケットを受信した場合、パケットロスが発生したか否かを判定する第１の判定ステップと、第１の判定ステップの処理により、パケットロスが発生したと判定された場合、パケットロスがバーストロスであるか否かの判定結果を含む確認応答を、他の情報処理装置に送信するために、パケットロスがバーストロスであるか否かを判定する第２の判定ステップとを含むことを特徴とする。
【００３１】
本発明の第２のプログラムは、情報処理装置を制御するコンピュータに、他の情報処理装置より、パケットを受信した場合、パケットロスが発生したか否かを判定する第１の判定ステップと、第１の判定ステップの処理により、パケットロスが発生したと判定された場合、パケットロスがバーストロスであるか否かの判定結果を含む確認応答を、他の情報処理装置に送信するために、パケットロスがバーストロスであるか否かを判定する第２の判定ステップとを実行させることを特徴とする。
【００３２】
本発明の情報処理システムにおいては、第１の情報処理装置では、第２の情報処理装置にパケットが送信され、第２の情報処理装置から確認応答が受信され、受信された確認応答に基づいて、RTTが算出され、算出されたRTTの変動が所定の値以下であるか否かが判定され、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かが判定され、RTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートが設定され、パケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートが設定される。また、第２の情報処理装置では、第１の情報処理装置より、パケットが受信され、受信されたパケットに基づいて、第１の情報処理装置に、確認応答が送信される。
【００３３】
本発明の第１の情報処理装置および方法、記録媒体、並びにプログラムにおいては、他の情報処理装置にパケットが送信され、他の情報処理装置から確認応答が受信され、受信された確認応答に基づいて、RTTが算出され、算出されたRTTの変動が所定の値以下であるか否かが判定され、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かが判定され、RTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートが設定され、パケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートが設定される。
【００３４】
本発明の第２の情報処理装置および方法、記録媒体、並びにプログラムにおいては、他の情報処理装置より、パケットが受信され、パケットロスが発生したか否かあ判定され、パケットロスが発生したと判定された場合、パケットロスがバーストロスであるか否かが判定され、判定結果を含む確認応答が、他の情報処理装置に送信される。
【００３５】
本発明は、ネットワークに接続される電子機器に適用することができる。
【００３６】
【発明の実施の形態】
図４は、本発明を適用した情報処理システムの一実施の形態の構成を示す図である。
【００３７】
図４において、画像送信装置１１および、画像受信装置１２は、インターネットを含むネットワーク１０を介して、接続されている。画像送信装置１１は、例えばJPEG2000などの符号化方式により符号化された階層符号化データなどの画像データ（動画データ）を含むパケット（以下の説明において、画像データを含むパケットをデータパケットと称する）を生成し、生成したデータパケットを、ネットワーク１０を介して、画像受信装置１２に実時間送信する。また、画像送信装置１１は、画像受信装置１２より、画像送信装置１１がデータパケットを送信した送信時刻やパケットロス率などの情報を含む確認応答のパケット（以下の説明において、画像受信装置１２から画像送信装置１１に送信される確認応答のパケットを応答パケットと称する）を受信し、これらの情報に基づいて、データパケットの送信レートを制御する。
【００３８】
画像受信装置１２は、画像送信装置１１から受信したデータパケットから、画像データを取得し、所定の記録媒体に記録するとともに、画像送信装置１１によるデータパケットの送信時刻やパケットロス率などの情報を含む応答パケットを生成し、この応答パケットを、画像送信装置１１に送信する。
【００３９】
次に、図５は、画像送信装置１１の内部の構成例を表している。図５において、操作部１０１は、ユーザからの操作の入力を受け付け、受け付けられた操作に対応する操作情報を制御部１０２に通知する。制御部１０２は、予め設定されたプログラムや、操作部１０１からの操作情報に基づいて、画像送信装置１１の各部の動作を制御する。
【００４０】
記録媒体１０３には、例えばJPEG2000などの符号化方式により符号化された画像データが記録されており、適宜、この画像データを、パケット生成部１０５に供給する。入力部１０４は、図示せぬ外部機器（例えば、撮像装置）より、画像データの入力を受け付け、入力された画像データを、パケット生成部１０５に供給する。
【００４１】
パケット生成部１０５は、レート制御部１０８からの制御に従って、記録媒体１０３、または入力部１０４から供給された画像データを分割し、データパケットを生成し、生成されたデータパケットに、TCP/IP（Transmission Control Protocol/Internet Protocol）、またはUDP/IP（User Datagram Protocol/InternetProtocol）のパケットヘッダを付加して、パケット送信部１０６に供給する。なお、パケットヘッダには、データパケットの個々を識別するための、シーケンス番号が含まれている。
【００４２】
パケット送信部１０６は、パケット生成部１０５により生成されたデータパケットが供給されると、これを、所定のタイミングで、ネットワーク１０を介して、画像受信装置１２に送信する。なお、パケット送信部１０６は、レート制御部１０８による制御を受ける。また、パケット送信部１０６は、データパケットを送信するとき、データパケットの送信時刻として、現在時刻をパケットヘッダに記録する。
【００４３】
パケット受信部１０７は、画像受信装置１２より、応答パケットを受信し、これをレート制御部１０８に供給する。
【００４４】
レート制御部１０８は、パケット受信部１０７により受信された応答パケットに基づいて、パケット生成部１０５およびパケット送信部１０６を制御し、データパケットの送信レートを最適な値に調節する。レート制御部１０８内の安定度判定部１２１は、RTT変動算出部１２４により算出されるRTT、およびロス率誤差算出部１２５により算出されるパケットロス率が安定しているか否かを判定する（詳細は後述する）。RTT増減検出部１２２は、RTTの増減を検出する。送信レート設定部１２３は、パケット生成部１０５により生成されるデータパケットのパケットサイズ、およびパケット送信部１０６から送信されるデータパケットの送信間隔を設定することにより、画像送信装置１１から送信されるデータパケットの送信レートを設定する。RTT算出部１２４は、受信した応答パケットに基づいてRTTの瞬間値を算出すると共に、RTTの履歴を考慮したRTTの現在値を算出する。ロス率算出部１２５は、受信した応答パケットに含まれているパケットロス率に基づいて、履歴を考慮したパケットロス率の現在値を算出する。エラー訂正設定部１２６は、安定度判定部１２１の判定結果に基づいて、ARQ（Automatic Repeat reQuest）、FEC（Forward Error Correction）、およびパリティチェックのうちいずれかのエラー訂正処理を設定する。
【００４５】
次に、図６は、画像受信装置１２の内部の構成例を表している。図６において、操作部１５１は、ユーザからの操作の入力を受け付け、受け付けられた操作に対応する操作情報を制御部１５２に通知する。制御部１５２は、予め設定されたプログラムや、操作部１５１からの操作信号に基づいて、画像受信装置１２の各部の動作を制御する。
【００４６】
パケット受信部１５３は、画像送信装置１１から送信されたデータパケットを、ネットワーク１０を介して受信し、データパケットに含まれている画像データを、記録媒体１５４に記録するとともに、データパケットに付加されているパケットヘッダを読み出し、パケットヘッダに含まれている情報、すなわち、シーケンス番号とデータパケットの送信時刻に関する情報を状態測定部１５５に供給する。
【００４７】
記録媒体１５４は、例えば、ハードディスクにより構成され、パケット受信部１５３から供給された画像データが記録されるとともに、図示せぬ外部機器により、記録された画像データが読み出される。
【００４８】
状態測定部１５５は、パケット受信部１５３からシーケンス番号とデータパケットの送信時刻に関する情報を受信する。そして、状態測定部１５５は、パケット受信部１５３から供給されたシーケンス番号を基に、パケットロスの有無を判定し、パケットロスがある場合、損失したパケットのシーケンス番号を特定し、パケットロス率を算出する。さらに、状態測定部１５５は、パケットロスが、バーストトラフィックにより発生したものであるか否かを判定する。なお、以下の説明において、バーストトラフィックが原因で発生したパケットロスのことをバーストロスと称する。
【００４９】
また、状態測定部１５５は、データパケットを受信した受信時刻を取得する。そして、状態測定部１５５は、パケットヘッダから読み出されたデータパケット送信時刻およびシーケンス番号、並びに自らが取得したデータパケット受信時刻、損失したパケットのシーケンス番号、およびバーストロスの有無を示すバーストロス情報を、パケット生成部１５６に供給する。
【００５０】
パケット生成部１５６は、状態測定部１５５から、パケットヘッダから読み出されたデータパケット送信時刻およびシーケンス番号、並びに自らが取得したデータパケット受信時刻、損失したパケットのシーケンス番号、およびバーストロスの有無を示すバーストロス情報が供給された場合、これらの情報を含む応答パケットを生成し、この応答パケットをパケット送信部１５７に供給する。
【００５１】
パケット送信部１５７は、パケット生成部１５６から供給された応答パケットを、ネットワーク１０を介して、画像送信装置１１に送信する。なお、パケット送信部１５７は、応答パケットを送信するとき、その応答パケットのパケットヘッダに、現在時刻を、応答パケットの送信時刻として記録する。
【００５２】
次に、図７のフローチャートを参照して、画像送信装置１１の画像送信処理、および画像受信装置の画像受信処理について説明する。
【００５３】
図７のステップＳ１において、画像送信装置１１のパケット生成部１０５は、レート制御部１０８からの制御に従って、記録媒体１０３、または入力部１０４から供給される画像データをパケット化して、データパケットを生成し、生成されたパケットをパケット送信部１０６に供給する。ステップＳ２において、パケット送信部１０６は、パケット生成部１０５がステップＳ１で生成したデータパケットを、ネットワーク１０を介して、画像受信装置１２に送信する。その後、処理はステップＳ１に戻り、ステップＳ１以降の処理が繰り返される。
【００５４】
画像受信装置１２のパケット受信部１５３は、ステップＳ１１において、画像送信装置１１が、ステップＳ２で送信したデータパケットを受信する。ステップＳ１２において、画像受信装置１２のパケット受信部１５３は、ステップＳ１１で受信されたデータパケットより、画像データを読み出し、この画像データを、記録媒体１５４に記録する。その後、処理はステップＳ１１に戻り、ステップＳ１１以降の処理が繰り返される。
【００５５】
以上のようにして、データパケットが、画像送信装置１１から画像受信装置１２に実時間送信され、記録媒体１５４に記録される。記録媒体１５４に記録された画像データは、適宜、外部機器により読み出され、デコードされ、画像が再生される。
【００５６】
なお、ステップＳ１において、パケット生成部１０５は、後述する図９乃至図１１のフローチャートのレート制御処理により設定された送信レートになるように、データパケットを生成し、ステップＳ２において、パケット送信部１０６は、後述する図９乃至図１１のフローチャートのレート制御処理により設定された送信レートになるように、データパケットを送出する。
【００５７】
ところで、本発明においては、画像受信装置１２から画像送信装置１１に、応答パケットが送信され、この応答パケットに基づいて、データパケットの送信レートが制御される。
【００５８】
そこで、次に、図８のフローチャートを参照して、画像受信装置１２の確認応答処理、すなわち、画像受信装置１２が、応答パケットを作成し、画像送信装置１１に送信する処理について説明する。
【００５９】
ステップＳ５１において、画像受信装置１２の制御部１５２は、パケット受信部１５３を監視し、パケット受信部１５３がデータパケットを受信するまで待機し、パケット受信部１５３がデータパケットを受信した場合、処理はステップＳ５２に進む。ステップＳ５２において、状態測定部１５５は、内蔵する内部時計より、現在時刻を取得する。ステップＳ５３において、状態測定部１５５は、パケット受信部１５３から、パケットヘッダとして付加されていた情報である、データパケットの送信時刻、およびシーケンス番号を取得し、シーケンス番号に基づいて、パケットロスが発生したか否かを判定する。
【００６０】
すなわち、状態測定部１５５は、シーケンス番号が、前回受信したデータパケットのシーケンス番号と連番になっているか否かを判定することにより、パケットロスの発生の有無を判定することができる。例えば、前回受信したデータパケットのシーケンス番号が「１０」で、今回受信したデータパケットのシーケンス番号が「１１」であった場合、「１０」と「１１」で連続しているので、状態測定部１５５は、データパケットの損失はないと判定する。また、例えば、前回受信したデータパケットのシーケンス番号が「１０」で、今回受信したデータパケットのシーケンス番号が「１２」であった場合、「１０」と「１２」で連続していないので、状態測定部１５５は、データパケットが損失していると判定する。
【００６１】
ステップＳ５３において、状態測定部１５５が、パケットロスは発生していないと判定した場合、処理はステップＳ５４に進む。
【００６２】
ステップＳ５４において、状態測定部１５５は、ステップＳ５２で取得したデータパケットの受信時刻、並びにデータパケットのパケットヘッダから取得したデータパケットの送信時刻およびシーケンス番号を、パケット生成部１５６に供給する。パケット生成部１５６は、状態測定部１５５から供給された、データパケットの受信時刻、並びにデータパケットの送信時刻およびシーケンス番号を含む応答パケットを生成し、この応答パケットをパケット送信部１５７に供給する。その後、処理はステップＳ５９に進む。
【００６３】
ステップＳ５３において、状態測定部１５５が、パケットロスが発生したと判定した場合、処理はステップＳ５５に進む。
【００６４】
ステップＳ５５において、状態測定部１５５は、受信したデータパケットのシーケンス番号に基づいて、パケットロス率（画像送信装置１１から送出されたデータパケットの個数に対する、損失したパケットの個数の割合）を算出する。その後、処理はステップＳ５６に進む。
【００６５】
ステップＳ５６において、状態測定部１５５は、発生したパケットロスはバーストロスであるか否かを判定する。すなわち、バーストロスが発生した場合、複数のシーケンス番号が連続して欠落することが多い。そこで、状態測定部１５５は、受信したデータパケットのシーケンス番号が複数個分、連続して欠落した場合、バーストロスであると判定する。例えば、受信されたデータパケットのシーケンス番号が、「１，２，３，９，１０，１１」であった場合、シーケンス番号の４乃至８番目が連続して欠落している。そこで、状態測定部１５５は、シーケンス番号９番のデータパケットを受信した時点で、バーストロスが発生したと判定する。なお、バーストロスが発生したか否かの判定の基準となる、連続して欠落したデータパケットの個数は、予め状態測定部１５５に設定されている。バーストロスが発生したか否かの判定の基準となる、連続して欠落したデータパケットの個数は、例えば４個とすることができる。
【００６６】
なお、バーストロスの判定の基準は、上述した方法に限定されるものではない。例えば、単位時間当りに、複数のシーケンス番号が連続して欠落した回数が、所定の回数以上であった場合、バーストロスであると判定するようにしてもよい。
【００６７】
ステップＳ５６において、状態測定部１５５が、バーストロスが発生したと判定した場合、処理はステップＳ５７に進む。
【００６８】
ステップＳ５７において、状態測定部１５５は、ステップＳ５２で取得したデータパケットの受信時刻、データパケットのパケットヘッダから取得したデータパケットの送信時刻およびシーケンス番号、ステップＳ５５で算出したパケットロス率、並びにバーストロスがあったことを示すバーストロス情報を、パケット生成部１５６に供給する。パケット生成部１５６は、状態測定部１５５から供給された情報、すなわち、データパケットの送信時刻、データパケットの受信時刻、シーケンス番号、パケットロス率、並びにバーストロスがあったことを示すバーストロス情報を含む応答パケットを生成し、この応答パケットをパケット送信部１５７に供給する。その後、処理はステップＳ５９に進む。
【００６９】
ステップＳ５６において、状態測定部１５５が、バーストロスが発生していないと判定した場合、処理はステップＳ５８に進む。
【００７０】
ステップＳ５８において、状態測定部１５５は、ステップＳ５２で取得したデータパケットの受信時刻、データパケットのパケットヘッダから取得したデータパケットの送信時刻およびシーケンス番号、並びにステップＳ５５で算出したパケットロス率を、パケット生成部１５６に供給する。パケット生成部１５６は、状態測定部１５５から供給された情報、すなわち、データパケットの送信時刻、データパケットの受信時刻、シーケンス番号、およびパケットロス率を含む応答パケットを生成し、この応答パケットをパケット送信部１５７に供給する。その後、処理はステップＳ５９に進む。
【００７１】
ステップＳ５９において、パケット送信部１５７は、パケット生成部１５６から供給された応答パケットを、ネットワーク１０を介して、画像送信装置１１に送信する。なお、パケット送信部１５７は、応答パケットを送信する直前に、内蔵する内部時計から現在時刻を取得し、この現在時刻を、応答パケットの送信時刻として、パケットヘッダに記録する。
【００７２】
その後、処理はステップＳ５１に戻り、ステップＳ５１以降の処理が繰り返される。
【００７３】
以上のようにして、画像受信装置１２から画像送信装置１１に対して、応答パケットが送信される。
【００７４】
画像送信装置１１は、画像受信装置１２から受信した応答パケットに基づいて、データパケットの送信レートを制御する。
【００７５】
ところで、本発明を適用した画像送信装置１１は、RTTとパケットロス率の２つのパラメータのうち、RTTの変化に優先的に反応して、送信レートを制御するレート制御アルゴリズム、およびパケットロス率の変化に優先的に反応して、送信レートを制御するレート制御アルゴリズムの２つのアルゴリズム、並びにTFRCを、適宜、使い分けて送信レートを制御する。送信するパケット毎に算出されるRTTの変動が小さい場合、画像送信装置１１は、パケットロス率の変化に対して優先的に反応するレート制御アルゴリズムを採用し、送信するパケット毎に算出されるパケットロス率の変動が小さい場合、画像送信装置１１は、RTTの変化に対して優先的に反応するレート制御アルゴリズムを採用する。
【００７６】
次に、RTTの変動の検出方法、およびパケットロス率の変動の検出方法について説明する。
【００７７】
はじめに、RTTの変動の検出方法について説明する。画像送信装置１１は、まず、応答パケットを受信した受信時刻、並びに応答パケットに含まれているデータパケットの送信時刻、データパケットの受信時刻、および応答パケットの送信時刻に基づいて、RTTの実測値を算出する（以下の説明において、RTTの実測値をRTTmと称する）。次に、画像送信装置１１は、過去に実測したRTTmを考慮した現在値RTT(t)を、例えば、EWMA（Exponential Weighted Moving Average）を利用して、以下の式（以下の式を式（１）とする）により算出する。
【００７８】
RTT(t)＝α×RTT(t-1)＋（１−α）×RTTm
【００７９】
式（１）において、RTT(t-1)は、式（１）により前回算出された現在値であり、αは０乃至１の間の数である。なお、算出されるRTT(t)は、αが１に近い値をとるほど、RTTmの経時的な小さい変化に影響されない値となり、αが０に近い値をとるほど、RTTmの経時的な小さい変化を反映した値となる。
【００８０】
式（１）により、RTT(t)が算出されたのち、画像送信装置１１は、以下の式（以下の式を式（２）とする）により、RTT(t-1)を１００％とした場合のRTT(t)の変動量Ａ（％）を算出する。
【００８１】
Ａ＝１００×{RTT(t)／RTT(t-1)}−１００
【００８２】
式（２）により算出された変動量Ａが、予め設定された所定の範囲内（例えば、±１％の間の値）であった場合、画像送信装置１１は、RTTが安定している（RTTの変動が小さい）と判定し、予め設定された所定の範囲内ではなかった場合、画像送信装置１１は、RTTは安定していない（RTTの変動が大きい）と判定する。
【００８３】
次に、パケットロス率の変動の検出方法について説明する。画像送信装置１１は、まず、受信した応答パケットに含まれているパケットロス率（以下の説明において、応答パケットに含まれているパケットロス率をLOSSmと称する）を読み出す。なお、応答パケットにパケットロス率が含まれていなかった場合、画像送信装置１１は、パケットロス率が０であると判定する。次に、画像送信装置１１は、過去に実測したLOSSmを考慮した現在値LOSS(t)を、例えば、EWMAを利用して、以下の式（以下の式を式（３）とする）により算出する。
【００８４】
LOSS(t)＝β×LOSS(t-1)＋（１−β）×LOSSm
【００８５】
式（３）において、LOSS(t-1)は、式（３）により前回算出された現在値であり、βは０乃至１の間の数である。なお、算出されるLOSS(t)は、βが１に近い値をとるほど、LOSSmの経時的な小さい変化に影響されない値となり、βが０に近い値をとるほど、LOSSmの経時的な小さい変化を反映した値となる。
【００８６】
式（３）により、LOSS(t)が算出されたのち、画像送信装置１１は、以下の式（以下の式を式（４）とする）により、LOSS(t-1)を１００％とした場合のLOSS(t)の変動量Ｂ（％）を算出する。
【００８７】
Ｂ＝１００×{LOSS(t)／LOSS(t-1)}−１００
【００８８】
式（３）により算出された変動量Ｂ（％）が、予め設定された所定の範囲内（例えば、±１％の間の値）であった場合、画像送信装置１１は、パケットロス率が安定している（パケットロス率の変動が小さい）と判定し、予め設定された所定の範囲内ではなかった場合、画像送信装置１１は、パケットロス率は安定していない（パケットロス率の変動が大きい）と判定する。
【００８９】
画像送信装置１１は、以上のようにして検出されたRTTおよびパケットロス率の変動に基づいて、RTTの変化に優先的に反応して、送信レートを制御するレート制御アルゴリズム、およびパケットロス率の変化に優先的に反応して、送信レートを制御するレート制御アルゴリズムの２つのアルゴリズムを、適宜、使い分けて送信レートを制御する。なお、RTTおよびパケットロス率のいずれも、安定していない場合、画像送信装置１１は、TFRCを利用して、送信レートを制御する。
【００９０】
次に、図９乃至図１１のフローチャートを参照して、画像送信装置１１のレート制御処理、すなわち、データパケットの送信レートの制御について説明する。
【００９１】
ステップＳ１０１において、RTT算出部１２４は、上記した式（１）のαを、予め指定された所定の値に設定する。また、ロス率検出部１２５は、式（３）のβを、予め指定された所定の値に設定する。
【００９２】
ステップＳ１０２において、制御部１０２は、パケット受信部１０７を監視し、パケット受信部１０７が応答パケットを２回、受信するまで待機する。そして、パケット受信部１０７が応答パケットを２回受信したとき、処理はステップＳ１０３に進む。なお、パケット受信部１０７は、受信した応答パケットの受信時刻を、内蔵する内部時計から取得しておく。
【００９３】
ステップＳ１０３において、RTT算出部１２４は、受信した２個の応答パケットそれぞれに対して、実測値RTTmを算出する。
【００９４】
なお、RTTmは、画像送信装置１１から送信されたデータパケットが画像受信装置１２により受信されるまでの時間（この時間をＴ１とする）と、画像受信装置１２から送信された応答パケットが画像送信装置１１により受信されるまでの時間（この時間をＴ２とする）の和（Ｔ１＋Ｔ２）として求められる。時間Ｔ１は、データパケットの受信時刻からデータパケットの送信時刻を引き算して求められる。また、時間Ｔ２は、応答パケットの受信時刻から応答パケットの送信時刻を引き算して求められる。
【００９５】
その後、RTT算出部１２４は、式（１）のRTTmに、２回目に受信された応答パケットから算出した実測値RTTmを代入して、RTT(t)を算出する。なお、式（１）により、初めてRTT(t)を算出する場合、式（１）の前回値RTT(t-1)は、まだ算出されていないので、代わりに、１回目に受信された応答パケットのRTTmが代入される。
【００９６】
次に、RTT算出部１２４は、式（２）により、RTTの変動量Ａを算出する。なお、式（２）により、初めて変動量Ａを算出する場合、式（２）の前回値RTT(t-1)は、まだ算出されていないので、代わりに、１回目に受信された応答パケットのRTTmが代入される。
【００９７】
以上のようにして、ステップＳ１０３で、RTTの変動量Ａが算出された後、RTT算出部１２４は、算出した変動量Ａを安定度判定部１２１に供給する。その後、処理はステップＳ１０４に進む。
【００９８】
安定度判定部１２１は、変動量Ａが安定しているか否かを判定するための基準（例えば、±１％）を予め有しており、ステップＳ１０４において、RTT算出部１２４から供給された変動量Ａが、この範囲内であるか否か（例えば、変動量Ａが、±１％の間にあるか否か）を判定することにより、RTTが安定しているか否かを判定する。そして、安定度判定部１２１は、RTT算出部１２４から供給された変動量Ａが、予め設定された範囲内ではなかった場合、RTTは安定していないと判定し、処理は、ステップＳ１０５に進む。
【００９９】
ステップＳ１０５において、ロス率算出部１２５は、受信した２個の応答パケットそれぞれから、パケットロス率を読み出す。なお、応答パケットにパケットロス率が記録されていなかった場合、ロス率算出部１２３は、パケットロス率は０であると判定する。
【０１００】
その後、ロス率算出部１２５は、式（３）のLOSSmに、２回目に受信された応答パケットから読み出した実測値LOSSmを代入して、LOSS(t)を算出する。なお、式（３）により、初めてLOSS(t)を算出する場合、式（３）の前回値LOSS(t-1)は、まだ算出されていないので、代わりに、１回目に受信された応答パケットのLOSSmが代入される。
【０１０１】
次に、ロス率算出部１２５は、式（４）により、パケットロス率の変動量Ｂを算出する。なお、式（４）により、初めて変動量Ｂを算出する場合、式（４）の前回値LOSS(t-1)は、まだ算出されていないので、代わりに、１回目に受信された応答パケットから読み出されたLOSSmが代入される。
【０１０２】
以上のようにして、ステップＳ１０５で、パケットロス率の変動量Ｂが算出された後、ロス率算出部１２５は、算出した変動量Ｂを安定度判定部１２１に供給する。その後、処理はステップＳ１０６に進む。
【０１０３】
安定度判定部１２１は、変動量Ｂが安定しているか否かを判定するための基準（例えば、±１％）を予め有しており、ロス率算出部１２５から供給された変動量Ｂが、この範囲内であるか否か（例えば、変動量Ｂが、±１％の間にあるか否か）を判定することにより、パケットロス率が安定しているか否かを判定する。そして、ロス率算出部１２５から供給された変動量Ｂが、予め設定された範囲内ではなかった場合、安定度判定部１２１は、パケットロス率は安定していないと判定し、処理は、ステップＳ１０７に進む。
【０１０４】
ステップＳ１０７において、送信レート設定部１２３は、TFRCのレート制御アルゴリズムにより送信レートを算出する。すなわち、送信レート設定部１２３は、以下の式（以下の式を式（５）とする）により、データパケットを送信する理想的な送信レートを算出する。
【０１０５】
【数１】
2004193991.tif 000003
【０１０６】
式（５）において、Ｔは理想的な送信レート、ｓはパケットサイズ、ｐはパケットロス率、ｔはTCP（Transmission Control Protocol）のタイムアウト時間（通常は、RTTの４倍）である。
【０１０７】
レート制御部１０８は、送信レート設定部１２３により算出された送信レートに従って、パケット生成部１０５およびパケット送信部１０６を制御する。
【０１０８】
ステップＳ１０８において、制御部１０２は、パケット受信部１０７を監視し、パケット受信部１０７が応答パケットを受信するまで待機する。そして、パケット受信部１０７が応答パケットを受信したとき、処理はステップＳ１０３に戻り、ステップＳ１０３以降の処理が繰り返し実行される。
【０１０９】
ステップＳ１０４において、安定度判定部１２１が、RTT算出部１２４から供給された変動量Ａが、予め設定された範囲内であったと判定した場合、すなわちRTTは安定していると判定した場合、処理は、図１０のステップＳ１０９に進む。
【０１１０】
図１０のステップＳ１０９において、制御部１０２は、パケット受信部１０７を監視し、パケット受信部１０７が応答パケットを受信するまで待機する。そして、パケット受信部１０７が応答パケットを受信したとき、処理はステップＳ１１０に進む。
【０１１１】
ステップＳ１１０において、RTT算出部１２４は、RTTの変動量Ａを算出する。なお、ステップＳ１１０の処理は、図９のステップＳ１０３の処理と同様であるため、詳細な説明は省略する。
【０１１２】
ステップＳ１１１において、安定度判定部１２１は、RTT算出部１２４から供給された変動量Ａが、予め設定された所定の範囲内であるか否か（例えば、変動量Ａが、±１％の間にあるか否か）を判定することにより、RTTが安定しているか否かを判定する。そして、安定度判定部１２１が、RTTは安定していないと判定した場合、処理は、図９のステップＳ１０５に戻り、上述したステップＳ１０５以降の処理が繰り返し実行される。
【０１１３】
図１０のステップＳ１１１において、RTT算出部１２４から供給された変動量Ａが、予め設定された範囲内であった場合、安定度判定部１２１は、RTTは安定していると判定し、処理はステップＳ１１２に進む。
【０１１４】
ステップＳ１１２において、送信レート設定部１２３は、ステップＳ１０９で受信したと判定された応答パケットに、パケットロス率が含まれているか否かを判定することにより、パケットロスが発生したか否かを判定し、ステップＳ１０９で受信したと判定された応答パケットに、パケットロス率が含まれていない場合、パケットロスは発生していないと判定し、処理はステップＳ１１３に進む。
【０１１５】
ステップＳ１１３において、送信レート設定部１２３は、応答パケットの受信時刻から、RTTと同一時間分だけ以前の時刻までに、パケットロスが発生したか否かを判定し、パケットロスが発生していなかった場合、処理はステップＳ１１４に進む。すなわち、送信レート設定部１２３は、ステップＳ１０９で受信された応答パケット（この応答パケットを応答パケットAとする）から算出されたRTTに基づいて、応答パケットAが画像送信装置１１に受信された時刻（この時刻を時刻ｍとする）と、この時刻からRTTと同一時間分だけ以前に遡った時刻（この時刻を時刻ｎとする）を取得し、時刻ｎから時刻ｍまでの間に、パケットロス率を含む応答パケットが受信されたか否かを判定することにより、時刻ｎから時刻ｍまでの間に、パケットロスが発生したか否かを判定する。そして、時刻ｎから時刻ｍまでの間に、パケットロスが発生していないと判定した場合、処理はステップＳ１１４に進む。
【０１１６】
ステップＳ１１４において、送信レート設定部１２３は、送信レートを上げて、送信レートの設定を更新する。例えば、送信レート設定部１２３は、AIMD（Additive Increase Multiple Decrease）アルゴリズムに従って、１RTT間に送信するパケット数を１個増やすことにより、送信レートを上げる。ステップＳ１１４の処理の後、処理はステップＳ１０９に戻り、ステップＳ１０９以降の処理が繰り返し実行される。
【０１１７】
ステップＳ１１３において、送信レート設定部１２３が、応答パケットの受信時刻から、RTTと同一時間分だけ以前の時刻までに、パケットロスが発生したと判定した場合、処理はステップＳ１０９に戻り、ステップＳ１０９以降の処理が繰り返し実行される。
【０１１８】
ステップＳ１１２に戻って、ステップＳ１０９で受信したと判定された応答パケットに、パケットロス率が含まれていない場合、ステップＳ１１２において、送信レート設定部１２３は、パケットロスが発生したと判定し、処理はステップＳ１１５に進む。
【０１１９】
ステップＳ１１５において、ステップＳ１０９で受信したと判定された応答パケットに、バーストロスがあったことを示すバーストロス情報が含まれているか否かを判定することにより、パケットロスがバーストロスであるか否かを判定し、ステップＳ１０９で受信したと判定された応答パケットに、バーストロスがあったことを示すバーストロス情報が含まれていない場合、パケットロスはバーストロスではないと判定し、処理はステップＳ１１６に進む。
【０１２０】
ステップＳ１１６において、送信レート設定部１２３は、画質を落として送信レートを下げる。すなわち、例えば、パケット化する画像データが、JPEG2000のような階層符号化データである場合、１フレームの画像データは、複数のレイヤに分割されている。そして、下位のレイヤから順番に、多くのレイヤのデータがあるほど、より高画質の画像を再生させることができる。反対に、下位のレイヤのデータしかない場合、画質は低下するが、画像自体は再生することができる。そこで、パケット化する画像データが、JPEG2000のような階層符号化データである場合、送信レート設定部１２３は、パケット生成部１０５に指令して、パケット化するレイヤを減らすことにより、送信する画像データの画質を低下させる。
【０１２１】
ステップＳ１１６の処理の後、処理はステップＳ１０９に戻り、ステップＳ１０９以降の処理が繰り返し実行される。
【０１２２】
ステップＳ１１５に戻り、ステップＳ１０９で受信したと判定された応答パケットに、バーストロスがあったことを示すバーストロス情報が含まれていた場合、パケットロスはバーストロスであると判定し、処理はステップＳ１１７に進む。
【０１２３】
ステップＳ１１７において、送信レート設定部１１７は、フレームレートを落として、送信レートを下げる。すなわち、送信レート設定部１１７は、パケット生成部１０５により画像データをパケット化する際に、何個かおきに、フレームをパケット化せずに廃棄させる。ステップＳ１１７の処理の後、処理はステップＳ１０９に戻り、ステップＳ１０９以降の処理が繰り返し実行される。
【０１２４】
図９のステップＳ１０６に戻り、安定度判定部１２１が、パケットロス率は安定していると判定した場合、処理は図１１のステップＳ１１８に進む。
【０１２５】
図１１のステップＳ１１８において、制御部１０２は、パケット受信部１０７を監視し、パケット受信部１０７が応答パケットを受信するまで待機する。そして、パケット受信部１０７が応答パケットを受信したとき、処理はステップＳ１１９に進む。
【０１２６】
ステップＳ１１９において、ロス率算出部１２５は、パケットロス率の変動量Ｂを算出する。なお、ステップＳ１１９の処理は、図９のステップＳ１０５の処理と同様であるため、詳細な説明は省略する。
【０１２７】
ステップＳ１２０において、安定度判定部１２１は、ロス率算出部１２５から供給された変動量Ｂが、予め設定された所定の範囲内であるか否か（例えば、変動量Ｂが、±１％の間にあるか否か）を判定することにより、パケットロス率が安定しているか否かを判定する。そして、安定度判定部１２１が、パケットロス率は安定していないと判定した場合、処理は、図９のステップＳ１０３に戻り、上述したステップＳ１０３以降の処理が繰り返し実行される。
【０１２８】
ステップＳ１２０において、安定度判定部１２１が、パケットロス率は安定していると判定した場合、処理はステップＳ１２１に進む。
【０１２９】
ステップＳ１２１において、レート制御部１０８内のRTT増減検出部１２２は、RTT算出部１２４により算出されたRTT(t)、およびRTT(t-1)を取得し、RTT(t)がRTT(t-1)より大きな値であるか否かを判定することにより、RTTが増加したか否かを判定し、RTT(t)がRTT(t-1)より大きな値ではない場合、RTTは増加していないと判定し、処理はステップＳ１２２に進む。
【０１３０】
ステップＳ１２２において、RTT増減検出部１２２は、RTT(t-1)より１回分前に算出されたRTT(t-2)をRTT算出部１２４から取得し、RTT(t)がRTT(t-1)より小さな値であり、かつ、RTT(t-1)がRTT(t-2)より小さな値であるか否かを判定することにより、RTT(t)、およびRTT(t-1)の両方とも減少したか否かを判定し、RTT(t)がRTT(t-1)より小さな値であり、かつ、RTT(t-1)がRTT(t-2)より小さな値である場合、処理はステップＳ１２３に進む。
【０１３１】
ステップＳ１２３において、送信レート設定部１２３は、送信レートを上げて、送信レートの設定を更新する。これにより、レート制御部１０８は、パケット生成部１０５およびパケット送信部１０６に指令して、送信レートを上げさせる。
【０１３２】
ステップＳ１２２において、RTT増減検出部１２２が、RTT(t)がRTT(t-1)より大きな値であるか、または、RTT(t-1)がRTT(t-2)より大きな値であるかのうち、少なくともいずれか一方が成り立つと判定した場合、処理はステップＳ１１８に戻り、ステップＳ１１８以降の処理が繰り返し実行される。
【０１３３】
ステップＳ１２１において、RTT増減検出部１２２が、RTT(t)がRTT(t-1)より大きな値であると判定した場合、すなわち、RTTは増加していると判定した場合、処理はステップＳ１２４に進む。
【０１３４】
ステップＳ１２４において、送信レート設定部１２３は、送信レートを下げて、送信レートの設定を更新する。これにより、レート制御部１０８は、パケット生成部１０５およびパケット送信部１０６に指令して、送信レートを下げさせる。
【０１３５】
その後、処理はステップＳ１１８に戻り、ステップＳ１１８以降の処理が繰り返される。
【０１３６】
以上のようにして、画像送信装置１１は、送信レートを制御する。このようにすることにより、RTTの変動が小さい場合、パケットロス率の変化に迅速に対応して、送信レートを調整し、パケットロス率の変動が小さい場合、RTTの変化に迅速に対応して、送信レートを調整することが可能となる。
【０１３７】
また、パケットロスがバーストロスである場合、フレームレートを落とすことにより送信レートを低下させ、パケットロスがバーストロスではない場合、画質を落とすことにより、送信レートを低下させることにより、バーストロスの発生率を低下させることが可能となる。従って、より効率的に送信レートを制御することが可能となる。
【０１３８】
ところで、本発明においては、RTTおよびパケットロス率が安定しているか否かに応じて、エラー訂正のアルゴリズムを切り替えることもできる。次に、図１２のフローチャートを参照して、RTTおよびパケットロス率の安定性に応じた、エラー訂正のアルゴリズムの切り替えについて説明する。
【０１３９】
ステップＳ１５１において、RTT算出部１２４は、上記した式（１）のαを、予め指定された所定の値に設定する。また、ロス率検出部１２５は、式（３）のβを、予め指定された所定の値に設定する。
【０１４０】
ステップＳ１５２において、制御部１０２は、パケット受信部１０７を監視し、パケット受信部１０７が応答パケットを２回、受信するまで待機する。そして、パケット受信部１０７が応答パケットを２回受信したとき、処理はステップＳ１５３に進む。なお、パケット受信部１０７は、受信した応答パケットの受信時刻を、内蔵する内部時計から取得しておく。
【０１４１】
ステップＳ１５３において、RTT算出部１２４は、受信した２個の応答パケットそれぞれに対して、実測値RTTm、RTT(t)、およびRTTの変動量Ａを算出する。なお、ステップＳ１５３の処理は、図９のステップＳ１０３の処理と同様であるため、詳細な説明は省略する。
【０１４２】
以上のようにして、ステップＳ１５３で、RTTの変動量Ａが算出された後、RTT算出部１２４は、算出した変動量Ａを安定度判定部１２１に供給する。その後、処理はステップＳ１５４に進む。
【０１４３】
安定度判定部１２１は、変動量Ａが安定しているか否かを判定するための基準（例えば、±１％）を予め有しており、ステップＳ１５４において、RTT算出部１２４から供給された変動量Ａが、この範囲内であるか否か（例えば、変動量Ａが、±１％の間にあるか否か）を判定することにより、RTTが安定しているか否かを判定する。そして、安定度判定部１２１は、RTT算出部１２４から供給された変動量Ａが、予め設定された範囲内ではなかった場合、RTTは安定していないと判定し、処理は、ステップＳ１５５に進む。
【０１４４】
ステップＳ１５５において、ロス率算出部１２５は、LOSS(t)、およびパケットロス率の変動量Ｂを算出する。なお、ステップＳ１５５の処理は、図９のステップＳ１０５の処理と同様であるため、詳細な説明は省略する。ロス率算出部１２５は、算出した変動量Ｂを安定度判定部１２１に供給する。その後、処理はステップＳ１５６に進む。
【０１４５】
安定度判定部１２１は、変動量Ｂが安定しているか否かを判定するための基準（例えば、±１％）を予め有しており、ロス率算出部１２５から供給された変動量Ｂが、この範囲内であるか否か（例えば、変動量Ｂが、±１％の間にあるか否か）を判定することにより、パケットロス率が安定しているか否かを判定する。そして、ロス率算出部１２５から供給された変動量Ｂが、予め設定された範囲内であった場合、安定度判定部１２１は、パケットロス率は安定していると判定し、処理は、ステップＳ１５７に進む。
【０１４６】
ステップＳ１５７において、エラー訂正設定部１２６は、FECによるエラー訂正処理を実行するように設定する。FECによるエラー訂正処理を実行するように設定された場合、画像送信装置１１は、画像データをパケット化するとともに、パケット化されたデータより誤り訂正用の冗長パケットを生成し、データパケットおよび冗長パケットを画像受信装置１２に送信する。データパケットおよび冗長パケットを受信した画像受信装置１２は、エラー訂正処理を行い、受信したパケットからロスしたデータパケットを復元し、受信されたデータパケットと、復元されたデータパケットに含まれている画像データを、記録媒体１５４に記録する。
【０１４７】
ステップＳ１５７の処理の後、処理はステップＳ１６１に進む。
【０１４８】
ステップＳ１５６に戻り、ロス率算出部１２５から供給された変動量Ｂが、予め設定された範囲内ではなかった場合、安定度判定部１２１は、パケットロス率は安定していないと判定し、処理はステップＳ１５８に進む。ステップＳ１５８において、エラー訂正設定部１２６は、通常のパリティチェックによるエラー訂正処理を実行するように設定する。
【０１４９】
ステップＳ１５８の処理の後、処理はステップＳ１６１に進む。
【０１５０】
ステップＳ１５４戻り、RTT算出部１２４から供給された変動量Ａが、予め設定された範囲内であった場合、安定度判定部１２１は、RTTは安定していると判定し、処理は、ステップＳ１５９に進む。
【０１５１】
エラー訂正設定部１２６は、予め、パケットロス率の基準値θ（例えば、θ＝５％）を有しており、ステップＳ１５９において、パケットロス率が、基準値θ未満であるか否かを判定し、パケットロス率が、基準値θ未満であった場合、処理はステップＳ１５８に進み、ステップＳ１５８以降の処理が繰り返される。
【０１５２】
ステップＳ１５９において、エラー訂正設定部１２６が、パケットロス率は、基準値θ未満ではない（基準値θ以上である）と判定した場合、処理はステップＳ１６０に進む。
【０１５３】
ステップＳ１６０において、エラー訂正設定部１２６は、ARQによるエラー訂正処理を実行するように設定する。ARQによるエラー訂正処理を実行するように設定された場合、画像送信装置１２は、ロスしたパケットの再送要求を画像送信装置１１に通知し、画像送信装置１１は、再送要求があったパケットを、画像受信装置１２に再送する。
【０１５４】
ステップＳ１６０の処理の後、処理はステップＳ１６１に進む。
【０１５５】
ステップＳ１６１において、制御部１０２は、パケット受信部１０７を監視し、パケット受信部１０７が応答パケットを受信するまで待機する。そして、パケット受信部１０７が応答パケットを受信したとき、処理はステップＳ１５３に戻り、ステップＳ１５３以降の処理が繰り返し実行される。
【０１５６】
以上のようにして、画像送信装置１１は、エラー訂正設定処理を実行する。
【０１５７】
RTTが安定しており、かつ、パケットロスがθ未満の低い確率で定常的に発生する場合、パケットロスが発生しても、画像送信装置１１は、早々したデータパケットが画像受信装置１２に届く時間を容易に推測することができる。従って、このような状況では、ARQによるエラー訂正が効率的である。
【０１５８】
一方、パケットロスは滅多に発生しないが、低い頻度で、バーストトラフィックによりパケットロスが発生する場合、画像送信装置１１と画像受信装置１２間のルータなどのキューが溢れて、パケットロスが発生していると考えられる（図３参照）。この場合、RTTが安定しない。従って、この場合、FECによるエラー訂正が効率的である。
【０１５９】
図１２に示されたエラー訂正設定処理によれば、このような状況に応じた、エラー訂正を設定することが可能となる。
【０１６０】
なお、本発明は、実時間ストリーミングに適用することも可能である。
【０１６１】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
【０１６２】
図１３は、画像送信装置１１、または画像受信装置１２をソフトウェアにより実現する場合の情報処理装置の一実施の形態の構成を示している。パーソナルコンピュータ４００の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４０２や、記憶部４０８に含まれるハードディスクなどで構成される。
【０１６４】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【０１６５】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１６６】
【発明の効果】
以上のように、第１の本発明によれば、ネットワークを介して、情報を送受信することができる。また、第１の本発明によれば、より効率的に、送信レートを制御することができる。さらに、本発明によれば、ネットワークの状態に応じて、エラー訂正を行なうことができる。
【０１６７】
第２の本発明によれば、ネットワークを介して、情報を送信することができる。また、第２の本発明によれば、より効率的に、送信レートを制御することができる。さらに、第２の本発明によれば、ネットワークの状態に応じて、エラー訂正を行なうことができる。
【０１６８】
第３の本発明によれば、ネットワークを介して、情報を受信することができる。また、第３の本発明によれば、より効率的に、送信レートを制御することができる。
【図面の簡単な説明】
【図１】従来のパケット通信を説明するための図である。
【図２】送信されるパケットのタイミングの例を示す図である。
【図３】パケットロスを説明する図である。
【図４】本発明を適用した情報処理システムの構成例を示すブロック図である。
【図５】画像送信装置の構成例を示すブロック図である。
【図６】画像受信装置の構成例を示すブロック図である。
【図７】画像送信装置の画像送信処理、および画像受信装置の画像受信処理を説明するフローチャートである。
【図８】画像受信装置の確認応答処理を説明するフローチャートである。
【図９】画像送信装置のレート制御処理を説明するフローチャートである。
【図１０】画像送信装置のレート制御処理を説明する、図９に続くフローチャートである。
【図１１】画像送信装置のレート制御処理を説明する、図９に続くフローチャートである。
【図１２】画像送信装置のエラー訂正設定処理を説明するフローチャートである。
【図１３】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
１０  ネットワーク，  １１  画像送信装置，  １２  画像受信装置，  １０１  操作部，  １０２  制御部，  １０３  記録媒体，  １０４  入力部，  １０５  パケット生成部，  １０６  パケット送信部，  １０７  パケット受信部，  １０８  レート制御部，  １２１  安定度判定部，  １２２  RTT増減検出部，  １２３  送信レート設定部，  １２４  RTT算出部，  １２５  ロス率算出部，  １２６  エラー訂正設定部，  １５１  操作部，  １５２  制御部，  １５３  パケット受信部，  １５４  記録媒体，  １５５  状態測定部，  １５６  パケット生成部，  １５７  パケット送信部，  ４０１  CPU，  ４０２  ROM，  ４０３  RAM，  ４０４  バス，  ４０５  入出力インタフェース，  ４０６  入力部，  ４０７  出力部，  ４０８  記憶部，  ４０９  通信部，  ４１０  ドライブ，  ４２１  磁気ディスク，  ４２２  光ディスク，  ４２３  光磁気ディスク，  ４２４  半導体メモリ
【図１】
2004193991.tif 000004
【図２】
2004193991.tif 000005
【図３】
2004193991.tif 000006
【図４】
2004193991.tif 000007
【図５】
2004193991.tif 000008
【図６】
2004193991.tif 000009
【図７】
2004193991.tif 000010
【図８】
2004193991.tif 000011
【図９】
2004193991.tif 000012
【図１０】
2004193991.tif 000013
【図１１】
2004193991.tif 000014
【図１２】
2004193991.tif 000015
【図１３】
2004193991.tif 000016