データ通信システム、データ通信装置およびデータ通信方法
【課題】再送制御を行わない通信方式において、ネットワーク資源の予約を行わずに、画像や音声の品質低下を招くことなく、即時的に輻輳状態を解消すること。
【解決手段】送信側装置は、ビットストリーム中のパケットの順序に対応したシーケンス番号を付加したUDPパケットをインターネット2へ送信する。受信側装置では、輻輳状態決定部22により、インターネット2から受信したUDPパケットに含まれるシーケンス番号に基づいて輻輳状態の有無を決定し、制御パケット生成部23により、フレーム間引きレートを生成する。受信側装置は、そのフレーム間引きレートをインターネット2を介して送信側装置へ送信する。送信側装置では、制御パケット受信部15によりフレーム間引きレートを受信し、そのフレーム間引きレートに基づいて、フレーム間引きレート制御部13によりフレーム間引きを行う。
【解決手段】送信側装置は、ビットストリーム中のパケットの順序に対応したシーケンス番号を付加したUDPパケットをインターネット2へ送信する。受信側装置では、輻輳状態決定部22により、インターネット2から受信したUDPパケットに含まれるシーケンス番号に基づいて輻輳状態の有無を決定し、制御パケット生成部23により、フレーム間引きレートを生成する。受信側装置は、そのフレーム間引きレートをインターネット2を介して送信側装置へ送信する。送信側装置では、制御パケット受信部15によりフレーム間引きレートを受信し、そのフレーム間引きレートに基づいて、フレーム間引きレート制御部13によりフレーム間引きを行う。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、データ通信システム、データ通信装置およびデータ通信方法に関する。
【背景技術】
【0002】
UDP(User Datagram Protocol)パケットを用いたインターネットのデータグラム通信により、送信側装置から受信側装置へデジタルビデオ信号を転送する場合、伝送の途中で輻輳が発生すると、パケットが破棄される。データグラム通信では、破棄されたパケットの再送制御が行われないため、パケットが破棄されると、受信側装置で再生した画像や音声が劣化してしまう。そこで、従来、デジタルビデオ信号などのストリーミングデータを送信する際には、輻輳状態の発生を回避するために、静的に送信フレームレートを制御したり、ネットワーク中に配置されているルータやスイッチ等のネットワーク機器の資源を予約したり、パケットの優先度を制御したり、データを圧縮することが行われている。
【0003】
また、通信媒体の輻輳度に応じた通信データ量の削減を実現する技術が公知である。この技術は、所望のデータ単位でビデオデータおよびオーディオデータが混在する動画像データのビットストリームの一部に、ビデオデータおよびオーディオデータの少なくとも一方の、ビットストリーム内における位置情報が記録された制御データを混在させておき、所望の通信媒体を経由して動画像データを送信するとき、必要に応じて制御データから得られる位置情報に基づいてビデオデータおよびオーディオデータの少なくとも一方を間引いて送信するものである(例えば、特許文献1参照。)。
【0004】
また、無線通信路を用いて画像データのような大容量のデータ伝送を行う場合に、映像のリアルタイム性を維持できるようにした技術が公知である。この技術は、送信側では画像データに誤り訂正符号を付加して送信し、受信側では上記誤り訂正符号により画像データの伝送誤りの有無を調べ、誤りが発生した場合には上記画像データの再送要求を送信側に返送する応答処理を行い、さらに送信側においては、上記再送要求を受信した場合に再送処理を行った回数を記憶し、その再送回数が所定のしきい値を越えた場合には、再送を中止して次の画像データを送信することを特徴とする(例えば、特許文献2参照。)。
【0005】
また、伝送路上に輻輳が生じた場合の映像パケットの廃棄による映像情報の劣化を抑制するとともに、通信の実時間性を保つことができる技術が公知である。この技術は、送路から受信したパケットから伝送路の輻輳を検出し、該輻輳に応じて、または、伝送路の状態を検出し、この検出した伝送路の状態に応じて、または、転送時間測定パケットの往復転送時間を算出し、この往復転送時間に基づいて、または、伝送路におけるパケットの廃棄を検出し、このパケットの廃棄に基づいて、それぞれ映像符号化器のビットレートを制御するものである(例えば、特許文献3参照。)。
【0006】
【特許文献1】特開平10−294927号公報(段落[0012])
【特許文献2】特開平10−262256号公報(段落[0011])
【特許文献3】特開平5−260090号公報(段落[0070])
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した従来のデータグラム通信における輻輳回避技術では、次のような問題点がある。静的に送信フレームレートを制御する場合には、ネットワーク管理者等が輻輳状態に鑑みて制御を行うため、輻輳状態が即時的に解消されない。ネットワーク機器の資源を予約したり、パケットの優先度を制御する場合には、ネットワーク機器が過負荷状態になるため、他の通信の妨げになる。また、通信が行われない間、予約した資源が無駄になる。データを圧縮する場合には、データグラム通信の特徴の一つであるリアルタイム性が損なわれたり、再生した画像や音声の品質が低下する。さらに、いずれの場合でも、ネットワーク機器の転送能力を超えた処理を行うことはできない。
【0008】
また、前記特許文献1に開示された技術では、輻輳状態を検出した受信側装置やネットワーク機器から通達される制御情報に基づいて動的にフレーム間引きを行うことはできない。前記特許文献2に開示された技術は、再送制御を行う方式の技術であるため、再送制御を行わないデータグラム通信に適用することはできない。前記特許文献3に開示された技術は、映像データの符号化ビットレートを制御する技術であるため、輻輳状態が多くなると映像品質が低下する。さらに、これらの文献に開示された技術を組み合わせても、データグラム通信のように再送制御を行わない方式において、再生品質を低下させずにネットワークの輻輳状態を解消することはできない。
【0009】
この発明は、上述した従来技術による問題点を解消するため、再送制御を行わない通信方式において、ネットワーク資源の予約を行わずに、画像や音声の品質低下を招くことなく、即時的に輻輳状態を解消することができるデータ通信システム、データ通信装置およびデータ通信方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
上述した課題を解決し、目的を達成するため、本発明にかかるデータ通信システム、データ通信装置およびデータ通信方法は、以下の特徴を有する。ビットストリームを分割した複数のパケットをデータグラム通信により送信する側の装置では、ビットストリーム中の順序に対応した順序情報を含むパケットをネットワークへ送信する。それらのパケットを受信する側の装置では、輻輳状態決定手段により、ネットワークを介して受信したパケットに含まれる順序情報に基づいて輻輳状態の有無を決定し、制御情報生成手段により、フレーム間引きレートの制御情報を生成する。そして、その制御情報をネットワークを介してパケットの送信元へ送信する。パケットを送信する側の装置では、制御情報受信手段により、ネットワークからフレーム間引きレートの制御情報を受信し、フレーム間引きレート制御手段により、その制御情報からフレーム間引きレートを取得してフレーム間引きを行う。
【0011】
この発明によれば、輻輳状態が発生すると、パケットを受信する側の装置からパケットを送信する側の装置へ、輻輳状態に応じたフレーム間引きレートが通知される。パケットを送信する側の装置は、通知されたフレーム間引きレートに基づいてフレーム間引き制御を行う。従って、動的に送信フレームレートを制御することができる。その際、ネットワーク機器の資源を予約したり、パケットの優先度を制御したり、データを圧縮する必要がない。
【発明の効果】
【0012】
本発明にかかるデータ通信システム、データ通信装置およびデータ通信方法によれば、再送制御を行わない通信方式において、ネットワーク資源の予約を行わずに、画像や音声の品質低下を招くことなく、即時的に輻輳状態を解消することができるという効果を奏する。
【発明を実施するための最良の形態】
【0013】
以下に添付図面を参照して、この発明にかかるデータ通信システム、データ通信装置およびデータ通信方法の好適な実施の形態を詳細に説明する。以下の説明において、同様の構成には同一の符号を付して、重複する説明を省略する。なお、本発明は、以下の実施の形態の説明に限定されるものではない。
【0014】
(実施の形態1)
図1は、この発明の実施の形態1にかかるデータ通信システムの構成を示す図である。図1に示すように、このデータ通信システムは、例えば、デジタルビデオカメラ1およびデータ送信装置4からなる送信側装置と、デジタルビデオデッキ3およびデータ受信装置5からなる受信側装置を、それぞれ、インターネット2に接続し、デジタルビデオカメラ1で撮影した映像のDV(デジタルビデオ)データをインターネット2のデータグラム通信によりデジタルビデオデッキ3へ転送するシステムである。
【0015】
データ送信装置4は、DVアダプタ11、DVパケット生成部12、フレーム間引きレート制御部13、インターネットアダプタ14、および制御情報受信手段としての機能を有する制御パケット受信部15を備えている。DVアダプタ11は、DV機器、ここではデジタルビデオカメラ1に接続するインタフェースである。
【0016】
DVパケット生成部12は、DVデータのビットストリームを複数のUDPパケットに分割し、各UDPパケットに、ビットストリーム中における自身の順序に対応した順序情報を埋め込む。順序情報として、例えば、連続したシーケンス番号や、タイプスタンプ値が用いられる。ここでは、シーケンス番号を用いるとする。DVパケット生成部12の詳細な動作については後述する。
【0017】
インターネットアダプタ14は、インターネット2に接続するインタフェースである。制御パケット受信部15は、インターネットアダプタ14を介してインターネットからフレーム間引きレートの制御情報を格納した制御パケットを受信し、その制御情報からフレーム間引きレートを抽出する。制御パケット受信部15の詳細な動作については後述する。
【0018】
フレーム間引きレート制御部13は、DVパケット生成部12により生成されたUDPパケットに対して、制御パケット受信部15により抽出されたフレーム間引きレートに基づいて、フレーム間引き対象のパケットを破棄し、そうでないパケットをインターネットアダプタ14を介してインターネット2へ送信する。フレーム間引きレート制御部13の詳細な動作については後述する。
【0019】
前記データ受信装置5は、インターネットアダプタ21、輻輳状態決定部22、制御情報生成手段としての機能を有する制御パケット生成部23、DVパケット受信部24、およびDVアダプタ25を備えている。インターネットアダプタ21は、インターネット2に接続するインタフェースである。
【0020】
輻輳状態決定部22は、インターネットアダプタ21を介してインターネット2からUDPパケットを受信する。そして、輻輳状態決定部22は、受信したUDPパケットから前記順序情報、すなわち、ここではシーケンス番号を取得し、輻輳状態の有無を決定する。輻輳状態決定部22の詳細な動作については後述する。
【0021】
制御パケット生成部23は、輻輳状態決定部22により輻輳状態有りと決定された場合に、前記フレーム間引きレートの制御情報を生成し、その制御情報を格納した前記制御パケットを生成する。そして、制御パケット生成部23は、その制御パケットをインターネットアダプタ21を介してインターネット2へ送信する。制御パケット生成部23の詳細な動作については後述する。
【0022】
DVパケット受信部24は、受信したUDPパケットからヘッダ等を除去して、UDPパケットをDVデータに戻す。DVパケット受信部24の詳細な動作については後述する。DVアダプタ25は、DV機器、ここではデジタルビデオデッキ3に接続するインタフェースである。
【0023】
図2は、DVパケット生成部の動作を説明する図である。図2に示すように、DVパケット生成部12は、デジタルビデオカメラ1から送られてきたデータが先頭であるか否かを判断する(ステップS1)。先頭のデータであれば(ステップS1:Yes)、DVパケット生成部12は、シーケンス番号Sとフレーム番号Fを初期化し、それぞれ1に設定する(ステップS2)。そして、ステップS3へ進む。
【0024】
データが先頭でなければ(ステップS1:No)、DVパケット生成部12は、UDPパケットヘッダを形成する(ステップS3)。次いで、DVパケット生成部12は、UDPパケットにシーケンス番号Sを格納し(ステップS4)、UDPデータパケットを形成する(ステップS5)。そして、DVパケット生成部12は、現在のシーケンス番号Sに1を加算して新たなシーケンス番号Sとする(ステップS6)。
【0025】
次いで、DVパケット生成部12は、ステップS5で形成したUDPデータパケットがフレームの先頭であるか否かを判断する(ステップS7)。フレームの先頭であれば(ステップS7:Yes)、DVパケット生成部12は、現在のフレーム番号Fに1を加算して新たなフレーム番号Fとし(ステップS8)、ステップS9へ進む。フレームの先頭でなければ(ステップS7:No)、DVパケット生成部12は、UDPパケットにフレーム番号Fを付与する(ステップS9)。DVパケット生成部12は、デジタルビデオカメラ1からデータを受け取るたびに、ステップS1からステップS9までの動作を行う。
【0026】
図3は、DVパケット生成部により生成されるUDPパケットのフォーマット例を示す図である。図3に示すように、UDPパケット8のデータ・フィールド31の一部がシーケンス番号フィールド32に割り当てられる。このシーケンス番号フィールド32にシーケンス番号Sが格納される。
【0027】
図4および図5は、シーケンス番号フィールドの長さを可変にしたUDPパケットのフォーマット例を示す図である。この場合には、シーケンス番号フィールド32の前に、シーケンス番号フィールド32のデータ長を示すレングス・フィールド33が設けられる。例えば、レングス・フィールド33が16ビット長であり、レングス・フィールド33に48が設定されると、シーケンス番号フィールド32のデータ長は、48ビットとなる。
【0028】
図4に示す例は、シーケンス番号をより大きな値まで設定することができるので、データ量の大きなビットストリームをより多くのUDPパケットに分割して送信するのに適している。一方、図5に示す例は、シーケンス番号フィールド32とレングス・フィールド33のデータ長が小さいので、1パケット中により多くの送信データを格納して送信するのに適している。
【0029】
図6は、制御パケット受信部の動作を説明する図である。図6に示すように、制御パケット受信部15は、インターネットアダプタ14を介してインターネット2からパケットを受信すると(ステップS11)、そのパケットが制御パケットであるか否かを判断する(ステップS12)。受信したパケットが制御パケットでない場合(ステップS12:No)、制御パケット受信部15は、そのパケットを上位レイヤーへ転送する(ステップS13)。
【0030】
一方、制御パケットを受信した場合(ステップS12:Yes)、制御パケット受信部15は、その制御パケットからフレーム間引きレートを抽出する(ステップS14)。そして、制御パケット受信部15は、抽出したフレーム間引きレートをフレーム間引きレートレジスタに設定する(ステップS15)。フレーム間引きレートレジスタは、特に図示しないが、例えば、フレーム間引きレート制御部13に設けられている。制御パケット受信部15は、パケットを受信するたびに、ステップS11からステップS15までの動作を行う。
【0031】
図7は、フレーム間引きレート制御部の動作を説明する図である。図7に示すように、フレーム間引きレート制御部13は、DVパケット生成部12からUDPパケットを受け取ると(ステップS21)、そのパケットが間引きフレームに該当するか否か、すなわち、間引きフレーム内のパケットであるか否かを判断する(ステップS22)。UDPパケットのフレーム番号Fとフレーム間引きレートとのアンドを取り、その値が0であれば、間引きフレームである。フレーム間引きレートは、制御パケット受信部15から渡される。
【0032】
フレーム間引きレート制御部13は、間引きフレームでない場合(ステップS22:No)には、ステップS25へ進み、間引きフレームである場合(ステップS22:Yes)には、さらに、ステップS21で受け取ったUDPパケットが音声パケットであるか否かを判断する(ステップS23)。フレーム間引きレート制御部13は、音声パケットでなければ(ステップS23:No)、破棄し(ステップS24)、音声パケットであれば(ステップS23:Yes)、破棄せずに、ステップS25へ進む。
【0033】
ステップS25では、フレーム間引きレート制御部13は、破棄されずに残った送信対象のUDPパケットに対して、送信処理を行う(ステップS25)。フレーム間引きレート制御部13は、UDPパケットを受け取るたびに、ステップS21からステップS25までの動作を行う。
【0034】
図8は、1フレーム分のDVデータのフォーマット例を示す図である。図8に示すように、1個のフレーム9は、10個のDIF(Digital Interface)シーケンスに分割され、各DIFシーケンスは、さらに、ヘッダ情報(f)、音声情報(a)および画像情報(v)からなる150個のDIFブロックにより構成される。このような構成のフレーム9が間引きフレームに該当する場合、図7のステップS23では、画像情報(v)を格納するパケットは破棄され、音声情報(a)を格納するパケットは破棄されずに残される。このように、音声パケットを間引きしないようにすることによって、音声が聞き取りにくくなるのを避けることができる。音声情報よりも画像情報の方が重要度が高い場合には、画像情報(v)を格納するパケットを破棄せずに残し、音声情報(a)を格納するパケットを破棄するようにしてもよい。
【0035】
図9は、輻輳状態決定部の動作を説明する図である。図9に示すように、輻輳状態決定部22は、インターネットアダプタ21を介してインターネット2から受信したデータが先頭であるか否かを判断する(ステップS31)。先頭のデータであれば(ステップS31:Yes)、輻輳状態決定部22は、カウンタ値CとエラーレートRとタイマ値Tを初期化し、それぞれ1に設定する(ステップS32)。そして、ステップS33へ進む。
【0036】
データが先頭でなければ(ステップS31:No)、輻輳状態決定部22は、UDPパケットを受信し、その中に格納されているシーケンス番号Sを取得する(ステップS33)。次いで、輻輳状態決定部22は、シーケンス番号Sがカウンタ値Cに一致するか否かを判断する(ステップS34)。シーケンス番号Sがカウンタ値Cに等しければ(ステップS34:Yes)、輻輳状態決定部22は、輻輳によるパケットの損失が発生していないと判断して、ステップS38へ進む。
【0037】
一方、シーケンス番号Sがカウンタ値Cと異なる場合(ステップS34:No)には、輻輳状態決定部22は、現在のエラーレートRに1を加算して新たなエラーレートRとする(ステップS35)。そして、輻輳状態決定部22は、その新たなエラーレートRが、予め設定されたエラーレートしきい値RATE以下であるか否かを判断する(ステップS36)。エラーレートRがしきい値RATEを超えない場合(ステップS36:Yes)、ステップS38へ進む。
【0038】
一方、エラーレートRがしきい値RATEを超える場合(ステップS36:No)、輻輳状態決定部22は、制御パケット生成部23に対して制御パケットの送信を指示する(ステップS37)。次いで、輻輳状態決定部22は、タイマ値Tが、予め設定されたタイマ上限値TIME以下であるか否かを判断する(ステップS38)。タイマ値Tが上限値TIMEを超える場合(ステップS38:No)、輻輳状態決定部22は、エラーレートRとタイマ値Tを初期化し、それぞれ1に設定する(ステップS39)。
【0039】
一方、タイマ値Tが上限値TIMEを超えない場合(ステップS38:Yes)、輻輳状態決定部22は、現在のカウンタ値Cおよびタイマ値Tにそれぞれ1を加算して新たなカウンタ値Cおよびタイマ値Tとする(ステップS40)。輻輳状態決定部22は、データを受信するたびに、ステップS31からステップS40までの動作を行う。
【0040】
図10は、制御パケット生成部の動作を説明する図である。図10に示すように、制御パケット生成部23は、制御パケット送信指示があると(ステップS51)、フレーム間引きレートを算出する(ステップS52)。フレーム間引きレートは、エラーレートRをシーケンス番号Sで割ることによって求められる。エラーレートRとシーケンス番号Sは、輻輳状態決定部22から渡される。
【0041】
次いで、制御パケット生成部23は、制御パケットを形成し、その中にフレーム間引きレートを埋め込む(ステップS53)。そして、制御パケット生成部23は、制御パケットの送信処理を行う(ステップS54)。制御パケット生成部23は、制御パケット送信指示があるたびに、ステップS51からステップS54までの動作を行う。
【0042】
図11は、DVパケット受信部の動作を説明する図である。図11に示すように、DVパケット受信部24は、輻輳状態決定部22から、破棄されずに残ったUDPパケットを受け取ると(ステップS61)、そのパケットのヘッダを除去する(ステップS62)。そして、DVパケット受信部24は、データ領域(データ・フィールド31)からシーケンス番号フィールド32を除去する(ステップS63)。UDPパケットのフォーマットが図4または図5に示す例である場合には、シーケンス番号フィールド32とともにレングス・フィールド33も除去される。
【0043】
図12は、この発明の実施の形態1にかかるデータ通信システムにおける間引き制御の処理シーケンスを示す図である。図12に示すように、送信側装置は、上述したステップS1からステップS9まで、およびステップS21からステップS25までの動作を行い、データグラムパケットに制御情報としてシーケンス番号を付加したUDPパケットを受信側装置へ送信する(ステップS71)。輻輳が発生していない場合は、UDPパケットは、通常通りの通信で転送される。
【0044】
受信側装置で輻輳が発生すると、図12に×印で示すように、受信側装置に到達しないUDPパケットが発生し、パケットの損失が起こる。受信側装置は、上述したステップS31からステップS40までの動作を行い、エラーレートがそのしきい値を超えると、輻輳回避制御を行う(ステップS72)。そして、受信側装置は、上述したS51からステップS54までの動作を行い、送信側装置へ制御パケットを送信する(ステップS73)。
【0045】
送信側装置は、制御パケットを受信すると、上述したステップS21からステップS25までの動作を行い、フレーム間引き制御を行う(ステップS74)。これによって、送信側装置から受信側装置へのUDPパケットの送出間隔が動的に制御され、長い送出間隔でUDPパケットが送信される(ステップS75)。
【0046】
(実施の形態2)
図13は、この発明の実施の形態2にかかるデータ通信システムの構成を示す図である。図13に示すように、実施の形態2は、ネットワーク中に配置されているルータやスイッチ等のネットワーク機器6で輻輳が発生する場合の例であり、このネットワーク機器6が受信側装置に相当する。ネットワーク機器6は、インターネットアダプタ21、輻輳状態決定部22、制御パケット生成部23およびインターネットアダプタ26を備えている。
【0047】
ネットワーク機器6は、輻輳状態決定部22で破棄されずに残ったUDPパケットを、インターネットアダプタ26を介してインターネット2へ転送する。インターネットアダプタ21、輻輳状態決定部22および制御パケット生成部23は、実施の形態1において説明した通りである。このように、UDPパケットを生成して出力するデータ送信装置4とネットワーク機器6の間でも、データ送信装置4からネットワークへ送出されるUDPパケットの送出間隔が、ネットワーク機器6の輻輳状態に応じて動的に制御される。
【0048】
(実施の形態3)
図14は、この発明の実施の形態3にかかるデータ通信システムの構成を示す図である。図14に示すように、実施の形態3は、UDPパケットの中継を行うネットワーク機器7が送信側装置に相当し、受信側装置に相当するネットワーク機器6で輻輳が発生する場合の例である。ネットワーク機器7は、フレーム間引きレート制御部13、インターネットアダプタ14,16および制御パケット受信部15を備えている。ネットワーク機器7は、インターネットアダプタ16を介してインターネット2から、シーケンス番号が付加されたUDPパケットを受信する。
【0049】
フレーム間引きレート制御部13、インターネットアダプタ14および制御パケット受信部15は、実施の形態1において説明した通りである。ただし、フレーム間引きレート制御部13は、インターネットアダプタ16で受信したUDPパケットに対して、フレーム間引き制御を行う。ネットワーク機器6は、実施の形態2において説明した通りである。このように、ネットワーク機器同士の間でも、一方のネットワーク機器7からネットワークへ送出されるUDPパケットの送出間隔が、他方のネットワーク機器6の輻輳状態に応じて動的に制御される。
【0050】
(実施の形態4)
図15は、この発明の実施の形態4にかかるデータ通信システムの構成を示す図である。図15に示すように、実施の形態4は、実施の形態3と同様に、ネットワーク機器7が送信側装置に相当する場合の例である。この例では、ネットワーク機器7からネットワークへ送出されるUDPパケットの送出間隔が、データ受信装置5の輻輳状態に応じて動的に制御される。
【0051】
以上説明したように、実施の形態1〜4によれば、受信側装置で輻輳状態が発生すると、受信側装置から送信側装置へ、輻輳状態に応じたフレーム間引きレートが通知され、このフレーム間引きレートに基づいて、送信側装置がフレーム間引き制御を行うことによって、ネットワーク機器の資源を予約したり、パケットの優先度を制御したり、データを圧縮したりすることなく、動的に送信フレームレートを制御することができる。従って、再送制御を行わない通信方式において、ネットワーク資源の予約を行わずに、画像や音声の品質低下を招くことなく、即時的に輻輳状態を解消することができる。また、ネットワークの過負荷状態を即座に解消することができる。
【0052】
以上において本発明は、上述した各実施の形態に限らず、種々変更可能である。例えば、実施の形態1〜4において、ビットストリーム中におけるパケットの順序に対応した順序情報として、タイプスタンプ値を用いる場合には、次のようにしてもよい。受信側装置(ネットワーク機器を含む)は、現到着パケットのタイムスタンプ値と前到着パケットのタイムスタンプ値の差分と、現到着パケットの到着時刻と前パケットの到着時刻の差分との乖離が、一定のしきい値を超えたら、輻輳状態が発生していると判断し、制御パケットを送出する。タイムスタンプ値として、DVデータの時刻情報を用いてもよいし、全地球測位システム(GPS:Global Positioning System)などから取得した時刻情報を用いてもよい。
【0053】
また、送信側装置(ネットワーク機器を含む)において、フレーム間引きレート制御部13は、フレーム間引きレートを減少させた後、一定の時間間隔でフレーム間引きレートを少しずつ増加させるようになっていてもよい。この場合、送信側装置(ネットワーク機器を含む)は、受信側装置(ネットワーク機器を含む)から制御パケットが送信されてこなければ、輻輳状態が解消したと判断し、さらにフレーム間引きレートを増加させることができる。あるいは、受信側装置(ネットワーク機器を含む)において、エラーレートがしきい値以下に納まっていれば、輻輳状態が解消されたと判断して、送信側装置(ネットワーク機器を含む)へフレーム間引きレートを増加させる制御パケットを送出するようにしてもよい。いずれの場合でも、フレーム間引きレートを減少させるときだけでなく、輻輳状態の解消後にフレーム間引きレートを増加させる際にも、動的にフレーム間引きレートを制御することができるので、効率良くフレーム間引き制御を行うことができる。
【0054】
また、送信側装置(ネットワーク機器を含む)が受信側装置(ネットワーク機器を含む)に対して到達確認パケットを送出し、受信側装置(ネットワーク機器を含む)がこの到達確認パケットの到達状況に基づいて輻輳状態を判断するような構成としてもよい。この場合、到達確認パケットにシーケンス番号やタイムスタンプ値を埋め込んでおく必要がある。
【0055】
また、受信側装置(ネットワーク機器を含む)から送信側装置(ネットワーク機器を含む)に制御パケットが到着しなくても、送信側装置(ネットワーク機器を含む)においてフレーム間引きレートを徐々に下げていき、制御パケットが到着した時点でフレーム間引きレートの制御を行うような構成としてもよい。この場合、輻輳状態が発生していなくても、受信側装置(ネットワーク機器を含む)から一定間隔毎に制御パケットを送出するようにしておく。このようにすれば、輻輳状態が極めて悪化しているため、受信側装置(ネットワーク機器を含む)から送信側装置(ネットワーク機器を含む)に制御パケットが到達しない場合でも、フレーム間引き制御を行うことができる。
【0056】
(付記1)ビットストリームを複数のパケットに分割してデータグラム通信により送受信を行うデータ通信システムにおいて、ネットワークを介して、ビットストリーム中のパケットの順序に対応する順序情報を受信し、該順序情報に基づいて輻輳状態の有無を決定する輻輳状態決定手段と、前記輻輳状態決定手段により輻輳状態有りと決定された場合に、フレーム間引きレートの制御情報を生成し、該制御情報を前記ネットワークを介して前記順序情報の送信元へ送信する制御情報生成手段と、前記ネットワークから前記フレーム間引きレートの制御情報を受信し、該制御情報に基づいて前記フレーム間引きレートを抽出する制御情報受信手段と、前記制御情報受信手段により抽出された前記フレーム間引きレートに基づいてフレーム間引きを行うフレーム間引きレート制御手段と、を備えることを特徴とするデータ通信システム。
【0057】
(付記2)前記ビットストリーム中の順序に対応した前記順序情報を含むパケットを生成するパケット生成手段、をさらに備え、前記フレーム間引きレート制御手段は、前記パケット生成手段により生成されたパケットに対してフレーム間引きを行うことを特徴とする付記1に記載のデータ通信システム。
【0058】
(付記3)ビットストリームを分割した複数のパケットをデータグラム通信により送信するデータ通信装置において、ネットワークを介してフレーム間引きレートの制御情報を受信し、該制御情報に基づいてフレーム間引きレートを抽出する制御情報受信手段と、前記制御情報受信手段により抽出された前記フレーム間引きレートに基づいてフレーム間引きを行うフレーム間引きレート制御手段と、を備えることを特徴とするデータ通信装置。
【0059】
(付記4)前記ビットストリーム中の順序に対応した前記順序情報を含むパケットを生成するパケット生成手段、をさらに備え、前記フレーム間引きレート制御手段は、前記パケット生成手段により生成されたパケットに対してフレーム間引きを行うことを特徴とする付記3に記載のデータ通信装置。
【0060】
(付記5)ビットストリームを分割した複数のパケットをデータグラム通信により受信するデータ通信装置において、ネットワークを介して、ビットストリーム中のパケットの順序に対応する順序情報を受信し、該順序情報に基づいて輻輳状態の有無を決定する輻輳状態決定手段と、前記輻輳状態決定手段により輻輳状態有りと決定された場合に、フレーム間引きレートの制御情報を生成し、該制御情報を前記ネットワークを介して前記順序情報の送信元へ送信する制御情報生成手段と、を備えることを特徴とするデータ通信装置。
【0061】
(付記6)前記輻輳状態決定手段は、受信した順序情報と期待値とが異なるエラー回数がしきい値を超えたときに輻輳状態有りと決定し、前記制御情報生成手段は、前記輻輳状態決定手段により輻輳状態有りと決定されたときの前記エラー回数と、同エラー回数がゼロである場合にそれまでに受信すべきパケットの数に基づいて、前記フレーム間引きレートの制御情報を生成することを特徴とする付記5に記載のデータ通信装置。
【0062】
(付記7)ビットストリームを複数のパケットに分割してデータグラム通信により送受信を行うデータ通信方法において、ビットストリーム中の順序に対応した順序情報を含むパケットをネットワークへ送信し、前記ネットワークから受信した前記パケットに含まれる順序情報に基づいてフレーム間引きレートの制御情報をネットワークを介して前記パケットの送信元へ送信し、前記ネットワークから受信した前記制御情報に基づいて前記フレーム間引きレートを制御することを特徴とするデータ通信方法。
【0063】
(付記8)受信した順序情報と期待値とが異なるエラー回数と、該エラー回数がゼロである場合に受信すべきパケットの数に基づいて、前記フレーム間引きレートの制御情報を生成することを特徴とする付記7に記載のデータ通信方法。
【産業上の利用可能性】
【0064】
以上のように、本発明にかかるデータ通信システム、データ通信装置およびデータ通信方法は、ベストエフォート型で信頼性がなく通信遅延が変化するようなネットワークにおけるデータ通信に有用であり、特に、インターネットのデータグラム通信により動画や音声データなどの一連のデータを通信するシステムに適している。
【図面の簡単な説明】
【0065】
【図1】この発明の実施の形態1にかかるデータ通信システムの構成を示す図である。
【図2】この発明の実施の形態1にかかるデータ通信システムのDVパケット生成部の動作を説明する図である。
【図3】この発明の実施の形態1にかかるデータ通信システムのUDPパケットフォーマットの一例を示す図である。
【図4】この発明の実施の形態1にかかるデータ通信システムのUDPパケットフォーマットの他の例を示す図である。
【図5】この発明の実施の形態1にかかるデータ通信システムのUDPパケットフォーマットのさらに他の例を示す図である。
【図6】この発明の実施の形態1にかかるデータ通信システムの制御パケット受信部の動作を説明する図である。
【図7】この発明の実施の形態1にかかるデータ通信システムのフレーム間引きレート制御部の動作を説明する図である。
【図8】DVデータのフォーマット例を示す図である。
【図9】この発明の実施の形態1にかかるデータ通信システムの輻輳状態決定部の動作を説明する図である。
【図10】この発明の実施の形態1にかかるデータ通信システムの制御パケット生成部の動作を説明する図である。
【図11】この発明の実施の形態1にかかるデータ通信システムのDVパケット受信部の動作を説明する図である。
【図12】この発明の実施の形態1にかかるデータ通信システムにおける間引き制御の処理シーケンスを示す図である。
【図13】この発明の実施の形態2にかかるデータ通信システムの構成を示す図である。
【図14】この発明の実施の形態3にかかるデータ通信システムの構成を示す図である。
【図15】この発明の実施の形態4にかかるデータ通信システムの構成を示す図である。
【符号の説明】
【0066】
2 インターネット
4 データ送信装置
5 データ受信装置
6,7 ネットワーク機器
12 DVパケット生成部
13 フレーム間引きレート制御部
15 制御パケット受信部
22 輻輳状態決定部
23 制御パケット生成部
【技術分野】
【0001】
この発明は、データ通信システム、データ通信装置およびデータ通信方法に関する。
【背景技術】
【0002】
UDP(User Datagram Protocol)パケットを用いたインターネットのデータグラム通信により、送信側装置から受信側装置へデジタルビデオ信号を転送する場合、伝送の途中で輻輳が発生すると、パケットが破棄される。データグラム通信では、破棄されたパケットの再送制御が行われないため、パケットが破棄されると、受信側装置で再生した画像や音声が劣化してしまう。そこで、従来、デジタルビデオ信号などのストリーミングデータを送信する際には、輻輳状態の発生を回避するために、静的に送信フレームレートを制御したり、ネットワーク中に配置されているルータやスイッチ等のネットワーク機器の資源を予約したり、パケットの優先度を制御したり、データを圧縮することが行われている。
【0003】
また、通信媒体の輻輳度に応じた通信データ量の削減を実現する技術が公知である。この技術は、所望のデータ単位でビデオデータおよびオーディオデータが混在する動画像データのビットストリームの一部に、ビデオデータおよびオーディオデータの少なくとも一方の、ビットストリーム内における位置情報が記録された制御データを混在させておき、所望の通信媒体を経由して動画像データを送信するとき、必要に応じて制御データから得られる位置情報に基づいてビデオデータおよびオーディオデータの少なくとも一方を間引いて送信するものである(例えば、特許文献1参照。)。
【0004】
また、無線通信路を用いて画像データのような大容量のデータ伝送を行う場合に、映像のリアルタイム性を維持できるようにした技術が公知である。この技術は、送信側では画像データに誤り訂正符号を付加して送信し、受信側では上記誤り訂正符号により画像データの伝送誤りの有無を調べ、誤りが発生した場合には上記画像データの再送要求を送信側に返送する応答処理を行い、さらに送信側においては、上記再送要求を受信した場合に再送処理を行った回数を記憶し、その再送回数が所定のしきい値を越えた場合には、再送を中止して次の画像データを送信することを特徴とする(例えば、特許文献2参照。)。
【0005】
また、伝送路上に輻輳が生じた場合の映像パケットの廃棄による映像情報の劣化を抑制するとともに、通信の実時間性を保つことができる技術が公知である。この技術は、送路から受信したパケットから伝送路の輻輳を検出し、該輻輳に応じて、または、伝送路の状態を検出し、この検出した伝送路の状態に応じて、または、転送時間測定パケットの往復転送時間を算出し、この往復転送時間に基づいて、または、伝送路におけるパケットの廃棄を検出し、このパケットの廃棄に基づいて、それぞれ映像符号化器のビットレートを制御するものである(例えば、特許文献3参照。)。
【0006】
【特許文献1】特開平10−294927号公報(段落[0012])
【特許文献2】特開平10−262256号公報(段落[0011])
【特許文献3】特開平5−260090号公報(段落[0070])
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した従来のデータグラム通信における輻輳回避技術では、次のような問題点がある。静的に送信フレームレートを制御する場合には、ネットワーク管理者等が輻輳状態に鑑みて制御を行うため、輻輳状態が即時的に解消されない。ネットワーク機器の資源を予約したり、パケットの優先度を制御する場合には、ネットワーク機器が過負荷状態になるため、他の通信の妨げになる。また、通信が行われない間、予約した資源が無駄になる。データを圧縮する場合には、データグラム通信の特徴の一つであるリアルタイム性が損なわれたり、再生した画像や音声の品質が低下する。さらに、いずれの場合でも、ネットワーク機器の転送能力を超えた処理を行うことはできない。
【0008】
また、前記特許文献1に開示された技術では、輻輳状態を検出した受信側装置やネットワーク機器から通達される制御情報に基づいて動的にフレーム間引きを行うことはできない。前記特許文献2に開示された技術は、再送制御を行う方式の技術であるため、再送制御を行わないデータグラム通信に適用することはできない。前記特許文献3に開示された技術は、映像データの符号化ビットレートを制御する技術であるため、輻輳状態が多くなると映像品質が低下する。さらに、これらの文献に開示された技術を組み合わせても、データグラム通信のように再送制御を行わない方式において、再生品質を低下させずにネットワークの輻輳状態を解消することはできない。
【0009】
この発明は、上述した従来技術による問題点を解消するため、再送制御を行わない通信方式において、ネットワーク資源の予約を行わずに、画像や音声の品質低下を招くことなく、即時的に輻輳状態を解消することができるデータ通信システム、データ通信装置およびデータ通信方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
上述した課題を解決し、目的を達成するため、本発明にかかるデータ通信システム、データ通信装置およびデータ通信方法は、以下の特徴を有する。ビットストリームを分割した複数のパケットをデータグラム通信により送信する側の装置では、ビットストリーム中の順序に対応した順序情報を含むパケットをネットワークへ送信する。それらのパケットを受信する側の装置では、輻輳状態決定手段により、ネットワークを介して受信したパケットに含まれる順序情報に基づいて輻輳状態の有無を決定し、制御情報生成手段により、フレーム間引きレートの制御情報を生成する。そして、その制御情報をネットワークを介してパケットの送信元へ送信する。パケットを送信する側の装置では、制御情報受信手段により、ネットワークからフレーム間引きレートの制御情報を受信し、フレーム間引きレート制御手段により、その制御情報からフレーム間引きレートを取得してフレーム間引きを行う。
【0011】
この発明によれば、輻輳状態が発生すると、パケットを受信する側の装置からパケットを送信する側の装置へ、輻輳状態に応じたフレーム間引きレートが通知される。パケットを送信する側の装置は、通知されたフレーム間引きレートに基づいてフレーム間引き制御を行う。従って、動的に送信フレームレートを制御することができる。その際、ネットワーク機器の資源を予約したり、パケットの優先度を制御したり、データを圧縮する必要がない。
【発明の効果】
【0012】
本発明にかかるデータ通信システム、データ通信装置およびデータ通信方法によれば、再送制御を行わない通信方式において、ネットワーク資源の予約を行わずに、画像や音声の品質低下を招くことなく、即時的に輻輳状態を解消することができるという効果を奏する。
【発明を実施するための最良の形態】
【0013】
以下に添付図面を参照して、この発明にかかるデータ通信システム、データ通信装置およびデータ通信方法の好適な実施の形態を詳細に説明する。以下の説明において、同様の構成には同一の符号を付して、重複する説明を省略する。なお、本発明は、以下の実施の形態の説明に限定されるものではない。
【0014】
(実施の形態1)
図1は、この発明の実施の形態1にかかるデータ通信システムの構成を示す図である。図1に示すように、このデータ通信システムは、例えば、デジタルビデオカメラ1およびデータ送信装置4からなる送信側装置と、デジタルビデオデッキ3およびデータ受信装置5からなる受信側装置を、それぞれ、インターネット2に接続し、デジタルビデオカメラ1で撮影した映像のDV(デジタルビデオ)データをインターネット2のデータグラム通信によりデジタルビデオデッキ3へ転送するシステムである。
【0015】
データ送信装置4は、DVアダプタ11、DVパケット生成部12、フレーム間引きレート制御部13、インターネットアダプタ14、および制御情報受信手段としての機能を有する制御パケット受信部15を備えている。DVアダプタ11は、DV機器、ここではデジタルビデオカメラ1に接続するインタフェースである。
【0016】
DVパケット生成部12は、DVデータのビットストリームを複数のUDPパケットに分割し、各UDPパケットに、ビットストリーム中における自身の順序に対応した順序情報を埋め込む。順序情報として、例えば、連続したシーケンス番号や、タイプスタンプ値が用いられる。ここでは、シーケンス番号を用いるとする。DVパケット生成部12の詳細な動作については後述する。
【0017】
インターネットアダプタ14は、インターネット2に接続するインタフェースである。制御パケット受信部15は、インターネットアダプタ14を介してインターネットからフレーム間引きレートの制御情報を格納した制御パケットを受信し、その制御情報からフレーム間引きレートを抽出する。制御パケット受信部15の詳細な動作については後述する。
【0018】
フレーム間引きレート制御部13は、DVパケット生成部12により生成されたUDPパケットに対して、制御パケット受信部15により抽出されたフレーム間引きレートに基づいて、フレーム間引き対象のパケットを破棄し、そうでないパケットをインターネットアダプタ14を介してインターネット2へ送信する。フレーム間引きレート制御部13の詳細な動作については後述する。
【0019】
前記データ受信装置5は、インターネットアダプタ21、輻輳状態決定部22、制御情報生成手段としての機能を有する制御パケット生成部23、DVパケット受信部24、およびDVアダプタ25を備えている。インターネットアダプタ21は、インターネット2に接続するインタフェースである。
【0020】
輻輳状態決定部22は、インターネットアダプタ21を介してインターネット2からUDPパケットを受信する。そして、輻輳状態決定部22は、受信したUDPパケットから前記順序情報、すなわち、ここではシーケンス番号を取得し、輻輳状態の有無を決定する。輻輳状態決定部22の詳細な動作については後述する。
【0021】
制御パケット生成部23は、輻輳状態決定部22により輻輳状態有りと決定された場合に、前記フレーム間引きレートの制御情報を生成し、その制御情報を格納した前記制御パケットを生成する。そして、制御パケット生成部23は、その制御パケットをインターネットアダプタ21を介してインターネット2へ送信する。制御パケット生成部23の詳細な動作については後述する。
【0022】
DVパケット受信部24は、受信したUDPパケットからヘッダ等を除去して、UDPパケットをDVデータに戻す。DVパケット受信部24の詳細な動作については後述する。DVアダプタ25は、DV機器、ここではデジタルビデオデッキ3に接続するインタフェースである。
【0023】
図2は、DVパケット生成部の動作を説明する図である。図2に示すように、DVパケット生成部12は、デジタルビデオカメラ1から送られてきたデータが先頭であるか否かを判断する(ステップS1)。先頭のデータであれば(ステップS1:Yes)、DVパケット生成部12は、シーケンス番号Sとフレーム番号Fを初期化し、それぞれ1に設定する(ステップS2)。そして、ステップS3へ進む。
【0024】
データが先頭でなければ(ステップS1:No)、DVパケット生成部12は、UDPパケットヘッダを形成する(ステップS3)。次いで、DVパケット生成部12は、UDPパケットにシーケンス番号Sを格納し(ステップS4)、UDPデータパケットを形成する(ステップS5)。そして、DVパケット生成部12は、現在のシーケンス番号Sに1を加算して新たなシーケンス番号Sとする(ステップS6)。
【0025】
次いで、DVパケット生成部12は、ステップS5で形成したUDPデータパケットがフレームの先頭であるか否かを判断する(ステップS7)。フレームの先頭であれば(ステップS7:Yes)、DVパケット生成部12は、現在のフレーム番号Fに1を加算して新たなフレーム番号Fとし(ステップS8)、ステップS9へ進む。フレームの先頭でなければ(ステップS7:No)、DVパケット生成部12は、UDPパケットにフレーム番号Fを付与する(ステップS9)。DVパケット生成部12は、デジタルビデオカメラ1からデータを受け取るたびに、ステップS1からステップS9までの動作を行う。
【0026】
図3は、DVパケット生成部により生成されるUDPパケットのフォーマット例を示す図である。図3に示すように、UDPパケット8のデータ・フィールド31の一部がシーケンス番号フィールド32に割り当てられる。このシーケンス番号フィールド32にシーケンス番号Sが格納される。
【0027】
図4および図5は、シーケンス番号フィールドの長さを可変にしたUDPパケットのフォーマット例を示す図である。この場合には、シーケンス番号フィールド32の前に、シーケンス番号フィールド32のデータ長を示すレングス・フィールド33が設けられる。例えば、レングス・フィールド33が16ビット長であり、レングス・フィールド33に48が設定されると、シーケンス番号フィールド32のデータ長は、48ビットとなる。
【0028】
図4に示す例は、シーケンス番号をより大きな値まで設定することができるので、データ量の大きなビットストリームをより多くのUDPパケットに分割して送信するのに適している。一方、図5に示す例は、シーケンス番号フィールド32とレングス・フィールド33のデータ長が小さいので、1パケット中により多くの送信データを格納して送信するのに適している。
【0029】
図6は、制御パケット受信部の動作を説明する図である。図6に示すように、制御パケット受信部15は、インターネットアダプタ14を介してインターネット2からパケットを受信すると(ステップS11)、そのパケットが制御パケットであるか否かを判断する(ステップS12)。受信したパケットが制御パケットでない場合(ステップS12:No)、制御パケット受信部15は、そのパケットを上位レイヤーへ転送する(ステップS13)。
【0030】
一方、制御パケットを受信した場合(ステップS12:Yes)、制御パケット受信部15は、その制御パケットからフレーム間引きレートを抽出する(ステップS14)。そして、制御パケット受信部15は、抽出したフレーム間引きレートをフレーム間引きレートレジスタに設定する(ステップS15)。フレーム間引きレートレジスタは、特に図示しないが、例えば、フレーム間引きレート制御部13に設けられている。制御パケット受信部15は、パケットを受信するたびに、ステップS11からステップS15までの動作を行う。
【0031】
図7は、フレーム間引きレート制御部の動作を説明する図である。図7に示すように、フレーム間引きレート制御部13は、DVパケット生成部12からUDPパケットを受け取ると(ステップS21)、そのパケットが間引きフレームに該当するか否か、すなわち、間引きフレーム内のパケットであるか否かを判断する(ステップS22)。UDPパケットのフレーム番号Fとフレーム間引きレートとのアンドを取り、その値が0であれば、間引きフレームである。フレーム間引きレートは、制御パケット受信部15から渡される。
【0032】
フレーム間引きレート制御部13は、間引きフレームでない場合(ステップS22:No)には、ステップS25へ進み、間引きフレームである場合(ステップS22:Yes)には、さらに、ステップS21で受け取ったUDPパケットが音声パケットであるか否かを判断する(ステップS23)。フレーム間引きレート制御部13は、音声パケットでなければ(ステップS23:No)、破棄し(ステップS24)、音声パケットであれば(ステップS23:Yes)、破棄せずに、ステップS25へ進む。
【0033】
ステップS25では、フレーム間引きレート制御部13は、破棄されずに残った送信対象のUDPパケットに対して、送信処理を行う(ステップS25)。フレーム間引きレート制御部13は、UDPパケットを受け取るたびに、ステップS21からステップS25までの動作を行う。
【0034】
図8は、1フレーム分のDVデータのフォーマット例を示す図である。図8に示すように、1個のフレーム9は、10個のDIF(Digital Interface)シーケンスに分割され、各DIFシーケンスは、さらに、ヘッダ情報(f)、音声情報(a)および画像情報(v)からなる150個のDIFブロックにより構成される。このような構成のフレーム9が間引きフレームに該当する場合、図7のステップS23では、画像情報(v)を格納するパケットは破棄され、音声情報(a)を格納するパケットは破棄されずに残される。このように、音声パケットを間引きしないようにすることによって、音声が聞き取りにくくなるのを避けることができる。音声情報よりも画像情報の方が重要度が高い場合には、画像情報(v)を格納するパケットを破棄せずに残し、音声情報(a)を格納するパケットを破棄するようにしてもよい。
【0035】
図9は、輻輳状態決定部の動作を説明する図である。図9に示すように、輻輳状態決定部22は、インターネットアダプタ21を介してインターネット2から受信したデータが先頭であるか否かを判断する(ステップS31)。先頭のデータであれば(ステップS31:Yes)、輻輳状態決定部22は、カウンタ値CとエラーレートRとタイマ値Tを初期化し、それぞれ1に設定する(ステップS32)。そして、ステップS33へ進む。
【0036】
データが先頭でなければ(ステップS31:No)、輻輳状態決定部22は、UDPパケットを受信し、その中に格納されているシーケンス番号Sを取得する(ステップS33)。次いで、輻輳状態決定部22は、シーケンス番号Sがカウンタ値Cに一致するか否かを判断する(ステップS34)。シーケンス番号Sがカウンタ値Cに等しければ(ステップS34:Yes)、輻輳状態決定部22は、輻輳によるパケットの損失が発生していないと判断して、ステップS38へ進む。
【0037】
一方、シーケンス番号Sがカウンタ値Cと異なる場合(ステップS34:No)には、輻輳状態決定部22は、現在のエラーレートRに1を加算して新たなエラーレートRとする(ステップS35)。そして、輻輳状態決定部22は、その新たなエラーレートRが、予め設定されたエラーレートしきい値RATE以下であるか否かを判断する(ステップS36)。エラーレートRがしきい値RATEを超えない場合(ステップS36:Yes)、ステップS38へ進む。
【0038】
一方、エラーレートRがしきい値RATEを超える場合(ステップS36:No)、輻輳状態決定部22は、制御パケット生成部23に対して制御パケットの送信を指示する(ステップS37)。次いで、輻輳状態決定部22は、タイマ値Tが、予め設定されたタイマ上限値TIME以下であるか否かを判断する(ステップS38)。タイマ値Tが上限値TIMEを超える場合(ステップS38:No)、輻輳状態決定部22は、エラーレートRとタイマ値Tを初期化し、それぞれ1に設定する(ステップS39)。
【0039】
一方、タイマ値Tが上限値TIMEを超えない場合(ステップS38:Yes)、輻輳状態決定部22は、現在のカウンタ値Cおよびタイマ値Tにそれぞれ1を加算して新たなカウンタ値Cおよびタイマ値Tとする(ステップS40)。輻輳状態決定部22は、データを受信するたびに、ステップS31からステップS40までの動作を行う。
【0040】
図10は、制御パケット生成部の動作を説明する図である。図10に示すように、制御パケット生成部23は、制御パケット送信指示があると(ステップS51)、フレーム間引きレートを算出する(ステップS52)。フレーム間引きレートは、エラーレートRをシーケンス番号Sで割ることによって求められる。エラーレートRとシーケンス番号Sは、輻輳状態決定部22から渡される。
【0041】
次いで、制御パケット生成部23は、制御パケットを形成し、その中にフレーム間引きレートを埋め込む(ステップS53)。そして、制御パケット生成部23は、制御パケットの送信処理を行う(ステップS54)。制御パケット生成部23は、制御パケット送信指示があるたびに、ステップS51からステップS54までの動作を行う。
【0042】
図11は、DVパケット受信部の動作を説明する図である。図11に示すように、DVパケット受信部24は、輻輳状態決定部22から、破棄されずに残ったUDPパケットを受け取ると(ステップS61)、そのパケットのヘッダを除去する(ステップS62)。そして、DVパケット受信部24は、データ領域(データ・フィールド31)からシーケンス番号フィールド32を除去する(ステップS63)。UDPパケットのフォーマットが図4または図5に示す例である場合には、シーケンス番号フィールド32とともにレングス・フィールド33も除去される。
【0043】
図12は、この発明の実施の形態1にかかるデータ通信システムにおける間引き制御の処理シーケンスを示す図である。図12に示すように、送信側装置は、上述したステップS1からステップS9まで、およびステップS21からステップS25までの動作を行い、データグラムパケットに制御情報としてシーケンス番号を付加したUDPパケットを受信側装置へ送信する(ステップS71)。輻輳が発生していない場合は、UDPパケットは、通常通りの通信で転送される。
【0044】
受信側装置で輻輳が発生すると、図12に×印で示すように、受信側装置に到達しないUDPパケットが発生し、パケットの損失が起こる。受信側装置は、上述したステップS31からステップS40までの動作を行い、エラーレートがそのしきい値を超えると、輻輳回避制御を行う(ステップS72)。そして、受信側装置は、上述したS51からステップS54までの動作を行い、送信側装置へ制御パケットを送信する(ステップS73)。
【0045】
送信側装置は、制御パケットを受信すると、上述したステップS21からステップS25までの動作を行い、フレーム間引き制御を行う(ステップS74)。これによって、送信側装置から受信側装置へのUDPパケットの送出間隔が動的に制御され、長い送出間隔でUDPパケットが送信される(ステップS75)。
【0046】
(実施の形態2)
図13は、この発明の実施の形態2にかかるデータ通信システムの構成を示す図である。図13に示すように、実施の形態2は、ネットワーク中に配置されているルータやスイッチ等のネットワーク機器6で輻輳が発生する場合の例であり、このネットワーク機器6が受信側装置に相当する。ネットワーク機器6は、インターネットアダプタ21、輻輳状態決定部22、制御パケット生成部23およびインターネットアダプタ26を備えている。
【0047】
ネットワーク機器6は、輻輳状態決定部22で破棄されずに残ったUDPパケットを、インターネットアダプタ26を介してインターネット2へ転送する。インターネットアダプタ21、輻輳状態決定部22および制御パケット生成部23は、実施の形態1において説明した通りである。このように、UDPパケットを生成して出力するデータ送信装置4とネットワーク機器6の間でも、データ送信装置4からネットワークへ送出されるUDPパケットの送出間隔が、ネットワーク機器6の輻輳状態に応じて動的に制御される。
【0048】
(実施の形態3)
図14は、この発明の実施の形態3にかかるデータ通信システムの構成を示す図である。図14に示すように、実施の形態3は、UDPパケットの中継を行うネットワーク機器7が送信側装置に相当し、受信側装置に相当するネットワーク機器6で輻輳が発生する場合の例である。ネットワーク機器7は、フレーム間引きレート制御部13、インターネットアダプタ14,16および制御パケット受信部15を備えている。ネットワーク機器7は、インターネットアダプタ16を介してインターネット2から、シーケンス番号が付加されたUDPパケットを受信する。
【0049】
フレーム間引きレート制御部13、インターネットアダプタ14および制御パケット受信部15は、実施の形態1において説明した通りである。ただし、フレーム間引きレート制御部13は、インターネットアダプタ16で受信したUDPパケットに対して、フレーム間引き制御を行う。ネットワーク機器6は、実施の形態2において説明した通りである。このように、ネットワーク機器同士の間でも、一方のネットワーク機器7からネットワークへ送出されるUDPパケットの送出間隔が、他方のネットワーク機器6の輻輳状態に応じて動的に制御される。
【0050】
(実施の形態4)
図15は、この発明の実施の形態4にかかるデータ通信システムの構成を示す図である。図15に示すように、実施の形態4は、実施の形態3と同様に、ネットワーク機器7が送信側装置に相当する場合の例である。この例では、ネットワーク機器7からネットワークへ送出されるUDPパケットの送出間隔が、データ受信装置5の輻輳状態に応じて動的に制御される。
【0051】
以上説明したように、実施の形態1〜4によれば、受信側装置で輻輳状態が発生すると、受信側装置から送信側装置へ、輻輳状態に応じたフレーム間引きレートが通知され、このフレーム間引きレートに基づいて、送信側装置がフレーム間引き制御を行うことによって、ネットワーク機器の資源を予約したり、パケットの優先度を制御したり、データを圧縮したりすることなく、動的に送信フレームレートを制御することができる。従って、再送制御を行わない通信方式において、ネットワーク資源の予約を行わずに、画像や音声の品質低下を招くことなく、即時的に輻輳状態を解消することができる。また、ネットワークの過負荷状態を即座に解消することができる。
【0052】
以上において本発明は、上述した各実施の形態に限らず、種々変更可能である。例えば、実施の形態1〜4において、ビットストリーム中におけるパケットの順序に対応した順序情報として、タイプスタンプ値を用いる場合には、次のようにしてもよい。受信側装置(ネットワーク機器を含む)は、現到着パケットのタイムスタンプ値と前到着パケットのタイムスタンプ値の差分と、現到着パケットの到着時刻と前パケットの到着時刻の差分との乖離が、一定のしきい値を超えたら、輻輳状態が発生していると判断し、制御パケットを送出する。タイムスタンプ値として、DVデータの時刻情報を用いてもよいし、全地球測位システム(GPS:Global Positioning System)などから取得した時刻情報を用いてもよい。
【0053】
また、送信側装置(ネットワーク機器を含む)において、フレーム間引きレート制御部13は、フレーム間引きレートを減少させた後、一定の時間間隔でフレーム間引きレートを少しずつ増加させるようになっていてもよい。この場合、送信側装置(ネットワーク機器を含む)は、受信側装置(ネットワーク機器を含む)から制御パケットが送信されてこなければ、輻輳状態が解消したと判断し、さらにフレーム間引きレートを増加させることができる。あるいは、受信側装置(ネットワーク機器を含む)において、エラーレートがしきい値以下に納まっていれば、輻輳状態が解消されたと判断して、送信側装置(ネットワーク機器を含む)へフレーム間引きレートを増加させる制御パケットを送出するようにしてもよい。いずれの場合でも、フレーム間引きレートを減少させるときだけでなく、輻輳状態の解消後にフレーム間引きレートを増加させる際にも、動的にフレーム間引きレートを制御することができるので、効率良くフレーム間引き制御を行うことができる。
【0054】
また、送信側装置(ネットワーク機器を含む)が受信側装置(ネットワーク機器を含む)に対して到達確認パケットを送出し、受信側装置(ネットワーク機器を含む)がこの到達確認パケットの到達状況に基づいて輻輳状態を判断するような構成としてもよい。この場合、到達確認パケットにシーケンス番号やタイムスタンプ値を埋め込んでおく必要がある。
【0055】
また、受信側装置(ネットワーク機器を含む)から送信側装置(ネットワーク機器を含む)に制御パケットが到着しなくても、送信側装置(ネットワーク機器を含む)においてフレーム間引きレートを徐々に下げていき、制御パケットが到着した時点でフレーム間引きレートの制御を行うような構成としてもよい。この場合、輻輳状態が発生していなくても、受信側装置(ネットワーク機器を含む)から一定間隔毎に制御パケットを送出するようにしておく。このようにすれば、輻輳状態が極めて悪化しているため、受信側装置(ネットワーク機器を含む)から送信側装置(ネットワーク機器を含む)に制御パケットが到達しない場合でも、フレーム間引き制御を行うことができる。
【0056】
(付記1)ビットストリームを複数のパケットに分割してデータグラム通信により送受信を行うデータ通信システムにおいて、ネットワークを介して、ビットストリーム中のパケットの順序に対応する順序情報を受信し、該順序情報に基づいて輻輳状態の有無を決定する輻輳状態決定手段と、前記輻輳状態決定手段により輻輳状態有りと決定された場合に、フレーム間引きレートの制御情報を生成し、該制御情報を前記ネットワークを介して前記順序情報の送信元へ送信する制御情報生成手段と、前記ネットワークから前記フレーム間引きレートの制御情報を受信し、該制御情報に基づいて前記フレーム間引きレートを抽出する制御情報受信手段と、前記制御情報受信手段により抽出された前記フレーム間引きレートに基づいてフレーム間引きを行うフレーム間引きレート制御手段と、を備えることを特徴とするデータ通信システム。
【0057】
(付記2)前記ビットストリーム中の順序に対応した前記順序情報を含むパケットを生成するパケット生成手段、をさらに備え、前記フレーム間引きレート制御手段は、前記パケット生成手段により生成されたパケットに対してフレーム間引きを行うことを特徴とする付記1に記載のデータ通信システム。
【0058】
(付記3)ビットストリームを分割した複数のパケットをデータグラム通信により送信するデータ通信装置において、ネットワークを介してフレーム間引きレートの制御情報を受信し、該制御情報に基づいてフレーム間引きレートを抽出する制御情報受信手段と、前記制御情報受信手段により抽出された前記フレーム間引きレートに基づいてフレーム間引きを行うフレーム間引きレート制御手段と、を備えることを特徴とするデータ通信装置。
【0059】
(付記4)前記ビットストリーム中の順序に対応した前記順序情報を含むパケットを生成するパケット生成手段、をさらに備え、前記フレーム間引きレート制御手段は、前記パケット生成手段により生成されたパケットに対してフレーム間引きを行うことを特徴とする付記3に記載のデータ通信装置。
【0060】
(付記5)ビットストリームを分割した複数のパケットをデータグラム通信により受信するデータ通信装置において、ネットワークを介して、ビットストリーム中のパケットの順序に対応する順序情報を受信し、該順序情報に基づいて輻輳状態の有無を決定する輻輳状態決定手段と、前記輻輳状態決定手段により輻輳状態有りと決定された場合に、フレーム間引きレートの制御情報を生成し、該制御情報を前記ネットワークを介して前記順序情報の送信元へ送信する制御情報生成手段と、を備えることを特徴とするデータ通信装置。
【0061】
(付記6)前記輻輳状態決定手段は、受信した順序情報と期待値とが異なるエラー回数がしきい値を超えたときに輻輳状態有りと決定し、前記制御情報生成手段は、前記輻輳状態決定手段により輻輳状態有りと決定されたときの前記エラー回数と、同エラー回数がゼロである場合にそれまでに受信すべきパケットの数に基づいて、前記フレーム間引きレートの制御情報を生成することを特徴とする付記5に記載のデータ通信装置。
【0062】
(付記7)ビットストリームを複数のパケットに分割してデータグラム通信により送受信を行うデータ通信方法において、ビットストリーム中の順序に対応した順序情報を含むパケットをネットワークへ送信し、前記ネットワークから受信した前記パケットに含まれる順序情報に基づいてフレーム間引きレートの制御情報をネットワークを介して前記パケットの送信元へ送信し、前記ネットワークから受信した前記制御情報に基づいて前記フレーム間引きレートを制御することを特徴とするデータ通信方法。
【0063】
(付記8)受信した順序情報と期待値とが異なるエラー回数と、該エラー回数がゼロである場合に受信すべきパケットの数に基づいて、前記フレーム間引きレートの制御情報を生成することを特徴とする付記7に記載のデータ通信方法。
【産業上の利用可能性】
【0064】
以上のように、本発明にかかるデータ通信システム、データ通信装置およびデータ通信方法は、ベストエフォート型で信頼性がなく通信遅延が変化するようなネットワークにおけるデータ通信に有用であり、特に、インターネットのデータグラム通信により動画や音声データなどの一連のデータを通信するシステムに適している。
【図面の簡単な説明】
【0065】
【図1】この発明の実施の形態1にかかるデータ通信システムの構成を示す図である。
【図2】この発明の実施の形態1にかかるデータ通信システムのDVパケット生成部の動作を説明する図である。
【図3】この発明の実施の形態1にかかるデータ通信システムのUDPパケットフォーマットの一例を示す図である。
【図4】この発明の実施の形態1にかかるデータ通信システムのUDPパケットフォーマットの他の例を示す図である。
【図5】この発明の実施の形態1にかかるデータ通信システムのUDPパケットフォーマットのさらに他の例を示す図である。
【図6】この発明の実施の形態1にかかるデータ通信システムの制御パケット受信部の動作を説明する図である。
【図7】この発明の実施の形態1にかかるデータ通信システムのフレーム間引きレート制御部の動作を説明する図である。
【図8】DVデータのフォーマット例を示す図である。
【図9】この発明の実施の形態1にかかるデータ通信システムの輻輳状態決定部の動作を説明する図である。
【図10】この発明の実施の形態1にかかるデータ通信システムの制御パケット生成部の動作を説明する図である。
【図11】この発明の実施の形態1にかかるデータ通信システムのDVパケット受信部の動作を説明する図である。
【図12】この発明の実施の形態1にかかるデータ通信システムにおける間引き制御の処理シーケンスを示す図である。
【図13】この発明の実施の形態2にかかるデータ通信システムの構成を示す図である。
【図14】この発明の実施の形態3にかかるデータ通信システムの構成を示す図である。
【図15】この発明の実施の形態4にかかるデータ通信システムの構成を示す図である。
【符号の説明】
【0066】
2 インターネット
4 データ送信装置
5 データ受信装置
6,7 ネットワーク機器
12 DVパケット生成部
13 フレーム間引きレート制御部
15 制御パケット受信部
22 輻輳状態決定部
23 制御パケット生成部
【特許請求の範囲】
【請求項1】
ビットストリームを複数のパケットに分割してデータグラム通信により送受信を行うデータ通信システムにおいて、
ネットワークを介して、ビットストリーム中のパケットの順序に対応する順序情報を受信し、該順序情報に基づいて輻輳状態の有無を決定する輻輳状態決定手段と、
前記輻輳状態決定手段により輻輳状態有りと決定された場合に、フレーム間引きレートの制御情報を生成し、該制御情報を前記ネットワークを介して前記順序情報の送信元へ送信する制御情報生成手段と、
前記ネットワークから前記フレーム間引きレートの制御情報を受信し、該制御情報に基づいて前記フレーム間引きレートを抽出する制御情報受信手段と、
前記制御情報受信手段により抽出された前記フレーム間引きレートに基づいてフレーム間引きを行うフレーム間引きレート制御手段と、
を備えることを特徴とするデータ通信システム。
【請求項2】
前記ビットストリーム中の順序に対応した前記順序情報を含むパケットを生成するパケット生成手段、をさらに備え、
前記フレーム間引きレート制御手段は、前記パケット生成手段により生成されたパケットに対してフレーム間引きを行うことを特徴とする請求項1に記載のデータ通信システム。
【請求項3】
ビットストリームを分割した複数のパケットをデータグラム通信により送信するデータ通信装置において、
ネットワークを介してフレーム間引きレートの制御情報を受信し、該制御情報に基づいてフレーム間引きレートを抽出する制御情報受信手段と、
前記制御情報受信手段により抽出された前記フレーム間引きレートに基づいてフレーム間引きを行うフレーム間引きレート制御手段と、
を備えることを特徴とするデータ通信装置。
【請求項4】
ビットストリームを分割した複数のパケットをデータグラム通信により受信するデータ通信装置において、
ネットワークを介して、ビットストリーム中のパケットの順序に対応する順序情報を受信し、該順序情報に基づいて輻輳状態の有無を決定する輻輳状態決定手段と、
前記輻輳状態決定手段により輻輳状態有りと決定された場合に、フレーム間引きレートの制御情報を生成し、該制御情報を前記ネットワークを介して前記順序情報の送信元へ送信する制御情報生成手段と、
を備えることを特徴とするデータ通信装置。
【請求項5】
ビットストリームを複数のパケットに分割してデータグラム通信により送受信を行うデータ通信方法において、
ビットストリーム中の順序に対応した順序情報を含むパケットをネットワークへ送信し、
前記ネットワークから受信した前記パケットに含まれる順序情報に基づいてフレーム間引きレートの制御情報をネットワークを介して前記パケットの送信元へ送信し、
前記ネットワークから受信した前記制御情報に基づいて前記フレーム間引きレートを制御することを特徴とするデータ通信方法。
【請求項1】
ビットストリームを複数のパケットに分割してデータグラム通信により送受信を行うデータ通信システムにおいて、
ネットワークを介して、ビットストリーム中のパケットの順序に対応する順序情報を受信し、該順序情報に基づいて輻輳状態の有無を決定する輻輳状態決定手段と、
前記輻輳状態決定手段により輻輳状態有りと決定された場合に、フレーム間引きレートの制御情報を生成し、該制御情報を前記ネットワークを介して前記順序情報の送信元へ送信する制御情報生成手段と、
前記ネットワークから前記フレーム間引きレートの制御情報を受信し、該制御情報に基づいて前記フレーム間引きレートを抽出する制御情報受信手段と、
前記制御情報受信手段により抽出された前記フレーム間引きレートに基づいてフレーム間引きを行うフレーム間引きレート制御手段と、
を備えることを特徴とするデータ通信システム。
【請求項2】
前記ビットストリーム中の順序に対応した前記順序情報を含むパケットを生成するパケット生成手段、をさらに備え、
前記フレーム間引きレート制御手段は、前記パケット生成手段により生成されたパケットに対してフレーム間引きを行うことを特徴とする請求項1に記載のデータ通信システム。
【請求項3】
ビットストリームを分割した複数のパケットをデータグラム通信により送信するデータ通信装置において、
ネットワークを介してフレーム間引きレートの制御情報を受信し、該制御情報に基づいてフレーム間引きレートを抽出する制御情報受信手段と、
前記制御情報受信手段により抽出された前記フレーム間引きレートに基づいてフレーム間引きを行うフレーム間引きレート制御手段と、
を備えることを特徴とするデータ通信装置。
【請求項4】
ビットストリームを分割した複数のパケットをデータグラム通信により受信するデータ通信装置において、
ネットワークを介して、ビットストリーム中のパケットの順序に対応する順序情報を受信し、該順序情報に基づいて輻輳状態の有無を決定する輻輳状態決定手段と、
前記輻輳状態決定手段により輻輳状態有りと決定された場合に、フレーム間引きレートの制御情報を生成し、該制御情報を前記ネットワークを介して前記順序情報の送信元へ送信する制御情報生成手段と、
を備えることを特徴とするデータ通信装置。
【請求項5】
ビットストリームを複数のパケットに分割してデータグラム通信により送受信を行うデータ通信方法において、
ビットストリーム中の順序に対応した順序情報を含むパケットをネットワークへ送信し、
前記ネットワークから受信した前記パケットに含まれる順序情報に基づいてフレーム間引きレートの制御情報をネットワークを介して前記パケットの送信元へ送信し、
前記ネットワークから受信した前記制御情報に基づいて前記フレーム間引きレートを制御することを特徴とするデータ通信方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2009−38565(P2009−38565A)
【公開日】平成21年2月19日(2009.2.19)
【国際特許分類】
【出願番号】特願2007−200732(P2007−200732)
【出願日】平成19年8月1日(2007.8.1)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成21年2月19日(2009.2.19)
【国際特許分類】
【出願日】平成19年8月1日(2007.8.1)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]