JP2004193991A - Information processing system, information processing device and method, recording medium, and program - Google Patents
Information processing system, information processing device and method, recording medium, and program Download PDFInfo
- Publication number
- JP2004193991A JP2004193991A JP2002359735A JP2002359735A JP2004193991A JP 2004193991 A JP2004193991 A JP 2004193991A JP 2002359735 A JP2002359735 A JP 2002359735A JP 2002359735 A JP2002359735 A JP 2002359735A JP 2004193991 A JP2004193991 A JP 2004193991A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- rtt
- information processing
- predetermined value
- 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.)
- Granted
Links
Images
Abstract
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,May2000 pp2
【0010】
【発明が解決しようとする課題】
しかしながら、TFRCにおいては、パケットロス率とRTTの2つのパラメータの変化に対して、迅速に反応することができないという課題があった。
【0011】
ところで、インターネットを介して動画をストリーミングする場合、送信端末装置から受信端末装置へ、1フレームを複数のパケットに分割して送信することがある。これは、1フレームのデータが、MTU(Maximum Transmission Unit)より大きいため、または1フレームのデータを意味のある単位で区切り、送信するからである。なお、意味のあるデータとは、例えば、JPEG(Joint PhotographicExperts 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の変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートを設定し、第2の判定手段によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定手段とを備え、第2の情報処理装置は、第1の情報処理装置より、パケットを受信する第2の受信手段と、第2の受信手段により受信されたパケットに基づいて、第1の情報処理装置に、確認応答を送信する第2の送信手段とを備えることを特徴とする。
【0021】
本発明の第1の情報処理装置は、他の情報処理装置にパケットを送信する送信手段と、他の情報処理装置から確認応答を受信する受信手段と、受信手段により受信された確認応答に基づいて、RTTを算出する算出手段と、算出手段により算出されたRTTの変動が所定の値以下であるか否かを判定する第1の判定手段と、第1の判定手段により、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定手段と、第1の判定手段によりRTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートを設定し、第2の判定手段によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定手段とを備えることを特徴とする。
【0022】
前記送信手段により送信される前記パケットを生成する生成手段をさらに設けるようにし、前記パケットは、画像データを含むようにすることができる。
【0023】
前記設定手段には、前記第1の判定手段により前記RTTの変動は所定の値以下であると判定され、かつ、前記確認応答に、バーストロスの発生の通知が含まれていた場合、前記生成手段により生成される前記パケットに含まれる前記画像データのフレームレートを低下させることにより、送信レートを低下させ、前記第1の判定手段により前記RTTの変動は所定の値以下であると判定され、かつ、前記確認応答に、バーストロスの発生の通知が含まれていなかった場合、前記生成手段により生成される前記パケットに含まれる前記画像データの画質を低下させることにより、送信レートを低下させるようにさせることができる。
【0024】
前記第1の判定手段により前記RTTの変動は所定の値以下であると判定され、かつ、パケットロス率が所定の値より低い場合、ARQを実行し、前記第2の判定手段により前記パケットロス率の変動は所定の値以下であると判定された場合、FECを実行し、前記第2の判定手段によりより前記パケットロス率の変動は所定の値以下ではないと判定された場合、パリティチェックを実行する実行手段をさらに設けるようにすることができる。
【0025】
本発明の第1の情報処理方法は、他の情報処理装置にパケットを送信する送信ステップと、他の情報処理装置から確認応答を受信する受信ステップと、受信ステップの処理により受信された確認応答に基づいて、RTTを算出する算出ステップと、算出ステップの処理により算出されたRTTの変動が所定の値以下であるか否かを判定する第1の判定ステップと、第1の判定ステップの処理により、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、第1の判定ステップの処理によりRTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートを設定し、第2の判定ステップの処理によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定ステップとを含むことを特徴とする。
【0026】
本発明の第1の記録媒体のプログラムは、情報処理装置用のプログラムであって、パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された確認応答に基づいて、RTTを算出する算出ステップと、算出ステップの処理により算出されたRTTの変動が所定の値以下であるか否かを判定する第1の判定ステップと、第1の判定ステップの処理により、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、第1の判定ステップの処理によりRTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートを設定し、第2の判定ステップの処理によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定ステップとを含むことを特徴とする。
【0027】
本発明の第1のプログラムは、情報処理装置を制御するコンピュータに、パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された確認応答に基づいて、RTTを算出する算出ステップと、算出ステップの処理により算出されたRTTの変動が所定の値以下であるか否かを判定する第1の判定ステップと、第1の判定ステップの処理により、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、第1の判定ステップの処理によりRTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートを設定し、第2の判定ステップの処理によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定ステップとを実行させることを特徴とする。
【0028】
本発明の第2の情報処理装置は、他の情報処理装置より、パケットを受信する受信手段と、パケットロスが発生したか否かを判定する第1の判定手段と、第1の判定手段により、パケットロスが発生したと判定された場合、パケットロスがバーストロスであるか否かを判定する第2の判定手段と、第2の判定手段による判定結果を含む確認応答を、他の情報処理装置に送信する送信手段とを備えることを特徴とする。
【0029】
本発明の第2の情報処理方法は、他の情報処理装置より、パケットを受信する受信ステップと、パケットロスが発生したか否かを判定する第1の判定ステップと、第1の判定ステップの処理により、パケットロスが発生したと判定された場合、パケットロスがバーストロスであるか否かを判定する第2の判定ステップと、第2の判定ステップの処理による判定結果を含む確認応答を、他の情報処理装置に送信する送信ステップとを含むことを特徴とする。
【0030】
本発明の第2の記録媒体のプログラムは、情報処理装置用のプログラムであって、他の情報処理装置より、パケットを受信した場合、パケットロスが発生したか否かを判定する第1の判定ステップと、第1の判定ステップの処理により、パケットロスが発生したと判定された場合、パケットロスがバーストロスであるか否かの判定結果を含む確認応答を、他の情報処理装置に送信するために、パケットロスがバーストロスであるか否かを判定する第2の判定ステップとを含むことを特徴とする。
【0031】
本発明の第2のプログラムは、情報処理装置を制御するコンピュータに、他の情報処理装置より、パケットを受信した場合、パケットロスが発生したか否かを判定する第1の判定ステップと、第1の判定ステップの処理により、パケットロスが発生したと判定された場合、パケットロスがバーストロスであるか否かの判定結果を含む確認応答を、他の情報処理装置に送信するために、パケットロスがバーストロスであるか否かを判定する第2の判定ステップとを実行させることを特徴とする。
【0032】
本発明の情報処理システムにおいては、第1の情報処理装置では、第2の情報処理装置にパケットが送信され、第2の情報処理装置から確認応答が受信され、受信された確認応答に基づいて、RTTが算出され、算出されたRTTの変動が所定の値以下であるか否かが判定され、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かが判定され、RTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートが設定され、パケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートが設定される。また、第2の情報処理装置では、第1の情報処理装置より、パケットが受信され、受信されたパケットに基づいて、第1の情報処理装置に、確認応答が送信される。
【0033】
本発明の第1の情報処理装置および方法、記録媒体、並びにプログラムにおいては、他の情報処理装置にパケットが送信され、他の情報処理装置から確認応答が受信され、受信された確認応答に基づいて、RTTが算出され、算出されたRTTの変動が所定の値以下であるか否かが判定され、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かが判定され、RTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートが設定され、パケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートが設定される。
【0034】
本発明の第2の情報処理装置および方法、記録媒体、並びにプログラムにおいては、他の情報処理装置より、パケットが受信され、パケットロスが発生したか否かあ判定され、パケットロスが発生したと判定された場合、パケットロスがバーストロスであるか否かが判定され、判定結果を含む確認応答が、他の情報処理装置に送信される。
【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/InternetProtocol)のパケットヘッダを付加して、パケット送信部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の本発明によれば、より効率的に、送信レートを制御することができる。さらに、第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]
TECHNICAL FIELD 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, to an information processing system, an information processing apparatus and method, and a recording medium that can quickly adapt to changes in the state of a network. And the program.
[0002]
[Prior art]
When packets are continuously transmitted from the transmitting terminal to the receiving terminal via a network such as the Internet, the lost (not received) packets are transmitted from the receiving terminal to the transmitting terminal. An acknowledgment including the 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 packet to be transmitted according to the acknowledgment received from the receiving terminal device, and transmits the packet at a transmission rate optimal for the state of the network bandwidth.
[0003]
A rate control algorithm that controls the transmission rate of packets according to the state of the network bandwidth is usually based on a packet loss rate (rate of lost packets among packets transmitted from a transmitting terminal) and RTT (Round Trip Time). In addition, the transmission rate is controlled by estimating the state of the band of the network.
[0004]
In many rate control algorithms such as Transmission Control Protocol (TCP), when a packet loss is detected, it is determined that the loss is due to network congestion, and the transmission rate is controlled. For example, when detecting the loss of a packet, the transmitting terminal apparatus increases the transmission interval of the packet 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 estimates that the packet has been lost due to the notification from the receiving terminal even if the order of arrival of the packet at the receiving terminal is simply changed. Then, processing for avoiding network congestion is started. As a result, in such a rate control algorithm, even if the order of arrival of the packets at the receiving terminal device is simply changed, the transmission rate decreases, and the amount of data transmitted per unit time decreases. There was a problem that would.
[0005]
In order to solve such a problem, RFC (Request For Comments) 2581 specifies 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. The transmitting terminal device adds a serial number (this serial number is referred to as a segment number in the following description) and transmits the segment to the receiving terminal device. Each time the receiving terminal device receives this segment, it notifies the transmitting terminal device of the segment number of the segment currently being received as a serial number as an acknowledgment. When the packet is lost, the segment number notified to the transmitting terminal device is lost, so that the transmitting terminal device can detect the packet loss.
[0006]
According to the provisions of FRC2581, the transmitting terminal device does not determine that the segment has been lost because the overlap of the acknowledgment response up to two times may not be determined as the segment arrival order may have been changed. If the responses overlap, it is determined that the segment in the middle has been lost. Then, when there is an overlap of three or more acknowledgments, the transmitting terminal apparatus retransmits the segment that may have been lost without waiting for a timeout (Fast Retransmit). This makes it possible to respond more quickly to packet loss that could not be detected without waiting for the timeout period (usually four times the RTT), and to change the transmission rate by changing the order of arrival. It is possible to reduce the frequency of occurrence of the decline.
[0007]
In addition, there is a rate control algorithm that determines both a congestion state and a transmission error occurrence state to prevent both meaningless lowering of a transmission rate and loss of data (for example, see Patent Document 1). In other words, in a wireless network, transmission errors frequently occur even when the network is not congested, but since transmission errors are treated as equivalent to packet loss in the network layer, congestion occurs every time a transmission error occurs. It is determined that this has occurred, and processing for avoiding network congestion is started. In order to avoid this, the rate control algorithm described in
[0008]
Further, using two parameters of the packet loss rate and the RTT, not only the determination as to whether or not to enter the congestion avoidance stage, but also a rate control for predicting an ideal transmission rate to be transmitted from the transmitting terminal device. There is also an algorithm, TFRC (TCP-Friendly Rate Control) (for example, see Non-Patent Document 1).
[0009]
[Patent Document 1]
JP 2001-160824 A (pages 4-6)
[Non-patent document 1]
S. Floyd, M. Handley, J. Pandhye and J. Widmer, "Equation-Based Congestion Control for Unicast Applications", Proceedings of ACM SIGCOMM 2000, May2000 pp2
[0010]
[Problems to be solved by the invention]
However, the TFRC has a problem that it cannot react quickly to changes in two parameters, the packet loss rate and the RTT.
[0011]
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 an MTU (Maximum Transmission Unit), or one frame of data is separated and transmitted in a meaningful unit. The meaningful data indicates, for example, data of each frame in one frame in JPEG (Joint Photographic Experts Group) 2000 or the like.
[0012]
As described above, when one frame is divided into a plurality of packets and transmitted, since the data in one frame is transmitted at a time, the communication data amount temporarily and intensively increases. Become. Therefore, when transmitting one frame of data from the transmitting terminal device to the receiving terminal device via the Internet, there is a possibility that packet loss may be caused by the influence of the burst traffic.
[0013]
FIG. 1 shows an example. In FIG. 1, an image transmitting
[0014]
It is assumed 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 collectively received from the
[0017]
The
[0018]
The
[0019]
The present invention has been made in view of such a situation, and has as its object to promptly transmit and receive information by adapting to a change in the state of a network band.
[0020]
[Means for Solving the Problems]
In the information processing system according to the present invention, the first information processing device includes a first transmission unit that transmits a packet to the second information processing device, and a first reception device that receives an acknowledgment from the second information processing device. Means, a calculating means for calculating the RTT based on the confirmation response received by the first receiving means, and a first means for determining whether or not the fluctuation of the RTT calculated by the calculating means is equal to or less than a predetermined value. When it is determined by the determining means and the first determining means that the variation of the RTT is not less than a predetermined value, it is determined whether or not the variation of the packet loss rate of the packet is less than a predetermined value. When the variation of the RTT is determined to be equal to or less than a predetermined value by the determination means and the first determination means, the packet transmission rate is set according to the change in the packet loss rate of the packet, and the second determination means The fluctuation of the packet loss rate is less than the specified value. Setting means for setting a packet transmission rate in accordance with a change in RTT when the second information processing apparatus receives a packet from the first information processing apparatus. Means, and a second transmitting means for transmitting an acknowledgment to the first information processing device based on the packet received by the second receiving means.
[0021]
A first information processing apparatus according to the present invention includes a transmitting unit that transmits a packet to another information processing device, a receiving unit that receives an acknowledgment from the other information processing device, and a acknowledgment received by the receiving unit. Calculating means for calculating the RTT, first determining means for determining whether or not the variation of the RTT calculated by the calculating means is equal to or less than a predetermined value; and the variation of the RTT is determined by the first determining means. If it is determined that the variation of the packet loss rate of the packet is not less than the predetermined value, the second determining means for determining whether the variation of the packet loss rate is less than the predetermined value, and the variation of the RTT is determined by the first determining means. Is determined to be equal to or less than the value, the packet transmission rate is set according to the change in the packet loss rate of the packet, and the change in the packet loss rate is determined to be equal to or less than the predetermined value by the second determination means. If the RTT changes Characterized in that it comprises a setting means for setting the transmission rate of the packet.
[0022]
A generation unit for generating the packet transmitted by the transmission unit 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 of the RTT is equal to or less than a predetermined value, and the acknowledgment includes a notification of occurrence of a burst loss, By reducing the frame rate of the image data included in the packet generated by the means, to reduce the transmission rate, the first determination means is determined that the variation of the RTT is less than a predetermined value, And, when the notification of the occurrence of the burst loss is not included in the acknowledgment, the transmission rate is reduced by lowering the image quality of the image data included in the packet generated by the generator. Can be made.
[0024]
If the variation of the RTT is determined to be equal to or less than a predetermined value by the first determination means, and the packet loss rate is lower than a predetermined value, ARQ is performed, and the packet loss rate is determined by the second determination means. When it is determined that the variation of the packet rate is equal to or less than a predetermined value, FEC is performed. When the variation of the packet loss rate is determined by the second determination unit to be not less than the predetermined value, a parity check is performed. May be further provided.
[0025]
According to a first information processing method of the present invention, a transmitting step of transmitting a packet to another information processing apparatus, a receiving step of receiving an acknowledgment from the other information processing apparatus, and an acknowledgment received by the processing of the receiving step , A first determining step of determining whether a variation in the RTT calculated by the processing of the calculating step is equal to or less than a predetermined value, and a processing of a first determining step. When it is determined that the variation of the RTT is not less than the predetermined value, a second determination step of determining whether the variation of the packet loss rate of the packet is less than the predetermined value, and a first determination step If it is determined that the variation of the RTT is equal to or less than the predetermined value by the processing of the above, the packet transmission rate is set according to the change of the packet loss rate of the packet, and the packet is determined by the processing of the second determination step. If the fluctuation of the Taurus rate was determined to be equal to or less than a predetermined value, in accordance with changes in the RTT, characterized in that it comprises a setting step of setting a transmission rate of the packet.
[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 generated based on the received acknowledgment. The calculation step of calculating, the first determination step of determining whether the fluctuation of the RTT calculated by the processing of the calculation step is equal to or less than a predetermined value, and the processing of the first determination step, When it is determined that the variation is not less than the predetermined value, the second determination step of determining whether the variation of the packet loss rate of the packet is less than the predetermined value, and the variation of the RTT by the processing of the first determination step. If it is determined that is less than or equal to a predetermined value, the packet transmission rate is set according to the change in the packet loss rate of the packet, and the change in the packet loss rate is reduced to a predetermined value by the processing in the second determination step. If it is determined to be equal to or less than, according to changes in the RTT, characterized in that it comprises a setting step of setting a transmission rate of the packet.
[0027]
A first program according to the present invention is configured such that, when an acknowledgment is received from another information processing apparatus that has transmitted a packet, a computer that controls the information processing apparatus calculates an RTT based on the received acknowledgment. And a first determining step of determining whether the variation of the RTT calculated by the processing of the calculating step is equal to or less than a predetermined value. The processing of the first determining step causes the variation of the RTT to be equal to or less than a predetermined value. If it is determined that the variation of the packet loss rate of the packet is not equal to or less than a predetermined value, the change of the RTT is determined by the processing of the second determination step and the first determination step. If determined to be less than or equal to, the packet transmission rate is set according to the change in the packet loss rate of the packet. If it is determined that that, in accordance with the change of RTT, characterized in that to execute a setting step of setting the transmission rate of the packet.
[0028]
A second information processing apparatus according to the present invention includes a receiving unit that receives a packet from another information processing device, a first determining unit that determines whether a packet loss has occurred, and a first determining unit. When it is determined that a packet loss has occurred, a second determination unit that determines whether the packet loss is a burst loss, and an acknowledgment including the determination result by the second determination unit are transmitted to another information processing unit. Transmitting means for transmitting to the device.
[0029]
According to a second information processing method of the present invention, a receiving step of receiving a packet from another information processing apparatus, a first determining step of determining whether a packet loss has occurred, and a first determining step If it is determined by the processing that a packet loss has occurred, a second determination step of determining whether or not the packet loss is a burst loss, and an acknowledgment including the determination result of the processing of the second determination step, Transmitting to another information processing apparatus.
[0030]
The program of the second recording medium according to the present invention is a program for an information processing apparatus, and when a packet is received from another information processing apparatus, a first determination for determining whether a packet loss has occurred or not. When it is determined that a packet loss has occurred in the step and the first determination step, an acknowledgment including a determination result as to whether or not the packet loss is a burst loss is transmitted to another information processing apparatus. Therefore, a second determining step of determining whether the packet loss is a burst loss is included.
[0031]
A second program according to the present invention includes a first determination step of determining whether a packet loss has occurred when a packet is received from another information processing apparatus by a computer that controls the information processing apparatus; When it is determined that the packet loss has occurred by the processing of the first determination step, a packet including a determination result as to whether the packet loss is a burst loss is transmitted to another information processing apparatus. And a second determination step of determining whether the loss is a burst loss.
[0032]
In the information processing system of the present invention, in the first information processing device, a packet is transmitted to the second information processing device, an acknowledgment is received from the second information processing device, and based on the received acknowledgment. RTT is calculated, and it is determined whether the variation of the calculated RTT is equal to or less than a predetermined value.If it is determined that the variation of RTT is not less than the predetermined value, the variation of the packet loss rate of the packet is determined. It is determined whether or not the value is equal to or less than a predetermined value, and when it is determined that the variation in the RTT is equal to or less than the predetermined value, the packet transmission rate is set according to the change in the packet loss rate of the packet, and the packet loss rate is set. If it is determined that the fluctuation is equal to or less than the predetermined value, the packet transmission rate is set according to the change in RTT. In the second information processing device, a packet is received from the first information processing device, and an acknowledgment is transmitted to the first information processing device based on the received packet.
[0033]
In the first information processing apparatus and method, the recording medium, and the program according to the present invention, a packet is transmitted to another information processing apparatus, an acknowledgment is received from the other information processing apparatus, and based on the received acknowledgment. RTT is calculated, and it is determined whether the variation of the calculated RTT is equal to or less than a predetermined value.If it is determined that the variation of RTT is not less than the predetermined value, the variation of the packet loss rate of the packet is determined. Is determined to be equal to or less than a predetermined value, and when it is determined that the variation in RTT is equal to or less than the predetermined value, the packet transmission rate is set according to the change in the packet loss rate of the packet, and the packet loss rate is set. Is determined to be 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, the recording medium, and the program of the present invention, a packet is received from another information processing apparatus, and it is determined whether or not a packet loss has occurred. If it is determined, it is determined whether the packet loss is a burst loss, and an acknowledgment including the determination result is transmitted to another information processing device.
[0035]
The present invention can be applied to electronic devices connected to a network.
[0036]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 4 is a diagram showing the configuration of an embodiment of an information processing system to which the present invention has been applied.
[0037]
In FIG. 4, an
[0038]
The
[0039]
Next, FIG. 5 illustrates an example of the internal configuration of the
[0040]
The recording medium 103 stores image data encoded by an encoding method such as JPEG2000, for example, and supplies the image data 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 example of an internal configuration of the
[0046]
The
[0047]
The
[0048]
The
[0049]
Further, the
[0050]
The
[0051]
The
[0052]
Next, an image transmission process of the
[0053]
In step S1 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 acknowledgment processing 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]
The criterion for determining the burst loss is not limited to the method described above. For example, if the number of consecutive missing sequence numbers per unit time is equal to or greater than a predetermined number, it may be determined that a burst loss has occurred.
[0067]
If the
[0068]
In step S57, the
[0069]
When the
[0070]
In step S58, the
[0071]
In step S59, 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 a change in the RTT and a method for detecting a change in the packet loss rate will be described.
[0077]
First, a method of detecting a variation in RTT 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. Note that the calculated RTT (t) is a value that is not affected by a small change over time of RTTm as α takes a value close to 1, and the value of RTTm decreases over time 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 equation (2) is within a predetermined range (for example, a value between ± 1%), the RTT of the
[0083]
Next, a method of detecting a change in the packet loss rate will be described. First, the
[0084]
LOSS (t) = β × LOSS (t-1) + (1−β) × LOSSm
[0085]
In Expression (3), LOSS (t-1) is the current value calculated last time by Expression (3), and β is a number between 0 and 1. Note that the calculated LOSS (t) becomes a value that is not affected by a small change in LOSSm over time as β takes a value close to 1, and a value of LOSSm decreases over time as β takes a value close to 0. The value reflects the change.
[0086]
After the LOSS (t) is calculated by Expression (3), the
[0087]
B = 100 × {LOSS (t) / LOSS (t-1)} − 100
[0088]
When the fluctuation amount B (%) calculated by Expression (3) is within a predetermined range (for example, a value between ± 1%), the
[0089]
The
[0090]
Next, a 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 the time required for the data packet transmitted from the
[0095]
Thereafter, the
[0096]
Next, the
[0097]
After the variation A of the RTT is calculated in step S103 as described above, the
[0098]
The
[0099]
In step S105, the loss
[0100]
After that, the loss
[0101]
Next, the loss
[0102]
As described above, after the variation B of the packet loss rate is calculated in step S105, the loss
[0103]
The
[0104]
In step S107, the transmission
[0105]
(Equation 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 timeout period of TCP (Transmission Control Protocol) (generally, four times RTT).
[0107]
Rate control section 108 controls
[0108]
In step S108, the
[0109]
In step S104, when the
[0110]
In step S109 in FIG. 10, the
[0111]
In step S110, the
[0112]
In step S111, the
[0113]
In step S111 of 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, if the transmission
[0118]
Returning to step S112, if the response packet determined to be received in step S109 does not include the packet loss rate, in step S112 the transmission
[0119]
At step S115, it is determined whether or not the response packet determined to have been received at step S109 includes burst loss information indicating that a burst loss has occurred, thereby determining whether the packet loss is a burst loss. If the response packet determined to have been received in step S109 does not include burst loss information indicating that a burst loss has occurred, it is determined that the packet loss is not a burst loss, and the process proceeds to step S109. Proceed to S116.
[0120]
In step S116, the transmission
[0121]
After the process in step S116, the process returns to step S109, and the processes in and after step S109 are repeatedly performed.
[0122]
Returning to step S115, if the response packet determined to have been received in step S109 includes burst loss information indicating that a burst loss has occurred, the packet loss is determined to be a burst loss, and the process proceeds to step S115. Proceed to S117.
[0123]
In step S117, the transmission rate setting unit 117 lowers the frame rate to lower the transmission rate. That is, when the
[0124]
Returning to step S106 in FIG. 9, when the
[0125]
In step S118 in FIG. 11, the
[0126]
In step S119, the loss
[0127]
In step S120, the
[0128]
If 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, if 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 lowering the frame rate. If the packet loss is not a burst loss, the transmission rate is reduced by lowering the image quality, thereby causing a burst loss. The rate can be reduced. Therefore, it is possible to control the transmission rate more efficiently.
[0138]
Incidentally, 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 an 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 variation A of the RTT 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 in step S157, the process proceeds to step S161.
[0148]
Returning to step S156, when the fluctuation amount B supplied from the loss
[0149]
After the process in 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]
In step S159, when the error
[0153]
In step S160, the error
[0154]
After the process in 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 θ, even if a packet loss occurs, the
[0158]
On the other hand, packet loss rarely occurs, but when packet loss occurs due to burst traffic at a low frequency, 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 is also applicable 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 processing is executed by software, a program constituting the software may be executed by a computer built into dedicated hardware or by installing various programs to execute various functions. It is installed from a recording medium in a possible personal computer or the like, for example.
[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 a magnetic disk 421 (including a flexible disk) on which the program is recorded, which is distributed to provide the program to the user separately from the computer, An optical disk 422 (including a compact disk-read only memory (CD-ROM), a digital versatile disk (DVD)), a magneto-optical disk 423 (including a mini-disc (MD)), or a package medium including a
[0164]
In this specification, a step of describing a program recorded on a recording medium is performed in a time-series manner in the order described. Alternatively, the processing includes individually executed processing.
[0165]
Also, in this specification, a system refers to an entire device including a plurality of devices.
[0166]
【The invention's effect】
As described above, according to the first aspect of the present invention, information can be transmitted and received via a network. Further, according to the first aspect of the present invention, it is possible to control the transmission rate more efficiently. Further, 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. Further, according to the second aspect of the present invention, the transmission rate can be controlled more efficiently. Further, according to the second aspect of the present invention, error correction can be performed according to the state of the network.
[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, the transmission rate can be controlled more efficiently.
[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 device.
FIG. 6 is a block diagram illustrating a configuration example of an image receiving device.
FIG. 7 is a flowchart illustrating an image transmission process of the image transmission device and an image reception process of the image reception device.
FIG. 8 is a flowchart illustrating a confirmation response process of the image receiving apparatus.
FIG. 9 is a flowchart illustrating a rate control process of the image transmission device.
FIG. 10 is a flowchart illustrating the rate control process of the image transmitting apparatus, continued from FIG. 9;
FIG. 11 is a flowchart illustrating the rate control process of the image transmitting apparatus, continued from FIG. 9;
FIG. 12 is a flowchart illustrating an error correction setting process of the image transmission device.
FIG. 13 is a block diagram illustrating a configuration example of a computer according to an embodiment of the present invention.
[Explanation of symbols]
Claims (12)
前記第1の情報処理装置は、
前記第2の情報処理装置にパケットを送信する第1の送信手段と、
前記第2の情報処理装置から確認応答を受信する第1の受信手段と、
前記第1の受信手段により受信された前記確認応答に基づいて、RTTを算出する算出手段と、
前記算出手段により算出された前記RTTの変動が所定の値以下であるか否かを判定する第1の判定手段と、
前記第1の判定手段により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定手段と、
前記第1の判定手段により前記RTTの変動は所定の値以下であると判定された場合、前記パケットの前記パケットロス率の変化に従って、前記パケットの送信レートを設定し、前記第2の判定手段により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定手段と
を備え、
前記第2の情報処理装置は、
前記第1の情報処理装置より、前記パケットを受信する第2の受信手段と、
前記第2の受信手段により受信された前記パケットに基づいて、前記第1の情報処理装置に、前記確認応答を送信する第2の送信手段と
を備えることを特徴とする情報処理システム。In an information processing system including a first information processing device and a second information processing device that perform packet communication,
The first information processing device includes:
First transmitting means for transmitting a packet to the second information processing device;
First receiving means for receiving an acknowledgment from the second information processing device;
Calculating means for calculating RTT based on the acknowledgment received by the first receiving means;
First determining means for determining whether the variation of the RTT calculated by the calculating means is equal to or less than a predetermined value,
When the first determination means determines that the variation of the RTT is not less than a predetermined value, a second determination that determines whether the variation of the packet loss rate of the packet is less than a predetermined value. Means,
When the first determination means determines that the variation of the RTT is equal to or less than a predetermined value, the transmission rate of the packet is set according to a change in the packet loss rate of the packet; When the variation of the packet loss rate is determined to be equal to or less than a predetermined value, according to the change of the RTT, comprising a setting means for setting the transmission rate of the packet,
The second information processing device includes:
Second receiving means for receiving the packet from the first information processing device;
An information processing system comprising: a second transmission unit that transmits the acknowledgment to the first information processing device based on the packet received by the second reception unit.
前記他の情報処理装置から確認応答を受信する受信手段と、
前記受信手段により受信された前記確認応答に基づいて、RTTを算出する算出手段と、
前記算出手段により算出された前記RTTの変動が所定の値以下であるか否かを判定する第1の判定手段と、
前記第1の判定手段により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定手段と、
前記第1の判定手段により前記RTTの変動は所定の値以下であると判定された場合、前記パケットの前記パケットロス率の変化に従って、前記パケットの送信レートを設定し、前記第2の判定手段により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定手段と
を備えることを特徴とする情報処理装置。Transmitting means for transmitting a packet to another information processing device;
Receiving means for receiving an acknowledgment from the other information processing apparatus,
Calculating means for calculating RTT based on the confirmation response received by the receiving means,
First determining means for determining whether the variation of the RTT calculated by the calculating means is equal to or less than a predetermined value,
When the first determination means determines that the variation of the RTT is not less than a predetermined value, a second determination that determines whether the variation of the packet loss rate of the packet is less than a predetermined value. Means,
When the first determination means determines that the variation of the RTT is equal to or less than a predetermined value, the transmission rate of the packet is set according to a change in the packet loss rate of the packet; An information processing apparatus comprising: a setting unit that sets the transmission rate of the packet according to a change in the RTT when it is determined that the change in the packet loss rate is equal to or less than a predetermined value.
前記パケットは、画像データを含む
ことを特徴とする請求項2に記載の情報処理装置。The apparatus further includes a generation unit configured to generate the packet transmitted by the transmission unit,
The information processing device according to claim 2, wherein the packet includes image data.
ことを特徴とする請求項3に記載の情報処理装置。The setting unit, when the first determination unit determines that the variation of the RTT is equal to or less than a predetermined value, and when the acknowledgment includes a notification of the occurrence of a burst loss, By reducing the frame rate of the image data included in the packet generated by the, to reduce the transmission rate, the first determination unit is determined that the variation of the RTT is less than a predetermined value, and In a case where the notification of the occurrence of the burst loss is not included in the confirmation response, the transmission rate is reduced by lowering the image quality of the image data included in the packet generated by the generation unit. The information processing apparatus according to claim 3, wherein:
ことを特徴とする請求項2に記載の情報処理装置。If the variation of the RTT is determined to be equal to or less than a predetermined value by the first determination means, and the packet loss rate is lower than a predetermined value, ARQ is performed, and the packet loss rate is determined by the second determination means. When it is determined that the variation of the packet rate is equal to or less than a predetermined value, FEC is performed. When the variation of the packet loss rate is determined by the second determination unit to be not less than the predetermined value, a parity check is performed. The information processing apparatus according to claim 2, further comprising an execution unit configured to execute.
他の情報処理装置にパケットを送信する送信ステップと、
前記他の情報処理装置から確認応答を受信する受信ステップと、
前記受信ステップの処理により受信された前記確認応答に基づいて、RTTを算出する算出ステップと、
前記算出ステップの処理により算出された前記RTTの変動が所定の値以下であるか否かを判定する第1の判定ステップと、
前記第1の判定ステップの処理により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、
前記第1の判定ステップの処理により前記RTTの変動は所定の値以下であると判定された場合、前記パケットの前記パケットロス率の変化に従って、前記パケットの送信レートを設定し、前記第2の判定ステップの処理により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定ステップと
を含むことを特徴とする情報処理方法。In the information processing method of the information processing apparatus,
A transmitting step of transmitting a packet to another information processing apparatus;
A receiving step of receiving a confirmation response from the other information processing apparatus,
A calculating step of calculating RTT based on the confirmation response received by the processing of the receiving step,
A first determination step of determining whether the variation of the RTT calculated by the processing of the calculation step is equal to or less than a predetermined value;
When it is determined by the processing of the first determination step that the variation of the RTT is not less than a predetermined value, it is determined whether the variation of the packet loss rate of the packet is less than a predetermined value. Determination step;
When the variation of the RTT is determined to be equal to or less than a predetermined value by the processing of the first determination step, a transmission rate of the packet is set according to a change in the packet loss rate of the packet, and the second A setting step of setting the transmission rate of the packet according to the change in the RTT, when the change in the packet loss rate is determined to be equal to or less than a predetermined value by the processing in the determining step. Processing method.
パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された前記確認応答に基づいて、RTTを算出する算出ステップと、
前記算出ステップの処理により算出された前記RTTの変動が所定の値以下であるか否かを判定する第1の判定ステップと、
前記第1の判定ステップの処理により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、
前記第1の判定ステップの処理により前記RTTの変動は所定の値以下であると判定された場合、前記パケットの前記パケットロス率の変化に従って、前記パケットの送信レートを設定し、前記第2の判定ステップの処理により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。A program for an information processing device,
When receiving an acknowledgment from another information processing apparatus that has transmitted the packet, based on the received acknowledgment, a calculation step of calculating RTT,
A first determination step of determining whether the variation of the RTT calculated by the processing of the calculation step is equal to or less than a predetermined value;
When it is determined by the processing of the first determination step that the variation of the RTT is not less than a predetermined value, it is determined whether the variation of the packet loss rate of the packet is less than a predetermined value. Determination step;
When the variation of the RTT is determined to be equal to or less than a predetermined value by the processing of the first determination step, a transmission rate of the packet is set according to a change in the packet loss rate of the packet, and the second A setting step of setting the transmission rate of the packet according to the change in the RTT when it is determined that the change in the packet loss rate is equal to or less than a predetermined value by the processing in the determining step. A recording medium on which a readable program is recorded.
パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された前記確認応答に基づいて、RTTを算出する算出ステップと、
前記算出ステップの処理により算出された前記RTTの変動が所定の値以下であるか否かを判定する第1の判定ステップと、
前記第1の判定ステップの処理により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、
前記第1の判定ステップの処理により前記RTTの変動は所定の値以下であると判定された場合、前記パケットの前記パケットロス率の変化に従って、前記パケットの送信レートを設定し、前記第2の判定ステップの処理により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定ステップと
を実行させることを特徴とするプログラム。The computer that controls the information processing device
When receiving an acknowledgment from another information processing apparatus that has transmitted the packet, based on the received acknowledgment, a calculation step of calculating RTT,
A first determination step of determining whether the variation of the RTT calculated by the processing of the calculation step is equal to or less than a predetermined value;
When it is determined by the processing of the first determination step that the variation of the RTT is not less than a predetermined value, it is determined whether the variation of the packet loss rate of the packet is less than a predetermined value. Determination step;
When the variation of the RTT is determined to be equal to or less than a predetermined value by the processing of the first determination step, a transmission rate of the packet is set according to a change in the packet loss rate of the packet, and the second When the change in the packet loss rate is determined to be equal to or less than a predetermined value by the processing of the determining step, a setting step of setting the transmission rate of the packet is performed according to the change in the RTT. program.
パケットロスが発生したか否かを判定する第1の判定手段と、
前記第1の判定手段により、パケットロスが発生したと判定された場合、前記パケットロスがバーストロスであるか否かを判定する第2の判定手段と、
前記第2の判定手段による判定結果を含む確認応答を、前記他の情報処理装置に送信する送信手段と
を備えることを特徴とする情報処理装置。Receiving means for receiving a packet from another information processing device;
First determining means for determining whether a packet loss has occurred;
When the first determining unit determines that a packet loss has occurred, a second determining unit that determines whether the packet loss is a burst loss,
An information processing apparatus comprising: a transmission unit configured to transmit an acknowledgment including a result of the determination by the second determination unit to the another information processing apparatus.
他の情報処理装置より、パケットを受信する受信ステップと、
パケットロスが発生したか否かを判定する第1の判定ステップと、
前記第1の判定ステップの処理により、パケットロスが発生したと判定された場合、前記パケットロスがバーストロスであるか否かを判定する第2の判定ステップと、
前記第2の判定ステップの処理による判定結果を含む確認応答を、前記他の情報処理装置に送信する送信ステップと
を含むことを特徴とする情報処理方法。In the information processing method of the information processing apparatus,
A receiving step of receiving a packet from another information processing apparatus;
A first determining step of determining whether a packet loss has occurred;
A second determining step of determining whether the packet loss is a burst loss when it is determined by the processing of the first determining step that a packet loss has occurred;
A transmitting step of transmitting an acknowledgment including a result of the determination by the processing of the second determining step to the another information processing apparatus.
他の情報処理装置より、パケットを受信した場合、パケットロスが発生したか否かを判定する第1の判定ステップと、
前記第1の判定ステップの処理により、パケットロスが発生したと判定された場合、前記パケットロスがバーストロスであるか否かの判定結果を含む確認応答を、前記他の情報処理装置に送信するために、前記パケットロスが前記バーストロスであるか否かを判定する第2の判定ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。A program for an information processing device,
A first determination step of determining whether a packet loss has occurred when receiving a packet from another information processing apparatus;
If it is determined by the processing of the first determination step that a packet loss has occurred, an acknowledgment including a determination result as to whether the packet loss is a burst loss is transmitted to the other information processing apparatus. A second determining step of determining whether the packet loss is the burst loss.
他の情報処理装置より、パケットを受信した場合、パケットロスが発生したか否かを判定する第1の判定ステップと、
前記第1の判定ステップの処理により、パケットロスが発生したと判定された場合、前記パケットロスがバーストロスであるか否かの判定結果を含む確認応答を、前記他の情報処理装置に送信するために、前記パケットロスが前記バーストロスであるか否かを判定する第2の判定ステップと
を実行させることを特徴とするプログラム。The computer that controls the information processing device
A first determination step of determining whether a packet loss has occurred when receiving a packet from another information processing apparatus;
If it is determined by the processing of the first determination step that a packet loss has occurred, an acknowledgment including a determination result as to whether the packet loss is a burst loss is transmitted to the other information processing apparatus. A second determining step of determining whether the packet loss is the burst loss.
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 true JP2004193991A (en) | 2004-07-08 |
JP4061643B2 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) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009077442A (en) * | 2008-12-22 | 2009-04-09 | Nec Corp | Communication terminal, communication system, congestion control method, and congestion control program |
JP2010011212A (en) * | 2008-06-27 | 2010-01-14 | Canon Inc | Transmission apparatus, receiving apparatus, and method program |
JP2010088029A (en) * | 2008-10-02 | 2010-04-15 | Nec Corp | Content distribution system, distribution apparatus, playback device, distribution method, playback method and program |
US7925613B2 (en) | 2006-09-15 | 2011-04-12 | Fuji Xerox Co., Ltd. | Action efficiency support apparatus and method |
WO2011065294A1 (en) * | 2009-11-24 | 2011-06-03 | 日本電気株式会社 | Quality control device, moving image transmission system, quality control method, and recording medium |
US7987284B2 (en) | 2005-03-28 | 2011-07-26 | Sony Corporation | Communication processing apparatus, data communication system, and communication processing method |
US8270312B2 (en) | 2008-12-17 | 2012-09-18 | Sony Corporation | Communication system, communication method, communication device, and program |
WO2013021745A1 (en) | 2011-08-10 | 2013-02-14 | 株式会社Skeed | Data transfer method for efficiently transferring bulk data |
JP2014175959A (en) * | 2013-03-11 | 2014-09-22 | Ricoh Co Ltd | Information processing device, communication control method, and program |
US9948532B2 (en) | 2013-12-11 | 2018-04-17 | Mitsubishi Electric Corporation | Information processing apparatus, information processing method, and computer readable medium |
CN115037700A (en) * | 2022-04-29 | 2022-09-09 | 北京龙腾佳讯科技股份公司 | 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
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7987284B2 (en) | 2005-03-28 | 2011-07-26 | Sony Corporation | Communication processing apparatus, data communication system, and communication processing method |
US7925613B2 (en) | 2006-09-15 | 2011-04-12 | Fuji Xerox Co., Ltd. | Action efficiency support apparatus and method |
JP2010011212A (en) * | 2008-06-27 | 2010-01-14 | Canon Inc | Transmission apparatus, receiving apparatus, and method program |
JP2010088029A (en) * | 2008-10-02 | 2010-04-15 | Nec Corp | Content distribution system, distribution apparatus, playback device, distribution method, playback method and program |
US8270312B2 (en) | 2008-12-17 | 2012-09-18 | Sony Corporation | Communication system, communication method, communication device, and program |
JP2009077442A (en) * | 2008-12-22 | 2009-04-09 | Nec Corp | Communication terminal, communication system, congestion control method, and congestion control program |
WO2011065294A1 (en) * | 2009-11-24 | 2011-06-03 | 日本電気株式会社 | Quality control device, moving image transmission system, quality control method, and recording medium |
US8923151B2 (en) | 2009-11-24 | 2014-12-30 | Nec Corporation | Quality control apparatus, moving image transmission system, quality control method, and recording medium |
WO2013021745A1 (en) | 2011-08-10 | 2013-02-14 | 株式会社Skeed | Data transfer method for efficiently transferring bulk data |
US9590912B2 (en) | 2011-08-10 | 2017-03-07 | Skeed Co., Ltd. | Data transfer method for efficiently transferring bulk data |
JP2014175959A (en) * | 2013-03-11 | 2014-09-22 | Ricoh Co Ltd | Information processing device, communication control method, and program |
US9948532B2 (en) | 2013-12-11 | 2018-04-17 | Mitsubishi Electric Corporation | Information processing apparatus, information processing method, and computer readable medium |
CN115037700A (en) * | 2022-04-29 | 2022-09-09 | 北京龙腾佳讯科技股份公司 | Complex network data packet transmission method, system, terminal and storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP4061643B2 (en) | 2008-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7987284B2 (en) | Communication processing apparatus, data communication system, and communication processing method | |
JP4703063B2 (en) | Method and system for mitigating network congestion | |
US7310682B2 (en) | Systems and methods for improving network performance | |
US9185045B1 (en) | Transport protocol for interactive real-time media | |
US20160323062A1 (en) | Packet recovery in interactive real-time media protocol | |
US7710906B2 (en) | Transmitting and receiving system, transmitting apparatus, transmitting method, receiving apparatus, receiving method, and program | |
JP4878391B2 (en) | Scheduling and queue management with adaptive queue latency | |
EP1580914A1 (en) | Method and system for controlling operation of a network | |
JP2004537218A (en) | Reliable and efficient method of congestion control in NACK based protocol | |
JP2004193992A (en) | Information processing system, information processor, information processing method, recording medium and program | |
JP2004007823A (en) | Method and apparatus for data transmission | |
JP5867188B2 (en) | Information processing apparatus, congestion control method, and congestion control program | |
JP2004518352A (en) | Method for effectively estimating retransmission timeout in NACK based protocol | |
US7965639B2 (en) | Dynamic adaptation of MAC-layer retransmission value | |
JP4061643B2 (en) | Information processing system, information processing apparatus and method, recording medium, and program | |
CN111669665B (en) | Real-time pushing method of media stream and server | |
JP2013085135A (en) | Network terminal device and data transmission method | |
US7168022B2 (en) | Transmission control method and system | |
WO2010092323A2 (en) | Data transmission | |
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 | |
JP2004153610A (en) | Method, radio terminal, controller and system for distributing moving image, and radio terminal | |
JP6897769B2 (en) | Data transmitters, methods and programs | |
Ţurcanu et al. | The optimization of video transmission quality in wireless networks |
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 |