[go: up one dir, main page]

WO2006087792A1 - Encoding apparatus and encoding method - Google Patents

Encoding apparatus and encoding method Download PDF

Info

Publication number
WO2006087792A1
WO2006087792A1 PCT/JP2005/002482 JP2005002482W WO2006087792A1 WO 2006087792 A1 WO2006087792 A1 WO 2006087792A1 JP 2005002482 W JP2005002482 W JP 2005002482W WO 2006087792 A1 WO2006087792 A1 WO 2006087792A1
Authority
WO
WIPO (PCT)
Prior art keywords
partial
interleave
interleaving
block
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2005/002482
Other languages
French (fr)
Japanese (ja)
Inventor
Shunji Miyazaki
Kazuhisa Obuchi
Tetsuya Yano
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to PCT/JP2005/002482 priority Critical patent/WO2006087792A1/en
Priority to JP2007503532A priority patent/JP4357561B2/en
Publication of WO2006087792A1 publication Critical patent/WO2006087792A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] codes
    • H03M13/1197Irregular repeat-accumulate [IRA] codes

Definitions

  • the present invention relates to an information bit encoding apparatus and encoding method in a digital information communication system and the like, and more particularly, to an IRA (Irregular Repeat Accumulate) code or RA that generates a noble code using interleave processing.
  • the present invention relates to a technique suitable for encoding a low-density parity-check (LDPC) code such as a (Repeat Accumulate) code.
  • LDPC low-density parity-check
  • the alphabet X is expressed by the following formula (1.1).
  • the received data force information vector u for the code vector X is estimated.
  • the parity check relational expression shown below for the code vector X is used.
  • LDPC code A low density parity check (LDPC) code is a generic name of a code defined by a check matrix in which the number of elements different from 0 is less than the total number of elements in a block code. In particular, when the number of elements in each row and column is constant, it is called a “regular LDPC code” and is characterized by the code length N and the number of weights (w, w) for each column and row.
  • ⁇ ( ⁇ ) represents the ratio of elements different from 0 belonging to the column (row) of the number of weights j.
  • Regular LDPC codes can be regarded as a special case of irregular LDPC codes.
  • the error rate characteristics of the codes given as described above are determined by the weight number distribution and the specific arrangement method of elements different from 0 under the conditions.
  • characteristics such as the circuit scale, processing time, and processing amount of the encoder and decoder are basically affected only by the distribution of the number of weights.
  • a general LDPC code is defined by a parity check matrix used in the decoding process, and the sign key processing has a power to obtain a generator matrix from the parity check matrix, and a method of sequentially obtaining parity bits using a triangulated parity check matrix. In any case, O (N 2 ) processing time is required.
  • the LDPC code is decoded using the check matrix defined by the Sum-Product method (Sum-Product Algorithm). Tanner graph is used as a useful graph to understand this method.
  • Tanner graph for example, as shown in FIG. 16, each column of the check matrix H is associated with each “variable node” X indicated by a circle mark in the lower row, and each “check node” s indicated by a row mark in the upper row.
  • the component of i row and j column of parity check matrix H is different from 0 (h ⁇ 0)
  • variable node X indicates the state of each code bit (probability for possible bit values), and the check node s is a variable node directly connected to the edge by an edge. This means that the result is 0 when added by the S-parity relational expression. Focusing on one variable of the NORITY check relational expression and using the remaining variables as preconditions for estimating the bits of this variable, paying attention to the probabilities of each current bit The probability that each variable node takes the value of each bit can be estimated. This operation can be graphically interpreted on the graph as the reliability information propagates through the current state force edge of each variable node.
  • the designated number of times copy circuit 1010 and a parallel Z-serial (PZS) conversion circuit 1011 for converting the parallel output of the designated number of times copy circuit 1010 into a serial signal and outputting it are configured. Note that the relationship between f and (q, q, ..., q) is repeated q times out of K input bits j 0 1 K-1
  • FIG. 17 shows a Tanner graph corresponding to this code.
  • interleaver Due to the characteristics of the code, it is not appropriate to use an interleaver with a simple configuration such as a simple block interleaver.
  • the interleaver is originally designed to be as far away as possible after interleaving the bits in order. It is desirable to arrange in.
  • a perfectly random interleaver is suitable because it allows a uniform probability to place bits in close order in the near V ⁇ position even after interleaving.
  • condition random interleaves the S-Random interleaver and its extended version are interleavers that can be randomly generated with the above conditions (hereinafter referred to as "conditional random interleaves”).
  • High Spread Random interleavers for example, see Non-Patent Document 2 below
  • 3GPP (Third Generation Partnership Project) W-CDMA mobile communication system has been specified as a method that can identify the order of replacement destinations structurally (that is, with a mathematical algorithm) without using pseudorandom numbers. ! /, Prime Interleaver (PIL) adopted as an internal interleaver of the turbo code (hereinafter referred to as “structural random interleaver”.
  • PIL Prime Interleaver adopted as an internal interleaver of the turbo code
  • the RA encoder copies each of K information bits by a fixed number of repetitions q, and repeats q times 101a, and an interleaver that interleaves the output. 102a and an M-time cumulative addition unit 104 (adder 141 and latch 142) that outputs the NOT bit by accumulating the output M times.
  • the size of the IRA code can be changed for each addition block in the addition processing after interleaving. This is referred to herein as an “Extended IRA code” (see, for example, Non-Patent Document 5 below).
  • a convolutional encoder with feedback with a coding rate of 1 can be used by generalizing the cumulative addition process. Such a code is referred to herein as a “general IRA code”.
  • An example of a convolutional encoder with feedback other than cumulative addition is shown in FIG.
  • i 0, 1,..., M ⁇ l
  • the switch value is cleared to 0, and the switch 133 is controlled to be in the ON state by the switch opening / closing circuit 134, thereby realizing addition processing for each variable addition block size.
  • the conventional code key scheme as described above particularly the code key scheme of an IRA code which is a kind of LDPC code, has the following problems.
  • the number of S parity bits M is typically a large value of tens of thousands and tens of thousands. Size E is a large value.
  • a large-size conditional random interleaver takes O (E 2 ) processing time proportional to E 2 to generate, and a constructive random interleaver takes O (E) processing time.
  • Non-Patent Literature 1 H. Jin, A. Khandeker, and R. McEliece, 'irregular repeat-accumulate codes, in Proc. 2nd. Int. Symp. Turbo Codes and Related Topics, Brest France, pp. 1-8, Sept . 2000.
  • Non-Patent Document 2 H. Crozier, "New High-Spread High-Distance Interleavers for Turbo-Codes ", Proceedings of the 20th Biennial Symposium on Communications, Queen's University, guitarist, Ontario, Canada, pp. 3-7, May 28-31, 2000.
  • Non-Patent Document 3 Third Generation Partnership Project (3GPP), “Multiplexing and Channel Coding (Frequency Division Duplex Mode)", Technical Specification 25.212, V5.9.0 (2004-06).
  • 3GPP Third Generation Partnership Project
  • Multiplexing and Channel Coding Frequency Division Duplex Mode
  • Non-Patent Document 4 D. Divsalar, H.Jin, and RJ McEliece, "Coding theorems for 'turbo-like' codes, pp. 201-210 in Proc. 36th Allerton Conf. On Communication, Control, and Computing. (Allerton , Illinois, Sept. 1998).
  • Non-Patent Document 5 M. Yang, WE Ryan, and Y. Li, "Design of Efficiently Encodable Moderate-Length High-Rate Irregular LDPC Codes," IEEE Trans, on Commun. Vol. 52 no. 4, pp.564- 571. Apr. 2004.
  • the encoding device of the present invention includes:
  • An apparatus for generating M null codes from K information elements using interleaving, and generating a code of size ⁇ ⁇ + ⁇ using the information elements and the parity code,
  • a repetitive coding unit that performs repetitive coding for a specified number of repetitions for each of the information elements, and a repetitive coding result obtained by the repetitive coding unit with partial interleaving in a different interleave pattern for each of a plurality of partial interleave blocks
  • a convolutional coder that outputs the number of parity codes. It is a feature that was withered.
  • the servo processing unit has the partial interleave block max of each size a satisfying the following formula (4.1):
  • Each partial interleave is configured to perform the partial interleaving. It may be configured to select and add the partial interleaving results one by one from the beginning of each partial interleave block after the partial interleaving by the specified size & i of the addition block!
  • the interleaving processing unit is common to the partial interleave blocks, and includes a common partial interleaver that sequentially performs the partial interleaving on the partial interleave blocks.
  • the adding unit may be configured to sequentially add the results of sequential partial interleaving by the common partial interleaver.
  • the specified size a may be constant.
  • the above-mentioned partial interleaving block except the above ml pieces may be configured to be subjected to the partial interleaving for the remaining repetition code results.
  • the iterative coding unit may perform the iterative code result so that the repetition codes for the number of repetitions for each of the K information elements belong to different partial interleave blocks. May be configured to be output to the interleave processing unit.
  • the management unit should be configured to perform partial interleaving of size ⁇ ; for each of the above blocks.
  • the q may be constant! /.
  • the kO repetition code Avoiding the position determined by the partial interleaving for the result, the relative position in the second partial interleave block to which the kl repetitive coding results belong is determined, and the interleaving processing power It is also possible to perform the partial interleaving on the result of the remaining repetitive codes excluding the above-mentioned kl interleave blocks.
  • the interleave processing unit includes a memory that holds the repetitive encoding result belonging to the partial interleave block in a predetermined write order, and a read order different from the write order according to the interleave pattern.
  • a read control unit that performs the partial interleaving by reading the result of the repetitive code, and an interleave pattern control unit that generates a different interleave pattern for each of the different partial interleave blocks held in the memory and supplies the interleave pattern to the read control unit Please prepare.
  • the interleave pattern control unit generates the different interleave pattern by performing a predetermined replacement process on the interleave pattern used by the read control unit for another different partial interleave block. It is possible to have an interleave pattern replacement generation unit.
  • a repetitive coding process for performing a repetitive coding process for a specified number of repetitions, and the repetition code.
  • the partial interleaving process in which the interleaved result is partially interleaved with a different interleaving pattern for each of the plurality of partial interleaved blocks, and the partial interleaved result is selected from the different partial interleaved blocks for each additional block of the specified size. It is characterized by having an addition process of adding, and a convolutional encoding process of outputting M parity codes by performing convolutional coding according to the addition result.
  • the partial interleaving is sequentially performed on the partial interleaving blocks, and the sequential partial interleaving result is sequentially performed in the adding process. May be added.
  • FIG. 1 is a block diagram showing a main configuration of an IRA encoder (encoder device) as a first embodiment of the present invention.
  • FIG. 2 is a block diagram showing a configuration example of an interleave processing unit and an adding unit shown in FIG.
  • FIG. 3 is a Tanner graph in the IRA encoder shown in FIG.
  • FIG. 4 is a Tanner graph of an IRA encoder according to a modification of the first embodiment.
  • FIG. 5 is a block diagram showing a main configuration of an RA encoder (encoder device) as a second embodiment of the present invention.
  • 6 is a block diagram showing a configuration example of an interleave processing unit and an addition unit shown in FIG.
  • FIG. 7 is a Tanner graph in the RA encoder shown in FIG.
  • FIG. 8 is a Tanner graph in an RA encoder according to a modification of the second embodiment.
  • FIG. 9 is a block diagram showing a configuration example of an interleave pattern control unit for explaining the interleave pattern generation processing in the first embodiment.
  • FIG. 10 is a block diagram showing a configuration example of a conventional general-purpose extended IRA encoder.
  • FIG. 11 is a block diagram showing an example of the internal configuration of the repetition encoder (variable number of times bit repetition unit) shown in FIGS. 10 and 15.
  • FIG. 12 is a block diagram illustrating an internal configuration example of a variable number adding unit illustrated in FIG.
  • FIG. 13 is a block diagram showing an example of the internal configuration of the convolutional encoder with feedback shown in FIG.
  • FIG. 14 is a block diagram showing a configuration example of a conventional RA encoder.
  • FIG. 15 is a block diagram showing a configuration example of a conventional IRA encoder.
  • FIG. 16 is a diagram for explaining a Tanner graph.
  • FIG. 17 is a Tanner graph of an IRA code.
  • FIG. 1 is a block diagram showing the main configuration of an IRA encoder (encoder) as a first embodiment of the present invention.
  • serial Z parallel (SZP) converter 3 a (a is a positive integer) partial interleaver (0th to a-1 interlino) 4 0— 4 ( It has an interleave processing unit 4, a parallel Z-serial conversion unit 5, an addition unit (a-time addition unit) 6 and an M-time cumulative addition unit 7 having a-1).
  • the variable number of times bit repetition unit 2 performs each of K input information bits (information elements). At this time, it generates a repetition code (bit) for the specified number of repetitions (variable) and outputs E repetition codes (E is a positive integer) as a result.
  • a distribution function number of times
  • the bits obtained in this way are arranged serially to be output bits of the repetition code.
  • This function includes, for example, a specified number of times copy circuit that copies each information bit input as described above with reference to FIG. 1 by the number of repetitions specified by the distribution function f and outputs it in parallel. This can be realized by using a PZS conversion circuit that serializes the output.
  • the SZP conversion unit 3 performs parallel conversion on the serial output (E repetition codes) obtained by the variable number of times bit repetition unit 2 and outputs it in units of M blocks (partially interleaved blocks). To do.
  • the interleave processing unit 4 performs partial interleaving on the result of the above repetitive coding with a different interleaving pattern for each of the a partial interleaving blocks.
  • a conditional random interleaver such as the S-Random interleaver described above or its extended version, the High Spread Random interleaver, is used. Apply.
  • a structured random interleaver such as PIL described above. Note that an interleave pattern that differs for each partial interleaver 4 i can be obtained, for example, by changing the seed of the pseudo-random function, details of which will be described later.
  • the PZS converter 5 converts the output of each partial interleaver 4 i into serial data and outputs E bits (interleave result).
  • the a-time adder 6 outputs the output result.
  • A is added, that is, a is added in order of the leading force of the partial interleave result for each partial interleave block by each partial interleaver 4 i. More specifically, if the j-th read index (original bit position) of the i-th partial interleaver 4 i is r, the river page r, r,..., R, r, r '... Cara one by one in Silanole
  • Arithmetic generates M bits! /
  • the a-time adder 6 includes an adder 61, a latch 62, and a switch 63, and the addition result obtained by the previous adder 61 held in the latch 62 is added to the current input. Cumulative addition is performed by adding at 61, and when the addition is completed a times, the switch 63 is turned on to output the addition result a times.
  • a times in this embodiment, in order to avoid temporarily storing E read indexes, a partial interleavers 4 i are sequentially added one by one (in time division). When executed, the memory for temporarily storing M read indexes is shared and used.
  • the partial interleaver 4 i includes a write switch 40, a repeated code temporary storage memory 41, a read relative position memory 42, an interleave pattern generation unit 43, and a timing counter 44.
  • the a-time addition unit 6 includes M sets of adders 61, latches 62, and switches 63 in parallel, and also includes a P / S conversion unit 64.
  • the write switch 40 is used to turn ON / OFF the writing of the repeated code to the repeated code temporary storage memory 41.
  • the repeated code temporary storage memory 41 is turned on by the write switch 40 being turned ON. It holds M repetition codes (that is, repetition codes belonging to one partial interleave block), and the read relative position memory (read control unit) 42 is supplied from the interleave pattern generation unit 43.
  • the repetition code addresses (read indexes) to be read from the repetition code temporary storage memory 41 are sequentially specified for M times, so that the repetition codes are written in an order different from the order of writing to the memory 41. Is read and partial interleaving is performed on M repetition codes.
  • the interleave pattern generation unit 43 reads a different interleave pattern for each update timing given from the timing counter 44 and gives it to the relative position memory 42 to change the reading order.
  • the timing counter 44 The write (update) timing to the repeated code temporary storage memory 41 and the update timing of different interleave patterns in the interleave pattern generation unit 43 are output a times respectively, so that the next partial interleave after the above read out
  • the M repeated codes belonging to the block are written into the repeated code temporary storage memory 41, and different interleave patterns for the partial interleave block are given to the read relative position memory 42.
  • the interleave pattern generation unit 43 and the timing counter 44 generate an interleave pattern different for each different partial interleave block and give it to the read relative position memory 42 as the read control unit.
  • each of the partial interleavers 4 i is provided in parallel, and the partial interleaving is performed in parallel at the same time (of course, a powerful configuration is possible).
  • Fig. 2 the same processing is realized by using a configuration in which the interleaving ⁇ (common partial interleaving) 4a common to each partial interleaved block is used and the block subject to partial interleaving is changed sequentially. It is.
  • each of the M adders 61 is one of the M bits read from the repeated code temporary storage memory 41 and the bit held in the corresponding latch 62 (previous addition result).
  • Each of the M latches 62 temporarily holds the addition result of the corresponding adder 61 and feeds back the bit to the adder 61.
  • Repeater code temporary storage memory by adder 61 and latch 62 M bits written to a total of 41 times and read a total number of times from the corresponding memory 41, that is, the partial interleave results of a partial interleaved blocks are sequentially accumulated by the calorie calculator 61 and the latch 62, respectively. It ’s going to be done.
  • Each of the M switches 63 is controlled to be in the ON state at the timing when the addition of a times is completed, so that the bit value (that is, the result of addition of a times) held in the latch 62 at that time is controlled.
  • the PZS converter 64 outputs the result to the PZS converter 64.
  • the PZS converter 64 serially converts and outputs the M a-time addition results thus input.
  • M bits are added up to the last (a-th) partial interleave block, and each switch 63 is controlled to be ON when each calorie calculator 61 completes the a-calorie calculation. Then, the M a-time addition results are serially converted by the PZS converter 64 and output.
  • one partial interleaver 4a is sequentially applied to each of the a partial interleave blocks, and bit addition is performed simultaneously at each stage.
  • the read relative position memory 42 can be shared with each partial interleave block.
  • the M-times cumulative adder 7 performs M cumulative additions on the output of the a-time adder 6 and outputs M parity bits.
  • the adder 71 and the latch 7 2 The previous addition result held in the latch 72 is feed-knocked to the adder 71 and added to the current input (a-th addition result) by the adder 71.
  • Figure 3 shows the Tanner graph in this example.
  • the variable node (u, ⁇ , u) force indicated by a circle at the bottom is also M for each partial interleaver 4 0— 4 (a— 1).
  • E repetition codes are divided into a blocks (partial interleave blocks) of M pieces each and input to each partial interleaver 4 i.
  • each partial interleano—partial interleaving of i indicates that a total of a bits are selected and collected (added) one by one, each check Node (s, ..., s) and variable nodes corresponding to the NORITY bits (p, ..., p)
  • the above-mentioned M cumulative additions are represented by connecting the edges in a zigzag pattern to the (topmost circle).
  • the E repetition codes that are the output of the variable number of times bit repetition unit 2 are divided into M blocks each of which is M pieces, and each block ( Apply partial interleaving of different interleaving patterns to M bits), select a total of a bit one by one in the order of the leading force of each result, add (a addition), and then the addition result Since the parity bit is generated by accumulating M times M times, the following effects or advantages can be obtained.
  • the interleave processing unit 4 performs the following (1
  • the adder 6 selects and adds partial interleave results one by one from the beginning of each partial interleave block after partial interleaving for the specified size a of each addition block.
  • a convolutional encoder with feedback may be used for the M-time cumulative addition unit 7. In this case, it becomes a “general ⁇ extended IRA code”.
  • the following problem may occur when a repeated code spans two partially interleaved blocks. That is, with a method of applying an interleaver (whether a random interleaver, conditional random interleaver or structural random interleaver in the above example) unconditionally to a bit string of size E, the result of repeated information bits Bits of the same value belong to the same block after interleaving (this is called block duplication), and the information will cancel each other out. [0057] In the Tanner graph, this corresponds to connecting the same variable node and check node pair with an edge twice, which is different from the code intended as the LDPC code. .
  • a bit string of repetition codes for input information bits is serially arranged and divided into a partial interleaved blocks by M pieces, a certain information bit is obtained.
  • the repetition code of may belong to two partially interleaved blocks.
  • mO (mO is a positive integer) belongs to the first partial interleave block
  • ml (j—mO) (ml is a positive integer) Belongs to the second partial interleave block.
  • the read position (relative index) for the mO bit strings is determined, so this read position is stored. Keep it. Then, before executing the partial interleaving for the second partial interleave block, for the ml repeated codes of the first information bit u, avoid the read position for the mO bit strings stored earlier, and A relative read position in the block is determined in advance by a predetermined method (for example, randomly), and partial interleaving is performed on the remaining (M-ml) bit strings excluding the ml. The same processing is performed for the third and subsequent partially interleaved blocks.
  • FIG. 5 is a block diagram showing the main configuration of an RA encoder (encoder) as a second embodiment of the present invention.
  • a conversion unit 5A, a variable addition unit 6A, an M accumulation addition unit 7 and a variable addition control unit 8 are provided.
  • the q-bit repetition unit 2A repeatedly codes all the K input information bits by a fixed number (specified number of repetitions) q (q is a positive integer), SZP
  • the interleave processing unit 4A performs partial interleaving on the result of the repetitive code by the q-bit repetition unit 2A with a different interleaving pattern for each of q partial interleave blocks.
  • the K information bits are subjected to partial interleaving of size K (random interleaving, conditional random interleaving, or structural random interleaving).
  • the PZS conversion unit 5A serially converts the output of the partial interleaver 4A-t (interleave result) and outputs the result.
  • the variable addition unit 6A specifies (variable) the interleave result.
  • Adder 61, latch 62, and switch 63 are provided, and addition block size a is added. Each time, the bit held in the latch 62 by the 0 clear circuit 81 The value is cleared to 0, and the switch 63 is controlled to be in the ON state by the switch opening / closing circuit 82, so that an addition process for each variable addition block size a ; can be realized.
  • K partial interleavers 4A-t are sequentially executed one by one (in time division), so that K read indexes are obtained. Share the memory for temporary storage.
  • the partial interleaver 4A-k includes a repetitive code temporary storage memory 41A, a read relative position memory 42A, an interleave pattern generation unit 43A, and a timing counter 44A.
  • 6A includes an adder 61A for each addition block in parallel, and an adder 61B, a latch (remaining bit temporary memory) 65, and a PZS conversion unit 64.
  • the iterative code temporary storage memory 41A holds information bits (u—u) which are K repetition code key results, and the read relative position memory 42A is an interleaved memory.
  • the interleave pattern generation unit 43A changes the read order by giving a different interleave pattern to the read relative position memory 42A for each timing given from the timing counter 44A, and the timing counter 44A has an interleave pattern.
  • the output timing of the different interleave patterns in the generation unit 44A is output q times.From this, different interleave patterns for the next partial interleave block are given to the read relative position memory 42A, and so on.
  • the contents of the read relative position memory 42A are sequentially updated until partial interleaving for all (q sets) partial interleave blocks is completed.
  • each adder 61A corresponds to the addition block, and is specified by the read relative position memory 42A from the repeated code temporary memory 41A in the process of partial interleaving executed q times sequentially.
  • Information bits (repeated codes) that should be read according to the addresses to be read (that is, different interleave patterns) and belong to the same addition block are added.
  • An adder 61 is added together with the other (a -kO) information bits in 1A.
  • the PZS converter 64 serially converts the addition result from each adder 61A and outputs M bits.
  • the adder 61A and the adder 61B function as the adder 61 shown in FIG. 5, and the latch 65 and the repeated code temporary storage memory 41A are latched as shown in FIG. 62 as a timing counter 44A, interleave pattern generation unit 43A, and read relative position memory 42A.
  • switch 63 and variable addition control unit 8 (0 clear circuit 81, switch open / close circuit 82) shown in FIG. Will fulfill the function.
  • the M-time cumulative addition unit 7 is the same as that described above in the first embodiment, and performs M cumulative additions on the output of the variable-time addition unit 6A to output M NORITY bits.
  • the previous addition result held in the latch 72 is fed back to the adder 71 and added to the current input (a-time addition result) by the adder 71.
  • Figure 7 shows the Tanner graph in this example. As shown in Fig. 7, Variable nodes shown (u, ⁇ ⁇ ⁇ , u) forces different partial interleavers 4A— 0— 4A- (
  • Each edge of the partial interleaver 4A—t has a bow I, and the partial interleave result of each partial interleaver 4A—t is added for each added block of size a.
  • the check node (s, ⁇ , s) and the NORITY bit (p, ⁇ , p) corresponds to each check node (s, ⁇ , s) and the NORITY bit (p, ⁇ , p)
  • the data is output to the unit 4A, and the interleave processing unit 4A performs the partial interleaving of size K for each block.
  • a convolutional encoder with feedback can be used for the loop accumulation adder 7 in general terms. In this case, it becomes a “generalized (extended) IRA code”.
  • the addition block force spans two partial interleave blocks.
  • the kth addition block spans the first partial interleave block and the second partial interleave block, and kO (kO is a positive integer) belongs to the first partial interleave block, and the remaining kl Let the number of bits (kl is a positive integer) belong to the second partial interleave block.
  • the relative read Lf standing in kO corresponding blocks obtained as a result of the partial interleaving for the first partial interleaved block is stored, and the second Before executing partial interleaving for the partial interleave block, kl relative positions different from the above kO positions are randomly determined to be the first kl read addresses. After this, partial interleaving is applied to the remaining (K kl) bits, and addition is performed in the order of read addresses. The same processing is performed for the third and subsequent partially interleaved blocks. [0086] As a result, even in the above-described RA encoder 1A, as shown in FIG.
  • the partial interleaver 4 i applied to the first partial interleave block for example, the above 3GPP It is assumed that PIL (see Non-Patent Document 3) used in the turbo code is used.
  • the partial interleaver 4 applied to the second and subsequent partial interleave blocks is configured as follows.
  • An index control unit (interleave pattern replacement generation unit) 45 is added.
  • the read W length control unit 45 sets the relative read index r in the read relative position memory 42 for the j-th partial interleave block.
  • the above-mentioned integer b can be obtained by adding (r + b mod M ⁇ r) with M modulo .
  • the interleave pattern generation unit 43 only needs to give the read relative position memory 42 an interleave pattern only for the first time (for the first partial interleave block), and for the subsequent partial interleave blocks,
  • the read index control unit 45 sets the read index as an offset value as described above.
  • each partial interleave block a specified number of (mod M) added to one size M interleave pattern is used as a relative read index, so that each partial interleave block is used.
  • the interleave pattern generation process can be shortened to lZa.
  • a processing amount of 0 (M 2 ) is applied to only one partial interleaver 4, and the other partial interleaver 4 i is Since it can be obtained by simple addition and integer division processing, the processing amount is only required to be added to lZa + ⁇ .
  • the amount of processing is reduced when the processing of adding or dividing integers or more is required for the generation of the read word size.
  • this is a method of generating interleavers of the same size but different patterns.
  • interleave pattern generation method can of course be applied to the RA encoder 1 A of the second embodiment.
  • the code sequence to be interleaved is divided in codes defined by the code method using random interleaving such as IRA codes and RA codes.
  • random interleaving such as IRA codes and RA codes.
  • a code sequence to be interleaved is separated in codes defined by a code method using random interleaving processing such as IRA codes and RA codes.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Abstract

For each of K information elements, an encoding is repetitively performed a designated repetition number of times. A partial interleaving of the results of the repetitive encoding is then performed, by use of a different interleave pattern, every plurality of partial interleave blocks. Results of the partial interleaving are then selected from different ones of the partial interleave blocks and added together by a designated size of addition blocks. For the addition result, a convolution encoding is performed to output M parity codes. In this way, for codes, such as IRA codes or RA codes, defined by an encoding method using an interleave process, a code sequence to be interleaved is divided and then interleaved, whereby the complexity of interleave pattern generation can be reduced without degrading the characteristic and further the processing amount or time can be reduced in accordance with the division number.

Description

符号化装置及び符号化方法  Encoding apparatus and encoding method

技術分野  Technical field

[0001] 本発明は、デジタル情報通信システム等における情報ビットの符号ィ匕装置及び符 号化方法に関し、特に、インターリーブ処理を用いてノ^ティ符号を生成する IRA( Irregular Repeat Accumulate)符号や RA (Repeat Accumulate)符号などの低密度ノ リティ検査(LDPC: Low-Density Parity-Check)符号の符号化に用いて好適な技術 に関する。  TECHNICAL FIELD [0001] The present invention relates to an information bit encoding apparatus and encoding method in a digital information communication system and the like, and more particularly, to an IRA (Irregular Repeat Accumulate) code or RA that generates a noble code using interleave processing. The present invention relates to a technique suitable for encoding a low-density parity-check (LDPC) code such as a (Repeat Accumulate) code.

背景技術  Background art

[0002] (A)ブロック符号  [0002] (A) Block code

ブロック符号は、以下のように、 K個(Kは正の整数)の情報アルファベット u= (u ,  The block code is K (K is a positive integer) information alphabet u = (u,

ο ο

···, u )を KXN(Nは正の整数)の生成行列 G=(g) (i=0, ···, K-l;j = 0, ···,, U) to KXN (N is a positive integer) generator matrix G = (g) (i = 0, ···, K-l; j = 0, ···,

K-l ij K-l ij

Ν— 1)により Ν個の符号アルファベット χ= (X , ···, X )に符号化される。即ち、符号  Ν- 1) is encoded into code alphabets χ = (X, ···, X). That is, the sign

0 K-1  0 K-1

アルファベット Xは、下記 (1.1)式で表される。  The alphabet X is expressed by the following formula (1.1).

[0003] x=uG ---(1.1) [0003] x = uG --- (1.1)

受信側では、符号ベクトル Xに対しての受信データ力 情報ベクトル uを推定する。 このためには、符号ベクトル Xに対しての下記 (1.2)式に示すパリティチェック関係式を 用いる。  On the receiving side, the received data force information vector u for the code vector X is estimated. For this purpose, the parity check relational expression shown below for the code vector X is used.

xHT=0 ---(1.2) xH T = 0 --- (1.2)

ここで、 H=(h)〔i=0, ···, M— 1(Mは正の整数) ;j = 0, ···, N— 1〕は、パリティ検 查行列(以下、単に「検査行列」という)で、 HTは検査行列 Hの転置 (行と列の入れ替 え)行列を意味する。上記 (1.1)式と (1.2)式とから Hと Gは下記 (1.3)式の関係を満たす Here, H = (h) [i = 0, ···, M-1 (M is a positive integer); j = 0, ···, N–1] is a parity check matrix (hereinafter simply referred to as in that "the check matrix"), H T means swapped e) matrix transpose (the rows and columns of the check matrix H. From the above formulas (1.1) and (1.2), H and G satisfy the following formula (1.3)

[0004] GHT=0 ---(1.3) [0004] GH T = 0 --- (1.3)

この (1.3)式から、検査行列 Hと生成行列 Gのいずれか一方が与えられると符号ィ匕規 則が一意に決まる。  From this equation (1.3), if either the check matrix H or the generator matrix G is given, the sign rule is uniquely determined.

(B)LDPC符号 低密度パリティ検査 (LDPC)符号は、ブロック符号にぉ 、て 0と異なる要素の数が 全要素数に対して少ない割合の検査行列によって定義される符号の総称である。特 に、行と列のそれぞれの要素の数が一定の場合には「レギュラー LDPC符号」と呼ば れ、符号長 Nと列と行のそれぞれのウェイト数 (w , w )で特徴付けられる。一方で、 各列、各行で異なるウェイト数を許すタイプは、「イレギュラー LDPC符号」と呼ばれ、 符号長 Nと、列と行のウェイト数分布〔(え, p ) ;j = l, · ··, j ; k= l, · ··, k 〕により (B) LDPC code A low density parity check (LDPC) code is a generic name of a code defined by a check matrix in which the number of elements different from 0 is less than the total number of elements in a block code. In particular, when the number of elements in each row and column is constant, it is called a “regular LDPC code” and is characterized by the code length N and the number of weights (w, w) for each column and row. On the other hand, the type that allows different number of weights in each column and each row is called “irregular LDPC code”, and the code length N and the weight distribution of columns and rows [(e, p); j = l, · ..., j; k = l, ..., k]

j k max max 特徴付けられる。ここで、 λ ( ρ )は、ウェイト数 jの列 (行)に属する 0と異なる要素の 割合を示している。レギュラー LDPC符号は、イレギュラー LDPC符号の特別な場合 とみなすことちでさる。  j k max max Characterized. Here, λ (ρ) represents the ratio of elements different from 0 belonging to the column (row) of the number of weights j. Regular LDPC codes can be regarded as a special case of irregular LDPC codes.

[0005] レギュラー、イレギュラーいずれにしても符号長とウェイト数分布が決まっただけで は具体的な検査行列は決まらな 、。規定のウェイト数を満たすような具体的な 0と異 なる要素の配置方法は多くの可能性があるため、このそれぞれが別の符号を定義す ることになる。  [0005] In both regular and irregular cases, a specific parity check matrix is not determined only by determining the code length and weight number distribution. Since there are many possibilities for the arrangement of elements different from 0 that specifically satisfy the specified number of weights, each of these defines a different code.

そこで、以上のように与えられる符号は、ウェイト数分布とその条件の下での具体的 な 0と異なる要素の配置の方法によってその誤り率特性が決まる。  Therefore, the error rate characteristics of the codes given as described above are determined by the weight number distribution and the specific arrangement method of elements different from 0 under the conditions.

[0006] 一方で、符号器および復号器の回路規模、処理時間、処理量等の特徴について は基本的にウェイト数の分布のみにより影響される。 [0006] On the other hand, characteristics such as the circuit scale, processing time, and processing amount of the encoder and decoder are basically affected only by the distribution of the number of weights.

一般的な LDPC符号は、復号処理で用いる検査行列により定義され、その符号ィ匕 処理には検査行列から生成行列を求める力、三角化した検査行列を用いて逐次的 にパリティビットを求める方法をとり、何れにしても O (N2)の処理時間が必要になる。 A general LDPC code is defined by a parity check matrix used in the decoding process, and the sign key processing has a power to obtain a generator matrix from the parity check matrix, and a method of sequentially obtaining parity bits using a triangulated parity check matrix. In any case, O (N 2 ) processing time is required.

[0007] (C)タナーグラフ [0007] (C) Tanner graph

LDPC符号の復号処理は Sum-Product法(Sum-Product Algorithm)により定義の 検査行列を用いて行なう。この方法を理解するのに便利なグラフとしてタナーグラフ 力 く用いられる。タナーグラフは、例えば図 16に示すように、検査行列 Hの各列を 下段の〇印で示す各「変数ノード」 Xに対応させ、各行を上段の口印で示す各「チェ ックノード」 sに対応させて、検査行列 Hの i行 j列の成分が 0と異なる値のとき(h≠0) The LDPC code is decoded using the check matrix defined by the Sum-Product method (Sum-Product Algorithm). Tanner graph is used as a useful graph to understand this method. In the Tanner graph, for example, as shown in FIG. 16, each column of the check matrix H is associated with each “variable node” X indicated by a circle mark in the lower row, and each “check node” s indicated by a row mark in the upper row. Correspondingly, when the component of i row and j column of parity check matrix H is different from 0 (h ≠ 0)

、変数ノード Xとチェックノード Sとを線 (エッジ)で結ぶことで構成されるグラフである。 例えば、この図 16に示す検査行列 Hの第 1行を例にとると、第 1, 2, 3, 4列がそれぞ れ 0と異なる値 1であるから、検査行列 Hの第 1行に対応するチェックノード sと各列に , A graph constructed by connecting a variable node X and a check node S with a line (edge). For example, taking the first row of the parity check matrix H shown in Fig. 16 as an example, the first, second, third, and fourth columns are the same. Since this is a value 1 different from 0, check column s corresponding to the first row of parity check matrix H and each column

0 対応する変数ノード X , X , X , X  0 corresponding variable nodes X, X, X, X

0 1 2 3 )とがそれぞれ線で結ばれている。  0 1 2 3) are connected by a line.

[0008] 復号処理にぉ 、ては、変数ノード Xは、各符号ビットの状態(可能なビットの値に対 しての確率)を示し、チェックノード sは、それにエッジにより直接につながる変数ノー ドカ Sパリティ関係式で加算され結果が 0となることを意味して 、る。ノ リティチェック関 係式のうち 1つの変数に着目して、残りの変数をこの変数のビットを推定するための前 提条件とすることで、現在の各ビットに対しての確率力 着目している変数ノードが各 ビットの値を取る確率を推定できる。この操作をグラフ上では各変数ノードの現在の 状態力 エッジを通して信頼度情報が伝播するものと図式的に解釈することができる  In the decoding process, the variable node X indicates the state of each code bit (probability for possible bit values), and the check node s is a variable node directly connected to the edge by an edge. This means that the result is 0 when added by the S-parity relational expression. Focusing on one variable of the NORITY check relational expression and using the remaining variables as preconditions for estimating the bits of this variable, paying attention to the probabilities of each current bit The probability that each variable node takes the value of each bit can be estimated. This operation can be graphically interpreted on the graph as the reliability information propagates through the current state force edge of each variable node.

[0009] (D)IRA符号 [0009] (D) IRA code

IRA符号の符号器の一例を図 15に示す。この図 15に示すように、 IRA符号器では 、入力される K個の情報ビットのそれぞれについて、指定の繰り返し回数だけ繰り返 し符号器 101によって繰り返し符号ィ匕を行ない、 E個(Eは正の整数)のビット列を生 成する。なお、繰り返し回数の分布関数は fで与えられ、それぞれは一般に異なって いてもよい。即ち、繰り返し符号器 (可変回数ビット繰り返し部) 101は、例えば図 11 に示すように、分布関数 f (j = l, · ··, j )  An example of an IRA code encoder is shown in FIG. As shown in FIG. 15, in the IRA encoder, each of the K information bits input is repeated a specified number of repetitions, and the encoder 101 repeats the code, and E (E is positive). A bit string). The distribution function of the number of iterations is given by f, and each may be generally different. That is, the repetition encoder (variable number of times bit repetition unit) 101 has a distribution function f (j = l,..., J) as shown in FIG.

j maxを満たすように各ビット毎に指定される繰り 返し回数(=q , q , · ··, q )だけ入力情報ビット (u , u , · ··, u )のそれぞれをコピ  Copy each of the input information bits (u, u, ···, u) by the number of iterations (= q, q, ···, q) specified for each bit to satisfy j max.

0 1 K-1 0 1 K-1  0 1 K-1 0 1 K-1

一する指定回数コピー回路 1010と、この指定回数コピー回路 1010のパラレル出力 をシリアル変換して出力するパラレル Zシリアル (PZS)変換回路 1011とをそなえて 構成される。なお、 fと (q , q , · ··, q )の関係は、 K個の入力ビットのうち q回繰り返 j 0 1 K-1  The designated number of times copy circuit 1010 and a parallel Z-serial (PZS) conversion circuit 1011 for converting the parallel output of the designated number of times copy circuit 1010 into a serial signal and outputting it are configured. Note that the relationship between f and (q, q, ..., q) is repeated q times out of K input bits j 0 1 K-1

すビットの数の「割合」が fだけある、ということである。すなわち、(q , q , · ··, q )の q 0 1 K-1 うち、 N lnt (K-f )個の カ に等し 、値を与えられて 、ることを意味する。  This means that there is only a “ratio” of the number of bits. In other words, it means that, among q 0 1 K−1 of (q 1, q 2,..., Q 1), N lnt (K−f) pieces are equal to each other and given a value.

[0010] そして、このビット列をインターリーバ 102でインターリーブして順序の置換を行ない 得られたビット列を加算回路 103にて先頭から a個(aは正の整数)ごとに加算していく 。即ち、ラッチ 132で前回の加算器 131による加算結果を保持しつつ、その前回の加 算結果を現在の入力値に累積加算し、 a個ずつの加算タイミングに従ってスィッチ 13 3を閉(ON)状態に制御することにより、 M個の符号ビット列を出力する。 [0011] この加算結果を M回累積加算回路 104 (加算器 141及びラッチ 142)によりさらに M回累積加算して、それぞれのタイミングでの加算結果を M個の符号ビット (パリティ ビット)列として出力する。すなわち、 a個ごとの加算結果のビットベクトルを x= (X , X [0010] Then, this bit string is interleaved by the interleaver 102 and the order is replaced, and the obtained bit string is added every a number (a is a positive integer) from the top by the adding circuit 103. That is, while holding the addition result of the previous adder 131 in the latch 132, the previous addition result is cumulatively added to the current input value, and the switch 133 is closed (ON) according to the addition timing of each a. By controlling this, M code bit strings are output. [0011] The result of addition is further accumulated M times by M times of cumulative addition circuit 104 (adder 141 and latch 142), and the result of addition at each timing is output as a sequence of M code bits (parity bits). To do. That is, the bit vector of every addition result is expressed as x = (X, X

0 1 0 1

, ···, X )として、符号ビットベクトルを p= (p , p , ···, p )とすると、以下のような関 -1 0 1 -1 ,..., X) and the sign bit vector is p = (p, p,..., P)

係式 (1.4), (1.5)になる。  It will become a relational type (1.4), (1.5).

[0012] p =x ---(1.4) [0012] p = x --- (1.4)

0 0  0 0

p=p +x (i=l, ···, M-1) ---(1.5)  p = p + x (i = l, ..., M-1) --- (1.5)

1 i-1 i  1 i-1 i

図 17に、この符号に対応するタナーグラフを示す。これから M個の符号ビット (p , p  FIG. 17 shows a Tanner graph corresponding to this code. M sign bits (p, p

0 0

, ···, P )をパリティビットとして、 K個の情報ビット (u , u, ···, U )とシリアルに並, ..., P) as parity bits and serially in parallel with K information bits (u, u, ... U)

1 -1 0 1 K-1 1 -1 0 1 K-1

ベた N(=K+M)個のビット列を符号ビットとする組織符号ィ匕した IRA符号は、前記 イレギュラー LDPC符号の一種で、その定義の検査行列 Hがもともと三角化されてお り符号化処理時間が符号長 Nに比例する線形時間 O (N)で完了するように工夫され た符号であると解釈することもできる (例えば、後記の非特許文献 1参照)。  An IRA code that is a systematic code with N (= K + M) bit strings as code bits is a kind of the irregular LDPC code, and its check matrix H is originally triangulated. It can also be interpreted as a code devised so that the conversion processing time is completed in a linear time O (N) proportional to the code length N (for example, see Non-Patent Document 1 below).

[0013] すなわち、上記累積加算の式は各変数の値がビットであることを考慮すると (ビット の足し算と引き算結果は同じであるから)、下記 (1.6)式及び (1.7)式に示すように変形 できる。 [0013] In other words, considering that the value of each variable is bits (because the addition and subtraction results are the same), the above cumulative addition formula is as shown in the following formulas (1.6) and (1.7): Can be transformed into

p +x =0 ---(1.6)  p + x = 0 --- (1.6)

0 0  0 0

p+p +x=0 (i=l, ···, M-1) ---(1.7)  p + p + x = 0 (i = l, ..., M-1) --- (1.7)

1 i-1 i  1 i-1 i

これは、各 x;は入力情報ビット ^の a個の加算結果であることから、これを代入すると、 符号ビット c=(c , ···, c ) = (ιι, ···, u , p , ···, p )に対してのノ リティチェック This is because each x ; is the result of adding a number of input information bits ^, and when this is substituted, the sign bit c = (c, ···, c) = (ιι, ···, u, p,, ..., p)

0 N-1 0 K-1 0 -1  0 N-1 0 K-1 0 -1

関係式として解釈できる。  It can be interpreted as a relational expression.

[0014] 上記インターリーバは、符号の特性上、単純なブロックインターリーバのような単純 な構成のインターリーバを用いるのは適切ではなく、もともと近 、順番のビット同士を インターリーブ後にそれぞれなるべく遠くなるように配置することが望ましい。完全にラ ンダムなインターリーバでは、もともと近い順番のビット同士をインターリーブ後にも近 Vヽ位置に配置することも一様の確率で許すことになるので適して 、な 、。  [0014] Due to the characteristics of the code, it is not appropriate to use an interleaver with a simple configuration such as a simple block interleaver. The interleaver is originally designed to be as far away as possible after interleaving the bits in order. It is desirable to arrange in. A perfectly random interleaver is suitable because it allows a uniform probability to place bits in close order in the near V に position even after interleaving.

[0015] そこで、上記の条件を付けて、ランダムに生成できるインターリーバ(以下、「条件付 ランダムインターリーノ 」と呼ぶ)として S-Randomインターリーバやその拡張版である High Spread Randomインターリーバ(例えば、後記の非特許文献 2参照)が知られて いる。これに対して、擬似乱数を用いず構成的に (すなわち、数学的なアルゴリズム で)置換先の順番を特定できる方法として、 3GPP (Third Generation Partnership Project) W-CDMA移動通信システムで仕様化されて!/、るターボ符号の内部インター リーバとして採用されている Prime Interleaver(PIL)などがある(以下、「構成的ランダ ムインターリーバ」と呼ぶ。例えば、後記の非特許文献 3参照)。 [0015] Therefore, the S-Random interleaver and its extended version are interleavers that can be randomly generated with the above conditions (hereinafter referred to as "conditional random interleaves"). High Spread Random interleavers (for example, see Non-Patent Document 2 below) are known. In contrast, 3GPP (Third Generation Partnership Project) W-CDMA mobile communication system has been specified as a method that can identify the order of replacement destinations structurally (that is, with a mathematical algorithm) without using pseudorandom numbers. ! /, Prime Interleaver (PIL) adopted as an internal interleaver of the turbo code (hereinafter referred to as “structural random interleaver”. For example, see Non-Patent Document 3 below).

[0016] (E)IRA符号に関係する符号 [0016] (E) Code related to IRA code

(1)繰り返し数が固定 (f = 1, f =0 ;j≠q)で a= lのときは RA符号となる(例えば、  (1) When the number of repetitions is fixed (f = 1, f = 0; j ≠ q) and a = l, it becomes an RA code (for example,

Q j  Q j

後記の非特許文献 4参照)。この場合の RA符号器は、例えば図 14に示すように、 K 個の情報ビットのそれぞれを固定の繰り返し数 qずつコピー出力する q回ビット繰り返 し部 101aと、その出力をインターリーブするインターリーバ 102aと、その出力を M回 累積加算してノ^ティビットを出力する M回累積加算部 104 (加算器 141及びラッチ 142)とをそなえて構成される。  Non-patent document 4 described later). In this case, the RA encoder, for example, as shown in FIG. 14, copies each of K information bits by a fixed number of repetitions q, and repeats q times 101a, and an interleaver that interleaves the output. 102a and an M-time cumulative addition unit 104 (adder 141 and latch 142) that outputs the NOT bit by accumulating the output M times.

[0017] (2)IRA符号に対して、インターリーブ後の加算処理において加算ブロック毎にその サイズを変えることができる。これを本明細書では「拡張 IRA (Extended IRA)符号」と 呼ぶ (例えば、後記の非特許文献 5参照)。 (2) The size of the IRA code can be changed for each addition block in the addition processing after interleaving. This is referred to herein as an “Extended IRA code” (see, for example, Non-Patent Document 5 below).

(3)この拡張 IRA符号において、繰り返し数を固定するときは特に「拡張 RA符号」と 呼ぶ。  (3) In this extended IRA code, when the number of repetitions is fixed, it is called an “extended RA code”.

[0018] (4)累積加算処理を一般化して符号化率 = 1のフィードバックがある畳み込み符号 器を用いることもできる。このような符号を本明細書では「一般ィ匕 IRA符号」と呼ぶ。 累積加算以外のフィードバックのある畳み込み符号器の例を図 13に示す。この図 13 に示す畳み込み符号器 104aは、 4つのカロ算器 141, 143, 145, 147と 3つのラッチ 142, 144, 146とをそなえて構成され、人力ビットべクトノレを χ= (χ , χ , · ··, x )と  [0018] (4) A convolutional encoder with feedback with a coding rate of 1 can be used by generalizing the cumulative addition process. Such a code is referred to herein as a “general IRA code”. An example of a convolutional encoder with feedback other than cumulative addition is shown in FIG. The convolutional encoder 104a shown in FIG. 13 is composed of four Karo arithmetic units 141, 143, 145, 147 and three latches 142, 144, 146, and the human bit vector is expressed as χ = (χ, χ , ..., x) and

0 1 M-l して、出力ビットをパリティビット p= (p , p , · ··, p )とすると、下記 (1.8)式に示すよう  0 1 M-l and the output bit is parity bit p = (p, p, ..., p), the following equation (1.8)

0 1 -1  0 1 -1

な関係式を満足する。  Satisfying this relational expression.

[0019] X +x +x +p +p +p =0 - --(1.8) [0019] X + x + x + p + p + p = 0--(1.8)

i-3 i-1 i i-3 i-2 i  i-3 i-1 i i-3 i-2 i

ただし、 i=0, 1, · ··, M—lで、x =p =0, i< 0である。  However, i = 0, 1,..., M−l, and x = p = 0, i <0.

(5)上記符号を総称するとき本明細書では「一般ィ匕拡張 IRA符号」と呼ぶ。最も一般 的な場合は、図 10に示す構成である。即ち、異なる 2つ以上の繰り返し数 q;をもつ可 変回数ビット繰り返し部 101 (内部構成は例えば図 11参照)と、異なる 2つ以上の加 算サイズ aをもつ可変数加算部 103a (内部構成は例えば図 12参照)とを用いるととも に、加算ブロック数 MOは Mと異なり、符号化率が 1と異なる(RO = MOZM)フィード ノ ック付きの畳み込み符号器 104a (内部構成は例えば図 13参照)を用いる場合で ある。なお、図 12に示す可変数加算部 103aは、異なる加算ブロックサイズ (a , a , (5) The above codes are collectively referred to as “general extended IRA codes” in this specification. Most common A typical case is shown in FIG. That is, a variable number of times bit repetition unit 101 having two or more different repetition numbers q ; (for example, see FIG. 11) and a variable number addition unit 103a having two or more different addition sizes a (internal configuration) 12) and the number of blocks to be added MO is different from M and the coding rate is different from 1 (RO = MOZM). Convolutional encoder 104a with feed knock (internal configuration is 13) is used. Note that the variable number adding unit 103a shown in FIG. 12 has different addition block sizes (a, a,

0 1 0 1

· · ·, a )の加算タイミング毎に、 0クリア回路 135によりラッチ 132に保持されているビ -1 At each addition timing of a), the bit -1 held in the latch 132 by the 0 clear circuit 135

ット値を 0にクリアするとともに、スィッチ 133をスィッチ開閉回路 134によって ON状態 に制御することによって、可変の加算ブロックサイズ毎の加算処理を実現して 、る。  The switch value is cleared to 0, and the switch 133 is controlled to be in the ON state by the switch opening / closing circuit 134, thereby realizing addition processing for each variable addition block size.

[0020] し力しながら、上述したような従来の符号ィ匕方式、特に、 LDPC符号の一種である I RA符号の符号ィ匕方式では、次のような課題がある。 However, the conventional code key scheme as described above, particularly the code key scheme of an IRA code which is a kind of LDPC code, has the following problems.

(a)IRA符号で用いるインターリーバのサイズは E = Maで、 aは高々 1桁の値を取る のが一般的だ力 Sパリティビット数 Mは典型的に数千力 数万の大きい値となり、サイ ズ Eは大きな値になる。大きなサイズの条件付ランダムインターリーバでは生成に E2 に比例した O (E2)の処理時間がかかり、構成的ランダムインターリーバでも O (E)の 処理時間がかかる。 (a) The size of the interleaver used in the IRA code is E = Ma, and a is generally a single digit value. The number of S parity bits M is typically a large value of tens of thousands and tens of thousands. Size E is a large value. A large-size conditional random interleaver takes O (E 2 ) processing time proportional to E 2 to generate, and a constructive random interleaver takes O (E) processing time.

[0021] (b)これを避けるために、予め生成したマッピングテーブル (インターリーブパターン テーブル)を用意する場合には、 Eに比例した O (E)のサイズのメモリを必要とするが 、移動通信システムのように、複数のフォーマットの符号を適応的に用いる場合には それぞれのマッピングテーブルが必要となるためそれだけメモリ量も大きくなつてしま 本発明は、このような課題に鑑み創案されたもので、特性を劣化させずにインターリ ーブパターン生成の複雑さを軽減でき、処理量または処理時間を小さくできるように した、符号化装置を提供することを目的とする。  (B) In order to avoid this, when preparing a mapping table (interleave pattern table) generated in advance, a memory having a size of O (E) proportional to E is required. Thus, when a plurality of formats of codes are used adaptively, each mapping table is required, so the amount of memory is increased accordingly.The present invention was devised in view of such a problem, It is an object of the present invention to provide an encoding apparatus that can reduce the complexity of generating an interleave pattern without degrading the characteristics and reduce the processing amount or processing time.

非特干文献 1 : H. Jin, A. Khandeker, and R.McEliece, 'irregular repeat-accumulate codes, in Proc. 2nd. Int. Symp. Turbo Codes and Related Topics, Brest France, pp. 1-8, Sept. 2000.  Non-Patent Literature 1: H. Jin, A. Khandeker, and R. McEliece, 'irregular repeat-accumulate codes, in Proc. 2nd. Int. Symp. Turbo Codes and Related Topics, Brest France, pp. 1-8, Sept . 2000.

非特許文献 2 : H. Crozier, "New High-Spread High-Distance Interleavers for Turbo-Codes", Proceedings of the 20th Biennial Symposium on Communications, Queen's University, Kingston, Ontario, Canada, pp. 3-7, May 28-31, 2000. Non-Patent Document 2: H. Crozier, "New High-Spread High-Distance Interleavers for Turbo-Codes ", Proceedings of the 20th Biennial Symposium on Communications, Queen's University, Kingston, Ontario, Canada, pp. 3-7, May 28-31, 2000.

非特許文献 3 : Third Generation Partnership Project (3GPP), "Multiplexing and Channel Coding (Frequency Division Duplex Mode)", Technical Specification 25.212, V5.9.0(2004-06).  Non-Patent Document 3: Third Generation Partnership Project (3GPP), "Multiplexing and Channel Coding (Frequency Division Duplex Mode)", Technical Specification 25.212, V5.9.0 (2004-06).

非特許文献 4 : D. Divsalar, H.Jin, and R. J. McEliece, "Coding theorems for ' turbo- like' codes, pp. 201-210 in Proc. 36th Allerton Conf. on Communication, Control, and Computing.(Allerton, Illinois, Sept. 1998).  Non-Patent Document 4: D. Divsalar, H.Jin, and RJ McEliece, "Coding theorems for 'turbo-like' codes, pp. 201-210 in Proc. 36th Allerton Conf. On Communication, Control, and Computing. (Allerton , Illinois, Sept. 1998).

非特許文献 5 : M. Yang, W. E. Ryan, and Y. Li, "Design of Efficiently Encodable Moderate-Length High-Rate Irregular LDPC Codes," IEEE Trans, on Commun. vol. 52 no. 4, pp.564 - 571. Apr. 2004.  Non-Patent Document 5: M. Yang, WE Ryan, and Y. Li, "Design of Efficiently Encodable Moderate-Length High-Rate Irregular LDPC Codes," IEEE Trans, on Commun. Vol. 52 no. 4, pp.564- 571. Apr. 2004.

発明の開示  Disclosure of the invention

[0022] 上記の目的を達成するために、本発明の符号ィ匕装置は、  [0022] In order to achieve the above object, the encoding device of the present invention includes:

(1)K個の情報要素からインターリーブ処理を用いて M個のノ^ティ符号を生成し、 該情報要素と該パリティ符号とでサイズ Ν=Κ+Μの符号を生成する装置であって、 前記 Κ個の情報要素のそれぞれについて指定の繰り返し回数だけ繰り返し符号ィ匕を 行なう繰り返し符号化部と、該繰り返し符号化部による繰り返し符号化結果を複数の 部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブ するインターリーブ処理部と、上記部分インターリーブ後の異なる前記部分インターリ ーブブロックからそれぞれ部分インターリーブ結果を指定サイズの加算ブロック分ず つ選択して加算する加算部と、該加算部による加算結果について畳み込み符号ィ匕 を施して Μ個の前記パリティ符号を出力する畳み込み符号化部とをそなえたことを特 徴としている。  (1) An apparatus for generating M null codes from K information elements using interleaving, and generating a code of size Ν = Κ + Μ using the information elements and the parity code, A repetitive coding unit that performs repetitive coding for a specified number of repetitions for each of the information elements, and a repetitive coding result obtained by the repetitive coding unit with partial interleaving in a different interleave pattern for each of a plurality of partial interleave blocks An interleaving processing unit, an adding unit that selects and adds partial interleaved results from the different partial interleaved blocks after the partial interleaving for each addition block of a specified size, and a convolutional code sign for the addition result by the adding unit. And a convolutional coder that outputs the number of parity codes. It is a feature that was withered.

[0023] (2)ここで、前記繰り返し符号ィ匕結果を Ε個、該加算部での i番目の前記加算ブロッ クの前記指定サイズを a (i = 0, · ··, M— 1)、前記加算ブロックの最大サイズを a 、前  [0023] (2) Here, the number of the result of the repetition code 匕 is obtained, and the designated size of the i-th addition block in the addition unit is a (i = 0, ···, M-1) , The maximum size of the addition block is a

1 max 記パリティ符号数 M以下の正の整数を M (1=0, · ··, a —1)としたときに、該インタリ  1 max number of parity codes When a positive integer less than or equal to M is M (1 = 0, ..., a-1),

1 max  1 max

ーブ処理部は、下記 (4.1)式を満足する各サイズ a の前記部分インターリーブブロッ max  The servo processing unit has the partial interleave block max of each size a satisfying the following formula (4.1):

ク毎に前記部分インターリーブを施すべく構成されるとともに、該加算部は、前記各 加算ブロックの上記指定サイズ &i分だけ、それぞれ、前記部分インターリーブ後の前 記各部分インターリーブブロックの先頭から 1つずつ前記部分インターリーブ結果を 選択して加算すべく構成してもよ!/ヽ。 Each partial interleave is configured to perform the partial interleaving. It may be configured to select and add the partial interleaving results one by one from the beginning of each partial interleave block after the partial interleaving by the specified size & i of the addition block!

[0024] [数 1]  [0024] [Equation 1]

1  1

E = J M,. - - -(4.1)  E = J M, .---(4.1)

[0025] (3)また、該インターリーブ処理部は、前記各部分インターリーブブロックに共通で あって、前記各部分インターリーブブロックに対して逐次的に前記部分インターリー ブを施す共通部分インターリーバをそなえ、該加算部は、該共通部分インターリーバ による逐次的な部分インターリーブの結果を逐次的に加算すべく構成してもよい。 (3) Further, the interleaving processing unit is common to the partial interleave blocks, and includes a common partial interleaver that sequentially performs the partial interleaving on the partial interleave blocks. The adding unit may be configured to sequentially add the results of sequential partial interleaving by the common partial interleaver.

(4)さらに、前記指定サイズ aは一定でもよ 、。  (4) Furthermore, the specified size a may be constant.

[0026] (5)また、前記繰り返し符号化結果が、第 1及び第 2の部分インターリーブブロック に mO個及び ml個に分かれて属する場合に、前記第 1の部分インターリーブブロック につ 、ての前記部分インターリーブにより上記 mO個の繰り返し符号ィ匕結果にっ 、て 定まる位置を避けて、上記 ml個の繰り返し符号化結果の前記第 2の部分インターリ ーブブロック内での相対的な位置を定めておき、該インターリーブ処理部力 前記第 [0026] (5) In addition, when the repetitive coding result belongs to the first and second partial interleave blocks in mO and ml pieces, the above-mentioned first partial interleave block By avoiding the position determined by the mO repetition code result by partial interleaving, the relative position in the second partial interleave block of the ml repetition encoding result is determined, and The interleave processing force

2のインターリーブブロックの上記 ml個を除く残りの繰り返し符号ィ匕結果について前 記部分インターリーブを施すように構成されて 、てもよ 、。 The above-mentioned partial interleaving block except the above ml pieces may be configured to be subjected to the partial interleaving for the remaining repetition code results.

[0027] (6)さらに、該繰り返し符号化部は、前記 K個の情報要素のそれぞれについての前 記繰り返し回数分の繰り返し符号がそれぞれ異なる前記部分インターリーブブロック に属するように前記繰り返し符号ィヒ結果を該インターリーブ処理部へ出力すべく構 成されていてもよい。 [0027] (6) Further, the iterative coding unit may perform the iterative code result so that the repetition codes for the number of repetitions for each of the K information elements belong to different partial interleave blocks. May be configured to be output to the interleave processing unit.

(7)この場合、前記繰り返し符号ィ匕結果を E個、該繰り返し符号ィ匕部での前記繰り 返し回数を q (i=0, · ··, K-l)、その最大値を q としたときに、該繰り返し符号化部  (7) In this case, when E is the number of repetition code keys, the number of repetitions in the repetition code field is q (i = 0, ..., Kl), and the maximum value is q And the repetitive encoding unit

1 max  1 max

は、前記繰り返し符号がそれぞれ異なる前記部分インターリーブブロックに分配され るよう前記繰り返し符号ィ匕結果を q 個のブロックであってそれぞれのブロックサイズ  Indicates that the repetition code is divided into q blocks and each block size is distributed so that the repetition code is distributed to the different partially interleaved blocks.

max  max

が下記の (4.2)式を満足する K以下の正の整数 K (i=0, · ··, q 1)であるブロック  Is a positive integer K less than or equal to K (i = 0, ···, q 1) that satisfies the following equation (4.2)

1 max  1 max

単位で該インターリーブ処理部へ出力すべく構成されるとともに、該インターリーブ処 理部は、上記各ブロックにつ 、てサイズ κ;の部分インターリーブを施すべく構成して ちょい。 Configured to output to the interleave processing unit in units, and the interleave processing The management unit should be configured to perform partial interleaving of size κ ; for each of the above blocks.

[0028] [数 2]  [0028] [Equation 2]

E = ^ K, - (4.2) E = ^ K,-(4.2)

[0029] (8)また、前記 qは一定でもよ!/、。 [0029] (8) The q may be constant! /.

(9)さらに、前記加算ブロックに含まれる前記繰り返し符号ィ匕結果が、第 1及び第 2 の部分インターリーブブロックにそれぞれ kO個及び kl個に分かれて属する場合に、 前記 kO個の繰り返し符号ィ匕結果について前記部分インターリーブにより定まる位置 を避けて、上記 kl個の繰り返し符号化結果が属する前記第 2の部分インターリーブ ブロック内での相対的な位置を定めておき、該インターリーブ処理部力 前記第 2の インターリーブブロックの上記 kl個を除く残りの繰り返し符号ィ匕結果について前記部 分インターリーブを施すように構成されて 、てもよ 、。  (9) Furthermore, when the result of the repetition code included in the addition block belongs to the first and second partial interleave blocks in kO and kl, respectively, the kO repetition code Avoiding the position determined by the partial interleaving for the result, the relative position in the second partial interleave block to which the kl repetitive coding results belong is determined, and the interleaving processing power It is also possible to perform the partial interleaving on the result of the remaining repetitive codes excluding the above-mentioned kl interleave blocks.

[0030] (10)また、該インターリーブ処理部は、前記部分インターリーブブロックに属する前 記繰り返し符号化結果を所定の書き込み順序で保持するメモリと、前記インターリー ブパターンに従って該書き込み順序とは異なる読み出し順序で前記繰り返し符号ィ匕 結果を読み出すことにより前記部分インターリーブを施す読み出し制御部と、該メモリ に保持される異なる部分インターリーブブロック毎に異なるインターリーブパターンを 生成して該読み出し制御部へ与えるインターリーブパターン制御部とをそなえていて ちょい。  [0030] (10) In addition, the interleave processing unit includes a memory that holds the repetitive encoding result belonging to the partial interleave block in a predetermined write order, and a read order different from the write order according to the interleave pattern. A read control unit that performs the partial interleaving by reading the result of the repetitive code, and an interleave pattern control unit that generates a different interleave pattern for each of the different partial interleave blocks held in the memory and supplies the interleave pattern to the read control unit Please prepare.

[0031] (11)さらに、該インターリーブパターン制御部は、上記異なるインターリーブパター ンを該読み出し制御部で他の異なる部分インターリーブブロックについて使用したィ ンターリーブパターンに対して所定の置換処理を行なって生成するインターリーブパ ターン置換生成部をそなえて 、てもよ 、。  [0031] (11) Further, the interleave pattern control unit generates the different interleave pattern by performing a predetermined replacement process on the interleave pattern used by the read control unit for another different partial interleave block. It is possible to have an interleave pattern replacement generation unit.

(12)また、本発明の符号ィ匕方法は、 K個の情報要素からインターリーブ処理を用 いて M個のパリティ符号を生成し、該情報要素と該パリティ符号とでサイズ N=K+ Mの符号を生成する方法であって、前記 K個の情報要素のそれぞれにつ 、て指定 の繰り返し回数だけ繰り返し符号ィヒを行なう繰り返し符号ィヒ過程と、その繰り返し符 号ィ匕結果を複数の部分インターリーブブロック毎に異なるインターリーブパターンで 部分インターリーブする部分インターリーブ過程と、その結果について、異なる前記 部分インターリーブブロックからそれぞれ部分インターリーブ結果を指定サイズの加 算ブロック分ずつ選択して加算する加算過程と、その加算結果にっ 、て畳み込み符 号化を施して M個の前記パリティ符号を出力する畳み込み符号化過程とを有するこ とを特徴としている。 (12) Further, according to the code method of the present invention, M parity codes are generated from K information elements by using an interleaving process, and a code of size N = K + M is generated by the information elements and the parity codes. For each of the K information elements, a repetitive coding process for performing a repetitive coding process for a specified number of repetitions, and the repetition code. The partial interleaving process in which the interleaved result is partially interleaved with a different interleaving pattern for each of the plurality of partial interleaved blocks, and the partial interleaved result is selected from the different partial interleaved blocks for each additional block of the specified size. It is characterized by having an addition process of adding, and a convolutional encoding process of outputting M parity codes by performing convolutional coding according to the addition result.

[0032] (13)ここで、上記部分インターリーブ過程において、前記各部分インターリーブブ ロックに対して逐次的に前記部分インターリーブを施し、上記加算過程において、上 記逐次的な部分インターリーブの結果を逐次的に加算してもよい。  [0032] (13) Here, in the partial interleaving process, the partial interleaving is sequentially performed on the partial interleaving blocks, and the sequential partial interleaving result is sequentially performed in the adding process. May be added.

上記本発明によれば、以下の効果な 、し利点が得られる。  According to the present invention, the following effects and advantages can be obtained.

(a)IRA符号や RA符号をはじめとするランダムなインターリーブ処理を用いる符号 化法により定義される符号において、インターリーバを分割処理することで、特性を劣 化させずにインターリーブパターン生成の複雑さを軽減でき、処理量または処理時間 を分割数に従って小さくすることができる。  (a) Complexity of interleave pattern generation without degrading characteristics by dividing the interleaver in codes defined by coding methods using random interleave processing such as IRA codes and RA codes The processing amount or processing time can be reduced according to the number of divisions.

[0033] (b)lつの部分インターリーバを複数の部分インターリーブブロックに対して逐次的に 適用して、各段階でビット加算を同時に実行する構成とすれば、インターリーブ結果 の読み出しインデックスを保持するメモリを各部分インターリーブブロックで共有する ことができ、大きなサイズ (E個)のビットに対して一度にインターリーブを適用する場 合に比して、メモリサイズを大幅に削減することができる。 [0033] (b) A memory that holds a read index of an interleaved result by sequentially applying l partial interleavers to a plurality of partial interleaved blocks and simultaneously performing bit addition at each stage. Can be shared by each partially interleaved block, and the memory size can be greatly reduced compared to when interleaving is applied to large (E) bits at once.

図面の簡単な説明  Brief Description of Drawings

[0034] [図 1]本発明の第 1実施形態としての IRA符号器 (符号ィ匕装置)の要部構成を示すブ ロック図である。  FIG. 1 is a block diagram showing a main configuration of an IRA encoder (encoder device) as a first embodiment of the present invention.

[図 2]図 1に示すインターリーブ処理部及び加算部の構成例を示すブロック図である  2 is a block diagram showing a configuration example of an interleave processing unit and an adding unit shown in FIG.

[図 3]図 1に示す IRA符号器でのタナーグラフである。 FIG. 3 is a Tanner graph in the IRA encoder shown in FIG.

[図 4]第 1実施形態の変形例に係る IRA符号器のタナーグラフである。  FIG. 4 is a Tanner graph of an IRA encoder according to a modification of the first embodiment.

[図 5]本発明の第 2実施形態としての RA符号器 (符号ィ匕装置)の要部構成を示すブ ロック図である。 [図 6]図 5に示すインターリーブ処理部及び加算部の構成例を示すブロック図である FIG. 5 is a block diagram showing a main configuration of an RA encoder (encoder device) as a second embodiment of the present invention. 6 is a block diagram showing a configuration example of an interleave processing unit and an addition unit shown in FIG.

[図 7]図 5に示す RA符号器でのタナーグラフである。 FIG. 7 is a Tanner graph in the RA encoder shown in FIG.

[図 8]第 2実施形態の変形例に係る RA符号器でのタナーグラフである。  FIG. 8 is a Tanner graph in an RA encoder according to a modification of the second embodiment.

[図 9]第 1実施形態におけるインターリーブパターン生成処理を説明すべくインターリ ーブパターン制御部の構成例を示すブロック図である。  FIG. 9 is a block diagram showing a configuration example of an interleave pattern control unit for explaining the interleave pattern generation processing in the first embodiment.

[図 10]従来の一般ィ匕拡張 IRA符号器の構成例を示すブロック図である。  FIG. 10 is a block diagram showing a configuration example of a conventional general-purpose extended IRA encoder.

[図 11]図 10及び図 15に示す繰り返し符号器 (可変回数ビット繰り返し部)の内部構 成例を示すブロック図である。  FIG. 11 is a block diagram showing an example of the internal configuration of the repetition encoder (variable number of times bit repetition unit) shown in FIGS. 10 and 15.

[図 12]図 10に示す可変数加算部の内部構成例を示すブロック図である。  12 is a block diagram illustrating an internal configuration example of a variable number adding unit illustrated in FIG.

[図 13]図 10に示すフィードバック付きの畳み込み符号器の内部構成例を示すブロッ ク図である。  FIG. 13 is a block diagram showing an example of the internal configuration of the convolutional encoder with feedback shown in FIG.

[図 14]従来の RA符号器の構成例を示すブロック図である。  FIG. 14 is a block diagram showing a configuration example of a conventional RA encoder.

[図 15]従来の IRA符号器の構成例を示すブロック図である。  FIG. 15 is a block diagram showing a configuration example of a conventional IRA encoder.

[図 16]タナーグラフを説明するための図である。  FIG. 16 is a diagram for explaining a Tanner graph.

[図 17]IRA符号のタナーグラフである。  FIG. 17 is a Tanner graph of an IRA code.

発明を実施するための最良の形態  BEST MODE FOR CARRYING OUT THE INVENTION

[0035] 以下、図面を参照して本発明の実施の形態を説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.

〔A〕第 1実施形態の説明  [A] Description of the first embodiment

図 1は本発明の第 1実施形態としての IRA符号器 (符号ィ匕装置)の要部構成を示す ブロック図で、この図 1に示す IRA符号器 1は、 K個(Kは正の整数)の情報ビットから M個(Mは正の整数)のパリティビットを生成し、 K個の情報ビットと合わせてサイズ N ( =K + M)の符号ビットを生成するものであって、繰り返し符号器 (可変回数ビット繰り 返し部) 2,シリアル Zパラレル (SZP)変換部 3, a個(aは正の整数)の部分インター リーバ(第 0—第 a— 1インターリーノ ) 4 0— 4 (a— 1)を有するインターリーブ処理部 4,パラレル Zシリアル変換部 5,加算部 (a回加算部) 6及び M回累積加算部 7をそな えて構成されている。  FIG. 1 is a block diagram showing the main configuration of an IRA encoder (encoder) as a first embodiment of the present invention. The IRA encoder 1 shown in FIG. 1 has K pieces (K is a positive integer). ) M bits (M is a positive integer) from the information bits, and the code bits of size N (= K + M) are generated together with the K information bits. (Variable number of times bit repeater) 2, serial Z parallel (SZP) converter 3, a (a is a positive integer) partial interleaver (0th to a-1 interlino) 4 0— 4 ( It has an interleave processing unit 4, a parallel Z-serial conversion unit 5, an addition unit (a-time addition unit) 6 and an M-time cumulative addition unit 7 having a-1).

[0036] ここで、可変回数ビット繰り返し部 2は、 K個の入力情報ビット (情報要素)のそれぞ れにつ 、て指定の繰り返し回数 (可変)分の繰り返し符号 (ビット)を生成してその結 果として E個(Eは正の整数)の繰り返し符号を出力するもので、例えば、 j個 (jは正の 整数)の繰り返しビットを生成するビットの数 N (j = l, · ··, j )は、分布関数(回数分 [0036] Here, the variable number of times bit repetition unit 2 performs each of K input information bits (information elements). At this time, it generates a repetition code (bit) for the specified number of repetitions (variable) and outputs E repetition codes (E is a positive integer) as a result. For example, j ( The number of bits N (j = l, ···, j) that generate repeated bits of j is a positive integer) is a distribution function (number of times

j max  j max

布ともいう) f (j = l, · ··, j )力ら N =Int (K'f )により与えられる。ただし、下記の (2.1)  (Also called cloth) f (j = l, ···, j) force is given by N = Int (K'f). However, the following (2.1)

j max j j  j max j j

及び (2.2)式を満たすように各 を調整する。  And adjust each to satisfy Eq. (2.2).

[0037] [数 3] N ; = K - - (2.1) [0037] [Equation 3] N ; = K--(2.1)

[0038] [数 4] [0038] [Equation 4]

^; N . = Ε = Μα -(2.2) ^; N. = Ε = Μα-(2.2)

[0039] このとき、可変回数ビット繰り返し部 2は、 Νが 0と異なる jの組み合わせを昇順に並べ たものを (j , · ··, j )として、最初の Ν (c=j )個のビット 回繰り返し、次の Ν (t=j [0039] At this time, the variable number of times bit repetition unit 2 uses (j, ···, j) as a combination of j combinations in which Ν is different from 0 in ascending order, and the first Ν (c = j) Repeat bit times, the next Ν (t = j

0 F-l c 0 0 t 1 0 F-l c 0 0 t 1

)個 =j ) Pieces = j

1個繰り返し、以降、 j  Repeat one, and then j

F - 1 maxまで続ける。このようにして得られたビットをシリア ルに並べることで繰り返し符号の出力ビットとする。なお、この機能は、例えば図 1に より前述したごとぐ入力された情報ビットのそれぞれを上記分布関数 fにより指定さ れた繰り返し数だけコピーしてパラレル出力する指定回数コピー回路と、このパラレ ル出力をシリアルイ匕する PZS変換回路とを用いて実現することができる。  Continue to F-1 max. The bits obtained in this way are arranged serially to be output bits of the repetition code. This function includes, for example, a specified number of times copy circuit that copies each information bit input as described above with reference to FIG. 1 by the number of repetitions specified by the distribution function f and outputs it in parallel. This can be realized by using a PZS conversion circuit that serializes the output.

[0040] SZP変換部 3は、上記可変回数ビット繰り返し部 2により得られたシリアル出力(E 個の繰り返し符号)をパラレル変換して M個ずつ a個のブロック (部分インターリーブ ブロック)に分けて出力するものである。 [0040] The SZP conversion unit 3 performs parallel conversion on the serial output (E repetition codes) obtained by the variable number of times bit repetition unit 2 and outputs it in units of M blocks (partially interleaved blocks). To do.

インターリーブ処理部 4は、上記繰り返し符号ィヒ結果を a個の部分インターリーブブ ロック毎に異なるインターリーブパターンで部分インターリーブするもので、このため に、各部分インターリーバ 4 i (i=0, · ··, a— 1)によって、それぞれ、上記 SZP変換 部 3から入力される部分インターリーブブロックの M個の繰り返し符号を互いに異なる インターリーブパターン (置換パターン)に従ってインターリーブするようになって!/、る 。各部分インターリーノ — iには、例えば、既述の S-Randomインターリーバやその拡 張版である High Spread Randomインターリーバ等の条件付ランダムインターリーバを 適用する。もっとも、既述の PIL等の構成的ランダムインターリーバを適用することも 可能である。なお、部分インターリーバ 4 i毎に異なるインターリーブパターンは、例 えば擬似乱数関数のシードを変更することで得ることができ、詳細については後述す る。 The interleave processing unit 4 performs partial interleaving on the result of the above repetitive coding with a different interleaving pattern for each of the a partial interleaving blocks. For this purpose, each partial interleaver 4 i (i = 0, ... , a-1), the M repeated codes of the partial interleave block input from the SZP conversion unit 3 are interleaved according to different interleave patterns (replacement patterns). For each partial interleaver — i, for example, a conditional random interleaver such as the S-Random interleaver described above or its extended version, the High Spread Random interleaver, is used. Apply. However, it is also possible to apply a structured random interleaver such as PIL described above. Note that an interleave pattern that differs for each partial interleaver 4 i can be obtained, for example, by changing the seed of the pseudo-random function, details of which will be described later.

[0041] PZS変換部 5は、上記各部分インターリーバ 4 iの出力をシリアルに変換して E個 のビット (インターリーブ結果)を出力するものであり、 a回加算部 6は、この出力結果を a個ずつ加算、即ち、各部分インターリーバ 4 iによる各部分インターリーブブロック に対する部分インターリーブ結果の先頭力 順に a個ずつ加算するものである。より 詳細には、 i番目の部分インターリーバ 4 iの j番目の読み出しインデックス (元のビット の位置)を rとすると、 r , r , · ··, r , r , r '…という川頁にシリアノレに a個ずつカロ  [0041] The PZS converter 5 converts the output of each partial interleaver 4 i into serial data and outputs E bits (interleave result). The a-time adder 6 outputs the output result. A is added, that is, a is added in order of the leading force of the partial interleave result for each partial interleave block by each partial interleaver 4 i. More specifically, if the j-th read index (original bit position) of the i-th partial interleaver 4 i is r, the river page r, r,..., R, r, r '… Cara one by one in Silanole

i,j 0,0 1,0 a- 1,0 0,1 1,1  i, j 0,0 1,0 a- 1,0 0,1 1,1

算し M個のビットを生成するようになって!/、る。  Arithmetic generates M bits! /

[0042] このため、 a回加算部 6は、加算器 61,ラッチ 62及びスィッチ 63をそなえて構成さ れ、ラッチ 62に保持された前回の加算器 61による加算結果を今回の入力に加算器 61で加算することにより累積加算を行ない、 a回加算完了時点でスィッチ 63を ON状 態とすることにより、 a回加算結果を出力するようになっている。ただし、この a回加算 処理を行なうのに、本実施形態では、 E個の読み出しインデックスを一時保存するこ とを避けるため、 a個の部分インターリーバ 4 iを 1つずつ逐次(時分割に)実行するこ とで、 M個の読み出しインデックスを一時保存するメモリを共有して使用する。  [0042] For this reason, the a-time adder 6 includes an adder 61, a latch 62, and a switch 63, and the addition result obtained by the previous adder 61 held in the latch 62 is added to the current input. Cumulative addition is performed by adding at 61, and when the addition is completed a times, the switch 63 is turned on to output the addition result a times. However, to perform this addition process a times, in this embodiment, in order to avoid temporarily storing E read indexes, a partial interleavers 4 i are sequentially added one by one (in time division). When executed, the memory for temporarily storing M read indexes is shared and used.

[0043] 即ち、例えば図 2に示すように、部分インターリーバ 4 iは、書き込みスィッチ 40,繰 り返し符号一時保存メモリ 41,読み出し相対位置メモリ 42,インターリーブパターン 生成部 43及びタイミングカウンタ 44をそなえて構成し、 a回加算部 6は、 M組の加算 器 61,ラッチ 62及びスィッチ 63をパラレルにそなえるとともに、 P/S変換部 64をそ なえて構成する。  That is, for example, as shown in FIG. 2, the partial interleaver 4 i includes a write switch 40, a repeated code temporary storage memory 41, a read relative position memory 42, an interleave pattern generation unit 43, and a timing counter 44. The a-time addition unit 6 includes M sets of adders 61, latches 62, and switches 63 in parallel, and also includes a P / S conversion unit 64.

[0044] ここで、書き込みスィッチ 40は、繰り返し符号一時保存メモリ 41への繰り返し符号の 書き込みを ONZOFFするものであり、繰り返し符号一時保存メモリ 41は、この書き 込みスィッチ 40が ON状態となることにより入力される M個の繰り返し符号 (つまり、 1 つの部分インターリーブブロックに属する繰り返し符号)を保持するものであり、読み 出し相対位置メモリ(読み出し制御部) 42は、インターリーブパターン生成部 43から 与えれるインターリーブパターンに従って上記繰り返し符号一時保存メモリ 41から読 み出すべき繰り返し符号のアドレス (読み出しインデックス)を M個分順次指定するこ とにより、当該メモリ 41への書き込み順序とは異なる順序で繰り返し符号を読み出し て M個の繰り返し符号に対する部分インターリーブを実行するものである。 Here, the write switch 40 is used to turn ON / OFF the writing of the repeated code to the repeated code temporary storage memory 41. The repeated code temporary storage memory 41 is turned on by the write switch 40 being turned ON. It holds M repetition codes (that is, repetition codes belonging to one partial interleave block), and the read relative position memory (read control unit) 42 is supplied from the interleave pattern generation unit 43. According to the given interleave pattern, the repetition code addresses (read indexes) to be read from the repetition code temporary storage memory 41 are sequentially specified for M times, so that the repetition codes are written in an order different from the order of writing to the memory 41. Is read and partial interleaving is performed on M repetition codes.

[0045] インターリーブパターン生成部 43は、タイミングカウンタ 44から与えられる更新タイミ ング毎に異なるインターリーブパターンを読み出し相対位置メモリ 42に与えて上記読 み出し順序を変更するものであり、タイミングカウンタ 44は、繰り返し符号一時保存メ モリ 41への書き込み(更新)タイミングと、インターリーブパターン生成部 43での異な るインターリーブパターンの更新タイミングとを a回分それぞれ出力するもので、これ により、上記読み出し後に次の部分インターリーブブロックに属する M個の繰り返し 符号が繰り返し符号一時保存メモリ 41に書き込まれるとともに、当該部分インターリ ーブブロックのための異なるインターリーブパターンが読み出し相対位置メモリ 42に 与えられ、以降、同様にすベての部分インターリーブブロックについての部分インタ 一リーブが完了するまで、順次、繰り返し符号一時保存メモリ 41及び読み出し相対 位置メモリ 42の内容が更新されるようになっている。  [0045] The interleave pattern generation unit 43 reads a different interleave pattern for each update timing given from the timing counter 44 and gives it to the relative position memory 42 to change the reading order. The timing counter 44 The write (update) timing to the repeated code temporary storage memory 41 and the update timing of different interleave patterns in the interleave pattern generation unit 43 are output a times respectively, so that the next partial interleave after the above read out The M repeated codes belonging to the block are written into the repeated code temporary storage memory 41, and different interleave patterns for the partial interleave block are given to the read relative position memory 42. To the part inter one leave is completed for Buburokku sequentially contents of the repetition code temporary storage memory 41 and reading the relative position memory 42 is adapted to be updated.

[0046] つまり、上記のインターリーブパターン生成部 43及びタイミングカウンタ 44は、異な る部分インターリーブブロック毎に異なるインターリーブパターンを生成して上記読み 出し制御部としての読み出し相対位置メモリ 42へ与えるインターリーブパターン制御 部 46として機能し、図 1では、各部分インターリーバ 4 iが並列に設けられて、部分ィ ンターリーブが同時並列的に行なわれる構成になっている(勿論、力かる構成も可能 である)が、図 2では、各部分インターリーブブロックに共通のインターリーノ《(共通部 分インターリーノ ) 4aを用い、部分インターリーブ対象のブロックを逐次的に変更する 構成をとることで、同等の処理を実現しているのである。  That is, the interleave pattern generation unit 43 and the timing counter 44 generate an interleave pattern different for each different partial interleave block and give it to the read relative position memory 42 as the read control unit. In FIG. 1, each of the partial interleavers 4 i is provided in parallel, and the partial interleaving is performed in parallel at the same time (of course, a powerful configuration is possible). In Fig. 2, the same processing is realized by using a configuration in which the interleaving << (common partial interleaving) 4a common to each partial interleaved block is used and the block subject to partial interleaving is changed sequentially. It is.

[0047] 一方、 M個の加算器 61は、それぞれ、繰り返し符号一時保存メモリ 41から読み出 される M個のビットのいずれかと、対応するラッチ 62に保持されているビット(前回の 加算結果)とを加算するものであり、 M個のラッチ 62は、それぞれ、対応する加算器 6 1の加算結果を一時的に保持しつつそのビットを当該加算器 61にフィードバックする もので、これら M組の加算器 61及びラッチ 62によって、繰り返し符号一時保存メモリ 41に計 a回書き込まれて当該メモリ 41から計 a回読み出される M個のビット、つまり、 a 個の部分インターリーブブロックの部分インターリーブ結果が逐次的にそれぞれ各カロ 算器 61及びラッチ 62により累積加算されてゆくようになって 、る。 [0047] On the other hand, each of the M adders 61 is one of the M bits read from the repeated code temporary storage memory 41 and the bit held in the corresponding latch 62 (previous addition result). Each of the M latches 62 temporarily holds the addition result of the corresponding adder 61 and feeds back the bit to the adder 61. Repeater code temporary storage memory by adder 61 and latch 62 M bits written to a total of 41 times and read a total number of times from the corresponding memory 41, that is, the partial interleave results of a partial interleaved blocks are sequentially accumulated by the calorie calculator 61 and the latch 62, respectively. It ’s going to be done.

[0048] M個のスィッチ 63は、それぞれ、 a回加算が完了したタイミングで ON状態に制御さ れることにより、その時点でラッチ 62に保持されているビット値 (つまり、 a回加算結果) を PZS変換部 64に出力するものであり、 PZS変換部 64は、このようにして入力され る M個の a回加算結果をシリアル変換して出力するものである。  [0048] Each of the M switches 63 is controlled to be in the ON state at the timing when the addition of a times is completed, so that the bit value (that is, the result of addition of a times) held in the latch 62 at that time is controlled. The PZS converter 64 outputs the result to the PZS converter 64. The PZS converter 64 serially converts and outputs the M a-time addition results thus input.

以上の構成により、例えば、 1番目の部分インターリーブブロックについて、読み出 し相対位置メモリ 42のメモリアドレスの順番に、 M個の加算結果を保持するブロック 加算結果一時保存メモリ(M個のラッチ 62)にビット値が書き込まれ、次に、 2番目の 部分インターリーブブロックに対する部分インターリーブの読み出 Wンデッタスを新 たなインターリーブパターンから求めて、読み出し相対位置メモリ 42の内容を更新し た上で、そのアドレス順に、ブロック加算結果一時保存メモリ 60 (M個のラッチ 62)に 保持されている同じアドレス (ラッチ 62の位置に相当)のビット(前回の加算結果)に ついて、繰り返し符号一時保存メモリ 41における上記読み出しインデックスのビットが 対応の加算器 61にて加算される。以降、同様に最後(a番目)の部分インターリーブ ブロックまで、 M個の各ビットについての加算を行ない、各カロ算器 61において a回カロ 算が完了した時点で各スィッチ 63がそれぞれ ON状態に制御されて、 M個の a回加 算結果が PZS変換部 64にてシリアル変換されて出力される。  With the above configuration, for example, for the first partial interleaved block, a block that holds M addition results in the order of the memory addresses of the read relative position memory 42 Addition result temporary storage memory (M latches 62) Then, the bit value is written to the second partial interleaved block, and then the partial interleaving read Wenda for the second partial interleaved block is obtained from the new interleave pattern, the contents of the read relative position memory 42 are updated, and the address In order, for the bit (previous addition result) of the same address (corresponding to the position of the latch 62) held in the block addition result temporary storage memory 60 (M latches 62), the above in the repeated code temporary storage memory 41 The read index bits are added by the corresponding adder 61. Thereafter, similarly, M bits are added up to the last (a-th) partial interleave block, and each switch 63 is controlled to be ON when each calorie calculator 61 completes the a-calorie calculation. Then, the M a-time addition results are serially converted by the PZS converter 64 and output.

[0049] つまり、 1つの部分インターリーバ 4aを a個の部分インターリーブブロック毎に逐次 的に適用し、各段階でビット加算を同時に実行しておくのである。このようにすること で、読み出し相対位置メモリ 42を各部分インターリーブブロックに対して共有すること が可能となる。  That is, one partial interleaver 4a is sequentially applied to each of the a partial interleave blocks, and bit addition is performed simultaneously at each stage. In this way, the read relative position memory 42 can be shared with each partial interleave block.

次に、 M回累積加算部 7は、上記 a回加算部 6の出力について M回の累積加算を 行なって M個のパリティビットを出力するもので、このために、加算器 71及びラッチ 7 2をそなえており、ラッチ 72に保持されている前回の加算結果を加算器 71にフィード ノ ックして今回の入力(a回加算結果)に加算器 71で加算してゆくようになつている。 例えば、上記のブロック加算結果一時保存メモリ 60のアドレス順に M個の a回加算結 果を x= (x , ···, x )とすると、これから、下記 (2.3)式及び (2.4)式に示す累積加算をNext, the M-times cumulative adder 7 performs M cumulative additions on the output of the a-time adder 6 and outputs M parity bits. For this purpose, the adder 71 and the latch 7 2 The previous addition result held in the latch 72 is feed-knocked to the adder 71 and added to the current input (a-th addition result) by the adder 71. . For example, M block of a block addition result temporary storage memory 60 is added in the order of addresses a times. Assuming that the result is x = (x, ..., x), the cumulative addition shown in the following equations (2.3) and (2.4)

0 -1 0 -1

行なうことで、 Μ個のノ リティビット ρ= (ρ , ···, ρ )を求めるのである。ただし、下記  By doing this, we find ノ NORITTY bits ρ = (ρ, ···, ρ). However, the following

0 -1  0 -1

の (2.4)式において、 i==l,…, M—1である。  In Eq. (2.4), i == l, ..., M−1.

[0050] p =χ ·'·(2·3)  [0050] p = χ · '· (2 · 3)

ο ο  ο ο

ρ=ρ +χ ー(2.4)  ρ = ρ + χ ー (2.4)

i i-1 i  i i-1 i

そして、得られた M個のノ リティビット p= (p , ···, ρ )を Κ個の情報ビット u= (u ,  Then, the obtained M norm bits p = (p,..., Ρ) are converted into 情報 information bits u = (u,

0 M-1 0 0 M-1 0

···, u )とシリアルに結合することで、下記 (2.5)式に示すように、組織符号化された···, u)) and serially combined, system-coded as shown in equation (2.5) below

K-1 K-1

符号ビット Cが得られる。  Sign bit C is obtained.

[0051] c=(c , ···, c ) = (ιι, ···, u , p , ···, p ) ---(2.5)  [0051] c = (c, ···, c) = (ιι, ···, u, p, ···, p) --- (2.5)

0 N-1 0 K-1 0 M-1  0 N-1 0 K-1 0 M-1

なお、図 3に本例でのタナーグラフを示す。この図 3に示すように、最下段の〇印で 示す変数ノード (u , ···, u )力も各部分インターリーバ 4 0— 4 (a— 1)に対して M  Figure 3 shows the Tanner graph in this example. As shown in Fig. 3, the variable node (u, ··, u) force indicated by a circle at the bottom is also M for each partial interleaver 4 0— 4 (a— 1).

0 K-1  0 K-1

本ずつのエッジが引かれて、 E個の繰り返し符号が M個ずつ a個のブロック(部分イン ターリーブブロック)に分割されて各部分インターリーバ 4 iに入力されることが表され 、口印で示す各チェックノード(s , ···, s )力 各部分インターリーバ 4 iに対して 1  Each edge is drawn, and E repetition codes are divided into a blocks (partial interleave blocks) of M pieces each and input to each partial interleaver 4 i. Each check node (s,..., S) force indicated by

0 -1  0 -1

本ずつ計 a本のエッジが弓 Iかれて、各部分インターリーノ — iの部分インターリーブ 結果から 1つずつ合計 a個のビットが選択されて集められる (加算される)ことが表され 、各チェックノード (s , ···, s )と、ノ リティビット (p , ···, p )に対応する変数ノード  A total of a edges are bowed I, and each partial interleano—partial interleaving of i indicates that a total of a bits are selected and collected (added) one by one, each check Node (s, ..., s) and variable nodes corresponding to the NORITY bits (p, ..., p)

0 -1 0 -1  0 -1 0 -1

(最上段の〇印)との間がジクザグ状にエッジで接続されることにより、上記 M回の累 積加算が表されている。  The above-mentioned M cumulative additions are represented by connecting the edges in a zigzag pattern to the (topmost circle).

[0052] 以上のように、本実施形態の IRA符号器 1によれば、可変回数ビット繰り返し部 2の 出力である E個の繰り返し符号を M個ずつ a個のブロックに分け、それぞれのブロック (M個のビット)に対して異なるインターリーブパターンの部分インターリーブを適用し 、それぞれの結果の先頭力 順に 1つずつ合計 a個のビットを選択して加算 (a回加算 )し、さらに、その加算結果を M回累積加算することで、パリティビットを生成するので 、次のような効果ないし利点が得られる。  [0052] As described above, according to the IRA encoder 1 of the present embodiment, the E repetition codes that are the output of the variable number of times bit repetition unit 2 are divided into M blocks each of which is M pieces, and each block ( Apply partial interleaving of different interleaving patterns to M bits), select a total of a bit one by one in the order of the leading force of each result, add (a addition), and then the addition result Since the parity bit is generated by accumulating M times M times, the following effects or advantages can be obtained.

[0053] (1)1つの部分インターリーバ(条件付ランダムインターリーバ) 4 iでの処理に力かる 処理時間を 0(M2)として、これを上述したごとく逐次的に行なうとしても、ブロック分 割せずにインターリーブを実行する場合に比して lZaの時間短縮となる。 (2)なお、部分インターリーバ 4-iに既述の構成的ランダムインターリーバを適用した 場合は、上記と同様に逐次的な部分インターリーブを行なえば処理時間は変わらな くなるが、部分インターリーバ 4 - iのそれぞれを並列処理することにすれば、処理時 間は lZaにすることができる。また、各部分インターリーバ(条件付ランダムインターリ ーバ) 4を逐次的ではなく並列処理することにすれば、さらに処理時間を lZa2に短 縮することが可能となる。 [0053] (1) One partial interleaver (conditional random interleaver) Even if the processing time required for processing at 4 i is set to 0 (M 2 ) and this is performed sequentially as described above, LZa time is shortened compared to interleaving without splitting. (2) If the above-mentioned structural random interleaver is applied to the partial interleaver 4-i, the processing time will not change if sequential partial interleaving is performed as described above, but the partial interleaver will not change. If each of 4-i is processed in parallel, the processing time can be lZa. Further, if to parallel processing, rather than sequentially in each part interleaver 4 (random interpolymer rie server conditional), it is possible to shorten further the processing time LZA 2.

[0054] (3)1つの部分インターリーバ 4 i (4a)を a個のブロック毎に逐次的に適用し、各段 階でビット加算を同時に実行しておくことで、インターリーブ結果の読み出しインデッ タスを保持するメモリ 42を各部分インターリーブブロックで共有することができ、大きな サイズ (E個)のビットに対して一度にインターリーブを適用する場合に比して、メモリ サイズが lZaで済むことになる。  [0054] (3) One partial interleaver 4 i (4a) is sequentially applied to each a block, and bit addition is performed simultaneously at each stage, thereby reading the interleaved result reading status Can be shared by each partially interleaved block, and the memory size can be reduced to lZa compared to the case where interleaving is applied to a large size (E) bits at a time.

[0055] なお、上記の加算ブロックサイズ(a)は、より一般化して、可変(a :i=0, · ··, M—l) にしてもよい。この場合、「拡張 IRA符号」となる。即ち、可変加算処理の i番目の加算 ブロックのサイズを aとして、最大の加算ブロックサイズを a 、パリティ符号数 M以下  It should be noted that the above addition block size (a) may be more generalized and variable (a: i = 0,..., M−l). In this case, it is an “extended IRA code”. That is, the size of the i-th addition block of variable addition processing is a, the maximum addition block size is a, and the number of parity codes is less than M

1 max  1 max

の正の整数を M (1 = 0, · ··, a —1)としたときに、インターリーブ処理部 4は、下記(1  When the positive integer of M is M (1 = 0, ···, a –1), the interleave processing unit 4 performs the following (1

1 max  1 max

)式を満足する各サイズ a の部分インターリーブブロック毎に部分インターリーブを max  ) Max for partial interleaved blocks of each size a satisfying the formula

施し、加算部 6は、前記各加算ブロックの上記指定サイズ a分だけ、それぞれ、部分 インターリーブ後の各部分インターリーブブロックの先頭から 1つずつ部分インターリ ーブ結果を選択して加算することになる。  Then, the adder 6 selects and adds partial interleave results one by one from the beginning of each partial interleave block after partial interleaving for the specified size a of each addition block.

[0056] また、さらに一般ィ匕して、 M回累積加算部 7に、フィードバック付きの畳み込み符号 器を用いることもできる。この場合は「一般ィ匕拡張 IRA符号」となる。 [0056] Further, in general terms, a convolutional encoder with feedback may be used for the M-time cumulative addition unit 7. In this case, it becomes a “general 匕 extended IRA code”.

(A1)第 1実施形態の変形例の説明  (A1) Description of modification of first embodiment

上述した例において、繰り返し符号が 2つの部分インターリーブブロックにまたがつ てしまうような場合、次のような問題が生じる可能性がある。即ち、サイズ Eのビット列 に対して、インターリーバ(ランダムインターリーバでも、上記例の条件付ランダムイン ターリーバや構成的ランダムインターリーバでも)を無条件に適用する方法では、ある 情報ビットの繰り返した結果である同じ値のビット同士力 インターリーブ後の同じブ ロックに属してしま ヽ(これをブロック重複と 、う)、情報を互いに相殺してしまう。 [0057] これはタナーグラフでいうと、同じ変数ノードとチェックノードのペア同士を 2度エッジ で結ぶことに対応しており、 LDPC符号として意図した符号とは異なる符号となってし まっている。ここで、「意図した符号」とは、パラメータ (f , a) (j = 2, · ··, j )によりゥェ In the example described above, the following problem may occur when a repeated code spans two partially interleaved blocks. That is, with a method of applying an interleaver (whether a random interleaver, conditional random interleaver or structural random interleaver in the above example) unconditionally to a bit string of size E, the result of repeated information bits Bits of the same value belong to the same block after interleaving (this is called block duplication), and the information will cancel each other out. [0057] In the Tanner graph, this corresponds to connecting the same variable node and check node pair with an edge twice, which is different from the code intended as the LDPC code. . Here, the “intended code” is defined by the parameter (f, a) (j = 2, ..., j).

j max  j max

イト分布が決まる検査行列で定義されるイレギュラー LDPC符号のことである。  It is an irregular LDPC code defined by a parity check matrix that determines the site distribution.

[0058] またもし、意図した符号からの若干のずれを許容するとしても、たとえば、 2ないし 3 回の繰り返し符号ィ匕された情報ビットに 2重エッジが生じると 0ないし 1のエッジと等価 となり、これは不適切な符号となる。 0の場合は、情報ビットは軟判定符号に何ら関わ りがなくなる。 1の場合は、エッジでつながるノードから得られた信頼度情報をそのま ま返すことしかできな 、ため、他のビットに対して軟判定の効果を与えることができな い。 [0058] Even if a slight deviation from the intended code is allowed, for example, if a double edge occurs in an information bit that has been repeatedly coded 2 to 3 times, it becomes equivalent to an edge of 0 to 1. This is an inappropriate code. When it is 0, the information bit has no relation to the soft decision code. In the case of 1, since the reliability information obtained from the nodes connected by the edge can only be returned as it is, the soft decision effect cannot be given to other bits.

[0059] 例えば、上述した第 1実施形態(図 2)において、入力情報ビットに対する繰り返し符 号のビット列をシリアルに並べ、 M個ずつ a個の部分インターリーブブロックに分割す る際に、ある情報ビットの繰り返し符号は 2つの部分インターリーブブロックに属する 場合がある。ここで、情報ビット uはそれぞれ j回繰り返すとして、 mO個(mOは正の整 数)が第 1の部分インターリーブブロックに属し、残りの ml = (j— mO)個(mlは正の 整数)が第 2の部分インターリーブブロックに属しているとする。  [0059] For example, in the first embodiment described above (Fig. 2), when a bit string of repetition codes for input information bits is serially arranged and divided into a partial interleaved blocks by M pieces, a certain information bit is obtained. The repetition code of may belong to two partially interleaved blocks. Here, assuming that each information bit u repeats j times, mO (mO is a positive integer) belongs to the first partial interleave block, and the remaining ml = (j—mO) (ml is a positive integer) Belongs to the second partial interleave block.

[0060] この場合に、第 1の部分インターリーブブロックに対してサイズ Mの部分インターリー ブを実行すると、 mO個のビット列についての読み出し位置 (相対インデックス)が決ま るので、この読み出し位置を保存しておく。そして、第 2の部分インターリーブブロック についての部分インターリーブを実行する前に、先頭の情報ビット uの ml個の繰り返 し符号については、先ほど保存した mO個のビット列についての読み出し位置を避け て、当該ブロック内での相対的な読み出し位置を予め所定の方法で (例えば、ランダ ムに)定めておき、上記 ml個を除く残りの(M— ml)個のビット列について部分インタ 一リーブを行なう。第 3以降の部分インターリーブブロックについても同様の処理を行 なう。  [0060] In this case, when partial interleaving of size M is performed on the first partial interleaving block, the read position (relative index) for the mO bit strings is determined, so this read position is stored. Keep it. Then, before executing the partial interleaving for the second partial interleave block, for the ml repeated codes of the first information bit u, avoid the read position for the mO bit strings stored earlier, and A relative read position in the block is determined in advance by a predetermined method (for example, randomly), and partial interleaving is performed on the remaining (M-ml) bit strings excluding the ml. The same processing is performed for the third and subsequent partially interleaved blocks.

[0061] これにより、例えば図 4に示すように、結果の符号のタナーグラフにおいて、同じノ ードのペアが 2重にエッジで結ばれること(つまり、ブロック重複)を避けることができ( 符号 80参照)、結果として、「意図しない符号」の生成を回避して、特性劣化を回避 することができる。 [0061] As a result, as shown in FIG. 4, for example, in the Tanner graph of the resulting code, it is possible to avoid that the same node pair is double-connected by an edge (that is, block overlap). 80)) As a result, the generation of “unintentional codes” is avoided and characteristic deterioration is avoided. can do.

〔B〕第 2実施形態の説明  [B] Description of the second embodiment

図 5は本発明の第 2実施形態としての RA符号器 (符号ィ匕装置)の要部構成を示す ブロック図で、この図 5に示す RA符号器 1Aは、拡張 RA符号により K個の情報ビット 力 M個のパリティビットを生成し、 K個の情報ビットと合わせてサイズ N=K+Mの 符号ビットの生成を行なうもので、例えば、繰り返し符号器 (q回ビット繰り返し部) 2A ,シリアル Zパラレル(SZP)変換部 3A, q個の部分インターリーバ(第 0—第 q— 1ィ ンターリーバ) 4A— 0— 4A—(q— 1)を有するインターリーブ処理部 4A,パラレル Zシ リアル (PZS)変換部 5A,可変回加算部 6A, M回累積加算部 7及び可変回加算制 御部 8をそなえて構成されて 、る。  FIG. 5 is a block diagram showing the main configuration of an RA encoder (encoder) as a second embodiment of the present invention. The RA encoder 1A shown in FIG. Bit force Generates M parity bits and generates code bits of size N = K + M together with K information bits. For example, repetitive encoder (q-bit repetitive part) 2A, serial Z parallel (SZP) conversion unit 3A, q partial interleavers (0th-q-1 interleaver) 4A— 0— 4A— (q— 1) interleave processing unit 4A, parallel Z serial (PZS) ) A conversion unit 5A, a variable addition unit 6A, an M accumulation addition unit 7 and a variable addition control unit 8 are provided.

[0062] ここで、 q回ビット繰り返し部 2Aは、 K個の入力情報ビットを全て一定の数 (指定の 繰り返し回数) q (qは正の整数)で繰り返し符号ィ匕するものであり、 SZP変換部 3Aは 、この q回ビット繰り返し部 2Aの出力を SZP変換することにより K個ずつの q組のブロ ックに分けて出力するもので、具体的には、繰り返しビットのそれぞれを順に別のビッ トのブロックにシーケンシャルに配置するようになっている。即ち、 K個の情報ビットの q組のコピーを生成してそれぞれを部分インターリーバ 4A— t(t = 0, ···, q— 1)に入 力するようになっている。 [0062] Here, the q-bit repetition unit 2A repeatedly codes all the K input information bits by a fixed number (specified number of repetitions) q (q is a positive integer), SZP The conversion unit 3A performs an SZP conversion on the output of the q-bit repetition unit 2A and outputs it in q blocks of q sets. Specifically, each of the repetition bits is sequentially separated. It is arranged sequentially in the block of bits. That is, q copies of K information bits are generated and input to the partial interleaver 4A-t (t = 0,..., Q-1).

[0063] インターリーブ処理部 4Aは、 q回ビット繰り返し部 2Aによる繰り返し符号ィ匕結果を q 個の部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリ ーブするもので、このために、各部分インターリーバ 4A— tによって、それぞれ、上記 K個の情報ビットについてサイズ Kの部分インターリーブ(ランダムインターリーブ、あ るいは条件付ランダムインターリーブ、もしくは構成的ランダムインターリーブ)を施す ようになっている。 [0063] The interleave processing unit 4A performs partial interleaving on the result of the repetitive code by the q-bit repetition unit 2A with a different interleaving pattern for each of q partial interleave blocks. By 4A-t, the K information bits are subjected to partial interleaving of size K (random interleaving, conditional random interleaving, or structural random interleaving).

[0064] PZS変換部 5Aは、これらの部分インターリーバ 4A— tの出力(インターリーブ結果 )をシリアル変換して出力するものであり、可変回加算部 6Aは、上記インターリーブ 結果について指定 (可変)の加算数 (加算ブロックサイズ) a (i=0, ···, M— 1)毎に累 積加算を行なうもので、加算器 61,ラッチ 62及びスィッチ 63をそなえ、加算ブロック サイズ aの加算タイミング毎に、 0クリア回路 81によりラッチ 62に保持されているビット 値が 0にクリアされるとともに、スィッチ 63がスィッチ開閉回路 82によって ON状態に 制御されることによって、可変の加算ブロックサイズ a;毎の加算処理を実現できるよう にしている。 [0064] The PZS conversion unit 5A serially converts the output of the partial interleaver 4A-t (interleave result) and outputs the result. The variable addition unit 6A specifies (variable) the interleave result. Addition number (addition block size) a (i = 0, ..., M-1) Accumulated addition is performed. Adder 61, latch 62, and switch 63 are provided, and addition block size a is added. Each time, the bit held in the latch 62 by the 0 clear circuit 81 The value is cleared to 0, and the switch 63 is controlled to be in the ON state by the switch opening / closing circuit 82, so that an addition process for each variable addition block size a ; can be realized.

[0065] ただし、この可変回加算処理を行なうのに、本実施形態でも、 q個の部分インターリ ーバ 4A— tを 1つずつ逐次(時分割に)実行することで、 K個の読み出しインデックス を一時保存するメモリを共有して使用する。  [0065] However, in order to perform this variable number of times addition processing, in the present embodiment as well, K partial interleavers 4A-t are sequentially executed one by one (in time division), so that K read indexes are obtained. Share the memory for temporary storage.

即ち、例えば図 6に示すように、部分インターリーバ 4A— kは、繰り返し符号一時保 存メモリ 41A,読み出し相対位置メモリ 42A,インターリーブパターン生成部 43A及 びタイミングカウンタ 44Aをそなえて構成し、加算部 6Aは、加算ブロック毎の加算器 61Aをパラレルにそなえるとともに、加算器 61B,ラッチ (残りビット一時メモリ) 65及 び PZS変換部 64をそなえて構成する。  That is, for example, as shown in FIG. 6, the partial interleaver 4A-k includes a repetitive code temporary storage memory 41A, a read relative position memory 42A, an interleave pattern generation unit 43A, and a timing counter 44A. 6A includes an adder 61A for each addition block in parallel, and an adder 61B, a latch (remaining bit temporary memory) 65, and a PZS conversion unit 64.

[0066] ここで、繰り返し符号一時保存メモリ 41Aは、 K個の繰り返し符号ィ匕結果である情報 ビット (u— u )を保持するものであり、読み出し相対位置メモリ 42Aは、インターリー Here, the iterative code temporary storage memory 41A holds information bits (u—u) which are K repetition code key results, and the read relative position memory 42A is an interleaved memory.

0 K-1 0 K-1

ブパターン生成部 43Aから与えれるインターリーブパターンに従って上記繰り返し符 号一時保存メモリ 41Aから読み出すべき情報ビット (繰り返し符号)のアドレス (読み 出しインデックス)を K個分順次指定することにより、当該メモリ 41Aへの書き込み順 序とは異なる順序で繰り返し符号を読み出して K個の繰り返し符号に対する部分イン ターリーブを実行するものである。  Write to the memory 41A by sequentially specifying K addresses (reading indexes) of information bits (repetition codes) to be read from the repetitive code temporary storage memory 41A according to the interleave pattern given from the subpattern generation unit 43A. It reads out repeated codes in an order different from the order, and executes partial interleaving for K repeated codes.

[0067] インターリーブパターン生成部 43Aは、タイミングカウンタ 44Aから与えられるタイミ ング毎に異なるインターリーブパターンを読み出し相対位置メモリ 42Aに与えて上記 読み出し順序を変更するものであり、タイミングカウンタ 44Aは、インターリーブパター ン生成部 44Aでの異なるインターリーブパターンの更新タイミングとを q回分出力する もので、これ〖こより、次の部分インターリーブブロックのための異なるインターリーブパ ターンが読み出し相対位置メモリ 42Aに与えられ、以降、同様にすベて (q組)の部分 インターリーブブロックについての部分インターリーブが完了するまで、順次、読み出 し相対位置メモリ 42Aの内容が更新されるようになって 、る。  [0067] The interleave pattern generation unit 43A changes the read order by giving a different interleave pattern to the read relative position memory 42A for each timing given from the timing counter 44A, and the timing counter 44A has an interleave pattern. The output timing of the different interleave patterns in the generation unit 44A is output q times.From this, different interleave patterns for the next partial interleave block are given to the read relative position memory 42A, and so on. The contents of the read relative position memory 42A are sequentially updated until partial interleaving for all (q sets) partial interleave blocks is completed.

[0068] つまり、図 5では、インターリーブ処理部 4Aとして、各部分インターリーバ 4A— tが並 列に設けられて、部分インターリーブが同時並列的に行なわれる構成になっている( 勿論、力かる構成も可能である)力 図 6では、各部分インターリーブブロックに共通 のインターリーバ(共通部分インターリーバ) 4bを用い、部分インターリーブ対象のブ ロックを逐次的に変更する構成をとることで、同等の処理を実現しているのである。ま た、本例の場合は、 K個の情報ビットの q組のコピーを生成して q組の部分インターリ ーブブロックを生成すればょ 、ので、繰り返し符号一時メモリ 41Aには K個の情報ビ ットを一度だけ書き込んでおけば、その K個の情報ビットを継続使用して q回逐次的 に部分インターリーブを実行すればよいことになる。換言すれば、繰り返し符号一時 メモリ 41Aは、図 5に示す q回ビット繰り返し部 2A及び SZP変換部 3Aとしての機能 を果たしているのである。 That is, in FIG. 5, as the interleave processing unit 4A, partial interleavers 4A-t are provided in parallel, and partial interleaving is performed in parallel at the same time ( Of course, it is possible to use a powerful structure.) In Figure 6, a common interleaver (common partial interleaver) 4b is used for each partial interleave block, and the block to be partially interleaved is changed sequentially. Thus, equivalent processing is realized. In this example, q sets of K information bits are generated to generate q sets of partial interleave blocks. Therefore, K information bits are stored in the temporary code temporary memory 41A. If the data is written only once, partial interleaving is performed q times sequentially using the K information bits continuously. In other words, the repetition code temporary memory 41A functions as the q-bit repetition unit 2A and the SZP conversion unit 3A shown in FIG.

[0069] 一方、各加算器 61Aは、それぞれ、加算ブロックに対応しており、 q回逐次的に実 行される部分インターリーブの過程で、繰り返し符号一時メモリ 41Aから読み出し相 対位置メモリ 42Aにより指定されるアドレス(つまりは、異なるインターリーブパターン) に従って読み出されて同じ加算ブロックに属すべき情報ビット (繰り返し符号)同士を 加算するものである。 [0069] On the other hand, each adder 61A corresponds to the addition block, and is specified by the read relative position memory 42A from the repeated code temporary memory 41A in the process of partial interleaving executed q times sequentially. Information bits (repeated codes) that should be read according to the addresses to be read (that is, different interleave patterns) and belong to the same addition block are added.

[0070] 加算器 61Bは、 E ( = q XK)個の情報ビットを上記加算ブロックに分割することで生 じる余りビット (kO個)について加算を行なうものであり、ラッチ 65は、その加算結果を 一時的に保持するもので、当該加算結果は、最終的に、例えば kO個の余りビットを 除いたサイズ (a— kO)の加算ブロックに対応する(図 6の最上段に位置する)加算器 6 1Aで他の(a -kO)個の情報ビットとともに加算されるようになっている。 PZS変換部 64は、上記各加算器 61Aによる加算結果をシリアル変換して M個のビットを出力す るものである。  [0070] Adder 61B performs addition on the remaining bits (kO) generated by dividing E (= q XK) information bits into the above addition blocks, and latch 65 The result is temporarily held, and the addition result finally corresponds to, for example, an addition block of size (a−kO) excluding kO extra bits (located at the top in FIG. 6). An adder 61 is added together with the other (a -kO) information bits in 1A. The PZS converter 64 serially converts the addition result from each adder 61A and outputs M bits.

[0071] ただし、この例では、エッジの数 Eは Kで割り切れるので、厳密に K個ごと q組のビッ トの組に分けることができる。この時点ではビットに「余り」はない。 kO個のビットが余る のは、インターリーブ後の出力を先頭力 順に指定の加算ブロック数 (a , · ··, a )に  However, in this example, since the number E of edges is divisible by K, it can be strictly divided into q sets of bits for every K pieces. At this point there is no “remainder” in the bit. The remaining kO bits are that the output after interleaving is added to the specified number of added blocks (a,

0 -1 従ってブロック毎に加算してゆくとき、加算するビットの組が第 1インターリーバと第 2ィ ンターリーバとにまたがってしまうことを意味して 、る。  Therefore, when adding for each block, it means that the set of bits to be added straddles the first interleaver and the second interleaver.

[0072] つまり、本例の場合は、加算器 61A及び加算器 61Bが図 5に示す加算器 61として の機能を果たし、ラッチ 65及び繰り返し符号一時保存メモリ 41Aが図 1に示すラッチ 62としての機能を果たし、タイミングカウンタ 44A,インターリーブパターン生成部 43 A及び読み出し相対位置メモリ 42A力 図 1に示すスィッチ 63及び可変回加算制御 部 8 (0クリア回路 81 ,スィッチ開閉回路 82)としての機能を果たして 、ることになる。 That is, in this example, the adder 61A and the adder 61B function as the adder 61 shown in FIG. 5, and the latch 65 and the repeated code temporary storage memory 41A are latched as shown in FIG. 62 as a timing counter 44A, interleave pattern generation unit 43A, and read relative position memory 42A. As switch 63 and variable addition control unit 8 (0 clear circuit 81, switch open / close circuit 82) shown in FIG. Will fulfill the function.

[0073] 即ち、 k個の加算数を取る加算ブロックの数 V (k=l, ···, k )は、分布関数 g (k k max kThat is, the number of addition blocks V (k = l,..., K) taking k addition numbers is the distribution function g (k k max k

=1, ···, k )から V =Int(M'g )により与えられるものとする。ただし、下記の (3.1) max k k = 1,..., K) and V = Int (M'g). However, the following (3.1) max k k

及び (3.2)式を満たすように各 Vを調整する。  And adjust each V to satisfy Eq. (3.2).

k  k

[0074] [数 5]

Figure imgf000024_0001
[0074] [Equation 5]
Figure imgf000024_0001

[0075] [数 6]

Figure imgf000024_0002
[0075] [Equation 6]
Figure imgf000024_0002

[0076] このとき、 Vが 0と異なる kの組み合わせを昇順に並べたものを (k, ···, k )として、 k 0 G-l 最初の V (x = k )個のビットを k回繰り返し、次の V (y=k )個を k個繰り返し、以下  [0076] At this time, a combination of k with different V from 0 is arranged in ascending order (k, ···, k), and k 0 Gl repeats the first V (x = k) bits k times , Repeat next V (y = k) k times,

0 0 1 1  0 0 1 1

、k =k まで続ける。  Continue until k = k.

G~l max  G ~ l max

M回累積加算部 7は、第 1実施形態にて前述したものと同様のもので、上記可変回 加算部 6Aの出力について M回の累積加算を行なって M個のノ リティビットを出力す るもので、本例においても、ラッチ 72に保持されている前回の加算結果を加算器 71 にフィードバックして今回の入力(a回加算結果)に加算器 71で加算してゆく。  The M-time cumulative addition unit 7 is the same as that described above in the first embodiment, and performs M cumulative additions on the output of the variable-time addition unit 6A to output M NORITY bits. In this example as well, the previous addition result held in the latch 72 is fed back to the adder 71 and added to the current input (a-time addition result) by the adder 71.

[0077] 即ち、加算結果を x= (X , ···, X )とすると、これから、さらに下記 (3.3)式及び (3.4) That is, assuming that the addition result is x = (X,..., X), the following (3.3) and (3.4)

0 -1  0 -1

式に示すように累積加算を行ない、ノ リティビット p= (P , ···, P )を求める。  Accumulated addition is performed as shown in the equation to obtain the NORITY bits p = (P,..., P).

0 -1  0 -1

p =χ ·'·(3·3)  p = χ '(3/3)

0 0  0 0

p=p +x (i=l,…, Μ—1)···(3·4)  p = p + x (i = l,…, Μ—1) ··· (3 · 4)

1 i-1 i  1 i-1 i

得られたパリティビット p= (p , ···, p )を情報ビット u= (u, ···, u )とシリアルに  The obtained parity bit p = (p, ..., p) is serialized with the information bit u = (u, ..., u)

0 M-1 0 K-l  0 M-1 0 K-l

結合することで、下記 (3.5)式で示すように、組織符号化された符号ビット cが得られる  By combining, systematic coded code bit c is obtained as shown in the following equation (3.5).

[0078] c=(c , ···, c ) = (ιι, ···, u , p , ···, p ) ---(3.5) [0078] c = (c, ···, c) = (ιι, ···, u, p, ···, p) --- (3.5)

0 N-1 0 K-1 0 M-1  0 N-1 0 K-1 0 M-1

なお、図 7に本例でのタナーグラフを示す。この図 7に示すように、最下段の〇印で 示す変数ノード (u , · · ·, u )力 それぞれ異なる部分インターリーバ 4A— 0— 4A- ( Figure 7 shows the Tanner graph in this example. As shown in Fig. 7, Variable nodes shown (u, · · ·, u) forces different partial interleavers 4A— 0— 4A- (

0 K-1  0 K-1

q-1)に対して 1本ずつエッジが引かれて、 E = qK個の情報ビット (繰り返し符号)が K個ずつ q個のブロック(部分インターリーブブロック)に分割されて各部分インターリ ーバ 4A— tに入力されることが表され、口印で示す各チェックノード (s , · · ·, s )から  One edge is drawn for q-1), and E = qK information bits (repeated codes) are divided into K blocks (partial interleaved blocks) by K and each partial interleaver 4A. — From each check node (s, ···, s) that is represented as t

0 -1 各部分インターリーバ 4A— tに対してそれぞれ a本のエッジが弓 Iかれて、各部分イン ターリーバ 4A— tの部分インターリーブ結果がサイズ aの加算ブロック毎に加算される ことが表され、各チェックノード(s , · · ·, s )と、ノ リティビット (p , · · ·, p )に対応す  0 -1 Each edge of the partial interleaver 4A—t has a bow I, and the partial interleave result of each partial interleaver 4A—t is added for each added block of size a. , Corresponding to each check node (s, ···, s) and the NORITY bit (p, ···, p)

0 -1 0 -1 る変数ノード (最上段の〇印)との間がジクザグ状にエッジで接続されることにより、上 記 M回の累積加算が表されて 、る。  The above-mentioned cumulative addition of M times is represented by the zigzag edge connection between the variable nodes 0-1 and 0-1.

[0079] 以上のように、本実施形態の RA符号器 1Aによれば、可変回数ビット繰り返し部 2A の出力である E ( = qK)個の繰り返し符号を K個ずつ q個のブロックに分け、それぞれ のブロック (K個のビット)に対して異なるインターリーブパターンの部分インターリーブ を適用し、そのインターリーブ結果にっ 、て可変サイズ aの加算ブロック単位でビット 加算し、さらに、その加算結果を M回累積加算することで、ノ^ティビットを生成する ので、第 1実施形態と同様の効果ないし利点が得られる。即ち、  [0079] As described above, according to the RA encoder 1A of the present embodiment, the E (= qK) repetition codes, which are the output of the variable number of times bit repetition unit 2A, are divided into q blocks of K units each. Apply partial interleaving of different interleaving patterns to each block (K bits), add bits in units of variable-size a addition blocks according to the interleaving results, and accumulate the addition results M times By adding, a NOTIFY bit is generated, and the same effects or advantages as in the first embodiment can be obtained. That is,

(1)1つの部分インターリーバ(条件付ランダムインターリーノ ) 4A— tでの処理にか 力る処理時間を ο (κ2)として、これを上述したごとく逐次的に行なうとしても、ブロック 分割せずにインターリーブを実行する場合に比して 1/qの時間短縮となる。 (1) One partial interleaver (conditional random interleaver) If the processing time required for processing at 4A-t is ο (κ 2 ) 1 / q time reduction compared to interleaving.

[0080] (2)なお、部分インターリーバ 4A— tに既述の構成的ランダムインターリーバを適用し た場合は、上記と同様に逐次的な部分インターリーブを行なえば処理時間は変わら なくなるが、部分インターリーバ 4A— tのそれぞれを並列処理することにすれば、処理 時間は lZqにすることができる。また、各部分インターリーバ (条件付ランダムインタ 一リーノ 4A— tを逐次的ではなく並列処理することにすれば、さらに処理時間を 1Z q2に短縮することが可能となる。 [0080] (2) When the above-described structural random interleaver is applied to the partial interleaver 4A-t, the processing time does not change if sequential partial interleaving is performed as described above. If each interleaver 4A-t is processed in parallel, the processing time can be reduced to lZq. Moreover, if each partial interleaver (conditional random interleaver 4A-t is processed in parallel rather than sequentially, the processing time can be further reduced to 1Z q 2 .

[0081] (3)1つの部分インターリーバ 4A— t (4b)を q個のブロック毎に逐次的に適用し、各 段階でビット加算を同時に実行しておくことで、インターリーブ結果の読み出しインデ ックスを保持するメモリ 42Aを各部分インターリーブブロックで共有することができ、大 きなサイズ (E個)のビットに対して一度にインターリーブを適用する場合に比して、メ モリサイズが lZqで済むことになる。 [0081] (3) One partial interleaver 4A—t (4b) is sequentially applied to q blocks, and bit addition is performed simultaneously at each stage, so that the read index of the interleave result is obtained. The memory 42A can be shared by each partially interleaved block. Compared to the case where interleaving is applied to a large size (E) bits at a time, The memory size is lZq.

[0082] なお、上記繰り返し回数 qは、より一般ィ匕して、可変(q.:i = 0, · ··, q — 1) (q は最 [0082] Note that the number of repetitions q is more general and variable (q.:i = 0, ···, q — 1) (q is the maximum

l max max 大値)にしてもよい (この場合、「拡張 IRA符号」となる)。即ち、情報ビット (繰り返し符 号ィ匕結果)を E個、前記繰り返し回数を qとした場合、繰り返し符号化部 2Aは、繰り返 し符号がそれぞれ異なる部分インターリーブブロックに分配されるよう繰り返し符号化 結果を q 個のブロックであってそれぞれのブロックサイズが下記の (3.6)式を満足す max  l max max large value) (in this case, it becomes an “extended IRA code”). That is, when E information bits (repetition code 匕 result) are E and the number of repetitions is q, the repetitive encoding unit 2A performs repetitive encoding so that the repetitive codes are distributed to different partial interleave blocks. The result is q blocks, and each block size satisfies the following formula (3.6) max

る K以下の正の整数 K (i=0, · ··, q —1)であるブロック単位でインターリーブ処理  Interleave processing in block units with positive integer K less than or equal to K (i = 0, ···, q -1)

1 max  1 max

部 4Aへ出力し、インターリーブ処理部 4Aは、上記各ブロックについてサイズ Kの部 分インターリーブを施すことになる。  The data is output to the unit 4A, and the interleave processing unit 4A performs the partial interleaving of size K for each block.

[0083] [数 7] [0083] [Equation 7]

9  9

E = ^ Kt · ' · (3.6) E = ^ K t · '· (3.6)

[0084] また、本例でも、さらに一般ィ匕して、 Μ回累積加算部 7に、フィードバック付きの畳み 込み符号器を用いることができる。この場合は「一般化 (拡張) IRA符号」となる。 [0084] Also in this example, a convolutional encoder with feedback can be used for the loop accumulation adder 7 in general terms. In this case, it becomes a “generalized (extended) IRA code”.

(B1)第 2実施形態の変形例の説明  (B1) Description of modification of second embodiment

上述した第 2実施形態においても、第 1実施形態の変形例と同様に、加算ブロック 力 2つの部分インターリーブブロックにまたがってしまうことが起こるとする。例えば、 第 1の部分インターリーブブロックと第 2の部分インターリーブブロックとに k番目の加 算ブロックがまたがり、それぞれ、 kO個(kOは正の整数)が第 1の部分インターリーブ ブロックに属し、残りの kl個(klは正の整数)のビットが第 2の部分インターリーブブロ ック〖こ属するちのとする。  Also in the second embodiment described above, it is assumed that, as in the modification of the first embodiment, the addition block force spans two partial interleave blocks. For example, the kth addition block spans the first partial interleave block and the second partial interleave block, and kO (kO is a positive integer) belongs to the first partial interleave block, and the remaining kl Let the number of bits (kl is a positive integer) belong to the second partial interleave block.

[0085] このような場合は、第 1の部分インターリーブブロックについての部分インターリーブ の結果として得られる、 kO個の当該ブロック内での相対的な読み出 Lf立置を記憶し ておき、第 2の部分インターリーブブロックについての部分インターリーブを実行する 前に、上記 kO個の位置とは異なる kl個の相対位置をランダムに決定して、読み出し アドレスの始めの kl個とする。この後に、残りの(K kl)個のビットについて部分イン ターリーブを適用し、読み出しアドレス順に加算を実行する。第 3以降の部分インター リーブブロックについても同様の処理を行なう。 [0086] これにより、上述した RA符号器 1 Aにおいても、例えば図 8に示すように、結果の符 号のタナーグラフにおいて、同じノードのペアが 2重にエッジで結ばれること(つまり、 ブロック重複)を避けることができ (符号 90参照)、結果として、「意図しない符号」の生 成を回避して、特性劣化を回避することができる。 [0085] In such a case, the relative read Lf standing in kO corresponding blocks obtained as a result of the partial interleaving for the first partial interleaved block is stored, and the second Before executing partial interleaving for the partial interleave block, kl relative positions different from the above kO positions are randomly determined to be the first kl read addresses. After this, partial interleaving is applied to the remaining (K kl) bits, and addition is performed in the order of read addresses. The same processing is performed for the third and subsequent partially interleaved blocks. [0086] As a result, even in the above-described RA encoder 1A, as shown in FIG. 8, for example, in the Tanner graph of the resulting code, the same node pair is double-connected by an edge (ie, the block (Refer to reference numeral 90), and as a result, generation of “unintentional code” can be avoided and characteristic deterioration can be avoided.

〔C〕インターリーブパターン (読み出しインデックス)の生成手法  [C] Generation method of interleave pattern (read index)

前述した第 1実施形態において、部分インターリーブブロック毎に異なるインターリ ーブパターンで部分インターリーブを逐次的に実行する場合に、第 1の部分インター リーブブロックに適用する部分インターリーバ 4 iとして、例えば、前記の 3GPPで仕 様ィ匕されて 、るターボ符号で用いられる PIL (前記非特許文献 3参照)を用いるものと する。これに対して、第 2以降の部分インターリーブブロックに適用する部分インター リーバ 4を以下の手順で構成する。  In the first embodiment described above, when partial interleaving is sequentially performed with a different interleaving pattern for each partial interleave block, as the partial interleaver 4 i applied to the first partial interleave block, for example, the above 3GPP It is assumed that PIL (see Non-Patent Document 3) used in the turbo code is used. On the other hand, the partial interleaver 4 applied to the second and subsequent partial interleave blocks is configured as follows.

[0087] 即ち、それぞれの部分インターリーバ 4 iに対して、互いに異なる(M— 1)以下の正 の整数 (オフセット値) b (i= l, · ··, a— 1)を付与する。この数は可能な限り、最大の繰 り返し回数 q よりも大きな数とする。そして、例えば図 9に示すように、前記インターリ max  That is, positive integers (offset values) b (i = 1,..., A−1) which are different from each other (M−1) or less are assigned to each partial interleaver 4 i. This number should be greater than the maximum number of repetitions q where possible. For example, as shown in FIG.

ーブパターン制御部 46に、異なるインターリーブパターン (読み出しインデックス)を 読み出し相対位置メモリ 42で他の異なる部分インターリーブブロックについて使用し たインターリーブパターン (読み出しインデックス)に対して所定の置換処理を行なつ て生成する読み出しインデックス制御部 (インターリーブパターン置換生成部) 45を 付加する。  Reads out a different interleave pattern (read index) to the read pattern control unit 46 and performs a predetermined replacement process on the interleave pattern (read index) used for other different partial interleave blocks in the relative position memory 42 An index control unit (interleave pattern replacement generation unit) 45 is added.

[0088] これにより、タイミングカウンタ 44からの更新タイミングに従って、この読み出 Wン デッタス制御部 45において、 j番目の部分インターリーブブロックについての読み出 し相対位置メモリ 42における相対的な読み出しインデックス rを、第 1の(i=0番目の )部分インターリーブブロックについての読み出しインデックス rのそれぞれに対して、 上記整数 bを、 Mを法として加算(r +b mod M→r)することで求めることができる。  Thus, according to the update timing from the timing counter 44, the read W length control unit 45 sets the relative read index r in the read relative position memory 42 for the j-th partial interleave block. For each read index r for the first (i = 0th) partially interleaved block, the above-mentioned integer b can be obtained by adding (r + b mod M → r) with M modulo .

[0089] その結果、インターリーブパターン生成部 43は、読み出し相対位置メモリ 42に対し て初回(第 1の部分インターリーブブロックについて)のみインターリーブパターンを与 えるだけで済み、それ以降の部分インターリーブブロックについては、それぞれ、読 み出しインデックス制御部 45により、上述のごとく読み出しインデックスをオフセット値 b;により更新 (置換)してゆくことで、部分インターリーブブロック毎に異なるインターリ ーブパターンの部分インターリーブを適用することが可能となる。 As a result, the interleave pattern generation unit 43 only needs to give the read relative position memory 42 an interleave pattern only for the first time (for the first partial interleave block), and for the subsequent partial interleave blocks, The read index control unit 45 sets the read index as an offset value as described above. By updating (replacing) with b ;, it becomes possible to apply partial interleaving with different interleaving patterns for each partial interleaving block.

[0090] このように、各部分インターリーブブロックについて、 1つのサイズ Mのインターリー ブパターンに規定数の(mod M)の加算を行なったものを相対的な読み出しインデッ タスとして用いることで、各部分インターリーブブロック毎に必要なインターリーブパタ ーンを生成し直す場合に比して、インターリーブパターンの生成処理を lZaに短縮 することができる。 [0090] As described above, for each partial interleave block, a specified number of (mod M) added to one size M interleave pattern is used as a relative read index, so that each partial interleave block is used. Compared to regenerating the necessary interleave pattern for each block, the interleave pattern generation process can be shortened to lZa.

[0091] なお、部分インターリーバ 4 iとして条件付ランダムインターリーバを用いる場合に は、 1つの部分インターリーバ 4についてだけ 0 (M2)の処理量がかかり、他の部分ィ ンターリーバ 4 iについてはそれから簡単な加算および整数の除算処理で求めるこ とができるので、処理量は lZaに + αしただけで済むことになる。 [0091] When a conditional random interleaver is used as the partial interleaver 4 i, a processing amount of 0 (M 2 ) is applied to only one partial interleaver 4, and the other partial interleaver 4 i is Since it can be obtained by simple addition and integer division processing, the processing amount is only required to be added to lZa + α.

さらに、部分インターリーバ 4 iとして構成的ランダムインターリーバを適用した場合 でも、読み出 Wンデッタスの生成に整数の加算と除算以上の処理を要する場合に は処理量の短縮になる。また、 1つのサイズによってインターリーブパターンが 1通り に決定してしまうような場合には、これにより同じサイズで異なるパターンのインターリ ーバを生成する方法となる。  Furthermore, even when a structural random interleaver is applied as the partial interleaver 4 i, the amount of processing is reduced when the processing of adding or dividing integers or more is required for the generation of the read word size. In addition, when one type of interleave pattern is determined by one size, this is a method of generating interleavers of the same size but different patterns.

[0092] また、上述したインターリーブパターンの生成手法は、第 2実施形態の RA符号器 1 Aに適用することも勿論可能である。  Further, the above-described interleave pattern generation method can of course be applied to the RA encoder 1 A of the second embodiment.

以上詳述したように、本実施形態によれば、 IRA符号や RA符号をはじめとするラン ダムなインターリーブ処理を用いる符号ィ匕法により定義される符号において、インタ 一リーブ対象の符号列を分割して部分インターリーブすることで、特性を劣化させず にインターリーブパターン生成の複雑さを軽減でき、処理量または処理時間を分割 数に従って小さくすることができる。  As described in detail above, according to the present embodiment, the code sequence to be interleaved is divided in codes defined by the code method using random interleaving such as IRA codes and RA codes. By performing partial interleaving, the complexity of generating an interleave pattern can be reduced without degrading characteristics, and the processing amount or processing time can be reduced according to the number of divisions.

[0093] なお、本発明は、上述した各実施形態及び変形例に限定されず、本発明の趣旨を 逸脱しな 、範囲で種々変形して実施できることは 、うまでもな!/、。 Note that the present invention is not limited to the above-described embodiments and modifications, and it goes without saying that various modifications can be made within the scope without departing from the spirit of the present invention.

産業上の利用可能性  Industrial applicability

[0094] 本発明によれば、 IRA符号や RA符号をはじめとするランダムなインターリーブ処理 を用いる符号ィ匕法により定義される符号において、インターリーブ対象の符号列を分 割して部分インターリーブすることで、特性を劣化させずにインターリーブパターン生 成の複雑さを軽減でき、処理量または処理時間を分割数に従って小さくできるので、 デジタル情報通信システム等をはじめとする情報技術分野において極めて有用と考 えられる。 [0094] According to the present invention, a code sequence to be interleaved is separated in codes defined by a code method using random interleaving processing such as IRA codes and RA codes. By dividing and partially interleaving, the complexity of generating an interleave pattern can be reduced without degrading the characteristics, and the amount of processing or processing time can be reduced according to the number of divisions. It is considered extremely useful in the field.

Claims

請求の範囲 The scope of the claims [1] K個(Κは正の整数)の情報要素力もインターリーブ処理を用いて Μ個(Μは正の整 数)のパリティ符号を生成し、該情報要素と該パリティ符号とでサイズ Ν=Κ+Μの符 号を生成する符号化装置であって、  [1] K (Κ is a positive integer) information element power is also generated by interleaving to generate パ リ テ ィ (Μ is a positive integer) parity code, and the size of the information element and the parity code Ν = An encoding device that generates a sign of Κ + Μ, 前記 Κ個の情報要素のそれぞれについて指定の繰り返し回数だけ繰り返し符号ィ匕 を行なう繰り返し符号化部と、  An iterative encoding unit that performs an iterative code for each of the number of information elements for a specified number of repetitions; 該繰り返し符号ィ匕部による繰り返し符号ィ匕結果を複数の部分インターリーブブロッ ク毎に異なるインターリーブパターンで部分インターリーブするインターリーブ処理部 と、  An interleaving processing unit for partially interleaving the repeated code key result by the repeated code key unit with a different interleave pattern for each of a plurality of partial interleave blocks; 上記部分インターリーブ後の異なる前記部分インターリーブブロック力 それぞれ 部分インターリーブ結果を指定サイズの加算ブロック分ずつ選択して加算する加算 部と、  An adder that selects and adds the partial interleave results for each of the added blocks of the specified size; 該加算部による加算結果について畳み込み符号化を施して Μ個の前記パリティ符 号を出力する畳み込み符号ィ匕部とをそなえたことを特徴とする、符号ィ匕装置。  An encoder apparatus comprising: a convolutional code key unit that performs convolutional coding on the addition result of the adder unit and outputs the number of parity codes. [2] 前記繰り返し符号ィ匕結果を Ε個 (Εは正の整数)、該加算部での i番目の前記加算 ブロックの前記指定サイズを a (i = 0, · ··, M— 1)、前記加算ブロックの最大サイズを a 、前記パリティ符号数 M以下の正の整数を M (1 = 0, · ··, a —1)としたときに、該ィ max 1 max [2] The number of the result of the repetition code 符号 is を (Ε is a positive integer), and the specified size of the i-th addition block in the addition unit is a (i = 0, ···, M-1) When the maximum size of the addition block is a and the positive integer equal to or less than the parity code number M is M (1 = 0,..., A —1), the max 1 max ンタリーブ処理部力 下記 (4.1)式を満足する各サイズ a の前記部分インターリーブ max  Interleaving processing force The partial interleaving max of each size a satisfying the following formula (4.1) ブロック毎に前記部分インターリーブを施すべく構成されるとともに、  It is configured to perform the partial interleaving for each block, 該加算部が、前記各加算ブロックの上記指定サイズ a分だけ、それぞれ、前記部分 インターリーブ後の前記各部分インターリーブブロックの先頭から 1つずつ前記部分 インターリーブ結果を選択して加算すべく構成されたことを特徴とする、請求項 1記載 の符号化装置。  The adder is configured to select and add the partial interleave results one by one from the beginning of each partial interleave block after the partial interleave, for the specified size a of each addition block. The encoding device according to claim 1, wherein: [数 8]  [Equation 8] 1  1 E = J ,. - " (4.1)  E = J,.-"(4.1) [3] 該インターリーブ処理部力 前記各部分インターリーブブロックに共通であって、前 記各部分インターリーブブロックに対して逐次的に前記部分インターリーブを施す共 通部分インターリーバをそなえ、 [3] The interleaving processing power is common to each partial interleave block, and the partial interleaving is performed sequentially on each partial interleave block. With a partial interleaver, 該加算部が、該共通部分インターリーバによる逐次的な部分インターリーブの結果 を逐次的に加算すべく構成されたことを特徴とする、請求項 1又は 2に記載の符号ィ匕 装置。  3. The encoding device according to claim 1, wherein the adding unit is configured to sequentially add the results of sequential partial interleaving by the common partial interleaver. [4] 前記指定サイズ aが一定であることを特徴とする、請求項 2又は 3に記載の符号ィ匕 装置。  [4] The encoding device according to claim 2 or 3, wherein the designated size a is constant. [5] 前記繰り返し符号化結果が、第 1及び第 2の部分インターリーブブロックに mO個及 び ml個(mO、 mlはいずれも正の整数)に分かれて属する場合に、前記第 1の部分 インターリーブブロックについての前記部分インターリーブにより上記 mO個の繰り返 し符号ィ匕結果にっ 、て定まる位置を避けて、上記 ml個の繰り返し符号化結果の前 記第 2の部分インターリーブブロック内での相対的な位置を定めておき、該インターリ ーブ処理部力 前記第 2のインターリーブブロックの上記 ml個を除く残りの繰り返し 符号ィ匕結果にっ ヽて前記部分インターリーブを施すように構成されたことを特徴とす る、請求項 1一 4のいずれか 1項に記載の符号化装置。  [5] When the repetitive coding result belongs to the first and second partial interleave blocks divided into mO and ml (mO and ml are both positive integers), the first partial interleave The partial interleaving of the block avoids the position determined by the mO repetitive coding results, and the relative number of the ml repetitive coding results within the second partial interleaving block. The interleave processing unit force is configured to perform the partial interleaving based on the result of the remaining repetitive code excluding the ml blocks of the second interleave block. The encoding device according to any one of claims 1 to 4. [6] 該繰り返し符号化部が、  [6] The iterative encoding unit comprises: 前記 K個の情報要素のそれぞれについての前記繰り返し回数分の繰り返し符号が それぞれ異なる前記部分インターリーブブロックに属するように前記繰り返し符号ィ匕 結果を該インターリーブ処理部へ出力すべく構成されたことを特徴とする、請求項 1 記載の符号化装置。  The repetition code key result is output to the interleave processing unit so that the repetition codes for the number of repetitions for each of the K information elements belong to different partial interleave blocks, respectively. The encoding device according to claim 1. [7] 前記繰り返し符号ィ匕結果を E個、該繰り返し符号ィ匕部での前記繰り返し回数を q (i  [7] E number of repetition code key results, and q (i =0, · ··, q 1)、その最大値を q としたときに、該繰り返し符号化部が、前記繰り max max  = 0,..., Q 1), and when the maximum value is q, the repetitive coding unit 返し符号がそれぞれ異なる前記部分インターリーブブロックに分配されるよう前記繰 り返し符号化結果を q 個のブロックであってそれぞれのブロックサイズが下記の max  The repetitive encoding result is q blocks so that the return codes are distributed to the different partially interleaved blocks. (4.2)式を満足する K以下の正の整数 K (i=0, · ··, q 1)であるブロック単位で該ィ  (4.2) Satisfy Eq. (1) in block units that are positive integers K or less K (i = 0, ..., q 1) 1 max  1 max ンターリーブ処理部へ出力すべく構成されるとともに、  Configured to output to the interleave processing unit, 該インターリーブ処理部力 上記各ブロックについてサイ κの部分インターリーブ を施すべく構成されたことを特徴とする、請求項 6記載の符号化装置。  7. The encoding apparatus according to claim 6, wherein the interleaving processing unit is configured to perform partial interleaving of size κ for each block. [数 9] E = g Kt --(4.2) [Equation 9] E = g K t- (4.2) [8] 前記 q;が一定であることを特徴とする、請求項 6又は 7に記載の符号化装置。 [8] The q; characterized in that it is a constant, the encoding apparatus according to claim 6 or 7. [9] 前記加算ブロックに含まれる前記繰り返し符号化結果が、第 1及び第 2の部分イン ターリーブブロックにそれぞれ kO個及び kl個(k0、 klはいずれも正の整数)に分力、 れて属する場合に、前記 kO個の繰り返し符号ィ匕結果にっ 、て前記部分インターリー ブにより定まる位置を避けて、上記 kl個の繰り返し符号化結果が属する前記第 2の 部分インターリーブブロック内での相対的な位置を定めておき、該インターリーブ処 理部力 前記第 2のインターリーブブロックの上記 kl個を除く残りの繰り返し符号ィ匕 結果について前記部分インターリーブを施すように構成されたことを特徴とする、請 求項 7又は 8に記載の符号化装置。 [9] The iterative encoding results included in the addition block are divided into kO and kl (k0 and kl are positive integers) in the first and second partial interleave blocks, respectively. In the second partial interleave block to which the kl repeated coding results belong, avoiding the position determined by the partial interleaving according to the kO repeated coding results. Relative positions are determined, and the interleave processing unit power is configured to perform the partial interleaving on the remaining repetitive code i results excluding the kl pieces of the second interleave block. The encoding device according to claim 7 or 8. [10] 該インターリーブ処理部が、 [10] The interleave processing unit 前記部分インターリーブブロックに属する前記繰り返し符号化結果を所定の書き込 み順序で保持するメモリと、  A memory for holding the repetitive encoding result belonging to the partial interleave block in a predetermined writing order; 前記インターリーブパターンに従って該書き込み順序とは異なる読み出し順序で前 記繰り返し符号ィ匕結果を読み出すことにより前記部分インターリーブを施す読み出し 制御部と、  A read control unit that performs the partial interleaving by reading the repetition code key result in a read order different from the write order according to the interleave pattern; 該メモリに保持される異なる部分インターリーブブロック毎に異なるインターリーブパ ターンを生成して該読み出し制御部へ与えるインターリーブパターン制御部とをそな えたことを特徴とする、請求項 1一 9のいずれか 1項に記載の符号ィ匕装置。  The interleave pattern control unit that generates a different interleave pattern for each of the different partial interleave blocks held in the memory and supplies the interleave pattern to the read control unit is provided. The code | symbol apparatus as described in a term. [11] 該インターリーブパターン制御部が、 [11] The interleave pattern control unit 上記異なるインターリーブパターンを該読み出し制御部で他の異なる部分インター リーブブロックについて使用したインターリーブパターンに対して所定の置換処理を 行なって生成するインターリーブパターン置換生成部をそなえたことを特徴とする、 請求項 10記載の符号化装置。  An interleave pattern replacement generation unit configured to generate the different interleave pattern by performing predetermined replacement processing on an interleave pattern used for another different partial interleave block in the read control unit. 10. The encoding device according to 10. [12] K個の情報要素からインターリーブ処理を用いて M個のパリティ符号を生成し、該 情報要素と該パリティ符号とでサイズ N=K+Mの符号を生成する符号化方法であ つて、 前記 K個の情報要素のそれぞれについて指定の繰り返し回数だけ繰り返し符号ィ匕 を行なう繰り返し符号化過程と、 [12] An encoding method for generating M parity codes from K information elements using interleaving, and generating a code of size N = K + M using the information elements and the parity codes. An iterative encoding process in which each of the K information elements is iteratively coded for a specified number of iterations; その繰り返し符号ィ匕結果を複数の部分インターリーブブロック毎に異なるインターリ ーブパターンで部分インターリーブする部分インターリーブ過程と、  A partial interleaving process of partially interleaving the repetition code key result with a different interleave pattern for each of the plurality of partial interleave blocks; その結果にっ ヽて、異なる前記部分インターリーブブロックカゝらそれぞれ部分インタ 一リーブ結果を指定サイズの加算ブロック分ずつ選択して加算する加算過程と、 その加算結果について畳み込み符号化を施して Μ個の前記パリティ符号を出力す る畳み込み符号化過程とを有することを特徴とする、符号化方法。  Based on the result, an addition process of selecting and adding the partial interleave results for each of the different interleaved blocks from the different partial interleave block cars, and applying the convolutional coding to the addition results. And a convolutional encoding process for outputting the parity code. 上記部分インターリーブ過程において、前記各部分インターリーブブロックに対して 逐次的に前記部分インターリーブを施し、  In the partial interleaving process, each partial interleave block is sequentially subjected to the partial interleaving, 上記加算過程において、上記逐次的な部分インターリーブの結果を逐次的に加算 することを特徴とする、請求項 12記載の符号化方法。  13. The encoding method according to claim 12, wherein in the addition process, the results of the sequential partial interleaving are sequentially added.
PCT/JP2005/002482 2005-02-17 2005-02-17 Encoding apparatus and encoding method Ceased WO2006087792A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2005/002482 WO2006087792A1 (en) 2005-02-17 2005-02-17 Encoding apparatus and encoding method
JP2007503532A JP4357561B2 (en) 2005-02-17 2005-02-17 Encoding apparatus and encoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/002482 WO2006087792A1 (en) 2005-02-17 2005-02-17 Encoding apparatus and encoding method

Publications (1)

Publication Number Publication Date
WO2006087792A1 true WO2006087792A1 (en) 2006-08-24

Family

ID=36916208

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/002482 Ceased WO2006087792A1 (en) 2005-02-17 2005-02-17 Encoding apparatus and encoding method

Country Status (2)

Country Link
JP (1) JP4357561B2 (en)
WO (1) WO2006087792A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008136212A (en) * 2006-11-27 2008-06-12 Ntt Docomo Inc Encoder and decoder for concatenated zigzag codes based on improved UMTS-based interleaving
JP2008154229A (en) * 2006-11-27 2008-07-03 Ntt Docomo Inc Encoder and decoder for zigzag codes with improved interleaving
JP2008537410A (en) * 2005-04-15 2008-09-11 トレリスウェア テクノロジーズ インコーポレイテッド Crash-free irregular repeat accumulative code
WO2009092247A1 (en) * 2007-12-29 2009-07-30 Huawei Technologies Co., Ltd. Interleaving method based on ldpc code, deinterleaving method, interleaver, and deinterleaver thereof
CN101577552B (en) * 2009-05-31 2011-04-27 清华大学 Method for coding high code-rate repeat-accumulate codes with low complexity
CN101404506B (en) * 2008-10-21 2011-10-12 北京科技大学 RA code operation circuit based on FPGA and its design method
KR101267654B1 (en) 2012-02-13 2013-05-24 단국대학교 산학협력단 Method for encoding and decoding irregular repeat multiple-state accumulate codes supportig variable length codeword and apparatuses using the same
JP2013168719A (en) * 2012-02-14 2013-08-29 Hitachi Kokusai Electric Inc Receiver and method for decoding received signal
US9450704B2 (en) 2013-04-08 2016-09-20 Samsung Electronics Co., Ltd. Transmitting apparatus, interleaving method thereof, receiving apparatus, and deinterleaving method thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08279799A (en) * 1995-04-08 1996-10-22 Nec Corp Parallel data transmitter
JP2000232687A (en) * 1998-10-28 2000-08-22 Inmarsat Ltd Method and device for communication
JP2001274776A (en) * 2000-03-24 2001-10-05 Toshiba Corp Information data transmission system and its transmitting device and receiving device
JP2001352253A (en) * 2000-06-08 2001-12-21 Sony Corp Encoding device and encoding method, and decoding device and decoding method
JP2002237756A (en) * 2001-02-09 2002-08-23 Hitachi Ltd Encoding method, decoding method, encoding circuit, decoding circuit, storage device, storage medium, communication device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08279799A (en) * 1995-04-08 1996-10-22 Nec Corp Parallel data transmitter
JP2000232687A (en) * 1998-10-28 2000-08-22 Inmarsat Ltd Method and device for communication
JP2001274776A (en) * 2000-03-24 2001-10-05 Toshiba Corp Information data transmission system and its transmitting device and receiving device
JP2001352253A (en) * 2000-06-08 2001-12-21 Sony Corp Encoding device and encoding method, and decoding device and decoding method
JP2002237756A (en) * 2001-02-09 2002-08-23 Hitachi Ltd Encoding method, decoding method, encoding circuit, decoding circuit, storage device, storage medium, communication device

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DIVSALAR D. ET AL: "Coding theorems for 'turbo-like' codes.", PROC.36TH ALLETON CONF. ON COMMUNICATION, CONTROL, AND COMPUTING., September 1998 (1998-09-01), pages 201 - 210, XP000901692 *
HUI JIN ET AL: "Irregular Repeat-Accumulate Codes.", PROC.2ND.INT.SYMP.TURBO CODES AND RELATED TOPICS., September 2000 (2000-09-01), pages 1 - 8, XP002325752 *
YANG M. ET AL: "Design of Efficiently Encodable Moderate-Leng th High-Rate Irregular LDPC Codes.", IEEE TRANSACTIONS ON COMMUNICATIONS., vol. 52, no. 4, April 2004 (2004-04-01), pages 564 - 571, XP002312175 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008537410A (en) * 2005-04-15 2008-09-11 トレリスウェア テクノロジーズ インコーポレイテッド Crash-free irregular repeat accumulative code
JP2008136212A (en) * 2006-11-27 2008-06-12 Ntt Docomo Inc Encoder and decoder for concatenated zigzag codes based on improved UMTS-based interleaving
JP2008154229A (en) * 2006-11-27 2008-07-03 Ntt Docomo Inc Encoder and decoder for zigzag codes with improved interleaving
WO2009092247A1 (en) * 2007-12-29 2009-07-30 Huawei Technologies Co., Ltd. Interleaving method based on ldpc code, deinterleaving method, interleaver, and deinterleaver thereof
CN101404506B (en) * 2008-10-21 2011-10-12 北京科技大学 RA code operation circuit based on FPGA and its design method
CN101577552B (en) * 2009-05-31 2011-04-27 清华大学 Method for coding high code-rate repeat-accumulate codes with low complexity
KR101267654B1 (en) 2012-02-13 2013-05-24 단국대학교 산학협력단 Method for encoding and decoding irregular repeat multiple-state accumulate codes supportig variable length codeword and apparatuses using the same
JP2013168719A (en) * 2012-02-14 2013-08-29 Hitachi Kokusai Electric Inc Receiver and method for decoding received signal
US9059829B2 (en) 2012-02-14 2015-06-16 Hitachi Kokusai Electric Inc. Receiver and received signal decoding method
US9450704B2 (en) 2013-04-08 2016-09-20 Samsung Electronics Co., Ltd. Transmitting apparatus, interleaving method thereof, receiving apparatus, and deinterleaving method thereof

Also Published As

Publication number Publication date
JP4357561B2 (en) 2009-11-04
JPWO2006087792A1 (en) 2008-07-03

Similar Documents

Publication Publication Date Title
CN107370490B (en) Structured LDPC encoding and decoding method and device
JP4672016B2 (en) Encoding and decoding method using low density parity check matrix
CN102638274B (en) Operate the Apparatus and method for of transmitter using the structured LDPC design of vector line packet
CN101924565B (en) LDPC encoders, decoders, systems and methods
JP5231453B2 (en) LDPC encoding and decoding of variable size packets
US7783952B2 (en) Method and apparatus for decoding data
JP5506879B2 (en) Channel decoding apparatus and method for communication system using low density parity check code
KR20200013794A (en) Information processing methods, devices and communication devices
US20080222486A1 (en) Methods and apparatus for encoding and decoding low density parity check (ldpc) codes
JP2010532129A (en) Generate parity check matrix
JPH11298339A5 (en)
CN110999092A (en) Simplified pre-ordered syndrome-based Extended Minimum Sum (EMS) decoding of non-binary LDPC codes
WO2006087792A1 (en) Encoding apparatus and encoding method
CN111034057B (en) Equipment and method for generating multi-core polarization code
CN107612559B (en) Generation method based on the duplicate polynary polarization code of multiplying property
JP4832447B2 (en) Decoding apparatus and method using channel code
JP2009260692A (en) Decoding apparatus and decoding method
CN1973440A (en) LDPC encoder, decoder, system and method
CN102130694A (en) Circuit for parallelly encoding quasi-cyclic low-density parity check code
Hou et al. New regenerating codes over binary cyclic codes
CN102611465A (en) Coder of structured q-ary irregular repeat-accumulate code and coding method of coder
Sakzad et al. Turbo lattices: construction and performance analysis
CN108736898B (en) A LDPC code codec multiplexing method suitable for 5G system
Zhao et al. A Class of Low-Complexity Codes Based on Doubly Recursive Block Markov Superposition Transmission
JP5434890B2 (en) Encoding apparatus, encoding method, and program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2007503532

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 05710332

Country of ref document: EP

Kind code of ref document: A1

WWW Wipo information: withdrawn in national office

Ref document number: 5710332

Country of ref document: EP