JP2004193991A - Information processing system, information processing device and method, recording medium, and program - Google Patents

Information processing system, information processing device and method, recording medium, and program Download PDF

Info

Publication number
JP2004193991A
JP2004193991A JP2002359735A JP2002359735A JP2004193991A JP 2004193991 A JP2004193991 A JP 2004193991A JP 2002359735 A JP2002359735 A JP 2002359735A JP 2002359735 A JP2002359735 A JP 2002359735A JP 2004193991 A JP2004193991 A JP 2004193991A
Authority
JP
Japan
Prior art keywords
packet
rtt
information processing
predetermined value
variation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002359735A
Other languages
Japanese (ja)
Other versions
JP4061643B2 (en
Inventor
Hiroshi Kusogami
宏 久曽神
Kenji Yamane
健治 山根
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

Abstract

<P>PROBLEM TO BE SOLVED: To make an information processing system speedily adaptive to the change of a network state. <P>SOLUTION: A picture transmission device 11 transmits a packet to a picture reception device 12 and receives a confirmation response from the picture reception device 12. The picture transmission device 11 acquires RTT and a packet loss rate based on the received confirmation response. The picture transmission device controls a transmission rate by a rate control algorithm which preferentially corresponds to the change of the packet loss rate when fluctuation of RTT is small and controls the transmission rate by a rate control algorithm which preferentially corresponds to the change of RTT when the fluctuation of the packet loss rate is small. Thus, the packet can be transmitted at an ideal transmission rate corresponding to the change of RTT and two parameters of the packet loss rate. The invention can be applied to an electronic apparatus connected to the network. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、情報処理システム、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、ネットワークの状態の変化に、迅速に適応できるようにした情報処理システム、情報処理装置および方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
送信端末装置から受信端末装置に対して、インターネットなどのネットワークを経由して、連続してパケットを送信する場合、受信端末装置から送信端末装置に対して、損失した(受信されなかった)パケットを特定する情報や、パケットの受信時刻などの情報を含む確認応答が通知される。送信端末装置は、受信端末装置から受信した確認応答に応じて、送信するパケットの送信間隔やパケットサイズを変更して、ネットワークの帯域の状態に最適な送信レートで、パケットを送信する。
【0003】
ネットワークの帯域の状態に従って、パケットの送信レートを制御するレート制御アルゴリズムは、通常、パケットロス率(送信端末から送信したパケットのうち、損失したパケットの率)、およびRTT(Round Trip Time)を基に、ネットワークの帯域の状態を推測して、送信レートを制御している。
【0004】
TCP(Transmission Control Protocol)をはじめとする多くのレート制御アルゴリズムにおいては、パケットの損失を検知すると、それがネットワークの輻輳に起因するものだと判定して、送信レートの制御を行なう。例えば、送信端末装置は、パケットの損失を検知した場合、パケットの送信間隔をひろくしたり、パケットサイズを小さくして、ネットワーク上を流れるデータの量を減少させる。しかしながら、このようなレート制御アルゴリズムを適用した場合、送信端末装置は、単に、パケットの受信端末装置への到着順が入れ替わっただけでも、受信端末装置からの通知により、パケットが損失したと推定し、ネットワークの輻輳を回避する処理を開始してしまう。結果的に、このようなレート制御アルゴリズムにおいては、単に、パケットの受信端末装置への到着順が入れ替わっただけでも、送信レートが低下してしまい、単位時間当りに送信されるデータ量が減少してしまうという問題があった。
【0005】
このような問題を解決するために、RFC(Request For Comments)2581においては、以下のような処理が規定されている。すなわち、TCPにおいては、所定の個数のパケットを一まとめにした、セグメントと呼ばれるデータ管理単位により、データを管理している。送信端末装置は、通し番号(以下の説明において、この通し番号をセグメント番号と称する)を付加して、受信端末装置にセグメントを送信する。受信端末装置は、このセグメントを受信する毎に、連番で受信中のセグメントのセグメント番号を、確認応答として送信端末装置に通知する。パケットが損失した場合、送信端末装置に通知されるセグメント番号が欠落するため、送信端末装置は、パケットの損失を検知することができる。
【0006】
FRC2581の規定によれば、送信端末装置は、2回までの確認応答の重複は、セグメントの到着順序が入れ替わった可能性があるとして、セグメントが損失したとは判定せず、3回以上、確認応答が重複した場合、途中のセグメントが損失したと判定するようになっている。そして、3回以上の確認応答の重複があった場合、送信端末装置は、タイムアウトを待たずに、損失した可能性のあるセグメントを再送する(Fast Retransmit)。これにより、これまでタイムアウト時間(通常はRTTの4倍)だけ、待機しなければ検知できなかったパケットの損失に、より迅速に対処することが可能となり、また、到着順序の入れ替わりによる、送信レート低下の発生頻度を減少させることが可能となっている。
【0007】
また、輻輳状態と伝送誤り発生状態とを組み合わせて判定することにより、無意味な送信レートの低下とデータの損失を共に防ぐようにしたレート制御アルゴリズムがある(例えば、特許文献1参照)。すなわち、無線ネットワークにおいては、ネットワークが輻輳していない場合でも、伝送誤りが頻繁に発生するが、ネットワーク層において伝送誤りはパケットロスと同等に扱われてしまうため、伝送誤りの度に、輻輳が発生したと判定して、ネットワークの輻輳を回避する処理を開始してしまう。特許文献1に記載のレート制御アルゴリズムは、これを避けるため、伝送誤りを検知した際に、RTTを基に、ネットワークが輻輳しているか否かを判定し、ネットワークが輻輳していると判定した場合のみ、輻輳回避段階に入るという制御を追加している。
【0008】
また、パケットロス率とRTTの2つのパラメータを利用して、輻輳回避段階に入るか否かの判定だけではなく、送信端末装置から送信する理想的な送信レートをも予測するようにたレート制御アルゴリズムであるTFRC(TCP-Friendly Rate Control)もある(例えば、非特許文献1参照)。
【0009】
【特許文献1】
特開2001-160824号公報(第4−6ページ)
【非特許文献1】
S.Floyd,M.Handley,J.Pandhye and J.Widmer,“Equation-Based Congestion Control for Unicast Applications”,Proceedings of ACM SIGCOMM 2000,May2000 pp2
【0010】
【発明が解決しようとする課題】
しかしながら、TFRCにおいては、パケットロス率とRTTの2つのパラメータの変化に対して、迅速に反応することができないという課題があった。
【0011】
ところで、インターネットを介して動画をストリーミングする場合、送信端末装置から受信端末装置へ、1フレームを複数のパケットに分割して送信することがある。これは、1フレームのデータが、MTU(Maximum Transmission Unit)より大きいため、または1フレームのデータを意味のある単位で区切り、送信するからである。なお、意味のあるデータとは、例えば、JPEG(Joint PhotographicExperts Group)2000などでは、1フレームの各レイヤ単位のデータのことを指している。
【0012】
このように、1フレームを複数のパケットに分割して送信する場合、1フレーム内のデータを一度に送信しようとするため、通信データ量が一時的に集中的に増大し、所謂、バーストトラフィックになる。従って、インターネットを介して、送信端末装置から受信端末装置へ、1フレームのデータを送信するとき、このバーストトラフィックの影響で、パケットロスを引き起こす可能性がある。
【0013】
図1にその例を示す。図1において、画像送信装置1は、保有している画像データを送信する装置であり、画像受信装置3は、画像送信装置1が送信した画像データを受信する装置である。図1において、画像送信装置1および画像受信装置3の間には、ルータ2−1および2−2が設置され、画像送信装置1から送信された画像データのパケットは、ルータ2−1および2−2を介して、画像受信装置3に受信される。すなわち、ルータ2−1は、画像送信装置1から、パケットを受信し、受信したパケットを、ルータ2−2に送信する。ルータ2−2は、ルータ2−1からパケットを受信し、受信したパケットを画像受信装置3に送信する。
【0014】
画像送信装置1が、例えば、30fps(frames per second)で、動画データのパケットを送出しているとする。図2は、画像送信装置1から送信されるパケットの送出のタイミングを表している。図2において、「1」、「2」、「3」、「4」、「5」、「6」、「7」、および「8」と記されたブロックは、それぞれ1個のパケットを表しており、これらの数字は、パケットのシーケンス番号を表している。図2においては、1フレームのデータを、4個のパケットに分割して送信しているとする。図2において、横軸は時間軸である。
【0015】
図2に示されるように、画像送信装置1は、まず、シーケンス番号1乃至4のパケットを、順番に送出する。そして、シーケンス番号1のパケットが送出されるタイミングから33ms後、画像送信装置1は、シーケンス番号5乃至8のパケットを順番に送出する。画像送信装置1から送出されたパケットは、まずルータ2−1に受信される。ルータ2−1は、ルータ2−2にパケットを送出するまでの間、画像送信装置1から受信したパケットを内蔵する記録媒体に保持しておく。しかしながら、画像送信装置1からルータ2−1に、一度に集中的にパケットが到達した場合、記憶すべきパケットのデータ量が、ルータ2−1の記憶容量を超えてしまうことがある。この場合の例を図3に示す。
【0016】
図3において、ルータ2−1は、例えば、6個のパケットを記憶することができるとする。ここで、画像送信装置1から、一度に集中的にパケットが受信された場合、ルータ2−1の記憶容量を越えた分のパケットである、シーケンス番号7番および8番のパケットは、ルータ2−1により廃棄されてしまう。結果的に、シーケンス番号7番および8番のパケットは、画像受信装置3には届かず、パケットロスが発生する。
【0017】
画像受信装置3は、シーケンス番号に基づいて、欠落したシーケンス番号の有無を判定することにより、パケットロスを検知する。そして、パケットロスを検知した場合、画像受信装置3は、画像送信装置1に対して、パケットの送信レートを下げるように要求するメッセージを送信する。従来、この要求メッセージには、現在の送信レート(bps;bits per second)、またはパケットロス率などが含まれていた。
【0018】
画像送信装置1は、画質を下げることにより送信レートを下げるか、フレームレートを下げることにより送信レートを下げるかのいずれかの手段により、送信レートを下げることができる。しかしながら、画像送信装置1は、画像受信装置3から、現在の送信レート(bps)を含む要求メッセージを受信しても、この情報のみでは、画質を落とすべきなのか、フレームレートを落とすべきなのか、最適な選択肢を選択することができなかった。
【0019】
本発明は、このような状況に鑑みてなされたものであり、ネットワークの帯域の状態の変化に対して迅速に適応して、情報を送受信させることを目的とする。
【0020】
【課題を解決するための手段】
本発明の情報処理システムは、第1の情報処理装置は、第2の情報処理装置にパケットを送信する第1の送信手段と、第2の情報処理装置から確認応答を受信する第1の受信手段と、第1の受信手段により受信された確認応答に基づいて、RTTを算出する算出手段と、算出手段により算出されたRTTの変動が所定の値以下であるか否かを判定する第1の判定手段と、第1の判定手段により、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定手段と、第1の判定手段によりRTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートを設定し、第2の判定手段によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定手段とを備え、第2の情報処理装置は、第1の情報処理装置より、パケットを受信する第2の受信手段と、第2の受信手段により受信されたパケットに基づいて、第1の情報処理装置に、確認応答を送信する第2の送信手段とを備えることを特徴とする。
【0021】
本発明の第1の情報処理装置は、他の情報処理装置にパケットを送信する送信手段と、他の情報処理装置から確認応答を受信する受信手段と、受信手段により受信された確認応答に基づいて、RTTを算出する算出手段と、算出手段により算出されたRTTの変動が所定の値以下であるか否かを判定する第1の判定手段と、第1の判定手段により、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定手段と、第1の判定手段によりRTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートを設定し、第2の判定手段によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定手段とを備えることを特徴とする。
【0022】
前記送信手段により送信される前記パケットを生成する生成手段をさらに設けるようにし、前記パケットは、画像データを含むようにすることができる。
【0023】
前記設定手段には、前記第1の判定手段により前記RTTの変動は所定の値以下であると判定され、かつ、前記確認応答に、バーストロスの発生の通知が含まれていた場合、前記生成手段により生成される前記パケットに含まれる前記画像データのフレームレートを低下させることにより、送信レートを低下させ、前記第1の判定手段により前記RTTの変動は所定の値以下であると判定され、かつ、前記確認応答に、バーストロスの発生の通知が含まれていなかった場合、前記生成手段により生成される前記パケットに含まれる前記画像データの画質を低下させることにより、送信レートを低下させるようにさせることができる。
【0024】
前記第1の判定手段により前記RTTの変動は所定の値以下であると判定され、かつ、パケットロス率が所定の値より低い場合、ARQを実行し、前記第2の判定手段により前記パケットロス率の変動は所定の値以下であると判定された場合、FECを実行し、前記第2の判定手段によりより前記パケットロス率の変動は所定の値以下ではないと判定された場合、パリティチェックを実行する実行手段をさらに設けるようにすることができる。
【0025】
本発明の第1の情報処理方法は、他の情報処理装置にパケットを送信する送信ステップと、他の情報処理装置から確認応答を受信する受信ステップと、受信ステップの処理により受信された確認応答に基づいて、RTTを算出する算出ステップと、算出ステップの処理により算出されたRTTの変動が所定の値以下であるか否かを判定する第1の判定ステップと、第1の判定ステップの処理により、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、第1の判定ステップの処理によりRTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートを設定し、第2の判定ステップの処理によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定ステップとを含むことを特徴とする。
【0026】
本発明の第1の記録媒体のプログラムは、情報処理装置用のプログラムであって、パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された確認応答に基づいて、RTTを算出する算出ステップと、算出ステップの処理により算出されたRTTの変動が所定の値以下であるか否かを判定する第1の判定ステップと、第1の判定ステップの処理により、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、第1の判定ステップの処理によりRTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートを設定し、第2の判定ステップの処理によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定ステップとを含むことを特徴とする。
【0027】
本発明の第1のプログラムは、情報処理装置を制御するコンピュータに、パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された確認応答に基づいて、RTTを算出する算出ステップと、算出ステップの処理により算出されたRTTの変動が所定の値以下であるか否かを判定する第1の判定ステップと、第1の判定ステップの処理により、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、第1の判定ステップの処理によりRTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートを設定し、第2の判定ステップの処理によりパケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートを設定する設定ステップとを実行させることを特徴とする。
【0028】
本発明の第2の情報処理装置は、他の情報処理装置より、パケットを受信する受信手段と、パケットロスが発生したか否かを判定する第1の判定手段と、第1の判定手段により、パケットロスが発生したと判定された場合、パケットロスがバーストロスであるか否かを判定する第2の判定手段と、第2の判定手段による判定結果を含む確認応答を、他の情報処理装置に送信する送信手段とを備えることを特徴とする。
【0029】
本発明の第2の情報処理方法は、他の情報処理装置より、パケットを受信する受信ステップと、パケットロスが発生したか否かを判定する第1の判定ステップと、第1の判定ステップの処理により、パケットロスが発生したと判定された場合、パケットロスがバーストロスであるか否かを判定する第2の判定ステップと、第2の判定ステップの処理による判定結果を含む確認応答を、他の情報処理装置に送信する送信ステップとを含むことを特徴とする。
【0030】
本発明の第2の記録媒体のプログラムは、情報処理装置用のプログラムであって、他の情報処理装置より、パケットを受信した場合、パケットロスが発生したか否かを判定する第1の判定ステップと、第1の判定ステップの処理により、パケットロスが発生したと判定された場合、パケットロスがバーストロスであるか否かの判定結果を含む確認応答を、他の情報処理装置に送信するために、パケットロスがバーストロスであるか否かを判定する第2の判定ステップとを含むことを特徴とする。
【0031】
本発明の第2のプログラムは、情報処理装置を制御するコンピュータに、他の情報処理装置より、パケットを受信した場合、パケットロスが発生したか否かを判定する第1の判定ステップと、第1の判定ステップの処理により、パケットロスが発生したと判定された場合、パケットロスがバーストロスであるか否かの判定結果を含む確認応答を、他の情報処理装置に送信するために、パケットロスがバーストロスであるか否かを判定する第2の判定ステップとを実行させることを特徴とする。
【0032】
本発明の情報処理システムにおいては、第1の情報処理装置では、第2の情報処理装置にパケットが送信され、第2の情報処理装置から確認応答が受信され、受信された確認応答に基づいて、RTTが算出され、算出されたRTTの変動が所定の値以下であるか否かが判定され、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かが判定され、RTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートが設定され、パケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートが設定される。また、第2の情報処理装置では、第1の情報処理装置より、パケットが受信され、受信されたパケットに基づいて、第1の情報処理装置に、確認応答が送信される。
【0033】
本発明の第1の情報処理装置および方法、記録媒体、並びにプログラムにおいては、他の情報処理装置にパケットが送信され、他の情報処理装置から確認応答が受信され、受信された確認応答に基づいて、RTTが算出され、算出されたRTTの変動が所定の値以下であるか否かが判定され、RTTの変動は所定の値以下ではないと判定された場合、パケットのパケットロス率の変動が所定の値以下であるか否かが判定され、RTTの変動は所定の値以下であると判定された場合、パケットのパケットロス率の変化に従って、パケットの送信レートが設定され、パケットロス率の変動は所定の値以下であると判定された場合、RTTの変化に従って、パケットの送信レートが設定される。
【0034】
本発明の第2の情報処理装置および方法、記録媒体、並びにプログラムにおいては、他の情報処理装置より、パケットが受信され、パケットロスが発生したか否かあ判定され、パケットロスが発生したと判定された場合、パケットロスがバーストロスであるか否かが判定され、判定結果を含む確認応答が、他の情報処理装置に送信される。
【0035】
本発明は、ネットワークに接続される電子機器に適用することができる。
【0036】
【発明の実施の形態】
図4は、本発明を適用した情報処理システムの一実施の形態の構成を示す図である。
【0037】
図4において、画像送信装置11および、画像受信装置12は、インターネットを含むネットワーク10を介して、接続されている。画像送信装置11は、例えばJPEG2000などの符号化方式により符号化された階層符号化データなどの画像データ(動画データ)を含むパケット(以下の説明において、画像データを含むパケットをデータパケットと称する)を生成し、生成したデータパケットを、ネットワーク10を介して、画像受信装置12に実時間送信する。また、画像送信装置11は、画像受信装置12より、画像送信装置11がデータパケットを送信した送信時刻やパケットロス率などの情報を含む確認応答のパケット(以下の説明において、画像受信装置12から画像送信装置11に送信される確認応答のパケットを応答パケットと称する)を受信し、これらの情報に基づいて、データパケットの送信レートを制御する。
【0038】
画像受信装置12は、画像送信装置11から受信したデータパケットから、画像データを取得し、所定の記録媒体に記録するとともに、画像送信装置11によるデータパケットの送信時刻やパケットロス率などの情報を含む応答パケットを生成し、この応答パケットを、画像送信装置11に送信する。
【0039】
次に、図5は、画像送信装置11の内部の構成例を表している。図5において、操作部101は、ユーザからの操作の入力を受け付け、受け付けられた操作に対応する操作情報を制御部102に通知する。制御部102は、予め設定されたプログラムや、操作部101からの操作情報に基づいて、画像送信装置11の各部の動作を制御する。
【0040】
記録媒体103には、例えばJPEG2000などの符号化方式により符号化された画像データが記録されており、適宜、この画像データを、パケット生成部105に供給する。入力部104は、図示せぬ外部機器(例えば、撮像装置)より、画像データの入力を受け付け、入力された画像データを、パケット生成部105に供給する。
【0041】
パケット生成部105は、レート制御部108からの制御に従って、記録媒体103、または入力部104から供給された画像データを分割し、データパケットを生成し、生成されたデータパケットに、TCP/IP(Transmission Control Protocol/Internet Protocol)、またはUDP/IP(User Datagram Protocol/InternetProtocol)のパケットヘッダを付加して、パケット送信部106に供給する。なお、パケットヘッダには、データパケットの個々を識別するための、シーケンス番号が含まれている。
【0042】
パケット送信部106は、パケット生成部105により生成されたデータパケットが供給されると、これを、所定のタイミングで、ネットワーク10を介して、画像受信装置12に送信する。なお、パケット送信部106は、レート制御部108による制御を受ける。また、パケット送信部106は、データパケットを送信するとき、データパケットの送信時刻として、現在時刻をパケットヘッダに記録する。
【0043】
パケット受信部107は、画像受信装置12より、応答パケットを受信し、これをレート制御部108に供給する。
【0044】
レート制御部108は、パケット受信部107により受信された応答パケットに基づいて、パケット生成部105およびパケット送信部106を制御し、データパケットの送信レートを最適な値に調節する。レート制御部108内の安定度判定部121は、RTT変動算出部124により算出されるRTT、およびロス率誤差算出部125により算出されるパケットロス率が安定しているか否かを判定する(詳細は後述する)。RTT増減検出部122は、RTTの増減を検出する。送信レート設定部123は、パケット生成部105により生成されるデータパケットのパケットサイズ、およびパケット送信部106から送信されるデータパケットの送信間隔を設定することにより、画像送信装置11から送信されるデータパケットの送信レートを設定する。RTT算出部124は、受信した応答パケットに基づいてRTTの瞬間値を算出すると共に、RTTの履歴を考慮したRTTの現在値を算出する。ロス率算出部125は、受信した応答パケットに含まれているパケットロス率に基づいて、履歴を考慮したパケットロス率の現在値を算出する。エラー訂正設定部126は、安定度判定部121の判定結果に基づいて、ARQ(Automatic Repeat reQuest)、FEC(Forward Error Correction)、およびパリティチェックのうちいずれかのエラー訂正処理を設定する。
【0045】
次に、図6は、画像受信装置12の内部の構成例を表している。図6において、操作部151は、ユーザからの操作の入力を受け付け、受け付けられた操作に対応する操作情報を制御部152に通知する。制御部152は、予め設定されたプログラムや、操作部151からの操作信号に基づいて、画像受信装置12の各部の動作を制御する。
【0046】
パケット受信部153は、画像送信装置11から送信されたデータパケットを、ネットワーク10を介して受信し、データパケットに含まれている画像データを、記録媒体154に記録するとともに、データパケットに付加されているパケットヘッダを読み出し、パケットヘッダに含まれている情報、すなわち、シーケンス番号とデータパケットの送信時刻に関する情報を状態測定部155に供給する。
【0047】
記録媒体154は、例えば、ハードディスクにより構成され、パケット受信部153から供給された画像データが記録されるとともに、図示せぬ外部機器により、記録された画像データが読み出される。
【0048】
状態測定部155は、パケット受信部153からシーケンス番号とデータパケットの送信時刻に関する情報を受信する。そして、状態測定部155は、パケット受信部153から供給されたシーケンス番号を基に、パケットロスの有無を判定し、パケットロスがある場合、損失したパケットのシーケンス番号を特定し、パケットロス率を算出する。さらに、状態測定部155は、パケットロスが、バーストトラフィックにより発生したものであるか否かを判定する。なお、以下の説明において、バーストトラフィックが原因で発生したパケットロスのことをバーストロスと称する。
【0049】
また、状態測定部155は、データパケットを受信した受信時刻を取得する。そして、状態測定部155は、パケットヘッダから読み出されたデータパケット送信時刻およびシーケンス番号、並びに自らが取得したデータパケット受信時刻、損失したパケットのシーケンス番号、およびバーストロスの有無を示すバーストロス情報を、パケット生成部156に供給する。
【0050】
パケット生成部156は、状態測定部155から、パケットヘッダから読み出されたデータパケット送信時刻およびシーケンス番号、並びに自らが取得したデータパケット受信時刻、損失したパケットのシーケンス番号、およびバーストロスの有無を示すバーストロス情報が供給された場合、これらの情報を含む応答パケットを生成し、この応答パケットをパケット送信部157に供給する。
【0051】
パケット送信部157は、パケット生成部156から供給された応答パケットを、ネットワーク10を介して、画像送信装置11に送信する。なお、パケット送信部157は、応答パケットを送信するとき、その応答パケットのパケットヘッダに、現在時刻を、応答パケットの送信時刻として記録する。
【0052】
次に、図7のフローチャートを参照して、画像送信装置11の画像送信処理、および画像受信装置の画像受信処理について説明する。
【0053】
図7のステップS1において、画像送信装置11のパケット生成部105は、レート制御部108からの制御に従って、記録媒体103、または入力部104から供給される画像データをパケット化して、データパケットを生成し、生成されたパケットをパケット送信部106に供給する。ステップS2において、パケット送信部106は、パケット生成部105がステップS1で生成したデータパケットを、ネットワーク10を介して、画像受信装置12に送信する。その後、処理はステップS1に戻り、ステップS1以降の処理が繰り返される。
【0054】
画像受信装置12のパケット受信部153は、ステップS11において、画像送信装置11が、ステップS2で送信したデータパケットを受信する。ステップS12において、画像受信装置12のパケット受信部153は、ステップS11で受信されたデータパケットより、画像データを読み出し、この画像データを、記録媒体154に記録する。その後、処理はステップS11に戻り、ステップS11以降の処理が繰り返される。
【0055】
以上のようにして、データパケットが、画像送信装置11から画像受信装置12に実時間送信され、記録媒体154に記録される。記録媒体154に記録された画像データは、適宜、外部機器により読み出され、デコードされ、画像が再生される。
【0056】
なお、ステップS1において、パケット生成部105は、後述する図9乃至図11のフローチャートのレート制御処理により設定された送信レートになるように、データパケットを生成し、ステップS2において、パケット送信部106は、後述する図9乃至図11のフローチャートのレート制御処理により設定された送信レートになるように、データパケットを送出する。
【0057】
ところで、本発明においては、画像受信装置12から画像送信装置11に、応答パケットが送信され、この応答パケットに基づいて、データパケットの送信レートが制御される。
【0058】
そこで、次に、図8のフローチャートを参照して、画像受信装置12の確認応答処理、すなわち、画像受信装置12が、応答パケットを作成し、画像送信装置11に送信する処理について説明する。
【0059】
ステップS51において、画像受信装置12の制御部152は、パケット受信部153を監視し、パケット受信部153がデータパケットを受信するまで待機し、パケット受信部153がデータパケットを受信した場合、処理はステップS52に進む。ステップS52において、状態測定部155は、内蔵する内部時計より、現在時刻を取得する。ステップS53において、状態測定部155は、パケット受信部153から、パケットヘッダとして付加されていた情報である、データパケットの送信時刻、およびシーケンス番号を取得し、シーケンス番号に基づいて、パケットロスが発生したか否かを判定する。
【0060】
すなわち、状態測定部155は、シーケンス番号が、前回受信したデータパケットのシーケンス番号と連番になっているか否かを判定することにより、パケットロスの発生の有無を判定することができる。例えば、前回受信したデータパケットのシーケンス番号が「10」で、今回受信したデータパケットのシーケンス番号が「11」であった場合、「10」と「11」で連続しているので、状態測定部155は、データパケットの損失はないと判定する。また、例えば、前回受信したデータパケットのシーケンス番号が「10」で、今回受信したデータパケットのシーケンス番号が「12」であった場合、「10」と「12」で連続していないので、状態測定部155は、データパケットが損失していると判定する。
【0061】
ステップS53において、状態測定部155が、パケットロスは発生していないと判定した場合、処理はステップS54に進む。
【0062】
ステップS54において、状態測定部155は、ステップS52で取得したデータパケットの受信時刻、並びにデータパケットのパケットヘッダから取得したデータパケットの送信時刻およびシーケンス番号を、パケット生成部156に供給する。パケット生成部156は、状態測定部155から供給された、データパケットの受信時刻、並びにデータパケットの送信時刻およびシーケンス番号を含む応答パケットを生成し、この応答パケットをパケット送信部157に供給する。その後、処理はステップS59に進む。
【0063】
ステップS53において、状態測定部155が、パケットロスが発生したと判定した場合、処理はステップS55に進む。
【0064】
ステップS55において、状態測定部155は、受信したデータパケットのシーケンス番号に基づいて、パケットロス率(画像送信装置11から送出されたデータパケットの個数に対する、損失したパケットの個数の割合)を算出する。その後、処理はステップS56に進む。
【0065】
ステップS56において、状態測定部155は、発生したパケットロスはバーストロスであるか否かを判定する。すなわち、バーストロスが発生した場合、複数のシーケンス番号が連続して欠落することが多い。そこで、状態測定部155は、受信したデータパケットのシーケンス番号が複数個分、連続して欠落した場合、バーストロスであると判定する。例えば、受信されたデータパケットのシーケンス番号が、「1,2,3,9,10,11」であった場合、シーケンス番号の4乃至8番目が連続して欠落している。そこで、状態測定部155は、シーケンス番号9番のデータパケットを受信した時点で、バーストロスが発生したと判定する。なお、バーストロスが発生したか否かの判定の基準となる、連続して欠落したデータパケットの個数は、予め状態測定部155に設定されている。バーストロスが発生したか否かの判定の基準となる、連続して欠落したデータパケットの個数は、例えば4個とすることができる。
【0066】
なお、バーストロスの判定の基準は、上述した方法に限定されるものではない。例えば、単位時間当りに、複数のシーケンス番号が連続して欠落した回数が、所定の回数以上であった場合、バーストロスであると判定するようにしてもよい。
【0067】
ステップS56において、状態測定部155が、バーストロスが発生したと判定した場合、処理はステップS57に進む。
【0068】
ステップS57において、状態測定部155は、ステップS52で取得したデータパケットの受信時刻、データパケットのパケットヘッダから取得したデータパケットの送信時刻およびシーケンス番号、ステップS55で算出したパケットロス率、並びにバーストロスがあったことを示すバーストロス情報を、パケット生成部156に供給する。パケット生成部156は、状態測定部155から供給された情報、すなわち、データパケットの送信時刻、データパケットの受信時刻、シーケンス番号、パケットロス率、並びにバーストロスがあったことを示すバーストロス情報を含む応答パケットを生成し、この応答パケットをパケット送信部157に供給する。その後、処理はステップS59に進む。
【0069】
ステップS56において、状態測定部155が、バーストロスが発生していないと判定した場合、処理はステップS58に進む。
【0070】
ステップS58において、状態測定部155は、ステップS52で取得したデータパケットの受信時刻、データパケットのパケットヘッダから取得したデータパケットの送信時刻およびシーケンス番号、並びにステップS55で算出したパケットロス率を、パケット生成部156に供給する。パケット生成部156は、状態測定部155から供給された情報、すなわち、データパケットの送信時刻、データパケットの受信時刻、シーケンス番号、およびパケットロス率を含む応答パケットを生成し、この応答パケットをパケット送信部157に供給する。その後、処理はステップS59に進む。
【0071】
ステップS59において、パケット送信部157は、パケット生成部156から供給された応答パケットを、ネットワーク10を介して、画像送信装置11に送信する。なお、パケット送信部157は、応答パケットを送信する直前に、内蔵する内部時計から現在時刻を取得し、この現在時刻を、応答パケットの送信時刻として、パケットヘッダに記録する。
【0072】
その後、処理はステップS51に戻り、ステップS51以降の処理が繰り返される。
【0073】
以上のようにして、画像受信装置12から画像送信装置11に対して、応答パケットが送信される。
【0074】
画像送信装置11は、画像受信装置12から受信した応答パケットに基づいて、データパケットの送信レートを制御する。
【0075】
ところで、本発明を適用した画像送信装置11は、RTTとパケットロス率の2つのパラメータのうち、RTTの変化に優先的に反応して、送信レートを制御するレート制御アルゴリズム、およびパケットロス率の変化に優先的に反応して、送信レートを制御するレート制御アルゴリズムの2つのアルゴリズム、並びにTFRCを、適宜、使い分けて送信レートを制御する。送信するパケット毎に算出されるRTTの変動が小さい場合、画像送信装置11は、パケットロス率の変化に対して優先的に反応するレート制御アルゴリズムを採用し、送信するパケット毎に算出されるパケットロス率の変動が小さい場合、画像送信装置11は、RTTの変化に対して優先的に反応するレート制御アルゴリズムを採用する。
【0076】
次に、RTTの変動の検出方法、およびパケットロス率の変動の検出方法について説明する。
【0077】
はじめに、RTTの変動の検出方法について説明する。画像送信装置11は、まず、応答パケットを受信した受信時刻、並びに応答パケットに含まれているデータパケットの送信時刻、データパケットの受信時刻、および応答パケットの送信時刻に基づいて、RTTの実測値を算出する(以下の説明において、RTTの実測値をRTTmと称する)。次に、画像送信装置11は、過去に実測したRTTmを考慮した現在値RTT(t)を、例えば、EWMA(Exponential Weighted Moving Average)を利用して、以下の式(以下の式を式(1)とする)により算出する。
【0078】
RTT(t)=α×RTT(t-1)+(1−α)×RTTm
【0079】
式(1)において、RTT(t-1)は、式(1)により前回算出された現在値であり、αは0乃至1の間の数である。なお、算出されるRTT(t)は、αが1に近い値をとるほど、RTTmの経時的な小さい変化に影響されない値となり、αが0に近い値をとるほど、RTTmの経時的な小さい変化を反映した値となる。
【0080】
式(1)により、RTT(t)が算出されたのち、画像送信装置11は、以下の式(以下の式を式(2)とする)により、RTT(t-1)を100%とした場合のRTT(t)の変動量A(%)を算出する。
【0081】
A=100×{RTT(t)/RTT(t-1)}−100
【0082】
式(2)により算出された変動量Aが、予め設定された所定の範囲内(例えば、±1%の間の値)であった場合、画像送信装置11は、RTTが安定している(RTTの変動が小さい)と判定し、予め設定された所定の範囲内ではなかった場合、画像送信装置11は、RTTは安定していない(RTTの変動が大きい)と判定する。
【0083】
次に、パケットロス率の変動の検出方法について説明する。画像送信装置11は、まず、受信した応答パケットに含まれているパケットロス率(以下の説明において、応答パケットに含まれているパケットロス率をLOSSmと称する)を読み出す。なお、応答パケットにパケットロス率が含まれていなかった場合、画像送信装置11は、パケットロス率が0であると判定する。次に、画像送信装置11は、過去に実測したLOSSmを考慮した現在値LOSS(t)を、例えば、EWMAを利用して、以下の式(以下の式を式(3)とする)により算出する。
【0084】
LOSS(t)=β×LOSS(t-1)+(1−β)×LOSSm
【0085】
式(3)において、LOSS(t-1)は、式(3)により前回算出された現在値であり、βは0乃至1の間の数である。なお、算出されるLOSS(t)は、βが1に近い値をとるほど、LOSSmの経時的な小さい変化に影響されない値となり、βが0に近い値をとるほど、LOSSmの経時的な小さい変化を反映した値となる。
【0086】
式(3)により、LOSS(t)が算出されたのち、画像送信装置11は、以下の式(以下の式を式(4)とする)により、LOSS(t-1)を100%とした場合のLOSS(t)の変動量B(%)を算出する。
【0087】
B=100×{LOSS(t)/LOSS(t-1)}−100
【0088】
式(3)により算出された変動量B(%)が、予め設定された所定の範囲内(例えば、±1%の間の値)であった場合、画像送信装置11は、パケットロス率が安定している(パケットロス率の変動が小さい)と判定し、予め設定された所定の範囲内ではなかった場合、画像送信装置11は、パケットロス率は安定していない(パケットロス率の変動が大きい)と判定する。
【0089】
画像送信装置11は、以上のようにして検出されたRTTおよびパケットロス率の変動に基づいて、RTTの変化に優先的に反応して、送信レートを制御するレート制御アルゴリズム、およびパケットロス率の変化に優先的に反応して、送信レートを制御するレート制御アルゴリズムの2つのアルゴリズムを、適宜、使い分けて送信レートを制御する。なお、RTTおよびパケットロス率のいずれも、安定していない場合、画像送信装置11は、TFRCを利用して、送信レートを制御する。
【0090】
次に、図9乃至図11のフローチャートを参照して、画像送信装置11のレート制御処理、すなわち、データパケットの送信レートの制御について説明する。
【0091】
ステップS101において、RTT算出部124は、上記した式(1)のαを、予め指定された所定の値に設定する。また、ロス率検出部125は、式(3)のβを、予め指定された所定の値に設定する。
【0092】
ステップS102において、制御部102は、パケット受信部107を監視し、パケット受信部107が応答パケットを2回、受信するまで待機する。そして、パケット受信部107が応答パケットを2回受信したとき、処理はステップS103に進む。なお、パケット受信部107は、受信した応答パケットの受信時刻を、内蔵する内部時計から取得しておく。
【0093】
ステップS103において、RTT算出部124は、受信した2個の応答パケットそれぞれに対して、実測値RTTmを算出する。
【0094】
なお、RTTmは、画像送信装置11から送信されたデータパケットが画像受信装置12により受信されるまでの時間(この時間をT1とする)と、画像受信装置12から送信された応答パケットが画像送信装置11により受信されるまでの時間(この時間をT2とする)の和(T1+T2)として求められる。時間T1は、データパケットの受信時刻からデータパケットの送信時刻を引き算して求められる。また、時間T2は、応答パケットの受信時刻から応答パケットの送信時刻を引き算して求められる。
【0095】
その後、RTT算出部124は、式(1)のRTTmに、2回目に受信された応答パケットから算出した実測値RTTmを代入して、RTT(t)を算出する。なお、式(1)により、初めてRTT(t)を算出する場合、式(1)の前回値RTT(t-1)は、まだ算出されていないので、代わりに、1回目に受信された応答パケットのRTTmが代入される。
【0096】
次に、RTT算出部124は、式(2)により、RTTの変動量Aを算出する。なお、式(2)により、初めて変動量Aを算出する場合、式(2)の前回値RTT(t-1)は、まだ算出されていないので、代わりに、1回目に受信された応答パケットのRTTmが代入される。
【0097】
以上のようにして、ステップS103で、RTTの変動量Aが算出された後、RTT算出部124は、算出した変動量Aを安定度判定部121に供給する。その後、処理はステップS104に進む。
【0098】
安定度判定部121は、変動量Aが安定しているか否かを判定するための基準(例えば、±1%)を予め有しており、ステップS104において、RTT算出部124から供給された変動量Aが、この範囲内であるか否か(例えば、変動量Aが、±1%の間にあるか否か)を判定することにより、RTTが安定しているか否かを判定する。そして、安定度判定部121は、RTT算出部124から供給された変動量Aが、予め設定された範囲内ではなかった場合、RTTは安定していないと判定し、処理は、ステップS105に進む。
【0099】
ステップS105において、ロス率算出部125は、受信した2個の応答パケットそれぞれから、パケットロス率を読み出す。なお、応答パケットにパケットロス率が記録されていなかった場合、ロス率算出部123は、パケットロス率は0であると判定する。
【0100】
その後、ロス率算出部125は、式(3)のLOSSmに、2回目に受信された応答パケットから読み出した実測値LOSSmを代入して、LOSS(t)を算出する。なお、式(3)により、初めてLOSS(t)を算出する場合、式(3)の前回値LOSS(t-1)は、まだ算出されていないので、代わりに、1回目に受信された応答パケットのLOSSmが代入される。
【0101】
次に、ロス率算出部125は、式(4)により、パケットロス率の変動量Bを算出する。なお、式(4)により、初めて変動量Bを算出する場合、式(4)の前回値LOSS(t-1)は、まだ算出されていないので、代わりに、1回目に受信された応答パケットから読み出されたLOSSmが代入される。
【0102】
以上のようにして、ステップS105で、パケットロス率の変動量Bが算出された後、ロス率算出部125は、算出した変動量Bを安定度判定部121に供給する。その後、処理はステップS106に進む。
【0103】
安定度判定部121は、変動量Bが安定しているか否かを判定するための基準(例えば、±1%)を予め有しており、ロス率算出部125から供給された変動量Bが、この範囲内であるか否か(例えば、変動量Bが、±1%の間にあるか否か)を判定することにより、パケットロス率が安定しているか否かを判定する。そして、ロス率算出部125から供給された変動量Bが、予め設定された範囲内ではなかった場合、安定度判定部121は、パケットロス率は安定していないと判定し、処理は、ステップS107に進む。
【0104】
ステップS107において、送信レート設定部123は、TFRCのレート制御アルゴリズムにより送信レートを算出する。すなわち、送信レート設定部123は、以下の式(以下の式を式(5)とする)により、データパケットを送信する理想的な送信レートを算出する。
【0105】
【数1】

Figure 2004193991
【0106】
式(5)において、Tは理想的な送信レート、sはパケットサイズ、pはパケットロス率、tはTCP(Transmission Control Protocol)のタイムアウト時間(通常は、RTTの4倍)である。
【0107】
レート制御部108は、送信レート設定部123により算出された送信レートに従って、パケット生成部105およびパケット送信部106を制御する。
【0108】
ステップS108において、制御部102は、パケット受信部107を監視し、パケット受信部107が応答パケットを受信するまで待機する。そして、パケット受信部107が応答パケットを受信したとき、処理はステップS103に戻り、ステップS103以降の処理が繰り返し実行される。
【0109】
ステップS104において、安定度判定部121が、RTT算出部124から供給された変動量Aが、予め設定された範囲内であったと判定した場合、すなわちRTTは安定していると判定した場合、処理は、図10のステップS109に進む。
【0110】
図10のステップS109において、制御部102は、パケット受信部107を監視し、パケット受信部107が応答パケットを受信するまで待機する。そして、パケット受信部107が応答パケットを受信したとき、処理はステップS110に進む。
【0111】
ステップS110において、RTT算出部124は、RTTの変動量Aを算出する。なお、ステップS110の処理は、図9のステップS103の処理と同様であるため、詳細な説明は省略する。
【0112】
ステップS111において、安定度判定部121は、RTT算出部124から供給された変動量Aが、予め設定された所定の範囲内であるか否か(例えば、変動量Aが、±1%の間にあるか否か)を判定することにより、RTTが安定しているか否かを判定する。そして、安定度判定部121が、RTTは安定していないと判定した場合、処理は、図9のステップS105に戻り、上述したステップS105以降の処理が繰り返し実行される。
【0113】
図10のステップS111において、RTT算出部124から供給された変動量Aが、予め設定された範囲内であった場合、安定度判定部121は、RTTは安定していると判定し、処理はステップS112に進む。
【0114】
ステップS112において、送信レート設定部123は、ステップS109で受信したと判定された応答パケットに、パケットロス率が含まれているか否かを判定することにより、パケットロスが発生したか否かを判定し、ステップS109で受信したと判定された応答パケットに、パケットロス率が含まれていない場合、パケットロスは発生していないと判定し、処理はステップS113に進む。
【0115】
ステップS113において、送信レート設定部123は、応答パケットの受信時刻から、RTTと同一時間分だけ以前の時刻までに、パケットロスが発生したか否かを判定し、パケットロスが発生していなかった場合、処理はステップS114に進む。すなわち、送信レート設定部123は、ステップS109で受信された応答パケット(この応答パケットを応答パケットAとする)から算出されたRTTに基づいて、応答パケットAが画像送信装置11に受信された時刻(この時刻を時刻mとする)と、この時刻からRTTと同一時間分だけ以前に遡った時刻(この時刻を時刻nとする)を取得し、時刻nから時刻mまでの間に、パケットロス率を含む応答パケットが受信されたか否かを判定することにより、時刻nから時刻mまでの間に、パケットロスが発生したか否かを判定する。そして、時刻nから時刻mまでの間に、パケットロスが発生していないと判定した場合、処理はステップS114に進む。
【0116】
ステップS114において、送信レート設定部123は、送信レートを上げて、送信レートの設定を更新する。例えば、送信レート設定部123は、AIMD(Additive Increase Multiple Decrease)アルゴリズムに従って、1RTT間に送信するパケット数を1個増やすことにより、送信レートを上げる。ステップS114の処理の後、処理はステップS109に戻り、ステップS109以降の処理が繰り返し実行される。
【0117】
ステップS113において、送信レート設定部123が、応答パケットの受信時刻から、RTTと同一時間分だけ以前の時刻までに、パケットロスが発生したと判定した場合、処理はステップS109に戻り、ステップS109以降の処理が繰り返し実行される。
【0118】
ステップS112に戻って、ステップS109で受信したと判定された応答パケットに、パケットロス率が含まれていない場合、ステップS112において、送信レート設定部123は、パケットロスが発生したと判定し、処理はステップS115に進む。
【0119】
ステップS115において、ステップS109で受信したと判定された応答パケットに、バーストロスがあったことを示すバーストロス情報が含まれているか否かを判定することにより、パケットロスがバーストロスであるか否かを判定し、ステップS109で受信したと判定された応答パケットに、バーストロスがあったことを示すバーストロス情報が含まれていない場合、パケットロスはバーストロスではないと判定し、処理はステップS116に進む。
【0120】
ステップS116において、送信レート設定部123は、画質を落として送信レートを下げる。すなわち、例えば、パケット化する画像データが、JPEG2000のような階層符号化データである場合、1フレームの画像データは、複数のレイヤに分割されている。そして、下位のレイヤから順番に、多くのレイヤのデータがあるほど、より高画質の画像を再生させることができる。反対に、下位のレイヤのデータしかない場合、画質は低下するが、画像自体は再生することができる。そこで、パケット化する画像データが、JPEG2000のような階層符号化データである場合、送信レート設定部123は、パケット生成部105に指令して、パケット化するレイヤを減らすことにより、送信する画像データの画質を低下させる。
【0121】
ステップS116の処理の後、処理はステップS109に戻り、ステップS109以降の処理が繰り返し実行される。
【0122】
ステップS115に戻り、ステップS109で受信したと判定された応答パケットに、バーストロスがあったことを示すバーストロス情報が含まれていた場合、パケットロスはバーストロスであると判定し、処理はステップS117に進む。
【0123】
ステップS117において、送信レート設定部117は、フレームレートを落として、送信レートを下げる。すなわち、送信レート設定部117は、パケット生成部105により画像データをパケット化する際に、何個かおきに、フレームをパケット化せずに廃棄させる。ステップS117の処理の後、処理はステップS109に戻り、ステップS109以降の処理が繰り返し実行される。
【0124】
図9のステップS106に戻り、安定度判定部121が、パケットロス率は安定していると判定した場合、処理は図11のステップS118に進む。
【0125】
図11のステップS118において、制御部102は、パケット受信部107を監視し、パケット受信部107が応答パケットを受信するまで待機する。そして、パケット受信部107が応答パケットを受信したとき、処理はステップS119に進む。
【0126】
ステップS119において、ロス率算出部125は、パケットロス率の変動量Bを算出する。なお、ステップS119の処理は、図9のステップS105の処理と同様であるため、詳細な説明は省略する。
【0127】
ステップS120において、安定度判定部121は、ロス率算出部125から供給された変動量Bが、予め設定された所定の範囲内であるか否か(例えば、変動量Bが、±1%の間にあるか否か)を判定することにより、パケットロス率が安定しているか否かを判定する。そして、安定度判定部121が、パケットロス率は安定していないと判定した場合、処理は、図9のステップS103に戻り、上述したステップS103以降の処理が繰り返し実行される。
【0128】
ステップS120において、安定度判定部121が、パケットロス率は安定していると判定した場合、処理はステップS121に進む。
【0129】
ステップS121において、レート制御部108内のRTT増減検出部122は、RTT算出部124により算出されたRTT(t)、およびRTT(t-1)を取得し、RTT(t)がRTT(t-1)より大きな値であるか否かを判定することにより、RTTが増加したか否かを判定し、RTT(t)がRTT(t-1)より大きな値ではない場合、RTTは増加していないと判定し、処理はステップS122に進む。
【0130】
ステップS122において、RTT増減検出部122は、RTT(t-1)より1回分前に算出されたRTT(t-2)をRTT算出部124から取得し、RTT(t)がRTT(t-1)より小さな値であり、かつ、RTT(t-1)がRTT(t-2)より小さな値であるか否かを判定することにより、RTT(t)、およびRTT(t-1)の両方とも減少したか否かを判定し、RTT(t)がRTT(t-1)より小さな値であり、かつ、RTT(t-1)がRTT(t-2)より小さな値である場合、処理はステップS123に進む。
【0131】
ステップS123において、送信レート設定部123は、送信レートを上げて、送信レートの設定を更新する。これにより、レート制御部108は、パケット生成部105およびパケット送信部106に指令して、送信レートを上げさせる。
【0132】
ステップS122において、RTT増減検出部122が、RTT(t)がRTT(t-1)より大きな値であるか、または、RTT(t-1)がRTT(t-2)より大きな値であるかのうち、少なくともいずれか一方が成り立つと判定した場合、処理はステップS118に戻り、ステップS118以降の処理が繰り返し実行される。
【0133】
ステップS121において、RTT増減検出部122が、RTT(t)がRTT(t-1)より大きな値であると判定した場合、すなわち、RTTは増加していると判定した場合、処理はステップS124に進む。
【0134】
ステップS124において、送信レート設定部123は、送信レートを下げて、送信レートの設定を更新する。これにより、レート制御部108は、パケット生成部105およびパケット送信部106に指令して、送信レートを下げさせる。
【0135】
その後、処理はステップS118に戻り、ステップS118以降の処理が繰り返される。
【0136】
以上のようにして、画像送信装置11は、送信レートを制御する。このようにすることにより、RTTの変動が小さい場合、パケットロス率の変化に迅速に対応して、送信レートを調整し、パケットロス率の変動が小さい場合、RTTの変化に迅速に対応して、送信レートを調整することが可能となる。
【0137】
また、パケットロスがバーストロスである場合、フレームレートを落とすことにより送信レートを低下させ、パケットロスがバーストロスではない場合、画質を落とすことにより、送信レートを低下させることにより、バーストロスの発生率を低下させることが可能となる。従って、より効率的に送信レートを制御することが可能となる。
【0138】
ところで、本発明においては、RTTおよびパケットロス率が安定しているか否かに応じて、エラー訂正のアルゴリズムを切り替えることもできる。次に、図12のフローチャートを参照して、RTTおよびパケットロス率の安定性に応じた、エラー訂正のアルゴリズムの切り替えについて説明する。
【0139】
ステップS151において、RTT算出部124は、上記した式(1)のαを、予め指定された所定の値に設定する。また、ロス率検出部125は、式(3)のβを、予め指定された所定の値に設定する。
【0140】
ステップS152において、制御部102は、パケット受信部107を監視し、パケット受信部107が応答パケットを2回、受信するまで待機する。そして、パケット受信部107が応答パケットを2回受信したとき、処理はステップS153に進む。なお、パケット受信部107は、受信した応答パケットの受信時刻を、内蔵する内部時計から取得しておく。
【0141】
ステップS153において、RTT算出部124は、受信した2個の応答パケットそれぞれに対して、実測値RTTm、RTT(t)、およびRTTの変動量Aを算出する。なお、ステップS153の処理は、図9のステップS103の処理と同様であるため、詳細な説明は省略する。
【0142】
以上のようにして、ステップS153で、RTTの変動量Aが算出された後、RTT算出部124は、算出した変動量Aを安定度判定部121に供給する。その後、処理はステップS154に進む。
【0143】
安定度判定部121は、変動量Aが安定しているか否かを判定するための基準(例えば、±1%)を予め有しており、ステップS154において、RTT算出部124から供給された変動量Aが、この範囲内であるか否か(例えば、変動量Aが、±1%の間にあるか否か)を判定することにより、RTTが安定しているか否かを判定する。そして、安定度判定部121は、RTT算出部124から供給された変動量Aが、予め設定された範囲内ではなかった場合、RTTは安定していないと判定し、処理は、ステップS155に進む。
【0144】
ステップS155において、ロス率算出部125は、LOSS(t)、およびパケットロス率の変動量Bを算出する。なお、ステップS155の処理は、図9のステップS105の処理と同様であるため、詳細な説明は省略する。ロス率算出部125は、算出した変動量Bを安定度判定部121に供給する。その後、処理はステップS156に進む。
【0145】
安定度判定部121は、変動量Bが安定しているか否かを判定するための基準(例えば、±1%)を予め有しており、ロス率算出部125から供給された変動量Bが、この範囲内であるか否か(例えば、変動量Bが、±1%の間にあるか否か)を判定することにより、パケットロス率が安定しているか否かを判定する。そして、ロス率算出部125から供給された変動量Bが、予め設定された範囲内であった場合、安定度判定部121は、パケットロス率は安定していると判定し、処理は、ステップS157に進む。
【0146】
ステップS157において、エラー訂正設定部126は、FECによるエラー訂正処理を実行するように設定する。FECによるエラー訂正処理を実行するように設定された場合、画像送信装置11は、画像データをパケット化するとともに、パケット化されたデータより誤り訂正用の冗長パケットを生成し、データパケットおよび冗長パケットを画像受信装置12に送信する。データパケットおよび冗長パケットを受信した画像受信装置12は、エラー訂正処理を行い、受信したパケットからロスしたデータパケットを復元し、受信されたデータパケットと、復元されたデータパケットに含まれている画像データを、記録媒体154に記録する。
【0147】
ステップS157の処理の後、処理はステップS161に進む。
【0148】
ステップS156に戻り、ロス率算出部125から供給された変動量Bが、予め設定された範囲内ではなかった場合、安定度判定部121は、パケットロス率は安定していないと判定し、処理はステップS158に進む。ステップS158において、エラー訂正設定部126は、通常のパリティチェックによるエラー訂正処理を実行するように設定する。
【0149】
ステップS158の処理の後、処理はステップS161に進む。
【0150】
ステップS154戻り、RTT算出部124から供給された変動量Aが、予め設定された範囲内であった場合、安定度判定部121は、RTTは安定していると判定し、処理は、ステップS159に進む。
【0151】
エラー訂正設定部126は、予め、パケットロス率の基準値θ(例えば、θ=5%)を有しており、ステップS159において、パケットロス率が、基準値θ未満であるか否かを判定し、パケットロス率が、基準値θ未満であった場合、処理はステップS158に進み、ステップS158以降の処理が繰り返される。
【0152】
ステップS159において、エラー訂正設定部126が、パケットロス率は、基準値θ未満ではない(基準値θ以上である)と判定した場合、処理はステップS160に進む。
【0153】
ステップS160において、エラー訂正設定部126は、ARQによるエラー訂正処理を実行するように設定する。ARQによるエラー訂正処理を実行するように設定された場合、画像送信装置12は、ロスしたパケットの再送要求を画像送信装置11に通知し、画像送信装置11は、再送要求があったパケットを、画像受信装置12に再送する。
【0154】
ステップS160の処理の後、処理はステップS161に進む。
【0155】
ステップS161において、制御部102は、パケット受信部107を監視し、パケット受信部107が応答パケットを受信するまで待機する。そして、パケット受信部107が応答パケットを受信したとき、処理はステップS153に戻り、ステップS153以降の処理が繰り返し実行される。
【0156】
以上のようにして、画像送信装置11は、エラー訂正設定処理を実行する。
【0157】
RTTが安定しており、かつ、パケットロスがθ未満の低い確率で定常的に発生する場合、パケットロスが発生しても、画像送信装置11は、早々したデータパケットが画像受信装置12に届く時間を容易に推測することができる。従って、このような状況では、ARQによるエラー訂正が効率的である。
【0158】
一方、パケットロスは滅多に発生しないが、低い頻度で、バーストトラフィックによりパケットロスが発生する場合、画像送信装置11と画像受信装置12間のルータなどのキューが溢れて、パケットロスが発生していると考えられる(図3参照)。この場合、RTTが安定しない。従って、この場合、FECによるエラー訂正が効率的である。
【0159】
図12に示されたエラー訂正設定処理によれば、このような状況に応じた、エラー訂正を設定することが可能となる。
【0160】
なお、本発明は、実時間ストリーミングに適用することも可能である。
【0161】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
【0162】
図13は、画像送信装置11、または画像受信装置12をソフトウェアにより実現する場合の情報処理装置の一実施の形態の構成を示している。パーソナルコンピュータ400のCPU401は、パーソナルコンピュータ400の動作の全体を制御する。また、CPU401は、バス404および入出力インターフェース405を介してユーザからキーボードやマウスなどからなる入力部406から指令が入力されると、それに対応してROM(Read Only Memory)402に格納されているプログラムを実行する。あるいはまた、CPU401は、ドライブ410に接続された磁気ディスク421、光ディスク422、光磁気ディスク423、または半導体メモリ424から読み出され、記憶部408にインストールされたプログラムを、RAM(Random Access Memory)403にロードして実行する。これにより、上述した画像送信装置11、または画像受信装置12の機能が、ソフトウェアにより実現されている。さらに、CPU401は、通信部409を制御して、外部と通信し、データの授受を実行する。また、入出力インタフェース405には、ディスプレイやスピーカなどにより構成される出力部407も接続されている。
【0163】
プログラムが記録されている記録媒体は、図13に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク421(フレキシブルディスクを含む)、光ディスク422(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク423(MD(Mini-Disc)を含む)、もしくは半導体メモリ424などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM402や、記憶部408に含まれるハードディスクなどで構成される。
【0164】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【0165】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0166】
【発明の効果】
以上のように、第1の本発明によれば、ネットワークを介して、情報を送受信することができる。また、第1の本発明によれば、より効率的に、送信レートを制御することができる。さらに、本発明によれば、ネットワークの状態に応じて、エラー訂正を行なうことができる。
【0167】
第2の本発明によれば、ネットワークを介して、情報を送信することができる。また、第2の本発明によれば、より効率的に、送信レートを制御することができる。さらに、第2の本発明によれば、ネットワークの状態に応じて、エラー訂正を行なうことができる。
【0168】
第3の本発明によれば、ネットワークを介して、情報を受信することができる。また、第3の本発明によれば、より効率的に、送信レートを制御することができる。
【図面の簡単な説明】
【図1】従来のパケット通信を説明するための図である。
【図2】送信されるパケットのタイミングの例を示す図である。
【図3】パケットロスを説明する図である。
【図4】本発明を適用した情報処理システムの構成例を示すブロック図である。
【図5】画像送信装置の構成例を示すブロック図である。
【図6】画像受信装置の構成例を示すブロック図である。
【図7】画像送信装置の画像送信処理、および画像受信装置の画像受信処理を説明するフローチャートである。
【図8】画像受信装置の確認応答処理を説明するフローチャートである。
【図9】画像送信装置のレート制御処理を説明するフローチャートである。
【図10】画像送信装置のレート制御処理を説明する、図9に続くフローチャートである。
【図11】画像送信装置のレート制御処理を説明する、図9に続くフローチャートである。
【図12】画像送信装置のエラー訂正設定処理を説明するフローチャートである。
【図13】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
10 ネットワーク, 11 画像送信装置, 12 画像受信装置, 101 操作部, 102 制御部, 103 記録媒体, 104 入力部, 105 パケット生成部, 106 パケット送信部, 107 パケット受信部, 108 レート制御部, 121 安定度判定部, 122 RTT増減検出部, 123 送信レート設定部, 124 RTT算出部, 125 ロス率算出部, 126 エラー訂正設定部, 151 操作部, 152 制御部, 153 パケット受信部, 154 記録媒体, 155 状態測定部, 156 パケット生成部, 157 パケット送信部, 401 CPU, 402 ROM, 403 RAM, 404 バス, 405 入出力インタフェース, 406 入力部, 407 出力部, 408 記憶部, 409 通信部, 410 ドライブ, 421 磁気ディスク, 422 光ディスク, 423 光磁気ディスク, 424 半導体メモリ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an information processing system, an information processing apparatus and method, a recording medium, and a program, and in particular, to an information processing system, an information processing apparatus and method, and a recording medium that can quickly adapt to changes in the state of a network. And the program.
[0002]
[Prior art]
When packets are continuously transmitted from the transmitting terminal to the receiving terminal via a network such as the Internet, the lost (not received) packets are transmitted from the receiving terminal to the transmitting terminal. An acknowledgment including the information to be specified and information such as the reception time of the packet is notified. The transmitting terminal device changes the transmission interval and packet size of the packet to be transmitted according to the acknowledgment received from the receiving terminal device, and transmits the packet at a transmission rate optimal for the state of the network bandwidth.
[0003]
A rate control algorithm that controls the transmission rate of packets according to the state of the network bandwidth is usually based on a packet loss rate (rate of lost packets among packets transmitted from a transmitting terminal) and RTT (Round Trip Time). In addition, the transmission rate is controlled by estimating the state of the band of the network.
[0004]
In many rate control algorithms such as Transmission Control Protocol (TCP), when a packet loss is detected, it is determined that the loss is due to network congestion, and the transmission rate is controlled. For example, when detecting the loss of a packet, the transmitting terminal apparatus increases the transmission interval of the packet or reduces the packet size to reduce the amount of data flowing on the network. However, when such a rate control algorithm is applied, the transmitting terminal estimates that the packet has been lost due to the notification from the receiving terminal even if the order of arrival of the packet at the receiving terminal is simply changed. Then, processing for avoiding network congestion is started. As a result, in such a rate control algorithm, even if the order of arrival of the packets at the receiving terminal device is simply changed, the transmission rate decreases, and the amount of data transmitted per unit time decreases. There was a problem that would.
[0005]
In order to solve such a problem, RFC (Request For Comments) 2581 specifies the following processing. That is, in TCP, data is managed by a data management unit called a segment in which a predetermined number of packets are grouped. The transmitting terminal device adds a serial number (this serial number is referred to as a segment number in the following description) and transmits the segment to the receiving terminal device. Each time the receiving terminal device receives this segment, it notifies the transmitting terminal device of the segment number of the segment currently being received as a serial number as an acknowledgment. When the packet is lost, the segment number notified to the transmitting terminal device is lost, so that the transmitting terminal device can detect the packet loss.
[0006]
According to the provisions of FRC2581, the transmitting terminal device does not determine that the segment has been lost because the overlap of the acknowledgment response up to two times may not be determined as the segment arrival order may have been changed. If the responses overlap, it is determined that the segment in the middle has been lost. Then, when there is an overlap of three or more acknowledgments, the transmitting terminal apparatus retransmits the segment that may have been lost without waiting for a timeout (Fast Retransmit). This makes it possible to respond more quickly to packet loss that could not be detected without waiting for the timeout period (usually four times the RTT), and to change the transmission rate by changing the order of arrival. It is possible to reduce the frequency of occurrence of the decline.
[0007]
In addition, there is a rate control algorithm that determines both a congestion state and a transmission error occurrence state to prevent both meaningless lowering of a transmission rate and loss of data (for example, see Patent Document 1). In other words, in a wireless network, transmission errors frequently occur even when the network is not congested, but since transmission errors are treated as equivalent to packet loss in the network layer, congestion occurs every time a transmission error occurs. It is determined that this has occurred, and processing for avoiding network congestion is started. In order to avoid this, the rate control algorithm described in Patent Document 1 determines whether or not the network is congested based on the RTT when detecting a transmission error, and determines that the network is congested. Only in this case, control is added to enter the congestion avoidance stage.
[0008]
Further, using two parameters of the packet loss rate and the RTT, not only the determination as to whether or not to enter the congestion avoidance stage, but also a rate control for predicting an ideal transmission rate to be transmitted from the transmitting terminal device. There is also an algorithm, TFRC (TCP-Friendly Rate Control) (for example, see Non-Patent Document 1).
[0009]
[Patent Document 1]
JP 2001-160824 A (pages 4-6)
[Non-patent document 1]
S. Floyd, M. Handley, J. Pandhye and J. Widmer, "Equation-Based Congestion Control for Unicast Applications", Proceedings of ACM SIGCOMM 2000, May2000 pp2
[0010]
[Problems to be solved by the invention]
However, the TFRC has a problem that it cannot react quickly to changes in two parameters, the packet loss rate and the RTT.
[0011]
When streaming a moving image via the Internet, one frame may be divided into a plurality of packets and transmitted from the transmitting terminal device to the receiving terminal device. This is because one frame of data is larger than an MTU (Maximum Transmission Unit), or one frame of data is separated and transmitted in a meaningful unit. The meaningful data indicates, for example, data of each frame in one frame in JPEG (Joint Photographic Experts Group) 2000 or the like.
[0012]
As described above, when one frame is divided into a plurality of packets and transmitted, since the data in one frame is transmitted at a time, the communication data amount temporarily and intensively increases. Become. Therefore, when transmitting one frame of data from the transmitting terminal device to the receiving terminal device via the Internet, there is a possibility that packet loss may be caused by the influence of the burst traffic.
[0013]
FIG. 1 shows an example. In FIG. 1, an image transmitting device 1 is a device that transmits held image data, and an image receiving device 3 is a device that receives image data transmitted by the image transmitting device 1. In FIG. 1, routers 2-1 and 2-2 are provided between the image transmitting apparatus 1 and the image receiving apparatus 3, and packets of image data transmitted from the image transmitting apparatus 1 are transmitted to the routers 2-1 and 2 respectively. -2, and is received by the image receiving device 3. That is, the router 2-1 receives a 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 receiving device 3.
[0014]
It is assumed 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 timing of transmitting a packet transmitted from the image transmission device 1. In FIG. 2, blocks marked “1”, “2”, “3”, “4”, “5”, “6”, “7”, and “8” each represent one packet. These numbers represent the sequence numbers of the packets. In FIG. 2, it is assumed that one frame of data is divided into four packets and transmitted. In FIG. 2, the horizontal axis is a time axis.
[0015]
As shown in FIG. 2, the image transmitting apparatus 1 first transmits packets of sequence numbers 1 to 4 in order. Then, 33 ms after the timing at which the packet of sequence number 1 is transmitted, the image transmission device 1 sequentially transmits the packets of sequence numbers 5 to 8. The packet transmitted from the image transmission device 1 is first received by the router 2-1. The router 2-1 stores the packet received from the image transmitting apparatus 1 in a built-in recording medium until the packet is transmitted to the router 2-2. However, when packets arrive from the image transmission device 1 to the router 2-1 in a concentrated manner at one time, the data amount of the packet to be stored may exceed the storage capacity of the router 2-1. FIG. 3 shows an example in this case.
[0016]
In FIG. 3, it is assumed that the router 2-1 can store, for example, six packets. Here, when packets are collectively received from the image transmission device 1 at a time, the packets of sequence numbers 7 and 8 which are packets exceeding the storage capacity of the router 2-1 are -1 to be discarded. As a result, the packets of sequence numbers 7 and 8 do not reach the image receiving device 3 and a packet loss occurs.
[0017]
The image receiving device 3 detects a packet loss by determining the presence or absence of a missing sequence number based on the sequence number. When detecting a packet loss, the image receiving device 3 transmits a message to the image transmitting device 1 requesting that the packet transmission rate be reduced. Conventionally, this request message includes a current transmission rate (bps; bits per second), a packet loss rate, and the like.
[0018]
The image transmitting apparatus 1 can lower the transmission rate by either 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 device 1 receives a request message including the current transmission rate (bps) from the image reception device 3, whether the image quality should 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 has as its object to promptly transmit and receive information by adapting to a change in the state of a network band.
[0020]
[Means for Solving the Problems]
In the information processing system according to the present invention, the first information processing device includes a first transmission unit that transmits a packet to the second information processing device, and a first reception device that receives an acknowledgment from the second information processing device. Means, a calculating means for calculating the RTT based on the confirmation response received by the first receiving means, and a first means for determining whether or not the fluctuation of the RTT calculated by the calculating means is equal to or less than a predetermined value. When it is determined by the determining means and the first determining means that the variation of the RTT is not less than a predetermined value, it is determined whether or not the variation of the packet loss rate of the packet is less than a predetermined value. When the variation of the RTT is determined to be equal to or less than a predetermined value by the determination means and the first determination means, the packet transmission rate is set according to the change in the packet loss rate of the packet, and the second determination means The fluctuation of the packet loss rate is less than the specified value. Setting means for setting a packet transmission rate in accordance with a change in RTT when the second information processing apparatus receives a packet from the first information processing apparatus. Means, and a second transmitting means for transmitting an acknowledgment to the first information processing device based on the packet received by the second receiving means.
[0021]
A first information processing apparatus according to the present invention includes a transmitting unit that transmits a packet to another information processing device, a receiving unit that receives an acknowledgment from the other information processing device, and a acknowledgment received by the receiving unit. Calculating means for calculating the RTT, first determining means for determining whether or not the variation of the RTT calculated by the calculating means is equal to or less than a predetermined value; and the variation of the RTT is determined by the first determining means. If it is determined that the variation of the packet loss rate of the packet is not less than the predetermined value, the second determining means for determining whether the variation of the packet loss rate is less than the predetermined value, and the variation of the RTT is determined by the first determining means. Is determined to be equal to or less than the value, the packet transmission rate is set according to the change in the packet loss rate of the packet, and the change in the packet loss rate is determined to be equal to or less than the predetermined value by the second determination means. If the RTT changes Characterized in that it comprises a setting means for setting the transmission rate of the packet.
[0022]
A generation unit for generating the packet transmitted by the transmission unit may be further provided, and the packet may include image data.
[0023]
In the setting unit, when the first determination unit determines that the variation of the RTT is equal to or less than a predetermined value, and the acknowledgment includes a notification of occurrence of a burst loss, By reducing the frame rate of the image data included in the packet generated by the means, to reduce the transmission rate, the first determination means is determined that the variation of the RTT is less than a predetermined value, And, when the notification of the occurrence of the burst loss is not included in the acknowledgment, the transmission rate is reduced by lowering the image quality of the image data included in the packet generated by the generator. Can be made.
[0024]
If the variation of the RTT is determined to be equal to or less than a predetermined value by the first determination means, and the packet loss rate is lower than a predetermined value, ARQ is performed, and the packet loss rate is determined by the second determination means. When it is determined that the variation of the packet rate is equal to or less than a predetermined value, FEC is performed. When the variation of the packet loss rate is determined by the second determination unit to be not less than the predetermined value, a parity check is performed. May be further provided.
[0025]
According to a first information processing method of the present invention, a transmitting step of transmitting a packet to another information processing apparatus, a receiving step of receiving an acknowledgment from the other information processing apparatus, and an acknowledgment received by the processing of the receiving step , A first determining step of determining whether a variation in the RTT calculated by the processing of the calculating step is equal to or less than a predetermined value, and a processing of a first determining step. When it is determined that the variation of the RTT is not less than the predetermined value, a second determination step of determining whether the variation of the packet loss rate of the packet is less than the predetermined value, and a first determination step If it is determined that the variation of the RTT is equal to or less than the predetermined value by the processing of the above, the packet transmission rate is set according to the change of the packet loss rate of the packet, and the packet is determined by the processing of the second determination step. If the fluctuation of the Taurus rate was determined to be equal to or less than a predetermined value, in accordance with changes in the RTT, characterized in that it comprises a setting step of setting a transmission rate of the packet.
[0026]
The program of the first recording medium of the present invention is a program for an information processing device, and when an acknowledgment is received from another information processing device that has transmitted a packet, an RTT is generated based on the received acknowledgment. The calculation step of calculating, the first determination step of determining whether the fluctuation of the RTT calculated by the processing of the calculation step is equal to or less than a predetermined value, and the processing of the first determination step, When it is determined that the variation is not less than the predetermined value, the second determination step of determining whether the variation of the packet loss rate of the packet is less than the predetermined value, and the variation of the RTT by the processing of the first determination step. If it is determined that is less than or equal to a predetermined value, the packet transmission rate is set according to the change in the packet loss rate of the packet, and the change in the packet loss rate is reduced to a predetermined value by the processing in the second determination step. If it is determined to be equal to or less than, according to changes in the RTT, characterized in that it comprises a setting step of setting a transmission rate of the packet.
[0027]
A first program according to the present invention is configured such that, when an acknowledgment is received from another information processing apparatus that has transmitted a packet, a computer that controls the information processing apparatus calculates an RTT based on the received acknowledgment. And a first determining step of determining whether the variation of the RTT calculated by the processing of the calculating step is equal to or less than a predetermined value. The processing of the first determining step causes the variation of the RTT to be equal to or less than a predetermined value. If it is determined that the variation of the packet loss rate of the packet is not equal to or less than a predetermined value, the change of the RTT is determined by the processing of the second determination step and the first determination step. If determined to be less than or equal to, the packet transmission rate is set according to the change in the packet loss rate of the packet. If it is determined that that, in accordance with the change of RTT, characterized in that to execute a setting step of setting the transmission rate of the packet.
[0028]
A second information processing apparatus according to the present invention includes a receiving unit that receives a packet from another information processing device, a first determining unit that determines whether a packet loss has occurred, and a first determining unit. When it is determined that a packet loss has occurred, a second determination unit that determines whether the packet loss is a burst loss, and an acknowledgment including the determination result by the second determination unit are transmitted to another information processing unit. Transmitting means for transmitting to the device.
[0029]
According to a second information processing method of the present invention, a receiving step of receiving a packet from another information processing apparatus, a first determining step of determining whether a packet loss has occurred, and a first determining step If it is determined by the processing that a packet loss has occurred, a second determination step of determining whether or not the packet loss is a burst loss, and an acknowledgment including the determination result of the processing of the second determination step, Transmitting to another information processing apparatus.
[0030]
The program of the second recording medium according to the present invention is a program for an information processing apparatus, and when a packet is received from another information processing apparatus, a first determination for determining whether a packet loss has occurred or not. When it is determined that a packet loss has occurred in the step and the first determination step, an acknowledgment including a determination result as to whether or not the packet loss is a burst loss is transmitted to another information processing apparatus. Therefore, a second determining step of determining whether the packet loss is a burst loss is included.
[0031]
A second program according to the present invention includes a first determination step of determining whether a packet loss has occurred when a packet is received from another information processing apparatus by a computer that controls the information processing apparatus; When it is determined that the packet loss has occurred by the processing of the first determination step, a packet including a determination result as to whether the packet loss is a burst loss is transmitted to another information processing apparatus. And a second determination step of determining whether the loss is a burst loss.
[0032]
In the information processing system of the present invention, in the first information processing device, a packet is transmitted to the second information processing device, an acknowledgment is received from the second information processing device, and based on the received acknowledgment. RTT is calculated, and it is determined whether the variation of the calculated RTT is equal to or less than a predetermined value.If it is determined that the variation of RTT is not less than the predetermined value, the variation of the packet loss rate of the packet is determined. It is determined whether or not the value is equal to or less than a predetermined value, and when it is determined that the variation in the RTT is equal to or less than the predetermined value, the packet transmission rate is set according to the change in the packet loss rate of the packet, and the packet loss rate is set. If it is determined that the fluctuation is equal to or less than the predetermined value, the packet transmission rate is set according to the change in RTT. In the second information processing device, a packet is received from the first information processing device, and an acknowledgment is transmitted to the first information processing device based on the received packet.
[0033]
In the first information processing apparatus and method, the recording medium, and the program according to the present invention, a packet is transmitted to another information processing apparatus, an acknowledgment is received from the other information processing apparatus, and based on the received acknowledgment. RTT is calculated, and it is determined whether the variation of the calculated RTT is equal to or less than a predetermined value.If it is determined that the variation of RTT is not less than the predetermined value, the variation of the packet loss rate of the packet is determined. Is determined to be equal to or less than a predetermined value, and when it is determined that the variation in RTT is equal to or less than the predetermined value, the packet transmission rate is set according to the change in the packet loss rate of the packet, and the packet loss rate is set. Is determined to be equal to or less than a predetermined value, the packet transmission rate is set according to the change in RTT.
[0034]
In the second information processing apparatus and method, the recording medium, and the program of the present invention, a packet is received from another information processing apparatus, and it is determined whether or not a packet loss has occurred. If it is determined, it is determined whether the packet loss is a burst loss, and an acknowledgment including the determination result is transmitted to another information processing device.
[0035]
The present invention can be applied to electronic devices connected to a network.
[0036]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 4 is a diagram showing the configuration of an embodiment of an information processing system to which the present invention has been applied.
[0037]
In FIG. 4, an image transmitting device 11 and an image receiving device 12 are connected via a network 10 including the Internet. The image transmitting apparatus 11 is 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 transmits the generated data packet to the image receiving device 12 via the network 10 in real time. In addition, the image transmitting apparatus 11 transmits an acknowledgment packet including information such as the transmission time and the packet loss rate at which the image transmitting apparatus 11 transmitted the data packet (in the following description, the image transmitting apparatus 11 transmits the data packet). The acknowledgment packet transmitted to the image transmitting apparatus 11 is referred to as a response packet), and the transmission rate of the data packet is controlled based on the information.
[0038]
The image receiving device 12 acquires image data from the data packet received from the image transmitting device 11 and records the image data on a predetermined recording medium, and also transmits information such as a transmission time of the data packet by the image transmitting device 11 and a packet loss rate. 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 example of the internal configuration of the image transmission device 11. In FIG. 5, an operation unit 101 receives an input of an operation from a 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 device 11 based on a preset program and operation information from the operation unit 101.
[0040]
The recording medium 103 stores image data encoded by an encoding method such as JPEG2000, for example, and supplies the image data to the 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 of the rate control unit 108, generates a data packet, and adds the generated data packet to TCP / IP ( A packet header of Transmission Control Protocol / Internet Protocol (UDP) or User Datagram Protocol / Internet Protocol (UDP / IP) is added, and the packet header is supplied to the packet transmitting unit 106. Note that 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. When transmitting the data packet, the packet transmitting 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 the response packet from the image receiving device 12 and supplies this 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 optimal value. The stability determination unit 121 in the rate control unit 108 determines whether the RTT calculated by the RTT variation 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 an 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, so that the data transmitted from the image transmission device 11 is set. Set the packet transmission rate. The RTT calculating unit 124 calculates the instantaneous value of the RTT based on the received response packet, and calculates the current value of the RTT in consideration of the history of the RTT. The loss rate calculation unit 125 calculates the current value of the packet loss rate in consideration of the history, based on the packet loss rate included in the received response packet. The error correction setting unit 126 sets any one of ARQ (Automatic Repeat reQuest), FEC (Forward Error Correction), and parity check based on the determination result of the stability determination unit 121.
[0045]
Next, FIG. 6 illustrates an example of an internal configuration of the image receiving device 12. 6, an operation unit 151 receives an input of an operation from a 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 receiving device 12 based on a preset program or an operation signal from the operation unit 151.
[0046]
The packet receiving unit 153 receives the data packet transmitted from the image transmitting device 11 via the network 10, records the image data included in the data packet on the recording medium 154, and adds the image data to the data packet. It reads the packet header contained in the packet and supplies the information contained in the packet header, that is, information on the sequence number and the transmission time of the data packet, to the state measuring unit 155.
[0047]
The recording medium 154 includes, for example, a hard disk, and records the image data supplied from the packet receiving unit 153, and reads the recorded image data by an external device (not shown).
[0048]
The state measuring unit 155 receives information on the sequence number and the transmission time of the data packet from the packet receiving unit 153. Then, the state measuring unit 155 determines the presence or absence of 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. Furthermore, the state measuring unit 155 determines whether or not the packet loss has been caused by burst traffic. In the following description, a packet loss caused by burst traffic is referred to as a burst loss.
[0049]
Further, the state measurement unit 155 acquires the reception time at which the data packet was received. Then, the state measurement unit 155 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 sends, from the state measurement unit 155, 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 the presence or absence of burst loss. When the indicated burst loss information 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 the response packet, the packet transmission unit 157 records the current time as the transmission time of the response packet in the packet header of the response packet.
[0052]
Next, an image transmission process of the image transmission device 11 and an image reception process of the image reception device will be described with reference to a flowchart of FIG.
[0053]
In step S1 of FIG. 7, the packet generation unit 105 of the image transmission device 11 generates a data packet by packetizing the image data supplied from the recording medium 103 or the input unit 104 under the control of the rate control unit 108. Then, the generated packet is supplied to the packet transmitting unit 106. In step S2, the packet transmitting unit 106 transmits the data packet generated in step S1 by the packet generating unit 105 to the image receiving 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 receiving unit 153 of the image receiving device 12 receives the data packet transmitted by the image transmitting device 11 in step S2. In step S12, the packet receiving unit 153 of the image receiving device 12 reads out the image data from the data packet received in step S11, and records the 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 transmitting device 11 to the image receiving device 12 in real time, and is 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 the 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 a rate control process in flowcharts shown in FIGS. 9 to 11 described later. In step S2, the packet transmission unit 106 Transmits a data packet so that the transmission rate becomes the transmission rate set by the rate control processing in the flowcharts of FIGS.
[0057]
In the present invention, a response packet is transmitted from the image receiving device 12 to the image transmitting device 11, and the transmission rate of the data packet is controlled based on the response packet.
[0058]
Next, the acknowledgment processing of the image receiving apparatus 12, that is, the processing 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 receiving apparatus 12 monitors the packet receiving unit 153 and waits until the packet receiving unit 153 receives a data packet. When the packet receiving 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 a built-in internal clock. In step S53, the state measuring unit 155 acquires the transmission time and the sequence number of the data packet, which are the information added as the packet header, from the packet receiving unit 153, and a packet loss occurs based on the sequence number. It is determined whether or not it has been performed.
[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 serial number with the sequence number of the previously received data packet. For example, if the sequence number of the previously received data packet is “10” and the sequence number of the data packet received this time is “11”, since the sequence number is “10” and “11”, the state measurement unit 155 determines that there is no data packet loss. Further, for example, if the sequence number of the previously received data packet is “10” and the sequence number of the currently received data packet is “12”, “10” and “12” are not consecutive, The measurement unit 155 determines that the data packet has been lost.
[0061]
If the state measuring 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 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 to the packet generation unit 156. 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 measuring unit 155 determines in step S53 that a packet loss has occurred, the process proceeds to step S55.
[0064]
In step S55, the state measuring 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 measuring unit 155 determines whether the generated packet loss is a burst loss. That is, when a burst loss occurs, a plurality of sequence numbers are often continuously missing. Therefore, when a plurality of sequence numbers of the received data packet are continuously lost, the state measuring unit 155 determines that a burst loss has occurred. 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 measuring unit 155 determines that a burst loss has occurred when the data packet of the sequence number 9 is received. Note that the number of continuously missing data packets, which is a reference for determining whether or not a burst loss has occurred, is set in the state measurement unit 155 in advance. The number of continuously missing data packets serving as a reference for determining whether or not a burst loss has occurred can be, for example, four.
[0066]
The criterion for determining the burst loss is not limited to the method described above. For example, if the number of consecutive missing sequence numbers per unit time is equal to or greater than a predetermined number, it may be determined that a burst loss has occurred.
[0067]
If the state measurement unit 155 determines that a burst loss has occurred in step S56, the process proceeds to step S57.
[0068]
In step S57, the state measuring unit 155 determines the reception time of the data packet obtained in step S52, the transmission time and sequence number of the data packet obtained from the packet header of the data packet, the packet loss rate calculated in step S55, and the burst loss. Is supplied to the packet generation unit 156. The packet generation unit 156 transmits 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, the packet loss rate, and the burst loss information indicating that there is 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]
When the state measuring unit 155 determines that the burst loss has not occurred in Step S56, the process proceeds to Step S58.
[0070]
In step S58, the state measuring unit 155 determines the reception time of the data packet 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. This is supplied to the generation unit 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. This is supplied to the transmission unit 157. Thereafter, the process proceeds to step S59.
[0071]
In step S59, the packet transmitting unit 157 transmits the response packet supplied from the packet generating unit 156 to the image transmitting device 11 via the network 10. Immediately before transmitting the response packet, the packet transmitting unit 157 acquires the current time from the internal clock contained therein, and records the current time in the packet header as the transmission time of the response packet.
[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 receiving device 12 to the image transmitting device 11.
[0074]
The image transmitting device 11 controls the data packet transmission rate based on the response packet received from the image receiving device 12.
[0075]
By the way, the image transmitting apparatus 11 to which the present invention is applied includes a rate control algorithm for controlling a transmission rate by preferentially reacting to a change in RTT among two parameters of RTT and a packet loss rate, and a packet loss rate of the packet loss rate. The transmission rate is controlled by appropriately using two algorithms of a rate control algorithm for controlling the transmission rate in response to the change and the TFRC. When the variation of the RTT calculated for each packet to be transmitted is small, the image transmitting apparatus 11 adopts 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 change in the loss rate is small, the image transmission device 11 employs a rate control algorithm that preferentially responds to a change in RTT.
[0076]
Next, a method for detecting a change in the RTT and a method for detecting a change in the packet loss rate will be described.
[0077]
First, a method of detecting a variation in RTT will be described. The image transmitting apparatus 11 first calculates the measured RTT based on the reception time at which the response packet was 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 calculates the current value RTT (t) in consideration of the RTTm actually measured in the past using the EWMA (Exponential Weighted Moving Average), for example, using the following equation (the following equation is replaced by the equation (1) )).
[0078]
RTT (t) = α × RTT (t−1) + (1−α) × RTTm
[0079]
In equation (1), RTT (t-1) is the current value calculated last time by equation (1), and α is a number between 0 and 1. Note that the calculated RTT (t) is a value that is not affected by a small change over time of RTTm as α takes a value close to 1, and the value of RTTm decreases over time as α takes a value close to 0. The value reflects the change.
[0080]
After the RTT (t) is calculated by the equation (1), the image transmitting apparatus 11 sets the RTT (t-1) to 100% by the following equation (the following equation is referred to as equation (2)). The variation A (%) of RTT (t) in the case is calculated.
[0081]
A = 100 × {RTT (t) / RTT (t-1)} − 100
[0082]
When the fluctuation amount A calculated by the equation (2) is within a predetermined range (for example, a value between ± 1%), the RTT of the image transmitting apparatus 11 is stable ( If it is determined that the variation of the RTT is small, and it is not within the predetermined range set in advance, the image transmitting apparatus 11 determines that the RTT is not stable (the variation of the RTT is large).
[0083]
Next, a method of detecting a change in the packet loss rate will be described. First, the image transmission device 11 reads out a packet loss rate included in the received response packet (hereinafter, the packet loss rate included in the response packet is referred to as LOSSm). If the response packet does not include the packet loss rate, the image transmission device 11 determines that the packet loss rate is 0. Next, the image transmitting apparatus 11 calculates the current value LOSS (t) in consideration of the LOSSm actually measured in the past, using, for example, EWMA according to the following equation (the following equation is defined as equation (3)). I do.
[0084]
LOSS (t) = β × LOSS (t-1) + (1−β) × LOSSm
[0085]
In Expression (3), LOSS (t-1) is the current value calculated last time by Expression (3), and β is a number between 0 and 1. Note that the calculated LOSS (t) becomes a value that is not affected by a small change in LOSSm over time as β takes a value close to 1, and a value of LOSSm decreases over time as β takes a value close to 0. The value reflects the change.
[0086]
After the LOSS (t) is calculated by Expression (3), the image transmitting apparatus 11 sets LOSS (t-1) to 100% by the following expression (the following expression is referred to as Expression (4)). The variation B (%) of LOSS (t) in the case is calculated.
[0087]
B = 100 × {LOSS (t) / LOSS (t-1)} − 100
[0088]
When the fluctuation amount B (%) calculated by Expression (3) is within a predetermined range (for example, a value between ± 1%), the image transmitting apparatus 11 sets the packet loss rate to If it is determined that the packet loss rate is stable (the fluctuation of the packet loss rate is small) and is not within the predetermined range, the image transmitting apparatus 11 determines that the packet loss rate is not stable (the fluctuation of the packet loss rate). Is larger).
[0089]
The image transmitting apparatus 11 performs a rate control algorithm that controls a transmission rate by preferentially reacting to a change in the RTT based on the fluctuations of 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 a rate control algorithm for controlling the transmission rate in response to a change preferentially. When neither the RTT nor the packet loss rate is stable, the image transmitting apparatus 11 controls the transmission rate using TFRC.
[0090]
Next, a rate control process of the image transmitting apparatus 11, that is, control of a data packet transmission rate will be described with reference to flowcharts of FIGS.
[0091]
In step S101, the RTT calculating unit 124 sets α in the above equation (1) to a predetermined value specified in advance. Further, 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 a response packet twice. Then, when the packet receiving unit 107 receives the response packet twice, the process proceeds to step S103. Note that the packet receiving unit 107 acquires the reception time of the received response packet from a built-in internal clock.
[0093]
In step S103, the RTT calculation unit 124 calculates an actual measurement value RTTm for each of the two received response packets.
[0094]
Note that RTTm is the time required for the data packet transmitted from the image transmitting device 11 to be received by the image receiving device 12 (this time is referred to as T1), and the response packet transmitted from the image receiving device 12 It is obtained as the sum (T1 + T2) of the time until this is received by the device 11 (this time is defined as 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 calculating unit 124 calculates the RTT (t) by substituting the actually measured value RTTm calculated from the response packet received for the second time into the RTTm of the equation (1). When RTT (t) is calculated for the first time according to equation (1), since the previous value RTT (t-1) in equation (1) has not been calculated yet, the response received at the first time is used instead. RTTm of the packet is substituted.
[0096]
Next, the RTT calculating unit 124 calculates the variation A of the RTT by using the equation (2). When the variation A is calculated for the first time by the equation (2), the previous value RTT (t-1) of the equation (2) has not been calculated yet. RTTm is substituted.
[0097]
After the variation A of the RTT is calculated in step S103 as described above, the RTT calculating unit 124 supplies the calculated variation A to the stability determining unit 121. Thereafter, the process proceeds to step S104.
[0098]
The stability determining unit 121 has in advance a reference (for example, ± 1%) for determining whether or not the fluctuation amount A is stable, and in step S104, the fluctuation supplied from the RTT calculating unit 124. By determining whether or not the amount A is within this range (for example, whether or not the fluctuation amount A is within ± 1%), it is determined whether or not the RTT is stable. If the fluctuation amount A supplied from the RTT calculating unit 124 is not within the preset range, the stability determining 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 a packet loss rate from each of the two received response packets. If 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]
After that, the loss rate calculation unit 125 calculates LOSS (t) by substituting the actually measured value LOSSm read from the response packet received for the second time into LOSSm of Expression (3). When calculating LOSS (t) for the first time according to equation (3), since the previous value LOSS (t-1) in equation (3) has not been calculated yet, the response received at the first time is used instead. LOSSm of the packet is substituted.
[0101]
Next, the loss rate calculation unit 125 calculates the fluctuation amount B of the packet loss rate according to equation (4). When the variation B is calculated for the first time by the equation (4), the previous value LOSS (t-1) of the equation (4) has not been calculated yet. The LOSSm read from is substituted.
[0102]
As described above, after the variation B of the packet loss rate is calculated in step S105, the loss rate calculation unit 125 supplies the calculated variation 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 By determining whether the packet loss rate is within this range (for example, whether the variation B is within ± 1%), it is determined whether the packet loss rate is stable. 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 Proceed to S107.
[0104]
In step S107, the transmission rate setting unit 123 calculates the transmission rate using the 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 referred to as equation (5)).
[0105]
(Equation 1)
Figure 2004193991
[0106]
In equation (5), T is an ideal transmission rate, s is a packet size, p is a packet loss rate, and t is a timeout period of TCP (Transmission Control Protocol) (generally, four times RTT).
[0107]
Rate control section 108 controls packet generation section 105 and packet transmission section 106 according to the transmission rate calculated by transmission rate setting section 123.
[0108]
In step S108, 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 returns to step S103, and the processes after step S103 are repeatedly executed.
[0109]
In step S104, when the stability determining unit 121 determines that the fluctuation amount A supplied from the RTT calculating unit 124 is within a preset range, that is, when it determines that the RTT is stable, Proceeds to step S109 in FIG.
[0110]
In step S109 in 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 packet receiving section 107 receives the response packet, the process proceeds to step S110.
[0111]
In step S110, the RTT calculator 124 calculates the variation 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 the variation A supplied from the RTT calculation unit 124 is within a predetermined range set in advance (for example, if the variation A is within ± 1%). To determine if the RTT is stable. Then, when the stability determining unit 121 determines that the RTT is not stable, the process returns to step S105 in FIG. 9 and the above-described process from step S105 is repeatedly executed.
[0113]
In step S111 of FIG. 10, when the fluctuation amount A supplied from the RTT calculating unit 124 is within a preset range, the stability determining unit 121 determines that the RTT is stable, and Proceed to step S112.
[0114]
In step S112, the transmission rate setting unit 123 determines whether a packet loss has occurred by determining whether the response packet determined to be received in step S109 includes a packet loss rate. However, 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. In this case, the process proceeds to step S114. That is, based on the RTT calculated from the response packet received in step S109 (this response packet is referred to as response packet A), the transmission rate setting unit 123 determines the time at which the response packet A was received by the image transmitting apparatus 11. (This time is assumed to be time m), and a time earlier than this time by the same time as RTT (this time is assumed to be time n) is acquired, and packet loss is performed between time n and time m. By determining whether a response packet including the rate has been received, it is determined whether 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 setting of the transmission rate. For example, the transmission rate setting unit 123 increases the transmission rate by increasing the number of packets transmitted during one RTT by one 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, if the transmission rate setting unit 123 determines that a packet loss has occurred from the time at which the response packet was received to a time earlier by the same time as RTT, the process returns to step S109, Is repeatedly executed.
[0118]
Returning to step S112, if the response packet determined to be received in step S109 does not include the packet loss rate, in step S112 the transmission rate setting unit 123 determines that a packet loss has occurred, Proceeds to step S115.
[0119]
At step S115, it is determined whether or not the response packet determined to have been received at step S109 includes burst loss information indicating that a burst loss has occurred, thereby determining whether the packet loss is a burst loss. If the response packet determined to have been received in step S109 does not include burst loss information indicating that a burst loss has occurred, it is determined that the packet loss is not a burst loss, and the process proceeds to step S109. Proceed to S116.
[0120]
In step S116, the transmission rate setting unit 123 lowers the transmission rate by lowering the image quality. That is, for example, when the 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, the higher the number of data layers, the higher the quality of an image that can be reproduced. Conversely, if there is only lower layer data, the image quality can be reduced, but the image itself can be reproduced. Therefore, when the image data to be packetized is hierarchically encoded data such as JPEG2000, 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. Lower the image quality.
[0121]
After the process in step S116, the process returns to step S109, and the processes in and after step S109 are repeatedly performed.
[0122]
Returning to step S115, if the response packet determined to have been received in step S109 includes burst loss information indicating that a burst loss has occurred, the packet loss is determined to be a burst loss, and the process proceeds to step S115. Proceed to S117.
[0123]
In step S117, the transmission rate setting unit 117 lowers the frame rate to lower the transmission rate. That is, when the packet generation unit 105 packetizes the image data, the transmission rate setting unit 117 discards the frames at intervals of the image data without packetizing. 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 in FIG. 9, when the stability determining unit 121 determines that the packet loss rate is stable, the process proceeds to step S118 in FIG.
[0125]
In step S118 in FIG. 11, 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 processing proceeds to step S119.
[0126]
In step S119, the loss rate calculation unit 125 calculates the variation B of the packet loss rate. Note that the process in step S119 is the same as the process in step S105 in FIG. 9, and thus a detailed description is omitted.
[0127]
In step S120, the stability determination unit 121 determines whether the fluctuation amount B supplied from the loss rate calculation unit 125 is within a predetermined range set in advance (for example, the fluctuation amount B is ± 1%. To determine whether the packet loss rate is stable. Then, when the stability determining 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]
If the stability determining unit 121 determines that the packet loss rate is stable in step S120, the process proceeds to step S121.
[0129]
In step S121, the RTT increase / decrease detection unit 122 in the rate control unit 108 acquires the RTT (t) and the RTT (t-1) calculated by the RTT calculation unit 124, and the RTT (t) changes to RTT (t− 1) By determining whether or not RTT is larger, it is determined whether or not RTT has increased.If RTT (t) is not larger than RTT (t-1), RTT has increased. If not, the process proceeds to step S122.
[0130]
In step S122, the RTT increase / decrease detection unit 122 acquires the RTT (t-2) calculated one time before the RTT (t-1) from the RTT calculation unit 124, and sets the RTT (t) to the RTT (t-1). ), And by determining whether RTT (t-1) is smaller than RTT (t-2), both RTT (t) and RTT (t-1) are determined. It is determined whether RTT (t) is smaller than RTT (t-1) and RTT (t-1) is smaller than RTT (t-2). Goes to step S123.
[0131]
In step S123, the transmission rate setting unit 123 increases the transmission rate and updates the setting of the transmission rate. Thereby, rate control section 108 instructs packet generation section 105 and packet transmission section 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 the conditions is satisfied, the process returns to step S118, and the processes after step S118 are repeatedly executed.
[0133]
In step S121, if the RTT increase / decrease detection unit 122 determines that RTT (t) is greater than RTT (t-1), that is, if it determines that RTT is increasing, the process proceeds to step S124. move on.
[0134]
In step S124, the transmission rate setting unit 123 lowers the transmission rate and updates the setting of 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 of the RTT is small, the transmission rate is adjusted quickly in response to the change in the packet loss rate, and when the variation in the packet loss rate is small, the change in the RTT is quickly responded. , The transmission rate can be adjusted.
[0137]
If the packet loss is a burst loss, the transmission rate is reduced by lowering the frame rate. If the packet loss is not a burst loss, the transmission rate is reduced by lowering the image quality, thereby causing a burst loss. The rate can be reduced. Therefore, it is possible to control the transmission rate more efficiently.
[0138]
Incidentally, in the present invention, the error correction algorithm can be switched according to whether the RTT and the packet loss rate are stable. Next, switching of an error correction algorithm according to the stability of the RTT and the packet loss rate will be described with reference to the flowchart of FIG.
[0139]
In step S151, the RTT calculation unit 124 sets α in the above equation (1) to a predetermined value specified in advance. Further, 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 a response packet twice. Then, when the packet receiving unit 107 receives the response packet twice, the process proceeds to step S153. Note that the packet receiving unit 107 acquires the reception time of the received response packet from a built-in internal clock.
[0141]
In step S153, the RTT calculation unit 124 calculates the measured values RTTm, RTT (t), and the variation A of the RTT for each of the two response packets received. Note that the processing in step S153 is the same as the processing in step S103 in FIG.
[0142]
As described above, after the variation A of the RTT is calculated in step S153, the RTT calculating unit 124 supplies the calculated variation A to the stability determination unit 121. Thereafter, the process proceeds to step S154.
[0143]
The stability determination unit 121 has in advance a reference (for example, ± 1%) for determining whether or not the fluctuation amount A is stable, and in step S154, the fluctuation supplied from the RTT calculation unit 124. By determining whether or not the amount A is within this range (for example, whether or not the fluctuation amount A is within ± 1%), it is determined whether or not the RTT is stable. If the fluctuation amount A supplied from the RTT calculating unit 124 is not within the preset range, the stability determining 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 variation B of the packet loss rate. Note that the processing in step S155 is the same as the processing in step S105 in FIG. 9, and a detailed description thereof will be omitted. 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 By determining whether the packet loss rate is within this range (for example, whether the variation B is within ± 1%), it is determined whether the packet loss rate is stable. When the variation 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 Proceed to S157.
[0146]
In step S157, the error correction setting unit 126 sets to execute the error correction process by FEC. When the error correction processing by the FEC is set, the image transmitting apparatus 11 packetizes the image data, generates a redundant packet for error correction from the packetized data, and generates a data packet and a 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. The data is recorded on the recording medium 154.
[0147]
After the process in step S157, the process proceeds to step S161.
[0148]
Returning to step S156, when the fluctuation amount B supplied from the loss 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 Goes to step S158. In step S158, the error correction setting unit 126 sets so as to execute an error correction process based on a normal parity check.
[0149]
After the process in step S158, the process proceeds to step S161.
[0150]
Returning to step S154, if the fluctuation amount A supplied from the RTT calculating unit 124 is within a preset range, the stability determining 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 packet loss rate reference value θ (eg, θ = 5%) in advance, and determines in step S159 whether the packet loss rate is less than the reference value θ. If the packet loss rate is less than the reference value θ, the process proceeds to step S158, and the processes from step S158 are repeated.
[0152]
In step S159, when the error correction setting unit 126 determines that the packet loss rate is not less than the reference value θ (is not less than the reference value θ), the process proceeds to step S160.
[0153]
In step S160, the error correction setting unit 126 sets to execute an error correction process using ARQ. When the setting is made to execute the error correction process based on the ARQ, the image transmitting device 12 notifies the image transmitting device 11 of a retransmission request of the lost packet, and the image transmitting device 11 The image is retransmitted to the image receiving device 12.
[0154]
After the process in 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. Then, 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 θ, even if a packet loss occurs, the image transmitting device 11 sends an early data packet to the image receiving device 12. Time can be easily estimated. 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 burst traffic at a low frequency, a queue such as a router between the image transmitting apparatus 11 and the image receiving apparatus 12 overflows and packet loss occurs. (See FIG. 3). In this case, the 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 is also applicable to real-time streaming.
[0161]
The series of processes described above can be executed by hardware, but can also be executed by software. When a series of processing is executed by software, a program constituting the software may be executed by a computer built into dedicated hardware or by installing various programs to execute various functions. It is installed from a recording medium in a possible personal computer or the like, for example.
[0162]
FIG. 13 shows a configuration of an embodiment of an information processing apparatus when the 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. When a user inputs a command from the input unit 406 including a keyboard, a mouse, and the like via the bus 404 and the input / output interface 405, the CPU 401 stores the command in a ROM (Read Only Memory) 402. Execute 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. And run it. Thus, the functions of the image transmitting device 11 or the image receiving device 12 described above are implemented by software. Further, the CPU 401 controls the communication unit 409 to communicate with the outside and exchange data. The input / output interface 405 is also connected to an output unit 407 including a display, a speaker, and the like.
[0163]
As shown in FIG. 13, the recording medium on which the program is recorded is a magnetic disk 421 (including a flexible disk) on which the program is recorded, which is distributed to provide the program to the user separately from the computer, An optical disk 422 (including a compact disk-read only memory (CD-ROM), a digital versatile disk (DVD)), a magneto-optical disk 423 (including a mini-disc (MD)), or a package medium including a semiconductor memory 424 In addition to the configuration, the storage unit 408 includes a ROM 402 in which a program is recorded and a hard disk included in the storage unit 408, which are provided to a user in a state of being incorporated in a computer in advance.
[0164]
In this specification, a step of describing a program recorded on a recording medium is performed in a time-series manner in the order described. Alternatively, the processing includes individually executed processing.
[0165]
Also, in this specification, a system refers to an entire device including a plurality of devices.
[0166]
【The invention's effect】
As described above, according to the first aspect of the present invention, information can be transmitted and received via a network. Further, according to the first aspect of the present invention, it is possible to control the transmission rate more efficiently. Further, according to the present invention, error correction can be performed according to the state of the network.
[0167]
According to the second aspect of the present invention, information can be transmitted via a network. Further, according to the second aspect of the present invention, the transmission rate can be controlled more efficiently. Further, according to the second aspect of the present invention, error correction can be performed according to the state of the network.
[0168]
According to the third aspect of the present invention, information can be received via a network. Further, according to the third aspect of the present invention, the transmission rate can be controlled more efficiently.
[Brief description of the drawings]
FIG. 1 is a diagram for explaining conventional packet communication.
FIG. 2 is a diagram illustrating an example of the timing of a transmitted packet.
FIG. 3 is a diagram illustrating packet loss.
FIG. 4 is a block diagram illustrating a configuration example of an information processing system to which the present invention has been applied.
FIG. 5 is a block diagram illustrating a configuration example of an image transmission device.
FIG. 6 is a block diagram illustrating a configuration example of an image receiving device.
FIG. 7 is a flowchart illustrating an image transmission process of the image transmission device and an image reception process of the image reception device.
FIG. 8 is a flowchart illustrating a confirmation response process of the image receiving apparatus.
FIG. 9 is a flowchart illustrating a rate control process of the image transmission device.
FIG. 10 is a flowchart illustrating the rate control process of the image transmitting apparatus, continued from FIG. 9;
FIG. 11 is a flowchart illustrating the rate control process of the image transmitting apparatus, continued from FIG. 9;
FIG. 12 is a flowchart illustrating an error correction setting process of the image transmission device.
FIG. 13 is a block diagram illustrating a configuration example of a computer according to an embodiment of the present invention.
[Explanation of symbols]
Reference Signs List 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 section, 122 RTT increase / decrease detection section, 123 transmission rate setting section, 124 RTT calculation section, 125 loss rate calculation section, 126 error correction setting section, 151 operation section, 152 control section, 153 packet reception section, 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, 410 Drive, 421 magnetic disk, 422 Disk, 423 a magneto-optical disk, 424 a semiconductor memory

Claims (12)

パケット通信する第1の情報処理装置および第2の情報処理装置から構成される情報処理システムにおいて、
前記第1の情報処理装置は、
前記第2の情報処理装置にパケットを送信する第1の送信手段と、
前記第2の情報処理装置から確認応答を受信する第1の受信手段と、
前記第1の受信手段により受信された前記確認応答に基づいて、RTTを算出する算出手段と、
前記算出手段により算出された前記RTTの変動が所定の値以下であるか否かを判定する第1の判定手段と、
前記第1の判定手段により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定手段と、
前記第1の判定手段により前記RTTの変動は所定の値以下であると判定された場合、前記パケットの前記パケットロス率の変化に従って、前記パケットの送信レートを設定し、前記第2の判定手段により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定手段と
を備え、
前記第2の情報処理装置は、
前記第1の情報処理装置より、前記パケットを受信する第2の受信手段と、
前記第2の受信手段により受信された前記パケットに基づいて、前記第1の情報処理装置に、前記確認応答を送信する第2の送信手段と
を備えることを特徴とする情報処理システム。
In an information processing system including a first information processing device and a second information processing device that perform packet communication,
The first information processing device includes:
First transmitting means for transmitting a packet to the second information processing device;
First receiving means for receiving an acknowledgment from the second information processing device;
Calculating means for calculating RTT based on the acknowledgment received by the first receiving means;
First determining means for determining whether the variation of the RTT calculated by the calculating means is equal to or less than a predetermined value,
When the first determination means determines that the variation of the RTT is not less than a predetermined value, a second determination that determines whether the variation of the packet loss rate of the packet is less than a predetermined value. Means,
When the first determination means determines that the variation of the RTT is equal to or less than a predetermined value, the transmission rate of the packet is set according to a change in the packet loss rate of the packet; When the variation of the packet loss rate is determined to be equal to or less than a predetermined value, according to the change of the RTT, comprising a setting means for setting the transmission rate of the packet,
The second information processing device includes:
Second receiving means for receiving the packet from the first information processing device;
An information processing system comprising: a second transmission unit that transmits the acknowledgment to the first information processing device based on the packet received by the second reception unit.
他の情報処理装置にパケットを送信する送信手段と、
前記他の情報処理装置から確認応答を受信する受信手段と、
前記受信手段により受信された前記確認応答に基づいて、RTTを算出する算出手段と、
前記算出手段により算出された前記RTTの変動が所定の値以下であるか否かを判定する第1の判定手段と、
前記第1の判定手段により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定手段と、
前記第1の判定手段により前記RTTの変動は所定の値以下であると判定された場合、前記パケットの前記パケットロス率の変化に従って、前記パケットの送信レートを設定し、前記第2の判定手段により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定手段と
を備えることを特徴とする情報処理装置。
Transmitting means for transmitting a packet to another information processing device;
Receiving means for receiving an acknowledgment from the other information processing apparatus,
Calculating means for calculating RTT based on the confirmation response received by the receiving means,
First determining means for determining whether the variation of the RTT calculated by the calculating means is equal to or less than a predetermined value,
When the first determination means determines that the variation of the RTT is not less than a predetermined value, a second determination that determines whether the variation of the packet loss rate of the packet is less than a predetermined value. Means,
When the first determination means determines that the variation of the RTT is equal to or less than a predetermined value, the transmission rate of the packet is set according to a change in the packet loss rate of the packet; An information processing apparatus comprising: a setting unit that sets the transmission rate of the packet according to a change in the RTT when it is determined that the change in the packet loss rate is equal to or less than a predetermined value.
前記送信手段により送信される前記パケットを生成する生成手段をさらに備え、
前記パケットは、画像データを含む
ことを特徴とする請求項2に記載の情報処理装置。
The apparatus further includes a generation unit configured to generate the packet transmitted by the transmission unit,
The information processing device according to claim 2, wherein the packet includes image data.
前記設定手段は、前記第1の判定手段により前記RTTの変動は所定の値以下であると判定され、かつ、前記確認応答に、バーストロスの発生の通知が含まれていた場合、前記生成手段により生成される前記パケットに含まれる前記画像データのフレームレートを低下させることにより、送信レートを低下させ、前記第1の判定手段により前記RTTの変動は所定の値以下であると判定され、かつ、前記確認応答に、前記バーストロスの発生の通知が含まれていなかった場合、前記生成手段により生成される前記パケットに含まれる前記画像データの画質を低下させることにより、送信レートを低下させる
ことを特徴とする請求項3に記載の情報処理装置。
The setting unit, when the first determination unit determines that the variation of the RTT is equal to or less than a predetermined value, and when the acknowledgment includes a notification of the occurrence of a burst loss, By reducing the frame rate of the image data included in the packet generated by the, to reduce the transmission rate, the first determination unit is determined that the variation of the RTT is less than a predetermined value, and In a case where the notification of the occurrence of the burst loss is not included in the confirmation response, the transmission rate is reduced by lowering the image quality of the image data included in the packet generated by the generation unit. The information processing apparatus according to claim 3, wherein:
前記第1の判定手段により前記RTTの変動は所定の値以下であると判定され、かつ、パケットロス率が所定の値より低い場合、ARQを実行し、前記第2の判定手段により前記パケットロス率の変動は所定の値以下であると判定された場合、FECを実行し、前記第2の判定手段によりより前記パケットロス率の変動は所定の値以下ではないと判定された場合、パリティチェックを実行する実行手段をさらに備える
ことを特徴とする請求項2に記載の情報処理装置。
If the variation of the RTT is determined to be equal to or less than a predetermined value by the first determination means, and the packet loss rate is lower than a predetermined value, ARQ is performed, and the packet loss rate is determined by the second determination means. When it is determined that the variation of the packet rate is equal to or less than a predetermined value, FEC is performed. When the variation of the packet loss rate is determined by the second determination unit to be not less than the predetermined value, a parity check is performed. The information processing apparatus according to claim 2, further comprising an execution unit configured to execute.
情報処理装置の情報処理方法において、
他の情報処理装置にパケットを送信する送信ステップと、
前記他の情報処理装置から確認応答を受信する受信ステップと、
前記受信ステップの処理により受信された前記確認応答に基づいて、RTTを算出する算出ステップと、
前記算出ステップの処理により算出された前記RTTの変動が所定の値以下であるか否かを判定する第1の判定ステップと、
前記第1の判定ステップの処理により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、
前記第1の判定ステップの処理により前記RTTの変動は所定の値以下であると判定された場合、前記パケットの前記パケットロス率の変化に従って、前記パケットの送信レートを設定し、前記第2の判定ステップの処理により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定ステップと
を含むことを特徴とする情報処理方法。
In the information processing method of the information processing apparatus,
A transmitting step of transmitting a packet to another information processing apparatus;
A receiving step of receiving a confirmation response from the other information processing apparatus,
A calculating step of calculating RTT based on the confirmation response received by the processing of the receiving step,
A first determination step of determining whether the variation of the RTT calculated by the processing of the calculation step is equal to or less than a predetermined value;
When it is determined by the processing of the first determination step that the variation of the RTT is not less than a predetermined value, it is determined whether the variation of the packet loss rate of the packet is less than a predetermined value. Determination step;
When the variation of the RTT is determined to be equal to or less than a predetermined value by the processing of the first determination step, a transmission rate of the packet is set according to a change in the packet loss rate of the packet, and the second A setting step of setting the transmission rate of the packet according to the change in the RTT, when the change in the packet loss rate is determined to be equal to or less than a predetermined value by the processing in the determining step. Processing method.
情報処理装置用のプログラムであって、
パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された前記確認応答に基づいて、RTTを算出する算出ステップと、
前記算出ステップの処理により算出された前記RTTの変動が所定の値以下であるか否かを判定する第1の判定ステップと、
前記第1の判定ステップの処理により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、
前記第1の判定ステップの処理により前記RTTの変動は所定の値以下であると判定された場合、前記パケットの前記パケットロス率の変化に従って、前記パケットの送信レートを設定し、前記第2の判定ステップの処理により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
A program for an information processing device,
When receiving an acknowledgment from another information processing apparatus that has transmitted the packet, based on the received acknowledgment, a calculation step of calculating RTT,
A first determination step of determining whether the variation of the RTT calculated by the processing of the calculation step is equal to or less than a predetermined value;
When it is determined by the processing of the first determination step that the variation of the RTT is not less than a predetermined value, it is determined whether the variation of the packet loss rate of the packet is less than a predetermined value. Determination step;
When the variation of the RTT is determined to be equal to or less than a predetermined value by the processing of the first determination step, a transmission rate of the packet is set according to a change in the packet loss rate of the packet, and the second A setting step of setting the transmission rate of the packet according to the change in the RTT when it is determined that the change in the packet loss rate is equal to or less than a predetermined value by the processing in the determining step. A recording medium on which a readable program is recorded.
情報処理装置を制御するコンピュータに、
パケットを送信した他の情報処理装置から確認応答を受信した場合、受信された前記確認応答に基づいて、RTTを算出する算出ステップと、
前記算出ステップの処理により算出された前記RTTの変動が所定の値以下であるか否かを判定する第1の判定ステップと、
前記第1の判定ステップの処理により、前記RTTの変動は所定の値以下ではないと判定された場合、前記パケットのパケットロス率の変動が所定の値以下であるか否かを判定する第2の判定ステップと、
前記第1の判定ステップの処理により前記RTTの変動は所定の値以下であると判定された場合、前記パケットの前記パケットロス率の変化に従って、前記パケットの送信レートを設定し、前記第2の判定ステップの処理により前記パケットロス率の変動は所定の値以下であると判定された場合、前記RTTの変化に従って、前記パケットの前記送信レートを設定する設定ステップと
を実行させることを特徴とするプログラム。
The computer that controls the information processing device
When receiving an acknowledgment from another information processing apparatus that has transmitted the packet, based on the received acknowledgment, a calculation step of calculating RTT,
A first determination step of determining whether the variation of the RTT calculated by the processing of the calculation step is equal to or less than a predetermined value;
When it is determined by the processing of the first determination step that the variation of the RTT is not less than a predetermined value, it is determined whether the variation of the packet loss rate of the packet is less than a predetermined value. Determination step;
When the variation of the RTT is determined to be equal to or less than a predetermined value by the processing of the first determination step, a transmission rate of the packet is set according to a change in the packet loss rate of the packet, and the second When the change in the packet loss rate is determined to be equal to or less than a predetermined value by the processing of the determining step, a setting step of setting the transmission rate of the packet is performed according to the change in the RTT. program.
他の情報処理装置より、パケットを受信する受信手段と、
パケットロスが発生したか否かを判定する第1の判定手段と、
前記第1の判定手段により、パケットロスが発生したと判定された場合、前記パケットロスがバーストロスであるか否かを判定する第2の判定手段と、
前記第2の判定手段による判定結果を含む確認応答を、前記他の情報処理装置に送信する送信手段と
を備えることを特徴とする情報処理装置。
Receiving means for receiving a packet from another information processing device;
First determining means for determining whether a packet loss has occurred;
When the first determining unit determines that a packet loss has occurred, a second determining unit that determines whether the packet loss is a burst loss,
An information processing apparatus comprising: a transmission unit configured to transmit an acknowledgment including a result of the determination by the second determination unit to the another information processing apparatus.
情報処理装置の情報処理方法において、
他の情報処理装置より、パケットを受信する受信ステップと、
パケットロスが発生したか否かを判定する第1の判定ステップと、
前記第1の判定ステップの処理により、パケットロスが発生したと判定された場合、前記パケットロスがバーストロスであるか否かを判定する第2の判定ステップと、
前記第2の判定ステップの処理による判定結果を含む確認応答を、前記他の情報処理装置に送信する送信ステップと
を含むことを特徴とする情報処理方法。
In the information processing method of the information processing apparatus,
A receiving step of receiving a packet from another information processing apparatus;
A first determining step of determining whether a packet loss has occurred;
A second determining step of determining whether the packet loss is a burst loss when it is determined by the processing of the first determining step that a packet loss has occurred;
A transmitting step of transmitting an acknowledgment including a result of the determination by the processing of the second determining step to the another information processing apparatus.
情報処理装置用のプログラムであって、
他の情報処理装置より、パケットを受信した場合、パケットロスが発生したか否かを判定する第1の判定ステップと、
前記第1の判定ステップの処理により、パケットロスが発生したと判定された場合、前記パケットロスがバーストロスであるか否かの判定結果を含む確認応答を、前記他の情報処理装置に送信するために、前記パケットロスが前記バーストロスであるか否かを判定する第2の判定ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
A program for an information processing device,
A first determination step of determining whether a packet loss has occurred when receiving a packet from another information processing apparatus;
If it is determined by the processing of the first determination step that a packet loss has occurred, an acknowledgment including a determination result as to whether the packet loss is a burst loss is transmitted to the other information processing apparatus. A second determining step of determining whether the packet loss is the burst loss.
情報処理装置を制御するコンピュータに、
他の情報処理装置より、パケットを受信した場合、パケットロスが発生したか否かを判定する第1の判定ステップと、
前記第1の判定ステップの処理により、パケットロスが発生したと判定された場合、前記パケットロスがバーストロスであるか否かの判定結果を含む確認応答を、前記他の情報処理装置に送信するために、前記パケットロスが前記バーストロスであるか否かを判定する第2の判定ステップと
を実行させることを特徴とするプログラム。
The computer that controls the information processing device
A first determination step of determining whether a packet loss has occurred when receiving a packet from another information processing apparatus;
If it is determined by the processing of the first determination step that a packet loss has occurred, an acknowledgment including a determination result as to whether the packet loss is a burst loss is transmitted to the other information processing apparatus. A second determining step of determining whether the packet loss is the burst loss.
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 true JP2004193991A (en) 2004-07-08
JP4061643B2 JP4061643B2 (en) 2008-03-19

Family

ID=32759043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002359735A Expired - Fee Related JP4061643B2 (en) 2002-12-11 2002-12-11 Information processing system, information processing apparatus and method, recording medium, and program

Country Status (1)

Country Link
JP (1) JP4061643B2 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009077442A (en) * 2008-12-22 2009-04-09 Nec Corp Communication terminal, communication system, congestion control method, and congestion control program
JP2010011212A (en) * 2008-06-27 2010-01-14 Canon Inc Transmission apparatus, receiving apparatus, and method program
JP2010088029A (en) * 2008-10-02 2010-04-15 Nec Corp Content distribution system, distribution apparatus, playback device, distribution method, playback method and program
US7925613B2 (en) 2006-09-15 2011-04-12 Fuji Xerox Co., Ltd. Action efficiency support apparatus and method
WO2011065294A1 (en) * 2009-11-24 2011-06-03 日本電気株式会社 Quality control device, moving image transmission system, quality control method, and recording medium
US7987284B2 (en) 2005-03-28 2011-07-26 Sony Corporation Communication processing apparatus, data communication system, and communication processing method
US8270312B2 (en) 2008-12-17 2012-09-18 Sony Corporation Communication system, communication method, communication device, and program
WO2013021745A1 (en) 2011-08-10 2013-02-14 株式会社Skeed Data transfer method for efficiently transferring bulk data
JP2014175959A (en) * 2013-03-11 2014-09-22 Ricoh Co Ltd Information processing device, communication control method, and program
US9948532B2 (en) 2013-12-11 2018-04-17 Mitsubishi Electric Corporation Information processing apparatus, information processing method, and computer readable medium
CN115037700A (en) * 2022-04-29 2022-09-09 北京龙腾佳讯科技股份公司 Complex network data packet transmission method, system, terminal and storage medium

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7987284B2 (en) 2005-03-28 2011-07-26 Sony Corporation Communication processing apparatus, data communication system, and communication processing method
US7925613B2 (en) 2006-09-15 2011-04-12 Fuji Xerox Co., Ltd. Action efficiency support apparatus and method
JP2010011212A (en) * 2008-06-27 2010-01-14 Canon Inc Transmission apparatus, receiving apparatus, and method program
JP2010088029A (en) * 2008-10-02 2010-04-15 Nec Corp Content distribution system, distribution apparatus, playback device, distribution method, playback method and program
US8270312B2 (en) 2008-12-17 2012-09-18 Sony Corporation Communication system, communication method, communication device, and program
JP2009077442A (en) * 2008-12-22 2009-04-09 Nec Corp Communication terminal, communication system, congestion control method, and congestion control program
WO2011065294A1 (en) * 2009-11-24 2011-06-03 日本電気株式会社 Quality control device, moving image transmission system, quality control method, and recording medium
US8923151B2 (en) 2009-11-24 2014-12-30 Nec Corporation Quality control apparatus, moving image transmission system, quality control method, and recording medium
WO2013021745A1 (en) 2011-08-10 2013-02-14 株式会社Skeed Data transfer method for efficiently transferring bulk data
US9590912B2 (en) 2011-08-10 2017-03-07 Skeed Co., Ltd. Data transfer method for efficiently transferring bulk data
JP2014175959A (en) * 2013-03-11 2014-09-22 Ricoh Co Ltd Information processing device, communication control method, and program
US9948532B2 (en) 2013-12-11 2018-04-17 Mitsubishi Electric Corporation Information processing apparatus, information processing method, and computer readable medium
CN115037700A (en) * 2022-04-29 2022-09-09 北京龙腾佳讯科技股份公司 Complex network data packet transmission method, system, terminal and storage medium

Also Published As

Publication number Publication date
JP4061643B2 (en) 2008-03-19

Similar Documents

Publication Publication Date Title
US7987284B2 (en) Communication processing apparatus, data communication system, and communication processing method
JP4703063B2 (en) Method and system for mitigating network congestion
US7310682B2 (en) Systems and methods for improving network performance
US9185045B1 (en) Transport protocol for interactive real-time media
US20160323062A1 (en) Packet recovery in interactive real-time media protocol
US7710906B2 (en) Transmitting and receiving system, transmitting apparatus, transmitting method, receiving apparatus, receiving method, and program
JP4878391B2 (en) Scheduling and queue management with adaptive queue latency
EP1580914A1 (en) Method and system for controlling operation of a network
JP2004537218A (en) Reliable and efficient method of congestion control in NACK based protocol
JP2004193992A (en) Information processing system, information processor, information processing method, recording medium and program
JP2004007823A (en) Method and apparatus for data transmission
JP5867188B2 (en) Information processing apparatus, congestion control method, and congestion control program
JP2004518352A (en) Method for effectively estimating retransmission timeout in NACK based protocol
US7965639B2 (en) Dynamic adaptation of MAC-layer retransmission value
JP4061643B2 (en) Information processing system, information processing apparatus and method, recording medium, and program
CN111669665B (en) Real-time pushing method of media stream and server
JP2013085135A (en) Network terminal device and data transmission method
US7168022B2 (en) Transmission control method and system
WO2010092323A2 (en) Data transmission
JP3953343B2 (en) Wireless packet communication device and wireless packet communication method
JP2004297127A (en) Portable terminal and server
JP5178568B2 (en) Transmission device and transmission control method
JP2004153610A (en) Method, radio terminal, controller and system for distributing moving image, and radio terminal
JP6897769B2 (en) Data transmitters, methods and programs
Ţurcanu et al. The optimization of video transmission quality in wireless networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070830

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071216

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110111

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120111

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130111

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees