JP2012114569A - Data communication system - Google Patents

Data communication system Download PDF

Info

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
Application number
JP2010260130A
Other languages
Japanese (ja)
Inventor
Takeshi Miyakoshi
健 宮越
Masaki Sato
正樹 佐藤
Masaaki Endo
雅明 遠藤
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.)
Panasonic Corp
Original Assignee
Panasonic 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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2010260130A priority Critical patent/JP2012114569A/en
Publication of JP2012114569A publication Critical patent/JP2012114569A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a data communication system which uses an error correction code as a countermeasure against packet loss as well as suppresses increase in packet loss and jitters newly caused consequently, without being accompanied by increase in the number of transmission packets which burdens a network.SOLUTION: In a data communication system, a video transmission side transmission device 10 divides a plurality of packets generated by dividing transmission object data into subblocks having a predetermined length, and generates error correction codes by performing error correction to the subblocks allocated to blocks that are calculation units of the error correction. A video reception side transmission device 11 allocates subblocks having the predetermined length generated by dividing received packets to blocks that are the calculation units of the error correction, detects missing packets on a communication path based on the received packets, and restores the missing packets by using the error correction code belonging to a specific block to which the subblock is allocated and the subblock allocated to the specific block, for each of the subblocks forming the missing packets.

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 side transmission device 60, a video reception side transmission device 61, and a network as shown in FIG. It is configured. The video transmission side transmission device 60 includes a video encoding unit 601, a packet generation unit 602, a packet multiplexing unit 603, a packet transmission control unit 604, an error correction code generation unit 605, and an error correction code packet generation unit. 606 and the like. The video reception side transmission device 61 includes a packet reception control unit 611, a packet demultiplexing unit 612, a received packet storage unit 613, a packet alignment unit 614, a video code decoding unit 615, and an error correction code packet storage unit. 616, a packet loss detection unit 617, and an error correction loss packet regeneration unit 618.

まず、映像送信側伝送装置60において、映像符号化部601は、入力される、撮像素子(カメラ)等で生成された映像を、MPEG等の動画像符号化アルゴリズムに基づいて符号化する。パケット生成部602は、映像符号化部601で生成された符号を伝送パケットの形式に整え、パケット多重部603を介してパケット送信制御部604へ出力する。パケット送信制御部604は、パケットを一時的に蓄積した上で、ネットワークの通信規約に基づいてパケットをネットワークに送出する。   First, in the video transmission side transmission device 60, the video encoding unit 601 encodes an input video generated by an imaging element (camera) or the like based on a moving image encoding algorithm such as MPEG. The packet generation unit 602 arranges the code generated by the video encoding unit 601 into a transmission packet format, and outputs it to the packet transmission control unit 604 via the packet multiplexing unit 603. The packet transmission control unit 604 temporarily accumulates the packets and then sends the packets to the network based on the network communication protocol.

映像受信側伝送装置61において、パケット受信制御部611は、ネットワークを介して映像受信側伝送装置61に送出されたパケットを受け取る。受け取られたパケットは、パケット多重分離部612を介して受信パケット蓄積部613に蓄えられる。パケット整列部614は、ネットワークによるパケット伝送の遅延時間の変動を鑑み、然るべきタイミングを見計らって、受信パケット蓄積部613から、映像符号を格納したパケットを取り出し、映像符号復号部615へ送り出す。映像符号復号部615は、映像送信側伝送装置60で用いた動画像符号化アルゴリズムに基づいて映像の復号を行い、復号データを表示装置等へ送出する。   In the video reception side transmission device 61, the packet reception control unit 611 receives a packet sent to the video reception side transmission device 61 via the network. The received packet is stored in the received packet storage unit 613 via the packet demultiplexing unit 612. The packet aligning unit 614 takes out the packet storing the video code from the received packet accumulating unit 613 and sends it to the video code decoding unit 615 in consideration of the variation in the delay time of packet transmission by the network. The video code decoding unit 615 decodes video based on the moving image encoding algorithm used in the video transmission side transmission device 60 and sends the decoded data to a display device or the like.

ここで、データ通信ネットワークでは、伝送途中でのパケットの欠落が発生する恐れがある。そこで、図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 video transmission apparatus 60 shown in FIG. 1 outputs the code generated by the video encoding unit 601 to the error correction code generation unit 605 as well. Then, the error correction code generation unit 605 generates an error correction code based on an error correction algorithm typified by an exclusive OR (XOR) and a Reed-Solomon code. The error correction code packet generation unit 606 arranges the generated error correction code into a transmission packet format. The packet multiplexing unit 603 packet-multiplexes the generated error correction code packet and the data packet generated by the packet generation unit 602, and transmits the packet to the network via the packet transmission control unit 604.

一方、映像受信側伝送装置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 side transmission device 61, the packet received by the packet reception control unit 611 is identified by the packet demultiplexing unit 612, whereby the data packet is accumulated by the received packet accumulation unit 613, and the error correction code packet is error corrected. The code packet is stored in the code packet storage unit 616. Next, the packet loss detection unit 617 checks the order of the data packets stored in the received packet storage unit 613, and detects a packet that is lost during the transmission of the network in consideration of the dispersion of the transmission delay time in the network. . The packet loss detection unit 617 then notifies the error correction loss packet regeneration unit 618 of the loss. The error correction loss packet regeneration unit 618 that has received the missing notification is necessary to regenerate the missing data packet based on the error correction code algorithm used by the error correction code generation unit 605 of the video transmission side transmission device 60. Are extracted from the received packet storage unit 613, and the error correction code packet is extracted from the error correction code packet storage unit 616. Then, the error correction loss packet regenerator 618 regenerates the missing packet by an operation based on the error correction code algorithm, and sends it to the packet aligner 614. The packet alignment unit 614 receives the received data packet and the regenerated data packet, arranges the order of the data packets necessary for decoding the video code, and sends the data packet to the video code decoding unit 615. (For example, see Patent Document 1 and Non-Patent Document 1).

映像送信側伝送装置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 side transmission device 60 will be described with reference to FIG. The video code generated by the video encoding unit 601 becomes user data 700, which is divided into fixed lengths for packetization and becomes payloads 701a to 705a of each packet. In the packet generation unit 602, transmission headers 701b to 705b are added to the respective payloads, and packets 701 to 705 are generated. The generated packets 701 to 705 are sent to the transmission line of the network via the packet multiplexing unit 603 and the packet transmission control unit 604. Further, the error correction code generation unit 605 generates a parity 711a based on an error correction code algorithm using payloads 701a to 705a (for five payloads in FIG. 2) obtained by dividing a certain amount of user data 700. . Next, the error correction code packet generation unit 606 adds a transmission header 711b similar to the payloads 701a to 705a based on user data to the parity 711a to generate a packet 711. The generated packet 711 is sent to the transmission line of the network via the packet multiplexing unit 603 and the packet transmission control unit 604.

誤り訂正符号のパケット711は、映像受信側伝送装置61のパケット多重分離部612で容易に識別できるように、伝送ヘッダ711b内に識別情報を格納する。一般には、UDP(User Datagram Protocol)プロトコルのポート番号をデータパケットとは異なる値にすることが行われている。   The packet 711 of the error correction code stores identification information in the transmission header 711b so that it can be easily identified by the packet demultiplexing unit 612 of the video receiving side transmission device 61. In general, the port number of the UDP (User Datagram Protocol) protocol is set to a value different from that of the data packet.

以下同様にして、映像送信側伝送装置60では、生成される映像符号をパケット化し、706〜709として伝送路に送出される。   Similarly, in the video transmission side transmission device 60, the generated video code is packetized and transmitted to the transmission line as 706 to 709.

映像受信側伝送装置61では、パケット多重分離部612でユーザデータパケットと誤り訂正符号パケットとを識別・分離する。そして、パケット欠落検出部617では、伝送ヘッダ中に格納されているパケット順序情報等を用いてパケット損失を検出し、誤り訂正損失パケット再生成部618では、誤り訂正符号を用いて、失われた映像符号(パケット)を再生成する。さらに、パケット整列部614では、パケット順序情報等を用いて再生成した映像符号を適切な位置に挿入する。   In the video receiving side transmission device 61, the packet demultiplexing unit 612 identifies and separates the user data packet and the error correction code packet. Then, the packet loss detection unit 617 detects packet loss using the packet order information stored in the transmission header, and the error correction loss packet regeneration unit 618 uses the error correction code to lose the packet loss. Regenerate the video code (packet). Further, the packet sorting unit 614 inserts the video code regenerated using the packet order information or the like at an appropriate position.

特許第3934073号公報Japanese Patent No. 3934073

IETF RFC5109 RTP Payload Format for Generic Forward Error CorrectionIETF RFC5109 RTP Payload Format for Generic Forward Error Correction

しかしながら、従来のデータ通信システムを用いた映像伝送システムでは、映像符号を格納したデータパケットと誤り訂正符号を格納した誤り訂正符号パケットとがそれぞれ個別にネットワーク上を伝送されることにより、伝送されるパケット数が誤り訂正を行わない場合に比べて増加し、後述する課題が生じてしまう。   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 input traffics 811, 812, and 813 are input to the network 801 and output as a plurality of outputs 821, 822, and 823. The network 801 includes a relay device 802 that accommodates inputs, a relay device 804 that accommodates outputs, and a relay line 803 that connects them. The relay device 802 sends the input traffic 811 to 813 to the relay line 803 using time division multiplexing. On the trunk line 803, the packets of the traffics 831 to 833 are transmitted in a mixed form (packet string). The relay device 804 refers to the packet stream transmission control information received from the relay line 803, performs demultiplexing processing on each traffic, and outputs it as output traffic 821 to 823.

図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 input traffic 811 is composed of packets 811a to 811d, the input traffic 812 is composed of packets 812a to 812e, and the input traffic 813 is composed of packets 813a to 813c.

中継回線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 relay line 803, the relay device 802 arranges and sends out each packet in a line by the time division multiplexing technique. FIG. 3B shows an example of multiplexing based on the same priority and arrival order, which is the most basic multiplexing method. As shown in FIG. 3B, the packet 811a and the packet 812a are transmitted in the order of 831a and 832a on the transmission line of the relay line 803 because the packet 811a arrives at the relay device 802 first with a slight time difference. Further, since the packet 811a arrives at the relay device 802 at the timing when the transmission line of the relay line 803 is free, the packet 811a is immediately transmitted as the packet 831a. On the other hand, the packet 812a is delayed by waiting until the packet 811a is completely transmitted as the packet 831a, and is transmitted as the packet 832a after completion of the transmission. Similarly to 811a, the packet 813a is transmitted as it is as the packet 833a because the transmission path is free.

以下同様にして、パケット811b〜811dがそれぞれ831b〜831dとして送出され、812b〜812eがそれぞれ832b〜832eとして送出され、813b、813cがそれぞれ833b、833cとして送出される。図3Bでは、832b、832c、831c、833c、831dが待ち合わせにより遅延している。   Similarly, packets 811b to 811d are sent as 831b to 831d, 812b to 812e are sent as 832b to 832e, and 813b and 813c are sent as 833b and 833c, respectively. In FIG. 3B, 832b, 832c, 831c, 833c, and 831d are delayed due to waiting.

すなわち、パケットの到着のタイミングにより、図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 input traffic 811 to 813 shown in FIG. As shown in FIG. 3A, each traffic demultiplexed by the relay device 803 is output as output traffic 821 to 823, but the delay time of the packet delayed by the multiplexing processing by the relay device 802 is the relay device 803. Is not compensated for and is output with a delay. As a result, in FIG. 3B, output packets 821a, 821b, 823a, 823b, 822d, and 822e are output only with a fixed transmission delay and processing delay, whereas output packets 822a, 822b, 822c, 821c, 823c, and 821d are output. The delay time increases by the delay time associated with multiplexing, and is observed as an increase in jitter.

図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 packet sequence 904 is input from the input line 901 to the relay device 902 and output to the output line 903 to the packet sequence 905. In the network configuration, the input packet sequence 904 is spaced at a certain interval. Assuming that At this time, even when the input packet sequence 904 includes jitter, the relay apparatus 902 adjusts and aligns the timing of the output packet sequence 905 using the traffic shaping function.

図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 correction code packet 906 is inserted in the middle of the input packet sequence 904, and an error correction code packet 907 is inserted in the middle of the output packet sequence 905 and output. In addition, the relay apparatus 902 adjusts the packet interval by using the traffic shaping function so that the input packet sequence 904 and the error correction code packet 906 are integrated, and the output packet sequence 905 and the error correction code packet 907 are integrated. Output as stuff.

次いで、図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 input packet sequence 904 arrives at the relay device 902 at substantially equal intervals. An error correction code packet 906 is inserted between the input packet sequences 904. In the traffic shaping function of the relay apparatus 902, the minimum packet interval 910 to be adjusted is obtained based on the set upper limit packet rate, and individual packets are output with an interval equal to or greater than the time corresponding to the minimum packet interval 910 being secured. For packets arriving at intervals less than the minimum packet interval 910, transmission is intentionally delayed until a time corresponding to the packet interval 910. Therefore, in the upper side of FIG. 4B, the error correction code packet 906 that has arrived does not have a sufficient arrival interval (interval greater than or equal to the minimum packet interval 910) with respect to the packet of the previous input traffic 904. As shown on the side, the output error correction code packet 907 is output with a waiting time so that the interval with the immediately preceding output packet 905 is more than the minimum packet interval 910. In FIG. 4B, due to the packet interval adjustment with respect to the error correction code packet 907, the subsequent four packets of the error correction code packet 907 also do not satisfy the minimum packet interval 910, so a delay time is added.

映像受信側伝送装置では、誤り訂正パケットを除いたユーザデータパケットのみを抽出し、映像符号を取り出し、映像を再生するが、誤り訂正符号パケットに引き続くパケット(図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 user data packet 1002a immediately after the error correction code packet 1011 for the user data packets 1001a to 1001e is lost. Similarly, FIG. 5B shows a case where the third packet 1002c of the user data packets 1002a to 1002e is lost. FIG. 5C shows a case where the last packet 1002e of the user data packets 1002a to 1002e is lost.

映像受信側伝送装置では、ユーザデータパケット列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 data packet sequences 1002a to 1002e is lost, the video receiving side transmission apparatus regenerates a lost packet using the remaining normally received user data packet and the error correction code packet 1012. . Therefore, in FIG. 5A, the received packet before the lost packet (1002a) is not used, and the subsequent five packets received after the lost packet (user data packets 1002b to 1002e, error correction code packet) 1012). For this reason, the video receiving side transmission apparatus waits for the arrival of five user data packets and executes the regeneration process. Similarly, in FIG. 5B, reproduction is performed using the two packets before the lost packet (1002c) (user data packets 1002a and 1002b) and the following three packets (user data packets 1002d and 1002e, error correction code packet 1012). Execute the creation process. In FIG. 5C, the regeneration process is executed using the preceding four (user data packets 1002a to 1002d) and the subsequent one (error correction code packet 1012) of the lost packet (1002e).

そのため、映像受信側伝送装置では、常に失われたパケットの誤り訂正符号ブロック内の位置を意識した動作が求められ、バッファ管理等のハードウェア/ソフトウェアリソースが必要となる。   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.

動画伝送システムの構成図(ブロック図)Block diagram of video transmission system 動画伝送システムの動作説明のための送信側伝送装置のデータの流れ図Data flow diagram of the transmission device on the transmission side for explaining the operation of the video transmission system 従来技術の課題の多重化ジッタ増加の発生メカニズム説明のための図Illustration for explaining the mechanism of increase in multiplexed jitter, which is a problem of the prior art 従来技術の課題の多重化ジッタ増加の発生メカニズム説明のための図Illustration for explaining the mechanism of increase in multiplexed jitter, which is a problem of the prior art 従来技術の課題のトラフィックシェイピング時のジッタ増加の発生メカニズム説明のための図Illustration for explaining the mechanism of jitter increase during traffic shaping, a problem of the prior art 従来技術の課題のトラフィックシェイピング時のジッタ増加の発生メカニズム説明のための図Illustration for explaining the mechanism of jitter increase during traffic shaping, a problem of the prior art 従来技術の課題の損失データ再生成に必要な蓄積量変動の説明のための図Illustration for explaining fluctuation of accumulated amount required for loss data regeneration of the problem of the prior art 本発明の実施の形態1に係る動画伝送システムのブロック図Block diagram of a video transmission system according to Embodiment 1 of the present invention. 本発明の実施の形態1に係る映像送信側伝送装置におけるデータの流れを示す図The figure which shows the data flow in the video transmission side transmission apparatus which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係る映像受信側伝送装置におけるデータの流れを示す図The figure which shows the data flow in the video receiving side transmission apparatus which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係る複数パケット損失に備えたインタリーブのデータの流れを示す図The figure which shows the flow of the data of the interleaving for multiple packet loss which concerns on Embodiment 1 of this invention 本発明の実施の形態1に係る映像送信側伝送装置のバッファメモリ構成図Buffer memory configuration diagram of video transmission side transmission apparatus according to Embodiment 1 of the present invention 従来技術における誤り訂正符号量を動的に変更したときに生じる課題の説明のための図Illustration for explaining problems that occur when the error correction code amount in the prior art is dynamically changed 従来技術における誤り訂正符号量を動的に変更したときに生じる課題の説明のための図Illustration for explaining problems that occur when the error correction code amount in the prior art is dynamically changed 本発明の実施の形態2における誤り訂正符号量を動的に変更したときの動作説明のための図The figure for operation | movement description when the error correction code amount in Embodiment 2 of this invention is changed dynamically. 本発明の実施の形態2における誤り訂正符号量を動的に変更したときの動作説明のための図The figure for operation | movement description when the error correction code amount in Embodiment 2 of this invention is changed dynamically. 本発明の実施の形態2におけるインタリーブ間隔を動的に減らしたときの動作説明のための図The figure for demonstrating operation | movement when the interleaving space | interval in Embodiment 2 of this invention is reduced dynamically. 本発明の実施の形態3におけるRTPパケットの構造図Structure diagram of RTP packet in Embodiment 3 of the present invention 本発明の実施の形態3におけるマルチキャスト配信時のネットワークを示す図The figure which shows the network at the time of the multicast delivery in Embodiment 3 of this invention

以下、本発明の実施の形態について、図面を参照して詳細に説明する。   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 side transmission apparatus 10 to the video reception side transmission apparatus 11 via the communication path using a block code. The video transmission apparatus 10 according to the present embodiment encodes an input video signal and sends it as a packet to the network, and the video reception transmission apparatus 11 extracts the video code from the packet received from the network and decodes it. Output as a video signal. This is because a video encoding unit 101 that encodes a video signal is connected to the input side of the data communication system according to the present embodiment, and a video code that decodes the video signal from the video code to the output side of the data communication system. The decoding unit 114 is connected.

映像送信側伝送装置10は、映像符号化部101と、パケット生成部102と、冗長符号多重部103と、パケット送信制御部104と、サブブロック長制御部105と、ユーザ情報分割部106と、サブブロック割当部107と、誤り訂正符号生成部108と、から主に構成される。また、映像受信側伝送装置11は、パケット受信制御部111と、受信パケット蓄積部112と、パケット整列部113と、映像符号復号部114と、パケット欠落検出部115と、冗長符号分離部116と、サブブロック長検出部117と、ユーザ情報分割部118と、サブブロック割当部119と、誤り訂正損失パケット再生成部120と、から主に構成される。   The video transmission side transmission apparatus 10 includes a video encoding unit 101, a packet generation unit 102, a redundant code multiplexing unit 103, a packet transmission control unit 104, a sub-block length control unit 105, a user information division unit 106, It is mainly composed of a sub-block allocation unit 107 and an error correction code generation unit 108. The video reception side transmission device 11 includes a packet reception control unit 111, a received packet storage unit 112, a packet alignment unit 113, a video code decoding unit 114, a packet loss detection unit 115, and a redundant code separation unit 116. The sub-block length detection unit 117, the user information division unit 118, the sub-block allocation unit 119, and the error correction loss packet regeneration unit 120 are mainly configured.

図6の映像送信側伝送装置10において、映像符号化部101は、MPEG等の標準アルゴリズムを用いて映像信号を符号化し、生成した映像符号をユーザデータとしてパケット生成部102に出力する。また、映像符号化部101は、符号化結果である映像符号の出力量(出力符号量)をサブブロック長制御部105に出力する。   In the video transmission side transmission apparatus 10 of FIG. 6, the video encoding unit 101 encodes a video signal using a standard algorithm such as MPEG, and outputs the generated video code to the packet generation unit 102 as user data. Also, the video encoding unit 101 outputs the output amount (output code amount) of the video code that is the encoding result to the sub-block length control unit 105.

パケット生成部102は、映像符号化部101から受け取ったユーザデータ(映像符号。つまり、送信対象となるデータ)を、伝送方式に適合した適切な長さ(例えばEthernet(登録商標)を用いる場合は1200バイト程度)に分割するとともに、通信規約(例えば、RTP、UDP及びIP等のプロトコル)に基づく伝送ヘッダを付加して、複数の伝送パケットを生成する。そして、パケット生成部102は、生成した伝送パケットを冗長符号多重部103及びユーザ情報分割部106に出力する。   When the packet generation unit 102 uses user data (video code, that is, data to be transmitted) received from the video encoding unit 101 with an appropriate length (for example, Ethernet (registered trademark)) suitable for the transmission method. And a plurality of transmission packets are generated by adding a transmission header based on a communication protocol (for example, protocols such as RTP, UDP, and IP). Then, the packet generation unit 102 outputs the generated transmission packet to the redundant code multiplexing unit 103 and the user information division unit 106.

冗長符号多重部103は、パケット生成部102から入力される伝送パケットと、誤り訂正符号生成部108から入力される誤り訂正符号とを多重して、多重信号(パケット)をパケット送信制御部104に出力する。また、冗長符号多重部103は、後述するサブブロック長制御部105で決定されたサブブロック長(サブブロックの分割長)に関する情報(サブブロック長情報)、及び、サブブロックの組み合わせ(ブロック)に関する情報(サブブロックの組合せパターン情報)を、誤り訂正符号とともにパケットに多重する。   The redundant code multiplexing unit 103 multiplexes the transmission packet input from the packet generation unit 102 and the error correction code input from the error correction code generation unit 108, and sends the multiplexed signal (packet) to the packet transmission control unit 104. Output. The redundant code multiplexing unit 103 also relates to information (subblock length information) related to a subblock length (subblock division length) determined by a subblock length control unit 105, which will be described later, and a combination (block) of subblocks. Information (subblock combination pattern information) is multiplexed into a packet together with an error correction code.

パケット送信制御部104は、ネットワークの通信規約に基づいた手順で、ネットワークの伝送路にパケットを送出する。また、パケット送信制御部104は、ネットワークの回線品質を検出し、検出した回線品質を示す回線品質情報をサブブロック長制御部105に出力する。   The packet transmission control unit 104 sends a packet to the transmission path of the network according to a procedure based on the network communication protocol. Further, the packet transmission control unit 104 detects the line quality of the network, and outputs line quality information indicating the detected line quality to the sub-block length control unit 105.

サブブロック長制御部105は、映像符号化部101の出力符号量、及び、パケット送信制御部104で検出される回線品質情報に基づいて、適切なサブブロック長(サブブロックの分割長)を算出する。例えば、サブブロック長制御部105は、回線状態が良好(高品質)である場合に誤り訂正符号量を削減して伝送効率を向上し、回線状態が劣悪(低品質)である場合に誤り訂正符号量を増加して訂正能力を高めるために、ユーザ情報分割部106に指示するサブブロック長を増減する。また、サブブロック長制御部105は、サブブロック割当部107に対して、複数パケットから取り出すサブブロックの組合せパターンを指示する。なお、サブブロック長制御部105は、通信路の通信品質(回線品質情報)、送信データ量(出力符号量)、送信データのトラフィック量のうち、少なくとも1つに基づいて、サブブロック長(サブブロックの分割長)を決定すればよい。   The subblock length control unit 105 calculates an appropriate subblock length (subblock division length) based on the output code amount of the video encoding unit 101 and the channel quality information detected by the packet transmission control unit 104. To do. For example, the sub-block length control unit 105 improves the transmission efficiency by reducing the error correction code amount when the line state is good (high quality), and corrects the error when the line state is poor (low quality). In order to increase the code amount and improve the correction capability, the sub-block length instructed to the user information dividing unit 106 is increased or decreased. In addition, the sub-block length control unit 105 instructs the sub-block allocation unit 107 to combine sub-blocks to be extracted from a plurality of packets. The sub-block length control unit 105 determines the sub-block length (sub-block length) based on at least one of the communication quality (channel quality information) of the communication path, the transmission data amount (output code amount), and the transmission data traffic amount. What is necessary is just to determine the division length of a block.

ユーザ情報分割部106は、サブブロック長制御部105から指示されるサブブロック長に従って、パケット生成部102から入力される伝送パケットのペイロードであるユーザデータ(映像符号)を適切な長さ(所定の長さ)のサブブロックに分割し、サブブロックをサブブロック割当部107に出力する。   The user information dividing unit 106 sets user data (video code), which is a payload of a transmission packet input from the packet generation unit 102, to an appropriate length (predetermined length) according to the subblock length specified by the subblock length control unit 105. The sub-block is output to the sub-block allocation unit 107.

サブブロック割当部107は、ユーザ情報分割部106から受け取った伝送パケットのペイロードを分割したサブブロックを蓄積する。そして、サブブロック割当部107は、サブブロックを、誤り訂正の演算単位となるブロック(サブブロックの組み合わせ)に割り当てる。具体的には、サブブロック割当部107は、サブブロック長制御部105からの指示に従って、複数の伝送パケットから1つずつサブブロックを取り出して、取り出したサブブロックの組合せを誤り訂正符号生成部108に出力する。   The sub-block allocating unit 107 accumulates sub-blocks obtained by dividing the payload of the transmission packet received from the user information dividing unit 106. Then, the sub-block allocating unit 107 allocates the sub-block to a block (combination of sub-blocks) that is an error correction calculation unit. Specifically, subblock allocating section 107 extracts subblocks one by one from a plurality of transmission packets in accordance with an instruction from subblock length control section 105, and combines the extracted subblocks with error correction code generation section 108. Output to.

誤り訂正符号生成部108は、サブブロック割当部107から受け取った複数のサブブロック(各ブロックに割り当てられたサブブロック)に対して、誤り訂正符号のアルゴリズムを用いて誤り訂正符号を生成し、生成した誤り訂正符号を冗長符号多重部103に出力する。   The error correction code generation unit 108 generates and generates an error correction code by using an error correction code algorithm for a plurality of subblocks (subblocks allocated to each block) received from the subblock allocation unit 107. The error correction code is output to the redundant code multiplexer 103.

図6の映像受信側伝送装置11において、パケット受信制御部111は、ネットワークの通信規約に基づいた手順で、ネットワークの伝送路からパケット(映像送信側伝送装置10から送信されたパケット)を受信し、受信したパケットを受信パケット蓄積部112に出力する。   In the video reception side transmission device 11 of FIG. 6, the packet reception control unit 111 receives a packet (a packet transmitted from the video transmission side transmission device 10) from the transmission line of the network in a procedure based on the communication protocol of the network. The received packet is output to the received packet storage unit 112.

受信パケット蓄積部112は、パケット受信制御部111で受信されたパケットを、一定時間若しくは一定個数蓄積(保持)する。   The reception packet accumulation unit 112 accumulates (holds) the packets received by the packet reception control unit 111 for a certain period of time or a certain number.

パケット整列部113は、受信パケット蓄積部112に蓄積されたパケットを取り出して、送信側で生成された順序に整列する。そして、パケット整列部113は、整列されたパケットから伝送ヘッダを取り除いて映像符号を再組み立てし、映像符号を映像符号復号部114に出力する。   The packet alignment unit 113 takes out the packets stored in the received packet storage unit 112 and arranges them in the order generated on the transmission side. Then, the packet sorting unit 113 removes the transmission header from the sorted packets, reassembles the video code, and outputs the video code to the video code decoding unit 114.

映像符号復号部114は、パケット整列部113から受け取った映像符号をMPEG等の標準アルゴリズムに則って復号し、映像信号を出力する。   The video code decoding unit 114 decodes the video code received from the packet sorting unit 113 in accordance with a standard algorithm such as MPEG and outputs a video signal.

一方、パケット整列部113が受信パケット蓄積部112から伝送パケットを取り出すのと並行して、パケット欠落検出部115は、受信パケット蓄積部112に格納されているパケット列を監視して、欠落したパケットを検出する。すなわち、パケット欠落検出部115は、受信したパケットに基づいて、ネットワーク(通信路)上における、映像送信側伝送装置10から送信されたパケットの欠落を検出する。そして、パケット欠落検出部115は、パケットの欠落を検出した場合には、誤り訂正損失パケット再生成部120に対して、欠落したパケットの再生成を指示する。   On the other hand, in parallel with the packet sorting unit 113 taking out the transmission packet from the received packet storage unit 112, the packet loss detection unit 115 monitors the packet sequence stored in the received packet storage unit 112 and detects the lost packet. Is detected. That is, the packet loss detection unit 115 detects the loss of the packet transmitted from the video transmission side transmission device 10 on the network (communication path) based on the received packet. When the packet loss detection unit 115 detects the packet loss, the packet loss detection unit 115 instructs the error correction loss packet regeneration unit 120 to regenerate the missing packet.

パケットの再生成の処理にあたり、冗長符号分離部116は、受信パケット蓄積部112によって蓄積されたパケットに多重化されている誤り訂正符号、及び、誤り訂正のための管理情報(サブブロック長情報、サブブロックの組合せパターン情報)を、パケットから分離する。具体的には、冗長符号分離部116は、伝送パケット内の誤り訂正符号と誤り訂正のための管理情報(サブブロック長情報、サブブロックの組合せパターン情報)とを分離し、誤り訂正符号を誤り訂正損失パケット再生成部120へ出力し、管理情報をサブブロック長検出部117へ出力する。   In the packet regeneration process, the redundant code separation unit 116, the error correction code multiplexed in the packet stored by the received packet storage unit 112, and management information for error correction (sub-block length information, Sub-block combination pattern information) is separated from the packet. Specifically, the redundant code separation unit 116 separates the error correction code in the transmission packet and the management information for error correction (sub-block length information, sub-block combination pattern information), and sets the error correction code as an error. The data is output to the correction loss packet regeneration unit 120, and the management information is output to the sub-block length detection unit 117.

サブブロック長検出部117は、冗長符号分離部116から受け取った、誤り訂正のための管理情報(連続するパケットに格納された管理情報列)の中から、サブブロック長情報、及び、サブブロックの組合せパターン情報を検出し、サブブロック長情報をユーザ情報分割部118へ出力し、サブブロックの組合せパターン情報をサブブロック割当部119へ出力する。   The subblock length detection unit 117 receives the subblock length information and the subblock length information from the management information for error correction (management information sequence stored in successive packets) received from the redundant code separation unit 116. Combination pattern information is detected, sub-block length information is output to user information division section 118, and sub-block combination pattern information is output to sub-block allocation section 119.

ユーザ情報分割部118は、受信パケット蓄積部112に格納されている伝送パケットのペイロード内のユーザデータ(映像符号)を、サブブロック長検出部117から指示されたサブブロック長情報に基づいて分割し、複数のサブブロックを生成する。そして、ユーザ情報分割部118は、生成したサブブロックをサブブロック割当部119へ出力する。   The user information dividing unit 118 divides user data (video code) in the payload of the transmission packet stored in the received packet storage unit 112 based on the subblock length information instructed from the subblock length detection unit 117. A plurality of sub-blocks are generated. Then, the user information dividing unit 118 outputs the generated sub block to the sub block allocating unit 119.

サブブロック割当部119は、サブブロック長検出部117から指示されたサブブロックの組合せパターン情報に基づき、ユーザ情報分割部118から受け取ったサブブロック(複数の伝送パケットから生成された複数のサブブロック)を組み合わせて、誤り訂正の演算単位であるブロックを再構成する。つまり、サブブロック割当部119は、ユーザ情報分割部118によって分割されたサブブロックを、誤り訂正の演算単位となるブロックに割り当てる。そして、サブブロック割当部119は、再構成したブロックを、誤り訂正損失パケット再生成部120へ出力する。   The sub-block allocation unit 119 receives the sub-block (a plurality of sub-blocks generated from a plurality of transmission packets) received from the user information division unit 118 based on the sub-block combination pattern information instructed from the sub-block length detection unit 117. Are combined to reconstruct a block which is an error correction operation unit. That is, the sub-block allocating unit 119 allocates the sub-block divided by the user information dividing unit 118 to a block that is an error correction calculation unit. Then, the sub-block allocation unit 119 outputs the reconfigured block to the error correction loss packet regeneration unit 120.

誤り訂正損失パケット再生成部120は、冗長符号分離部116から受け取った誤り訂正符号と、サブブロック割当部119から受け取った、誤り訂正符号のブロックを構成するユーザ情報のサブブロックの組を用いて、誤り訂正符号のアルゴリズムに基づいて、受信されなかったサブブロックを再生成する。具体的には、誤り訂正損失パケット再生成部120は、パケット欠落検出部115でパケットの欠落が検出された場合には、欠落したパケットを形成するサブブロック毎に、それぞれのサブブロックの復元に必要となる特定のブロックであって、当該サブブロックが割り当てられた特定のブロックに属する誤り訂正符号と、サブブロック割当部119によって特定のブロックに割り当てられたサブブロックとを用いて、欠落したパケットを復元する。誤り訂正損失パケット再生成部120は、失われたパケットのペイロードを構成するサブブロック全体を再生成するまで本処理を繰り返す。再生成された伝送パケットのペイロードは、パケット整列部113に出力され、パケット列の中の適切な位置に挿入される。   The error correction loss packet regeneration unit 120 uses a set of the error correction code received from the redundant code separation unit 116 and the sub-block of user information included in the error correction code block received from the sub-block allocation unit 119. Based on the algorithm of the error correction code, the sub-block not received is regenerated. Specifically, the error correction loss packet regeneration unit 120 restores each sub-block for each sub-block forming the lost packet when the packet loss detection unit 115 detects the packet loss. A specific packet that is required and is a missing packet using an error correction code belonging to the specific block to which the subblock is allocated and a subblock allocated to the specific block by the subblock allocation unit 119 To restore. The error correction loss packet regenerator 120 repeats this process until the entire sub-block constituting the payload of the lost packet is regenerated. The regenerated payload of the transmission packet is output to the packet alignment unit 113 and inserted at an appropriate position in the packet sequence.

なお、映像送信側伝送装置10のパケット生成部102はパケット生成手段として機能し、冗長符号多重部103は誤り訂正符号多重化手段として機能し、パケット送信制御部104はパケット送信手段として機能し、サブブロック長制御部105はサブブロック分割長制御手段として機能し、ユーザ情報分割部106は第1のサブブロック分割手段として機能し、サブブロック割当部107は第1のサブブロック割当手段として機能し、誤り訂正符号生成部108は誤り訂正符号生成手段として機能する。また、映像受信側伝送装置11のパケット受信制御部111はパケット受信手段として機能し、受信パケット蓄積部112はパケット蓄積手段として機能し、パケット欠落検出部115はパケット欠落検出手段として機能し、冗長符号分離部116は誤り訂正符号分離手段として機能し、サブブロック長検出部117はサブブロック長検出手段として機能し、ユーザ情報分割部118は第2のサブブロック分割手段として機能し、サブブロック割当部119は第2のサブブロック割当手段として機能し、誤り訂正損失パケット再生成部120は欠落パケット復元手段として機能する。   The packet generation unit 102 of the video transmission side transmission device 10 functions as a packet generation unit, the redundant code multiplexing unit 103 functions as an error correction code multiplexing unit, the packet transmission control unit 104 functions as a packet transmission unit, The subblock length control unit 105 functions as a subblock division length control unit, the user information division unit 106 functions as a first subblock division unit, and the subblock allocation unit 107 functions as a first subblock allocation unit. The error correction code generation unit 108 functions as error correction code generation means. In addition, the packet reception control unit 111 of the video reception side transmission device 11 functions as a packet reception unit, the received packet storage unit 112 functions as a packet storage unit, the packet loss detection unit 115 functions as a packet loss detection unit, and redundancy. The code separation unit 116 functions as an error correction code separation unit, the subblock length detection unit 117 functions as a subblock length detection unit, the user information division unit 118 functions as a second subblock division unit, and subblock allocation The unit 119 functions as a second sub-block allocation unit, and the error correction loss packet regeneration unit 120 functions as a lost packet restoration unit.

以上のように構成されたデータ通信システムについて、図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 side transmission device 10, FIG. 8 is a diagram for explaining the basic operation of the video reception side transmission device 11 when a packet is lost, and FIG. FIG. 2 is a diagram illustrating the operation of the data communication system according to the present invention when packets are interleaved in correspondence with a state in which a plurality of consecutive packets are lost as the line quality of the network.

図7において、映像符号化部101は、ユーザデータ201(映像符号)を生成する。パケット生成部102は、ユーザデータ201を適切な長さ(一定長)に分割して(伝送パケット化して)、ペイロード211〜216を生成し、それぞれに伝送ヘッダ221〜226を付加して伝送パケットを生成する。   In FIG. 7, a video encoding unit 101 generates user data 201 (video code). The packet generation unit 102 divides the user data 201 into an appropriate length (fixed length) (converts it into a transmission packet), generates payloads 211 to 216, and adds transmission headers 221 to 226 to the transmission packets. Is generated.

冗長符号多重部103は、生成された伝送パケットにおいて、伝送ヘッダの直後に誤り訂正符号情報231〜235を多重する。ここで、誤り訂正符号情報とは、誤り訂正符号とその管理・制御情報を含む情報要素である。誤り訂正符号情報の多重方法の一つとして、伝送プロトコルRTPの拡張ヘッダを用いる方法がある。この方法において、ネットワーク内の伝送装置、中継装置では、誤り訂正符号情報が伝送ヘッダ222〜226と一体のヘッダ情報要素となって見える。   The redundant code multiplexing unit 103 multiplexes the error correction code information 231 to 235 immediately after the transmission header in the generated transmission packet. Here, the error correction code information is an information element including an error correction code and its management / control information. One method of multiplexing error correction code information is to use an extension header of the transmission protocol RTP. In this method, the error correction code information appears as a header information element integrated with the transmission headers 222 to 226 in the transmission apparatus and the relay apparatus in the network.

例えば、ペイロード211は、ユーザ情報分割部106で一定の長さに分割され、サブブロック211a〜211eとなる。ペイロード212〜216も同様に、それぞれ5個のサブブロック(サブブロック212a〜216e)に分割される。なお、図7では、ペイロードを5個のサブブロックに分割する場合を一例として説明するが、ペイロードの分割数(生成されるサブブロック数)は5個に限らない。   For example, the payload 211 is divided into a certain length by the user information dividing unit 106 and becomes sub-blocks 211a to 211e. Similarly, payloads 212 to 216 are each divided into five sub-blocks (sub-blocks 212a to 216e). In FIG. 7, the case where the payload is divided into five sub-blocks will be described as an example, but the number of payload divisions (number of generated sub-blocks) is not limited to five.

サブブロック割当部107は、これらのサブブロックの中から、1つずつ各パケット内の位置をずらした組合せを取り出して誤り訂正符号生成部108に出力する。例えば、図7に示すサブブロック211e、212d、213c、214b、215aを組合せることにより、誤り訂正の演算単位であるブロックが形成される。そして、サブブロックの組み合わせ(ブロック)に対して誤り訂正を行うことで誤り訂正符号を生成する。これにより、図7に示す誤り訂正符号情報235が生成される。その他の誤り訂正符号情報231〜234、及び、後続の誤り訂正符号情報(図示せず)についても同様に、各パケットのペイロードを分割したサブブロックを1つずつパケット内の位置をずらして取り出した組み合わせを用いて生成する。   The sub-block allocating unit 107 extracts a combination in which the position in each packet is shifted one by one from these sub-blocks and outputs it to the error correction code generating unit 108. For example, by combining the sub-blocks 211e, 212d, 213c, 214b, and 215a shown in FIG. 7, a block that is an error correction calculation unit is formed. Then, an error correction code is generated by performing error correction on the combination (block) of sub-blocks. Thereby, the error correction code information 235 shown in FIG. 7 is generated. Similarly, other error correction code information 231 to 234 and subsequent error correction code information (not shown) are extracted by shifting the position in the packet one by one from the sub-block obtained by dividing the payload of each packet. Generate using a combination.

図8では、映像受信側伝送装置11が受信した受信パケット300〜309の内、パケット304がネットワーク上のいずれかで欠落した場合の動作について説明する。   FIG. 8 illustrates an operation when the packet 304 is lost in any of the received packets 300 to 309 received by the video reception side transmission apparatus 11 on the network.

パケット受信制御部111がネットワークから受信したパケット300〜309を受信パケット蓄積部112に格納する。なお、ネットワークではパケットの遅延時間がばらつき、パケットの到着順序が入れ替わることもある。このため、受信パケット蓄積部112内では、図8に示すようにパケット300〜309の順序で並んでいるとは限らない。そこで、パケット整列部113は、これらのパケットを送信側での生成順に並び替えて映像符号復号部114に受け渡す。   The packet reception control unit 111 stores the packets 300 to 309 received from the network in the received packet storage unit 112. Note that the delay time of packets varies in the network, and the arrival order of packets may be switched. Therefore, in the received packet storage unit 112, the packets 300 to 309 are not necessarily arranged in the order shown in FIG. Therefore, the packet sorting unit 113 sorts these packets in the order of generation on the transmission side, and delivers them to the video code decoding unit 114.

また、図8では、パケット欠落検出部115は、受信パケット蓄積部112に格納された受信パケット300〜309を監視し、システムとして許容される遅延時間を経過しても到着しないパケット304が欠落していると判断する。   In FIG. 8, the packet loss detection unit 115 monitors the received packets 300 to 309 stored in the reception packet accumulation unit 112, and a packet 304 that does not arrive even after a delay time allowed for the system is lost. Judge that

誤り訂正損失パケット再生成部120は、パケット欠落検出部115がパケットの欠落を検出し、失われたパケット(304)の再生成処理を指示されると、再生成に必要なサブブロックを集める。その際、まず、冗長符号分離部116は、各パケットから誤り訂正符号情報330〜339を取り出し、誤り訂正損失パケット再生成部120へ出力し、各パケットから誤り訂正符号の管理・制御情報を取り出し、サブブロック長検出部117へ出力する。   The error correction loss packet regeneration unit 120 collects sub-blocks necessary for regeneration when the packet loss detection unit 115 detects packet loss and is instructed to regenerate lost packets (304). At that time, first, the redundant code separation unit 116 extracts the error correction code information 330 to 339 from each packet, outputs it to the error correction loss packet regeneration unit 120, and extracts the error correction code management / control information from each packet. And output to the sub-block length detector 117.

サブブロック長検出部117は、管理・制御情報に基づいて、サブブロックの組合せパターン及びサブブロック長を判定し、組合せパターンをサブブロック割当部119へ出力し、サブブロック長をユーザ情報分割部118に出力する。例えば、図8では、誤り訂正符号情報330〜339の中に多重されている、誤り訂正符号の管理・制御情報に基づいて算出されたサブブロックの組合せパターン情報により、失われたパケット(304)の再生成に必要な受信パケットは、パケット300〜303、305〜309と判定される。   The sub-block length detection unit 117 determines the sub-block combination pattern and sub-block length based on the management / control information, outputs the combination pattern to the sub-block allocation unit 119, and the sub-block length is the user information division unit 118. Output to. For example, in FIG. 8, the lost packet (304) due to the combination pattern information of the sub-blocks calculated based on the error correction code management / control information multiplexed in the error correction code information 330 to 339. The received packets necessary for regeneration of the packets are determined as packets 300 to 303 and 305 to 309.

図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 packet storage section 112. That is, when the video receiving side transmission apparatus 11 is divided into N sub-blocks, (N−1) packets on the near side of the lost packet and N packets on the following side are lost. Just take out (collect). That is, the packets to be collected to regenerate lost packets are uniquely determined only by the payload length and subblock length. Therefore, information for identifying the sub-block length and the group is sufficient as the error correction code management / control information. In other words, the video receiving side transmission device 11 does not need to be aware of the position of the lost packet in the packet sequence constituting the error correction code block. The purpose of using the group will be described in detail later with reference to FIG.

次に、サブブロックへの分割処理及びサブブロックの組合せについて説明する。   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 packet 300 shown in FIG. 8, that is, the user information 310 is divided by the user information dividing unit 118 into lengths (subblock division lengths) designated by the subblock length detecting unit 117, and subblocks 310 a to 310- 310e. Similarly, the payload of the received packet 301 is also divided into sub-blocks 311a to 311e. The other packets 302 to 303 and 305 to 308 are similarly divided into sub-blocks (302a to 308e). For the received packet 309, only the error correction code information 339 is used.

映像送信側伝送装置10において、パケット毎に1つずつ位置をずらしたサブブロックで誤り訂正符号ブロックを構成したように、映像受信側伝送装置11でも、失われたパケットを再生成する際に、パケット内の位置を1つずつずらしたサブブロックを組み合わせて誤り訂正符号ブロックを生成する。例えば、サブブロック割当部119は、失われたパケット304のペイロードの先頭サブブロック314aを再生成(復元)するために、サブブロック310e、311d、312c、313bと誤り訂正符号情報335内の誤り訂正符号を、1つの誤り訂正符号ブロックとして組み合わせる。そして、サブブロック割当部119は、生成した誤り訂正符号ブロックを誤り訂正損失パケット再生成部120へ出力する。   In the video transmission side transmission device 10, the error correction code block is configured with sub-blocks shifted by one for each packet. Even in the video reception side transmission device 11, when regenerating a lost packet, An error correction code block is generated by combining sub-blocks whose positions in the packet are shifted one by one. For example, the subblock allocation unit 119 performs error correction in the subblocks 310e, 311d, 312c, and 313b and the error correction code information 335 in order to regenerate (restore) the first subblock 314a of the payload of the lost packet 304. The codes are combined as one error correction code block. Then, the sub-block allocation unit 119 outputs the generated error correction code block to the error correction loss packet regeneration unit 120.

同様に、サブブロック割当部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 subblock allocation unit 119 performs error correction in the subblocks 311e, 312d, 313c, and 315a and the error correction code information 336 in order to regenerate the second subblock 314b of the payload of the lost packet 304. Combine the signs. Further, for example, the sub-block length control unit 105 generates errors in the sub-blocks 315d, 316c, 317b, and 318a and the error correction code information 339 in order to regenerate the sub-block 314e at the end of the payload of the lost packet 304. Combine correction codes. In this way, the sub-block length control unit 105 sequentially regenerates the sub-blocks constituting the payload of the lost packet 304. Thus, the payload of the lost packet 304, that is, the sub blocks 314a to 314e necessary for regenerating the user information 314 are regenerated.

本実施の形態では、元々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 side transmission device 11 regenerates only the payload portion of the lost packet, it is possible to output user information without loss.

誤り訂正損失パケット再生成部120は、再生成したペイロード314をパケット整列部113に出力する。そして、パケット整列部113は、正常に受信したパケットのペイロード310〜313,315〜319を受信パケット蓄積部112から取り出し、再生成されたペイロード314とともに生成順に整列させて結合し、映像符号として映像符号復号部114に出力する。映像符号復号部114は、映像符号を復号して映像信号を得る。   The error correction loss packet regeneration unit 120 outputs the regenerated payload 314 to the packet alignment unit 113. Then, the packet aligning unit 113 takes out the payloads 310 to 313 and 315 to 319 of the normally received packet from the received packet storage unit 112, arranges them together with the regenerated payload 314 in order of generation, and combines them. The data is output to the code decoding unit 114. The video code decoding unit 114 decodes the video code to obtain a video signal.

図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, consecutive packets 401 to 420 are generated in packet generation order (for example, RTP sequence number order) 431, 432, and 433, and these packets are classified into four groups. As shown in FIG. 9, the first group 441 includes packets 401, 405, 409, 413, and 417. The second group 442 includes packets 402, 406, 410, 414, and 418. The third group 443 includes packets 403, 407, 411, 415, and 419. The fourth group 444 includes packets 404, 408, 412, 416 and 420. Note that a packet (not shown) that continues after the packet shown in FIG. 9 also belongs to any of the groups 441 to 444. As a result, when the number of consecutive lost packets is 4 (that is, the number of groups) or less, the number of lost packets in each group is 1 or less (that is, at most 1).

例えば、図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 packets 407, 408, 409, and 410 (four packets) indicated by the packet generation order 432 are continuously lost somewhere on the network during transmission. That is, the packet 409 is lost in the group 441, the packet 410 is lost in the group 442, the packet 407 is lost in the group 443, the packet 408 is lost in the group 444, and one packet is included in each group. Observed as a missing packet.

つまり、パケットのペイロード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 side transmission apparatus 11 can easily perform grouping. Can be identified, and it is possible to determine whether to collect packets necessary for correction.

次に、本実施の形態のデータ通信システム(図6)における映像送信側伝送装置10の主要部の効率的な実装例を図10を用いて説明する。   Next, an efficient implementation example of the main part of the video transmission side transmission apparatus 10 in the data communication system (FIG. 6) of the present embodiment will be described with reference to FIG.

図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 (transmission task 501 and error correction code (FEC) generation task 502) are defined. The transmission task 501 stores the user data (video code) generated by the video encoding unit 101 in the transmission waiting code buffer 541. Further, in the transmission waiting code buffer 541, user data is divided into lengths corresponding to the payload length of the packet, and payloads 511, 512, and 513 are generated. The transmission task 501 adds a transmission header 521 to the first payload 511 to generate a transmission packet, calls the FEC generation task 502, and then transmits the transmission packet 56 to the network via the packet transmission control unit 104.

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 work memories 551 to 554 corresponding to the number of interleave groups, and provided with a read pointer 561a and a write pointer 561b for each work memory. .

また、読出ポインタ561aと書込ポインタ561bには、サブブロック長分のオフセット(サブブロックの分割長に相当するオフセット)を持たせる。すなわち、読出ポインタ561aにサブブロック長を加算したものが書込ポインタ561bとなる。   Further, the read pointer 561a and the write pointer 561b are provided with an offset corresponding to the sub-block length (an offset corresponding to the sub-block division length). That is, the write pointer 561b is obtained by adding the sub-block length to the read pointer 561a.

送信タスク501から呼び出された誤り訂正符号生成タスク502には、送信待ちパケットの伝送ヘッダ521とペイロード511のメモリ上の番地が引数として渡される。誤り訂正符号生成タスク502は受け取った引数を用いて送信待ちパケットの各情報にアクセスする。   To the error correction code generation task 502 called from the transmission task 501, the transmission header 521 of the packet waiting for transmission and the address on the memory of the payload 511 are passed as arguments. The error correction code generation task 502 accesses each piece of information of the transmission waiting packet using the received argument.

なお、本実施の形態では、上述したように、伝送パケットのペイロード511を一定の長さのサブブロック511a〜511eに分割し、前後のパケットの該当する位置のサブブロックをそれぞれ組み合わせて誤り訂正符号を生成する。   In this embodiment, as described above, the payload 511 of the transmission packet is divided into sub-blocks 511a to 511e having a certain length, and error correction codes are combined by combining the sub-blocks at corresponding positions in the preceding and succeeding packets. Is generated.

例えば、図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 code generation task 502 selects the work memory 552 of #l and determines the error correction code generation for each sub-block when the interleave group to which the first packet belongs is determined to be # 1. Are sequentially executed from the position indicated by the write pointer 561b. Whether the exclusive OR (XOR) is used as the error correction code method or the remainder of division by the generator polynomial is used, the work memory 552 stores the operation result (intermediate value of the sequential operation process of the error correction code). ) Only. In some cases, the subblock boundary may be recognized depending on the method, but since the subblock boundary is obtained by simple addition from the write pointer 561b, no special hardware is required. Further, since there is an uncalculated area 563 at the end of the work memory 552, it is cleared to zero (initial value “0”) before the error correction code calculation. In addition, since the subblocks are assigned to consecutive addresses on the memory in which the payload 511 is stored and on the work memory 552, pointers indicating the boundaries of the individual subblocks are not necessary. In order, operations are performed with the efficient length of the hardware (8 bits, 16 bits, 32 bits, etc.).

また、ワークメモリの分類を示すインタリーブのグループ識別子“#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 transmission header 521 of the transmission packet as the error correction code management / control information 531a together with the sub-block length. After completion of the calculation, information on the work memory from the read pointer 561a to immediately before the write pointer 561b is multiplexed as an error correction code 531b (FEC parity) behind the transmission header 521 of the packet. The read pointer 561a and the write pointer 561b are updated to new read pointers 562a and write pointers 562b by adding the subblock lengths, respectively. By updating the write pointer 561b with a new write pointer 562b, it is possible to calculate the payloads of packets that are consecutive in the same group while shifting them by sub-block lengths.

このように、FECタスク502において、サブブロック割当部107は、送信タスク501においてパケット生成部102によって生成されるパケットに対応して、誤り訂正符号の逐次的な演算過程の中間値を順次格納するメモリと、当該メモリに対する読出ポイントと、書込ポイントとを有する。そして、サブブロック割当部107は、読出ポインタと書込ポインタとを、パケット毎に順次移動させることにより、分割したサブブロック毎に誤り訂正の演算単位となるブロックへの割り当てを実行する。そして、誤り訂正符号生成部108は、書込ポインタが示すサブブロックと、対象パケットに後続するパケットに対応するサブブロックとから、誤り訂正の演算過程の中間値を演算して、その中間値をメモリの書込ポインタの位置に書き込む。そして、誤り訂正符号生成部108は、サブブロック割当部107によって割り当てられたブロックに属する全てのサブブロックに対する演算が完了すると、読込ポインタが示すサブブロックを誤り訂正符号としてメモリから読み出して出力する。   As described above, in the FEC task 502, the sub-block allocating unit 107 sequentially stores the intermediate value of the sequential calculation process of the error correction code corresponding to the packet generated by the packet generating unit 102 in the transmission task 501. It has a memory, a read point for the memory, and a write point. Then, the sub-block allocating unit 107 performs allocation to a block serving as an error correction calculation unit for each divided sub-block by sequentially moving the read pointer and the write pointer for each packet. Then, the error correction code generation unit 108 calculates an intermediate value of the error correction calculation process from the sub block indicated by the write pointer and the sub block corresponding to the packet subsequent to the target packet, and calculates the intermediate value. Write to the location of the memory write pointer. When the calculation for all the subblocks belonging to the block assigned by the subblock allocating unit 107 is completed, the error correction code generation unit 108 reads out the subblock indicated by the read pointer from the memory as an error correction code and outputs it.

また、インタリーブのグループ判定は、送信タスク501から呼び出される度に、グループを順に割り当てれば十分であり、単純にグループ数による剰余系となるカウンタによっても実現できる。   In addition, the interleaving group determination is sufficient if the groups are assigned in order each time it is called from the transmission task 501, and can also be realized by a counter that is simply a residue system based on the number of groups.

図10において、誤り訂正符号生成タスク502は、送信タスク501内のメモリ上に格納されている先頭パケットのペイロード511に対しては参照のみ行い、情報の書き込みを行わなず、そのまま送信タスク501(パケット送信制御部104)に渡す。このため、リソースの消費を最小限に抑えられ高速な処理が可能となる。また、誤り訂正機能を無効に設定した際には、誤り訂正符号生成タスク502の呼び出しを止めるだけで制御が可能となる。   In FIG. 10, the error correction code generation task 502 only refers to the payload 511 of the first packet stored on the memory in the transmission task 501, does not write information, and transmits the transmission task 501 ( Packet transmission control unit 104). For this reason, resource consumption can be minimized and high-speed processing can be performed. Further, when the error correction function is set to be invalid, the control can be performed only by stopping the call of the error correction code generation task 502.

以上のように、本実施の形態では、サブブロックの分割長を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, transmission packets 1301 to 1313 are sent in order from the transmission side. For example, the transmission packet 1301 includes a transmission header 13011, an error correction code control header 13012, an error correction code 13013, and a payload 13014. The payload 13014 is divided into five equal-length subblocks. Also, the transmission packets 1302 to 1313 are configured by similar information elements.

また、図13において、伝送パケット1301、1303、1305、1307は第1のインタリーブのグループ(グループ#n)に属し、伝送パケット1302、1304、1306は第2のインタリーブのグループ(グループ#m)に属し、伝送パケット1308〜1313は第1のインタリーブのグループと第2のインタリーブのグループとが統合されたインタリーブグループに属する。   In FIG. 13, transmission packets 1301, 1303, 1305, and 1307 belong to the first interleave group (group #n), and transmission packets 1302, 1304, and 1306 belong to the second interleave group (group #m). The transmission packets 1308 to 1313 belong to an interleave group in which the first interleave group and the second interleave group are integrated.

ここで、図13に示す7番目の伝送パケット1307を送出する時点で、インタリーブ間隔の低減(グループ数の削減)を判断したとし、第2のインタリーブのグループを解消する必要が生じたとする(つまり、グループ#mを廃止し、グループ#nを残すケース)。   Here, when the seventh transmission packet 1307 shown in FIG. 13 is transmitted, it is determined that the reduction of the interleaving interval (reduction of the number of groups) has been determined, and it becomes necessary to eliminate the second interleaving group (that is, , Group #m is abolished and group #n is left).

この場合、まず、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 eighth transmission packet 1308.

解消される第2のインタリーブのグループに属する6番目の伝送パケット1306よりも後の伝送パケットは生成されない。ただし、第2のインタリーブのグループのサブブロック13024c、13044b、13064aから生成された誤り訂正符号は、統合されたインタリーブのグループに属する8番目の伝送パケット1308に誤り訂正符号13083bとして多重される。   A transmission packet after the sixth transmission packet 1306 belonging to the group of the second interleave to be canceled is not generated. However, the error correction code generated from the sub-blocks 13024c, 13044b, and 13064a of the second interleave group is multiplexed as the error correction code 13083b on the eighth transmission packet 1308 belonging to the integrated interleave group.

また、8番目の伝送パケット1308において、誤り訂正符号を多重するにあたり、インタリーブのグループを識別する情報とそれぞれの誤り訂正符号の長さを示す情報を、誤り訂正符号制御情報13082a(グループ#nに関する情報)、13082b(グループ#mに関する情報)として多重する。これにより、個々の誤り訂正符号13083a、13083bを受信側で正しく分離することが可能となる。   Further, in multiplexing the error correction code in the eighth transmission packet 1308, the information for identifying the group of interleaving and the information indicating the length of each error correction code are stored in error correction code control information 13082a (related to group #n). Information), 13082b (information on group #m). As a result, the individual error correction codes 13083a and 13083b can be correctly separated on the receiving side.

図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 transmission packet 1308, the error correction codes 13093a, 13103a, 13113a, 13112a and the error correction code control information 13092a, 13102a, 13112a, and the first interleaved group are transmitted to the transmission packets 1309, 1310, 1311, and 1312. 13122a, error correction codes 13093b, 13103b, 13113b, 13112b and error correction code control information 13092b, 13102b, 13112b, 13122b of the second interleave group are multiplexed. As a result, all the error correction codes relating to the second group of interleaves can be delivered to the receiving side.

引き続く伝送パケット1313では、第2のインタリーブのグループに関する誤り訂正符号の伝送は完了しているため、誤り訂正符号13133及び誤り訂正符号制御情報13132の1組のみを多重することとなる。   In the subsequent transmission packet 1313, since the transmission of the error correction code relating to the second interleave group has been completed, only one set of the error correction code 13133 and the error correction code control information 13132 is multiplexed.

以上のように、本実施の形態によれば、送信側にサブブロック分割長制御手段を設けることにより、通信途中での誤り訂正能力の増減を、容易に動的に制御することができる。つまり、通信路品質に応じてサブブロックの分割長を変更することで、送受信間での同期機能等の特別な機能を送受信側伝送装置の双方に搭載しなくても、誤り訂正能力と誤り訂正符号による伝送量のオーバヘッドとの関係を動的に制御することが可能となる。   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 header 141 and a payload 143, and user data such as video and audio is stored in the payload 143.

例えば、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 bit 144 from the top of the RTP header 141, the RTP extension header 142 is added to the end of the basic information. As shown in FIG. 14, the RTP extension header 142 is composed of a field indicating the type of extension header, a field indicating the length of the extension header, and an RTP extension header information unit 145 according to an application using RTP. By giving an appropriate type, it is possible to multiplex arbitrary information. It is stipulated that a receiving terminal that does not support the RTP extension header or a receiving terminal that does not support the multiplexed extension header type ignores the RTP extension header information part 145 (for example, RFC3550 RTP (Real- time Transport Protocol).

図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 header information unit 145 according to the present embodiment. As shown in FIG. 14B, the RTP extension header information part 145 is an information type indicating that the information is for a functional part that handles an error correction code (FEC) so that a plurality of pieces of information can be multiplexed. 146a, an information element length 146b indicating the length of the information element, a payload identifier 146c indicating the type of packet loss compensation information as an error correction code function unit, and packet loss compensation information 147 and 148. The two pieces of packet loss compensation information (packet loss compensation information 1 and 2) are stored, for example, in the situation of FIG. 13 of the second embodiment (a situation where error correction codes of two groups are multiplexed). In view of this, normally only one is stored.

図14の(c)は、パケット損失補償情報147、148の内部の構造の一例を示す。図14の(c)に示すように、パケット損失補償情報147は、インタリーブのグループの識別子147aと、誤り訂正符号サブブロックの長さを示すサブブロック長147bと、誤り訂正符号147cとから構成される。パケット損失補償情報148についても同様の構造を持つこととする。   FIG. 14C shows an example of the internal structure of the packet loss compensation information 147 and 148. As shown in FIG. 14 (c), the packet loss compensation information 147 includes an interleave group identifier 147a, a sub-block length 147b indicating the length of the error correction code sub-block, and an error correction code 147c. The The packet loss compensation information 148 has a similar structure.

図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 transmission side device 151 is connected to the public network 155 and transmits a transmission packet sequence 158. The receiving side devices 152, 153, and 154 receive the transmission packet sequence 158 sent via the public network 155, and reproduce the original video and audio.

また、図15において、送信側装置151、受信側装置152及び受信側装置154は誤り訂正による損失パケット補償に対応した装置とし、受信側装置153は誤り訂正による損失パケット補償に対応しない装置とする。また、受信側装置152及び153は公衆ネットワーク155に直接接続され、受信側装置154は公衆ネットワーク155とは管理体系の異なるローカルなネットワーク156に接続されている。公衆ネットワーク155とローカルなネットワーク156とは、例えば、NAPT装置157(NAPTルータ)を介して接続されている。一般的な企業内ネットワーク、家庭内ネットワークのほとんどは、図15におけるローカルなネットワーク156と同様の管理・運用形態を取っている。   In FIG. 15, the transmission side device 151, the reception side device 152, and the reception side device 154 are devices that support loss packet compensation by error correction, and the reception device 153 is a device that does not support loss packet compensation by error correction. . The receiving side devices 152 and 153 are directly connected to the public network 155, and the receiving side device 154 is connected to a local network 156 having a management system different from that of the public network 155. The public network 155 and the local network 156 are connected via, for example, a NAPT device 157 (NAPT router). Most of the general corporate network and home network have the same management / operation form as the local network 156 in FIG.

図15において、公衆ネットワーク155内で、宛先によって経路が分岐するポイント毎に、パケット列158を複製して、パケット列158a、158b、158cを生成する。このように、公衆ネットワーク155(IPマルチキャスト網)のマルチキャスト配信機能を利用し、送信側装置151及び公衆ネットワーク155のリソースの節約を図っている。   In FIG. 15, the packet sequence 158 is duplicated at each point where the route branches depending on the destination in the public network 155, and packet sequences 158a, 158b, 158c are generated. As described above, the multicast distribution function of the public network 155 (IP multicast network) is used to save resources of the transmission side device 151 and the public network 155.

図15において、誤り訂正による損失パケット補償機能として、特許文献1及び非特許文献1に示される従来技術を用いた場合、データパケットと誤り訂正符号パケットとは個別のパケット列を構成するので、公衆ネットワーク内のリソースを消費しやすくなる。更に、データパケット及び誤り訂正符号パケットでそれぞれ構成される2つのパケット列の関係性を標準規格等では担保していない。このため、パケット列158cがNAPT装置157を通して、パケット識別情報(UDPのポート番号等)を変換されたパケット列159になってしまうと、受信側装置154では、上記関係性を理解不能となってしまい、公衆ネットワーク155内で偶然失われたパケットを誤り訂正符号によって再生成することが困難になってしまう。そのため、この場合には特殊なNAPT装置(例えば、特開2009−188688号公報参照)が必要となる。   In FIG. 15, when the conventional technique shown in Patent Document 1 and Non-Patent Document 1 is used as a lost packet compensation function by error correction, the data packet and the error correction code packet constitute separate packet sequences. It becomes easier to consume resources in the network. Furthermore, the standard or the like does not guarantee the relationship between two packet sequences each composed of a data packet and an error correction code packet. For this reason, if the packet sequence 158c becomes the packet sequence 159 in which the packet identification information (UDP port number, etc.) is converted through the NAPT device 157, the receiving side device 154 cannot understand the relationship. Therefore, it becomes difficult to regenerate a packet lost by chance in the public network 155 using an error correction code. Therefore, in this case, a special NAPT device (see, for example, JP 2009-188688 A) is required.

また、誤り訂正による損失パケット補償機能として、従来技術(例えば、特開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 packet sequence 158 shown in FIG. 15 becomes one type, and distribution to the receiving side device 154 via the NAPT device 157 is performed without any problem. However, if the packet delivery destination is a receiving terminal (receiving side device 153 in FIG. 15) that does not support loss packet compensation using an error correction code, the receiving side terminal extracts user information from the received transmission packet in the first place. Therefore, the presence of an incompatible receiving terminal (receiving device 153) is not allowed.

これに対して、本実施の形態では、図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 transmission side device 151 and the reception side devices 152 and 154 (devices corresponding to loss packet compensation by error correction codes), the transmission packet sequence 158 becomes one type and is delivered through the NAPT device 157. The receiving side device 154 can correctly separate the error correction code. The receiving side device 153 that does not support the RTP extension header or does not support the error correction code multiplexing function of the RTP extension header performs an operation of ignoring the packet loss compensation information by the error correction code. For this reason, the user information in the payload of the RTP packet is correctly recognized, and it becomes possible to reproduce moving images, sounds, and the like.

以上のように、本実施の形態によれば、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 side transmission apparatus 101, 601 Video encoding unit 102, 602 Packet generation unit 103 Redundant code multiplexing unit 104, 604 Packet transmission control unit 105 Sub-block length control unit 106, 118 User information division unit 107, 119 Sub Block allocation unit 108,605 Error correction code generation unit 11,61 Video reception side transmission device 111,611 Packet reception control unit 112,613 Received packet storage unit 113,614 Packet alignment unit 114,615 Video code decoding unit 115,617 packet Missing detector 116 Redundant code separator 117 Subblock length detector 120, 618 Error correction loss packet regenerator 603 Packet multiplexer 606 Error correction code packet generator 612 Packet demultiplexer 616 Error correction code packet accumulator

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(Real-time Transport Protocol)を用いて映像又は音声のストリーミングデータを送信し、
前記誤り訂正符号多重化手段は、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.
請求項1ないし4記載のデータ通信システムに使用する送信装置。   5. A transmission apparatus used in the data communication system according to claim 1. 請求項1ないし4記載のデータ通信システムに使用する受信装置。   5. A receiving apparatus used in the data communication system according to claim 1.
JP2010260130A 2010-11-22 2010-11-22 Data communication system Pending JP2012114569A (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114584847A (en) * 2022-02-22 2022-06-03 广州广哈通信股份有限公司 Data transmission method

Cited By (2)

* Cited by examiner, † Cited by third party
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