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 PDF

Info

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
Application number
JP2002359735A
Other languages
Japanese (ja)
Other versions
JP2004193991A (en
Inventor
宏 久曽神
健治 山根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2002359735A priority Critical patent/JP4061643B2/en
Publication of JP2004193991A publication Critical patent/JP2004193991A/en
Application granted granted Critical
Publication of JP4061643B2 publication Critical patent/JP4061643B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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】

Figure 0004061643
【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 Patent Document 1 determines whether or not the network is congested based on the RTT when a transmission error is detected, and determines that the network is congested. Only in such a case, control is added to enter the congestion avoidance stage.
[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 image transmission device 1 is a device that transmits image data that is held, and an image reception device 3 is a device that receives image data transmitted by the image transmission device 1. In FIG. 1, routers 2-1 and 2-2 are installed between the image transmission device 1 and the image reception device 3. Packets of image data transmitted from the image transmission device 1 are routers 2-1 and 2. -2 is received by the image receiving device 3. That is, the router 2-1 receives the packet from the image transmission device 1, and transmits the received packet to the router 2-2. The router 2-2 receives the packet from the router 2-1, and transmits the received packet to the image reception device 3.
[0014]
Assume that the image transmission device 1 transmits a packet of moving image data at, for example, 30 fps (frames per second). FIG. 2 shows the transmission timing of a packet transmitted from the image transmission apparatus 1. In FIG. 2, the blocks labeled “1”, “2”, “3”, “4”, “5”, “6”, “7”, and “8” each represent one packet. These numbers represent packet sequence numbers. In FIG. 2, it is assumed that one frame of data is divided into four packets for transmission. In FIG. 2, the horizontal axis is a time axis.
[0015]
As shown in FIG. 2, the image transmission apparatus 1 first transmits packets with sequence numbers 1 to 4 in order. Then, 33 ms after the timing at which the packet with the sequence number 1 is transmitted, the image transmission apparatus 1 sequentially transmits the packets with the sequence numbers 5 to 8. A packet transmitted from the image transmission apparatus 1 is first received by the router 2-1. The router 2-1 holds the packet received from the image transmission device 1 in a recording medium built in until the packet is sent to the router 2-2. However, when packets arrive at the router 2-1 intensively from the image transmission apparatus 1, the data amount of packets to be stored may exceed the storage capacity of the router 2-1. An example of this case is shown in FIG.
[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 image transmitting apparatus 1 at a time, the packets of sequence numbers 7 and 8 that are packets exceeding the storage capacity of the router 2-1 are the router 2. -1. As a result, the packets with sequence numbers 7 and 8 do not reach the image receiving device 3 and packet loss occurs.
[0017]
The image receiving device 3 detects the packet loss by determining the presence or absence of the missing sequence number based on the sequence number. When a packet loss is detected, the image reception device 3 transmits a message requesting the image transmission device 1 to lower the packet transmission rate. Conventionally, this request message includes the current transmission rate (bps; bits per second) or the packet loss rate.
[0018]
The image transmission apparatus 1 can lower the transmission rate by either means of lowering the transmission rate by lowering the image quality or lowering the transmission rate by lowering the frame rate. However, even if the image transmission apparatus 1 receives a request message including the current transmission rate (bps) from the image reception apparatus 3, should the image quality be reduced or the frame rate should be reduced only with this information? , Could not choose the best option.
[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 image transmission device 11 and an image reception device 12 are connected via a network 10 including the Internet. The image transmitting apparatus 11 includes a packet including image data (moving image data) such as hierarchically encoded data encoded by an encoding method such as JPEG2000 (in the following description, a packet including image data is referred to as a data packet). And the generated data packet is transmitted to the image receiving device 12 via the network 10 in real time. Also, the image transmission device 11 receives from the image reception device 12 a confirmation response packet including information such as a transmission time and a packet loss rate when the image transmission device 11 transmits a data packet (in the following description, from the image reception device 12). An acknowledgment packet transmitted to the image transmission apparatus 11 is called a response packet), and the transmission rate of the data packet is controlled based on these pieces of information.
[0038]
The image receiving device 12 acquires image data from the data packet received from the image transmitting device 11 and records it on a predetermined recording medium, and also provides information such as the transmission time of the data packet and the packet loss rate by the image transmitting device 11. A response packet including the response packet is generated, and the response packet is transmitted to the image transmission device 11.
[0039]
Next, FIG. 5 illustrates an internal configuration example of the image transmission apparatus 11. In FIG. 5, the operation unit 101 receives an operation input from the user and notifies the control unit 102 of operation information corresponding to the received operation. The control unit 102 controls the operation of each unit of the image transmission apparatus 11 based on a preset program and operation information from the operation unit 101.
[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 packet generation unit 105 as appropriate. The input unit 104 receives input of image data from an external device (for example, an imaging device) (not shown), and supplies the input image data to the packet generation unit 105.
[0041]
The packet generation unit 105 divides the image data supplied from the recording medium 103 or the input unit 104 according to the control from the rate control unit 108, generates a data packet, and generates a TCP / IP ( A packet header of Transmission Control Protocol / Internet Protocol (UDP) or UDP / IP (User Datagram Protocol / Internet Protocol) is added and supplied to the packet transmitter 106. The packet header includes a sequence number for identifying each data packet.
[0042]
When the data packet generated by the packet generation unit 105 is supplied, the packet transmission unit 106 transmits the data packet to the image reception device 12 via the network 10 at a predetermined timing. Note that the packet transmission unit 106 is controlled by the rate control unit 108. Further, when transmitting the data packet, the packet transmission unit 106 records the current time in the packet header as the transmission time of the data packet.
[0043]
The packet receiving unit 107 receives a response packet from the image receiving device 12 and supplies it to the rate control unit 108.
[0044]
The rate control unit 108 controls the packet generation unit 105 and the packet transmission unit 106 based on the response packet received by the packet reception unit 107, and adjusts the data packet transmission rate to an optimum value. The stability determination unit 121 in the rate control unit 108 determines whether the RTT calculated by the RTT fluctuation calculation unit 124 and the packet loss rate calculated by the loss rate error calculation unit 125 are stable (details). Will be described later). The RTT increase / decrease detection unit 122 detects increase / decrease in RTT. The transmission rate setting unit 123 sets the packet size of the data packet generated by the packet generation unit 105 and the transmission interval of the data packet transmitted from the packet transmission unit 106, thereby transmitting the data transmitted from the image transmission device 11. Sets the packet transmission rate. The RTT calculator 124 calculates an RTT instantaneous value based on the received response packet, and calculates an RTT current value in consideration of the RTT history. The loss rate calculation unit 125 calculates the current value of the packet loss rate considering the history based on the packet loss rate included in the received response packet. Based on the determination result of the stability determination unit 121, the error correction setting unit 126 sets one of error correction processes among ARQ (Automatic Repeat reQuest), FEC (Forward Error Correction), and parity check.
[0045]
Next, FIG. 6 illustrates an internal configuration example of the image receiving device 12. In FIG. 6, the operation unit 151 receives an operation input from the user and notifies the control unit 152 of operation information corresponding to the received operation. The control unit 152 controls the operation of each unit of the image reception device 12 based on a preset program and an operation signal from the operation unit 151.
[0046]
The packet receiving unit 153 receives the data packet transmitted from the image transmission device 11 via the network 10 and records the image data included in the data packet on the recording medium 154 and is added to the data packet. And the information included in the packet header, that is, the information regarding the sequence number and the transmission time of the data packet is supplied to the state measuring unit 155.
[0047]
The recording medium 154 is constituted by, for example, a hard disk, and the image data supplied from the packet receiving unit 153 is recorded, and the recorded image data is read by an external device (not shown).
[0048]
The state measurement unit 155 receives information regarding the sequence number and the transmission time of the data packet from the packet reception unit 153. Then, the state measuring unit 155 determines whether or not there is a packet loss based on the sequence number supplied from the packet receiving unit 153, and if there is a packet loss, specifies the sequence number of the lost packet and determines the packet loss rate. calculate. Further, the state measuring unit 155 determines whether or not the packet loss is caused by burst traffic. In the following description, packet loss caused by burst traffic is referred to as burst loss.
[0049]
In addition, the state measuring unit 155 acquires the reception time when the data packet is received. The state measurement unit 155 then transmits the data packet transmission time and sequence number read from the packet header, the data packet reception time acquired by itself, the sequence number of the lost packet, and burst loss information indicating the presence or absence of burst loss. Is supplied to the packet generation unit 156.
[0050]
The packet generation unit 156 receives the data packet transmission time and sequence number read from the packet header from the state measurement unit 155, the data packet reception time acquired by itself, the sequence number of the lost packet, and the presence or absence of a burst loss. When the burst loss information shown is supplied, a response packet including the information is generated, and the response packet is supplied to the packet transmission unit 157.
[0051]
The packet transmission unit 157 transmits the response packet supplied from the packet generation unit 156 to the image transmission device 11 via the network 10. When transmitting a response packet, the packet transmission unit 157 records the current time as the response packet transmission time in the packet header of the response packet.
[0052]
Next, the image transmission processing of the image transmission device 11 and the image reception processing of the image reception device will be described with reference to the flowchart of FIG.
[0053]
In step S <b> 1 of FIG. 7, the packet generation unit 105 of the image transmission apparatus 11 packetizes the image data supplied from the recording medium 103 or the input unit 104 according to control from the rate control unit 108 and generates a data packet. Then, the generated packet is supplied to the packet transmission unit 106. In step S <b> 2, the packet transmission unit 106 transmits the data packet generated by the packet generation unit 105 in step S <b> 1 to the image reception device 12 via the network 10. Thereafter, the process returns to step S1, and the processes after step S1 are repeated.
[0054]
In step S11, the packet reception unit 153 of the image reception device 12 receives the data packet transmitted by the image transmission device 11 in step S2. In step S <b> 12, the packet receiving unit 153 of the image receiving device 12 reads image data from the data packet received in step S <b> 11 and records this image data on the recording medium 154. Thereafter, the process returns to step S11, and the processes after step S11 are repeated.
[0055]
As described above, the data packet is transmitted from the image transmission device 11 to the image reception device 12 in real time and recorded on the recording medium 154. The image data recorded on the recording medium 154 is appropriately read out by an external device, decoded, and an image is reproduced.
[0056]
In step S1, the packet generation unit 105 generates a data packet so as to have a transmission rate set by the rate control processing in the flowcharts of FIGS. 9 to 11 described later. In step S2, the packet transmission unit 106 Transmits a data packet so that the transmission rate set by the rate control processing of the flowcharts of FIGS.
[0057]
In the present invention, a response packet is transmitted from the image reception device 12 to the image transmission device 11, and the transmission rate of the data packet is controlled based on the response packet.
[0058]
Next, the confirmation response process of the image receiving apparatus 12, that is, the process in which the image receiving apparatus 12 creates a response packet and transmits it to the image transmitting apparatus 11 will be described with reference to the flowchart of FIG.
[0059]
In step S51, the control unit 152 of the image reception device 12 monitors the packet reception unit 153, waits until the packet reception unit 153 receives a data packet, and when the packet reception unit 153 receives a data packet, the process is performed. Proceed to step S52. In step S52, the state measuring unit 155 acquires the current time from the internal clock. In step S53, the state measurement unit 155 obtains the data packet transmission time and sequence number, which are information added as a packet header, from the packet reception unit 153, and packet loss occurs based on the sequence number. Determine whether or not.
[0060]
That is, the state measuring unit 155 can determine whether or not a packet loss has occurred by determining whether or not the sequence number is a sequential number with the sequence number of the previously received data packet. For example, if the sequence number of the data packet received last time is “10” and the sequence number of the data packet received this time is “11”, the sequence number is “10” and “11”. 155 determines that there is no loss of data packets. Also, for example, when the sequence number of the data packet received last time is “10” and the sequence number of the data packet received this time is “12”, it is not continuous with “10” and “12”. Measurement unit 155 determines that the data packet is lost.
[0061]
If the state measurement unit 155 determines in step S53 that no packet loss has occurred, the process proceeds to step S54.
[0062]
In step S54, the state measurement unit 155 supplies the packet generation unit 156 with the reception time of the data packet acquired in step S52 and the transmission time and sequence number of the data packet acquired from the packet header of the data packet. The packet generation unit 156 generates a response packet including the data packet reception time, the data packet transmission time, and the sequence number supplied from the state measurement unit 155, and supplies the response packet to the packet transmission unit 157. Thereafter, the process proceeds to step S59.
[0063]
If the state measurement unit 155 determines in step S53 that a packet loss has occurred, the process proceeds to step S55.
[0064]
In step S55, the state measurement unit 155 calculates a packet loss rate (a ratio of the number of lost packets to the number of data packets transmitted from the image transmission device 11) based on the sequence number of the received data packet. . Thereafter, the process proceeds to step S56.
[0065]
In step S56, the state measurement unit 155 determines whether or not the generated packet loss is a burst loss. That is, when a burst loss occurs, a plurality of sequence numbers are often lost continuously. Therefore, the state measuring unit 155 determines that it is a burst loss when a plurality of sequence numbers of received data packets are continuously lost. For example, when the sequence number of the received data packet is “1, 2, 3, 9, 10, 11”, the fourth to eighth sequence numbers are continuously missing. Therefore, the state measurement unit 155 determines that a burst loss has occurred when the data packet with the sequence number 9 is received. Note that the number of continuously lost data packets, which is a criterion for determining whether or not a burst loss has occurred, is set in the state measurement unit 155 in advance. The number of data packets that are continuously lost, which is a criterion for determining whether or not a burst loss has occurred, can be, for example, four.
[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 state measurement unit 155 determines in step S56 that a burst loss has occurred, the process proceeds to step S57.
[0068]
In step S57, the state measurement unit 155 receives the data packet reception time acquired in step S52, the transmission time and sequence number of the data packet acquired from the packet header of the data packet, the packet loss rate calculated in step S55, and the burst loss. Burst loss information indicating that there is a packet loss is supplied to the packet generator 156. The packet generation unit 156 receives information supplied from the state measurement unit 155, that is, data packet transmission time, data packet reception time, sequence number, packet loss rate, and burst loss information indicating that there was a burst loss. A response packet including the response packet is generated, and the response packet is supplied to the packet transmission unit 157. Thereafter, the process proceeds to step S59.
[0069]
If the state measurement unit 155 determines in step S56 that no burst loss has occurred, the process proceeds to step S58.
[0070]
In step S58, the state measurement unit 155 uses the data packet reception time acquired in step S52, the transmission time and sequence number of the data packet acquired from the packet header of the data packet, and the packet loss rate calculated in step S55 as a packet. It supplies to the production | generation part 156. The packet generation unit 156 generates a response packet including the information supplied from the state measurement unit 155, that is, the transmission time of the data packet, the reception time of the data packet, the sequence number, and the packet loss rate. The data is supplied to the transmission unit 157. Thereafter, the process proceeds to step S59.
[0071]
In step S <b> 59, the packet transmission unit 157 transmits the response packet supplied from the packet generation unit 156 to the image transmission device 11 via the network 10. Note that the packet transmission unit 157 acquires the current time from the internal clock immediately before transmitting the response packet, and records this current time in the packet header as the response packet transmission time.
[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 image reception device 12 to the image transmission device 11.
[0074]
The image transmission device 11 controls the transmission rate of the data packet based on the response packet received from the image reception device 12.
[0075]
By the way, the image transmission apparatus 11 to which the present invention is applied has a rate control algorithm for controlling a transmission rate in response to a change in the RTT preferentially among two parameters of an RTT and a packet loss rate, and a packet loss rate The transmission rate is controlled by appropriately using two algorithms, the rate control algorithm for controlling the transmission rate in response to changes, and TFRC as appropriate. When the variation in RTT calculated for each packet to be transmitted is small, the image transmission device 11 employs a rate control algorithm that preferentially reacts to a change in the packet loss rate, and the packet calculated for each packet to be transmitted When the fluctuation of the loss rate is small, the image transmission device 11 employs a rate control algorithm that reacts preferentially to changes in RTT.
[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 image transmission device 11 first determines the measured RTT value based on the reception time when the response packet is received, the transmission time of the data packet included in the response packet, the reception time of the data packet, and the transmission time of the response packet. (In the following description, the measured value of RTT is referred to as RTTm). Next, the image transmitting apparatus 11 uses the following formula (the following formula (1) using the EWMA (Exponential Weighted Moving Average), for example, the current value RTT (t) taking into account the RTTm measured in the past. )).
[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 image transmitting apparatus 11 sets the RTT (t-1) to 100% according to the following equation (the equation below is the equation (2)). In this case, the variation amount A (%) of the RTT (t) is calculated.
[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 image transmission device 11 has a stable RTT ( RTT variation is small), and if not within a predetermined range set in advance, the image transmitting apparatus 11 determines that RTT is not stable (RTT variation is large).
[0083]
Next, a method for detecting a change in the packet loss rate will be described. First, the image transmission apparatus 11 reads a packet loss rate included in the received response packet (in the following description, the packet loss rate included in the response packet is referred to as LOSSm). When the packet loss rate is not included in the response packet, the image transmission device 11 determines that the packet loss rate is zero. Next, the image transmission device 11 calculates the current value LOSS (t) in consideration of LOSSm measured in the past by using the following equation (the following equation is defined as equation (3)) using EWMA, for example. To do.
[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 image transmission apparatus 11 sets LOSS (t-1) to 100% by the following equation (the following equation is assumed to be equation (4)). In this case, the amount of variation B (%) of LOSS (t) is calculated.
[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 image transmission apparatus 11 has a packet loss rate. When it is determined that the packet loss rate is stable (the fluctuation of the packet loss rate is small) and it is not within the predetermined range set in advance, the image transmission device 11 does not have the stable packet loss rate (the fluctuation of the packet loss rate). Is determined to be large).
[0089]
The image transmission device 11 preferentially reacts to a change in the RTT based on the fluctuations in the RTT and the packet loss rate detected as described above, and a packet loss rate The transmission rate is controlled by appropriately using two algorithms of the rate control algorithm that controls the transmission rate in response to the change with priority. If neither the RTT nor the packet loss rate is stable, the image transmission device 11 controls the transmission rate using TFRC.
[0090]
Next, the rate control process of the image transmission apparatus 11, that is, the control of the transmission rate of the data packet will be described with reference to the flowcharts of FIGS.
[0091]
In step S101, the RTT calculation unit 124 sets α in the above equation (1) to a predetermined value specified in advance. In addition, the loss rate detection unit 125 sets β in Expression (3) to a predetermined value specified in advance.
[0092]
In step S102, the control unit 102 monitors the packet receiving unit 107 and waits until the packet receiving unit 107 receives the response packet twice. When the packet receiving unit 107 receives the response packet twice, the process proceeds to step S103. The packet receiving unit 107 acquires the reception time of the received response packet from the internal clock.
[0093]
In step S103, the RTT calculation unit 124 calculates the actual measurement value RTTm for each of the two received response packets.
[0094]
Note that RTTm is a time until a data packet transmitted from the image transmission device 11 is received by the image reception device 12 (this time is T1), and a response packet transmitted from the image reception device 12 is image transmission. It is obtained as the sum (T1 + T2) of the time until reception by the device 11 (this time is T2). The time T1 is obtained by subtracting the data packet transmission time from the data packet reception time. The time T2 is obtained by subtracting the transmission time of the response packet from the reception time of the response packet.
[0095]
Thereafter, the RTT calculation unit 124 calculates the RTT (t) by substituting the actual measurement value RTTm calculated from the response packet received for the second time into the RTTm of the equation (1). When calculating RTT (t) for the first time using equation (1), the previous value RTT (t-1) of equation (1) has not been calculated yet, but instead the response received for the first time The RTTm of the packet is substituted.
[0096]
Next, the RTT calculation unit 124 calculates the variation amount A of the RTT by Expression (2). When calculating the fluctuation amount A for the first time according to equation (2), since the previous value RTT (t-1) of equation (2) has not yet been calculated, the response packet received first time is used instead. RTTm of is substituted.
[0097]
As described above, after the RTT fluctuation amount A is calculated in step S 103, the RTT calculation unit 124 supplies the calculated fluctuation amount A to the stability determination unit 121. Thereafter, the process proceeds to step S104.
[0098]
The stability determination unit 121 has a reference (for example, ± 1%) for determining whether or not the fluctuation amount A is stable, and the fluctuation supplied from the RTT calculation unit 124 in step S104. It is determined whether or not the RTT is stable by determining whether or not the amount A is within this range (for example, whether or not the variation amount A is between ± 1%). Then, if the fluctuation amount A supplied from the RTT calculation unit 124 is not within the preset range, the stability determination unit 121 determines that the RTT is not stable, and the process proceeds to step S105. .
[0099]
In step S105, the loss rate calculation unit 125 reads the packet loss rate from each of the two received response packets. When the packet loss rate is not recorded in the response packet, the loss rate calculation unit 123 determines that the packet loss rate is 0.
[0100]
Thereafter, the loss rate calculation unit 125 calculates LOSS (t) by substituting the actually measured value LOSSm read from the response packet received second time for LOSSm in Expression (3). When LOSS (t) is calculated for the first time using equation (3), the previous value LOSS (t-1) of equation (3) has not yet been calculated, so the response received for the first time is used instead. The LOSSm of the packet is substituted.
[0101]
Next, the loss rate calculation unit 125 calculates the variation amount B of the packet loss rate using Equation (4). When the fluctuation amount B is calculated for the first time according to the equation (4), the previous value LOSS (t-1) of the equation (4) has not been calculated yet. Instead, the response packet received for the first time is used instead. LOSSm read from is substituted.
[0102]
As described above, after the variation amount B of the packet loss rate is calculated in step S105, the loss rate calculation unit 125 supplies the calculated variation amount B to the stability determination unit 121. Thereafter, the process proceeds to step S106.
[0103]
The stability determination unit 121 has a reference (for example, ± 1%) for determining whether or not the fluctuation amount B is stable, and the fluctuation amount B supplied from the loss rate calculation unit 125 is Whether or not the packet loss rate is stable is determined by determining whether or not the amount is within this range (for example, whether or not the fluctuation amount B is between ± 1%). Then, when the fluctuation amount B supplied from the loss rate calculation unit 125 is not within the preset range, the stability determination unit 121 determines that the packet loss rate is not stable, and the processing is performed in steps. The process proceeds to S107.
[0104]
In step S107, the transmission rate setting unit 123 calculates a transmission rate using a TFRC rate control algorithm. That is, the transmission rate setting unit 123 calculates an ideal transmission rate for transmitting a data packet by the following equation (the following equation is defined as equation (5)).
[0105]
[Expression 1]
Figure 0004061643
[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 packet generation unit 105 and the packet transmission unit 106 according to the transmission rate calculated by the transmission rate setting unit 123.
[0108]
In step S108, the control unit 102 monitors the packet reception unit 107 and waits until the packet reception unit 107 receives a response packet. When the packet receiving unit 107 receives the response packet, the process returns to step S103, and the processes after step S103 are repeatedly executed.
[0109]
In step S104, when the stability determination unit 121 determines that the fluctuation amount A supplied from the RTT calculation unit 124 is within a preset range, that is, when it is determined that the RTT is stable, Advances to step S109 in FIG.
[0110]
In step S109 of FIG. 10, the control unit 102 monitors the packet receiving unit 107 and waits until the packet receiving unit 107 receives a response packet. Then, when the packet receiving unit 107 receives the response packet, the process proceeds to step S110.
[0111]
In step S110, the RTT calculation unit 124 calculates the variation amount A of the RTT. Note that the processing in step S110 is the same as the processing in step S103 in FIG.
[0112]
In step S111, the stability determination unit 121 determines whether or not the fluctuation amount A supplied from the RTT calculation unit 124 is within a predetermined range (for example, the fluctuation amount A is within ± 1%). It is determined whether or not the RTT is stable. If the stability determination unit 121 determines that the RTT is not stable, the process returns to step S105 in FIG. 9, and the processes after step S105 described above are repeatedly executed.
[0113]
In step S111 in FIG. 10, when the fluctuation amount A supplied from the RTT calculation unit 124 is within a preset range, the stability determination unit 121 determines that the RTT is stable, and the processing is performed. Proceed to step S112.
[0114]
In step S112, the transmission rate setting unit 123 determines whether or not a packet loss has occurred by determining whether or not the response packet determined to have been received in step S109 includes a packet loss rate. If the response packet determined to have been received in step S109 does not include the packet loss rate, it is determined that no packet loss has occurred, and the process proceeds to step S113.
[0115]
In step S113, the transmission rate setting unit 123 determines whether or not a packet loss has occurred from the reception time of the response packet to a time earlier by the same time as the RTT, and no packet loss has occurred. If so, the process proceeds to step S114. That is, the transmission rate setting unit 123 receives the time when the image transmission apparatus 11 received the response packet A based on the RTT calculated from the response packet received in step S109 (this response packet is referred to as response packet A). (This time is referred to as time m), and the time (this time is referred to as time n) that was traced back by the same amount of time as RTT from this time is acquired, and packet loss occurs between time n and time m. By determining whether or not a response packet including a rate has been received, it is determined whether or not a packet loss has occurred between time n and time m. If it is determined that no packet loss has occurred between time n and time m, the process proceeds to step S114.
[0116]
In step S114, the transmission rate setting unit 123 increases the transmission rate and updates the transmission rate setting. For example, the transmission rate setting unit 123 increases the transmission rate by increasing the number of packets to be transmitted in one RTT according to an AIMD (Additive Increase Multiple Decrease) algorithm. After the process of step S114, the process returns to step S109, and the processes after step S109 are repeatedly executed.
[0117]
In step S113, when the transmission rate setting unit 123 determines that a packet loss has occurred from the reception time of the response packet to a time before the same time as the RTT, the process returns to step S109, and after step S109 This process is repeatedly executed.
[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 rate setting unit 123 determines that a packet loss has occurred, and performs processing. Advances to step S115.
[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 rate setting unit 123 lowers the transmission rate by reducing the image quality. That is, for example, when image data to be packetized is hierarchically encoded data such as JPEG2000, one frame of image data is divided into a plurality of layers. Then, in the order from the lower layer, the higher the number of layers, the more high-quality images can be reproduced. On the other hand, when there is only lower layer data, the image quality is degraded, but the image itself can be reproduced. Therefore, when the image data to be packetized is hierarchically encoded data such as JPEG 2000, the transmission rate setting unit 123 instructs the packet generation unit 105 to reduce the number of layers to be packetized, thereby transmitting the image data to be transmitted. Reduce the image quality.
[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 packet generation unit 105 packetizes image data, the transmission rate setting unit 117 discards frames without packetizing them every other number. After the process of step S117, the process returns to step S109, and the processes after step S109 are repeatedly executed.
[0124]
Returning to step S106 of FIG. 9, when the stability determination unit 121 determines that the packet loss rate is stable, the process proceeds to step S118 of FIG.
[0125]
In step S118 of FIG. 11, the control unit 102 monitors the packet reception unit 107 and waits until the packet reception unit 107 receives a response packet. When the packet reception unit 107 receives the response packet, the process proceeds to step S119.
[0126]
In step S119, the loss rate calculation unit 125 calculates the fluctuation amount B of the packet loss rate. Note that the processing in step S119 is the same as the processing in step S105 in FIG. 9, and thus detailed description thereof is omitted.
[0127]
In step S120, the stability determination unit 121 determines whether or not the fluctuation amount B supplied from the loss rate calculation unit 125 is within a predetermined range (for example, the fluctuation amount B is ± 1%). It is determined whether or not the packet loss rate is stable. If the stability determination unit 121 determines that the packet loss rate is not stable, the process returns to step S103 in FIG. 9, and the processes after step S103 described above are repeatedly executed.
[0128]
In step S120, when the stability determination unit 121 determines that the packet loss rate is stable, the process proceeds to step S121.
[0129]
In step S121, the RTT increase / decrease detection unit 122 in the rate control unit 108 acquires RTT (t) and RTT (t-1) calculated by the RTT calculation unit 124, and RTT (t) is RTT (t− 1) Determine whether the RTT has increased by determining whether it is a larger value.If RTT (t) is not greater than RTT (t-1), the RTT has increased. If not, the process proceeds to step S122.
[0130]
In step S122, the RTT increase / decrease detection unit 122 acquires RTT (t-2) calculated one time before RTT (t-1) from the RTT calculation unit 124, and RTT (t) is calculated as RTT (t-1 Both RTT (t) and RTT (t-1) by determining whether RTT (t-1) is less than RTT (t-2) If RTT (t) is smaller than RTT (t-1) and RTT (t-1) is smaller than RTT (t-2), processing is performed. Advances to step S123.
[0131]
In step S123, the transmission rate setting unit 123 increases the transmission rate and updates the transmission rate setting. Thereby, the rate control unit 108 instructs the packet generation unit 105 and the packet transmission unit 106 to increase the transmission rate.
[0132]
In step S122, the RTT increase / decrease detection unit 122 determines whether RTT (t) is greater than RTT (t-1) or whether RTT (t-1) is greater than RTT (t-2). If it is determined that at least one of them holds, the process returns to step S118, and the processes after step S118 are repeatedly executed.
[0133]
In step S121, when the RTT increase / decrease detection unit 122 determines that RTT (t) is larger than RTT (t-1), that is, when it is determined that RTT is increasing, the process proceeds to step S124. move on.
[0134]
In step S124, the transmission rate setting unit 123 updates the transmission rate setting by lowering the transmission rate. Thereby, the rate control unit 108 instructs the packet generation unit 105 and the packet transmission unit 106 to lower the transmission rate.
[0135]
Thereafter, the process returns to step S118, and the processes after step S118 are repeated.
[0136]
As described above, the image transmission device 11 controls the transmission rate. In this way, when the variation in RTT is small, it responds quickly to changes in the packet loss rate and adjusts the transmission rate, and when the variation in packet loss rate is small, it responds quickly to the change in RTT. The transmission rate can be adjusted.
[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 RTT calculation unit 124 sets α in the above equation (1) to a predetermined value specified in advance. In addition, the loss rate detection unit 125 sets β in Expression (3) to a predetermined value specified in advance.
[0140]
In step S152, the control unit 102 monitors the packet receiving unit 107 and waits until the packet receiving unit 107 receives the response packet twice. When the packet receiving unit 107 receives the response packet twice, the process proceeds to step S153. The packet receiving unit 107 acquires the reception time of the received response packet from the internal clock.
[0141]
In step S153, the RTT calculation unit 124 calculates the actual measurement values RTTm, RTT (t), and the RTT variation A for each of the two received response packets. Note that the processing in step S153 is the same as the processing in step S103 in FIG.
[0142]
As described above, after the RTT fluctuation amount A is calculated in step S153, the RTT calculation unit 124 supplies the calculated fluctuation amount A to the stability determination unit 121. Thereafter, the process proceeds to step S154.
[0143]
The stability determination unit 121 has a reference (for example, ± 1%) for determining whether or not the fluctuation amount A is stable, and the fluctuation supplied from the RTT calculation unit 124 in step S154. It is determined whether or not the RTT is stable by determining whether or not the amount A is within this range (for example, whether or not the variation amount A is between ± 1%). Then, when the fluctuation amount A supplied from the RTT calculation unit 124 is not within the preset range, the stability determination unit 121 determines that the RTT is not stable, and the process proceeds to step S155. .
[0144]
In step S155, the loss rate calculation unit 125 calculates LOSS (t) and the packet loss rate fluctuation amount B. Note that the processing in step S155 is the same as the processing in step S105 in FIG. The loss rate calculation unit 125 supplies the calculated fluctuation amount B to the stability determination unit 121. Thereafter, the process proceeds to step S156.
[0145]
The stability determination unit 121 has a reference (for example, ± 1%) for determining whether or not the fluctuation amount B is stable, and the fluctuation amount B supplied from the loss rate calculation unit 125 is Whether or not the packet loss rate is stable is determined by determining whether or not the amount is within this range (for example, whether or not the fluctuation amount B is between ± 1%). When the fluctuation amount B supplied from the loss rate calculation unit 125 is within a preset range, the stability determination unit 121 determines that the packet loss rate is stable, and the processing is performed in steps. The process proceeds to S157.
[0146]
In step S157, the error correction setting unit 126 performs setting so that error correction processing by FEC is executed. When set to execute error correction processing by FEC, the image transmission device 11 packetizes the image data, generates a redundant packet for error correction from the packetized data, and the data packet and the redundant packet Is transmitted to the image receiving device 12. The image receiving device 12 that has received the data packet and the redundant packet performs error correction processing, restores the lost data packet from the received packet, and receives the received data packet and the image included in the restored data packet. Data is recorded on the recording medium 154.
[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 rate calculation unit 125 is not within the preset range, the stability determination unit 121 determines that the packet loss rate is not stable, and performs processing. Advances to step S158. In step S158, the error correction setting unit 126 performs setting so as to execute an error correction process using a normal parity check.
[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 RTT calculation unit 124 is within the preset range, the stability determination unit 121 determines that the RTT is stable, and the process proceeds to step S159. Proceed to
[0151]
The error correction setting unit 126 has a reference value θ (for example, θ = 5%) of the packet loss rate in advance, and determines in step S159 whether the packet loss rate is less than the reference value θ. When the packet loss rate is less than the reference value θ, the process proceeds to step S158, and the processes after step S158 are repeated.
[0152]
If the error correction setting unit 126 determines in step S159 that the packet loss rate is not less than the reference value θ (greater than or equal to the reference value θ), the process proceeds to step S160.
[0153]
In step S160, the error correction setting unit 126 performs setting so that error correction processing using ARQ is executed. When it is set to execute error correction processing by ARQ, the image transmission device 12 notifies the image transmission device 11 of a retransmission request for a lost packet, and the image transmission device 11 The image is retransmitted to the image receiving device 12.
[0154]
After the process of step S160, the process proceeds to step S161.
[0155]
In step S161, the control unit 102 monitors the packet receiving unit 107 and waits until the packet receiving unit 107 receives a response packet. When the packet receiving unit 107 receives the response packet, the process returns to step S153, and the processes after step S153 are repeatedly executed.
[0156]
As described above, the image transmission device 11 executes the error correction setting process.
[0157]
When the RTT is stable and the packet loss occurs regularly with a low probability of less than θ, the image transmission device 11 reaches the image reception device 12 even if the packet loss occurs. Time can be estimated easily. Therefore, in such a situation, error correction by ARQ is efficient.
[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 image transmission device 11 and the image reception device 12 overflows and packet loss occurs. (See FIG. 3). In this case, RTT is not stable. Therefore, in this case, error correction by FEC is efficient.
[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 image transmitting apparatus 11 or the image receiving apparatus 12 is realized by software. The CPU 401 of the personal computer 400 controls the entire operation of the personal computer 400. Further, when an instruction is input from the input unit 406 such as a keyboard or a mouse via the bus 404 and the input / output interface 405, the CPU 401 stores the instruction in a ROM (Read Only Memory) 402 correspondingly. Run the program. Alternatively, the CPU 401 reads a program read from the magnetic disk 421, the optical disk 422, the magneto-optical disk 423, or the semiconductor memory 424 connected to the drive 410 and installed in the storage unit 408 into a RAM (Random Access Memory) 403. To load and execute. Thereby, the functions of the image transmission device 11 or the image reception device 12 described above are realized by software. Furthermore, the CPU 401 controls the communication unit 409 to communicate with the outside and exchange data. The input / output interface 405 is also connected with an output unit 407 configured with a display, a speaker, and the like.
[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 semiconductor memory 424 In addition to being configured, it is configured by a ROM 402 in which a program is recorded and a hard disk included in the storage unit 408 provided to the user in a state of being pre-installed in a computer.
[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の送信手段と、
前記第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.
前記設定手段は、前記第1の判定手段により前記RTTの変動は所定の値以下であると判定され、かつ、前記確認応答に、バーストロスの発生の通知が含まれていた場合、前記生成手段により生成される前記パケットに含まれる前記画像データのフレームレートを低下させることにより、送信レートを低下させ、前記第1の判定手段により前記RTTの変動は所定の値以下であると判定され、かつ、前記確認応答に、前記バーストロスの発生の通知が含まれていなかった場合、前記生成手段により生成される前記パケットに含まれる前記画像データの画質を低下させることにより、送信レートを低下させる
ことを特徴とする請求項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.
他の情報処理装置にパケットを送信する送信手段と、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, 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.
情報処理装置の情報処理方法において、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 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.
情報処理装置用のプログラムであって、A program for an information processing device,
パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された前記確認応答に基づいて、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.
情報処理装置を制御するコンピュータに、  In the computer that controls the information processing device,
パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された前記確認応答に基づいて、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.
JP2002359735A 2002-12-11 2002-12-11 Information processing system, information processing apparatus and method, recording medium, and program Expired - Fee Related JP4061643B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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