JP4000905B2 - 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム - Google Patents

情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム Download PDF

Info

Publication number
JP4000905B2
JP4000905B2 JP2002147224A JP2002147224A JP4000905B2 JP 4000905 B2 JP4000905 B2 JP 4000905B2 JP 2002147224 A JP2002147224 A JP 2002147224A JP 2002147224 A JP2002147224 A JP 2002147224A JP 4000905 B2 JP4000905 B2 JP 4000905B2
Authority
JP
Japan
Prior art keywords
information processing
report
loss rate
transmission
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002147224A
Other languages
English (en)
Other versions
JP2003338841A (ja
JP2003338841A5 (ja
Inventor
道成 河野
Original Assignee
ソニー株式会社
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 ソニー株式会社 filed Critical ソニー株式会社
Priority to JP2002147224A priority Critical patent/JP4000905B2/ja
Publication of JP2003338841A5 publication Critical patent/JP2003338841A5/ja
Publication of JP2003338841A publication Critical patent/JP2003338841A/ja
Application granted granted Critical
Publication of JP4000905B2 publication Critical patent/JP4000905B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1628List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. van Duuren system ; ARQ protocols
    • H04L1/1829Arrangements specific to the receiver end
    • H04L1/1858Transmission or retransmission of more than one copy of acknowledgement message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. van Duuren system ; ARQ protocols
    • H04L1/1809Selective-repeat protocols

Description

【0001】
【発明の属する技術分野】
本発明は、情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、双方向のネットワーク状況を把握できるようにした情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
近年、インターネット上のデータ伝送サービスにおいて、従来から利用されているダウンロード型の伝送方式に加えて、ストリーム型の伝送方式によるサービスが増加している。ダウンロード型の伝送方式においては、送信側のサーバから映像データまたは音声データが、一旦、受信側の端末にダウンロードされ、その後、再生される。すなわち、ダウンロード型の伝送方式は、データが完全にダウンロードされるまでは再生できないため、映像データの長時間再生やリアルタイム再生には不向きである。
【0003】
一方、ストリーム型の伝送方式では、送信側のサーバから受信側の端末にデータ転送が行われている間に、すでに受信されているデータが再生されるため、インターネット電話、遠隔テレビ会議、または、ビデオオンデマンドといったインターネットサービスに利用されている。
【0004】
このようなストリーム型の伝送方式に適したインターネット技術に、IETF(Internet Engineering Task Force) RFC(Request For Comments)1889で規定されているRTP(Real-time Transport Protocol)がある。
【0005】
図1は、RTPパケットのRTPヘッダの構成例を示す図である。図1の例において、RTPのバージョンを示すバージョン番号、パケットのサイズを調整するビットであるパディング、機能拡張時に指定される拡張ビット、リアルタイム転送に関わる送信元の数を示すカウンタ、データの境界を示すマーカービット、符号化の種類を示すペイロードタイプ、RTPパケットの順番を示すシーケンス番号、RTPパケットが送信された時刻を示すタイムスタンプ、メッセージの最初の送信元を識別する同期ソース識別子、および、メッセージに含まれるパケット群への準備を行った送信元を識別する貢献ソース識別子が順に配置されている。
【0006】
RTPによるデータ転送においては、このタイムスタンプが付加されることにより、送信側と受信側の時間的関係が把握されるので、パケット転送の遅延ゆらぎ(ジッタ)等の影響が抑制され、同期をとってデータ再生が可能になる。
【0007】
また、RTPは、実時間のデータ転送の保障、パケット配送の優先度の設定または管理などができないため、RTPパケットには、他のパケットと同様に、配送遅延、または、パケット損失等の問題が生じる恐れがある。このような問題が生じた場合でも、映像データまたは音声データは、多少のデータ破損があったとしてもある程度再生可能であるため、受信側の端末においては、定められた時間内に受信したパケットのみを利用して再生することができる。
【0008】
しかしながら、遅延配送されたパケット、または、エラーの発生したパケットは、受信側の端末においてそのまま破棄されるため、送信側のサーバが高品質なデータを配信しても、受信側の端末において十分に高品位なデータが再生されない場合がある。特に、有線区間において、10-5、または、無線区間で10-3以上のエラーがある場合には、RTPをそのまま利用するだけでは、信頼性が低い。
【0009】
このような問題に対応するため、RTPパケットのシーケンス番号を利用して、損失したパケットを検出し、送信側のサーバに再送要求を行うことにより、品質の高い転送を行うエラー訂正方式である、自動再送要求(ARQ:Automatic Repeat request)が実装されるようになってきた。この送信側のサーバへの再送要求は、RTCP、RTPまたはTCP等のプロトコルにより行われる。
【0010】
また、上述したように、RTPは、実時間データを転送するプロトコルであって、通信状況を伝えたり、制御する機能を有しないため、RTPが単体で用いられた場合、ネットワークの状況に対応した輻輳制御、または、受信側の端末の能力に対応したデータ転送を行うことができない。そこで、RTPの情報を交換するための通信プロトコルRTCP(Real Time Control Protocol)が用いられる。
【0011】
このRTCPにおいては、一定の時間間隔で、受信側の端末より受信レポート(RR:Receiver Report)が送信側のサーバに送信され、送信側のサーバより送信レポート(SR:Sender Report)が受信側の端末に送信される。これにより、送信側のサーバおよび受信側の端末間において、ネットワークの状況、または、受信側の端末の状況に対応した動的なデータ転送を行うことができる。すなわち、RTCPは、常にRTPとペアで用いられ、RTPにない機能を補助するプロトコルである。
【0012】
図2は、RTCPの受信レポートの構成例を示す図である。RTCPの受信レポートは、受信側の端末から送信側のサーバへ定期的に送信される情報である。また、このRTCP受信レポートは、受信側の端末からマルチキャストに送信されている。図2においては、RTCPの受信レポートは、ヘッダ、および、1以上の受信レポートブロック(図2の例では、受信レポートブロック1、受信レポートブロック2、……)により構成される。
【0013】
ヘッダは、RTCPのバージョンを示すバージョン情報、パケットのサイズを調整するビットであるパディング、リアルタイム転送に関わる送信元の数を示すカウンタ、パケットタイプ、メッセージ長、および、送信者(すなわち、この受信レポートを送信している受信側の端末)の同期ソース識別子により構成される。
【0014】
受信レポートブロック1は、送信者a1(送信側のサーバa1)から受信したパケットに基づいて、受信側の端末により生成される情報であり、そのパケットを送った送信元a1(送信側のサーバa1)を識別する送信者a1の同期ソース識別子、送信側のサーバa1から受信側の端末への転送におけるパケット損失率、累積損失パケット数、最大受信シーケンス番号、パケット間隔ジッタ、最新送信レポート時刻、および送信レポート経過時間により構成される。
【0015】
同様に、受信レポートブロック2は、そのパケットを送った送信元a2(送信側のサーバa2)を識別する送信者a2の同期ソース識別子、送信側のサーバa2から受信側の端末への転送におけるパケット損失率、累積損失パケット数、最大受信シーケンス番号、パケット間隔ジッタ、最新送信レポート時刻、および送信レポート経過時間により構成される。
【0016】
なお、受信レポートブロックは、受信側の端末により前回の受信レポートを送信してから、この受信レポートを送信するまでの間に、各送信者(各送信側のサーバ)から受信されたパケットの数(ヘッダのカウンタの数)だけ付加される。
【0017】
図3は、RTCPの送信レポートの構成例を示す図である。RTCPの送信レポートは、送信側のサーバから受信側の端末へ定期的に送信される情報である。また、このRTCP送信レポートは、送信側のサーバからマルチキャストに送信されている。図3の例においては、RTCPの送信レポートは、ヘッダ、送信するデータの送信情報、および、1以上の受信レポートブロック(図3の例では、受信レポートブロック1、受信レポートブロック2、……)により構成される。
【0018】
ヘッダは、図2の受信レポートと同様に、バージョン情報、パディング、カウンタ、パケットタイプ、メッセージ長、および、送信者(すなわち、この送信レポートを送信している送信側のサーバ)の同期ソース識別子により構成される。
【0019】
送信情報は、送信レポートが送られた時刻であるNTP(Network Time Protocol)タイムスタンプ、NTPタイムスタンプに対応するRTPタイムスタンプ、送信側のサーバにより前回の送信レポートを送ってからこの送信レポートを送るまでに送信された、送信パケット数および送信バイト数により構成される。このNTPタイムスタンプおよびRTPタイムスタンプにより、複数のパケットの時間軸を共通の時間軸(NTP時間軸)に同期させることができる。
【0020】
受信レポートブロック1は、送信者b1(受信側の端末b1)から受信した受信レポートの情報であり、その受信レポートを送った送信元b1(受信側の端末b1)を識別する送信者b1の同期ソース識別子、送信側のサーバから受信側の端末b1への転送におけるパケット損失率、累積損失パケット数、最大受信シーケンス番号、パケット間隔ジッタ、最新送信レポート時刻、および送信レポート経過時間により構成される。
【0021】
同様に、受信レポートブロック2は、その受信レポートを送った送信元b2(受信側の端末b2)を識別する送信者b2の同期ソース識別子、送信側のサーバから受信側の端末b2への転送におけるパケット損失率、累積損失パケット数、最大受信シーケンス番号、パケット間隔ジッタ、最新送信レポート時刻、および送信レポート経過時間により構成される。
【0022】
なお、この受信レポートブロックの数は、送信側のサーバにより前回の送信レポートを送ってからこの送信レポートを送るまでに受信された受信側の端末からの受信レポートの数(ヘッダのカウンタの数)だけ付加される。
【0023】
以上のような受信レポートおよび送信レポートの交換により、送信側のサーバは、送信側のサーバから受信側の端末への転送のネットワークの状況が取得できるため、転送するデータのレート制御を行ったり、パケットを重層して送信するなどのQoS(Quality of Service)対策、または、エラー対策を行うことができる。
【0024】
【発明が解決しようとする課題】
しかしながら、上述したように、受信レポートおよび送信レポートに付加されているパケット損失率または累積損失パケット数は、送信側のサーバから受信側の端末への転送時に関するデータであり、送信側のサーバから受信側の端末への下りのネットワークの状況しか把握することができないという課題があった。
【0025】
その結果、上述したARQの再送要求は、受信側の端末から送信側のサーバへの上りのネットワークの状況に左右されるが、その状況を把握することができないため、ARQの再送要求を効率よく行うことができないという課題があった。
【0026】
受信側の端末から送信側のサーバへの上りのネットワークの状況を把握するために、送信側のサーバから受信側の端末への下りのネットワークとは全く別のネットワークを、受信側の端末から送信側のサーバの上りのネットワークを介して行うフィードバック的なシステムを構築することもできるが、このようなシステムでは、ネットワークの状況が大きく異なってしまうため、上りと下りの両方に対応したネットワーク状況報告システムが必要となり、システムが複雑になってしまうという課題があった。
【0027】
本発明はこのような状況に鑑みてなされたものであり、双方向のネットワーク状況を把握できるようにするものである。
【0029】
【課題を解決するための手段】
本発明の情報処理システムは、第2の情報処理装置からの受信レポートを受信し、受信レポートから受信レポートのシーケンス番号を取得し、取得されたシーケンス番号に基づいて、受信レポートの損失率を計算し、計算された受信レポートの損失率に基づいてデータの送信の訂正を制御するとともに、受信レポートの損失率を送信レポートに付加して第2の情報処理装置に送信し、第2の情報処理装置は、第1の情報処理装置からのデータを受信し、データから損失パケットを特定する情報を取得し、第1の情報処理装置からの送信レポートに含まれる受信レポートの損失率に基づいて、第1の情報処理装置に対する損失パケットの再送要求を制御することを特徴とする。
【0030】
本発明の情報処理システムの情報処理方法は、第1の情報処理装置の情報処理方法は、第2の情報処理装置からの受信レポートを受信し、受信レポートから受信レポートのシーケンス番号を取得し、取得されたシーケンス番号に基づいて、受信レポートの損失率を計算し、計算された受信レポートの損失率に基づいてデータの送信の訂正を制御するとともに、受信レポートの損失率を送信レポートに付加して第2の情報処理装置に送信し、第2の情報処理装置の情報処理方法は、第1の情報処理装置からのデータを受信し、データから損失パケットを特定する情報を取得し、第1の情報処理装置からの送信レポートに含まれる受信レポートの損失率に基づいて、第1の情報処理装置に対する損失パケットの再送要求を制御することを特徴とする。
【0031】
本発明の情報処理装置は、他の情報処理装置より送信された受信レポートから受信レポートのシーケンス番号を取得する取得手段と、取得手段により取得されたシーケンス番号に基づいて、受信レポートの損失率を計算する計算手段と、計算手段により計算された受信レポートの損失率に基づいて、データの送信の訂正を制御する制御手段と、計算手段により計算された受信レポートの損失率を送信レポートに付加して他の情報処理装置に送信する送信手段とを備えることを特徴とする。
【0032】
パケットを単位としたプロトコルは、RTPおよびRTCPであるようにすることができる。
【0034】
制御手段は、計算手段により計算された受信レポートの損失率が第1の基準値よりも大きいか否かを判断する第1の判断手段と、第1の判断手段による判断結果に基づいて、データの送信エラーの訂正方法を設定する設定手段とを備えるようにすることができる。
【0035】
制御手段に、第1の判断手段により受信レポートの損失率が第1の基準値よりも小さいと判断された場合、受信レポートの損失率が第2の基準値よりも大きいか否かを判断する第2の判断手段をさらに備え、設定手段は、第2の判断手段により受信レポートの損失率が第2の基準値よりも小さいと判断された場合、データの送信エラーの訂正を禁止するようにすることができる。
【0036】
設定手段は、第1の判断手段により受信レポートの損失率が第1の基準値よりも大きいと判断された場合、データの送信エラーの訂正方法をFECに設定し、第1の判断手段により受信レポートの損失率が第1の基準値よりも小さいと判断され、かつ、第2の判断手段により受信レポートの損失率が第2の基準値よりも大きいと判断された場合、データの送信エラーの訂正方法をARQに設定するようにすることができる。
【0037】
本発明の情報処理方法は、他の情報処理装置より送信された受信レポートから受信レポートのシーケンス番号を取得する取得ステップと、取得ステップの処理により取得されたシーケンス番号に基づいて、受信レポートの損失率を計算する計算ステップと、計算ステップの処理により計算された受信レポートの損失率に基づいて、データの送信の訂正を制御する制御ステップと、計算ステップの処理により計算された受信レポートの損失率を送信レポートに付加して他の情報処理装置に送信する送信ステップとを含むことを特徴とする。
【0038】
本発明の記録媒体のプログラムは、他の情報処理装置より送信された受信レポートから受信レポートのシーケンス番号を取得する取得ステップと、取得ステップの処理により取得されたシーケンス番号に基づいて、受信レポートの損失率を計算する計算ステップと、計算ステップの処理により計算された受信レポートの損失率に基づいて、データの送信の訂正を制御する制御ステップと、計算ステップの処理により計算された受信レポートの損失率を送信レポートに付加して他の情報処理装置に送信する送信ステップとを含むことを特徴とする。
【0039】
本発明のプログラムは、他の情報処理装置より送信された受信レポートから受信レポートのシーケンス番号を取得する取得ステップと、取得ステップの処理により取得されたシーケンス番号に基づいて、受信レポートの損失率を計算する計算ステップと、計算ステップの処理により計算された受信レポートの損失率に基づいて、データの送信の訂正を制御する制御ステップと、計算ステップの処理により計算された受信レポートの損失率を送信レポートに付加して他の情報処理装置に送信する送信ステップとを含むことを特徴とする。
【0047】
本発明の情報処理システムおよび方法においては、第1の情報処理装置および方法により、第2の情報処理装置からの受信レポートが受信され、受信レポートから受信レポートのシーケンス番号が取得され、取得されたシーケンス番号に基づいて、受信レポートの損失率が計算され、計算された受信レポートの損失率に基づいてデータの送信の訂正が制御されるとともに、受信レポートの損失率が送信レポートに付加して第2の情報処理装置に送信される。そして、第2の情報処理装置および方法により、第1の情報処理装置からのデータが受信され、データから損失パケットを特定する情報が取得され、第1の情報処理装置からの送信レポートに含まれる受信レポートの損失率に基づいて、第1の情報処理装置に対する損失パケットの再送要求が制御される。
【0048】
本発明の情報処理装置および方法、記録媒体、並びにプログラムにおいては、他の情報処理装置より送信された受信レポートから受信レポートのシーケンス番号が取得され、取得されたシーケンス番号に基づいて、受信レポートの損失率が計算され、計算された受信レポートの損失率に基づいて、データの送信の訂正が制御され、計算された受信レポートの損失率が送信レポートに付加して他の情報処理装置に送信される。
【0050】
ネットワークとは、少なくとも2つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであってもよいし、1つの装置を構成している内部ブロックどうしであってもよい。
【0051】
【発明の実施の形態】
以下、図を参照して本発明の実施の形態について説明する。
【0052】
図4は、本発明を適用したストリーミングコンテンツ提供システムの構成例を表している。インターネットに代表されるネットワーク2には、ユーザ端末1−1,1−2(以下、これらのユーザ端末を個々に区別する必要がない場合、単にユーザ端末1と称する)が接続されている。この例においては、ユーザ端末が2台のみ示されているが、ネットワーク2には、任意の台数のユーザ端末が接続される。
【0053】
また、ネットワーク2には、ユーザ端末1に対してストリーミングコンテンツ(以下、コンテンツと称する)を提供するサーバ3が接続されている。このサーバ3も任意の台数ネットワーク2に接続される。
【0054】
図5はユーザ端末1の構成を表している。図5において、CPU(Central Processing Unit)11は、ROM(Read Only Memory)12に記憶されているプログラム、または記憶部18からRAM(Random Access Memory)13にロードされたプログラムに従って各種の処理を実行する。RAM13にはまた、CPU11が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0055】
CPU11、ROM12およびRAM13は、バス14を介して相互に接続されている。このバス14にはまた、入出力インタフェース15も接続されている。
【0056】
入出力インタフェース15には、キーボード、マウスなどよりなる入力部16、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部17、ハードディスクなどより構成される記憶部18、モデム、ターミナルアダプタなどより構成される通信部19が接続されている。通信部19は、ネットワーク2を介しての通信処理を行う。
【0057】
入出力インタフェース15にはまた、必要に応じてドライブ20が接続され、磁気ディスク21、光ディスク22、光磁気ディスク23、或いは半導体メモリ24などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部18にインストールされる。
【0058】
なお、サーバ3も、ユーザ端末1と基本的に同様に構成されている。したがって、以下の説明においては、図5のユーザ端末1の構成は、サーバ3の構成としても引用する。
【0059】
図6は、ユーザ端末1の機能構成例を示すブロック図である。図6に示される機能ブロックは、ユーザ端末1のCPU11により所定の制御プログラムが実行されることで実現される。
【0060】
ユーザ端末1のRTPポート41は、サーバ3よりネットワーク2を介して、RTPパケット化されたコンテンツデータを受信し、RTPパケット解析部42に出力する。RTPパケット解析部42は、そのRTPパケットをヘッダ部とデータ部に分解するとともに解析し、データ部のコンテンツデータをバッファ43に蓄積する。なお、このコンテンツデータが蓄積されたバッファ43の場所(アドレス)、およびヘッダに記述されていたヘッダ情報を、インデックスリスト44に記憶するようにしてもよい。
【0061】
復号部45は、再生する時刻に応じて、バッファ43に蓄積されたコンテンツデータを復号し、出力部17を構成するディスプレイまたはスピーカに出力し、コンテンツデータが再生される。
【0062】
RTCPパケット生成部46は、RTPポート41によりコンテンツデータを受信している場合、予め設定された一定の時間間隔で、RTPパケット解析部42により解析されたRTPパケットのヘッダの情報に基づいて、受信レポートRR(Receiver Report)を作成し、RTCPポート47に出力する。
【0063】
図7は、ユーザ端末1−1よりサーバ3へ送信されるRTCPの受信レポートRRの構成例を示す図である。なお、図7の受信レポートRRは、受信レポートブロック1の送信者c1の同期ソース識別子の後に、RTCPシーケンス番号が追加されている点を除いて、その他の構成は、上述した図2の受信レポートRRと同様の構成である。したがって、図2に関する説明は、図7の説明としても引用する。
【0064】
図7の例の場合、例えば、ヘッダの送信者の同期ソース識別子は、ユーザ端末1−1に対応し、受信レポートブロック1は、送信者c1(サーバ3)から送信されたパケットに対応する情報とされ、受信レポートブロック2は、送信者c2(図示せぬ他のサーバ)から送信されたパケットに対応する情報とされる。
【0065】
すなわち、RTCPパケット生成部46は、受信レポートブロック1を、サーバ3より送信されたパケットに基づいて生成する。このとき、受信レポートブロック1の送信者c1(サーバ3)の同期ソース識別子の後に、RTCPシーケンス番号を付加して受信レポートRRが生成される。
【0066】
RTCPポート47は、その受信レポートRRを、ネットワーク2を介してサーバ3に送信する。また、RTCPポート47は、ネットワーク2を介してサーバ3より、送信レポートSR(Sender Report)、または、コンテンツデータの送信が終了したことを示すEOD(End of Data)メッセージデータを受信する。
【0067】
RTCPパケット解析部48は、受信された送信レポートSRを解析する。送信レポートSR(図10を参照して後述する)には、RTCPパケットのRTCPシーケンス番号、および、ユーザ端末1からサーバ3への送信におけるパケット損失率が付加されている。
【0068】
エラー判定部49は、エラー訂正方式として、自動再送要求(ARQ:Automatic Repeat request)が用いられている場合、RTPパケット解析部42により解析されたヘッダ情報に基づいて、サーバ3からユーザ端末1へ送信されたコンテンツデータの損失パケットを検出し、RTCPパケット生成部46に再送要求を指示する。このときに、エラー判定部49は、RTCPパケットのRTCPシーケンス番号、および、ユーザ端末1からサーバ3への送信におけるパケット損失率に基づいて、再送要求の方法の変更を制御し、RTCPパケット生成部46に指示する。
【0069】
RTCPパケット生成部46は、その指示の再送要求の方法に基づいて、再送要求NACK(Negative Knowledge)のパケットを生成し、RTCPポート47を介してサーバ3に送信する。
【0070】
図8は、ユーザ端末1−1よりサーバ3へ送信されるRTCPの再送要求NACKのパケットの構成を示す図である。図8の例においては、再送要求NACKのパケットは、ヘッダ、フォーマットタイプ、パケットタイプ、パケット長、送信者(再送要求NACKのパケットを送信したユーザ端末1−1)の同期ソース識別子、RTCPシーケンス番号、およびタイムスタンプにより構成されている。それらの意味は、基本的に、図7(したがって、図2)における対応する名称の要素と同様である。タイムスタンプの後には、RTPパケットのヘッダ情報に基づいて検出された損失パケットに対応した再送指定パケット個数および再送指定シーケンス番号が付加される。
【0071】
図9は、サーバ3の機能構成例を示すブロック図である。図9に示される機能ブロックは、サーバ3のCPU11により所定の制御プログラムが実行されることで実現される。
【0072】
符号化部61は、ユーザ端末1からの要求があった場合、撮像部91が被写体を撮像して生成し、リアルタイムで出力するコンテンツデータ(映像データと音声データ)を符号化し、バッファ62に蓄積する。
【0073】
RTPパケット生成部63は、バッファ62に蓄積されたコンテンツデータをRTPパケット化し、RTPポート64に出力する。RTPポート64は、RTPプロトコルによりネットワーク2を介してユーザ端末1に送信する。
【0074】
RTCPポート65は、ユーザ端末1よりネットワーク2を介して、再送要求NACKのパケット(図8)、または、受信レポートRR(図7)を受信し、RTCPパケット解析部66に出力する。再送要求NACK、または、受信レポートRRは、RTCPパケットにより構成されており、RTCPシーケンス番号が付加されている。
【0075】
RTCPパケット解析部66は、再送要求NACKのRTCPパケット、または、受信レポートRRのRTCPパケットを解析する。パケットロス検知部67は、解析された受信レポートRRのRTCPパケットのRTCPシーケンス番号に基づいて、ユーザ端末1からサーバ3へのデータ転送のネットワーク2におけるパケット損失率を計算する。また、パケットロス検知部67は、解析された再送要求NACKのRTCPパケットから、再送パケットの要求データをエラー処理部68に出力する。
【0076】
エラー処理部68は、再送パケットの要求データに基づいて、再送パケットを含むデータをバッファ62より抽出し、RTPパケット生成部63およびRTPポート64を介してユーザ端末1に送信する。なお、エラー処理部68は、必要に応じて、再送パケットを重複して送る場合もある。
【0077】
RTCPパケット生成部69は、送信レポートSRに、パケットロス検知部67により計算されたパケット損失率を付加して、予め設定された一定の時間間隔で、RTCPポート65よりネットワーク2を介してユーザ端末1に送信する。また、RTCPパケット生成部69は、RTPポート64よりコンテンツデータの送信終了が検出されると、EODメッセージデータを、RTCPポート65よりネットワーク2を介してユーザ端末1に送信する。
【0078】
図10は、サーバ3から送信されるRTCPの送信レポートSRの構成例を示す図である。なお、図10の送信レポートSRは、ヘッダにおいて、送信者の同期ソース識別子の後に、RTCPシーケンス番号が追加されている点、および、受信レポートブロック1において、その末尾に、送信者d1から送信者(サーバ3)に対して転送されたデータのパケット損失率が追加されている点を除いて、その他の構成は、上述した図3の送信レポートSRと同様の構成である。したがって、上述した図3の説明は、図10の説明としても引用する。
【0079】
図10の場合、例えば、受信レポートブロック1は、ユーザ端末1−1(送信者d1)から送信された受信レポートに対応する情報とされ、受信レポートブロック2は、ユーザ端末1−2(送信者d2)から送信された受信レポートに対応する情報とされる。
【0080】
すなわち、受信レポートブロック1に記述されるのは、ユーザ端末1−1より送信された受信レポートに基づいた情報であり、RTCPパケット生成部69は、ヘッダの送信者(サーバ3)の同期ソース識別子の後に、RTCPシーケンス番号を付加し、さらに、受信レポートブロック1の末尾に、送信者d1(ユーザ端末1−1)から送信者(サーバ3)へのデータ転送のパケット損失率を付加して送信レポートSRを生成する。また、同様に、ユーザ端末1−2より送信された受信レポートにRTCPシーケンス番号が付加されている場合、受信レポートブロック2の末尾にも送信者d2(ユーザ端末1−2)から送信者(サーバ3)へのデータ転送のパケット損失率が付加される。
【0081】
なお、パケット損失率に加えて、ユーザ端末1からの転送途中に損失したRTCPパケットのRTCPシーケンス番号を記述したエラーRTCPシーケンス番号リストを付加するようにしてもよい。
【0082】
次に、図11のフローチャートを参照して、サーバ3のパケット損失率の計算処理を説明する。図11の例において、サーバ3より送信される送信レポートSRの送信間隔が、RTCP基準時間Tiとして設定され、このRTCP基準時間内のパケット損失率が求められる。
【0083】
サーバ3からネットワーク2を介して、RTPポート41によりコンテンツデータを受信している場合、ユーザ端末1のRTCPパケット生成部46は、予め設定された一定の時間間隔で、受信レポートRRを生成し、RTCPポート47よりネットワーク2を介してサーバ3に送信する。これに対応して、ステップS1において、サーバ3のRTCPポート65は、受信レポートRRを受信する。
【0084】
RTCPパケット解析部66は、ステップS2において、受信レポートRRからRTCPシーケンス番号を取得し、ステップS3において、そのRTCPシーケンス番号を、RTCPシーケンス番号リストALに追加する。なお、RTCPシーケンス番号リストALは、RAM13などに記憶されており、送信レポートSRが送信された時点でリセットされ、その後、新たにRTCPシーケンス番号が追加される。
【0085】
RTCPパケット生成部69は、内蔵するクロックで計時動作を行って、ユーザ端末1からのRTCPの受信レポートRRを、前回受信してからの経過時間T(以下、RTCP経過時間Tと称する)を計測している。そこで、ステップS4において、RTCPパケット生成部69は、そのRTCP経過時間Tが、予め設定されたRTCP基準時間Ti(送信レポートSRの送信間隔Ti)になったか否かを判断する。
【0086】
ステップS4において、RTCP経過時間Tが、まだRTCP基準時間Tiになっていないと判断された場合、ステップS5乃至S9の処理はスキップされ、処理は終了される。
【0087】
一方、ステップS4において、RTCP経過時間Tが、RTCP基準時間Tiと等しいか、または、RTCP基準時間Tiより大きくなったと判断された場合、ステップS5において、RTCPパケット生成部69は、RTCPシーケンス番号リストALのRTCPシーケンス番号の数ANを取得し、また、同時に、RTCP基準時間Tiに、ユーザ端末1からの受信レポートRRを全て正常受信したときのRTCPシーケンス番号の総数BNを求める。
【0088】
なお、RTCPシーケンス番号の総数BNは、次のようにして求められる。すなわち、いまの場合、ユーザ端末1より受信レポートRRが一定の時間間隔Tuで送信されている。その一定の時間間隔Tuの、設定されたRTCP基準時間Tiに対する割合(Tu/Ti)の値が1/100であるとすると、RTCPシーケンス番号の総数BNは、100であるとされる。
【0089】
ステップS6において、パケットロス検知部67は、RTCPシーケンス番号の数AN、および、RTCPシーケンス番号の総数BNに基づいて、パケット損失率Eを以下の式(1)より求める。
【0090】
パケット損失率 E = AN / BN ・・・(1)
【0091】
ステップS7において、パケットロス検知部67は、エラーRTCPシーケンス番号リストCLを求める。エラーRTCPシーケンス番号リストCLは、RTCP基準時間Tiに、ユーザ端末1からの受信レポートRRを全て正常に受信した場合のRTCPシーケンス番号リストから、実際に受信したRTCPシーケンス番号リストALを除いて求められる。
【0092】
ステップS8において、RTCPパケット生成部69は、ステップS6において求められたパケット損失率E、および、ステップS7において求められたエラーRTCPシーケンス番号リストCLを、送信レポートSRに付加し、RTCPポート65よりネットワーク2を介してユーザ端末1に送信する。
【0093】
ステップS9において、RTCPパケット生成部69は、RTCP経過時間Tを0に初期化する。このとき、同時に、RTCPシーケンス番号リストALもリセットされる。
【0094】
上記説明においては、ステップS4において、RTCP経過時間TとRTCP基準時間Tiを比較したが、RTCP経過時間Tが、RTCP基準時間Tiと一致したときに、ステップS2,S3およびS5乃至S9の処理を実行させるようにしてもよい。
【0095】
以上のように、受信レポートRRにRTCPシーケンス番号を付加することにより、サーバ3において、ユーザ端末1からサーバ3へのデータ転送のパケット損失率が求められ、ユーザ端末1からサーバ3へのデータ転送のネットワーク2の状況が把握される。
【0096】
さらに、求められたユーザ端末1からサーバ3へのデータ転送のパケット損失率は、送信レポートSRに付加され、ユーザ端末1に送信されるので、ユーザ端末1においても、ユーザ端末1からサーバ3へのデータ転送のネットワーク2の状況を把握することができる。
【0097】
以上のようにして、ユーザ端末1からサーバ3へのデータ転送のネットワーク2の状況が把握される場合の、ユーザ端末1の再送要求処理について、図12のフローチャートを参照して説明する。なお、図12の例においては、ユーザ端末1とサーバ3の間のデータ転送において、エラー訂正方式として、ARQ(自動再送要求:Automatic Repeat request)が用いられる。
【0098】
サーバ3は、ユーザ端末1からの要求に基づいて、コンテンツデータをRTPパケット化し、RTPプロトコルによりネットワーク2を介してユーザ端末1に送信してくる。そこで、ステップS31において、ユーザ端末1のRTPポート41は、RTPパケット化されたコンテンツデータを受信する。
【0099】
ステップS32において、RTPパケット解析部42は、RTPパケットをヘッダ部とデータ部に分解するとともに、ヘッダ部を解析し、データ部のコンテンツデータをバッファ43に蓄積し、ヘッダ部のヘッダの情報をエラー判定部49に出力する。
【0100】
ステップS33において、エラー判定部49は、RTPパケット解析部42により解析されたヘッダの情報に基づいて、RTPパケットの中に損失パケットがあるか否かを判断する。具体的には、RTPパケットのシーケンス番号(図1を参照に上述した)が、既に受信しているシーケンス番号に対して不連続になっているか否かが判定され、不連続であれば、受信していないパケットがある(損失パケットがある)と判断される。
【0101】
ステップS33において、RTPパケットに損失パケットがあると判断された場合、ステップS34において、エラー判定部49は、RTCPパケット解析部48より解析された送信レポートSR内の、ユーザ端末1からサーバ3へのデータ転送のパケット損失率に基づいて、再送要求NACKのパケットをRTCPパケット生成部46を制御し、生成させる。ステップS35において、RTCPポート47は、生成された再送要求NACKのRTCPパケットをサーバ3に送信する。
【0102】
ここで、上述したステップS34およびS35の処理の詳細について、図13乃至図16を参照して説明する。
【0103】
上述したように、図11のステップS8の処理で生成された送信レポートSRは、、設定されたRTCP基準時間(送信レポートSRの送信間隔)で、パケット損失率E、および、エラーRTCPシーケンス番号リストCLが付加されて、サーバ3よりネットワーク2を介して送信される。この送信レポートSRは、ユーザ端末1のRTCPポート47により受信され、RTCPパケット解析部48により解析される。これにより、ユーザ端末において、ユーザ端末1からサーバ3へのデータ転送のパケット損失率、すなわち、ユーザ端末1からサーバ3へのデータ転送のネットワーク2の状況が把握される。
【0104】
このユーザ端末1からサーバ3へのデータ転送のネットワーク2の状況に応じて、ユーザ端末1において、図13乃至図16に示されるように、再送要求が制御される。図13乃至図16においては、横軸は、時間軸を示している。図13に示されるように、サーバ3から、RTPのシーケンス番号1乃至8のパケットがユーザ端末1に送信され、転送途中に、シーケンス番号4乃至6のパケット(図中、2重にハッチングされた表示のパケット)が損失し、シーケンス番号1乃至3,7および8のパケットがユーザ端末1により正確に受信される。
【0105】
それに対応して、転送途中に損失したシーケンス番号4乃至6のパケットの再送を要求するために、図13の例においては、ユーザ端末1から、シーケンス番号4乃至6のパケットに、それぞれ対応する再送要求NACK4乃至NACK6のパケット(図中ハッチングされた表示のパケット)が個別にサーバ3に向けて送信される。
【0106】
図14の例においては、ユーザ端末1から、シーケンス番号4乃至6のパケットに対応する再送要求NACK4,5,6が1つのパケットにまとめられ、サーバ3に向けて送信されている。
【0107】
また、図15の例においては、ユーザ端末1から、シーケンス番号4乃至6のパケットにそれぞれ対応する再送要求NACK4乃至NACK6のパケット(図中ハッチングされた表示のパケット)が個別に複数個ずつ(例えば、2個ずつ)、サーバ3に向けて送信される。
【0108】
図16の例においては、ユーザ端末1から、シーケンス番号4および5のパケットに対応する再送要求NACK4,5が、1つのパケットにまとめられるとともに、そのパケットが、2個送信され、さらに、シーケンス番号6のパケットに対応する再送要求が再送要求NACK6の3個のパケットがサーバ3に向けて送信されている。
【0109】
以上のように、エラー判定部49は、RTCPパケット解析部48により解析された送信レポートSR内の、ユーザ端末1からサーバ3へのデータ転送のパケット損失率により求められる、ユーザ端末1からサーバ3へのデータ転送のネットワーク2の状況に応じて、再送要求パケットの送信方法を変更する。例えば、パケット損失率が第1の基準値より大きい場合、図15または図16に示されるように、再送要求NACKのパケットに冗長性を持たせて送信する。これにより、再送要求NACKのパケットをサーバ3に確実に届けることができる。
【0110】
また、パケット損失率が第2の基準値(第1の基準値より小さい)より小さい場合には、図14に示されるように、送信するパケットの数を少なくして、伝送路のトラフィック量を減少させる。パケット損失率が第1の基準値と第2の基準値の間の値である場合には、図13に示されるように、標準的な方法でパケットを送信する。
【0111】
ステップS33において、損失パケットが存在しないと判定された場合、ステップS34,S35の処理はスキップされる。
【0112】
ステップS35の処理の後、またはステップS33において、損失パケットが存在しないと判定された場合、ステップS36において、復号部45は、バッファ43に蓄積されているコンテンツデータが再生時刻になったか否かを判定する。現在時刻がまだ再生時刻に達していない場合、処理はステップS31に戻り、それ以降の処理が繰り返される。
【0113】
ステップS36において、現在時刻が再生時刻に達したと判定された場合、ステップS37に進み、復号部45は、バッファ43に蓄積されているコンテンツデータを読み出し、復号し、出力部17に出力する。
【0114】
次に、ユーザ端末1からサーバ3へのデータ転送のネットワーク2の状況が把握されたサーバ3のエラー訂正方法の設定処理について、図17のフローチャートを参照して説明する。
【0115】
ステップS61において、サーバ3のCPU11(RTCPパケット解析部66、RTCPパケット生成部69、パケットロス検知部67など)は、図11のフローチャートを参照して上述したパケット損失率Eの計算処理を実行する。これにより、ユーザ端末1からサーバ3へのデータ転送のパケット損失率Eが求められる。そこで、ステップS62において、エラー処理部68は、パケット損失率Eが予め設定された基準値σ1(0<σ1)以上であるか否かを判断し、パケット損失率Eが基準値σ1以上であると判断した場合、ステップS63において、エラー処理部68は、エラー訂正方法を、FEC(前方向誤り訂正:forward error correction)に設定する。すなわち、パケット損失率Eが、基準値σ1よりも大きい場合、エラー訂正方法を、サーバ3には再送要求を行わず、ユーザ端末1だけで誤りの場所を確定し、これを訂正するエラー訂正方法である、FECに設定することにより、ARQを用いた場合よりも、ユーザ端末1とサーバ3の間のデータ転送が非効率になってしまうのを抑制できる。
【0116】
ステップS62において、パケット損失率Eが基準値σ1より小さいと判断された場合、ステップS64において、エラー処理部68は、パケット損失率Eが、基準値σ2(0<σ2<σ1)より大きいか否かを判断する。ステップS64において、パケット損失率Eが、基準値σ2より大きいと判断された場合(ステップS62の処理により、いま、パケット損失率Eは、基準値σ1より小さいので、パケット損失率Eは,基準値σ2と基準値σ1の間の大きさの値ということになる)、ステップS65において、エラー処理部68は、エラー訂正方法を、ARQに設定する。
【0117】
ステップS64において、パケット損失率Eが、基準値σ2より小さいと判断された場合、ステップS66において、エラー処理部68は、パケット損失率Eが、マイナス値であるか否かを判断する。ステップS66において、パケット損失率Eが、マイナス値でないと判断された場合、ステップS67において、エラー処理部68は、エラー制御を解除し、エラー制御を行わないようにする。
【0118】
ステップS66において、パケット損失率Eが、マイナス値であると判断された場合、ステップS68において、エラー処理部68は、その他のエラー処理を実行する。すなわち、パケット損失率Eが、取り得もしない値(この場合、マイナス値)である場合は、ユーザ端末1あるいはサーバ3において誤動作などが生じている恐れがあり、それに対するエラー処理が実行される。
【0119】
以上のように、ユーザ端末1からサーバ3へのデータ転送のパケット損失率により求められる、ユーザ端末1からサーバ3へのデータ転送のネットワーク2の状況に応じて、サーバ3側で、エラー訂正方法を変更できるようにしたので、ユーザ端末1とサーバ3の間において効率のよいデータ転送が可能になる。
【0120】
以上のように、RTP伝送において、RTCPパケットにRTCPシーケンス番号を付加したので、ユーザ端末1からサーバ3へのデータ転送のパケット損失率が求められ、このパケット損失率をRTCPの送信レポートに付加することにより、ユーザ端末1とサーバ3の両方で、ユーザ端末1からサーバ3へのデータ転送のパケット損失率が把握できる。
【0121】
これにより、ユーザ端末1においては、自動再送要求ARQをRTP伝送に用いた場合、ユーザ端末1からサーバ3へのデータ転送のパケット損失率に応じて、その再送要求を重複して要求したり、冗長要求するなどの選択が動的に実行できるようになり、より正確に、効率よく再送要求ができるようになる。さらに、サーバ3においては、ユーザ端末1からサーバ3へのパケット損失率に応じて、エラー訂正方法をARQからFECなどに変更できたり、データ転送のパケット損失率が非常に少ない場合には、エラー訂正方法を行わないようにすることもできる。
【0122】
すなわち、サーバ3からユーザ端末1へのパケット損失率だけでなく、ユーザ端末1からサーバ3へのパケット損失率を求め、その結果をサーバ3とユーザ端末1の両方で把握することができるので、より柔軟で、かつ、エラー耐性のある信頼性の高い伝送を動的に提供できる。
【0123】
以上により、ユーザ端末1のユーザは、満足するデータを取得することができる。
【0124】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
【0125】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図5に示されるように、磁気ディスク21(フレキシブルディスクを含む)、光ディスク22(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク23(MD(Mini-Disc)(商標)を含む)、もしくは半導体メモリ24などよりなるパッケージメディア、または、プログラムが一時的もしくは永続的に格納されるROM12や、記憶部18などにより構成される。
【0126】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0127】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0128】
【発明の効果】
以上の如く、本発明によれば、双方向のネットワーク状況を把握できるシステムを構築できる。また、本発明によれば、より正確に、効率よく再送要求ができる。さらに、本発明によれば、ネットワーク状況に応じて、効率的なエラー訂正方法が提供される。
【図面の簡単な説明】
【図1】RTPパケットの構成例を示す図である。
【図2】RTCPの受信レポートの構成例を示す図である。
【図3】RTCPの送信レポートの構成例を示す図である。
【図4】本発明を適用したストリーミングコンテンツ提供システムの構成例を示す図である。
【図5】図4のユーザ端末の構成例を示すブロック図である。
【図6】図4のユーザ端末の機能構成例を示すブロック図である。
【図7】図4のユーザ端末から送信されるRTCPの受信レポートの構成例を示す図である。
【図8】図4のユーザ端末から送信されるNACKのパケットの構成例を示す図である。
【図9】図4のサーバの機能構成例を示すブロック図である。
【図10】図4のサーバから送信されるRTCPの送信レポートの構成例を示す図である。
【図11】図4のサーバのパケット損失率計算処理を説明するフローチャートである。
【図12】図4のユーザ端末の再送要求処理を説明するフローチャートである。
【図13】図4のユーザ端末のから送信されるNACKのパケットを説明する図である。
【図14】図4のユーザ端末のから送信されるNACKのパケットを説明する図である。
【図15】図4のユーザ端末のから送信されるNACKのパケットを説明する図である。
【図16】図4のユーザ端末のから送信されるNACKのパケットを説明する図である。
【図17】図4のサーバのエラー設定方法の変更処理を説明するフローチャートである。
【符号の説明】
1−1,1−2 ユーザ端末,2 ネットワーク,3 サーバ,11 CPU,41 RTPポート,42 RTPパケット解析部,46 RTCPパケット生成部,47 RTCPポート,48 RTCPパケット解析部,49 エラー判定部,62 バッファ,63 RTPパケット生成部,64 RTPポート,65RTCPポート,66 RTCPパケット解析部, 67 パケットロス検知部,68 エラー処理部

Claims (10)

  1. 第1の情報処理装置からネットワークを介して、パケットを単位としたプロトコルでデータを第2の情報処理装置に送信する情報処理システムにおいて、
    前記第1の情報処理装置は、前記第2の情報処理装置からの受信レポートを受信し、前記受信レポートから前記受信レポートのシーケンス番号を取得し、取得された前記シーケンス番号に基づいて、前記受信レポートの損失率を計算し、計算された前記受信レポートの損失率に基づいて前記データの送信エラー訂正を制御するとともに、前記受信レポートの損失率を送信レポートに付加して前記第2の情報処理装置に送信し、
    前記第2の情報処理装置は、前記第1の情報処理装置からの前記データを受信し、前記データから損失パケットを特定する情報を取得し、前記第1の情報処理装置からの前記送信レポートに含まれる前記受信レポートの損失率に基づいて、前記第1の情報処理装置に対する前記損失パケットの再送要求を制御する
    ことを特徴とする情報処理システム。
  2. 第1の情報処理装置からネットワークを介して、パケットを単位としたプロトコルでデータを第2の情報処理装置に送信する情報処理システムの情報処理方法において、
    前記第1の情報処理装置の情報処理方法は、前記第2の情報処理装置からの受信レポートを受信し、前記受信レポートから前記受信レポートのシーケンス番号を取得し、取得された前記シーケンス番号に基づいて、前記受信レポートの損失率を計算し、計算された前記受信レポートの損失率に基づいて前記データの送信エラー訂正を制御するとともに、前記受信レポートの損失率を送信レポートに付加して前記第2の情報処理装置に送信し、
    前記第2の情報処理装置の情報処理方法は、前記第1の情報処理装置からの前記データを受信し、前記データから損失パケットを特定する情報を取得し、前記第1の情報処理装置からの前記送信レポートに含まれる前記受信レポートの損失率に基づいて、前記第1の情報処理装置に対する前記損失パケットの再送要求を制御する
    ことを特徴とする情報処理方法。
  3. ネットワークを介して他の情報処理装置に、パケットを単位としたプロトコルでデータを送信する情報処理装置において、
    前記他の情報処理装置より送信された受信レポートから前記受信レポートのシーケンス番号を取得する取得手段と、
    前記取得手段により取得された前記シーケンス番号に基づいて、前記受信レポートの損失率を計算する計算手段と、
    前記計算手段により計算された前記受信レポートの損失率に基づいて、前記データの送信エラーの訂正を制御する制御手段と、
    前記計算手段により計算された前記受信レポートの損失率を送信レポートに付加して前記他の情報処理装置に送信する送信手段と
    を備えることを特徴とする情報処理装置。
  4. 前記パケットを単位としたプロトコルは、RTPおよびRTCPである
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記制御手段は、
    前記計算手段により計算された前記受信レポートの損失率が第1の基準値よりも大きいか否かを判断する第1の判断手段と、
    前記第1の判断手段による判断結果に基づいて、前記データの前記送信エラーの訂正方法を設定する設定手段と
    を備えることを特徴とする請求項3に記載の情報処理装置。
  6. 前記制御手段に、前記第1の判断手段により前記受信レポートの損失率が前記第1の基準値よりも小さいと判断された場合、前記受信レポートの損失率が第2の基準値よりも大きいか否かを判断する第2の判断手段をさらに備え、
    前記設定手段は、前記第2の判断手段により前記受信レポートの損失率が前記第2の基準値よりも小さいと判断された場合、前記データの前記送信エラーの訂正を禁止する
    ことを特徴とする請求項5に記載の情報処理装置。
  7. 前記設定手段は、前記第1の判断手段により前記受信レポートの損失率が前記第1の基準値よりも大きいと判断された場合、前記データの前記送信エラーの訂正方法をFECに設定し、前記第1の判断手段により前記受信レポートの損失率が前記第1の基準値よりも小さいと判断され、かつ、前記第2の判断手段により前記受信レポートの損失率が前記第2の基準値よりも大きいと判断された場合、前記データの前記送信エラーの訂正方法をARQに設定する
    ことを特徴とする請求項6に記載の情報処理装置。
  8. ネットワークを介して他の情報処理装置に、パケットを単位としたプロトコルでデータを送信する情報処理装置の情報処理方法において、
    前記他の情報処理装置より送信された受信レポートから前記受信レポートのシーケンス番号を取得する取得ステップと、
    前記取得ステップの処理により取得された前記シーケンス番号に基づいて、前記受信レポートの損失率を計算する計算ステップと、
    前記計算ステップの処理により計算された前記受信レポートの損失率に基づいて、前記データの送信エラーの訂正を制御する制御ステップと、
    前記計算ステップの処理により計算された前記受信レポートの損失率を送信レポートに付加して前記他の情報処理装置に送信する送信ステップと
    を含むことを特徴とする情報処理方法。
  9. ネットワークを介して他の情報処理装置に、パケットを単位としたプロトコルでデータを送信する処理をコンピュータに行わせるプログラムであって、
    前記他の情報処理装置より送信された受信レポートから前記受信レポートのシーケンス番号を取得する取得ステップと、
    前記取得ステップの処理により取得された前記シーケンス番号に基づいて、前記受信レポートの損失率を計算する計算ステップと、
    前記計算ステップの処理により計算された前記受信レポートの損失率に基づいて、前記データの送信の訂正を制御する制御ステップと、
    前記計算ステップの処理により計算された前記受信レポートの損失率を送信レポートに付加して前記他の情報処理装置に送信する送信ステップと
    を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
  10. ネットワークを介して他の情報処理装置に、パケットを単位としたプロトコルでデータを送信する処理を制御するコンピュータが実行可能なプログラムであって、
    前記他の情報処理装置より送信された受信レポートから前記受信レポートのシーケンス番号を取得する取得ステップと、
    前記取得ステップの処理により取得された前記シーケンス番号に基づいて、前記受信レポートの損失率を計算する計算ステップと、
    前記計算ステップにより計算された前記受信レポートの損失率に基づいて、前記データの送信の訂正を制御する制御ステップと、
    前記計算ステップの処理により計算された前記受信レポートの損失率を送信レポートに付加して前記他の情報処理装置に送信する送信ステップと
    を含むことを特徴とするプログラム。
JP2002147224A 2002-05-22 2002-05-22 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム Expired - Fee Related JP4000905B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002147224A JP4000905B2 (ja) 2002-05-22 2002-05-22 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2002147224A JP4000905B2 (ja) 2002-05-22 2002-05-22 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム
CNB03811643XA CN100401717C (zh) 2002-05-22 2003-05-19 信息处理系统和方法、信息处理设备和方法
US10/515,290 US7583666B2 (en) 2002-05-22 2003-05-19 Protocol information processing system and method information processing device and method recording medium and program
PCT/JP2003/006181 WO2003098884A1 (fr) 2002-05-22 2003-05-19 Protocole, systeme et procede de traitement de donnees, dispositif et procede de traitement de donnees, support d'enregistrement, et programme
KR20047018745A KR100975176B1 (ko) 2002-05-22 2003-05-19 프로토콜이 기록된 컴퓨터로 판독가능한 기록 매체, 정보 처리 시스템 및 방법, 정보 처리 장치 및 방법, 및 기록 매체
EP20030723397 EP1507369A4 (en) 2002-05-22 2003-05-19 Protocol, information processing system and method, information processing device and method, recording medium, and program

Publications (3)

Publication Number Publication Date
JP2003338841A5 JP2003338841A5 (ja) 2003-11-28
JP2003338841A JP2003338841A (ja) 2003-11-28
JP4000905B2 true JP4000905B2 (ja) 2007-10-31

Family

ID=29545167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002147224A Expired - Fee Related JP4000905B2 (ja) 2002-05-22 2002-05-22 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム

Country Status (6)

Country Link
US (1) US7583666B2 (ja)
EP (1) EP1507369A4 (ja)
JP (1) JP4000905B2 (ja)
KR (1) KR100975176B1 (ja)
CN (1) CN100401717C (ja)
WO (1) WO2003098884A1 (ja)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7529778B1 (en) 2001-12-12 2009-05-05 Microsoft Corporation System and method for providing access to consistent point-in-time file versions
JP3821086B2 (ja) * 2002-11-01 2006-09-13 ソニー株式会社 ストリーミングシステム及びストリーミング方法、クライアント端末及びデータ復号方法、並びにプログラム
JP2005045409A (ja) * 2003-07-24 2005-02-17 Pioneer Electronic Corp 情報処理装置、そのシステム、その方法、そのプログラム、および、そのプログラムを記録した記録媒体
US7885197B2 (en) * 2003-11-17 2011-02-08 Intel Corporation System and method for measuring per node packet loss in a wireless network
US20050185604A1 (en) * 2004-02-23 2005-08-25 Samsung Electronics Co., Ltd. Method and apparatus for transferring connectionless-oriented data packets
JP4692021B2 (ja) * 2004-04-15 2011-06-01 株式会社日立製作所 移動体の通信方法
US8588200B2 (en) 2004-05-06 2013-11-19 Nec Corporation Wireless communication system, wireless communication method, and wireless communication apparatus
KR100565333B1 (ko) * 2004-06-22 2006-03-30 엘지전자 주식회사 휴대단말기의 비디오 오디오 동기장치 및 방법
US7617256B2 (en) * 2004-07-19 2009-11-10 Microsoft Corporation Remote file updates through remote protocol
US7590922B2 (en) * 2004-07-30 2009-09-15 Nokia Corporation Point-to-point repair request mechanism for point-to-multipoint transmission systems
JPWO2006013618A1 (ja) * 2004-08-02 2008-05-01 三菱電機株式会社 伝送制御装置
US9197857B2 (en) 2004-09-24 2015-11-24 Cisco Technology, Inc. IP-based stream splicing with content-specific splice points
CN100583784C (zh) * 2005-03-30 2010-01-20 华为技术有限公司 在多协议标签交换网络中监测丢包率的方法
US8332526B2 (en) 2005-05-25 2012-12-11 Microsoft Corporation Data communication protocol including negotiation and command compounding
EP1848152A4 (en) * 2005-11-17 2008-04-23 Huawei Tech Co Ltd A method for measuring mpls network performance parameter and device and system for transmitting packet
JP2007086484A (ja) * 2005-09-22 2007-04-05 Brother Ind Ltd CONTENT DISTRIBUTION SYSTEM, CONTENT DISTRIBUTION METHOD, DISTRIBUTION DEVICE USED FOR THE SAME, TERMINAL DEVICE AND ITS PROGRAM
US7619993B2 (en) * 2005-11-01 2009-11-17 International Business Machines Corporation Efficient probabilistic duplicate packet detector in computer networks
JP4513725B2 (ja) * 2005-11-09 2010-07-28 ソニー株式会社 パケット送信装置、通信システム及びプログラム
KR100736094B1 (ko) * 2006-02-17 2007-07-06 삼성전자주식회사 디지털 기기의 상태 정보 제공 방법 및 장치
US7953020B2 (en) * 2006-05-22 2011-05-31 At&T Intellectual Property Ii, L.P. Method for implementing and reporting one-way network measurements
US9198084B2 (en) 2006-05-26 2015-11-24 Qualcomm Incorporated Wireless architecture for a traditional wire-based protocol
EP2031804A1 (en) * 2006-06-22 2009-03-04 Sanritz Automation Co., Ltd. I/o device, network system with i/o device and communication method in network system with i/o device
KR100871240B1 (ko) * 2006-08-18 2008-11-28 삼성전자주식회사 방송 시스템에서 단말기가 스트리밍 서비스의 수신율을보고하는 방법 및 장치와 그 시스템
JP4798285B2 (ja) * 2007-03-23 2011-10-19 富士通株式会社 パケットの伝送品質計測方法、およびパケット受信計測装置
US8023419B2 (en) 2007-05-14 2011-09-20 Cisco Technology, Inc. Remote monitoring of real-time internet protocol media streams
US7936695B2 (en) * 2007-05-14 2011-05-03 Cisco Technology, Inc. Tunneling reports for real-time internet protocol media streams
JP5084362B2 (ja) * 2007-06-18 2012-11-28 キヤノン株式会社 データ送信装置、及びデータ送受信システム
US7835406B2 (en) 2007-06-18 2010-11-16 Cisco Technology, Inc. Surrogate stream for monitoring realtime media
US7817546B2 (en) * 2007-07-06 2010-10-19 Cisco Technology, Inc. Quasi RTP metrics for non-RTP media flows
JP5148190B2 (ja) * 2007-07-20 2013-02-20 京セラ株式会社 受信方法および受信装置
JP5101965B2 (ja) * 2007-09-25 2012-12-19 京セラ株式会社 受信装置
JP5101964B2 (ja) * 2007-09-25 2012-12-19 京セラ株式会社 受信装置
JP5053014B2 (ja) * 2007-09-25 2012-10-17 Kddi株式会社 受信装置、およびストリーム送信装置
JP5053013B2 (ja) * 2007-09-25 2012-10-17 Kddi株式会社 受信装置、およびストリーム送信装置
WO2009041869A1 (en) * 2007-09-25 2009-04-02 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement relating to a media structure
JP5101967B2 (ja) * 2007-09-26 2012-12-19 京セラ株式会社 受信装置
US8966551B2 (en) 2007-11-01 2015-02-24 Cisco Technology, Inc. Locating points of interest using references to media frames within a packet flow
JP4911046B2 (ja) * 2008-01-21 2012-04-04 富士通株式会社 通信品質測定装置、通信端末装置、通信品質測定方法及びコンピュータプログラム
CN101640629B (zh) * 2008-07-29 2012-08-29 华为技术有限公司 一种链路丢包监控的方法和双向转发探测设备
US9398089B2 (en) 2008-12-11 2016-07-19 Qualcomm Incorporated Dynamic resource sharing among multiple wireless devices
JP2011009827A (ja) * 2009-06-23 2011-01-13 Nippon Telegr & Teleph Corp <Ntt> 通信システム及び通信方法
US9264248B2 (en) 2009-07-02 2016-02-16 Qualcomm Incorporated System and method for avoiding and resolving conflicts in a wireless mobile display digital interface multicast environment
US8301982B2 (en) * 2009-11-18 2012-10-30 Cisco Technology, Inc. RTP-based loss recovery and quality monitoring for non-IP and raw-IP MPEG transport flows
US9582238B2 (en) 2009-12-14 2017-02-28 Qualcomm Incorporated Decomposed multi-stream (DMS) techniques for video display systems
JP5506362B2 (ja) * 2009-12-15 2014-05-28 キヤノン株式会社 送信装置、送信方法
US8819714B2 (en) 2010-05-19 2014-08-26 Cisco Technology, Inc. Ratings and quality measurements for digital broadcast viewers
EP2391042B1 (en) * 2010-05-27 2015-07-29 Telefonaktiebolaget L M Ericsson (publ) Efficient error handling on a link using ARQ and multiple NACKs associated with multiple error thresholds
US8631277B2 (en) 2010-12-10 2014-01-14 Microsoft Corporation Providing transparent failover in a file system
JP6026078B2 (ja) 2011-01-12 2016-11-16 サターン ライセンシング エルエルシーSaturn Licensing LLC TRANSMISSION DEVICE, TRANSMISSION METHOD, RECEPTION DEVICE, RECEPTION METHOD, PROGRAM, AND CONTENT DISTRIBUTION SYSTEM
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US20130013318A1 (en) 2011-01-21 2013-01-10 Qualcomm Incorporated User input back channel for wireless displays
US10135900B2 (en) * 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
US9413803B2 (en) 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US20130003624A1 (en) * 2011-01-21 2013-01-03 Qualcomm Incorporated User input back channel for wireless displays
US9065876B2 (en) 2011-01-21 2015-06-23 Qualcomm Incorporated User input back channel from a wireless sink device to a wireless source device for multi-touch gesture wireless displays
US10108386B2 (en) 2011-02-04 2018-10-23 Qualcomm Incorporated Content provisioning for wireless back channel
US9503771B2 (en) 2011-02-04 2016-11-22 Qualcomm Incorporated Low latency wireless display for graphics
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US8788579B2 (en) 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
US20130067095A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout
JP5838787B2 (ja) * 2011-12-21 2016-01-06 富士通株式会社 通信装置、および通信方法
IL217307A (en) * 2012-01-01 2015-09-24 Video Flow Ltd Adaptive forward error correction (fec) system and method
US9525998B2 (en) 2012-01-06 2016-12-20 Qualcomm Incorporated Wireless display with multiscreen service
KR20140050454A (ko) * 2012-10-19 2014-04-29 삼성전자주식회사 서버, 클라이언트 디바이스 및 그 제어 방법
JP2013048485A (ja) * 2012-11-05 2013-03-07 Kyocera Corp 送信装置
CN103944834B (zh) * 2013-01-22 2017-03-22 随锐科技股份有限公司 一种音视频转发控制方法及系统
CN103354615B (zh) * 2013-06-24 2015-04-15 西安交通大学 基于信号强度的直播视频数据传输差错控制方法
CN104426636A (zh) * 2013-09-11 2015-03-18 松下电器产业株式会社 通信控制装置及通信控制方法
EP3493443B1 (en) 2013-12-06 2020-08-12 Alcatel Lucent Method and device for dynamically configuring either fec or arq as impulse noise protection on a communication line

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2503888B2 (ja) * 1993-06-30 1996-06-05 日本電気株式会社 移動無線通信におけるデ―タ伝送方式
US6304574B1 (en) * 1995-06-07 2001-10-16 3Com Corporation Distributed processing of high level protocols, in a network access server
JPH09247132A (ja) * 1996-03-08 1997-09-19 Yazaki Corp 無線パケット通信装置及び送信装置
US5768527A (en) * 1996-04-23 1998-06-16 Motorola, Inc. Device, system and method of real-time multimedia streaming
US6148005A (en) * 1997-10-09 2000-11-14 Lucent Technologies Inc Layered video multicast transmission system with retransmission-based error recovery
US6115390A (en) * 1997-10-14 2000-09-05 Lucent Technologies, Inc. Bandwidth reservation and collision resolution method for multiple access communication networks where remote hosts send reservation requests to a base station for randomly chosen minislots
JP3734946B2 (ja) 1997-12-15 2006-01-11 松下電器産業株式会社 データ送出装置、データ受信装置及びデータ伝送装置
US6278716B1 (en) * 1998-03-23 2001-08-21 University Of Massachusetts Multicast with proactive forward error correction
US6643496B1 (en) * 1998-03-31 2003-11-04 Canon Kabushiki Kaisha System, method, and apparatus for adjusting packet transmission rates based on dynamic evaluation of network characteristics
US6501763B1 (en) * 1999-05-06 2002-12-31 At&T Corp. Network-based service for originator-initiated automatic repair of IP multicast sessions
US6574213B1 (en) * 1999-08-10 2003-06-03 Texas Instruments Incorporated Wireless base station systems for packet communications
US6757256B1 (en) * 1999-08-10 2004-06-29 Texas Instruments Incorporated Process of sending packets of real-time information
JP2001320440A (ja) 2000-05-02 2001-11-16 Sony Corp 通信装置及び方法
JP3594185B2 (ja) 2000-08-17 2004-11-24 松下電器産業株式会社 Data transmission device and data transmission method
JP2002141964A (ja) * 2000-08-24 2002-05-17 Matsushita Electric Ind Co Ltd 送受信方法およびその装置
JP3769468B2 (ja) * 2001-03-21 2006-04-26 株式会社エヌ・ティ・ティ・ドコモ 通信品質制御方法、通信品質制御システム、パケット解析装置及びデータ送信端末装置
JP3757857B2 (ja) * 2001-12-12 2006-03-22 ソニー株式会社 データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
KR100975176B1 (ko) 2010-08-10
CN1656750A (zh) 2005-08-17
WO2003098884A1 (fr) 2003-11-27
JP2003338841A (ja) 2003-11-28
US7583666B2 (en) 2009-09-01
EP1507369A4 (en) 2010-10-13
CN100401717C (zh) 2008-07-09
EP1507369A1 (en) 2005-02-16
US20050182850A1 (en) 2005-08-18
KR20040111669A (ko) 2004-12-31

Similar Documents

Publication Publication Date Title
US10419502B2 (en) Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network
US10547656B2 (en) Multipath data streaming over multiple wireless networks
US10015221B2 (en) Content server media stream management
US10034058B2 (en) Method and apparatus for distributing video
US9306708B2 (en) Method and apparatus for retransmission decision making
JP4118617B2 (ja) ストリームメディアに対する交渉方式の/動的なエラー訂正
US7376880B2 (en) Transmission apparatus, transmission control program, and transmission method
KR101644215B1 (ko) 신뢰성 있는 데이터 통신을 위한 네트워크 추상화 계층을 파싱하는 방법 및 장치
EP1919117B1 (en) Packet retransmission control using priority information
US7562277B2 (en) Data transmitting/receiving system and method thereof
US7653055B2 (en) Method and apparatus for improved multicast streaming in wireless networks
US8023533B2 (en) Data communication system, data transmitting apparatus, data transmitting method, and method for determining packet size and redundancy
US7190670B2 (en) Method and apparatus for multimedia streaming in a limited bandwidth network with a bottleneck link
JP3598110B2 (ja) データ伝送方法および装置
KR101292851B1 (ko) 가변적 fec 오버헤드 및 보호 구간을 이용하는 스트리밍및 버퍼링
EP1397899B1 (en) Real-time packetization and retransmission in streaming applications
JP4491257B2 (ja) 終端間測定に基づくネットワークへのデータストリームの許容の制御
KR101571145B1 (ko) 무선 근거리 네트워크들에서의 신뢰 가능한 멀티캐스트를 위해 병합된 자동 반복 요청으로 적응 순방향 에러 정정을 하기 위한 방법 및 장치
EP1482681B1 (en) Medium streaming distribution system
US7701884B2 (en) Network communications bandwidth control
US7254765B2 (en) Method and devices for error tolerant data transmission, wherein retransmission of erroneous data is performed up to the point where the remaining number of errors is acceptable
US7539925B2 (en) Transmission apparatus and method, reception apparatus and method, storage medium, and program
CA2517194C (en) Method and device for multimedia streaming
US7143132B2 (en) Distributing files from a single server to multiple clients via cyclical multicasting
JP4323432B2 (ja) ストリーミングメディアの伝送品質を高めるための方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050523

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070322

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: 20070724

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070806

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

Free format text: PAYMENT UNTIL: 20100824

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100824

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110824

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120824

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130824

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees