JP2010041677A - Decoder, decoding method, and decoding program - Google Patents

Decoder, decoding method, and decoding program Download PDF

Info

Publication number
JP2010041677A
JP2010041677A JP2008205719A JP2008205719A JP2010041677A JP 2010041677 A JP2010041677 A JP 2010041677A JP 2008205719 A JP2008205719 A JP 2008205719A JP 2008205719 A JP2008205719 A JP 2008205719A JP 2010041677 A JP2010041677 A JP 2010041677A
Authority
JP
Japan
Prior art keywords
matrix
received word
syndrome
position information
erasure
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
JP2008205719A
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 JP2008205719A priority Critical patent/JP2010041677A/en
Publication of JP2010041677A publication Critical patent/JP2010041677A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a decoder capable of reducing computational complexity, while maintaining high correction capability. <P>SOLUTION: The decoder 10 has: a first decoding section 11 for enabling input of a received word and disappearance position information indicating a position of an erroneous symbol in the received word and for generating a first received word, where the symbol is corrected based on a decoding graph, and first disappearance position information reflecting the corrected symbol; a matrix processing section 12 for extracting a disappearance vector Z and a coefficient matrix H', and for generating a conversion matrix T for converting the coefficient matrix H' to an upper triangular matrix H" and a first syndrome from the first received word; a matrix decoding section 13 for generating a second received word, the erroneous symbol is corrected, and second disappearance position information reflecting the corrected symbol, and for performing correction to a second syndrome reflecting the corrected symbol; and a second decoding section 14 for generating a third received word corrected based on the decoding graph and third disappearance position information reflecting the corrected symbol. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

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

近年、訂正能力に優れた符号として、LDPC符号が有力視されている。そして、LDPC符号の復号アルゴリズムの一つにSum−Product法などがある(例えば、非特許文献1〜3)。   In recent years, LDPC codes have been considered promising as codes with excellent correction capability. One of LDPC code decoding algorithms is the Sum-Product method (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.

例えば、図7に示すように、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. 7, 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.

伝送後に、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.

以下に、LDPC符号の復号について、説明する。LDPC符号は、線形符号(Linear Code)の1種であるが、線形符号は、k行n列の生成行列Gと、G・HT=0となる(n−k)行n列の検査行列Hにより、符号の構造を定義できる。H・GT=0と記述しても良い。 Hereinafter, decoding of the LDPC code will be described. The LDPC code is a kind of linear code, but the linear code is a generator matrix G of k rows and n columns and a check matrix of (n−k) rows and n columns where G · H T = 0. With H, the structure of the code can be defined. And H · G T = 0 may be described.

データ(ベクトル)D=(d0,d1,…,d(k-1))に、生成行列Gをかけて、符号語(ベクトル)C=(c0,c1,…,c(n-1))=D・Gを得ることにより、符号化はなされる。H・CT=H・GT・DT=0が成立する。伝送されて誤り(消失も含む)が生じた受信語(ベクトル)R=(r0,r1,…,r(n-1))は、誤り(ベクトル)をE=(e0,e1,…,e(n-1))として、R=C+Eである。 Data (vector) D = (d 0 , d 1 ,..., D (k−1) ) is multiplied by a generator matrix G, and codeword (vector) C = (c 0 , c 1 ,..., C (n -1) Encoding is performed by obtaining) = D · G. H · C T = H · G T · D T = 0 holds. A received word (vector) R = (r 0 , r 1 ,..., R (n−1) ) in which an error (including erasure) has occurred is transmitted, and the error (vector) is expressed as E = (e 0 , e 1 ,..., E (n-1) ), R = C + E.

解法1)
シンドロームS=(s0,s1,…,s(n-k-1))は、ST=H・RT=H・(C+E)T=H・CT+H・ET=H・ETにより得られる。x個の消失(x<(n−k))が生じた場合、誤り(ベクトル)Eのn個のシンボルのうち、消失の位置以外にある(n−x)個のシンボルは0であるから、上記したS=H・RT=H・ETの式は、残りのx個の消失シンボルの値を変数とする1次x元連立方程式となる。式の数は、(n−k)であるから、これを解いて、各シンボルの大きさを求めれば、誤りの訂正が可能になる。
Solution 1)
Syndrome S = (s 0, s 1 , ..., s (nk-1)) is the S T = H · R T = H · (C + E) T = H · C T + H · E T = H · E T can get. When x erasures (x <(n−k)) occur, out of n symbols of error (vector) E, (n−x) symbols other than the erasure position are 0. The above equation S = H · R T = H · E T is a first-order x-ary simultaneous equation with the values of the remaining x lost symbols as variables. Since the number of equations is (n−k), it is possible to correct an error by solving this and obtaining the size of each symbol.

解法2)
LDPC符号は、線形符号の中でも、検査行列Hにおいて0の要素が非常に多い。即ち、非零の要素が低密度であるという特徴を持つ符号である。BCH符号では検査行列Hの要素のほぼ半分が‘1’であり、Reed−Solomon符号では検査行列Hの要素の全てが非零であるが、LDPC符号では検査行列Hの要素の数%のみが非零である。符号によっては、非零の要素が1%未満の符号もある。
Solution 2)
The LDPC code has very many elements of 0 in the parity check matrix H among linear codes. That is, the code has a feature that non-zero elements have a low density. In the BCH code, almost half of the elements of the parity check matrix H are “1”, and in the Reed-Solomon code, all the elements of the parity check matrix H are non-zero, whereas in the LDPC code, only a few percent of the elements of the parity check matrix H are present. It is non-zero. Some codes have less than 1% non-zero elements.

0=H・CT=H・(R−E)Tになるように、Eを選ぶにあたって、検査行列Hの各行の非零の要素が非常に少ないので、導出される1次x元連立方程式の各式は、
(0)非零の要素に相当する位置に、消失が1個もない式:連立方程式としては無意味
(1)非零の要素に相当する位置に、消失が1個だけある式:その式だけで、当該の消失の値を計算可能
(2)非零の要素に相当する位置に、消失が2個以上ある式
の3種類に分類される。
In selecting E such that 0 = H · C T = H · (R−E) T , since there are very few non-zero elements in each row of the check matrix H, the derived first-order x-ary simultaneous equations Each formula of
(0) Expression with no disappearance at a position corresponding to a non-zero element: meaningless as a simultaneous equation (1) Expression with only one disappearance at a position corresponding to a non-zero element: That expression Only the loss value can be calculated. (2) The values are classified into three types having two or more disappearances at positions corresponding to non-zero elements.

(1)のグループの式による訂正を行なえば、その式は(0)のグループの式になり、また訂正できた消失を含む(2)のグループの式の一部は、(1)のグループの式になる。(1)のグループの式の数が0個になるまで、これを繰り返して訂正する。   If correction is performed using the group formula of (1), the formula becomes the group formula of (0), and some of the formulas of the group of (2) including the corrected erasure are part of the group of (1). It becomes the following formula. This is repeated and corrected until the number of expressions in the group of (1) becomes zero.

具体例を図8Aに示す。符号長12、データシンボル数6であり、図8Aに示す2値の検査行列に基づく符号を例とする。   A specific example is shown in FIG. 8A. A code having a code length of 12 and a number of data symbols of 6 and based on the binary check matrix shown in FIG. 8A is taken as an example.

図8Bは、この検査行列に基づく受信語の各シンボルとシンドロームの各シンボルとの関係をグラフで表わしたものである。このグラフを復号グラフという。つまり、復号グラフは、受信語の各シンボルと、シンドロームの各シンボルとの関係を表わしたグラフである。シンドロームの左端のシンボルs0は、受信語のシンボルのうちのr0、r1、r2、r3とつながっており、r0、r1、r2、r3が符号語通りの値を受信していれば、s0=r0+r1+r2+r3=0(+は、排他的論理和(exclusive−or)として使用している)となるべきことを示している。 FIG. 8B is a graph showing the relationship between each symbol of the received word and each symbol of the syndrome based on this parity check matrix. This graph is called a decoding graph. That is, the decoding graph is a graph showing the relationship between each symbol of the received word and each symbol of the syndrome. Symbol s 0 of the leftmost syndrome, r 0 of the symbols of the received word, r 1, is connected to the r 2, r 3, r 0 , r 1, r 2, r 3 is the value of the code word as if received, s 0 = r 0 + r 1 + r 2 + r 3 = 0 (+ is the exclusive oR (exclusive-or) is used as a) shows that to be a.

図8Cは、受信語のr0、r5が、消失となった例である。r0を含むシンドロームはs0、s3であり、r5を含むシンドロームはs1、s5である。また、シンドロームs0、s1、s3、s5につながっている受信語のシンボルのうち、消失したシンボルは、それぞれ1個だけである。従って、s0もしくはs3からはr0を、s1もしくはs5からはr5を、復元して訂正することが可能である。上記の説明で言えば、(1)のグループの式が4個と、(0)のグループの式が2個存在しており、(1)のグループの式に基づいて訂正していけば、全て(0)のグループの式となっている。 FIG. 8C is an example in which r 0 and r 5 of the received word are lost. syndromes including r 0 is s 0, s 3, the syndrome containing the r 5 is s 1, s 5. In addition, among the symbols of the received words connected to the syndromes s 0 , s 1 , s 3 , and s 5 , only one symbol is lost. Therefore, from s 0 or s 3 to r 0, the r 5 from s 1 or s 5, it is possible to correct and restore. In the above description, there are four group expressions in (1) and two group expressions in (0). If corrected based on the group expression in (1), All are (0) group formulas.

図8Dは、受信語のr2、r3が、消失となった例である。r2を含むシンドロームはs0、s5であり、r5を含むシンドロームもまたs0、s5である。また、シンドロームs0、s5につながっている受信語のシンボルのうち、消失したシンボルは、どちらも2個である。r2+r3がどのような値になるかは判明するが、それ以上は決められない。上記の説明で言えば、(0)のグループの式が4個と、(2)のグループの式が2個存在しており、最初から(1)のグループの式は存在しない。 FIG. 8D is an example in which r 2 and r 3 of the received word are lost. The syndrome including r 2 is s 0 and s 5 , and the syndrome including r 5 is also s 0 and s 5 . Also, among the received word of symbols connected to the syndrome s 0, s 5, lost symbol are both two. It is clear what value r 2 + r 3 will be, but no more can be determined. In the above description, there are four (0) group expressions and two (2) group expressions, and there is no (1) group expression from the beginning.

図8E〜図8Gは、受信語のr1、r3、r6、r7、r9が、消失となった例である。最初に図8Eに示すように、シンドロームs0につながっている受信語のシンボルのうち、消失はr1、r3の2個である。シンドロームs1では、消失はr6、r7の2個である。シンドロームs2では、消失はr9の1個である。シンドロームs3では、消失はr1、r7、r9の3個である。シンドロームs4では、消失はr6の1個である。シンドロームs5では、消失はr3の1個である。 8E to 8G are examples in which r 1 , r 3 , r 6 , r 7 , and r 9 of the received word are lost. First, as shown in FIG. 8E, among the symbols of the received word connected to the syndrome s 0 , there are two erasures r 1 and r 3 . In the syndrome s 1 , there are two disappearances r 6 and r 7 . In syndrome s 2 , the disappearance is one of r 9 . In the syndrome s 3 , there are three disappearances r 1 , r 7 and r 9 . In syndrome s 4 , the disappearance is one of r 6 . In syndrome s 5 , the disappearance is one of r 3 .

まず、図8Fに示すように、シンドロームs2、s4、s5から、消失r3、r6、r9を復元し、他のシンドロームにこの結果をフィードバックすると、シンドロームs0につながっている受信語のシンボルのうち、消失はr1の1個となる。シンドロームs1では、消失はr7の1個になる。シンドロームs3では、消失はr1、r7の2個になる。 First, as shown in FIG. 8F, when the disappearances r 3 , r 6 , and r 9 are restored from the syndromes s 2 , s 4 , and s 5 and this result is fed back to other syndromes, the syndrome s 0 is obtained. Of the symbols of the received word, the erasure is one of r 1 . In syndrome s 1 , the disappearance is one of r 7 . In the syndrome s 3 , there are two disappearances r 1 and r 7 .

そこで、図8Gに示すように、シンドロームs0、s1から、消失r1、r7を復元することができ、このようにして全てのシンボルを正しく復号することができる。 Therefore, as shown in FIG. 8G, erasures r 1 and r 7 can be restored from the syndromes s 0 and s 1 , and all symbols can be correctly decoded in this way.

符号の符号長をn、データ数をk、レートをR=k/n、degree(検査行列の各列の“1”の数)をdegとし、xシンボルの消失を訂正する時、解法2)での計算量は、O(x×deg/(1−R))である。これに対し、解法1)での計算量は、連立方程式を解く段階のシンドローム処理だけでO(x2/2)であり、さらに連立方程式データの処理、シンドロームを求める処理がある。通常に使用されるLDPC符号では、xが数百以上、deg/(1−R)が数十程度であることから、解法1)は解法2)の数倍〜数十倍の計算量を要することになる。計算量を要するということは、処理時間が掛かるか、あるいは処理時間を削減するための復号リソースが多く必要になるということである。 When the code length of the code is n, the number of data is k, the rate is R = k / n, and the degree (the number of “1” s in each column of the parity check matrix) is deg, and the erasure of x symbols is corrected, solution 2) The amount of calculation at is O (x × deg / (1-R)). In contrast, the calculation amount in solution 1), only the syndrome processing stage solving simultaneous equations is O (x 2/2), further processing of the simultaneous equations data, there is a process for obtaining the syndromes. In a normally used LDPC code, since x is several hundred or more and deg / (1-R) is about several tens, solution 1) requires several times to several tens of times the amount of solution 2). It will be. To require a calculation amount means that processing time is required, or that many decoding resources for reducing the processing time are required.

但し、解法1)であれば符号の能力に応じた訂正能力を得ることができるが、解法2)の訂正能力は解法1)と比較して劣っている。簡単な例を図9に示す。図9では、受信語のシンボルra、rb、rc、rdが消失であり、検査行列Hの行のそれぞれを個別にしか参照していない解法2)では、このようなケースは訂正できない。しかし、解法1)では、各行から計算されるシンドロームの値がsw、sx、sy、szであるとして、ra=sw+sy+sz、rb=sx+sy+sz、rc=sw+sx+sy、rd=sw+sx+sy+sz、として各シンボルの値を復元することが可能である。このように解法1)では、解法2)とは異なって、行と行の関係も参照しているので、復号処理は非常に複雑になる。
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)
However, in the case of Solution 1), a correction capability corresponding to the capability of the code can be obtained, but the correction capability of Solution 2) is inferior to that of Solution 1). A simple example is shown in FIG. In Figure 9, the received word symbols r a, r b, r c , r d is disappeared, the solution 2) does not refer only to individually each row of the check matrix H, such cases are corrected Can not. However, in Solution 1), assuming that the syndrome values calculated from each row are s w , s x , s y , and s z , r a = s w + s y + s z , r b = s x + s y + s z , R c = s w + s x + s y , r d = s w + s x + s y + s z . Thus, in Solution 1), unlike Solution 2), the relationship between rows is also referred to, so the decoding process becomes very complicated.
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)

しかしながら、前記従来の2種類の解法は、解法1)は、訂正能力は優れているが、非常に計算量を要するし、復号グラフに基づいた解法2)は、計算量はあまり要しないが、訂正能力は解法1)と比較して劣っているという課題がある。   However, in the above two conventional solutions, the solution 1) has an excellent correction capability, but requires a large amount of calculation, and the solution 2) based on the decoding graph does not require a large amount of calculation. There is a problem that the correction ability is inferior to that of Solution 1).

本発明は、上記課題を解決するために、訂正能力を高く維持しつつ、計算量を低減することができる復号装置を提供することを目的とする。   In order to solve the above-described problems, an object of the present invention is to provide a decoding device that can reduce the amount of calculation while maintaining a high correction capability.

上記目的を達成するために、本発明に係る復号装置は、線形符号の誤りを前記線形符号に対応した検査行列を用いて訂正する復号装置であって、複数のシンボルで構成された受信語と前記受信語の中で誤りがあるシンボルの位置を示す消失位置情報とが入力され、前記検査行列に対応した復号方法を示す復号グラフに基づいて、前記受信語の誤りがあるシンボルの中で訂正可能なシンボルが訂正された第1の受信語と、前記訂正されたシンボルの位置が前記消失位置情報に反映された第1の消失位置情報とを生成する第1の復号部と、前記生成された第1の受信語と第1の消失位置情報と前記検査行列とから、誤りがあるシンボルで構成される消失ベクトルと前記消失ベクトルの係数となる係数行列とを抽出し、行を入れ替えれば三角行列になる入替三角行列へ前記係数行列を変換する処理を行う変換行列を生成し、前記検査行列に基づいて前記第1の受信語から第1のシンドロームを生成する行列処理部と、前記生成された変換行列と第1のシンドロームとから、前記第1の受信語の誤りがあるシンボルが訂正された第2の受信語と、前記第1の消失位置情報に前記訂正されたシンボルの位置が反映された第2の消失位置情報とを生成し、前記第1のシンドロームを前記訂正されたシンボルが反映された第2のシンドロームに補正する行列復号部と、前記生成された第2の受信語と第2の消失位置情報とから、前記第2の受信語の訂正可能なシンボルが前記復号グラフに基づいて訂正された第3の受信語と、前記訂正されたシンボルの位置が前記第2の消失位置情報に反映された第3の消失位置情報とを生成する第2の復号部とを備える。   In order to achieve the above object, a decoding apparatus according to the present invention corrects an error of a linear code using a check matrix corresponding to the linear code, and includes a received word composed of a plurality of symbols, Erasure position information indicating the position of a symbol having an error in the received word is input, and correction is performed in the symbol having an error in the received word based on a decoding graph indicating a decoding method corresponding to the check matrix. A first decoding unit that generates a first received word in which a possible symbol is corrected, and first erasure position information in which the position of the corrected symbol is reflected in the erasure position information; If the first received word, the first erasure position information, and the check matrix are used to extract an erasure vector composed of an erroneous symbol and a coefficient matrix that is a coefficient of the erasure vector, and the rows are replaced, a triangle In the matrix A matrix processing unit that generates a conversion matrix that performs processing for converting the coefficient matrix into a permutation triangular matrix, and generates a first syndrome from the first received word based on the parity check matrix; and the generated conversion From the matrix and the first syndrome, the second received word in which the symbol having the error in the first received word is corrected, and the position of the corrected symbol is reflected in the first erasure position information. A matrix decoding unit that generates second erasure position information and corrects the first syndrome to a second syndrome reflecting the corrected symbol; and the generated second received word and second Erasure position information, a third received word in which a correctable symbol of the second received word is corrected based on the decoding graph, and a position of the corrected symbol is the second erasure position information. Reflected in And a second decoding section that generates a third erasure locator information.

これによれば、第1の復号部及び第2の復号部による誤りの訂正処理と、行列処理部及び行列復号部による誤りの訂正処理との2種類の訂正処理がなされる。ここで、第1の復号部及び第2の復号部による誤りの訂正処理は、計算量が少ない復号グラフに基づいた訂正処理方法である。また、行列処理部及び行列復号部による誤りの訂正処理は、復号グラフに基づいた訂正処理では訂正できない誤りを訂正することができる。このため、これら2種類の訂正処理を組み合わせて復号処理が行われることで、訂正能力を高く維持しつつ、計算量を低減することができる。   According to this, two types of correction processing, that is, error correction processing by the first decoding unit and the second decoding unit and error correction processing by the matrix processing unit and the matrix decoding unit are performed. Here, the error correction processing by the first decoding unit and the second decoding unit is a correction processing method based on a decoding graph with a small amount of calculation. Further, the error correction processing by the matrix processing unit and the matrix decoding unit can correct errors that cannot be corrected by the correction processing based on the decoding graph. For this reason, the decoding process is performed by combining these two types of correction processes, so that the amount of calculation can be reduced while maintaining a high correction capability.

また、本発明は、このような復号装置として実現できるだけでなく、その装置を構成する処理部をステップとする方法として実現したりすることができる。さらに、本発明は、それらステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを記録したコンピュータ読み取り可能なCD−ROMなどの記録媒体として実現したり、そのプログラムを示す情報、データ又は信号として実現したりすることもできる。そして、それらプログラム、情報、データ及び信号は、インターネット等の通信ネットワークを介して配信してもよい。   In addition, the present invention can be realized not only as such a decoding 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.

以上のように、本発明に係る復号装置によれば、復号グラフに基づいた訂正処理と復号グラフでは訂正することができない誤りを訂正することができる訂正処理とを組み合わせて復号処理が行われることで、訂正能力を高く維持しつつ、計算量を低減することができる。   As described above, according to the decoding device of the present invention, the decoding process is performed by combining the correction process based on the decoding graph and the correction process capable of correcting an error that cannot be corrected by the decoding graph. Thus, it is possible to reduce the amount of calculation while maintaining high correction capability.

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

(実施の形態1)
図1は、本発明の実施の形態1における復号装置10の機能的な構成の一例を示すブロック図である。図1に示すように、実施の形態1の復号装置10は、第1の復号部11、行列処理部12、行列復号部13、第2の復号部14、終了判断部15、及び選択部16を備えている。復号装置10は、CPU(Central Processing Unit)等を備え、必要なデータをメモリに入力してプログラムを実行し、データを出力するコンピュータである。
(Embodiment 1)
FIG. 1 is a block diagram showing an example of a functional configuration of the decoding device 10 according to Embodiment 1 of the present invention. As illustrated in FIG. 1, the decoding device 10 according to Embodiment 1 includes a first decoding unit 11, a matrix processing unit 12, a matrix decoding unit 13, a second decoding unit 14, an end determination unit 15, and a selection unit 16. It has. The decoding 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 the data.

第1の復号部11は、複数のシンボルで構成された受信語と受信語の中で誤りがあるシンボルの位置を示す消失位置情報とが入力され、所定の検査行列に対応した復号方法を示す復号グラフに基づいて、受信語の誤りがあるシンボルの中で訂正可能なシンボルが訂正された第1の受信語と、訂正されたシンボルの位置が消失位置情報に反映された第1の消失位置情報とを生成する。また、第1の復号部11は、第1の受信語に誤りがあるシンボルが存在するか否かを判定する第1のフラグを生成する。   The first decoding unit 11 receives a received word composed of a plurality of symbols and erasure position information indicating the position of a symbol having an error in the received word, and indicates a decoding method corresponding to a predetermined check matrix Based on the decoding graph, a first received word in which a correctable symbol is corrected among symbols having a received word error, and a first erasure position in which the position of the corrected symbol is reflected in the erasure position information And information. Further, the first decoding unit 11 generates a first flag for determining whether or not there is an erroneous symbol in the first received word.

行列処理部12は、第1の復号部11が生成した第1の受信語と第1の消失位置情報と、検査行列とから、誤りがあるシンボルで構成される消失ベクトルと消失ベクトルの係数となる係数行列とを抽出し、行を入れ替えれば三角行列になる入替三角行列へ係数行列を変換する処理を行う変換行列を生成し、検査行列に基づいて第1の受信語から第1のシンドロームを生成する。また、行列処理部12は、係数行列の入替三角行列への変換が可能であるか否かを判定する第2のフラグを生成する。   The matrix processing unit 12 includes, from the first received word generated by the first decoding unit 11, the first erasure position information, and the parity check matrix, an erasure vector composed of an erroneous symbol and an erasure vector coefficient, And generating a transformation matrix that performs processing for transforming the coefficient matrix into a permutation triangular matrix that becomes a triangular matrix if the rows are replaced, and the first syndrome is derived from the first received word based on the parity check matrix. Generate. In addition, the matrix processing unit 12 generates a second flag for determining whether or not the coefficient matrix can be converted into a replacement triangular matrix.

行列復号部13は、行列処理部12が生成した変換行列と第1のシンドロームとから、第1の受信語の誤りがあるシンボルが訂正された第2の受信語と、第1の消失位置情報に訂正されたシンボルの位置が反映された第2の消失位置情報とを生成し、第1のシンドロームを訂正されたシンボルが反映された第2のシンドロームに補正する。   The matrix decoding unit 13 includes a second received word obtained by correcting a symbol having an error in the first received word from the transformation matrix generated by the matrix processing unit 12 and the first syndrome, and first erasure position information. The second erasure position information reflecting the corrected symbol position is generated, and the first syndrome is corrected to the second syndrome reflecting the corrected symbol.

第2の復号部14は、行列復号部13が生成した第2の受信語と第2の消失位置情報とから、第2の受信語の訂正可能なシンボルが復号グラフに基づいて訂正された第3の受信語と、訂正されたシンボルの位置が第2の消失位置情報に反映された第3の消失位置情報とを生成する。また、第2の復号部14は、第3の受信語に誤りがあるシンボルが存在するか否かを判定する第3のフラグを生成するとともに、第3の受信語に誤りがあるシンボルが存在していると判定される場合に、第2のシンドロームに誤りが訂正されたシンボルを反映することで、第2のシンドロームを第3のシンドロームに補正する。   The second decoding unit 14 is configured to correct a correctable symbol of the second received word based on the decoding graph from the second received word generated by the matrix decoding unit 13 and the second erasure position information. 3 received words and third erasure position information in which the position of the corrected symbol is reflected in the second erasure position information. In addition, the second decoding unit 14 generates a third flag for determining whether or not there is a symbol with an error in the third received word, and there is a symbol with an error in the third received word. When it is determined that the second syndrome has been corrected, the second syndrome is corrected to the third syndrome by reflecting the error-corrected symbol in the second syndrome.

終了判断部15は、線形符号の誤り訂正を終了するか否かを判断する。   The end determination unit 15 determines whether or not to end the linear code error correction.

選択部16は、第1の受信語と第1の消失位置情報と第1のシンドロームとを行列復号部13に出力するか、第3の受信語と第3の消失位置情報と第3のシンドロームとを行列復号部13に出力するかを選択する。   The selection unit 16 outputs the first received word, the first erasure position information, and the first syndrome to the matrix decoding unit 13, or the third received word, the third erasure position information, and the third syndrome. Are to be output to the matrix decoding unit 13.

ここで、第1の受信語、第1の消失位置情報、第1のシンドローム、第2の受信語、第2の消失位置情報、第2のシンドローム、第3の受信語、第3の消失位置情報、及び第3のシンドロームなどの各データは、各処理部で生成された後にメモリに書き込まれ、各処理部は、必要なデータを当該メモリから読み出して、各処理を行う。   Here, the first received word, the first erasure position information, the first syndrome, the second received word, the second erasure position information, the second syndrome, the third received word, the third erasure position Information and each data such as the third syndrome are generated in each processing unit and then written in the memory, and each processing unit reads necessary data from the memory and performs each process.

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

まず、第1の復号部11に受信語と消失位置情報とが入力される(S102)。   First, a received word and erasure position information are input to the first decoding unit 11 (S102).

次に、第1の復号部11は、復号グラフに基づいて、受信語の誤りがあるシンボルの中で訂正可能な全てのシンボルを訂正し、第1の受信語を生成する(S104)。また、第1の復号部11は、訂正されたシンボルの位置を消失位置情報に反映させて第1の消失位置情報を生成する(S104)。   Next, based on the decoding graph, the first decoding unit 11 corrects all correctable symbols among the symbols with the received word error, and generates a first received word (S104). Also, the first decoding unit 11 generates first erasure position information by reflecting the corrected symbol position in the erasure position information (S104).

そして、第1の復号部11は、第1の受信語に誤りがあるシンボルが存在するか否かを判定する第1のフラグを生成する(S106)。   Then, the first decoding unit 11 generates a first flag for determining whether or not there is an erroneous symbol in the first received word (S106).

第1のフラグで第1の受信語に誤りが存在すると判定された場合(S106でYES)、行列処理部12は、第1の受信語と第1の消失位置情報と検査行列とから、誤りがあるシンボルで構成される消失ベクトルと消失ベクトルの係数となる係数行列とを抽出する(S108)。具体的には、行列処理部12は、第1の消失位置情報に基づく誤りがあるシンボルで構成されるベクトルである消失ベクトルと、検査行列のうち消失ベクトルに対応する列で構成される係数行列とを抽出する。   If it is determined by the first flag that there is an error in the first received word (YES in S106), the matrix processing unit 12 calculates an error from the first received word, the first erasure position information, and the check matrix. An erasure vector composed of a certain symbol and a coefficient matrix serving as a coefficient of the erasure vector are extracted (S108). Specifically, the matrix processing unit 12 is a coefficient matrix composed of an erasure vector that is a vector composed of symbols with errors based on the first erasure position information, and a column corresponding to the erasure vector in the check matrix. And extract.

そして、行列処理部12は、係数行列の入替三角行列への変換が可能であるか否かを判定する第2のフラグを生成する(S110)。   Then, the matrix processing unit 12 generates a second flag for determining whether or not the coefficient matrix can be converted into a replacement triangular matrix (S110).

具体的には、行列処理部12は、係数行列の入替三角行列への変換の処理を行い、当該変換の処理が成功したか失敗したかを判断することによって、係数行列の入替三角行列への変換が可能であるか否かを判定する第2のフラグを生成する。   Specifically, the matrix processing unit 12 performs conversion processing of the coefficient matrix into the replacement triangular matrix, and determines whether the conversion processing has succeeded or failed, thereby converting the coefficient matrix into the replacement triangular matrix. A second flag for determining whether or not conversion is possible is generated.

行列処理部12は、第2のフラグで入替三角行列への変換が可能であると判定された場合(S110でYES)、入替三角行列へ係数行列を変換する処理を行う変換行列を生成し、検査行列に基づいて第1の受信語から第1のシンドロームを生成する(S114)。具体的には、行列処理部12は、検査行列と第1の受信語とを乗じて算出される第1のシンドロームを生成する。また、行列処理部12は、消失ベクトルと入替三角行列とを乗じた値が第1のシンドロームと変換行列とを乗じた値と同じになるように算出される変換行列を生成する。   When it is determined that the conversion to the replacement triangular matrix is possible with the second flag (YES in S110), the matrix processing unit 12 generates a conversion matrix that performs processing for converting the coefficient matrix into the replacement triangular matrix, A first syndrome is generated from the first received word based on the parity check matrix (S114). Specifically, the matrix processing unit 12 generates a first syndrome that is calculated by multiplying the parity check matrix and the first received word. Further, the matrix processing unit 12 generates a conversion matrix that is calculated so that a value obtained by multiplying the erasure vector and the replacement triangular matrix is the same as a value obtained by multiplying the first syndrome and the conversion matrix.

そして、行列復号部13は、変換行列と第1のシンドロームとから、第2の受信語と第2の消失位置情報とを生成し、第1のシンドロームを第2のシンドロームに補正する(S116)。具体的には、行列復号部13は、入替三角行列の行のうち零でない要素が1つのみの行を選択し、当該選択された行に対応する変換行列の行と第1のシンドロームとを乗じた値を計算することで、誤りがあるシンボルの値を算出するとともに、第2の受信語と第2の消失位置情報とを生成する。また、行列復号部13は、第1のシンドロームに誤りが訂正されたシンボルを反映することで、第1のシンドロームを第2のシンドロームに補正する。   Then, the matrix decoding unit 13 generates a second received word and second erasure position information from the transformation matrix and the first syndrome, and corrects the first syndrome to the second syndrome (S116). . Specifically, the matrix decoding unit 13 selects a row having only one non-zero element from among the rows of the replacement triangular matrix, and obtains the row of the transformation matrix corresponding to the selected row and the first syndrome. By calculating the multiplied value, the value of the symbol having an error is calculated, and the second received word and the second erasure position information are generated. Further, the matrix decoding unit 13 corrects the first syndrome to the second syndrome by reflecting the error-corrected symbol in the first syndrome.

次に、第2の復号部14は、第2の受信語と第2の消失位置情報とから、第2の受信語の訂正可能な全てのシンボルが復号グラフに基づいて訂正された第3の受信語と、訂正されたシンボルの位置が第2の消失位置情報に反映された第3の消失位置情報とを生成する(S118)。   Next, the second decoding unit 14 performs a third operation in which all correctable symbols of the second received word are corrected based on the decoding graph from the second received word and the second erasure position information. A received word and third erasure position information in which the corrected symbol position is reflected in the second erasure position information are generated (S118).

次に、第2の復号部14は、第3の受信語に誤りがあるシンボルが存在するか否かを判定する第3のフラグを生成する(S120)。   Next, the second decoding unit 14 generates a third flag for determining whether or not there is a symbol having an error in the third received word (S120).

第2の復号部14は、第3のフラグで第3の受信語に誤りが存在すると判定された場合(S120でYES)、第2のシンドロームに誤りが訂正されたシンボルを反映することで、第2のシンドロームを第3のシンドロームに補正する(S122)。   When it is determined that there is an error in the third received word with the third flag (YES in S120), the second decoding unit 14 reflects the symbol in which the error is corrected in the second syndrome, The second syndrome is corrected to the third syndrome (S122).

そして、終了判断部15は、線形符号の誤り訂正が終了していないと判断し、第3の受信語と第3の消失位置情報と第3のシンドロームとを、それぞれ、第1の受信語と第1の消失位置情報と第1のシンドロームとして行列復号部13に出力する。これにより、行列復号部13は、第2の受信語と第2の消失位置情報とを生成し、第1のシンドロームを第2のシンドロームに補正する(S116)。   Then, the end determination unit 15 determines that the error correction of the linear code has not ended, and determines the third received word, the third erasure position information, and the third syndrome as the first received word, respectively. The first erasure position information and the first syndrome are output to the matrix decoding unit 13. Thereby, the matrix decoding part 13 produces | generates a 2nd received word and 2nd erasure | elimination position information, and correct | amends a 1st syndrome to a 2nd syndrome (S116).

また、終了判断部15は、第1のフラグで第1の受信語に誤りが存在しないと判定された場合には(S106でNO)、線形符号の誤り訂正の完了による終了と判断して、第1の受信語を誤り訂正済みの受信語として出力する(S124)。また、終了判断部15は、第2のフラグで入替三角行列への変換が不可であると判定された場合には(S110でNO)、線形符号の誤り訂正の中止による終了と判断して、第1の受信語と第1の消失位置情報とを誤りが残留している受信語と残留している誤りの位置情報として出力する(S126)。また、終了判断部15は、第3のフラグで第3の受信語に誤りが存在しないと判定された場合には(S120でNO)、線形符号の誤り訂正の完了による終了と判断して、第3の受信語を誤り訂正済みの受信語として出力する(S128)。このようにして、復号の処理が終了する。   Further, when it is determined by the first flag that there is no error in the first received word (NO in S106), the end determination unit 15 determines that the end is due to completion of linear code error correction, The first received word is output as an error-corrected received word (S124). Further, when it is determined by the second flag that conversion to the replacement triangular matrix is impossible (NO in S110), the end determination unit 15 determines that the end is due to the error correction of the linear code, The first received word and the first erasure position information are output as the received word where the error remains and the position information of the remaining error (S126). Further, when it is determined by the third flag that there is no error in the third received word (NO in S120), the end determination unit 15 determines that the end is due to completion of error correction of the linear code, The third received word is output as an error-corrected received word (S128). In this way, the decoding process ends.

図3A〜図3Cは、復号装置10の復号処理の一例を具体的に説明する図である。ここでは、復号する符号の符号長をn、データ数をkとして説明する。また、入替三角行列は、上三角行列であるとする。   3A to 3C are diagrams for specifically explaining an example of the decoding process of the decoding device 10. Here, the description will be made assuming that the code length of the code to be decoded is n and the number of data is k. The replacement triangular matrix is an upper triangular matrix.

第1の復号部11は、復号装置10に入力される受信語の情報と、消失位置の情報から、従来例で解法2として説明したアルゴリズムで訂正し、訂正した結果として、第1の受信語、第1の受信語の消失位置情報、第1のフラグを出力する。この段階で、全ての消失が訂正できた場合には、第1の受信語はそのまま復号装置10の出力となり、訂正できなかった消失が残った場合には、行列処理部12や行列復号部13が、第1の受信語、第1の受信語の消失位置情報を使用して、次の処理を実行する。第1のフラグは、全ての消失が訂正できたかどうかを示すフラグである。残った消失の個数をx個とする。   The first decoding unit 11 corrects the received word information input to the decoding device 10 and the erasure position information using the algorithm described as Solution 2 in the conventional example, and as a result of the correction, the first received word , The erasure position information of the first received word and the first flag are output. At this stage, when all the erasures can be corrected, the first received word is directly output from the decoding device 10, and when the erasure that cannot be corrected remains, the matrix processing unit 12 and the matrix decoding unit 13 are used. However, the following process is performed using the first received word and the erasure position information of the first received word. The first flag is a flag indicating whether all erasures have been corrected. Let x be the number of remaining disappearances.

行列処理部12は、図3Aに示すように、入力される第1の受信語に、(n−k)行n列の検査行列Hをかけて、第1のシンドロームS=(s0,s1,…,s(n-k-1))を得て、これを出力する。なお、ここでは第1の受信語及び検査行列Hの各要素は2進数の値であり、計算においては排他的論理和(exclusive−or)処理が行われる。符号語に検査行列Hをかけて得られるのは0(ベクトル)であり、第1のシンドロームは消失の大きさから得られるものであるから、第1のシンドロームの値は、検査行列Hから消失の位置に対応する列のみを残した係数行列H’と消失ベクトルZ=(z0,z1,…,z(i-1),zi,z(i+1),…,z(x-1))をかけて得られる値と一致する。 Matrix processing section 12, as shown in FIG. 3A, the first received word to be input, (n-k) by multiplying the parity check matrix H of rows and n columns, the first syndrome S = (s 0, s 1 ,..., S (nk-1) ) are obtained and output. Here, each element of the first received word and the parity check matrix H is a binary value, and an exclusive-or process is performed in the calculation. Since the codeword is multiplied by the check matrix H to obtain 0 (vector), and the first syndrome is obtained from the magnitude of the erasure, the value of the first syndrome is lost from the check matrix H. Coefficient matrix H ′ leaving only the column corresponding to the position of and the erasure vector Z = (z 0 , z 1 ,..., Z (i−1) , z i , z (i + 1) ,. -1) It agrees with the value obtained by multiplying by ) ).

行列処理部12は、消失の値を得るために、さらに、これらの消失の値をx個の変数とする1次x元連立方程式H’・ZT=STを変形する。具体的には、図3Bに示すように、方程式H’・ZT=STをH’・ZT=I・STと置き直し(Iは、(n−k)次の単位行列とする)、左辺の係数行列H’を変換して、上三角行列H”を生成する。変換は係数行列の行同士の加算と行の入替えで実行される。この左辺の変換と同時に、右辺の単位行列Iにも左辺の変換と同じ変換を行なって、変換行列Tを生成し、これを出力する。この変換行列Tは、H”・ZT=T・STを満たしている。 Matrix processing unit 12, in order to obtain the value of the loss, further deforms the primary x based simultaneous equations H '· Z T = S T for the values of these lost and x number of variables. Specifically, as shown in FIG. 3B, again placing 'a · Z T = S T H' equation H and · Z T = I · S T (I is the (n-k) The following matrix ), The coefficient matrix H ′ on the left side is converted to generate an upper triangular matrix H ″. The conversion is executed by adding the rows of the coefficient matrix and exchanging the rows. The matrix I is subjected to the same transformation as the transformation on the left side to generate a transformation matrix T, which is output. This transformation matrix T satisfies H ″ · Z T = T · S T.

第2のフラグは、三角行列化が可能であったかどうかを示すフラグである。三角行列化ができなかった場合は、この符号語の訂正は不可能である。第1の受信語と、第1の受信語の消失位置情報を、訂正終了後の受信語と消失位置情報として、復号装置10からの出力とする。   The second flag is a flag indicating whether or not the triangular matrix can be formed. If the triangular matrix cannot be formed, the code word cannot be corrected. The first received word and the erasure position information of the first received word are output from the decoding device 10 as the received word and erasure position information after the correction is completed.

選択部16のそれぞれは、行列処理部12の処理終了後には、行列処理部12の出力である、第1の受信語、第1の受信語の消失位置情報、第1のシンドロームを出力し、それ以降は、第2の復号部14からフィードバックされてくる第3の受信語、第3の受信語の消失位置情報、第3のシンドロームを出力する。   Each of the selection units 16 outputs the first received word, the erasure position information of the first received word, and the first syndrome, which are the outputs of the matrix processing unit 12, after the processing of the matrix processing unit 12 ends. Thereafter, the third received word fed back from the second decoding unit 14, the erasure position information of the third received word, and the third syndrome are output.

行列復号部13は、まず上三角行列H”の行のうち、重みが1(要素が1つだけ非零で、残りが全て零)の行を選択する。既に三角行列化してあるので、右端の要素以外は全て零の行は存在する。図3Cに示しているが、上記の1次x元連立方程式においてこの行に対応する式の左辺は、i番目の要素が0である行の場合、z(i-1)、即ちi番目の消失の値となり、対応する右辺の値を計算すれば消失の値が判明し、そのシンボルを訂正できる。受信語をR=(r0,r1,…,r(n-1))として、訂正する消失がxi番目のシンボルであれば、Rに訂正パターンEi=([xi−1個の0],z(i-1),[n−xi個の0])を加算して、訂正できる。 First, the matrix decoding unit 13 selects a row having a weight of 1 (only one element is non-zero and the rest are all zero) from the rows of the upper triangular matrix H ″. 3C, as shown in Fig. 3C, the left side of the expression corresponding to this row in the above-mentioned first-order x-ary simultaneous equations is a row in which the i-th element is 0. , z (i-1), i.e., is the value of the i-th erasure, found value of loss by calculating the values of the corresponding right-hand side, can correct the symbol. the received word R = (r 0, r 1 , ..., r a (n-1)), if the symbol disappears x i-th correcting, corrected R pattern E i = ([x i -1 one 0], z (i-1 ), [N−x i 0s]) can be added and corrected.

消失を訂正すれば、その消失の情報を上記の連立方程式から排除し、変数を1個少なくした連立方程式に変形する。左辺については、消失ベクトルZからz(i-1)をなくして次元数を1減らし、上三角行列H”についても、z(i-1)に対応する列を削除したと見なす。右辺については、検査行列HにEi Tを掛けた値をシンドロームSに加算すれば、消失が減った状態のシンドロームに補正される。実際の処理としては、以降の処理には上三角行列H”の情報は使用しないので、上三角行列H”の情報を補正する必要はない。 If the disappearance is corrected, the disappearance information is excluded from the above simultaneous equations and transformed into simultaneous equations with one less variable. For the left side, z (i-1) is eliminated from the erasure vector Z, the number of dimensions is reduced by 1, and the column corresponding to z (i-1) is also deleted for the upper triangular matrix H ". if adding the value obtained by multiplying E i T in the parity check matrix H to the syndrome S, it is corrected to the syndrome of loss has decreased state. the actual processing, information of the upper triangular matrix H "in after processing Is not used, it is not necessary to correct the information of the upper triangular matrix H ″.

行列復号部13は、このように訂正された結果を、第2の受信語、第2の受信語の消失位置情報、第2のシンドロームとして出力する。   The matrix decoding unit 13 outputs the corrected result as the second received word, the erasure position information of the second received word, and the second syndrome.

なお、行列復号部13で訂正する消失は1個であっても複数個であっても構わない。また符号のパラメータである符号長やパリティ数や次数、その時点で訂正されていないパリティ数などで、訂正する消失の個数を設定することも可能である。   Note that the number of erasures corrected by the matrix decoding unit 13 may be one or plural. It is also possible to set the number of erasures to be corrected by the code length, the number of parity, the order, and the number of parity that has not been corrected at that time.

第2の復号部14は、入力される第2の受信語の情報と、第2の受信語の消失位置情報の情報から、従来例で解法2として説明したアルゴリズムで訂正し、訂正した結果として、第3の受信語、第3の受信語の消失位置情報、第3のフラグを出力する。   The second decoding unit 14 corrects the second received word information and the second erasure information of the second received word using the algorithm described as Solution 2 in the conventional example, and the corrected result , The third received word, the erasure position information of the third received word, and the third flag are output.

また、第2の復号部14においても、行列復号部13での処理と同様に、受信語のxi番目のシンボルが消失であり、その値がz(i-1)であったとして、訂正パターンをEi=([xi−1個の0],z(i-1),[n−xi個の0])として、検査行列HにEi Tを掛けた値をシンドロームSに加算して、シンドロームを補正する。 Also in the second decoding unit 14, similarly to the processing of a matrix decoder 13 as x i-th symbol of the received word is lost, the value is z (i-1), corrected The pattern is E i = ([x i −1 0], z (i−1) , [n−x i 0]), and the value obtained by multiplying the check matrix H by E i T is the syndrome S. Add and correct the syndrome.

第2の復号部14で、複数の消失を訂正した場合に、シンドロームの補正は、消失1個を訂正する毎に行なっても、あるいは複数の消失を訂正した後にまとめて行なっても、どちらでも良い。   When the second decoding unit 14 corrects a plurality of erasures, the syndrome may be corrected every time one erasure is corrected or may be performed after correcting a plurality of erasures. good.

また、第2の復号部14で、残っていた消失が全て訂正された場合には、シンドロームの補正を行なう必要はない。   Further, when all the remaining erasures are corrected by the second decoding unit 14, it is not necessary to correct the syndrome.

全ての消失が訂正できた場合には、第3の受信語はそのまま復号装置10の出力となり、訂正できなかった消失が残った場合には、行列復号部13が、第3の受信語、第3の受信語の消失位置情報、第3のシンドロームをフィードバックして、次の処理を実行する。   When all the erasures can be corrected, the third received word is directly output from the decoding device 10, and when the erasure that could not be corrected remains, the matrix decoding unit 13 performs the third received word, The erasure position information of the third received word and the third syndrome are fed back, and the following processing is executed.

第3のフラグは、全ての消失が訂正できたかどうかを示すフラグである。   The third flag is a flag indicating whether all erasures have been corrected.

制御信号は、復号装置10そのものや各部での受信語情報・消失情報の入出力、選択の指示や、各部における処理実行の指示を行なう信号である。   The control signal is a signal for instructing input / output and selection of received word information / erasure information in the decoding apparatus 10 itself and in each unit, and instructing execution of processing in each unit.

終了判断部15は、復号装置10の入力指示、第1のフラグ、第2のフラグ、第3のフラグ、各部の状態に基づいて、制御信号とフラグ情報を生成する。   The end determination unit 15 generates a control signal and flag information based on the input instruction of the decoding device 10, the first flag, the second flag, the third flag, and the state of each unit.

以上のように構成された復号装置10において、第1の復号部11及び第2の復号部14による誤りの訂正処理と、行列処理部12及び行列復号部13による誤りの訂正処理との2種類の訂正処理がなされる。ここで、第1の復号部11及び第2の復号部14による誤りの訂正処理は、計算量が少ない復号グラフに基づいた訂正処理方法である。また、行列処理部12及び行列復号部13が復号グラフでは求められない消失の値のみを行列式による解法で計算することにより、復号に必要な計算量を削減することが可能になる。また、復号グラフによる訂正が破綻する回数は1度とは限らないが、最初に一度行列式の係数計算などを行なっておけば、2度目以降は最初に計算した値をそのまま利用できるような補正を行なうことにより、行列式による解法で必要な計算量を削減することが可能になる。これらの手法により、訂正能力を高く維持しつつ、計算量を低減することができ、復号の高速化を可能にした。   In the decoding apparatus 10 configured as described above, two types of error correction processing by the first decoding unit 11 and the second decoding unit 14 and error correction processing by the matrix processing unit 12 and the matrix decoding unit 13 are provided. Correction processing is performed. Here, the error correction processing by the first decoding unit 11 and the second decoding unit 14 is a correction processing method based on a decoding graph with a small amount of calculation. In addition, since the matrix processing unit 12 and the matrix decoding unit 13 calculate only erasure values that cannot be obtained from the decoding graph by a determinant solution, the amount of calculation required for decoding can be reduced. In addition, the number of times the correction by the decoding graph fails is not limited to one, but if the coefficient calculation of the determinant is first performed once, the first calculated value can be used as it is after the second time. By performing the above, it becomes possible to reduce the amount of calculation required by the determinant solution. With these techniques, the amount of calculation can be reduced while maintaining high correction capability, and the speed of decoding can be increased.

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

また、上三角行列に変換するとしたが、下三角行列に変換しても、同様のアルゴリズムの適用が可能である。また、三角化した部分を、上詰めもしくは下詰めするなど、行列の一部分に集める処理があってもなくても、同等の効果が得られることは明らかである。つまり、上三角行列でなくても、行を入れ替えれば三角行列になる行列であればよい。   Moreover, although it converted to the upper triangular matrix, the same algorithm can be applied even if it converts to the lower triangular matrix. In addition, it is clear that the same effect can be obtained whether or not there is a process of gathering in a part of the matrix such as top-bottoming or bottom-striking the triangulated part. That is, even if it is not an upper triangular matrix, it may be a matrix that becomes a triangular matrix by replacing rows.

また、本発明の演算は、全て符号の定義に従った演算であり、例えばガロア体GF(2)やその拡大体上の符号であれば、加算は排他的論理和(exclusive−or)演算のことである。   The operations of the present invention are all operations according to the definition of the sign. For example, if the code is on the Galois field GF (2) or its extension field, the addition is an exclusive-or operation. That is.

伝送されたパケット受信が遅れて、復号を始めてから到着した場合には、それも訂正できたパケット扱いで処理できる。   When the transmitted packet arrives late and arrives after decoding is started, it can also be handled as a corrected packet.

符号長、データ数や検査行列Hの情報などの符号に関するパラメータは、常に同じ符号を扱う復号装置10では最初から各部に内蔵していても良いし、複数の符号を扱う復号装置10では制御信号として符号の選択を指示する構成にすることも可能であるし、任意の符号を扱う復号装置10であればこれらのパラメータを制御信号として外部から読み込む構成とすることも可能である。   Code parameters such as code length, number of data, and check matrix H information may be incorporated in each unit from the beginning in the decoding apparatus 10 that always handles the same code, or a control signal in the decoding apparatus 10 that handles a plurality of codes. In this case, the decoding apparatus 10 that handles arbitrary codes can be configured to read these parameters from the outside as control signals.

(実施の形態2)
図4は、本発明の実施の形態2における行列処理部12の機能的な構成の一例を示すブロック図である。図4に示すように、実施の形態2の行列処理部12は、係数抽出部21、三角行列生成部22、変換行列生成部23、及びシンドローム生成部24を備えている。
(Embodiment 2)
FIG. 4 is a block diagram illustrating an example of a functional configuration of the matrix processing unit 12 according to Embodiment 2 of the present invention. As illustrated in FIG. 4, the matrix processing unit 12 according to the second embodiment includes a coefficient extraction unit 21, a triangular matrix generation unit 22, a transformation matrix generation unit 23, and a syndrome generation unit 24.

係数抽出部21は、第1の消失位置情報に基づく誤りがあるシンボルで構成されるベクトルである消失ベクトルZと、検査行列Hのうち消失ベクトルZに対応する列で構成される係数行列H’とを抽出する。   The coefficient extraction unit 21 includes an erasure vector Z, which is a vector composed of symbols with errors based on the first erasure position information, and a coefficient matrix H ′ composed of columns corresponding to the erasure vector Z in the check matrix H. And extract.

三角行列生成部22は、係数行列H’を上三角行列H”へ変換する。   The triangular matrix generation unit 22 converts the coefficient matrix H ′ into an upper triangular matrix H ″.

シンドローム生成部24は、検査行列Hと第1の受信語とを乗じて算出される第1のシンドロームSを生成する。   The syndrome generator 24 generates a first syndrome S that is calculated by multiplying the check matrix H and the first received word.

変換行列生成部23は、消失ベクトルZと上三角行列H”とを乗じた値が第1のシンドロームSと変換行列Tとを乗じた値と同じになるように算出される変換行列Tを生成する。   The transformation matrix generation unit 23 generates a transformation matrix T that is calculated so that the value obtained by multiplying the erasure vector Z and the upper triangular matrix H ″ is the same as the value obtained by multiplying the first syndrome S and the transformation matrix T. To do.

この行列処理部12が行う処理について、以下に詳細に説明する。   Processing performed by the matrix processing unit 12 will be described in detail below.

まず、係数抽出部21は、消失の値をx個の変数とする1次x元連立方程式の係数を、検査行列Hから消失の位置にある列以外の列を削除した係数行列H’として求めて、(n−k)行x列の係数情報として出力する。   First, the coefficient extraction unit 21 obtains a coefficient of a first-order x-ary simultaneous equation having the erasure value as x variables as a coefficient matrix H ′ obtained by deleting columns other than the column at the erasure position from the check matrix H. And output as coefficient information of (n−k) rows and x columns.

三角行列生成部22は、入力された係数情報をから係数行列H’を上三角行列H”に変換する処理を行なう。また、三角行列化が可能であったかどうかを示す第2のフラグは、三角行列生成部22から出力される。   The triangular matrix generation unit 22 performs processing to convert the coefficient matrix H ′ into the upper triangular matrix H ″ from the input coefficient information. The second flag indicating whether or not the triangular matrix can be formed is a triangle. Output from the matrix generator 22.

変換行列生成部23は、(n−k)次の単位行列I(n-k)に、係数行列H’を上三角行列H”に変換する処理と同じ処理を行なって変換行列Tを生成する。そのために、三角行列生成部22は、変換処理に関する処理情報を、変換行列生成部23に出力する。処理情報は、a行とb行の入替えや、c行にd行を加算といった処理を逐一通知することも可能であるし、処理終了後に一括して通知することも可能である。 The conversion matrix generation unit 23 generates the conversion matrix T by performing the same process as the process of converting the coefficient matrix H ′ into the upper triangular matrix H ″ on the (n−k) -th unit matrix I (nk) . In addition, the triangular matrix generation unit 22 outputs processing information related to the conversion processing to the conversion matrix generation unit 23. The processing information notifies the processing such as the replacement of the a row and the b row and the addition of the d row to the c row. It is also possible to notify the user at once after the processing is completed.

シンドローム生成部24は、入力される第1の受信語に、(n−k)行n列の検査行列Hをかけて、第1のシンドロームS=(s0,s1,…,s(n-k-1))を得て、これを出力する。 The syndrome generator 24 multiplies the input first received word by a check matrix H of (n−k) rows and n columns to obtain the first syndrome S = (s 0 , s 1 ,..., S (nk -1)) ) is obtained and output.

以上のように構成された行列処理部12において、三角行列化処理と並行して、変換処理を変換行列の形で保持することにより、シンドロームの値を変形せずに残しておき、後の処理でシンドロームの値を利用する必要が生じた時にシンドロームの値を再計算する必要がないようにすることが可能になった。   In the matrix processing unit 12 configured as described above, in parallel with the triangulation process, the conversion process is held in the form of a conversion matrix, so that the value of the syndrome is left unchanged, and the subsequent process It is now possible to avoid having to recalculate the syndrome value when it becomes necessary to use the syndrome value.

(実施の形態3)
図5A及び図5Bは、本発明の実施の形態3における行列復号部13の機能的な構成の一例を示すブロック図である。図5A及び図5Bに示すように、実施の形態3の行列復号部13は、消失値計算部31、訂正部32、及びシンドローム補正部33を備えている。
(Embodiment 3)
5A and 5B are block diagrams showing an example of a functional configuration of the matrix decoding unit 13 according to Embodiment 3 of the present invention. As illustrated in FIGS. 5A and 5B, the matrix decoding unit 13 according to the third embodiment includes an erasure value calculation unit 31, a correction unit 32, and a syndrome correction unit 33.

消失値計算部31は、上三角行列H”の行のうち零でない要素が1つのみの行を選択し、当該選択された行に対応する変換行列Tの行と第1のシンドロームSとを乗じた値を計算することで、誤りがあるシンボルの値を算出するとともに、第2の消失位置情報を生成する。   The erasure value calculation unit 31 selects a row having only one non-zero element among the rows of the upper triangular matrix H ″, and selects the row of the transformation matrix T corresponding to the selected row and the first syndrome S. By calculating the multiplied value, the value of a symbol having an error is calculated, and second erasure position information is generated.

訂正部32は、算出されたシンボルに基づいて、第2の受信語を生成する。   The correcting unit 32 generates a second received word based on the calculated symbol.

シンドローム補正部33は、算出されたシンボルに基づいて、第1のシンドロームSを第2のシンドロームに補正する。   The syndrome correction unit 33 corrects the first syndrome S to the second syndrome based on the calculated symbol.

この行列復号部13が行う処理について、以下に詳細に説明する。   The process performed by the matrix decoding unit 13 will be described in detail below.

消失値計算部31は、上三角行列H”の行のうち、重みが1の行を選択し、当該選択された行に対応する変換行列Tの行と第1のシンドロームSとを乗じた値を計算して、1個の消失の値を得る。また、行列復号部13に入力される訂正途中の受信語の消失位置情報を修正しておく。なお、消失の値が訂正されれば、上三角行列H”の列のうち、訂正された消失の位置に対応する列の要素は全て0とみなすことができるので、重みが1である行は常に存在する。   The erasure value calculation unit 31 selects a row having a weight of 1 among the rows of the upper triangular matrix H ″ and multiplies the row of the transformation matrix T corresponding to the selected row by the first syndrome S. To obtain one erasure value, and correct the erasure position information of the received word being corrected input to the matrix decoding unit 13. If the erasure value is corrected, Among the columns of the upper triangular matrix H ″, all the elements of the column corresponding to the corrected erasure position can be regarded as 0, so that there is always a row having a weight of 1.

訂正部32は、行列復号部13に入力される訂正途中の受信語の、求められた消失の位置にあるシンボルに、求められた消失の値を加算して、訂正を行なう。通常は、消失の位置にあるシンボルの値は、0として復号処理を開始するので、その場合は代入するだけでよい。   The correction unit 32 performs correction by adding the obtained erasure value to the symbol at the obtained erasure position of the received word being corrected input to the matrix decoding unit 13. Normally, the decoding process starts with the value of the symbol at the erasure position set to 0, and in this case, it is only necessary to substitute.

シンドローム補正部33は、訂正パターンEi=([xi−1個の0],z(i-1),[n−xi個の0])によるシンドロームの値への影響を相殺するために、検査行列HにEi Tを掛けた値をシンドロームSに加算し、補正したシンドロームを出力する。 The syndrome correction unit 33 cancels the influence of the correction pattern E i = ([x i −1 0], z (i−1) , [n−x i 0]) on the value of the syndrome. Then, the value obtained by multiplying the check matrix H by E i T is added to the syndrome S, and the corrected syndrome is output.

図5Aの構成は、1個の消失を訂正する手段のブロック図である。ここで、行列復号部13は、生成された第2の受信語と第2の消失位置情報と第2のシンドロームとを、それぞれ、第1の受信語と第1の消失位置情報と第1のシンドロームとして入力することにしてもよい。   The configuration of FIG. 5A is a block diagram of means for correcting one erasure. Here, the matrix decoding unit 13 generates the generated second received word, the second erasure position information, and the second syndrome, respectively, as the first received word, the first erasure position information, and the first You may decide to input as a syndrome.

つまり、この消失値計算部31で1個の消失の値を計算すれば、この後の第2の復号部14で、必ず残りの消失を訂正できるとは限らないので、複数個の消失をまとめて訂正しようとする場合には、図5Bに示すように、選択部34により、出力する各データ・情報を入力側にフィードバックして、消失値計算部31、訂正部32に入力するような構成が可能である。訂正する消失の数は、復号装置10として固定値であっても可変であっても良い。また可変にする場合、訂正する個数を、制御信号を用いて指示することも可能である。   In other words, if one erasure value is calculated by the erasure value calculation unit 31, the subsequent second erasure unit 14 cannot always correct the remaining erasures. 5B, the selection unit 34 feeds back each data / information to be input to the input side and inputs it to the erasure value calculation unit 31 and the correction unit 32, as shown in FIG. 5B. Is possible. The number of erasures to be corrected may be a fixed value or variable as the decoding device 10. In the case of making it variable, it is also possible to indicate the number to be corrected using a control signal.

以上のように構成された行列復号部13において、行列式を解く手法に基づく復号アルゴリズムを一部導入することにより、第1の復号部11では、既に訂正できる消失は全て訂正されており、かつ訂正できない消失が残留していた状態であった受信語の消失訂正を続けることが可能になった。   In the matrix decoding unit 13 configured as described above, by introducing a part of the decoding algorithm based on the method of solving the determinant, all the erasures that can be corrected in the first decoding unit 11 have been corrected, and It has become possible to continue erasure correction of received words in which erasures that cannot be corrected remain.

(実施の形態4)
図6A及び図6Bは、本発明の実施の形態4における第2の復号部14の機能的な構成の一例を示すブロック図である。図6Aに示すように、実施の形態4の第2の復号部14は、第3の復号部41、訂正した消失位置の記憶部42、及びシンドローム補正部43を備えている。
(Embodiment 4)
6A and 6B are block diagrams illustrating an example of a functional configuration of the second decoding unit 14 according to Embodiment 4 of the present invention. As illustrated in FIG. 6A, the second decoding unit 14 of the fourth embodiment includes a third decoding unit 41, a corrected erasure position storage unit 42, and a syndrome correction unit 43.

第3の復号部41は、第2の復号部14に入力される第2の受信語、第2の受信語の消失位置情報から、従来例で解法2として説明したアルゴリズムで訂正し、訂正した結果として、第3の受信語、第3の受信語の消失位置情報、第3のフラグを出力する。この段階で、全ての消失が訂正できた場合には、第3の受信語はそのまま復号装置10の出力となり、訂正できなかった消失が残った場合には、行列復号部13にフィードバックされる。第3のフラグは、全ての消失が訂正できたかどうかを示すフラグである。   The third decoding unit 41 corrects the second received word input to the second decoding unit 14 and the erasure position information of the second received word using the algorithm described as Solution 2 in the conventional example. As a result, the third received word, the erasure position information of the third received word, and the third flag are output. At this stage, if all erasures can be corrected, the third received word is output as it is from the decoding device 10 as it is, and if erasures that could not be corrected remain, they are fed back to the matrix decoding unit 13. The third flag is a flag indicating whether all erasures have been corrected.

第3の復号部41で復号が終了しなかった場合に、引続き行列復号部13による復号を実行するためには、今第3の復号部41で訂正したシンボルに関してシンドロームを補正しておく必要がある。そこで、第3の復号部41は、訂正できた全ての消失の位置の情報を訂正した消失位置の記憶部42に出力し、訂正した消失位置の記憶部42は、それらの位置の情報を記憶する。シンドローム補正部43は、訂正した消失位置の記憶部42に記憶された位置情報に基づき、入力された第2のシンドロームを補正して第3のシンドロームとして出力する。   When decoding by the third decoding unit 41 is not completed, in order to continue decoding by the matrix decoding unit 13, it is necessary to correct the syndrome with respect to the symbols corrected by the third decoding unit 41 now. is there. Therefore, the third decoding unit 41 outputs the corrected erasure position information to the corrected erasure position storage unit 42, and the corrected erasure position storage unit 42 stores the information of these positions. To do. The syndrome correction unit 43 corrects the input second syndrome based on the position information stored in the storage unit 42 of the corrected disappearance position, and outputs the corrected second syndrome.

図6Aは、第3の復号部41でa個の消失を訂正した後に、a個の消失に関するシンドロームの補正をシンドローム補正部43で行なう構成である。また、第3の復号部41で全ての消失が訂正できれば、シンドロームの補正は不要であるので、実行しなければ復号処理全体としての高速化に寄与する。   FIG. 6A shows a configuration in which the syndrome correction unit 43 corrects syndromes related to a erasures after the third decoding unit 41 corrects a erasures. Further, if all the erasures can be corrected by the third decoding unit 41, syndrome correction is unnecessary, and if not executed, this contributes to speeding up the entire decoding process.

また、図6Bに示すように、実施の形態4の第2の復号部14は、グラフベースの1消失復号部45、シンドローム補正部43、及び選択部46、47を備えている。   Also, as shown in FIG. 6B, the second decoding unit 14 of Embodiment 4 includes a graph-based 1-erasure decoding unit 45, a syndrome correction unit 43, and selection units 46 and 47.

グラフベースの1消失復号部45も、従来例で解法2として説明したアルゴリズムで消失を計算するが、訂正できる消失を全て訂正するのではなく、1個の消失を訂正する復号部である。   The graph-based 1 erasure decoding unit 45 is also a decoding unit that corrects one erasure instead of correcting all the erasures that can be corrected, although the erasure is calculated by the algorithm described as Solution 2 in the conventional example.

図6Bは、グラフベースの1消失復号部45で1個の消失を訂正し、その消失に関するシンドロームの補正をシンドローム補正部33で行なうことを、選択部46、47で、入力されるデータ・情報とフィードバックされる出力データ・情報とを切り替えながら繰り返す構成である。   FIG. 6B shows that data / information inputted by the selectors 46 and 47 is that the graph-based one erasure decoding unit 45 corrects one erasure and the syndrome correction unit 33 corrects the syndrome related to the erasure. And output data / information to be fed back are repeated while switching.

つまり、第2の復号部14は、生成された前記第3の受信語と第3の消失位置情報と第3のシンドロームとを、それぞれ、第2の受信語と第2の消失位置情報と第2のシンドロームとして入力する。   That is, the second decoding unit 14 generates the generated third received word, the third erasure position information, and the third syndrome, respectively, the second received word, the second erasure position information, and the first erasure position information. Enter as a syndrome of 2.

なお、図6Bに示した復号部14においても、図2に示された各ステップ(S118〜122)の処理が行われる。   In addition, also in the decoding part 14 shown to FIG. 6B, the process of each step (S118-122) shown by FIG. 2 is performed.

以上のように構成された第2の復号部14において、復号グラフに基づいた復号をしながら行列式を解いて復号する手法に必要なシンドロームの補正を行なうことにより、ここで復号できなかった場合にシンドロームの計算と消失の値を変数とする連立方程式の係数行列を上三角行列に変換する処理を再度行なう必要をなくすかことが可能になった。   In the second decoding unit 14 configured as described above, by correcting syndromes necessary for the decoding method by solving the determinant while performing decoding based on the decoding graph, the decoding cannot be performed here. In addition, it is possible to eliminate the need to repeat the calculation of the syndrome and the conversion of the coefficient matrix of the simultaneous equations with the value of the disappearance into the upper triangular matrix.

以上、本発明に係る復号装置について、上記実施の形態を用いて説明したが、本発明は、これに限定されるものではない。   The decoding device according to the present invention has been described above 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.

例えば、本実施の形態では、第1の受信語及び検査行列Hなどの各要素は2進数であることとしたが、3進数などであってもよい。   For example, in the present embodiment, each element such as the first received word and the check matrix H is a binary number, but may be a ternary number.

また、本実施の形態では、第1の復号部11などの各構成要素は、ソフトウェアにより構成されていることとしたが、専用のハードウェアにより構成されていてもよい。つまり、ブロック図(図1、図4〜図6Bなど)の各機能ブロックは、典型的には集積回路であるLSIとして実現されていてもよい。なお、これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。   In the present embodiment, each component such as the first decoding unit 11 is configured by software, but may be configured by dedicated hardware. That is, each functional block in the block diagrams (FIG. 1, FIG. 4 to FIG. 6B, etc.) 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 decoding device, decoding method, and decoding program according to the present invention can increase the processing speed without impairing the correction capability, 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 decoding apparatus in Embodiment 1 of this invention. 復号装置が実行する復号の処理を示すフローチャートである。It is a flowchart which shows the process of the decoding which a decoding apparatus performs. 復号装置の復号処理の一例を具体的に説明する図である。It is a figure explaining an example of a decoding process of a decoding apparatus concretely. 復号装置の復号処理の一例を具体的に説明する図である。It is a figure explaining an example of a decoding process of a decoding apparatus concretely. 復号装置の復号処理の一例を具体的に説明する図である。It is a figure explaining an example of a decoding process of a decoding apparatus concretely. 本発明の実施の形態2における行列処理部の機能的な構成の一例を示すブロック図である。It is a block diagram which shows an example of a functional structure of the matrix process part in Embodiment 2 of this invention. 本発明の実施の形態3における行列復号部の機能的な構成の一例を示すブロック図である。It is a block diagram which shows an example of a functional structure of the matrix decoding part in Embodiment 3 of this invention. 本発明の実施の形態3における行列復号部の機能的な構成の一例を示すブロック図である。It is a block diagram which shows an example of a functional structure of the matrix decoding part in Embodiment 3 of this invention. 本発明の実施の形態4における第2の復号部の機能的な構成の一例を示すブロック図である。It is a block diagram which shows an example of a functional structure of the 2nd decoding part in Embodiment 4 of this invention. 本発明の実施の形態4における第2の復号部の機能的な構成の一例を示すブロック図である。It is a block diagram which shows an example of a functional structure of the 2nd decoding part in Embodiment 4 of this invention. 伝送パケット生成の説明図である。It is explanatory drawing of transmission packet generation. 復号グラフに基づく復号アルゴリズムの説明図である。It is explanatory drawing of the decoding algorithm based on a decoding graph. 復号グラフに基づく復号アルゴリズムの説明図である。It is explanatory drawing of the decoding algorithm based on a decoding graph. 復号グラフに基づく復号アルゴリズムの説明図である。It is explanatory drawing of the decoding algorithm based on a decoding graph. 復号グラフに基づく復号アルゴリズムの説明図である。It is explanatory drawing of the decoding algorithm based on a decoding graph. 復号グラフに基づく復号アルゴリズムの説明図である。It is explanatory drawing of the decoding algorithm based on a decoding graph. 復号グラフに基づく復号アルゴリズムの説明図である。It is explanatory drawing of the decoding algorithm based on a decoding graph. 復号グラフに基づく復号アルゴリズムの説明図である。It is explanatory drawing of the decoding algorithm based on a decoding graph. 解法1と解法2の訂正能力の差の説明図である。It is explanatory drawing of the difference of the correction capability of the solution 1 and the solution 2. FIG.

符号の説明Explanation of symbols

11 第1の復号部
12 行列処理部
13 行列復号部
14 第2の復号部
15 終了判断部
16 選択部
21 係数抽出部
22 三角行列生成部
23 変換行列生成部
24 シンドローム生成部
31 消失値計算部
32 訂正部
33 シンドローム補正部
34 選択部
41 第3の復号部
42 訂正した消失位置の記憶部
43 シンドローム補正部
45 グラフベースの1消失復号部
46、47 選択部
DESCRIPTION OF SYMBOLS 11 1st decoding part 12 Matrix processing part 13 Matrix decoding part 14 2nd decoding part 15 End judgment part 16 Selection part 21 Coefficient extraction part 22 Triangular matrix generation part 23 Transformation matrix generation part 24 Syndrome generation part 31 Erasure value calculation part 32 Correction unit 33 Syndrome correction unit 34 Selection unit 41 Third decoding unit 42 Storage unit of corrected erasure position 43 Syndrome correction unit 45 Graph-based one erasure decoding unit 46, 47 Selection unit

Claims (8)

線形符号の誤りを前記線形符号に対応した検査行列を用いて訂正する復号装置であって、
複数のシンボルで構成された受信語と前記受信語の中で誤りがあるシンボルの位置を示す消失位置情報とが入力され、前記検査行列に対応した復号方法を示す復号グラフに基づいて、前記受信語の誤りがあるシンボルの中で訂正可能なシンボルが訂正された第1の受信語と、前記訂正されたシンボルの位置が前記消失位置情報に反映された第1の消失位置情報とを生成する第1の復号部と、
前記生成された第1の受信語と第1の消失位置情報と前記検査行列とから、誤りがあるシンボルで構成される消失ベクトルと前記消失ベクトルの係数となる係数行列とを抽出し、行を入れ替えれば三角行列になる入替三角行列へ前記係数行列を変換する処理を行う変換行列を生成し、前記検査行列に基づいて前記第1の受信語から第1のシンドロームを生成する行列処理部と、
前記生成された変換行列と第1のシンドロームとから、前記第1の受信語の誤りがあるシンボルが訂正された第2の受信語と、前記第1の消失位置情報に前記訂正されたシンボルの位置が反映された第2の消失位置情報とを生成し、前記第1のシンドロームを前記訂正されたシンボルが反映された第2のシンドロームに補正する行列復号部と、
前記生成された第2の受信語と第2の消失位置情報とから、前記第2の受信語の訂正可能なシンボルが前記復号グラフに基づいて訂正された第3の受信語と、前記訂正されたシンボルの位置が前記第2の消失位置情報に反映された第3の消失位置情報とを生成する第2の復号部と
を備えることを特徴とする復号装置。
A decoding apparatus that corrects an error of a linear code using a check matrix corresponding to the linear code,
A reception word composed of a plurality of symbols and erasure position information indicating a position of a symbol having an error in the reception word are input, and the reception is performed based on a decoding graph indicating a decoding method corresponding to the check matrix. A first received word in which a correctable symbol is corrected among symbols having a word error, and first erasure position information in which the position of the corrected symbol is reflected in the erasure position information are generated. A first decoding unit;
From the generated first received word, first erasure position information, and the check matrix, an erasure vector composed of erroneous symbols and a coefficient matrix that is a coefficient of the erasure vector are extracted, and a row is obtained. A matrix processing unit that generates a conversion matrix that performs processing to convert the coefficient matrix into a permutation triangular matrix that becomes a triangular matrix if replaced, and generates a first syndrome from the first received word based on the parity check matrix;
From the generated transformation matrix and the first syndrome, a second received word in which a symbol having an error in the first received word is corrected, and the corrected symbol in the first erasure position information. A matrix decoding unit that generates second erasure position information reflecting a position and corrects the first syndrome to a second syndrome reflecting the corrected symbol;
A third received word in which a correctable symbol of the second received word is corrected based on the decoding graph from the generated second received word and second erasure position information, and the corrected And a second decoding unit that generates third erasure position information in which the position of the symbol is reflected in the second erasure position information.
前記行列処理部は、
前記第1の消失位置情報に基づく誤りがあるシンボルで構成されるベクトルである前記消失ベクトルと、前記検査行列のうち前記消失ベクトルに対応する列で構成される係数行列とを抽出する係数抽出部と、
前記係数行列を前記入替三角行列へ変換する三角行列生成部と、
前記検査行列と前記第1の受信語とを乗じて算出される第1のシンドロームを生成するシンドローム生成部と、
前記消失ベクトルと前記入替三角行列とを乗じた値が前記第1のシンドロームと変換行列とを乗じた値と同じになるように算出される前記変換行列を生成する変換行列生成部とを備える
ことを特徴とする請求項1に記載の復号装置。
The matrix processing unit
A coefficient extraction unit that extracts the erasure vector, which is a vector composed of symbols with errors based on the first erasure position information, and a coefficient matrix composed of columns corresponding to the erasure vector in the check matrix. When,
A triangular matrix generator for converting the coefficient matrix into the replacement triangular matrix;
A syndrome generator for generating a first syndrome calculated by multiplying the parity check matrix and the first received word;
A transformation matrix generation unit that generates the transformation matrix calculated so that a value obtained by multiplying the erasure vector and the replacement triangular matrix is the same as a value obtained by multiplying the first syndrome and the transformation matrix. The decoding device according to claim 1.
前記行列復号部は、
前記入替三角行列の行のうち零でない要素が1つのみの行を選択し、前記選択された行に対応する前記変換行列の行と前記第1のシンドロームとを乗じた値を計算することで、誤りがあるシンボルの値を算出するとともに、前記第2の消失位置情報を生成する消失値計算部と、
前記算出されたシンボルに基づいて、前記第2の受信語を生成する訂正部と、
前記算出されたシンボルに基づいて、前記第1のシンドロームを前記第2のシンドロームに補正するシンドローム補正部とを備える
ことを特徴とする請求項1又は請求項2に記載の復号装置。
The matrix decoding unit
By selecting a row having only one non-zero element among the rows of the permutation triangular matrix and calculating a value obtained by multiplying the row of the transformation matrix corresponding to the selected row and the first syndrome. Calculating a value of a symbol having an error and generating the second erasure position information,
A correction unit that generates the second received word based on the calculated symbol;
The decoding apparatus according to claim 1, further comprising: a syndrome correction unit that corrects the first syndrome to the second syndrome based on the calculated symbol.
前記行列復号部は、生成された前記第2の受信語と前記第2の消失位置情報と前記第2のシンドロームとを、それぞれ、前記第1の受信語と前記第1の消失位置情報と前記第1のシンドロームとして入力する
ことを特徴とする請求項1〜請求項3のいずれか1項に記載の復号装置。
The matrix decoding unit generates the generated second received word, the second erasure position information, and the second syndrome, respectively, the first received word, the first erasure position information, and the It inputs as 1st syndrome. The decoding apparatus of any one of Claims 1-3 characterized by the above-mentioned.
前記第2の復号部は、前記第3の受信語に誤りがあるシンボルが存在している場合に、さらに、前記第2のシンドロームに誤りが訂正されたシンボルを反映することで、前記第2のシンドロームを第3のシンドロームに補正し、生成された前記第3の受信語と前記第3の消失位置情報と前記第3のシンドロームとを、それぞれ、前記第2の受信語と前記第2の消失位置情報と前記第2のシンドロームとして入力する
ことを特徴とする請求項1〜請求項4のいずれか1項に記載の復号装置。
When there is a symbol with an error in the third received word, the second decoding unit further reflects the symbol with the error corrected in the second syndrome, so that the second And the generated third received word, the third erasure position information, and the third syndrome are respectively converted into the second received word and the second syndrome. The erasure position information and the second syndrome are input. The decoding device according to any one of claims 1 to 4.
さらに、
前記線形符号の誤り訂正を終了するか否かを判断する終了判断部を備え、
前記第1の復号部は、前記第1の受信語に誤りがあるシンボルが存在するか否かを判定する第1のフラグを生成し、
前記行列処理部は、前記係数行列の前記入替三角行列への変換が可能であるか否かを判定する第2のフラグを生成し、
前記第2の復号部は、前記第3の受信語に誤りがあるシンボルが存在するか否かを判定する第3のフラグを生成するとともに、前記第3の受信語に誤りがあるシンボルが存在していると判定される場合に、前記第2のシンドロームに誤りが訂正されたシンボルを反映することで、前記第2のシンドロームを第3のシンドロームに補正し、
前記終了判断部は、
前記第1のフラグで前記第1の受信語に誤りが存在しないと判定された場合には、前記線形符号の誤り訂正の終了と判断して、前記第1の受信語を誤り訂正済みの受信語として出力し、
前記第2のフラグで前記入替三角行列への変換が不可であると判定された場合には、前記線形符号の誤り訂正の終了と判断して、前記第1の受信語と前記第1の消失位置情報とを誤りが残留している受信語と残留している誤りの位置情報として出力し、
前記第3のフラグで前記第3の受信語に誤りが存在しないと判定された場合には、前記線形符号の誤り訂正の終了と判断して、前記第3の受信語を誤り訂正済みの受信語として出力し、
前記第3のフラグで前記第3の受信語に誤りが存在すると判定された場合には、前記線形符号の誤り訂正が終了していないと判断し、前記第3の受信語と前記第3の消失位置情報と前記第3のシンドロームとを、それぞれ、前記第1の受信語と前記第1の消失位置情報と前記第1のシンドロームとして前記行列復号部に出力する
ことを特徴とする請求項1〜請求項5のいずれか1項に記載の復号装置。
further,
An end determination unit for determining whether to end error correction of the linear code;
The first decoding unit generates a first flag for determining whether or not there is an erroneous symbol in the first received word;
The matrix processing unit generates a second flag for determining whether or not the coefficient matrix can be converted into the replacement triangular matrix;
The second decoding unit generates a third flag for determining whether or not there is a symbol having an error in the third received word, and there is a symbol having an error in the third received word. The second syndrome is corrected to the third syndrome by reflecting the error-corrected symbol in the second syndrome,
The termination determination unit
If it is determined by the first flag that there is no error in the first received word, it is determined that error correction of the linear code has been completed, and the first received word is received after error correction. Output as a word,
If it is determined by the second flag that conversion to the replacement triangular matrix is impossible, it is determined that error correction of the linear code has been completed, and the first received word and the first erasure are The position information is output as the received word where the error remains and the position information of the remaining error,
If it is determined by the third flag that there is no error in the third received word, it is determined that the error correction of the linear code has ended, and the third received word is received after error correction. Output as a word,
If it is determined by the third flag that there is an error in the third received word, it is determined that error correction of the linear code has not been completed, and the third received word and the third received word are corrected. The erasure position information and the third syndrome are output to the matrix decoding unit as the first received word, the first erasure position information, and the first syndrome, respectively. The decoding device according to claim 5.
線形符号の誤りを前記線形符号に対応した検査行列を用いて訂正する復号方法であって、
コンピュータが、複数のシンボルで構成された受信語と前記受信語の中で誤りがあるシンボルの位置を示す消失位置情報とが入力されることにより、前記検査行列に対応した復号方法を示す復号グラフに基づいて、前記受信語の誤りがあるシンボルの中で訂正可能なシンボルが訂正された第1の受信語と、前記訂正されたシンボルの位置が前記消失位置情報に反映された第1の消失位置情報とを生成する第1の復号ステップと、
コンピュータが、前記生成された第1の受信語と第1の消失位置情報と前記検査行列とから、誤りがあるシンボルで構成される消失ベクトルと前記消失ベクトルの係数となる係数行列とを抽出し、行を入れ替えれば三角行列になる入替三角行列へ前記係数行列を変換する処理を行う変換行列を生成し、前記検査行列に基づいて前記第1の受信語から第1のシンドロームを生成する行列処理ステップと、
コンピュータが、前記生成された変換行列と第1のシンドロームとから、前記第1の受信語の誤りがあるシンボルが訂正された第2の受信語と、前記第1の消失位置情報に前記訂正されたシンボルの位置が反映された第2の消失位置情報とを生成し、前記第1のシンドロームを前記訂正されたシンボルが反映された第2のシンドロームに補正する行列復号ステップと、
コンピュータが、前記生成された第2の受信語と第2の消失位置情報とから、前記第2の受信語の訂正可能なシンボルが前記復号グラフに基づいて訂正された第3の受信語と、前記訂正されたシンボルの位置が前記第2の消失位置情報に反映された第3の消失位置情報とを生成する第2の復号ステップと
を含むことを特徴とする復号方法。
A decoding method for correcting an error of a linear code using a check matrix corresponding to the linear code,
A decoding graph showing a decoding method corresponding to the parity check matrix when a computer receives a received word composed of a plurality of symbols and erasure position information indicating a position of an erroneous symbol in the received word And a first erasure in which the position of the corrected symbol is reflected in the erasure position information. A first decoding step for generating position information;
A computer extracts, from the generated first received word, first erasure position information, and the parity check matrix, an erasure vector composed of erroneous symbols and a coefficient matrix that is a coefficient of the erasure vector. Matrix processing for generating a conversion matrix for performing processing for converting the coefficient matrix into a permutation triangular matrix that becomes a triangular matrix if rows are replaced, and generating a first syndrome from the first received word based on the parity check matrix Steps,
The computer corrects the second received word in which a symbol having an error in the first received word is corrected and the first erasure position information from the generated transformation matrix and the first syndrome. Matrix decoding step of generating second erasure position information reflecting the position of the corresponding symbol and correcting the first syndrome to the second syndrome reflecting the corrected symbol;
A third received word in which a correctable symbol of the second received word is corrected based on the decoding graph from the generated second received word and second erasure position information; A decoding method, comprising: a second decoding step of generating third erasure position information in which the corrected symbol position is reflected in the second erasure position information.
線形符号の誤りを前記線形符号に対応した検査行列を用いて訂正するためのプログラムであって、
複数のシンボルで構成された受信語と前記受信語の中で誤りがあるシンボルの位置を示す消失位置情報とが入力され、前記検査行列に対応した復号方法を示す復号グラフに基づいて、前記受信語の誤りがあるシンボルの中で訂正可能なシンボルが訂正された第1の受信語と、前記訂正されたシンボルの位置が前記消失位置情報に反映された第1の消失位置情報とを生成する第1の復号ステップと、
前記生成された第1の受信語と第1の消失位置情報と前記検査行列とから、誤りがあるシンボルで構成される消失ベクトルと前記消失ベクトルの係数となる係数行列とを抽出し、行を入れ替えれば三角行列になる入替三角行列へ前記係数行列を変換する処理を行う変換行列を生成し、前記検査行列に基づいて前記第1の受信語から第1のシンドロームを生成する行列処理ステップと、
前記生成された変換行列と第1のシンドロームとから、前記第1の受信語の誤りがあるシンボルが訂正された第2の受信語と、前記第1の消失位置情報に前記訂正されたシンボルの位置が反映された第2の消失位置情報とを生成し、前記第1のシンドロームを前記訂正されたシンボルが反映された第2のシンドロームに補正する行列復号ステップと、
前記生成された第2の受信語と第2の消失位置情報とから、前記第2の受信語の訂正可能なシンボルが前記復号グラフに基づいて訂正された第3の受信語と、前記訂正されたシンボルの位置が前記第2の消失位置情報に反映された第3の消失位置情報とを生成する第2の復号ステップと
をコンピュータに実行させることを特徴とするプログラム。
A program for correcting an error of a linear code using a check matrix corresponding to the linear code,
A reception word composed of a plurality of symbols and erasure position information indicating a position of a symbol having an error in the reception word are input, and the reception is performed based on a decoding graph indicating a decoding method corresponding to the check matrix. A first received word in which a correctable symbol is corrected among symbols having a word error, and first erasure position information in which the position of the corrected symbol is reflected in the erasure position information are generated. A first decoding step;
From the generated first received word, first erasure position information, and the check matrix, an erasure vector composed of erroneous symbols and a coefficient matrix that is a coefficient of the erasure vector are extracted, and a row is obtained. A matrix processing step of generating a transformation matrix for performing processing for transforming the coefficient matrix into a permutation triangular matrix that becomes a triangular matrix if replaced, and generating a first syndrome from the first received word based on the parity check matrix;
From the generated transformation matrix and the first syndrome, a second received word in which a symbol having an error in the first received word is corrected, and the corrected symbol in the first erasure position information. Matrix decoding step of generating second erasure position information reflecting a position and correcting the first syndrome to a second syndrome reflecting the corrected symbol;
A third received word in which a correctable symbol of the second received word is corrected based on the decoding graph from the generated second received word and second erasure position information, and the corrected A program that causes a computer to execute a second decoding step of generating third erasure position information in which a position of a symbol is reflected in the second erasure position information.
JP2008205719A 2008-08-08 2008-08-08 Decoder, decoding method, and decoding program Pending JP2010041677A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008205719A JP2010041677A (en) 2008-08-08 2008-08-08 Decoder, decoding method, and decoding program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008205719A JP2010041677A (en) 2008-08-08 2008-08-08 Decoder, decoding method, and decoding program

Publications (1)

Publication Number Publication Date
JP2010041677A true JP2010041677A (en) 2010-02-18

Family

ID=42013681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008205719A Pending JP2010041677A (en) 2008-08-08 2008-08-08 Decoder, decoding method, and decoding program

Country Status (1)

Country Link
JP (1) JP2010041677A (en)

Similar Documents

Publication Publication Date Title
US8042030B2 (en) Encoding apparatus, decoding apparatus, encoding method, decoding method, and storage device
US9876607B2 (en) Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US8607118B2 (en) Iterative decoding method and apparatus
JP2007166605A (en) Parity check matrix, method for generating parity check matrix, encoding method, and error corrector
JP2004186940A (en) Error correction code decoding device
JP4978576B2 (en) Encoding method, encoding apparatus, decoding method, and decoding apparatus
WO2008043282A1 (en) A method and a system for ldpc erasure correcting decoding
JP5374156B2 (en) Apparatus and method for decoding and encoding data
KR20090041224A (en) Concatenated decoder and method of concatenated decoding
JP5267883B2 (en) COMMUNICATION SYSTEM, TRANSMISSION DEVICE, ERROR CORRECTION CODE RETRANSMECTION METHOD, COMMUNICATION PROGRAM
EP3713096B1 (en) Method and device for decoding staircase code, and storage medium
JP4603518B2 (en) Encoding device and decoding device
US20050188291A1 (en) Error locating methods and devices for algebraic geometric codes
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
JP2010041677A (en) Decoder, decoding method, and decoding program
JP5952971B2 (en) Communication path decoding method and communication path decoding apparatus
Senger Improved iterative decoding of product codes based on trusted symbols
JP2010041628A (en) Encoder, encoding method, and encoding program
JP2010034887A (en) Encoding apparatus, encoding method and encoding program
Lin et al. Decoding of the (24, 12, 8) extended Golay code up to four errors
JP4996756B2 (en) Communication information decoding method and decoding system
Al-Shaikhi et al. Packet loss recovery codes based on Vandermonde matrices and shift operators
US20230370092A1 (en) Error Correction With Fast Syndrome Calculation