JP2012114569A - Data communication system - Google Patents
Data communication system Download PDFInfo
- Publication number
- JP2012114569A JP2012114569A JP2010260130A JP2010260130A JP2012114569A JP 2012114569 A JP2012114569 A JP 2012114569A JP 2010260130 A JP2010260130 A JP 2010260130A JP 2010260130 A JP2010260130 A JP 2010260130A JP 2012114569 A JP2012114569 A JP 2012114569A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- error correction
- sub
- block
- correction code
- 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.)
- Pending
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
Description
本発明は、インターネット、イントラネット等のデータ通信ネットワークを介して動画像及び音声等をリアルタイムに伝送するデータ通信システムであって、特に伝送中の伝送誤り等を訂正するために、送信側から受信側へ誤り訂正符号を送信するデータ通信システムに関する。 The present invention is a data communication system for transmitting moving images and voices in real time via a data communication network such as the Internet or an intranet, and particularly for correcting transmission errors during transmission from the transmission side to the reception side. The present invention relates to a data communication system that transmits an error correction code.
従来のデータ通信システムでは、伝送途中での伝送誤り又は情報欠落(パケット損失)に対して、物理レイヤ(レイヤ1)における誤り訂正符号技術、データリンクレイヤ(レイヤ2)における再送制御技術等を組合せることで、伝送品質を確保している。しかしながら、これらの技術は、リンクでの品質保証技術であるため、一定の割合を超えた伝送誤り、及び、複数のネットワークを中継して通信されるシステムでの輻輳等に起因するデータ廃棄に対しては無力である。そのため、通信のエンドポイント間での品質確保のために、トランスポートレイヤ(レイヤ4)及びアプリケーションレイヤ(レイヤ7)における再送制御技術等が数多く考案され、組み合わせて実装されている。 In a conventional data communication system, a combination of error correction code technology in the physical layer (layer 1), retransmission control technology in the data link layer (layer 2), etc., for transmission errors or information loss (packet loss) during transmission As a result, transmission quality is ensured. However, since these technologies are link quality assurance technologies, they do not deal with data loss due to transmission errors exceeding a certain rate, congestion in a system that communicates through multiple networks, etc. It is powerless. Therefore, in order to ensure the quality between communication end points, many retransmission control techniques and the like in the transport layer (layer 4) and application layer (layer 7) have been devised and implemented in combination.
一方、これらのデータ通信システムにおける品質確保手段は、映像及び音声等といったリアルタイム性を要求するアプリケーションにおいては、遅延が増大するためにアプリケーションとしての品質維持に適さないことが多い。そのため、このようなアプリケーションに対しては、セッションレイヤ(レイヤ5)で誤り訂正符号技術を用いた品質確保の手法が一般的なものとなっている。 On the other hand, the quality assurance means in these data communication systems is often not suitable for maintaining the quality as an application because of an increase in delay in applications that require real-time performance such as video and audio. Therefore, for such an application, a quality ensuring method using an error correction code technique in a session layer (layer 5) is common.
例えば、従来のデータ通信システムに映像符号化手段と映像復号手段とを組合せた映像伝送システムは、図1に示すように、映像送信側伝送装置60と映像受信側伝送装置61とネットワークとで主に構成されている。また、映像送信側伝送装置60は、映像符号化部601と、パケット生成部602と、パケット多重部603と、パケット送信制御部604と、誤り訂正符号生成部605と、誤り訂正符号パケット生成部606とから主に構成される。また、映像受信側伝送装置61は、パケット受信制御部611と、パケット多重分離部612と、受信パケット蓄積部613と、パケット整列部614と、映像符号復号部615と、誤り訂正符号パケット蓄積部616と、パケット欠落検出部617と、誤り訂正損失パケット再生成部618とから主に構成される。
For example, a video transmission system in which a video encoding unit and a video decoding unit are combined with a conventional data communication system is mainly composed of a video transmission
まず、映像送信側伝送装置60において、映像符号化部601は、入力される、撮像素子(カメラ)等で生成された映像を、MPEG等の動画像符号化アルゴリズムに基づいて符号化する。パケット生成部602は、映像符号化部601で生成された符号を伝送パケットの形式に整え、パケット多重部603を介してパケット送信制御部604へ出力する。パケット送信制御部604は、パケットを一時的に蓄積した上で、ネットワークの通信規約に基づいてパケットをネットワークに送出する。
First, in the video transmission
映像受信側伝送装置61において、パケット受信制御部611は、ネットワークを介して映像受信側伝送装置61に送出されたパケットを受け取る。受け取られたパケットは、パケット多重分離部612を介して受信パケット蓄積部613に蓄えられる。パケット整列部614は、ネットワークによるパケット伝送の遅延時間の変動を鑑み、然るべきタイミングを見計らって、受信パケット蓄積部613から、映像符号を格納したパケットを取り出し、映像符号復号部615へ送り出す。映像符号復号部615は、映像送信側伝送装置60で用いた動画像符号化アルゴリズムに基づいて映像の復号を行い、復号データを表示装置等へ送出する。
In the video reception
ここで、データ通信ネットワークでは、伝送途中でのパケットの欠落が発生する恐れがある。そこで、図1に示す映像送信側伝送装置60は、映像符号化部601にて生成された符号は、誤り訂正符号生成部605にも出力する。そして、誤り訂正符号生成部605は、排他的論理和(XOR)及びリードソロモン符号等に代表される誤り訂正アルゴリズムに基づく誤り訂正符号を生成する。誤り訂正符号パケット生成部606は、生成された誤り訂正符号を伝送パケット形式に整える。パケット多重部603は、生成された誤り訂正符号パケットと、パケット生成部602で生成されたデータパケットとを、パケット多重し、パケット送信制御部604を介してネットワークに送出する。
Here, in the data communication network, there is a risk of packet loss during transmission. Therefore, the
一方、映像受信側伝送装置61では、パケット受信制御部611で受信したパケットをパケット多重分離部612で識別することで、データパケットは受信パケット蓄積部613で蓄積され、誤り訂正符号パケットは誤り訂正符号パケット蓄積部616で蓄積される。次に、パケット欠落検出部617は、受信パケット蓄積部613に蓄積されたデータパケットの順序を調べ、ネットワークでの伝送遅延時間の分散を考慮した上でネットワークの伝送途中で欠落したパケットを検出する。そして、パケット欠落検出部617は、誤り訂正損失パケット再生成部618に欠落通知を行う。欠落通知を受け取った誤り訂正損失パケット再生成部618は、映像送信側伝送装置60の誤り訂正符号生成部605が用いた誤り訂正符号アルゴリズムに基づいて、欠落したデータパケットを再生成するために必要となるデータパケットを受信パケット蓄積部613から取り出し、誤り訂正符号パケットを誤り訂正符号パケット蓄積部616から取り出す。そして、誤り訂正損失パケット再生成部618は、誤り訂正符号アルゴリズムに基づいた演算により欠落したパケットを再生成し、パケット整列部614へ送り出す。パケット整列部614は、受信したデータパケットと再生成したデータパケットとを受け取り、映像符号の復号に必要なデータパケットの順序を整えて映像符号復号部615へ送り出す。(例えば、特許文献1及び非特許文献1を参照)。
On the other hand, in the video receiving
映像送信側伝送装置60の詳細な動作について、図2を用いて説明する。映像符号化部601で生成された映像符号は、ユーザデータ700となり、パケット化するため一定の長さに区切られ、各パケットのペイロード701a〜705aとなる。パケット生成部602において、それぞれのペイロードには伝送ヘッダ701b〜705bが付加され、パケット701〜705が生成される。生成されたパケット701〜705は、パケット多重部603、パケット送信制御部604を介してネットワークの伝送路へ送出される。また、誤り訂正符号生成部605において、一定量のユーザデータ700が分割されたペイロード701a〜705a(図2ではペイロード5個分)を用いて、誤り訂正符号のアルゴリズムに基づきパリティ711aが生成される。次いで、誤り訂正符号パケット生成部606においてパリティ711aにも、ユーザデータによるペイロード701a〜705aと同様の伝送ヘッダ711bが付加されパケット711が生成される。生成されたパケット711は、パケット多重部603、パケット送信制御部604を介してネットワークの伝送路へ送出される。
The detailed operation of the video transmission
誤り訂正符号のパケット711は、映像受信側伝送装置61のパケット多重分離部612で容易に識別できるように、伝送ヘッダ711b内に識別情報を格納する。一般には、UDP(User Datagram Protocol)プロトコルのポート番号をデータパケットとは異なる値にすることが行われている。
The packet 711 of the error correction code stores identification information in the
以下同様にして、映像送信側伝送装置60では、生成される映像符号をパケット化し、706〜709として伝送路に送出される。
Similarly, in the video transmission
映像受信側伝送装置61では、パケット多重分離部612でユーザデータパケットと誤り訂正符号パケットとを識別・分離する。そして、パケット欠落検出部617では、伝送ヘッダ中に格納されているパケット順序情報等を用いてパケット損失を検出し、誤り訂正損失パケット再生成部618では、誤り訂正符号を用いて、失われた映像符号(パケット)を再生成する。さらに、パケット整列部614では、パケット順序情報等を用いて再生成した映像符号を適切な位置に挿入する。
In the video receiving
しかしながら、従来のデータ通信システムを用いた映像伝送システムでは、映像符号を格納したデータパケットと誤り訂正符号を格納した誤り訂正符号パケットとがそれぞれ個別にネットワーク上を伝送されることにより、伝送されるパケット数が誤り訂正を行わない場合に比べて増加し、後述する課題が生じてしまう。 However, in a video transmission system using a conventional data communication system, a data packet storing a video code and an error correction code packet storing an error correction code are transmitted by being individually transmitted over the network. The number of packets increases as compared with the case where error correction is not performed, resulting in problems described later.
まず、無線LAN(Local Area Network)及び旧来のEthernet(登録商標)等に代表されるコンテンション方式を用いたネットワークでは、パケット数の増加に応じて発生確率が上昇するパケット同士の衝突により、パケットが失われてしまう。すなわち、パケット数が増加することにより衝突の発生頻度が急激に増加し、失われるパケット数が増加してしまう。又は、パケットが失われることに伴って下位レイヤでの再送制御が発生することで遅延が増加するとともに実効伝送帯域が減少してしまう。 First, in a network using a contention method typified by a wireless local area network (LAN) and a conventional Ethernet (registered trademark), packets are generated due to collision between packets whose occurrence probability increases with an increase in the number of packets. Will be lost. That is, as the number of packets increases, the frequency of collisions increases rapidly and the number of lost packets increases. Or, as the packet is lost, retransmission control in the lower layer occurs, so that the delay increases and the effective transmission band decreases.
次に、IPルータ及びLANスイッチ等に代表されるネットワークの中継装置で、多重化ジッタ、及び、伝送品質を確保するためのトラフィックシェイピングによるジッタが増加してしまう。 Next, in a network relay device represented by an IP router, a LAN switch, and the like, multiplexing jitter and jitter due to traffic shaping for ensuring transmission quality increase.
ここで図3を用いて多重化ジッタの発生を説明し、図4を用いてトラフィックシェイピングによるジッタの発生を説明する。 Here, generation of multiplexed jitter will be described with reference to FIG. 3, and generation of jitter due to traffic shaping will be described with reference to FIG.
図3Aは、多重化ジッタが発生するネットワークの構成を示す。図3Aは、複数の入力トラフィック811、812、813がネットワーク801に入力され、複数の出力821、822、823として出力されるモデルである。ネットワーク801は、入力を収容する中継装置802と、出力を収容する中継装置804と、それらの間を接続する中継回線803とから構成される。中継装置802では時分割多重技術を用いて入力トラフィック811〜813を中継回線803に送出する。中継回線803上では、それぞれのトラフィック831〜833のパケットが混在した形(パケット列)で伝送される。中継装置804では中継回線803から受信したパケット列の伝送制御情報を参照し、個々のトラフィックに対して多重分離処理を行い、出力トラフィック821〜823として出力する。
FIG. 3A shows a network configuration in which multiplexing jitter occurs. FIG. 3A is a model in which a plurality of
図3Bは、図3Aにおけるパケットの動きを時系列に並べ、ある時間帯を取り出したものである。図3Bでは、入力トラフィック811はパケット811a〜811dから構成され、入力トラフィック812はパケット812a〜812eから構成され、入力トラフィック813はパケット813a〜813cから構成される。
FIG. 3B shows a time period obtained by arranging the packet movements in FIG. 3A in time series. In FIG. 3B, the
中継回線803の伝送路上では、同時に複数のパケットを伝送することができないため、中継装置802は、時分割多重技術によりそれぞれのパケットを一列に並べて送出する。図3Bでは、最も基本的な多重化方法である同一優先度、到着順による多重化の例を示す。図3Bに示すように、パケット811aとパケット812aとは、僅かな時間差で811aの方が先に中継装置802に到着したため、中継回線803の伝送路上では831a、832aという順序で伝送される。また、パケット811aは中継回線803の伝送路が空いているタイミングで中継装置802に到着したため、即座にパケット831aとして送出される。一方、パケット812aは、パケット811aがパケット831aとして送出完了するまで待ち合わせにより遅延し、送出完了後、パケット832aとして送出される。また、パケット813aは、811aと同様、伝送路が空いているので、そのままパケット833aとして送出される。
Since a plurality of packets cannot be transmitted at the same time on the transmission line of the
以下同様にして、パケット811b〜811dがそれぞれ831b〜831dとして送出され、812b〜812eがそれぞれ832b〜832eとして送出され、813b、813cがそれぞれ833b、833cとして送出される。図3Bでは、832b、832c、831c、833c、831dが待ち合わせにより遅延している。
Similarly,
すなわち、パケットの到着のタイミングにより、図3Bに示す入力トラフィック811〜813のいずれであっても待ち合わせによって遅延の生じるパケットが存在してしまう。図3Aに示すように、中継装置803で多重分離処理された各トラフィックは出力トラフィック821〜823として出力されるが、中継装置802で多重化処理に伴って遅延したパケットの遅延時間が中継装置803で補償されることはなく、遅延したまま出力される。その結果、図3Bにおいて、出力パケット821a、821b、823a、823b、822d、822eは一定の伝送遅延、処理遅延のみで出力されるのに対し、出力パケット822a、822b、822c、821c、823c、821dは多重化に伴う遅延時間分だけ遅延時間が増加し、ジッタの増加として観測される。
In other words, depending on the arrival timing of packets, any of the
図4Aは、伝送品質を安定させるために中継装置等に搭載されるトラフィックシェイピング機能が逆にジッタを増加させてしまう課題について説明するためのシステム構成である。 FIG. 4A is a system configuration for explaining a problem that a traffic shaping function mounted on a relay apparatus or the like in order to stabilize transmission quality increases jitter on the contrary.
トラフィックシェイピング機能は、一定間隔で到着するパケット列のジッタを吸収し、パケット間隔を安定させるとともに、一時的なパケット集中による輻輳予防を目的として用いられている。図4Aの上側に示すように、入力回線901からパケット列904が中継装置902に入力され、出力回線903にパケット列905に出力されるネットワーク構成で、入力パケット列904が一定の間隔を空けていることを想定する。その際、入力パケット列904にジッタが含まれた場合でも、中継装置902は、トラフィックシェイピング機能を用いて出力パケット列905のタイミングを調整し整列させる。
The traffic shaping function is used for the purpose of absorbing the jitter of packet sequences that arrive at regular intervals, stabilizing the packet interval, and preventing congestion due to temporary packet concentration. As shown in the upper side of FIG. 4A, a
図4Aの上側に対して、従来の誤り訂正符号(例えば、Forward Error Correction:FEC)による損失パケット補償機能を更に組み合わせた場合を図4Aの下側に示す。入力パケット列904の途中に誤り訂正符号パケット906が挿入され、出力パケット列905の途中に誤り訂正符号パケット907が挿入されて出力される。また、中継装置902は、トラフィックシェイピング機能を用いて、入力パケット列904と誤り訂正符号パケット906とを一体のものとしてパケット間隔調整を行い、出力パケット列905と誤り訂正符号パケット907とを一体のものとして出力する。
A case where a loss packet compensation function by a conventional error correction code (for example, Forward Error Correction: FEC) is further combined with the upper side of FIG. 4A is shown on the lower side of FIG. 4A. An error
次いで、図4Bを用いて、トラフィックシェイピング機能の動作タイミングについて説明する。図4Bの上側に示すように、入力パケット列904は、ほぼ等間隔で中継装置902に到着する。また、誤り訂正符号パケット906が、入力パケット列904の間に挿入されている。中継装置902のトラフィックシェイピング機能では、設定される上限パケットレートに基づき、調整すべき最小パケット間隔910を求め、最小パケット間隔910に相当する時間以上の間隔を確保して個々のパケットを出力する。最小パケット間隔910未満の間隔で到着したパケットに対しては、パケット間隔910に相当する時間まで送出を意図的に遅延させる。したがって、図4Bの上側では、到着した誤り訂正符号パケット906は、直前の入力トラフィック904のパケットに対して十分な到着間隔(最小パケット間隔910以上の間隔)を有さないため、図4Bの下側に示すように、出力の誤り訂正符号パケット907は、直前の出力パケット905との間隔を最小パケット間隔910以上空けるよう、待ち時間を設けた上で出力される。図4Bでは、誤り訂正符号パケット907に対するパケット間隔調整に起因して、誤り訂正符号パケット907の後続の4個のパケットも最小パケット間隔910を満たさなくなるため遅延時間が付加されてしまう。
Next, the operation timing of the traffic shaping function will be described with reference to FIG. 4B. As shown in the upper side of FIG. 4B, the
映像受信側伝送装置では、誤り訂正パケットを除いたユーザデータパケットのみを抽出し、映像符号を取り出し、映像を再生するが、誤り訂正符号パケットに引き続くパケット(図4Bでは4個)には遅延が付加されているため、ジッタが増加したように観測される。 In the video receiving side transmission apparatus, only the user data packet excluding the error correction packet is extracted, the video code is extracted, and the video is reproduced. However, the packet following the error correction code packet (four in FIG. 4B) has a delay. Since it is added, it is observed that the jitter is increased.
また、従来の誤り訂正符号による損失パケット対応の映像伝送システムでは、パケット欠落時の映像受信側伝送装置でのパケット再生成処理に必要なパケットの蓄積量が、失われたパケットの位置によって変動する。このため、処理遅延時間が変動すると共に、バッファ管理等のためのハードウェア/ソフトウェアリソースが増加してしまうという課題がある。この課題について図5を用いて説明する。 Also, in a conventional video transmission system that supports lost packets using error correction codes, the amount of packets required for packet regeneration processing in the video receiving side transmission apparatus when a packet is lost varies depending on the position of the lost packet. . For this reason, there is a problem that the processing delay time fluctuates and hardware / software resources for buffer management and the like increase. This problem will be described with reference to FIG.
図5は、一連のユーザデータパケット及び誤り訂正符号パケットによるパケット列と、ネットワーク内の伝送途中に失われたパケットとによって、再生成に必要となる対象パケットが異なることを示した図である。図5の(a)は、ユーザデータパケット1001a〜1001eに対する誤り訂正符号パケット1011の直後のユーザデータパケット1002aが失われたケースである。同様に、図5の(b)は、ユーザデータパケット1002a〜1002eの3番目のパケット1002cが失われたケースである。また、図5の(c)は、ユーザデータパケット1002a〜1002eの末尾のパケット1002eが失われたケースである。
FIG. 5 is a diagram showing that a target packet required for regeneration differs depending on a packet sequence including a series of user data packets and error correction code packets and a packet lost during transmission in the network. FIG. 5A shows a case where the
映像受信側伝送装置では、ユーザデータパケット列1002a〜1002eの中のいずれかが失われた場合、残りの正常受信されたユーザデータパケットと誤り訂正符号パケット1012とを用いて損失パケットを再生成する。そのため、図5の(a)では、損失パケット(1002a)より手前の受信パケットは用いられず、損失パケットの後で受信される後続のパケット5個(ユーザデータパケット1002b〜1002e、誤り訂正符号パケット1012)を用いる。このため、映像受信側伝送装置は、5個のユーザデータパケットの到着を待って再生成処理を実行する。同様に、図5の(b)では、損失パケット(1002c)の手前2個(ユーザデータパケット1002a、1002b)と後続3個(ユーザデータパケット1002d、1002e、誤り訂正符号パケット1012)を用いて再生成処理を実行する。また、図5の(c)では、損失パケット(1002e)の手前4個(ユーザデータパケット1002a〜1002d)と後続1個(誤り訂正符号パケット1012)とを用いて再生成処理を実行する。
When any one of the user
そのため、映像受信側伝送装置では、常に失われたパケットの誤り訂正符号ブロック内の位置を意識した動作が求められ、バッファ管理等のハードウェア/ソフトウェアリソースが必要となる。 For this reason, the video receiving side transmission apparatus always requires an operation in consideration of the position of the lost packet in the error correction code block, and requires hardware / software resources such as buffer management.
さらに、誤り訂正符号パケットを個別パケットにすることによって伝送制御ヘッダ等のオーバーヘッドが付加されて伝送効率が低下するため、伝送ジッタ及びパケット損失を発生させるネットワーク輻輳の発生頻度を上昇させてしまう。 Furthermore, by making the error correction code packet an individual packet, overhead such as a transmission control header is added and the transmission efficiency is lowered, so that the frequency of occurrence of network congestion that causes transmission jitter and packet loss is increased.
これらの現象により、上記従来技術では、常に高品質、かつ、帯域に十分な余裕のあるネットワークを利用しない限り、リアルタイムな動画としての映像品質が低下してしまうという問題があった。 Due to these phenomena, the above-described conventional technique has a problem that the video quality as a real-time moving image is deteriorated unless a network having a high quality and sufficient bandwidth is always used.
本発明の目的は、誤り訂正符号を用いてパケット損失に対応しつつ、ネットワークにとって負荷となる伝送パケット数の増加を伴わず、その結果として新たに生じるパケット損失及びジッタの増加を抑制することができるデータ通信システムを提供することである。 An object of the present invention is to suppress packet loss and jitter increase as a result of the increase in the number of transmission packets that become a load on the network while addressing packet loss using an error correction code. A data communication system is provided.
本発明のデータ通信システムの一態様は、ブロック符合を用いて、送信装置から受信装置に対して通信路を介して送信するデータの誤り訂正を行うデータ通信システムであって、前記送信装置は、送信対象となるデータを分割して複数のパケットを生成するパケット生成手段と、前記パケット生成手段によって生成された前記パケットを所定の長さのサブブロックに分割する第1のサブブロック分割手段と、前記第1のサブブロック分割手段によって分割されたサブブロックを、誤り訂正の演算単位となるブロックに割り当てる第1のサブブロック割当手段と、前記第1のサブブロック割当手段によって前記ブロックに割り当てられたサブブロックに対して誤り訂正を行って、誤り訂正符号を生成する誤り訂正符号生成手段と、前記誤り訂正符号生成手段によって生成された前記誤り訂正符号を前記パケットに多重化する誤り訂正符号多重化手段と、前記誤り訂正符号多重化手段によって前記誤り訂正符号が多重化されたパケットを前記受信装置に対して送信するパケット送信手段と、を備え、前記受信装置は、前記送信装置から送信されたパケットを受信するパケット受信手段と、前記パケット受信手段によって受信された前記パケットを一時的に蓄積するパケット蓄積手段と、前記パケット蓄積手段によって蓄積されたパケットに多重化されている誤り訂正符号を、前記パケットから分離する誤り訂正符号分離手段と、前記パケット蓄積手段によって蓄積されたパケットを所定の長さのサブブロックに分割する第2のサブブロック分割手段と、前記第2のサブブロック分割手段によって分割されたサブブロックを、誤り訂正の演算単位となるブロックに割り当てる第2のサブブロック割当手段と、前記受信したパケットに基づいて、前記通信路上における、前記送信装置から送信されたパケットの欠落を検出するパケット欠落検出手段と、前記パケット欠落検出手段でパケットの欠落が検出された場合、前記欠落したパケットを形成するサブブロック毎に、それぞれのサブブロックの復元に必要となる特定のブロックであって、当該サブブロックが割り当てられた前記特定のブロックに属する誤り訂正符号と、前記第2のサブブロック割当手段によって前記特定のブロックに割り当てられたサブブロックとを用いて、前記欠落したパケットを復元する欠落パケット復元手段と、を備える、を備えた構成を有している。 One aspect of the data communication system of the present invention is a data communication system that performs error correction of data transmitted from a transmission device to a reception device via a communication path using a block code, and the transmission device includes: Packet generating means for generating a plurality of packets by dividing data to be transmitted; first sub-block dividing means for dividing the packet generated by the packet generating means into sub-blocks of a predetermined length; A first sub-block allocating unit for allocating the sub-blocks divided by the first sub-block dividing unit to a block which is an error correction calculation unit; and the first sub-block allocating unit allocated to the block by the first sub-block allocating unit. Error correction code generation means for generating an error correction code by performing error correction on the sub-block, and the error correction Error correction code multiplexing means for multiplexing the error correction code generated by the signal generation means to the packet, and a packet in which the error correction code is multiplexed by the error correction code multiplexing means to the receiving device Packet transmitting means for transmitting the packet, wherein the receiving device receives the packet transmitted from the transmitting device, and packet storage for temporarily storing the packet received by the packet receiving device. Means, an error correction code separating means for separating the error correction code multiplexed in the packet stored by the packet storage means from the packet, and the packet stored by the packet storage means having a predetermined length Second sub-block dividing means for dividing into sub-blocks, and second sub-block dividing means Therefore, a second sub-block allocating unit for allocating the divided sub-blocks to a block which is an error correction calculation unit, and a packet loss transmitted from the transmitting device on the communication path based on the received packet When packet loss is detected by the packet loss detection means, and for each subblock forming the lost packet, a specific block necessary for restoring each subblock is detected. And using the error correction code belonging to the specific block to which the sub-block is allocated and the sub-block allocated to the specific block by the second sub-block allocation means, And a lost packet restoring means for restoring.
この構成によれば、誤り訂正符号を付加することでエラー耐性の高い伝送システムを構築する際に送出パケット数を維持することが可能となる。 According to this configuration, the number of transmitted packets can be maintained when a transmission system with high error tolerance is constructed by adding an error correction code.
本発明のデータ通信システムの一態様において、前記送信装置において、前記通信路の通信品質、送信データ量、単位時間あたりの送信データ量であるトラフィック量のうち、少なくとも1つに基づいて、サブブロックの分割長を決定するサブブロック分割長制御手段をさらに備え、前記第1のサブブロック分割手段は、前記サブブロック分割長制御手段が決定したサブブロックの分割長でパケットを分割し、前記第1のサブブロック割当手段は、前記サブブロック分割長制御手段が決定したサブブロックの分割長で、各サブブロックを誤り訂正の演算単位となるブロックに割り当て、前記誤り訂正符号多重化手段は、前記サブブロック分割長制御手段が決定したサブブロックの分割長に関する情報を、誤り訂正符号とともにパケットに多重化し、前記受信装置において、前記誤り訂正符号分離手段は、受信したパケットに多重化されている誤り訂正符号を、前記パケットから分離するとともに、前記情報を前記パケットから分離し、前記誤り訂正符号分離手段が分離した、前記情報に基づいて、前記サブブロックの分割長を検出するサブブロック長検出手段をさらに備え、前記第2のサブブロック分割手段は、前記サブブロック長検出手段で検出されたサブブロックの分割長で、前記パケット蓄積手段に蓄積されたパケットを分割し、前記第2のサブブロック割当手段は、前記サブブロックの分割長で、各サブブロックを誤り訂正の演算単位となるブロックに割り当てる、構成を有している。 In one aspect of the data communication system of the present invention, in the transmission device, a subblock is based on at least one of communication quality of the communication path, transmission data amount, and traffic amount that is a transmission data amount per unit time. Sub-block division length control means for determining the division length of the sub-block, wherein the first sub-block division means divides the packet by the sub-block division length determined by the sub-block division length control means, and The sub-block allocating means allocates each sub-block to a block which is a unit of error correction with the sub-block division length determined by the sub-block division length control means, and the error correction code multiplexing means Information on the division length of the sub-block determined by the block division length control means is multiplexed into the packet together with the error correction code. In the receiving apparatus, the error correction code separation means separates the error correction code multiplexed in the received packet from the packet, separates the information from the packet, and separates the error correction code separation. Means further comprising sub-block length detection means for detecting a division length of the sub-block based on the information, wherein the second sub-block division means is a sub-block detected by the sub-block length detection means. The packet accumulated in the packet accumulating means is divided by the division length of the block, and the second sub-block allocating means converts each sub-block to a block that is an arithmetic unit for error correction with the division length of the sub-block. It has a configuration to allocate.
この構成によれば、トラフィック量とネットワーク状態とに応じた適切なサブブロック長を算出し、ユーザ情報分割手段とサブブロック割当手段を、伝送中に制御することが可能となるので、ネットワークの伝送状態に適した誤り訂正能力を少ないコストで動的に与えることが可能となる。 According to this configuration, it is possible to calculate an appropriate subblock length according to the traffic amount and the network state, and to control the user information dividing unit and the subblock allocating unit during transmission. It is possible to dynamically give an error correction capability suitable for the state at a low cost.
本発明のデータ通信システムの一態様における、前記送信装置において、前記誤り訂正符号生成手段は、前記パケット生成手段によって生成されるパケットに対応して、誤り訂正符号の逐次的な演算過程の中間値を順次格納するメモリと、前記メモリに対する読み出しポインタと、前記読み出しポインタからサブブロックの分割長に相当するオフセットを有する書き込みポインタと、を備え、前記第1のサブブロック割当手段は、前記読み出しポインタと前記書き込みポインタとを、前記パケット毎に順次移動させることにより、分割したサブブロック毎に誤り訂正の演算単位となるブロックへの割り当てを実行し、前記誤り訂正符号生成手段は、前記書き込みポインタが示すサブブロックと、前記パケットに後続するパケットに対応するサブブロックとから、誤り訂正の演算過程の中間値を演算して、前記中間値を前記メモリの前記書き込みポインタの位置に書き込み、かつ、前記第1のサブブロック割当手段によって割り当てられた前記ブロックに属する全てのサブブロックに対する演算が完了すると、前記メモリから前記読み込みポインタが示すサブブロックを誤り訂正符号として読み出して出力する、という構成を有している。 In the transmission apparatus according to an aspect of the data communication system of the present invention, the error correction code generation means corresponds to a packet generated by the packet generation means, and is an intermediate value of a sequential calculation process of error correction codes. Are sequentially stored, a read pointer for the memory, and a write pointer having an offset corresponding to the division length of the sub-block from the read pointer, the first sub-block allocating means includes the read pointer and By sequentially moving the write pointer for each packet, the divided sub-blocks are allocated to blocks that are calculation units for error correction, and the error correction code generation means is indicated by the write pointer. A sub-block and a support corresponding to the packet following the packet. An intermediate value in an error correction calculation process is calculated from the block, the intermediate value is written at the position of the write pointer in the memory, and belongs to the block allocated by the first sub-block allocation means When the calculation for all the sub-blocks is completed, the sub-block indicated by the read pointer is read from the memory as an error correction code and output.
この構成により、誤り訂正符号の演算に必要な全てのパケットを格納するメモリは必要とされず、インタリーブする単位毎にパケット1個分のユーザデータと1個のパケットに多重する誤り訂正符号に相当するメモリのみで実現されるので、低いハードウェアコストで誤り訂正が行えるデータ通信システムを実現することが可能となる。 This configuration eliminates the need for a memory for storing all packets required for error correction code calculation, and corresponds to an error correction code that multiplexes one packet of user data and one packet for each interleaving unit. Therefore, it is possible to realize a data communication system that can perform error correction at a low hardware cost.
本発明のデータ通信システムの一態様では、前記送信装置は、前記受信装置に対して、RTP(Real-time Transport Protocol)を用いて映像又は音声のストリーミングデータを送信し、前記誤り訂正符号多重化手段は、RTPの拡張ヘッダに前記誤り訂正符号を多重化する、という構成を有している。 In one aspect of the data communication system of the present invention, the transmitting device transmits video or audio streaming data to the receiving device using RTP (Real-time Transport Protocol), and the error correction code multiplexing The means is configured to multiplex the error correction code in an RTP extension header.
この構成により、NAPT(Network Address Port Translation)装置を介した接続が容易となると共に、誤り訂正機能を搭載しない受信装置が混在する環境下でも、同一のパケットの送信を可能としマルチキャスト配信によりネットワーク内のリソースの消費量を削減することが可能となる。 This configuration facilitates connection via a Network Address Port Translation (NAPT) device and allows the same packet to be transmitted even in an environment where receivers not equipped with an error correction function coexist. It becomes possible to reduce the consumption of resources.
本発明によれば、誤り訂正符号を用いてパケット損失に対応しつつ、ネットワークにとって負荷となる伝送パケット数の増加を伴わず、その結果として新たに生じるパケット損失及びジッタの増加を抑制することができる。 According to the present invention, while addressing packet loss using an error correction code, it is possible to suppress an increase in newly generated packet loss and jitter without increasing the number of transmission packets that are a load on the network. it can.
以下、本発明の実施の形態について、図面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(実施の形態1)
図6は、本実施の形態に係るデータ通信システムの要部構成を示すブロック図である。
(Embodiment 1)
FIG. 6 is a block diagram showing a main configuration of the data communication system according to the present embodiment.
図6において、データ通信システムは、ブロック符合を用いて、映像送信側伝送装置10から映像受信側伝送装置11に対して通信路を介して送信するデータの誤り訂正を行う。本実施の形態に係る映像送信側伝送装置10は、入力された映像信号を符号化してパケットとしてネットワークに送出し、映像受信側伝送装置11は、ネットワークから受信したパケットから映像符号を取り出して復号し映像信号として出力する。これは、本実施の形態に係るデータ通信システムの入力側に、映像信号を符号化する映像符号化部101を接続し、データ通信システムの出力側に、映像符号から映像信号を復号する映像符号復号部114を接続したものである。
In FIG. 6, the data communication system performs error correction of data transmitted from the video transmission
映像送信側伝送装置10は、映像符号化部101と、パケット生成部102と、冗長符号多重部103と、パケット送信制御部104と、サブブロック長制御部105と、ユーザ情報分割部106と、サブブロック割当部107と、誤り訂正符号生成部108と、から主に構成される。また、映像受信側伝送装置11は、パケット受信制御部111と、受信パケット蓄積部112と、パケット整列部113と、映像符号復号部114と、パケット欠落検出部115と、冗長符号分離部116と、サブブロック長検出部117と、ユーザ情報分割部118と、サブブロック割当部119と、誤り訂正損失パケット再生成部120と、から主に構成される。
The video transmission
図6の映像送信側伝送装置10において、映像符号化部101は、MPEG等の標準アルゴリズムを用いて映像信号を符号化し、生成した映像符号をユーザデータとしてパケット生成部102に出力する。また、映像符号化部101は、符号化結果である映像符号の出力量(出力符号量)をサブブロック長制御部105に出力する。
In the video transmission
パケット生成部102は、映像符号化部101から受け取ったユーザデータ(映像符号。つまり、送信対象となるデータ)を、伝送方式に適合した適切な長さ(例えばEthernet(登録商標)を用いる場合は1200バイト程度)に分割するとともに、通信規約(例えば、RTP、UDP及びIP等のプロトコル)に基づく伝送ヘッダを付加して、複数の伝送パケットを生成する。そして、パケット生成部102は、生成した伝送パケットを冗長符号多重部103及びユーザ情報分割部106に出力する。
When the
冗長符号多重部103は、パケット生成部102から入力される伝送パケットと、誤り訂正符号生成部108から入力される誤り訂正符号とを多重して、多重信号(パケット)をパケット送信制御部104に出力する。また、冗長符号多重部103は、後述するサブブロック長制御部105で決定されたサブブロック長(サブブロックの分割長)に関する情報(サブブロック長情報)、及び、サブブロックの組み合わせ(ブロック)に関する情報(サブブロックの組合せパターン情報)を、誤り訂正符号とともにパケットに多重する。
The redundant
パケット送信制御部104は、ネットワークの通信規約に基づいた手順で、ネットワークの伝送路にパケットを送出する。また、パケット送信制御部104は、ネットワークの回線品質を検出し、検出した回線品質を示す回線品質情報をサブブロック長制御部105に出力する。
The packet
サブブロック長制御部105は、映像符号化部101の出力符号量、及び、パケット送信制御部104で検出される回線品質情報に基づいて、適切なサブブロック長(サブブロックの分割長)を算出する。例えば、サブブロック長制御部105は、回線状態が良好(高品質)である場合に誤り訂正符号量を削減して伝送効率を向上し、回線状態が劣悪(低品質)である場合に誤り訂正符号量を増加して訂正能力を高めるために、ユーザ情報分割部106に指示するサブブロック長を増減する。また、サブブロック長制御部105は、サブブロック割当部107に対して、複数パケットから取り出すサブブロックの組合せパターンを指示する。なお、サブブロック長制御部105は、通信路の通信品質(回線品質情報)、送信データ量(出力符号量)、送信データのトラフィック量のうち、少なくとも1つに基づいて、サブブロック長(サブブロックの分割長)を決定すればよい。
The subblock
ユーザ情報分割部106は、サブブロック長制御部105から指示されるサブブロック長に従って、パケット生成部102から入力される伝送パケットのペイロードであるユーザデータ(映像符号)を適切な長さ(所定の長さ)のサブブロックに分割し、サブブロックをサブブロック割当部107に出力する。
The user
サブブロック割当部107は、ユーザ情報分割部106から受け取った伝送パケットのペイロードを分割したサブブロックを蓄積する。そして、サブブロック割当部107は、サブブロックを、誤り訂正の演算単位となるブロック(サブブロックの組み合わせ)に割り当てる。具体的には、サブブロック割当部107は、サブブロック長制御部105からの指示に従って、複数の伝送パケットから1つずつサブブロックを取り出して、取り出したサブブロックの組合せを誤り訂正符号生成部108に出力する。
The sub-block allocating
誤り訂正符号生成部108は、サブブロック割当部107から受け取った複数のサブブロック(各ブロックに割り当てられたサブブロック)に対して、誤り訂正符号のアルゴリズムを用いて誤り訂正符号を生成し、生成した誤り訂正符号を冗長符号多重部103に出力する。
The error correction
図6の映像受信側伝送装置11において、パケット受信制御部111は、ネットワークの通信規約に基づいた手順で、ネットワークの伝送路からパケット(映像送信側伝送装置10から送信されたパケット)を受信し、受信したパケットを受信パケット蓄積部112に出力する。
In the video reception
受信パケット蓄積部112は、パケット受信制御部111で受信されたパケットを、一定時間若しくは一定個数蓄積(保持)する。
The reception
パケット整列部113は、受信パケット蓄積部112に蓄積されたパケットを取り出して、送信側で生成された順序に整列する。そして、パケット整列部113は、整列されたパケットから伝送ヘッダを取り除いて映像符号を再組み立てし、映像符号を映像符号復号部114に出力する。
The
映像符号復号部114は、パケット整列部113から受け取った映像符号をMPEG等の標準アルゴリズムに則って復号し、映像信号を出力する。
The video
一方、パケット整列部113が受信パケット蓄積部112から伝送パケットを取り出すのと並行して、パケット欠落検出部115は、受信パケット蓄積部112に格納されているパケット列を監視して、欠落したパケットを検出する。すなわち、パケット欠落検出部115は、受信したパケットに基づいて、ネットワーク(通信路)上における、映像送信側伝送装置10から送信されたパケットの欠落を検出する。そして、パケット欠落検出部115は、パケットの欠落を検出した場合には、誤り訂正損失パケット再生成部120に対して、欠落したパケットの再生成を指示する。
On the other hand, in parallel with the
パケットの再生成の処理にあたり、冗長符号分離部116は、受信パケット蓄積部112によって蓄積されたパケットに多重化されている誤り訂正符号、及び、誤り訂正のための管理情報(サブブロック長情報、サブブロックの組合せパターン情報)を、パケットから分離する。具体的には、冗長符号分離部116は、伝送パケット内の誤り訂正符号と誤り訂正のための管理情報(サブブロック長情報、サブブロックの組合せパターン情報)とを分離し、誤り訂正符号を誤り訂正損失パケット再生成部120へ出力し、管理情報をサブブロック長検出部117へ出力する。
In the packet regeneration process, the redundant
サブブロック長検出部117は、冗長符号分離部116から受け取った、誤り訂正のための管理情報(連続するパケットに格納された管理情報列)の中から、サブブロック長情報、及び、サブブロックの組合せパターン情報を検出し、サブブロック長情報をユーザ情報分割部118へ出力し、サブブロックの組合せパターン情報をサブブロック割当部119へ出力する。
The subblock
ユーザ情報分割部118は、受信パケット蓄積部112に格納されている伝送パケットのペイロード内のユーザデータ(映像符号)を、サブブロック長検出部117から指示されたサブブロック長情報に基づいて分割し、複数のサブブロックを生成する。そして、ユーザ情報分割部118は、生成したサブブロックをサブブロック割当部119へ出力する。
The user
サブブロック割当部119は、サブブロック長検出部117から指示されたサブブロックの組合せパターン情報に基づき、ユーザ情報分割部118から受け取ったサブブロック(複数の伝送パケットから生成された複数のサブブロック)を組み合わせて、誤り訂正の演算単位であるブロックを再構成する。つまり、サブブロック割当部119は、ユーザ情報分割部118によって分割されたサブブロックを、誤り訂正の演算単位となるブロックに割り当てる。そして、サブブロック割当部119は、再構成したブロックを、誤り訂正損失パケット再生成部120へ出力する。
The
誤り訂正損失パケット再生成部120は、冗長符号分離部116から受け取った誤り訂正符号と、サブブロック割当部119から受け取った、誤り訂正符号のブロックを構成するユーザ情報のサブブロックの組を用いて、誤り訂正符号のアルゴリズムに基づいて、受信されなかったサブブロックを再生成する。具体的には、誤り訂正損失パケット再生成部120は、パケット欠落検出部115でパケットの欠落が検出された場合には、欠落したパケットを形成するサブブロック毎に、それぞれのサブブロックの復元に必要となる特定のブロックであって、当該サブブロックが割り当てられた特定のブロックに属する誤り訂正符号と、サブブロック割当部119によって特定のブロックに割り当てられたサブブロックとを用いて、欠落したパケットを復元する。誤り訂正損失パケット再生成部120は、失われたパケットのペイロードを構成するサブブロック全体を再生成するまで本処理を繰り返す。再生成された伝送パケットのペイロードは、パケット整列部113に出力され、パケット列の中の適切な位置に挿入される。
The error correction loss
なお、映像送信側伝送装置10のパケット生成部102はパケット生成手段として機能し、冗長符号多重部103は誤り訂正符号多重化手段として機能し、パケット送信制御部104はパケット送信手段として機能し、サブブロック長制御部105はサブブロック分割長制御手段として機能し、ユーザ情報分割部106は第1のサブブロック分割手段として機能し、サブブロック割当部107は第1のサブブロック割当手段として機能し、誤り訂正符号生成部108は誤り訂正符号生成手段として機能する。また、映像受信側伝送装置11のパケット受信制御部111はパケット受信手段として機能し、受信パケット蓄積部112はパケット蓄積手段として機能し、パケット欠落検出部115はパケット欠落検出手段として機能し、冗長符号分離部116は誤り訂正符号分離手段として機能し、サブブロック長検出部117はサブブロック長検出手段として機能し、ユーザ情報分割部118は第2のサブブロック分割手段として機能し、サブブロック割当部119は第2のサブブロック割当手段として機能し、誤り訂正損失パケット再生成部120は欠落パケット復元手段として機能する。
The
以上のように構成されたデータ通信システムについて、図7〜図9を用いてその動作を説明する。図7は映像送信側伝送装置10の基本的な動作を説明した図を示し、図8は映像受信側伝送装置11のパケット欠落時の基本的な動作を説明した図を示し、図9はネットワークの回線品質として、複数個の連続したパケットの欠落が発生する状態に対応して、パケットをインタリーブさせた際の本発明におけるデータ通信システムの動作を説明した図を示す。
About the data communication system comprised as mentioned above, the operation | movement is demonstrated using FIGS. FIG. 7 is a diagram for explaining the basic operation of the video transmission
図7において、映像符号化部101は、ユーザデータ201(映像符号)を生成する。パケット生成部102は、ユーザデータ201を適切な長さ(一定長)に分割して(伝送パケット化して)、ペイロード211〜216を生成し、それぞれに伝送ヘッダ221〜226を付加して伝送パケットを生成する。
In FIG. 7, a
冗長符号多重部103は、生成された伝送パケットにおいて、伝送ヘッダの直後に誤り訂正符号情報231〜235を多重する。ここで、誤り訂正符号情報とは、誤り訂正符号とその管理・制御情報を含む情報要素である。誤り訂正符号情報の多重方法の一つとして、伝送プロトコルRTPの拡張ヘッダを用いる方法がある。この方法において、ネットワーク内の伝送装置、中継装置では、誤り訂正符号情報が伝送ヘッダ222〜226と一体のヘッダ情報要素となって見える。
The redundant
例えば、ペイロード211は、ユーザ情報分割部106で一定の長さに分割され、サブブロック211a〜211eとなる。ペイロード212〜216も同様に、それぞれ5個のサブブロック(サブブロック212a〜216e)に分割される。なお、図7では、ペイロードを5個のサブブロックに分割する場合を一例として説明するが、ペイロードの分割数(生成されるサブブロック数)は5個に限らない。
For example, the
サブブロック割当部107は、これらのサブブロックの中から、1つずつ各パケット内の位置をずらした組合せを取り出して誤り訂正符号生成部108に出力する。例えば、図7に示すサブブロック211e、212d、213c、214b、215aを組合せることにより、誤り訂正の演算単位であるブロックが形成される。そして、サブブロックの組み合わせ(ブロック)に対して誤り訂正を行うことで誤り訂正符号を生成する。これにより、図7に示す誤り訂正符号情報235が生成される。その他の誤り訂正符号情報231〜234、及び、後続の誤り訂正符号情報(図示せず)についても同様に、各パケットのペイロードを分割したサブブロックを1つずつパケット内の位置をずらして取り出した組み合わせを用いて生成する。
The sub-block allocating
図8では、映像受信側伝送装置11が受信した受信パケット300〜309の内、パケット304がネットワーク上のいずれかで欠落した場合の動作について説明する。
FIG. 8 illustrates an operation when the
パケット受信制御部111がネットワークから受信したパケット300〜309を受信パケット蓄積部112に格納する。なお、ネットワークではパケットの遅延時間がばらつき、パケットの到着順序が入れ替わることもある。このため、受信パケット蓄積部112内では、図8に示すようにパケット300〜309の順序で並んでいるとは限らない。そこで、パケット整列部113は、これらのパケットを送信側での生成順に並び替えて映像符号復号部114に受け渡す。
The packet
また、図8では、パケット欠落検出部115は、受信パケット蓄積部112に格納された受信パケット300〜309を監視し、システムとして許容される遅延時間を経過しても到着しないパケット304が欠落していると判断する。
In FIG. 8, the packet loss detection unit 115 monitors the received
誤り訂正損失パケット再生成部120は、パケット欠落検出部115がパケットの欠落を検出し、失われたパケット(304)の再生成処理を指示されると、再生成に必要なサブブロックを集める。その際、まず、冗長符号分離部116は、各パケットから誤り訂正符号情報330〜339を取り出し、誤り訂正損失パケット再生成部120へ出力し、各パケットから誤り訂正符号の管理・制御情報を取り出し、サブブロック長検出部117へ出力する。
The error correction loss
サブブロック長検出部117は、管理・制御情報に基づいて、サブブロックの組合せパターン及びサブブロック長を判定し、組合せパターンをサブブロック割当部119へ出力し、サブブロック長をユーザ情報分割部118に出力する。例えば、図8では、誤り訂正符号情報330〜339の中に多重されている、誤り訂正符号の管理・制御情報に基づいて算出されたサブブロックの組合せパターン情報により、失われたパケット(304)の再生成に必要な受信パケットは、パケット300〜303、305〜309と判定される。
The sub-block
図8に示すように、ユーザ情報のペイロードが5個のサブブロックに分割されている場合には、失われたパケットと同一の誤り訂正符号のグループ(ブロック)に属する手前側のパケット4個((5−1)個)と、後続側のパケット5個とが、受信パケット蓄積部112の中から取り出される。すなわち、映像受信側伝送装置11では、N個のサブブロックに分割されているときは、失われたパケットの手前側の(N−1)個のパケット、及び、後続側のN個のパケットを取り出す(集める)だけでよい。つまり、失われたパケットを再生成するために集めるべきパケットは、ペイロード長とサブブロック長とだけで一意に決定する。したがって、誤り訂正符号の管理・制御情報としては、サブブロック長及びグループを識別する情報があれば十分となる。換言すると、映像受信側伝送装置11は、誤り訂正符号ブロックを構成するパケット列内における、失われたパケットの位置を意識する必要がなくなる。なお、グループの利用目的は後述する図9で詳細に説明する。
As shown in FIG. 8, when the payload of the user information is divided into five sub-blocks, four near-side packets belonging to the same error correction code group (block) as the lost packets ( (5-1)) and five subsequent packets are extracted from the received
次に、サブブロックへの分割処理及びサブブロックの組合せについて説明する。 Next, division processing into sub-blocks and combinations of sub-blocks will be described.
図8に示す受信パケット300のペイロード、すなわちユーザ情報310は、ユーザ情報分割部118において、サブブロック長検出部117から指示された長さ(サブブロックの分割長)に分割され、サブブロック310a〜310eとなる。同様に、受信パケット301のペイロードもサブブロック311a〜311eに分割される。また、他のパケット302〜303、305〜308についても同様にサブブロック(302a〜308e)に分割される。なお、受信パケット309については、誤り訂正符号情報339のみを使用する。
The payload of the received
映像送信側伝送装置10において、パケット毎に1つずつ位置をずらしたサブブロックで誤り訂正符号ブロックを構成したように、映像受信側伝送装置11でも、失われたパケットを再生成する際に、パケット内の位置を1つずつずらしたサブブロックを組み合わせて誤り訂正符号ブロックを生成する。例えば、サブブロック割当部119は、失われたパケット304のペイロードの先頭サブブロック314aを再生成(復元)するために、サブブロック310e、311d、312c、313bと誤り訂正符号情報335内の誤り訂正符号を、1つの誤り訂正符号ブロックとして組み合わせる。そして、サブブロック割当部119は、生成した誤り訂正符号ブロックを誤り訂正損失パケット再生成部120へ出力する。
In the video transmission
同様に、サブブロック割当部119は、失われたパケット304のペイロードの2番目のサブブロック314bを再生成するために、サブブロック311e、312d、313c、315aと誤り訂正符号情報336内の誤り訂正符号を組み合わせる。また、例えば、サブブロック長制御部105は、失われたパケット304のペイロードの末尾のサブブロック314eを再生成するために、サブブロック315d、316c、317b、318aと誤り訂正符号情報339内の誤り訂正符号を組み合わせる。このように、サブブロック長制御部105は、失われたパケット304のペイロードを構成するサブブロックの再生成を順に行う。以上により、失われたパケット304のペイロード、すなわちユーザ情報314の再生成に必要なサブブロック314a〜314eがそれぞれ再生成される。
Similarly, the
本実施の形態では、元々1つの符号情報を分割して、複数のパケットのペイロードに搭載するため、伝送ヘッダに格納されている情報の冗長度が高い。しかし、映像受信側伝送装置11では、失われたパケットのうち、ペイロード部分のみを再生成するので、ユーザ情報を無損失で出力することが可能である。
In the present embodiment, since one piece of code information is originally divided and mounted on the payloads of a plurality of packets, the redundancy of the information stored in the transmission header is high. However, since the video receiving
誤り訂正損失パケット再生成部120は、再生成したペイロード314をパケット整列部113に出力する。そして、パケット整列部113は、正常に受信したパケットのペイロード310〜313,315〜319を受信パケット蓄積部112から取り出し、再生成されたペイロード314とともに生成順に整列させて結合し、映像符号として映像符号復号部114に出力する。映像符号復号部114は、映像符号を復号して映像信号を得る。
The error correction loss
図9は、複数個の連続したパケットが欠落する劣悪なネットワーク状態における動作について説明する。 FIG. 9 illustrates an operation in a poor network state where a plurality of consecutive packets are missing.
図9において、連続するパケット401〜420は、パケット生成順(例えば、RTPのシーケンス番号順)431、432、433で生成され、これらのパケットを4つのグループに分類している。図9に示すように、1つ目のグループ441は、パケット401、405、409、413、417から構成される。2つ目のグループ442は、パケット402、406、410、414、418から構成される。3つ目のグループ443は、パケット403、407、411、415、419から構成される。4つ目のグループ444は、パケット404、408、412、416、420から構成される。なお、図9に示したパケット以降に継続するパケット(図示せず)についても、同様にグループ441〜444のいずれかに属することとする。これにより、欠落するパケットの連続個数が4個(つまり、グループ数)以下の場合には、各グループにおける欠落するパケットの数は1個以下(すなわち、多くとも1個)となる。
In FIG. 9,
例えば、図9において、パケット生成順432で示されるパケット407、408、409,410(4個のパケット)が伝送途中にネットワーク上のいずれかで連続的に失われたとする。つまり、グループ441ではパケット409が失われ、グループ442ではパケット410が失われ、グループ443ではパケット407が失われ、グループ444ではパケット408が失われたことになり、各グループ内ではそれぞれ1個のパケットの欠落として観測される。
For example, in FIG. 9, it is assumed that
つまり、パケットのペイロード1個分の誤り訂正能力を有する誤り訂正符号方式を用いた場合でも、図9に示すようなインタリーブ技術を組み合わせることで、連続したバースト損失に対応できることは、既に一般的な技術として行われている。本実施の形態では、図8に示すように、このインタリーブの際の各パケットが属するグループを示す情報を誤り訂正符号情報に識別子として格納することにより、映像受信側伝送装置11では、容易にグループを識別することが可能となり、訂正に必要なパケットの収集判断が可能となる。
In other words, even when an error correction code system having an error correction capability for one payload of a packet is used, it is already common that a continuous burst loss can be dealt with by combining interleaving techniques as shown in FIG. It is done as a technology. In the present embodiment, as shown in FIG. 8, by storing information indicating the group to which each packet belongs at the time of interleaving as an identifier in the error correction code information, the video receiving
次に、本実施の形態のデータ通信システム(図6)における映像送信側伝送装置10の主要部の効率的な実装例を図10を用いて説明する。
Next, an efficient implementation example of the main part of the video transmission
図10において、ソフトウェアのタスクを2つ(送信タスク501及び誤り訂正符号(FEC)生成タスク502)を定義する。送信タスク501は、映像符号化部101で生成されたユーザデータ(映像符号)を送信待ち符号バッファ541に格納する。また、送信待ち符号バッファ541では、パケットのペイロード長に合わせた長さにユーザデータを分割し、ペイロード511、512、513が生成されている。送信タスク501では、先頭のペイロード511に伝送ヘッダ521を付加して伝送パケットを生成し、FEC生成タスク502を呼び出した後、伝送パケット56をパケット送信制御部104を介してネットワークに送出する。
In FIG. 10, two software tasks (
FEC生成タスク502(主に誤り訂正符号生成部108に対応)には、インタリーブのグループの数に応じたワークメモリ551〜554が備えられ、各ワークメモリに対する読出ポインタ561aと書込ポインタ561bを設ける。
The FEC generation task 502 (mainly corresponding to the error correction code generation unit 108) is provided with
また、読出ポインタ561aと書込ポインタ561bには、サブブロック長分のオフセット(サブブロックの分割長に相当するオフセット)を持たせる。すなわち、読出ポインタ561aにサブブロック長を加算したものが書込ポインタ561bとなる。
Further, the read pointer 561a and the
送信タスク501から呼び出された誤り訂正符号生成タスク502には、送信待ちパケットの伝送ヘッダ521とペイロード511のメモリ上の番地が引数として渡される。誤り訂正符号生成タスク502は受け取った引数を用いて送信待ちパケットの各情報にアクセスする。
To the error correction
なお、本実施の形態では、上述したように、伝送パケットのペイロード511を一定の長さのサブブロック511a〜511eに分割し、前後のパケットの該当する位置のサブブロックをそれぞれ組み合わせて誤り訂正符号を生成する。
In this embodiment, as described above, the
例えば、図10において、誤り訂正符号生成タスク502は、先頭のパケットが属するインタリーブのグループが#lと判定された場合、#lの当該ワークメモリ552を選択し、各サブブロックに対する誤り訂正符号生成のための演算を書込ポインタ561bの指し示す位置から順に実行する。誤り訂正符号の方式として、排他的論理和(XOR)を用いる場合でも、生成多項式による除算の剰余を用いる場合でも、ワークメモリ552には演算結果(誤り訂正符号の逐次的な演算過程の中間値)だけを格納すればよい。なお、方式によりサブブロック境界を意識する場合もあるが、書込ポインタ561bからの単純な加算でサブブロック境界が求められるため、特別なハードウェアを必要とはしない。また、ワークメモリ552の末尾には、未演算の領域563があるため、誤り訂正符号の演算の前にゼロ(初期値“0”)でクリアしておく。また、ペイロード511が格納されているメモリ上でも、ワークメモリ552上でも、各サブブロックは、連続した番地に割り当てられているので、個々のサブブロックの境界を指し示すポインタは不要となり、先頭位置から順に、そのハードウェアの効率の良い長さ(8ビット、16ビット、32ビット、等)で演算が施される。
For example, in FIG. 10, the error correction
また、ワークメモリの分類を示すインタリーブのグループ識別子“#l”は、サブブロック長と共に、誤り訂正符号の管理・制御情報531aとして、伝送パケットの伝送ヘッダ521の後ろに多重する。演算終了後、読出ポインタ561aから書込ポインタ561bの直前までのワークメモリ上の情報は、誤り訂正符号531b(FECパリティ)として当該パケットの伝送ヘッダ521の後ろに多重される。また、読出ポインタ561a、書込ポインタ561bは、サブブロック長をそれぞれ加算して新たな読出ポインタ562a、書込ポインタ562bに更新される。書込ポインタ561bを新たな書込ポインタ562bに更新することにより、同一のグループ内で連続するパケットのペイロードを、サブブロック長ずつずらして演算することができる。
Further, the interleave group identifier “# 1” indicating the classification of the work memory is multiplexed behind the
このように、FECタスク502において、サブブロック割当部107は、送信タスク501においてパケット生成部102によって生成されるパケットに対応して、誤り訂正符号の逐次的な演算過程の中間値を順次格納するメモリと、当該メモリに対する読出ポイントと、書込ポイントとを有する。そして、サブブロック割当部107は、読出ポインタと書込ポインタとを、パケット毎に順次移動させることにより、分割したサブブロック毎に誤り訂正の演算単位となるブロックへの割り当てを実行する。そして、誤り訂正符号生成部108は、書込ポインタが示すサブブロックと、対象パケットに後続するパケットに対応するサブブロックとから、誤り訂正の演算過程の中間値を演算して、その中間値をメモリの書込ポインタの位置に書き込む。そして、誤り訂正符号生成部108は、サブブロック割当部107によって割り当てられたブロックに属する全てのサブブロックに対する演算が完了すると、読込ポインタが示すサブブロックを誤り訂正符号としてメモリから読み出して出力する。
As described above, in the
また、インタリーブのグループ判定は、送信タスク501から呼び出される度に、グループを順に割り当てれば十分であり、単純にグループ数による剰余系となるカウンタによっても実現できる。
In addition, the interleaving group determination is sufficient if the groups are assigned in order each time it is called from the
図10において、誤り訂正符号生成タスク502は、送信タスク501内のメモリ上に格納されている先頭パケットのペイロード511に対しては参照のみ行い、情報の書き込みを行わなず、そのまま送信タスク501(パケット送信制御部104)に渡す。このため、リソースの消費を最小限に抑えられ高速な処理が可能となる。また、誤り訂正機能を無効に設定した際には、誤り訂正符号生成タスク502の呼び出しを止めるだけで制御が可能となる。
In FIG. 10, the error correction
以上のように、本実施の形態では、サブブロックの分割長をN個とすると、受信側での失われたパケットの再生成時には、失われたパケットの手前側の(N−1)個のパケット、及び、後続側のN個のパケットを取り出す(集める)だけでよく、欠落したパケットの再生成時に受信側で必要なパケット蓄積量を一定にすることができる。すなわち、いずれの映像符号のパケットでも、少なくとも、サブブロック分割数N個後のパケットを受信した時点で再生成が可能となる。これにより、受信側では、再生成処理による遅延時間を一定にすることが可能となる。換言すると、パケット間での再生成処理による処理遅延時間の変動を抑えることができる。 As described above, in the present embodiment, assuming that the division length of the sub-block is N, when the lost packet is regenerated on the receiving side, (N−1) pieces of data before the lost packet are generated. It is only necessary to take out (collect) the packets and N packets on the subsequent side, and the amount of accumulated packets required on the receiving side when the lost packet is regenerated can be made constant. That is, any video code packet can be regenerated at least when a packet after N sub-block divisions is received. Thereby, on the receiving side, the delay time due to the regeneration process can be made constant. In other words, variation in processing delay time due to regeneration processing between packets can be suppressed.
また、本実施の形態では、誤り訂正符号、及び、誤り訂正符号に関する情報(サブブロック長情報、組み合わせパターン情報等)を各パケットのヘッダに多重するので、各パケットのパリティ部分はデータ量が増えるものの、全体のパケット数は増加しない。つまり、データパケットと誤り訂正符号とを個別にネットワーク上に伝送する場合と比較して、誤り訂正符号を送出することに起因して、全体のパケット数を増加させることが無くなり、かつ、パケットの送出間隔も変化させることが無くなる。 In the present embodiment, since the error correction code and information about the error correction code (subblock length information, combination pattern information, etc.) are multiplexed in the header of each packet, the amount of data increases in the parity part of each packet. However, the total number of packets does not increase. That is, as compared with the case where the data packet and the error correction code are individually transmitted over the network, the total number of packets is not increased due to the transmission of the error correction code, and The sending interval is not changed.
よって、本実施の形態によれば、誤り訂正符号の負荷に伴うパケット損失率の増加を抑制し、伝送遅延時間及び伝送に伴うジッタ、損失補償処理によるジッタの増大を防止し、高品質な伝送を行うことができる。 Therefore, according to the present embodiment, it is possible to suppress an increase in the packet loss rate due to the load of the error correction code, prevent an increase in jitter due to the transmission delay time and the transmission, and a jitter due to the loss compensation process, and to perform a high quality transmission. It can be performed.
(実施の形態2)
誤り訂正符号は、ネットワークに対してユーザデータ以外の部分であるオーバーヘッドを増加させ、伝送効率を大きく低下させる要因となるものである。したがって、誤り訂正能力を強化すれば、ネットワークに対する負荷、すなわちトラフィック量全体が増加してしまい、輻輳の誘因となる恐れさえある。一方、一定の実効帯域でトラフィック量が制限された場合には、ユーザデータの実質的な伝送容量を削減してしまうものとなる。そのため、ネットワークの伝送品質に基づいて誤り訂正能力を動的に制御する技術が考えられている。
(Embodiment 2)
The error correction code increases the overhead, which is a part other than user data, with respect to the network, and causes a significant decrease in transmission efficiency. Therefore, if the error correction capability is strengthened, the load on the network, that is, the total amount of traffic increases, which may even cause congestion. On the other hand, when the amount of traffic is limited in a certain effective band, the substantial transmission capacity of user data is reduced. Therefore, a technique for dynamically controlling the error correction capability based on the transmission quality of the network has been considered.
従来技術において、ネットワークの伝送品質に基づいて誤り訂正能力を制御する際の課題を図11に示す。 FIG. 11 shows a problem in controlling the error correction capability based on the transmission quality of the network in the prior art.
図11Aの上側では、データパケット6個につき1個の誤り訂正符号パケットが送出されている状態を示している。具体的には、データパケット群11a1は、誤り訂正符号を生成する1つのブロックであり、データパケット群11a1に対して誤り訂正符号の演算が行われる。そして、生成された誤り訂正符号パケット11a2がデータパケット(データパケット群11a1)に引き続いてネットワークに送出される。 The upper side of FIG. 11A shows a state in which one error correction code packet is transmitted for every six data packets. Specifically, the data packet group 11a1 is one block that generates an error correction code, and an error correction code is calculated for the data packet group 11a1. The generated error correction code packet 11a2 is sent to the network following the data packet (data packet group 11a1).
ここで、ネットワークの通信路品質が低下し、誤り訂正能力を向上させたいと判断された場合、データパケットと誤り訂正符号パケットとの割合を制御し、誤り訂正符号パケットの割合を増加させる。例えば、図11Aの下側は、データパケット6個につき誤り訂正符号パケット1個を生成する処理(図11Aの上側)から、データパケット5個につき誤り訂正符号パケット1個を生成する処理に変更した際の動作を示している。具体的には、データパケット群11a3は、データパケット5個で誤り訂正符号を生成する1つのブロックを形成し、データパケット群11a3に対して誤り訂正符号の演算が行われる。そして、生成された誤り訂正符号パケット11a4がデータパケット群11a3に引き続いてネットワークに送出される。 Here, when it is determined that the channel quality of the network is deteriorated and the error correction capability is to be improved, the ratio between the data packet and the error correction code packet is controlled, and the ratio of the error correction code packet is increased. For example, the lower part of FIG. 11A is changed from the process of generating one error correction code packet for six data packets (upper part of FIG. 11A) to the process of generating one error correction code packet for five data packets. The operation is shown. Specifically, the data packet group 11a3 forms one block for generating an error correction code with five data packets, and the error correction code is calculated for the data packet group 11a3. The generated error correction code packet 11a4 is sent to the network following the data packet group 11a3.
ここで、受信側の動作を考えると、処理の変更前では6個のデータパケットの後に1個の誤り訂正符号パケットが届いていたため、受信側は、図11Aに示すデータパケット11a6の直後のパケット位置11a5に誤り訂正符号パケットが届くと期待している。しかし、実際にはデータパケット群11a3の5個のデータパケットの直後に誤り訂正符号パケット11a4が届くため、受信側は、パケット位置11a5に届くべき誤り訂正符号パケットがデータパケット11a6と順序が入れ替わって先に届いたのか、データパケット11a6に相当するパケットがネットワーク途中で欠落したのか、判断することができない。 Here, considering the operation on the receiving side, since one error correction code packet has arrived after 6 data packets before the change of the processing, the receiving side receives the packet immediately after the data packet 11a6 shown in FIG. 11A. The error correction code packet is expected to arrive at the position 11a5. However, since the error correction code packet 11a4 actually arrives immediately after the five data packets in the data packet group 11a3, the receiving side changes the order of the error correction code packet that should reach the packet position 11a5 to the data packet 11a6. It cannot be determined whether the packet has arrived first or a packet corresponding to the data packet 11a6 has been lost in the middle of the network.
特に、パケットの順序が入れ替わることを許容していないシステムの場合には、データパケットが1個欠落したと誤認識してしまう。また、パケットの順序が入れ替わることを前提としたシステムの場合には、誤り訂正符号パケット11a4の直後にデータパケット11a6が到着したとき、誤り訂正符号パケット11a4がデータパケット群11a3とデータパケット11a6とを併せた6個のパケットに対する誤り訂正符号パケットであると誤認識してしまう恐れがある。そのため、誤り訂正符号パケット11a4には、対象とするデータパケット群11a3を識別するための情報、若しくは、誤り訂正符号パケットの生成割合の変更について、送信側と受信側との間で同期を取るための制御情報の付加が必要となる。 In particular, in the case of a system that does not allow the order of packets to be changed, it is erroneously recognized that one data packet is missing. Further, in the case of a system on the premise that the order of the packets is changed, when the data packet 11a6 arrives immediately after the error correction code packet 11a4, the error correction code packet 11a4 includes the data packet group 11a3 and the data packet 11a6. There is a risk of erroneous recognition as an error correction code packet for the combined six packets. Therefore, the error correction code packet 11a4 is synchronized between the transmission side and the reception side with respect to information for identifying the target data packet group 11a3 or a change in the generation rate of the error correction code packet. It is necessary to add control information.
ただし、この特別な制御情報(同期情報)を誤り訂正符号パケット11a4のみに多重したのでは、当該誤り訂正符号パケット11a4がネットワーク上で欠落した場合に、受信側が、誤り訂正符号ブロックの対象データパケットを6個のままと誤認識する恐れがあり、ブロックの組合せを正しく認識できないため、その後の誤り訂正処理に齟齬を来す恐れがある。 However, if this special control information (synchronization information) is multiplexed only in the error correction code packet 11a4, when the error correction code packet 11a4 is lost on the network, the receiving side can receive the target data packet of the error correction code block. May be misrecognized as being six, and the combination of blocks cannot be recognized correctly, which may lead to a frustration in subsequent error correction processing.
次に、誤り訂正能力を下げて、伝送効率を向上させる制御の例を図11Bに示す。 Next, FIG. 11B shows an example of control for reducing the error correction capability and improving the transmission efficiency.
図11Bの上側では、データパケット6個につき1個の誤り訂正符号パケットが送出されている状態を示している。具体的には、パケット群11b1は、誤り訂正符号を生成する1つのブロックであり、データパケット群11b1に対して誤り訂正符号の演算が行われる。そして、生成された誤り訂正符号パケット11b2がデータパケットに引き続いてネットワークに送出される。 The upper side of FIG. 11B shows a state in which one error correction code packet is transmitted for every six data packets. Specifically, the packet group 11b1 is one block that generates an error correction code, and an error correction code is calculated for the data packet group 11b1. The generated error correction code packet 11b2 is sent to the network following the data packet.
ここで、ネットワークの通信路品質の向上等の要因から、伝送効率を向上させたいと判断された場合、データパケットと誤り訂正符号パケットとの割合を制御し、誤り訂正符号パケットの割合を減少させる。例えば、図11Bの下側は、データパケット6個につき誤り訂正符号パケット1個を生成する処理(図11Bの上側)から、データパケット7個につき誤り訂正符号パケット1個を生成する処理に変更した際の動作を示している。具体的には、データパケット群11b3は、データパケット7個で誤り訂正符号パケットを生成する1つのブロックを形成し、データパケット群11b3に対して誤り訂正符号の演算が行われる。そして、生成された誤り訂正符号パケット11b4はデータパケット群11b3に引き続いてネットワークに送出される。 Here, if it is determined that the transmission efficiency is to be improved due to factors such as improvement of the channel quality of the network, the ratio of data packets and error correction code packets is controlled and the ratio of error correction code packets is decreased. . For example, the lower part of FIG. 11B is changed from the process of generating one error correction code packet for six data packets (upper part of FIG. 11B) to the process of generating one error correction code packet for seven data packets. The operation is shown. Specifically, the data packet group 11b3 forms one block for generating an error correction code packet with seven data packets, and an error correction code is calculated for the data packet group 11b3. The generated error correction code packet 11b4 is sent to the network following the data packet group 11b3.
ここで受信側の動作を考えると、処理の変更前では6個のデータパケットの後に1個の誤り訂正符号パケットが届いていたため、受信側は、データパケット11b6の前のパケット位置11b5に誤り訂正符号パケットが届くと期待している。しかし、実際には、データパケット群11b3の7個のデータパケットの後に誤り訂正符号パケット11b4が届くため、受信側は、パケット位置11b5に届くべき誤り訂正符号パケットがデータパケット11b6と順序が入れ替わって後に届いたのか、誤り訂正符号パケット11b4に相当するパケットがネットワーク途中で欠落したのか、判断することができない。 Considering the operation on the receiving side, since one error correction code packet has arrived after 6 data packets before the change of processing, the receiving side performs error correction at the packet position 11b5 before the data packet 11b6. I expect code packets to arrive. However, since the error correction code packet 11b4 arrives after the seven data packets of the data packet group 11b3 in practice, the receiving side changes the order of the error correction code packet that should reach the packet position 11b5 to the data packet 11b6. It cannot be determined whether it arrived later or whether a packet corresponding to the error correction code packet 11b4 was lost in the middle of the network.
特に、パケットの順序が入れ替わることを許容していないシステムの場合には、誤り訂正符号パケットが1個欠落したと誤認識されてしまう。また、パケットの順序が入れ替わることを前提としたシステムの場合には、データパケット11b6の到着の直後に誤り訂正符号パケット11b4が到着したとき、誤り訂正符号パケット11b4がデータパケット群11b3からデータパケット11b6を除いた6個のパケットに対する誤り訂正符号パケットと誤認識してしまう恐れがある。そのため、誤り訂正符号パケット11b4には、対象とするデータパケット群11b3を識別するための情報、若しくは、誤り訂正符号パケットの生成割合の変更について、送信側と受信側との間で同期を取るための制御情報の付加が必要となる。 In particular, in the case of a system that does not allow the order of packets to be changed, it is erroneously recognized that one error correction code packet has been lost. Further, in the case of a system on the premise that the packet order is changed, when the error correction code packet 11b4 arrives immediately after the arrival of the data packet 11b6, the error correction code packet 11b4 is changed from the data packet group 11b3 to the data packet 11b6. There is a risk of erroneous recognition as an error correction code packet for six packets excluding. Therefore, the error correction code packet 11b4 is synchronized between the transmission side and the reception side with respect to information for identifying the target data packet group 11b3 or a change in the generation rate of the error correction code packet. It is necessary to add control information.
ただし、この特別な制御情報(同期情報)を誤り訂正符号パケット11b4のみに多重したのでは、当該誤り訂正符号パケット11b4がネットワーク上で欠落した場合に、受信側が、誤り訂正符号ブロックの対象データパケットを6個のままである誤認識する恐れがあり、ブロックの組合せを正しく認識できないため、その後の誤り訂正処理に齟齬を来す恐れがある。 However, if this special control information (synchronization information) is multiplexed only in the error correction code packet 11b4, when the error correction code packet 11b4 is lost on the network, the receiving side can receive the target data packet of the error correction code block. May remain erroneously recognized, and the combination of blocks cannot be recognized correctly, which may lead to errors in subsequent error correction processing.
図11A及び図11Bで説明したような誤り訂正処理に齟齬を来さないためには、誤り訂正符号パケットに多重する制御情報だけでなく、データパケットにも何らかの制御情報(同期情報)を多重する必要がある。しかしながら、パケットの欠落又は順序の入れ替わりを考慮した場合には、複雑な保護処理フローを必要とすると共に、RFC5109(IETF RTP Payload Format for Generic Forward Error Correction)及びRFC3550(IETF RTP: A Transport Protocol for Real-time Applications)等の業界標準仕様と乖離してしまう恐れがある。 To avoid the error correction processing described with reference to FIGS. 11A and 11B, some control information (synchronization information) is multiplexed not only on the error correction code packet but also on the data packet. There is a need. However, in consideration of packet loss or change of order, a complicated protection processing flow is required, and RFC 5109 (IETF RTP Payload Format for Generic Forward Error Correction) and RFC 3550 (IETF RTP: A Transport Protocol for Real). -time Applications) and other industry standard specifications.
これに対して、図12および図13は、本実施の形態におけるデータ通信システムの動作、すなわち、伝送途中での誤り訂正能力の動的制御を行った場合の動作を示している。図12は、サブブロック長を制御することで誤り訂正能力とオーバーヘッドとを変化させたときの動作を示し、図13は、インタリーブの間隔、すなわち、インタリーブによるグループの数を減少させたときの動作を示す。 On the other hand, FIG. 12 and FIG. 13 show the operation of the data communication system according to the present embodiment, that is, the operation when the error correction capability is dynamically controlled during transmission. FIG. 12 shows the operation when the error correction capability and overhead are changed by controlling the sub-block length, and FIG. 13 shows the operation when the interleaving interval, that is, the number of groups due to interleaving is decreased. Indicates.
図12Aでは、図11Aの一例と同様に、ネットワークの伝送路品質の劣化を検出した等の要因によって誤り訂正能力を向上させるべく、ユーザデータ6個に対して誤り訂正符号1個の割合で誤り訂正符号を生成し多重していた状態から、ユーザデータ5個に対して誤り訂正符号1個の割合で誤り訂正符号を生成し多重する状態へと遷移する場合の動作を示す。 In FIG. 12A, as in the example of FIG. 11A, in order to improve the error correction capability due to factors such as detection of deterioration in the transmission path quality of the network, an error is generated at a ratio of one error correction code to six user data. An operation in a case where a state in which a correction code is generated and multiplexed is shifted to a state in which an error correction code is generated and multiplexed at a ratio of one error correction code to five user data is shown.
図12Aでは、伝送パケット12a1〜12a8が送信側から順に送出されている。また、例えば、伝送パケット12a1は、伝送ヘッダ12a11、誤り訂正符号制御ヘッダ12a12、誤り訂正符号12a13、ペイロード12a14から構成され、ペイロード12a14は6個の等長サブブロックに分割されている。 In FIG. 12A, transmission packets 12a1 to 12a8 are sent in order from the transmission side. Further, for example, the transmission packet 12a1 includes a transmission header 12a11, an error correction code control header 12a12, an error correction code 12a13, and a payload 12a14, and the payload 12a14 is divided into six equal-length sub-blocks.
伝送パケット12a2〜12a8についても、伝送パケット12a1と同様の情報要素によって構成されている。ただし、伝送パケット間では、ペイロードを分割して生成されたサブブロックの構成に各々違いがある。 The transmission packets 12a2 to 12a8 are also configured by the same information elements as the transmission packet 12a1. However, there are differences in the configuration of sub-blocks generated by dividing the payload between transmission packets.
例えば、図12Aに示す伝送パケット12a2において、先頭から5番目のサブブロック12a24eまでのサブブロック長は、ペイロードを6個に分割した際の長さである。一方、末尾(6番目)のサブブロックは、ペイロードを6個に分割されたペイロード末尾の部分12a24fと仮想的なゼロ部分12a25とで形成される。この末尾のサブブロック(12a24f及び12a25の合計)のサブブロック長は、ペイロードを5個に分割した際のサブブロック長に等しいものとなる。 For example, in the transmission packet 12a2 shown in FIG. 12A, the subblock length from the top to the fifth subblock 12a24e is the length when the payload is divided into six. On the other hand, the last (sixth) sub-block is formed of a payload tail portion 12a24f and a virtual zero portion 12a25 obtained by dividing the payload into six parts. The sub-block length of the last sub-block (the sum of 12a24f and 12a25) is equal to the sub-block length when the payload is divided into five.
また、図12Aに示す伝送パケット12a3において、先頭から4番目のサブブロック12a34dまでのサブブロック長は、ペイロードを6個に分割した際の長さであり、5番目のサブブロック12a34eのサブブロック長は、ペイロードを5個に分割した際の長さである。また、末尾(6番目)のサブブロックは、ペイロード末尾の部分12a34fと仮想的なゼロ部分12a35とで形成される。この末尾のサブブロック(12a34f及び12a35の合計)のサブブロック長は、ペイロードを5個に分割した際のサブブロック長と等しい。 In the transmission packet 12a3 shown in FIG. 12A, the subblock length from the top to the fourth subblock 12a34d is the length when the payload is divided into six, and the subblock length of the fifth subblock 12a34e. Is the length when the payload is divided into five. The last (sixth) sub-block is formed of a payload tail portion 12a34f and a virtual zero portion 12a35. The sub-block length of the last sub-block (the sum of 12a34f and 12a35) is equal to the sub-block length when the payload is divided into five.
以下、図12Aに示す伝送パケット12a4、12a5、12a6の順に、それぞれ、ペイロードを6個に分割した長さのサブブロック数を1ずつ減じ、ペイロードを5個に分割した長さのサブブロック数を1ずつ増し、かつ、末尾に仮想的なゼロ部分12a45、12a55、12a65を用いて6個目のサブブロックを形成している。 Hereinafter, in the order of the transmission packets 12a4, 12a5, and 12a6 shown in FIG. 12A, the number of subblocks each having a length obtained by dividing the payload into six is reduced by 1, and the number of subblocks having a length obtained by dividing the payload into five is obtained. A sixth sub-block is formed by incrementing by 1 and using a virtual zero portion 12a45, 12a55, 12a65 at the end.
一方、伝送パケット12a7では、ペイロードは、ペイロードを5個に分割した際の長さのサブブロックのみから構成され、6個目のサブブロックは消滅する。 On the other hand, in the transmission packet 12a7, the payload is composed only of sub-blocks having a length when the payload is divided into five, and the sixth sub-block disappears.
なお、伝送パケット12a7に多重される誤り訂正符号12a73は、6個のサブブロック12a14f、12a24e、12a34d、12a44c、12a54b、12a64aから算出された誤り訂正符号であり、誤り訂正符号12a73の長さはペイロードを6個に分割した際の長さとなる。また、伝送パケット12a8に多重される誤り訂正符号12a83は、伝送パケット12a2で分割されたペイロードの末尾12a24fと仮想的なゼロ部分12a25とから形成されるサブブロックと、5個のサブブロック12a34e、12a44d、12a54c、12a64b、12a74aとから算出された誤り訂正符号であり、その長さはペイロードを5個に分割した際の長さとなる。 The error correction code 12a73 multiplexed in the transmission packet 12a7 is an error correction code calculated from the six sub-blocks 12a14f, 12a24e, 12a34d, 12a44c, 12a54b, 12a64a, and the length of the error correction code 12a73 is payload. Is the length when the is divided into six. The error correction code 12a83 multiplexed in the transmission packet 12a8 includes a sub-block formed from the tail 12a24f of the payload divided by the transmission packet 12a2 and the virtual zero portion 12a25, and five sub-blocks 12a34e and 12a44d. , 12a54c, 12a64b, and 12a74a, the length of which is the length when the payload is divided into five.
この手順により、図12Aに示すように、伝送パケット12a2〜12a6の順に、末尾のサブブロックに占める仮想的なゼロ部分の割合が増えていき、伝送パケット12a7以降はサブブロック数が5個となる。このため、図12Aにおいて、伝送パケット12a8の末尾のサブブロックが誤り訂正符号算出の演算に用いられる時には、誤り訂正符号の算出に用いられるサブブロック数は5個となる。 By this procedure, as shown in FIG. 12A, the proportion of the virtual zero portion in the last sub-block increases in the order of the transmission packets 12a2 to 12a6, and the number of sub-blocks becomes five after the transmission packet 12a7. . For this reason, in FIG. 12A, when the last sub-block of the transmission packet 12a8 is used for the calculation of the error correction code, the number of sub-blocks used for the calculation of the error correction code is five.
ここで、送信側伝送装置が受信側伝送装置に対して、誤り訂正符号として縦(サブブロック間)の排他的論理和(縦パリティ方式)を用いる場合について説明する。この場合、サブブロック内の隣り合う演算単位(ビット、バイト、等)間に誤り訂正符号生成演算上の相互関係はなく、サブブロックの境界をどこに設けようと生成される誤り訂正符号自体は同一のものとなる。それゆえ、ペイロード内のサブブロック間の境界は、次のパケットに多重する先頭のサブブロックと2番目以降のサブブロック間の境界以外は意味を持たない。このため、任意のタイミングでサブブロックの長さを容易に変更することが可能となっている。例えば、図12Aにおいて、伝送路の状態に基づいて誤り訂正能力の変更を判断したのが伝送パケット12a7を生成したタイミングであっても、送信側では伝送パケット12a8を生成することが可能となる。すなわち、上記制御の判断の後、従来技術のように、次の誤り訂正符号ブロックを待つことなく即座に誤り訂正能力の変更が可能となる。 Here, a case will be described in which the transmission apparatus on the transmission side uses a vertical (intersubblock) exclusive OR (vertical parity method) as an error correction code for the reception side transmission apparatus. In this case, there is no correlation in error correction code generation calculation between adjacent calculation units (bits, bytes, etc.) in the sub-block, and the error correction code itself generated wherever the sub-block boundary is provided is the same. Will be. Therefore, the boundary between subblocks in the payload has no meaning other than the boundary between the first subblock multiplexed in the next packet and the second and subsequent subblocks. For this reason, it is possible to easily change the length of the sub-block at an arbitrary timing. For example, in FIG. 12A, even when it is the timing when the transmission packet 12a7 is generated that determines the error correction capability change based on the state of the transmission path, the transmission side can generate the transmission packet 12a8. That is, after the determination of the control, the error correction capability can be changed immediately without waiting for the next error correction code block as in the prior art.
図12Bでは、図11Bの一例と同様に、ネットワークの伝送路品質の向上を検出した等の要因によって伝送効率を向上させるべく、ユーザデータ5個に対して誤り訂正符号1個の割合で誤り訂正符号を生成し多重していた状態から、ユーザデータ6個に対して誤り訂正符号1個の割合で誤り訂正符号を生成し多重する状態へと遷移する場合の動作を示す。 In FIG. 12B, as in the example of FIG. 11B, error correction is performed at a rate of one error correction code for five pieces of user data in order to improve transmission efficiency due to factors such as detecting an improvement in network transmission path quality. An operation in a case where a state where a code is generated and multiplexed is shifted to a state where an error correction code is generated and multiplexed at a ratio of one error correction code to six user data is shown.
図12Bでは、伝送パケット12b1〜12b8が送信側から順に送出されている。また、例えば、伝送パケット12b1は、伝送ヘッダ12b11、誤り訂正符号制御ヘッダ12b12、誤り訂正符号12b13、ペイロード12b14から構成され、ペイロード12b14は5個の等長サブブロックに分割されている。 In FIG. 12B, transmission packets 12b1 to 12b8 are sequentially sent from the transmission side. Further, for example, the transmission packet 12b1 includes a transmission header 12b11, an error correction code control header 12b12, an error correction code 12b13, and a payload 12b14, and the payload 12b14 is divided into five equal-length subblocks.
伝送パケット12b2〜12b8についても、伝送パケット12b1と同様の情報要素によって構成されている。ただし、伝送パケット間では、ペイロードを分割して生成されたサブブロックの構成に各々違いがある。 The transmission packets 12b2 to 12b8 are also configured by the same information elements as the transmission packet 12b1. However, there are differences in the configuration of sub-blocks generated by dividing the payload between transmission packets.
例えば、図12Bに示す伝送パケット12b2において、先頭から4番目のサブブロック12b24dまでのサブブロック長は、ペイロードを5個に分割した際の長さであり、5番目のサブブロック12b24eのサブブロック長は、ペイロードを6個に分割した際の長さである。また、末尾(6番目)のサブブロックは、分割されたペイロード末尾の部分12b24fと仮想的なゼロ部分12b25とで形成される。この末尾のサブブロックのサブブロック長は、ペイロードを6個に分割した際の長さに等しいものとなる。 For example, in the transmission packet 12b2 shown in FIG. 12B, the subblock length from the top to the fourth subblock 12b24d is the length when the payload is divided into five, and the subblock length of the fifth subblock 12b24e Is the length when the payload is divided into six. Further, the tail (sixth) sub-block is formed by a divided payload tail portion 12b24f and a virtual zero portion 12b25. The sub-block length of the last sub-block is equal to the length when the payload is divided into six.
また、図12Bに示す伝送パケット12b3において、先頭から3個目のサブブロック12b34cまでのサブブロック長は、ペイロードを5個に分割した際の長さであり、4番目のサブブロック12b34dと5番目のサブブロック12b34eのサブブロック長は、ペイロードを6個に分割した際の長さである。また、末尾(6番目)のサブブロックは、ペイロード末尾の部分12b34fと仮想的なゼロ部分12b35とで形成される。この末尾のサブブロックのサブブロック長は、ペイロードを6個に分割した際の長さとなる。 In the transmission packet 12b3 shown in FIG. 12B, the subblock length from the top to the third subblock 12b34c is the length when the payload is divided into five, and the fourth subblock 12b34d and the fifth subblock The sub-block length of the sub-block 12b34e is the length when the payload is divided into six. The last (sixth) sub-block is formed by a payload tail part 12b34f and a virtual zero part 12b35. The sub-block length of the last sub-block is the length when the payload is divided into six.
以下、図12Bに示す伝送パケット12b4、12b5の順に、それぞれ、ペイロードを5個に分割した長さのサブブロック数を1ずつ減じ、ペイロードを6個に分割した長さのサブブロック数を1ずつ増し、かつ、末尾に仮想的なゼロ部分12b45、12b55を用いて6個目のサブブロックを形成している。 Hereinafter, in the order of the transmission packets 12b4 and 12b5 shown in FIG. 12B, the number of sub-blocks each having a length obtained by dividing the payload into 5 is reduced by 1, and the number of sub-blocks having a length obtained by dividing the payload into 6 is respectively incremented by 1. The sixth sub-block is formed using a virtual zero portion 12b45, 12b55 at the end.
一方、伝送パケット12b6では、ペイロードは、ペイロードを6個に分割した際の長さのサブブロックのみから構成され、仮想的なゼロ部分は消滅する。 On the other hand, in the transmission packet 12b6, the payload is composed only of sub-blocks having a length when the payload is divided into six, and the virtual zero portion disappears.
なお、伝送パケット12b7に多重される誤り訂正符号12b73は、5個のサブブロック12b24e、12b34d、12b44c、12b54b、12b64aから算出された誤り訂正符号であり、誤り訂正符号12b73の長さはペイロードを6個に分割した際の長さとなる。また、伝送パケット12b8に多重される誤り訂正符号12b83は、伝送パケット12b2で分割されたペイロードの末尾12b24fと仮想的なゼロ部分12b25とから形成されるサブブロックと、5個のサブブロック12b34e、12b44d、12b54c、12b64b、12b74aとから算出された誤り訂正符号であり、誤り訂正符号12b83の長さはペイロードを6個に分割した際の長さとなる。 The error correction code 12b73 multiplexed in the transmission packet 12b7 is an error correction code calculated from the five sub-blocks 12b24e, 12b34d, 12b44c, 12b54b, and 12b64a. The length of the error correction code 12b73 is 6 payloads. It becomes the length when divided into pieces. The error correction code 12b83 multiplexed in the transmission packet 12b8 includes a sub-block formed from the tail 12b24f of the payload divided by the transmission packet 12b2 and a virtual zero portion 12b25, and five sub-blocks 12b34e and 12b44d. 12b54c, 12b64b, and 12b74a, and the length of the error correction code 12b83 is the length when the payload is divided into six.
この手順により、図12Bに示すように、伝送パケット12b2〜12b5の順に、末尾のサブブロックに占める仮想的なゼロ部分の割合が減っていき、伝送パケット12b6以降はペイロードがサブブロック数6個ちょうどに分割される。このため、図12Bにおいて、伝送パケット12b6の末尾のサブブロック12b64fが誤り訂正符号算出の演算に用いられる時には誤り訂正符号の算出に用いられるサブブロック数6個への変更制御が完了する。 By this procedure, as shown in FIG. 12B, the proportion of the virtual zero portion in the last sub-block decreases in the order of the transmission packets 12b2 to 12b5, and the transmission packet 12b6 and subsequent payloads have exactly six sub-blocks. It is divided into. For this reason, in FIG. 12B, when the last sub-block 12b64f of the transmission packet 12b6 is used for the calculation of the error correction code, the change control to the number of sub-blocks used for the calculation of the error correction code is completed.
ここで、送信側伝送装置が受信側伝送装置に対して、誤り訂正符号として縦(サブブロック間)の排他的論理和(縦パリティ方式)を用いる場合について説明する。この場合、サブブロック内の隣り合う演算単位(ビット、バイト、等)間に誤り訂正符号生成演算上の相互関係はなく、サブブロックの境界をどこに設けようと生成される誤り訂正符号自体は同一のものとなる。それゆえ、ペイロード内のサブブロック間の境界は、次のパケットに多重する先頭のサブブロックと2番目以降のサブブロック間の境界以外は意味を持たない。このため、任意のタイミングでサブブロックの長さを容易に変更することが可能となっている。例えば、図12Bにおいて、伝送路の状態に基づいて誤り訂正能力の変更を判断したのが伝送パケット12b6を生成したタイミングであっても、送信側では、伝送パケット12b7を生成することが可能となる。すなわち、上記制御の判断の後、従来技術のように。次の誤り訂正符号ブロックを待つことなく即座に誤り訂正能力の変更が可能となる。 Here, a case will be described in which the transmission apparatus on the transmission side uses a vertical (intersubblock) exclusive OR (vertical parity method) as an error correction code for the reception side transmission apparatus. In this case, there is no correlation in error correction code generation calculation between adjacent calculation units (bits, bytes, etc.) in the sub-block, and the error correction code itself generated wherever the sub-block boundary is provided is the same. Will be. Therefore, the boundary between subblocks in the payload has no meaning other than the boundary between the first subblock multiplexed in the next packet and the second and subsequent subblocks. For this reason, it is possible to easily change the length of the sub-block at an arbitrary timing. For example, in FIG. 12B, even when it is the timing when the transmission packet 12b6 is generated that determines the change in the error correction capability based on the state of the transmission path, the transmission packet 12b7 can be generated on the transmission side. . That is, after the determination of the control, as in the prior art. The error correction capability can be changed immediately without waiting for the next error correction code block.
また、図12A及び図12Bにおいて、誤り訂正符号(FEC)ヘッダ12a12、12b12には、誤り訂正符号12a13、誤り訂正符号12b13の長さ、及び、ペイロード先頭のサブブロックの長さを誤り訂正符号制御情報として格納しておけばよい。これにより、たとえ切替前後のパケットの欠落が発生しても、受信側では、正しく誤り訂正符号の認識を行うことが可能となる。 In FIG. 12A and FIG. 12B, error correction code (FEC) headers 12a12 and 12b12 have error correction code control for the length of error correction code 12a13 and error correction code 12b13, and the length of the subblock at the beginning of the payload. Store it as information. As a result, even if packet loss occurs before and after switching, the receiving side can correctly recognize the error correction code.
次に、図13は、インタリーブ間隔を1つ削減した際の、本実施の形態の動作を示す。インタリーブによって伝送パケット列がインタリーブ間隔と等しい数のグループに分割され、誤り訂正符号生成のために形成されるブロックは、各グループ内の伝送パケットのサブブロックで構成される。インタリーブ間隔の増減は、この伝送パケットのグループ数を増減することに他ならない。図13においては、伝送パケットのグループを1個減ずる際の動作の詳細を表している。 Next, FIG. 13 shows the operation of the present embodiment when the interleaving interval is reduced by one. A block formed for error correction code generation is divided into a number of groups equal to the interleaving interval by interleaving, and a block formed for error correction code generation is composed of sub-blocks of transmission packets in each group. Increasing and decreasing the interleaving interval is nothing but increasing or decreasing the number of groups of transmission packets. FIG. 13 shows details of the operation when one transmission packet group is reduced.
図13では、伝送パケット1301〜1313が送信側から順に送出される。また、例えば、伝送パケット1301は、伝送ヘッダ13011、誤り訂正符号制御ヘッダ13012、誤り訂正符号13013、ペイロード13014から構成され、ペイロード13014は5個の等長サブブロックに分割されている。また、伝送パケット1302〜1313についても同様の情報要素によって構成されている。
In FIG. 13,
また、図13において、伝送パケット1301、1303、1305、1307は第1のインタリーブのグループ(グループ#n)に属し、伝送パケット1302、1304、1306は第2のインタリーブのグループ(グループ#m)に属し、伝送パケット1308〜1313は第1のインタリーブのグループと第2のインタリーブのグループとが統合されたインタリーブグループに属する。
In FIG. 13,
ここで、図13に示す7番目の伝送パケット1307を送出する時点で、インタリーブ間隔の低減(グループ数の削減)を判断したとし、第2のインタリーブのグループを解消する必要が生じたとする(つまり、グループ#mを廃止し、グループ#nを残すケース)。
Here, when the
この場合、まず、8番目の伝送パケット1308には、第1のインタリーブのグループのサブブロック13014d、13034c、13054b、13074aから生成された誤り訂正符号13083aが多重される。
In this case, first, an error correction code 13083a generated from the sub-blocks 13014d, 13034c, 13054b, and 13074a of the first interleave group is multiplexed in the
解消される第2のインタリーブのグループに属する6番目の伝送パケット1306よりも後の伝送パケットは生成されない。ただし、第2のインタリーブのグループのサブブロック13024c、13044b、13064aから生成された誤り訂正符号は、統合されたインタリーブのグループに属する8番目の伝送パケット1308に誤り訂正符号13083bとして多重される。
A transmission packet after the
また、8番目の伝送パケット1308において、誤り訂正符号を多重するにあたり、インタリーブのグループを識別する情報とそれぞれの誤り訂正符号の長さを示す情報を、誤り訂正符号制御情報13082a(グループ#nに関する情報)、13082b(グループ#mに関する情報)として多重する。これにより、個々の誤り訂正符号13083a、13083bを受信側で正しく分離することが可能となる。
Further, in multiplexing the error correction code in the
図13において、伝送パケットのペイロードは5個のサブブロックに分割されているので、第2のインタリーブのグループの誤り訂正符号を搭載(多重)すべき伝送パケットも同様に5個必要となる。よって、伝送パケット1308と同様、伝送パケット1309、1310、1311、1312に対して、第1のインタリーブのグループの誤り訂正符号13093a、13103a、13113a、13112a及び誤り訂正符号制御情報13092a、13102a、13112a、13122aと、第2のインタリーブのグループの誤り訂正符号13093b、13103b、13113b、13112b及び誤り訂正符号制御情報13092b、13102b、13112b、13122bと、をそれぞれ多重する。これにより、第2のインタリーブのグループに関する誤り訂正符号を残らず受信側に送達できる。
In FIG. 13, since the payload of the transmission packet is divided into five sub-blocks, five transmission packets to be mounted (multiplexed) with the error correction code of the second interleave group are also required. Therefore, as with the
引き続く伝送パケット1313では、第2のインタリーブのグループに関する誤り訂正符号の伝送は完了しているため、誤り訂正符号13133及び誤り訂正符号制御情報13132の1組のみを多重することとなる。
In the
以上のように、本実施の形態によれば、送信側にサブブロック分割長制御手段を設けることにより、通信途中での誤り訂正能力の増減を、容易に動的に制御することができる。つまり、通信路品質に応じてサブブロックの分割長を変更することで、送受信間での同期機能等の特別な機能を送受信側伝送装置の双方に搭載しなくても、誤り訂正能力と誤り訂正符号による伝送量のオーバヘッドとの関係を動的に制御することが可能となる。 As described above, according to the present embodiment, the increase / decrease in error correction capability during communication can be easily and dynamically controlled by providing the subblock division length control means on the transmission side. In other words, by changing the sub-block division length according to the channel quality, error correction capability and error correction can be achieved without installing special functions such as a synchronization function between transmission and reception on both the transmission and reception side transmission devices. It becomes possible to dynamically control the relationship with the overhead of the transmission amount by the code.
また、本実施の形態によれば、実施の形態1と同様、誤り訂正符号の負荷に伴うパケット損失率の増加を抑制し、伝送遅延時間及び伝送に伴うジッタ、損失補償処理によるジッタの増大を防止し、高品質な伝送を行うことができる。 Further, according to the present embodiment, as in the first embodiment, an increase in the packet loss rate due to the load of the error correction code is suppressed, and the transmission delay time, the jitter accompanying the transmission, and the jitter due to the loss compensation process are increased. And high-quality transmission can be performed.
(実施の形態3)
図14の(a)は、業界標準規格として規定されているRTP(Real−time Transport Protocol)のパケットの構造を示している(例えば、RFC3550 RTP(Real-time Transport Protocol)を参照)。図14に示すように、パケットは、RTPヘッダ141とペイロード143とから構成され、ペイロード143に映像及び音声等のユーザデータが格納される。
(Embodiment 3)
FIG. 14A shows the structure of an RTP (Real-time Transport Protocol) packet defined as an industry standard (see, for example, RFC3550 RTP (Real-time Transport Protocol)). As shown in FIG. 14, the packet is composed of an
例えば、RTPヘッダ141の先頭から4bit目のxビット144に“1”がセットされると、基本的な情報の末尾にRTP拡張ヘッダ142が付加される。図14に示すように、RTP拡張ヘッダ142は、拡張ヘッダのタイプを示すフィールドと、拡張ヘッダの長さを示すフィールドと、RTP拡張ヘッダ情報部145とから構成され、RTPを利用するアプリケーションに応じて適切なタイプを与えることにより、任意の情報を多重することが可能となっている。RTP拡張ヘッダに対応していない受信端末、又は、多重された拡張ヘッダのタイプに対応しない受信端末は、RTP拡張ヘッダ情報部145を無視することが規定されている(例えば、RFC3550 RTP(Real-time Transport Protocol)を参照)。
For example, when “1” is set in the 4th bit x
図14の(b)は、本実施の形態に係る、RTP拡張ヘッダ情報部145への情報の多重方法の一例を示す。図14の(b)に示すように、RTP拡張ヘッダ情報部145は、複数の情報を多重可能とするために、誤り訂正符号(FEC)を取り扱う機能部向けの情報であることを示す情報タイプ146aと、情報要素の長さを示す情報要素長146bと、誤り訂正符号機能部としてパケット損失補償情報の種別を示すペイロード識別子146cと、パケット損失補償情報147、148とから構成される。2個のパケット損失補償情報(パケット損失補償情報1、2)が格納されているのは、例えば、実施の形態2の図13の状況(2つのグループの誤り訂正符号を多重化する状況)を鑑みたものであり、通常は1個のみ格納される。
FIG. 14B shows an example of a method for multiplexing information to the RTP extension
図14の(c)は、パケット損失補償情報147、148の内部の構造の一例を示す。図14の(c)に示すように、パケット損失補償情報147は、インタリーブのグループの識別子147aと、誤り訂正符号サブブロックの長さを示すサブブロック長147bと、誤り訂正符号147cとから構成される。パケット損失補償情報148についても同様の構造を持つこととする。
FIG. 14C shows an example of the internal structure of the packet
図15は、映像及び音声等の同時複数端末への配信形態の一例である。図15では、送信側装置151が公衆ネットワーク155に接続され、伝送パケット列158を送出している。受信側装置152、153、154は、公衆ネットワーク155を介して送られてきた伝送パケット列158を受信して、本来の映像及び音声等の再生を行う。
FIG. 15 is an example of a form of distribution of video and audio to a plurality of terminals simultaneously. In FIG. 15, the
また、図15において、送信側装置151、受信側装置152及び受信側装置154は誤り訂正による損失パケット補償に対応した装置とし、受信側装置153は誤り訂正による損失パケット補償に対応しない装置とする。また、受信側装置152及び153は公衆ネットワーク155に直接接続され、受信側装置154は公衆ネットワーク155とは管理体系の異なるローカルなネットワーク156に接続されている。公衆ネットワーク155とローカルなネットワーク156とは、例えば、NAPT装置157(NAPTルータ)を介して接続されている。一般的な企業内ネットワーク、家庭内ネットワークのほとんどは、図15におけるローカルなネットワーク156と同様の管理・運用形態を取っている。
In FIG. 15, the
図15において、公衆ネットワーク155内で、宛先によって経路が分岐するポイント毎に、パケット列158を複製して、パケット列158a、158b、158cを生成する。このように、公衆ネットワーク155(IPマルチキャスト網)のマルチキャスト配信機能を利用し、送信側装置151及び公衆ネットワーク155のリソースの節約を図っている。
In FIG. 15, the
図15において、誤り訂正による損失パケット補償機能として、特許文献1及び非特許文献1に示される従来技術を用いた場合、データパケットと誤り訂正符号パケットとは個別のパケット列を構成するので、公衆ネットワーク内のリソースを消費しやすくなる。更に、データパケット及び誤り訂正符号パケットでそれぞれ構成される2つのパケット列の関係性を標準規格等では担保していない。このため、パケット列158cがNAPT装置157を通して、パケット識別情報(UDPのポート番号等)を変換されたパケット列159になってしまうと、受信側装置154では、上記関係性を理解不能となってしまい、公衆ネットワーク155内で偶然失われたパケットを誤り訂正符号によって再生成することが困難になってしまう。そのため、この場合には特殊なNAPT装置(例えば、特開2009−188688号公報参照)が必要となる。
In FIG. 15, when the conventional technique shown in
また、誤り訂正による損失パケット補償機能として、従来技術(例えば、特開2005−210219号公報)を用いた場合、誤り訂正符号は、パケットのペイロードにユーザ情報とともに多重される。このため、図15に示すパケット列158は1種類となって、NAPT装置157を介した受信側装置154への配信は問題なく行われる。しかし、パケットの配信先が、誤り訂正符号による損失パケット補償に対応しない受信端末(図15では受信側装置153)である場合には、受信側端末は、そもそも受信した伝送パケットからユーザ情報を取り出すことが不可能となるため、非対応の受信端末(受信側装置153)の存在は許容されなくなる。
Further, when a conventional technique (for example, Japanese Patent Laid-Open No. 2005-210219) is used as a lost packet compensation function by error correction, the error correction code is multiplexed together with user information in the packet payload. For this reason, the
これに対して、本実施の形態では、図14に示すように、誤り訂正符号パケット(147c)はRTPの拡張ヘッダに多重化される。これにより、図15において送信側装置151、受信側装置152、154(誤り訂正符号による損失パケット補償に対応する装置)を用いることで、伝送パケット列158は1種類となり、NAPT装置157を通して届けられる受信側装置154では、誤り訂正符号を正しく分離可能となる。また、RTP拡張ヘッダに非対応、若しくはRTP拡張ヘッダの誤り訂正符号多重機能に非対応の受信側装置153では、誤り訂正符号によるパケット損失補償情報を無視するという動作を行う。このため、RTPパケットのペイロードのユーザ情報は正しく認識され、動画及び音声等を再生することが可能となる。
On the other hand, in the present embodiment, as shown in FIG. 14, the error correction code packet (147c) is multiplexed into the RTP extension header. Thus, in FIG. 15, by using the
以上のように、本実施の形態によれば、RTP拡張ヘッダ内に誤り訂正符号による損失パケット補償のための情報(ここでは、誤り訂正符号)を多重して伝送する。これにより、マルチキャスト配信機能を利用してネットワーク内のリソースを節約しつつ、損失パケット補償機能に非対応の受信端末の混在と、本発明による受信端末をNAPT装置を介したローカルなネットワークに収容することができる。 As described above, according to the present embodiment, information (in this case, an error correction code) for compensating for a lost packet by an error correction code is multiplexed and transmitted in an RTP extension header. As a result, while using a multicast distribution function to save resources in the network, a mixture of receiving terminals that do not support the lost packet compensation function and a receiving terminal according to the present invention are accommodated in a local network via a NAPT device. be able to.
以上、本発明の各実施の形態について説明した。 The embodiments of the present invention have been described above.
本発明は、リアルタイム性を要求するアプリケーションに対しても高品質な伝送ができるという効果を有し、データ通信ネットワークを介して動画像及び音声等をリアルタイムに伝送するデータ通信システム等として有用である。 INDUSTRIAL APPLICABILITY The present invention has an effect that high-quality transmission can be performed even for an application that requires real-time performance, and is useful as a data communication system that transmits moving images and audio in real time via a data communication network. .
10,60 映像送信側伝送装置
101,601 映像符号化部
102,602 パケット生成部
103 冗長符号多重部
104,604 パケット送信制御部
105 サブブロック長制御部
106,118 ユーザ情報分割部
107,119 サブブロック割当部
108,605 誤り訂正符号生成部
11,61 映像受信側伝送装置
111,611 パケット受信制御部
112,613 受信パケット蓄積部
113,614 パケット整列部
114,615 映像符号復号部
115,617 パケット欠落検出部
116 冗長符号分離部
117 サブブロック長検出部
120,618 誤り訂正損失パケット再生成部
603 パケット多重部
606 誤り訂正符号パケット生成部
612 パケット多重分離部
616 誤り訂正符号パケット蓄積部
10, 60 Video transmission
Claims (6)
前記送信装置は、
送信対象となるデータを分割して複数のパケットを生成するパケット生成手段と、
前記パケット生成手段によって生成された前記パケットを所定の長さのサブブロックに分割する第1のサブブロック分割手段と、
前記第1のサブブロック分割手段によって分割されたサブブロックを、誤り訂正の演算単位となるブロックに割り当てる第1のサブブロック割当手段と、
前記第1のサブブロック割当手段によって前記ブロックに割り当てられたサブブロックに対して誤り訂正を行って、誤り訂正符号を生成する誤り訂正符号生成手段と、
前記誤り訂正符号生成手段によって生成された前記誤り訂正符号を前記パケットに多重化する誤り訂正符号多重化手段と、
前記誤り訂正符号多重化手段によって前記誤り訂正符号が多重化されたパケットを前記受信装置に対して送信するパケット送信手段と、
を備え、
前記受信装置は、
前記送信装置から送信されたパケットを受信するパケット受信手段と、
前記パケット受信手段によって受信された前記パケットを一時的に蓄積するパケット蓄積手段と、
前記パケット蓄積手段によって蓄積されたパケットに多重化されている誤り訂正符号を、前記パケットから分離する誤り訂正符号分離手段と、
前記パケット蓄積手段によって蓄積されたパケットを所定の長さのサブブロックに分割する第2のサブブロック分割手段と、
前記第2のサブブロック分割手段によって分割されたサブブロックを、誤り訂正の演算単位となるブロックに割り当てる第2のサブブロック割当手段と、
前記受信したパケットに基づいて、前記通信路上における、前記送信装置から送信されたパケットの欠落を検出するパケット欠落検出手段と、
前記パケット欠落検出手段でパケットの欠落が検出された場合、前記欠落したパケットを形成するサブブロック毎に、それぞれのサブブロックの復元に必要となる特定のブロックであって、当該サブブロックが割り当てられた前記特定のブロックに属する誤り訂正符号と、前記第2のサブブロック割当手段によって前記特定のブロックに割り当てられたサブブロックとを用いて、前記欠落したパケットを復元する欠落パケット復元手段と、
を備える、
データ通信システム。 A data communication system that performs error correction of data transmitted from a transmission device to a reception device via a communication path using a block code,
The transmitter is
Packet generation means for generating a plurality of packets by dividing data to be transmitted;
First sub-block dividing means for dividing the packet generated by the packet generating means into sub-blocks of a predetermined length;
First sub-block allocating means for allocating the sub-block divided by the first sub-block dividing means to a block which is an error correction calculation unit;
Error correction code generation means for generating an error correction code by performing error correction on the sub-block assigned to the block by the first sub-block assignment means;
Error correction code multiplexing means for multiplexing the error correction code generated by the error correction code generation means into the packet;
Packet transmitting means for transmitting the packet in which the error correcting code is multiplexed by the error correcting code multiplexing means to the receiving device;
With
The receiving device is:
A packet receiving means for receiving a packet transmitted from the transmitting device;
Packet storing means for temporarily storing the packet received by the packet receiving means;
Error correction code separating means for separating the error correction code multiplexed in the packet stored by the packet storage means from the packet;
Second sub-block dividing means for dividing the packet stored by the packet storage means into sub-blocks of a predetermined length;
Second sub-block allocating means for allocating the sub-blocks divided by the second sub-block dividing means to blocks serving as error correction calculation units;
Based on the received packet, packet loss detection means for detecting a loss of a packet transmitted from the transmission device on the communication path;
When packet loss is detected by the packet loss detection means, each subblock forming the lost packet is a specific block required for restoration of each subblock, and the subblock is assigned to the subblock. Using the error correction code belonging to the specific block and the sub-block allocated to the specific block by the second sub-block allocation unit, the lost packet recovery unit for recovering the lost packet;
Comprising
Data communication system.
前記通信路の通信品質、送信データ量、単位時間あたりの送信データ量であるトラフィック量のうち、少なくとも1つに基づいて、サブブロックの分割長を決定するサブブロック分割長制御手段をさらに備え、
前記第1のサブブロック分割手段は、前記サブブロック分割長制御手段が決定したサブブロックの分割長でパケットを分割し、
前記第1のサブブロック割当手段は、前記サブブロック分割長制御手段が決定したサブブロックの分割長で、各サブブロックを誤り訂正の演算単位となるブロックに割り当て、
前記誤り訂正符号多重化手段は、前記サブブロック分割長制御手段が決定したサブブロックの分割長に関する情報を、誤り訂正符号とともにパケットに多重化し、
前記受信装置において、
前記誤り訂正符号分離手段は、受信したパケットに多重化されている誤り訂正符号を、前記パケットから分離するとともに、前記情報を前記パケットから分離し、
前記誤り訂正符号分離手段が分離した、前記情報に基づいて、前記サブブロックの分割長を検出するサブブロック長検出手段をさらに備え、
前記第2のサブブロック分割手段は、前記サブブロック長検出手段で検出されたサブブロックの分割長で、前記パケット蓄積手段に蓄積されたパケットを分割し、
前記第2のサブブロック割当手段は、前記サブブロックの分割長で、各サブブロックを誤り訂正の演算単位となるブロックに割り当てる、
請求項1記載のデータ通信システム。 In the transmitter,
Sub-block division length control means for determining a division length of the sub-block based on at least one of the communication quality of the communication path, the transmission data amount, and the traffic amount that is the transmission data amount per unit time,
The first sub-block dividing unit divides the packet by the sub-block division length determined by the sub-block division length control unit;
The first sub-block allocating unit allocates each sub-block to a block serving as an error correction calculation unit with the sub-block division length determined by the sub-block division length control unit,
The error correction code multiplexing means multiplexes information on the subblock division length determined by the subblock division length control means together with an error correction code into a packet,
In the receiving device,
The error correction code separation means separates the error correction code multiplexed in the received packet from the packet and separates the information from the packet,
Sub-block length detection means for detecting a division length of the sub-block based on the information separated by the error correction code separation means,
The second sub-block dividing unit divides the packet accumulated in the packet accumulating unit by the sub-block division length detected by the sub-block length detecting unit,
The second sub-block allocating means allocates each sub-block to a block that is an arithmetic unit for error correction with the division length of the sub-block.
The data communication system according to claim 1.
前記誤り訂正符号生成手段は、
前記パケット生成手段によって生成されるパケットに対応して、誤り訂正符号の逐次的な演算過程の中間値を順次格納するメモリと、
前記メモリに対する読み出しポインタと、
前記読み出しポインタからサブブロックの分割長に相当するオフセットを有する書き込みポインタと、を備え、
前記第1のサブブロック割当手段は、
前記読み出しポインタと前記書き込みポインタとを、前記パケット毎に順次移動させることにより、分割したサブブロック毎に誤り訂正の演算単位となるブロックへの割り当てを実行し、
前記誤り訂正符号生成手段は、前記書き込みポインタが示すサブブロックと、前記パケットに後続するパケットに対応するサブブロックとから、誤り訂正の演算過程の中間値を演算して、前記中間値を前記メモリの前記書き込みポインタの位置に書き込み、かつ、前記第1のサブブロック割当手段によって割り当てられた前記ブロックに属する全てのサブブロックに対する演算が完了すると、前記メモリから前記読み込みポインタが示すサブブロックを誤り訂正符号として読み出して出力する、
請求項1ないし2記載のデータ通信システム。 In the transmitter,
The error correction code generation means includes
Corresponding to the packet generated by the packet generating means, a memory for sequentially storing intermediate values of sequential calculation processes of error correction codes;
A read pointer to the memory;
A write pointer having an offset corresponding to the division length of the sub-block from the read pointer,
The first sub-block allocating means includes
By sequentially moving the read pointer and the write pointer for each packet, allocation to a block that is an error correction calculation unit for each divided sub-block is performed,
The error correction code generation means calculates an intermediate value in an error correction calculation process from a sub-block indicated by the write pointer and a sub-block corresponding to a packet subsequent to the packet, and the intermediate value is stored in the memory. When the calculation for all the sub-blocks belonging to the block assigned by the first sub-block allocating means is completed, the sub-block indicated by the read pointer is corrected from the memory. Read and output as a code,
The data communication system according to claim 1 or 2.
前記誤り訂正符号多重化手段は、RTPの拡張ヘッダに前記誤り訂正符号を多重化する、
請求項1ないし3記載のデータ通信システム。 The transmitter transmits video or audio streaming data to the receiver using RTP (Real-time Transport Protocol),
The error correction code multiplexing means multiplexes the error correction code in an RTP extension header;
4. A data communication system according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010260130A JP2012114569A (en) | 2010-11-22 | 2010-11-22 | Data communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010260130A JP2012114569A (en) | 2010-11-22 | 2010-11-22 | Data communication system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012114569A true JP2012114569A (en) | 2012-06-14 |
Family
ID=46498326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010260130A Pending JP2012114569A (en) | 2010-11-22 | 2010-11-22 | Data communication system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012114569A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114584847A (en) * | 2022-02-22 | 2022-06-03 | 广州广哈通信股份有限公司 | Data transmission method |
-
2010
- 2010-11-22 JP JP2010260130A patent/JP2012114569A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114584847A (en) * | 2022-02-22 | 2022-06-03 | 广州广哈通信股份有限公司 | Data transmission method |
CN114584847B (en) * | 2022-02-22 | 2023-11-28 | 广州广哈通信股份有限公司 | Data transmission method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8667374B2 (en) | Video transmission systems and methods over carrier ethernet | |
US9438273B2 (en) | Method for generating forward error correction packet in multimedia system and method and apparatus for transmitting and receiving forward error correction packet | |
US10541770B2 (en) | Efficient recovery of lost packets using double parity forward error correction | |
US8223807B2 (en) | Synchronizing data transmission over wireless networks | |
EP2823616B1 (en) | Method, device and system for packet transmission over ip networks | |
US9137201B2 (en) | Apparatus and methods of routing with control vectors in a synchronized adaptive infrastructure (SAIN) network | |
US7676720B2 (en) | Method and system for program based redundancy | |
JP5098820B2 (en) | Frame relay apparatus and frame relay method | |
KR101434931B1 (en) | Method, apparatus and system for transmitting sdh/sonet section overhead bytes | |
US8594075B2 (en) | Method and system for wireless VoIP communications | |
KR101694974B1 (en) | Method and apparatus of frame construction for docsis data transmission | |
JP2012114569A (en) | Data communication system | |
EP2395727A1 (en) | Data transport container, source device, destination device and method for transferring different types of data | |
JP2004289431A (en) | Transmission system, transmitter, and transmission method for real time information, and program | |
Hasegawa et al. | IP-based HDTV broadcasting system architecture with non-stop service availability | |
Koh | Next-generation techniques to protect and secure realtime IP media transport | |
Mammi et al. | Evaluation of AL-FEC performance for IP television services QoS | |
JP2018121214A (en) | Broadcast program receiver and program | |
JP4437974B2 (en) | TS packet interleaver, TS packet converter, TS-IP converter and IP-TS converter | |
JP5411065B2 (en) | Reference clock restoration method, packet multiplexer, packet separator, and transmission system | |
JP5692680B2 (en) | Data transmission apparatus, program, and data transmission method | |
Parikh et al. | Methods for Robust Audio Streaming over Impaired IP Networks | |
JP2012169845A (en) | Wireless device | |
Hui et al. | Design and implementation of a transparent forward error correction coding Daemon for unreliable transports | |
Ding et al. | A Scheme for System Multiplexing and Program Component Identification |