JP2010034887A - Encoding apparatus, encoding method and encoding program - Google Patents

Encoding apparatus, encoding method and encoding program Download PDF

Info

Publication number
JP2010034887A
JP2010034887A JP2008195349A JP2008195349A JP2010034887A JP 2010034887 A JP2010034887 A JP 2010034887A JP 2008195349 A JP2008195349 A JP 2008195349A JP 2008195349 A JP2008195349 A JP 2008195349A JP 2010034887 A JP2010034887 A JP 2010034887A
Authority
JP
Japan
Prior art keywords
data
parity
row
generated
encoded data
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
JP2008195349A
Other languages
Japanese (ja)
Inventor
Chiyoko Matsumi
知代子 松見
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 JP2008195349A priority Critical patent/JP2010034887A/en
Publication of JP2010034887A publication Critical patent/JP2010034887A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an encoding apparatus capable of reducing computational complexity. <P>SOLUTION: The encoding apparatus for linear codes includes: a parity generating section 11 for generating at least one parity from first data as input data by using a generation matrix and for output of first encoded data; a row selecting section 13 for selecting a row, in which the number of parity which is not generated out of parities of the input second data corresponding to non-zero elements of rows is one, from all rows of a check matrix of linear codes; a disappearance correcting section 14 for generating a parity corresponding to the relevant row by performing disappearance correction processing and for output of second encoded data; and a first selecting section 15 for output of either the first encoded data or the second encoded data as second data, wherein until linear encoding is finished, the disappearance correcting section 14 outputs the output second encoded data to the first selecting section 15, and when linear encoding is completed, the disappearance correcting section outputs the output second encoded data as a code word, thereby generating the code word. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、LDPC(Low Density Parity Check)符号等の線形符号の符号化方法および符号化装置に関するものである。   The present invention relates to an encoding method and an encoding device for a linear code such as an LDPC (Low Density Parity Check) code.

近年、訂正能力に優れた符号として、LDPC符号が有力視されている(例えば、非特許文献1〜3)。   In recent years, LDPC codes have been considered promising as codes having excellent correction capability (for example, Non-Patent Documents 1 to 3).

IPネットワークで、映像や音声のストリーミング伝送を行なう場合、リアルタイム性を維持するためにロストしたパケットを再送しないUDP(User Datagram Protocol)で送るケースがある。そのような場合に、伝送経路に無線で伝送する区間があれば、ロストするパケットへの対策が必要になる。この対策としては、パケットをインターリーブして誤り訂正符号化することが考えられる。使用する誤り訂正符号としては、インターリーブ長を長くしやすいLDPC符号も有力な候補である。   When video or audio streaming transmission is performed on an IP network, a lost packet may be sent by UDP (User Datagram Protocol) in order to maintain real-time performance. In such a case, if there is a section for wireless transmission on the transmission path, it is necessary to take measures against lost packets. As a countermeasure against this, it is conceivable to interleave the packets and perform error correction coding. As an error correction code to be used, an LDPC code that easily increases the interleave length is also a promising candidate.

例えば、図5に示すように、p×kビットのデータをpビットずつのブロックとし、各ブロックから1ビットずつ得たkビットのデータを符号化して、(n−k)ビットのパリティをつけていくと、トータルでp×(n−k)ビットのパリティが付加されることになり、これらのパリティで(n−k)ブロックとなる。伝送する時には、1個のブロックを1個のパケットのデータとして、それぞれヘッダ情報(UDPヘッダ/IPヘッダなど)を付加し、IPパケットを構成する。インターリーブは、1個のブロックから1ビットではなく複数のビットを集めて1個の符号語に符号化しても構わないし、複数のブロックから1ビットずつ集めて符号化しても構わない。   For example, as shown in FIG. 5, p × k bits of data are made into blocks of p bits, k bits of data obtained from each block are encoded, and (n−k) bits of parity are added. As a result, a total of p × (n−k) bits of parity is added, and these parities form an (n−k) block. At the time of transmission, header data (such as a UDP header / IP header) is added to each block as data of one packet to form an IP packet. Interleaving may be performed by collecting a plurality of bits instead of one bit from one block and encoding them into one codeword, or collecting and encoding one bit from a plurality of blocks.

ここでは、使用する誤り訂正符号は、データは変形せずに、パリティを付加するだけの組織符号(Systematic code)として説明している。組織符号は、データが変換される非組織符号と比較すると、消失したパケットを訂正復元できなかった場合にも、受信できたパケットはそのまま使えるという利点がある。   Here, the error correction code to be used is described as a systematic code that only adds parity without changing data. Compared to a non-systematic code in which data is converted, the systematic code has an advantage that a received packet can be used as it is even when a lost packet cannot be corrected and restored.

伝送後に、n個のパケットが揃わなくても、失われたパケットのデータを消失として、p個の符号語の全てに誤り訂正処理を行なって、1ビットずつ復元していけば、元のブロックを復元することが可能である。IPパケットはイーサネット(登録商標)ではパケット長の最大値が1,500バイトとなっており、IPヘッダ長は標準で20バイト、UDPヘッダ長は8バイトであるので、データは最大1,472バイト=11,776ビットまで使用可能である。ストリーミング伝送を行なう場合は、1個のパケットに載せるデータはできるだけ多くし、ヘッダにより増加する伝送レートをできるだけ少なくして効率よく伝送することが要求されるので、1個のIPパケットに載せるデータは10,000ビット程度にはなると考えられる。1個のIPパケットが、符号の1個のシンボルにする場合、シンボル同士の加算は、10,000ビット程度の排他的論理和(exclusive−or)を実行することになる。   Even if n packets are not prepared after transmission, if the lost packet data is lost and error correction processing is performed on all of the p code words to restore one bit at a time, the original block Can be restored. IP packets have a maximum packet length of 1,500 bytes in Ethernet (registered trademark), the IP header length is 20 bytes as standard, and the UDP header length is 8 bytes, so the data is a maximum of 1,472 bytes. = 11,776 bits can be used. When streaming transmission is performed, it is required to increase the amount of data included in one packet as much as possible and to reduce the transmission rate increased by the header as much as possible and efficiently transmit the data. It is considered to be about 10,000 bits. When one IP packet is converted into one symbol of the code, the addition of the symbols performs an exclusive OR of about 10,000 bits.

線形符号は、k行n列の生成行列Gと、G・HT=0となる(n−k)行n列の検査行列Hにより、符号の構造を定義できる。H・GT=0と記述しても良い。符号化の処理は、データ(ベクトル)D=(d0,d1,…,d(k-1))に、生成行列Gをかけて、符号語(ベクトル)C=(c0,c1,…,c(n-1))=D・Gを得ることによりなされる。ここで、符号語についてC・HTを計算するとC・HT=D・G・HT=D・0=0となる。 A linear code can define a code structure by a generator matrix G of k rows and n columns and a check matrix H of (n−k) rows and n columns where G · H T = 0. And H · G T = 0 may be described. The encoding process is performed by multiplying the data (vector) D = (d 0 , d 1 ,..., D (k−1) ) by the generator matrix G, and the code word (vector) C = (c 0 , c 1 ,..., C (n-1) ) = D · G. Here, when C · H T is calculated for the code word, C · H T = D · G · H T = D · 0 = 0.

また、最大距離分離符号であり、記録装置などで良く用いられるReed−Solomon符号では、計算されていないパリティを消失として訂正処理を行なうことにより符号化する、という符号化手法が可能である。
R. G. Gallager, “Low density parity check codes”, in Research Monograph series. Cambridge, MIT Press (1963) D. J. MacKay, “Good error-correcting codes based on very sparse matrices”, IEEE Trans. Inform. Theory, vol.45, pp.399-431 (1999) R. M. Tanner, “A recursive approach to low complexity codes”, IEEE Trans. Inform. Theory, vol.27, pp.533-547 (1981)
In addition, the Reed-Solomon code, which is the maximum distance separation code and is often used in a recording apparatus or the like, can be encoded by performing a correction process with an uncalculated parity as erasure.
RG Gallager, “Low density parity check codes”, in Research Monograph series. Cambridge, MIT Press (1963) DJ MacKay, “Good error-correcting codes based on very sparse matrices”, IEEE Trans. Inform. Theory, vol.45, pp.399-431 (1999) RM Tanner, “A recursive approach to low complexity codes”, IEEE Trans. Inform. Theory, vol.27, pp.533-547 (1981)

しかしながら、従来の符号化の処理では、計算量が膨大になるという課題がある。   However, the conventional encoding process has a problem that the calculation amount is enormous.

つまり、実際の符号化の処理は、データDに、生成行列Gをかけて符号化しようとすると、符号語のシンボルがガロア体GF(2)の要素であったとしても、計算量はおおよそ(n−k)×(k/2−1)回のシンボルの加算が必要である。1個のシンボルの加算が10,000ビット程度の排他的論理和(exclusive−or)処理であり、膨大な計算量となるため、符号化の処理時間や処理のリソースが要求される。また通常のLDPC符号は最大距離分離符号ではなく、計算されていないパリティを消失として訂正処理を行なうことにより符号化するという手法は使えない。   That is, in the actual encoding process, when the data D is to be encoded by applying the generator matrix G, even if the codeword symbol is an element of the Galois field GF (2), the calculation amount is approximately ( It is necessary to add symbols n−k) × (k / 2-1) times. Addition of one symbol is an exclusive-or process of about 10,000 bits, and the amount of calculation is enormous. Therefore, encoding processing time and processing resources are required. In addition, a normal LDPC code is not a maximum distance separation code, and a method of encoding by performing correction processing with an uncalculated parity as an erasure cannot be used.

本発明は、上記課題を解決するために、計算量を削減することができる符号化装置を提供することを目的とする。   In order to solve the above problems, an object of the present invention is to provide an encoding device capable of reducing the amount of calculation.

上記目的を達成するために、本発明に係る符号化装置は、入力データに対して線形符号化によって符号語を生成する符号化装置であって、前記入力データが第1のデータとして入力され、前記第1のデータから少なくとも1個のパリティを前記線形符号の生成行列を用いて生成し、前記第1のデータに当該生成されたパリティが付加された第1の符号化データを出力するパリティ生成部と、第2のデータが入力され、前記線形符号の検査行列の全ての行の中から、前記行の非零の要素に対応する前記第2のデータのパリティのうち生成されていないパリティが1個である行を選択する行選択部と、前記行選択部が選択した行を用いて、前記生成されていないパリティを消失として訂正処理を行なって生成し、当該生成されたパリティを前記第2のデータに付加して第2の符号化データを出力する消失訂正部と、前記第1の符号化データが入力された場合には前記第1の符号化データを前記第2のデータとして出力し、前記第2の符号化データが入力された場合には前記第2の符号化データを前記第2のデータとして出力する第1の選択部とを備え、前記消失訂正部は、線形符号化が終了するまで、出力された前記第2の符号化データを前記第1の選択部に出力し、線形符号化が終了した場合に、出力された前記第2の符号化データを前記符号語として出力することで、前記符号語を生成する。   In order to achieve the above object, an encoding apparatus according to the present invention is an encoding apparatus that generates a code word by linear encoding for input data, and the input data is input as first data, Parity generation for generating at least one parity from the first data using the generation matrix of the linear code, and outputting first encoded data in which the generated parity is added to the first data And the second data is input, and among the parity of the second data corresponding to the non-zero element of the row out of all the rows of the parity check matrix of the linear code, A row selection unit that selects one row and a row selected by the row selection unit are used to generate the parity that has not been generated by performing a correction process as erasure, and the generated parity is And an erasure correction unit that outputs the second encoded data in addition to the data, and when the first encoded data is input, the first encoded data is output as the second data. A first selection unit that outputs the second encoded data as the second data when the second encoded data is input, and the erasure correction unit performs linear encoding The output second encoded data is output to the first selection unit until the end, and when the linear encoding is completed, the output second encoded data is output as the code word. Thus, the code word is generated.

これによれば、消失訂正部が計算量の少ない消失訂正処理でパリティを生成することができ、計算量の削減を図ることができる。   According to this, the erasure correction unit can generate parity by erasure correction processing with a small calculation amount, and the calculation amount can be reduced.

また、さらに、前記第2のデータが入力された場合には前記第2のデータを前記第1のデータとして前記パリティ生成部に出力する第2の選択部と、前記行選択部が選択することができる前記検査行列の行が存在するか否かを判断する検査行列判断部と、前記行選択部が選択する行が存在しないと判断された場合に、前記第1の選択部が前記第2の選択部に前記第2のデータを出力するように切り替える切替部とを備え、前記パリティ生成部は、前記第2の選択部に前記第2のデータが入力された場合、前記第2の選択部から入力される前記第1のデータから少なくとも1個のパリティを生成し、前記第1のデータに当該生成されたパリティが付加された第1の符号化データを出力する。   Further, when the second data is input, the second selection unit that outputs the second data as the first data to the parity generation unit, and the row selection unit select the second data. When it is determined that there is no row to be selected by the row selection unit and a row that the row selection unit selects, the first selection unit determines whether or not there is a row of the parity check matrix. A switching unit that switches the second selection unit to output the second data, and the parity generation unit receives the second selection when the second data is input to the second selection unit. At least one parity is generated from the first data input from the unit, and first encoded data in which the generated parity is added to the first data is output.

これによれば、消失訂正部が消失訂正処理を行うことができない場合に、パリティ生成部がパリティを生成する。これによって、消失訂正部が消失訂正処理を行うことができるようになり、計算量の削減を図ることができる。   According to this, when the erasure correction unit cannot perform the erasure correction process, the parity generation unit generates a parity. As a result, the erasure correction unit can perform erasure correction processing, and the amount of calculation can be reduced.

また、前記パリティ生成部が生成するパリティは、前記行選択部が少なくとも1以上の前記検査行列の行を選択するように定められてもよい。   Further, the parity generated by the parity generation unit may be determined so that the row selection unit selects at least one row of the parity check matrix.

これによれば、行選択部が行の選択を行うことができるように、予めパリティ生成部が生成するパリティが定められる。これによって、消失訂正部が消失訂正処理を行うことができるようになり、計算量の削減を図ることができる。   According to this, the parity generated by the parity generation unit is determined in advance so that the row selection unit can select a row. As a result, the erasure correction unit can perform erasure correction processing, and the amount of calculation can be reduced.

また、本発明は、このような符号化装置として実現できるだけでなく、その装置を構成する処理部をステップとする方法として実現したりすることができる。さらに、本発明は、それらステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを記録したコンピュータ読み取り可能なCD−ROMなどの記録媒体として実現したり、そのプログラムを示す情報、データ又は信号として実現したりすることもできる。そして、それらプログラム、情報、データ及び信号は、インターネット等の通信ネットワークを介して配信してもよい。   In addition, the present invention can be realized not only as such an encoding apparatus, but also as a method using a processing unit constituting the apparatus as a step. Furthermore, the present invention can be realized as a program for causing a computer to execute these steps, or can be realized as a recording medium such as a computer-readable CD-ROM on which the program is recorded, or as information, data, or a signal indicating the program. It can also be realized. These programs, information, data, and signals may be distributed via a communication network such as the Internet.

本発明によれば、計算量の少ない消失訂正処理でパリティを生成することができ、符号化処理全体の計算量を大幅に削減することが可能である。   According to the present invention, parity can be generated by erasure correction processing with a small calculation amount, and the calculation amount of the entire encoding process can be greatly reduced.

以下に、本発明の実施の形態について、図面を参照しながら説明する。   Embodiments of the present invention will be described below with reference to the drawings.

(実施の形態1)
図1は、本発明の実施の形態1における符号化装置10の機能的な構成の一例を示すブロック図である。
(Embodiment 1)
FIG. 1 is a block diagram showing an example of a functional configuration of an encoding device 10 according to Embodiment 1 of the present invention.

図1に示すように、実施の形態1の符号化装置10は、パリティ生成部11、検査行列判断部12、行選択部13、消失訂正部14、第1の選択部15、第2の選択部16、及び切替部17を備えている。符号化装置10は、CPU(Central Processing Unit)等を備え、必要なデータをメモリに入力してプログラムを実行し、データを出力するコンピュータである。   As shown in FIG. 1, the encoding apparatus 10 of Embodiment 1 includes a parity generation unit 11, a check matrix determination unit 12, a row selection unit 13, an erasure correction unit 14, a first selection unit 15, and a second selection. A unit 16 and a switching unit 17 are provided. The encoding device 10 is a computer that includes a CPU (Central Processing Unit) and the like, inputs necessary data into a memory, executes a program, and outputs data.

パリティ生成部11は、第1のデータが入力され、第1のデータから少なくとも1個のパリティを線形符号の生成行列を用いて生成し、第1のデータに当該生成されたパリティが付加された第1の符号化データを出力する。また、パリティ生成部11は、第2の選択部16に第2のデータが入力された場合、第2の選択部16から入力される第1のデータから少なくとも1個のパリティを生成し、第1のデータに当該生成されたパリティが付加された第1の符号化データを出力する。   The parity generation unit 11 receives the first data, generates at least one parity from the first data by using a linear code generation matrix, and the generated parity is added to the first data. The first encoded data is output. In addition, when the second data is input to the second selection unit 16, the parity generation unit 11 generates at least one parity from the first data input from the second selection unit 16, The first encoded data obtained by adding the generated parity to one data is output.

行選択部13は、第2のデータが入力され、線形符号の検査行列の全ての行の中から、行の非零の要素に対応する第2のデータのパリティのうち生成されていないパリティが1個である行を選択する。   The row selection unit 13 receives the second data, and among the parity of the second data corresponding to the non-zero element of the row, the parity that has not been generated is selected from all the rows of the linear code parity check matrix. Select one row.

検査行列判断部12は、行選択部13が選択することができる検査行列の行が存在するか否かを判断する。   The parity check matrix determination unit 12 determines whether there is a row of the parity check matrix that can be selected by the row selection unit 13.

消失訂正部14は、行選択部13が選択した行を用いて、当該生成されていないパリティを1個の消失として訂正処理を行なって生成し、生成されたパリティを第2のデータに付加して第2の符号化データを出力する。具体的には、消失訂正部14は、第2のデータと当該パリティからなる行と、行選択部13が選択した行の転置行列とを乗じた値が零になることから、生成されていないパリティを算出し、生成する。   The erasure correction unit 14 uses the row selected by the row selection unit 13 to generate the parity that has not been generated as one erasure and performs correction processing, and adds the generated parity to the second data. To output second encoded data. Specifically, the erasure correction unit 14 is not generated because the value obtained by multiplying the row composed of the second data and the parity by the transpose matrix of the row selected by the row selection unit 13 becomes zero. Parity is calculated and generated.

第1の選択部15は、第1の符号化データが入力された場合には第1の符号化データを第2のデータとして出力し、第2の符号化データが入力された場合には第2の符号化データを第2のデータとして出力する。   The first selection unit 15 outputs the first encoded data as the second data when the first encoded data is input, and the first selector 15 when the second encoded data is input. 2 encoded data is output as second data.

第2の選択部16は、符号化装置10にデータが入力された場合には当該データを第1のデータとしてパリティ生成部11に出力し、第2のデータが入力された場合には第2のデータを第1のデータとしてパリティ生成部11に出力する。   The second selection unit 16 outputs the data to the parity generation unit 11 as the first data when data is input to the encoding device 10, and the second when the second data is input. Are output to the parity generator 11 as first data.

切替部17は、検査行列判断部12が、行選択部13が選択する行が存在しないと判断した場合に、第1の選択部15が第2の選択部16に第2のデータを出力するように切り替える。   When the check matrix determination unit 12 determines that the row selected by the row selection unit 13 does not exist, the switching unit 17 outputs the second data to the second selection unit 16 by the first selection unit 15. Switch as follows.

ここで、第1のデータ、第2のデータ、第1の符号化データ、及び第2の符号化データなどの各データは、各処理部で出力された後にメモリに書き込まれ、各処理部は、必要なデータを当該メモリから読み出して、各処理を行う。   Here, each data such as the first data, the second data, the first encoded data, and the second encoded data is output from each processing unit and then written to the memory. The necessary data is read from the memory and each process is performed.

図2は、符号化装置10が実行する符号化の処理を示すフローチャートである。   FIG. 2 is a flowchart showing the encoding process executed by the encoding apparatus 10.

まず、符号化装置10に、符号化するためのデータが入力される(S102)。   First, data for encoding is input to the encoding device 10 (S102).

そして、第2の選択部16は、符号化装置10に入力されたデータを第1のデータとして選択し、パリティ生成部11に出力する(S104)。   Then, the second selection unit 16 selects the data input to the encoding device 10 as first data, and outputs the first data to the parity generation unit 11 (S104).

パリティ生成部11は、入力された第1のデータから少なくとも1個のパリティを線形符号の生成行列を用いて生成し、第1のデータに当該生成されたパリティが付加された第1の符号化データを出力する(S106)。   The parity generation unit 11 generates at least one parity from the input first data by using a linear code generation matrix, and the first encoding in which the generated parity is added to the first data Data is output (S106).

次に、第1の選択部15は、パリティ生成部11が出力した第1の符号化データを第2のデータとして選択し、検査行列判断部12に出力する(S108)。   Next, the first selection unit 15 selects the first encoded data output from the parity generation unit 11 as second data, and outputs the second encoded data to the parity check matrix determination unit 12 (S108).

検査行列判断部12は、行選択部13が選択することができる検査行列の行が存在するか否かを判断する(S110)。   The parity check matrix determination unit 12 determines whether there is a row of the parity check matrix that can be selected by the row selection unit 13 (S110).

検査行列判断部12は、検査行列の行が存在しないと判断した場合(S110でNO)、切替部17は、第1の選択部15が第2の選択部16に第2のデータを出力するように切り替える。これにより、第2の選択部16は、第2のデータを第1のデータとして選択し、パリティ生成部11に出力する(S104)。   When the check matrix determination unit 12 determines that there is no row in the check matrix (NO in S110), the switching unit 17 causes the first selection unit 15 to output the second data to the second selection unit 16. Switch as follows. Thereby, the second selection unit 16 selects the second data as the first data, and outputs it to the parity generation unit 11 (S104).

そして、パリティ生成部11は、第2の選択部16から入力される第1のデータから少なくとも1個のパリティを生成し、第1のデータに当該生成されたパリティが付加された第1の符号化データを出力する(S106)。   The parity generation unit 11 generates at least one parity from the first data input from the second selection unit 16, and the first code obtained by adding the generated parity to the first data The converted data is output (S106).

そして、第1の選択部15は、第1の符号化データを第2のデータとして検査行列判断部12に出力し(S108)、検査行列判断部12は、検査行列の行が存在するか否かを判断する(S110)。   Then, the first selection unit 15 outputs the first encoded data as second data to the parity check matrix determination unit 12 (S108), and the parity check matrix determination unit 12 determines whether there is a row of the parity check matrix. Is determined (S110).

また、検査行列判断部12は、検査行列の行が存在すると判断した場合(S110でYES)、第2のデータを行選択部13に出力し、行選択部13は、検査行列の行を選択する(S112)。具体的には、行選択部13は、検査行列の全ての行の中から、行の非零の要素に対応する第2のデータのパリティのうち生成されていないパリティが1個である行を選択する。   Also, when the parity check matrix determination unit 12 determines that there is a row of the parity check matrix (YES in S110), the second data is output to the row selection unit 13, and the row selection unit 13 selects the row of the parity check matrix. (S112). Specifically, the row selection unit 13 selects, from all the rows of the parity check matrix, a row that has one ungenerated parity among the parity of the second data corresponding to the non-zero element of the row. select.

そして、消失訂正部14は、行選択部13が選択した行を用いて、当該生成されていないパリティを1個の消失として訂正処理を行なって生成し、生成されたパリティを第2のデータに付加して第2の符号化データを出力する(S114)。   Then, the erasure correction unit 14 uses the row selected by the row selection unit 13 to generate the parity that has not been generated as one erasure and performs correction processing, and the generated parity is used as the second data. In addition, the second encoded data is output (S114).

また、消失訂正部14は、符号化装置10に入力されたデータの線形符号化が終了したか否か、つまり符号語が生成されたか否かを判断する(S116)。   Further, the erasure correction unit 14 determines whether or not the linear encoding of the data input to the encoding device 10 has been completed, that is, whether or not a code word has been generated (S116).

消失訂正部14は、線形符号化が終了しておらず符号語が生成されていないと判断した場合(S116でNO)、第1の選択部15に第2の符号化データを出力し、第1の選択部15は、第2の符号化データを第2のデータとして出力する(S108)。   If the erasure correction unit 14 determines that the linear encoding has not been completed and the code word has not been generated (NO in S116), the erasure correction unit 14 outputs the second encoded data to the first selection unit 15, The first selection unit 15 outputs the second encoded data as the second data (S108).

また、消失訂正部14は、線形符号化が終了した場合に、出力された第2の符号化データを符号語として出力することで、符号語を生成する。これにより、消失訂正部14は、符号語が生成されたと判断し(S116でYES)、符号化処理は終了する。   Moreover, the erasure | correction correction | amendment part 14 produces | generates a code word by outputting the output 2nd encoded data as a code word, when linear encoding is complete | finished. Thereby, the erasure correction unit 14 determines that a code word has been generated (YES in S116), and the encoding process ends.

このように、消失訂正部14は、線形符号化が終了するまで、出力された第2の符号化データを第1の選択部15に出力し、線形符号化が終了した場合に、出力された第2の符号化データを符号語として出力することで、符号語を生成する。   As described above, the erasure correction unit 14 outputs the output second encoded data to the first selection unit 15 until the linear encoding is completed, and is output when the linear encoding is completed. A codeword is generated by outputting the second encoded data as a codeword.

図3A及び3Bは、符号化装置10の符号化処理の一例を具体的に説明する図である。   3A and 3B are diagrams for specifically explaining an example of the encoding process of the encoding device 10.

符号化装置10は、入力されたk個のシンボルのデータD=(d0,d1,…,d(k-1))から、r個のシンボルのパリティを生成して、n個のシンボルの符号語C=(d0,d1,d2,d3,…,d(k-2),d(k-1),p0,p1,…,p(r-2),p(r-1))を出力する。なお、パリティシンボル数rは(n−k)である。 The encoding apparatus 10 generates parity of r symbols from the input data D = (d 0 , d 1 ,..., D (k−1) ) of k symbols, and outputs n symbols. Code word C = (d 0 , d 1 , d 2 , d 3 ,..., D (k−2) , d (k−1) , p 0 , p 1 ,..., P (r−2) , p (r-1) ) is output. Note that the number r of parity symbols is (n−k).

符号の生成行列Gは図3Aに示すようにk行n列の行列であり、符号語のデータ部を生成する左から1列目からk列目の部分(以下、データ位置部分と呼ぶ)は単位行列であり、符号語のパリティ部を生成する左から(k+1)列目からn列目の部分(以下、パリティ位置部分と呼ぶ)にあるu行v列にある要素はg(u-1),(v-k-1)で表わしている。また、これに対応する検査行列Hは、図3Bに示すように(n−k)行n列の行列である。なお、ここではデータD、生成行列G及び検査行列Hの各要素は2進数の値であり、計算においては排他的論理和(exclusive−or)処理が行われる。 The code generation matrix G is a matrix of k rows and n columns as shown in FIG. 3A, and the first to kth columns from the left (hereinafter referred to as the data position portion) that generate the data portion of the codeword are An element in the u-row and v-column in the (k + 1) -th column to the n-th column from the left (hereinafter referred to as the parity position portion) that is a unit matrix and generates the parity part of the codeword is g (u-1 ), (vk-1) . Also, the check matrix H corresponding to this is a matrix of (n−k) rows and n columns as shown in FIG. 3B. Here, each element of the data D, the generation matrix G, and the check matrix H is a binary value, and an exclusive-or process is performed in the calculation.

パリティ生成部11は、図3Aに示すような生成行列Gのパリティ位置部分からq列を選択し、j=0,1,…,(q−1)として、パリティpj=g0,j・d0+g1,j・d1+g2,j・d2+……+g(k-2),j・d(k-2)+g(k-1),j・d(k-1)を生成し、第1の符号化データとして出力する。ここで、生成行列Gのパリティ位置部分からのq列の選択は、行選択部13が選択することができる検査行列Hの行が多く存在するように選択される。なお、このq列の選択は、任意の列が選択されることにしてもよい。 The parity generation unit 11 selects q columns from the parity position portion of the generation matrix G as shown in FIG. 3A, and j = 0, 1,..., (Q−1), and the parity p j = g 0, j. d 0 + g 1, j · d 1 + g 2, j · d 2 + …… + g (k-2), j · d (k-2) + g (k-1), j · d (k-1) Generate and output as first encoded data. Here, the selection of q columns from the parity position portion of the generator matrix G is selected such that there are many rows of the check matrix H that can be selected by the row selection unit 13. The selection of the q column may be an arbitrary column.

図3Bでは、検査行列Hにおいて、生成行列Gのデータ位置部分と生成済みのパリティの部分に対応する列を斜線部分で示している。   In FIG. 3B, in the check matrix H, columns corresponding to the data position portion of the generation matrix G and the generated parity portion are indicated by hatching.

検査行列判断部12は、まず、検査行列からデータ位置部分と、既に生成されたパリティに対応する列を除いた部分行列の行のうち、値が非零である要素の個数が1個である行が存在するかどうかを判断する。   The parity check matrix determination unit 12 first has one non-zero element in the row of the partial matrix excluding the data position portion and the column corresponding to the already generated parity from the parity check matrix. Determine if a row exists.

値が非零である要素の個数が1個である行が1行でも存在すれば、切替部17を行選択部13側に切替えて、行選択部13で、検査行列からデータ位置部分と、既に生成されたパリティに対応する列を除いた部分行列の行のうち、値が非零である要素の個数が1個である行を選択する。   If there is even one row where the number of elements whose values are non-zero is one, the switching unit 17 is switched to the row selection unit 13 side, and the row selection unit 13 changes the data position portion from the parity check matrix. Of the rows of the sub-matrix excluding the columns corresponding to the already generated parity, the row having one nonzero element is selected.

選択された行が(i+1)行目であり、非零の要素がhi,j(但しjは(k+q)〜(n−1)のいずれかである)とすれば、C・HT=0から(i+1)行目だけを抜き出した式

Figure 2010034887
において、まだ生成されていないパリティpq〜p(r-1)の係数となるhi,(k+q)〜hi,(n-1)のうち、hi,jのみが非零である。 If the selected row is the (i + 1) th row and the non-zero element is h i, j (where j is any one of (k + q) to (n−1)), C · H T = Expression that extracts only the (i + 1) th line from 0
Figure 2010034887
In, h i as the coefficient of not yet generated parity p q ~p (r-1) , (k + q) ~h i, (n-1) of, h i, j only in nonzero is there.

消失訂正部14は、行選択部13で選択した行を指示する情報に基づき、パリティp(j-k)

Figure 2010034887
により計算し、第2の符号化データとして、第1の選択部15を経由して、検査行列判断部12と消失訂正部14にフィードバックする。 The erasure correction unit 14 calculates the parity p (jk) based on the information indicating the row selected by the row selection unit 13.
Figure 2010034887
And is fed back to the parity check matrix determination unit 12 and the erasure correction unit 14 via the first selection unit 15 as the second encoded data.

また、検査行列判断部12で、値が非零である要素の個数が1個である行が1行も存在しない場合には、切替部17をパリティ生成部11側に切替えて、パリティ生成部11で、生成行列Gのパリティ位置部分からまだ生成していないパリティに対応する列を選択し、その列のパリティを生成し、再度第1の符号化データとして出力し、第1の選択部15を経由して、検査行列判断部12と消失訂正部14にフィードバックする。   Also, in the parity check matrix determination unit 12, when there is no row having one non-zero value element, the switching unit 17 is switched to the parity generation unit 11 side, and the parity generation unit 11, the column corresponding to the parity that has not been generated yet is selected from the parity position portion of the generator matrix G, the parity of the column is generated, and is output again as the first encoded data, and the first selector 15 Is fed back to the check matrix determination unit 12 and the erasure correction unit 14.

上記したように、消失訂正部14もしくはパリティ生成部11のどちらかで、パリティを1個生成できており、検査行列からデータ位置部分と、既に生成されたパリティに対応する列を除いた部分行列は、生成できたパリティに対応する列を除いておく。   As described above, one parity can be generated by either the erasure correction unit 14 or the parity generation unit 11, and the partial matrix obtained by removing the data position portion and the column corresponding to the already generated parity from the parity check matrix Excludes the column corresponding to the generated parity.

このようにして、検査行列判断部12と行選択部13でパリティ生成方法を選択し、消失訂正部14もしくはパリティ生成部11のどちらかで、パリティを計算することを繰り返して、残りのパリティを全て生成する。   In this way, the parity check method is selected by the check matrix determination unit 12 and the row selection unit 13, and either the erasure correction unit 14 or the parity generation unit 11 repeatedly calculates the parity, and the remaining parity is calculated. Generate all.

通常のregularのLDPC符号では、生成行列のパリティ位置部分では、非零の要素がほぼ半分と予想されるので、生成行列の列に基づいてパリティを生成すると、1個のパリティの生成につき、(k/2)−1回のシンボル単位の加算が発生する。これに対し、検査行列の各行は(符号の次数)/(1−k/n)個の非零の要素があるので、検査行列の行に基づいてパリティを生成すると、1個のパリティの生成につき、((符号の次数)/(1−k/n))−2回のシンボル単位の加算が発生する。kの値として数百から数千程度、k/nの範囲としては1/2ないし1/10程度、符号の次数は3ないし7程度を想定すると、生成行列の列に基づいてパリティを生成した場合のシンボル単位の加算回数は数百から数千のオーダ、検査行列の行に基づいてパリティを生成した場合のシンボル単位の加算回数は数十のオーダとなり、生成行列に基づいて計算していたパリティの一部を検査行列に基づいて計算することにより、大幅な計算量の削減が可能となった。   In an ordinary regular LDPC code, non-zero elements are expected to be almost half in the parity position portion of the generator matrix. Therefore, when generating parity based on the columns of the generator matrix, k / 2) -1 addition in symbol units occurs. On the other hand, since each row of the parity check matrix has (sign order) / (1−k / n) non-zero elements, when parity is generated based on the row of the parity check matrix, one parity is generated. Therefore, ((order of code) / (1-k / n))-2 additions in symbol units occur. Assuming that the value of k is several hundred to several thousand, the range of k / n is about 1/2 to 1/10, and the order of the code is about 3 to 7, parity is generated based on the columns of the generator matrix. In this case, the number of additions per symbol is on the order of hundreds to thousands, and the number of additions per symbol when parities are generated based on the rows of the check matrix is on the order of several tens, which is calculated based on the generation matrix. By calculating a part of the parity based on the parity check matrix, the amount of calculation can be greatly reduced.

また、検査行列の各行において、非零の要素に対応する受信語の要素のうち、値が不明の要素が1個である場合に他の要素から計算するというのは、通常は消失誤りを訂正する時の手法である。そして、任意の位置に生起する消失誤りを訂正する場合、符号によって大きく異なるが、おおよそパリティシンボル数の5〜9割程度の消失誤りを訂正することが可能である。例えばパリティシンボル数の9割の消失誤りを訂正できる符号であれば、訂正できない1割に相当するシンボル数のパリティを、符号化開始時にパリティ生成部11で生成しておけば、残りの9割のほぼ大部分(もしくは全て)のパリティは消失訂正部14で生成することが可能である。   Also, in each row of the parity check matrix, if there is only one element of unknown value among the elements of the received word corresponding to the non-zero element, calculating from the other elements usually corrects the erasure error It is a technique when doing. When correcting a erasure error occurring at an arbitrary position, it is possible to correct a erasure error of about 50 to 90% of the number of parity symbols, although it varies greatly depending on the code. For example, in the case of a code that can correct 90% of erasure errors of the number of parity symbols, if the parity generation unit 11 generates parity of the number of symbols corresponding to 10% that cannot be corrected, the remaining 90% Most (or all) of the parity can be generated by the erasure correction unit 14.

このように、消失訂正部14が計算量の少ない消失訂正処理でパリティを生成することができる。また、消失訂正部14が消失訂正処理を行うことができない場合に、パリティ生成部11がパリティを生成する。これによって、消失訂正部14が消失訂正処理を行うことができるようになり、計算量の削減を図ることができる。   In this way, the erasure correction unit 14 can generate parity by erasure correction processing with a small amount of calculation. Further, when the erasure correction unit 14 cannot perform the erasure correction process, the parity generation unit 11 generates a parity. As a result, the erasure correction unit 14 can perform the erasure correction process, and the amount of calculation can be reduced.

なお、検査行列判断部12で、値が非零である要素の個数が1個である行が1行でも存在すれば、その情報を行選択部13に出力し、行選択部13はその情報をそのまま使う(行選択部13は実質的に存在しない)構成でも良い。   If there is even one row in which the number of elements whose values are non-zero is one in the check matrix determination unit 12, the information is output to the row selection unit 13, and the row selection unit 13 May be used as it is (the row selection unit 13 does not substantially exist).

(実施の形態2)
次に、本発明の実施の形態2について説明する。上記実施の形態1では、行選択部13が選択することができる検査行列Hの行が存在しなければ、パリティ生成部11がパリティを生成することとした。しかし、本実施の形態2では、行選択部13が少なくとも1以上の検査行列Hの行を選択するように構成される。
(Embodiment 2)
Next, a second embodiment of the present invention will be described. In Embodiment 1 described above, if there is no row of the parity check matrix H that can be selected by the row selection unit 13, the parity generation unit 11 generates parity. However, in the second embodiment, the row selection unit 13 is configured to select at least one row of the check matrix H.

図4は、本発明の実施の形態2における符号化装置の機能的な構成の一例を示すブロック図である。   FIG. 4 is a block diagram showing an example of a functional configuration of the encoding apparatus according to Embodiment 2 of the present invention.

図4に示すように、実施の形態2の符号化装置10は、パリティ生成部21、検査行列に基づいたパリティ生成部22、行選択部23、消失訂正部24、及び第1の選択部25を備えている。実施の形態2の符号化装置10は、実施の形態1の符号化装置10と同様に、入力されたk個のシンボルのデータDから、r=(n−k)個のシンボルのパリティを生成して、n個のシンボルの符号語を出力する。生成行列及び検査行列も、実施の形態1と同様に、図3A及び3Bに示す通りである。   As shown in FIG. 4, the coding apparatus 10 of Embodiment 2 includes a parity generation unit 21, a parity generation unit 22, a row selection unit 23, an erasure correction unit 24, and a first selection unit 25 based on a parity check matrix. It has. Similar to encoding apparatus 10 of the first embodiment, encoding apparatus 10 of the second embodiment generates parity of r = (n−k) symbols from input data D of k symbols. Then, a code word of n symbols is output. The generator matrix and the check matrix are also as shown in FIGS. 3A and 3B, as in the first embodiment.

パリティ生成部21は、図3Aに示すような生成行列Gのパリティ位置部分からq列を選択し、j=0,1,…,(q−1)として、パリティpj=g0,j・d0+g1,j・d1+g2,j・d2+……+g(k-2),j・d(k-2)+g(k-1),j・d(k-1)を生成し、第1の符号化データとして出力する。図3Bでは、検査行列Hにおいて、生成行列Gのデータ位置部分と生成済みのパリティの部分に対応する列を斜線部分で示している。 The parity generation unit 21 selects q columns from the parity position portion of the generation matrix G as shown in FIG. 3A, and uses j = 0, 1,..., (Q−1) as the parity p j = g 0, j. d 0 + g 1, j · d 1 + g 2, j · d 2 + …… + g (k-2), j · d (k-2) + g (k-1), j · d (k-1) Generate and output as first encoded data. In FIG. 3B, in the check matrix H, columns corresponding to the data position portion of the generation matrix G and the generated parity portion are indicated by hatching.

検査行列に基づいたパリティ生成部22では、残りの未生成のパリティを1シンボルずつ生成していく。まず、行選択部23で、検査行列からデータ位置部分と、既に生成されたパリティに対応する列を除いた(n−k−q)列の部分行列H(n-k-q)の行のうち、値が非零である要素の個数が1個である行を選択する。 The parity generation unit 22 based on the parity check matrix generates the remaining ungenerated parity one symbol at a time. First, in the row selection unit 23, the value of the row of the submatrix H (nkq) of (n−q−q) columns obtained by removing the data position portion from the parity check matrix and the column corresponding to the already generated parity is the value. Select a row with one non-zero element.

選択された行が(i+1)行目であり、非零の要素がhi,j(但しjは(k+q)〜(n−1)のいずれかである)とすれば、C・HT=0から(i+1)行目だけを抜き出した式

Figure 2010034887
において、まだ生成されていないパリティpq〜p(r-1)の係数となるhi,(k+q)〜hi,(n-1)のうち、hi,jのみが非零である。 If the selected row is the (i + 1) th row and the non-zero element is h i, j (where j is any one of (k + q) to (n−1)), C · H T = Expression that extracts only the (i + 1) th line from 0
Figure 2010034887
In, h i as the coefficient of not yet generated parity p q ~p (r-1) , (k + q) ~h i, (n-1) of, h i, j only in nonzero is there.

消失訂正部24は、行選択部23で選択した行を指示する情報に基づき、パリティp(j-k)

Figure 2010034887
により、計算する。 The erasure correction unit 24 calculates the parity p (jk) based on the information indicating the row selected by the row selection unit 23.
Figure 2010034887
To calculate.

上記したように、パリティを1個生成できたので、第1の選択部25を経由して第2の符号化データとして、行選択部23と消失訂正部24にフィードバックする。また検査行列からデータ位置部分と、既に生成されたパリティに対応する列を除いた部分行列は、さらに生成できたパリティに対応する列を除いて、(n−k−q−1)列の部分行列H(n-k-q-1)とする。 As described above, since one parity has been generated, it is fed back to the row selection unit 23 and the erasure correction unit 24 as second encoded data via the first selection unit 25. Further, the submatrix excluding the data position portion and the column corresponding to the already generated parity from the parity check matrix is the (n−k−q−1) column portion excluding the column corresponding to the generated parity. The matrix is H (nkq-1) .

このようにして、行選択部23で、部分行列から値が非零である要素の個数が1個である行を選択し、消失訂正部24で、検査行列の当該行の値を元に非零の要素に対応するパリティを計算することを繰り返して、パリティ生成部21で生成しなかったパリティを全て生成する。   In this way, the row selection unit 23 selects a row having one nonzero element from the submatrix, and the erasure correction unit 24 selects a row based on the value of the row of the check matrix. By repeatedly calculating the parity corresponding to the zero element, all the parities not generated by the parity generation unit 21 are generated.

ここで、パリティ生成部21が生成するパリティは、行選択部23が少なくとも1以上の検査行列Hの行を選択するように定められる。つまり、パリティ生成部21で生成するq個のパリティについては、残りのパリティに対応する検査行列の列から構成される部分行列Hx(但し、x=(n−k−q),(n−k−q−1),…,2,1)のそれぞれにおいて、値が非零である要素の個数が1個である行が少なくとも1行は存在するように、予め選択されているものとする。 Here, the parity generated by the parity generation unit 21 is determined so that the row selection unit 23 selects at least one row of the check matrix H. That is, with respect to q parities generated by the parity generation unit 21, a partial matrix H x (where x = (n−k−q), (n− In each of k−q−1),..., 2, 1), it is assumed that the number of elements having a non-zero value is preselected so that there is at least one row. .

上記の構成により、実施の形態1と同様に、一部のパリティシンボルの作成アルゴリズムを消失訂正処理に置き換えることが可能にしており、パリティシンボル1個の生成につき、シンボル単位の加算回数を、おおよそ(データシンボル数/2)−1回から((符号の次数)/(1−符号化率))−2回に削減することができ、符号化処理全体の計算量を大幅に削減することが可能になった。   With the above configuration, as in the first embodiment, it is possible to replace a part of the parity symbol creation algorithms with erasure correction processing, and for each parity symbol generation, the number of additions per symbol is approximately The number of data symbols can be reduced from (2) -1 times to ((order of code) / (1-coding rate))-2 times, and the calculation amount of the entire encoding process can be greatly reduced. It became possible.

このように、行選択部23が行の選択を行うことができるように、予めパリティ生成部21が生成するパリティが定められる。これによって、消失訂正部24が消失訂正処理を行うことができるようになり、計算量の削減を図ることができる。   In this manner, the parity generated by the parity generation unit 21 is determined in advance so that the row selection unit 23 can select a row. As a result, the erasure correction unit 24 can perform the erasure correction process, and the amount of calculation can be reduced.

以下の表は、従来の符号化装置と本発明の符号化装置のそれぞれにおいて、実際にどの程度の回数の加算を行なって符号化を行なっているのかを示す例である。パリティ生成部21で生成するパリティ数qについては、従来比が最小となる値を選んでいる。この結果からも、本発明により、加算回数を削減し、符号化の処理速度を高速化することが可能であることは明確となっている。   The following table shows an example of how many times the addition is actually performed in each of the conventional coding apparatus and the coding apparatus of the present invention. For the number of parity q generated by the parity generation unit 21, a value that minimizes the conventional ratio is selected. From this result, it is clear that according to the present invention, the number of additions can be reduced and the encoding processing speed can be increased.

符号は、それぞれ符号化率(データ長/符号長)は3/4として、検査行列を乱数で生成したものである。従って、同じパラメータ(符号長、符号化率、次数)であっても、異なる符号であれば、qの値や加算回数は異なるが、傾向としてはほぼ同じようになると考えられる。   Each code has a coding rate (data length / code length) of 3/4 and a parity check matrix generated with random numbers. Therefore, even if the parameters are the same (code length, coding rate, order), the values of q and the number of additions are different if the codes are different, but the tendency is almost the same.

Figure 2010034887
Figure 2010034887

なお、パリティ生成部21は、部分行列において値が非零である要素の個数が1個である行を選択するとしているが、パリティ生成部21で生成するパリティを予め選択した時点で、どのような順序で行を選択していくかも判明しているので、非零の要素の個数をチェックせずに既に判明している順序で行を指定していくようにしても良い。   Note that the parity generation unit 21 selects a row in which the number of elements having a non-zero value in the submatrix is one. However, when the parity generated by the parity generation unit 21 is selected in advance, Since it is also known that the rows are selected in the proper order, the rows may be designated in the already known order without checking the number of non-zero elements.

また、図3Aでは、q列は検査行列のパリティ位置部分の左側にまとまっているが、実際にはパリティ生成部21で生成するパリティを予め選択した時点では、パリティ位置部分のr列のあいだで散らばっており、検査行列と生成行列としては、そのまま使っても左側にまとめるように列を入れ替えて使っても良い。   In FIG. 3A, the q columns are grouped on the left side of the parity position portion of the parity check matrix, but in reality, when the parity generated by the parity generation unit 21 is selected in advance, it is between r columns of the parity position portion. As the check matrix and generator matrix, they can be used as they are, or the columns can be switched so that they are collected on the left side.

また、本発明において演算を加算として説明しているが、これは符号の要素に応じた演算を意味している。例えば、符号がガロア体GF(q)の要素で構成されていればaとbの加算は(a+b)mod qのことであり、ガロア体GF(2)の要素で構成されていれば、加算は排他的論理和(exclusive−or)のことである。また、tビットのガロア体GF(2)の要素からなるブロックを符号の1シンボルとした場合は、t個の排他的論理和(exclusive−or)を並列して実行する演算を意味している。   Further, in the present invention, calculation is described as addition, but this means calculation according to the element of the sign. For example, if the sign is composed of elements of Galois field GF (q), addition of a and b is (a + b) mod q, and if it is composed of elements of Galois field GF (2) Is an exclusive-or. In addition, when a block composed of elements of t-bit Galois field GF (2) is used as one symbol, it means an operation that executes t exclusive-or in parallel. .

また、生成行列Gや検査行列Hは、符号ごとに固有の行列であるので、使われている符号に合わせた生成行列Gや検査行列Hの情報を選択するもしくは入力する機能を備えれば、複数の符号を扱う符号化装置10を構成できることは明らかである。   In addition, since the generator matrix G and the check matrix H are unique to each code, if the function of selecting or inputting the information of the generator matrix G and the check matrix H according to the used code is provided, It is obvious that the encoding apparatus 10 that handles a plurality of codes can be configured.

以上、本発明に係る符号化装置について、上記実施の形態を用いて説明したが、本発明は、これに限定されるものではない。   As described above, the encoding apparatus according to the present invention has been described using the above embodiment, but the present invention is not limited to this.

つまり、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。   That is, the embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

例えば、本実施の形態では、データD、生成行列G及び検査行列Hの各要素は2進数であることとしたが、データD、生成行列G及び検査行列Hの各要素は2進数に限定されず、3進数などであってもよい。   For example, in the present embodiment, each element of the data D, the generator matrix G, and the check matrix H is a binary number, but each element of the data D, the generator matrix G, and the check matrix H is limited to a binary number. Alternatively, it may be a ternary number.

また、本実施の形態では、パリティ生成部11などの各構成要素は、ソフトウェアにより構成されていることとしたが、専用のハードウェアにより構成されていてもよい。つまり、ブロック図(図1及び図4など)の各機能ブロックは、典型的には集積回路であるLSIとして実現されていてもよい。なお、これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。   Further, in the present embodiment, each component such as the parity generation unit 11 is configured by software, but may be configured by dedicated hardware. That is, each functional block in the block diagrams (FIG. 1 and FIG. 4 and the like) may be realized as an LSI that is typically an integrated circuit. Note that these may be individually made into one chip, or may be made into one chip so as to include a part or all of them.

本発明に係る符号化装置、符号化方法、及び符号化プログラムは、処理速度を高速化することができ、ネットワーク伝送時のパケットロスのような消失訂正の用途に有用である。   The encoding apparatus, encoding method, and encoding program according to the present invention can increase the processing speed and are useful for erasure correction such as packet loss during network transmission.

本発明の実施の形態1の符号化装置の機能的な構成の一例を示すブロック図である。It is a block diagram which shows an example of a functional structure of the encoding apparatus of Embodiment 1 of this invention. 符号化装置が実行する符号化の処理を示すフローチャートである。It is a flowchart which shows the process of the encoding which an encoding apparatus performs. 符号化装置の符号化処理の一例を具体的に説明する図である。It is a figure explaining an example of an encoding process of an encoding apparatus concretely. 符号化装置の符号化処理の一例を具体的に説明する図である。It is a figure explaining an example of an encoding process of an encoding apparatus concretely. 本発明の実施の形態2の符号化装置の機能的な構成の一例を示すブロック図である。It is a block diagram which shows an example of a functional structure of the encoding apparatus of Embodiment 2 of this invention. 伝送パケット生成の説明図である。It is explanatory drawing of transmission packet generation.

符号の説明Explanation of symbols

10 符号化装置
11、21 パリティ生成部
12 検査行列判断部
13、23 行選択部
14、24 消失訂正部
15、25 第1の選択部
16 第2の選択部
17 切替部
22 検査行列に基づいたパリティ生成部
DESCRIPTION OF SYMBOLS 10 Encoding device 11, 21 Parity generation part 12 Check matrix judgment part 13, 23 Row selection part 14, 24 Erasure correction part 15, 25 First selection part 16 Second selection part 17 Switching part 22 Based on check matrix Parity generator

Claims (5)

入力データに対して線形符号化によって符号語を生成する符号化装置であって、
前記入力データが第1のデータとして入力され、前記第1のデータから少なくとも1個のパリティを前記線形符号の生成行列を用いて生成し、前記第1のデータに当該生成されたパリティが付加された第1の符号化データを出力するパリティ生成部と、
第2のデータが入力され、前記線形符号の検査行列の全ての行の中から、前記行の非零の要素に対応する前記第2のデータのパリティのうち生成されていないパリティが1個である行を選択する行選択部と、
前記行選択部が選択した行を用いて、前記生成されていないパリティを消失として訂正処理を行なって生成し、当該生成されたパリティを前記第2のデータに付加して第2の符号化データを出力する消失訂正部と、
前記第1の符号化データが入力された場合には前記第1の符号化データを前記第2のデータとして出力し、前記第2の符号化データが入力された場合には前記第2の符号化データを前記第2のデータとして出力する第1の選択部とを備え、
前記消失訂正部は、線形符号化が終了するまで、出力された前記第2の符号化データを前記第1の選択部に出力し、線形符号化が終了した場合に、出力された前記第2の符号化データを前記符号語として出力することで、前記符号語を生成する
ことを特徴とする符号化装置。
An encoding device that generates a code word by linear encoding for input data,
The input data is input as first data, at least one parity is generated from the first data using the generation matrix of the linear code, and the generated parity is added to the first data. A parity generation unit that outputs the first encoded data;
Second data is input, and one of the parity of the second data corresponding to the non-zero element of the row is not generated from all the rows of the parity check matrix of the linear code. A line selection section for selecting a line;
Using the row selected by the row selection unit, the parity that has not been generated is corrected and generated by erasure, and the generated parity is added to the second data to generate second encoded data. Erasure correction unit that outputs
When the first encoded data is input, the first encoded data is output as the second data, and when the second encoded data is input, the second code is output. And a first selection unit that outputs the digitized data as the second data,
The erasure correction unit outputs the output second encoded data to the first selection unit until linear encoding is completed, and outputs the second encoded data when linear encoding is completed. The encoding device generates the code word by outputting the encoded data as the code word.
さらに、
前記第2のデータが入力された場合には前記第2のデータを前記第1のデータとして前記パリティ生成部に出力する第2の選択部と、
前記行選択部が選択することができる前記検査行列の行が存在するか否かを判断する検査行列判断部と、
前記行選択部が選択する行が存在しないと判断された場合に、前記第1の選択部が前記第2の選択部に前記第2のデータを出力するように切り替える切替部とを備え、
前記パリティ生成部は、前記第2の選択部に前記第2のデータが入力された場合、前記第2の選択部から入力される前記第1のデータから少なくとも1個のパリティを生成し、前記第1のデータに当該生成されたパリティが付加された第1の符号化データを出力する
ことを特徴とする請求項1に記載の符号化装置。
further,
A second selector that outputs the second data to the parity generator as the first data when the second data is input;
A parity check matrix determination unit that determines whether or not there is a row of the parity check matrix that can be selected by the row selection unit;
A switching unit that switches the first selection unit to output the second data to the second selection unit when it is determined that there is no row to be selected by the row selection unit;
The parity generation unit generates at least one parity from the first data input from the second selection unit when the second data is input to the second selection unit; The encoding apparatus according to claim 1, wherein the first encoded data in which the generated parity is added to the first data is output.
前記パリティ生成部が生成するパリティは、前記行選択部が少なくとも1以上の前記検査行列の行を選択するように定められる
ことを特徴とする請求項1に記載の符号化装置。
The coding apparatus according to claim 1, wherein the parity generated by the parity generation unit is determined such that the row selection unit selects at least one row of the parity check matrix.
入力データに対して線形符号化によって符号語を生成する符号化方法であって、
コンピュータが、前記入力データを第1のデータとして入力し、前記第1のデータから少なくとも1個のパリティを前記線形符号の生成行列を用いて生成し、前記第1のデータに当該生成されたパリティが付加された第1の符号化データを出力するパリティ生成ステップと、
コンピュータが、前記線形符号の検査行列の全ての行の中から、前記行の非零の要素に対応する入力された第2のデータのパリティのうち生成されていないパリティが1個である行を選択する行選択ステップと、
コンピュータが、前記行選択ステップで選択された行を用いて、前記生成されていないパリティを消失として訂正処理を行なって生成し、当該生成されたパリティを前記第2のデータに付加して第2の符号化データを出力する消失訂正ステップと、
コンピュータが、前記第1の符号化データが入力された場合には前記第1の符号化データを前記第2のデータとして出力し、前記第2の符号化データが入力された場合には前記第2の符号化データを前記第2のデータとして出力する第1の選択ステップとを含み、
前記消失訂正ステップでは、線形符号化が終了するまで、出力された前記第2の符号化データを前記第1の選択部に出力し、線形符号化が終了した場合に、出力された前記第2の符号化データを前記符号語として出力することで、前記符号語を生成する
ことを特徴とする符号化方法。
An encoding method for generating a code word by linear encoding for input data,
A computer inputs the input data as first data, generates at least one parity from the first data using a generation matrix of the linear code, and generates the generated parity for the first data. A parity generation step of outputting the first encoded data to which
The computer selects a row in which all of the parity of the input second data corresponding to the non-zero element of the row is one not generated among all the rows of the check matrix of the linear code. A row selection step to select;
The computer uses the row selected in the row selection step to generate the parity that has not been generated by performing correction processing as an erasure, and adds the generated parity to the second data to generate the second data. Erasure correction step for outputting encoded data of
The computer outputs the first encoded data as the second data when the first encoded data is input, and the first encoded data when the second encoded data is input. A first selection step of outputting two encoded data as the second data,
In the erasure correction step, the output second encoded data is output to the first selection unit until linear encoding is completed, and the second encoded data output when linear encoding is completed. The encoding method is characterized in that the code word is generated by outputting the encoded data as the code word.
入力データに対して線形符号化によって符号語を生成するためのプログラムであって、
前記入力データが第1のデータとして入力され、前記第1のデータから少なくとも1個のパリティを前記線形符号の生成行列を用いて生成し、前記第1のデータに当該生成されたパリティが付加された第1の符号化データを出力するパリティ生成ステップと、
第2のデータが入力され、前記線形符号の検査行列の全ての行の中から、前記行の非零の要素に対応する前記第2のデータのパリティのうち生成されていないパリティが1個である行を選択する行選択ステップと、
前記行選択ステップで選択された行を用いて、前記生成されていないパリティを消失として訂正処理を行なって生成し、当該生成されたパリティを前記第2のデータに付加して第2の符号化データを出力する消失訂正ステップと、
前記第1の符号化データが入力された場合には前記第1の符号化データを前記第2のデータとして出力し、前記第2の符号化データが入力された場合には前記第2の符号化データを前記第2のデータとして出力する第1の選択ステップとをコンピュータに実行させ、
前記消失訂正ステップでは、線形符号化が終了するまで、出力された前記第2の符号化データを前記第1の選択部に出力し、線形符号化が終了した場合に、出力された前記第2の符号化データを前記符号語として出力することで、前記符号語を生成する
ことを特徴とするプログラム。
A program for generating codewords by linear encoding for input data,
The input data is input as first data, at least one parity is generated from the first data using the generation matrix of the linear code, and the generated parity is added to the first data. A parity generation step of outputting the first encoded data;
Second data is input, and one of the parity of the second data corresponding to the non-zero element of the row is not generated from all the rows of the parity check matrix of the linear code. A row selection step for selecting a row;
Using the row selected in the row selection step, the non-generated parity is generated by performing correction processing as an erasure, and the generated parity is added to the second data to perform the second encoding. Erasure correction step for outputting data;
When the first encoded data is input, the first encoded data is output as the second data, and when the second encoded data is input, the second code is output. Causing the computer to execute a first selection step of outputting the digitized data as the second data,
In the erasure correction step, the output second encoded data is output to the first selection unit until linear encoding is completed, and the second encoded data output when linear encoding is completed. The codeword is generated by outputting the encoded data of the codeword as the codeword.
JP2008195349A 2008-07-29 2008-07-29 Encoding apparatus, encoding method and encoding program Pending JP2010034887A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008195349A JP2010034887A (en) 2008-07-29 2008-07-29 Encoding apparatus, encoding method and encoding program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008195349A JP2010034887A (en) 2008-07-29 2008-07-29 Encoding apparatus, encoding method and encoding program

Publications (1)

Publication Number Publication Date
JP2010034887A true JP2010034887A (en) 2010-02-12

Family

ID=41738867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008195349A Pending JP2010034887A (en) 2008-07-29 2008-07-29 Encoding apparatus, encoding method and encoding program

Country Status (1)

Country Link
JP (1) JP2010034887A (en)

Similar Documents

Publication Publication Date Title
KR101421286B1 (en) Methods and apparatus employing fec codes with permanent inactivation of symbols for encoding and decoding processes
JP5340286B2 (en) Erasure correction encoding apparatus and erasure correction encoding method
JP4062435B2 (en) Error correction code decoding apparatus
JP4389373B2 (en) Decoder for iterative decoding of binary cyclic code
JP3727938B2 (en) LDPC decoding apparatus and method
JP3893383B2 (en) LDPC code parity check matrix generation method and parity check matrix generation apparatus
WO2014122772A1 (en) Data structure for check matrix of error correction code, and coding-rate adjustment device and method for error correction code
JP4005084B2 (en) Parity check matrix generation method and parity check matrix generation apparatus
WO2004107585A1 (en) Decoding method, decoding device, program, recording/reproduction device and method, and reproduction device and method
JP2007166605A (en) Parity check matrix, method for generating parity check matrix, encoding method, and error corrector
WO2015135298A1 (en) Method, device, and computer storage medium supporting low bit rate encoding
JP4591371B2 (en) QC code encoding method
JP2009515420A (en) Apparatus and method for decoding and encoding data
KR20110126097A (en) Coding and decoding using ldpc quasi-cyclic codes
JP5792256B2 (en) Sparse graph creation device and sparse graph creation method
JP2010098735A (en) Method of correction of binary data error and error detection
US20170288697A1 (en) Ldpc shuffle decoder with initialization circuit comprising ordered set memory
JP4202161B2 (en) Encoding device and decoding device
JP2011146899A (en) Encoder, decoder and encoding method and decoding method
US11265012B1 (en) Methods of secure communication using low-density parity check coding
JP2009182421A (en) Decoding method and decoding device
JP5523064B2 (en) Decoding apparatus and method
JP2010034887A (en) Encoding apparatus, encoding method and encoding program
JP5952971B2 (en) Communication path decoding method and communication path decoding apparatus
JP2010041628A (en) Encoder, encoding method, and encoding program