JP2005136548A - 送信装置および方法、記録媒体、並びにプログラム - Google Patents

送信装置および方法、記録媒体、並びにプログラム Download PDF

Info

Publication number
JP2005136548A
JP2005136548A JP2003368420A JP2003368420A JP2005136548A JP 2005136548 A JP2005136548 A JP 2005136548A JP 2003368420 A JP2003368420 A JP 2003368420A JP 2003368420 A JP2003368420 A JP 2003368420A JP 2005136548 A JP2005136548 A JP 2005136548A
Authority
JP
Japan
Prior art keywords
transmission
packet
rate
state
retransmission
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
JP2003368420A
Other languages
English (en)
Other versions
JP4362761B2 (ja
Inventor
Kenji Yamane
健治 山根
Yoshinobu Kure
嘉伸 久礼
Satoshi Futenma
智 普天間
Eizaburo Itakura
英三郎 板倉
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 JP2003368420A priority Critical patent/JP4362761B2/ja
Publication of JP2005136548A publication Critical patent/JP2005136548A/ja
Application granted granted Critical
Publication of JP4362761B2 publication Critical patent/JP4362761B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】送信レートを適正に制御するとともに、相手により確実に到達するように再送パケットを送信する。
【解決手段】 エンコーダ71は、RTPパケットの送信レートが所定の値となるようにストリーミングデータを符号化する。RTT計測部74は、往復伝搬遅延時間を取得する。レート制御部76は、往復伝搬遅延時間を基に、送信パケットの送信レートを増加させるか、減少させるか、または維持させるようにエンコーダ71に符号化を指示する。NACK処理部75は、再送用バッファ73のRTPパケットの再送が要求された場合、送信レートを増加させるように符号化を指示しているとき、要求された再送パケットを再送し、減少させるように符号化を指示しているとき、要求された再送パケットの再送を禁止するように、再送パケットの送信を制御する。本発明は、遠隔テレビ会議システムに適用できる。
【選択図】図3

Description

本発明は、送信装置および方法、記録媒体、並びにプログラムに関し、特に、相手が正常に受信できなかったパケットを再送する送信装置および方法、記録媒体、並びにプログラムに関する。
昨今、インターネットなど、種々の通信媒体を介して、画像データまたは音声データを伝送して提供するサービスが一般に行われている。特に、近年、ダウンロード型の伝送方式のサービスに加えて、ストリーム型の伝送方式のサービスがより多く提供されるようになってきた。
ダウンロード型の伝送方式のサービスにおいては、受信装置が、送信装置から送信された画像または音声のデータを格納するファイルを受信し、受信したファイルを自分の記録媒体に記録する。受信装置は、ファイルの記録が完了した後、記録したファイルを基に、画像または音声を再生する。ダウンロード型の伝送方式のサービスにおいては、ファイルの記録が完了するまでは、再生することができないので、ダウンロード型の伝送方式のサービスは、長時間の再生またはリアルタイムの再生には適さない。
一方、ストリーム型の伝送方式のサービスにおいては、受信装置が、送信装置から送信されてくるデータを受信するとともに、これに並行して、受信されたデータを基に画像または音声を再生する。ストリーム型の伝送方式は、インターネット電話、遠隔テレビ会議、またはビデオオンデマンドなどのインターネットサービスに利用されている。
ストリーム型の伝送方式において、送信装置から送信されてくるデータを、一般に、ストリーミングデータと称する。
より具体的な例として、ストリーム型の伝送方式は、画像データにMPEG(Moving Picture Experts Group)符号化処理を適用することにより生成されるMPEGストリームを格納する、IP(Internet Protocol)パケットをインターネットを介して伝送するシステムで使用される。このシステムにおいて、受信装置である、PC(Personal Computer)、PDA(Personal Digital Assistance)、または携帯電話機は、IPパケットを受信し、画像を再生する。
ストリーム型の伝送方式は、ビデオオンデマンド若しくはライブ映像のストリーミング配信、ビデオ会議、またはテレビ電話などのリアルタイム通信に適している。
このようなストリーム型の伝送方式の技術の1つとして、IETF RFC(Internet Engineering Task Force Request For Comments)1889で規定されているプロトコルであるRTP(Real time Transport Protocol)がある。
RTPに基づくデータ転送においては、生成された時刻を示すタイムスタンプがパケットに付加され、タイムスタンプの参照により送信側と受信側の時間的関係が把握されるので、受信側において、パケット伝送の遅延ゆらぎ(ジッター)などの影響が排除され、同期した再生が可能になる。
しかし、RTPにおいて、実時間のデータの伝送は保証されない。すなわち、パケット配信の優先度や設定、管理などは、RTPによって提供されるトランスポートサービスの範疇ではないため、他の方式のパケットと同様、ネットワーク上での遅延やパケットロスが生じる可能性がある。
遅延やパケットロスが生じても、受信側は、再生時刻までに受信されたパケットだけを利用してデータを再生することができる。すなわち、受信装置は、データに多少の損失や誤りが発生しても、品質を落として再生するか、またはデータの損失や誤りを訂正して再生する。
この場合、再生に間に合わず遅延して配送されたパケットやエラーの発生したパケットは、受信側でそのまま破棄される。つまり、高品質なデータ配信処理を行おうとしても、パケットロスやエラーが発生したときは、受信側の再生の品質は保証されない。
このようなRTPに従ったデータ伝送における問題を解決する案として、送信と受信の遅延が少ないARQ(Automatic Repeat Request)を用いることが考えられる。ARQにおいて、パケットロスが生じると、クライアントは、再送要求をサーバに送信し、サーバは、パケットロスが生じたパケットをクライアントに再送する。クライアントは、再送されたパケットを使用することで、ロスしたパケットを復元する。
また、送信側端末が、所定周期毎に制御情報をRTCP(RTP Control Protocol)パケットとして送信し、通信レートが目標レートに到達しない場合には所定周期とは非同期に送信レートを所定割合高くするように設定し、また、受信側端末から送られてきた制御情報に基づいて送信ロスがあったと判断した場合には、所定周期とは非同期に送信レートを所定割合低くするように設定し、いわゆるレート制御を実行するようにしているものもある(例えば、特許文献1参照)。
さらに、再送要求の処理タイミングとして、各フレームの先頭パケットの受信時、各フレームの最終パケットの受信時、最終処理期限、および一定間隔毎等の各種タイミングでロストパケットの検出処理を実行し、再送要求を実行し、データ受信端末が、再生処理時間、伝播遅延時間を考慮し、再生処理に間に合わない場合には、再生要求処理を実行しないようにしているものもある(特許文献2参照)。
特開平11−284659号公報
特開2003−169040号公報
しかしながら、レート制御処理と、ロスパケットの再送要求処理とを独立に行った場合、好ましい結果が得られない。
すなわち、送信レートを下げても、再送要求によって、伝送データ量が増加してしまい、さらに送信レートを下げなければならないという悪循環に陥り、ストリーミングデータが相手に到達できなくなってしまう場合があった。
本発明の送信装置は、送信パケットの送信レートが所定の値となるようにストリーミングデータを符号化する符号化手段と、通信網の伝送状態を取得する取得手段と、取得した伝送状態を基に、送信パケットの送信レートを増加させるか、減少させるか、または維持させるように符号化手段に符号化を指示する指示手段と、相手が正常に受信できなかった送信パケットに対応する再送パケットの再送が要求された場合、指示手段が送信レートを増加させるように符号化を指示しているとき、要求された再送パケットを再送し、指示手段が送信レートを減少させるように符号化を指示しているとき、要求された再送パケットの再送を禁止するように、再送パケットの送信を制御する送信制御手段とを含むことを特徴とする。
送信装置は、使用者の指示または通信網の伝送状態を基に、再送パケットの再送を制御するモードを設定する設定手段をさらに設け、送信制御手段は、指示手段が送信レートを維持させるように符号化を指示し、相手から再送パケットの再送が要求された場合、モードがオンに設定されているとき、要求された再送パケットを再送し、モードがオフに設定されているとき、要求された再送パケットの再送を禁止するように、再送パケットの送信を制御するようにすることができる。
設定手段は、取得手段で取得された伝送状態である、通信網の遅延時間が予め定めた第1の閾値以下で、かつ、送信パケットのロス率が予め定めた第2の閾値以下である場合、モードをオンに設定するようにすることができる。
伝送状態は、通信網の遅延時間とすることができる。
指示手段は、遅延時間が減少している場合、送信パケットの送信レートを増加させるかまたは維持させるように符号化手段に符号化を指示し、遅延時間が増加している場合、送信パケットの送信レートを維持させるかまたは減少させるように符号化手段に符号化を指示するようにすることができる。
伝送状態は、送信パケットのロス率とすることができる。
指示手段は、送信パケットのロス率が減少している場合、送信パケットの送信レートを増加させるかまたは維持させるように符号化手段に符号化を指示し、送信パケットのロス率が増加している場合、送信パケットの送信レートを維持させるかまたは減少させるように符号化手段に符号化を指示するようにすることができる。
本発明の送信方法は、送信パケットの送信レートが所定の値となるようにストリーミングデータを符号化する符号化ステップと、通信網の伝送状態を取得する取得ステップと、取得した伝送状態を基に、送信パケットの送信レートを増加させるか、減少させるか、または維持させるように符号化ステップにおける符号化を指示する指示ステップと、相手が正常に受信できなかった送信パケットに対応する再送パケットの再送が要求された場合、指示ステップにおいて送信レートを増加させるように符号化が指示されているとき、要求された再送パケットを再送し、指示ステップにおいて送信レートを減少させるように符号化が指示されているとき、要求された再送パケットの再送を禁止するように、再送パケットの送信を制御する送信制御ステップとを含むことを特徴とする。
本発明の記録媒体のプログラムは、送信パケットの送信レートが所定の値となるようにストリーミングデータを符号化する符号化ステップと、通信網の伝送状態を取得する取得ステップと、取得した伝送状態を基に、送信パケットの送信レートを増加させるか、減少させるか、または維持させるように符号化ステップにおける符号化を指示する指示ステップと、相手が正常に受信できなかった送信パケットに対応する再送パケットの再送が要求された場合、指示ステップにおいて送信レートを増加させるように符号化が指示されているとき、要求された再送パケットを再送し、指示ステップにおいて送信レートを減少させるように符号化が指示されているとき、要求された再送パケットの再送を禁止するように、再送パケットの送信を制御する送信制御ステップとを含むことを特徴とする。
本発明のプログラムは、コンピュータに、送信パケットの送信レートが所定の値となるようにストリーミングデータを符号化する符号化ステップと、通信網の伝送状態を取得する取得ステップと、取得した伝送状態を基に、送信パケットの送信レートを増加させるか、減少させるか、または維持させるように符号化ステップにおける符号化を指示する指示ステップと、相手が正常に受信できなかった送信パケットに対応する再送パケットの再送が要求された場合、指示ステップにおいて送信レートを増加させるように符号化が指示されているとき、要求された再送パケットを再送し、指示ステップにおいて送信レートを減少させるように符号化が指示されているとき、要求された再送パケットの再送を禁止するように、再送パケットの送信を制御する送信制御ステップとを実行させることを特徴とする。
送信装置は、独立した装置であっても良いし、通信装置の送信処理を行うブロックであっても良い。
本発明の送信装置および方法、記録媒体、並びにプログラムにおいては、送信パケットの送信レートが所定の値となるようにストリーミングデータが符号化され、通信網の伝送状態が取得され、取得された伝送状態を基に、送信パケットの送信レートを増加させるか、減少させるか、または維持させるように符号化を指示し、相手が正常に受信できなかった送信パケットに対応する再送パケットの再送が要求された場合、送信レートを増加させるように符号化を指示しているとき、要求された再送パケットを再送し、送信レートを減少させるように符号化を指示しているとき、要求された再送パケットの再送を禁止するように、再送パケットの送信が制御される。
送信レートを適正に制御するとともに、相手により確実に到達するように再送パケットを送信することができるようになる。
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
本発明によれば、送信装置が提供される。この送信装置は、送信パケット(例えば、図3のパケタイザ72から通信部39に供給されるRTPパケット)の送信レートが所定の値となるようにストリーミングデータを符号化する符号化手段(例えば、図3のエンコーダ71)と、通信網の伝送状態(例えば、往復伝搬遅延時間)を取得する取得手段(例えば、図3のRTT計測部74)と、取得した伝送状態を基に、送信パケットの送信レートを増加させるか、減少させるか、または維持させるように符号化手段に符号化を指示する指示手段(例えば、図3のレート制御部76)と、相手が正常に受信できなかった送信パケットに対応する再送パケット(例えば、再送用バッファ73に格納されているRTPパケット)の再送が要求された場合、指示手段が送信レートを増加させるように符号化を指示しているとき、要求された再送パケットを再送し、指示手段が送信レートを減少させるように符号化を指示しているとき、要求された再送パケットの再送を禁止するように、再送パケットの送信を制御する送信制御手段(例えば、図3のNACK処理部75)とを含む。
この送信装置は、使用者の指示または通信網の伝送状態を基に、再送パケットの再送を制御するモードを設定する設定手段(例えば、図3のモードスイッチ設定部78)をさらに設け、送信制御手段は、指示手段が送信レートを維持させるように符号化を指示し、相手から再送パケットの再送が要求された場合、モードがオンに設定されているとき(例えば、モードスイッチがオンであるとき)、要求された再送パケットを再送し、モードがオフに設定されているとき(例えば、モードスイッチがオフであるとき)、要求された再送パケットの再送を禁止するように、再送パケットの送信を制御するようにすることができる。
設定手段は、取得手段で取得された伝送状態である、通信網の遅延時間が予め定めた第1の閾値以下で、かつ、送信パケットのロス率が予め定めた第2の閾値以下である場合、モードをオンに設定するようにすることができる。
伝送状態は、通信網の遅延時間(例えば、往復伝搬遅延時間)とすることができる。
指示手段は、遅延時間が減少している場合、送信パケットの送信レートを増加させるかまたは維持させるように符号化手段に符号化を指示し、遅延時間が増加している場合、送信パケットの送信レートを維持させるかまたは減少させるように符号化手段に符号化を指示するようにすることができる。
伝送状態は、送信パケットのロス率とすることができる。
指示手段は、送信パケットのロス率が減少している場合、送信パケットの送信レートを増加させるかまたは維持させるように符号化手段に符号化を指示し、送信パケットのロス率が増加している場合、送信パケットの送信レートを維持させるかまたは減少させるように符号化手段に符号化を指示するようにすることができる。
本発明によれば、送信方法が提供される。この送信方法は、送信パケットの送信レートが所定の値となるようにストリーミングデータを符号化する符号化ステップ(例えば、図5のステップS14の処理)と、通信網の伝送状態(例えば、往復伝搬遅延時間)を取得する取得ステップ(例えば、図7のステップS35の処理)と、取得した伝送状態を基に、送信パケットの送信レートを増加させるか、減少させるか、または維持させるように符号化ステップにおける符号化を指示する指示ステップ(例えば、図7のステップS36乃至ステップS40の処理)と、相手が正常に受信できなかった送信パケットに対応する再送パケットの再送が要求された場合、指示ステップにおいて送信レートを増加させるように符号化が指示されているとき、要求された再送パケットを再送し、指示ステップにおいて送信レートを減少させるように符号化が指示されているとき、要求された再送パケットの再送を禁止するように、再送パケットの送信を制御する送信制御ステップ(例えば、図12のステップS91乃至ステップS93の処理)とを含む。
本発明によれば、プログラムが提供される。このプログラムは、コンピュータに、送信パケットの送信レートが所定の値となるようにストリーミングデータを符号化する符号化ステップ(例えば、図5のステップS14の処理)と、通信網の伝送状態(例えば、往復伝搬遅延時間)を取得する取得ステップ(例えば、図7のステップS35の処理)と、取得した伝送状態を基に、送信パケットの送信レートを増加させるか、減少させるか、または維持させるように符号化ステップにおける符号化を指示する指示ステップ(例えば、図7のステップS36乃至ステップS40の処理)と、相手が正常に受信できなかった送信パケットに対応する再送パケットの再送が要求された場合、指示ステップにおいて送信レートを増加させるように符号化が指示されているとき、要求された再送パケットを再送し、指示ステップにおいて送信レートを減少させるように符号化が指示されているとき、要求された再送パケットの再送を禁止するように、再送パケットの送信を制御する送信制御ステップ(例えば、図12のステップS91乃至ステップS93の処理)とを実行させる。
このプログラムは、記録媒体(例えば、図2の磁気ディスク51)に記録することができる。
本発明は、例えば、インターネット電話、遠隔テレビ会議システム、ライブ映像ストリーミング配信システム、またはテレビ電話などのリアルタイムにストリーミングデータを伝送する通信システムに適用できる。
図1は、本発明に係る通信システムの一実施の形態を示す図である。カメラ11は、画像を撮像して、撮像した画像に対応する画像データをサーバ12に供給する。例えば、カメラ11は、動画像を撮像して、動画像に対応する画像データをサーバ12に供給する。
画像データは、ストリーミングデータの一例である。ストリーミングデータは、音声のデータ、またはリアルタイム制御データなど、時間の経過に対応して順次送信または受信が要求されるデータであればよい。
サーバ12は、カメラ11から供給された画像データをパケットに格納して、パケットを通信網13を介して、クライアント14に送信する。
通信網13は、有線または無線の、通信回線、ネットワーク、またはインターネットなどからなる伝送路であり、所定の遅延時間で、サーバ12から送信されたパケットをクライアント14まで伝送する。
クライアント14は、通信網13を介してサーバ12から送信されてきたパケットを受信して、受信したパケットに格納されている画像データを抽出する。
クライアント14は、ストリーミングデータが格納されているパケットを正常に受信できなかった場合、サーバ12に再送を要求する。サーバ12は、クライアント14から再送が要求された場合、通信網13の状態などに応じて、ストリーミングデータが格納されているパケットを再送する。
図2は、サーバ12の構成の例を示すブロック図である。CPU(Central Processing Unit)31は、ROM(Read Only Memory)32、または記録部38に記録されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)33には、CPU31が実行するプログラムやデータなどが適宜記憶される。これらのCPU31、ROM32、およびRAM33は、バス34により相互に接続されている。
CPU31にはまた、バス34を介して入出力インタフェース35が接続されている。入出力インタフェース35には、キーボード、マウス、スイッチなどよりなる入力部36、ディスプレイ、スピーカ、ランプなどよりなる出力部37が接続されている。CPU31は、入力部36から入力される指令に対応して各種の処理を実行する。
入出力インタフェース35に接続されている記録部38は、例えばハードディスクなどで構成され、CPU31が実行するプログラムや各種のデータを記録する。通信部39は、インターネット、その他のネットワークなどの通信網13を介して、クライアント14などの外部の装置と通信する。
また、通信部39を介してプログラムを取得し、記録部38に記録してもよい。
入出力インタフェース35に接続されているドライブ40は、磁気ディスク51、光ディスク52、光磁気ディスク53、或いは半導体メモリ54などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部38に転送され、記録される。
なお、クライアント14は、サーバ12と同様に構成されるので、その説明は省略する。
図3は、サーバ12の機能の構成を示すブロック図である。
サーバ12は、エンコーダ71、パケタイザ72、再送用バッファ73、RTT(Round-Trip Time(往復伝搬遅延時間))計測部74、NACK(Negative Acknowledgment)処理部75、レート制御部76、RTCP(RTP Control Protocol)解析部77、およびモードスイッチ設定部78を含む。
エンコーダ71は、レート制御部76の制御に基づき、所定のビットレートで、供給されたストリーミングデータの一例である画像データを符号化し、符号化された画像データをパケタイザ72に供給する。パケタイザ72は、エンコーダ71から供給された、符号化されている画像データを所定の方式のパケットに格納して、パケットを通信部39および再送用バッファ73に供給する。
再送用バッファ73は、パケタイザ72から供給されたパケットを再送パケットとして一時的に記憶し、NACK処理部75の制御に基づいて、記憶している再送パケットを通信部39に供給する。
通信部39は、パケタイザ72から供給されたパケットを送信パケットとして、通信網13を介して、相手であるクライアント14に送信する。通信部39は、再送用バッファ73から供給された再送パケットを、通信網13を介して、相手に送信する。
RTT計測部74は、RTT計測パケットを通信部39に供給する。RTT計測パケットの詳細は後述する。RTT計測部74は、通信部39が受信し、通信部39から供給されたRTT計測パケットを基に、通信網13の往復伝搬遅延時間を算出する。RTT計測部74は、算出した往復伝搬遅延時間をレート制御部76およびモードスイッチ設定部78に供給する。
NACK処理部75は、モードスイッチ設定部78のモードスイッチの設定、および通信部39が受信し、通信部39から供給された再送要求パケットを基に、再送用バッファ73に格納されている再送パケットの相手への送信を制御する。再送要求パケットの詳細は後述する。
レート制御部76は、RTT計測部74から供給された往復伝搬遅延時間を基に、エンコーダ71の符号化のビットレートを制御する。すなわち、レート制御部76は、エンコーダ71の符号化のビットレートを制御することにより、通信部39における送信パケットの送信レートを制御する。例えば、レート制御部76は、送信レートを増加させるか、減少させるか、または維持させるようにエンコーダ71に符号化を指示する。
または、レート制御部76は、RTCP解析部77から供給されたパケットロス率を基に、エンコーダ71の符号化のビットレートを制御する。
RTCP解析部77は、通信部39が受信し、通信部39から供給されたレシーバレポートパケットから、クライアント14が受信した送信パケットのパケットロス率を抽出することにより、通信網13のパケットのロス率を取得して、取得したロス率をモードスイッチ設定部78およびレート制御部76に供給する。
モードスイッチ設定部78は、使用者の操作に対応した入力部36からの信号、RTT計測部74から供給された往復伝搬遅延時間、またはRTCP解析部77から供給されたロス率を基に、モードスイッチをオンまたはオフに設定する。モードスイッチは、送信レートが維持されている場合に、再送パケットの再送を許可するか否か、すなわち、いわゆるARQの処理を実行するか否かを示す。
図4は、クライアント14の機能の構成を示すブロック図である。
クライアント14は、通信部91、RTP処理部92、バッファ93、デコーダ94、NACK処理部95、およびRTT処理部96を含む。
通信部91は、クライアント14の図2における通信部39に相当し、通信網13を介してサーバ12から送信されてきた各種のパケットを受信する。通信部91は、受信したパケットをRTP処理部92またはRTT処理部96に供給する。
RTP処理部92は、通信部91が受信し、通信部91から供給された送信パケットであるRTPパケットから画像データを抽出して、抽出した画像データをバッファ93に供給する。RTP処理部92は、正常に送信パケットを受信できなかった場合、例えば、パケットロスが発生した場合、パケットロスが発生した送信パケットを示す情報をNACK処理部95に供給する。
バッファ93は、RTP処理部92から供給された画像データを一時的に記憶する。
デコーダ94は、エンコーダ71に対応する復号方式で、バッファ93に記憶されている画像データを復号して、復号された画像データを出力する。
NACK処理部95は、RTP処理部92から供給されたパケットロスが発生した送信パケットを示す情報を基に、パケットロスが発生した送信パケットの再送を要求する再送要求パケットを生成して、通信部91に供給する。再送要求パケットは、例えば、後述するNACKパケットである。NACKパケットの詳細は、後述する。
通信部91は、NACK処理部95から供給された再送要求パケットを通信網13を介して相手であるサーバ12に送信する。
RTT処理部96は、通信部91が受信し、通信部91から供給されたRTT計測パケットを取得する。RTT処理部96は、取得したRTT計測パケットのデータ部と同じデータ部を含むRTT計測パケットを生成して、生成したRTT計測パケットを通信部91に供給する。通信部91は、RTT処理部96から供給されたRTT計測パケットを通信網13を介して相手であるサーバ12に送信する。RTT計測パケットの詳細は、後述する。
なお、図3または図4で示されるサーバ12またはクライアント14の機能は、ハードウェアにより実現するようにしてもよく、ソフトウェア(プログラム)により実現するようにしてもよい。
次に、図5のフローチャートを参照して、送信プログラムを実行するサーバ12による、送信の処理を説明する。ステップS11において、サーバ12は、送信の処理に必要なデータを初期化する。例えば、ステップS11において、サーバ12のエンコーダ71は、内蔵しているタイマおよび送信レートを初期値に設定する。より具体的には、例えば、エンコーダ71は、タイマの値を0に設定して、送信レートを1Mbpsに設定する。
ステップS12において、エンコーダ71は、タイマの値を基に、タイマが終了したか否かを判定し、タイマが終了していない場合、ステップS12に戻り、タイマが終了するまで、判定の処理を繰り返す。
例えば、ステップS12において、エンコーダ71は、タイマの値と、33msとを比較することにより、タイマが終了したか否かを判定する。この場合における、タイマの値と比較される33msは、フレームの数が1秒当たり30である場合の例であり、本発明を限定するものではない。
なお、初期化の処理において、タイマの値を33msなどの所定の値に設定して、時間の経過に対応してタイマの値が減少するようにして、比較の処理において、タイマの値が0であるか否かを判定するようにしてもよい。以下に説明するタイマに関する処理において、同様である。
ステップS12において、タイマが終了したと判定された場合、ステップS13に進み、カメラ11から供給された画像データをキャプチャする。ステップS13において、例えば、エンコーダ71は、カメラ11から供給された画像データのうち、1フレーム分をキャプチャする。
ステップS14において、エンコーダ71は、キャプチャされた画像データを、エンコード(符号化)する。例えば、ステップS14において、エンコーダ71は、キャプチャされた画像データを、設定された送信レートとなるように、JPEG(Joint Photographic Experts Group)、JPEG2000、またはモーションJPEGなどの方式により符号化する。
例えば、ステップS14において、エンコーダ71は、レート制御部76の指示に基づいて、画像データが格納される送信パケットが所定の送信レートとなるように、所定のレートで画像データを符号化する。
ステップS15において、パケタイザ72は、符号化された画像データを格納するRTP(Real-time Transport Protocol)パケットを生成する。RTPパケットは、送信パケットの一例である。
図6は、RTPパケットを説明する図である。RTPパケットの先頭には、図6において”v”で表される、2ビットのバージョン情報が配置される。バージョン情報は、RTPパケットのバージョンを示す。
バージョン情報の次に1ビットのパディングが配置され、パディングに続いて、1ビットの拡張情報がRTPパケットに配置される。拡張情報は、図6において、”x”で表される。拡張情報は、RTPパケットに拡張ヘッダを配置する場合に、所定の値に設定される。
拡張情報に続いて、CSRC(Contributing Source)カウントがRTPパケットに配置される。CSRCカウントは、図6中において、”cc”で表される。CSRCカウントは、CSRC識別子の数を表す。
CSRCカウントに続いて配置される、1ビットのメーカー情報は、プロファイルによって定義される。メーカー情報は、図6中において、”m”で表される。
メーカー情報に続いて配置される、7ビットのペイロードタイプは、RTPパケットのフォーマットを定義するための情報である。ペイロードタイプは、図6中において、”Pt”で表される。RTPパケットにおいて、ペイロードタイプは、33とされる。
シーケンス番号は、ペイロードタイプの次に配置される、16ビットの情報である。シーケンス番号は、RTPパケットの送信の度に、1ずつ増える。シーケンス番号は、パケットロスを検出し、RTPパケットの順序を修復するために使用される。
シーケンス番号の次に配置される、32ビットのタイムスタンプは、そのRTPパケットに格納されているストリーミングデータの最初のオクテットがサンプルされた時刻を示す情報である。
SSRC(Synchronization source)識別子は、タイムスタンプの次に配置される、32ビットの情報であって、RTPパケットに格納されるストリーミングデータのソースを示す。
RTPパケットにおいて、SSRC識別子の次には、ストリーミングデータが格納される。図6において、”Original Data”は、ストリーミングデータを示す。
図5に戻り、ステップS16において、パケタイザ72は、RTPパケットを再送用バッファ73に供給して、再送用バッファ73にRTPパケットを再送パケットとして格納させる。
なお、送信パケットと再送パケットとは、例えば、RTPパケットである、同じパケットであるが、説明のために、送信パケットと再送パケットとを区別する。
ステップS17において、パケタイザ72は、生成したRTPパケットを通信部39に供給して、通信部39は、パケタイザ72から供給されたRTPパケットを送信する。
ステップS18において、パケタイザ72は、RTPパケットに付加するRTPタイムスタンプを更新する。ステップS19において、エンコーダ71は、内蔵しているタイマをセットして、ステップS12に戻り、上述した処理を繰り返す。
例えば、ステップS19において、エンコーダ71は、タイマの値を0をセットする。
このように、サーバ12は、通信網13を介して、例えば、画像であるストリーミングデータが格納されているRTPパケットをクライアント14に送信する。
次に、図7のフローチャートを参照して、送信プログラムを実行するサーバ12による、送信レートの更新の処理を説明する。ステップS31において、RTT計測部74は、タイマを初期化する。例えば、ステップS31において、RTT計測部74は、タイマの値を0に設定することにより初期化する。
ステップS32において、NACK処理部75は、通信部39が受信し、通信部39から供給されたパケットを基に、NACKパケットを受信したか否かを判定する。ステップS32において、NACKパケットを受信したと判定された場合、ステップS33に進み、NACK処理部75、再送用バッファ73、および通信部39は、再送の処理を実行して、手続きは、ステップS32に戻り、送信レートの更新の処理を繰り返す。再送の処理の詳細は、後述する。
図8は、NACKパケットを説明する図である。バージョン情報、パディング、およびSSRC識別子は、図6で示されるRTPパケットの場合と同様であるので、その説明は省略する。
NACKパケットにおいて、ペイロードタイプは、204とされる。ペイロードタイプの次に配置される、16ビットのメッセージ長は、NACKパケットの長さ(サイズ)を示す情報である。
NACKパケットにおいて、32ビットのSSRC識別子に続いて、32ビットの名前が配置される。名前は、例えば、NACKパケットを取り扱うアプリケーションプログラムの名前である。
名前に続いて配置される32ビットの要求シーケンス番号は、パケットロスが発生したRTPパケット、すなわち、クライアント14によって再送が要求されるパケットを特定するシーケンス番号を示す。
ステップS32において、NACKパケットを受信していないと判定された場合、ステップS34に進み、RTT計測部74は、通信部39が受信し、通信部39から供給されたパケットを基に、RTT計測パケットを受信したか否かを判定する。ステップS34において、RTT計測パケットを受信したと判定された場合、ステップS35に進み、RTT計測部74は、往復伝搬遅延時間を計算する。
ステップS36において、RTT計測部74は、ステップS35の処理で計算された往復伝搬遅延時間を記憶する。なお、ステップS36において、RTT計測部74は、前回の往復伝搬遅延時間とは別に、今回の往復伝搬遅延時間を記憶する。
図9は、RTT計測パケットを説明する図である。バージョン情報、パディング、およびSSRC識別子、および名前は、図8で示されるNACKパケットの場合と同様であるので、その説明は省略する。
RTT計測パケットにおいて、ペイロードタイプは、205とされる。
RTT計測パケットにおいて名前の次に格納される送信時刻は、サーバ12がクライアント14に、そのRTT計測パケットを送信した時刻を示す。
また、クライアント14は、RTT計測パケットの送信時刻をそのままにして、サーバ12にそのRTT計測パケットを即座に返送するので、サーバ12が受信したRTT計測パケットに格納される送信時刻は、クライアント14がサーバ12に送信してきたRTT計測パケットに対応するRTT計測パケットをサーバ12がクライアント14に送信した時刻を示す。
従って、サーバ12は、RTT計測パケットの送信時刻を現在時刻から引き算することにより、往復伝搬遅延時間を計算することができる。
すなわち、例えば、ステップS35において、RTT計測部74は、図示せぬリアルタイムクロックによって示されるRTT計測パケットを受信した時刻から、RTT計測パケットに格納されている送信時刻を引き算することにより、往復伝搬遅延時間を計算する。
ステップS37において、RTT計測部74は、ステップS36の処理により今回の往復伝搬遅延時間と前回の往復伝搬遅延時間とを記憶しているので、今回の往復伝搬遅延時間が、前回の往復伝搬遅延時間を1.1倍した値より大きいか否かを判定する。ステップS37において、今回の往復伝搬遅延時間が、前回の往復伝搬遅延時間を1.1倍した値より大きいと判定された場合、往復伝搬遅延時間が増加しているので、ステップS38に進み、RTT計測部74は、遅延時間状態を増加状態として、遅延時間状態が増加状態であることを示す信号をレート制御部76に供給する。
ステップS39において、レート制御部76は、送信レート状態の遷移の処理を実行する。送信レート状態の遷移の処理の詳細は、後述する。
ステップS40において、レート制御部76は、ステップS39の処理で決定された送信レート状態を基に、送信レートを更新して、ステップS32に戻り、送信レートの更新の処理を繰り返す。例えば、ステップS40において、レート制御部76は、ステップS39の処理で決定された送信レート状態を基に、エンコーダ71の符号化のビットレートを制御することにより、通信部39における送信パケットの送信レートを更新する。
より詳細には、例えば、ステップS40において、レート制御部76は、送信レート状態がレート維持状態である場合、エンコーダ71の符号化のビットレートを、変更させずに、一定状態とするように制御することにより、通信部39における送信パケットの送信レートを変更させずに、一定状態とする。例えば、ステップS40において、レート制御部76は、送信レート状態がレート増加状態である場合、エンコーダ71の符号化のビットレートを、現在の1.1倍とするように制御することにより、通信部39における送信パケットの送信レートを1.1倍に増加させる。また、例えば、ステップS40において、レート制御部76は、送信レート状態がレート減少状態である場合、エンコーダ71の符号化のビットレートを、現在の0.9倍とするように制御することにより、通信部39における送信パケットの送信レートを0.9倍に減少させる。
なお、通信部39における送信パケットの送信レートに、上限および下限を設けるようにしてもよい。また、エンコーダ71における符号化のビットレートに、上限および下限を設けるようにしてもよい。
ステップS37において、今回の往復伝搬遅延時間が、前回の往復伝搬遅延時間を1.1倍した値より大きくないと判定された場合、ステップS41に進み、RTT計測部74は、今回の往復伝搬遅延時間が、前回の往復伝搬遅延時間を0.9倍した値より小さいか否かを判定する。ステップS41において、今回の往復伝搬遅延時間が、前回の往復伝搬遅延時間を0.9倍した値より小さいと判定された場合、往復伝搬遅延時間が減少しているので、ステップS42に進み、RTT計測部74は、遅延時間状態を減少状態として、遅延時間状態が減少状態であることを示す信号をレート制御部76に供給する。ステップS42の処理の後、手続きは、ステップS39に進み、送信レート状態の遷移の処理を実行するとともに、送信レートを更新して、ステップS32に戻り、送信レートの更新の処理を繰り返す。
ステップS41において、今回の往復伝搬遅延時間が、前回の往復伝搬遅延時間を0.9倍した値より小さくないと判定された場合、往復伝搬遅延時間がほぼ一定しているので、ステップS43に進み、RTT計測部74は、遅延時間状態を一定状態として、遅延時間状態が一定状態であることを示す信号をレート制御部76に供給する。ステップS43の処理の後、手続きは、ステップS39に進み、送信レート状態の遷移の処理を実行するとともに、送信レートを更新して、ステップS32に戻り、送信レートの更新の処理を繰り返す。
一方、ステップS34において、RTT計測パケットを受信していないと判定された場合、新たに往復伝搬遅延時間を計算することはできないので、ステップS44に進み、RTT計測部74は、タイマが終了したか否かを判定する。例えば、ステップS34において、RTT計測部74は、タイマの値と、予め定めたRTT計測パケットを送信する間隔とを比較することにより、タイマが終了したか否かを判定する。
ステップS44において、タイマが終了したと判定された場合、ステップS45に進み、RTT計測部74は、RTT計測パケットを生成して、生成されたRTT計測パケットを通信部39に供給して、通信部39に通信網13を介してRTT計測パケットをクライアント14宛に送信させる。
ステップS46において、RTT計測部74は、タイマをセットして、ステップS32に戻り、送信レートの更新の処理を繰り返す。例えば、ステップS46において、RTT計測部74は、タイマの値を0に設定する。
ステップS44において、タイマが終了していないと判定された場合、RTT計測パケットを送信する必要はないので、ステップS32に戻り、送信レートの更新の処理を繰り返す。
このように、サーバ12は、RTT計測パケットを受信した場合、通信網13の往復伝搬遅延時間に基づいて、送信レートを更新する。
次に、図10のフローチャートを参照して、図7のステップS39の処理に対応する送信レート状態の遷移の処理の詳細を説明する。ステップS61において、レート制御部76は、自分が記憶している送信レート状態を基に、送信レート状態がレート維持状態であるか否かを判定し、送信レート状態がレート維持状態であると判定された場合、ステップS62に進み、RTT計測部74から供給された信号を基に、遅延時間状態が増加状態であるか否かを判定する。
ステップS62において、遅延時間状態が増加状態であると判定された場合、ステップS63に進み、レート制御部76は、自分が記憶している、レート維持状態である送信レート状態をレート減少状態に遷移させて、処理は終了する。
ステップS62において、遅延時間状態が増加状態でないと判定された場合、ステップS64に進み、レート制御部76は、RTT計測部74から供給された信号を基に、遅延時間状態が減少状態であるか否かを判定する。
ステップS64において、遅延時間状態が減少状態であると判定された場合、ステップS65に進み、レート制御部76は、自分が記憶している、レート維持状態である送信レート状態をレート増加状態に遷移させて、処理は終了する。
ステップS64において、遅延時間状態が減少状態でないと判定された場合、遅延時間状態は一定状態なので、ステップS66に進み、レート制御部76は、自分が記憶している、レート維持状態である送信レート状態を維持して(状態を遷移させないで)、処理は終了する。
ステップS61において、送信レート状態がレート維持状態でないと判定された場合、ステップS67に進み、レート制御部76は、自分が記憶している送信レート状態を基に、送信レート状態がレート増加状態であるか否かを判定する。
ステップS67において、送信レート状態がレート増加状態であると判定された場合、ステップS68に進み、レート制御部76は、RTT計測部74から供給された信号を基に、遅延時間状態が増加状態であるか否かを判定する。
ステップS68において、遅延時間状態が増加状態であると判定された場合、ステップS69に進み、レート制御部76は、自分が記憶している、レート増加状態である送信レート状態をレート維持状態に遷移させて、処理は終了する。
ステップS68において、遅延時間状態が増加状態でないと判定された場合、遅延時間状態は減少状態であるか、または一定状態なので、ステップS70に進み、レート制御部76は、自分が記憶している、レート増加状態である送信レート状態を維持して(状態を遷移させないで)、処理は終了する。
ステップS67において、送信レート状態がレート増加状態でないと判定された場合、送信レート状態はレート減少状態なので、ステップS71に進み、レート制御部76は、RTT計測部74から供給された信号を基に、遅延時間状態が減少状態であるか否かを判定する。
ステップS71において、遅延時間状態が減少状態であると判定された場合、ステップS72に進み、レート制御部76は、自分が記憶している、レート減少状態である送信レート状態をレート維持状態に遷移させて、処理は終了する。
ステップS71において、遅延時間状態が減少状態でないと判定された場合、遅延時間状態は増加状態であるか、または一定状態なので、ステップS73に進み、レート制御部76は、自分が記憶している、レート減少状態である送信レート状態を維持して(状態を遷移させないで)、処理は終了する。
このように、レート制御部76は、遅延時間状態に基づいて、送信レート状態を遷移させるか、維持させる。
図11は、送信レート状態の状態遷移図である。図11のSは、レート維持状態を示し、Uは、レート増加状態を示し、Dは、レート減少状態を示す。
なお、レート維持状態は、処理を開始する場合の初期状態でもある。
送信レート状態がレート維持状態である場合、遅延時間状態が増加状態であるとき、送信レート状態は、レート減少状態に遷移する。送信レート状態がレート維持状態である場合、遅延時間状態が減少状態であるとき、送信レート状態は、レート増加状態に遷移する。送信レート状態がレート維持状態である場合、遅延時間状態が一定状態であるとき、送信レート状態は、遷移しないで、レート維持状態に維持される。
送信レート状態がレート増加状態である場合、遅延時間状態が増加状態であるとき、送信レート状態は、レート維持状態に遷移する。送信レート状態がレート増加状態である場合、遅延時間状態が一定状態または減少状態であるとき、送信レート状態は、遷移しないで、レート増加状態に維持される。
送信レート状態がレート減少状態である場合、遅延時間状態が減少状態であるとき、送信レート状態は、レート維持状態に遷移する。送信レート状態がレート減少状態である場合、遅延時間状態が一定状態または増加状態であるとき、送信レート状態は、遷移しないで、レート減少状態に維持される。
次に、図12のフローチャートを参照して、図7のステップS33の処理に対応する再送の処理の詳細を説明する。ステップS91において、NACK処理部75は、レート制御部76から供給される信号を基に、送信レート状態がレート増加状態であるか否かを判定し、送信レート状態がレート増加状態であると判定された場合、通信網13に再送パケットをさらに伝送できる余裕があるので、ステップS92に進み、要求されたシーケンス番号のRTPパケットを再送して、処理は終了する。すなわち、例えば、ステップS92において、NACK処理部75は、再送用バッファ73に、受信したNACKパケットの要求シーケンス番号によって特定される、再送パケットであるRTPパケットを通信部39に供給させる。そして、通信部39は、再送用バッファ73から供給された再送パケットであるRTPパケットを通信網13を介してクライアント14に送信する。
ステップS91において、送信レート状態がレート増加状態でないと判定された場合、ステップS93に進み、NACK処理部75は、レート制御部76から供給される信号を基に、送信レート状態がレート減少状態であるか否かを判定する。ステップS93において、送信レート状態がレート減少状態であると判定された場合、通信網13に再送パケットをさらに伝送できる余裕がないので、再送パケットを再送しないで、処理は終了する。
ステップS93において、送信レート状態がレート減少状態でないと判定された場合、送信レート状態がレート維持状態なので、ステップS94に進み、NACK処理部75は、モードスイッチ設定部78により設定されたモードスイッチがオンであるか否かを判定する。
なお、モードスイッチのオンまたはオフは、再送パケットの再送を制御するモードの一例である。
ステップS94において、モードスイッチがオンであると判定された場合、レート維持状態における再送パケットの再送が指示されているので、ステップS95に進み、NACK処理部75は、ステップS92の処理と同様の処理で、要求されたシーケンス番号のRTPパケットを再送して、処理は終了する。
ステップS94において、モードスイッチがオンでないと判定された場合、モードスイッチがオフであり、レート維持状態における再送パケットの再送が禁止されているので、再送パケットを再送しないで、処理は終了する。
このように、サーバ12は、通信網13の伝送状態に応じて、送信レートを制御すると共に、送信レートの制御の状態に対応して、再送パケットを再送するかまたは再送を禁止する。例えば、サーバ12は、クライアント14から、正常に受信できなかった送信パケットに対応する再送パケットの再送が要求された場合、レート制御部76が送信レートを増加させるように符号化を指示しているとき、要求された再送パケットを再送し、レート制御部76が送信レートを減少させるように符号化を指示しているとき、要求された再送パケットの再送を禁止するように、再送パケットの送信を制御する。
すなわち、再送パケットは、通信網13に再送パケットをさらに伝送できる余裕がある場合、再送され、通信網13に再送パケットをさらに伝送できる余裕がない場合、再送されない。これにより、通信網13に再送パケットをさらに伝送できる余裕がない場合、再送パケットの再送を禁止するので、通信網13への負荷、すなわち、送信レートが適正に制御することができる。
同時に、通信網13に再送パケットをさらに伝送できる余裕がある場合、再送パケットが送信されるので、クライアント14に、より確実に到達するように再送パケットを送信することができる。
次に、RTT計測パケットまたはレシーバレポートパケットを受信した場合に実行される、モードスイッチの設定の処理を説明する。
図13は、モードスイッチの設定の処理を説明するフローチャートである。
ステップS121において、モードスイッチ設定部78は、使用者の操作に対応した入力部36からの信号を取得して、取得された信号の値から、使用者からモードスイッチのオンが指示されたか否かを判定する。ステップS121において、モードスイッチのオンが指示されたと判定された場合、ステップS122に進み、モードスイッチ設定部78は、モードスイッチをオンに設定して、モードスイッチがオンであることを示す信号をNACK処理部75に供給して、ステップS121に戻り、モードスイッチの設定の処理を繰り返す。
ステップS121において、モードスイッチのオンが指示されていないと判定された場合、ステップS123に進み、モードスイッチ設定部78は、使用者の操作に対応した入力部36からの信号を取得して、取得された信号の値から、使用者からモードスイッチのオフが指示されたか否かを判定する。
ステップS123において、モードスイッチのオフが指示されたと判定された場合、ステップS124に進み、モードスイッチ設定部78は、モードスイッチをオフに設定して、モードスイッチがオフであることを示す信号をNACK処理部75に供給して、ステップS121に戻り、モードスイッチの設定の処理を繰り返す。
ステップS123において、モードスイッチのオフが指示されていないと判定された場合、使用者からの指示がないので、ステップS125に進み、モードスイッチ設定部78は、RTT計測部74から供給された往復伝搬遅延時間を示す信号を基に、往復伝搬遅延時間が予め定めた閾値以下であるか否かを判定する。ステップS125において、往復伝搬遅延時間が予め定めた閾値以下であると判定された場合、ステップS126に進み、モードスイッチ設定部78は、RTCP解析部77から供給された、クライアント14における送信パケットであるRTPパケットのロス率を示す情報を基に、ロス率が予め定めた閾値以下であるか否かを判定する。
例えば、ステップS125の処理において、往復伝搬遅延時間と比較される閾値は、100msとすることができる。例えば、ステップS126の処理において、ロス率と比較される閾値は、5%とすることができる。
ステップS126において、ロス率が予め定めた閾値以下であると判定された場合、ステップS122に進み、モードスイッチ設定部78は、モードスイッチをオンに設定して、モードスイッチがオンであることを示す信号をNACK処理部75に供給して、ステップS121に戻り、モードスイッチの設定の処理を繰り返す。
ステップS125において、往復伝搬遅延時間が予め定めた閾値以下でないと判定された場合、またはステップS126において、ロス率が予め定めた閾値以下でないと判定された場合、ステップS124に進み、モードスイッチ設定部78は、モードスイッチをオフに設定して、モードスイッチがオフであることを示す信号をNACK処理部75に供給して、ステップS121に戻り、モードスイッチの設定の処理を繰り返す。
なお、往復伝搬遅延時間またはロス率のいずれか一方が予め定めた閾値以下である場合に、モードスイッチをオンに設定するようにしてもよい。
このように、モードスイッチ設定部78は、使用者の指示に基づいて、モードスイッチを設定するか、または通信網13の伝送状態を基に、モードスイッチを設定する。このようにすることで、レート維持状態において、使用者の要求に応じて、サーバ12は、クライアント14に再送パケットを送信することができる。
また、通信網13の伝送状態を基に、モードスイッチを設定するようにした場合、レート維持状態において、サーバ12は、送信パケットの伝送への影響をより少なくして、ライアント14に再送パケットを送信することができる。
次に、図14のフローチャートを参照して、通信プログラムを実行するクライアント14のデコードの処理を説明する。ステップS151において、デコーダ94は、デコードの処理に必要なデータを初期化する。例えば、ステップS151において、デコーダ94は、500msの期間、待ち状態となって待機して、バッファ93が、所定の量の画像データを記憶するまで待つ。また、例えば、画像データが1秒当たり30フレームからなる場合、ステップS151において、デコーダ94は、内蔵しているタイマの値を33msに設定する。
ステップS152において、デコーダ94は、タイマの値を基に、タイマが終了したか否かを判定し、タイマが終了していない場合、ステップS152に戻り、タイマが終了するまで、判定の処理を繰り返す。
例えば、ステップS152において、時間の経過に対応して減算されるタイマの値が、0になったか否かを基に、デコーダ94は、タイマが終了したか否かを判定する。
ステップS152において、タイマが終了したと判定された場合、ステップS153に進み、デコーダ94は、バッファ93から1フレーム分のデータを取得する。ステップS154において、デコーダ94は、ステップS153の処理で取得したデータをデコードして、デコードにより得られた画像データを出力する。
ステップS155において、デコーダ94は、内蔵しているタイマをセットして、ステップS151に戻り、上述した処理を繰り返す。例えば、ステップS19において、デコーダ94は、内蔵しているタイマの値を33msに設定する。
ステップS152において、タイマが終了していないと判定された場合、ステップS156に進み、通信部91は、パケットを受信し、受信したパケットをRTP処理部92に供給する。ステップS157において、RTP処理部92は、RTPパケットを受信したか否かを判定し、RTPパケットを受信したと判定された場合、ステップS158に進み、受信したRTPパケットを基に、RTPパケットを正常に受信できなかったか否か、すなわち、パケットロスが発生したか否かを判定する。
ステップS158において、パケットロスが発生したと判定された場合、ステップS159において、RTP処理部92は、パケットロスが発生したことを示す信号をNACK処理部95に供給して、NACK処理部95は、NACKパケットを生成して、生成したNACKパケットを通信部91に供給する。そして、NACK処理部95は、通信部91に、通信網13を介して、ロスパケットに対応するNACKパケットをサーバ12宛てに送信させて、ステップS151に戻り、上述した処理を繰り返す。
ステップS157において、RTPパケットを受信していないと判定された場合、または、ステップS158において、パケットロスが発生していないと判定された場合、再送を要求する必要がないので、ステップS159の処理をスキップして、NACKパケットを送信することなく、ステップS151に戻り、上述した処理を繰り返す。
このように、クライアント14は、パケットロスが発生した場合、再送を要求するNACKパケットをサーバ12に送信する。
次に、図15のフローチャートを参照して、RTT計測パケットの返信の処理を説明する。ステップS181において、RTT処理部96は、通信部91がパケットを受信した場合に、通信部91から供給されたパケットを基に、RTT計測パケットを受信したか否かを判定し、RTT計測パケットを受信していないと判定された場合、ステップS181に戻り、RTT計測パケットが受信されるまで、判定の処理を繰り返す。
ステップS181において、RTT計測パケットを受信したと判定された場合、ステップS182に進み、RTT処理部96は、直ちに、受信したRTT計測パケットのデータ部(図9のヘッダを除いた部分)と同様のデータ部のRTT計測パケットを生成して、生成したRTT計測パケットを通信部91に供給する。そして、RTT処理部96は、通信部91に、通信網13を介して、RTT計測パケットをサーバ12宛てに直ちに送信させて、ステップS181に戻り、上述した処理を繰り返す。
このように、クライアント14は、RTT計測パケットを受信すると、直ちに、サーバ12にRTT計測パケットを返送する。
図16は、以上で説明した、本発明に係る通信システムによる、再送パケットの再送の処理を説明する図である。
図16Aで示されるように、サーバ12がクライアント14に、通信網13を介して、RTT計測パケットを送信して、クライアント14が、RTT計測パケットを受信した場合、通信網13を介して、受信したRTT計測パケットに対応するRTT計測パケットを直ちに返送する。
上述したようにRTT計測パケットには、サーバ12がクライアント14に送信した時刻が格納されているので、サーバ12は、クライアント14から返送されたRTT計測パケットを受信した場合、現在時刻から、RTT計測パケットに格納されている時刻を引き算することにより、往復伝搬遅延時間を算出する。
図16Bは、送信レート状態の遷移およびモードスイッチの設定の例を示す図である。図16Cは、サーバ12とクライアント14との送信パケット、NACKパケット、および再送パケットの送信の例を示す図である。
図16Bで示されるように、例えば、送信レート状態がレート減少状態である場合、図16Cで示されるように、クライアント14が、サーバ12から送信されてきた送信パケット101−1を正常に受信できず、送信パケット101−2を正常に受信できたとき、クライアント14は、送信パケット101−1に対応する再送パケットを要求するNACKパケットをサーバ12に送信するが、サーバ12は、要求された再送パケットを再送しない。
例えば、送信レート状態がレート減少状態(図16B中のDで示される状態)である場合、往復伝搬遅延時間が1.0から0.8に変化したとき、送信レート状態は、レート維持状態(図16B中のSで示される状態)に遷移する。
レート維持状態において、モードスイッチがオフである場合、クライアント14が、サーバ12から送信されてきた送信パケット101−3を正常に受信できず、送信パケット101−4を正常に受信できたとき、送信パケット101−3に対応する再送パケットを要求するNACKパケットをサーバ12に送信するが、サーバ12は、要求された再送パケットを再送しない。
例えば、送信レート状態がレート維持状態である場合、往復伝搬遅延時間が0.8から0.5に変化したとき、送信レート状態は、レート増加状態(図16B中のUで示される状態)に遷移する。
クライアント14が、サーバ12から送信されてきた送信パケット101−5を正常に受信できず、送信パケット101−6を正常に受信できたとき、クライアント14は、送信パケット101−5に対応する再送パケットを要求するNACKパケットをサーバ12に送信する。レート増加状態において、NACKパケットを受信したサーバ12は、送信パケット101−5に対応する再送パケット102−5をクライアント14に再送する。
例えば、送信レート状態がレート増加状態である場合、往復伝搬遅延時間が0.5から0.8に変化したとき、送信レート状態は、レート維持状態に遷移する。
クライアント14が、サーバ12から送信されてきた送信パケット101−7を正常に受信できず、送信パケット101−8を正常に受信できたとき、クライアント14は、送信パケット101−7に対応する再送パケットを要求するNACKパケットをサーバ12に送信する。レート維持状態において、モードスイッチがオンである場合、NACKパケットを受信したサーバ12は、送信パケット101−7に対応する再送パケット102−7をクライアント14に再送する。
サーバ12は、往復伝搬遅延時間に限らず、通信網13の他の伝送状態を基に、送信レートを更新することができる。例えば、サーバ12は、パケットのロス率を基に、送信レートを更新することができる。
次に、図17のフローチャートを参照して、パケットのロス率を基にした、送信レートの更新の他の処理を説明する。ステップS201乃至ステップS203の処理は、図7におけるステップS31乃至ステップS33の処理と同様なので、その説明は省略する。
ステップS204において、RTCP解析部77は、通信部39が受信し、通信部39から供給されたパケットを基に、レシーバレポートパケットを受信したか否かを判定する。例えば、レシーバレポートパケットは、RFC1889に基づく方式を有する。ステップS204において、レシーバレポートを受信したと判定された場合、ステップS205に進み、RTCP解析部77は、ロス率を抽出する。
図18は、レシーバレポートパケットを説明する図である。バージョン情報、パディング、およびメッセージ長は、図8示されるNACKパケットの場合と同様であるので、その説明は省略する。
レシーバレポートパケットにおいて、ペイロードタイプは、201とされる。
レシーバレポートパケットには、さらに、送信者の同期ソース識別子、パケットロス率、累積喪失パケット数、最大受信シーケンス番号、パケット間隔ジッタ、最新送信レポート時刻、および送信レポート経過時間が格納されている。
送信者の同期ソース識別子は、例えば、クライアント14を特定する識別子である。パケットロス率は、クライアント14における、送信パケットであるRTPパケットのロス率を示す。
最大受信シーケンス番号は、クライアント14において受信されたRTPパケットに格納されているシーケンス番号のうち、最大のシーケンス番号を示す。パケット間隔ジッタは、クライアント14において受信されたRTPパケットのジッタを示す。
最新送信レポート時刻および送信レポート経過時間は、レシーバレポートパケットの送信に関する情報である。
例えば、ステップS205において、RTCP解析部77は、レシーバレポートパケットからパケットロス率を抽出する。
ステップS206において、RTCP解析部77は、ロス率を記憶する。例えば、ステップS206において、RTCP解析部77は、前回のロス率とは別に、今回のロス率を記憶する。
ステップS207において、RTT計測部74は、今回のロス率が、前回のロス率を1.1倍した値より大きいか否かを判定し、今回のロス率が、前回のロス率を1.1倍した値より大きいと判定された場合、ロス率が増加しているので、ステップS208に進み、ロス率状態を増加状態として、ロス率状態が増加状態であることを示す信号をレート制御部76に供給する。
ステップS209において、レート制御部76は、送信レート状態の遷移の処理を実行する。送信レート状態の遷移の処理の詳細は、後述する。
ステップS210において、レート制御部76は、図7のステップS40の処理と同様の処理で、ステップS209の処理で決定された送信レート状態を基に、送信レートを更新して、ステップS202に戻り、送信レートの更新の処理を繰り返す。
ステップS207において、今回のロス率が、前回のロス率を1.1倍した値より大きくないと判定された場合、ステップS211に進み、RTCP解析部77は、今回のロス率が、前回のロス率を0.9倍した値より小さいか否かを判定する。ステップS211において、今回のロス率が、前回のロス率を0.9倍した値より小さいと判定された場合、ロス率が減少しているので、ステップS212に進み、RTCP解析部77は、ロス率状態を減少状態として、ロス率状態が減少状態であることを示す信号をレート制御部76に供給する。ステップS212の処理の後、手続きは、ステップS209に進み、送信レート状態の遷移の処理を実行するとともに、送信レートを更新して、ステップS202に戻り、送信レートの更新の処理を繰り返す。
ステップS211において、今回のロス率が、前回のロス率を0.9倍した値より小さくないと判定された場合、ロス率がほぼ一定しているので、ステップS213に進み、RTCP解析部77は、遅延時間状態を一定状態として、遅延時間状態が一定状態であることを示す信号をレート制御部76に供給する。ステップS213の処理の後、手続きは、ステップS209に進み、送信レート状態の遷移の処理を実行するとともに、送信レートを更新して、ステップS202に戻り、送信レートの更新の処理を繰り返す。
このように、パケットのロス率を基に、送信レートを更新することができる。
次に、図19のフローチャートを参照して、図17のステップS209の処理に対応する送信レート状態の遷移の処理の詳細を説明する。ステップS231において、レート制御部76は、自分が記憶している送信レート状態を基に、送信レート状態がレート維持状態であるか否かを判定し、送信レート状態がレート維持状態であると判定された場合、ステップS232に進み、RTCP解析部77から供給された信号を基に、ロス率状態が増加状態であるか否かを判定する。
ステップS232において、ロス率状態が増加状態であると判定された場合、ステップS233に進み、レート制御部76は、自分が記憶している、レート維持状態である送信レート状態をレート減少状態に遷移させて、処理は終了する。
ステップS232において、ロス率状態が増加状態でないと判定された場合、ステップS234に進み、レート制御部76は、RTCP解析部77から供給された信号を基に、ロス率状態が減少状態であるか否かを判定する。
ステップS234において、ロス率状態が減少状態であると判定された場合、ステップS235に進み、レート制御部76は、自分が記憶している、レート維持状態である送信レート状態をレート増加状態に遷移させて、処理は終了する。
ステップS234において、ロス率状態が減少状態でないと判定された場合、ロス率状態は一定状態なので、ステップS236に進み、レート制御部76は、自分が記憶している、レート維持状態である送信レート状態を維持して(状態を遷移させないで)、処理は終了する。
ステップS231において、送信レート状態がレート維持状態でないと判定された場合、ステップS237に進み、レート制御部76は、自分が記憶している送信レート状態を基に、送信レート状態がレート増加状態であるか否かを判定する。
ステップS237において、送信レート状態がレート増加状態であると判定された場合、ステップS238に進み、レート制御部76は、RTCP解析部77から供給された信号を基に、ロス率状態が増加状態であるか否かを判定する。
ステップS238において、ロス率状態が増加状態であると判定された場合、ステップS239に進み、レート制御部76は、自分が記憶している、レート増加状態である送信レート状態をレート維持状態に遷移させて、処理は終了する。
ステップS238において、ロス率状態が増加状態でないと判定された場合、ロス率状態は減少状態であるか、または一定状態なので、ステップS240に進み、レート制御部76は、自分が記憶している、レート増加状態である送信レート状態を維持して(状態を遷移させないで)、処理は終了する。
ステップS237において、送信レート状態がレート増加状態でないと判定された場合、送信レート状態はレート減少状態なので、ステップS241に進み、レート制御部76は、RTCP解析部77から供給された信号を基に、ロス率状態が減少状態であるか否かを判定する。
ステップS241において、ロス率状態が減少状態であると判定された場合、ステップS242に進み、レート制御部76は、自分が記憶している、レート減少状態である送信レート状態をレート維持状態に遷移させて、処理は終了する。
ステップS241において、ロス率状態が減少状態でないと判定された場合、ロス率状態は増加状態であるか、または一定状態なので、ステップS243に進み、レート制御部76は、自分が記憶している、レート減少状態である送信レート状態を維持して(状態を遷移させないで)、処理は終了する。
このように、レート制御部76は、ロス率状態に基づいて、送信レート状態を遷移させるか、維持させる。
図20は、ロス率状態に基づく、送信レート状態の状態遷移図である。図20のSは、レート維持状態を示し、Uは、レート増加状態を示し、Dは、レート減少状態を示す。図11に示す場合と同様に、レート維持状態は、処理を開始する場合の初期状態でもある。
送信レート状態がレート維持状態である場合、ロス率状態が増加状態であるとき、送信レート状態は、レート減少状態に遷移する。送信レート状態がレート維持状態である場合、ロス率状態が減少状態であるとき、送信レート状態は、レート増加状態に遷移する。送信レート状態がレート維持状態である場合、ロス率状態が一定状態であるとき、送信レート状態は、遷移しないで、レート維持状態に維持される。
送信レート状態がレート増加状態である場合、ロス率状態が増加状態であるとき、送信レート状態は、レート維持状態に遷移する。送信レート状態がレート増加状態である場合、ロス率状態が一定状態または減少状態であるとき、送信レート状態は、遷移しないで、レート増加状態に維持される。
送信レート状態がレート減少状態である場合、ロス率状態が減少状態であるとき、送信レート状態は、レート維持状態に遷移する。送信レート状態がレート減少状態である場合、ロス率状態が一定状態または増加状態であるとき、送信レート状態は、遷移しないで、レート減少状態に維持される。
以上のように、本発明においては、通信網13の状態に応じて、送信レートが制御されると共に、送信レートの制御の状態に応じて、パケットを再送するか、または再送が禁止される。
従って、送信レートを下げている場合に、再送要求によって、伝送データ量を増加させてしまうような事態を回避して、送信レートを適正に制御するとともに、相手により確実に到達するように再送パケットを送信することができるようになる。
このように、再送パケットを再送するようにした場合には、受信側において、エラーを訂正することができる。また、送信パケットの送信レートが所定の値となるようにストリーミングデータを符号化し、通信網の伝送状態を取得し、取得した伝送状態を基に、送信パケットの送信レートを増加させるか、減少させるか、または維持させるように符号化を指示し、相手が正常に受信できなかった送信パケットに対応する再送パケットの再送が要求された場合、送信レートを増加させるように符号化を指示しているとき、要求された再送パケットを再送し、送信レートを減少させるように符号化を指示しているとき、要求された再送パケットの再送を禁止するように、再送パケットの送信を制御するようにした場合には、送信レートを適正に制御するとともに、相手により確実に到達するように再送パケットを送信することができる。
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
この記録媒体は、図2に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク51(フレキシブルディスクを含む)、光ディスク52(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク53(MD(Mini-Disc)(商標)を含む)、若しくは半導体メモリ54などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM32や、記憶部38に含まれるハードディスクなどで構成される。
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
本発明に係る通信システムの一実施の形態を示す図である。 サーバの構成の例を示すブロック図である。 サーバの機能の構成を示すブロック図である。 クライアントの機能の構成を示すブロック図である。 送信の処理を説明するフローチャートである。 RTPパケットを説明する図である。 送信レートの更新の処理を説明するフローチャートである。 NACKパケットを説明する図である。 RTT計測パケットを説明する図である。 送信レート状態の遷移の処理を説明するフローチャートである。 送信レート状態の状態遷移図である。 再送の処理を説明するフローチャートである。 モードスイッチの設定の処理を説明するフローチャートである。 デコードの処理を説明するフローチャートである。 RTT計測パケットの返信の処理を説明するフローチャートである。 再送パケットの再送の処理を説明する図である。 送信レートの更新の他の処理を説明するフローチャートである。 レシーバレポートパケットを説明する図である。 送信レート状態の遷移の処理を説明するフローチャートである。 送信レート状態の状態遷移図である。
符号の説明
12 サーバ, 13 通信網, 14 クライアント, 31 CPU, 32 ROM, 33 RAM, 38 記録部, 51 磁気ディスク, 52 光ディスク, 53 光磁気ディスク, 54 半導体メモリ, 71 エンコーダ, 72 パケタイザ, 73 再送用バッファ, 74 RTT計測部, 75 NACK処理部, 76 レート制御部, 77 RTCP解析部, 78 モードスイッチ設定部, 91 通信部, 92 RTP処理部, 93 バッファ, 94 デコーダ, 95 NACK処理部, 96 RTT処理部

Claims (10)

  1. 通信網を介して、ストリーミングデータが格納されている送信パケットを送信する送信装置において、
    前記送信パケットの送信レートが所定の値となるように前記ストリーミングデータを符号化する符号化手段と、
    前記通信網の伝送状態を取得する取得手段と、
    取得した前記伝送状態を基に、前記送信パケットの前記送信レートを増加させるか、減少させるか、または維持させるように前記符号化手段に符号化を指示する指示手段と、
    相手が正常に受信できなかった前記送信パケットに対応する再送パケットの再送が要求された場合、前記指示手段が前記送信レートを増加させるように符号化を指示しているとき、要求された前記再送パケットを再送し、前記指示手段が前記送信レートを減少させるように符号化を指示しているとき、要求された前記再送パケットの再送を禁止するように、前記再送パケットの送信を制御する送信制御手段と
    を含むことを特徴とする送信装置。
  2. 使用者の指示または前記通信網の前記伝送状態を基に、前記再送パケットの再送を制御するモードを設定する設定手段をさらに含み、
    前記送信制御手段は、前記指示手段が前記送信レートを維持させるように符号化を指示し、相手から前記再送パケットの再送が要求された場合、前記モードがオンに設定されているとき、要求された前記再送パケットを再送し、前記モードがオフに設定されているとき、要求された前記再送パケットの再送を禁止するように、前記再送パケットの送信を制御する
    ことを特徴とする請求項1に記載の送信装置。
  3. 設定手段は、前記取得手段で取得された前記伝送状態である、前記通信網の遅延時間が予め定めた第1の閾値以下で、かつ、前記送信パケットのロス率が予め定めた第2の閾値以下である場合、前記モードをオンに設定する
    ことを特徴とする請求項2に記載の送信装置。
  4. 前記伝送状態は、前記通信網の遅延時間である
    ことを特徴とする請求項1に記載の送信装置。
  5. 前記指示手段は、前記遅延時間が減少している場合、前記送信パケットの前記送信レートを増加させるかまたは維持させるように前記符号化手段に符号化を指示し、前記遅延時間が増加している場合、前記送信パケットの前記送信レートを維持させるかまたは減少させるように前記符号化手段に符号化を指示する
    ことを特徴とする請求項4に記載の送信装置。
  6. 前記伝送状態は、前記送信パケットのロス率である
    ことを特徴とする請求項1に記載の送信装置。
  7. 前記指示手段は、前記送信パケットのロス率が減少している場合、前記送信パケットの前記送信レートを増加させるかまたは維持させるように前記符号化手段に符号化を指示し、前記送信パケットのロス率が増加している場合、前記送信パケットの前記送信レートを維持させるかまたは減少させるように前記符号化手段に符号化を指示する
    ことを特徴とする請求項6に記載の送信装置。
  8. 通信網を介して、ストリーミングデータが格納されている送信パケットを送信する送信装置の送信方法において、
    前記送信パケットの送信レートが所定の値となるように前記ストリーミングデータを符号化する符号化ステップと、
    前記通信網の伝送状態を取得する取得ステップと、
    取得した前記伝送状態を基に、前記送信パケットの前記送信レートを増加させるか、減少させるか、または維持させるように前記符号化ステップにおける符号化を指示する指示ステップと、
    相手が正常に受信できなかった前記送信パケットに対応する再送パケットの再送が要求された場合、前記指示ステップにおいて前記送信レートを増加させるように符号化が指示されているとき、要求された前記再送パケットを再送し、前記指示ステップにおいて前記送信レートを減少させるように符号化が指示されているとき、要求された前記再送パケットの再送を禁止するように、前記再送パケットの送信を制御する送信制御ステップと
    を含むことを特徴とする送信方法。
  9. 通信網を介して、ストリーミングデータが格納されている送信パケットを送信する送信処理用のプログラムであって、
    前記送信パケットの送信レートが所定の値となるように前記ストリーミングデータを符号化する符号化ステップと、
    前記通信網の伝送状態を取得する取得ステップと、
    取得した前記伝送状態を基に、前記送信パケットの前記送信レートを増加させるか、減少させるか、または維持させるように前記符号化ステップにおける符号化を指示する指示ステップと、
    相手が正常に受信できなかった前記送信パケットに対応する再送パケットの再送が要求された場合、前記指示ステップにおいて前記送信レートを増加させるように符号化が指示されているとき、要求された前記再送パケットを再送し、前記指示ステップにおいて前記送信レートを減少させるように符号化が指示されているとき、要求された前記再送パケットの再送を禁止するように、前記再送パケットの送信を制御する送信制御ステップと
    を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
  10. 通信網を介して、ストリーミングデータが格納されている送信パケットを送信する送信処理を、コンピュータに行わせるプログラムにおいて、
    前記送信パケットの送信レートが所定の値となるように前記ストリーミングデータを符号化する符号化ステップと、
    前記通信網の伝送状態を取得する取得ステップと、
    取得した前記伝送状態を基に、前記送信パケットの前記送信レートを増加させるか、減少させるか、または維持させるように前記符号化ステップにおける符号化を指示する指示ステップと、
    相手が正常に受信できなかった前記送信パケットに対応する再送パケットの再送が要求された場合、前記指示ステップにおいて前記送信レートを増加させるように符号化が指示されているとき、要求された前記再送パケットを再送し、前記指示ステップにおいて前記送信レートを減少させるように符号化が指示されているとき、要求された前記再送パケットの再送を禁止するように、前記再送パケットの送信を制御する送信制御ステップと
    を含むことを特徴とするプログラム。
JP2003368420A 2003-10-29 2003-10-29 送信装置および方法、記録媒体、並びにプログラム Expired - Fee Related JP4362761B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003368420A JP4362761B2 (ja) 2003-10-29 2003-10-29 送信装置および方法、記録媒体、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003368420A JP4362761B2 (ja) 2003-10-29 2003-10-29 送信装置および方法、記録媒体、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2005136548A true JP2005136548A (ja) 2005-05-26
JP4362761B2 JP4362761B2 (ja) 2009-11-11

Family

ID=34646091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003368420A Expired - Fee Related JP4362761B2 (ja) 2003-10-29 2003-10-29 送信装置および方法、記録媒体、並びにプログラム

Country Status (1)

Country Link
JP (1) JP4362761B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009077207A (ja) * 2007-09-21 2009-04-09 Nippon Telegr & Teleph Corp <Ntt> クライアント装置および同期システム
EP2129126A1 (en) 2008-05-30 2009-12-02 Sony Corporation Transmission apparatus, transmission method, and reception apparatus
US8023533B2 (en) 2006-12-25 2011-09-20 Sony Corporation Data communication system, data transmitting apparatus, data transmitting method, and method for determining packet size and redundancy
US8699337B2 (en) 2007-03-06 2014-04-15 Nec Corporation Communication terminal which perform low-delay communication
WO2014069642A1 (ja) 2012-11-05 2014-05-08 日本電気株式会社 通信装置、送信データ出力制御方法、及びそのプログラム
JP2015170962A (ja) * 2014-03-06 2015-09-28 日本放送協会 送信装置、受信装置及び水中伝送システム
US9641445B2 (en) 2012-07-09 2017-05-02 Panasonic Intellectual Property Management Co., Ltd. Communication apparatus, communication method, and program
WO2020034082A1 (zh) * 2018-08-14 2020-02-20 海能达通信股份有限公司 基于切片的rtp流传输方法、装置、终端及服务器
CN115174490A (zh) * 2022-06-16 2022-10-11 浙江华睿科技股份有限公司 一种数据传输方法及网络应用终端

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1169349A (ja) * 1997-08-19 1999-03-09 Matsushita Electric Ind Co Ltd 画像通信装置
JP2001160824A (ja) * 1999-12-03 2001-06-12 Mitsubishi Electric Corp 有線無線混在網データ配信装置及びデータ配信方法
JP2001230809A (ja) * 2000-02-15 2001-08-24 Mitsubishi Electric Corp 通信システム及び通信方法及び送信端末及び受信端末
JP2001235335A (ja) * 2000-02-24 2001-08-31 Mitsubishi Electric Corp 地図データ送信装置、地図データ中継局、地図データ送信システム、地図データ送信方法、地図データ送信及び中継方法、地図データ送信方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体、及び地図データ送信及び中継方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002135324A (ja) * 2000-08-17 2002-05-10 Matsushita Electric Ind Co Ltd データ伝送装置およびデータ伝送方法
WO2003010931A1 (en) * 2001-07-26 2003-02-06 Koninklijke Philips Electronics N.V. Method for reliable and efficient support of congestion control in nack-based protocols
JP2003143219A (ja) * 2001-11-01 2003-05-16 Matsushita Electric Ind Co Ltd パケット交換通信ネットワークのための中継装置及び中継方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1169349A (ja) * 1997-08-19 1999-03-09 Matsushita Electric Ind Co Ltd 画像通信装置
JP2001160824A (ja) * 1999-12-03 2001-06-12 Mitsubishi Electric Corp 有線無線混在網データ配信装置及びデータ配信方法
JP2001230809A (ja) * 2000-02-15 2001-08-24 Mitsubishi Electric Corp 通信システム及び通信方法及び送信端末及び受信端末
JP2001235335A (ja) * 2000-02-24 2001-08-31 Mitsubishi Electric Corp 地図データ送信装置、地図データ中継局、地図データ送信システム、地図データ送信方法、地図データ送信及び中継方法、地図データ送信方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体、及び地図データ送信及び中継方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002135324A (ja) * 2000-08-17 2002-05-10 Matsushita Electric Ind Co Ltd データ伝送装置およびデータ伝送方法
WO2003010931A1 (en) * 2001-07-26 2003-02-06 Koninklijke Philips Electronics N.V. Method for reliable and efficient support of congestion control in nack-based protocols
JP2003143219A (ja) * 2001-11-01 2003-05-16 Matsushita Electric Ind Co Ltd パケット交換通信ネットワークのための中継装置及び中継方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
奥村 誠司 他: "MPEG−4 over RTP配信システムとQoS制御方式", マルチメディア,分散,協調とモバイル(DICOMO 2000)シンポジウム論文集, vol. 第2000巻 第7号, JPN6009004429, 28 June 2000 (2000-06-28), JP, pages 433 - 438, ISSN: 0001240088 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8023533B2 (en) 2006-12-25 2011-09-20 Sony Corporation Data communication system, data transmitting apparatus, data transmitting method, and method for determining packet size and redundancy
US8711884B2 (en) 2006-12-25 2014-04-29 Sony Corporation Data communication system, data transmitting apparatus, data transmitting method, and method for determining packet size and redundancy
US8699337B2 (en) 2007-03-06 2014-04-15 Nec Corporation Communication terminal which perform low-delay communication
JP2009077207A (ja) * 2007-09-21 2009-04-09 Nippon Telegr & Teleph Corp <Ntt> クライアント装置および同期システム
EP2129126A1 (en) 2008-05-30 2009-12-02 Sony Corporation Transmission apparatus, transmission method, and reception apparatus
US9641445B2 (en) 2012-07-09 2017-05-02 Panasonic Intellectual Property Management Co., Ltd. Communication apparatus, communication method, and program
WO2014069642A1 (ja) 2012-11-05 2014-05-08 日本電気株式会社 通信装置、送信データ出力制御方法、及びそのプログラム
US9674101B2 (en) 2012-11-05 2017-06-06 Nec Corporation Communication device, transmission data output control method, and program for same
JP2015170962A (ja) * 2014-03-06 2015-09-28 日本放送協会 送信装置、受信装置及び水中伝送システム
WO2020034082A1 (zh) * 2018-08-14 2020-02-20 海能达通信股份有限公司 基于切片的rtp流传输方法、装置、终端及服务器
CN115174490A (zh) * 2022-06-16 2022-10-11 浙江华睿科技股份有限公司 一种数据传输方法及网络应用终端
CN115174490B (zh) * 2022-06-16 2023-10-17 浙江华睿科技股份有限公司 一种数据传输方法及网络应用终端

Also Published As

Publication number Publication date
JP4362761B2 (ja) 2009-11-11

Similar Documents

Publication Publication Date Title
KR100967377B1 (ko) 데이터 통신 시스템, 데이터 송신 장치, 데이터 수신 장치, 데이터 통신 방법, 및 컴퓨터 프로그램을 기록한 매체
JP4513725B2 (ja) パケット送信装置、通信システム及びプログラム
KR100460970B1 (ko) 데이터 송수신 시스템 및 방법
US7411903B2 (en) Method of generating transmission control parameters and method of selective retransmission according to packet characteristics
US7164680B2 (en) Scheme for supporting real-time packetization and retransmission in rate-based streaming applications
KR100680671B1 (ko) 에러 정정용 데이터의 생성 방법 및 생성 장치와 생성 프로그램을 저장한 컴퓨터 판독가능한 기록 매체
KR101001514B1 (ko) 송수신 시스템 및 수신 장치
JP2005159433A (ja) パケットエラー訂正装置及び方法
CN108353074B (zh) 用于拥塞控制的方法、多点控制单元和计算机可读装置
JP2005136546A (ja) 送信装置および方法、記録媒体、並びにプログラム
KR101177454B1 (ko) 영상 데이터의 전송에 따른 에러 복원 결정을 위한 서버 및클라이언트와, 영상 데이터의 전송에 따른 에러 복원결정방법
JP4362761B2 (ja) 送信装置および方法、記録媒体、並びにプログラム
CN115883680A (zh) 一种基于arq的udp协议数据传输方法、系统及设备
JP3492602B2 (ja) データ送信装置及びデータ受信装置
JP2005051299A (ja) パケット送信装置、パケット受信装置、パケット送信方法及びパケット受信方法
JP4445012B2 (ja) パケットの配信帯域制御方法、配信装置及び映像配信システム
JP4367287B2 (ja) 受信装置および方法、記録媒体、プログラム、並びに通信システム
JP2005136547A (ja) 通信システム、受信装置および方法、送信装置および方法、記録媒体、並びにプログラム
JP4433281B2 (ja) 受信装置および方法、記録媒体、並びにプログラム
JP2005136545A (ja) 送信装置および方法、プログラム格納媒体、並びにプログラム
JP4506222B2 (ja) 通信システム、送信装置および方法、並びにプログラム
JP5523163B2 (ja) 送信装置、送信方法、プログラム
JP2006067410A (ja) 送信装置および方法、プログラム、並びに送受信システム
JP2009260719A (ja) データ伝送端末装置およびデータ伝送方法
Kuo et al. Adaptive transmission control for error-resilient multimedia synchronization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090402

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090805

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

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees