JP3822508B2 - Packet transmission system and data transmission device and data reception device thereof - Google Patents

Packet transmission system and data transmission device and data reception device thereof Download PDF

Info

Publication number
JP3822508B2
JP3822508B2 JP2002063517A JP2002063517A JP3822508B2 JP 3822508 B2 JP3822508 B2 JP 3822508B2 JP 2002063517 A JP2002063517 A JP 2002063517A JP 2002063517 A JP2002063517 A JP 2002063517A JP 3822508 B2 JP3822508 B2 JP 3822508B2
Authority
JP
Japan
Prior art keywords
packet
data
parity
packets
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002063517A
Other languages
Japanese (ja)
Other versions
JP2003264590A (en
Inventor
香 井筒
慎一 青柳
智史 塩崎
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002063517A priority Critical patent/JP3822508B2/en
Publication of JP2003264590A publication Critical patent/JP2003264590A/en
Application granted granted Critical
Publication of JP3822508B2 publication Critical patent/JP3822508B2/en
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)

Description

【0001】
【発明の属する技術分野】
この発明は、ルータやスイッチ等を使用して構成されるIP(Internet Protocol)網において、UDP(User Datagram Protocol)によりデータを伝送するパケット伝送システムと、このシステムで使用されるデータ送信装置及びデータ受信装置に関する。
【0002】
【従来の技術】
IP網において使用されるIPの標準的な上位プロトコルには、TCP(Transmission Control Protocol)とUDPとがある。
【0003】
TCPは、コネクション型のプロトコルであり、VC(Virtual Circuit)を用いてコネクションを設定するコネクション管理機能と、宛先がパケットを受け取るたびに送信元に応答を通知する応答確認機能と、パケットごとにシーケンス番号を付けて未到着のパケットを特定するシーケンス機能と、複数パケットを格納するバッファを設けてバッファ単位で応答確認を行うウィンドウ・コントロール機能と、宛先が受信可能なパケット量を予め送信元に通知しておくフロー制御機能とを備えている。
【0004】
図6は、このTCPによるデータ伝送の概要を示すものである。同図において、送信側(送信元)のデータ伝送装置TStは各パケットにシーケンス番号を順に付与して送信し、受信側(宛先)のデータ伝送装置RStはパケットを受信するごとに受信応答(ACK)返送する。そして送信側のデータ伝送装置TStは、受信応答が得られないパケットを再送し、受信側のデータ伝送装置RStは受信した各パケットをそのシーケンス番号に従い順に再生する。
【0005】
このようにTCPは、上記シーケンス機能やフロー制御機能等により信頼性の高い通信を実現できる。しかし、その反面処理負荷が重く、パケットの送達時間にばらつきが発生するため、動画や音声等のようにリアルタイム性が要求されるストリーム系データの通信には不向きである。また、再送制御を行えないマルチキャスト通信等には適用することができない。
【0006】
これに対しUDPは、TCPと異なり、コネクション管理機能、応答確認機能、シーケンス機能、ウィンドウ・コントロール機能及びフロー制御機能を備えておらず、また通信相手との間にコネクションを設定しないコネクションレス型のプロトコルである。
【0007】
図7は、このUDPによるデータ伝送の概要を示すものである。同図において、送信側(送信元)のデータ伝送装置TSuは、上位アプリケーションが生成するデータをその生成順にそのままパケット化して送信する。その際、当該パケットを受信側(宛先)のデータ伝送装置RSuで確実に受信されたか否かを確認しない。受信側(宛先)のデータ伝送装置RSuは、受信したパケットから順に再生する。
【0008】
このためUDPは、複雑な制御を必要とせずに比較的軽い処理でデータ伝送を行うことが可能である。したがって、先に述べた動画や音声等のリアルタイム性が要求されるストリーム系データの通信や、ブロードキャスト又はマルチキャスト等を利用したポイント・トゥ・マルチポイント通信に適している。
【0009】
【発明が解決しようとする課題】
しかしUDPは、先に述べたように応答確認機能やシーケンス機能等の通信の信頼性を確保するための機能を備えていないので、伝送中にパケットが失われても再送されない。このため、例えば動画や音声の配信中にパケットが失われると、再生された画像や音声に途切れが発生し、データ品質の劣化を生じる。
【0010】
この発明は上記事情に着目してなされたもので、その目的とするところは、UDPを使用するデータ伝送において、簡易な制御により伝送品質の向上を可能にしたパケット伝送システムとそのデータ送信装置及びデータ受信装置を提供することにある。
【0011】
【課題を解決するための手段】
上記目的を達成するためにこの発明は、伝送対象のデータを、UDP(User Datagram Protocol)を使用して送信側から受信側へネットワークを介してパケット伝送するパケット伝送システムにおいて、上記送信側に、第1及び第2のパケット生成手段を設ける。そして、第1のパケット生成手段により上記伝送対象のデータをもとに複数のデータパケットを生成すると共に、第2のパケット生成手段により上記生成された複数のデータパケットについて所定数ごとにパリティパケットを生成し、この生成された複数のデータパケット及びパリティパケットを上記ネットワークへ送信する。
一方、受信側は、パケットの脱落の有無を判定する手段と、再生手段とを設ける。そして、判定手段により、受信されたデータパケット及びパリティパケットをもとにパリティチェックを行ってデータパケットの脱落の有無を判定し、データパケットの脱落が検出された場合に、再生手段により、上記受信されたデータパケット及びパリティパケットをもとに上記脱落したデータパケットを再生するようにしたものである。
【0012】
したがってこの発明によれば、UDPによるパケット伝送中にパケットが失われても、この失われたパケットを、受信できたパケットとパリティパケットとから再生することが可能となる。このため、応答確認機能やシーケンス機能等を使用する場合のような余計なトラフィックを発生させず、また比較的軽い処理負荷により脱落パケットの再生を行うことができる。したがって、動画や音声等のようにリアルタイム性が要求されるストリーム系データを、リアルタイムにしかも良好な品質で伝送することが可能となる。また、再送制御を行うことができないブロードキャスト又はマルチキャスト等を利用したポイント・トゥ・マルチポイント通信にも適用することができ、これにより高品質のポイント・トゥ・マルチポイント通信を実現できる。
【0015】
またこの発明は、上記第1のパケット生成手段により可変長のデータパケットを生成してそのヘッダにパケット長を表す情報を挿入し、上記第2のパケット生成手段において、上記所定数のデータパケットのパケット長を表す情報についてビット単位にパリティビットを求め、この求められたパリティビットをパリティパケットに挿入して送信する。これに対し上記再生手段では、データパケットの脱落が検出された場合に、受信されたデータパケットのヘッダに挿入されているパケット長を表す情報と、受信されたパリティパケットの上記パケット長を表す情報に対応するパリティビットをもとに、上記脱落したデータパケットのパケット長を再生する。このようにすると、データパケットが可変長の場合でも、脱落したデータパケットのパケット長を再生することが可能となる。
【0016】
さらに、上記第1のパケット生成手段により可変長のデータパケットを生成し、上記第2のパケット生成手段では上記所定数のデータパケットのうち最大長のデータパケットより短いデータパケットの短小部分を“0”ビットと見なしてパリティビットを求め、この求められたパリティビットをパリティパケットに挿入して送信する。これに対し上記再生手段では、データパケットの脱落が検出された場合に、受信されたデータパケットの短小部分を“0”ビットと見なし、この見なし“0”ビットと、受信されたパリティパケットの上記短小部分に対応するパリティビットとをもとに、脱落したデータパケットを再生する。
【0017】
このようにすると、例えば最大長のデータパケットが脱落した場合でも、受信されたデータパケットの見なし“0”ビットとパリティパケットの対応するパリティビットとから、上記脱落した最大長データパケットのすべての部位を再生することが可能となる。
【0018】
【発明の実施の形態】
図1は、この発明に係わるパケット伝送システムの一実施形態を示す概略構成図である。
この実施形態のシステムは、送信側(送信元)となるデータ伝送装置(以後データ送信装置と称する)TSと、受信側(宛先)となる複数のデータ伝送装置(以後データ受信装置)RS1〜RSnとを、IP(Internet Protocol)網NWを介して接続し、データ送信装置TSからデータ受信装置RS1〜RSnへUDP/IP(User Datagram Protocol/Internet Protocol)を使用してデータをパケット伝送するものである。
【0019】
ところで、上記データ送信装置TSは次のように構成される。図2はその機能構成を示すブロック図である。このデータ送信装置TSは、データ生成部11と、データパケット生成部12と、パリティパケット生成部13と、パケット送信部14とを備えている。
【0020】
データ生成部11は、上位層のアプリケーションにより作成された例えば画像や音声からなるデータストリームを、MPEG(Moving Picture Experts Group)等の所定の符号化方式に従い符号化して伝送データを生成する。
【0021】
データパケット生成部12は、上記データ生成部11により生成された伝送データを取り込んでこの伝送データをUDP/IPに従いパケット化し、これにより複数のデータパケットDP11,DP12,…を生成する。各データパケットDP11,DP12,…はそれぞれ、図4に示すようにIPヘッダ、UDPヘッダ及びUDPデータにより構成される。UDPデータ(ペイロード)は可変長であり、上記符号化された画像及び音声データが挿入される。
【0022】
UDPヘッダには、送信元ポート番号フィールド及びレングス(Length)フィールドが設けられている。このうちレングスフィールドには、当該データパケットDP11,DP12,…のパケット長を表す情報が挿入される。一方送信元ポート番号フィールドには、当該データパケットDP11,DP12,…の伝送順序を表すシーケンス番号(例えば0x0001,0x0002,…)が挿入される。このシーケンス番号はカウンタにより発生される。カウンタは、データパケットDP11,DP12,…が生成されるごとにカウント値を「1」,「2」,…とカウントアップし、後述するパリティパケット生成部13においてパリティパケットが生成されるタイミングにおいてカウント値をリセットする。
【0023】
パリティパケット生成部13は、上記データパケット生成部12により生成されたデータパケットDP11,DP12,…を所定数ずつ、例えば4パケットずつ取り込んでバッファに一時保存し、この保存された4個のデータパケットDP11〜DP14について1個のパリティパケットPP1 を生成する。
【0024】
パリティパケットPP1 は、図4に示すように、上記データパケットDP11,DP12,…と同様に、IPヘッダと、UDPヘッダと、UDPデータとから構成され、パケット長は上記保存された4個のデータパケットDP11〜DP14のうち最大長をとるデータパケットDP11と同一長に設定される。
【0025】
UDPヘッダの送信元ポート番号フィールドには、パリティパケットであることを表す特定の番号(例えば0xffff)が挿入される。またUDPヘッダのレングスフィールドには、上記保存された4個のデータパケットDP11〜DP14のレングスフィールドに挿入されたパケット長を表す情報について生成されたパリティビット(例えば偶数パリティ)が挿入される。
さらにUDPデータには、上記保存された4個のデータパケットDP11〜DP14のUDPデータに挿入されたペイロード情報について生成されたパリティビット(例えば偶数パリティ)が挿入される。これらのパリティビットは、4個のデータパケットDP11〜DP14の同一位置におけるビットごとに生成される。なお、最大長のデータパケットDP11より短いデータパケットDP12,DP13,DP14の短小部分イ,ロ,ハについては、“0”と見なしてパリティビットが生成される。
【0026】
パケット送信部14は、上記データパケット生成部12により生成された各データパケットDP11,DP12,…と、上記パリティパケット生成部13により生成されたパリティパケットPP1 ,…とを、生成順にIP網NWに向け送信する。
【0027】
一方、データ受信装置RSは次のように構成される。図3はその機能構成を示すブロック図である。このデータ受信装置RSは、パケット受信装置RPと、データ再生装置RDとから構成される。
【0028】
パケット受信装置RPは、パケット受信部21と、パリティチェック部22と、脱落パケット再生部23と、パケット出力部24とを備えている。パケット受信部21は、前記データ送信装置TSからIP網NWを介して伝送されたデータパケットDP11,DP12,…及びパリティパケットPP1,…をそれぞれ受信する。
【0029】
パリティチェック部22は、上記パケット受信部21により受信された複数のデータパケットDP11,DP12,…について、4パケットごとにパリティパケットをもとにパリティチェックを行う。そして、このパリティチェックにより脱落パケットの発生の有無を判定する。
【0030】
脱落パケット再生部23は、上記パリティチェック部22において脱落パケットがあると判定された場合に、当該脱落パケットを特定するための処理と、この特定された脱落パケットを再生するための処理とをそれぞれ実行する。
【0031】
脱落パケットの特定処理は、受信された複数のデータパケットのUDPヘッダの送信元ポート番号フィールドからシーケンス番号(例えば0x0001,0x0002,…)を抽出し、この抽出されたシーケンス番号の連続性から抜けを見つけることにより行う。
【0032】
特定された脱落パケットの再生処理は、受信されたデータパケットのUDPヘッダに挿入されているパケット長を表す情報と、パリティパケットのUDPヘッダに挿入されているパリティビットとをもとに、上記脱落パケットのパケット長情報を再生する。またそれと共に、UDPデータに挿入されているペイロード情報と、パリティパケットのUDPデータに挿入されているパリティビットとをもとに、上記脱落パケットのペイロード情報を再生する。
なお、このときデータパケットが可変長の場合には、受信されたデータパケットの短小部分を“0”ビットと見なし、この見なし“0”ビットと、受信されたパリティパケットの上記短小部分に対応するパリティビットとをもとに、脱落したデータパケットを再生する。
【0033】
パケット出力部24は、上記パリティチェック部22において脱落パケットがないと判定された場合には、上記パケット受信部21で受信されたデータパケットDP11,DP12,…をそのまま受信順にデータ再生装置RDへ転送する。一方、上記パリティチェック部22において脱落パケットがあると判定された場合には、上記パケット受信部21で受信されたデータパケットと、上記脱落パケット再生部23により再生されたデータパケットとを、受信順序を整えた上でデータ再生装置RDへ転送する。なお、パリティパケットは破棄する。
【0034】
データ再生装置RDは、上記パケット出力部24から転送されたデータパケットをデパケット処理すると共にデコード処理し、これにより画像及び音声のデータストリームを再生する。
【0035】
次に、以上のように構成されたパケット伝送システムとそのデータ送信装置及びデータ受信装置の動作を説明する。
なお、ここでは図1に示したシステムにおいて、データ送信装置TSがデータ受信装置RS1に対し動画と音声からなるデータを伝送する場合を例にとって説明する。
【0036】
データ送信装置TSにおいて、図示しないアプリケーションにより画像データストリーム及び音声データストリームが生成されると、これらのデータストリームはデータ生成部11で符号化されたのち、データパケット生成部12に入力されてここでUDP/IPに従いパケット化され、これによりデータパケットが順次生成される。
【0037】
上記データパケット生成部12により生成されたデータパケットは、4パケットずつパリティパケット生成部13に取り込まれる。パリティパケット生成部13では、この取り込んだ4個のデータパケットをもとに1個のパリティパケットが生成される。
【0038】
例えば、いま図4に示す4個のデータパケットDP11,DP12,DP13,DP14が取り込まれたとする。そうすると、パリティパケット生成部13では、先ずこのデータパケットDP11,DP12,DP13,DP14のUDPヘッダに挿入されているパケット長を表す情報について、その同一位置のビットごとに偶数パリティが生成される。そして、この偶数パリティが、パリティパケットPP1 のUDPヘッダに設けられたレングスフィールドに挿入される。
【0039】
次に、上記4個のデータパケットDP11,DP12,DP13,DP14のUDPデータに挿入されているペイロード情報について、その同一位置のビットごとに偶数パリティが生成される。そして、この偶数パリティがパリティパケットPP1 のUDPデータに挿入される。またこのとき、上記データパケットDP11,DP12,DP13,DP14のうち、最大長のデータパケットDP11よりパケット長が短いデータパケットDP12,DP13,DP14の短小部分イ,ロ,ハについては、“0”と見なされて偶数パリティが生成される。
【0040】
なお、上記データパケット生成部12により生成された4個のデータパケットDP11,DP12,DP13,DP14の送信元ポート番号フィールドには、データパケット生成部12のカウンタによりカウントされたシーケンス番号0x0001,0x0002,0x0003,0x0004が挿入される。また、パリティパケットPP1 の送信元ポート番号フィールドには、パリティパケット生成部13によりパリティパケットであることを表す特定の番号、例えば0xffffが挿入される。
【0041】
そうしてデータパケット生成部12により生成された4個のデータパケットDP11,DP12,DP13,DP14、及びパリティパケット生成部13により生成されたパリティパケットPP1 ,…は、順にIP網NWに向け送信される。
【0042】
以後同様に、データパケット生成部12により生成されたデータパケットは4パケットずつパリティパケット生成部13に取り込まれ、このパリティパケット生成部13において当該4個のデータパケットについてのパリティパケットが生成される。そして、上記4個のデータパケットに続いて上記パリティパケットがIP網NWへ送信される。
【0043】
これに対しデータ受信装置RSでは、次のようにデータ受信再生動作が行われる。
すなわち、データ送信装置TSからIP網NWを介してパケットが伝送されると、このパケットはパケット受信部21で受信されたのち、パリティチェック部22に入力される。パリティチェック部22では、パリティパケットが入力されるごとに、このパリティパケットをもとに当該パリティパケットに先立ち受信された複数のデータパケットについてパリティチェックが行われ、これによりデータパケットの脱落の有無が判定される。
例えば図4に示すパリティパケットPP1 が入力されると、このパリティパケットPP1 に先立ち受信されるべき4個のデータパケットDP11,DP12,DP13,DP14について、脱落の有無が判定される。そして、この判定の結果データパケットの脱落がなければ、上記受信された4個のデータパケットDP11,DP12,DP13,DP14がそのままパケット出力部24からデータ再生装置RDへ転送される。
【0044】
一方、上記パリティチェックによりデータパケットの脱落が検出されたとする。そうすると、脱落パケット再生部23において、先ず上記パリティパケットPP1 に先立ち受信されたデータパケットの送信元ポート番号フィールドからシーケンス番号が抽出され、この抽出されたシーケンス番号をもとに、脱落したデータパケットが特定される。例えばいま、受信されたデータパケットから抽出したシーケンス番号が「1」,「2」,「4」だったとすると、シーケンス番号「3」のデータパケットDP13が脱落していると特定できる。
【0045】
次に、この特定された脱落データパケットDP13の再生処理が行われる。この脱落したデータパケットDP13は、受信された3個のデータパケットDP11,DP12,DP14と、パリティパケットPP1 とをもとに再生可能である。
すなわち、受信された3個のデータパケットDP11,DP12,DP14のレングスフィールドの情報と、パリティパケットPP1のレングスフィールドに挿入されているパリティビットとから、脱落データパケットのパケット長情報が再生され、この再生されたパケット長情報をもとに脱落パケットのパケット長が再生される。
また、受信された3個のデータパケットDP11,DP12,DP14のUDPデータの情報ビットと、パリティパケットPP1のUDPデータのパリティビットとから、脱落データパケットのUDPデータが再生される。なお、このとき受信されたデータパケットDP12,DP14の短小部分イ,ハについては、“0”と見なして再生のための計算が行われる。
なお、この実施形態では、2以上のデータパケットが脱落した場合や、パリティパケットが受信できなかった場合には再生不能となる。
【0046】
上記再生されたデータパケットDP13は、受信された3個のデータパケットDP11,DP12,DP14と共にパケット出力部24に入力され、ここでシーケンス番号をもとに順番を整えられたのち、データ再生装置RDへ出力される。
【0047】
データ再生装置RDでは、上記パケット出力部24から転送された4個のデータパケットDP11,DP12,DP13,DP14がデパケットされたのち復号処理され、これにより画像データ及び音声データが再生される。再生された画像データはディスプレイに表示され、また音声データはスピーカから出力される。また、必要に応じてこれらの画像データ及び音声データはメモリに蓄積される。
【0048】
以後同様にパリティパケットPP2 ,PP3 …が受信されるごとに、それに先立ち受信されたデータパケットの脱落の有無が判定され、脱落が検出されると脱落パケット再生部23により、脱落したデータパケットが特定されたのち再生される。そして、この再生されたデータパケットは、受信された3個のデータパケットと共にパケット出力部24で順番を整えられたのち、データ再生装置RDへ転送されて再生処理される。
【0049】
以上述べたようにこの実施形態では、データ送信装置TSにおいて、伝送対象のデータパケットDP11,DP12,…について4パケットごとにパリティパケットPP1 ,PP2 ,…を生成し、このパリティパケットPP1 ,PP2 ,…を上記データパケットDP11,DP12,…に挿入して送信するようにしている。そして、データ受信装置RSにおいては、パリティパケットPP1 ,PP2 ,…が受信されるごとに、このパリティパケットPP1 ,PP2 ,…を用いてデータパケットの脱落の有無を判定する。そして、脱落が検出されると、受信されたデータパケットに送信元ポート番号に代わって付与されているシーケンス番号をもとに脱落したデータパケットを特定し、かつ上記受信されたデータパケットとパリティパケットとをもとに上記脱落したデータパケットを再生するようにしている。
【0050】
したがって、UDP/IPによるパケット伝送中にデータパケットが脱落しても、この脱落したデータパケットを、受信できた3個のデータパケットとパリティパケットとから再生することが可能となる。このため、応答確認機能やシーケンス機能等を使用する場合に比べて簡易な制御により伝送品質を高めることができ、この結果動画や音声等のようにリアルタイム性が要求されるストリーム系データや、ブロードキャスト又はマルチキャスト等を利用したポイント・トゥ・マルチポイント通信における伝送データを、リアルタイムにしかも良好な品質で伝送することが可能となる。
【0051】
またこの実施形態では、データパケットのUDPヘッダに送信元ポート番号に代わってシーケンス番号を付与して送信し、このシーケンス番号をもとに脱落したデータパケットを特定するようにしている。したがって、脱落したパケットを、受信できたデータパケットのシーケンス番号をもとに簡単に特定することが可能である。
【0052】
さらにこの実施形態では、データパケットが可変長の場合に、各データパケットに挿入されるパケット長を表す情報についてもビット単位にパリティビットを求め、この求められたパリティビットをパリティパケットに挿入して送信する。そして、受信側でこのパリティパケットのパリティビットをもとに、脱落したデータパケットのパケット長を求めるようにしている。
したがって、データパケットが可変長の場合でも、脱落したデータパケットのパケット長を正確に再生することが可能となる。
【0053】
さらに、可変長のデータパケットを伝送する場合に、最大長のデータパケットより短いデータパケットの短小部分を“0”ビットと見なしてパリティビットを求め、この求められたパリティビットをパリティパケットに挿入して送信する。これに対し受信側では、受信されたデータパケットの短小部分を“0”ビットと見なし、この見なし“0”ビットと、受信されたパリティパケットの上記短小部分に対応するパリティビットとをもとに、脱落したデータパケットを再生するようにしている。
したがって、例えば最大長のデータパケットが脱落した場合でも、受信されたデータパケットの見なし“0”ビットとパリティパケットの対応するパリティビットとから、上記脱落した最大長データパケットの全部位を再生することが可能となる。
【0054】
なお、この発明は上記実施形態に限定されるものではない。例えば、前記実施形態では、可変長のデータパケットを伝送する場合を例にとって説明した。しかし、固定長のデータパケットを伝送する場合にもこの発明は同様に適用可能である。
図5はこの場合のデータパケット及びパリティパケットのフォーマットの一例を示すものである。同図に示すようにパリティパケットには、パケット長を表す情報のパリティビットは挿入されず、UDPデータ(ペイロード情報)について生成されたパリティビットのみが挿入される。なお、各データパケットの送信元ポート番号フィールドにシーケンス番号を挿入する点については、先に述べた可変長のデータパケットを伝送する場合(図4)と同様である。
【0055】
また前記実施形態では、データパケットについて4パケットごとに1個のパリティパケットを生成し送信するようにした。しかし、2パケットごと或いは3パケットごとに1個のパリティパケットを生成して送信するようにしてもよく、また5パケット以上のデータパケットごとに1個のパリティパケットを生成して送信するようにしてもよい。パリティパケットをいくつのデータパケットごとに生成するかは、伝送路の品質や要求される伝送品質に応じて任意に設定することが可能である。この場合、伝送品質等に応じて適応的に設定を変更するようにしてもよい。
【0056】
さらに、前記実施形態ではデータ送信装置から1台のデータ受信装置RS1へデータを伝送する場合を例にとって説明したが、データ送信装置TSから複数台のデータ受信装置RS1,RS2,…に対し同一のデータを同報伝送する場合にも、この発明は適用可能である。また、データ送信装置TSから複数台のデータ受信装置RS1,RS2,…との間にルータ装置等のネットワーク機器が介在する場合にも、この発明は適用可能である。
【0057】
さらに、前記実施形態ではパケット受信装置RPとデータ再生装置RDとを別体として構成したが、パケット受信装置にデータ再生装置を内蔵するように構成してもよく、反対にパケット受信装置をデータ再生装置に内蔵するように構成してもよい。
また、前記実施形態ではデータ送信装置にデータ生成部が内蔵されている場合を例にとって説明したが、データ生成装置とパケット送信装置とを別体に構成してもよい。
【0058】
その他、データ送信装置及びデータ受信装置の種類やその構成、ネットワークの種類、伝送データの種類やデータパケット及びパリティパケットの構成等についても、この発明の要旨を逸脱しない範囲で種々変形して実施できる。
【0059】
【発明の効果】
以上詳述したようにこの発明では、伝送対象のデータを、UDPを使用して送信側から受信側へネットワークを介してパケット伝送するパケット伝送システムにおいて、上記送信側で上記伝送対象のデータをもとに複数のデータパケットを生成すると共に、この生成された複数のデータパケットについて所定数ごとにパリティパケットを生成し、この生成された複数のデータパケット及びパリティパケットを上記ネットワークへ送信する。一方受信側では、受信されたデータパケット及びパリティパケットをもとにパリティチェックを行ってデータパケットの脱落の有無を判定し、データパケットの脱落が検出された場合に、上記受信されたデータパケット及びパリティパケットをもとに上記脱落したデータパケットを再生するようにしている。
【0060】
したがってこの発明によれば、UDPを使用するデータ伝送において、簡易な制御により伝送品質の向上を可能にしたパケット伝送システムとそのデータ送信装置及びデータ受信装置を提供することができる。
【図面の簡単な説明】
【図1】 この発明に係わるパケット伝送システムの一実施形態を示す概略構成図。
【図2】 図1に示したパケット伝送システムのデータ送信装置の機能構成を示すブロック図。
【図3】 図1に示したパケット伝送システムのデータ受信装置の機能構成を示すブロック図。
【図4】 図1に示したパケット伝送システムにより伝送されるデータパケット及びパリティパケットの構成を示す図。
【図5】 この発明の他の実施形態に係わるパケット伝送システムにより伝送されるデータパケット及びパリティパケットの構成を示す図。
【図6】 TCPによるデータ伝送の概要を説明するための図。
【図7】 UDPによるデータ伝送の概要を説明するための図。
【符号の説明】
TS…データ送信装置
RS1〜RSn…データ受信装置
RP…パケット受信装置
RD…データ再生装置
NW…IP網
11…データ生成部
12…データパケット生成部
13…パリティパケット生成部
14…パケット送信部
21…パケット受信部
22…パリティチェック部
23…脱落パケット再生部
24…パケット出力部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a packet transmission system for transmitting data by UDP (User Datagram Protocol) in an IP (Internet Protocol) network configured using routers, switches, and the like, and a data transmission apparatus and data used in this system The present invention relates to a receiving device.
[0002]
[Prior art]
There are TCP (Transmission Control Protocol) and UDP as standard upper protocols of IP used in the IP network.
[0003]
TCP is a connection type protocol, a connection management function for setting a connection using a VC (Virtual Circuit), a response confirmation function for notifying a transmission source every time a destination receives a packet, and a sequence for each packet. A sequence function that identifies unarrived packets by numbering, a window control function that provides a buffer for storing multiple packets and confirms responses in units of buffers, and notifies the sender of the amount of packets that can be received by the destination in advance And a flow control function.
[0004]
FIG. 6 shows an outline of data transmission by TCP. In the figure, the data transmission device TSt on the transmission side (transmission source) assigns a sequence number to each packet and transmits it in sequence, and the data transmission device RSt on the reception side (destination) receives a response (ACK) every time a packet is received. ) Send it back. Then, the data transmission device TSt on the transmission side retransmits the packet for which no reception response is obtained, and the data transmission device RSt on the reception side reproduces each received packet in order according to the sequence number.
[0005]
Thus, TCP can realize highly reliable communication by the sequence function, the flow control function, and the like. However, on the other hand, the processing load is heavy and the packet delivery time varies, so that it is not suitable for communication of stream data that requires real-time properties such as moving images and voices. Further, it cannot be applied to multicast communication or the like that cannot perform retransmission control.
[0006]
On the other hand, unlike TCP, UDP does not have a connection management function, a response confirmation function, a sequence function, a window control function, and a flow control function, and is a connectionless type that does not set up a connection with a communication partner. Protocol.
[0007]
FIG. 7 shows an outline of data transmission by this UDP. In the figure, the data transmission device TSu on the transmission side (transmission source) packetizes and transmits the data generated by the higher-order application as it is in the generation order. At this time, it is not confirmed whether or not the data transmission device RSu on the receiving side (destination) has received the packet reliably. The data transmission device RSu on the receiving side (destination) reproduces the received packets in order.
[0008]
Therefore, UDP can perform data transmission with relatively light processing without requiring complicated control. Therefore, it is suitable for the communication of stream data that requires the real-time property such as the moving image and the voice as described above, and the point-to-multipoint communication using broadcast or multicast.
[0009]
[Problems to be solved by the invention]
However, since UDP does not have a function for ensuring communication reliability such as a response confirmation function and a sequence function as described above, even if a packet is lost during transmission, it is not retransmitted. For this reason, for example, if a packet is lost during the distribution of a moving image or sound, the reproduced image or sound is interrupted, resulting in degradation of data quality.
[0010]
The present invention has been made paying attention to the above circumstances, and its object is to provide a packet transmission system capable of improving transmission quality by simple control in data transmission using UDP, its data transmitting apparatus, and It is to provide a data receiving apparatus.
[0011]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides a packet transmission system for transmitting data to be transmitted from a transmission side to a reception side via a network using UDP (User Datagram Protocol). First and second packet generation means are provided. Then, the first packet generation unit generates a plurality of data packets based on the transmission target data, and the second packet generation unit generates a parity packet for each predetermined number of the plurality of data packets generated by the second packet generation unit. The plurality of generated data packets and parity packets are transmitted to the network.
On the other hand, the receiving side is provided with a means for determining whether or not a packet is dropped and a reproducing means. Then, the determination means performs a parity check based on the received data packet and parity packet to determine whether or not the data packet is dropped, and when the data packet drop is detected, the reproduction means performs the reception. The dropped data packet is reproduced based on the data packet and the parity packet.
[0012]
Therefore, according to the present invention, even if a packet is lost during packet transmission by UDP, the lost packet can be reproduced from the received packet and the parity packet. For this reason, it is possible to reproduce dropped packets with a relatively light processing load without generating extra traffic as in the case of using a response confirmation function or a sequence function. Therefore, it is possible to transmit stream-related data that requires real-time properties, such as moving images and audio, in real time and with good quality. The present invention can also be applied to point-to-multipoint communication using broadcast or multicast that cannot perform retransmission control, thereby realizing high-quality point-to-multipoint communication.
[0015]
The present invention also provides By the first packet generation means Generate a variable length data packet and insert the packet length information into its header, In the second packet generation means, a parity bit is obtained for each bit of information indicating the packet length of the predetermined number of data packets, and the obtained parity bit is inserted into the parity packet and transmitted. On the other hand, in the reproducing means, when the dropping of the data packet is detected, information indicating the packet length inserted in the header of the received data packet and information indicating the packet length of the received parity packet The packet length of the dropped data packet is calculated based on the parity bit corresponding to Reproduce. In this way, even when the data packet has a variable length, the packet length of the dropped data packet can be reproduced.
[0016]
Further, by the first packet generation means Generate variable length data packets, The second packet generation means obtains a parity bit by regarding a short portion of the data packet shorter than the maximum length data packet as a “0” bit out of the predetermined number of data packets, and obtains the obtained parity bit as a parity packet. Insert into and send. On the other hand, in the reproducing means, when the dropping of the data packet is detected, the short part of the received data packet is regarded as “0” bit, and the deemed “0” bit and the above-mentioned parity packet are received. The dropped data packet is reproduced based on the parity bit corresponding to the short and small part.
[0017]
In this way, for example, even when the maximum length data packet is dropped, all parts of the dropped maximum length data packet are taken from the considered “0” bit of the received data packet and the corresponding parity bit of the parity packet. Can be played.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a schematic configuration diagram showing an embodiment of a packet transmission system according to the present invention.
The system of this embodiment includes a data transmission device (hereinafter referred to as a data transmission device) TS serving as a transmission side (transmission source) and a plurality of data transmission devices (hereinafter referred to as data reception devices) RS1 to RSn serving as reception sides (destinations). Are connected via an IP (Internet Protocol) network NW, and data is transmitted from the data transmission device TS to the data reception devices RS1 to RSn using UDP / IP (User Datagram Protocol / Internet Protocol). is there.
[0019]
By the way, the data transmission device TS is configured as follows. FIG. 2 is a block diagram showing the functional configuration. The data transmission device TS includes a data generation unit 11, a data packet generation unit 12, a parity packet generation unit 13, and a packet transmission unit 14.
[0020]
The data generation unit 11 generates transmission data by encoding a data stream composed of, for example, images and sounds created by an upper layer application according to a predetermined encoding method such as MPEG (Moving Picture Experts Group).
[0021]
The data packet generator 12 takes in the transmission data generated by the data generator 11 and packetizes the transmission data according to UDP / IP, thereby generating a plurality of data packets DP11, DP12,. Each data packet DP11, DP12,... Is composed of an IP header, a UDP header, and UDP data as shown in FIG. The UDP data (payload) has a variable length, and the encoded image and audio data are inserted.
[0022]
The UDP header is provided with a source port number field and a length field. Of these, information indicating the packet length of the data packet DP11, DP12,... Is inserted into the length field. On the other hand, a sequence number (for example, 0x0001, 0x0002,...) Representing the transmission order of the data packets DP11, DP12,. This sequence number is generated by a counter. Each time the data packets DP11, DP12,... Are generated, the counter counts up the count value to “1”, “2”,..., And is counted at the timing when the parity packet is generated in the parity packet generator 13 described later. Reset the value.
[0023]
The parity packet generation unit 13 takes in a predetermined number of data packets DP11, DP12,... Generated by the data packet generation unit 12, for example, four packets, and temporarily stores them in a buffer. The four stored data packets One parity packet PP1 is generated for DP11 to DP14.
[0024]
As shown in FIG. 4, the parity packet PP1 is composed of an IP header, a UDP header, and UDP data in the same manner as the data packets DP11, DP12,..., And the packet length is the four stored data. It is set to the same length as the data packet DP11 having the maximum length among the packets DP11 to DP14.
[0025]
A specific number (for example, 0xffff) representing a parity packet is inserted into the source port number field of the UDP header. In addition, a parity bit (for example, even parity) generated for information indicating the packet length inserted into the length fields of the four stored data packets DP11 to DP14 is inserted into the length field of the UDP header.
Further, parity bits (for example, even parity) generated for the payload information inserted into the UDP data of the four stored data packets DP11 to DP14 are inserted into the UDP data. These parity bits are generated for each bit in the same position of the four data packets DP11 to DP14. It should be noted that parity bits are generated by regarding “0” for the short and small portions a, b, c of the data packets DP12, DP13, DP14 shorter than the maximum length data packet DP11.
[0026]
The packet transmitter 14 sends the data packets DP11, DP12,... Generated by the data packet generator 12 and the parity packets PP1,... Generated by the parity packet generator 13 to the IP network NW in the order of generation. Send to.
[0027]
On the other hand, the data receiving device RS is configured as follows. FIG. 3 is a block diagram showing the functional configuration. The data receiving device RS is composed of a packet receiving device RP and a data reproducing device RD.
[0028]
The packet reception device RP includes a packet reception unit 21, a parity check unit 22, a dropped packet reproduction unit 23, and a packet output unit 24. The packet receiver 21 receives data packets DP11, DP12,... And parity packets PP1,... Transmitted from the data transmitter TS via the IP network NW.
[0029]
The parity check unit 22 performs a parity check on the plurality of data packets DP11, DP12,... Received by the packet receiving unit 21 based on the parity packet every four packets. Then, the presence / absence of a dropped packet is determined by this parity check.
[0030]
When the parity check unit 22 determines that there is a dropped packet, the dropped packet reproduction unit 23 performs a process for identifying the dropped packet and a process for reproducing the identified dropped packet, respectively. Execute.
[0031]
The process of identifying dropped packets extracts sequence numbers (for example, 0x0001, 0x0002,...) From the source port number field of the UDP header of a plurality of received data packets, and escapes from the continuity of the extracted sequence numbers. Do by finding.
[0032]
The replay processing of the specified dropped packet is performed based on the information indicating the packet length inserted in the UDP header of the received data packet and the parity bit inserted in the UDP header of the parity packet. Play packet length information of packet. At the same time, based on the payload information inserted into the UDP data and the parity bits inserted into the UDP data of the parity packet, the payload information of the dropped packet is reproduced.
At this time, if the data packet has a variable length, the short portion of the received data packet is regarded as “0” bits, and this regarded “0” bit corresponds to the short portion of the received parity packet. Based on the parity bit, the dropped data packet is reproduced.
[0033]
When the parity check unit 22 determines that there is no dropped packet, the packet output unit 24 transfers the data packets DP11, DP12,... Received by the packet receiving unit 21 to the data reproduction device RD in the order received. To do. On the other hand, when the parity check unit 22 determines that there is a dropped packet, the data packet received by the packet receiving unit 21 and the data packet reproduced by the dropped packet reproducing unit 23 are received in the order of reception. Are transferred to the data reproducing device RD. The parity packet is discarded.
[0034]
The data reproduction device RD depackets and decodes the data packet transferred from the packet output unit 24, thereby reproducing the image and audio data streams.
[0035]
Next, the operation of the packet transmission system configured as described above and the data transmission apparatus and data reception apparatus will be described.
Here, in the system shown in FIG. 1, a case where the data transmission device TS transmits data composed of moving images and audio to the data reception device RS1 will be described as an example.
[0036]
In the data transmission device TS, when an image data stream and an audio data stream are generated by an application (not shown), these data streams are encoded by the data generation unit 11 and then input to the data packet generation unit 12 where It is packetized according to UDP / IP, and thereby data packets are sequentially generated.
[0037]
The data packet generated by the data packet generator 12 is taken into the parity packet generator 13 by four packets. In the parity packet generation unit 13, one parity packet is generated based on the captured four data packets.
[0038]
For example, assume that four data packets DP11, DP12, DP13, and DP14 shown in FIG. Then, the parity packet generation unit 13 first generates even parity for each bit at the same position for information indicating the packet length inserted in the UDP header of the data packets DP11, DP12, DP13, and DP14. The even parity is inserted into a length field provided in the UDP header of the parity packet PP1.
[0039]
Next, for the payload information inserted into the UDP data of the four data packets DP11, DP12, DP13, and DP14, even parity is generated for each bit at the same position. This even parity is inserted into the UDP data of the parity packet PP1. At this time, among the data packets DP11, DP12, DP13, and DP14, “0” is used for the short portions i, b, and c of the data packets DP12, DP13, and DP14 having a shorter packet length than the maximum data packet DP11. Even parity is generated.
[0040]
The transmission source port number fields of the four data packets DP11, DP12, DP13, and DP14 generated by the data packet generation unit 12 include sequence numbers 0x0001, 0x0002, 0x0003 and 0x0004 are inserted. Further, a specific number indicating that the packet is a parity packet, for example, 0xffff, is inserted into the source port number field of the parity packet PP1 by the parity packet generator 13.
[0041]
The four data packets DP11, DP12, DP13, DP14 generated by the data packet generator 12 and the parity packets PP1,... Generated by the parity packet generator 13 are sequentially transmitted to the IP network NW. The
[0042]
Thereafter, similarly, the data packets generated by the data packet generator 12 are taken into the parity packet generator 13 by four packets, and the parity packet generator 13 generates parity packets for the four data packets. Then, the parity packet is transmitted to the IP network NW following the four data packets.
[0043]
On the other hand, in the data receiving device RS, the data receiving / reproducing operation is performed as follows.
That is, when a packet is transmitted from the data transmission device TS via the IP network NW, the packet is received by the packet receiving unit 21 and then input to the parity check unit 22. Each time a parity packet is input, the parity check unit 22 performs a parity check on a plurality of data packets received prior to the parity packet based on the parity packet, thereby confirming whether the data packet is dropped or not. Determined.
For example, when the parity packet PP1 shown in FIG. 4 is input, it is determined whether or not the four data packets DP11, DP12, DP13, and DP14 to be received prior to the parity packet PP1 are dropped. If the data packet is not dropped as a result of this determination, the four received data packets DP11, DP12, DP13, DP14 are transferred as they are from the packet output unit 24 to the data reproducing device RD.
[0044]
On the other hand, it is assumed that dropped data packets are detected by the parity check. Then, the dropped packet reproduction unit 23 first extracts the sequence number from the transmission source port number field of the data packet received prior to the parity packet PP1, and based on the extracted sequence number, the dropped data packet Identified. For example, if the sequence numbers extracted from the received data packet are “1”, “2”, and “4”, it can be specified that the data packet DP13 with the sequence number “3” is dropped.
[0045]
Next, the reproduction process of the specified dropped data packet DP13 is performed. The dropped data packet DP13 can be reproduced based on the received three data packets DP11, DP12, DP14 and the parity packet PP1.
That is, the packet length information of the dropped data packet is reproduced from the length field information of the three received data packets DP11, DP12, DP14 and the parity bit inserted in the length field of the parity packet PP1. The packet length of the dropped packet is reproduced based on the reproduced packet length information.
Further, the UDP data of the dropped data packet is reproduced from the received information bits of the UDP data of the three data packets DP11, DP12, DP14 and the parity bit of the UDP data of the parity packet PP1. Note that the short and small portions a and c of the data packets DP12 and DP14 received at this time are regarded as “0” and calculation for reproduction is performed.
In this embodiment, when two or more data packets are dropped or when a parity packet cannot be received, reproduction is impossible.
[0046]
The regenerated data packet DP13 is input to the packet output unit 24 together with the three received data packets DP11, DP12, DP14, where the order is adjusted based on the sequence number, and then the data regenerating device RD. Is output.
[0047]
In the data reproducing device RD, the four data packets DP11, DP12, DP13, DP14 transferred from the packet output unit 24 are depacketized and then decoded, thereby reproducing the image data and the audio data. The reproduced image data is displayed on the display, and the audio data is output from the speaker. Further, these image data and audio data are stored in a memory as necessary.
[0048]
Thereafter, each time the parity packets PP2, PP3,... Are received in the same manner, it is determined whether or not the received data packet is dropped. When the dropped packet is detected, the dropped packet reproducing unit 23 identifies the dropped data packet. It is played after being played. The reproduced data packets are arranged in order by the packet output unit 24 together with the three received data packets, and then transferred to the data reproduction device RD for reproduction processing.
[0049]
As described above, in this embodiment, in the data transmission device TS, parity packets PP1, PP2,... Are generated for every four packets for the data packets DP11, DP12, etc. to be transmitted, and the parity packets PP1, PP2,. Are inserted into the data packets DP11, DP12,. Then, each time the parity packet PP1, PP2,... Is received, the data receiving device RS determines whether or not the data packet is dropped using the parity packets PP1, PP2,. When a drop is detected, the dropped data packet is identified based on the sequence number assigned to the received data packet in place of the transmission source port number, and the received data packet and parity packet are identified. Based on the above, the dropped data packet is reproduced.
[0050]
Therefore, even if a data packet is dropped during packet transmission by UDP / IP, the dropped data packet can be reproduced from the three received data packets and the parity packet. For this reason, transmission quality can be improved by simple control compared to the case of using a response confirmation function, sequence function, etc. As a result, stream data that requires real-time properties such as video and audio, broadcast, etc. Alternatively, transmission data in point-to-multipoint communication using multicast or the like can be transmitted in real time with good quality.
[0051]
In this embodiment, a sequence number is assigned to the UDP header of the data packet instead of the transmission source port number for transmission, and the dropped data packet is specified based on the sequence number. Therefore, the dropped packet can be easily identified based on the sequence number of the data packet that can be received.
[0052]
Furthermore, in this embodiment, when the data packet has a variable length, a parity bit is obtained for each bit of information indicating the packet length inserted into each data packet, and the obtained parity bit is inserted into the parity packet. Send. The receiving side obtains the packet length of the dropped data packet based on the parity bit of the parity packet.
Therefore, even when the data packet has a variable length, the packet length of the dropped data packet can be accurately reproduced.
[0053]
Further, when transmitting a variable-length data packet, a parity bit is obtained by regarding the short part of the data packet shorter than the maximum-length data packet as “0” bits, and the obtained parity bit is inserted into the parity packet. To send. On the other hand, the receiving side regards the short part of the received data packet as a “0” bit, and based on the deemed “0” bit and the parity bit corresponding to the short part of the received parity packet. The dropped data packet is played back.
Therefore, for example, even when the maximum length data packet is dropped, all parts of the dropped maximum length data packet are reproduced from the deemed “0” bit of the received data packet and the corresponding parity bit of the parity packet. Is possible.
[0054]
The present invention is not limited to the above embodiment. For example, in the above embodiment, the case where a variable-length data packet is transmitted has been described as an example. However, the present invention is also applicable to the case of transmitting fixed-length data packets.
FIG. 5 shows an example of the format of the data packet and the parity packet in this case. As shown in the figure, the parity bit of the information indicating the packet length is not inserted into the parity packet, and only the parity bit generated for the UDP data (payload information) is inserted. Note that the sequence number is inserted into the source port number field of each data packet, as in the case of transmitting the variable-length data packet described above (FIG. 4).
[0055]
In the above embodiment, one parity packet is generated and transmitted for every four data packets. However, one parity packet may be generated and transmitted every 2 or 3 packets, and one parity packet is generated and transmitted every 5 or more data packets. Also good. The number of data packets generated for each parity packet can be arbitrarily set according to the quality of the transmission path and the required transmission quality. In this case, the setting may be adaptively changed according to transmission quality or the like.
[0056]
Further, in the above-described embodiment, the case where data is transmitted from the data transmission device to one data reception device RS1 has been described as an example. However, the same data is transmitted from the data transmission device TS to a plurality of data reception devices RS1, RS2,. The present invention is also applicable when data is broadcast. The present invention is also applicable when a network device such as a router device is interposed between the data transmission device TS and a plurality of data reception devices RS1, RS2,.
[0057]
Further, in the above embodiment, the packet receiving device RP and the data reproducing device RD are configured separately. However, the packet receiving device may be configured to incorporate the data reproducing device. You may comprise so that it may incorporate in an apparatus.
Moreover, although the case where the data generation unit is built in the data transmission device has been described as an example in the embodiment, the data generation device and the packet transmission device may be configured separately.
[0058]
In addition, the type and configuration of the data transmitting device and the data receiving device, the type of network, the type of transmission data, the configuration of the data packet and the parity packet, and the like can be variously modified without departing from the scope of the present invention. .
[0059]
【The invention's effect】
As described above in detail, according to the present invention, in the packet transmission system for transmitting the data to be transmitted from the transmission side to the reception side through the network using UDP, the transmission side also stores the data to be transmitted. In addition, a plurality of data packets are generated, and a parity packet is generated for each predetermined number of the generated data packets, and the generated data packets and parity packets are transmitted to the network. On the other hand, on the receiving side, a parity check is performed based on the received data packet and parity packet to determine whether the data packet is dropped, and when the dropped data packet is detected, the received data packet and The dropped data packet is reproduced based on the parity packet.
[0060]
Therefore, according to the present invention, it is possible to provide a packet transmission system capable of improving transmission quality by simple control, data transmission apparatus and data reception apparatus in data transmission using UDP.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram showing an embodiment of a packet transmission system according to the present invention.
2 is a block diagram showing a functional configuration of a data transmission device of the packet transmission system shown in FIG. 1;
3 is a block diagram showing a functional configuration of a data reception device of the packet transmission system shown in FIG.
4 is a diagram showing a configuration of data packets and parity packets transmitted by the packet transmission system shown in FIG. 1;
FIG. 5 is a diagram showing a configuration of data packets and parity packets transmitted by a packet transmission system according to another embodiment of the present invention.
FIG. 6 is a diagram for explaining an outline of data transmission by TCP.
FIG. 7 is a diagram for explaining an outline of data transmission by UDP.
[Explanation of symbols]
TS ... Data transmission device
RS1 to RSn: Data receiving device
RP ... Packet receiver
RD: Data reproduction device
NW ... IP network
11: Data generator
12: Data packet generator
13: Parity packet generator
14 ... Packet transmitter
21 ... Packet receiver
22 ... Parity check section
23. Dropped packet playback unit
24 ... Packet output section

Claims (7)

伝送対象のデータを、UDP(User Datagram Protocol)を使用して送信側から受信側へネットワークを介してパケット伝送するパケット伝送システムにおいて、
前記送信側は、
前記伝送対象のデータをもとに、可変長であってヘッダにパケット長を表す情報が挿入される複数のデータパケットを生成する第1のパケット生成手段と、
前記第1のパケット生成手段により生成された所定数のデータパケットごとに、そのパケット長を表す情報についてビット単位でパリティビットを求め、この求められたパリティビットを含むパリティパケットを生成する第2のパケット生成手段と、
前記第1及び第2のパケット生成手段により生成されたデータパケット及びパリティパケットを前記ネットワークへ送信する送信手段とを備え、
前記受信側は、
前記ネットワークを介して到来したデータパケット及びパリティパケットを受信する受信手段と、
この受信手段により受信されたデータパケット及びパリティパケットをもとにパリティチェックを行って、データパケットの脱落の有無を判定する判定手段と、
この判定手段によりデータパケットの脱落が検出された場合に、前記受信されたデータパケットのヘッダに挿入されているパケット長を表す情報と、受信されたパリティパケットの前記パケット長を表す情報に対応するパリティビットとをもとに、前記脱落したデータパケットのパケット長を再生する再生手段とを備えることを特徴とするパケット伝送システム。
In a packet transmission system that transmits data to be transmitted from a transmission side to a reception side via a network using UDP (User Datagram Protocol),
The sender side
First packet generating means for generating a plurality of data packets having a variable length and information indicating the packet length inserted in a header based on the data to be transmitted;
For each of a predetermined number of data packets generated by the first packet generation means , a parity bit is obtained in bit units for information representing the packet length, and a second parity packet including the obtained parity bit is generated. Packet generation means;
Transmission means for transmitting data packets and parity packets generated by the first and second packet generation means to the network;
The receiving side
Receiving means for receiving data packets and parity packets arriving via the network;
A determination unit that performs a parity check based on the data packet and the parity packet received by the reception unit, and determines whether or not the data packet is dropped;
When the drop of the data packet is detected by this determination means, it corresponds to information indicating the packet length inserted in the header of the received data packet and information indicating the packet length of the received parity packet A packet transmission system comprising: reproducing means for reproducing the packet length of the dropped data packet based on a parity bit .
伝送対象のデータを、UDP(User Datagram Protocol)を使用して送信側から受信側へネットワークを介してパケット伝送するパケット伝送システムにおいて、
前記送信側は、
前記伝送対象のデータをもとに、可変長の複数のデータパケットを生成する第1のパケット生成手段と、
前記第1のパケット生成手段により生成された所定数のデータパケットのうち、最大長のデータパケットより短いデータパケットの短小部分を“0”ビットと見なしてパリティビットを求め、この求められたパリティビットを含むパリティパケットを生成する第2のパケット生成手段と、
前記第1及び第2のパケット生成手段により生成されたデータパケット及びパリティパケットを前記ネットワークへ送信する送信手段とを備え、
前記受信側は、
前記ネットワークを介して到来したデータパケット及びパリティパケットを受信する受信手段と、
この受信手段により受信されたデータパケット及びパリティパケットをもとにパリティチェックを行って、データパケットの脱落の有無を判定する判定手段と、
この判定手段によりデータパケットの脱落が検出された場合に、前記受信されたデータパケットの短小部分を“0”ビットと見なし、この見なしビットと、前記受信されたパリティパケットの前記短小部分に対応するパリティビットとをもとに、前記脱落したデータパケットを再生する再生手段とを備えたことを特徴とするパケット伝送システム。
In a packet transmission system that transmits data to be transmitted from a transmission side to a reception side via a network using UDP (User Datagram Protocol),
The sender side
First packet generation means for generating a plurality of variable-length data packets based on the data to be transmitted;
Of the predetermined number of data packets generated by the first packet generation means, a short portion of the data packet shorter than the maximum length data packet is regarded as a “0” bit to obtain a parity bit, and the obtained parity bit Second packet generation means for generating a parity packet including:
Transmission means for transmitting data packets and parity packets generated by the first and second packet generation means to the network;
The receiving side
Receiving means for receiving data packets and parity packets arriving via the network;
A determination unit that performs a parity check based on the data packet and the parity packet received by the reception unit, and determines whether or not the data packet is dropped;
When the drop of the data packet is detected by this determination means, the short portion of the received data packet is regarded as a “0” bit, and this deemed bit corresponds to the short portion of the received parity packet. A packet transmission system comprising: reproducing means for reproducing the dropped data packet based on a parity bit .
伝送対象のデータを、UDP(User Datagram Protocol)を使用して受信側へパケット送信するデータ送信装置において、
前記伝送対象のデータをもとに、可変長であってそのヘッダにパケット長を表す情報が挿入される複数のデータパケットを生成する第1のパケット生成手段と、
前記第1のパケット生成手段により生成された所定数のデータパケットごとに、そのパケット長を表す情報についてビット単位でパリティビットを求め、この求められたパリテ ィビットを、受信側が脱落したデータパケットのパケット長を求めるための情報として含むパリティパケットを生成する第2のパケット生成手段と、
前記第1及び第2のパケット生成手段により生成されたデータパケット及びパリティパケットを前記受信側へ向け送信する送信手段と
を具備したことを特徴とするデータ送信装置。
In a data transmission device that transmits data to be transmitted to the receiving side using UDP (User Datagram Protocol),
First packet generation means for generating a plurality of data packets, which are variable-length based on the data to be transmitted and in which information indicating the packet length is inserted in the header ;
Wherein every predetermined number of data packets generated by the first packet generating means, the the packet information representing a length determined parity bits in bit units, packets of this the obtained parity bit, data packet receiver dropped Second packet generating means for generating a parity packet including information for determining the length ;
A data transmission apparatus comprising: a transmission unit configured to transmit the data packet and the parity packet generated by the first and second packet generation units to the reception side.
伝送対象のデータを、UDP(User Datagram Protocol)を使用して受信側へパケット送信するデータ送信装置において、
前記伝送対象のデータをもとに、可変長の複数のデータパケットを生成する第1のパケット生成手段と、
前記第1のパケット生成手段により生成された所定数のデータパケットのうち、最大長のデータパケットより短いデータパケットの短小部分を“0”ビットと見なしてパリティビットを求め、この求められたパリティビットを、受信側が脱落したデータパケットの短小部分を仮に再生するための情報として含むパリティパケットを生成する第2のパケット生成手段と、
前記第1及び第2のパケット生成手段により生成されたデータパケット及びパリティパケットを前記受信側へ向け送信する送信手段と
を具備したことを特徴とするデータ送信装置。
In a data transmission device that transmits data to be transmitted to the receiving side using UDP (User Datagram Protocol),
First packet generation means for generating a plurality of variable-length data packets based on the data to be transmitted;
Of the predetermined number of data packets generated by the first packet generation means, a short portion of the data packet shorter than the maximum length data packet is regarded as a “0” bit to obtain a parity bit, and the obtained parity bit A second packet generation means for generating a parity packet that includes, as information for temporarily reproducing a short portion of a data packet dropped by the receiving side ,
A data transmission apparatus comprising: a transmission unit configured to transmit the data packet and the parity packet generated by the first and second packet generation units to the reception side.
請求項3記載のデータ送信装置から、UDP(User Datagram Protocol)を使用して伝送されるパケットを受信するデータ受信装置であって、
前記データ送信装置から伝送されたデータパケット及びパリティパケットを受信する受信手段と、
この受信手段により受信されたデータパケット及びパリティパケットをもとにパリティチェックを行って、データパケットの脱落の有無を判定する判定手段と、
この判定手段によりデータパケットの脱落が検出された場合に、前記受信されたデータパケットのヘッダに挿入されているパケット長を表す情報と、受信されたパリティパケットの前記パケット長を表す情報に対応するパリティビットとをもとに、前記脱落したデータパケットのパケット長を再生する再生手段と
を具備したことを特徴とするデータ受信装置。
A data receiving device for receiving a packet transmitted using UDP (User Datagram Protocol) from the data transmitting device according to claim 3 ,
Receiving means for receiving data packets and parity packets transmitted from the data transmitting device;
A determination unit that performs a parity check based on the data packet and the parity packet received by the reception unit, and determines whether or not the data packet is dropped;
When the drop of the data packet is detected by this determination means, it corresponds to information indicating the packet length inserted in the header of the received data packet and information indicating the packet length of the received parity packet A data receiving apparatus comprising: reproducing means for reproducing a packet length of the dropped data packet based on a parity bit .
請求項4記載のデータ送信装置から、UDP(User Datagram Protocol)を使用して伝送されるパケットを受信するデータ受信装置であって、
前記データ送信装置から伝送されたデータパケット及びパリティパケットを受信する受信手段と、
この受信手段により受信されたデータパケット及びパリティパケットをもとにパリティチェックを行って、データパケットの脱落の有無を判定する判定手段と、
この判定手段によりデータパケットの脱落が検出された場合に、受信されたデータパケットの短小部分を“0”ビットと見なし、この見なしビットと、受信されたパリティパケットの前記短小部分に対応するパリティビットとをもとに、前記脱落したデータパケットを再生する再生手段と
を具備することを特徴とするデータ受信装置。
A data receiving device for receiving a packet transmitted using UDP (User Datagram Protocol) from the data transmitting device according to claim 4 ,
Receiving means for receiving data packets and parity packets transmitted from the data transmitting device;
A determination unit that performs a parity check based on the data packet and the parity packet received by the reception unit, and determines whether or not the data packet is dropped;
When a drop of the data packet is detected by this determination means, the short part of the received data packet is regarded as a “0” bit, and the deemed bit and the parity bit corresponding to the short part of the received parity packet And a reproducing means for reproducing the dropped data packet .
前記受信手段により受信されたデータパケット及び前記再生手段により再生されたデータパケットをもとに、データ送信装置が伝送対象としたデータを再生するデータ再生手段
を、さらに具備したことを特徴とする請求項5又は6記載のデータ受信装置。
Based on the reproduced data packets by the received data packet and said reproducing means by said receiving means, wherein the data transmission device is characterized in that the data reproducing means for reproducing the data with the transmission target, and further comprising Item 7. A data receiving device according to item 5 or 6 .
JP2002063517A 2002-03-08 2002-03-08 Packet transmission system and data transmission device and data reception device thereof Expired - Fee Related JP3822508B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002063517A JP3822508B2 (en) 2002-03-08 2002-03-08 Packet transmission system and data transmission device and data reception device thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002063517A JP3822508B2 (en) 2002-03-08 2002-03-08 Packet transmission system and data transmission device and data reception device thereof

Publications (2)

Publication Number Publication Date
JP2003264590A JP2003264590A (en) 2003-09-19
JP3822508B2 true JP3822508B2 (en) 2006-09-20

Family

ID=29196750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002063517A Expired - Fee Related JP3822508B2 (en) 2002-03-08 2002-03-08 Packet transmission system and data transmission device and data reception device thereof

Country Status (1)

Country Link
JP (1) JP3822508B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019019793A1 (en) * 2017-07-27 2019-01-31 华为技术有限公司 Method and device for transmitting data

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101169021B1 (en) 2004-05-31 2012-07-26 삼성전자주식회사 Method and Apparatus for sending right object information between device and portable storage
KR101100391B1 (en) * 2004-06-01 2012-01-02 삼성전자주식회사 Method for playbacking content using portable storage by digital rights management, and portable storage for the same
JP5298622B2 (en) * 2007-12-21 2013-09-25 ソニー株式会社 Transmitting apparatus and method, receiving apparatus and method
JP2012060377A (en) * 2010-09-08 2012-03-22 Nec Commun Syst Ltd Base station, portable terminal, and radio communication system
KR101922559B1 (en) * 2011-10-13 2018-12-05 삼성전자주식회사 Method and apparatus for transmitting/receiving forward error correction packet in a communication system
KR101829923B1 (en) * 2011-10-13 2018-02-22 삼성전자주식회사 Apparatus and method for encoding in data communication system
CN106105076B (en) * 2014-03-28 2019-08-09 三星电子株式会社 The method and apparatus that grouping is generated and restored in broadcast and/or communication system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019019793A1 (en) * 2017-07-27 2019-01-31 华为技术有限公司 Method and device for transmitting data
US11243900B2 (en) 2017-07-27 2022-02-08 Huawei Technologies Co., Ltd. Data transmission method and device

Also Published As

Publication number Publication date
JP2003264590A (en) 2003-09-19

Similar Documents

Publication Publication Date Title
KR100941562B1 (en) Medium streaming distribution system
US7843818B2 (en) Intelligent buffering process for network conference video
JP5442816B2 (en) Streaming and buffering using variable FEC overhead and protection period
CN102550020B (en) Use the method for recognizing the re-transmission of the verification sum of lost data packet
US20150350390A1 (en) System and method for achieving accelerated throughput
US20050062843A1 (en) Client-side audio mixing for conferencing
JP2003179580A (en) Data communication system, data transmission equipment, data reception equipment and method, and computer program
CN104284135B (en) Video transmission method and equipment
JP2003152752A (en) Data transmission/reception method
BRPI0722125B1 (en) METHOD, SYSTEM AND APPLIANCE FOR CORRECTION OF ADAPTIVE FORWARDING ERROR WITH COMBINED AUTOMATIC REPEAT REQUEST FOR RELIABLE MULTITRANSMISSION IN WIRELESS LOCAL AREA NETWORKS
JP3822508B2 (en) Packet transmission system and data transmission device and data reception device thereof
KR100860734B1 (en) Media stream multicast distribution method and apparatus
JP3492602B2 (en) Data transmitting device and data receiving device
KR20060095755A (en) Media packet structure for real time transmission via packet switched networks
CN116634187A (en) Video stream processing method, device, equipment and medium based on confluence sending mechanism
JP2004289431A (en) Transmission system, transmitter, and transmission method for real time information, and program
JP2006304138A (en) Selective retransmission type communication device
JP3846853B2 (en) Information distribution system and information distribution method
KR100919216B1 (en) Method and apparatus for transmitting and receiving data
JP4714074B2 (en) Transmission device, transmission device, and reception device
JP3730977B2 (en) Data transmission method and data processing method
Wang et al. An SDN-Driven Reliable Transmission Architecture for Enhancing Real-Time Video Streaming Quality
Bassey et al. AN EFFECTIVE ADAPTIVE MEDIA PLAY-OUT ALGORITHM FOR REAL-TIME VIDEO STREAMING OVER PACKET NETWORKS
JP2006319463A (en) Packet transmitting method and packet receiving device
TWI454094B (en) Method and apparatus for processing voice over internet protocal packets

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040707

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060322

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060517

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060622

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

Free format text: PAYMENT UNTIL: 20090630

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100630

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100630

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110630

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees