JP5735610B2 - Encoding device and decoding device - Google Patents

Encoding device and decoding device Download PDF

Info

Publication number
JP5735610B2
JP5735610B2 JP2013227076A JP2013227076A JP5735610B2 JP 5735610 B2 JP5735610 B2 JP 5735610B2 JP 2013227076 A JP2013227076 A JP 2013227076A JP 2013227076 A JP2013227076 A JP 2013227076A JP 5735610 B2 JP5735610 B2 JP 5735610B2
Authority
JP
Japan
Prior art keywords
packet
payload
memory address
decoding
address table
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.)
Active
Application number
JP2013227076A
Other languages
Japanese (ja)
Other versions
JP2015089006A (en
Inventor
白井 大介
大介 白井
喜秀 外村
喜秀 外村
孝之 仲地
孝之 仲地
山口 高弘
高弘 山口
藤井 竜也
竜也 藤井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013227076A priority Critical patent/JP5735610B2/en
Publication of JP2015089006A publication Critical patent/JP2015089006A/en
Application granted granted Critical
Publication of JP5735610B2 publication Critical patent/JP5735610B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は誤り訂正符号化装置及び復号装置に関するものであり、特に装置外部より送信の元となるデータもしくは通信パケットデータを受け取り、装置外部に対して冗長化データ(リペアデータ)もしくは復元したデータを与える装置に関するものである。   The present invention relates to an error correction coding apparatus and decoding apparatus, and in particular, receives data or communication packet data as a transmission source from the outside of the apparatus, and provides redundant data (repair data) or restored data to the outside of the apparatus. It relates to a device for giving.

現在、誤り訂正技術は衛生デジタル放送やインターネットでの通信、モバイル端末での通信など、各種通信システムで広く用いられている。とりわけ、近年のブロードバンド環境の発展に伴いインターネットを用いた動画配信サービスなどが期待されており、インターネット網に対する誤り訂正技術は重要なものになっている。以下、インターネット網を例に話を進める。   At present, error correction technology is widely used in various communication systems such as sanitary digital broadcasting, communication on the Internet, and communication on mobile terminals. In particular, with the development of broadband environments in recent years, video distribution services using the Internet are expected, and error correction technology for the Internet network has become important. The following is an example of the Internet network.

インターネットを用いてサービスを行う側から通信路をみると、インターネット網は消失通信路(PEC:Packet Erasure Channel)と捉えることができる。これは2元消失通信路がパケットの単位としてグループ化されたものであり、通信路出力は正しい情報で出力されるか回線中の何らかの障害によって不明として出力されるかのどちらかの場合となる通信路である。一般的なIPベースのサービスでは、TCP/IPプロトコルが用いられ、デコーダ側では誤り検出のみにとどめ、誤りが発生した場合は再送制御などで誤りを訂正する方法が用いられている(ARQ(Automatic Repeat request)方式)。しかし、マルチキャスト配信のような大規模なサービスを想定した場合、受信側で受け取ったデータを元に誤り訂正をすることが求められ、帰還通信路を必要とせず受信側のみで誤りを訂正できる方法が用いられる(FEC(Forward Error Correction)方式)。このFEC方式は再送制御等を行わないことから遅延が少なく、リアルタイム性が重要となるテレビ会議システムでもFEC方式が用いられる。以下、FEC方式について話を進める。   When the communication path is viewed from the service provider side using the Internet, the Internet network can be regarded as an erasure communication path (PEC: Packet Erasure Channel). This is a case where binary erasure channels are grouped as packet units, and the channel output is either output with correct information or output as unknown due to some failure in the line. It is a communication channel. In general IP-based services, the TCP / IP protocol is used, and the decoder side only uses error detection, and when an error occurs, a method of correcting the error by retransmission control or the like is used (ARQ (Automatic Repeat request method). However, when a large-scale service such as multicast distribution is assumed, it is required to correct errors based on data received on the receiving side, and a method that can correct errors only on the receiving side without requiring a feedback channel Is used (FEC (Forward Error Correction) method). Since this FEC method does not perform retransmission control or the like, the FEC method is also used in a video conference system in which real-time performance is important with little delay. The following will discuss the FEC method.

FEC方式として、デジタル放送などではリードソロモン符号(RS符号)が広く用いられている。日本のデジタル放送では符号長204バイトと定義されており、元データ188バイトに対しておよそ10%の冗長化データを付加することで誤りに対して耐性を持たせている。しかし、一般に誤り訂正符号として符号長の長い符号を利用すれば性能がよくなることが知られているが、符号長が長くなると復号が複雑になり計算量が膨大になってしまうという弊害も知られている。そのため、RS符号では、符号長を256バイト以下として扱うことが一般的である。また、RS符号をIPベースのパケットレベルFECと呼ばれるパケットに適応する場合、上記の理由から1符号ブロックの大きさは256パケットに制限される。   As the FEC method, Reed-Solomon code (RS code) is widely used in digital broadcasting and the like. In Japanese digital broadcasting, it is defined as a code length of 204 bytes, and by adding approximately 10% redundant data to the original data of 188 bytes, tolerance is given to errors. However, it is generally known that performance is improved if a code having a long code length is used as an error correction code. However, there is a known disadvantage that decoding becomes complicated and the amount of calculation becomes enormous as the code length increases. ing. Therefore, in the RS code, it is common to handle the code length as 256 bytes or less. In addition, when the RS code is applied to a packet called IP-based packet level FEC, the size of one code block is limited to 256 packets for the above reason.

これに対して、確率伝搬アルゴリズム(Belief propagation algorithm)に基づいた復号法は符号長が長い場合に実用的な演算量で優れた復号特性を持つことが知られており、疎グラフにより定義される線形符号である低密度パリティ検査符号(Low density parity check code:LDPC符号(例えば、非特許文献1参照。))はShannonにより定義された通信路容量に迫る現実的な誤り訂正方法として注目されている。また、疎グラフに基づく消失訂正符号としては、Digital Fountain社のLT code(例えば、非特許文献2参照。)やRaptor code(例えば、非特許文献3参照。)が知られており、符号化効率を大きく劣化させずに任意の符号データを受信しただけで復号できる符号特性を実現的な演算量で達成することが知られている。   In contrast, a decoding method based on a belief propagation algorithm is known to have excellent decoding characteristics with a practical amount of computation when the code length is long, and is defined by a sparse graph A low density parity check code (LDPC code (for example, see Non-Patent Document 1)), which is a linear code, has been attracting attention as a practical error correction method that approaches the channel capacity defined by Shannon. Yes. Further, as an erasure correction code based on a sparse graph, Digital Fountain's LT code (for example, see Non-Patent Document 2) and Raptor code (for example, Non-Patent Document 3) are known, and the coding efficiency is known. It is known to achieve a code characteristic that can be decoded only by receiving arbitrary code data without greatly degrading the code with a practical amount of computation.

これらの誤り訂正技術は一般的に、外部の映像機器と接続の上で映像情報を通信路に対し送受信する装置に組み込まれるほか、コンピュータ上で動作する映像送受信プログラムや、情報伝送プログラムに組み込まれる。またしばしば、誤り訂正処理部は、前記のプログラムの外部ライブラリとして実装される。この場合、プログラムとライブラリはAPI(Application Programming Interface)を介して、元データと冗長データのやり取りを行う。このようなライブラリとして、例えばOpenFEC(例えば、非特許文献4参照。)などがある。   In general, these error correction technologies are incorporated into a device that transmits and receives video information to and from a communication path when connected to an external video device, and also incorporated into a video transmission / reception program and an information transmission program that operate on a computer. . Often, the error correction processing unit is implemented as an external library of the program. In this case, the program and the library exchange original data and redundant data via an API (Application Programming Interface). As such a library, for example, there is OpenFEC (for example, see Non-Patent Document 4).

R.G.Gallager,“Low density parity check codes”,in Research Monograph series.Cambridge,MIT Press,1963.R. G. Gallager, “Low density parity check codes”, in Research Monograph series. Cambridge, MIT Press, 1963. M.Luby,“LT Codes”,The 43rd Annual IEEE Symposium on Foundations of Computer Science,2002.M.M. Luby, “LT Codes”, The 43rd Annual IEEE Symposium on Foundations of Computer Science, 2002. Shokrollahi,A,“Raptor codes”,Information Theory,IEEE Transactions on Volume 52,Issue 6,2006Shorollahi, A, “Raptor codes”, Information Theory, IEEE Transactions on Volume 52, Issue 6, 2006 http://openfec.orghttp: // openfec. org

前述のように、一般に誤り訂正の処理部は、映像処理部や通信部とは分離して動作するため、これらとの間で元データと冗長データのやり取りを行う必要がある。このとき、誤り訂正処理部とその他の処理部が物理的に異なる装置で動作している場合は、誤り訂正処理部とその他の処理部の間でデータの転送が必要である。コンピュータ上でプログラムとして動作する場合は、誤り訂正処理部とその他の処理部とで共通のメモリ領域を共有することで、データ転送を行わず、誤り訂正処理部が直接処理を行うことが可能である。しかし、誤り訂正処理部とその他の処理部とで、データの形式や演算単位、メモリアクセス単位が一致しない場合、共有されたデータをそのまま処理することができない。   As described above, since the error correction processing unit generally operates separately from the video processing unit and the communication unit, it is necessary to exchange original data and redundant data with them. At this time, if the error correction processing unit and other processing units are operating on physically different devices, it is necessary to transfer data between the error correction processing unit and the other processing units. When operating as a program on a computer, the error correction processing unit and other processing units share a common memory area so that the error correction processing unit can directly perform processing without transferring data. is there. However, if the data format, operation unit, and memory access unit do not match between the error correction processing unit and the other processing units, the shared data cannot be processed as it is.

例えば非特許文献4では、誤り訂正処理部、すなわちライブラリと、その他の処理部、すなわちライブラリ呼び出し側とで、処理対象データが格納されているメモリ上のアドレスを共有することで、ライブラリへのデータ転送、すなわちメモリコピーを行わずに、ライブラリが直接処理を行うことを可能としている。しかし、例えばライブラリの演算単位が64bit単位であった時に、ライブラリ呼び出し側が32bit境界でのデータ配置を行っていた場合、ライブラリは共有メモリ上のデータを直接処理することはできない。   For example, in Non-Patent Document 4, the error correction processing unit, that is, the library, and the other processing unit, that is, the library calling side share the address on the memory in which the processing target data is stored, so that data to the library is stored. The library can directly perform processing without performing transfer, that is, memory copy. However, for example, when the library operation unit is a 64-bit unit and the library calling side performs data arrangement on a 32-bit boundary, the library cannot directly process the data on the shared memory.

本発明は上記の点に鑑みなされたもので、誤り訂正処理部の演算単位と一致してアクセスが可能なメモリ領域を、その他の処理部と共有する機能を提供し、メモリコピーを行わずに高速な誤り訂正処理を実現することを目的とする。   The present invention has been made in view of the above points, and provides a function of sharing a memory area that can be accessed in accordance with the operation unit of the error correction processing unit with other processing units, without performing a memory copy. The object is to realize high-speed error correction processing.

上記目的を達成するために、本願発明の符号化装置及び復号装置並びに符号化方法及び復号方法は、本発明は、パケットバッファ用のメモリアドレステーブルを誤り訂正符号化・復号化処理部と他の処理部に共用させることで、他の処理部が書き込んだデータをそのまま誤り訂正符号化・復号化処理部が処理可能とする。   In order to achieve the above object, an encoding apparatus and decoding apparatus, an encoding method, and a decoding method of the present invention include a memory address table for a packet buffer, an error correction encoding / decoding processing unit, By sharing the processing unit, the error correction encoding / decoding processing unit can process the data written by the other processing unit as it is.

具体的には、本願発明の符号化装置は、
送信データが格納されているパケット送信バッファメモリにおける1符号ブロックに含まれる各パケットのペイロードデータのメモリアドレスを管理する符号化用ペイロードメモリアドレステーブルを、ペイロードデータの先頭アドレスが符号化の演算単位の整数倍になるように生成する符号化用メモリアドレステーブル生成部と、
前記符号化用ペイロードメモリアドレステーブルに格納されているアドレスを参照して前記パケット送信バッファメモリから各パケットのペイロードデータを読み出し、読み出したペイロードデータの符号化を行う符号化演算部と、
を備える。
Specifically, the encoding device of the present invention is:
A payload memory address table for encoding that manages the memory address of the payload data of each packet included in one code block in the packet transmission buffer memory in which the transmission data is stored. An encoding memory address table generation unit for generating an integer multiple;
An encoding operation unit that reads the payload data of each packet from the packet transmission buffer memory with reference to an address stored in the encoding payload memory address table, and encodes the read payload data;
Is provided.

本願発明の符号化装置では、
各パケットの情報に基づいて前記パケット送信バッファメモリにおける各パケットのヘッダのメモリアドレスを管理する送信用パケットメモリアドレステーブルを作成する送信用メモリアドレステーブル生成部と、
前記送信用パケットメモリアドレステーブルに格納されているアドレスを参照して前記パケット送信バッファメモリから各パケットのヘッダ及びペイロードデータを読み出して送信するパケット送信部と、
をさらに備えてもよい。
In the encoding device of the present invention,
A transmission memory address table generation unit for creating a transmission packet memory address table for managing the memory address of the header of each packet in the packet transmission buffer memory based on the information of each packet;
A packet transmission unit that reads and transmits the header and payload data of each packet from the packet transmission buffer memory with reference to addresses stored in the packet memory address table for transmission;
May be further provided.

具体的には、本願発明の復号装置は、
受信データが格納されているパケット受信バッファメモリにおけるペイロードデータのメモリアドレスを管理する復号用ペイロードメモリアドレステーブルを、ペイロードデータの先頭アドレスが復号の演算単位の整数倍になるように生成する復号用メモリアドレステーブル生成部と、
前記復号用ペイロードメモリアドレステーブルに格納されているアドレスを参照して前記パケット受信バッファメモリから各パケットのペイロードデータを読み出し、読み出したペイロードデータの復号を行う復号演算部と、
を備える。
Specifically, the decoding device of the present invention is:
Decoding memory that generates a payload memory address table for decoding that manages the memory address of the payload data in the packet reception buffer memory in which the received data is stored so that the leading address of the payload data is an integral multiple of the decoding operation unit An address table generation unit;
A decoding operation unit that reads the payload data of each packet from the packet reception buffer memory with reference to the address stored in the decoding payload memory address table, and decodes the read payload data;
Is provided.

本願発明の復号装置では、
各パケットの受信の有無を、各パケットの受信順に管理する受信可否テーブルを作成する受信可否テーブル作成部をさらに備え、
前記復号用メモリアドレステーブル生成部は、前記パケット受信バッファメモリにおける各パケットのヘッダのアドレスを、各パケットの情報に基づいて送信順と関連付け、
前記復号演算部は、前記受信可否テーブルの各パケットの受信の有無に基づいて、消失したパケットを復元してもよい。
In the decoding device of the present invention,
A reception availability table creating unit that creates a reception availability table that manages whether or not each packet is received in the order of reception of each packet;
The decoding memory address table generation unit associates the address of the header of each packet in the packet reception buffer memory with the transmission order based on the information of each packet,
The decoding operation unit may restore lost packets based on whether or not each packet in the reception availability table has been received.

具体的には、本願発明の符号化方法は、
送信データが格納されているパケット送信バッファメモリにおける1符号ブロックに含まれる各パケットのペイロードデータのメモリアドレスを管理する符号化用ペイロードメモリアドレステーブルを、ペイロードデータの先頭アドレスが符号化の演算単位の整数倍になるように生成する送信側メモリアドレステーブル生成手順と、
前記符号化用ペイロードメモリアドレステーブルに格納されているアドレスを参照して前記パケット送信バッファメモリから各パケットのペイロードデータを読み出し、読み出したペイロードデータの符号化を行う符号化演算手順と、
を順に有する。
Specifically, the encoding method of the present invention is:
A payload memory address table for encoding that manages the memory address of the payload data of each packet included in one code block in the packet transmission buffer memory in which the transmission data is stored. A procedure for generating a memory address table on the transmission side that is generated to be an integer multiple,
An encoding operation procedure for reading the payload data of each packet from the packet transmission buffer memory with reference to the address stored in the encoding payload memory address table, and encoding the read payload data;
In order.

本願発明の符号化方法では、
前記送信側メモリアドレステーブル生成手順において、さらに、各パケットの情報に基づいて前記パケット送信バッファメモリにおける各パケットのヘッダのメモリアドレスを管理する送信用パケットメモリアドレステーブルを作成し、
前記送信用パケットメモリアドレステーブルに格納されているアドレスを参照して前記パケット送信バッファメモリから各パケットのヘッダ及びペイロードデータを読み出して送信するパケット送信手順を前記符号化演算手順の後にさらに有してもよい。
In the encoding method of the present invention,
In the transmission-side memory address table generation procedure, further, a transmission packet memory address table for managing the memory address of the header of each packet in the packet transmission buffer memory based on the information of each packet is created,
A packet transmission procedure for reading and transmitting the header and payload data of each packet from the packet transmission buffer memory with reference to an address stored in the transmission packet memory address table is further provided after the encoding operation procedure. Also good.

具体的には、本願発明の復号方法は、
受信データが格納されているパケット受信バッファメモリにおけるペイロードデータのメモリアドレスを管理する復号用ペイロードメモリアドレステーブルを、ペイロードデータの先頭アドレスが復号の演算単位の整数倍になるように生成する受信側メモリアドレステーブル生成手順と、
前記復号用ペイロードメモリアドレステーブルに格納されているアドレスを参照して前記パケット受信バッファメモリから各パケットのペイロードデータを読み出し、読み出したペイロードデータの復号を行う復号演算手順と、
を順に有する。
Specifically, the decoding method of the present invention is:
Receiver memory that generates a payload memory address table for decoding that manages the memory address of the payload data in the packet reception buffer memory in which the received data is stored so that the start address of the payload data is an integral multiple of the decoding operation unit Address table generation procedure,
A decoding calculation procedure for reading payload data of each packet from the packet reception buffer memory with reference to an address stored in the decoding payload memory address table, and decoding the read payload data;
In order.

本願発明の復号方法では、
前記受信側メモリアドレステーブル生成手順において、各パケットの受信の有無を、各パケットの受信順に管理する受信可否テーブルを作成し、1符号ブロックに含まれる各パケットのデータを受信順に格納している前記パケット受信バッファメモリにおける各パケットのヘッダのアドレスを、各パケットの情報に基づいて送信順と関連付け、
前記復号演算手順において、前記受信可否テーブルの各パケットの受信の有無に基づいて、消失したパケットを復元してもよい。
In the decoding method of the present invention,
In the reception-side memory address table generation procedure, a reception availability table for managing the presence / absence of each packet in the order of reception of each packet is created, and the data of each packet included in one code block is stored in the order of reception Associating the header address of each packet in the packet reception buffer memory with the transmission order based on the information of each packet,
In the decoding operation procedure, lost packets may be restored based on whether or not each packet in the reception availability table is received.

本発明によれば、誤り訂正処理部の演算単位と一致してアクセスが可能なメモリ領域を、その他の処理部と共有する機能を提供し、メモリコピーを行わずに高速な誤り訂正処理を実現することができる。   According to the present invention, the function of sharing the memory area that can be accessed in accordance with the operation unit of the error correction processing unit with other processing units is provided, and high-speed error correction processing is realized without performing memory copy. can do.

実施形態1に係る符号化装置の一例を示す。An example of the encoding apparatus which concerns on Embodiment 1 is shown. 実施形態3に係る復号装置の一例を示す。An example of the decoding apparatus which concerns on Embodiment 3 is shown. 実施形態4に係る復号装置の一例を示す。An example of the decoding apparatus which concerns on Embodiment 4 is shown. 実施形態5に係る復号装置の一例を示す。10 illustrates an example of a decoding device according to a fifth embodiment. 1符号ブロック分のメモリ上のデータ配置とペイロードメモリアドレステーブルの関係の第1例を示す。A first example of the relationship between the data arrangement on the memory for one code block and the payload memory address table is shown. 1符号ブロック分のメモリ上のデータ配置とペイロードメモリアドレステーブルの関係の第2例を示す。A second example of the relationship between the data arrangement on the memory for one code block and the payload memory address table is shown. 誤り訂正の符号化・復号演算におけるペイロード同士の演算の概要を示す。An outline of operations between payloads in an error correction encoding / decoding operation is shown. 本発明の実施の形態における1符号ブロックの構成例を示す。The structural example of 1 code block in embodiment of this invention is shown.

以下、本発明の実施形態について、図面を参照しながら詳細に説明する。なお、本発明は、以下に示す実施形態に限定されるものではない。これらの実施の例は例示に過ぎず、本発明は当業者の知識に基づいて種々の変更、改良を施した形態で実施することができる。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In addition, this invention is not limited to embodiment shown below. These embodiments are merely examples, and the present invention can be implemented in various modifications and improvements based on the knowledge of those skilled in the art. In the present specification and drawings, the same reference numerals denote the same components.

伝送するデータをソースデータ、誤り訂正に用いる冗長データをリペアデータと呼び、パケット伝送におけるペイロード(1パケット中のヘッダ部分を除いた実データ部分)がソースデータの一部であるものをソースペイロード、リペアデータの一部である物をリペアペイロードと呼ぶ。符号化処理は1符号ブロック毎に行われ、1符号ブロックは複数のソースペイロードと複数のリペアペイロードで構成される。リペアペイロードは、LDPCにおける生成行列もしくはRS符号における生成多項式などを用い、符号ブロック内の複数のソースペイロードから符号化演算により生成される。図8に本発明における1符号ブロックの構成を示す。   The data to be transmitted is referred to as source data, the redundant data used for error correction is referred to as repair data, and the payload in packet transmission (actual data portion excluding the header portion in one packet) is part of the source data, the source payload, A thing that is a part of repair data is called a repair payload. The encoding process is performed for each code block, and each code block includes a plurality of source payloads and a plurality of repair payloads. The repair payload is generated by a coding operation from a plurality of source payloads in the code block using a generator matrix in LDPC or a generator polynomial in RS code. FIG. 8 shows the configuration of one code block in the present invention.

本発明は、誤り訂正符号化・復号化処理部(誤り訂正ライブラリ)と他の処理部(誤り訂正ライブラリを利用するソフト)とのメモリ領域共有に関するものである。特に、本発明は、パケットのペイロードの先頭が誤り訂正演算単位の整数倍となるように配置したパケット単位のパケットバッファ用のメモリアドレステーブルを誤り訂正符号化・復号化処理部と他の処理部に共用させることで、他の処理部が書き込んだデータをそのまま誤り訂正符号化・復号化処理部が処理可能とする。   The present invention relates to memory area sharing between an error correction encoding / decoding processing unit (error correction library) and another processing unit (software using an error correction library). In particular, the present invention provides an error correction encoding / decoding processing unit and other processing units for a packet buffer memory address table arranged so that the beginning of a packet payload is an integer multiple of an error correction unit. By sharing the data, the error correction encoding / decoding processing unit can process the data written by the other processing unit as it is.

(実施形態1)
図1は、本発明の構成の一例を示す符号化装置の全体構成図である。本実施形態に係る符号化装置は、誤り訂正符号化装置として機能し、誤り訂正符号化処理部12を備える。誤り訂正符号化処理部12は誤り訂正ライブラリと読み替えることもできる。誤り訂正符号化装置はパケット伝送処理部11を備える。パケット伝送処理部11は、誤り訂正符号化処理部12の外側に配置される。
(Embodiment 1)
FIG. 1 is an overall configuration diagram of an encoding apparatus showing an example of the configuration of the present invention. The encoding device according to the present embodiment functions as an error correction encoding device and includes an error correction encoding processing unit 12. The error correction coding processing unit 12 can be read as an error correction library. The error correction coding apparatus includes a packet transmission processing unit 11. The packet transmission processing unit 11 is arranged outside the error correction coding processing unit 12.

パケット伝送処理部11は、パケット送信バッファメモリ確保要求部101と、ソースデータ読み取り部104と、ペイロードデータ書き込み部105と、符号化処理開始要求部106と、パケット送信部109と、を備える。誤り訂正符号化処理部12は、パケット送信バッファメモリ確保部102と、符号化用メモリアドレステーブル生成部及び送信用メモリアドレステーブル生成部として機能するパケット・ペイロードメモリアドレステーブル生成部103と、符号化用ペイロードメモリアドレステーブル入力部107と、符号化演算部108と、パケット送信バッファメモリ132を備える。   The packet transmission processing unit 11 includes a packet transmission buffer memory securing request unit 101, a source data reading unit 104, a payload data writing unit 105, an encoding process start request unit 106, and a packet transmission unit 109. The error correction encoding processing unit 12 includes a packet transmission buffer memory securing unit 102, a packet / payload memory address table generation unit 103 that functions as an encoding memory address table generation unit and a transmission memory address table generation unit, and an encoding Payload memory address table input unit 107, encoding operation unit 108, and packet transmission buffer memory 132.

本実施形態に係る符号化装置は、本実施形態に係る符号化方法を実行する。本実施形態に係る符号化方法は、送信側メモリアドレステーブル生成手順と、符号化演算手順と、を順に有する。
送信側メモリアドレステーブル生成手順では、送信データが格納されているパケット送信バッファメモリ132における1符号ブロックに含まれる各パケットのペイロードデータのメモリアドレスを管理する符号化用ペイロードメモリアドレステーブルTを生成する。
符号化演算手順では、符号化用ペイロードメモリアドレステーブルTに格納されているアドレスを参照してパケット送信バッファメモリ132から各パケットのペイロードデータを読み出し、読み出したペイロードデータの符号化を行う。
The encoding device according to the present embodiment executes the encoding method according to the present embodiment. The encoding method according to the present embodiment includes a transmission side memory address table generation procedure and an encoding calculation procedure in order.
For the sending memory address table generation procedure, generating encoded payload memory address table T C which manages the memory address of the payload data of each packet included in one code block in the packet transmitting buffer memory 132 which transmit data is stored To do.
The coding algorithm, by referring to the address stored in the encoded payload memory address table T C from the packet transmission buffer memory 132 reads out the payload data of each packet, carries out a coding of the read payload data.

送信側メモリアドレステーブル生成手順において、さらに、各パケットの情報に基づいてパケット送信バッファメモリ132における各パケットのヘッダのメモリアドレスを管理する送信用パケットメモリアドレステーブルTを作成してもよい。この場合、パケット送信部109は、送信用パケットメモリアドレステーブルTに格納されているアドレスを参照してパケット送信バッファメモリ132から各パケットのヘッダ及びペイロードデータを読み出して送信する。 In the transmission side memory address table generation procedure may further create a transmission packet memory address table T S which manages the memory address of the header of each packet in the packet transmitting buffer memory 132 based on the information of each packet. In this case, the packet transmission unit 109 transmits with reference to the address stored in the transmission packet memory address table T S from the packet transmission buffer memory 132 reads the header and payload data of each packet.

ステップS101:パケット送信バッファメモリ確保要求部101が、誤り訂正符号化処理部12に対し、パケット送信バッファメモリの確保要求を行う。このとき、パケット送信バッファメモリ確保要求部101は、各パケットに関する情報を指定する。各パケットに関する情報は、例えば、ヘッダ長、ソースペイロード長、リペアペイロード長、1符号ブロック中のソースペイロードの個数、リペアペイロードの個数である。各パケットに関する情報は、リペアペイロードの生成行列や生成多項式などの符号化のための情報も含む。これによって、1符号ブロックと等しいか、1符号ブロックよりも大きいサイズの領域のパケット送信バッファメモリ132をパケット・ペイロードメモリアドレステーブル生成部103が確保する。   Step S101: The packet transmission buffer memory securing request unit 101 makes a packet transmission buffer memory securing request to the error correction coding processing unit 12. At this time, the packet transmission buffer memory securing request unit 101 designates information regarding each packet. The information regarding each packet is, for example, the header length, the source payload length, the repair payload length, the number of source payloads in the code block, and the number of repair payloads. Information about each packet includes information for encoding such as a repair payload generation matrix and a generation polynomial. As a result, the packet / payload memory address table generating unit 103 secures a packet transmission buffer memory 132 having a size equal to or larger than one code block.

ステップS102:パケット送信バッファメモリ確保部102は、パケット伝送処理部11から参照可能なメモリ空間上に、1符号ブロック分のパケット(ヘッダ+ペイロード)データが格納できる十分な大きさのパケット送信バッファメモリ132を確保する。   Step S102: The packet transmission buffer memory securing unit 102 has a sufficiently large packet transmission buffer memory that can store packet (header + payload) data for one code block in a memory space that can be referred to by the packet transmission processing unit 11. 132 is secured.

ステップS103:パケット・ペイロードメモリアドレステーブル生成部103は、各ペイロード格納領域の先頭アドレスが、誤り訂正演算単位の境界上に置かれるように符号化用ペイロードメモリアドレステーブルTを生成する。このように、ペイロードデータの先頭アドレスが符号化の演算単位の整数倍になるように、符号化用ペイロードメモリアドレステーブルTを生成する。ここでの具体的な生成の方法については実施形態7において後述する。なお、メモリ確保とアドレステーブルの生成は、符号ブロック長(ソースペイロードの個数とリペアペイロードの個数の和)、ヘッダ長、ペイロード長などが変わらない限りは、送信開始時に一度行うだけでよい。 Step S103: Packet payload memory address table generating unit 103, the start address of each payload storage area generates a payload memory address table T C for encoding to be placed on the boundary of the error correction operation unit. Thus, the start address of the payload data is to be an integral multiple of arithmetic encoding unit, generating a payload memory address table T C for coding. A specific generation method will be described later in a seventh embodiment. Note that memory reservation and address table generation need only be performed once at the start of transmission as long as the code block length (the sum of the number of source payloads and the number of repair payloads), header length, payload length, and the like do not change.

送信用パケットメモリアドレステーブルTは、符号化用ペイロードメモリアドレステーブルTにおける各ペイロードのアドレス値から、パケットヘッダサイズ分のアドレス値を引いて生成される。パケット・ペイロードメモリアドレステーブル生成部103は、各ヘッダの先頭アドレスを集めた送信用パケットメモリアドレステーブルTのアドレスの数値からヘッダサイズを減算して生成する。例えば、ペイロード#1〜#4のアドレス値が0x0030、0x0620、0x0C10、0x1200であれば、Tはペイロード#1〜#4のアドレスとして0x0008、0x05F8、0x0BE8、0x11D8を格納する。 Transmission packet memory address table T S from the address value of each payload in encoded payload memory address table T C, is generated by subtracting the address value of the packet header size of. Packet payload memory address table generation unit 103 generates by subtracting the header size from the numerical address of the transmission packet memory address table T S a collection of head addresses of respective headers. For example, the address value of the payload # 1 to # 4 if 0x0030,0x0620,0x0C10,0x1200, T S stores 0x0008,0x05F8,0x0BE8,0x11D8 as the address of the payload # 1 to # 4.

ステップS104:ソースデータ読み取り部104は、ストレージやネットワークからパケット伝送の対象となるソースデータを読み取り、ペイロードデータ書き込み部105に渡す。   Step S <b> 104: The source data reading unit 104 reads the source data to be subjected to packet transmission from the storage or network and passes it to the payload data writing unit 105.

ステップS105:ペイロードデータ書き込み部105は、符号化用ペイロードメモリアドレステーブルTを参照し、ソースデータをソースペイロードに分割して、順次パケット送信バッファメモリ132に書き込みを行う。図1の例では、アドレス番地0x0030、0x0620、0x0C10、0x1200にそれぞれソースペイロード長分のソースデータを書き込む。図1の「0x0030」等のT内の四角は、各ペイロードが置かれるアドレスの数値の例であり、一つの四角が一つのセルで、複数のセルからテーブルが構成される。1符号ブロック分のソースペイロードの書き込みが終了した後、ステップS106を実行する。 Step S105: payload data writing unit 105 refers to the payload memory address table T C for coding, by dividing the source data to the source payload writes sequentially in the packet transmitting buffer memory 132. In the example of FIG. 1, source data corresponding to the source payload length is written to address addresses 0x0030, 0x0620, 0x0C10, and 0x1200, respectively. Square in T C of "0x0030" and the like in FIG. 1 is an example of numerical values of the addresses each payload is placed in a square one cell, the table is composed of a plurality of cells. After the writing of the source payload for one code block is completed, step S106 is executed.

ステップS106:符号化処理開始要求部106は、符号化処理の開始要求を行う。
ステップS107:符号化処理開始要求部106は、符号化用ペイロードメモリアドレステーブルTを符号化用ペイロードメモリアドレステーブル入力部107に入力する。符号化用ペイロードメモリアドレステーブル入力部107は、パケット送信部109から符号化に必要な符号化用ペイロードメモリアドレステーブルTを入力され、符号化演算部108へ出力する。
Step S106: The encoding process start request unit 106 makes a start request for the encoding process.
Step S107: encoding process start request unit 106 inputs the payload memory address table T C for encoding in the encoding payload memory address table input unit 107. Coded payload memory address table input unit 107 is input to the payload memory address table T C for encoding required for encoding the packet transmission unit 109, and outputs to the encoding operation unit 108.

ステップS108:符号化演算部108は、符号化用ペイロードメモリアドレステーブルTを参照しながら演算対象となるソースペイロードにアクセスして、LDPCにおける生成行列もしくはRS符号における生成多項式などによって指定される演算を行い、リペアペイロードを生成していく。符号化演算部108は、符号化用ペイロードメモリアドレステーブルTを参照して、例えば1番目と4番目と7番目のソースペイロードをXOR演算して1番目のリペアペイロードを生成する処理の際に、演算対象を読み出し、演算結果を書き込む。 Step S108: encoding operation unit 108 accesses the source payload to be calculated with reference to the payload memory address table T C for encoding operation specified by such a generator polynomial in the generator matrix or RS code in LDPC To generate a repair payload. Coding operation unit 108 refers to the payload memory address table T C for encoding, for example, the first and fourth and seventh source payload in the XOR operation to the processing for generating the first repair payload Read out the operation target and write the operation result.

例えばペイロード#5はペイロード#1とペイロード#3との演算で生成される、という情報が生成行列や生成多項式などにより指定されるが、その情報と符号化用ペイロードメモリアドレステーブルTの参照により、実際に演算のためメモリアクセスを行う箇所が決定される。なお、図1では生成されたリペアペイロードであるペイロード#5とペイロード#6の領域は、図上部のパケット送信バッファメモリ132におけるペイロード#5とペイロード#6と同一の領域である。しかし、リペアペイロードの生成先領域はパケット送信バッファメモリ132以外の領域に確保してもよい。ただし各リペアペイロードの領域は符号化用ペイロードメモリアドレステーブルTに記述されている必要がある。 For example payload # 5 are generated by the operation of the payload # 1 and the payload # 3, but the information that is specified by such a generator matrix and generator polynomial, by reference to the information and encoded payload memory address table T C The location where memory access is actually performed is determined. In FIG. 1, the areas of payload # 5 and payload # 6, which are repair payloads generated, are the same areas as payload # 5 and payload # 6 in the packet transmission buffer memory 132 at the top of the figure. However, the repair payload generation destination area may be secured in an area other than the packet transmission buffer memory 132. However area of each repair payload needs to be written in the payload memory address table T C for coding.

ステップS109:最後に、パケット送信部109が、送信用パケットメモリアドレステーブルTを参照しながら、一つずつパケットを送信していく。このとき、パケット送信部109は、送信用パケットメモリアドレステーブルTを先頭から参照していき、そのアドレスのデータをネットワークに対してパケット送信する。 Step S109: Finally, the packet transmission unit 109, with reference to the transmission packet memory address table T S, will send one by one packet. At this time, the packet transmission unit 109, will refer to the transmission packet memory address table T S from the head, packet transmits the data of the address to the network.

なお、各パケットのヘッダ領域は必ずしもパケット送信バッファメモリ132上に確保される必要はない。その場合は符号化用ペイロードメモリアドレステーブルTと送信用パケットメモリアドレステーブルTは同一の内容となり、パケット送信部109において、別に確保されたヘッダ領域のデータとペイロードのデータを結合し、パケット送信を行っていく。また、ヘッダの情報はパケット送信以前のどの段階で生成されてもよい。パケット送信部109に至るまでに生成されていなければ、パケット送信部109が生成を行う。 Note that the header area of each packet is not necessarily reserved on the packet transmission buffer memory 132. In that case, the transmission packet memory address table T S payload memory address table T C for coding becomes the same content, the packet transmission unit 109 combines the data of the data and payload of the header area secured separately, packet Send it. The header information may be generated at any stage before packet transmission. If it has not been generated before reaching the packet transmission unit 109, the packet transmission unit 109 performs generation.

図1のパケット・ペイロードメモリアドレステーブル生成部103、図1のパケット送信バッファメモリ確保部102、符号化用ペイロードメモリアドレステーブル入力部107、符号化演算部108に加え、ソフトがテーブルの作成をライブラリに依頼する仕組みとして、例えばソフトが稼動するシステムの代わりにライブラリを使うソフトからのメモリ割当要求を受けてメモリ割当をソフトに返すインタフェースを更に備えていてもよい。   In addition to the packet / payload memory address table generation unit 103 in FIG. 1, the packet transmission buffer memory reservation unit 102 in FIG. 1, the payload memory address table input unit 107 for encoding, and the encoding operation unit 108, the software creates a table. For example, instead of a system in which the software operates, an interface for receiving a memory allocation request from software using a library and returning the memory allocation to the software may be further provided.

本実施形態に係る誤り訂正符号化装置は、コンピュータを各機能部として動作させるソフトウェアを用いて実現してもよい。例えば、パケット・ペイロードメモリアドレステーブル生成部103、パケット送信バッファメモリ確保部102を備え、パケットのペイロードの先頭が誤り訂正演算単位の整数倍となるように配置したパケット単位のパケットバッファ用のアドレステーブルを生成し、そのアドレスを誤り訂正符号化ライブラリすなわち誤り訂正符号化処理部12に伝えるソフトウェアをコンピュータに実行させることで誤り訂正符号化装置を実現してもよい。以下の実施形態についても同様である。   The error correction coding apparatus according to the present embodiment may be realized using software that causes a computer to operate as each functional unit. For example, a packet / payload memory address table generating unit 103 and a packet transmission buffer memory securing unit 102, and a packet buffer address table for each packet arranged so that the beginning of the packet payload is an integer multiple of the error correction operation unit The error correction encoding apparatus may be realized by causing the computer to execute software that generates the error and transmits the address to the error correction encoding library, that is, the error correction encoding processing unit 12. The same applies to the following embodiments.

(実施形態2)
本実施形態では、パケット伝送処理部11自身が、パケット送信バッファメモリ132、符号化用ペイロードメモリアドレステーブルT、送信用パケットメモリアドレステーブルTを作成する。この場合、各ペイロードの先頭アドレスが符号化演算部108における演算単位でアライメントされるように、ペイロードデータ書き込み部105が符号化用ペイロードメモリアドレステーブルTを生成する。本実施形態に係る符号化用ペイロードメモリアドレステーブルTの具体的な生成法については後述する実施形態7で説明する。
(Embodiment 2)
In the present embodiment, the packet transmission processing unit 11 itself, creates a packet transmission buffer memory 132, the coding payloads memory address table T C, the transmission packet memory address table T S. In this case, as the head address of each payload are aligned by the arithmetic unit in the encoding operation unit 108, the payload data write unit 105 generates a payload memory address table T C for coding. Specific generation method of encoding payload memory address table T C according to the present embodiment will be described in Embodiment 7 described below.

本実施形態では、実施形態1においてステップS101とステップS102のステップを省き、ステップS102とステップS103と同等の処理をパケット伝送処理部11内で行う。以降は実施形態1と同じである。   In the present embodiment, steps S101 and S102 in the first embodiment are omitted, and processing equivalent to steps S102 and S103 is performed in the packet transmission processing unit 11. The subsequent steps are the same as those in the first embodiment.

本実施形態の構成を採用することによって、パケット送信バッファメモリ確保要求部101、パケット送信バッファメモリ確保部102及びパケット・ペイロードメモリアドレステーブル生成部103を省略することができる。   By adopting the configuration of this embodiment, the packet transmission buffer memory securing request unit 101, the packet transmission buffer memory securing unit 102, and the packet / payload memory address table generating unit 103 can be omitted.

(実施形態3)
図2は、本実施形態に係る復号装置の全体構成図である。本実施形態に係る復号装置は誤り訂正復号装置として機能し、誤り訂正復号処理部22を備える。本実施形態に係る誤り訂正復号装置はパケット受信処理部21を備える。パケット受信処理部21は、誤り訂正復号処理部22の外側に配置される。
(Embodiment 3)
FIG. 2 is an overall configuration diagram of the decoding apparatus according to the present embodiment. The decoding device according to the present embodiment functions as an error correction decoding device and includes an error correction decoding processing unit 22. The error correction decoding apparatus according to the present embodiment includes a packet reception processing unit 21. The packet reception processing unit 21 is disposed outside the error correction decoding processing unit 22.

パケット受信処理部21は、パケット受信バッファメモリ確保要求部201と、パケット受信部204と、ペイロードデータ書き込み部205と、受信可否テーブル作成部として機能する受信可否テーブル・復号用テーブルメモリアドレステーブル更新部206と、復号処理開始要求部207と、ソースデータ出力部210と、を備える。誤り訂正復号処理部22は、パケット受信バッファメモリ確保部202と、復号用メモリアドレステーブル生成部として機能するパケット・ペイロードメモリアドレステーブル生成部203と、復号用ペイロードメモリアドレステーブル入力部208と、復号演算部209と、パケット受信バッファメモリ232を備える。   The packet reception processing unit 21 includes a packet reception buffer memory securing request unit 201, a packet reception unit 204, a payload data writing unit 205, and a reception availability table / decoding table memory address table update unit that functions as a reception availability table creation unit. 206, a decryption processing start request unit 207, and a source data output unit 210. The error correction decoding processing unit 22 includes a packet reception buffer memory securing unit 202, a packet / payload memory address table generation unit 203 functioning as a decoding memory address table generation unit, a decoding payload memory address table input unit 208, and a decoding A calculation unit 209 and a packet reception buffer memory 232 are provided.

本実施形態に係る復号装置は、本実施形態に係る復号方法を実行する。本実施形態に係る復号方法は、受信側メモリアドレステーブル生成手順と、復号演算手順と、を順に有する。
受信側メモリアドレステーブル生成手順では、受信データが格納されているパケット受信バッファメモリ232におけるペイロードデータのメモリアドレスを管理する復号用ペイロードメモリアドレステーブルTを生成する。
復号演算手順では、復号用ペイロードメモリアドレステーブルTに格納されているアドレスを参照してパケット受信バッファメモリ232から各パケットのペイロードデータを読み出し、読み出したペイロードデータの復号を行う。
The decoding device according to the present embodiment executes the decoding method according to the present embodiment. The decoding method according to the present embodiment includes a reception-side memory address table generation procedure and a decoding calculation procedure in order.
The receiving memory address table generation procedure to generate a decoded payload memory address table T D for managing the memory address of the payload data in the packet receiving buffer memory 232 which received data are stored.
The decoding algorithm reads the payload data of each packet from the packet reception buffer memory 232 with reference to the address stored in the decoded payload memory address table T D, decodes the read payload data.

受信側メモリアドレステーブル生成手順では、各パケットの受信の有無を、各パケットの送信順に管理する受信可否テーブルTA1を作成し、1符号ブロックに含まれる各パケットのデータを受信順に格納しているパケット受信バッファメモリ232における各パケットのヘッダのアドレスを、各パケットの情報に基づいて送信順と関連付けてもよい。この場合、復号演算手順において、復号演算部209は、受信可否テーブルTA1の各パケットの受信の有無に基づいて、消失したパケットを復元する。 The receiving memory address table generation procedure stores the presence or absence of the reception of each packet, to create a receivability table T A1 for managing the transmission order of each packet, the data of each packet included in one code block in the order received The header address of each packet in the packet reception buffer memory 232 may be associated with the transmission order based on the information of each packet. In this case, in the decoding calculation procedure, the decoding calculation unit 209 restores the lost packet based on whether or not each packet is received in the reception availability table T A1 .

ステップS201:パケット受信バッファメモリ確保要求部201が、誤り訂正復号処理部22に対し、パケット受信バッファメモリの確保要求を行う。このとき、パケット受信バッファメモリ確保要求部201は、各パケットに関する情報を指定する。各パケットに関する情報は、例えば、ヘッダ長、ソースペイロード長、リペアペイロード長、1符号ブロック中のソースペイロードの個数、リペアペイロードの個数である。各パケットに関する情報は、リペアペイロードの誤り検査行列や生成多項式などの符号に関する情報も含む。これによって、1符号ブロックより大きいサイズの領域のパケット受信バッファメモリ232をパケット・ペイロードメモリアドレステーブル生成部203が確保する。   Step S201: The packet reception buffer memory securing request unit 201 makes a request for securing the packet reception buffer memory to the error correction decoding processing unit 22. At this time, the packet reception buffer memory securing request unit 201 designates information regarding each packet. The information regarding each packet is, for example, the header length, the source payload length, the repair payload length, the number of source payloads in the code block, and the number of repair payloads. The information regarding each packet includes information regarding codes such as an error check matrix and a generator polynomial of the repair payload. As a result, the packet / payload memory address table generating unit 203 secures the packet reception buffer memory 232 having an area larger than one code block.

ステップS202:パケット受信バッファメモリ確保部202は、パケット受信処理部21から参照可能なメモリ空間上に、1符号ブロック分のパケット(ヘッダ+ペイロード)データが格納できる十分な大きさのパケット受信バッファメモリ232を確保する。   Step S202: The packet reception buffer memory securing unit 202 has a sufficiently large packet reception buffer memory that can store packet (header + payload) data for one code block in a memory space that can be referred to by the packet reception processing unit 21. 232 is secured.

ステップS203:パケット・ペイロードメモリアドレステーブル生成部203は、各ペイロード格納領域の先頭アドレスが、誤り訂正演算単位の境界上に置かれるように復号用ペイロードメモリアドレステーブルTを生成する。このように、ペイロードデータの先頭アドレスが復号化の演算単位の整数倍になるように、復号用ペイロードメモリアドレステーブルTを生成する。ここでの具体的な生成の方法については実施形態7において後述する。なお、メモリ確保とアドレステーブルの生成は、符号ブロック長(ソースペイロードの個数とリペアペイロードの個数の和)、ヘッダ長、ペイロード長などが変わらない限りは、送信開始時に一度行うだけでよい。 Step S203: Packet payload memory address table generating unit 203, the start address of each payload storage area, to generate a decoded payload memory address table T D to be placed on the boundary of the error correction operation unit. Thus, as the start address of the payload data is an integral multiple of the operational units of the decoding to generate a decoded payload memory address table T D. A specific generation method will be described later in a seventh embodiment. Note that memory reservation and address table generation need only be performed once at the start of transmission as long as the code block length (the sum of the number of source payloads and the number of repair payloads), header length, payload length, and the like do not change.

受信用パケットメモリアドレステーブルTは、復号用ペイロードメモリアドレステーブルTにおける各ペイロードのアドレス値から、パケットヘッダサイズ分のアドレス値を引いて生成される。パケット・ペイロードメモリアドレステーブル生成部203は、各ヘッダの先頭アドレスを集めた受信用パケットメモリアドレステーブルTのアドレスの数値からヘッダサイズを加算して生成する。例えば、ペイロード#1〜#4のTのアドレス値が0x0030、0x0620、0x0C10、0x1200であれば、Tはペイロード#1〜#4のアドレスとして0x0008、0x05F8、0x0BE8、0x11D8を格納する。 Receiving packet memory address table T R from the address value of each payload in decoding the payload memory address table T D, it is generated by subtracting the address value of the packet header size of. Packet payload memory address table generating unit 203 generates and adds the header size from the numerical address of the received packet memory address table T R a collection of head addresses of respective headers. For example, the address value of T D of the payload # 1 to # 4 if 0x0030,0x0620,0x0C10,0x1200, T R stores 0x0008,0x05F8,0x0BE8,0x11D8 as the address of the payload # 1 to # 4.

ステップS204:パケット受信部204は、ネットワークを介しパケット伝送処理部11からパケットを受信する。   Step S204: The packet receiving unit 204 receives a packet from the packet transmission processing unit 11 via the network.

ステップS205:パケット受信部204は、ペイロードデータ書き込み部205に渡す。ペイロードデータ書き込み部205は受信用パケットメモリアドレステーブルTを参照し、受信したパケットを受信順に順次パケット受信バッファメモリ232に書き込む。なお、ここで各パケットのヘッダを格納する領域は必ずしもパケット受信バッファメモリ232上にある必要はなく、その場合はパケット受信部204においてヘッダが取り除かれ、ペイロードのみが書き込まれる。パケット受信後、ステップS206を実行する。 Step S205: The packet receiving unit 204 passes the data to the payload data writing unit 205. Payload data writing unit 205 refers to the reception packet memory address table T R, and writes the received packets into the sequential packet reception buffer memory 232 in the order received. Here, the area for storing the header of each packet is not necessarily in the packet reception buffer memory 232. In this case, the header is removed by the packet reception unit 204 and only the payload is written. After receiving the packet, step S206 is executed.

ステップS206:受信可否テーブル・復号用ペイロードメモリアドレステーブル更新部206は、受信したパケットのペイロード番号に対応する、復号用ペイロードメモリアドレステーブルTのセルに、そのペイロードが格納されたアドレスを記録するという更新処理を行う。また同様に受信可否テーブルTA1の対応するセルに受信を記録する。1符号ブロック分のパケット受信処理が終了するまで、ステップS204からS206の処理を繰り返す。 Step S206: receiving availability table decoding payload memory address table updating unit 206 corresponds to the payload number of the received packet, to the cells of the decoded payload memory address table T D, to record the address at which the payload is stored Update process is performed. Similarly, the reception is recorded in the corresponding cell of the reception availability table T A1 . Steps S204 to S206 are repeated until the packet reception process for one code block is completed.

1符号ブロック分の受信が終了した後、ステップS206において、受信できなかった番号に対応する復号用ペイロードメモリアドレステーブルTのセルに、ペイロード復号時のデータ格納先のアドレスを記録し、対応する受信可否テーブルTA1のセルには消失の記録を行う。 After reception of one code block has been completed, in step S206, the cell of decoding the payload memory address table T D corresponding to the not received number, recording data storage destination address for the payload decoding, the corresponding The erasure is recorded in the cell of the reception availability table T A1 .

ステップS207:復号処理開始要求部207は、復号処理の開始要求を行う。このとき、復号処理開始要求部207は、これら2つのテーブルT及びTA1を、復号用ペイロードメモリアドレステーブル入力部208に入力する。 Step S207: The decryption process start request unit 207 makes a decryption process start request. In this case, the decoding processing start request unit 207, these two tables T D and T A1, and inputs to the decoding payload memory address table input unit 208.

ステップS208:復号演算部209は、復号用ペイロードメモリアドレステーブルTを参照しながら演算対象となるペイロードにアクセスして、LDPCにおける誤り検査行列もしくはRS符号における生成多項式などによって指定される演算を行い、消失したペイロードを復元していく。 Step S208: decoding arithmetic unit 209 accesses the payload to be calculated with reference to the decoded payload memory address table T D, performs a computation designated by like generator polynomial in the error check matrix or the RS code in LDPC , Recover lost payload.

例えばペイロード#3はペイロード#1とペイロード#5との演算で復元される、という情報が誤り検査行列や生成多項式などにより指定されるが、その情報とペイロードメモリアドレステーブルの参照により、実際に演算のためメモリアクセスを行う箇所が決定される。なお、図2では復元されたペイロードであるペイロード#3の領域は、パケット受信バッファメモリ232におけるペイロード#3と同一の領域である。しかし、ペイロードの復元先領域はパケット受信バッファメモリ232以外の領域に確保してもよい。ただし各復元されたペイロードの領域は復号用ペイロードメモリアドレステーブルTに記述されている必要がある。 For example, the information that the payload # 3 is restored by the operation of the payload # 1 and the payload # 5 is specified by an error check matrix, a generator polynomial, etc., but it is actually calculated by referring to the information and the payload memory address table. Therefore, the location for memory access is determined. In FIG. 2, the area of the payload # 3 that is the restored payload is the same area as the payload # 3 in the packet reception buffer memory 232. However, the restoration destination area of the payload may be secured in an area other than the packet reception buffer memory 232. However the area of the restored payload needs to be written to the decoding payload memory address table T D.

本実施形態に係る誤り訂正復号装置は、パケット受信処理部21と異なる誤り訂正復号処理部22が復号用ペイロードメモリアドレステーブルTを管理するため、パケット受信処理部21の負荷を減らすことができる。誤り訂正ライブラリを利用するソフト側が復号用ペイロードメモリアドレステーブルTを管理するので、ソフト側で別途、特定のペイロードにアクセスしたり、ソフト側の都合でペイロードデータを一時的に別の領域に移しても、アドレステーブルをそれに合わせて更新することができる。 Error correction decoding apparatus according to this embodiment, since the error correction decoding processing unit 22 different from the packet reception processing section 21 manages the decryption payload memory address table T D, it is possible to reduce the load of the packet reception processing section 21 . The soft side to utilize the error correction library manages the decryption payload memory address table T D, separately soft side, access to a specific payload temporarily transferred to another area of the payload data on account of the soft side However, the address table can be updated accordingly.

(実施形態4)
図3は、本実施形態に係る誤り訂正復号装置の全体構成図である。本実施形態に係る誤り訂正復号装置は、実施形態2における受信可否テーブル・復号用テーブルメモリアドレステーブル更新部206に代えて受信可否テーブル更新部226を備え、復号用ペイロードメモリアドレステーブル入力部208に代えて復号用ペイロードメモリアドレステーブル更新・入力部228を備える。
(Embodiment 4)
FIG. 3 is an overall configuration diagram of the error correction decoding apparatus according to the present embodiment. The error correction decoding apparatus according to the present embodiment includes a reception availability table update unit 226 instead of the reception availability table / decoding table memory address table update unit 206 in the second embodiment, and the decoding payload memory address table input unit 208 includes Instead, a decoding payload memory address table update / input unit 228 is provided.

実施形態3の場合、受信可否テーブルTA1のセル番号とペイロード番号が対応するため、例えば1が受信、0が消失を示すとして、TA1[2]=1、TA1[3]=0とした場合、ペイロード#2は受信、ペイロード#3は消失、という形で受信可否テーブルを更新する。このとき、実施形態3のTA1の添字はペイロード番号を示す。 In the case of the third embodiment, since the cell number and payload number in the reception availability table T A1 correspond to each other, TA1 [2] = 1 and TA1 [3] = 0 assuming that 1 indicates reception and 0 indicates erasure. , Payload # 2 is received, Payload # 3 is lost, and the reception availability table is updated. At this time, the suffix of T A1 in Embodiment 3 indicates the payload number.

本実施形態では、受信可否テーブルTA3がパケットの受信順と受信したペイロード番号の対応付けが可能な形式になっている。例えば、TA1[1]=1、TA1[2]=4、TA1[3]=5、・・・のように、受信したペイロード番号を各セルに入力していきTA1を更新していく。ここで、実施形態4のTA1の添字は受信順を示す。パケット受信処理部21がパケット受信後に、受信可否テーブル更新部226が、受信可否テーブルTA3のみを更新し、復号用ペイロードメモリアドレステーブルTは更新しない。 In the present embodiment, the reception availability table T A3 has a format in which the packet reception order can be associated with the received payload number. For example, TA1 [1] = 1, TA1 [2] = 4, TA1 [3] = 5, etc., and the received payload number is input to each cell, and TA1 is updated. Here, the subscript of T A1 in Embodiment 4 indicates the order of reception. After the packet reception processing section 21 is a packet received, the receiving availability table updating unit 226 updates only the receivability table T A3, decoding the payload memory address table T D is not updated.

復号処理開始要求部207は、受信可否テーブルTA3を復号用ペイロードメモリアドレステーブル更新・入力部228に入力する。そして、復号用ペイロードメモリアドレステーブル更新・入力部228が、受信可否テーブルTA2を元に復号用ペイロードメモリアドレステーブルTを更新する。 The decryption processing start request unit 207 inputs the reception availability table T A3 to the decryption payload memory address table update / input unit 228. Then, the decoding payload memory address table update and input unit 228, and updates the decryption payload memory address table T D based on the received permission table T A2.

本実施形態では、復号演算部209は、受信可否テーブルTA3は実施形態3と同様に、セルの順番がペイロードの順番と一致する形式で更新する。例えば、3番目のセルがペイロード#3の受信可否と対応するように更新する。または別の受信可否テーブルTA2を同形式で作成してもよい。 In the present embodiment, the decoding operation unit 209 updates the reception availability table TA A3 in a format in which the cell order matches the payload order, as in the third embodiment. For example, the third cell is updated so as to correspond to whether or not the payload # 3 can be received. Alternatively, another reception availability table T A2 may be created in the same format.

例えば、最初に受信したペイロードはアドレス0x0030番地に、2番目に受信したペイロードはアドレス0x0620番地に・・・という形で、受信順と格納先のメモリアドレスの対応は決まっているため、TD[1]=0x0030、TD[4]=0x0620、TD[5]=0x0C10、・・・というように誤り訂正復号処理部22の中で復号用ペイロードメモリアドレステーブルTを更新することができる。ただし、本実施形態では、Tの添字はペイロード番号を示す。 For example, since the first received payload is address 0x0030, the second received payload is address 0x0620, etc., the correspondence between the reception order and the memory address of the storage destination is determined, so TD [1 ] = 0x0030, TD [4] = 0x0620, TD [5] = 0x0C10, it is possible to update the decryption payload memory address table T D in the error correction decoding process section 22 and so on .... However, in the present embodiment, subscript T D indicates the payload number.

復号処理後、パケット受信処理部21はどのペイロードが復元できてどれができなかったか知る必要があるが、その情報を伝えるためには実施形態3のTA2のように、復元できなかったところが0である必要がある。このため、誤り訂正復号処理部22の中で実施形態3のTA1の形式に変更する。復元結果を伝えるための受信可否テーブルTA2の性質は、実施形態3と同様である。 After the decoding process, the packet reception processing unit 21 needs to know which payload could be restored and which could not be done. However, in order to convey the information, the place where the restoration could not be performed is 0 as in T A2 of the third embodiment. Need to be. Therefore, the error correction decoding processing unit 22 changes the format to T A1 in the third embodiment. The nature of the reception availability table T A2 for transmitting the restoration result is the same as in the third embodiment.

本実施形態において、受信できなかったペイロード番号については、パケット受信処理部21が受信可否テーブルTA3の最後に記述し、合計何個受信したか、という情報と共に誤り訂正復号処理部22に通知する。例えば、ペイロード#3と#6が消失した場合、パケット受信処理部21は、TA1[5]=3、TA1[6]=6として計4個受信したという情報を誤り訂正復号処理部22に通知する。 In the present embodiment, the payload number that could not be received is described at the end of the reception availability table T A3 by the packet reception processing unit 21 and notified to the error correction decoding processing unit 22 together with information indicating how many have been received. . For example, when payloads # 3 and # 6 are lost, the packet reception processing unit 21 notifies the error correction decoding processing unit 22 of information that a total of four received as TA1 [5] = 3 and TA1 [6] = 6. To do.

復号演算部209は、バッファの空いている領域から#3と#6の復元先を割り当てる。例えば、TD[3]=0x17F0、TD[6]=0x1DE0と更新しておく。これにより、パケット受信処理部21はTを参照して復元したデータを取り出すことができる。 The decoding calculation unit 209 allocates restoration destinations # 3 and # 6 from an empty area of the buffer. For example, TD [3] = 0x17F0 and TD [6] = 0x1DE0 are updated. Thus, the packet reception processing section 21 can retrieve the data restored by referring to T D.

本実施形態に係る発明は、ソフト側は復号用ペイロードメモリアドレステーブルTと、その更新部を実装しなくて済み、ソフト側の構成を簡易なものにする効果がある。 The invention according to this embodiment, the soft side and decoding the payload memory address table T D, it is not necessary to implement the update unit, the effect of those simplify the structure of the soft side.

本実施形態に係る誤り訂正復号装置は、ソフトウェアがテーブルの作成をライブラリに依頼する仕組みとして、例えばソフトが稼動するシステムの代わりにライブラリを使うソフトからのメモリ割当要求を受けてメモリ割当をソフトに返すインタフェースを更に備えていてもよい。   In the error correction decoding apparatus according to the present embodiment, as a mechanism in which software requests a library to create a table, for example, in response to a memory allocation request from software that uses a library instead of a system in which the software operates, the memory allocation is performed by software. An interface for returning may be further provided.

(実施形態5)
図4は、本実施形態に係る誤り訂正復号装置の全体構成図である。本実施形態に係る誤り訂正復号装置は、実施形態2における受信可否テーブル・復号用テーブルメモリアドレステーブル更新部206に代えて受信可否テーブル更新部226を備える。
(Embodiment 5)
FIG. 4 is an overall configuration diagram of the error correction decoding apparatus according to the present embodiment. The error correction decoding apparatus according to the present embodiment includes a reception availability table update unit 226 instead of the reception availability table / decoding table memory address table update unit 206 in the second embodiment.

本実施形態では、ペイロードデータ書き込み部205が、受信したデータを受信順ではなく、受信パケットのペイロードヘッダを一度解析してペイロード番号を取得した上で、ペイロード番号順にパケット受信バッファメモリ232に配置していく。復号用ペイロードメモリアドレステーブルTの各セルのアドレス値は、セル番号と同じペイロード番号が配置されるアドレスを示していれば良いため更新の必要がない。したがって、本実施形態に係る誤り訂正復号装置は、受信可否テーブル更新部226で実施形態3と同様に受信可否テーブルTA1を更新し、あとは実施形態3と同様の処理を行う。 In this embodiment, the payload data writing unit 205 analyzes the payload header of the received packet once, not in the order of reception, and obtains the payload number, and then places it in the packet reception buffer memory 232 in the order of the payload number. To go. Address value of each cell in decoding the payload memory address table T D is not required updates for sufficient if the address of the same payload number and cell numbers are arranged. Therefore, the error correction decoding apparatus according to the present embodiment updates the reception availability table T A1 by the reception availability table updating unit 226 in the same manner as in Embodiment 3, and thereafter performs the same processing as in Embodiment 3.

(実施形態6)
実施形態3,4,5における別の実施形態として、パケット受信バッファメモリ確保要求部201を備えず、パケット受信処理部21内部でパケット受信バッファメモリ232、受信用ペイロードメモリアドレステーブルT、復号用パケットメモリアドレステーブルTを作成してもよい。
(Embodiment 6)
Another embodiment of the embodiment 3, 4, 5, not provided with the packet reception buffer memory securement requesting unit 201, a packet receiving buffer memory 232 within the packet reception processing section 21, receiving the payload memory address table T R, for decoding a packet memory address table T D may be created.

本実施形態では、各ペイロードの先頭アドレスが復号演算部209における演算単位でアライメントされるように、復号用ペイロードメモリアドレステーブルTを生成する。この場合、実施形態3,4,5においてステップS201とステップS202のステップを省き、ステップS202とステップS203と同等の処理をパケット受信処理部21内で行う。以降は実施形態3,4,5と同じである。 In this embodiment, as the head address of each payload are aligned by the arithmetic unit in decoding operation unit 209 to generate a decoded payload memory address table T D. In this case, steps S201 and S202 are omitted in the third, fourth, and fifth embodiments, and processing equivalent to steps S202 and S203 is performed in the packet reception processing unit 21. The subsequent steps are the same as those in the third, fourth, and fifth embodiments.

(実施形態7)
本実施形態では、実施形態1及び2における符号化用ペイロードメモリアドレステーブルT並びに実施形態3〜5における復号用ペイロードメモリアドレステーブルTの具体的な生成法を述べる。
(Embodiment 7)
In the present embodiment, it described a specific generation method of decoding the payload memory address table T D in the payload memory address for coding table T C and Embodiment 3-5 in the first and second embodiments.

およびTは、各ヘッダの先頭アドレスの数値からヘッダサイズを減算して生成する。例えば誤り訂正演算単位が16バイトである場合、図5のように1符号ブロックに相当するパケット数のバッファメモリの確保を行い、16の倍数となるように各ペイロード格納領域の先頭アドレスの算出を行い、ペイロードメモリアドレステーブルを作成する。例えば、ペイロードの先頭アドレスが「0x0030」であり、パケットヘッダサイズが40byteの場合、ペイロード格納領域の先頭アドレスは「0x0008」となる。 T C and T D is generated by subtracting the header size from the numerical start address of each header. For example, when the error correction operation unit is 16 bytes, the buffer memory of the number of packets corresponding to one code block is secured as shown in FIG. 5, and the start address of each payload storage area is calculated so as to be a multiple of 16. To create a payload memory address table. For example, when the payload start address is “0x0030” and the packet header size is 40 bytes, the payload storage area start address is “0x0008”.

図5では各ペイロードの末尾と次のヘッダの先頭が、同じ16バイトの区切り内に入らないように、各ペイロードの末尾から12バイト分の空き領域を確保している。図6では、各ペイロードの末尾からの空き領域を可能な限り少なくして、ペイロード格納領域を配置している例を示している。ペイロード末尾のアドレスにヘッダサイズを加算した値を16バイト単位で切り上げたアドレスが次のペイロード先頭アドレスとなり、そこからヘッダ先頭アドレスを逆算して配置することで、計算上これ以上減らせない値まで減らす。   In FIG. 5, an empty area of 12 bytes from the end of each payload is secured so that the end of each payload and the beginning of the next header do not fall within the same 16-byte segment. FIG. 6 shows an example in which the payload storage area is arranged with the empty area from the end of each payload as small as possible. The address obtained by rounding up the value obtained by adding the header size to the address at the end of the payload in units of 16 bytes becomes the next payload start address, and the header start address is calculated backward from there to reduce it to a value that cannot be further reduced in calculation. .

誤り訂正の符号化・復号演算においては、複数のペイロードを演算単位に区切り排他的論理和を演算していくが、図6のような配置を行った場合には、図7で示すようにペイロードの末尾で無関係なヘッダ領域先頭同士の排他的論理和が演算されてしまう。図7では、2つのペイロードの先頭アドレスから、16バイトずつXOR演算を行い、演算結果格納先に順次格納する。末尾の部分は、不使用の部分も含め格納し、ソフト側ではこの不使用部分を無視してデータを取り扱う。ただしこの場合でも、演算結果の末尾から演算単位境界までのデータは不使用領域として無視して取り扱うことができる。   In the error correction encoding / decoding operation, a plurality of payloads are divided into operation units and exclusive OR is calculated. However, when the arrangement as shown in FIG. 6 is performed, the payload as shown in FIG. XOR of the header area heads that are irrelevant at the end of is calculated. In FIG. 7, XOR operation is performed 16 bytes at a time from the top addresses of two payloads, and the result is sequentially stored in the operation result storage destination. The last part is stored including the unused part, and the software handles the data by ignoring the unused part. However, even in this case, data from the end of the calculation result to the calculation unit boundary can be ignored and handled as a non-use area.

図5のメモリ配置の例は、ペイロード同士のXOR(排他的論理和)演算を行った場合に、ペイロード末尾での演算において、本来演算に必要ないヘッダ領域が一部巻き込まれてしまうことを防ぐ効果がある。図6の例は、ペイロード末尾と次のヘッダ間の空き領域を最小限にする効果がある。このため、図7で、図6ではペイロード末尾のXOR演算で次のヘッダの先頭が一部巻き込まれるが、必要のない部分は不使用にする。従って、各パケットのヘッダ領域に、ペイロード同士の演算前にあらかじめ意味のある情報が格納されていた場合、図5を用いる。   The example of the memory arrangement of FIG. 5 prevents a part of the header area that is not necessary for the operation from being partially involved in the operation at the end of the payload when performing an XOR (exclusive OR) operation between the payloads. effective. The example of FIG. 6 has the effect of minimizing the empty area between the end of the payload and the next header. For this reason, in FIG. 7, in FIG. 6, the beginning of the next header is partly involved in the XOR operation at the end of the payload, but unnecessary portions are not used. Therefore, FIG. 5 is used when meaningful information is stored in advance in the header area of each packet before the calculation of payloads.

なお、確保領域外へのメモリアクセスを防ぐために、図6のような配置を行った場合は、符号ブロック最後のペイロード末尾後の空き領域は、演算単位で区切られるように確保される必要がある。   In order to prevent memory access outside the reserved area, when the arrangement as shown in FIG. 6 is performed, the empty area after the end of the payload at the end of the code block needs to be secured so as to be divided by the operation unit. .

<発明によって生じる効果>
本発明により、誤り訂正符号化処理部12とパケット伝送処理部11との間でのデータの共有に伴うコストを削減するとともに、誤り訂正復号処理部22とパケット受信処理部21との間でのデータの共有に伴うコストを削減することができ、全体としてのスループット向上および処理負荷の削減が可能となる。
<Effects produced by the invention>
According to the present invention, the cost associated with data sharing between the error correction coding processing unit 12 and the packet transmission processing unit 11 is reduced, and the error correction decoding processing unit 22 and the packet reception processing unit 21 are connected to each other. Costs associated with data sharing can be reduced, and overall throughput can be improved and processing load can be reduced.

ネットワーク伝送経路でパケットの順序入れ替えが発生した場合、受信側で本来の順番にデータを入れ替える処理は、メモリコピーが必要なため負荷が発生する。実施形態3から実施形態5に係る誤り訂正復号処理部22は、復号用ペイロードメモリアドレステーブルTを管理し、受信したままの順番で受信バッファ上にパケットを格納していく。このため、実施形態3から実施形態5に係る誤り訂正復号装置は、パケット受信処理部21の負荷を減らすことができる。誤り訂正復号処理部22では、ペイロード単位での排他的論理和の演算を行うので、ペイロード番号と対応するペイロード格納先メモリアドレスがわかれば、ペイロードが本来の番号順に並んでいなくても復号演算を行うことが可能である。この効果は、パケット単位、もしくはペイロード単位での演算を行い、かつその到着順序が保証されない誤り訂正処理の分野において特に有効であるということができる。 When the packet order is changed in the network transmission path, the process of changing the data in the original order on the receiving side requires a memory copy, which causes a load. Error correction decoding processing unit 22 according to the fifth embodiment from the third embodiment manages the decryption payload memory address table T D, continue to store the packet on a receiving buffer in the order as received. For this reason, the error correction decoding apparatus according to the third to fifth embodiments can reduce the load on the packet reception processing unit 21. Since the error correction decoding processing unit 22 performs an exclusive OR operation for each payload, if the payload storage memory address corresponding to the payload number is known, the decoding operation can be performed even if the payloads are not arranged in the original number order. Can be done. This effect can be said to be particularly effective in the field of error correction processing in which operations are performed in packet units or payload units and the arrival order is not guaranteed.

誤り訂正処理を用いる情報伝送において、伝送の単位であるパケットは、一般的に誤りに対する保護の対象となるペイロード部分と、保護の必要がないヘッダ部分とで構成される。メモリ上にペイロード部分だけを連続的に配置する構成の場合、送信時にヘッダと結合してパケットを構成するためのメモリコピーが発生し、受信時には一時的な領域にパケットを格納してからペイロードのみを取り出すメモリコピーが必要となる。本発明のように送信用・受信用パケットメモリアドレステーブルを参照しながらパケット全体をメモリ上に格納する場合は、送受信に関わるメモリコピーの回数を減らすことができる。この上で本発明のように符号化用・復号用ペイロードメモリアドレステーブルを用いることで、誤り訂正の演算に必要なペイロード部分のデータのみにアクセスしながら、誤り訂正処理を行うことが可能である。   In information transmission using error correction processing, a packet, which is a unit of transmission, is generally composed of a payload portion that is subject to protection against errors and a header portion that does not require protection. In the case of a configuration in which only the payload portion is continuously arranged on the memory, a memory copy is generated to form a packet by combining with the header at the time of transmission, and only the payload is stored after storing the packet in a temporary area at the time of reception You need a memory copy to remove When the entire packet is stored in the memory while referring to the transmission / reception packet memory address table as in the present invention, the number of memory copies related to transmission / reception can be reduced. Furthermore, by using the encoding / decoding payload memory address table as in the present invention, it is possible to perform error correction processing while accessing only the data of the payload portion necessary for error correction calculation. .

実施形態5の場合は、ペイロード番号を知るために一度ヘッダを見る必要があるため、パケット受信部204のソケットバッファから、一度別の領域にメモリコピーする必要が生じる場合がある。またペイロード番号と対応するメモリアドレスを受信用パケットメモリアドレステーブルTから探す処理が加わるため、実施形態3及び実施形態4と比べて本発明の効果は弱くなる。一方、復号用ペイロードメモリアドレステーブルTの更新の必要がないため、容易な実装とすることができる。 In the case of the fifth embodiment, since it is necessary to look at the header once to know the payload number, it may be necessary to copy the memory from the socket buffer of the packet receiving unit 204 to another area once. Since the process for searching the memory address corresponding to the payload number from the received packet memory address table T R is applied, the effect of the present invention as compared to the third and fourth embodiments is weakened. Meanwhile, there is no need for updating decryption payload memory address table T D, can be easily implemented.

さらに、昨今のコンピュータはSIMD(Single Instruction Multiple Data)演算のための命令拡張を有しており、これを用いることで誤り訂正処理における排他的論理和の演算速度を大きく向上させることができる。例えば通常の32ビットCPUでは32ビット(4バイト)毎の排他的論理和の演算しか実行できないのに対し、SIMD命令を用いることで128ビット(16バイト)単位での演算が可能になり、大幅に演算速度が向上する。しかし、このためには演算対象のデータに16バイト単位でアクセスする必要がある。誤り訂正演算においてはペイロードデータのみが演算対象となるため、ペイロードデータの先頭から16バイトずつの演算ができるよう、ペイロードデータの先頭アドレスは16バイトの倍数でなければならない。すなわちペイロードデータは16バイトでアライメントされた領域に確保されなければならない。ヘッダとペイロードを合わせたパケットサイズが16の倍数であれば、ヘッダのサイズが16バイトの倍数でない場合でも、ペイロードの先頭から最初の16バイト境界までに限り、例外的にSIMD演算を行わず、その後16バイト毎のSIMD演算を行うことが可能である。しかしパケットサイズが16の倍数でない場合には不可能であるため、本発明のように、各ペイロード領域が16バイトでアライメントされるようにペイロードデータを格納し、各ペイロード領域のアドレステーブルを用いて誤り訂正符号化およびパケット復号処理部とのデータ共有を行うことで、あらゆるパケットサイズにおいてデータの共有にかかるコストを抑え、かつ誤り訂正符号化およびパケット復号処理部における高速な演算が可能となる。   Further, recent computers have an instruction extension for SIMD (Single Instruction Multiple Data) operation, and by using this, the operation speed of exclusive OR in error correction processing can be greatly improved. For example, an ordinary 32-bit CPU can only execute an exclusive OR operation every 32 bits (4 bytes), but using SIMD instructions enables operations in units of 128 bits (16 bytes). The calculation speed is improved. However, for this purpose, it is necessary to access the data to be calculated in units of 16 bytes. In the error correction calculation, only the payload data is a calculation target. Therefore, the start address of the payload data must be a multiple of 16 bytes so that the calculation can be performed 16 bytes at a time from the start of the payload data. That is, the payload data must be secured in an area aligned with 16 bytes. If the combined packet size of the header and payload is a multiple of 16, even if the header size is not a multiple of 16 bytes, the SIMD operation is not performed exceptionally only from the beginning of the payload to the first 16-byte boundary. Thereafter, SIMD operations can be performed every 16 bytes. However, since it is impossible when the packet size is not a multiple of 16, payload data is stored so that each payload area is aligned with 16 bytes as in the present invention, and an address table of each payload area is used. By performing data sharing with the error correction coding and packet decoding processing unit, it is possible to reduce the cost of data sharing at any packet size and to perform high-speed calculations in the error correction coding and packet decoding processing unit.

また、バッファメモリの確保及びアドレステーブルの生成手段を誤り訂正符号化処理部12および誤り訂正復号処理部22が提供することで、同装置を利用した情報送受信装置の構成が容易になるという効果がある。   In addition, since the error correction encoding processing unit 12 and the error correction decoding processing unit 22 provide means for securing the buffer memory and generating the address table, the configuration of the information transmitting / receiving device using the same device becomes easy. is there.

本発明は情報通信産業に適用することができる。   The present invention can be applied to the information communication industry.

11:パケット伝送処理部
12:誤り訂正符号化処理部
21:パケット受信処理部
22:誤り訂正復号処理部
101:パケット送信バッファメモリ確保要求部
102:パケット送信バッファメモリ確保部
103:パケット・ペイロードメモリアドレステーブル生成部
104:ソースデータ読み取り部
105:ペイロードデータ書き込み部
106:符号化処理開始要求部
107:符号化用ペイロードメモリアドレステーブル入力部
108:符号化演算部
109:パケット送信部
132:パケット送信バッファメモリ
201:パケット受信バッファメモリ確保要求部
202:パケット受信バッファメモリ確保部
203:パケット・ペイロードメモリアドレステーブル生成部
204:パケット受信部
205:ペイロードデータ書き込み部
206:受信可否テーブル・復号用テーブルメモリアドレステーブル更新部
207:復号処理開始要求部
208:復号用ペイロードメモリアドレステーブル入力部
209:復号演算部
210:ソースデータ出力部
226:受信可否テーブル更新部
228:復号用ペイロードメモリアドレステーブル更新・入力部
232:パケット受信バッファメモリ
11: Packet transmission processing unit 12: Error correction coding processing unit 21: Packet reception processing unit 22: Error correction decoding processing unit 101: Packet transmission buffer memory securing request unit 102: Packet transmission buffer memory securing unit 103: Packet payload memory Address table generation unit 104: Source data reading unit 105: Payload data writing unit 106: Encoding processing start request unit 107: Encoding payload memory address table input unit 108: Encoding operation unit 109: Packet transmission unit 132: Packet transmission Buffer memory 201: Packet reception buffer memory allocation request unit 202: Packet reception buffer memory allocation unit 203: Packet / payload memory address table generation unit 204: Packet reception unit 205: Payload data writing unit 206: Reception Availability table / decoding table memory address table update unit 207: Decoding processing start request unit 208: Decoding payload memory address table input unit 209: Decoding operation unit 210: Source data output unit 226: Receivability table updating unit 228: For decoding Payload memory address table update / input unit 232: packet reception buffer memory

Claims (8)

送信データが格納されているパケット送信バッファメモリにおける1符号ブロックに含まれる各パケットのペイロードデータのメモリアドレスを管理する符号化用ペイロードメモリアドレステーブルを、ペイロードデータの先頭アドレスが符号化の演算単位の整数倍になるように生成する符号化用メモリアドレステーブル生成部と、
前記符号化用ペイロードメモリアドレステーブルに格納されているアドレスを参照して前記パケット送信バッファメモリから各パケットのペイロードデータを読み出し、読み出したペイロードデータの符号化を行う符号化演算部と、
を備える符号化装置。
A payload memory address table for encoding that manages the memory address of the payload data of each packet included in one code block in the packet transmission buffer memory in which the transmission data is stored. An encoding memory address table generation unit for generating an integer multiple;
An encoding operation unit that reads the payload data of each packet from the packet transmission buffer memory with reference to an address stored in the encoding payload memory address table, and encodes the read payload data;
An encoding device comprising:
各パケットの情報に基づいて前記パケット送信バッファメモリにおける各パケットのヘッダのメモリアドレスを管理する送信用パケットメモリアドレステーブルを作成する送信用メモリアドレステーブル生成部と、
前記送信用パケットメモリアドレステーブルに格納されているアドレスを参照して前記パケット送信バッファメモリから各パケットのヘッダ及びペイロードデータを読み出して送信するパケット送信部と、
をさらに備えることを特徴とする請求項1に記載の符号化装置。
A transmission memory address table generation unit for creating a transmission packet memory address table for managing the memory address of the header of each packet in the packet transmission buffer memory based on the information of each packet;
A packet transmission unit that reads and transmits the header and payload data of each packet from the packet transmission buffer memory with reference to addresses stored in the packet memory address table for transmission;
The encoding device according to claim 1, further comprising:
受信データが格納されているパケット受信バッファメモリにおけるペイロードデータのメモリアドレスを管理する復号用ペイロードメモリアドレステーブルを、ペイロードデータの先頭アドレスが復号の演算単位の整数倍になるように生成する復号用メモリアドレステーブル生成部と、
前記復号用ペイロードメモリアドレステーブルに格納されているアドレスを参照して前記パケット受信バッファメモリから各パケットのペイロードデータを読み出し、読み出したペイロードデータの復号を行う復号演算部と、
を備える復号装置。
Decoding memory that generates a payload memory address table for decoding that manages the memory address of the payload data in the packet reception buffer memory in which the received data is stored so that the leading address of the payload data is an integral multiple of the decoding operation unit An address table generation unit;
A decoding operation unit that reads the payload data of each packet from the packet reception buffer memory with reference to the address stored in the decoding payload memory address table, and decodes the read payload data;
A decoding device comprising:
各パケットの受信の有無を、各パケットの受信順に管理する受信可否テーブルを作成する受信可否テーブル作成部をさらに備え、
前記復号用メモリアドレステーブル生成部は、前記パケット受信バッファメモリにおける各パケットのヘッダのアドレスを、各パケットの情報に基づいて送信順と関連付け、
前記復号演算部は、前記受信可否テーブルの各パケットの受信の有無に基づいて、消失したパケットを復元する
ことを特徴とする請求項3に記載の復号装置。
A reception availability table creating unit that creates a reception availability table that manages whether or not each packet is received in the order of reception of each packet;
The decoding memory address table generation unit associates the address of the header of each packet in the packet reception buffer memory with the transmission order based on the information of each packet,
The decoding apparatus according to claim 3, wherein the decoding calculation unit restores a lost packet based on whether or not each packet in the reception availability table is received.
送信データが格納されているパケット送信バッファメモリにおける1符号ブロックに含まれる各パケットのペイロードデータのメモリアドレスを管理する符号化用ペイロードメモリアドレステーブルを、ペイロードデータの先頭アドレスが符号化の演算単位の整数倍になるように生成する送信側メモリアドレステーブル生成手順と、
前記符号化用ペイロードメモリアドレステーブルに格納されているアドレスを参照して前記パケット送信バッファメモリから各パケットのペイロードデータを読み出し、読み出したペイロードデータの符号化を行う符号化演算手順と、
を順に有する符号化方法。
A payload memory address table for encoding that manages the memory address of the payload data of each packet included in one code block in the packet transmission buffer memory in which the transmission data is stored. A procedure for generating a memory address table on the transmission side that is generated to be an integer multiple,
An encoding operation procedure for reading the payload data of each packet from the packet transmission buffer memory with reference to the address stored in the encoding payload memory address table, and encoding the read payload data;
The encoding method which has these in order.
前記送信側メモリアドレステーブル生成手順において、さらに、各パケットの情報に基づいて前記パケット送信バッファメモリにおける各パケットのヘッダのメモリアドレスを管理する送信用パケットメモリアドレステーブルを作成し、
前記送信用パケットメモリアドレステーブルに格納されているアドレスを参照して前記パケット送信バッファメモリから各パケットのヘッダ及びペイロードデータを読み出して送信するパケット送信手順を前記符号化演算手順の後にさらに有することを特徴とする請求項5に記載の符号化方法。
In the transmission-side memory address table generation procedure, further, a transmission packet memory address table for managing the memory address of the header of each packet in the packet transmission buffer memory based on the information of each packet is created,
A packet transmission procedure for reading out and transmitting the header and payload data of each packet from the packet transmission buffer memory with reference to an address stored in the packet memory address table for transmission is further provided after the encoding operation procedure. The encoding method according to claim 5, wherein:
受信データが格納されているパケット受信バッファメモリにおけるペイロードデータのメモリアドレスを管理する復号用ペイロードメモリアドレステーブルを、ペイロードデータの先頭アドレスが復号の演算単位の整数倍になるように生成する受信側メモリアドレステーブル生成手順と、
前記復号用ペイロードメモリアドレステーブルに格納されているアドレスを参照して前記パケット受信バッファメモリから各パケットのペイロードデータを読み出し、読み出したペイロードデータの復号を行う復号演算手順と、
を順に有する復号方法。
Receiver memory that generates a payload memory address table for decoding that manages the memory address of the payload data in the packet reception buffer memory in which the received data is stored so that the start address of the payload data is an integral multiple of the decoding operation unit Address table generation procedure,
A decoding calculation procedure for reading payload data of each packet from the packet reception buffer memory with reference to an address stored in the decoding payload memory address table, and decoding the read payload data;
In order.
前記受信側メモリアドレステーブル生成手順において、各パケットの受信の有無を、各パケットの受信順に管理する受信可否テーブルを作成し、1符号ブロックに含まれる各パケットのデータを受信順に格納している前記パケット受信バッファメモリにおける各パケットのヘッダのアドレスを、各パケットの情報に基づいて送信順と関連付け、
前記復号演算手順において、前記受信可否テーブルの各パケットの受信の有無に基づいて、消失したパケットを復元する
ことを特徴とする請求項7に記載の復号方法。
In the reception-side memory address table generation procedure, a reception availability table for managing the presence / absence of each packet in the order of reception of each packet is created, and data of each packet included in one code block is stored in the order of reception Associating the header address of each packet in the packet reception buffer memory with the transmission order based on the information of each packet,
The decoding method according to claim 7, wherein in the decoding calculation procedure, lost packets are restored based on whether or not each packet in the reception availability table is received.
JP2013227076A 2013-10-31 2013-10-31 Encoding device and decoding device Active JP5735610B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013227076A JP5735610B2 (en) 2013-10-31 2013-10-31 Encoding device and decoding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013227076A JP5735610B2 (en) 2013-10-31 2013-10-31 Encoding device and decoding device

Publications (2)

Publication Number Publication Date
JP2015089006A JP2015089006A (en) 2015-05-07
JP5735610B2 true JP5735610B2 (en) 2015-06-17

Family

ID=53051349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013227076A Active JP5735610B2 (en) 2013-10-31 2013-10-31 Encoding device and decoding device

Country Status (1)

Country Link
JP (1) JP5735610B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01297758A (en) * 1988-05-26 1989-11-30 Hitachi Ltd Data transmission method between microcomputers
WO2000079405A1 (en) * 1999-06-21 2000-12-28 Hitachi, Ltd. Data processor
JP4559126B2 (en) * 2004-06-01 2010-10-06 日本電信電話株式会社 Video transmission method, video transmission apparatus, video transmission program, and computer-readable recording medium recording the program
JP2012099054A (en) * 2010-11-05 2012-05-24 Canon Inc Encoding processing device, encoding processing method, and computer program

Also Published As

Publication number Publication date
JP2015089006A (en) 2015-05-07

Similar Documents

Publication Publication Date Title
JP5863200B2 (en) Encoding and decoding using elastic codes with flexible source block mapping
EP2467942B1 (en) Methods employing fec codes with permanent inactivation of symbols for encoding and decoding processes
JP4546246B2 (en) Systematic encoding and decryption of chained encryption reactions
JP5329239B2 (en) Multi-body code generator and decoder for communication systems
EP1894376A2 (en) In-place transformations with applications to encoding and decoding various classes of codes
Lin et al. A reduced latency list decoding algorithm for polar codes
US8583982B2 (en) Concatenated decoder and concatenated decoding method
WO2008003094A2 (en) Efficient representation of symbol-based transformations with application to encoding and decoding of forward error correction codes
TW200301623A (en) Multi-stage code generator and decoder for communication systems
Hou et al. BASIC regenerating code: Binary addition and shift for exact repair
JP2020524930A (en) Short latency error correction decoding
CN112286449A (en) RS erasure processing equipment and distributed storage system
JP5735610B2 (en) Encoding device and decoding device
Chen et al. A new Zigzag MDS code with optimal encoding and efficient decoding
KR102021872B1 (en) Raptor-q encoding apparatus with improved encoding delay time and method thereof
WO2012109851A1 (en) Interleaving and de-interleaving method, interleaver and de-interleaver
JPWO2015022910A1 (en) Communication path decoding method and communication path decoding apparatus
US20200403643A1 (en) Raptor-q encoding apparatus with improved encoding delay time and method thereof
KR102145326B1 (en) Reordering operation list apparatus for raptor-q encoding and method thereof
Sahaya Stalin et al. Minimize the replication for secure cloud data storage systems using error correction codes
Srouji et al. High-speed enoding/decoding technique for reliable data transmission in wireless sensor networks
Naidu et al. Reduced Complexity of LDPC Codes using Hard Decision Decoder
Fan et al. Efficient protocol header recovery algorithm based on iterative decoding between layers
PHUTATHUM Implementing Distributed Storage Systemsby Network Coding and ConsideringComplexity of Decoding
Krämer et al. Seminar on Coding Theory and Code-based Cryptography

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150414

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150416

R150 Certificate of patent or registration of utility model

Ref document number: 5735610

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150