JP4061643B2 - Information processing system, information processing apparatus and method, recording medium, and program - Google Patents
Information processing system, information processing apparatus and method, recording medium, and program Download PDFInfo
- Publication number
- JP4061643B2 JP4061643B2 JP2002359735A JP2002359735A JP4061643B2 JP 4061643 B2 JP4061643 B2 JP 4061643B2 JP 2002359735 A JP2002359735 A JP 2002359735A JP 2002359735 A JP2002359735 A JP 2002359735A JP 4061643 B2 JP4061643 B2 JP 4061643B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- rtt
- predetermined value
- less
- variation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、情報処理システム、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、ネットワークの状態の変化に、迅速に適応できるようにした情報処理システム、情報処理装置および方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
送信端末装置から受信端末装置に対して、インターネットなどのネットワークを経由して、連続してパケットを送信する場合、受信端末装置から送信端末装置に対して、損失した(受信されなかった)パケットを特定する情報や、パケットの受信時刻などの情報を含む確認応答が通知される。送信端末装置は、受信端末装置から受信した確認応答に応じて、送信するパケットの送信間隔やパケットサイズを変更して、ネットワークの帯域の状態に最適な送信レートで、パケットを送信する。
【0003】
ネットワークの帯域の状態に従って、パケットの送信レートを制御するレート制御アルゴリズムは、通常、パケットロス率(送信端末から送信したパケットのうち、損失したパケットの率)、およびRTT(Round Trip Time)を基に、ネットワークの帯域の状態を推測して、送信レートを制御している。
【0004】
TCP(Transmission Control Protocol)をはじめとする多くのレート制御アルゴリズムにおいては、パケットの損失を検知すると、それがネットワークの輻輳に起因するものだと判定して、送信レートの制御を行なう。例えば、送信端末装置は、パケットの損失を検知した場合、パケットの送信間隔をひろくしたり、パケットサイズを小さくして、ネットワーク上を流れるデータの量を減少させる。しかしながら、このようなレート制御アルゴリズムを適用した場合、送信端末装置は、単に、パケットの受信端末装置への到着順が入れ替わっただけでも、受信端末装置からの通知により、パケットが損失したと推定し、ネットワークの輻輳を回避する処理を開始してしまう。結果的に、このようなレート制御アルゴリズムにおいては、単に、パケットの受信端末装置への到着順が入れ替わっただけでも、送信レートが低下してしまい、単位時間当りに送信されるデータ量が減少してしまうという問題があった。
【0005】
このような問題を解決するために、RFC(Request For Comments)2581においては、以下のような処理が規定されている。すなわち、TCPにおいては、所定の個数のパケットを一まとめにした、セグメントと呼ばれるデータ管理単位により、データを管理している。送信端末装置は、通し番号(以下の説明において、この通し番号をセグメント番号と称する)を付加して、受信端末装置にセグメントを送信する。受信端末装置は、このセグメントを受信する毎に、連番で受信中のセグメントのセグメント番号を、確認応答として送信端末装置に通知する。パケットが損失した場合、送信端末装置に通知されるセグメント番号が欠落するため、送信端末装置は、パケットの損失を検知することができる。
【0006】
FRC2581の規定によれば、送信端末装置は、2回までの確認応答の重複は、セグメントの到着順序が入れ替わった可能性があるとして、セグメントが損失したとは判定せず、3回以上、確認応答が重複した場合、途中のセグメントが損失したと判定するようになっている。そして、3回以上の確認応答の重複があった場合、送信端末装置は、タイムアウトを待たずに、損失した可能性のあるセグメントを再送する(Fast Retransmit)。これにより、これまでタイムアウト時間(通常はRTTの4倍)だけ、待機しなければ検知できなかったパケットの損失に、より迅速に対処することが可能となり、また、到着順序の入れ替わりによる、送信レート低下の発生頻度を減少させることが可能となっている。
【0007】
また、輻輳状態と伝送誤り発生状態とを組み合わせて判定することにより、無意味な送信レートの低下とデータの損失を共に防ぐようにしたレート制御アルゴリズムがある(例えば、特許文献1参照)。すなわち、無線ネットワークにおいては、ネットワークが輻輳していない場合でも、伝送誤りが頻繁に発生するが、ネットワーク層において伝送誤りはパケットロスと同等に扱われてしまうため、伝送誤りの度に、輻輳が発生したと判定して、ネットワークの輻輳を回避する処理を開始してしまう。特許文献1に記載のレート制御アルゴリズムは、これを避けるため、伝送誤りを検知した際に、RTTを基に、ネットワークが輻輳しているか否かを判定し、ネットワークが輻輳していると判定した場合のみ、輻輳回避段階に入るという制御を追加している。
【0008】
また、パケットロス率とRTTの2つのパラメータを利用して、輻輳回避段階に入るか否かの判定だけではなく、送信端末装置から送信する理想的な送信レートをも予測するようにたレート制御アルゴリズムであるTFRC(TCP-Friendly Rate Control)もある(例えば、非特許文献1参照)。
【0009】
【特許文献1】
特開2001-160824号公報(第4−6ページ)
【非特許文献1】
S.Floyd,M.Handley,J.Pandhye and J.Widmer,“Equation-Based Congestion Control for Unicast Applications”,Proceedings of ACM SIGCOMM 2000,May 2000 pp2
【0010】
【発明が解決しようとする課題】
しかしながら、TFRCにおいては、パケットロス率とRTTの2つのパラメータの変化に対して、迅速に反応することができないという課題があった。
【0011】
ところで、インターネットを介して動画をストリーミングする場合、送信端末装置から受信端末装置へ、1フレームを複数のパケットに分割して送信することがある。これは、1フレームのデータが、MTU(Maximum Transmission Unit)より大きいため、または1フレームのデータを意味のある単位で区切り、送信するからである。なお、意味のあるデータとは、例えば、JPEG(Joint Photographic Experts Group)2000などでは、1フレームの各レイヤ単位のデータのことを指している。
【0012】
このように、1フレームを複数のパケットに分割して送信する場合、1フレーム内のデータを一度に送信しようとするため、通信データ量が一時的に集中的に増大し、所謂、バーストトラフィックになる。従って、インターネットを介して、送信端末装置から受信端末装置へ、1フレームのデータを送信するとき、このバーストトラフィックの影響で、パケットロスを引き起こす可能性がある。
【0013】
図1にその例を示す。図1において、画像送信装置1は、保有している画像データを送信する装置であり、画像受信装置3は、画像送信装置1が送信した画像データを受信する装置である。図1において、画像送信装置1および画像受信装置3の間には、ルータ2−1および2−2が設置され、画像送信装置1から送信された画像データのパケットは、ルータ2−1および2−2を介して、画像受信装置3に受信される。すなわち、ルータ2−1は、画像送信装置1から、パケットを受信し、受信したパケットを、ルータ2−2に送信する。ルータ2−2は、ルータ2−1からパケットを受信し、受信したパケットを画像受信装置3に送信する。
【0014】
画像送信装置1が、例えば、30fps(frames per second)で、動画データのパケットを送出しているとする。図2は、画像送信装置1から送信されるパケットの送出のタイミングを表している。図2において、「1」、「2」、「3」、「4」、「5」、「6」、「7」、および「8」と記されたブロックは、それぞれ1個のパケットを表しており、これらの数字は、パケットのシーケンス番号を表している。図2においては、1フレームのデータを、4個のパケットに分割して送信しているとする。図2において、横軸は時間軸である。
【0015】
図2に示されるように、画像送信装置1は、まず、シーケンス番号1乃至4のパケットを、順番に送出する。そして、シーケンス番号1のパケットが送出されるタイミングから33ms後、画像送信装置1は、シーケンス番号5乃至8のパケットを順番に送出する。画像送信装置1から送出されたパケットは、まずルータ2−1に受信される。ルータ2−1は、ルータ2−2にパケットを送出するまでの間、画像送信装置1から受信したパケットを内蔵する記録媒体に保持しておく。しかしながら、画像送信装置1からルータ2−1に、一度に集中的にパケットが到達した場合、記憶すべきパケットのデータ量が、ルータ2−1の記憶容量を超えてしまうことがある。この場合の例を図3に示す。
【0016】
図3において、ルータ2−1は、例えば、6個のパケットを記憶することができるとする。ここで、画像送信装置1から、一度に集中的にパケットが受信された場合、ルータ2−1の記憶容量を越えた分のパケットである、シーケンス番号7番および8番のパケットは、ルータ2−1により廃棄されてしまう。結果的に、シーケンス番号7番および8番のパケットは、画像受信装置3には届かず、パケットロスが発生する。
【0017】
画像受信装置3は、シーケンス番号に基づいて、欠落したシーケンス番号の有無を判定することにより、パケットロスを検知する。そして、パケットロスを検知した場合、画像受信装置3は、画像送信装置1に対して、パケットの送信レートを下げるように要求するメッセージを送信する。従来、この要求メッセージには、現在の送信レート(bps;bits per second)、またはパケットロス率などが含まれていた。
【0018】
画像送信装置1は、画質を下げることにより送信レートを下げるか、フレームレートを下げることにより送信レートを下げるかのいずれかの手段により、送信レートを下げることができる。しかしながら、画像送信装置1は、画像受信装置3から、現在の送信レート(bps)を含む要求メッセージを受信しても、この情報のみでは、画質を落とすべきなのか、フレームレートを落とすべきなのか、最適な選択肢を選択することができなかった。
【0019】
本発明は、このような状況に鑑みてなされたものであり、ネットワークの帯域の状態の変化に対して迅速に適応して、情報を送受信させることを目的とする。
【0020】
【課題を解決するための手段】
本発明の情報処理システムは、第1の情報処理装置は、第2の情報処理装置にパケットを送信する第1の送信手段と、第2の情報処理装置から確認応答を受信する第1の受信手段と、第1の受信手段により受信された確認応答に基づいて、RTTを算出する算出手段と、算出手段により算出されたRTTの変動が所定の値以下であるか否かを判定する第1の判定手段と、第1の判定手段により、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定手段と、第1の判定手段によりRTTの変動は所定の値以下であると判定された場合、パケットにおけるバーストロスの発生の有無または確認応答の受信時刻から RTT と同一時間分だけ以前の時刻までの間でのパケットロスの発生の有無に基づいて、パケットの送信レートを設定し、第2の判定手段によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定手段とを備え、第2の情報処理装置は、第1の情報処理装置より、パケットを受信する第2の受信手段と、第2の受信手段により受信されたパケットに基づいて、第1の情報処理装置に、確認応答を送信する第2の送信手段とを備えることを特徴とする。
【0021】
本発明の第1の情報処理装置は、他の情報処理装置にパケットを送信する送信手段と、他の情報処理装置から確認応答を受信する受信手段と、受信手段により受信された確認応答に基づいて、RTTを算出する算出手段と、算出手段により算出されたRTTの変動が所定の値以下であるか否かを判定する第1の判定手段と、第1の判定手段により、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定手段と、第1の判定手段によりRTTの変動は所定の値以下であると判定された場合、パケットにおけるバーストロスの発生の有無または確認応答の受信時刻から RTT と同一時間分だけ以前の時刻までの間でのパケットロスの発生の有無に基づいて、パケットの送信レートを設定し、第2の判定手段によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定手段とを備えることを特徴とする。
【0022】
前記送信手段により送信される前記パケットを生成する生成手段をさらに設けるようにし、前記パケットは、画像データを含むようにすることができる。
【0023】
前記設定手段には、前記第1の判定手段により前記RTTの変動は所定の値以下であると判定され、かつ、前記確認応答に、バーストロスの発生の通知が含まれていた場合、前記生成手段により生成される前記パケットに含まれる前記画像データのフレームレートを低下させることにより、送信レートを低下させ、前記第1の判定手段により前記RTTの変動は所定の値以下であると判定され、かつ、前記確認応答に、バーストロスの発生の通知が含まれていなかった場合、前記生成手段により生成される前記パケットに含まれる前記画像データの画質を低下させることにより、送信レートを低下させるようにさせることができる。
【0025】
本発明の第1の情報処理方法は、他の情報処理装置にパケットを送信する送信ステップと、他の情報処理装置から確認応答を受信する受信ステップと、受信ステップの処理により受信された確認応答に基づいて、RTTを算出する算出ステップと、算出ステップの処理により算出されたRTTの変動が所定の値以下であるか否かを判定する第1の判定ステップと、第1の判定ステップの処理により、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、第1の判定ステップの処理によりRTTの変動は所定の値以下であると判定された場合、パケットにおけるバーストロスの発生の有無または確認応答の受信時刻から RTT と同一時間分だけ以前の時刻までの間でのパケットロスの発生の有無に基づいて、パケットの送信レートを設定し、第2の判定ステップの処理によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定ステップとを含むことを特徴とする。
【0026】
本発明の第1の記録媒体のプログラムは、情報処理装置用のプログラムであって、パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された確認応答に基づいて、RTTを算出する算出ステップと、算出ステップの処理により算出されたRTTの変動が所定の値以下であるか否かを判定する第1の判定ステップと、第1の判定ステップの処理により、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、第1の判定ステップの処理によりRTTの変動は所定の値以下であると判定された場合、パケットにおけるバーストロスの発生の有無または確認応答の受信時刻から RTT と同一時間分だけ以前の時刻までの間でのパケットロスの発生の有無に基づいて、パケットの送信レートを設定し、第2の判定ステップの処理によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定ステップとを含むことを特徴とする。
【0027】
本発明の第1のプログラムは、情報処理装置を制御するコンピュータに、パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された確認応答に基づいて、RTTを算出する算出ステップと、算出ステップの処理により算出されたRTTの変動が所定の値以下であるか否かを判定する第1の判定ステップと、第1の判定ステップの処理により、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、第1の判定ステップの処理によりRTTの変動は所定の値以下であると判定された場合、パケットにおけるバーストロスの発生の有無または確認応答の受信時刻から RTT と同一時間分だけ以前の時刻までの間でのパケットロスの発生の有無に基づいて、パケットの送信レートを設定し、第2の判定ステップの処理によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定ステップとを実行させることを特徴とする。
【0028】
本発明の第2の情報処理装置は、他の情報処理装置にパケットを送信する送信手段と、他の情報処理装置から確認応答を受信する受信手段と、受信手段により受信された確認応答に基づいて、 RTT を算出する算出手段と、算出手段により算出された RTT の変動が所定の値以下であるか否かを判定する第1の判定手段と、第1の判定手段により、 RTT の変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定手段と、第1の判定手段により RTT の変動は所定の値以下であると判定され、かつ、パケットロス率が所定の値以上である場合、 ARQ を実行する実行手段とを備え、実行手段は、第2の判定手段によりパケットロス率の変動は所定の値以下であると判定された場合、 FEC を実行し、第2の判定手段によりパケットロス率の変動は所定の値以下ではないと判定された場合、パリティチェックを実行するをことを特徴とする。
【0029】
本発明の第2の情報処理方法は、他の情報処理装置にパケットを送信する送信ステップと、他の情報処理装置から確認応答を受信する受信ステップと、受信ステップの処理により受信された確認応答に基づいて、 RTT を算出する算出ステップと、算出ステップの処理により算出された RTT の変動が所定の値以下であるか否かを判定する第1の判定ステップと、第1の判定ステップの処理により、 RTT の変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、第1の判定ステップの処理により RTT の変動は所定の値以下であると判定され、かつ、パケットロス率が所定の値以上である場合、 ARQ を実行する実行ステップとを含み、実行ステップの処理は、第2の判定ステップの処理によりパケットロス率の変動は所定の値以下であると判定された場合、 FEC を実行し、第2の判定ステップの処理によりパケットロス率の変動は所定の値以下ではないと判定された場合、パリティチェックを実行するをことを特徴とする。
【0030】
本発明の第2の記録媒体のプログラムは、情報処理装置用のプログラムであって、パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された確認応答に基づいて、 RTT を算出する算出ステップと、算出ステップの処理により算出された RTT の変動が所定の値以下であるか否かを判定する第1の判定ステップと、第1の判定ステップの処理により、 RTT の変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、第1の判定ステップの処理により RTT の変動は所定の値以下であると判定され、かつ、パケットロス率が所定の値以上である場合、 ARQ を実行する実行ステップとを含み、実行ステップの処理は、第2の判定ステップの処理によりパケットロス率の変動は所定の値以下であると判定された場合、 FEC を実行し、第2の判定ステップの処理によりパケットロス率の変動は所定の値以下ではないと判定された場合、パリティチェックを実行することを特徴とする。
【0031】
本発明の第2のプログラムは、情報処理装置を制御するコンピュータに、パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された確認応答に基づいて、 RTT を算出する算出ステップと、算出ステップの処理により算出された RTT の変動が所定の値以下であるか否かを判定する第1の判定ステップと、第1の判定ステップの処理により、 RTT の変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、第1の判定ステップの処理により RTT の変動は所定の値以下であると判定され、かつ、パケットロス率が所定の値以上である場合、 ARQ を実行する実行ステップとを実行させ、実行ステップの処理によって、第2の判定ステップの処理によりパケットロス率の変動は所定の値以下であると判定された場合、 FEC を実行させ、第2の判定ステップの処理によりパケットロス率の変動は所定の値以下ではないと判定された場合、パリティチェックを実行させることを特徴とする。
【0032】
本発明の情報処理システムにおいては、第1の情報処理装置では、第2の情報処理装置にパケットが送信され、第2の情報処理装置から確認応答が受信され、受信された確認応答に基づいて、RTTが算出され、算出されたRTTの変動が所定の値以下であるか否かが判定され、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かが判定され、RTTの変動は所定の値以下であると判定された場合、パケットにおけるバーストロスの発生の有無または確認応答の受信時刻から RTT と同一時間分だけ以前の時刻までの間でのパケットロスの発生の有無に基づいて、パケットの送信レートが設定され、パケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートが設定される。また、第2の情報処理装置では、第1の情報処理装置より、パケットが受信され、受信されたパケットに基づいて、第1の情報処理装置に、確認応答が送信される。
【0033】
本発明の第1の情報処理装置および方法、記録媒体、並びにプログラムにおいては、他の情報処理装置にパケットが送信され、他の情報処理装置から確認応答が受信され、受信された確認応答に基づいて、RTTが算出され、算出されたRTTの変動が所定の値以下であるか否かが判定され、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かが判定され、RTTの変動は所定の値以下であると判定された場合、パケットにおけるバーストロスの発生の有無または確認応答の受信時刻から RTT と同一時間分だけ以前の時刻までの間でのパケットロスの発生の有無に基づいて、パケットの送信レートが設定され、パケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートが設定される。
【0034】
本発明の第2の情報処理装置および方法、記録媒体、並びにプログラムにおいては、他の情報処理装置にパケットが送信され、他の情報処理装置から確認応答が受信され、受信された確認応答に基づいて、 RTT が算出され、算出された RTT の変動が所定の値以下であるか否かが判定され、 RTT の変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かが判定され、 RTT の変動は所定の値以下であると判定され、かつ、パケットロス率が所定の値以上である場合、 ARQ が実行され、パケットロス率の変動は所定の値以下であると判定された場合、 FEC が実行され、パケットロス率の変動は所定の値以下ではないと判定された場合、パリティチェックが実行される。
【0035】
本発明は、ネットワークに接続される電子機器に適用することができる。
【0036】
【発明の実施の形態】
図4は、本発明を適用した情報処理システムの一実施の形態の構成を示す図である。
【0037】
図4において、画像送信装置11および、画像受信装置12は、インターネットを含むネットワーク10を介して、接続されている。画像送信装置11は、例えばJPEG2000などの符号化方式により符号化された階層符号化データなどの画像データ(動画データ)を含むパケット(以下の説明において、画像データを含むパケットをデータパケットと称する)を生成し、生成したデータパケットを、ネットワーク10を介して、画像受信装置12に実時間送信する。また、画像送信装置11は、画像受信装置12より、画像送信装置11がデータパケットを送信した送信時刻やパケットロス率などの情報を含む確認応答のパケット(以下の説明において、画像受信装置12から画像送信装置11に送信される確認応答のパケットを応答パケットと称する)を受信し、これらの情報に基づいて、データパケットの送信レートを制御する。
【0038】
画像受信装置12は、画像送信装置11から受信したデータパケットから、画像データを取得し、所定の記録媒体に記録するとともに、画像送信装置11によるデータパケットの送信時刻やパケットロス率などの情報を含む応答パケットを生成し、この応答パケットを、画像送信装置11に送信する。
【0039】
次に、図5は、画像送信装置11の内部の構成例を表している。図5において、操作部101は、ユーザからの操作の入力を受け付け、受け付けられた操作に対応する操作情報を制御部102に通知する。制御部102は、予め設定されたプログラムや、操作部101からの操作情報に基づいて、画像送信装置11の各部の動作を制御する。
【0040】
記録媒体103には、例えばJPEG2000などの符号化方式により符号化された画像データが記録されており、適宜、この画像データを、パケット生成部105に供給する。入力部104は、図示せぬ外部機器(例えば、撮像装置)より、画像データの入力を受け付け、入力された画像データを、パケット生成部105に供給する。
【0041】
パケット生成部105は、レート制御部108からの制御に従って、記録媒体103、または入力部104から供給された画像データを分割し、データパケットを生成し、生成されたデータパケットに、TCP/IP(Transmission Control Protocol/Internet Protocol)、またはUDP/IP(User Datagram Protocol/Internet Protocol)のパケットヘッダを付加して、パケット送信部106に供給する。なお、パケットヘッダには、データパケットの個々を識別するための、シーケンス番号が含まれている。
【0042】
パケット送信部106は、パケット生成部105により生成されたデータパケットが供給されると、これを、所定のタイミングで、ネットワーク10を介して、画像受信装置12に送信する。なお、パケット送信部106は、レート制御部108による制御を受ける。また、パケット送信部106は、データパケットを送信するとき、データパケットの送信時刻として、現在時刻をパケットヘッダに記録する。
【0043】
パケット受信部107は、画像受信装置12より、応答パケットを受信し、これをレート制御部108に供給する。
【0044】
レート制御部108は、パケット受信部107により受信された応答パケットに基づいて、パケット生成部105およびパケット送信部106を制御し、データパケットの送信レートを最適な値に調節する。レート制御部108内の安定度判定部121は、RTT変動算出部124により算出されるRTT、およびロス率誤差算出部125により算出されるパケットロス率が安定しているか否かを判定する(詳細は後述する)。RTT増減検出部122は、RTTの増減を検出する。送信レート設定部123は、パケット生成部105により生成されるデータパケットのパケットサイズ、およびパケット送信部106から送信されるデータパケットの送信間隔を設定することにより、画像送信装置11から送信されるデータパケットの送信レートを設定する。RTT算出部124は、受信した応答パケットに基づいてRTTの瞬間値を算出すると共に、RTTの履歴を考慮したRTTの現在値を算出する。ロス率算出部125は、受信した応答パケットに含まれているパケットロス率に基づいて、履歴を考慮したパケットロス率の現在値を算出する。エラー訂正設定部126は、安定度判定部121の判定結果に基づいて、ARQ(Automatic Repeat reQuest)、FEC(Forward Error Correction)、およびパリティチェックのうちいずれかのエラー訂正処理を設定する。
【0045】
次に、図6は、画像受信装置12の内部の構成例を表している。図6において、操作部151は、ユーザからの操作の入力を受け付け、受け付けられた操作に対応する操作情報を制御部152に通知する。制御部152は、予め設定されたプログラムや、操作部151からの操作信号に基づいて、画像受信装置12の各部の動作を制御する。
【0046】
パケット受信部153は、画像送信装置11から送信されたデータパケットを、ネットワーク10を介して受信し、データパケットに含まれている画像データを、記録媒体154に記録するとともに、データパケットに付加されているパケットヘッダを読み出し、パケットヘッダに含まれている情報、すなわち、シーケンス番号とデータパケットの送信時刻に関する情報を状態測定部155に供給する。
【0047】
記録媒体154は、例えば、ハードディスクにより構成され、パケット受信部153から供給された画像データが記録されるとともに、図示せぬ外部機器により、記録された画像データが読み出される。
【0048】
状態測定部155は、パケット受信部153からシーケンス番号とデータパケットの送信時刻に関する情報を受信する。そして、状態測定部155は、パケット受信部153から供給されたシーケンス番号を基に、パケットロスの有無を判定し、パケットロスがある場合、損失したパケットのシーケンス番号を特定し、パケットロス率を算出する。さらに、状態測定部155は、パケットロスが、バーストトラフィックにより発生したものであるか否かを判定する。なお、以下の説明において、バーストトラフィックが原因で発生したパケットロスのことをバーストロスと称する。
【0049】
また、状態測定部155は、データパケットを受信した受信時刻を取得する。そして、状態測定部155は、パケットヘッダから読み出されたデータパケット送信時刻およびシーケンス番号、並びに自らが取得したデータパケット受信時刻、損失したパケットのシーケンス番号、およびバーストロスの有無を示すバーストロス情報を、パケット生成部156に供給する。
【0050】
パケット生成部156は、状態測定部155から、パケットヘッダから読み出されたデータパケット送信時刻およびシーケンス番号、並びに自らが取得したデータパケット受信時刻、損失したパケットのシーケンス番号、およびバーストロスの有無を示すバーストロス情報が供給された場合、これらの情報を含む応答パケットを生成し、この応答パケットをパケット送信部157に供給する。
【0051】
パケット送信部157は、パケット生成部156から供給された応答パケットを、ネットワーク10を介して、画像送信装置11に送信する。なお、パケット送信部157は、応答パケットを送信するとき、その応答パケットのパケットヘッダに、現在時刻を、応答パケットの送信時刻として記録する。
【0052】
次に、図7のフローチャートを参照して、画像送信装置11の画像送信処理、および画像受信装置の画像受信処理について説明する。
【0053】
図7のステップS1において、画像送信装置11のパケット生成部105は、レート制御部108からの制御に従って、記録媒体103、または入力部104から供給される画像データをパケット化して、データパケットを生成し、生成されたパケットをパケット送信部106に供給する。ステップS2において、パケット送信部106は、パケット生成部105がステップS1で生成したデータパケットを、ネットワーク10を介して、画像受信装置12に送信する。その後、処理はステップS1に戻り、ステップS1以降の処理が繰り返される。
【0054】
画像受信装置12のパケット受信部153は、ステップS11において、画像送信装置11が、ステップS2で送信したデータパケットを受信する。ステップS12において、画像受信装置12のパケット受信部153は、ステップS11で受信されたデータパケットより、画像データを読み出し、この画像データを、記録媒体154に記録する。その後、処理はステップS11に戻り、ステップS11以降の処理が繰り返される。
【0055】
以上のようにして、データパケットが、画像送信装置11から画像受信装置12に実時間送信され、記録媒体154に記録される。記録媒体154に記録された画像データは、適宜、外部機器により読み出され、デコードされ、画像が再生される。
【0056】
なお、ステップS1において、パケット生成部105は、後述する図9乃至図11のフローチャートのレート制御処理により設定された送信レートになるように、データパケットを生成し、ステップS2において、パケット送信部106は、後述する図9乃至図11のフローチャートのレート制御処理により設定された送信レートになるように、データパケットを送出する。
【0057】
ところで、本発明においては、画像受信装置12から画像送信装置11に、応答パケットが送信され、この応答パケットに基づいて、データパケットの送信レートが制御される。
【0058】
そこで、次に、図8のフローチャートを参照して、画像受信装置12の確認応答処理、すなわち、画像受信装置12が、応答パケットを作成し、画像送信装置11に送信する処理について説明する。
【0059】
ステップS51において、画像受信装置12の制御部152は、パケット受信部153を監視し、パケット受信部153がデータパケットを受信するまで待機し、パケット受信部153がデータパケットを受信した場合、処理はステップS52に進む。ステップS52において、状態測定部155は、内蔵する内部時計より、現在時刻を取得する。ステップS53において、状態測定部155は、パケット受信部153から、パケットヘッダとして付加されていた情報である、データパケットの送信時刻、およびシーケンス番号を取得し、シーケンス番号に基づいて、パケットロスが発生したか否かを判定する。
【0060】
すなわち、状態測定部155は、シーケンス番号が、前回受信したデータパケットのシーケンス番号と連番になっているか否かを判定することにより、パケットロスの発生の有無を判定することができる。例えば、前回受信したデータパケットのシーケンス番号が「10」で、今回受信したデータパケットのシーケンス番号が「11」であった場合、「10」と「11」で連続しているので、状態測定部155は、データパケットの損失はないと判定する。また、例えば、前回受信したデータパケットのシーケンス番号が「10」で、今回受信したデータパケットのシーケンス番号が「12」であった場合、「10」と「12」で連続していないので、状態測定部155は、データパケットが損失していると判定する。
【0061】
ステップS53において、状態測定部155が、パケットロスは発生していないと判定した場合、処理はステップS54に進む。
【0062】
ステップS54において、状態測定部155は、ステップS52で取得したデータパケットの受信時刻、並びにデータパケットのパケットヘッダから取得したデータパケットの送信時刻およびシーケンス番号を、パケット生成部156に供給する。パケット生成部156は、状態測定部155から供給された、データパケットの受信時刻、並びにデータパケットの送信時刻およびシーケンス番号を含む応答パケットを生成し、この応答パケットをパケット送信部157に供給する。その後、処理はステップS59に進む。
【0063】
ステップS53において、状態測定部155が、パケットロスが発生したと判定した場合、処理はステップS55に進む。
【0064】
ステップS55において、状態測定部155は、受信したデータパケットのシーケンス番号に基づいて、パケットロス率(画像送信装置11から送出されたデータパケットの個数に対する、損失したパケットの個数の割合)を算出する。その後、処理はステップS56に進む。
【0065】
ステップS56において、状態測定部155は、発生したパケットロスはバーストロスであるか否かを判定する。すなわち、バーストロスが発生した場合、複数のシーケンス番号が連続して欠落することが多い。そこで、状態測定部155は、受信したデータパケットのシーケンス番号が複数個分、連続して欠落した場合、バーストロスであると判定する。例えば、受信されたデータパケットのシーケンス番号が、「1,2,3,9,10,11」であった場合、シーケンス番号の4乃至8番目が連続して欠落している。そこで、状態測定部155は、シーケンス番号9番のデータパケットを受信した時点で、バーストロスが発生したと判定する。なお、バーストロスが発生したか否かの判定の基準となる、連続して欠落したデータパケットの個数は、予め状態測定部155に設定されている。バーストロスが発生したか否かの判定の基準となる、連続して欠落したデータパケットの個数は、例えば4個とすることができる。
【0066】
なお、バーストロスの判定の基準は、上述した方法に限定されるものではない。例えば、単位時間当りに、複数のシーケンス番号が連続して欠落した回数が、所定の回数以上であった場合、バーストロスであると判定するようにしてもよい。
【0067】
ステップS56において、状態測定部155が、バーストロスが発生したと判定した場合、処理はステップS57に進む。
【0068】
ステップS57において、状態測定部155は、ステップS52で取得したデータパケットの受信時刻、データパケットのパケットヘッダから取得したデータパケットの送信時刻およびシーケンス番号、ステップS55で算出したパケットロス率、並びにバーストロスがあったことを示すバーストロス情報を、パケット生成部156に供給する。パケット生成部156は、状態測定部155から供給された情報、すなわち、データパケットの送信時刻、データパケットの受信時刻、シーケンス番号、パケットロス率、並びにバーストロスがあったことを示すバーストロス情報を含む応答パケットを生成し、この応答パケットをパケット送信部157に供給する。その後、処理はステップS59に進む。
【0069】
ステップS56において、状態測定部155が、バーストロスが発生していないと判定した場合、処理はステップS58に進む。
【0070】
ステップS58において、状態測定部155は、ステップS52で取得したデータパケットの受信時刻、データパケットのパケットヘッダから取得したデータパケットの送信時刻およびシーケンス番号、並びにステップS55で算出したパケットロス率を、パケット生成部156に供給する。パケット生成部156は、状態測定部155から供給された情報、すなわち、データパケットの送信時刻、データパケットの受信時刻、シーケンス番号、およびパケットロス率を含む応答パケットを生成し、この応答パケットをパケット送信部157に供給する。その後、処理はステップS59に進む。
【0071】
ステップS59において、パケット送信部157は、パケット生成部156から供給された応答パケットを、ネットワーク10を介して、画像送信装置11に送信する。なお、パケット送信部157は、応答パケットを送信する直前に、内蔵する内部時計から現在時刻を取得し、この現在時刻を、応答パケットの送信時刻として、パケットヘッダに記録する。
【0072】
その後、処理はステップS51に戻り、ステップS51以降の処理が繰り返される。
【0073】
以上のようにして、画像受信装置12から画像送信装置11に対して、応答パケットが送信される。
【0074】
画像送信装置11は、画像受信装置12から受信した応答パケットに基づいて、データパケットの送信レートを制御する。
【0075】
ところで、本発明を適用した画像送信装置11は、RTTとパケットロス率の2つのパラメータのうち、RTTの変化に優先的に反応して、送信レートを制御するレート制御アルゴリズム、およびパケットロス率の変化に優先的に反応して、送信レートを制御するレート制御アルゴリズムの2つのアルゴリズム、並びにTFRCを、適宜、使い分けて送信レートを制御する。送信するパケット毎に算出されるRTTの変動が小さい場合、画像送信装置11は、パケットロス率の変化に対して優先的に反応するレート制御アルゴリズムを採用し、送信するパケット毎に算出されるパケットロス率の変動が小さい場合、画像送信装置11は、RTTの変化に対して優先的に反応するレート制御アルゴリズムを採用する。
【0076】
次に、RTTの変動の検出方法、およびパケットロス率の変動の検出方法について説明する。
【0077】
はじめに、RTTの変動の検出方法について説明する。画像送信装置11は、まず、応答パケットを受信した受信時刻、並びに応答パケットに含まれているデータパケットの送信時刻、データパケットの受信時刻、および応答パケットの送信時刻に基づいて、RTTの実測値を算出する(以下の説明において、RTTの実測値をRTTmと称する)。次に、画像送信装置11は、過去に実測したRTTmを考慮した現在値RTT(t)を、例えば、EWMA(Exponential Weighted Moving Average)を利用して、以下の式(以下の式を式(1)とする)により算出する。
【0078】
RTT(t)=α×RTT(t-1)+(1−α)×RTTm
【0079】
式(1)において、RTT(t-1)は、式(1)により前回算出された現在値であり、αは0乃至1の間の数である。なお、算出されるRTT(t)は、αが1に近い値をとるほど、RTTmの経時的な小さい変化に影響されない値となり、αが0に近い値をとるほど、RTTmの経時的な小さい変化を反映した値となる。
【0080】
式(1)により、RTT(t)が算出されたのち、画像送信装置11は、以下の式(以下の式を式(2)とする)により、RTT(t-1)を100%とした場合のRTT(t)の変動量A(%)を算出する。
【0081】
A=100×{RTT(t)/RTT(t-1)}−100
【0082】
式(2)により算出された変動量Aが、予め設定された所定の範囲内(例えば、±1%の間の値)であった場合、画像送信装置11は、RTTが安定している(RTTの変動が小さい)と判定し、予め設定された所定の範囲内ではなかった場合、画像送信装置11は、RTTは安定していない(RTTの変動が大きい)と判定する。
【0083】
次に、パケットロス率の変動の検出方法について説明する。画像送信装置11は、まず、受信した応答パケットに含まれているパケットロス率(以下の説明において、応答パケットに含まれているパケットロス率をLOSSmと称する)を読み出す。なお、応答パケットにパケットロス率が含まれていなかった場合、画像送信装置11は、パケットロス率が0であると判定する。次に、画像送信装置11は、過去に実測したLOSSmを考慮した現在値LOSS(t)を、例えば、EWMAを利用して、以下の式(以下の式を式(3)とする)により算出する。
【0084】
LOSS(t)=β×LOSS(t-1)+(1−β)×LOSSm
【0085】
式(3)において、LOSS(t-1)は、式(3)により前回算出された現在値であり、βは0乃至1の間の数である。なお、算出されるLOSS(t)は、βが1に近い値をとるほど、LOSSmの経時的な小さい変化に影響されない値となり、βが0に近い値をとるほど、LOSSmの経時的な小さい変化を反映した値となる。
【0086】
式(3)により、LOSS(t)が算出されたのち、画像送信装置11は、以下の式(以下の式を式(4)とする)により、LOSS(t-1)を100%とした場合のLOSS(t)の変動量B(%)を算出する。
【0087】
B=100×{LOSS(t)/LOSS(t-1)}−100
【0088】
式(3)により算出された変動量B(%)が、予め設定された所定の範囲内(例えば、±1%の間の値)であった場合、画像送信装置11は、パケットロス率が安定している(パケットロス率の変動が小さい)と判定し、予め設定された所定の範囲内ではなかった場合、画像送信装置11は、パケットロス率は安定していない(パケットロス率の変動が大きい)と判定する。
【0089】
画像送信装置11は、以上のようにして検出されたRTTおよびパケットロス率の変動に基づいて、RTTの変化に優先的に反応して、送信レートを制御するレート制御アルゴリズム、およびパケットロス率の変化に優先的に反応して、送信レートを制御するレート制御アルゴリズムの2つのアルゴリズムを、適宜、使い分けて送信レートを制御する。なお、RTTおよびパケットロス率のいずれも、安定していない場合、画像送信装置11は、TFRCを利用して、送信レートを制御する。
【0090】
次に、図9乃至図11のフローチャートを参照して、画像送信装置11のレート制御処理、すなわち、データパケットの送信レートの制御について説明する。
【0091】
ステップS101において、RTT算出部124は、上記した式(1)のαを、予め指定された所定の値に設定する。また、ロス率検出部125は、式(3)のβを、予め指定された所定の値に設定する。
【0092】
ステップS102において、制御部102は、パケット受信部107を監視し、パケット受信部107が応答パケットを2回、受信するまで待機する。そして、パケット受信部107が応答パケットを2回受信したとき、処理はステップS103に進む。なお、パケット受信部107は、受信した応答パケットの受信時刻を、内蔵する内部時計から取得しておく。
【0093】
ステップS103において、RTT算出部124は、受信した2個の応答パケットそれぞれに対して、実測値RTTmを算出する。
【0094】
なお、RTTmは、画像送信装置11から送信されたデータパケットが画像受信装置12により受信されるまでの時間(この時間をT1とする)と、画像受信装置12から送信された応答パケットが画像送信装置11により受信されるまでの時間(この時間をT2とする)の和(T1+T2)として求められる。時間T1は、データパケットの受信時刻からデータパケットの送信時刻を引き算して求められる。また、時間T2は、応答パケットの受信時刻から応答パケットの送信時刻を引き算して求められる。
【0095】
その後、RTT算出部124は、式(1)のRTTmに、2回目に受信された応答パケットから算出した実測値RTTmを代入して、RTT(t)を算出する。なお、式(1)により、初めてRTT(t)を算出する場合、式(1)の前回値RTT(t-1)は、まだ算出されていないので、代わりに、1回目に受信された応答パケットのRTTmが代入される。
【0096】
次に、RTT算出部124は、式(2)により、RTTの変動量Aを算出する。なお、式(2)により、初めて変動量Aを算出する場合、式(2)の前回値RTT(t-1)は、まだ算出されていないので、代わりに、1回目に受信された応答パケットのRTTmが代入される。
【0097】
以上のようにして、ステップS103で、RTTの変動量Aが算出された後、RTT算出部124は、算出した変動量Aを安定度判定部121に供給する。その後、処理はステップS104に進む。
【0098】
安定度判定部121は、変動量Aが安定しているか否かを判定するための基準(例えば、±1%)を予め有しており、ステップS104において、RTT算出部124から供給された変動量Aが、この範囲内であるか否か(例えば、変動量Aが、±1%の間にあるか否か)を判定することにより、RTTが安定しているか否かを判定する。そして、安定度判定部121は、RTT算出部124から供給された変動量Aが、予め設定された範囲内ではなかった場合、RTTは安定していないと判定し、処理は、ステップS105に進む。
【0099】
ステップS105において、ロス率算出部125は、受信した2個の応答パケットそれぞれから、パケットロス率を読み出す。なお、応答パケットにパケットロス率が記録されていなかった場合、ロス率算出部123は、パケットロス率は0であると判定する。
【0100】
その後、ロス率算出部125は、式(3)のLOSSmに、2回目に受信された応答パケットから読み出した実測値LOSSmを代入して、LOSS(t)を算出する。なお、式(3)により、初めてLOSS(t)を算出する場合、式(3)の前回値LOSS(t-1)は、まだ算出されていないので、代わりに、1回目に受信された応答パケットのLOSSmが代入される。
【0101】
次に、ロス率算出部125は、式(4)により、パケットロス率の変動量Bを算出する。なお、式(4)により、初めて変動量Bを算出する場合、式(4)の前回値LOSS(t-1)は、まだ算出されていないので、代わりに、1回目に受信された応答パケットから読み出されたLOSSmが代入される。
【0102】
以上のようにして、ステップS105で、パケットロス率の変動量Bが算出された後、ロス率算出部125は、算出した変動量Bを安定度判定部121に供給する。その後、処理はステップS106に進む。
【0103】
安定度判定部121は、変動量Bが安定しているか否かを判定するための基準(例えば、±1%)を予め有しており、ロス率算出部125から供給された変動量Bが、この範囲内であるか否か(例えば、変動量Bが、±1%の間にあるか否か)を判定することにより、パケットロス率が安定しているか否かを判定する。そして、ロス率算出部125から供給された変動量Bが、予め設定された範囲内ではなかった場合、安定度判定部121は、パケットロス率は安定していないと判定し、処理は、ステップS107に進む。
【0104】
ステップS107において、送信レート設定部123は、TFRCのレート制御アルゴリズムにより送信レートを算出する。すなわち、送信レート設定部123は、以下の式(以下の式を式(5)とする)により、データパケットを送信する理想的な送信レートを算出する。
【0105】
【数1】
【0106】
式(5)において、Tは理想的な送信レート、sはパケットサイズ、pはパケットロス率、tはTCP(Transmission Control Protocol)のタイムアウト時間(通常は、RTTの4倍)である。
【0107】
レート制御部108は、送信レート設定部123により算出された送信レートに従って、パケット生成部105およびパケット送信部106を制御する。
【0108】
ステップS108において、制御部102は、パケット受信部107を監視し、パケット受信部107が応答パケットを受信するまで待機する。そして、パケット受信部107が応答パケットを受信したとき、処理はステップS103に戻り、ステップS103以降の処理が繰り返し実行される。
【0109】
ステップS104において、安定度判定部121が、RTT算出部124から供給された変動量Aが、予め設定された範囲内であったと判定した場合、すなわちRTTは安定していると判定した場合、処理は、図10のステップS109に進む。
【0110】
図10のステップS109において、制御部102は、パケット受信部107を監視し、パケット受信部107が応答パケットを受信するまで待機する。そして、パケット受信部107が応答パケットを受信したとき、処理はステップS110に進む。
【0111】
ステップS110において、RTT算出部124は、RTTの変動量Aを算出する。なお、ステップS110の処理は、図9のステップS103の処理と同様であるため、詳細な説明は省略する。
【0112】
ステップS111において、安定度判定部121は、RTT算出部124から供給された変動量Aが、予め設定された所定の範囲内であるか否か(例えば、変動量Aが、±1%の間にあるか否か)を判定することにより、RTTが安定しているか否かを判定する。そして、安定度判定部121が、RTTは安定していないと判定した場合、処理は、図9のステップS105に戻り、上述したステップS105以降の処理が繰り返し実行される。
【0113】
図10のステップS111において、RTT算出部124から供給された変動量Aが、予め設定された範囲内であった場合、安定度判定部121は、RTTは安定していると判定し、処理はステップS112に進む。
【0114】
ステップS112において、送信レート設定部123は、ステップS109で受信したと判定された応答パケットに、パケットロス率が含まれているか否かを判定することにより、パケットロスが発生したか否かを判定し、ステップS109で受信したと判定された応答パケットに、パケットロス率が含まれていない場合、パケットロスは発生していないと判定し、処理はステップS113に進む。
【0115】
ステップS113において、送信レート設定部123は、応答パケットの受信時刻から、RTTと同一時間分だけ以前の時刻までに、パケットロスが発生したか否かを判定し、パケットロスが発生していなかった場合、処理はステップS114に進む。すなわち、送信レート設定部123は、ステップS109で受信された応答パケット(この応答パケットを応答パケットAとする)から算出されたRTTに基づいて、応答パケットAが画像送信装置11に受信された時刻(この時刻を時刻mとする)と、この時刻からRTTと同一時間分だけ以前に遡った時刻(この時刻を時刻nとする)を取得し、時刻nから時刻mまでの間に、パケットロス率を含む応答パケットが受信されたか否かを判定することにより、時刻nから時刻mまでの間に、パケットロスが発生したか否かを判定する。そして、時刻nから時刻mまでの間に、パケットロスが発生していないと判定した場合、処理はステップS114に進む。
【0116】
ステップS114において、送信レート設定部123は、送信レートを上げて、送信レートの設定を更新する。例えば、送信レート設定部123は、AIMD(Additive Increase Multiple Decrease)アルゴリズムに従って、1RTT間に送信するパケット数を1個増やすことにより、送信レートを上げる。ステップS114の処理の後、処理はステップS109に戻り、ステップS109以降の処理が繰り返し実行される。
【0117】
ステップS113において、送信レート設定部123が、応答パケットの受信時刻から、RTTと同一時間分だけ以前の時刻までに、パケットロスが発生したと判定した場合、処理はステップS109に戻り、ステップS109以降の処理が繰り返し実行される。
【0118】
ステップS112に戻って、ステップS109で受信したと判定された応答パケットに、パケットロス率が含まれていない場合、ステップS112において、送信レート設定部123は、パケットロスが発生したと判定し、処理はステップS115に進む。
【0119】
ステップS115において、ステップS109で受信したと判定された応答パケットに、バーストロスがあったことを示すバーストロス情報が含まれているか否かを判定することにより、パケットロスがバーストロスであるか否かを判定し、ステップS109で受信したと判定された応答パケットに、バーストロスがあったことを示すバーストロス情報が含まれていない場合、パケットロスはバーストロスではないと判定し、処理はステップS116に進む。
【0120】
ステップS116において、送信レート設定部123は、画質を落として送信レートを下げる。すなわち、例えば、パケット化する画像データが、JPEG2000のような階層符号化データである場合、1フレームの画像データは、複数のレイヤに分割されている。そして、下位のレイヤから順番に、多くのレイヤのデータがあるほど、より高画質の画像を再生させることができる。反対に、下位のレイヤのデータしかない場合、画質は低下するが、画像自体は再生することができる。そこで、パケット化する画像データが、JPEG2000のような階層符号化データである場合、送信レート設定部123は、パケット生成部105に指令して、パケット化するレイヤを減らすことにより、送信する画像データの画質を低下させる。
【0121】
ステップS116の処理の後、処理はステップS109に戻り、ステップS109以降の処理が繰り返し実行される。
【0122】
ステップS115に戻り、ステップS109で受信したと判定された応答パケットに、バーストロスがあったことを示すバーストロス情報が含まれていた場合、パケットロスはバーストロスであると判定し、処理はステップS117に進む。
【0123】
ステップS117において、送信レート設定部117は、フレームレートを落として、送信レートを下げる。すなわち、送信レート設定部117は、パケット生成部105により画像データをパケット化する際に、何個かおきに、フレームをパケット化せずに廃棄させる。ステップS117の処理の後、処理はステップS109に戻り、ステップS109以降の処理が繰り返し実行される。
【0124】
図9のステップS106に戻り、安定度判定部121が、パケットロス率は安定していると判定した場合、処理は図11のステップS118に進む。
【0125】
図11のステップS118において、制御部102は、パケット受信部107を監視し、パケット受信部107が応答パケットを受信するまで待機する。そして、パケット受信部107が応答パケットを受信したとき、処理はステップS119に進む。
【0126】
ステップS119において、ロス率算出部125は、パケットロス率の変動量Bを算出する。なお、ステップS119の処理は、図9のステップS105の処理と同様であるため、詳細な説明は省略する。
【0127】
ステップS120において、安定度判定部121は、ロス率算出部125から供給された変動量Bが、予め設定された所定の範囲内であるか否か(例えば、変動量Bが、±1%の間にあるか否か)を判定することにより、パケットロス率が安定しているか否かを判定する。そして、安定度判定部121が、パケットロス率は安定していないと判定した場合、処理は、図9のステップS103に戻り、上述したステップS103以降の処理が繰り返し実行される。
【0128】
ステップS120において、安定度判定部121が、パケットロス率は安定していると判定した場合、処理はステップS121に進む。
【0129】
ステップS121において、レート制御部108内のRTT増減検出部122は、RTT算出部124により算出されたRTT(t)、およびRTT(t-1)を取得し、RTT(t)がRTT(t-1)より大きな値であるか否かを判定することにより、RTTが増加したか否かを判定し、RTT(t)がRTT(t-1)より大きな値ではない場合、RTTは増加していないと判定し、処理はステップS122に進む。
【0130】
ステップS122において、RTT増減検出部122は、RTT(t-1)より1回分前に算出されたRTT(t-2)をRTT算出部124から取得し、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)より小さな値である場合、処理はステップS123に進む。
【0131】
ステップS123において、送信レート設定部123は、送信レートを上げて、送信レートの設定を更新する。これにより、レート制御部108は、パケット生成部105およびパケット送信部106に指令して、送信レートを上げさせる。
【0132】
ステップS122において、RTT増減検出部122が、RTT(t)がRTT(t-1)より大きな値であるか、または、RTT(t-1)がRTT(t-2)より大きな値であるかのうち、少なくともいずれか一方が成り立つと判定した場合、処理はステップS118に戻り、ステップS118以降の処理が繰り返し実行される。
【0133】
ステップS121において、RTT増減検出部122が、RTT(t)がRTT(t-1)より大きな値であると判定した場合、すなわち、RTTは増加していると判定した場合、処理はステップS124に進む。
【0134】
ステップS124において、送信レート設定部123は、送信レートを下げて、送信レートの設定を更新する。これにより、レート制御部108は、パケット生成部105およびパケット送信部106に指令して、送信レートを下げさせる。
【0135】
その後、処理はステップS118に戻り、ステップS118以降の処理が繰り返される。
【0136】
以上のようにして、画像送信装置11は、送信レートを制御する。このようにすることにより、RTTの変動が小さい場合、パケットロス率の変化に迅速に対応して、送信レートを調整し、パケットロス率の変動が小さい場合、RTTの変化に迅速に対応して、送信レートを調整することが可能となる。
【0137】
また、パケットロスがバーストロスである場合、フレームレートを落とすことにより送信レートを低下させ、パケットロスがバーストロスではない場合、画質を落とすことにより、送信レートを低下させることにより、バーストロスの発生率を低下させることが可能となる。従って、より効率的に送信レートを制御することが可能となる。
【0138】
ところで、本発明においては、RTTおよびパケットロス率が安定しているか否かに応じて、エラー訂正のアルゴリズムを切り替えることもできる。次に、図12のフローチャートを参照して、RTTおよびパケットロス率の安定性に応じた、エラー訂正のアルゴリズムの切り替えについて説明する。
【0139】
ステップS151において、RTT算出部124は、上記した式(1)のαを、予め指定された所定の値に設定する。また、ロス率検出部125は、式(3)のβを、予め指定された所定の値に設定する。
【0140】
ステップS152において、制御部102は、パケット受信部107を監視し、パケット受信部107が応答パケットを2回、受信するまで待機する。そして、パケット受信部107が応答パケットを2回受信したとき、処理はステップS153に進む。なお、パケット受信部107は、受信した応答パケットの受信時刻を、内蔵する内部時計から取得しておく。
【0141】
ステップS153において、RTT算出部124は、受信した2個の応答パケットそれぞれに対して、実測値RTTm、RTT(t)、およびRTTの変動量Aを算出する。なお、ステップS153の処理は、図9のステップS103の処理と同様であるため、詳細な説明は省略する。
【0142】
以上のようにして、ステップS153で、RTTの変動量Aが算出された後、RTT算出部124は、算出した変動量Aを安定度判定部121に供給する。その後、処理はステップS154に進む。
【0143】
安定度判定部121は、変動量Aが安定しているか否かを判定するための基準(例えば、±1%)を予め有しており、ステップS154において、RTT算出部124から供給された変動量Aが、この範囲内であるか否か(例えば、変動量Aが、±1%の間にあるか否か)を判定することにより、RTTが安定しているか否かを判定する。そして、安定度判定部121は、RTT算出部124から供給された変動量Aが、予め設定された範囲内ではなかった場合、RTTは安定していないと判定し、処理は、ステップS155に進む。
【0144】
ステップS155において、ロス率算出部125は、LOSS(t)、およびパケットロス率の変動量Bを算出する。なお、ステップS155の処理は、図9のステップS105の処理と同様であるため、詳細な説明は省略する。ロス率算出部125は、算出した変動量Bを安定度判定部121に供給する。その後、処理はステップS156に進む。
【0145】
安定度判定部121は、変動量Bが安定しているか否かを判定するための基準(例えば、±1%)を予め有しており、ロス率算出部125から供給された変動量Bが、この範囲内であるか否か(例えば、変動量Bが、±1%の間にあるか否か)を判定することにより、パケットロス率が安定しているか否かを判定する。そして、ロス率算出部125から供給された変動量Bが、予め設定された範囲内であった場合、安定度判定部121は、パケットロス率は安定していると判定し、処理は、ステップS157に進む。
【0146】
ステップS157において、エラー訂正設定部126は、FECによるエラー訂正処理を実行するように設定する。FECによるエラー訂正処理を実行するように設定された場合、画像送信装置11は、画像データをパケット化するとともに、パケット化されたデータより誤り訂正用の冗長パケットを生成し、データパケットおよび冗長パケットを画像受信装置12に送信する。データパケットおよび冗長パケットを受信した画像受信装置12は、エラー訂正処理を行い、受信したパケットからロスしたデータパケットを復元し、受信されたデータパケットと、復元されたデータパケットに含まれている画像データを、記録媒体154に記録する。
【0147】
ステップS157の処理の後、処理はステップS161に進む。
【0148】
ステップS156に戻り、ロス率算出部125から供給された変動量Bが、予め設定された範囲内ではなかった場合、安定度判定部121は、パケットロス率は安定していないと判定し、処理はステップS158に進む。ステップS158において、エラー訂正設定部126は、通常のパリティチェックによるエラー訂正処理を実行するように設定する。
【0149】
ステップS158の処理の後、処理はステップS161に進む。
【0150】
ステップS154戻り、RTT算出部124から供給された変動量Aが、予め設定された範囲内であった場合、安定度判定部121は、RTTは安定していると判定し、処理は、ステップS159に進む。
【0151】
エラー訂正設定部126は、予め、パケットロス率の基準値θ(例えば、θ=5%)を有しており、ステップS159において、パケットロス率が、基準値θ未満であるか否かを判定し、パケットロス率が、基準値θ未満であった場合、処理はステップS158に進み、ステップS158以降の処理が繰り返される。
【0152】
ステップS159において、エラー訂正設定部126が、パケットロス率は、基準値θ未満ではない(基準値θ以上である)と判定した場合、処理はステップS160に進む。
【0153】
ステップS160において、エラー訂正設定部126は、ARQによるエラー訂正処理を実行するように設定する。ARQによるエラー訂正処理を実行するように設定された場合、画像送信装置12は、ロスしたパケットの再送要求を画像送信装置11に通知し、画像送信装置11は、再送要求があったパケットを、画像受信装置12に再送する。
【0154】
ステップS160の処理の後、処理はステップS161に進む。
【0155】
ステップS161において、制御部102は、パケット受信部107を監視し、パケット受信部107が応答パケットを受信するまで待機する。そして、パケット受信部107が応答パケットを受信したとき、処理はステップS153に戻り、ステップS153以降の処理が繰り返し実行される。
【0156】
以上のようにして、画像送信装置11は、エラー訂正設定処理を実行する。
【0157】
RTTが安定しており、かつ、パケットロスがθ未満の低い確率で定常的に発生する場合、パケットロスが発生しても、画像送信装置11は、早々したデータパケットが画像受信装置12に届く時間を容易に推測することができる。従って、このような状況では、ARQによるエラー訂正が効率的である。
【0158】
一方、パケットロスは滅多に発生しないが、低い頻度で、バーストトラフィックによりパケットロスが発生する場合、画像送信装置11と画像受信装置12間のルータなどのキューが溢れて、パケットロスが発生していると考えられる(図3参照)。この場合、RTTが安定しない。従って、この場合、FECによるエラー訂正が効率的である。
【0159】
図12に示されたエラー訂正設定処理によれば、このような状況に応じた、エラー訂正を設定することが可能となる。
【0160】
なお、本発明は、実時間ストリーミングに適用することも可能である。
【0161】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
【0162】
図13は、画像送信装置11、または画像受信装置12をソフトウェアにより実現する場合の情報処理装置の一実施の形態の構成を示している。パーソナルコンピュータ400のCPU401は、パーソナルコンピュータ400の動作の全体を制御する。また、CPU401は、バス404および入出力インターフェース405を介してユーザからキーボードやマウスなどからなる入力部406から指令が入力されると、それに対応してROM(Read Only Memory)402に格納されているプログラムを実行する。あるいはまた、CPU401は、ドライブ410に接続された磁気ディスク421、光ディスク422、光磁気ディスク423、または半導体メモリ424から読み出され、記憶部408にインストールされたプログラムを、RAM(Random Access Memory)403にロードして実行する。これにより、上述した画像送信装置11、または画像受信装置12の機能が、ソフトウェアにより実現されている。さらに、CPU401は、通信部409を制御して、外部と通信し、データの授受を実行する。また、入出力インタフェース405には、ディスプレイやスピーカなどにより構成される出力部407も接続されている。
【0163】
プログラムが記録されている記録媒体は、図13に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク421(フレキシブルディスクを含む)、光ディスク422(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク423(MD(Mini-Disc)を含む)、もしくは半導体メモリ424などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM402や、記憶部408に含まれるハードディスクなどで構成される。
【0164】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【0165】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0166】
【発明の効果】
以上のように、第1の本発明によれば、ネットワークを介して、情報を送受信することができる。また、第1の本発明によれば、より効率的に、送信レートを制御することができる。さらに、本発明によれば、ネットワークの状態に応じて、エラー訂正を行なうことができる。
【0167】
第2の本発明によれば、ネットワークを介して、情報を送信することができる。また、第2の本発明によれば、より効率的に、送信レートを制御することができる。
【0168】
第3の本発明によれば、ネットワークを介して、情報を受信することができる。また、第3の本発明によれば、ネットワークの状態に応じて、エラー訂正を行なうことができる。
【図面の簡単な説明】
【図1】従来のパケット通信を説明するための図である。
【図2】送信されるパケットのタイミングの例を示す図である。
【図3】パケットロスを説明する図である。
【図4】本発明を適用した情報処理システムの構成例を示すブロック図である。
【図5】画像送信装置の構成例を示すブロック図である。
【図6】画像受信装置の構成例を示すブロック図である。
【図7】画像送信装置の画像送信処理、および画像受信装置の画像受信処理を説明するフローチャートである。
【図8】画像受信装置の確認応答処理を説明するフローチャートである。
【図9】画像送信装置のレート制御処理を説明するフローチャートである。
【図10】画像送信装置のレート制御処理を説明する、図9に続くフローチャートである。
【図11】画像送信装置のレート制御処理を説明する、図9に続くフローチャートである。
【図12】画像送信装置のエラー訂正設定処理を説明するフローチャートである。
【図13】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
10 ネットワーク, 11 画像送信装置, 12 画像受信装置, 101 操作部, 102 制御部, 103 記録媒体, 104 入力部, 105 パケット生成部, 106 パケット送信部, 107 パケット受信部, 108 レート制御部, 121 安定度判定部, 122 RTT増減検出部, 123 送信レート設定部, 124 RTT算出部, 125 ロス率算出部, 126 エラー訂正設定部, 151 操作部, 152 制御部, 153 パケット受信部, 154 記録媒体, 155 状態測定部, 156 パケット生成部, 157 パケット送信部, 401 CPU, 402 ROM, 403 RAM, 404 バス, 405 入出力インタフェース, 406 入力部, 407 出力部, 408 記憶部, 409 通信部, 410 ドライブ, 421 磁気ディスク, 422 光ディスク, 423 光磁気ディスク, 424 半導体メモリ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information processing system, an information processing apparatus and method, a recording medium, and a program, and in particular, an information processing system, an information processing apparatus and method, a recording medium that can be quickly adapted to a change in a network state, And the program.
[0002]
[Prior art]
When packets are continuously transmitted from a transmitting terminal device to a receiving terminal device via a network such as the Internet, lost (not received) packets are transmitted from the receiving terminal device to the transmitting terminal device. An acknowledgment including information to be specified and information such as the reception time of the packet is notified. The transmitting terminal device changes the transmission interval and packet size of the packets to be transmitted according to the acknowledgment received from the receiving terminal device, and transmits the packets at a transmission rate that is optimal for the state of the network bandwidth.
[0003]
A rate control algorithm that controls the packet transmission rate according to the state of the network bandwidth is usually based on the packet loss rate (the rate of lost packets among packets transmitted from the transmitting terminal) and RTT (Round Trip Time). In addition, the transmission rate is controlled by estimating the state of the network bandwidth.
[0004]
In many rate control algorithms such as TCP (Transmission Control Protocol), when a packet loss is detected, it is determined that the packet loss is caused by network congestion, and the transmission rate is controlled. For example, when detecting a packet loss, the transmitting terminal device increases the packet transmission interval or reduces the packet size to reduce the amount of data flowing on the network. However, when such a rate control algorithm is applied, the transmitting terminal apparatus estimates that the packet has been lost due to the notification from the receiving terminal apparatus even if the order of arrival of the packets at the receiving terminal apparatus is simply switched. The process of avoiding network congestion will be started. As a result, in such a rate control algorithm, even if the order of arrival of packets at the receiving terminal device is simply switched, the transmission rate is reduced, and the amount of data transmitted per unit time is reduced. There was a problem that.
[0005]
In order to solve such problems, RFC (Request For Comments) 2581 defines the following processing. That is, in TCP, data is managed by a data management unit called a segment in which a predetermined number of packets are grouped together. The transmitting terminal device adds a serial number (in the following description, this serial number is referred to as a segment number), and transmits the segment to the receiving terminal device. Each time the receiving terminal apparatus receives this segment, it notifies the transmitting terminal apparatus of the segment number of the segment being received with a serial number as an acknowledgment. When a packet is lost, since the segment number notified to the transmission terminal device is lost, the transmission terminal device can detect the packet loss.
[0006]
According to the provisions of FRC2581, the transmitting terminal device does not determine that a segment has been lost because it is possible that the arrival order of the segments has been reversed, and the confirmation is repeated three or more times. When the responses are duplicated, it is determined that the segment in the middle has been lost. If there is an overlap of three or more confirmation responses, the transmitting terminal apparatus retransmits a segment that may have been lost without waiting for a timeout (Fast Retransmit). This makes it possible to more quickly deal with packet loss that could not be detected without waiting for the timeout period (usually 4 times the RTT), and the transmission rate by changing the arrival order. It is possible to reduce the occurrence frequency of the decrease.
[0007]
In addition, there is a rate control algorithm that prevents both a meaningless decrease in transmission rate and data loss by determining a combination of a congestion state and a transmission error occurrence state (see, for example, Patent Document 1). That is, in a wireless network, transmission errors frequently occur even when the network is not congested. However, since transmission errors are handled in the same way as packet loss in the network layer, congestion occurs each time a transmission error occurs. It is determined that it has occurred, and processing for avoiding network congestion is started. In order to avoid this, the rate control algorithm described in
[0008]
In addition, using the two parameters of packet loss rate and RTT, rate control not only determines whether to enter the congestion avoidance stage, but also predicts the ideal transmission rate to be transmitted from the transmitting terminal device There is also TFRC (TCP-Friendly Rate Control) which is an algorithm (see, for example, Non-Patent Document 1).
[0009]
[Patent Document 1]
JP 2001-160824 A (page 4-6)
[Non-Patent Document 1]
S.Floyd, M.Handley, J. Pandye and J. Widmer, “Equation-Based Congestion Control for Unicast Applications”, Proceedings of ACM SIGCOMM 2000, May 2000 pp2
[0010]
[Problems to be solved by the invention]
However, TFRC has a problem that it cannot react quickly to changes in the two parameters of packet loss rate and RTT.
[0011]
By the way, when streaming a moving image via the Internet, one frame may be divided into a plurality of packets and transmitted from the transmitting terminal device to the receiving terminal device. This is because one frame of data is larger than the maximum transmission unit (MTU), or one frame of data is divided into meaningful units and transmitted. For example, in JPEG (Joint Photographic Experts Group) 2000, the meaningful data refers to data for each layer of one frame.
[0012]
In this way, when one frame is divided into a plurality of packets and transmitted, data in one frame is transmitted at a time, so the amount of communication data increases temporarily, so-called burst traffic. Become. Therefore, when one frame of data is transmitted from the transmitting terminal device to the receiving terminal device via the Internet, packet loss may occur due to the influence of the burst traffic.
[0013]
An example is shown in FIG. In FIG. 1, an
[0014]
Assume that the
[0015]
As shown in FIG. 2, the
[0016]
In FIG. 3, it is assumed that the router 2-1 can store, for example, six packets. Here, when packets are intensively received from the
[0017]
The
[0018]
The
[0019]
The present invention has been made in view of such a situation, and an object of the present invention is to quickly adapt to a change in the state of a network band and transmit / receive information.
[0020]
[Means for Solving the Problems]
In the information processing system of the present invention, the first information processing apparatus includes a first transmission unit that transmits a packet to the second information processing apparatus, and a first reception that receives an acknowledgment from the second information processing apparatus. And a first calculating unit for calculating the RTT based on the confirmation response received by the first receiving unit, and a first unit for determining whether or not the variation of the RTT calculated by the calculating unit is equal to or less than a predetermined value. When the determination means and the first determination means determine that the variation in the RTT is not equal to or less than a predetermined value, a second determination is made as to whether or not the variation in the packet loss rate of the packet is equal to or less than a predetermined value. If the determination means and the first determination means determine that the variation in RTT is less than or equal to a predetermined value, the packetFrom occurrence of burst loss or reception time of acknowledgment RTT Based on whether packet loss occurs between the previous time and the same time asSetting means for setting the packet transmission rate and setting the packet transmission rate according to the change in the RTT when the second determination means determines that the variation in the packet loss rate is not more than a predetermined value. The second information processing apparatus, based on the second receiving means for receiving a packet from the first information processing apparatus, and the packet received by the second receiving means, And a second transmission means for transmitting the confirmation response.
[0021]
The first information processing apparatus according to the present invention is based on a transmission means for transmitting a packet to another information processing apparatus, a reception means for receiving a confirmation response from the other information processing apparatus, and a confirmation response received by the reception means. The RTT fluctuation is calculated by the calculation means for calculating the RTT, the first determination means for determining whether or not the fluctuation of the RTT calculated by the calculation means is equal to or less than a predetermined value, and the first determination means. If it is determined that the variation in the packet loss rate of the packet is not equal to or less than the predetermined value, the variation of the RTT is predetermined by the second determination means for determining whether or not the variation in the packet loss rate of the packet is equal to or less than the predetermined value If it is determined that it is less than or equal to the value of the packetFrom occurrence of burst loss or reception time of acknowledgment RTT Based on whether packet loss occurs between the previous time and the same time asSetting means for setting the packet transmission rate, and setting the packet transmission rate according to the change in the RTT when the second determination means determines that the variation in the packet loss rate is equal to or less than a predetermined value. It is characterized by that.
[0022]
Generation means for generating the packet transmitted by the transmission means may be further provided, and the packet may include image data.
[0023]
In the setting unit, when the first determination unit determines that the variation in the RTT is equal to or less than a predetermined value, and the confirmation response includes a notification of occurrence of a burst loss, the generation unit The transmission rate is reduced by reducing the frame rate of the image data included in the packet generated by the means, and the first determination means determines that the variation in the RTT is not more than a predetermined value, In addition, when the confirmation response does not include notification of occurrence of burst loss, the transmission rate is reduced by reducing the image quality of the image data included in the packet generated by the generation unit. Can be made.
[0025]
The first information processing method of the present invention includes a transmission step of transmitting a packet to another information processing device, a reception step of receiving a confirmation response from the other information processing device, and an acknowledgment received by the processing of the reception step. Calculation step for calculating RTT, a first determination step for determining whether or not a variation in RTT calculated by the processing of the calculation step is equal to or less than a predetermined value, and processing of the first determination step Thus, when it is determined that the variation in the RTT is not less than or equal to the predetermined value, the second determination step for determining whether or not the variation in the packet loss rate of the packet is equal to or less than the predetermined value, and the first determination step If it is determined that the variation in RTT is less than or equal to a predetermined value,From occurrence of burst loss or reception time of acknowledgment RTT Based on whether packet loss occurs between the previous time and the same time asSetting the packet transmission rate, and setting the packet transmission rate according to the change in the RTT when it is determined by the processing of the second determination step that the variation in the packet loss rate is not more than a predetermined value; It is characterized by including.
[0026]
The program of the first recording medium of the present invention is a program for an information processing device, and when an acknowledgment is received from another information processing device that has transmitted a packet, an RTT is calculated based on the received acknowledgment. The calculation step for calculating, the first determination step for determining whether or not the variation in the RTT calculated by the processing in the calculation step is equal to or less than a predetermined value, and the processing in the first determination step, the variation in the RTT is If it is determined that the packet loss rate of the packet is not less than a predetermined value, it is determined whether the variation in the packet loss rate is equal to or less than the predetermined value. If it is determined that is less than or equal to the predetermined value, the packetFrom occurrence of burst loss or reception time of acknowledgment RTT Based on whether packet loss occurs between the previous time and the same time asSetting the packet transmission rate, and setting the packet transmission rate according to the change in the RTT when it is determined by the processing of the second determination step that the variation in the packet loss rate is not more than a predetermined value; It is characterized by including.
[0027]
The first program of the present invention calculates a RTT based on a received confirmation response when a confirmation response is received from another information processing apparatus that has transmitted a packet to a computer that controls the information processing apparatus. The first determination step for determining whether or not the variation in the RTT calculated by the processing in the calculation step is equal to or smaller than a predetermined value, and the variation in the RTT is equal to or smaller than the predetermined value by the processing in the first determination step. If it is determined that the variation in the packet loss rate of the packet is less than or equal to a predetermined value, the second determination step for determining whether or not the variation in the packet loss rate is equal to or less than the predetermined value, If it is determined thatFrom occurrence of burst loss or reception time of acknowledgment RTT Based on whether packet loss occurs between the previous time and the same time asSetting the packet transmission rate, and setting the packet transmission rate according to the change in the RTT when it is determined by the processing of the second determination step that the variation in the packet loss rate is not more than a predetermined value; Is executed.
[0028]
The second information processing apparatus of the present inventionBased on the transmission unit that transmits the packet to the other information processing device, the reception unit that receives the confirmation response from the other information processing device, and the confirmation response received by the reception unit, RTT And calculating means for calculating RTT The first determination means for determining whether or not the fluctuation of the value is equal to or less than a predetermined value, and the first determination means, RTT When it is determined that the fluctuation of the packet is not equal to or less than the predetermined value, the second determination means for determining whether or not the fluctuation of the packet loss rate of the packet is equal to or less than the predetermined value, and the first determination means RTT Is determined to be less than or equal to a predetermined value and the packet loss rate is greater than or equal to a predetermined value, ARQ Executing means, and when the execution means determines that the variation of the packet loss rate is not more than a predetermined value by the second determination means, FEC When the second determination means determines that the variation in the packet loss rate is not equal to or less than a predetermined value, a parity check is executed.
[0029]
The second information processing method of the present invention includes:Based on the transmission step of transmitting a packet to another information processing device, the reception step of receiving a confirmation response from the other information processing device, and the confirmation response received by the processing of the reception step, RTT Calculated by the calculation step and the processing of the calculation step RTT The first determination step for determining whether or not the fluctuation of the value is equal to or less than a predetermined value, and the processing of the first determination step, RTT When it is determined that the fluctuation of the packet is not equal to or less than a predetermined value, the second determination step for determining whether or not the fluctuation of the packet loss rate of the packet is equal to or less than the predetermined value and the processing of the first determination step RTT Is determined to be less than or equal to a predetermined value and the packet loss rate is greater than or equal to a predetermined value, ARQ An execution step for executing the step, the processing of the execution step is determined by the processing of the second determination step that the variation in the packet loss rate is equal to or less than a predetermined value, FEC When the process of the second determination step determines that the variation in the packet loss rate is not equal to or less than a predetermined value, a parity check is executed.
[0030]
The program of the second recording medium of the present invention isWhen a confirmation response is received from another information processing apparatus that has transmitted a packet, the program for the information processing apparatus, based on the received confirmation response, RTT Calculated by the calculation step and the processing of the calculation step RTT The first determination step for determining whether or not the fluctuation of the value is equal to or less than a predetermined value, and the processing of the first determination step, RTT When it is determined that the fluctuation of the packet is not equal to or less than a predetermined value, the second determination step for determining whether or not the fluctuation of the packet loss rate of the packet is equal to or less than the predetermined value and the processing of the first determination step RTT Is determined to be less than or equal to a predetermined value and the packet loss rate is greater than or equal to a predetermined value, ARQ An execution step for executing the step, the processing of the execution step is determined by the processing of the second determination step that the variation in the packet loss rate is equal to or less than a predetermined value, FEC And when the process of the second determination step determines that the variation in the packet loss rate is not less than a predetermined value, a parity check is executed.It is characterized by that.
[0031]
The second program of the present invention is:When a confirmation response is received from another information processing apparatus that has transmitted a packet to a computer that controls the information processing apparatus, based on the received confirmation response, RTT Calculated by the calculation step and the processing of the calculation step RTT The first determination step for determining whether or not the fluctuation of the value is equal to or less than a predetermined value, and the processing of the first determination step, RTT When it is determined that the fluctuation of the packet is not equal to or less than a predetermined value, the second determination step for determining whether or not the fluctuation of the packet loss rate of the packet is equal to or less than the predetermined value and the processing of the first determination step RTT Is determined to be less than or equal to a predetermined value and the packet loss rate is greater than or equal to a predetermined value, ARQ When the execution step processing determines that the variation of the packet loss rate is equal to or less than a predetermined value by the processing of the second determination step, FEC And a parity check is executed when it is determined by the process of the second determination step that the variation in the packet loss rate is not less than a predetermined value.
[0032]
In the information processing system of the present invention, the first information processing apparatus transmits a packet to the second information processing apparatus, receives a confirmation response from the second information processing apparatus, and based on the received confirmation response RTT is calculated, and it is determined whether or not the calculated variation in RTT is less than or equal to a predetermined value. If it is determined that the variation in RTT is not less than or equal to the predetermined value, the variation in the packet loss rate of the packet is If it is determined whether or not the fluctuation is less than or equal to a predetermined value, and the RTT variation is determined to be less than or equal to the predetermined value,From occurrence of burst loss or reception time of acknowledgment RTT Based on whether packet loss occurs between the previous time and the same time asWhen the packet transmission rate is set and it is determined that the variation in the packet loss rate is equal to or less than a predetermined value, the packet transmission rate is set according to the change in RTT. In the second information processing apparatus, the first information processing apparatus receives a packet, and an acknowledgment is transmitted to the first information processing apparatus based on the received packet.
[0033]
In the first information processing apparatus and method, recording medium, and program of the present invention, a packet is transmitted to another information processing apparatus, a confirmation response is received from the other information processing apparatus, and based on the received confirmation response RTT is calculated, it is determined whether or not the calculated RTT fluctuation is less than or equal to a predetermined value, and if it is determined that the RTT fluctuation is not less than the predetermined value, the packet loss rate fluctuation of the packet Is determined to be less than or equal to a predetermined value, and if it is determined that the variation in RTT is less than or equal to the predetermined value, the packetFrom occurrence of burst loss or reception time of acknowledgment RTT Based on whether packet loss occurs between the previous time and the same time asWhen the packet transmission rate is set and it is determined that the variation in the packet loss rate is equal to or less than a predetermined value, the packet transmission rate is set according to the change in RTT.
[0034]
In the second information processing apparatus and method, recording medium, and program of the present invention,The packet is transmitted to the other information processing apparatus, the confirmation response is received from the other information processing apparatus, and based on the received confirmation response, RTT Was calculated and calculated RTT It is determined whether or not the fluctuation of is below a predetermined value, RTT When it is determined that the fluctuation of the packet is not less than the predetermined value, it is determined whether or not the fluctuation of the packet loss rate of the packet is equal to or smaller than the predetermined value. RTT Is determined to be less than or equal to a predetermined value and the packet loss rate is greater than or equal to a predetermined value, ARQ Is executed, and it is determined that the variation in the packet loss rate is equal to or less than a predetermined value, FEC When it is determined that the variation in the packet loss rate is not less than the predetermined value, a parity check is performed..
[0035]
The present invention can be applied to an electronic device connected to a network.
[0036]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 4 is a diagram showing a configuration of an embodiment of an information processing system to which the present invention is applied.
[0037]
In FIG. 4, an
[0038]
The
[0039]
Next, FIG. 5 illustrates an internal configuration example of the
[0040]
For example, image data encoded by an encoding method such as JPEG2000 is recorded on the recording medium 103, and the image data is supplied to the
[0041]
The
[0042]
When the data packet generated by the
[0043]
The
[0044]
The rate control unit 108 controls the
[0045]
Next, FIG. 6 illustrates an internal configuration example of the
[0046]
The
[0047]
The
[0048]
The
[0049]
In addition, the
[0050]
The
[0051]
The
[0052]
Next, the image transmission processing of the
[0053]
In step S <b> 1 of FIG. 7, the
[0054]
In step S11, the
[0055]
As described above, the data packet is transmitted from the
[0056]
In step S1, the
[0057]
In the present invention, a response packet is transmitted from the
[0058]
Next, the confirmation response process of the
[0059]
In step S51, the control unit 152 of the
[0060]
That is, the
[0061]
If the
[0062]
In step S54, the
[0063]
If the
[0064]
In step S55, the
[0065]
In step S56, the
[0066]
Note that the criterion for determining the burst loss is not limited to the method described above. For example, if the number of times that a plurality of sequence numbers are continuously deleted per unit time is a predetermined number or more, it may be determined that a burst loss has occurred.
[0067]
If the
[0068]
In step S57, the
[0069]
If the
[0070]
In step S58, the
[0071]
In step S <b> 59, the
[0072]
Thereafter, the process returns to step S51, and the processes after step S51 are repeated.
[0073]
As described above, the response packet is transmitted from the
[0074]
The
[0075]
By the way, the
[0076]
Next, a method for detecting variation in RTT and a method for detecting variation in packet loss rate will be described.
[0077]
First, an RTT variation detection method will be described. The
[0078]
RTT (t) = α × RTT (t-1) + (1-α) × RTTm
[0079]
In Equation (1), RTT (t−1) is the current value calculated last time by Equation (1), and α is a number between 0 and 1. The calculated RTT (t) becomes a value that is not influenced by a small change in RTTm with time as α takes a value close to 1, and the RTTm with time decreases as α takes a value close to 0. The value reflects the change.
[0080]
After the RTT (t) is calculated by the equation (1), the
[0081]
A = 100 × {RTT (t) / RTT (t−1)} − 100
[0082]
When the fluctuation amount A calculated by the expression (2) is within a predetermined range set in advance (for example, a value between ± 1%), the
[0083]
Next, a method for detecting a change in the packet loss rate will be described. First, the
[0084]
LOSS (t) = β × LOSS (t-1) + (1-β) × LOSSm
[0085]
In equation (3), LOSS (t−1) is the current value calculated last time by equation (3), and β is a number between 0 and 1. The calculated LOSS (t) becomes a value that is less affected by small changes in LOSSm over time as β is closer to 1, and is smaller in LOSSm over time as β is closer to 0. The value reflects the change.
[0086]
After LOSS (t) is calculated by the equation (3), the
[0087]
B = 100 × {LOSS (t) / LOSS (t-1)} − 100
[0088]
When the fluctuation amount B (%) calculated by the equation (3) is within a predetermined range set in advance (for example, a value between ± 1%), the
[0089]
The
[0090]
Next, the rate control process of the
[0091]
In step S101, the
[0092]
In step S102, the
[0093]
In step S103, the
[0094]
Note that RTTm is a time until a data packet transmitted from the
[0095]
Thereafter, the
[0096]
Next, the
[0097]
As described above, after the RTT fluctuation amount A is calculated in step S 103, the
[0098]
The
[0099]
In step S105, the loss
[0100]
Thereafter, the loss
[0101]
Next, the loss
[0102]
As described above, after the variation amount B of the packet loss rate is calculated in step S105, the loss
[0103]
The
[0104]
In step S107, the transmission
[0105]
[Expression 1]
[0106]
In Equation (5), T is an ideal transmission rate, s is a packet size, p is a packet loss rate, and t is a TCP (Transmission Control Protocol) timeout time (usually 4 times RTT).
[0107]
The rate control unit 108 controls the
[0108]
In step S108, the
[0109]
In step S104, when the
[0110]
In step S109 of FIG. 10, the
[0111]
In step S110, the
[0112]
In step S111, the
[0113]
In step S111 in FIG. 10, when the fluctuation amount A supplied from the
[0114]
In step S112, the transmission
[0115]
In step S113, the transmission
[0116]
In step S114, the transmission
[0117]
In step S113, when the transmission
[0118]
Returning to step S112, when the packet loss rate is not included in the response packet determined to be received in step S109, in step S112, the transmission
[0119]
In step S115, it is determined whether or not the packet loss is a burst loss by determining whether or not the response packet determined to have been received in step S109 includes burst loss information indicating that a burst loss has occurred. If the response packet determined to have been received in step S109 does not include burst loss information indicating that there has been a burst loss, it is determined that the packet loss is not a burst loss, and the process proceeds to step S109. The process proceeds to S116.
[0120]
In step S116, the transmission
[0121]
After the process of step S116, the process returns to step S109, and the processes after step S109 are repeatedly executed.
[0122]
Returning to step S115, if the response packet determined to have been received in step S109 includes burst loss information indicating that there has been a burst loss, it is determined that the packet loss is a burst loss, and the process proceeds to step S115. The process proceeds to S117.
[0123]
In step S117, the transmission rate setting unit 117 decreases the transmission rate by decreasing the frame rate. That is, when the
[0124]
Returning to step S106 of FIG. 9, when the
[0125]
In step S118 of FIG. 11, the
[0126]
In step S119, the loss
[0127]
In step S120, the
[0128]
In step S120, when the
[0129]
In step S121, the RTT increase /
[0130]
In step S122, the RTT increase /
[0131]
In step S123, the transmission
[0132]
In step S122, the RTT increase /
[0133]
In step S121, when the RTT increase /
[0134]
In step S124, the transmission
[0135]
Thereafter, the process returns to step S118, and the processes after step S118 are repeated.
[0136]
As described above, the
[0137]
If the packet loss is a burst loss, the transmission rate is reduced by reducing the frame rate. If the packet loss is not a burst loss, the transmission rate is reduced by reducing the image quality, thereby generating a burst loss. The rate can be reduced. Therefore, the transmission rate can be controlled more efficiently.
[0138]
In the present invention, the error correction algorithm can be switched according to whether the RTT and the packet loss rate are stable. Next, switching of the error correction algorithm according to the stability of the RTT and the packet loss rate will be described with reference to the flowchart of FIG.
[0139]
In step S151, the
[0140]
In step S152, the
[0141]
In step S153, the
[0142]
As described above, after the RTT fluctuation amount A is calculated in step S153, the
[0143]
The
[0144]
In step S155, the loss
[0145]
The
[0146]
In step S157, the error
[0147]
After the process of step S157, the process proceeds to step S161.
[0148]
Returning to step S156, if the fluctuation amount B supplied from the loss
[0149]
After the process of step S158, the process proceeds to step S161.
[0150]
Returning to step S154, if the fluctuation amount A supplied from the
[0151]
The error
[0152]
If the error
[0153]
In step S160, the error
[0154]
After the process of step S160, the process proceeds to step S161.
[0155]
In step S161, the
[0156]
As described above, the
[0157]
When the RTT is stable and the packet loss occurs regularly with a low probability of less than θ, the
[0158]
On the other hand, packet loss rarely occurs, but when packet loss occurs due to low frequency burst traffic, a queue such as a router between the
[0159]
According to the error correction setting process shown in FIG. 12, it is possible to set error correction according to such a situation.
[0160]
Note that the present invention can also be applied to real-time streaming.
[0161]
The series of processes described above can be executed by hardware, but can also be executed by software. When a series of processes is executed by software, a program constituting the software may execute various functions by installing a computer incorporated in dedicated hardware or various programs. For example, it is installed from a recording medium in a general-purpose personal computer or the like.
[0162]
FIG. 13 shows a configuration of an embodiment of an information processing apparatus when the
[0163]
As shown in FIG. 13, the recording medium on which the program is recorded is distributed to provide the program to the user separately from the computer. The magnetic disk 421 (including the flexible disk) on which the program is recorded is distributed. By a package medium composed of an optical disk 422 (including compact disk-read only memory (CD-ROM), DVD (digital versatile disk)), magneto-optical disk 423 (including MD (mini-disc)), or
[0164]
In this specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in time series in the order described, but of course, it is not necessarily performed in time series. Or the process performed separately is included.
[0165]
Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.
[0166]
【The invention's effect】
As described above, according to the first aspect of the present invention, information can be transmitted / received via a network. Further, according to the first aspect of the present invention, the transmission rate can be controlled more efficiently. Furthermore, according to the present invention, error correction can be performed according to the state of the network.
[0167]
According to the second aspect of the present invention, information can be transmitted via a network. Also, according to the second aspect of the present invention, the transmission rate can be controlled more efficiently.
[0168]
According to the third aspect of the present invention, information can be received via a network.Further, according to the third aspect of the present invention, error correction can be performed according to the state of the network..
[Brief description of the drawings]
FIG. 1 is a diagram for explaining conventional packet communication;
FIG. 2 is a diagram illustrating an example of the timing of a transmitted packet.
FIG. 3 is a diagram illustrating packet loss.
FIG. 4 is a block diagram illustrating a configuration example of an information processing system to which the present invention has been applied.
FIG. 5 is a block diagram illustrating a configuration example of an image transmission apparatus.
FIG. 6 is a block diagram illustrating a configuration example of an image receiving device.
FIG. 7 is a flowchart illustrating image transmission processing of the image transmission device and image reception processing of the image reception device.
FIG. 8 is a flowchart illustrating confirmation response processing of the image receiving apparatus.
FIG. 9 is a flowchart illustrating a rate control process of the image transmission apparatus.
10 is a flowchart subsequent to FIG. 9 for explaining the rate control processing of the image transmitting apparatus. FIG.
FIG. 11 is a flowchart subsequent to FIG. 9 for explaining the rate control processing of the image transmission apparatus;
FIG. 12 is a flowchart illustrating an error correction setting process of the image transmission apparatus.
FIG. 13 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present invention has been applied.
[Explanation of symbols]
10 network, 11 image transmission device, 12 image reception device, 101 operation unit, 102 control unit, 103 recording medium, 104 input unit, 105 packet generation unit, 106 packet transmission unit, 107 packet reception unit, 108 rate control unit, 121 Stability determination unit, 122 RTT increase / decrease detection unit, 123 transmission rate setting unit, 124 RTT calculation unit, 125 loss rate calculation unit, 126 error correction setting unit, 151 operation unit, 152 control unit, 153 packet receiving unit, 154 recording medium , 155 state measurement unit, 156 packet generation unit, 157 packet transmission unit, 401 CPU, 402 ROM, 403 RAM, 404 bus, 405 input / output interface, 406 input unit, 407 output unit, 408 storage unit, 409 communication unit, 4 0 drive, 421 a magnetic disk, 422 disc, 423 a magneto-optical disk, 424 a semiconductor memory
Claims (11)
前記第1の情報処理装置は、
前記第2の情報処理装置にパケットを送信する第1の送信手段と、
前記第2の情報処理装置から確認応答を受信する第1の受信手段と、
前記第1の受信手段により受信された前記確認応答に基づいて、RTTを算出する算出手段と、
前記算出手段により算出された前記RTTの変動が所定の値以下であるか否かを判定する第1の判定手段と、
前記第1の判定手段により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定手段と、
前記第1の判定手段により前記RTTの変動は所定の値以下であると判定された場合、前記パケットにおけるバーストロスの発生の有無または前記確認応答の受信時刻から前記 RTT と同一時間分だけ以前の時刻までの間でのパケットロスの発生の有無に基づいて、前記パケットの送信レートを設定し、前記第2の判定手段により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定手段と
を備え、
前記第2の情報処理装置は、
前記第1の情報処理装置より、前記パケットを受信する第2の受信手段と、
前記第2の受信手段により受信された前記パケットに基づいて、前記第1の情報処理装置に、前記確認応答を送信する第2の送信手段と
を備えることを特徴とする情報処理システム。In an information processing system including a first information processing apparatus and a second information processing apparatus that perform packet communication,
The first information processing apparatus includes:
First transmission means for transmitting a packet to the second information processing apparatus;
First receiving means for receiving an acknowledgment from the second information processing apparatus;
Calculation means for calculating an RTT based on the confirmation response received by the first reception means;
First determination means for determining whether or not the variation of the RTT calculated by the calculation means is a predetermined value or less;
A second determination for determining whether or not a variation in the packet loss rate of the packet is equal to or less than a predetermined value when the first determination means determines that the variation in the RTT is not equal to or less than a predetermined value; Means,
When it is determined by the first determination means that the variation in the RTT is equal to or less than a predetermined value, the presence or absence of a burst loss in the packet or the reception time of the confirmation response is the same time as the RTT . When the transmission rate of the packet is set based on whether or not packet loss has occurred until the time, and the variation of the packet loss rate is determined to be equal to or less than a predetermined value by the second determination unit Setting means for setting the transmission rate of the packet according to a change in the RTT,
The second information processing apparatus
Second receiving means for receiving the packet from the first information processing apparatus;
An information processing system comprising: second transmission means for transmitting the confirmation response to the first information processing apparatus based on the packet received by the second reception means.
前記他の情報処理装置から確認応答を受信する受信手段と、
前記受信手段により受信された前記確認応答に基づいて、RTTを算出する算出手段と、
前記算出手段により算出された前記RTTの変動が所定の値以下であるか否かを判定する第1の判定手段と、
前記第1の判定手段により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定手段と、
前記第1の判定手段により前記RTTの変動は所定の値以下であると判定された場合、前記パケットにおけるバーストロスの発生の有無または前記確認応答の受信時刻から前記 RTT と同一時間分だけ以前の時刻までの間でのパケットロスの発生の有無に基づいて、前記パケットの送信レートを設定し、前記第2の判定手段により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定手段と
を備えることを特徴とする情報処理装置。Transmitting means for transmitting a packet to another information processing apparatus;
Receiving means for receiving a confirmation response from the other information processing apparatus;
Based on the confirmation response received by the receiving means, calculating means for calculating RTT,
First determination means for determining whether or not the variation of the RTT calculated by the calculation means is a predetermined value or less;
A second determination for determining whether or not a variation in the packet loss rate of the packet is equal to or less than a predetermined value when the first determination means determines that the variation in the RTT is not equal to or less than a predetermined value; Means,
When it is determined by the first determination means that the variation in the RTT is equal to or less than a predetermined value, the presence or absence of a burst loss in the packet or the reception time of the confirmation response is the same time as the RTT . When the transmission rate of the packet is set based on whether or not packet loss has occurred until the time, and the variation of the packet loss rate is determined to be equal to or less than a predetermined value by the second determination unit An information processing apparatus comprising: setting means for setting the transmission rate of the packet according to a change in the RTT.
前記パケットは、画像データを含む
ことを特徴とする請求項2に記載の情報処理装置。Further comprising generating means for generating the packet transmitted by the transmitting means;
The information processing apparatus according to claim 2, wherein the packet includes image data.
ことを特徴とする請求項3に記載の情報処理装置。When the first determining unit determines that the variation of the RTT is equal to or less than a predetermined value and the confirmation response includes a notification of occurrence of a burst loss, the setting unit By reducing the frame rate of the image data included in the packet generated by the above, the transmission rate is reduced, and the first determining means determines that the variation in the RTT is equal to or less than a predetermined value, and When the confirmation response does not include the notification of the occurrence of the burst loss, the transmission rate is reduced by reducing the image quality of the image data included in the packet generated by the generation unit. The information processing apparatus according to claim 3.
他の情報処理装置にパケットを送信する送信ステップと、
前記他の情報処理装置から確認応答を受信する受信ステップと、
前記受信ステップの処理により受信された前記確認応答に基づいて、RTTを算出する算出ステップと、
前記算出ステップの処理により算出された前記RTTの変動が所定の値以下であるか否かを判定する第1の判定ステップと、
前記第1の判定ステップの処理により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、
前記第1の判定ステップの処理により前記RTTの変動は所定の値以下であると判定された場合、前記パケットにおけるバーストロスの発生の有無または前記確認応答の受信時刻から前記 RTT と同一時間分だけ以前の時刻までの間でのパケットロスの発生の有無に基づいて、前記パケットの送信レートを設定し、前記第2の判定ステップの処理により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定ステップと
を含むことを特徴とする情報処理方法。In the information processing method of the information processing apparatus,
A transmission step of transmitting a packet to another information processing apparatus;
A receiving step of receiving a confirmation response from the other information processing apparatus;
Based on the confirmation response received by the processing of the reception step, a calculation step of calculating an RTT,
A first determination step of determining whether or not the variation of the RTT calculated by the processing of the calculation step is a predetermined value or less;
When it is determined by the processing of the first determination step that the variation in the RTT is not less than a predetermined value, a second determination is made as to whether or not the variation in the packet loss rate of the packet is less than a predetermined value. A determination step of
When it is determined by the processing of the first determination step that the variation in the RTT is equal to or less than a predetermined value, the occurrence of a burst loss in the packet or the reception time of the confirmation response is the same as the RTT. Based on the presence or absence of occurrence of packet loss until the previous time , the transmission rate of the packet is set, and the variation of the packet loss rate is less than or equal to a predetermined value by the processing of the second determination step And a setting step of setting the transmission rate of the packet according to a change in the RTT if it is determined.
パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された前記確認応答に基づいて、RTTを算出する算出ステップと、
前記算出ステップの処理により算出された前記RTTの変動が所定の値以下であるか否かを判定する第1の判定ステップと、
前記第1の判定ステップの処理により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、
前記第1の判定ステップの処理により前記RTTの変動は所定の値以下であると判定された場合、前記パケットにおけるバーストロスの発生の有無または前記確認応答の受信時刻から前記 RTT と同一時間分だけ以前の時刻までの間でのパケットロスの発生の有無に基づいて、前記パケットの送信レートを設定し、前記第2の判定ステップの処理により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。A program for an information processing device,
When receiving a confirmation response from another information processing apparatus that has transmitted the packet, a calculation step for calculating an RTT based on the received confirmation response;
A first determination step of determining whether or not the variation of the RTT calculated by the processing of the calculation step is a predetermined value or less;
When it is determined by the processing of the first determination step that the variation in the RTT is not less than a predetermined value, a second determination is made as to whether or not the variation in the packet loss rate of the packet is less than a predetermined value. A determination step of
When it is determined by the processing of the first determination step that the variation in the RTT is equal to or less than a predetermined value, the occurrence of a burst loss in the packet or the reception time of the confirmation response is the same as the RTT. Based on the presence or absence of occurrence of packet loss until the previous time , the transmission rate of the packet is set, and the variation of the packet loss rate is less than or equal to a predetermined value by the processing of the second determination step And a setting step for setting the transmission rate of the packet according to a change in the RTT if it is determined. A recording medium on which a computer-readable program is recorded.
パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された前記確認応答に基づいて、RTTを算出する算出ステップと、
前記算出ステップの処理により算出された前記RTTの変動が所定の値以下であるか否かを判定する第1の判定ステップと、
前記第1の判定ステップの処理により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、
前記第1の判定ステップの処理により前記RTTの変動は所定の値以下であると判定された場合、前記パケットにおけるバーストロスの発生の有無または前記確認応答の受信時刻から前記 RTT と同一時間分だけ以前の時刻までの間でのパケットロスの発生の有無に基づいて、前記パケットの送信レートを設定し、前記第2の判定ステップの処理により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定ステップと
を実行させることを特徴とするプログラム。In the computer that controls the information processing device,
When receiving a confirmation response from another information processing apparatus that has transmitted the packet, a calculation step for calculating an RTT based on the received confirmation response;
A first determination step of determining whether or not the variation of the RTT calculated by the processing of the calculation step is a predetermined value or less;
When it is determined by the processing of the first determination step that the variation in the RTT is not less than a predetermined value, a second determination is made as to whether or not the variation in the packet loss rate of the packet is less than a predetermined value. A determination step of
When it is determined by the processing of the first determination step that the variation in the RTT is equal to or less than a predetermined value, the occurrence of a burst loss in the packet or the reception time of the confirmation response is the same as the RTT. Based on the presence or absence of occurrence of packet loss until the previous time , the transmission rate of the packet is set, and the variation of the packet loss rate is less than or equal to a predetermined value by the processing of the second determination step And a setting step of setting the transmission rate of the packet according to a change in the RTT when it is determined.
前記他の情報処理装置から確認応答を受信する受信手段と、Receiving means for receiving a confirmation response from the other information processing apparatus;
前記受信手段により受信された前記確認応答に基づいて、Based on the confirmation response received by the receiving means, RTTRTT を算出する算出手段と、Calculating means for calculating
前記算出手段により算出された前記Calculated by the calculating means RTTRTT の変動が所定の値以下であるか否かを判定する第1の判定手段と、First determination means for determining whether or not the fluctuation of
前記第1の判定手段により、前記By the first determination means, RTTRTT の変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定手段と、Second determination means for determining whether or not the variation of the packet loss rate of the packet is equal to or less than a predetermined value when it is determined that the variation of the packet is not equal to or less than a predetermined value;
前記第1の判定手段により前記The first determination means RTTRTT の変動は所定の値以下であると判定され、かつ、パケットロス率が所定の値以上である場合、Is determined to be less than or equal to a predetermined value and the packet loss rate is greater than or equal to a predetermined value, ARQARQ を実行する実行手段とExecution means to execute
を備え、With
前記実行手段は、前記第2の判定手段により前記パケットロス率の変動は所定の値以下であると判定された場合、When the execution unit determines that the variation of the packet loss rate is equal to or less than a predetermined value by the second determination unit, FECFEC を実行し、前記第2の判定手段により前記パケットロス率の変動は所定の値以下ではないと判定された場合、パリティチェックを実行するAnd when the second determination means determines that the variation in the packet loss rate is not less than a predetermined value, a parity check is performed.
をことを特徴とする情報処理装置。An information processing apparatus characterized by the above.
他の情報処理装置にパケットを送信する送信ステップと、A transmission step of transmitting a packet to another information processing apparatus;
前記他の情報処理装置から確認応答を受信する受信ステップと、A receiving step of receiving a confirmation response from the other information processing apparatus;
前記受信ステップの処理により受信された前記確認応答に基づいて、Based on the confirmation response received by the processing of the receiving step, RTTRTT を算出する算出ステップと、A calculating step for calculating
前記算出ステップの処理により算出された前記Calculated by the processing of the calculating step RTTRTT の変動が所定の値以下であるか否かを判定する第1の判定ステップと、A first determination step of determining whether or not the fluctuation of the value is equal to or less than a predetermined value;
前記第1の判定ステップの処理により、前記By the processing of the first determination step, RTTRTT の変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、A second determination step of determining whether or not the variation of the packet loss rate of the packet is equal to or less than a predetermined value when it is determined that the variation of the packet is not equal to or less than a predetermined value;
前記第1の判定ステップの処理により前記By the processing of the first determination step, RTTRTT の変動は所定の値以下であると判定され、かつ、パケットロス率が所定の値以上である場合、Is determined to be less than or equal to a predetermined value and the packet loss rate is greater than or equal to a predetermined value, ARQARQ を実行する実行ステップとExecute steps and
を含み、Including
前記実行ステップの処理は、前記第2の判定ステップの処理により前記パケットロス率の変動は所定の値以下であると判定された場合、When the process of the execution step determines that the variation of the packet loss rate is equal to or less than a predetermined value by the process of the second determination step, FECFEC を実行し、前記第2の判定ステップの処理により前記パケットロス率の変動は所定の値以下ではないと判定された場合、パリティチェックを実行するAnd when the process of the second determination step determines that the variation in the packet loss rate is not less than a predetermined value, a parity check is performed.
をことを特徴とする情報処理方法。An information processing method characterized by the above.
パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された前記確認応答に基づいて、When an acknowledgment is received from another information processing apparatus that has transmitted the packet, based on the received acknowledgment, RTTRTT を算出する算出ステップと、A calculating step for calculating
前記算出ステップの処理により算出された前記Calculated by the processing of the calculating step RTTRTT の変動が所定の値以下であるか否かを判定する第1の判定ステップと、A first determination step of determining whether or not the fluctuation of the value is equal to or less than a predetermined value;
前記第1の判定ステップの処理により、前記By the processing of the first determination step, RTTRTT の変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、A second determination step of determining whether or not the variation of the packet loss rate of the packet is equal to or less than a predetermined value when it is determined that the variation of the packet is not equal to or less than a predetermined value;
前記第1の判定ステップの処理により前記By the processing of the first determination step, RTTRTT の変動は所定の値以下であると判定され、かつ、パケットロス率が所定の値以上である場合、Is determined to be less than or equal to a predetermined value and the packet loss rate is greater than or equal to a predetermined value, ARQARQ を実行する実行ステップとExecute steps and
を含み、Including
前記実行ステップの処理は、前記第2の判定ステップの処理により前記パケットロス率の変動は所定の値以下であると判定された場合、When the process of the execution step determines that the variation of the packet loss rate is equal to or less than a predetermined value by the process of the second determination step, FECFEC を実行し、前記第2の判定ステップの処理により前記パケットロス率の変動は所定の値以下ではないと判定された場合、パリティチェックを実行するAnd when the process of the second determination step determines that the variation in the packet loss rate is not less than a predetermined value, a parity check is performed.
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。A recording medium on which a computer-readable program is recorded.
パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された前記確認応答に基づいて、When an acknowledgment is received from another information processing apparatus that has transmitted the packet, based on the received acknowledgment, RTTRTT を算出する算出ステップと、A calculating step for calculating
前記算出ステップの処理により算出された前記Calculated by the processing of the calculating step RTTRTT の変動が所定の値以下であるか否かを判定する第1の判定ステップと、A first determination step of determining whether or not the fluctuation of the value is equal to or less than a predetermined value;
前記第1の判定ステップの処理により、前記By the processing of the first determination step, RTTRTT の変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、A second determination step of determining whether or not the variation of the packet loss rate of the packet is equal to or less than a predetermined value when it is determined that the variation of the packet is not equal to or less than a predetermined value;
前記第1の判定ステップの処理により前記By the processing of the first determination step, RTTRTT の変動は所定の値以下であると判定され、かつ、パケットロス率が所定の値以上である場合、Is determined to be less than or equal to a predetermined value and the packet loss rate is greater than or equal to a predetermined value, ARQARQ を実行する実行ステップとExecute steps and
を実行させ、And execute
前記実行ステップの処理によって、前記第2の判定ステップの処理により前記パケットロス率の変動は所定の値以下であると判定された場合、When it is determined by the process of the execution step that the variation of the packet loss rate is equal to or less than a predetermined value by the process of the second determination step, FECFEC を実行させ、前記第2の判定ステップの処理により前記パケットロス率の変動は所定の値以下ではないと判定された場合、パリティチェックを実行させるAnd when the process of the second determination step determines that the variation in the packet loss rate is not less than a predetermined value, a parity check is executed.
ことを特徴とするプログラム。A program characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002359735A JP4061643B2 (en) | 2002-12-11 | 2002-12-11 | Information processing system, information processing apparatus and method, recording medium, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002359735A JP4061643B2 (en) | 2002-12-11 | 2002-12-11 | Information processing system, information processing apparatus and method, recording medium, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004193991A JP2004193991A (en) | 2004-07-08 |
JP4061643B2 true JP4061643B2 (en) | 2008-03-19 |
Family
ID=32759043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002359735A Expired - Fee Related JP4061643B2 (en) | 2002-12-11 | 2002-12-11 | Information processing system, information processing apparatus and method, recording medium, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4061643B2 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4643330B2 (en) | 2005-03-28 | 2011-03-02 | ソニー株式会社 | COMMUNICATION PROCESSING DEVICE, DATA COMMUNICATION SYSTEM, COMMUNICATION PROCESSING METHOD, AND COMPUTER PROGRAM |
JP2008071240A (en) | 2006-09-15 | 2008-03-27 | Fuji Xerox Co Ltd | Action efficiency improvement support system and method thereof |
JP5094593B2 (en) * | 2008-06-27 | 2012-12-12 | キヤノン株式会社 | Transmitting apparatus, receiving apparatus, method, and program |
JP5262536B2 (en) * | 2008-10-02 | 2013-08-14 | 日本電気株式会社 | Content distribution system, distribution device, reproduction device, distribution method, reproduction method, and program |
JP4702443B2 (en) | 2008-12-17 | 2011-06-15 | ソニー株式会社 | COMMUNICATION SYSTEM, COMMUNICATION METHOD, COMMUNICATION DEVICE, AND PROGRAM |
JP4915415B2 (en) * | 2008-12-22 | 2012-04-11 | 日本電気株式会社 | Communication terminal, communication system, congestion control method, and congestion control program |
JP5724879B2 (en) | 2009-11-24 | 2015-05-27 | 日本電気株式会社 | Quality control apparatus, moving picture transmission system, quality control method, and recording medium |
JP5152940B2 (en) | 2011-08-10 | 2013-02-27 | 株式会社Skeed | Data transfer method for efficiently transferring bulk data |
JP6086000B2 (en) * | 2013-03-11 | 2017-03-01 | 株式会社リコー | Information processing apparatus, communication control method, and program |
GB2535093C (en) | 2013-12-11 | 2021-03-31 | Mitsubishi Electric Corp | Information processing apparatus, information processing method, and program |
CN115037700B (en) * | 2022-04-29 | 2023-04-21 | 北京龙腾佳讯科技股份公司 | Complex network data packet transmission method, system, terminal and storage medium |
-
2002
- 2002-12-11 JP JP2002359735A patent/JP4061643B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004193991A (en) | 2004-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101046105B1 (en) | Computer program manufacturing, resource demand adjustment methods, and end systems | |
US7987284B2 (en) | Communication processing apparatus, data communication system, and communication processing method | |
US7710906B2 (en) | Transmitting and receiving system, transmitting apparatus, transmitting method, receiving apparatus, receiving method, and program | |
US9185045B1 (en) | Transport protocol for interactive real-time media | |
JP4703063B2 (en) | Method and system for mitigating network congestion | |
JP4101993B2 (en) | Wired and wireless mixed network data distribution apparatus and wired and wireless mixed network data distribution method | |
JP4623616B2 (en) | Data transmission method and apparatus | |
US20160323062A1 (en) | Packet recovery in interactive real-time media protocol | |
US7225266B2 (en) | Adaptive delayed ACK switching for TCP applications | |
EP3940974B1 (en) | Transmission method and device for data stream | |
EP1580914A1 (en) | Method and system for controlling operation of a network | |
JP2004537218A (en) | Reliable and efficient method of congestion control in NACK based protocol | |
EP2396943B1 (en) | Controlling bandwidth share | |
JP2001230809A (en) | Communication system and communication method and transmission terminal and reception terminal | |
WO2006065008A1 (en) | Apparatus for arq controlling in wireless portable internet system and method thereof | |
JP2008182410A (en) | Communication terminal, congestion control method, and congestion control program | |
US7965639B2 (en) | Dynamic adaptation of MAC-layer retransmission value | |
JP4061643B2 (en) | Information processing system, information processing apparatus and method, recording medium, and program | |
JP2013085135A (en) | Network terminal device and data transmission method | |
US7168022B2 (en) | Transmission control method and system | |
WO2010092323A2 (en) | Data transmission | |
US8078752B2 (en) | Method and program for managing the quantity of data transmitted by a transmission device over a telecommunication network | |
JP3953343B2 (en) | Wireless packet communication device and wireless packet communication method | |
JP2004297127A (en) | Portable terminal and server | |
JP5178568B2 (en) | Transmission device and transmission control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070622 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070703 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070830 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071216 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110111 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120111 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130111 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |