JP4232553B2 - 通信装置、その方法およびプログラム - Google Patents
通信装置、その方法およびプログラム Download PDFInfo
- Publication number
- JP4232553B2 JP4232553B2 JP2003184005A JP2003184005A JP4232553B2 JP 4232553 B2 JP4232553 B2 JP 4232553B2 JP 2003184005 A JP2003184005 A JP 2003184005A JP 2003184005 A JP2003184005 A JP 2003184005A JP 4232553 B2 JP4232553 B2 JP 4232553B2
- Authority
- JP
- Japan
- Prior art keywords
- packet data
- data
- packet
- time
- transmission
- 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
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Description
【発明の属する技術分野】
本発明は、例えば、パケットデータの伝送時間が変動する通信経路を介してパケットデータの通信を行う通信装置、その方法およびプログラムに関する。
【0002】
【従来の技術】
例えば、テレビ会議システムなどの通信システムでは、連続して復号されるそれぞれ複数のオーディオおよびビデオのパケットデータの各々をそれぞれ1回ずつ送信側の通信装置が送信し、受信側の通信装置が受信したパケットデータを復号してビデオおよびオーディオをリアルタイムに出力する。
このような通信システムでは、上記パケットデータの送受信を、インターネットなどを利用したネットワークを介して行う場合がある。このようなネットワークは、ネットワーク上でのパケットデータの消失(パケットロス)や、ネットワークを介したパケットデータの伝送遅延が生じる。
上述したパケットロス対策として、パケットデータを受信した通信装置が、ネットワーク上で消失して受信していないパケットデータを特定し、その再送要求を送信側の通信装置に出す手法がある。
当該手法によれば、ネットワーク上で消失したパケットデータは受信側の通信装置が安定して受信できるので画像および音声の出力品質を高めることができる。しかしながら、受信側の通信装置は、再送要求を出してから、それに対応するパケットデータを受信するまでの間、当該パケットデータの復号を行うことができず、リアルタイム性を低下させる要因となる。
すなわち、上述した通信システムでは、リアルタイム性と、ビデオおよびオーディオの出力の品質とはトレードオフの関係にある。
上述した従来の通信システムでは、受信側の通信装置は、上述したパケットロスを検出すると再送要求を原則として常に送信している。
【0003】
【発明が解決しようとする課題】
しかしながら、上述した従来の通信システムでは、オーディオのパケットデータがパケットロスした場合でも、ビデオのオーディオデータと同様に再送要求を出すため、ネットワークの遅延時間が大きい場合に、受信側の通信装置におけるオーディオ出力のリアルタイム性が損なわれることになる。通信装置を利用したコミュニケーションでは、オーディオ出力のリアルタイム性が損なわれると、コミュニケーションに支障を来す可能性が高いという問題がある。
その一方、ネットワークの遅延時間が小さい場合には、リアルタイム性を損なわない範囲で、高品質なビデオおよびオーディオの出力を得たいという要請がある。
【0004】
本発明はかかる事情に鑑みてなされたものであり、その目的は、受信側におけるオーディオの品質およびリアルタイム性を安定して確保し、リアルタイム性を損なわない範囲で受信側におけるビデオおよびオーディオの出力品質を高めるこ
とができる通信装置、その方法およびプログラムを提供することにある。
【0005】
また、本発明のその他の目的は、リアルタイム性を損なわない範囲で受信側におけるビデオおよびオーディオの出力品質を高めることができる通信装置、その方法、および、プログラムを提供することにある。
【0012】
【課題を解決するための手段】
本発明の通信装置は、予め決められた順序で復号される連続した複数のパケットデータを送信元から受信する通信装置であって、前記送信元との間の通信経路上での前記パケットデータの伝送時間を検出する伝送時間検出手段と、受信した前記パケットデータの前記順序を基に、欠落して受信していない前記パケットデータを検出するパケット欠落検出手段と、受信した前記パケットデータを保持し、当該保持した前記パケットデータを復号に供するデータ保持手段と、前記パケット欠落検出手段で検出された前記欠落したパケットデータが、前記データ保持手段に保持されたか否かを所定の周期で検証する検証手段と、前記パケット欠落検出手段の検出結果を基に前記欠落した前記パケットデータの再送要求を前記送信元に送信する第1の動作と、前記検証手段が前記欠落したパケットデータが前記データ保持手段に保持されていないと検証した場合に当該パケットデータの再送要求を送信する動作を前記第1の動作に加えて行う第2の動作とのうち、前記伝送時間検出手段が検出した前記伝送時間を基に選択した動作を実行する制御手段とを有する。
【0013】
本発明の通信装置において、伝送時間検出手段が、送信元との間の通信経路上での前記パケットデータの伝送時間を検出する。
また、パケット欠落手段が、受信した前記パケットデータの前記順序を基に、欠落して受信していない前記パケットデータを検出する。
また、検証手段が、前記パケット欠落検出手段で検出された前記欠落したパケットデータが、データ保持手段に保持されたか否かを所定の周期で検証する。
そして、制御手段が、前記パケット欠落検出手段の検出結果を基に前記欠落した前記パケットデータの再送要求を前記送信元に送信する第1の動作と、前記検証手段が前記欠落したパケットデータが前記データ保持手段に保持されていないと検証した場合に当該パケットデータの再送要求を送信する動作を前記第1の動作に加えて行う第2の動作とのうち、前記伝送時間検出手段が検出した前記伝送時間を基に選択した動作を実行する。
【0014】
本発明の通信方法は、予め決められた順序で復号される連続した複数のパケットデータを送信元から受信する通信方法であって、前記送信元との間の通信経路上での前記パケットデータの伝送時間を検出する第1の工程と、受信した前記パケットデータの前記順序を基に、欠落して受信していない前記パケットデータを検出する第2の工程と、受信した前記パケットデータをデータ保持手段に保持させ、当該保持した前記パケットデータを復号に供する第3の工程と、前記第2の工程で検出した前記欠落したパケットデータが、前記データ保持手段に保持されたか否かを所定の周期で検証する第4の工程と、前記第2の工程の検出結果を基に前記欠落した前記パケットデータの再送要求を前記送信元に送信する第1の動作と、前記第1の動作に加えて、前記第4の工程で前記欠落したパケットデータが前記データ保持手段に保持されていないと検証した場合に当該パケットデータの再送要求を送信する動作を行う第2の動作とのうち、前記第1の工程で検出した前記伝送時間を基に選択した動作を実行する第5の工程とを有する。
また本発明のプログラムは、予め決められた順序で復号される連続した複数のパケットデータを送信元から受信する通信処理を行うプログラムであって、前記送信元との間の通信経路上での前記パケットデータの伝送時間を検出する第1の手順と、受信した前記パケットデータの前記順序を基に、欠落して受信していない前記パケットデータを検出する第2の手順と、受信した前記パケットデータをデータ保持手段に保持させ、当該保持した前記パケットデータを復号に供する第3の手順と、前記第2の手順により検出した前記欠落したパケットデータが、前記データ保持手段に保持されたか否かを所定の周期で検証する第4の手順と、前記第2の手順による検出結果を基に前記欠落した前記パケットデータの再送要求を前記送信元に送信する第1の動作と、前記第1の動作に加えて、前記第4の手順で前記欠落したパケットデータが前記データ保持手段に保持されていないと検証した場合に当該パケットデータの再送要求を送信する動作を行う第2の動作とのうち、前記第1の工程で検出した前記伝送時間を基に選択した動作を実行する第5の手順とをコンピュータに実行させる、プログラムである。
【0015】
【発明の実施の形態】
以下、本発明の実施形態に係わる通信システムについて説明する。
図1は、本発明の実施形態に係わる通信システム1の全体構成図である。
図2は、図1に示す通信装置3a(3b)の構成図である。
図1に示すように、通信システム1は、例えば、通信装置3a,3bを有し、これらがネットワーク9を介して通信を行う。
ここで、通信装置3a,3bの各々が第1、第2および第5の発明の通信装置、並びに第4の発明の第1の通信装置および第2の通信装置に対応している。
ネットワーク9は、例えば、TCP/IP(Transmission Control protocol/Internet Protocol) などの通信プロトコルを利用した通信が行われる伝送負荷により伝送時間が変動すると共に、パケットロスなどが生じる可能性のあるネットワークである。
通信装置3a,3bは、テレビ会議システムの端末装置、パーソナルコンピュータ、PDA(Personal Digital Assistants) などのオーディオおよびビデオのデータの符号化、復号、並びに送受信が可能な装置である。
通信装置3aには、例えば、モニタ10a、スピーカ11a、カメラ12aおよびマイク13aが接続される。
通信装置3bには、例えば、モニタ10b、スピーカ11b、カメラ12bおよびマイク13bが接続される。
【0016】
通信システム1は、通信装置3aと3bとが、ネットワーク9を介して、オーディオデータおよびビデオデータによるリアルタイムなコミュニケーションを双方向通信により行う。
通信システム1では、例えば、通信装置3aから通信装置3bにオーディオおよびビデオのパケットデータを送信する場合に、通信装置3aが通信装置3bとの間のネットワーク9を介したパケットデータの伝送時間を計測する。
そして、通信装置3aが、上記検出した伝送時間が所定の時間を超える場合に、オーディオに関する同じパケットデータを複数回、通信装置3bに送信し、ビデオに関する同じパケットデータを1回、通信装置3bに送信する。
一方、通信装置3aは、上記検出した伝送時間が上記所定の時間を超えない場合に、同じオーディオおよびビデオに関するパケットデータをそれぞれ1回づつ通信装置3bに送信する。
【0017】
通信装置3aと3bとの間の通信は、IETFの規定文書RFC1889にて規定されるRTP(Real-time Transport Protocol)パケットデータおよびRTCP(Real-time Transport Control Protocol)パケットデータを送受信して行われる。
RTPパケットデータは、オーディオデータおよびビデオデータを符号化したデータを伝送するためのパケットデータであり、ビデオ、オーディオおよびそれ以外のデータ毎に独立のストリームである。
RTCPデータは、メディアごとのRTPパケットデータの制御用のパケットである。RTCPパケットデータのフォーマットを拡張し、送受信することにより、後述するARQ(Auto Repeat reQuest) が実現される。
【0018】
図2に示すように、通信装置3aは、例えば、送受信部21、RTCPパケット解析部22、RTCPパケット生成部23、ネットワーク監視部24、RTPパケット解析部25、受信バッファメモリ26、復号部27、パケット送信制御部28、符号化部29、RTPパケット化部30、送信バッファメモリ31および再送信バッファメモリ32を有する。
なお、通信装置3bは、例えば、通信装置3aと同じ構成を有している。
【0019】
図2において、ネットワーク監視部24のRTT(Round Trip Time)計測部35が第1、第2、第5の発明の伝送時間検出手段、並びに第3の発明の第1の伝送時間検出手段および第3の発明の第2の伝送時間検出手段に対応し、パケット送信制御部28が第1、第5の発明の制御手段および第3の発明の第1の制御手段に対応している。
また、図5に示すパケット送信制御部28内の受信バッファ監視部52が第2、第3、第5の発明のパケット欠落検出手段に対応し、再送制御部55が第2の発明の制御手段および第3の発明の第2の制御手段に対応している。
また、受信バッファメモリ26が本発明のデータ保持手段に対応している。
【0020】
以下、図2に示す各構成要素について説明する。
送受信部21は、RTCPパケット生成部22、送信バッファメモリ31および再送信バッファメモリ32から入力したパケットデータに対してIPv4,IPv6などのIPヘッダなどを付加してネットワーク9に送出する。
送受信部21は、ネットワーク9から入力したパケットデータのIPヘッダを基に所定のIP処理を行い、当該パケットデータ内のRTCPパケットをRTCPパケット解析部23に出力し、RTPパケットデータをRTPパケット解析部25に出力する。
【0021】
RTCPパケット解析部22は、入力したRTCPパケットデータがネットワーク遅延計測用のパケットデータECHOである場合に、パケットデータECHO−REPLYの送信指示をRTCPパケット生成部22に出力する。
また、RTCPパケット解析部22は、入力したRTCPパケットデータがパケットデータECHO−REPLYである場合に、パケットデータECHO−REPLYの受信時刻、並びに当該パケットデータECHO−REPLYに含まれる受信時刻および送信時刻をネットワーク監視部24に通知する。
また、RTCPパケット解析部22は、入力したRTCPパケットデータが再送要求NACKの場合には、その旨をパケット送信制御部28に通知する。
【0022】
RTCPパケット生成部23は、RTCPパケット解析部22からパケットデータECHO−REPLYの送信指示を受けると、パケットデータECHO−REPLYを、上記パケットデータECHOの送信元(通信装置3b)に送信する。このとき、RTCPパケット生成部23は、パケットデータECHO−REPLY内に、それに対応するパケットデータECHOの受信時刻と、当該パケットデータECHO−REPLYの送信時刻とを格納する。
また、RTCPパケット生成部23は、ネットワーク監視部24からの指示に応じて定期的に、パケットデータECHOを通信装置3bに送信する。
また、RTCPパケット生成部23は、パケット送信制御部28から再送要求NACKの送信指示を受けると、再送要求NACKを通信装置3bに送信する。
【0023】
ネットワーク監視部24は、ECHOパケットデータを送信する指示を定期的にRTCPパケット生成部23に出す。
また、ネットワーク監視部24は、RTT計測部35およびパケットロス検出部36を有する。
RTT計測部35は、パケットデータECHOの送信時刻と、当該パケットデータECHOに対応してRTCPパケット生成部23から受けた上記通知とを基に、通信装置3aと3bとの間のパケットデータが往復する時間である往復伝送時間RTTを生成する。
パケットロス検出部36は、RTPパケット解析部25から入力したRTPパケットデータのシーケンス番号を基にパケットロスを検出し、パケットロス検出結果PLをパケット送信制御部28に通知する。
【0024】
RTPパケット解析部25は、送受信部21から入力した図3に示すRTPパケットデータの種別(TYPE)、並びにシーケンス番号(NUM)を解析し、その結果をパケット送信制御部28に通知する。
種別TYPEは、RTPパケットデータに含まれるペイロードデータPAYLがオーディオデータ、ビデオデータ、それ以外のデータの何れであるかを示している。
シーケンス番号NUMは、複数のRTPパケットデータのペイロードデータPAYLによってオーディオデータおよびビデオデータが構成される場合に、その復号順などを示している。
【0025】
受信バッファメモリ26は、RTPパケット解析部25から入力したRTPパケットデータを、所定の時間保持した後に復号部27に出力する。
具体的には、受信バッファメモリ26は、入力したRTPパケットデータを、パケット送信制御部28によって制御された時間保持した後に後段の復号部27に出力する。すなわち、受信バッファメモリ26のバッファ長は、パケット送信制御部28によって制御される。
受信バッファメモリ26は、ビデオデータに関する複数のRTPパケットデータを復号順に復号部27に出力し、オーディオデータに関する複数のRTPパケットデータを復号順に復号部27に出力し、それ以外のデータに関する複数のRTPパケットデータを復号順に復号部27に出力する。
【0026】
復号部27は、例えば、図4に示すように、入力処理部41、ビデオ復号部42、D/A部43、オーディオ復号部44、D/A部45、データ復号部46およびD/A部47を有する。
入力処理部41は、受信バッファメモリ26から入力したRTPパケットデータのうち、ビデオのRTPパケットデータをビデオ復号部42に出力し、オーディオのRTPパケットデータをオーディオ復号部44に出力し、それ以外のパケットデータをデータ復号部46に出力する。
ビデオ復号部42は、ビデオのRTPパケットデータを復号してD/A部43でアナログ信号にしてモニタ10aに出力する。
オーディオ復号部44は、オーディオのRTPパケットデータを復号してD/A部45でアナログ信号にしてスピーカ11aに出力する。
データ復号部46は、入力処理部41から入力したパケットデータを復号してD/A部47でアナログ信号にして所定の処理装置に出力する。
【0027】
パケット送信制御部28は、例えば、図5に示すように、パケットロス率検出部51、受信バッファ監視部52、モード選択部53、受信バッファ長制御部54、再送制御部55、送信制御部56およびタイマ57を有する。
パケットロス率検出部51は、ネットワーク監視部24から入力したパケットロス検出結果PLを基に、パケットロス率PLRを生成する。
【0028】
受信バッファ監視部52は、タイマ57で規定される時間間隔SNCC(SyncNack Check Cycle) で、既に再送要求NACKを出したRTPパケットデータが受信バッファメモリ26に既に記憶されているか否かを監視する。
【0029】
モード選択部53は、受信バッファメモリ26についての許容バッファリング遅延時間PBD(第1の発明の最長時間)を決定する。
許容バッファリング遅延時間PBDは、通信装置3aと3bとの間でリアルタム通信を行うために許容される全体遅延時間(通信装置3bがオーディオやビデオを符号化部29へ入力してから、当該RTPパケットデータに応じた信号が復号部27から出力されるまでの時間)から、通信装置3a内で生じる受信バッファメモリ26以外の構成要素による遅延時間とネットワーク9上で生じる遅延時間とを差し引いた時間である。
通信装置3a内で生じる受信バッファメモリ26以外の構成要素による遅延時間としては、例えば、パケットロスの検出遅れ時間、リップシンク遅延時間およびそれ以外の固定遅延時間がある。
ここで、パケットロスの検出遅れ時間は、前述したようにネットワーク監視部24のパケットロス検出部36でパケットロスを検出するのに要する時間であり、パケットロスがバースト的に発生する場合以外はパケット受信間隔となり、固定時間である。
また、リップシンク遅延時間も固定時間である。
一方、ネットワーク9上で生じる遅延時間は、通信装置3aから3bにRTPパケットデータを送信する際にネットワーク9上を当該RTPパケットデータが伝送する時間であり、ネットワーク9の負荷状態などによって変動する。
従って、モード選択部53は、変動するネットワーク9上で生じる遅延時間を得られれば、受信バッファメモリ26についての許容バッファリング遅延時間PBDを決定できる。すなわち、モード選択部53は、例えば、ネットワーク監視部24のRTT計測部35から入力した往復伝送時間RTTを基に、許容バッファリング遅延時間PBDを決定する。
【0030】
モード選択部53は、上記決定した許容バッファリング遅延時間PBDと、RTT計測部35が計測した往復伝送時間RTT、同期型の再送要求NACKを送信する間隔を示す時間SNCC(Sync Nack Check Cycle) と、パケットロス率検出部51が検出したパケットロス率PLRとを基に、ARQ1モード、ARQ2モード、オーディオ2重送信モードおよびスタンバイモードのうち何れかのモードを選択する。
図6は、モード選択部53のモード選択動作を説明するためのフローチャートである。
また、図7は、パケットロス率PLRおよび往復伝送時間RTTと、モード選択部53によるモード選択との対応を視覚的に示す図である。
【0031】
なお、図6および図7において、ARQ1モードおよびARQ2モードが第1〜第4の発明の第1の動作に対応し、オーディオ2重送信モードが第1〜第4の発明の第2の動作に対応している。
また、ARQモード1が第5および第6の発明の第1の動作に対応し、ARQモード2が第5および第6の発明の第2の動作に対応している。
【0032】
ステップST1:
モード選択部53は、往復伝送時間RTTと時間SNCCとの総和が許容バッファリング遅延時間PBD以下の場合にステップST2に進み、そうでない場合にステップST5に進む。
ステップST2:
モード選択部53は、パケットロス率PLRが「0」であるか否かを判断し、「0」であると判断するとステップST4に進み、そうでない場合にステップST3に進む。
ステップST3:
モード選択部53は、ARQ2モードを選択する。
ここで、ARQ2モードは、後述するように、パケットロス発生時に、非同期型の再送要求NACKに加えて、同期型の再送要求NACKを送信するモードであり、ARQ1モードに比べてパケットロスに対しての耐性が高い。
本実施形態では、上述したように、往復伝送時間RTTが短く、しかも、パケットロスが生じている場合に、ARQ2モードを選択することで、リアルタイム性を損なわない範囲で、受信側において高い品質のオーディオおよびビデオの出力が得られる。
【0033】
ステップST4:
モード選択部53は、スタンバイモードを選択する。
ここで、スタンバイモードは、後述するように、再送要求NACKを出さず、しかも、受信バッファメモリ26のバッファ長を0にする、すなわちバッファリングを行わないモードである。
本実施形態では、上述したように、パケットロスが生じない場合に、当該スタンバイモードを選択することで、高いリアルタイム性を達成できる。
【0034】
ステップST5:
モード選択部53は、往復伝送時間RTTが許容バッファリング遅延時間PBD以下の場合にステップST6に進み、そうでない場合にステップST8に進む。
ステップST6:
モード選択部53は、パケットロス率PLRが「0」であるか否かを判断し、「0」であると判断するとステップST4に進み、そうでない場合にステップST7に進む。
ステップST7:
モード選択部53は、ARQ1モードを選択する。
ここで、ARQ1モードは、後述するように、パケットロス発生時に、非同期型の再送要求NACKのみを送信するモードであり、ARQ1モードに比べてパケットロスに対しての耐性は低いが、ある程度の耐性を有している。
本実施形態では、上述したように、往復伝送時間RTTがある程度短く、しかも、パケットロスが生じている場合に、ARQ1モードを選択することで、リアルタイム性を損なわない範囲で、受信側においてある程度高い品質のオーディオおよびビデオの出力が得られる。
【0035】
ステップST8:
モード選択部53は、オーディオ2重送信モードを選択する。
ここで、オーディオ2重送信モードは、オーディオのパケットデータをそれぞれ2回送信し、ビデオのパケットデータは1回送信し、再送要求NACKを送信しないモードである。
本実施形態では、伝送往復時間RTTが許容バッファリング遅延時間PBDより大きい場合に、オーディオ2重送信モードを採用することで、オーディオのパケットデータについては、受信側の通信装置が高い確率で受信することができ、オーディオ出力のリアルタイム性は確保される。これにより、オーディオを利用したコミュニケーションを円滑に行うことができる。一方、ビデオのパケットデータによる出力は、遅延するが、それがコミュニケーションに与える影響はオーディオに比べて小さい。また、オーディオのパケットデータのデータ量は、ビデオのパケットデータに比べて小さいため、2重送信しても、ネットワーク9の負荷に与える影響は比較的小さい。
なお、本実施形態では、例えば、パケットロス率が極めて高い場合(ある一定の値を超えた場合)に、図7に示すように、スタンバイモードに移行することで、ネットワーク9の負荷を軽減できる。
【0036】
再送制御部55は、モード選択部53が選択した上記各モードに応じて以下の処理を行う。
再送制御部55は、ARQ1モードを選択した場合に、ネットワーク監視部24からのパケットロス検出結果PLを基にパケットロスが発生した場合に、非同期型の再送要求NACKのみを通信装置3bに送信するようにRTCPパケット生成部23に指示を出す。
ここで非同期型の再送要求NACKは、再送制御部55がネットワーク監視部24からのパケットロス検出結果がパケットロスを検出したことを示した後に直ちにRTCPパケット生成部23から送信される再送要求である。
パケットロスが発生した場合に、パケットロスしたRTPパケットデータに続くRTPパケットデータを受信バッファメモリ26に保持する必要がある時間は、非同期型の再送要求NACKを送信してから、当該再送要求NACKに対応したRTPパケットデータを受信するまでの時間、すなわち往復伝送時間RTTとなる。これが、受信バッファメモリ26の最小遅延時間MDTとなる。
【0037】
再送制御部55は、ARQ2モードを選択した場合に、上述した非同期型の再送要求NACKの他に、同期型の再送要求NACKの送信指示をRTCPパケット生成部23に出す。
ここで、同期型の再送要求NACKは、受信バッファ監視部52による受信バッファメモリ26の上記時間間隔SNCCでの監視結果を基に、再送要求NACKが出されたRTPパケットデータが受信バッファメモリ26に未だ記憶されていない場合にパケット送信制御部28によってRTCPパケット生成部23に送信指示が出される再送要求である。
パケットロスが発生した場合に、上述したARQ1モードの最小遅延時間と時間間隔SNCCとの総和が受信バッファメモリ26の最小遅延時間MDTとなる。
【0038】
再送制御部55は、オーディオ2重送信モードを選択した場合に、再送要求NACKの送信指示は出さない。
再送制御部55は、スタンバイモードを選択した場合に、再送要求NACKの送信指示は出さない。
【0039】
受信バッファ長制御部54は、モード選択部53が選択したモードに応じて、受信バッファメモリ26のバッファ長を制御する。
上述した受信バッファメモリ26の最小遅延時間MDTを、ネットワーク9を介した通信レート(ビットレート)から規定されるパケットデータの平均受信間隔で割ることにより、受信バッファメモリ26が記憶すべきパケットデータの数が得られる。
受信バッファ長制御部54は、例えば、上述したARQ1モードまたはARQ2モードがモード選択部53によって選択された場合に、上述した受信バッファメモリ26が記憶すべきパケットデータの数分のバッファ長を受信バッファメモリ26が持つように制御する。
また、モード選択部53は、例えば、上述したオーディオ2重送信モードまたはスタンバイモードが選択された場合に、受信バッファメモリ26のバッファ長を0に制御、すなわちバッファリングを行わないように制御する。
なお、モード選択部53は、例えば、リップシンクのためのオーディオのパケットデータの遅延量がパケットデータの受信間隔より長い場合には、オーディオのパケットデータのバッファリングのためのバッファ長を、ビデオのパケットデータのバッファリングのためのバッファ長より長くする。これにより、復号部27において、リップシンクのためのバッファメモリを設ける必要がなくなる。
なお、リップシンクのための機能の一部のみを受信バッファメモリ26に持たせ、残りを復号部27内にリップシンク用のバッファメモリに持たせてもよい。
【0040】
送信制御部56は、ARQ1モード、ARQ2モードあるいはスタンバイモードが選択された場合には、送信バッファメモリ31に対してのみ送信指示を出す。
これにより、オーディオデータを構成する連続した複数のRTPパケットデータ、並びにビデオデータを構成する複数のRTPパケットデータがそれぞれ1回づつ通信装置3bに送信される。
また、送信制御部56は、オーディオ2重送信モードまたはスタンバイモード、ARQ2モードあるいはスタンバイモードが選択された場合には、送信バッファメモリ31に送信指示を出す。また、送信制御部56は、再送信バッファメモリ32に対して、オーディオのRTPパケットデータの送信指示を出す。
これにより、オーディオデータを構成する連続した複数のパケットデータがそれぞれ2回づつ通信装置3bに送信され、ビデオデータを構成する複数のパケットデータがそれぞれ1回づつ通信装置3bに送信される。
【0041】
以下、上述した通信システム1の動作例を説明する。
先ず、通信システム1では、通信装置3a,3bが、図6および図7を用いて説明したように、モード選択部53は、上記決定した許容バッファリング遅延時間PBDと、RTT計測部35が計測した往復伝送時間RTT、同期型の再送要求NACKを送信する間隔を示す時間SNCCと、パケットロス率検出部51が検出したパケットロス率PLRとを基に、ARQ1モード、ARQ2モード、オーディオ2重送信モードおよびスタンバイモードのうち何れかのモードを選択する。
【0042】
以下、各モードが選択された場合の通信システム1の動作例を説明する。
〔ARQ1モードでの動作例〕
例えば、通信装置3aの符号化部29が、カメラ12aから入力したビデオデータと、マイク13aから入力したオーディオデータとを符号化してRTPパケット化部30に出力する。
次に、RTPパケット化部30が、符号化部29から入力したビデオデータおよびオーディオデータからRTPパケットデータを生成し、これらを復号順に送信バッファメモリ31および再送信バッファメモリ32に保持させる。
そして、パケット送信制御部28からの送信指示により、送信バッファメモリ31から読み出したビデオおよびオーディオのRTPパケットデータを送受信部21からネットワーク9を介して通信装置3bに送信させる。
【0043】
そして、通信装置3bのRTPパケット解析部25が、受信したRTPパケットデータを送受信部21を介して入力し、そのシーケンス番号などの解析結果をネットワーク監視部24およびパケット送信制御部28に出力する。
そして、パケット送信制御部28が前述したように、パケットロスを検出し、消失したRTPパケットデータの非同期型の再送要求NACKをRTCPパケット生成部23に送信させる。
一方、受信バッファメモリ26に格納された連続したRTPパケットデータは、復号部27に出力され、復号部27で復号される。
そして、復号部27からモニタ10aに復号されたビデオデータが出力され、復号部27からスピーカ11aに復号されたオーディオデータが出力される。
【0044】
一方、上述したように通信装置3bが送信した再送要求NACKは、通信装置3aの送受信部21を介してRTCPパケット解析部22に入力され、その解析結果を基に、パケット送信制御部28が、再送要求NACKに係わるRTPパケットデータを指定した送信指示を再送信バッファメモリ32に出力する。これにより、再送要求NACKに係わるRTPパケットデータが通信装置3bに再送される。
【0045】
〔ARQ2モードでの動作例〕
この場合に、上述したARQ1モードでの動作例において、通信装置3bのパケット送信制御部28が、パケットロスが生じた場合に、非同期型の再送要求NACKに加えて同期型の再送要求NACKも送信する。
それ以外の通信装置3a,3bの動作例は、上述したARQ1モードでの動作例と同じである。
【0046】
〔オーディオ2重モードでの動作例〕
ARQ1モードでの動作例と同様に、RTPパケット化部30が生成したビデオデータおよびオーディオデータのRTPパケットデータが、復号順に送信バッファメモリ31および再送信バッファメモリ32に保持される。
そして、パケット送信制御部28からの送信指示により、送信バッファメモリ31から読み出されたビデオおよびオーディオのRTPパケットデータが送受信部21からネットワーク9を介して通信装置3bに送信される。
また、パケット送信制御部28からの送信指示により、再送信バッファメモリ32に記憶されたオーディオのRTPパケットデータが送受信部21からネットワーク9を介して通信装置3bに送信される。
すなわち、オーディオについては、同じパケットデータが2回送信される。
【0047】
そして、通信装置3bのRTPパケット解析部25が、送受信部21を介して、上記RTPパケットデータを受信し、そのシーケンス番号などの解析結果をネットワーク監視部24およびパケット送信制御部28に出力する。
このとき、RTPパケット解析部25は、オーディオに関する同じRTPパケットデータを2つ(複数)受信した場合には、そのうち一つを選択して受信バッファメモリ26に出力する。受信バッファメモリ26は、例えば、入力したパケットデータを保持せずに、あるいはパケットデータの受信間隔分だけ保持して復号部27に出力する。
また、パケット送信制御部28は、パケットロスを検出した場合でも、再送要求NACKの送信指示は出さない。
上述した以外の通信装置3a,3bの動作は、ARQ1モードでの動作例と同じである。
【0048】
〔スタンバイモードでの動作例〕
通信装置3aのパケット送信制御部28は、送信バッファメモリ31に送信指示を出し、ビデオおよびオーディオのパケットデータを1回づつ送信する。
通信装置3bは、受信したパケットデータを、受信バッファメモリ26における保持時間を「0」あるいはパケットデータの受信間隔分にして復号部27に出力する。
【0049】
以上説明したように、通信システム1によれば、伝送往復時間RTTが許容バッファリング遅延時間PBDより大きい場合に、通信装置3a,3bがオーディオ2重送信モードを選択する。これにより、オーディオのパケットデータについては、受信側の通信装置が高い確率で受信することができ、オーディオ出力のリアルタイム性は確保される。そのため、オーディオを利用したコミュニケーションを円滑に行うことができる。一方、ビデオのパケットデータによる出力は、遅延するが、コミュニケーションに与える影響はオーディオに比べて小さい。また、オーディオのパケットデータのデータ量は、ビデオのパケットデータに比べて小さいため、2重送信してもネットワーク9の負荷に与える影響は比較的小さくできる。
また、通信システム1によれば、伝送往復時間RTTが許容バッファリング遅延時間PBD以下の場合に、ARQ1モードあるいはARQ2モードを選択する。これにより、リアルタイム性を損なわない範囲で、受信側において高い品質のオーディオおよびビデオの出力が得られる。
また、通信システム1によれば、リアルタイム性を損なわない範囲で、上述したように、ARQ1モードとARQ2モードとを選択して行うため、ARQ1モードのみを使用する場合に比べて、受信側において高い品質のオーディオおよびビデオの出力が得られる。
また、通信システム1によれば、パケットロス率が0の場合にスタンバイモードを選択することで、リアルタイム性をさらに高めることができる。
【0050】
本発明は上述した実施形態には限定されない。
上述した実施形態では、図6および図7に示すように、ARQ1モード、ARQ2モード、オーディオ2重送信モードおよびスタンバイモードのなかからモードを選択した場合を例示したが、これらの一部のモードのなかから選択を行ってよい。
例えば、通信装置3a,3bは、許容バッファリング遅延時間PBDと往復伝送時間RTTとを基に、ARQ1モードおよびARQ2モードの何れか一方と、オーディオ2重送信モードとのうち一方を選択してもよい。
また、通信装置3a,3bは、許容バッファリング遅延時間PBD、往復伝送時間RTTおよび時間SMCCを基に、ARQ1モードおよびARQ2モードのうち一方を選択してもよい。この場合には、RTPパケットデータで送受信するのは、ビデオとオーディオの何れか一方でもよい。
【0051】
【発明の効果】
以上説明したように、第1〜第4の発明によれば、オーディオ出力のリアルタイム性を安定して確保し、リアルタイム性を損なわない範囲で受信側におけるビデオおよびオーディオの出力品質を高めることができる通信装置、その方法およびその通信システムを提供することができる。
また、第5および第6の発明によれば、リアルタイム性を損なわない範囲で受信側におけるビデオおよびオーディオの出力品質を高めることができる通信装置およびその方法を提供することができる。
【図面の簡単な説明】
【図1】図1は、本発明の実施形態に係わる通信システムの全体構成図である。
【図2】図2は、図1に示す通信装置の構成図である。
【図3】図3は、本発明の実施形態で使用されるRTPパケットデータのフォーマットを説明するための図である。
【図4】図4は、図2に示す復号部の構成図である。
【図5】図5は、図2に示すパケット送信制御部の構成図である。
【図6】図6は、図5に示すモード選択部の動作例を説明するための図である。
【図7】図7は、図5に示すモード選択部の動作例を説明するための図である。
【符号の説明】
3a,3b…通信装置、9…ネットワーク、10a,10b…モニタ、11a,11b…スピーカ、12a,12b…カメラ、13a,13b…マイク、21…送受信部、22…RTCPパケット解析部、23…RTCPパケット生成部、24…ネットワーク監視部、25…RTPパケット解析部、26…受信バッファメモリ、27…復号部、28…パケット送信制御部、29…符号化部、30…RTPパケット化部、31…送信バッファメモリ、32…再送信バッファメモリ、35…RTT計測部、36…パケットロス検出部、51…パケットロス率検出部、52…受信バッファ監視部、53…モード選択部、54…受信バッファ長制御部、55…再送制御部、56…送信制御部、57…タイマ
Claims (14)
- 予め決められた順序で復号される連続した複数のパケットデータを送信元から受信する通信装置であって、
前記送信元との間の通信経路上での前記パケットデータの伝送時間を検出する伝送時間検出手段と、
受信した前記パケットデータの前記順序を基に、欠落して受信していない前記パケットデータを検出するパケット欠落検出手段と、
受信した前記パケットデータを保持し、当該保持した前記パケットデータを復号に供するデータ保持手段と、
前記パケット欠落検出手段で検出された前記欠落したパケットデータが、前記データ保持手段に保持されたか否かを所定の周期で検証する検証手段と、
前記パケット欠落検出手段の検出結果を基に前記欠落した前記パケットデータの再送要求を前記送信元に送信する第1の動作と、前記検証手段が前記欠落したパケットデータが前記データ保持手段に保持されていないと検証した場合に当該パケットデータの再送要求を送信する動作を前記第1の動作に加えて行う第2の動作とのうち、前記伝送時間検出手段が検出した前記伝送時間を基に選択した動作を実行する制御手段と
を有する通信装置。 - 前記伝送時間検出手段は、前記送信元との間の前記通信経路を前記パケットデータが往復する時間を示す前記伝送時間を検出し、
前記データ保持手段は、前記パケットデータを、当該パケットデータを保持することが許可された最長時間である所定の時間以内で保持した後に前記復号に供し、
前記制御手段は、前記伝送時間検出手段が検出した前記伝送時間と、前記所定の時間とを基に前記選択を行う
請求項1に記載の通信装置。 - 前記制御手段は、前記所定の時間が、前記検証手段が前記検証を行う前記周期と前記伝送時間検出手段が検出した前記伝送時間との総和を超える場合に前記第2の動作を選択し、前記総和を超えない場合に前記第1の動作を選択する
請求項2に記載の通信装置。 - 前記データ保持手段は、オーディオの前記パケットデータと、ビデオの前記パケットデータとが前記復号後に同期するようにタイミングを調整して前記復号に供する
請求項1に記載の通信装置。 - 当該通信装置は、前記受信したパケットデータを基にパケットロス率を検出するパケットロス率検出手段をさらに有し、
前記制御手段は、前記パケットロス率検出手段が検出した前記パケットロス率を基に、前記データ保持手段による前記パケットデータの保持を行うか否かを決定する
請求項1に記載の通信装置。 - 予め決められた順序で復号される連続した複数のパケットデータを送信元から受信する通信方法であって、
前記送信元との間の通信経路上での前記パケットデータの伝送時間を検出する第1の工程と、
受信した前記パケットデータの前記順序を基に、欠落して受信していない前記パケットデータを検出する第2の工程と、
受信した前記パケットデータをデータ保持手段に保持させ、当該保持した前記パケットデータを復号に供する第3の工程と、
前記第2の工程で検出した前記欠落したパケットデータが、前記データ保持手段に保持されたか否かを所定の周期で検証する第4の工程と、
前記第2の工程の検出結果を基に前記欠落した前記パケットデータの再送要求を前記送信元に送信する第1の動作と、前記第1の動作に加えて、前記第4の工程で前記欠落したパケットデータが前記データ保持手段に保持されていないと検証した場合に当該パケットデータの再送要求を送信する動作を行う第2の動作とのうち、前記第1の工程で検出した前記伝送時間を基に選択した動作を実行する第5の工程と
を有する通信方法。 - 前記第1の工程において、前記送信元との間の前記通信経路を前記パケットデータが往復する時間を示す前記伝送時間を検出し、
前記第3の工程において、前記パケットデータを、当該パケットデータを保持することが許可された最長時間である所定の時間以内で保持した後に前記復号に供し、
前記第5の工程において、前記第1の工程において検出した前記伝送時間と、前記許可された最長時間である所定の時間とを基に前記選択を行う、
請求項6に記載の通信方法。 - 前記第5の工程において、前記所定の時間が、前記第4の工程において検証を行う前記周期と前記第1の工程において検出した前記伝送時間との総和を越える場合に前記第2の動作を選択し、前記総和を越えない場合に前記第1の動作を選択する、
請求項7に記載の通信方法。 - 前記第3の工程において、オーディオの前記パケットデータと、ビデオの前記パケットデータとが前記復号後に同期するようにタイミングを調整して前記復号に供する、
請求項6に記載の通信方法。 - 当該通信方法は、前記受信したパケットデータを基にパケットロス率を検出する第6の工程をさらに有し、
前記第5の工程において、前記第6の工程において検出した前記パケットロス率を基に、前記データ保持手段による前記パケットデータの保持を行うか否かを決定する、
請求項6に記載の通信方法。 - 予め決められた順序で復号される連続した複数のパケットデータを送信元から受信する通信処理を行うプログラムであって、
前記送信元との間の通信経路上での前記パケットデータの伝送時間を検出する第1の手順と、
受信した前記パケットデータの前記順序を基に、欠落して受信していない前記パケットデータを検出する第2の手順と、
受信した前記パケットデータをデータ保持手段に保持させ、当該保持した前記パケットデータを復号に供する第3の手順と、
前記第2の手順により検出した前記欠落したパケットデータが、前記データ保持手段に保持されたか否かを所定の周期で検証する第4の手順と、
前記第2の手順による検出結果を基に前記欠落した前記パケットデータの再送要求を前記送信元に送信する第1の動作と、前記第1の動作に加えて、前記第4の手順で前記欠落したパケットデータが前記データ保持手段に保持されていないと検証した場合に当該パケットデータの再送要求を送信する動作を行う第2の動作とのうち、前記第1の工程で検出した前記伝送時間を基に選択した動作を実行する第5の手順と
をコンピュータに実行させる、プログラム。 - 前記第1の手順として、前記送信元との間の前記通信経路を前記パケットデータが往復する時間を示す前記伝送時間を検出し、
前記第3の手順として、前記パケットデータを、当該パケットデータを保持することが許可された最長時間である所定の時間以内で保持した後に前記復号に供し、
前記第5の手順として、前記第1の手順により検出した前記伝送時間と、前記許可された最長時間である所定の時間とを基に前記選択を行う、
請求項11に記載のプログラム。 - 前記第5の手順として、前記所定の時間が、前記第4の手順における検証を行う前記周期と前記第1の手順により検出した前記伝送時間との総和を越える場合に前記第2の動作を選択し、前記総和を越えない場合に前記第1の動作を選択する、
請求項12に記載のプログラム。 - 前記受信したパケットデータを基にパケットロス率を検出する第6の手順をさらに有し、
前記第5の手順として、前記第6の手順において検出した前記パケットロス率を基に、前記データ保持手段による前記パケットデータの保持を行うか否かを決定する、
請求項11に記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003184005A JP4232553B2 (ja) | 2003-06-27 | 2003-06-27 | 通信装置、その方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003184005A JP4232553B2 (ja) | 2003-06-27 | 2003-06-27 | 通信装置、その方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005020499A JP2005020499A (ja) | 2005-01-20 |
JP4232553B2 true JP4232553B2 (ja) | 2009-03-04 |
Family
ID=34183906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003184005A Expired - Fee Related JP4232553B2 (ja) | 2003-06-27 | 2003-06-27 | 通信装置、その方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4232553B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4513725B2 (ja) | 2005-11-09 | 2010-07-28 | ソニー株式会社 | パケット送信装置、通信システム及びプログラム |
JP2007190154A (ja) * | 2006-01-18 | 2007-08-02 | Matsushita Electric Ind Co Ltd | 超音波診断装置及び超音波診断装置の制御方法 |
JP4886849B2 (ja) * | 2006-06-22 | 2012-02-29 | エルジー エレクトロニクス インコーポレイティド | 移動通信システムにおけるデータ再転送方法 |
-
2003
- 2003-06-27 JP JP2003184005A patent/JP4232553B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005020499A (ja) | 2005-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109729439B (zh) | 实时视频传输方法 | |
EP1786136B1 (en) | Packet retransmission apparatus, communication system and program | |
JP4697525B2 (ja) | 送受信システム、送信装置および送信方法、受信装置および受信方法、並びにプログラム | |
JP5094593B2 (ja) | 送信装置、受信装置、及び方法、プログラム | |
JP4699187B2 (ja) | 受信装置、通信システム、および受信装置の制御プログラム | |
KR20030045643A (ko) | 데이터 통신 시스템, 데이터 송신 장치, 데이터 수신 장치, 데이터 통신 방법, 및 컴퓨터 프로그램 기록 매체 | |
CN108353074B (zh) | 用于拥塞控制的方法、多点控制单元和计算机可读装置 | |
JP6412160B2 (ja) | 通信装置、通信装置システム及び通信方法 | |
US20150103885A1 (en) | Real time ip video transmission with high resilience to network errors | |
JP2007150859A5 (ja) | ||
JP2009272794A (ja) | データ伝送システム、プログラム及び方法 | |
Herrero | Integrating HEC with circuit breakers and multipath RTP to improve RTC media quality | |
JP3871661B2 (ja) | マルチメディアコンテンツ受信装置及びマルチメディアコンテンツ受信方法 | |
US20020122434A1 (en) | Data transmitting apparatus and data receiving apparatus | |
JP4061643B2 (ja) | 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム | |
JP2014093584A (ja) | 送信装置、送信方法、受信装置、受信方法およびコンピュータプログラム | |
JP4285111B2 (ja) | 通信装置、その方法およびそのシステム | |
JP4232553B2 (ja) | 通信装置、その方法およびプログラム | |
JP4445012B2 (ja) | パケットの配信帯域制御方法、配信装置及び映像配信システム | |
JP4909590B2 (ja) | メディア信号の受信装置、送信装置及び送受信システム | |
JP6200870B2 (ja) | データ転送制御装置、方法及びプログラム | |
JP2011211616A (ja) | 動画像伝送装置、動画像伝送システム、動画像伝送方法およびプログラム | |
Huszák et al. | Source controlled semi-reliable multimedia streaming using selective retransmission in DCCP/IP networks | |
JP2016019198A (ja) | 通信装置、通信装置の制御方法、プログラム | |
Huszák et al. | Source controlled and delay sensitive selective retransmission scheme for multimedia streaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060424 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080523 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080527 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080728 |
|
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: 20081118 |
|
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: 20081201 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |