WO2023149318A1 - 送信装置、送信方法、受信装置、及び、受信方法 - Google Patents

送信装置、送信方法、受信装置、及び、受信方法 Download PDF

Info

Publication number
WO2023149318A1
WO2023149318A1 PCT/JP2023/002351 JP2023002351W WO2023149318A1 WO 2023149318 A1 WO2023149318 A1 WO 2023149318A1 JP 2023002351 W JP2023002351 W JP 2023002351W WO 2023149318 A1 WO2023149318 A1 WO 2023149318A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
ldpc code
matrix
bits
ldpc
Prior art date
Application number
PCT/JP2023/002351
Other languages
English (en)
French (fr)
Inventor
雄二 篠原
真紀子 山本
Original Assignee
ソニーグループ株式会社
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 ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2023149318A1 publication Critical patent/WO2023149318A1/ja

Links

Images

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/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/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming 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/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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Definitions

  • the present technology relates to a transmitting device, a transmitting method, a receiving device, and a receiving method, and in particular, for example, in data transmission using LDPC codes, a transmitting device and a transmitting method that can ensure good communication quality. , a receiving device, and a receiving method.
  • LDPC Low Density Parity Check
  • DVB Digital Video Broadcasting-S.2 in Europe, etc. It is widely used in transmission systems such as digital broadcasting such as ATSC (Advanced Television Systems Committee) 3.0 in the United States (for example, see Non-Patent Document 1).
  • LDPC codes like turbo codes, can achieve performance close to the Shannon limit as the code length is increased.
  • LDPC codes have the property that the minimum distance is proportional to the code length, so as their characteristics, block error probability characteristics are good, and furthermore, the so-called error floor phenomenon observed in decoding characteristics such as turbo codes is reduced. Another advantage is that it rarely occurs.
  • the LDPC code is a symbol of quadrature modulation (digital modulation) such as QPSK (Quadrature Phase Shift Keying) (symbolized), and the symbol is a signal point of quadrature modulation. Mapped and sent.
  • This technology has been developed in view of this situation, and is intended to ensure good communication quality in data transmission using LDPC codes.
  • a transmission device/method of the present technology includes an encoding unit/step that performs LDPC encoding based on an LDPC code parity check matrix having a code length N of 17280 bits and a coding rate r of 14/16, and the LDPC code
  • a group-wise interleaving unit/step that performs group-wise interleaving that interleaves in 360-bit bit group units, and the LDPC code in units of 4 bits, 16 signals of 2D-NUC (Non-Uniform Constellation) of 16 QAM
  • a mapping unit/step that maps to any of the points, and in the group-wise interleaving, the bit group of the 17280-bit LDPC code is defined as the i + 1th bit group from the beginning of the LDPC code as a bit group i.
  • the LDPC code includes information bits and parity bits
  • the parity check matrix includes an information matrix section corresponding to the information bits and a parity matrix section corresponding to the parity bits
  • the information matrix section is , a parity check matrix initial value table, wherein the parity check matrix initial value table is a table representing the position of one element in the information matrix part for every 360 columns, 337 376 447 504 551 864 872 975 1136 1225 1254 1271 1429 1478 1870 2122 58 121 163 365 515 534 855 889 1083 1122 1190 1448 1476 1635 1691 1954 247 342 395 454 479 665 674 1033 1041 1198 1300 1484 1680 1941 2096 2121 80 487 500 513 661 970 1038 10
  • the code length N is 17280 bits
  • the coding rate r is LDPC coding based on the parity check matrix of the LDPC code of 14/16, and the LDPC code is 360 bits.
  • Group-wise interleaving is performed by interleaving in units of bit groups of .
  • the LDPC code is mapped to one of 16 signal points of 2D-NUC (Non-Uniform Constellation) of 16QAM in units of 4 bits.
  • the i + 1-th bit group from the beginning of the LDPC code is bit group i
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 3 35 16 36 41 32 7 20 39 38 1 47 5 24 14 17 0 34 2 6 13 43 9 15 31 37 21 46 25 26 11 42 30 40 44 10 23 18 8 22 29 28 45 4 33 19 12 27 are interleaved alongside.
  • the LDPC code includes information bits and parity bits
  • the parity check matrix includes an information matrix section corresponding to the information bits and a parity matrix section corresponding to the parity bits
  • the information matrix section is a parity check matrix initial value.
  • parity check matrix initial value table is a table representing the position of one element in the information matrix part for each 360 columns, 337 376 447 504 551 864 872 975 1136 1225 1254 1271 1429 1478 1870 2122 58 121 163 365 515 534 855 889 1083 1122 1190 1448 1476 1635 1691 1954 247 342 395 454 479 665 674 1033 1041 1198 1300 1484 1680 1941 2096 2121 80 487 500 513 661 970 1038 1095 1109 1133 1416 1545 1696 1992 2051 2089 32 101 205 413 568 712 714 944 1329 1669 1703 1826 1904 1908 2014 2097 142 201 491 838 860 954 960 965 997 1027 1225 1488 1502 1521 1737 1804 453 1184 1542 10 781 1709 497 903 1546 1080 1640 1861 1198 1616 1817 771 978 2089 369 1079
  • a receiving apparatus/method of the present technology includes an encoding step of performing LDPC encoding based on an LDPC code parity check matrix with a code length N of 17280 bits and a coding rate r of 14/16; A group-wise interleaving step that performs group-wise interleaving for interleaving in 360-bit bit group units, and the LDPC code in 4-bit units out of 16 signal points of 16QAM 2D-NUC (Non-Uniform Constellation)
  • the i + 1-th bit group from the beginning of the LDPC code is defined as bit group i
  • the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is , bit groups 3 35 16 36 41 32 7 20 39 38 1 47 5 24 14 17 0 34 2 6 13 43 9 15 31 37 21 46 25 26 11 42 30 40 44 10 23 18 8 22 29 28 45 4 33 19 12 27 and interleaved
  • the LDPC code includes information bits and parity bits, the par
  • group-wise deinterleaving is performed to restore the sequence of the LDPC codes after group-wise interleaving, which is obtained from the data transmitted by the transmission method of the present technology.
  • the transmitting device and the receiving device may be independent devices, or may be internal blocks constituting one device.
  • FIG. 3 is a diagram for explaining parity check matrix H of an LDPC code
  • 10 is a flowchart for explaining the decoding procedure of an LDPC code
  • FIG. 4 is a diagram showing an example of a parity check matrix of an LDPC code
  • It is a figure which shows the example of the Tanner graph of a parity check matrix.
  • FIG. 10 is a diagram showing an example of a variable node
  • FIG. FIG. 4 is a diagram showing an example of check nodes
  • 1 is a diagram illustrating a configuration example of an embodiment of a transmission system to which the present technology is applied
  • FIG. 2 is a block diagram showing a configuration example of a transmission device 11
  • FIG. 3 is a block diagram showing a configuration example of a bit interleaver 116; FIG. It is a figure which shows the example of a parity check matrix.
  • FIG. 4 is a diagram showing an example of a parity matrix;
  • FIG. 2 is a diagram illustrating a parity check matrix of an LDPC code stipulated in the DVB-T.2 standard;
  • FIG. 2 is a diagram illustrating a parity check matrix of an LDPC code stipulated in the DVB-T.2 standard;
  • FIG. 10 is a diagram showing an example of a Tanner graph for decoding an LDPC code;
  • FIG. 3 is a diagram showing an example of a parity matrix H T having a staircase structure and a Tanner graph corresponding to the parity matrix H T ;
  • FIG. 10 is a diagram illustrating a method of obtaining a parity check matrix H from a parity check matrix initial value table; It is a figure which shows the structure of a parity check matrix. It is a figure which shows the example of a parity check matrix initial value table.
  • FIG. 10 is a diagram illustrating an A matrix generated from a parity check matrix initial value table;
  • FIG. 10 is a diagram illustrating parity interleaving of a B matrix;
  • FIG. 4 is a diagram illustrating a C matrix generated from a check matrix initial value table;
  • FIG. 4 is a diagram explaining parity interleaving of a D matrix;
  • FIG. 10 is a diagram illustrating a method of obtaining a parity check matrix H from a parity check matrix initial value table; It is a figure which shows the structure of a parity check matrix. It is a figure which shows the example of a parity check matrix initial value table.
  • FIG. 10 is a diagram illustrating an A matrix generated from
  • FIG. 10 is a diagram showing a parity check matrix subjected to column permutation as parity de-interleaving for restoring parity interleaving.
  • FIG. 4 is a diagram showing a transformed check matrix obtained by performing row permutation on a check matrix
  • FIG. 10 is an example of a Tanner graph for an ensemble of degree sequences with a column weight of 3 and a row weight of 6;
  • FIG. 10 is a diagram showing an example of a Tanner graph of a multi-edge type ensemble;
  • FIG. 10 is a diagram showing an example of a Tanner graph of a multi-edge type ensemble;
  • FIG. 4 is a diagram explaining a parity check matrix of the type A scheme;
  • FIG. 4 is a diagram explaining a parity check matrix of the type A scheme;
  • FIG. 4 is a diagram for explaining a parity check matrix of the type B scheme;
  • FIG. 4 is a diagram for explaining a parity check matrix of the type B scheme;
  • FIG. 4 is a diagram showing an example of coordinates of UC signal points when the modulation scheme is QPSK;
  • FIG. 10 is a diagram showing an example of coordinates of signal points of a 2D-NUC when the modulation scheme is 16QAM;
  • FIG. 4 is a diagram showing an example of coordinates of signal points of a 1D-NUC when the modulation scheme is 1024QAM;
  • FIG. 4 is a diagram showing the relationship between a 1024QAM symbol y and a position vector u.
  • FIG. 4 is a diagram showing an example of coordinates z q of signal points in QPSK-UC;
  • FIG. 4 is a diagram showing an example of coordinates z q of signal points in QPSK-UC;
  • FIG. 4 is a diagram showing an example of coordinates z q of signal points in 16QAM-UC;
  • FIG. 4 is a diagram showing an example of coordinates z q of signal points in 16QAM-UC;
  • FIG. 10 is a diagram showing an example of coordinates z q of signal points in 64QAM-UC;
  • FIG. 10 is a diagram showing an example of coordinates z q of signal points in 64QAM-UC;
  • FIG. 4 is a diagram showing an example of coordinates z q of signal points of 256QAM-UC;
  • FIG. 4 is a diagram showing an example of coordinates z q of signal points of 256QAM-UC;
  • FIG. 4 is a diagram showing an example of coordinates z q of signal points of 256QAM-UC;
  • FIG. 4 is a diagram showing an example of coordinates z q of signal
  • FIG. 10 is a diagram showing an example of coordinates z q of signal points of 1024QAM-UC;
  • FIG. 10 is a diagram showing an example of coordinates z q of signal points of 1024QAM-UC;
  • FIG. 10 is a diagram showing an example of coordinates z q of signal points of 4096QAM-UC;
  • FIG. 10 is a diagram showing an example of coordinates z q of signal points of 4096QAM-UC;
  • FIG. 10 is a diagram showing an example of coordinates zs of signal points of 16QAM-2D-NUC;
  • FIG. 10 is a diagram showing an example of coordinates zs of signal points of 64QAM-2D-NUC;
  • FIG. 10 is a diagram showing an example of coordinates zs of signal points of 256QAM-2D-NUC;
  • FIG. 10 is a diagram showing an example of coordinates zs of signal points of 256QAM-2D-NUC;
  • FIG. 10 is a diagram showing an example of coordinates zs of signal points of 1024QAM-1D-NUC;
  • FIG. 4 is a diagram showing the relationship between a 1024QAM symbol y and a position vector u.
  • FIG. 10 is a diagram showing an example of coordinates zs of signal points of 4096QAM-1D-NUC;
  • FIG. 4 is a diagram showing the relationship between a 4096QAM symbol y and a position vector u.
  • FIG. 10 is a diagram showing a third example of GW patterns for an LDPC code with a code length N of 17280 bits;
  • FIG. 10 is a diagram showing a fourth example of GW patterns for an LDPC code with a code length N of 17280 bits;
  • FIG. 10 is a diagram showing a fifth example of GW patterns for an LDPC code with a code length N of 17280 bits;
  • FIG. 13 is a diagram showing a sixth example of GW patterns for an LDPC code with a code length N of 17280 bits;
  • FIG. 12 is a diagram showing a seventh example of GW patterns for an LDPC code with a code length N of 17280 bits;
  • FIG. 10 is a diagram showing a third example of GW patterns for an LDPC code with a code length N of 17280 bits;
  • FIG. 10 is a diagram showing a fourth example of GW patterns for an LDPC code with a code length N of 17280 bits;
  • FIG. 10 is a diagram showing
  • FIG. 10 is a diagram showing an eighth example of GW patterns for an LDPC code with a code length N of 17280 bits
  • FIG. 20 is a diagram showing a ninth example of GW patterns for an LDPC code with a code length N of 17280 bits
  • FIG. 10 is a diagram showing a tenth example of GW patterns for an LDPC code with a code length N of 17280 bits
  • FIG. 11 is a diagram showing an eleventh example of a GW pattern for an LDPC code with a code length N of 17280 bits
  • FIG. 20 is a diagram showing a twelfth example of a GW pattern for an LDPC code with a code length N of 17280 bits
  • FIG. 20 is a diagram showing a thirteenth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a fourteenth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a fifteenth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a sixteenth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a seventeenth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a seventeenth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing an eighteenth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a nineteenth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a twentieth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 21 is a diagram showing a twenty-first example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 12 is a diagram showing a twenty-second example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 13 is a diagram showing a twenty-third example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 10 is a diagram showing a twenty-fourth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 13 is a diagram showing a twenty-fifth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a twenty-sixth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a twenty-seventh example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 13 is a diagram showing a twenty-eighth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a twenty-ninth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a thirtieth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a thirty-first example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 12 is a diagram showing a thirty-second example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a thirty-third example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 13 is a diagram showing a thirty-fourth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a thirty-fifth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a thirty-sixth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a thirty-seventh example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a thirty-eighth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a thirty-ninth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 13 is a diagram showing a 40th example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 13 is a diagram showing a forty-first example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a forty-second example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 13 is a diagram showing a forty-third example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a forty-fourth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a forty-fifth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • FIG. 20 is a diagram showing a forty-sixth example of a GW pattern for an LDPC code with a code length N of 17280 bits;
  • 2 is a block diagram showing a configuration example of a receiving device 12;
  • FIG. 3 is a block diagram showing a configuration example of a bit deinterleaver 165;
  • FIG. 10 is a flowchart illustrating an example of processing performed by a demapper 164, a bit deinterleaver 165, and an LDPC decoder 166;
  • FIG. 4 is a diagram showing an example of a parity check matrix of an LDPC code;
  • FIG. 10 is a diagram showing an example of a matrix (transformed parity check matrix) obtained by subjecting a parity check matrix to row permutation and column permutation; It is a figure which shows the example of the conversion check matrix divided
  • LDPC code is a linear code and does not necessarily have to be binary, but here it will be described as being binary.
  • LDPC codes The greatest feature of LDPC codes is that the parity check matrix that defines the LDPC code is sparse.
  • a sparse matrix is a matrix in which the number of "1"s in matrix elements is very small (a matrix in which most of the elements are 0).
  • FIG. 1 is a diagram showing an example of parity check matrix H of an LDPC code.
  • the weight of each column (column weight) (the number of "1"s) is "3", and the weight of each row (row weight) is "6". .
  • LDPC code In coding by LDPC code (LDPC coding), for example, a generator matrix G is generated based on parity check matrix H, and by multiplying binary information bits by this generator matrix G, a codeword (LDPC code ) is generated.
  • LDPC code codeword
  • the generator matrix G is a K ⁇ N matrix
  • the encoding device multiplies the generator matrix G by a bit string of information bits (vector u) consisting of K bits to obtain a code consisting of N bits.
  • vector u bit string of information bits
  • N bits consisting of N bits.
  • Generate the word c( uG).
  • a codeword (LDPC code) generated by this encoding device is received by the receiving side via a predetermined communication channel.
  • the decoding of the LDPC code is an algorithm proposed by Gallager called Probabilistic Decoding, which consists of a variable node (also called a message node) and a check node. can be done by a message-passing algorithm by belief propagation over a so-called Tanner graph.
  • the variable node and the check node are also simply referred to as nodes as appropriate.
  • FIG. 2 is a flowchart showing the procedure for decoding LDPC codes.
  • a real value (receiving LLR ) is also called the received value u 0i .
  • u j be the message output from the check node
  • v i be the message output from the variable node.
  • step S11 the LDPC code is received, the message (check node message) u j is initialized to "0", and as a counter for the iterative process is initialized to "0", and the process proceeds to step S12.
  • step S12 the message (variable node message) v i is obtained by performing the calculation (variable node calculation) shown in Equation (1) based on the received value u 0i obtained by receiving the LDPC code, and further, Based on this message v i , message u j is obtained by performing the operation (check node operation) shown in Equation (2).
  • d v and d c in equations (1) and (2) can be arbitrarily selected to indicate the number of “1”s in the vertical direction (column) and the horizontal direction (row) of parity check matrix H, respectively. parameter.
  • LDPC code ((3,6) LDPC code) for parity check matrix H with a column weight of 3 and a row weight of 6 as shown in FIG. Become.
  • variable node calculation of formula (1) and the check node calculation of (2) the message input from the edge (the line connecting the variable node and the check node) to output the message is is not subject to calculation, the range of calculation is 1 to d v -1 or 1 to d c -1.
  • the check node operation of formula (2) actually creates in advance a table of function R(v 1 , v 2 ) shown in formula (3) defined by one output for two inputs v 1 and v 2 . This is done by continuously (recursively) using this as shown in equation (4).
  • step S12 the variable k is further incremented by "1", and the process proceeds to step S13.
  • step S13 it is determined whether or not the variable k is greater than a predetermined iterative decoding number C. If it is determined in step S13 that the variable k is not greater than C, the process returns to step S12, and the same processing is repeated thereafter.
  • step S13 If it is determined in step S13 that the variable k is greater than C, the process proceeds to step S14, where the message v i as the decoding result to be finally output is obtained by performing the calculation shown in equation (5). is output, and the decoding process of the LDPC code ends.
  • equation (5) is performed using messages u j from all branches connected to the variable node, unlike the variable node computation of equation (1).
  • FIG. 3 is a diagram showing an example of the parity check matrix H of the (3,6) LDPC code (coding rate 1/2, code length 12).
  • the column weight is 3 and the row weight is 6, as in FIG.
  • FIG. 4 is a diagram showing a Tanner graph of the parity check matrix H in FIG.
  • a check node and a variable node correspond to rows and columns of the parity check matrix H, respectively.
  • a connection between the check node and the variable node is an edge, which corresponds to the element "1" of the parity check matrix.
  • a branch indicates that a code bit corresponding to a variable node has a constraint condition corresponding to a check node.
  • FIG. 5 is a diagram showing variable node operations performed at variable nodes.
  • the message v i corresponding to the branch to be calculated is the message u 1 and u 2 from the remaining branches connected to the variable node and the variable node Calculated by calculation. Messages corresponding to other branches are similarly sought.
  • FIG. 6 is a diagram showing check node operations performed at check nodes.
  • sign(x) is 1 when x ⁇ 0 and -1 when x ⁇ 0.
  • equation (6) can be transformed into equation (7).
  • the message u j corresponding to the branch to be calculated is the messages v 1 , v 2 , v 3 , v 4 , v from the remaining branches connected to the check node. It is obtained by the check node operation of equation (7) using 5 . Messages corresponding to other branches are similarly sought.
  • ⁇ (x) and ⁇ ⁇ 1 (x) are implemented in hardware, they may be implemented using a LUT (Look Up Table), but both are the same LUT.
  • FIG. 7 shows an example of a transmission system to which the present technology is applied (a system refers to an entity in which a plurality of devices are logically aggregated, and it does not matter whether or not devices of each configuration are in the same housing). It is a figure which shows the structural example of embodiment.
  • the transmission system is composed of a transmitting device 11 and a receiving device 12.
  • the transmission device 11 transmits (broadcasts) (transmits) television broadcast programs, for example. That is, the transmitting device 11 encodes target data to be transmitted, such as image data and audio data as a program, into an LDPC code, for example, a satellite line, a terrestrial wave, a cable (wired line), etc. It transmits via the communication channel 13 .
  • target data to be transmitted such as image data and audio data as a program
  • an LDPC code for example, a satellite line, a terrestrial wave, a cable (wired line), etc. It transmits via the communication channel 13 .
  • the receiving device 12 receives the LDPC code transmitted from the transmitting device 11 via the communication path 13, decodes it into target data, and outputs it.
  • the LDPC code used in the transmission system in FIG. 7 is known to exhibit extremely high performance in AWGN (Additive White Gaussian Noise) communication channels.
  • AWGN Additional White Gaussian Noise
  • burst errors and erasures may occur.
  • the D/U Desired to Undesired Ratio
  • Desired main path power
  • the power of a particular symbol may be erasured.
  • the Doppler frequency will change the OFDM at a specific time. There are cases where the power of the entire symbol is erasure.
  • the check node operation of Equation (7) is performed using the message obtained at the variable node connected to the check node, so that the multiple connected variable nodes ( If the number of check nodes in which the code bits of the LDPC code corresponding to ) are simultaneously in error (including erasures), the decoding performance deteriorates.
  • the check node sends a message with the same probability that the value is 0 and that the value is 1. return.
  • the check nodes that return messages with equal probability do not contribute to one decoding process (one set of variable node operations and check node operations), and as a result, the number of iterations of the decoding process is increased. As a result, the decoding performance deteriorates, and the power consumption of the receiving device 12 that decodes the LDPC code increases.
  • FIG. 8 is a block diagram showing a configuration example of the transmission device 11 of FIG.
  • one or more input streams (Input Streams) as target data are supplied to a mode adaptation/multiplexer (Mode Adaptation/Multiplexer) 111 .
  • Mode Adaptation/Multiplexer Mode Adaptation/Multiplexer
  • Mode adaptation/multiplexer 111 performs processing such as mode selection and multiplexing of one or more input streams supplied thereto as necessary, and supplies the resulting data to padder 112. .
  • the padder 112 performs necessary zero padding (null insertion) on the data from the mode adaptation/multiplexer 111 and supplies the resulting data to the BB scrambler 113 .
  • the BB scrambler 113 performs BB scrambling (Base-Band Scrambling) on the data from the padder 112 and supplies the resulting data to the BCH encoder 114 .
  • the BCH encoder 114 BCH-encodes the data from the BB scrambler 113 and supplies the resulting data to the LDPC encoder 115 as LDPC target data to be LDPC-encoded.
  • the parity matrix is a part corresponding to the parity bits of the LDPC code to a check matrix or the like having a dual diagonal structure LDPC encoding is performed according to the above, and an LDPC code having the LDPC target data as information bits is output.
  • the LDPC encoder 115 converts the LDPC target data to a predetermined standard such as DVB-S.2, DVB-T.2, DVB-C.2, ATSC 3.0 (in the check matrix (Corresponding) LDPC code, LDPC encoding for encoding into other LDPC codes is performed, and the resulting LDPC code is output.
  • the LDPC code specified in the DVB-S.2 and ATSC3.0 standards is an IRA (Irregular Repeat Accumulate) code
  • (part of or all of) the parity matrix in the parity check matrix of the LDPC code is A staircase structure.
  • a parity matrix and a staircase structure will be described later.
  • IRA codes see, for example, "Irregular Repeat-Accumulate Codes," H. Jin, A. Khandekar, and R. J. McEliece, in Proceedings of 2nd International Symposium on Turbo codes and Related Topics, pp. 1-8 , Sept. 2000.
  • the LDPC code output by the LDPC encoder 115 is supplied to a Bit Interleaver 116.
  • the bit interleaver 116 performs bit interleaving, which will be described later, on the LDPC code from the LDPC encoder 115 , and supplies the LDPC code after bit interleaving to the mapper 117 .
  • the mapper 117 maps the LDPC code from the bit interleaver 116 to a signal point representing one symbol of orthogonal modulation in units of one or more code bits (symbol units) of the LDPC code, thereby performing orthogonal modulation (multiple modulation). value modulation).
  • the mapper 117 converts the LDPC code from the bit interleaver 116 onto a constellation that is an IQ plane defined by the I-axis representing the I component in phase with the carrier and the Q-axis representing the Q component orthogonal to the carrier. are mapped to the signal points determined by the modulation scheme for orthogonal modulation of the LDPC code, and orthogonal modulation is performed.
  • the mapper 117 uses m code bits of the LDPC code as a symbol (1 symbol), The LDPC code from bit interleaver 116 is mapped on a symbol-by-symbol basis to a signal point representing a symbol among the 2 m signal points.
  • the modulation method of the quadrature modulation performed by the mapper 117 for example, the modulation method stipulated in the DVB-S.2 or ATSC3.0 standards, or other modulation method, that is, for example, BPSK (Binary Phase Shift Keying), QPSK (Quadrature Phase Shift Keying), 8PSK (Phase-Shift Keying), 16APSK (Amplitude Phase-Shift Keying), 32APSK, 16QAM (Quadrature Amplitude Modulation), 16QAM, 64QAM, 256QAM, 1024QAM, 4096QAM, 4PAM (Pulse Amplitude Modulation), etc.
  • Which modulation scheme is to be used for quadrature modulation in the mapper 117 is set in advance according to, for example, the operation of the operator of the transmission device 11 or the like.
  • mapping result of mapping symbols to signal points is supplied to a time interleaver 118 .
  • the time interleaver 118 time-interleaves the data from the mapper 117 in units of symbols (interleaving in the time direction), and converts the resulting data into a SISO/MISO encoder (SISO/MISO (Single Input Single Output/Multiple Input Single Output) Encoder) 119.
  • SISO/MISO encoder Single Input Single Output/Multiple Input Single Output
  • the SISO/MISO encoder 119 applies space-time coding to the data from the time interleaver 118 and supplies it to the frequency interleaver 120 .
  • the frequency interleaver 120 performs frequency interleaving (interleaving in the frequency direction) on a symbol-by-symbol basis for the data from the SISO/MISO encoder 119 and supplies it to the frame builder/resource allocation unit (Frame Builder & Resource Allocation) 131.
  • the BCH encoder 121 is supplied with control data (signalling) for transmission control such as BB signaling (Base Band Signaling) (BB Header).
  • BB signaling Basic Band Signaling
  • the BCH encoder 121 BCH-encodes the control data supplied thereto in the same manner as the BCH encoder 114 and supplies the resulting data to the LDPC encoder 122 .
  • the LDPC encoder 122 LDPC-encodes the data from the BCH encoder 121 as LDPC target data in the same manner as the LDPC encoder 115 , and supplies the resulting LDPC code to the mapper 123 .
  • the mapper 123 like the mapper 117, maps the LDPC code from the LDPC encoder 122 to a signal point representing one symbol of orthogonal modulation in units of one or more code bits (symbol unit) of the LDPC code. quadrature modulation, and the resulting data is supplied to frequency interleaver 124 .
  • the frequency interleaver 124 frequency-interleaves the data from the mapper 123 on a symbol-by-symbol basis, and supplies it to the frame builder/resource allocation unit 131 .
  • Frame builder/resource allocation unit 131 inserts pilot symbols into required positions of data (symbols) from frequency interleavers 120 and 124, and from the resulting data (symbols), a predetermined A frame (for example, a PL (Physical Layer) frame, a T2 frame, a C2 frame, etc.) composed of a number of symbols is configured and supplied to an OFDM generation unit (OFDM generation) 132 .
  • OFDM generation OFDM generation
  • the OFDM generation unit 132 generates an OFDM signal corresponding to the frame from the frame from the frame builder/resource allocation unit 131 and transmits it via the communication channel 13 (Fig. 7).
  • the transmission device 11 may be configured without some of the blocks illustrated in FIG. 8, such as the time interleaver 118, the SISO/MISO encoder 119, the frequency interleaver 120, and the frequency interleaver 124. can be done.
  • FIG. 9 is a block diagram showing a configuration example of the bit interleaver 116 in FIG.
  • the bit interleaver 116 has the function of interleaving data, and is composed of a parity interleaver 23, a group-wise interleaver 24, and a block interleaver 25.
  • the parity interleaver 23 performs parity interleaving to interleave the parity bits of the LDPC code from the LDPC encoder 115 at the positions of other parity bits, and supplies the LDPC code after parity interleaving to the groupwise interleaver 24 .
  • the groupwise interleaver 24 performs groupwise interleaving on the LDPC code from the parity interleaver 23 and supplies the LDPC code after groupwise interleaving to the block interleaver 25 .
  • the LDPC code for one code is divided into 360-bit units equal to the parallel factor P described later from the beginning, and the 360 bits of one division are used as a bit group, and the parity interleaver 23 LDPC codes from are interleaved in bit groups.
  • the error rate can be improved compared to when group-wise interleaving is not performed, and as a result, good communication quality can be ensured in data transmission.
  • the block interleaver 25 performs block interleaving for demultiplexing the LDPC code from the group-wise interleaver 24, for example, converting one code worth of LDPC code into a symbol of m bits, which is a unit of mapping. and supplied to mapper 117 (FIG. 8).
  • a column as a storage area for storing a predetermined number of bits in the column (vertical) direction is arranged in the row (horizontal) direction by a number equal to the number of bits m of a symbol.
  • the LDPC code from the group-wise interleaver 24 is written in the column direction and read out in the row direction to the storage areas arranged in the same manner as the LDPC code, so that the LDPC code is symbolized into m-bit symbols.
  • FIG. 10 is a diagram showing an example of parity check matrix H used for LDPC encoding by the LDPC encoder 115 of FIG.
  • the parity check matrix H has an LDGM (Low-Density Generation Matrix) structure, and includes an information matrix H A of a portion corresponding to the information bit of the code bits of the LDPC code, and a parity matrix H T corresponding to the parity bit.
  • LDGM Low-Density Generation Matrix
  • H T a matrix in which the elements of the information matrix H A are the elements on the left side and the elements of the parity matrix H T are the elements on the right side).
  • the information length K and parity length M for an LDPC code of a given code length N are determined by the coding rate.
  • the parity check matrix H is a matrix with M ⁇ N rows and columns (a matrix with M rows and N columns).
  • the information matrix H A becomes an M ⁇ K matrix
  • the parity matrix H T becomes an M ⁇ M matrix.
  • FIG. 11 is a diagram showing an example of parity matrix H T of parity check matrix H used for LDPC encoding in LDPC encoder 115 of FIG.
  • parity matrix H T of the parity check matrix H used for LDPC encoding in the LDPC encoder 115 for example, a parity matrix H T similar to the parity matrix H of the LDPC code specified in standards such as DVB-T.2. can be adopted.
  • the parity matrix H T of the parity check matrix H of the LDPC code specified in standards such as DVB-T.2 is, as shown in FIG. matrix).
  • the row weight of the parity matrix H T is 1 for the first row and 2 for all remaining rows.
  • the column weight is 1 for the last column and 2 for all remaining columns.
  • an LDPC code for a parity check matrix H whose parity matrix H T has a staircase structure can be easily generated using the parity check matrix H.
  • an LDPC code (one codeword) is represented by a row vector c, and a column vector obtained by transposing the row vector is represented by cT . Also, in the row vector c of the LDPC code, the information bit portion is represented by row vector A, and the parity bit portion is represented by row vector T.
  • row vector c [A
  • the check matrix H and the row vector c [A
  • FIG. 12 is a diagram explaining the parity check matrix H of the LDPC code specified in standards such as DVB-T.2.
  • the column weight is X
  • the column weight is 3, and then has a column weight of 2 for the M-1 columns of , and a column weight of 1 for the last column.
  • KX + K3 + M-1 + 1 is equal to code length N.
  • FIG. 13 is a diagram showing the number of columns KX, K3, and M and the column weight X for each coding rate r of the LDPC code specified in standards such as DVB-T.2.
  • LDPC codes with code length N of 64800 bits and 16200 bits are specified.
  • LDPC code with code length N of 64800 bits 11 nominal rates 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/ 4, 4/5, 5/6, 8/9, and 9/10 are specified, and for an LDPC code with a code length N of 16200 bits, ten coding rates 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6 and 8/9 are provided.
  • the code length N of 64800 bits is also referred to as 64 kbits
  • the code length N of 16200 bits is also referred to as 16 kbits.
  • code bits corresponding to columns with higher column weights in parity check matrix H tend to have lower error rates.
  • the column weight tends to be larger toward the leading side (left side) of the column. Therefore, the parity check matrix As for the LDPC code corresponding to H, the leading code bit tends to be more resistant to errors (tolerant to errors), and the trailing code bit tends to be less resistant to errors.
  • FIG. 14 is a diagram showing an example of (part of) a Tanner graph of a parity check matrix of an LDPC code.
  • variable nodes (corresponding code bits) connected to the check node become errors such as erasure at the same time
  • all the check nodes connected to the check node Returns to the variable node a message with an equal probability of a value of 0 and a value of 1. Therefore, if a plurality of variable nodes connected to the same check node become erasures at the same time, the decoding performance deteriorates.
  • the LDPC code output by the LDPC encoder 115 in FIG. 8 is, for example, an IRA code similar to the LDPC code specified in standards such as DVB-T.2, and the parity matrix HT of the parity check matrix H is , as shown in FIG. 11, has a staircase structure.
  • FIG. 15 is a diagram showing an example of a parity matrix H T having a staircase structure and a Tanner graph corresponding to the parity matrix H T as shown in FIG. 11 .
  • FIG. 15A shows an example of a parity matrix H T having a staircase structure
  • FIG. 15B shows a Tanner graph corresponding to the parity matrix H T of FIG. 15A.
  • two variable nodes corresponding to the two erroneous parity bits (using parity bits A check node connected to a variable node that requests a message) returns a message with an equal probability of 0 and 1 to the variable node connected to the check node, so the decoding performance is reduced. to degrade.
  • the burst length the number of parity bits with consecutive errors
  • the number of check nodes returning messages with equal probability increases, further degrading the decoding performance.
  • the parity interleaver 23 (FIG. 9) performs parity interleaving for interleaving the parity bits of the LDPC code from the LDPC encoder 115 into the positions of other parity bits in order to prevent the deterioration of the decoding performance described above. .
  • FIG. 16 is a diagram showing parity matrix H T of parity check matrix H corresponding to the LDPC code after parity interleaving performed by parity interleaver 23 of FIG.
  • the information matrix H A of the parity check matrix H corresponding to the LDPC code output by the LDPC encoder 115 is similar to the information matrix of the parity check matrix H corresponding to the LDPC code specified in standards such as DVB-T.2 In addition, it has a circular structure.
  • a cyclic structure is a structure in which a column matches a cyclically shifted version of another column. columns are cyclically shifted in the column direction by a predetermined value, such as a value proportional to the value q obtained by dividing the parity length M.
  • a predetermined value such as a value proportional to the value q obtained by dividing the parity length M.
  • the P columns in the cyclic structure are referred to as parallel factors as appropriate.
  • LDPC codes specified in standards such as DVB-T.2 there are two types of LDPC codes with code lengths N of 64800 bits and 16200 bits, as described with reference to FIGS.
  • the parallel factor P is defined as 360, which is one of the divisors of the parity length M, excluding 1 and M.
  • the parity interleaver 23 has an information length of K, an integer of 0 or more and less than P is x, and an integer of 0 or more and less than q is y.
  • N-bit LDPC Among the code bits of the code, the K+qx+y+1th code bit is interleaved into the position of the K+Py+x+1th code bit.
  • Both the K + qx + y + 1th code bit and the K + Py + x + 1th code bit are the code bits after the K + 1st code bit, so they are parity bits. Therefore, according to parity interleaving, the parity bit position of the LDPC code is moved. be done.
  • the parity interleaved LDPC code that interleaves the K + qx + y + 1st code bit at the position of the K + Py + x + 1st code bit is a column permutation that replaces the K + qx + y + 1st column with the K + Py + x + 1st column of the original parity check matrix H. It matches the LDPC code of the parity check matrix (hereinafter also referred to as the transformation parity check matrix) obtained by performing the above.
  • the pseudo-cyclic structure means a structure in which the part other than a part has a cyclic structure.
  • the transform parity check matrix obtained by applying column permutation corresponding to parity interleaving to the parity check matrix of the LDPC code specified in standards such as DVB-T.2 is 360 rows in the upper right corner of the transform parity check matrix.
  • the 360 column part (shift matrix described later) there is only one element of 1 (it is an element of 0), and in that respect, it is not a (complete) cyclic structure, but a pseudo-cyclic structure. ing.
  • the transformed parity check matrix for the parity check matrix of the LDPC code output by the LDPC encoder 115 has, for example, a pseudo-cyclic structure similar to the transformed parity check matrix for the parity check matrix of the LDPC code specified in standards such as DVB-T.2. ing.
  • transformation parity check matrix of FIG. 16 is a column permutation corresponding to parity interleaving with respect to the original parity check matrix H, and also a row permutation so that the transformation parity check matrix is composed of constituent matrices described later. (row permutation) is also applied to the matrix.
  • FIG. 17 is a flow chart explaining the processing performed by the LDPC encoder 115, bit interleaver 116, and mapper 117 of FIG.
  • the LDPC encoder 115 waits for the LDPC target data to be supplied from the BCH encoder 114, and in step S101, based on the parity check matrix, encodes the LDPC target data into an LDPC code, converts the LDPC code into bit inter After supplying to the leaver 116, the process proceeds to step S102.
  • step S102 the bit interleaver 116 performs bit interleaving on the LDPC code from the LDPC encoder 115, supplies the symbols obtained by the bit interleaving to the mapper 117, and the process proceeds to step S103.
  • step S102 in the bit interleaver 116 (FIG. 9), the parity interleaver 23 performs parity interleaving on the LDPC code from the LDPC encoder 115, and converts the parity-interleaved LDPC code into group-wise interleaved It feeds the leaver 24 .
  • the groupwise interleaver 24 performs groupwise interleaving on the LDPC code from the parity interleaver 23 and supplies it to the block interleaver 25 .
  • the block interleaver 25 performs block interleaving on the LDPC code after groupwise interleaving by the groupwise interleaver 24 , and supplies m-bit symbols obtained as a result to the mapper 117 .
  • step S103 the mapper 117 maps the symbols from the block interleaver 25 to any one of 2 m signal points determined by the modulation method of the orthogonal modulation performed by the mapper 117 and orthogonally modulates them.
  • the data is provided to time interleaver 118 .
  • the parity interleaver 23, which is a block for performing parity interleaving, and the groupwise interleaver 24, which is a block for performing groupwise interleaving, are configured separately.
  • the parity interleaver 23 and the group-wise interleaver 24 can be configured integrally.
  • both parity interleaving and groupwise interleaving can be performed by writing and reading code bits to and from memory, and the address for writing code bits (write address) is the address for reading code bits. It can be represented by a matrix that translates to (read address).
  • parity interleaving is performed by converting the code bits using this matrix, and then parity interleaving is performed.
  • a result of group-wise interleaving the interleaved LDPC code can be obtained.
  • the block interleaver 25 can also be configured integrally.
  • the block interleaving performed by the block interleaver 25 can also be represented by a matrix that converts the write address of the memory storing the LDPC code into the read address.
  • parity interleaving, group-wise interleaving, and block interleaving can be performed by the matrix. can be done collectively.
  • parity interleaving and groupwise interleaving may not be performed.
  • FIG. 18 is a block diagram showing a configuration example of the LDPC encoder 115 of FIG.
  • the LDPC encoder 122 in FIG. 8 is similarly configured.
  • standards such as DVB-T.2 define LDPC codes with two code lengths N of 64800 bits and 16200 bits.
  • the LDPC encoder 115 encodes (error correction encoding) by the LDPC code of each encoding rate such that the code length N is 64800 bits or 16200 bits, for each code length N and each encoding rate This can be done based on the prepared check matrix H.
  • the LDPC encoder 115 has a code length N of 17280 bits or any other code length N, and the coding rates are 2/16, 3/16, 4/16, 5/16, 6/16, 7/16, 8/16, 9/16, 10/16, 11/16, 12/16, 13/16, 14/16, etc. Based on the parity check matrix H of the LDPC code with arbitrary coding rate r, LDPC coding is It can be carried out.
  • the LDPC encoder 115 is composed of an encoding processing unit 601 and a storage unit 602 .
  • the encoding processing unit 601 includes an encoding rate setting unit 611, an initial value table reading unit 612, a parity check matrix generating unit 613, an information bit reading unit 614, an encoding parity calculation unit 615, and a control unit 616.
  • LDPC encoding is performed on the LDPC target data supplied to 115, and the resulting LDPC code is supplied to bit interleaver 116 (FIG. 8).
  • the coding rate setting unit 611 sets, for example, the code length N and the coding rate r of the LDPC code, and other specific information that identifies the LDPC code, according to the operator's operation.
  • the initial value table reading unit 612 reads from the storage unit 602 a later-described parity check matrix initial value table representing the parity check matrix of the LDPC code specified by the specific information set by the coding rate setting unit 611 .
  • the check matrix generation unit 613 generates a check matrix H based on the check matrix initial value table read by the initial value table reading unit 612 and stores it in the storage unit 602 .
  • a parity check matrix H is generated by arranging 1 elements in the column direction at intervals of 360 columns (parallel factor P) and stored in the storage unit 602 .
  • the information bit reading unit 614 reads (extracts) information bits of information length K from the LDPC target data supplied to the LDPC encoder 115 .
  • Encoding parity calculation section 615 reads parity check matrix H generated by parity check matrix generation section 613 from storage section 602, and uses parity bit for the information bit read by information bit reading section 614 to obtain a predetermined parity bit.
  • a codeword (LDPC code) is generated by calculating based on the equation.
  • the control unit 616 controls each block that configures the encoding processing unit 601 .
  • the storage unit 602 stores, for example, a plurality of parity check matrix initial value tables corresponding to the plurality of coding rates shown in FIGS. Code rates 2/16, 3/16, 4/16, 5/16, 6/16, 7/16, 8/16, 9/16, 10/16, 11/ for length N of 17280 bits Parity check matrix initial value tables corresponding to 16, 12/16, 13/16, 14/16, and other parity check matrix initial value tables for LDPC codes with arbitrary code length N and coding rate r is stored.
  • the storage unit 602 also temporarily stores data necessary for the processing of the encoding processing unit 601 .
  • FIG. 19 is a flowchart illustrating an example of processing of the LDPC encoder 115 of FIG.
  • step S201 the coding rate setting unit 611 sets the code length N and coding rate r for LDPC encoding, and other specific information that identifies the LDPC code.
  • step S202 the initial value table reading unit 612 retrieves a predetermined parity check matrix initial value table specified by the code length N and the encoding rate r as the specific information set by the encoding rate setting unit 611. , is read from the storage unit 602 .
  • step S203 the parity check matrix generating unit 613 uses the parity check matrix initial value table read from the storage unit 602 by the initial value table reading unit 612, the code length N and the coding rate set by the coding rate setting unit 611.
  • the parity check matrix H of the LDPC code of r is obtained (generated), supplied to the storage unit 602, and stored.
  • step S205 the encoding parity computing unit 615 uses the information bits from the information bit reading unit 614 and the parity check matrix H to sequentially compute the parity bits of the codeword c that satisfies Equation (8).
  • Equation (8) c represents a row vector as a codeword (LDPC code), and c T represents transposition of row vector c.
  • the row vector c as the LDPC code (one codeword)
  • the information bit portion is represented by the row vector A
  • the parity bit portion is represented by the row vector T.
  • the check matrix H and the row vector c [A
  • step S206 the control unit 616 determines whether or not to end the LDPC encoding. In step S206, if it is determined not to end the LDPC encoding, i.e., for example, if there is still LDPC target data to be LDPC encoded, the process returns to step S201 (or step S204). The processing of S201 (or steps S204) to S206 is repeated.
  • step S206 if it is determined to end LDPC encoding, that is, if, for example, there is no LDPC target data to be LDPC-encoded, the LDPC encoder 115 ends processing.
  • parity check matrix initial value tables (representing parity check matrices) of LDPC codes with various code lengths N and coding rates r can be prepared in advance.
  • the LDPC encoder 115 can perform LDPC encoding into LDPC codes of various code lengths N and coding rates r using a parity check matrix H generated from a parity check matrix initial value table prepared in advance.
  • the parity check matrix initial value table is, for example, an information matrix H A ( 10) for each 360 columns (parallel factor P), and is created in advance for each parity check matrix H of each code length N and each coding rate r.
  • the parity check matrix initial value table represents at least the position of the element of 1 in the information matrix H A for every 360 columns (parallel factor P).
  • the check matrix H includes a check matrix in which the entire parity matrix H T has a staircase structure, and a parity matrix H T in which a part of the parity matrix H T has a staircase structure and the remaining part is a diagonal matrix (identity matrix). ) is a check matrix.
  • the expression method of the parity check matrix initial value table representing the parity check matrix in which part of the parity matrix H T has a staircase structure and the remaining portion is a diagonal matrix is also referred to as a type A method.
  • the expression method of the parity check matrix initial value table representing the parity check matrix in which the entire parity matrix H T has a staircase structure is also called the type B method.
  • An LDPC code for a parity check matrix represented by a parity check matrix initial value table for the type A method is also called a type A code
  • an LDPC code for a parity check matrix represented by a parity check matrix initial value table for the type B method is also called a type B code.
  • Type A and Type B designations conform to the ATSC 3.0 standard.
  • ATSC 3.0 employs both type A and type B codes.
  • DVB-T.2, etc. uses type B code.
  • FIG. 20 is a diagram showing an example of a parity check matrix initial value table for the type B method.
  • FIG. 20 shows a case where the code length N is 16200 bits and the coding rate (coding rate in DVB-T.2 notation) r is 1/4, which is specified in the DVB-T.2 standard.
  • FIG. 10 shows a parity check matrix initial value table (representing parity check matrix H) for type B code.
  • the check matrix generation unit 613 uses the check matrix initial value table of the type B method to obtain the check matrix H as follows.
  • FIG. 21 is a diagram explaining a method of obtaining a parity check matrix H from a parity check matrix initial value table of the type B method.
  • FIG. 21 shows a parity check matrix initial value table for a type B code with a code length N of 16200 bits and a coding rate r of 2/3, which is specified in the DVB-T.2 standard.
  • the parity check matrix initial value table of the type B method stores the positions of all 1 elements in the information matrix H A corresponding to the information length K according to the code length N and coding rate r of the LDPC code in 360 columns (parallel factor P), and in the ith row, the row number of the 1 element in the 1 + 360 ⁇ (i-1)th column of the parity check matrix H (the row number of the first row of the parity check matrix H is 0). row number) are arranged as many as the number of column weights of the 1 + 360 ⁇ (i-1)th column.
  • the parity matrix H T (FIG. 10) corresponding to the parity length M of the parity check matrix H of the type B method is determined to have a staircase structure as shown in FIG. If the information matrix H A (FIG. 10) corresponding to the information length K can be obtained, the parity check matrix H can be obtained.
  • the number of rows k+1 in the check matrix initial value table of the type B method differs depending on the information length K.
  • the column weights of the parity check matrix H obtained from the parity check matrix initial value table of FIG. ) to the Kth column are 3.
  • the first row of the parity check matrix initial value table in FIG. In the first column of the row numbers 0, 2084, 1613, 1548, 1286, 1460, 3196, 4297, 2481, 3369, 3451, 4620, 2622 row elements are 1 (and other elements is 0).
  • the parity check matrix initial value table represents the position of the 1 element of the information matrix H A of the parity check matrix H for every 360 columns.
  • h i,j be the number in the i-th row (i-th from the top) and j-th column ( j -th from the left) of the parity check matrix initial value table.
  • H wj the row number of the 1st element in the parity check matrix H
  • H wj of the 1st element in the wth column which is a column other than the 1+360 ⁇ (i ⁇ 1)th column of the parity check matrix H
  • Hwj mod( hi,j + mod((w-1),P) x q, M) (10)
  • mod (x, y) means the remainder when x is divided by y.
  • the check matrix generator 613 (FIG. 18) identifies the row number of the 1 element in the 1+360 ⁇ (i ⁇ 1)th column of the check matrix H from the check matrix initial value table.
  • the parity check matrix generation unit 613 (FIG. 18) converts the row number H wj of the 1 element in the w-th column, which is a column other than the 1+360 ⁇ (i ⁇ 1)-th column of the parity check matrix H, to Equation (10). and generates a parity check matrix H in which the element of the row number obtained above is set to 1.
  • FIG. 22 is a diagram showing the structure of the parity check matrix H of the type A method.
  • the check matrix of the type A method consists of A matrix, B matrix, C matrix, D matrix, and Z matrix.
  • the B matrix is an M1-by-M1 matrix with a staircase structure adjacent to the right of the A matrix.
  • the C matrix is a matrix that is adjacent below the A and B matrices, with N-K-M1 rows and K+M1 columns.
  • the D matrix is the identity matrix adjacent to the right of the C matrix, with N-K-M1 rows and N-K-M1 columns.
  • the Z matrix is a zero matrix (zero matrix) adjacent to the right of the B matrix, with M1 rows and N-K-M1 columns.
  • the B matrix is a matrix with a staircase structure
  • the D matrix is a unit matrix, so part of the parity matrix of the parity matrix H of the type A method (part of the B matrix) has a staircase structure. , the remaining part (part of the D matrix) is a diagonal matrix (identity matrix).
  • the A matrix and the C matrix have a cyclic structure for each column of the parallel factor P (for example, 360 columns) in the same way as the information matrix of the check matrix H of the type B method, and the check matrix initial value table of the type A method represents the position of the 1 element in the A and C matrices every 360 columns.
  • part of the A matrix and the C matrix constitute an information matrix
  • the type A parity check matrix representing the position of the element of 1 in the A matrix and the C matrix for every 360 columns
  • the initial value table represents at least the position of the 1 element of the information matrix for every 360 columns.
  • check matrix initial value table of the type A method represents the position of the 1 element in the A matrix and the C matrix for every 360 columns, It can also be said that the position is represented every 360 columns.
  • FIG. 23 is a diagram showing an example of a parity check matrix initial value table for the type A method.
  • FIG. 23 shows an example of a parity check matrix initial value table representing a parity check matrix H with a code length N of 35 bits and a coding rate r of 2/7.
  • the parity check matrix initial value table of the type A method is a table that represents the position of the element of 1 in the A matrix and the C matrix for each parallel factor P. 1)
  • the row number of the 1 element in the column (row number with the row number of the first row of parity check matrix H being 0) is equal to the number of column weights of the 1 + P ⁇ (i-1)th column Lined up.
  • the parallel factor P is assumed to be 5, for example.
  • M1 (Fig. 22) is a parameter that determines the size of the B matrix, and takes a value that is a multiple of the parallel factor P.
  • M1 the performance of the LDPC code changes and is adjusted to a predetermined value when parity check matrix H is determined.
  • it is assumed that 15, which is three times the parallel factor P 5, is adopted as M1.
  • M2 (Fig. 22) takes the value M-M1 obtained by subtracting M1 from the parity length M.
  • the parity check matrix initial value table of FIG. 23 three numerical values are arranged in the first and second rows, and one numerical value is arranged in the third to fifth rows.
  • the first row of the parity check matrix initial value table in FIG. It indicates that the element is 1 (and the other elements are 0).
  • the A matrix (FIG. 22) is a matrix of 15 rows and 10 columns (M1 rows and K columns)
  • the C matrix (FIG. 22) is a matrix of 10 rows and 25 columns (N-K-M1 rows and K + M1 columns). Therefore, the rows of row numbers 0 to 14 of the check matrix H are the rows of the A matrix, and the rows of the row numbers 15 to 24 of the check matrix H are the rows of the C matrix.
  • rows #2, #6, and #18 are rows of the A matrix
  • row #18 is the row of the C matrix.
  • the second row of the parity check matrix initial value table in FIG. It indicates that the elements #10 and #19 are 1.
  • rows #2 and #10 among rows #2, #10, and #19 are rows of the A matrix
  • Row #19 is a row of the C matrix.
  • the third row of the parity check matrix initial value table in FIG. indicates that there is
  • row #22 is the row of the C matrix.
  • the 3 + 5 x (i-1) column of The eye is cyclically shifted downward by Q1).
  • the 3 + 5 x (i-1) column of The eye is cyclically shifted downward by Q2).
  • FIG. 24 is a diagram showing the A matrix generated from the parity check matrix initial value table of FIG.
  • FIG. 25 is a diagram showing parity interleaving of the B matrix.
  • FIG. 25 shows the A matrix and B matrix after parity interleaving of the B matrix in FIG.
  • FIG. 26 is a diagram showing a C matrix generated from the parity check matrix initial value table of FIG.
  • the check matrix generation unit 613 uses the check matrix initial value table to generate the C matrix, and arranges the C matrix below the A matrix and the B matrix (after parity interleaving).
  • parity check matrix generating unit 613 arranges the Z matrix to the right of the B matrix and the D matrix to the right of the C matrix to generate the parity check matrix H shown in FIG.
  • FIG. 27 is a diagram showing parity interleaving of the D matrix.
  • FIG. 27 shows the parity interleaving of the D matrix with respect to the parity check matrix H of FIG.
  • the LDPC encoder 115 (the encoding parity calculation unit 615 (FIG. 18)) performs LDPC encoding (generation of LDPC code) using parity check matrix H in FIG. 27, for example.
  • the LDPC code generated using the parity check matrix H in FIG. 27 is an LDPC code that performs parity interleaving. Therefore, the LDPC code generated using the parity check matrix H in FIG. There is no need to perform parity interleaving in the parity interleaver 23 (FIG. 9). That is, the LDPC code generated using the check matrix H after parity interleaving of the D matrix is an LDPC code that has undergone parity interleaving. is skipped.
  • FIG. 28 restores the parity interleaving to the B matrix, part of the C matrix (the part of the C matrix located below the B matrix), and the D matrix of the parity check matrix H in FIG.
  • FIG. 10 is a diagram showing parity check matrix H subjected to column permutation as parity deinterleaving;
  • the LDPC encoder 115 can perform LDPC encoding (generation of LDPC code) using the parity check matrix H in FIG.
  • parity interleaving is performed in parity interleaver 23 (FIG. 9).
  • FIG. 29 is a diagram showing a transformed parity check matrix H obtained by performing row permutation on the parity check matrix H of FIG.
  • the transformation check matrix is a P ⁇ P identity matrix, a quasi-identity matrix in which one or more of 1 of the identity matrix is 0, a shift matrix obtained by cyclically shifting the identity matrix or the quasi-identity matrix, It is a matrix represented by a combination of a sum matrix that is the sum of two or more of the unit matrix, quasi-unit matrix, or shift matrix, and a P ⁇ P zero matrix.
  • one method of ensuring good communication quality is to use LDPC codes with good performance.
  • a new LDPC code with good performance (hereinafter also referred to as a new LDPC code) will be described below.
  • the parallel factor P is 360, which is the same as DVB-T.2, ATSC3.0, etc.
  • type A code or type B code corresponding to parity check matrix H of cyclic structure can be adopted. can.
  • the LDPC encoder 115 (FIGS. 8 and 18) has a code length N longer than 64k bits, such as 69120 bits, and a coding rate r such as 2/16, 3/16, 4/16, 5
  • a code length N such as 64k bits, such as 69120 bits
  • a coding rate r such as 2/16, 3/16, 4/16, 5
  • Check any LDPC code of /16, 6/16, 7/16, 8/16, 9/16, 10/16, 11/16, 12/16, 13/16, or 14/16 LDPC encoding into LDPC codes can be performed using the matrix initial value table (parity check matrix H obtained from).
  • the LDPC encoder 115 has a code length N shorter than 64 kbits, for example, 17280 bits (17 kbits), and an encoding rate r of, for example, 2/16, 3/16, 4 /16, 5/16, 6/16, 7/16, 8/16, 9/16, 10/16, 11/16, 12/16, 13/16, or 14/16 LDPC encoding to the new LDPC code can be performed based on the parity check matrix initial value table (parity check matrix H obtained from) of the new LDPC code.
  • the storage unit 602 of the LDPC encoder 115 (FIG. 8) stores a parity check matrix initial value table for the new LDPC code.
  • FIG. 10 is a diagram showing an example of a parity check matrix initial value table (for the type A scheme);
  • FIG. 10 is a diagram showing an example of a parity check matrix initial value table (for the type B scheme);
  • the new LDPC code is an LDPC code with good performance.
  • an LDPC code with good performance is an LDPC code obtained from an appropriate parity check matrix H.
  • An appropriate parity check matrix H is, for example, an LDPC code obtained from the parity check matrix H, when transmitted with a low E s /N 0 or E b /N o (signal power to noise power ratio per bit) , BER (bit error rate) (and FER (frame error rate)) is a parity check matrix that satisfies a predetermined condition.
  • An appropriate parity check matrix H can be obtained, for example, by performing a simulation of measuring BER when LDPC codes obtained from various parity check matrices satisfying predetermined conditions are transmitted at low E s /N o .
  • Predetermined conditions that an appropriate parity check matrix H should satisfy are, for example, that the analysis result obtained by a code performance analysis method called Density Evolution is good, and that the number of elements of 1 called cycle 4 There is no loop, and so on.
  • the decoding performance of the LDPC code is degraded when the information matrix H A is densely populated with 1 elements like cycle 4. Therefore, the parity check matrix H includes cycles 4 should be absent.
  • the minimum loop length (loop length) composed of 1 elements is called girth. Absence of cycle 4 means that girth is greater than 4.
  • the predetermined condition that an appropriate parity check matrix H should satisfy can be appropriately determined from the viewpoint of improving the decoding performance of the LDPC code, facilitating (simplifying) the decoding process of the LDPC code, and the like.
  • Figs. 44 and 45 are diagrams for explaining density evolution for obtaining analysis results as predetermined conditions that an appropriate parity check matrix H should satisfy.
  • Density evolution is a code analysis method that calculates the expected value of the error probability for the entire LDPC code (ensemble) with a code length N of ⁇ characterized by the degree sequence described later. is.
  • the noise variance value when the noise variance value is increased from 0, the expected value of the error probability of a certain ensemble is 0 at first, but the noise variance value exceeds a certain threshold. Then it will not be 0.
  • the performance of the ensemble is evaluated by comparing the threshold value of the noise variance value (hereinafter also referred to as the performance threshold) at which the expected value of the error probability is not 0. can decide.
  • an LDPC code with good performance can be found among the LDPC codes belonging to that ensemble.
  • the above-mentioned degree sequence represents the ratio of variable nodes and check nodes with weights of each value to the code length N of the LDPC code.
  • a regular(3,6) LDPC code with a rate of 1/2 has a degree of 3 in which all variable nodes have a weight (column weight) and all check nodes have a weight (row weight) of 6. Belongs to an ensemble characterized by a sequence.
  • Fig. 44 shows the Tanner graph of such an ensemble.
  • Each variable node is connected to 3 edges equal to the column weight, so there are a total of 3N edges connecting to N variable nodes.
  • each check node is connected to 6 branches equal to the row weight, so there are a total of 3N branches connecting to N/2 check nodes.
  • the interleaver randomly permutes the 3N branches connected to N variable nodes, and converts each permuted branch to one of the 3N branches connected to N/2 check nodes. Connect to one of us.
  • the interleaver through which the branches connected to the variable nodes and the branches connected to the check nodes go through is divided into multiple (multi edges), which makes the ensemble characterization more strictly done.
  • FIG. 45 shows an example of a multi-edge type ensemble Tanner graph.
  • Density Evolution and its implementation see, for example, “On the Design of Low-Density Parity-Check Codes within 0.0045 dB of the Shannon Limit", S.Y. Leggers, VOL.5, NO.2, Feb 2001.
  • the BER starts to drop (becomes smaller) due to multi-edge type density evolution, E b /N 0 (signal power to noise power ratio per bit).
  • a performance threshold finds an ensemble with a predetermined value or less, and among the LDPC codes belonging to the ensemble, an LDPC code that reduces the BER when using one or more orthogonal modulations such as QPSK is selected as a high-performance LDPC code. Selected.
  • the new LDPC code (the check matrix initial value table representing the check matrix of the code) was obtained through the above simulation.
  • FIG. 46 is a diagram explaining the column weights of the parity check matrix H of the type A code as the new LDPC code.
  • the column weight of the subsequent K3 column of the A and C matrices as X3 the column weight of the subsequent M1 column of the C matrix as XM1, respectively.
  • K1 + K2 + K3 is equal to the information length K
  • the column weight of the B matrix from the 1st column to the M1-1 column is 2, and the column weight of the M1th column (the last column) of the B matrix is 1. Furthermore, the column weight of the D matrix is 1 and the column weight of the Z matrix is 0.
  • FIG. 47 is a diagram showing the parameters of the parity check matrix H of the type A code (represented by the parity check matrix initial value table) of FIGS. 30 to 35.
  • FIG. 47 is a diagram showing the parameters of the parity check matrix H of the type A code (represented by the parity check matrix initial value table) of FIGS. 30 to 35.
  • the parameters X1, K1, X2, K2, X3, K3, XM1, M1 are set so that the performance of the LDPC code (for example, error rate, etc.) is further improved.
  • FIG. 48 is a diagram explaining the column weights of the parity check matrix H of the type B code as the new LDPC code.
  • the column weight of the subsequent KX4 column is denoted by X4, and the column weight of the subsequent KY1 column is denoted by Y1, respectively.
  • KX1 + KX2 + KX3 + KX4 + KY1 is equal to the information length K
  • the column weight of M-1 columns excluding the last column is 2
  • the column weight of the last column is 1.
  • FIG. 49 is a diagram showing the parameters of the parity check matrix H of the type B code (represented by the parity check matrix initial value table) in FIGS.
  • Parameters X1, KX1, X2, KX2, X3, KX3, X4, KX4, Y1, and KY1 are set to further improve the performance of the LDPC code.
  • FIGS. 50 to 53 are diagrams explaining other examples of the new LDPC code.
  • 2 is a diagram showing an example of a parity check matrix initial value table representing a parity check matrix H of a code (also referred to as A code).
  • K, X1, K1, X2, K2, X3, K3, XM1, M1, M2 are the parameters described with reference to FIG. , K1, X2, K2, X3, K3, XM1, M1, and M2 are as shown in FIG.
  • 2 is a diagram showing an example of a parity check matrix initial value table representing a parity check matrix H of (also referred to as a parity check matrix H).
  • Parameters K, X1, KX1, X2, KX2, X3, KX3, X4, KX4, Y1, KY1, M are the parameters described in FIG.
  • Parameters K, X1, KX1, X2, KX2, X3, KX3, X4, KX4, Y1, KY1 and M are as shown in FIG.
  • 54 to 78 are diagrams showing examples of constellations that can be employed in the transmission system of FIG.
  • MODCOD which is a combination of a modulation scheme (MODulation) and an LDPC code (CODE)
  • a constellation to be used in that MODCOD can be set.
  • One or more constellations can be set for one MODCOD.
  • UC Uniform Constellation
  • NUC Non Uniform Constellation
  • NUC includes, for example, a constellation called 1D-NUC (1-dimensional (M 2 -QAM) non-uniform constellation) and a constellation called 2D-NUC (2-dimensional (QQAM) non-uniform constellation). ration, etc.
  • 1D-NUC has better BER than UC
  • 2D-NUC has better BER than 1D-NUC.
  • a constellation whose modulation method is QPSK becomes UC.
  • a constellation with a modulation method of 16QAM, 64QAM, 256QAM, etc. for example, UC or 2D-NUC can be adopted.
  • -NUC can be adopted.
  • a constellation specified by ATSC3.0, DVB-C.2, etc., and various other constellations that improve the error rate can be used.
  • the modulation scheme is QPSK, for example, the same UC can be used for each coding rate r of the LDPC code.
  • the modulation scheme is 16QAM, 64QAM, or 256QAM, for example, the same UC can be used for each coding rate r of the LDPC code. Furthermore, when the modulation scheme is 16QAM, 64QAM, or 256QAM, for example, a different 2D-NUC can be used for each coding rate r of the LDPC code.
  • the modulation scheme is 1024QAM or 4096QAM, for example, the same UC can be used for each coding rate r of the LDPC code. Furthermore, when the modulation scheme is 1024QAM or 4096QAM, for example, a different 1D-NUC can be used for each coding rate r of the LDPC code.
  • QPSK UC is also described as QPSK-UC
  • 2 m QAM UC is also described as 2 m QAM-UC
  • 2 m QAM 1D-NUC and 2D-NUC are also described as 2 m QAM-1D-NUC and 2 m QAM-2D-NUC, respectively.
  • FIG. 54 is a diagram showing the coordinates of QPSK-UC signal points used for all coding rates of LDPC codes specified in ATSC 3.0 when the modulation scheme is QPSK.
  • Input Data cell y represents a 2-bit symbol mapped to QPSK-UC
  • Constellation point zs represents the coordinates of signal point zs .
  • the index s of the signal point zs (the same applies to the index q of the signal point zq , which will be described later) represents the discrete time of the symbol (time interval between one symbol and the next symbol).
  • the coordinates of the signal point zs are represented in the form of complex numbers, and j represents the imaginary unit ( ⁇ (-1)).
  • w#k represents the coordinates of the signal point in the first quadrant of the constellation.
  • the signal points in the 2nd quadrant of the constellation are placed in positions symmetrically shifted from the signal points in the 1st quadrant with respect to the Q-axis, and the signal points in the 3rd quadrant of the constellation are placed in the 3rd quadrant.
  • the signal points of one quadrant are arranged at positions shifted symmetrically with respect to the origin.
  • the signal points in the fourth quadrant of the constellation are arranged at positions shifted symmetrically with respect to the I axis from the signal points in the first quadrant.
  • the modulation scheme is 2 m QAM
  • m bits are defined as one symbol, and that one symbol is mapped to the signal point corresponding to that symbol.
  • an m-bit symbol can be represented by an integer value from 0 to 2 m -1 . y(0), y(1), . 2b) to y(3b-1) and y(3b) to y(4b-1).
  • the suffix k of w#k takes integer values ranging from 0 to b-1 and w#k is the symbol y(k) ranging from symbols y(0) to y(b-1). represents the coordinates of the signal point corresponding to .
  • the coordinates of the signal point corresponding to symbol y(k+b) in the range of symbols y(b) to y(2b-1) are represented by -conj(w#k) and symbols y(2b) to y( 3b-1), the coordinates of the signal point corresponding to symbol y(k+2b) are represented by conj(w#k). Also, the coordinates of the signal point corresponding to symbol y(k+3b) in the range of symbols y(3b) to y(4b-1) are represented by -w#k.
  • m 4 -bit symbols y(0), y(1), . It is classified into four categories: (0) to y(3), y(4) to y(7), y(8) to y(11), and y(12) to y(15).
  • w0 is 0.2386+j0.5296, so the coordinate -w0 of the signal point corresponding to symbol y(12) is -(0.2386+j0.5296).
  • FIG. 57 is a diagram showing the relationship between the 1024QAM symbol y and the position vector u (component u#k of).
  • FIG. 57A shows five even-numbered bits y1,s , y3,s , y5,s , y7,s , y9,s of the symbol y and the signal point zs corresponding to the symbol y. , which represents the correspondence with u#k representing the (coordinate) real part Re(z s ).
  • FIG. 57 shows the five odd-numbered bits y0,s , y2,s , y4,s , y6,s , y8,s of the symbol y and the signal point zs corresponding to the symbol y. represents the correspondence with u#k representing the imaginary part Im(z s ) of .
  • 1024QAM 10-bit symbol y ( y0,s , y1,s, y2 ,s , y3,s , y4,s , y5,s , y6,s , y7,s , y 8,s , y 9,s ) is, for example, (0,0,1,0,0,1,1,1,0,0), the odd-numbered 5 bits (y 0,s , y 2,s , y 4,s , y 6,s , y 8,s ) is (0,1,0,1,0) and even-numbered 5 bits (y 1,s , y 3,s , y5,s , y7,s , y9,s ) are (0,0,1,1,0).
  • u3 is 0.1295 and u11 is 0.7196.
  • the signal points of the 1D-NUC are arranged in a grid on straight lines parallel to the I axis and straight lines parallel to the Q axis. However, the intervals between signal points are not constant. Also, in transmitting (data mapped to) signal points, the average power of the signal points on the constellation can be normalized. Let P ave be the mean square of the absolute values of all signal points (coordinates) on the constellation . P ave ) can be done by multiplying each signal point z s on the constellation.
  • the transmission system in Figure 7 can use the above ATSC3.0 constellation.
  • FIGS. 58 to 69 are diagrams showing the coordinates of UC signal points defined by DVB-C.2.
  • FIG. 58 is a diagram showing the real part Re(z q ) of the coordinate z q of the signal point of QPSK-UC (UC of QPSK) defined by DVB-C.2.
  • FIG. 59 is a diagram showing the imaginary part Im(z q ) of the coordinates z q of the QPSK-UC signal point defined in DVB-C.2.
  • FIG. 60 is a diagram showing real part Re(z q ) of coordinate z q of a 16QAM-UC (UC of 16QAM) signal point defined by DVB-C.2.
  • FIG. 61 is a diagram showing the imaginary part Im(z q ) of the coordinates z q of the 16QAM-UC signal point defined by DVB-C.2.
  • FIG. 62 is a diagram showing the real part Re(z q ) of the coordinate z q of the 64QAM-UC (UC of 64QAM) signal point defined by DVB-C.2.
  • FIG. 63 is a diagram showing the imaginary part Im(z q ) of the coordinate z q of the 64QAM-UC signal point defined by DVB-C.2.
  • FIG. 64 is a diagram showing the real part Re(z q ) of the coordinates z q of the 256QAM-UC (UC of 256QAM) signal point defined by DVB-C.2.
  • FIG. 65 is a diagram showing the imaginary part Im(z q ) of the coordinate z q of the 256QAM-UC signal point defined by DVB-C.2.
  • FIG. 66 is a diagram showing the real part Re(z q ) of the coordinates z q of the 1024QAM-UC (UC of 1024QAM) signal point defined by DVB-C.2.
  • FIG. 67 is a diagram showing the imaginary part Im(z q ) of the coordinates z q of the 1024QAM-UC signal point defined by DVB-C.2.
  • FIG. 68 is a diagram showing the real part Re(z q ) of the coordinate z q of the 4096QAM-UC (4096QAM UC) signal point defined by DVB-C.2.
  • FIG. 69 is a diagram showing the imaginary part Im(z q ) of the coordinate z q of the 4096QAM-UC signal point defined by DVB-C.2.
  • y i,q represents the (i+1)-th bit from the top of the symbol of m bits of 2 m QAM (for example, 2 bits in QPSK).
  • the average power of the signal points on the constellation can be normalized.
  • P ave be the mean square of the absolute values of all signal points (coordinates) on the constellation .
  • P ave can be done by multiplying each signal point z q on the constellation.
  • the transmission system in Figure 7 can use the UC defined by DVB-C.2 as described above.
  • the code length N is 17280 bits and the coding rate r is 2/16, 3/16, 4/16, 5/16, 6/16,
  • the UC shown in FIGS. 58-69 can be used.
  • FIGS. 70 to 78 show the code length N of 17280 bits and the coding rate r of 2/16, 3/16, 4/16 and 5/16 in FIGS. 30 to 43, 50 and 52. , 6/16, 7/16, 8/16, 9/16, 10/16, 11/16, 12/16, 13/16, and 14/16 NUC signals that can be used for each new LDPC code
  • FIG. 4 is a diagram showing an example of coordinates of points
  • FIG. 70 is a diagram showing an example of coordinates of 16QAM-2D-NUC signal points that can be used for the new LDPC code.
  • FIG. 71 is a diagram showing an example of coordinates of 64QAM-2D-NUC signal points that can be used for the new LDPC code.
  • FIGS. 72 and 73 are diagrams showing examples of coordinates of 256QAM-2D-NUC signal points that can be used for the new LDPC code.
  • FIG. 73 is a diagram following FIG.
  • w#k represents the coordinates of the signal point in the first quadrant of the constellation, as in FIG.
  • the suffix k of w#k takes integer values ranging from 0 to b-1, and w#k is the symbol y(0) to y(b-1 ) represents the coordinates of the signal point corresponding to the symbol y(k).
  • the coordinates of the signal point corresponding to symbol y(k+3b) in the range of symbols y(3b) to y(4b-1) are represented by -w#k. be done.
  • FIG. 74 is a diagram showing an example of coordinates of 1024QAM-1D-NUC signal points that can be used for the new LDPC code.
  • FIG. 74 shows the real part Re(z s ) and the imaginary part Im(z s ) of the complex numbers as the coordinates of the signal point z s of the 1024QAM-1D-NUC, the position vector u (component u#k of), and is a diagram showing the relationship of
  • FIG. 75 is a diagram showing the relationship between the 1024QAM symbol y and the position vector u (component u#k of) in FIG.
  • FIG. 75A shows the odd-numbered 5 bits y0,s , y2,s , y4,s , y6,s , y8,s of the 10-bit symbol y (from the beginning), and the symbol y and the position vector u#k representing the real part Re(z s ) of (coordinates of) the signal point z s corresponding to .
  • FIG. 75B shows even-numbered 5-bits y1,s , y3,s , y5,s , y7,s , and y9,s of the 10-bit symbol y and signals corresponding to the symbol y. It represents the correspondence relationship with the position vector u#k representing the imaginary part Im(z s ) of the point z s .
  • FIG. 76 is a diagram showing an example of coordinates of 4096QAM-1D-NUC signal points that can be used for the new LDPC code.
  • FIG. 76 shows the relationship between the complex number real part Re(z s ) and imaginary part Im(z s ) as the coordinates of the signal point z s of the 4096QAM-1D-NUC and the position vector u(u#k). It is a figure which shows.
  • 77 and 78 are diagrams showing the relationship between the 4096QAM symbol y and the position vector u (component u#k of) in FIG.
  • the 12-bit symbol y of 4096QAM is taken from the leading bit (most significant bit) of y0,s , y1,s , y2 ,s , y3,s , y4,s , y 5,s , y6,s , y7,s , y8,s , y9,s , y10,s , y11,s .
  • FIG. 77 shows odd-numbered 6 bits y0,s , y2,s , y4,s , y6,s , y8,s , y10,s of the 12-bit symbol y, and It represents the correspondence relationship with the position vector u#k representing the real part Re(z s ) of the corresponding signal point z s .
  • FIG. 78 shows even-numbered 6 bits y1,s , y3,s , y5,s , y7,s , y9,s , y11,s of a 12-bit symbol y, and It represents the correspondence relationship with the position vector u#k representing the imaginary part Im(z s ) of the corresponding signal point z s .
  • the average power of the signal points on the constellation can be normalized.
  • P ave be the mean square of the absolute values of all signal points (coordinates) on the constellation .
  • P ave ) can be done by multiplying each signal point z s on the constellation.
  • odd-numbered bits of symbol y are associated with position vector u#k representing the imaginary part Im(z s ) of signal point z s
  • even-numbered bits of symbol y is associated with the position vector u#k representing the real part Re(z s ) of the signal point z s .
  • FIG. 79 is a diagram explaining block interleaving performed by the block interleaver 25 in FIG.
  • Block interleaving is performed by dividing the LDPC code of one codeword into a part called part 1 and a part called part 2 from the beginning.
  • Npart1 the length (number of bits) of part 1
  • Npart2 the length of part 2
  • Npart1+Npart2 is equal to code length N.
  • the column (vertical) direction as one direction is a storage area for storing Npart1/m bits
  • the row direction orthogonal to the column direction is the number of bits of a symbol.
  • each column is partitioned from above into 360-bit subunits with a parallel factor P.
  • This small column unit is also called a column unit.
  • writing part 1 of the LDPC code of one codeword from the top to the bottom (column direction) of the first column unit of the column is equivalent to writing from the left to the right column. It is done towards
  • the part 1 of the LDPC code is read in units of m bits in the row direction from the first row of all m columns. .
  • This m-bit unit of part 1 is supplied from block interleaver 25 to mapper 117 (FIG. 8) as an m-bit symbol.
  • Part 1 is read in units of m bits, starting from the bottom row of m columns. is supplied from the block interleaver 25 to the mapper 117 as symbols of .
  • part 1 is symbolized while being interleaved
  • part 2 is symbolized by dividing into m bits sequentially without being interleaved.
  • Npart1/m the column length, is a multiple of 360, which is the parallel factor P, so that Npart1/m is a multiple of 360, a one-codeword LDPC code has part 1 and part 2 can be divided into
  • FIG. 80 is a diagram showing an example of Part 1 and Part 2 of an LDPC code with a code length N of 17280 bits for QPSK, 16QAM, 64QAM, and 256QAM modulation schemes.
  • Part 1 is 17280 bits and Part 2 is 0 bits.
  • FIG. 81 is a diagram explaining the groupwise interleaving performed by the groupwise interleaver 24 of FIG.
  • the LDPC code of one codeword is divided into 360-bit units equal to the parallel factor P from the beginning, and the 360 bits of one division are used as a bit group for one code.
  • the LDPC codes of words are interleaved in bit groups according to a predetermined pattern (hereinafter also referred to as GW pattern).
  • bit group i the (i+1)-th bit group from the beginning is hereinafter also referred to as bit group i.
  • the GW pattern is represented by a sequence of numbers representing bit groups.
  • the GW pattern 4,2,0,3,1 is for bit groups 0,1, It represents interleaving (permuting) the sequence of 2, 3, 4 into the sequence of bit groups 4, 2, 0, 3, 1.
  • the sequence of bit groups and the GW pattern are represented by a comma-separated sequence of numbers representing bit groups (e.g. 4,2,0,3,1), and a space-separated sequence of numbers representing bit groups ( For example, 4 2 0 3 1).
  • xi be the (i+1)-th code bit from the beginning of an LDPC code with a code length N of 1800 bits.
  • the 1800-bit LDPC code ⁇ x0 , x1 ,..., x1799 ⁇ is represented by ⁇ x1440 , x1441 , ...,x 1799 ⁇ , ⁇ x 720 ,x 721 ,...,x 1079 ⁇ , ⁇ x 0 ,x 1 ,...,x 359 ⁇ , ⁇ x 1080 ,x 1081 ,...,x 1439 ⁇ , ⁇ x 360 , x 361 ,..., x 719 ⁇ are interleaved.
  • the GW pattern is for each code length N of the LDPC code, each coding rate r, each modulation scheme, each constellation, and two or more of the code length N, coding rate r, modulation scheme, and constellation. It can be set for each combination.
  • FIG. 82 is a diagram showing a first example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 are interleaved alongside.
  • FIG. 83 is a diagram showing a second example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 19 33 45 22 43 23 46 32 11 40 13 34 14 47 0 12 6 26 37 4 5 17 25 30 39 29 27 28 10 21 36 9 3 20 24 42 7 41 44 38 15 8 31 16 2 1 35 18 are interleaved alongside.
  • FIG. 84 is a diagram showing a third example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 are interleaved alongside.
  • FIG. 85 is a diagram showing a fourth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 are interleaved alongside.
  • FIG. 86 is a diagram showing a fifth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 are interleaved alongside.
  • FIG. 87 is a diagram showing a sixth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 are interleaved alongside.
  • FIG. 88 is a diagram showing a seventh example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 0 34 30 6 11 35 5 24 4 13 15 16 3 31 39 40 37 47 28 12 36 42 33 22 20 8 9 44 29 18 25 21 23 10 14 26 45 7 27 46 1 2 17 41 19 43 38 32 are interleaved alongside.
  • FIG. 89 is a diagram showing an eighth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • bit group 0 to 47 of the 17280-bit LDPC code is bit group 33 16 0 26 35 31 21 34 42 43 32 29 7 47 37 28 5 9 30 25 3 17 23 24 41 45 20 12 27 39 8 4 1 6 2 38 10 40 18 19 46 11 36 13 22 14 15 44 are interleaved alongside.
  • FIG. 90 is a diagram showing a ninth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 41 10 21 37 9 8 11 27 16 23 25 2 34 7 29 28 5 15 31 45 4 43 33 22 18 13 35 30 6 12 44 1 20 40 42 39 19 17 36 38 26 0 32 3 47 14 24 46 are interleaved alongside.
  • FIG. 91 is a diagram showing a tenth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 15 21 29 10 12 32 1 9 31 47 23 30 26 18 0 28 7 20 43 44 3 45 5 17 16 46 40 39 6 38 34 36 22 33 27 24 25 13 14 37 19 8 42 11 4 2 35 41 are interleaved alongside.
  • FIG. 92 is a diagram showing an eleventh example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 are interleaved alongside.
  • FIG. 93 is a diagram showing a twelfth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 31 23 1 42 36 25 47 3 12 30 32 8 11 27 21 40 16 13 34 4 26 35 46 20 29 28 5 43 18 39 24 14 0 10 7 41 37 9 38 33 2 6 19 45 17 15 22 44 are interleaved alongside.
  • FIG. 94 is a diagram showing a thirteenth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 46 11 23 33 10 0 17 47 20 5 38 29 28 16 41 27 2 31 43 37 34 12 35 24 21 44 40 36 32 39 4 19 26 6 30 9 42 1 22 8 3 45 14 15 13 7 25 18 are interleaved alongside.
  • FIG. 95 is a diagram showing a fourteenth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • bit group 0 to 47 of the 17280-bit LDPC code is bit group 16 32 33 43 3 29 0 22 40 24 44 8 20 13 15 45 7 34 39 42 25 28 18 26 38 10 11 41 47 23 6 1 14 4 12 31 21 19 37 36 30 5 46 27 35 2 9 17 are interleaved alongside.
  • FIG. 96 is a diagram showing a fifteenth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 23 42 33 17 37 2 22 14 21 0 12 44 30 1 25 35 46 13 10 24 20 15 45 31 41 43 28 36 16 4 32 18 3 6 34 11 40 5 38 27 29 8 26 7 39 9 47 19 are interleaved alongside.
  • FIG. 97 is a diagram showing a sixteenth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 7 0 8 39 17 3 32 2 13 19 16 14 5 10 27 35 45 26 44 43 11 24 28 34 20 29 22 41 18 9 37 12 21 4 46 33 15 36 42 1 40 25 23 30 6 38 31 47 are interleaved alongside.
  • FIG. 98 is a diagram showing a seventeenth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 1 28 12 35 23 36 24 17 10 14 15 37 18 13 41 38 33 29 16 21 27 4 9 31 45 40 0 46 7 43 30 34 8 44 47 2 20 6 42 3 22 39 5 32 11 19 25 26 are interleaved alongside.
  • FIG. 99 is a diagram showing an eighteenth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 34 25 1 47 26 13 32 43 44 24 33 16 42 2 22 19 18 35 23 46 11 17 38 0 are interleaved alongside.
  • FIG. 100 is a diagram showing a nineteenth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 12 42 40 41 20 18 27 24 39 6 0 15 8 31 10 3 13 46 4 37 33 25 44 2 16 23 28 14 17 43 45 1 35 38 26 21 36 22 47 11 34 29 30 32 19 7 5 9 are interleaved alongside.
  • FIG. 101 is a diagram showing a twentieth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 33 18 21 29 14 4 35 32 26 15 11 6 1 47 38 17 45 27 2 5 16 12 23 25 3 0 42 13 41 46 9 24 40 43 7 31 39 34 30 20 8 36 22 10 19 28 37 44 are interleaved alongside.
  • FIG. 102 is a diagram showing a twenty-first example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 7 28 41 8 6 12 14 47 4 38 32 37 23 33 15 46 22 0 34 24 40 45 27 19 43 11 36 9 17 21 31 44 2 1 26 13 42 30 35 5 29 25 16 20 39 10 18 3 are interleaved alongside.
  • FIG. 103 is a diagram showing a twenty-second example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 30 14 40 26 21 5 12 3 18 17 11 38 4 46 7 31 0 1 27 36 8 10 2 22 13 9 37 42 41 32 15 39 23 25 34 24 35 28 20 16 19 33 6 43 29 45 47 44 are interleaved alongside.
  • FIG. 104 is a diagram showing a twenty-third example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 23 20 14 9 44 41 19 36 38 13 16 28 0 8 2 39 31 29 21 10 11 33 32 27 46 7 5 35 26 1 43 40 37 17 47 30 6 18 15 42 3 25 4 22 24 12 45 34 are interleaved alongside.
  • FIG. 105 is a diagram showing a twenty-fourth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 37 30 14 13 2 31 27 9 46 41 47 18 23 28 43 10 39 42 16 22 36 8 33 32 4 1 45 19 12 6 35 0 24 25 15 38 44 7 26 21 34 40 29 20 11 5 17 3 are interleaved alongside.
  • FIG. 106 is a diagram showing a twenty-fifth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • bit group 6 the arrangement of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 6 28 25 38 43 11 21 31 47 8 17 39 23 27 30 32 3 35 12 7 1 16 18 36 10 24 41 4 44 22 5 33 46 29 0 26 9 42 37 45 15 40 2 19 14 20 34 13 are interleaved alongside.
  • FIG. 107 is a diagram showing a twenty-sixth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 39 11 12 7 3 1 40 31 27 0 45 42 6 5 24 36 46 19 34 22 29 13 35 2 17 33 20 14 15 25 38 9 41 30 44 18 8 28 37 4 32 47 16 43 21 23 26 10 are interleaved alongside.
  • FIG. 108 is a diagram showing a twenty-seventh example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 7 19 31 20 36 35 2 4 46 12 28 21 39 43 26 23 32 5 37 3 11 34 18 45 24 1 13 47 10 27 0 9 33 25 8 40 6 16 22 29 42 38 14 44 41 17 30 15 are interleaved alongside.
  • FIG. 109 is a diagram showing a twenty-eighth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 12 7 39 31 30 44 14 33 35 17 37 27 2 28 9 26 32 3 46 0 34 6 43 25 21 47 18 45 5 20 13 38 11 29 16 36 8 40 15 41 10 23 1 19 4 22 42 24 are interleaved alongside.
  • FIG. 110 is a diagram showing a twenty-ninth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 20 19 13 25 32 9 5 24 39 4 29 40 14 18 43 46 21 44 10 15 35 3 23 47 37 12 30 33 27 36 8 28 38 7 42 22 2 0 6 16 45 26 17 11 31 34 41 1 are interleaved alongside.
  • FIG. 111 is a diagram showing a thirtieth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 19 20 44 3 6 28 13 15 16 24 9 34 39 8 17 40 29 31 22 10 11 7 35 42 23 2 14 37 33 1 26 45 38 12 47 30 5 18 46 0 41 27 4 21 43 25 36 32 are interleaved alongside.
  • FIG. 112 is a diagram showing a thirty-first example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 4 26 7 21 43 42 33 17 35 19 10 39 27 13 18 34 38 3 28 36 1 5 44 37 16 30 14 9 32 47 29 2 31 23 0 24 11 8 6 46 40 45 15 22 25 20 12 41 are interleaved alongside.
  • FIG. 113 is a diagram showing a thirty-second example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 8 28 33 21 1 39 34 7 0 17 5 41 23 2 14 10 29 25 13 18 35 38 27 44 20 32 31 11 40 30 24 3 36 22 15 37 16 6 42 45 19 47 12 26 43 9 46 4 are interleaved alongside.
  • FIG. 114 is a diagram showing a thirty-third example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 38 7 32 22 30 33 37 40 28 45 12 24 17 42 20 29 1 4 10 2 25 18 46 34 are interleaved alongside.
  • FIG. 115 is a diagram showing a thirty-fourth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 11 0 42 24 46 27 25 3 1 41 22 40 19 18 14 36 33 4 47 12 39 30 13 5 2 7 31 9 38 35 15 43 45 44 28 20 32 21 26 23 6 10 8 37 17 34 29 16 are interleaved alongside.
  • FIG. 116 is a diagram showing a thirty-fifth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • bit group 5 45 42 35 13 41 2 29 15 11 16 0 8 1 33 34 44 7 43 22 24 19 9 38 18 12 26 20 28 21 10 30 40 6 46 37 47 17 3 32 4 39 23 25 36 14 31 27 are interleaved alongside.
  • FIG. 117 is a diagram showing a thirty-sixth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 18 16 21 2 43 10 44 42 19 15 20 26 1 38 46 28 17 29 6 22 7 32 31 30 24 3 8 9 12 37 47 40 39 5 35 11 25 45 34 33 23 4 14 27 13 41 36 0 are interleaved alongside.
  • FIG. 118 is a diagram showing a thirty-seventh example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 28 9 4 27 17 10 12 6 19 30 1 23 39 14 38 34 46 8 15 43 13 47 0 44 7 24 45 18 25 29 37 42 22 31 11 36 20 32 41 33 2 26 21 5 3 16 40 35 are interleaved alongside.
  • FIG. 119 is a diagram showing a thirty-eighth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 5 37 36 38 16 21 41 44 10 18 26 27 15 1 43 2 33 14 9 30 8 12 23 4 13 35 31 3 34 19 42 47 46 29 0 25 20 17 39 45 28 6 22 11 32 40 24 7 are interleaved alongside.
  • FIG. 120 is a diagram showing a thirty-ninth example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 11 1 12 21 13 15 24 36 34 0 37 9 14 39 19 16 17 28 40 29 23 46 30 38 33 3 6 18 26 7 27 45 10 25 4 42 31 43 35 32 5 8 44 41 47 22 20 2 are interleaved alongside.
  • FIG. 121 is a diagram showing a 40th example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 3 41 6 42 21 2 25 45 8 39 34 26 47 43 23 20 13 16 38 24 5 40 0 11 7 31 32 15 36 33 9 12 10 30 29 14 18 35 46 4 28 19 1 44 37 27 17 22 are interleaved alongside.
  • FIG. 122 is a diagram showing a 41st example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 40 42 11 10 15 6 34 37 16 45 25 47 32 8 17 26 29 7 18 21 46 44 28 27 20 38 43 36 33 5 24 9 13 2 0 4 39 31 1 22 30 12 14 41 23 3 19 35 are interleaved alongside.
  • FIG. 123 is a diagram showing a 42nd example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 6 0 20 18 37 27 39 3 1 2 46 11 24 36 14 15 4 16 10 13 35 23 26 30 19 42 7 9 33 40 12 34 22 5 28 21 32 38 44 25 17 41 29 45 8 47 31 43 are interleaved alongside.
  • FIG. 124 is a diagram showing a 43rd example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 8 25 12 9 26 37 35 28 14 5 6 2 29 38 22 31 11 21 17 33 42 43 36 45 20 27 44 13 16 46 10 30 3 32 19 1 15 4 18 40 47 7 34 24 41 23 39 0 are interleaved alongside.
  • FIG. 125 is a diagram showing a 44th example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 7 17 26 27 9 39 46 47 32 12 35 25 14 11 22 23 16 29 38 33 34 4 40 10 5 18 37 1 24 44 30 3 0 45 28 13 15 20 6 21 31 19 2 8 41 36 42 43 are interleaved alongside.
  • FIG. 126 is a diagram showing a 45th example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 11 14 32 27 44 43 0 47 1 8 35 33 7 2 41 15 13 4 23 30 16 42 46 24 9 17 21 20 18 5 19 12 3 34 28 40 39 37 31 38 45 36 6 22 26 10 25 29 are interleaved alongside.
  • the above first to 45th examples of GW patterns for the LDPC code with a code length N of 17280 bits are LDPC codes with a code length N of 17280 bits, an arbitrary coding rate r, an arbitrary modulation scheme, and It can be applied to any combination of arbitrary constellations.
  • the error rate can be improved.
  • the GW pattern of FIG. 123 provides particularly good error rate can be achieved.
  • FIG. 127 is a diagram showing a 46th example of a GW pattern for an LDPC code with a code length N of 17280 bits.
  • the sequence of bit groups 0 to 47 of the 17280-bit LDPC code is bit group 3 35 16 36 41 32 7 20 39 38 1 47 5 24 14 17 0 34 2 6 13 43 9 15 31 37 21 46 25 26 11 42 30 40 44 10 23 18 8 22 29 28 45 4 33 19 12 27 are interleaved alongside.
  • GW pattern (hereinafter also referred to as old GW pattern) in FIG.
  • a good BER can be secured in an AWGN channel (channel), and by applying the new GW pattern, a good BER can be secured even in a Rayleigh fading channel.
  • the horizontal axis represents E s /N 0 (signal power to noise power ratio per symbol), and the vertical axis represents BER.
  • the number of iterative decoding (it) of the LDPC code was set to 50, and the Rayleigh fading channel was adopted as the channel 13.
  • the improvement of the BER in the Rayleigh fading channel can improve the gain when the transmission system in FIG. 7 is used in a multipath environment. .
  • the simulation results with the required CNR when the new GW pattern is applied are shown.
  • the required CNR can be improved by a difference of 0.146 dB when the new GW pattern is applied compared to when the old GW pattern is applied.
  • FIG. 130 is a block diagram showing a configuration example of the receiving device 12 in FIG.
  • An OFDM processing unit (OFDM operation) 151 receives an OFDM signal from the transmission device 11 (Fig. 7) and performs signal processing on the OFDM signal. Data obtained by signal processing performed by the OFDM processing unit 151 is supplied to a frame management unit 152 .
  • the frame management unit 152 performs processing (frame interpretation) on a frame composed of data supplied from the OFDM processing unit 151, and converts the resulting target data signal and control data signal to a frequency deinterleaver. (Frequency Deinterleaver) 161 and 153, respectively.
  • the frequency deinterleaver 153 performs frequency deinterleaving on a symbol-by-symbol basis for the data from the frame management unit 152 and supplies it to the demapper 154 .
  • the demapper 154 demaps the data (the data on the constellation) from the frequency deinterleaver 153 based on the signal point arrangement (constellation) determined by the quadrature modulation performed on the transmitter 11 side. decode) and perform orthogonal demodulation, and the resulting data (LDPC code (likelihood of)) is supplied to an LDPC decoder 155 .
  • LDPC code likelihood of
  • the LDPC decoder 155 (decoding unit) performs LDPC decoding of the LDPC code from the demapper 154 and supplies the resulting LDPC target data (BCH code here) to the BCH decoder 156 .
  • the BCH decoder 156 performs BCH decoding on the LDPC target data from the LDPC decoder 155 and outputs control data (signaling) obtained as a result.
  • the frequency deinterleaver 161 frequency deinterleaves the data from the frame management unit 152 on a symbol-by-symbol basis, and supplies the data to the SISO/MISO decoder 162 .
  • the SISO/MISO decoder 162 performs spatio-temporal decoding of the data from the frequency deinterleaver 161 and supplies it to the time deinterleaver 163 .
  • the time deinterleaver 163 time-deinterleaves the data from the SISO/MISO decoder 162 on a symbol-by-symbol basis and supplies it to the demapper 164 .
  • the demapper 164 demaps the data (the data on the constellation) from the time deinterleaver 163 based on the signal point arrangement (constellation) determined by the orthogonal modulation performed on the transmitter 11 side. decoding) and orthogonal demodulation, and the resulting data is supplied to a bit deinterleaver 165 .
  • the bit deinterleaver 165 bit deinterleaves the data from the demapper 164 and supplies the LDPC code (likelihood thereof), which is the data after the bit deinterleaving, to the LDPC decoder 166 .
  • the LDPC decoder 166 performs LDPC decoding of the LDPC code from the bit deinterleaver 165 and supplies the resulting LDPC target data (BCH code here) to the BCH decoder 167 .
  • the BCH decoder 167 performs BCH decoding of the LDPC target data from the LDPC decoder 155 and supplies the resulting data to the BB descrambler (BB DeScrambler) 168 .
  • the BB descrambler 168 applies BB descramble to the data from the BCH decoder 167 and supplies the resulting data to the null deletion unit 169 .
  • a null deletion unit 169 deletes the null inserted by the padder 112 in FIG.
  • the demultiplexer 170 separates one or more streams (target data) multiplexed on the data from the null removal unit 169, performs necessary processing, and outputs as an output stream.
  • the receiving device 12 can be configured without providing some of the blocks illustrated in FIG. That is, for example, when the transmitting device 11 (FIG. 8) is configured without the time interleaver 118, the SISO/MISO encoder 119, the frequency interleaver 120, and the frequency interleaver 124, the receiving device 12 A time deinterleaver 163, a SISO/MISO decoder 162, and a frequency deinterleaver 161, which are blocks corresponding to the time interleaver 118, SISO/MISO encoder 119, frequency interleaver 120, and frequency interleaver 124 of the transmission device 11, respectively. , and can be configured without the frequency deinterleaver 153 .
  • FIG. 131 is a block diagram showing a configuration example of the bit deinterleaver 165 of FIG.
  • the bit deinterleaver 165 is composed of a block deinterleaver 54 and a groupwise deinterleaver 55, and performs (bit) deinterleaving of symbol bits of symbols that are data from the demapper 164 (FIG. 130).
  • the block deinterleaver 54 performs block deinterleaving corresponding to the block interleaving performed by the block interleaver 25 in FIG.
  • Block deinterleaving is performed to return the positions of (the likelihood of) the code bits of the LDPC code rearranged by interleaving to their original positions, and the resulting LDPC code is supplied to the groupwise deinterleaver 55 .
  • the group-wise deinterleaver 55 performs group-wise deinterleaving corresponding to the group-wise interleaving performed by the group-wise interleaver 24 in FIG. That is, for example, the code bits of the LDPC code whose arrangement has been changed in bit group units by the groupwise interleaving described with reference to FIG.
  • the bit deinterleaver 165 when the LDPC code supplied from the demapper 164 to the bit deinterleaver 165 is subjected to parity interleaving, groupwise interleaving, and block interleaving, the bit deinterleaver 165 performs parity interleaving corresponding to the parity interleaving.
  • De-interleaving reverse processing of parity interleaving, i.e., parity de-interleaving to restore the code bits of the LDPC code reordered by parity interleaving
  • block de-interleaving corresponding to block interleaving, and group-wise interleaving can do all of the group-wise deinterleaving corresponding to .
  • bit deinterleaver 165 of FIG. 131 the block deinterleaver 54 that performs block deinterleaving corresponding to block interleaving and the groupwise deinterleaver 55 that performs groupwise deinterleaving corresponding to groupwise interleaving are However, no parity deinterleaving block corresponding to the parity interleaving is provided and no parity deinterleaving is performed.
  • bit deinterleaver 165 the groupwise deinterleaver 55 of
  • LDPC decoder 166 block deinterleaving and groupwise deinterleaving are performed, and parity deinterleaving is not performed LDPC code is supplied.
  • the LDPC decoder 166 performs LDPC decoding of the LDPC code from the bit deinterleaver 165 with respect to the parity check matrix H of the type B scheme used for the LDPC encoding by the LDPC encoder 115 in FIG. and the transformation check matrix (Fig. 29) obtained by performing row permutation on the type A check matrix (Fig. 27). Output as the result of data decoding.
  • FIG. 132 is a flow chart explaining the processing performed by the demapper 164, bit deinterleaver 165, and LDPC decoder 166 in FIG.
  • step S111 the demapper 164 demaps the data from the time deinterleaver 163 (the data on the constellation mapped to the signal points), orthogonally demodulates it, and supplies it to the bit deinterleaver 165. , the process proceeds to step S112.
  • step S112 the bit deinterleaver 165 deinterleaves (bit deinterleaves) the data from the demapper 164, and the process proceeds to step S113.
  • step S112 in the bit deinterleaver 165, the block deinterleaver 54 performs block deinterleaving on the data (symbols) from the demapper 164, and divides the code bits of the resulting LDPC code into groups. It is supplied to the wise deinterleaver 55 .
  • the groupwise deinterleaver 55 performs groupwise deinterleaving on the LDPC code from the block deinterleaver 54 and supplies the resulting LDPC code (likelihood thereof) to the LDPC decoder 166 .
  • step S113 the LDPC decoder 166 performs LDPC decoding of the LDPC code from the groupwise deinterleaver 55 based on the parity check matrix H used for the LDPC encoding by the LDPC encoder 115 in FIG. Based on the transform parity check matrix obtained from the matrix H, the data obtained as a result is output to the BCH decoder 167 as the decoding result of the LDPC target data.
  • the block deinterleaver 54 that performs block deinterleaving and the groupwise deinterleaver 55 that performs groupwise deinterleaving are configured separately.
  • the block deinterleaver 54 and the groupwise deinterleaver 55 can be configured integrally.
  • the receiving device 12 can be configured without the groupwise deinterleaver 55 that performs groupwise deinterleaving.
  • the LDPC decoding performed by the LDPC decoder 166 in FIG. 130 will be further described.
  • the parity check matrix H of the type B scheme used for LDPC encoding by the LDPC encoder 115 in FIG. This is performed using a transformation check matrix (FIG. 29) obtained by performing row permutation on the matrix (FIG. 27).
  • LDPC decoding has been previously proposed, in which it is possible to suppress the operating frequency within a sufficiently feasible range while suppressing the circuit scale by performing LDPC decoding using a transform parity check matrix (for example, , see Patent No. 4224777).
  • FIG. 133 is a diagram showing an example of parity check matrix H of an LDPC code with a code length N of 90 and a coding rate of 2/3.
  • 0 is represented by a period (.).
  • the parity matrix has a staircase structure.
  • FIG. 134 is a diagram showing parity check matrix H' obtained by performing row permutation of formula (11) and column permutation of formula (12) on parity check matrix H of FIG.
  • s, t, x, and y are integers in the range of 0 ⁇ s ⁇ 5, 0 ⁇ t ⁇ 6, 0 ⁇ x ⁇ 5, 0 ⁇ y ⁇ 6, respectively is.
  • the 1st, 7th, 13th, 19th, and 25th rows which are divided by 6 and have a remainder of 1, are the 1st, 2nd, 3rd, 4th, and 5th rows, respectively.
  • the 61st, 67th, 73rd, 79th, and 85th columns that have a remainder of 1 when divided by 6 are replaced by 61
  • the 62nd, 63rd, 64th and 65th columns, and the 62nd, 68th, 74th, 80th and 86th columns that are divided by 6 with a remainder of 2 are the 66th, 67th, 68th, 69th and 70th columns respectively. Substitutions are made accordingly.
  • the matrix (matrix) obtained by permuting the rows and columns of the parity check matrix H in FIG. 133 is the parity check matrix H' in FIG.
  • the parity check matrix H' in FIG. 134 performs at least column permutation to replace the K+qx+y+1-th column of the parity check matrix (hereinafter referred to as the original parity check matrix) H in FIG. 133 with the K+Py+x+1-th column.
  • the resulting transformation parity check matrix is
  • the transformed parity check matrix H' in FIG. 134 is the parity check matrix of the LDPC code c' obtained by performing the column permutation of Equation (12) on the LDPC code c of the original parity check matrix H.
  • the LDPC code c of the original parity check matrix H is subjected to the column permutation of Equation (12), and the LDPC code c' after the column permutation is decoded using the transform parity check matrix H' of FIG. 134 (LDPC decoding). Then, by performing the inverse permutation of the column permutation of Equation (12) on the decoding result, the same decoding result as when the LDPC code of the original parity check matrix H is decoded using the parity check matrix H can be obtained. can be done.
  • FIG. 135 is a diagram showing the transformation parity check matrix H' of FIG. 134 spaced in units of 5 ⁇ 5 matrices.
  • the transformation check matrix H' in FIG. 135 is composed of a 5 ⁇ 5 identity matrix, a quasi-identity matrix, a shift matrix, a sum matrix, and a 0 matrix. Therefore, these 5 ⁇ 5 matrices (identity matrix, quasi-identity matrix, shift matrix, sum matrix, zero matrix) that constitute the transform check matrix H′ are hereinafter referred to as constituent matrices as appropriate.
  • FIG. 136 is a block diagram showing a configuration example of a decoding device that performs such decoding.
  • the original parity check matrix H in FIG. 133 is at least subjected to the column permutation of Equation (12), and the transform parity check matrix H′ in FIG. 135 is used to decode the LDPC code.
  • 1 shows a configuration example of a decoding device.
  • Branch data storage memory 300 consisting of six FIFOs 300 1 to 300 6 , a selector 301 for selecting FIFOs 300 1 to 300 6 , a check node calculator 302, two cyclic shift circuits 303 and 308, Branch data storage memory 304 consisting of 18 FIFOs 304 1 to 304 18 , selector 305 for selecting FIFOs 304 1 to 304 18 , received data memory 306 for storing received data, variable node calculator 307 , decoded word calculator 309 , a received data rearranging section 310 and a decoded data rearranging section 311 .
  • the edge data storage memory 300 is composed of six FIFOs 300 1 to 300 6 obtained by dividing the number of rows of 30 in the transform parity check matrix H′ of FIG. 135 by the number of rows of the component matrix (parallel factor P) of 5. .
  • the number of stages of the storage area of the FIFO 300 y is 9, which is the maximum number of 1's (Hamming weight) in the row direction of the transformation parity check matrix in FIG.
  • data (messages v i from variable nodes) corresponding to positions of 1 in the first to fifth rows of the conversion parity check matrix H′ in FIG. 135 are packed horizontally in each row. stored in the form (ignoring 0). That is, if the j-th row and i-th column are expressed as (j, i), the memory area of the first stage of the FIFO 300 1 stores (1, 1) to (5, 5) of the transform parity check matrix H'. The data corresponding to the position of 1 in the 5 ⁇ 5 unit matrix of is stored.
  • a shift matrix from (1,21) to (5,25) of the transform parity matrix H' (a shift matrix obtained by cyclically shifting a 5 ⁇ 5 unit matrix by three cyclic shifts to the right) is stored in the second storage area.
  • the data corresponding to the position of 1 in is stored.
  • data is stored in the third to eighth storage areas in association with the conversion parity check matrix H'.
  • the shift matrix from (1,86) to (5,90) of the transformation check matrix H' (1 in the first row of the 5 ⁇ 5 identity matrix is replaced with 0) is stored in the storage area of the ninth stage.
  • Data corresponding to the position of 1 in the shift matrix obtained by cyclically shifting the shift matrix to the left by one is stored.
  • the FIFO 300 2 stores data corresponding to the position of 1 from the 6th row to the 10th row of the conversion parity check matrix H' in FIG. That is, in the storage area of the first stage of the FIFO 300 2 , the sum matrix of (6, 1) to (10, 5) of the transform parity check matrix H' (a 5 ⁇ 5 identity matrix is cyclically shifted to the right by one The data corresponding to the position of 1 in the first shift matrix constituting the sum matrix (which is the sum of the first shift matrix obtained by shifting the first shift matrix and the second shift matrix obtained by cyclically shifting two to the right) is stored. Further, in the storage area of the second stage, data corresponding to the position of 1 of the second shift matrix forming the sum matrix of (6, 1) to (10, 5) of the transformation parity check matrix H' is stored. be.
  • the component matrix is a P ⁇ P identity matrix with a weight of 1, a quasi-identity matrix in which one or more of the 1 elements of the identity matrix are 0, or Data corresponding to the position of 1 in the identity matrix, quasi-identity matrix, or shift matrix whose weight is 1 when the identity matrix or quasi-identity matrix is expressed in the form of the sum of multiple shift matrices obtained by cyclically shifting the identity matrix or quasi-identity matrix.
  • messages corresponding to branches belonging to the identity matrix, quasi-identity matrix, or shift matrix are stored in the same address (the same FIFO among FIFOs 300 1 to 300 6 ).
  • data is stored in association with the conversion parity check matrix H' also in the third to ninth storage areas.
  • the FIFOs 300 3 to 300 6 also store data in association with the conversion parity check matrix H′.
  • the branch data storage memory 304 is composed of 18 FIFOs 304 1 to 304 18 obtained by dividing the 90 columns of the transform parity check matrix H' by 5, which is the number of columns of the component matrix (parallel factor P).
  • the FIFO 304 1 data (message u j from the check node) corresponding to the positions of 1 in the first to fifth columns of the conversion parity check matrix H′ of FIG. 135 are packed vertically in each column. stored in the same format (ignoring 0). That is, the first storage area of the FIFO 304 1 stores the data corresponding to the position of 1 in the 5 ⁇ 5 identity matrix from (1,1) to (5,5) of the transformation parity check matrix H′. .
  • the sum matrix of (6,1) to (10,5) of the transformation check matrix H' (the first shift obtained by cyclically shifting the 5 ⁇ 5 identity matrix by one
  • the storage area of the third stage stores data corresponding to the position of 1 in the second shift matrix forming the sum matrix of (6, 1) to (10, 5) of the transform parity check matrix H'. be.
  • the component matrix is a P ⁇ P identity matrix with a weight of 1, a quasi-identity matrix in which one or more of the 1 elements of the identity matrix are 0, or Data corresponding to the position of 1 in the identity matrix, quasi-identity matrix, or shift matrix whose weight is 1 when the identity matrix or quasi-identity matrix is expressed in the form of the sum of multiple shift matrices obtained by cyclically shifting the identity matrix or quasi-identity matrix.
  • messages corresponding to branches belonging to the identity matrix, quasi-identity matrix, or shift matrix are stored in the same address (the same FIFO among FIFOs 304 1 to 304 18 ).
  • Data are stored in the fourth and fifth storage areas in association with the transformation parity check matrix H'.
  • the number of stages of the storage area of this FIFO 304 1 is 5, which is the maximum number of 1's (Hamming weights) in the row direction in the first to fifth columns of the transformation parity check matrix H'.
  • the FIFOs 304 2 and 304 3 also store data in association with the conversion parity check matrix H′, and each has a length (number of stages) of five.
  • the FIFOs 304 4 to 304 12 store data in association with the conversion parity check matrix H', each having a length of three.
  • the FIFOs 304 13 to 304 18 store data in association with the transform parity check matrix H', each having a length of two.
  • the branch data storage memory 300 consists of six FIFOs 300 1 to 300 6 , and indicates to which row of the transform parity check matrix H′ in FIG. 135 the five messages D311 supplied from the preceding cyclic shift circuit 308 belong. According to information (matrix data) D312, a FIFO for storing data is selected from among FIFOs 3001 to 3006 , and five messages D311 are collectively stored in the selected FIFO in order.
  • the branch data storage memory 300 sequentially reads five messages D3001 from the FIFO 3001 and supplies them to the selector 301 in the next stage.
  • the branch data storage memory 300 sequentially reads the messages from the FIFOs 300 2 to 300 6 and supplies them to the selector 301 .
  • the selector 301 selects five messages from the FIFOs from which data is currently being read out of the FIFOs 300 1 to 300 6 according to the select signal D301, and supplies them to the check node calculator 302 as messages D302.
  • the check node calculator 302 consists of five check node calculators 302 1 to 302 5 , and uses messages D302 (D302 1 to D302 5 ) (messages v i in equation (7)) supplied through the selector 301 to A check node operation is performed according to equation (7), and five messages D303 (D303 1 to D303 5 ) obtained as a result of the check node operation (messages u j in equation (7)) are supplied to the cyclic shift circuit 303 .
  • the cyclic shift circuit 303 shifts the five messages D303 1 through D303 5 obtained by the check node calculation unit 302 by the number of unit matrices (or quasi-unit matrices) whose corresponding branches are the originals in the transform parity check matrix H′. Cyclic shift is performed on the basis of the information as to whether it has been click-shifted, and the result is supplied to the branch data storage memory 304 as a message D304.
  • the branch data storage memory 304 consists of 18 FIFOs 304 1 to 304 18 , and information (Matrix According to data D305, a FIFO for storing data is selected from among FIFOs 304 1 to 304 18 , and five messages D304 are collectively stored in the selected FIFO in order.
  • the branch data storage memory 304 sequentially reads five messages D3061 from the FIFO 3041 and supplies them to the selector 305 in the next stage.
  • the branch data storage memory 304 sequentially reads messages from the FIFOs 304 2 to 304 18 and supplies them to the selector 305 .
  • the selector 305 selects five messages from the FIFOs from which data is currently being read out of the FIFOs 304 1 to 304 18 according to the select signal D307, and outputs them as messages D308 from the variable node calculator 307 and the decoded word calculator. 309.
  • received data rearrangement section 310 rearranges LDPC code D313 corresponding to parity check matrix H in FIG. It is supplied to the received data memory 306 .
  • Received data memory 306 calculates and stores received LLRs (logarithmic likelihood ratios) from received data D314 supplied from received data rearrangement section 310, and collects the received LLRs by five as received value D309. , to the variable node calculator 307 and the decoded word calculator 309 . If the received data D314 is already the received LLR, there is no need to calculate the received LLR in the received data memory 306.
  • the variable node calculator 307 consists of five variable node calculators 307 1 to 307 5 , and receives messages D308 (D308 1 to D308 5 ) (messages u j in equation (1)) supplied through the selector 305 and received data Using the five received values D309 (received value u 0i of equation (1)) supplied from memory 306 for variable node calculation according to equation (1), messages D310 (D310 1 to D310 5 ) (message v i in equation (1)) to the cyclic shift circuit 308 .
  • the cyclic shift circuit 308 cyclically shifts the messages D310 1 to D310 5 calculated by the variable node calculation unit 307 by the number of identity matrices (or quasi-identity matrices) whose corresponding branches are the originals in the transform parity check matrix H′. Based on the information as to whether or not the data has been cyclically shifted, the result is supplied to the branch data storage memory 300 as a message D311.
  • one decoding of the LDPC code (variable node operation and check node operation) can be performed.
  • the decoding device in FIG. 136 obtains and outputs the final decoding result in decoded word calculation section 309 and decoded data rearrangement section 311 .
  • the decoded word calculator 309 is composed of five decoded word calculators 309 1 to 309 5 , and five messages D308 (D308 1 to D308 5 ) output by the selector 305 (message u j in equation (5)) and , using the five received values D309 (received values u 0i in equation (5)) supplied from the received data memory 306, and as the final stage of decoding multiple times, based on equation (5), the decoding result (decoding word), and the resulting decoded data D315 is supplied to the decoded data rearrangement unit 311.
  • the decoded data rearrangement unit 311 performs inverse permutation of the column permutation of equation (12) on the decoded data D315 supplied from the decoded word calculation unit 309, thereby rearranging the order, and the final decoding result Output as D316.
  • one or both of row permutation and column permutation are applied to the parity check matrix (original parity check matrix), and one or more of the 1s of the P ⁇ P unit matrix and its elements are changed to 0.
  • a quasi-identity matrix a shift matrix obtained by cyclically shifting an identity matrix or a quasi-identity matrix, a sum matrix that is the sum of multiple identity matrices, quasi-identity matrices, or shift matrices, a combination of P ⁇ P zero matrices, that is,
  • decoding of LDPC codes can be performed by performing check node operation and variable node operation with P It is possible to adopt an architecture in which they are performed simultaneously.
  • the LDPC decoder 166 that configures the receiving device 12 in FIG. 130, for example, performs LDPC decoding by simultaneously performing P check node calculations and P variable node calculations, similar to the decoding device in FIG.
  • this parity interleaving corresponds to the column permutation of formula (12), so the LDPC decoder 166 does not need to perform the column permutation of formula (12).
  • the groupwise deinterleaver 55 sends the LDPC code for which parity deinterleaving is not performed to the LDPC decoder 166, that is, the sequence of equation (12).
  • a permuted LDPC code is supplied, and the LDPC decoder 166 performs the same processing as the decoding device in FIG. 136 except that the column permutation of equation (12) is not performed.
  • FIG. 137 is a diagram showing a configuration example of the LDPC decoder 166 of FIG.
  • LDPC decoder 166 is configured in the same manner as the decoding device in FIG. 136 except that received data rearrangement section 310 in FIG. Since the same processing as that of the decoding device in FIG. 136 is performed except that the decoding device is not deciphered, the description thereof will be omitted.
  • the LDPC decoder 166 can be configured without the received data rearrangement unit 310, so the scale can be reduced more than the decoding device in FIG.
  • the code length N of the LDPC code is 90
  • the information length K is 60
  • the parallel factor (the number of rows and columns of the constituent matrix) P is 5.
  • the LDPC code has a factor P of 360 and a divisor q of M/P, respectively.
  • the LDPC decoder 166 of FIG. By performing them at the same time, they can be applied when performing LDPC decoding.
  • the parity part of the decoding result is unnecessary, and only the information bits of the decoding result are output. can be configured.
  • FIG. 138 is a diagram explaining block deinterleaving performed by the block deinterleaver 54 in FIG.
  • the sequence of code bits of the LDPC code is restored (restored) to the original sequence by performing processing opposite to the block interleaving of the block interleaver 25 described in FIG.
  • the LDPC code is written to and read from m columns equal to the number of bits of the symbol m, so that the code bit sequence of the LDPC code is restored to the original sequence. returned.
  • LDPC codes are written in the order in which LDPC codes are read out in block interleaving. Furthermore, in block deinterleaving, reading of LDPC codes is performed in the order in which the LDPC codes are written in block interleaving.
  • part 1 of the LDPC code as shown in FIG. 138, the part 1 of the LDPC code in m-bit symbol units is written in the row direction from the first row of all m columns. That is, the code bit of the LDPC code, which is an m-bit symbol, is written in the row direction.
  • Writing part 1 in units of m bits is performed sequentially toward the row below m columns, and when writing part 1 is completed, as shown in FIG. , reading part 1 downwards from left to right in columns.
  • the m-bit symbol unit of part 2 which is in the m-bit symbol unit, is sequentially concatenated after part 1, whereby the symbol unit is returned to the code bit array of the original 1-codeword LDPC code (the LDCP code before block interleaving).
  • FIG. 139 is a block diagram showing another configuration example of the bit deinterleaver 165 of FIG.
  • bit deinterleaver 165 in FIG. 139 is configured in the same manner as in FIG. 131 except that the parity deinterleaver 1011 is newly provided.
  • the bit deinterleaver 165 is composed of a block deinterleaver 54, a groupwise deinterleaver 55, and a parity deinterleaver 1011, and performs bit deinterleaving of the code bits of the LDPC code from the demapper 164. .
  • the block deinterleaver 54 performs block deinterleaving corresponding to the block interleaving performed by the block interleaver 25 of the transmitting device 11 (reverse processing of block interleaving) for the LDPC code from the demapper 164, that is, block interleaving block deinterleaving is performed to return the positions of the code bits replaced by .
  • the groupwise deinterleaver 55 performs groupwise deinterleaving corresponding to the groupwise interleaving as the rearrangement processing performed by the groupwise interleaver 24 of the transmitting device 11 on the LDPC code from the block deinterleaver 54 .
  • the LDPC code obtained as a result of groupwise deinterleaving is supplied from the groupwise deinterleaver 55 to the parity deinterleaver 1011 .
  • the parity deinterleaver 1011 performs parity deinterleaving corresponding to the parity interleaving performed by the parity interleaver 23 of the transmitting device 11 (the reverse of parity interleaving) on code bits after groupwise deinterleaving by the groupwise deinterleaver 55. processing), that is, parity deinterleaving is performed to return the code bits of the LDPC code whose order has been changed by parity interleaving to the original order.
  • the LDPC code obtained as a result of parity deinterleaving is supplied from parity deinterleaver 1011 to LDPC decoder 166 .
  • the LDPC decoder 166 includes block deinterleaving, groupwise deinterleaving, and parity deinterleaving LDPC code, that is, LDPC encoding according to the parity check matrix H provides an LDPC code obtained by
  • the LDPC decoder 166 performs LDPC decoding of the LDPC code from the bit deinterleaver 165 using the parity check matrix H used for the LDPC encoding by the LDPC encoder 115 of the transmitting device 11 .
  • the LDPC decoder 166 performs LDPC decoding of the LDPC code from the bit deinterleaver 165, and the parity check matrix H (of the type B scheme) used by the LDPC encoder 115 of the transmitting device 11 for LDPC encoding. This is performed using the parity check matrix itself, or using a transformed parity check matrix obtained by at least performing column permutation corresponding to parity interleaving on the parity check matrix H.
  • the LDPC decoder 166 performs LDPC decoding of the LDPC code from the bit deinterleaver 165, and the parity check matrix (type A scheme) used by the LDPC encoder 115 of the transmitting device 11 for LDPC encoding ( FIG. 27) using a parity check matrix (FIG. 28) obtained by performing column permutation, or a transform parity check matrix (FIG. 29) obtained by performing row permutation on the parity check matrix (FIG. 27) used for LDPC coding conduct.
  • a parity check matrix (FIG. 28) obtained by performing column permutation
  • a transform parity check matrix FIG. 29
  • an LDPC code obtained by LDPC encoding according to parity check matrix H is supplied from bit deinterleaver 165 (parity deinterleaver 1011 of) to LDPC decoder 166.
  • the LDPC decoder 166 is, for example, a full serial decoder that sequentially computes messages (check node messages, variable node messages) node by node.
  • It consists of a decoding device that performs LDPC decoding by the coding (full serial decoding) method and a decoding device that performs LDPC decoding by the full parallel decoding method that performs message calculations for all nodes simultaneously (parallel). be able to.
  • the LDPC decoding of the LDPC code is performed at least by performing column permutation corresponding to parity interleaving for the parity check matrix H of the type B scheme used for the LDPC encoding by the LDPC encoder 115 of the transmitting device 11.
  • the obtained transform check matrix or the transform check matrix (FIG. 29) obtained by performing row permutation on the type A check matrix (FIG.
  • the LDPC decoder 166 is a decoding device with an architecture that simultaneously performs P check node operations and variable node operations (or a divisor of P other than 1), and is similar to column permutation (parity interleaving) for obtaining a transform parity check matrix
  • a decoding device FIG. 136 having a received data rearrangement section 310 that rearranges the code bits of the LDPC code.
  • block deinterleaver 54 that performs block deinterleaving
  • groupwise deinterleaver 55 that performs groupwise deinterleaving
  • parity deinterleaver 1011 that performs parity deinterleaving.
  • block deinterleaver 54, the groupwise deinterleaver 55, and the parity deinterleaver 1011 are the parity interleaver 23, the groupwise interleaver 24, And, like the block interleaver 25, it can be constructed integrally.
  • FIG. 140 is a block diagram showing a first configuration example of a receiving system to which the receiving device 12 can be applied.
  • the receiving system is composed of an acquisition section 1101, a transmission path decoding processing section 1102, and an information source decoding processing section 1103.
  • Acquisition unit 1101 receives a signal including an LDPC code obtained by at least LDPC-encoding LDPC target data such as image data and audio data of a program, for example, digital terrestrial broadcasting, digital satellite broadcasting, CATV network, Internet, etc. is acquired via a transmission path (communication path) (not shown) such as a network of , and is supplied to the transmission path decoding processing unit 1102 .
  • a transmission path communication path
  • the acquisition unit 1101 may include a tuner, a It consists of STB (Set Top Box), etc.
  • the acquisition unit 1101 may use, for example, a NIC (Network Interface Card) or the like.
  • network I/F Interface
  • the transmission path decoding processing unit 1102 corresponds to the receiving device 12.
  • Transmission path decoding processing section 1102 performs transmission path decoding processing including at least processing for correcting errors occurring in the transmission path on the signal acquired by acquisition section 1101 via the transmission path, and converts the resulting signal into It is supplied to the information source decoding processing unit 1103 .
  • the signal acquired by the acquisition unit 1101 via the transmission path is a signal obtained by at least performing error correction coding for correcting errors occurring in the transmission path, and the transmission path decoding processing unit 1102 , such a signal is subjected to, for example, transmission line decoding processing such as error correction processing.
  • examples of error correction encoding include LDPC encoding and BCH encoding.
  • at least LDPC encoding is performed as error correction encoding.
  • the transmission path decoding process may include demodulation of the modulated signal.
  • the information source decoding processing unit 1103 performs information source decoding processing including at least processing for decompressing the compressed information to the original information on the signal subjected to the transmission path decoding processing.
  • the signal acquired by the acquisition unit 1101 via the transmission path may be subjected to compression encoding for compressing information in order to reduce the amount of data such as images and voices as information.
  • information source decoding processing section 1103 performs information source decoding processing such as processing (decompression processing) for decompressing compressed information to original information on the signal subjected to transmission path decoding processing.
  • the information source decoding processing unit 1103 does not perform processing for decompressing the compressed information to the original information. can't break
  • decompression processing for example, there is MPEG decoding.
  • the transmission path decoding processing may include descrambling and the like in addition to decompression processing.
  • the acquisition unit 1101 for example, compression encoding such as MPEG encoding is applied to data such as images and audio, and furthermore, error correction encoding such as LDPC encoding is performed.
  • the encoded signal is acquired via a transmission line and supplied to the transmission line decoding processing unit 1102 .
  • the signal from acquisition section 1101 is subjected to, for example, the same processing as that performed by receiving apparatus 12 as transmission path decoding processing, and the signal obtained as a result is used as an information source. It is supplied to the decoding processing unit 1103 .
  • information source decoding processing unit 1103 information source decoding processing such as MPEG decoding is performed on the signal from the transmission path decoding processing unit 1102, and the resulting image or sound is output.
  • the reception system of FIG. 140 as described above can be applied to, for example, a television tuner for receiving television broadcasting as digital broadcasting.
  • the acquisition unit 1101, the transmission path decoding processing unit 1102, and the information source decoding processing unit 1103 are configured as one independent device (hardware (IC (Integrated Circuit), etc.) or software module). Is possible.
  • the acquisition unit 1101, the transmission channel decoding processing unit 1102, and the information source decoding processing unit 1103, a set of the acquisition unit 1101 and the transmission channel decoding processing unit 1102, or a set of the transmission channel decoding processing unit 1102 and the information source decoding processing It is possible to configure the set of the section 1103, the acquisition section 1101, the transmission path decoding processing section 1102, and the information source decoding processing section 1103 as one independent device.
  • FIG. 141 is a block diagram showing a second configuration example of a receiving system to which the receiving device 12 can be applied.
  • the receiving system of FIG. 141 is common to the case of FIG. 140 in that it has an acquisition unit 1101, a transmission path decoding processing unit 1102, and an information source decoding processing unit 1103, and an output unit 1111 is newly provided. 140 is different from the case of FIG.
  • the output unit 1111 is, for example, a display device that displays images or a speaker that outputs audio, and outputs images, audio, etc. as signals output from the information source decoding processing unit 1103 . That is, the output unit 1111 displays images or outputs audio.
  • the reception system of FIG. 141 as described above can be applied to, for example, a TV (television receiver) that receives television broadcasting as digital broadcasting, a radio receiver that receives radio broadcasting, and the like.
  • a TV television receiver
  • radio receiver that receives radio broadcasting
  • the signal output by the transmission path decoding processing unit 1102 is supplied to the output unit 1111 .
  • FIG. 142 is a block diagram showing a third configuration example of a receiving system to which the receiving device 12 can be applied.
  • the reception system in FIG. 142 is common to the case in FIG. 140 in that it has an acquisition section 1101 and a transmission path decoding processing section 1102 .
  • the receiving system in FIG. 142 is different from the case in FIG. 140 in that the information source decoding processing unit 1103 is not provided and the recording unit 1121 is newly provided.
  • the recording unit 1121 records a signal (for example, a TS packet of MPEG TS) output by the transmission path decoding processing unit 1102 in a recording (storage) medium such as an optical disk, a hard disk (magnetic disk), or a flash memory. cause).
  • a recording (storage) medium such as an optical disk, a hard disk (magnetic disk), or a flash memory. cause.
  • the reception system in FIG. 142 as described above can be applied to recorders for recording television broadcasts.
  • the receiving system is configured by providing an information source decoding processing unit 1103.
  • the signal after the information source decoding processing has been performed that is, the image obtained by decoding and the Audio can be recorded by the recording unit 1121 .
  • FIG. 143 shows a configuration example of one embodiment of a computer in which a program for executing the series of processes described above is installed.
  • the program can be recorded in advance in the hard disk 705 or ROM 703 as a recording medium built into the computer.
  • the program may be stored temporarily or It can be permanently stored (recorded).
  • a removable recording medium 711 can be provided as so-called package software.
  • the program can be wirelessly transferred from the download site to the computer via an artificial satellite for digital satellite broadcasting, LAN (Local Area Network),
  • the program can be transferred to a computer by wire via a network such as the Internet, and the computer can receive the transferred program in the communication section 708 and install it in the hard disk 705 incorporated therein.
  • the computer incorporates a CPU (Central Processing Unit) 702.
  • An input/output interface 710 is connected to the CPU 702 via a bus 701.
  • a user operates an input unit 707 including a keyboard, a mouse, a microphone, etc. via the input/output interface 710 to the CPU 702.
  • the program stored in the ROM (Read Only Memory) 703 is executed according to the command.
  • the CPU 702 can receive a program stored in the hard disk 705, a program transferred from a satellite or a network, received by the communication unit 708 and installed in the hard disk 705, or a removable recording medium 711 attached to the drive 709.
  • the program read and installed on the hard disk 705 is loaded into a RAM (Random Access Memory) 704 and executed.
  • the CPU 702 performs the processing according to the above-described flowchart or the processing performed by the configuration of the above-described block diagram.
  • the CPU 702 outputs the processing result from an output unit 706 composed of an LCD (Liquid Crystal Display), a speaker, etc. via an input/output interface 710, or from a communication unit 708 as necessary. It is transmitted, and furthermore, it is recorded in the hard disk 705 or the like.
  • processing steps describing a program for causing a computer to perform various processes do not necessarily have to be processed in chronological order according to the order described as a flowchart, and can be performed in parallel or individually. It also includes the processing that is performed (eg, parallel processing or processing by objects).
  • the program may be processed by one computer, or may be processed by a plurality of computers in a distributed manner. Furthermore, the program may be transferred to a remote computer and executed.
  • the new LDPC code (the parity check matrix initial value table) and GW pattern described above can be used for satellite lines, terrestrial waves, cables (wired lines), and other communication channels 13 (Fig. 7). Furthermore, the new LDPC code and GW pattern can also be used for data transmission other than digital broadcasting.
  • the LDPC encoder 115 (FIG. 8) performs encoding to the LDPC code based on the parity check matrix, but the parity check matrix and the parity check matrix initial value A table is equivalent information, and encoding into an LDPC code based on a parity check matrix includes encoding into an LDPC code based on a parity check matrix initial value table.
  • decoding the LDPC code based on the parity check matrix in the LDPC decoder 166 includes decoding the LDPC code based on the parity check matrix initial value table.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

本技術は、LDPC符号を用いたデータ伝送において、良好な通信品質を確保することができるようにする送信装置、送信方法、受信装置、及び、受信方法に関する。 グループワイズインターリーブでは、符号長Nが17280ビットのLDPC符号が、360ビットのビットグループ0ないし47の単位でインターリーブされる。グループワイズデインターリーブでは、グループワイズインターリーブ後のLDPC符号の並びが元の並びに戻される。本技術は、例えば、LDPC符号を用いたデータ伝送等を行う場合に適用できる。

Description

送信装置、送信方法、受信装置、及び、受信方法
 本技術は、送信装置、送信方法、受信装置、及び、受信方法に関し、特に、例えば、LDPC符号を用いたデータ伝送において、良好な通信品質を確保することができるようにする送信装置、送信方法、受信装置、及び、受信方法に関する。
 LDPC(Low Density Parity Check)符号は、高い誤り訂正能力を有し、近年では、例えば、欧州等のDVB(Digital Video Broadcasting)-S.2や、DVB-T.2、DVB-C.2、米国等のATSC(Advanced Television Systems Committee)3.0等のディジタル放送等の伝送方式に広く採用されている(例えば、非特許文献1を参照)。
 LDPC符号は、近年の研究により、ターボ符号等と同様に、符号長を長くしていくにしたがって、シャノン限界に近い性能が得られることがわかりつつある。また、LDPC符号は、最小距離が符号長に比例するという性質があることから、その特徴として、ブロック誤り確率特性がよく、さらに、ターボ符号等の復号特性において観測される、いわゆるエラーフロア現象が殆ど生じないことも利点として挙げられる。
ATSC Standard:Physical Layer Protocol(A/322), 7 September 2016
 LDPC符号を用いたデータ伝送では、例えば、LDPC符号が、QPSK(Quadrature Phase Shift Keying)等の直交変調(ディジタル変調)のシンボルとされ(シンボル化され)、そのシンボルが、直交変調の信号点にマッピングされて送信される。
 以上のようなLDPC符号を用いたデータ伝送は、世界的に拡がりつつあり、良好な通信(伝送)品質を確保することが要請されている。
 本技術は、このような状況に鑑みてなされたものであり、LDPC符号を用いたデータ伝送において、良好な通信品質を確保することができるようにするものである。
 本技術の送信装置/方法は、符号長Nが17280ビットであり、符号化率rが14/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化部/ステップと、前記LDPC符号を、360ビットのビットグループ単位でインターリーブするグループワイズインターリーブを行うグループワイズインターリーブ部/ステップと、前記LDPC符号を、4ビット単位で、16QAMの2D-NUC(Non-Uniform Constellation)の16個の信号点のうちのいずれかにマッピングするマッピング部/ステップとを備え、前記グループワイズインターリーブでは、前記LDPC符号の先頭からi+1番目のビットグループを、ビットグループiとして、前記17280ビットのLDPC符号のビットグループ0ないし47の並びを、ビットグループ
 3 35 16 36 41 32 7 20 39 38 1 47 5 24 14 17 0 34 2 6 13 43 9 15 31 37 21 46 25 26 11 42 30 40 44 10 23 18 8 22 29 28 45 4 33 19 12 27
 の並びにインターリーブし、前記LDPC符号は、情報ビットとパリティビットを含み、前記検査行列は、前記情報ビットに対応する情報行列部及び前記パリティビットに対応するパリティ行列部を含み、前記情報行列部は、検査行列初期値テーブルによって表され、前記検査行列初期値テーブルは、前記情報行列部の1の要素の位置を360列ごとに表すテーブルであって、
 337 376 447 504 551 864 872 975 1136 1225 1254 1271 1429 1478 1870 2122
 58 121 163 365 515 534 855 889 1083 1122 1190 1448 1476 1635 1691 1954
 247 342 395 454 479 665 674 1033 1041 1198 1300 1484 1680 1941 2096 2121
 80 487 500 513 661 970 1038 1095 1109 1133 1416 1545 1696 1992 2051 2089
 32 101 205 413 568 712 714 944 1329 1669 1703 1826 1904 1908 2014 2097
 142 201 491 838 860 954 960 965 997 1027 1225 1488 1502 1521 1737 1804
 453 1184 1542
 10 781 1709
 497 903 1546
 1080 1640 1861
 1198 1616 1817
 771 978 2089
 369 1079 1348
 980 1788 1987
 1495 1900 2015
 27 540 1070
 200 1771 1962
 863 988 1329
 674 1321 2152
 807 1458 1727
 844 867 1628
 227 546 1027
 408 926 1413
 361 982 2087
 1247 1288 1392
 1051 1070 1281
 325 452 467
 1116 1672 1833
 21 236 1267
 504 856 2123
 398 775 1912
 1056 1529 1701
 143 930 1186
 553 1029 1040
 303 653 1308
 877 992 1174
 1083 1134 1355
 298 404 709
 970 1272 1799
 296 1017 1873
 105 780 1418
 682 1247 1867
 である送信装置/方法である。
 本技術の送信装置/方法においては、符号長Nが17280ビットであり、符号化率rが14/16のLDPC符号の検査行列に基づき、LDPC符号化が行われ、前記LDPC符号を、360ビットのビットグループ単位でインターリーブするグループワイズインターリーブが行われる。そして、前記LDPC符号が、4ビット単位で、16QAMの2D-NUC(Non-Uniform Constellation)の16個の信号点のうちのいずれかにマッピングされる。前記グループワイズインターリーブでは、前記LDPC符号の先頭からi+1番目のビットグループを、ビットグループiとして、前記17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 3 35 16 36 41 32 7 20 39 38 1 47 5 24 14 17 0 34 2 6 13 43 9 15 31 37 21 46 25 26 11 42 30 40 44 10 23 18 8 22 29 28 45 4 33 19 12 27
 の並びにインターリーブされる。前記LDPC符号は、情報ビットとパリティビットを含み、前記検査行列は、前記情報ビットに対応する情報行列部及び前記パリティビットに対応するパリティ行列部を含み、前記情報行列部は、検査行列初期値テーブルによって表され、前記検査行列初期値テーブルは、前記情報行列部の1の要素の位置を360列ごとに表すテーブルであって、
 337 376 447 504 551 864 872 975 1136 1225 1254 1271 1429 1478 1870 2122
 58 121 163 365 515 534 855 889 1083 1122 1190 1448 1476 1635 1691 1954
 247 342 395 454 479 665 674 1033 1041 1198 1300 1484 1680 1941 2096 2121
 80 487 500 513 661 970 1038 1095 1109 1133 1416 1545 1696 1992 2051 2089
 32 101 205 413 568 712 714 944 1329 1669 1703 1826 1904 1908 2014 2097
 142 201 491 838 860 954 960 965 997 1027 1225 1488 1502 1521 1737 1804
 453 1184 1542
 10 781 1709
 497 903 1546
 1080 1640 1861
 1198 1616 1817
 771 978 2089
 369 1079 1348
 980 1788 1987
 1495 1900 2015
 27 540 1070
 200 1771 1962
 863 988 1329
 674 1321 2152
 807 1458 1727
 844 867 1628
 227 546 1027
 408 926 1413
 361 982 2087
 1247 1288 1392
 1051 1070 1281
 325 452 467
 1116 1672 1833
 21 236 1267
 504 856 2123
 398 775 1912
 1056 1529 1701
 143 930 1186
 553 1029 1040
 303 653 1308
 877 992 1174
 1083 1134 1355
 298 404 709
 970 1272 1799
 296 1017 1873
 105 780 1418
 682 1247 1867
 になっている。
 本技術の受信装置/方法は、符号長Nが17280ビットであり、符号化率rが14/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化ステップと、前記LDPC符号を、360ビットのビットグループ単位でインターリーブするグループワイズインターリーブを行うグループワイズインターリーブステップと、前記LDPC符号を、4ビット単位で、16QAMの2D-NUC(Non-Uniform Constellation)の16個の信号点のうちのいずれかにマッピングするマッピングステップとを備え、前記グループワイズインターリーブでは、前記LDPC符号の先頭からi+1番目のビットグループを、ビットグループiとして、前記17280ビットのLDPC符号のビットグループ0ないし47の並びを、ビットグループ
 3 35 16 36 41 32 7 20 39 38 1 47 5 24 14 17 0 34 2 6 13 43 9 15 31 37 21 46 25 26 11 42 30 40 44 10 23 18 8 22 29 28 45 4 33 19 12 27
 の並びにインターリーブし、前記LDPC符号は、情報ビットとパリティビットを含み、前記検査行列は、前記情報ビットに対応する情報行列部及び前記パリティビットに対応するパリティ行列部を含み、前記情報行列部は、検査行列初期値テーブルによって表され、前記検査行列初期値テーブルは、前記情報行列部の1の要素の位置を360列ごとに表すテーブルであって、
 337 376 447 504 551 864 872 975 1136 1225 1254 1271 1429 1478 1870 2122
 58 121 163 365 515 534 855 889 1083 1122 1190 1448 1476 1635 1691 1954
 247 342 395 454 479 665 674 1033 1041 1198 1300 1484 1680 1941 2096 2121
 80 487 500 513 661 970 1038 1095 1109 1133 1416 1545 1696 1992 2051 2089
 32 101 205 413 568 712 714 944 1329 1669 1703 1826 1904 1908 2014 2097
 142 201 491 838 860 954 960 965 997 1027 1225 1488 1502 1521 1737 1804
 453 1184 1542
 10 781 1709
 497 903 1546
 1080 1640 1861
 1198 1616 1817
 771 978 2089
 369 1079 1348
 980 1788 1987
 1495 1900 2015
 27 540 1070
 200 1771 1962
 863 988 1329
 674 1321 2152
 807 1458 1727
 844 867 1628
 227 546 1027
 408 926 1413
 361 982 2087
 1247 1288 1392
 1051 1070 1281
 325 452 467
 1116 1672 1833
 21 236 1267
 504 856 2123
 398 775 1912
 1056 1529 1701
 143 930 1186
 553 1029 1040
 303 653 1308
 877 992 1174
 1083 1134 1355
 298 404 709
 970 1272 1799
 296 1017 1873
 105 780 1418
 682 1247 1867
 である送信方法により送信されてくるデータから得られる、グループワイズインターリーブ後の前記LDPC符号の並びを元の並びに戻すグループワイズデインターリーブを行うグループワイズデインターリーブ部/ステップを備える受信装置/方法である。
 本技術の受信装置においては、本技術の送信方法により送信されてくるデータから得られる、グループワイズインターリーブ後の前記LDPC符号の並びを元の並びに戻すグループワイズデインターリーブが行われる。
 なお、送信装置や受信装置は、独立した装置であっても良いし、1個の装置を構成している内部ブロックであっても良い。
LDPC符号の検査行列Hを説明する図である。 LDPC符号の復号手順を説明するフローチャートである。 LDPC符号の検査行列の例を示す図である。 検査行列のタナーグラフの例を示す図である。 バリアブルノードの例を示す図である。 チェックノードの例を示す図である。 本技術を適用した伝送システムの一実施の形態の構成例を示す図である。 送信装置11の構成例を示すブロック図である。 ビットインターリーバ116の構成例を示すブロック図である。 検査行列の例を示す図である。 パリティ行列の例を示す図である。 DVB-T.2の規格に規定されているLDPC符号の検査行列を説明する図である。 DVB-T.2の規格に規定されているLDPC符号の検査行列を説明する図である。 LDPC符号の復号についてのタナーグラフの例を示す図である。 階段構造になっているパリティ行列HTと、そのパリティ行列HTに対応するタナーグラフの例を示す図である。 パリティインターリーブ後のLDPC符号に対応する検査行列Hのパリティ行列HTの例を示す図である。 ビットインターリーバ116、及び、マッパ117で行われる処理の例を説明するフローチャートである。 LDPCエンコーダ115の構成例を示すブロック図である。 LDPCエンコーダ115の処理の例を説明するフローチャートである。 符号化率1/4、符号長16200の検査行列初期値テーブルの例を示す図である。 検査行列初期値テーブルから検査行列Hを求める方法を説明する図である。 検査行列の構造を示す図である。 検査行列初期値テーブルの例を示す図である。 検査行列初期値テーブルから生成されるA行列を説明する図である。 B行列のパリティインターリーブを説明する図である。 検査行列初期値テーブルから生成されるC行列を説明する図である。 D行列のパリティインターリーブを説明する図である。 検査行列に、パリティインターリーブを元に戻すパリティデインターリーブとしての列置換(column permutation)を行った検査行列を示す図である。 検査行列に、行置換(row permutation)を行うことにより得られる変換検査行列を示す図である。 N=17280ビットで、r=2/16のタイプA符号の検査行列初期値テーブルの例を示す図である。 N=17280ビットで、r=3/16のタイプA符号の検査行列初期値テーブルの例を示す図である。 N=17280ビットで、r=4/16のタイプA符号の検査行列初期値テーブルの例を示す図である。 N=17280ビットで、r=5/16のタイプA符号の検査行列初期値テーブルの例を示す図である。 N=17280ビットで、r=6/16のタイプA符号の検査行列初期値テーブルの例を示す図である。 N=17280ビットで、r=7/16のタイプA符号の検査行列初期値テーブルの例を示す図である。 N=17280ビットで、r=7/16のタイプB符号の検査行列初期値テーブルの例を示す図である。 N=17280ビットで、r=8/16のタイプB符号の検査行列初期値テーブルの例を示す図である。 N=17280ビットで、r=9/16のタイプB符号の検査行列初期値テーブルの例を示す図である。 N=17280ビットで、r=10/16のタイプB符号の検査行列初期値テーブルの例を示す図である。 N=17280ビットで、r=11/16のタイプB符号の検査行列初期値テーブルの例を示す図である。 N=17280ビットで、r=12/16のタイプB符号の検査行列初期値テーブルの例を示す図である。 N=17280ビットで、r=13/16のタイプB符号の検査行列初期値テーブルの例を示す図である。 N=17280ビットで、r=14/16のタイプB符号の検査行列初期値テーブルの例を示す図である。 列重みが3で、行重みが6であるデグリーシーケンスのアンサンブルのタナーグラフの例を示す図である。 マルチエッジタイプのアンサンブルのタナーグラフの例を示す図である。 タイプA方式の検査行列を説明する図である。 タイプA方式の検査行列を説明する図である。 タイプB方式の検査行列を説明する図である。 タイプB方式の検査行列を説明する図である。 N=17280ビットで、r=4/16の新タイプA符号の検査行列初期値テーブルを示す図である。 r=4/16の新タイプA符号の検査行列Hのパラメータを示す図である。 N=17280ビットで、r=9/16の新タイプB符号の検査行列初期値テーブルを示す図である。 r=9/16の新タイプB符号の検査行列Hのパラメータを示す図である。 変調方式がQPSKである場合のUCの信号点の座標の例を示す図である。 変調方式が16QAMである場合の2D-NUCの信号点の座標の例を示す図である。 変調方式が1024QAMである場合の1D-NUCの信号点の座標の例を示す図である。 1024QAMのシンボルyと、位置ベクトルuとの関係を示す図である。 QPSK-UCの信号点の座標zqの例を示す図である。 QPSK-UCの信号点の座標zqの例を示す図である。 16QAM-UCの信号点の座標zqの例を示す図である。 16QAM-UCの信号点の座標zqの例を示す図である。 64QAM-UCの信号点の座標zqの例を示す図である。 64QAM-UCの信号点の座標zqの例を示す図である。 256QAM-UCの信号点の座標zqの例を示す図である。 256QAM-UCの信号点の座標zqの例を示す図である。 1024QAM-UCの信号点の座標zqの例を示す図である。 1024QAM-UCの信号点の座標zqの例を示す図である。 4096QAM-UCの信号点の座標zqの例を示す図である。 4096QAM-UCの信号点の座標zqの例を示す図である。 16QAM-2D-NUCの信号点の座標zsの例を示す図である。 64QAM-2D-NUCの信号点の座標zsの例を示す図である。 256QAM-2D-NUCの信号点の座標zsの例を示す図である。 256QAM-2D-NUCの信号点の座標zsの例を示す図である。 1024QAM-1D-NUCの信号点の座標zsの例を示す図である。 1024QAMのシンボルyと、位置ベクトルuとの関係を示す図である。 4096QAM-1D-NUCの信号点の座標zsの例を示す図である。 4096QAMのシンボルyと、位置ベクトルuとの関係を示す図である。 4096QAMのシンボルyと、位置ベクトルuとの関係を示す図である。 ブロックインターリーバ25で行われるブロックインターリーブを説明する図である。 ブロックインターリーバ25で行われるブロックインターリーブを説明する図である。 グループワイズインターリーバ24で行われるグループワイズインターリーブを説明する図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第1の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第2の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第3の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第4の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第5の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第6の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第7の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第8の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第9の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第10の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第11の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第12の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第13の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第14例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第15例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第16の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第17の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第18の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第19の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第20の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第21の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第22の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第23の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第24の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第25の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第26の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第27の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第28の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第29の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第30の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第31の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第32の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第33の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第34の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第35の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第36の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第37の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第38の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第39の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第40の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第41の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第42の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第43の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第44の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第45の例を示す図である。 符号長Nが17280ビットのLDPC符号に対するGWパターンの第46の例を示す図である。 符号長Nが17280ビットのr=14/16のタイプB符号、16QAM、16QAM-2D-NUC、及び、新GWパターンの組み合わせのBERのシミュレーション結果を示す図である。 符号長Nが17280ビットのr=14/16のタイプB符号、16QAM、16QAM-2D-NUC、及び、新GWパターンの組み合わせの所要CNRのシミュレーション結果を示す図である。 受信装置12の構成例を示すブロック図である。 ビットデインターリーバ165の構成例を示すブロック図である。 デマッパ164、ビットデインターリーバ165、及び、LDPCデコーダ166が行う処理の例を説明するフローチャートである。 LDPC符号の検査行列の例を示す図である。 検査行列に行置換と列置換を施した行列(変換検査行列)の例を示す図である。 5×5単位に分割した変換検査行列の例を示す図である。 ノード演算をP個まとめて行う復号装置の構成例を示すブロック図である。 LDPCデコーダ166の構成例を示すブロック図である。 ブロックデインターリーバ54で行われるブロックデインターリーブを説明する図である。 ビットデインターリーバ165の他の構成例を示すブロック図である。 受信装置12を適用可能な受信システムの第1の構成例を示すブロック図である。 受信装置12を適用可能な受信システムの第2の構成例を示すブロック図である。 受信装置12を適用可能な受信システムの第3の構成例を示すブロック図である。 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
 以下、本技術の実施の形態について説明するが、その前に、LDPC符号について説明する。
 <LDPC符号>
 なお、LDPC符号は、線形符号であり、必ずしも2元である必要はないが、ここでは、2元であるものとして説明する。
 LDPC符号は、そのLDPC符号を定義する検査行列(parity check matrix)が疎なものであることを最大の特徴とする。ここで、疎な行列とは、行列の要素の"1"の個数が非常に少ない行列(ほとんどの要素が0の行列)である。
 図1は、LDPC符号の検査行列Hの例を示す図である。
 図1の検査行列Hでは、各列の重み(列重み)("1"の数)(weight)が"3"であり、且つ、各行の重み(行重み)が"6"になっている。
 LDPC符号による符号化(LDPC符号化)では、例えば、検査行列Hに基づいて生成行列Gを生成し、この生成行列Gを2元の情報ビットに対して乗算することで、符号語(LDPC符号)が生成される。
 具体的には、LDPC符号化を行う符号化装置は、まず、検査行列Hの転置行列HTとの間に、式GHT=0が成立する生成行列Gを算出する。ここで、生成行列Gが、K×N行列である場合には、符号化装置は、生成行列Gに対してKビットからなる情報ビットのビット列(ベクトルu)を乗算し、Nビットからなる符号語c(=uG)を生成する。この符号化装置によって生成された符号語(LDPC符号)は、所定の通信路を介して受信側において受信される。
 LDPC符号の復号は、Gallagerが確率復号(Probabilistic Decoding)と称して提案したアルゴリズムであって、バリアブルノード(variable node(メッセージノード(message node)とも呼ばれる))と、チェックノード(check node)とからなる、いわゆるタナーグラフ(Tanner graph)上での確率伝播(belief propagation)によるメッセージ・パッシング・アルゴリズムによって行うことが可能である。ここで、以下、適宜、バリアブルノードとチェックノードを、単に、ノードともいう。
 図2は、LDPC符号の復号の手順を示すフローチャートである。
 なお、以下、適宜、受信側で受信したLDPC符号(1符号語)のi番目の符号ビットの、値の"0"らしさを対数尤度比(log likelihood ratio)で表現した実数値(受信LLR)を、受信値u0iともいう。また、チェックノードから出力されるメッセージをujとし、バリアブルノードから出力されるメッセージをviとする。
 まず、LDPC符号の復号においては、図2に示すように、ステップS11において、LDPC符号が受信され、メッセージ(チェックノードメッセージ)ujが"0"に初期化されるとともに、繰り返し処理のカウンタとしての整数をとる変数kが"0"に初期化され、ステップS12に進む。ステップS12において、LDPC符号を受信して得られる受信値u0iに基づいて、式(1)に示す演算(バリアブルノード演算)を行うことによってメッセージ(バリアブルノードメッセージ)viが求められ、さらに、このメッセージviに基づいて、式(2)に示す演算(チェックノード演算)を行うことによってメッセージujが求められる。
Figure JPOXMLDOC01-appb-M000001
                        ・・・(1)
Figure JPOXMLDOC01-appb-M000002
                        ・・・(2)
 ここで、式(1)と式(2)におけるdvとdcは、それぞれ、検査行列Hの縦方向(列)と横方向(行)の"1"の個数を示す任意に選択可能とされるパラメータである。例えば、図1に示したような列重みが3で、行重みが6の検査行列Hに対するLDPC符号((3,6)LDPC符号)の場合には、dv=3,dc=6となる。
 なお、式(1)のバリアブルノード演算、及び(2)のチェックノード演算においては、それぞれ、メッセージを出力しようとする枝(edge)(バリアブルノードとチェックノードとを結ぶ線)から入力されたメッセージを、演算の対象としないことから、演算の範囲が、1ないしdv-1又は1ないしdc-1となっている。また、式(2)のチェックノード演算は、実際には、2入力v1,v2に対する1出力で定義される式(3)に示す関数R(v1,v2)のテーブルを予め作成しておき、これを式(4)に示すように連続的(再帰的)に用いることによって行われる。
Figure JPOXMLDOC01-appb-M000003
                        ・・・(3)
Figure JPOXMLDOC01-appb-M000004
                        ・・・(4)
 ステップS12では、さらに、変数kが"1"だけインクリメントされ、ステップS13に進む。ステップS13では、変数kが所定の繰り返し復号回数Cよりも大きいか否かが判定される。ステップS13において、変数kがCよりも大きくないと判定された場合、ステップS12に戻り、以下、同様の処理が繰り返される。
 また、ステップS13において、変数kがCよりも大きいと判定された場合、ステップS14に進み、式(5)に示す演算を行うことによって最終的に出力する復号結果としてのメッセージviが求められて出力され、LDPC符号の復号処理が終了する。
Figure JPOXMLDOC01-appb-M000005
                        ・・・(5)
 ここで、式(5)の演算は、式(1)のバリアブルノード演算とは異なり、バリアブルノードに接続している全ての枝からのメッセージujを用いて行われる。
 図3は、(3,6)LDPC符号(符号化率1/2、符号長12)の検査行列Hの例を示す図である。
 図3の検査行列Hでは、図1と同様に、列の重みが3に、行の重みが6に、それぞれなっている。
 図4は、図3の検査行列Hのタナーグラフを示す図である。
 ここで、図4において、プラス"+"で表わされるのが、チェックノードであり、イコール"="で表わされるのが、バリアブルノードである。チェックノードとバリアブルノードは、それぞれ、検査行列Hの行と列に対応する。チェックノードとバリアブルノードとの間の結線は、枝(edge)であり、検査行列の要素の"1"に相当する。
 すなわち、検査行列の第j行第i列の要素が1である場合には、図4において、上からi番目のバリアブルノード("="のノード)と、上からj番目のチェックノード("+"のノード)とが、枝により接続される。枝は、バリアブルノードに対応する符号ビットが、チェックノードに対応する拘束条件を持つことを表す。
 LDPC符号の復号方法であるサムプロダクトアルゴリズム(Sum Product Algorithm)では、バリアブルノード演算とチェックノード演算とが繰り返し行われる。
 図5は、バリアブルノードで行われるバリアブルノード演算を示す図である。
 バリアブルノードでは、計算しようとしている枝に対応するメッセージviは、バリアブルノードに繋がっている残りの枝からのメッセージu1およびu2と、受信値u0iを用いた式(1)のバリアブルノード演算により求められる。他の枝に対応するメッセージも同様に求められる。
 図6は、チェックノードで行われるチェックノード演算を示す図である。
 ここで、式(2)のチェックノード演算は、式a×b=exp{ln(|a|)+ln(|b|)}×sign(a)×sign(b)の関係を用いて、式(6)に書き直すことができる。但し、sign(x)は、x≧0のとき1であり、x<0のとき-1である。
Figure JPOXMLDOC01-appb-M000006
                        ・・・(6)
 x≧0において、関数φ(x)を、式φ(x)=ln(tanh(x/2))と定義すると、式φ-1(x)=2tanh-1(e-x)が成り立つから、式(6)は、式(7)に変形することができる。
Figure JPOXMLDOC01-appb-M000007
                        ・・・(7)
 チェックノードでは、式(2)のチェックノード演算が、式(7)に従って行われる。
 すなわち、チェックノードでは、図6のように、計算しようとしている枝に対応するメッセージujは、チェックノードに繋がっている残りの枝からのメッセージv1,v2,v3,v4,v5を用いた式(7)のチェックノード演算によって求められる。他の枝に対応するメッセージも同様に求められる。
 なお、式(7)の関数φ(x)は、式φ(x)=ln((ex+1)/(ex-1))で表すことができ、x>0において、φ(x)=φ-1(x)である。関数φ(x)およびφ-1(x)をハードウェアに実装する際には、LUT(Look Up Table)を用いて実装される場合があるが、両者共に同一のLUTとなる。
 <本技術を適用した伝送システムの構成例>
 図7は、本技術を適用した伝送システム(システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは、問わない)の一実施の形態の構成例を示す図である。
 図7において、伝送システムは、送信装置11と受信装置12とから構成される。
 送信装置11は、例えば、テレビジョン放送の番組等の送信(放送)(伝送)を行う。すなわち、送信装置11は、例えば、番組としての画像データや音声データ等の、送信の対象である対象データをLDPC符号に符号化し、例えば、衛星回線や、地上波、ケーブル(有線回線)等の通信路13を介して送信する。
 受信装置12は、送信装置11から通信路13を介して送信されてくるLDPC符号を受信し、対象データに復号して出力する。
 ここで、図7の伝送システムで使用されるLDPC符号は、AWGN(Additive White Gaussian Noise)通信路で極めて高い能力を発揮することが知られている。
 一方、通信路13では、バースト(burst)誤りやイレージャ(erasure)を発生することがある。例えば、特に、通信路13が地上波である場合、OFDM(Orthogonal Frequency Division Multiplexing)システムでは、D/U(Desired to Undesired Ratio)が0dB(Undesired=echoのパワーがDesired=メインパスのパワーと等しい)のマルチパス環境において、エコー(echo)(メインパス以外のパス)の遅延(delay)に応じて、特定のシンボルのパワーが0になってしまう(erasure)ことがある。
 また、フラッタ(flutter)(遅延が0でドップラ(doppler)周波数の掛かったechoが加算される通信路)でも、D/Uが0dBである場合には、ドップラ周波数によって、特定の時刻のOFDMのシンボル全体のパワーが0になる(erasure)場合が生じる。
 さらに、受信装置12側の、送信装置11からの信号を受信するアンテナ等の受信部(図示せず)から受信装置12までの配線の状況や、受信装置12の電源の不安定性により、バースト誤りが発生することがある。
 一方、LDPC符号の復号においては、検査行列Hの列、ひいては、LDPC符号の符号ビットに対応するバリアブルノードにおいて、図5に示したように、LDPC符号の符号ビット(の受信値u0i)の加算を伴う式(1)のバリアブルノード演算が行われるため、そのバリアブルノード演算に用いられる符号ビットにエラーが生じると、求められるメッセージの精度が低下する。
 そして、LDPC符号の復号では、チェックノードにおいて、そのチェックノードに繋がっているバリアブルノードで求められるメッセージを用いて、式(7)のチェックノード演算が行われるため、繋がっている複数のバリアブルノード(に対応するLDPC符号の符号ビット)が同時にエラー(イレージャを含む)となるチェックノードの数が多くなると、復号の性能が劣化する。
 すなわち、例えば、チェックノードは、そのチェックノードに繋がっているバリアブルノードの2個以上が同時にイレージャになると、全バリアブルノードに、値が0である確率と1である確率とが等確率のメッセージを戻す。この場合、等確率のメッセージを戻すチェックノードは、1回の復号処理(1セットのバリアブルノード演算及びチェックノード演算)に寄与しないこととなり、その結果、復号処理の繰り返し回数を多く必要とすることになって、復号の性能が劣化し、さらに、LDPC符号の復号を行う受信装置12の消費電力が増大する。
 そこで、図7の伝送システムでは、AWGN通信路(AWGNチャネル)での性能を維持しつつ、バースト誤りやイレージャへの耐性を向上させることが可能になっている。
 <送信装置11の構成例>
 図8は、図7の送信装置11の構成例を示すブロック図である。
 送信装置11では、対象データとしての1以上のインプットストリーム(Input Streams)が、モードアダプテーション/マルチプレクサ(Mode Adaptation/Multiplexer)111に供給される。
 モードアダプテーション/マルチプレクサ111は、モード選択、及び、そこに供給される1以上のインプットストリームの多重化等の処理を必要に応じて行い、その結果得られるデータを、パダー(padder)112に供給する。
 パダー112は、モードアダプテーション/マルチプレクサ111からのデータに対して、必要なゼロ詰め(Nullの挿入)を行い、その結果得られるデータを、BBスクランブラ(BB Scrambler)113に供給する。
 BBスクランブラ113は、パダー112からのデータに、BBスクランブル(Base-Band Scrambling)を施し、その結果得られるデータを、BCHエンコーダ(BCH encoder)114に供給する。
 BCHエンコーダ114は、BBスクランブラ113からのデータをBCH符号化し、その結果得られるデータを、LDPC符号化の対象であるLDPC対象データとして、LDPCエンコーダ(LDPC encoder)115に供給する。
 LDPCエンコーダ115(符号化部)は、BCHエンコーダ114からのLDPC対象データについて、例えば、LDPC符号のパリティビットに対応する部分であるパリティ行列が階段(dual diagonal)構造になっている検査行列等に従ったLDPC符号化を行い、LDPC対象データを情報ビットとするLDPC符号を出力する。
 すなわち、LDPCエンコーダ115は、LDPC対象データを、例えば、DVB-S.2や、DVB-T.2,DVB-C.2,ATSC3.0等の所定の規格に規定されている(検査行列に対応する)LDPC符号、その他のLDPC符号に符号化するLDPC符号化を行い、その結果得られるLDPC符号を出力する。
 ここで、DVB-S.2やATSC3.0の規格に規定されているLDPC符号は、IRA(Irregular Repeat Accumulate)符号であり、そのLDPC符号の検査行列におけるパリティ行列(の一部又は全部)は、階段構造になっている。パリティ行列、及び、階段構造については、後述する。また、IRA符号については、例えば、"Irregular Repeat-Accumulate Codes," H. Jin, A. Khandekar, and R. J. McEliece, in Proceedings of 2nd International Symposium on Turbo codes and Related Topics, pp. 1-8, Sept. 2000に記載されている。
 LDPCエンコーダ115が出力するLDPC符号は、ビットインターリーバ(Bit Interleaver)116に供給される。
 ビットインターリーバ116は、LDPCエンコーダ115からのLDPC符号について、後述するビットインターリーブを行い、そのビットインターリーブ後のLDPC符号を、マッパ(Mapper)117に供給する。
 マッパ117は、ビットインターリーバ116からのLDPC符号を、そのLDPC符号の1ビット以上の符号ビットの単位(シンボル単位)で、直交変調の1つのシンボルを表す信号点にマッピングして直交変調(多値変調)を行う。
 すなわち、マッパ117は、ビットインターリーバ116からのLDPC符号を、搬送波と同相のI成分を表すI軸と、搬送波と直交するQ成分を表すQ軸とで規定されるIQ平面であるコンスタレーション上の、LDPC符号の直交変調を行う変調方式で定める信号点にマッピングして直交変調を行う。
 マッパ117で行われる直交変調の変調方式で使用するコンスタレーションの信号点の数が、2m個である場合、LDPC符号のmビットの符号ビットを、シンボル(1シンボル)として、マッパ117では、ビットインターリーバ116からのLDPC符号が、シンボル単位で、2m個の信号点のうちの、シンボルを表す信号点にマッピングされる。
 ここで、マッパ117で行われる直交変調の変調方式としては、例えば、DVB-S.2やATSC3.0の規格等に規定されている変調方式、その他の変調方式、すなわち、例えば、BPSK(Binary Phase Shift Keying)や、QPSK(Quadrature Phase Shift Keying),8PSK(Phase-Shift Keying),16APSK(Amplitude Phase-Shift Keying),32APSK,16QAM(Quadrature Amplitude Modulation),16QAM,64QAM,256QAM,1024QAM,4096QAM,4PAM(Pulse Amplitude Modulation)等がある。マッパ117において、いずれの変調方式による直交変調が行われるかは、例えば、送信装置11のオペレータの操作等に従って、あらかじめ設定される。
 マッパ117での処理により得られるデータ(シンボルを信号点にマッピングしたマッピング結果)は、時間インターリーバ(Time Interleaver)118に供給される。
 時間インターリーバ118は、マッパ117からのデータについて、シンボル単位での時間インターリーブ(時間方向のインターリーブ)を行い、その結果得られるデータを、SISO/MISOエンコーダ(SISO/MISO(Single Input Single Output/Multiple Input Single Output) encoder)119に供給する。
 SISO/MISOエンコーダ119は、時間インターリーバ118からのデータに、時空間符号化を施し、周波数インターリーバ(Frequency Interleaver)120に供給する。
 周波数インターリーバ120は、SISO/MISOエンコーダ119からのデータについて、シンボル単位での周波数インターリーブ(周波数方向のインターリーブ)を行い、フレームビルダ/リソースアロケーション部(Frame Builder & Resource Allocation)131に供給する。
 一方、BCHエンコーダ121には、例えば、BBシグナリング(Base Band Signalling)(BB Header)等の伝送制御用の制御データ(signalling)が供給される。
 BCHエンコーダ121は、そこに供給される制御データを、BCHエンコーダ114と同様にBCH符号化し、その結果得られるデータを、LDPCエンコーダ122に供給する。
 LDPCエンコーダ122は、BCHエンコーダ121からのデータを、LDPC対象データとして、LDPCエンコーダ115と同様にLDPC符号化し、その結果得られるLDPC符号を、マッパ123に供給する。
 マッパ123は、マッパ117と同様に、LDPCエンコーダ122からのLDPC符号を、そのLDPC符号の1ビット以上の符号ビットの単位(シンボル単位)で、直交変調の1つのシンボルを表す信号点にマッピングして直交変調を行い、その結果得られるデータを、周波数インターリーバ124に供給する。
 周波数インターリーバ124は、周波数インターリーバ120と同様に、マッパ123からのデータについて、シンボル単位での周波数インターリーブを行い、フレームビルダ/リソースアロケーション部131に供給する。
 フレームビルダ/リソースアロケーション部131は、周波数インターリーバ120、及び、124からのデータ(シンボル)の必要な位置に、パイロット(Pilot)のシンボルを挿入し、その結果られるデータ(シンボル)から、所定の数のシンボルで構成されるフレーム(例えば、PL(Physical Layer)フレームや、T2フレーム、C2フレーム等)を構成して、OFDM生成部(OFDM generation)132に供給する。
 OFDM生成部132は、フレームビルダ/リソースアロケーション部131からのフレームから、そのフレームに対応するOFDM信号を生成し、通信路13(図7)を介して送信する。
 なお、送信装置11は、例えば、時間インターリーバ118、SISO/MISOエンコーダ119、周波数インターリーバ120、及び、周波数インターリーバ124等の、図8に図示したブロックの一部を設けずに構成することができる。
 <ビットインターリーバ116の構成例>
 図9は、図8のビットインターリーバ116の構成例を示すブロック図である。
 ビットインターリーバ116は、データをインターリーブする機能を有し、パリティインターリーバ(Parity Interleaver)23、グループワイズインターリーバ(Group-Wise Interleaver)24、及びブロックインターリーバ(Block Interleaver)25から構成される。
 パリティインターリーバ23は、LDPCエンコーダ115からのLDPC符号のパリティビットを、他のパリティビットの位置にインターリーブするパリティインターリーブを行い、そのパリティインターリーブ後のLDPC符号を、グループワイズインターリーバ24に供給する。
 グループワイズインターリーバ24は、パリティインターリーバ23からのLDPC符号について、グループワイズインターリーブを行い、そのグループワイズインターリーブ後のLDPC符号を、ブロックインターリーバ25に供給する。
 ここで、グループワイズインターリーブでは、1符号分のLDPC符号を、その先頭から、後述するパラレルファクタPに等しい360ビット単位に区分した、その1区分の360ビットを、ビットグループとして、パリティインターリーバ23からのLDPC符号が、ビットグループ単位でインターリーブされる。
 グループワイズインターリーブを行う場合には、グループワイズインターリーブを行わない場合に比較して、エラーレートを改善させることができ、その結果、データ伝送において、良好な通信品質を確保することができる。
 ブロックインターリーバ25は、グループワイズインターリーバ24からのLDPC符号を逆多重化するためのブロックインターリーブを行うことで、例えば、1符号分のLDPC符号を、マッピングの単位であるmビットのシンボルにシンボル化し、マッパ117(図8)に供給する。
 ここで、ブロックインターリーブでは、例えば、カラム(column)(縦)方向に所定のビット数を記憶する記憶領域としてのカラムが、ロウ(row)(横)方向に、シンボルのビット数mに等しい数だけ並んだ記憶領域に対して、グループワイズインターリーバ24からのLDPC符号が、カラム方向に書き込まれ、ロウ方向に読み出されることで、LDPC符号が、mビットのシンボルにシンボル化される。
 <LDPC符号の検査行列>
 図10は、図8のLDPCエンコーダ115でLDPC符号化に用いられる検査行列Hの例を示す図である。
 検査行列Hは、LDGM(Low-Density Generation Matrix)構造になっており、LDPC符号の符号ビットのうちの、情報ビットに対応する部分の情報行列HAと、パリティビットに対応するパリティ行列HTとによって、式H=[HA|HT](情報行列HAの要素を左側の要素とし、パリティ行列HTの要素を右側の要素とする行列)で表すことができる。
 ここで、1符号のLDPC符号(1符号語)の符号ビットのうちの情報ビットのビット数と、パリティビットのビット数を、それぞれ、情報長Kと、パリティ長Mというとともに、1個(1符号語)のLDPC符号の符号ビットのビット数を、符号長N(=K+M)という。
 ある符号長NのLDPC符号についての情報長Kとパリティ長Mは、符号化率によって決まる。また、検査行列Hは、行×列がM×Nの行列(M行N列の行列)となる。そして、情報行列HAは、M×Kの行列となり、パリティ行列HTは、M×Mの行列となる。
 図11は、図8のLDPCエンコーダ115でLDPC符号化に用いられる検査行列Hのパリティ行列HTの例を示す図である。
 LDPCエンコーダ115でLDPC符号化に用いられる検査行列Hのパリティ行列HTとしては、例えば、DVB-T.2等の規格に規定されているLDPC符号の検査行列Hと同様のパリティ行列HTを採用することができる。
 DVB-T.2等の規格に規定されているLDPC符号の検査行列Hのパリティ行列HTは、図11に示すように、1の要素が、いわば階段状に並ぶ階段構造の行列(lower bidiagonal matrix)になっている。パリティ行列HTの行重みは、1行目については1で、残りの全ての行については2になっている。また、列重みは、最後の1列については1で、残りの全ての列で2になっている。
 以上のように、パリティ行列HTが階段構造になっている検査行列HのLDPC符号は、その検査行列Hを用いて、容易に生成することができる。
 すなわち、LDPC符号(1符号語)を、行ベクトルcで表すとともに、その行ベクトルを転置して得られる列ベクトルを、cTと表す。また、LDPC符号である行ベクトルcのうちの、情報ビットの部分を、行ベクトルAで表すとともに、パリティビットの部分を、行ベクトルTで表すこととする。
 この場合、行ベクトルcは、情報ビットとしての行ベクトルAと、パリティビットとしての行ベクトルTとによって、式c =[A|T](行ベクトルAの要素を左側の要素とし、行ベクトルTの要素を右側の要素とする行ベクトル)で表すことができる。
 検査行列Hと、LDPC符号としての行ベクトルc=[A|T]とは、式HcT=0を満たす必要があり、かかる式HcT=0を満たす行ベクトルc=[A|T]を構成するパリティビットとしての行ベクトルTは、検査行列H=[HA|HT]のパリティ行列HTが、図11に示した階段構造になっている場合には、式HcT=0における列ベクトルHcTの1行目の要素から順に、各行の要素を0にしていくようにすることで、逐次的(順番)に求めることができる。
 図12は、DVB-T.2等の規格に規定されているLDPC符号の検査行列Hを説明する図である。
 DVB-T.2等の規格に規定されているLDPC符号の検査行列Hの1列目からのKX列については、列重みがXに、その後のK3列については、列重みが3に、その後のM-1列については、列重みが2に、最後の1列については、列重みが1に、それぞれなっている。
 ここで、KX+K3+M-1+1は、符号長Nに等しい。
 図13は、DVB-T.2等の規格に規定されているLDPC符号の各符号化率rについての、列数KX,K3、及びM、並びに、列重みXを示す図である。
 DVB-T.2等の規格では、64800ビットと16200ビットの符号長NのLDPC符号が規定されている。
 そして、符号長Nが64800ビットのLDPC符号については、11個の符号化率(nominal rate)1/4,1/3,2/5,1/2,3/5,2/3,3/4,4/5,5/6,8/9、及び9/10が規定されており、符号長Nが16200ビットのLDPC符号については、10個の符号化率1/4,1/3,2/5,1/2,3/5,2/3,3/4,4/5,5/6、及び8/9が規定されている。
 ここで、以下、64800ビットの符号長Nを、64kビットともいい、16200ビットの符号長Nを、16kビットともいう。
 LDPC符号については、検査行列Hの列重みが大の列に対応する符号ビットほど、エラーレートが低い傾向がある。
 図12及び図13に示した、DVB-T.2等の規格に規定されている検査行列Hでは、先頭側(左側)の列ほど、列重みが大の傾向にあり、したがって、その検査行列Hに対応するLDPC符号については、先頭の符号ビットほど、エラーに強く(エラーに対する耐性があり)、終わりの符号ビットほど、エラーに弱い傾向がある。
 <パリティインターリーブ>
 図14ないし図16を参照して、図9のパリティインターリーバ23によるパリティインターリーブについて説明する。
 図14は、LDPC符号の検査行列のタナーグラフ(の一部)の例を示す図である。
 チェックノードは、図14に示すように、そのチェックノードに繋がっているバリアブルノード(に対応する符号ビット)の2個等の複数が同時にイレージャ等のエラーになると、そのチェックノードに繋がっている全バリアブルノードに、値が0である確率と1である確率とが等確率のメッセージを戻す。このため、同一のチェックノードに繋がっている複数のバリアブルノードが同時にイレージャ等になると、復号の性能が劣化する。
 ところで、図8のLDPCエンコーダ115が出力するLDPC符号は、例えば、DVB-T.2等の規格に規定されているLDPC符号と同様に、IRA符号であり、検査行列Hのパリティ行列HTは、図11に示したように、階段構造になっている。
 図15は、図11に示したように、階段構造になっているパリティ行列HTと、そのパリティ行列HTに対応するタナーグラフの例を示す図である。
 図15のAは、階段構造になっているパリティ行列HTの例を示しており、図15のBは、図15のAのパリティ行列HTに対応するタナーグラフを示している。
 階段構造になっているパリティ行列HTでは、各行において、1の要素が隣接する(1行目を除く)。このため、パリティ行列HTのタナーグラフにおいて、パリティ行列HTの値が1になっている隣接する2つの要素の列に対応する、隣接する2つのバリアブルノードは、同一のチェックノードに繋がっている。
 したがって、バースト誤りやイレージャ等によって、上述の隣接する2つのバリアブルノードに対応するパリティビットが同時にエラーとなると、そのエラーとなった2つのパリティビットに対応する2つのバリアブルノード(パリティビットを用いてメッセージを求めるバリアブルノード)に繋がっているチェックノードは、値が0である確率と1である確率とが等確率のメッセージを、そのチェックノードに繋がっているバリアブルノードに戻すため、復号の性能が劣化する。そして、バースト長(連続してエラーとなるパリティビットのビット数)が大になると、等確率のメッセージを戻すチェックノードが増加し、復号の性能は、さらに劣化する。
 そこで、パリティインターリーバ23(図9)は、上述した復号の性能の劣化を防止するため、LDPCエンコーダ115からの、LDPC符号のパリティビットを、他のパリティビットの位置にインターリーブするパリティインターリーブを行う。
 図16は、図9のパリティインターリーバ23が行うパリティインターリーブ後のLDPC符号に対応する検査行列Hのパリティ行列HTを示す図である。
 ここで、LDPCエンコーダ115が出力するLDPC符号に対応する検査行列Hの情報行列HAは、DVB-T.2等の規格に規定されているLDPC符号に対応する検査行列Hの情報行列と同様に、巡回構造になっている。
 巡回構造とは、ある列が、他の列をサイクリックシフトしたものと一致している構造をいい、例えば、P列ごとに、そのP列の各行の1の位置が、そのP列の最初の列を、パリティ長Mを除算して得られる値qに比例する値等の所定の値だけ、列方向にサイクリックシフトした位置になっている構造も含まれる。以下、適宜、巡回構造におけるP列を、パラレルファクタという。
 DVB-T.2等の規格に規定されているLDPC符号としては、図12及び図13で説明したように、符号長Nが64800ビットと16200ビットとの、2種類のLDPC符号があり、その2種類のLDPC符号のいずれについても、パラレルファクタPが、パリティ長Mの約数のうちの、1とMを除く約数の1つである360に規定されている。
 また、パリティ長Mは、符号化率によって異なる値qを用いて、式M=q×P=q×360で表される素数以外の値になっている。したがって、値qも、パラレルファクタPと同様に、パリティ長Mの約数のうちの、1とMを除く約数の他の1つであり、パリティ長Mを、パラレルファクタPで除算することにより得られる(パリティ長Mの約数であるP及びqの積は、パリティ長Mとなる)。
 パリティインターリーバ23は、上述したように、情報長をKとし、また、0以上P未満の整数をxとするとともに、0以上q未満の整数をyとすると、パリティインターリーブとして、NビットのLDPC符号の符号ビットのうちの、K+qx+y+1番目の符号ビットを、K+Py+x+1番目の符号ビットの位置にインターリーブする。
 K+qx+y+1番目の符号ビット、及び、K+Py+x+1番目の符号ビットは、いずれも、K+1番目以降の符号ビットであるから、パリティビットであり、したがって、パリティインターリーブによれば、LDPC符号のパリティビットの位置が移動される。
 このようなパリティインターリーブによれば、同一のチェックノードに繋がれるバリアブルノード(に対応するパリティビット)が、パラレルファクタP、すなわち、ここでは、360ビットだけ離れるので、バースト長が360ビット未満である場合には、同一のチェックノードに繋がっているバリアブルノードの複数が同時にエラーになる事態を避けることができ、その結果、バースト誤りに対する耐性を改善することができる。
 なお、K+qx+y+1番目の符号ビットを、K+Py+x+1番目の符号ビットの位置にインターリーブするパリティインターリーブ後のLDPC符号は、元の検査行列Hの、K+qx+y+1番目の列を、K+Py+x+1番目の列に置換する列置換を行って得られる検査行列(以下、変換検査行列ともいう)のLDPC符号に一致する。
 また、変換検査行列のパリティ行列には、図16に示すように、P列(図16では、360列)を単位とする擬似巡回構造が現れる。
 ここで、擬似巡回構造とは、一部を除く部分が巡回構造になっている構造を意味する。
 DVB-T.2等の規格に規定されているLDPC符号の検査行列に対して、パリティインターリーブに相当する列置換を施して得られる変換検査行列は、変換検査行列の右上隅部分の360行×360列の部分(後述するシフト行列)に、1の要素が1つだけ足らず(0の要素になっており)、その点で、(完全な)巡回構造ではなく、いわば、擬似巡回構造になっている。
 LDPCエンコーダ115が出力するLDPC符号の検査行列に対する変換検査行列は、例えば、DVB-T.2等の規格に規定されているLDPC符号の検査行列に対する変換検査行列と同様に、擬似巡回構造になっている。
 なお、図16の変換検査行列は、元の検査行列Hに対して、パリティインターリーブに相当する列置換の他、変換検査行列が、後述する構成行列で構成されるようにするための行の置換(行置換)も施された行列になっている。
 図17は、図8のLDPCエンコーダ115、ビットインターリーバ116、及び、マッパ117で行われる処理を説明するフローチャートである。
 LDPCエンコーダ115は、BCHエンコーダ114から、LDPC対象データが供給されるのを待って、ステップS101において、検査行列に基づいて、LDPC対象データを、LDPC符号に符号化し、そのLDPC符号を、ビットインターリーバ116に供給して、処理は、ステップS102に進む。
 ビットインターリーバ116は、ステップS102において、LDPCエンコーダ115からのLDPC符号を対象として、ビットインターリーブを行い、そのビットインターリーブによって得られるシンボルを、マッパ117に供給して、処理は、ステップS103に進む。
 すなわち、ステップS102では、ビットインターリーバ116(図9)において、パリティインターリーバ23が、LDPCエンコーダ115からのLDPC符号を対象として、パリティインターリーブを行い、そのパリティインターリーブ後のLDPC符号を、グループワイズインターリーバ24に供給する。
 グループワイズインターリーバ24は、パリティインターリーバ23からのLDPC符号を対象として、グループワイズインターリーブを行い、ブロックインターリーバ25に供給する。
 ブロックインターリーバ25は、グループワイズインターリーバ24によるグループワイズインターリーブ後のLDPC符号を対象として、ブロックインターリーブを行い、その結果得られるmビットのシンボルを、マッパ117に供給する。
 マッパ117は、ステップS103において、ブロックインターリーバ25からのシンボルを、マッパ117で行われる直交変調の変調方式で定める2m個の信号点のいずれかにマッピングして直交変調し、その結果得られるデータを、時間インターリーバ118に供給する。
 以上のように、パリティインターリーブや、グループワイズインターリーブを行うことで、LDPC符号の複数の符号ビットを1個のシンボルとして送信する場合のエラーレートを改善することができる。
 ここで、図9では、説明の便宜のため、パリティインターリーブを行うブロックであるパリティインターリーバ23と、グループワイズインターリーブを行うブロックであるグループワイズインターリーバ24とを、別個に構成するようにしたが、パリティインターリーバ23とグループワイズインターリーバ24とは、一体的に構成することができる。
 すなわち、パリティインターリーブと、グループワイズインターリーブとは、いずれも、メモリに対する符号ビットの書き込み、及び読み出しによって行うことができ、符号ビットの書き込みを行うアドレス(書き込みアドレス)を、符号ビットの読み出しを行うアドレス(読み出しアドレス)に変換する行列によって表すことができる。
 したがって、パリティインターリーブを表す行列と、グループワイズインターリーブを表す行列とを乗算して得られる行列を求めておけば、その行列によって、符号ビットを変換することで、パリティインターリーブを行い、さらに、そのパリティインターリーブ後のLDPC符号をグループワイズインターリーブした結果を得ることができる。
 また、パリティインターリーバ23とグループワイズインターリーバ24に加えて、ブロックインターリーバ25も、一体的に構成することが可能である。
 すなわち、ブロックインターリーバ25で行われるブロックインターリーブも、LDPC符号を記憶するメモリの書き込みアドレスを、読み出しアドレスに変換する行列によって表すことができる。
 したがって、パリティインターリーブを表す行列、グループワイズインターリーブを表す行列、及び、ブロックインターリーブを表す行列を乗算して得られる行列を求めておけば、その行列によって、パリティインターリーブ、グループワイズインターリーブ、及び、ブロックインターリーブを、一括して行うことができる。
 なお、パリティインターリーブ及びグループワイズインターリーブのうちの一方又は両方は、行わないこととすることができる。
 <LDPCエンコーダ115の構成例>
 図18は、図8のLDPCエンコーダ115の構成例を示すブロック図である。
 なお、図8のLDPCエンコーダ122も、同様に構成される。
 図12及び図13で説明したように、DVB-T.2等の規格では、64800ビットと16200ビットとの2通りの符号長NのLDPC符号が規定されている。
 そして、符号長Nが64800ビットのLDPC符号については、11個の符号化率1/4,1/3,2/5,1/2,3/5,2/3,3/4,4/5,5/6,8/9、及び9/10が規定されており、符号長Nが16200ビットのLDPC符号については、10個の符号化率1/4,1/3,2/5,1/2,3/5,2/3,3/4,4/5,5/6、及び8/9が規定されている(図12及び図13)。
 LDPCエンコーダ115は、例えば、このような、符号長Nが64800ビットや16200ビットの各符号化率のLDPC符号による符号化(誤り訂正符号化)を、符号長Nごと、及び符号化率ごとに用意された検査行列Hに基づいて行うことができる。
 また、LDPCエンコーダ115は、符号長Nが17280ビットその他の任意の符号長Nの、符号化率が2/16, 3/16, 4/16, 5/16, 6/16, 7/16, 8/16, 9/16, 10/16, 11/16, 12/16, 13/16, 14/16その他の任意の符号化率rのLDPC符号の検査行列Hに基づいて、LDPC符号化を行うことができる。
 LDPCエンコーダ115は、符号化処理部601と記憶部602とから構成される。
 符号化処理部601は、符号化率設定部611、初期値テーブル読み出し部612、検査行列生成部613、情報ビット読み出し部614、符号化パリティ演算部615、及び制御部616から構成され、LDPCエンコーダ115に供給されるLDPC対象データのLDPC符号化を行い、その結果得られるLDPC符号を、ビットインターリーバ116(図8)に供給する。
 すなわち、符号化率設定部611は、例えば、オペレータの操作等に応じて、LDPC符号の符号長Nや符号化率r、その他、LDPC符号を特定する特定情報を設定する。
 初期値テーブル読み出し部612は、符号化率設定部611が設定した特定情報によって特定されるLDPC符号の検査行列を表す、後述する検査行列初期値テーブルを、記憶部602から読み出す。
 検査行列生成部613は、初期値テーブル読み出し部612が読み出した検査行列初期値テーブルに基づいて、検査行列Hを生成し、記憶部602に格納する。例えば、検査行列生成部613は、符号化率設定部611が設定した符号長N及び符号化率rに応じた情報長K(=符号長N-パリティ長M)に対応する情報行列HAの1の要素を列方向に360列(パラレルファクタP)ごとの周期で配置して検査行列Hを生成し、記憶部602に格納する。
 情報ビット読み出し部614は、LDPCエンコーダ115に供給されるLDPC対象データから、情報長K分の情報ビットを読み出す(抽出する)。
 符号化パリティ演算部615は、検査行列生成部613が生成した検査行列Hを記憶部602から読み出し、その検査行列Hを用いて、情報ビット読み出し部614が読み出した情報ビットに対するパリティビットを所定の式に基づいて算出することにより、符号語(LDPC符号)を生成する。
 制御部616は、符号化処理部601を構成する各ブロックを制御する。
 記憶部602には、例えば、64800ビットや16200ビット等の符号長Nそれぞれについての、図12及び図13に示した複数の符号化率等それぞれに対応する複数の検査行列初期値テーブルや、符号長Nが17280ビットについての、符号化率が2/16, 3/16, 4/16, 5/16, 6/16, 7/16, 8/16, 9/16, 10/16, 11/16, 12/16, 13/16, 14/16それぞれに対応する検査行列初期値テーブル、その他任意の符号長Nで、任意の符号化率rのLDPC符号の検査行列Hの検査行列初期値テーブルが記憶される。また、記憶部602は、符号化処理部601の処理上必要なデータを一時記憶する。
 図19は、図18のLDPCエンコーダ115の処理の例を説明するフローチャートである。
 ステップS201において、符号化率設定部611は、LDPC符号化を行う符号長N及び符号化率r、その他のLDPC符号を特定する特定情報を設定する。
 ステップS202において、初期値テーブル読み出し部612は、符号化率設定部611により設定された特定情報としての符号長N及び符号化率r等により特定される、予め定められた検査行列初期値テーブルを、記憶部602から読み出す。
 ステップS203において、検査行列生成部613は、初期値テーブル読み出し部612が記憶部602から読み出した検査行列初期値テーブルを用いて、符号化率設定部611により設定された符号長N及び符号化率rのLDPC符号の検査行列Hを求め(生成し)、記憶部602に供給して格納する。
 ステップS204において、情報ビット読み出し部614は、LDPCエンコーダ115に供給されるLDPC対象データから、符号化率設定部611により設定された符号長N及び符号化率rに対応する情報長K(=N×r)の情報ビットを読み出すとともに、検査行列生成部613が求めた検査行列Hを、記憶部602から読み出し、符号化パリティ演算部615に供給する。
 ステップS205において、符号化パリティ演算部615は、情報ビット読み出し部614からの情報ビットと検査行列Hとを用い、式(8)を満たす符号語cのパリティビットを順次演算する。
   HcT=0
                        ・・・(8)
 式(8)において、cは、符号語(LDPC符号)としての行ベクトルを表し、cTは、行ベクトルcの転置を表す。
 ここで、上述したように、LDPC符号(1符号語)としての行ベクトルcのうちの、情報ビットの部分を、行ベクトルAで表すとともに、パリティビットの部分を、行ベクトルTで表す場合には、行ベクトルcは、情報ビットとしての行ベクトルAと、パリティビットとしての行ベクトルTとによって、式c =[A|T]で表すことができる。
 検査行列Hと、LDPC符号としての行ベクトルc=[A|T]とは、式HcT=0を満たす必要があり、かかる式HcT=0を満たす行ベクトルc=[A|T]を構成するパリティビットとしての行ベクトルTは、検査行列H=[HA|HT]のパリティ行列HTが、図11に示した階段構造になっている場合には、式HcT=0における列ベクトルHcTの1行目の要素から順に、各行の要素を0にしていくようにすることで、逐次的に求めることができる。
 符号化パリティ演算部615は、情報ビット読み出し部614からの情報ビットAに対して、パリティビットTを求め、その情報ビットAとパリティビットTとによって表される符号語c =[A|T]を、情報ビットAのLDPC符号化結果として出力する。
 その後、ステップS206において、制御部616は、LDPC符号化を終了するかどうかを判定する。ステップS206において、LDPC符号化を終了しないと判定された場合、すなわち、例えば、LDPC符号化すべきLDPC対象データが、まだある場合、処理は、ステップS201(又は、ステップS204)に戻り、以下、ステップS201(又は、ステップS204)ないしS206の処理が繰り返される。
 また、ステップS206において、LDPC符号化を終了すると判定された場合、すなわち、例えば、LDPC符号化すべきLDPC対象データがない場合、LDPCエンコーダ115は、処理を終了する。
 LDPCエンコーダ115については、様々な符号長Nや符号化率rのLDPC符号の(検査行列を表す)検査行列初期値テーブルをあらかじめ用意することができる。LDPCエンコーダ115では、あらかじめ用意された検査行列初期値テーブルから生成される検査行列Hを用いて、様々な符号長Nや符号化率rのLDPC符号へのLDPC符号化を行うことができる。
 <検査行列初期値テーブルの例>
 検査行列初期値テーブルは、例えば、検査行列Hの、LDPC符号(検査行列Hによって定義されるLDPC符号)の符号長N及び符号化率rに応じた情報長Kに対応する情報行列HA(図10)の1の要素の位置を360列(パラレルファクタP)ごとに表すテーブルであり、各符号長N及び各符号化率rの検査行列Hごとに、あらかじめ作成される。
 すなわち、検査行列初期値テーブルは、少なくとも、情報行列HAの1の要素の位置を360列(パラレルファクタP)ごとに表す。
 また、検査行列Hには、パリティ行列HTの全部が階段構造になっている検査行列や、パリティ行列HTの一部が階段構造になっており、残りの部分が対角行列(単位行列)になっている検査行列がある。
 以下、パリティ行列HTの一部が階段構造になっており、残りの部分が対角行列になっている検査行列を表す検査行列初期値テーブルの表現方式を、タイプA方式ともいう。また、パリティ行列HTの全部が階段構造になっている検査行列を表す検査行列初期値テーブルの表現方式を、タイプB方式ともいう。
 また、タイプA方式の検査行列初期値テーブルが表す検査行列に対するLDPC符号を、タイプA符号ともいい、タイプB方式の検査行列初期値テーブルが表す検査行列に対するLDPC符号を、タイプB符号ともいう。
 「タイプA」及び「タイプB」の呼称は、ATSC 3.0の規格に準じた呼称である。例えば、ATSC3.0では、タイプA符号及びタイプB符号の両方が採用されている。
 なお、DVB-T.2等では、タイプB符号が採用されている。
 図20は、タイプB方式の検査行列初期値テーブルの例を示す図である。
 すなわち、図20は、DVB-T.2の規格に規定されている、符号長Nが16200ビットの、符号化率(DVB-T.2の表記上の符号化率)rが1/4のタイプB符号の(検査行列Hを表す)検査行列初期値テーブルを示している。
 検査行列生成部613(図18)は、タイプB方式の検査行列初期値テーブルを用いて、以下のように、検査行列Hを求める。
 図21は、タイプB方式の検査行列初期値テーブルから検査行列Hを求める方法を説明する図である。
 すなわち、図21は、DVB-T.2の規格に規定されている、符号長Nが16200ビットの、符号化率rが2/3のタイプB符号の検査行列初期値テーブルを示している。
 タイプB方式の検査行列初期値テーブルは、LDPC符号の符号長N及び符号化率rに応じた情報長Kに対応する情報行列HAの全体の1の要素の位置を、360列(パラレルファクタP)ごとに表すテーブルであり、そのi行目には、検査行列Hの1+360×(i-1)列目の1の要素の行番号(検査行列Hの1行目の行番号を0とする行番号)が、その1+360×(i-1)列目の列が持つ列重みの数だけ並んでいる。
 ここで、タイプB方式の検査行列Hの、パリティ長Mに対応するパリティ行列HT(図10)は、図15に示したように階段構造に決まっているので、検査行列初期値テーブルにより、情報長Kに対応する情報行列HA(図10)を求めることができれば、検査行列Hを求めることができる。
 タイプB方式の検査行列初期値テーブルの行数k+1は、情報長Kによって異なる。
 情報長Kと、検査行列初期値テーブルの行数k+1との間には、式(9)の関係が成り立つ。
   K=(k+1)×360
                        ・・・(9)
 ここで、式(9)の360は、図16で説明したパラレルファクタPである。
 図21の検査行列初期値テーブルでは、1行目から3行目までに、13個の数値が並び、4行目からk+1行目(図21では、30行目)までに、3個の数値が並んでいる。
 したがって、図21の検査行列初期値テーブルから求められる検査行列Hの列重みは、1列目から、1+360×(3-1)-1列目までは、13であり、1+360×(3-1)列目から、K列目までは、3である。
 図21の検査行列初期値テーブルの1行目は、0,2084,1613,1548,1286,1460,3196,4297,2481,3369,3451,4620,2622となっており、これは、検査行列Hの1列目において、行番号が、0,2084,1613,1548,1286,1460,3196,4297,2481,3369,3451,4620,2622の行の要素が1であること(かつ、他の要素が0であること)を示している。
 また、図21の検査行列初期値テーブルの2行目は、1,122,1516,3448,2880,1407,1847,3799,3529,373,971,4358,3108となっており、これは、検査行列Hの361(=1+360×(2-1))列目において、行番号が、1,122,1516,3448,2880,1407,1847,3799,3529,373,971,4358,3108の行の要素が1であることを示している。
 以上のように、検査行列初期値テーブルは、検査行列Hの情報行列HAの1の要素の位置を360列ごとに表す。
 検査行列Hの1+360×(i-1)列目以外の列、つまり、2+360×(i-1)列目から、360×i列目までの各列は、検査行列初期値テーブルによって定まる1+360×(i-1)列目の1の要素を、パリティ長Mに従って下方向(列の下方向)に、周期的にサイクリックシフトして配置したものになっている。
 すなわち、例えば、2+360×(i-1)列目は、1+360×(i-1)列目を、M/360(=q)だけ下方向にサイクリックシフトしたものとなっており、次の3+360×(i-1)列目は、1+360×(i-1)列目を、2×M/360(=2×q)だけ下方向にサイクリックシフトしたもの(2+360×(i-1)列目を、M/360(=q)だけ下方向にサイクリックシフトしたもの)となっている。
 いま、検査行列初期値テーブルのi行目(上からi番目)のj列目(左からj番目)の数値を、hi,jと表すとともに、検査行列Hのw列目の、j個目の1の要素の行番号を、Hw-jと表すこととすると、検査行列Hの1+360×(i-1)列目以外の列であるw列目の、1の要素の行番号Hw-jは、式(10)で求めることができる。
   Hw-j=mod(hi,j+mod((w-1),P)×q,M)
                        ・・・(10)
 ここで、mod(x,y)はxをyで割った余りを意味する。
 また、Pは、上述したパラレルファクタであり、本実施の形態では、例えば、DVB-T.2等やATSC3.0の規格と同様に、360である。さらに、qは、パリティ長Mを、パラレルファクタP(=360)で除算することにより得られる値M/360である。
 検査行列生成部613(図18)は、検査行列初期値テーブルによって、検査行列Hの1+360×(i-1)列目の1の要素の行番号を特定する。
 さらに、検査行列生成部613(図18)は、検査行列Hの1+360×(i-1)列目以外の列であるw列目の、1の要素の行番号Hw-jを、式(10)に従って求め、以上により得られた行番号の要素を1とする検査行列Hを生成する。
 図22は、タイプA方式の検査行列Hの構造を示す図である。
 タイプA方式の検査行列は、A行列、B行列、C行列、D行列、及び、Z行列で構成される。
 A行列は、所定値M1と、LDPC符号の情報長K=符号長N×符号化率rとで表されるM1行K列の、検査行列Hの左上の行列である。
 B行列は、M1行M1列の、A行列の右に隣接する階段構造の行列である。
 C行列は、N-K-M1行K+M1列の、A行列及びB行列の下に隣接する行列である。
 D行列は、N-K-M1行N-K-M1列の、C行列の右に隣接する単位行列である。
 Z行列は、M1行N-K-M1列の、B行列の右に隣接するゼロ行列(0行列)である。
 以上のようなA行列ないしD行列、及び、Z行列で構成されるタイプA方式の検査行列Hでは、A行列、及び、C行列の一部が、情報行列を構成しており、B行列、C行列の残りの部分、D行列、及び、Z行列が、パリティ行列を構成している。
 なお、B行列は、階段構造の行列であり、D行列は、単位行列であるので、タイプA方式の検査行列Hのパリティ行列は、一部(B行列の部分)が階段構造になっており、残りの部分(D行列の部分)が対角行列(単位行列)になっている。
 A行列及びC行列は、タイプB方式の検査行列Hの情報行列と同様に、パラレルファクタPの列(例えば、360列)ごとの巡回構造になっており、タイプA方式の検査行列初期値テーブルは、A行列及びC行列の1の要素の位置を360列ごとに表す。
 ここで、上述したように、A行列、及び、C行列の一部は、情報行列を構成するから、A行列及びC行列の1の要素の位置を360列ごとに表すタイプA方式の検査行列初期値テーブルは、少なくとも、情報行列の1の要素の位置を360列ごとに表している、ということができる。
 なお、タイプA方式の検査行列初期値テーブルは、A行列及びC行列の1の要素の位置を360列ごとに表すから、検査行列の一部(C行列の残りの部分)の1の要素の位置を360列ごとに表している、ということもできる。
 図23は、タイプA方式の検査行列初期値テーブルの例を示す図である。
 すなわち、図23は、符号長Nが35ビットの、符号化率rが2/7の検査行列Hを表す検査行列初期値テーブルの例を示している。
 タイプA方式の検査行列初期値テーブルは、A行列及びC行列の1の要素の位置を、パラレルファクタPごとに表すテーブルであり、そのi行目には、検査行列Hの1+P×(i-1)列目の1の要素の行番号(検査行列Hの1行目の行番号を0とする行番号)が、その1+P×(i-1)列目の列が持つ列重みの数だけ並んでいる。
 なお、ここでは、説明を簡単にするため、パラレルファクタPは、例えば、5であるとする。
 タイプA方式の検査行列Hについては、パラメータとして、M1,M2,Q1、及び、Q2がある。
 M1(図22)は、B行列のサイズを決めるパラメータであり、パラレルファクタPの倍数の値をとる。M1を調整することで、LDPC符号の性能は変化し、検査行列Hを決定するときに、所定の値に調整される。ここでは、M1として、パラレルファクタP=5の3倍の15が採用されていることとする。
 M2(図22)は、パリティ長Mから、M1を減算した値M-M1をとる。
 ここでは、情報長Kは、N×r=35×2/7=10であり、パリティ長Mは、N-K=35-10=25であるので、M2は、M-M1=25-15=10となる。
 Q1は、式Q1=M1/Pに従って求められ、A行列におけるサイクリックシフトのシフト数(行数)を表す。
 すなわち、タイプA方式の検査行列HのA行列の1+P×(i-1)列目以外の列、つまり、2+P×(i-1)列目から、P×i列目までの各列は、検査行列初期値テーブルによって定まる1+P×(i-1)列目の1の要素を下方向(列の下方向)に、周期的にサイクリックシフトして配置したものになっており、Q1は、A行列における、そのサイクリックシフトのシフト数を表す。
 Q2は、式Q2=M2/Pに従って求められ、C行列におけるサイクリックシフトのシフト数(行数)を表す。
 すなわち、タイプA方式の検査行列HのC行列の1+P×(i-1)列目以外の列、つまり、2+P×(i-1)列目から、P×i列目までの各列は、検査行列初期値テーブルによって定まる1+P×(i-1)列目の1の要素を下方向(列の下方向)に、周期的にサイクリックシフトして配置したものになっており、Q2は、C行列における、そのサイクリックシフトのシフト数を表す。
 ここでは、Q1は、M1/P=15/5=3であり、Q2は、M2/P=10/5=2である。
 図23の検査行列初期値テーブルでは、1行目と2行目に、3個の数値が並び、3行目から5行目までに、1個の数値が並んでおり、かかる数値の並びによれば、図23の検査行列初期値テーブルから求められる検査行列HのA行列及びC行列の部分の列重みは、1=1+5×(1-1)列目から、10=5×2列目までは、3であり、11=1+5×(3-1)列目から、25=5×5列目までは、1である。
 すなわち、図23の検査行列初期値テーブルの1行目は、2,6,18となっており、これは、検査行列Hの1列目において、行番号が、2,6,18の行の要素が1であること(かつ、他の要素が0であること)を示している。
 ここで、いまの場合、A行列(図22)は、15行10列(M1行K列)の行列であり、C行列(図22)は、10行25列(N-K-M1行K+M1列)の行列であるから、検査行列Hの行番号0ないし14の行は、A行列の行であり、検査行列Hの行番号15ないし24の行は、C行列の行である。
 したがって、行番号が2,6,18の行(以下、行#2,#6,#18のように記載する)のうちの、行#2及び#6は、A行列の行であり、行#18は、C行列の行である。
 図23の検査行列初期値テーブルの2行目は、2,10,19となっており、これは、検査行列Hの6(=1+5×(2-1))列目において、行#2,#10,#19の要素が1であることを示している。
 ここで、検査行列Hの6(=1+5×(2-1))列目において、行#2,#10,#19のうちの、行#2及び#10は、A行列の行であり、行#19は、C行列の行である。
 図23の検査行列初期値テーブルの3行目は、22となっており、これは、検査行列Hの11(=1+5×(3-1))列目において、行#22の要素が1であることを示している。
 ここで、検査行列Hの11(=1+5×(3-1))列目において、行#22は、C行列の行である。
 以下同様に、図23の検査行列初期値テーブルの4行目の19は、検査行列Hの16(=1+5×(4-1))列目において、行#19の要素が1であることを示しており、図23の検査行列初期値テーブルの5行目の17は、検査行列Hの21(=1+5×(5-1))列目において、行#17の要素が1であることを示している。
 以上のように、検査行列初期値テーブルは、検査行列HのA行列及びC行列の1の要素の位置をパラレルファクタP=5列ごとに表す。
 検査行列HのA行列及びC行列の1+5×(i-1)列目以外の列、つまり、2+5×(i-1)列目から、5×i列目までの各列は、検査行列初期値テーブルによって定まる1+5×(i-1)列目の1の要素を、パラメータQ1及びQ2に従って下方向(列の下方向)に、周期的にサイクリックシフトして配置したものになっている。
 すなわち、例えば、A行列の、2+5×(i-1)列目は、1+5×(i-1)列目を、Q1(=3)だけ下方向にサイクリックシフトしたものとなっており、次の3+5×(i-1)列目は、1+5×(i-1)列目を、2×Q1(=2×3)だけ下方向にサイクリックシフトしたもの(2+5×(i-1)列目を、Q1だけ下方向にサイクリックシフトしたもの)となっている。
 また、例えば、C行列の、2+5×(i-1)列目は、1+5×(i-1)列目を、Q2(=2)だけ下方向にサイクリックシフトしたものとなっており、次の3+5×(i-1)列目は、1+5×(i-1)列目を、2×Q2(=2×2)だけ下方向にサイクリックシフトしたもの(2+5×(i-1)列目を、Q2だけ下方向にサイクリックシフトしたもの)となっている。
 図24は、図23の検査行列初期値テーブルから生成されるA行列を示す図である。
 図24のA行列では、図23の検査行列初期値テーブルの1行目にしたがい、1(=1+5×(1-1))列目の行#2及び#6の要素が1になっている。
 そして、2(=2+5×(1-1))列目から5(=5+5×(1-1))列目までの各列は、直前の列を、Q1=3だけ下方向にサイクリックシフトしたものになっている。
 さらに、図24のA行列では、図23の検査行列初期値テーブルの2行目にしたがい、6(=1+5×(2-1))列目の行#2及び#10の要素が1になっている。
 そして、7(=2+5×(2-1))列目から10(=5+5×(2-1))列目までの各列は、直前の列を、Q1=3だけ下方向にサイクリックシフトしたものになっている。
 図25は、B行列のパリティインターリーブを示す図である。
 検査行列生成部613(図18)は、検査行列初期値テーブルを用いて、A行列を生成し、そのA行列の右隣に、階段構造のB行列を配置する。そして、検査行列生成部613は、B行列をパリティ行列とみなして、階段構造のB行列の隣接する1の要素が、行方向に、パラレルファクタP=5だけ離れるように、パリティインターリーブを行う。
 図25は、図24のB行列のパリティインターリーブ後のA行列及びB行列を示している。
 図26は、図23の検査行列初期値テーブルから生成されるC行列を示す図である。
 図26のC行列では、図23の検査行列初期値テーブルの1行目にしたがい、検査行列Hの1(=1+5×(1-1))列目の行#18の要素が1になっている。
 そして、C行列の2(=2+5×(1-1))列目から5(=5+5×(1-1))列目までの各列は、直前の列を、Q2=2だけ下方向にサイクリックシフトしたものになっている。
 さらに、図26のC行列では、図23の検査行列初期値テーブルの2行目ないし5行目にしたがい、検査行列Hの6(=1+5×(2-1))列目の行#19、11(=1+5×(3-1))列目の行#22、16(=1+5×(4-1))列目の行#19、及び、21(=1+5×(5-1))列目の行#17の要素が1になっている。
 そして、7(=2+5×(2-1))列目から10(=5+5×(2-1))列目までの各列、12(=2+5×(3-1))列目から15(=5+5×(3-1))列目までの各列、17(=2+5×(4-1))列目から20(=5+5×(4-1))列目までの各列、及び、22(=2+5×(5-1))列目から25(=5+5×(5-1))列目までの各列は、直前の列を、Q2=2だけ下方向にサイクリックシフトしたものになっている。
 検査行列生成部613(図18)は、検査行列初期値テーブルを用いて、C行列を生成し、そのC行列を、A行列及び(パリティインターリーブ後の)B行列の下に配置する。
 さらに、検査行列生成部613は、B行列の右隣に、Z行列を配置するとともに、C行列の右隣に、D行列を配置し、図26に示す検査行列Hを生成する。
 図27は、D行列のパリティインターリーブを示す図である。
 検査行列生成部613は、図26の検査行列Hを生成した後、D行列をパリティ行列とみなして、単位行列のD行列の奇数行と次の偶数行との1の要素が、行方向に、パラレルファクタP=5だけ離れるように、(D行列のみの)パリティインターリーブを行う。
 図27は、図26の検査行列Hについて、D行列のパリティインターリーブを行った後の検査行列Hを示している。
 LDPCエンコーダ115(の符号化パリティ演算部615(図18))は、例えば、図27の検査行列Hを用いて、LDPC符号化(LDPC符号の生成)を行う。
 ここで、図27の検査行列Hを用いて生成されるLDPC符号は、パリティインターリーブを行ったLDPC符号になっており、したがって、図27の検査行列Hを用いて生成されるLDPC符号については、パリティインターリーバ23(図9)において、パリティインターリーブを行う必要はない。すなわち、D行列のパリティインターリーブを行った後の検査行列Hを用いて生成されるLDPC符号は、パリティインターリーブを行ったLDPC符号になるため、かかるLDPC符号については、パリティインターリーバ23でのパリティインターリーブは、スキップされる。
 図28は、図27の検査行列HのB行列、C行列の一部(C行列のうちの、B行列の下に配置されている部分)、及び、D行列に、パリティインターリーブを元に戻すパリティデインターリーブとしての列置換(column permutation)を行った検査行列Hを示す図である。
 LDPCエンコーダ115では、図28の検査行列Hを用いて、LDPC符号化(LDPC符号の生成)を行うことができる。
 図28の検査行列Hを用いて、LDPC符号化を行う場合、そのLDPC符号化によれば、パリティインターリーブを行っていないLDPC符号が得られる。したがって、図28の検査行列Hを用いて、LDPC符号化を行う場合には、パリティインターリーバ23(図9)において、パリティインターリーブが行われる。
 図29は、図27の検査行列Hに、行置換(row permutation)を行うことにより得られる変換検査行列Hを示す図である。
 変換検査行列は、後述するように、P×Pの単位行列、その単位行列の1のうち1個以上が0になった準単位行列、単位行列又は準単位行列をサイクリックシフトしたシフト行列、単位行列、準単位行列、又はシフト行列のうちの2以上の和である和行列、及び、P×Pの0行列の組合わせで表される行列になっている。
 変換検査行列を、LDPC符号の復号に用いることにより、LDPC符号の復号において、後述するように、チェックノード演算、及びバリアブルノード演算を、P個同時に行うアーキテクチャを採用することができる。
 <新LDPC符号>
 LDPC符号を用いたデータ伝送において、良好な通信品質を確保する方法の1つとして、性能の良いLDPC符号を用いる方法がある。
 以下では、性能の良い新たなLDPC符号(以下、新LDPC符号ともいう)について説明する。
 新LDPC符号としては、例えば、パラレルファクタPが、DVB-T.2やATSC3.0等と同様の360で、巡回構造の検査行列Hに対応するタイプA符号やタイプB符号を採用することができる。
 LDPCエンコーダ115(図8、図18)は、符号長Nが、64kビットよりも長い、例えば、69120ビットで、符号化率rが、例えば、2/16,3/16,4/16,5/16,6/16,7/16,8/16,9/16,10/16,11/16,12/16,13/16、又は、14/16のうちのいずれかのLDPC符号の検査行列初期値テーブル(から求められる検査行列H)を用いて、LDPC符号へのLDPC符号化を行うことができる。
 また、LDPCエンコーダ115は、以下のような、符号長Nが、64kビットよりも短い、例えば、17280ビット(17kビット)で、符号化率rが、例えば、2/16,3/16,4/16,5/16,6/16,7/16,8/16,9/16,10/16,11/16,12/16,13/16、又は、14/16のうちのいずれかの新LDPC符号の検査行列初期値テーブル(から求められる検査行列H)に基づいて、新LDPC符号へのLDPC符号化を行うことができる。
 符号長Nが17280ビットの新LDPC符号へのLDPC符号化を行う場合、LDPCエンコーダ115(図8)の記憶部602には、新LDPC符号の検査行列初期値テーブルが記憶される。
 図30は、符号長Nが17280ビットで、符号化率rが2/16の新LDPC符号としてのタイプA符号(以下、r=2/16のタイプA符号ともいう)の検査行列Hを表す(タイプA方式の)検査行列初期値テーブルの例を示す図である。
 図31は、符号長Nが17280ビットで、符号化率rが3/16の新LDPC符号としてのタイプA符号(以下、r=3/16のタイプA符号ともいう)の検査行列Hを表す検査行列初期値テーブルの例を示す図である。
 図32は、符号長Nが17280ビットで、符号化率rが4/16の新LDPC符号としてのタイプA符号(以下、r=4/16のタイプA符号ともいう)の検査行列Hを表す検査行列初期値テーブルの例を示す図である。
 図33は、符号長Nが17280ビットで、符号化率rが5/16の新LDPC符号としてのタイプA符号(以下、r=5/16のタイプA符号ともいう)の検査行列Hを表す検査行列初期値テーブルの例を示す図である。
 図34は、符号長Nが17280ビットで、符号化率rが6/16の新LDPC符号としてのタイプA符号(以下、r=6/16のタイプA符号ともいう)の検査行列Hを表す検査行列初期値テーブルの例を示す図である。
 図35は、符号長Nが17280ビットで、符号化率rが7/16の新LDPC符号としてのタイプA符号(以下、r=7/16のタイプA符号ともいう)の検査行列Hを表す検査行列初期値テーブルの例を示す図である。
 図36は、符号長Nが17280ビットで、符号化率rが7/16の新LDPC符号としてのタイプB符号(以下、r=7/16のタイプB符号ともいう)の検査行列Hを表す(タイプB方式の)検査行列初期値テーブルの例を示す図である。
 図37は、符号長Nが17280ビットで、符号化率rが8/16の新LDPC符号としてのタイプB符号(以下、r=8/16のタイプB符号ともいう)の検査行列Hを表す検査行列初期値テーブルの例を示す図である。
 図38は、符号長Nが17280ビットで、符号化率rが9/16の新LDPC符号としてのタイプB符号(以下、r=9/16のタイプB符号ともいう)の検査行列Hを表す検査行列初期値テーブルの例を示す図である。
 図39は、符号長Nが17280ビットで、符号化率rが10/16の新LDPC符号としてのタイプB符号(以下、r=10/16のタイプB符号ともいう)の検査行列Hを表す検査行列初期値テーブルの例を示す図である。
 図40は、符号長Nが17280ビットで、符号化率rが11/16の新LDPC符号としてのタイプB符号(以下、r=11/16のタイプB符号ともいう)の検査行列Hを表す検査行列初期値テーブルの例を示す図である。
 図41は、符号長Nが17280ビットで、符号化率rが12/16の新LDPC符号としてのタイプB符号(以下、r=12/16のタイプB符号ともいう)の検査行列Hを表す検査行列初期値テーブルの例を示す図である。
 図42は、符号長Nが17280ビットで、符号化率rが13/16の新LDPC符号としてのタイプB符号(以下、r=13/16のタイプB符号ともいう)の検査行列Hを表す検査行列初期値テーブルの例を示す図である。
 図43は、符号長Nが17280ビットで、符号化率rが14/16の新LDPC符号としてのタイプB符号(以下、r=14/16のタイプB符号ともいう)の検査行列Hを表す検査行列初期値テーブルの例を示す図である。
 新LDPC符号は、性能の良いLDPC符号になっている。
 ここで、性能の良いLDPC符号とは、適切な検査行列Hから得られるLDPC符号である。
 適切な検査行列Hとは、例えば、検査行列Hから得られるLDPC符号を、低いEs/N0、又はEb/No(1ビットあたりの信号電力対雑音電力比)で送信したときに、BER(bit error rate)(及びFER(frame error rate))をより小にする、所定の条件を満たす検査行列である。
 適切な検査行列Hは、例えば、所定の条件を満たす様々な検査行列から得られるLDPC符号を、低いEs/Noで送信したときのBERを計測するシミュレーションを行うことにより求めることができる。
 適切な検査行列Hが満たすべき所定の条件としては、例えば、デンシティエボリューション(Density Evolution)と呼ばれる符号の性能の解析法で得られる解析結果が良好であること、サイクル4と呼ばれる、1の要素のループが存在しないこと、等がある。
 ここで、情報行列HAにおいて、サイクル4のように、1の要素が密集していると、LDPC符号の復号性能が劣化することが知られており、このため、検査行列Hには、サイクル4が存在しないことが望ましい。
 検査行列Hにおいて、1の要素によって構成されるループの長さ(ループ長)の最小値は、ガース(girth)と呼ばれる。サイクル4が存在しないこととは、ガースが4より大であることを意味する。
 なお、適切な検査行列Hが満たすべき所定の条件は、LDPC符号の復号性能の向上や、LDPC符号の復号処理の容易化(単純化)等の観点から適宜決定することができる。
 図44及び図45は、適切な検査行列Hが満たすべき所定の条件としての解析結果が得られるデンシティエボリューションを説明する図である。
 デンシティエボリューションとは、後述するデグリーシーケンス(degree sequence)で特徴付けられる符号長Nが∞のLDPC符号全体(アンサンブル(ensemble))に対して、そのエラー確率の期待値を計算する、符号の解析法である。
 例えば、AWGNチャネル上で、ノイズの分散値を0からどんどん大きくしていくと、あるアンサンブルのエラー確率の期待値は、最初は0であるが、ノイズの分散値が、ある閾値(threshold)以上となると、0ではなくなる。
 デンシティエボリューションによれば、そのエラー確率の期待値が0ではなくなる、ノイズの分散値の閾値(以下、性能閾値ともいう)を比較することで、アンサンブルの性能(検査行列の適切さ)の良し悪しを決めることができる。
 なお、具体的なLDPC符号に対して、そのLDPC符号が属するアンサンブルを決定し、そのアンサンブルに対してデンシティエボリューションを行うと、そのLDPC符号のおおまかな性能を予想することができる。
 したがって、性能の良いLDPC符号は、性能の良いアンサンブルを見つければ、そのアンサンブルに属するLDPC符号の中から見つけることができる。
 ここで、上述のデグリーシーケンスとは、LDPC符号の符号長Nに対して、各値の重みをもつバリアブルノードやチェックノードがどれくらいの割合だけあるかを表す。
 例えば、符号化率が1/2のregular(3,6)LDPC符号は、すべてのバリアブルノードの重み(列重み)が3で、すべてのチェックノードの重み(行重み)が6であるというデグリーシーケンスによって特徴付けられるアンサンブルに属する。
 図44は、そのようなアンサンブルのタナーグラフ(Tanner graph)を示している。
 図44のタナーブラフでは、図中丸印(○印)で示すバリアブルノードが、符号長Nに等しいN個だけ存在し、図中四角形(□印)で示すチェックノードが、符号長Nに符号化率1/2を乗算した乗算値に等しいN/2個だけ存在する。
 各バリアブルノードには、列重みに等しい3本の枝(edge)が接続されており、したがって、N個のバリアブルノードに接続している枝は、全部で、3N本だけ存在する。
 また、各チェックノードには、行重みに等しい6本の枝が接続されており、したがって、N/2個のチェックノードに接続している枝は、全部で、3N本だけ存在する。
 さらに、図44のタナーグラフでは、1つのインターリーバが存在する。
 インターリーバは、N個のバリアブルノードに接続している3N本の枝をランダムに並べ替え、その並べ替え後の各枝を、N/2個のチェックノードに接続している3N本の枝のうちのいずれかに繋げる。
 インターリーバでの、N個のバリアブルノードに接続している3N本の枝を並べ替える並べ替えパターンは、(3N)!(=(3N)×(3N-1)×・・・×1)通りだけある。したがって、すべてのバリアブルノードの重みが3で、すべてのチェックノードの重みが6であるというデグリーリーケンスによって特徴付けられるアンサンブルは、(3N)!個のLDPC符号の集合となる。
 性能の良いLDPC符号(適切な検査行列)を求めるシミュレーションでは、デンシティエボリューションにおいて、マルチエッジタイプ(multi-edge type)のアンサンブルを用いた。
 マルチエッジタイプでは、バリアブルノードに接続している枝と、チェックノードに接続している枝とが経由するインターリーバが、複数(multi edge)に分割され、これにより、アンサンブルの特徴付けが、より厳密に行われる。
 図45は、マルチエッジタイプのアンサンブルのタナーグラフの例を示している。
 図45のタナーグラフでは、第1インターリーバと第2インターリーバとの2つのインターリーバが存在する。
 また、図45のタナーグラフでは、第1インターリーバに繋がる枝が1本で、第2インターリーバに繋がる枝が0本のバリアブルノードがv1個だけ、第1インターリーバに繋がる枝が1本で、第2インターリーバに繋がる枝が2本のバリアブルノードがv2個だけ、第1インターリーバに繋がる枝が0本で、第2インターリーバに繋がる枝が2本のバリアブルノードがv3個だけ、それぞれ存在する。
 さらに、図45のタナーグラフでは、第1インターリーバに繋がる枝が2本で、第2インターリーバに繋がる枝が0本のチェックノードがc1個だけ、第1インターリーバに繋がる枝が2本で、第2インターリーバに繋がる枝が2本のチェックノードがc2個だけ、第1インターリーバに繋がる枝が0本で、第2インターリーバに繋がる枝が3本のチェックノードがc3個だけ、それぞれ存在する。
 ここで、デンシティエボリューションと、その実装については、例えば、"On the Design of Low-Density Parity-Check Codes within 0.0045 dB of the Shannon Limit", S.Y.Chung, G.D.Forney, T.J.Richardson,R.Urbanke, IEEE Communications Leggers, VOL.5, NO.2, Feb 2001に記載されている。
 新LDPC符号(の検査行列)を求めるシミュレーションでは、マルチエッジタイプのデンシティエボリューションによって、BERが落ち始める(小さくなっていく)Eb/N0(1ビットあたりの信号電力対雑音電力比)である性能閾値が、所定値以下になるアンサンブルを見つけ、そのアンサンブルに属するLDPC符号の中から、QPSK等の1以上の直交変調を用いた場合のBERを小さくするLDPC符号を、性能の良いLDPC符号として選択した。
 新LDPC符号(の検査行列を表す検査行列初期値テーブル)は、以上のようなシミュレーションにより求められた。
 したがって、新LDPC符号によれば、データ伝送において、良好な通信品質を確保することができる。
 図46は、新LDPC符号としてのタイプA符号の検査行列Hの列重みを説明する図である。
 タイプA符号の検査行列Hについては、図46に示すように、A行列及びC行列の1列目からK1列の列重みをX1と、A行列及びC行列のその後のK2列の列重みをX2と、A行列及びC行列のさらにその後のK3列の列重みをX3と、C行列のさらにその後のM1列の列重みをXM1と、それぞれ表すこととする。
 なお、K1+K2+K3は、情報長Kに等しく、M1+M2は、パリティ長Mに等しい。したがって、K1+K2+K3+M1+M2は、符号長N=17280ビットに等しい。
 また、タイプA符号の検査行列Hについては、B行列の1列目からM1-1列の列重みは2であり、B行列のM1列目(最後の列)の列重みは1である。さらに、D行列の列重みは1であり、Z行列の列重みは0である。
 図47は、図30ないし図35の(検査行列初期値テーブルが表す)タイプA符号の検査行列Hのパラメータを示す図である。
 r=2/16,3/16,4/16,5/16,6/16,7/16のタイプA符号の検査行列HのパラメータとしてのK,X1,K1,X2,K2,X3,K3,XM1,M1,M2は、図47に示す通りになっている。
 パラメータX1,K1,X2,K2,X3,K3,XM1,M1(又はM2)は、LDPC符号の性能(例えば、エラーレート等)がより向上するように設定される。
 図48は、新LDPC符号としてのタイプB符号の検査行列Hの列重みを説明する図である。
 タイプB符号の検査行列Hについては、図48に示すように、1列目からKX1列の列重みをX1と、その後のKX2列の列重みをX2と、その後のKX3列の列重みをX3と、その後のKX4列の列重みをX4と、その後のKY1列の列重みをY1と、それぞれ表すこととする。
 なお、KX1+KX2+KX3+KX4+KY1は、情報長Kに等しく、KX1+KX2+KX3+KX4+KY1+Mは、符号長N=17280ビットに等しい。
 また、タイプB符号の検査行列Hについては、最後のM列のうちの、最後の1列を除くM-1列の列重みは2であり、最後の1列の列重みは1である。
 図49は、図36ないし図43の(検査行列初期値テーブルが表す)タイプB符号の検査行列Hのパラメータを示す図である。
 r=7/16,8/16,9/16,10/16,11/16,12/16,13/16,14/16のタイプB符号の検査行列HのパラメータとしてのK,X1,KX1,X2,KX2,X3,KX3,X4,KX4,Y1,KY1,Mは、図49に示す通りになっている。
 パラメータX1,KX1,X2,KX2,X3,KX3,X4,KX4,Y1,KY1は、LDPC符号の性能がより向上するように設定される。
 新LDPC符号によれば、良好なBER/FERが実現されるとともに、シャノン限界に近いキャパシティ(通信路容量)が実現される。
 図50ないし図53は、新LDPC符号の他の例を説明する図である。
 すなわち、図50は、符号長Nが17280ビットで、符号化率rが4/16の新LDPC符号としての、日本放送協会から提供されたタイプA符号(以下、r=4/16の新タイプA符号ともいう)の検査行列Hを表す検査行列初期値テーブルの例を示す図である。
 図51は、日本放送協会から提供されたr=7/16の新タイプA符号の検査行列Hのパラメータを示す図である。
 パラメータK,X1,K1,X2,K2,X3,K3,XM1,M1,M2は、図46で説明したパラメータであり、r=4/16の新タイプA符号の検査行列HのパラメータK,X1,K1,X2,K2,X3,K3,XM1,M1,M2は、図51に示す通りになっている。
 図52は、符号長Nが17280ビットで、符号化率rが9/16の新LDPC符号としての、日本放送協会から提供されたタイプB符号(以下、r=9/16の新タイプB符号ともいう)の検査行列Hを表す検査行列初期値テーブルの例を示す図である。
 図53は、日本放送協会から提供されたr=9/16の新タイプB符号の検査行列Hのパラメータを示す図である。
 パラメータK,X1,KX1,X2,KX2,X3,KX3,X4,KX4,Y1,KY1,Mは、図48で説明したパラメータであり、r=9/16の新タイプB符号の検査行列HのパラメータK,X1,KX1,X2,KX2,X3,KX3,X4,KX4,Y1,KY1,Mは、図53に示す通りになっている。
 <コンスタレーション>
 図54ないし図78は、図7の伝送システムで採用し得るコンスタレーションの例を示す図である。
 図7の伝送システムでは、例えば、変調方式(MODulation)とLDPC符号(CODe)との組み合わせであるMODCODに対して、そのMODCODで使用するコンスタレーションを設定することができる。
 1のMODCODに対しては、1以上のコンスタレーションを設定することができる。
 コンスタレーションには、信号点の配置が一様になっているUC(Uniform Constellation)と、一様になっていないNUC(Non Uniform Constellation)とがある。
 また、NUCには、例えば、1D-NUC(1-dimensional (M2-QAM) non-uniform constellation)と呼ばれるコンスタレーションや、2D-NUC(2-dimensional (QQAM) non-uniform constellation)と呼ばれるコンスタレーション等がある。
 一般に、UCよりも1D-NUCの方が、BERが改善し、さらに、1D-NUCよりも2D-NUCの方が、BERが改善する。
 変調方式がQPSKのコンスタレーションは、UCになる。変調方式が16QAMや、64QAM,256QAM等のコンスタレーションとしては、例えば、UCや、2D-NUCを採用することができ、変調方式が1024QAMや4096QAM等のコンスタレーションとしては、例えば、UCや、1D-NUCを採用することができる。
 図7の伝送システムでは、例えば、ATSC3.0や、DVB-C.2等で規定されているコンスタレーション、その他、エラーレートを良好にする様々なコンスタレーションを使用することができる。
 すなわち、変調方式がQPSKである場合には、LDPC符号の各符号化率rについて、例えば、同一のUCを使用することができる。
 また、変調方式が、16QAM,64QAM、又は、256QAMである場合には、LDPC符号の各符号化率rについて、例えば、同一のUCを使用することができる。さらに、変調方式が、16QAM,64QAM、又は、256QAMである場合には、例えば、LDPC符号の符号化率rそれぞれごとに異なる2D-NUCを使用することができる。
 また、変調方式が、1024QAM又は4096QAMである場合には、LDPC符号の各符号化率rについて、例えば、同一のUCを使用することができる。さらに、変調方式が、1024QAM又は4096QAMである場合には、例えば、LDPC符号の符号化率rそれぞれごとに異なる1D-NUCを使用することができる。
 ここで、QPSKのUCを、QPSK-UCとも記載し、2mQAMのUCを、2mQAM-UCとも記載する。また、2mQAMの1D-NUC及び2D-NUCを、それぞれ、2mQAM-1D-NUC及び2mQAM-2D-NUCとも記載する。
 以下、ATSC3.0で規定されているコンスタレーションの幾つかについて説明する。
 図54は、変調方式がQPSKである場合に、ATSC3.0で規定されているLDPC符号のすべての符号化率について使用されるQPSK-UCの信号点の座標を示す図である。
 図54において、"Input Data cell y"は、QPSK-UCにマッピングする2ビットのシンボルを表し、"Constellation point zs"は、信号点zsの座標を表す。なお、信号点zsのインデクスsは(後述する信号点zqのインデクスqも同様)、シンボルの離散時間(あるシンボルと次のシンボルとの間の時間間隔)を表す。
 図54では、信号点zsの座標は、複素数の形で表されており、jは、虚数単位(√(-1))を表す。
 図55は、変調方式が16QAMである場合に、ATSC3.0で規定されているLDPC符号の符号化率r(CR)=2/15,3/15,4/15,5/15,6/15,7/15,8/15,9/15,10/15,11/15,12,15,13/15について使用される16QAM-2D-NUCの信号点の座標を示す図である。
 図55では、図54と同様に、信号点zsの座標は、複素数の形で表されており、jは、虚数単位を表す。
 図55において、w#kは、コンスタレーションの第1象限の信号点の座標を表す。
 2D-NUCにおいて、コンスタレーションの第2象限の信号点は、第1象限の信号点を、Q軸に対して対称に移動した位置に配置され、コンスタレーションの第3象限の信号点は、第1象限の信号点を、原点に対して対称に移動した位置に配置される。そして、コンスタレーションの第4象限の信号点は、第1象限の信号点を、I軸に対して対称に移動した位置に配置される。
 ここで、変調方式が2mQAMである場合には、mビットを1個のシンボルとして、その1個のシンボルが、そのシンボルに対応する信号点にマッピングされる。
 mビットのシンボルは、例えば、0ないし2m-1の整数値で表現することができるが、いま、b=2m/4とすると、0ないし2m-1の整数値で表現されるシンボルy(0),y(1),・・・,y(2m-1)は、シンボルy(0)ないしy(b-1),y(b)ないしy(2b-1),y(2b)ないしy(3b-1)、及び、y(3b)ないしy(4b-1)の4つに分類することができる。
 図55において、w#kのサフィックスkは、0ないしb-1の範囲の整数値をとり、w#kは、シンボルy(0)ないしy(b-1)の範囲のシンボルy(k)に対応する信号点の座標を表す。
 そして、シンボルy(b)ないしy(2b-1)の範囲のシンボルy(k+b)に対応する信号点の座標は、-conj(w#k)で表され、シンボルy(2b)ないしy(3b-1)の範囲のシンボルy(k+2b)に対応する信号点の座標は、conj(w#k)で表される。また、シンボルy(3b)ないしy(4b-1)の範囲のシンボルy(k+3b)に対応する信号点の座標は、-w#kで表される。
 ここで、conj(w#k)は、w#kの複素共役を表す。
 例えば、変調方式が16QAMである場合には、m=4ビットのシンボルy(0),y(1),・・・,y(15)は、b=24/4=4として、シンボルy(0)ないしy(3),y(4)ないしy(7),y(8)ないしy(11)、及び、y(12)ないしy(15)の4つに分類される。
 そして、シンボルy(0)ないしy(15)のうちの、例えば、シンボルy(12)は、シンボルy(3b)ないしy(4b-1)の範囲のシンボルy(k+3b)=y(0+3×4)であり、k=0であるから、シンボルy(12)に対応する信号点の座標は、-w#k=-w0となる。
 いま、LDPC符号の符号化率r(CR)が、例えば、9/15であるとすると、図55によれば、変調方式が16QAMで、符号化率rが、9/15である場合のw0は、0.2386+j0.5296であるので、シンボルy(12)に対応する信号点の座標-w0は、-(0.2386+j0.5296)となる。
 図56は、変調方式が1024QAMである場合に、ATSC3.0で規定されているLDPC符号の符号化率r(CR)=2/15,3/15,4/15,5/15,6/15,7/15,8/15,9/15,10/15,11/15,12,15,13/15について使用される1024QAM-1D-NUCの信号点の座標の例を示す図である。
 図56において、u#kは、1D-NUCの信号点zsの座標としての複素数のリアルパートRe(zs)及びイマジナリパートIm(zs)を表し、位置ベクトルと呼ばれるベクトルu=(u0, u1,..., u#V-1)のコンポーネントである。位置ベクトルuのコンポーネントu#kの数Vは、式V=√(2m)/2で与えられる。
 図57は、1024QAMのシンボルyと、位置ベクトルu(のコンポーネントu#k)との関係を示す図である。
 いま、1024QAMの10ビットのシンボルyを、その先頭のビット(最上位ビット)から、y0,s,y1,s,y2,s,y3,s,y4,s,y5,s,y6,s,y7,s,y8,s,y9,sと表すこととする。
 図57のAは、シンボルyの偶数番目の5ビットy1,s,y3,s,y5,s,y7,s,y9,sと、そのシンボルyに対応する信号点zsの(座標の)リアルパートRe(zs)を表すu#kとの対応関係を表している。
 図57のBは、シンボルyの奇数番目の5ビットy0,s,y2,s,y4,s,y6,s,y8,sと、そのシンボルyに対応する信号点zsのイマジナリパートIm(zs)を表すu#kとの対応関係を表している。
 1024QAMの10ビットのシンボルy=(y0,s,y1,s,y2,s,y3,s,y4,s,y5,s,y6,s,y7,s,y8,s,y9,s)が、例えば、(0,0,1,0,0,1,1,1,0,0)である場合、奇数番目の5ビット(y0,s,y2,s,y4,s,y6,s,y8,s)は、(0,1,0,1,0)であり、偶数番目の5ビット(y1,s,y3,s,y5,s,y7,s,y9,s)は、(0,0,1,1,0)である。
 図57のAでは、偶数番目の5ビット(0,0,1,1,0)は、u11に対応付けられており、したがって、シンボルy=(0,0,1,0,0,1,1,1,0,0)に対応する信号点zsのリアルパートRe(zs)は、u11になる。
 図57のBでは、奇数番目の5ビット(0,1,0,1,0)は、u3に対応付けられており、したがって、シンボルy=(0,0,1,0,0,1,1,1,0,0)に対応する信号点zsのイマジナリパートIm(zs)は、u3になる。
 一方、LDPC符号の符号化率rが、例えば、6/15であるとすると、上述の図56によれば、変調方式が1024QAMで、LDPC符号の符号化率r(CR)=6/15である場合に使用される1D-NUCについては、u3は、0.1295であり、u11は、0.7196である。
 したがって、シンボルy=(0,0,1,0,0,1,1,1,0,0)に対応する信号点zsのリアルパートRe(zs)は、u11=0.7196になり、イマジナリパートIm(zs)は、u3=0.1295になる。その結果、シンボルy=(0,0,1,0,0,1,1,1,0,0)に対応する信号点zsの座標は、0.7196+j0.1295で表される。
 なお、1D-NUCの信号点は、コンスタレーションにおいて、I軸に平行な直線上やQ軸に平行な直線上に、格子状に並ぶ。但し、信号点どうしの間隔は、一定にはならない。また、信号点(にマッピングされたデータ)の送信にあたって、コンスタレーション上の信号点の平均電力は正規化することができる。正規化は、コンスタレーション上の信号点(の座標)のすべてについての絶対値の自乗平均値をPaveと表すこととすると、その自乗平均値Paveの平方根√Paveの逆数1/(√Pave)を、コンスタレーション上の各信号点zsに乗算することによって行うことができる。
 図7の伝送システムでは、以上のようなATSC3.0で規定されているコンスタレーションを使用することができる。
 図58ないし図69は、DVB-C.2で規定されているUCの信号点の座標を示す図である。
 すなわち、図58は、DVB-C.2で規定されているQPSK-UC(QPSKのUC)の信号点の座標zqのリアルパートRe(zq)を示す図である。図59は、DVB-C.2で規定されているQPSK-UCの信号点の座標zqのイマジナリパートIm(zq)を示す図である。
 図60は、DVB-C.2で規定されている16QAM-UC(16QAMのUC)の信号点の座標zqのリアルパートRe(zq)を示す図である。図61は、DVB-C.2で規定されている16QAM-UCの信号点の座標zqのイマジナリパートIm(zq)を示す図である。
 図62は、DVB-C.2で規定されている64QAM-UC(64QAMのUC)の信号点の座標zqのリアルパートRe(zq)を示す図である。図63は、DVB-C.2で規定されている64QAM-UCの信号点の座標zqのイマジナリパートIm(zq)を示す図である。
 図64は、DVB-C.2で規定されている256QAM-UC(256QAMのUC)の信号点の座標zqのリアルパートRe(zq)を示す図である。図65は、DVB-C.2で規定されている256QAM-UCの信号点の座標zqのイマジナリパートIm(zq)を示す図である。
 図66は、DVB-C.2で規定されている1024QAM-UC(1024QAMのUC)の信号点の座標zqのリアルパートRe(zq)を示す図である。図67は、DVB-C.2で規定されている1024QAM-UCの信号点の座標zqのイマジナリパートIm(zq)を示す図である。
 図68は、DVB-C.2で規定されている4096QAM-UC(4096QAMのUC)の信号点の座標zqのリアルパートRe(zq)を示す図である。図69は、DVB-C.2で規定されている4096QAM-UCの信号点の座標zqのイマジナリパートIm(zq)を示す図である。
 なお、図58ないし図69において、yi,qは、2mQAMのmビット(例えば、QPSKでは2ビット)のシンボルの先頭から、i+1ビット目を表す。また、UCの信号点(にマッピングされたデータ)の送信にあたって、コンスタレーション上の信号点の平均電力は正規化することができる。正規化は、コンスタレーション上の信号点(の座標)のすべてについての絶対値の自乗平均値をPaveと表すこととすると、その自乗平均値Paveの平方根√Paveの逆数1/(√Pave)を、コンスタレーション上の各信号点zqに乗算することによって行うことができる。
 図7の伝送システムでは、以上のようなDVB-C.2で規定されているUCを使用することができる。
 すなわち、図30ないし図43、図50、及び、図52の、符号長Nが17280ビットで、符号化率rが2/16,3/16,4/16,5/16,6/16,7/16,8/16,9/16,10/16,11/16,12/16,13/16、及び、14/16それぞれの(検査行列初期値テーブルに対応する)新LDPC符号については、図58ないし図69に示したUCを使用することができる。
 図70ないし図78は、図30ないし図43、図50、及び、図52の、符号長Nが17280ビットで、符号化率rが2/16,3/16,4/16,5/16,6/16,7/16,8/16,9/16,10/16,11/16,12/16,13/16、及び、14/16それぞれの新LDPC符号について使用し得るNUCの信号点の座標の例を示す図である。
 すなわち、図70は、新LDPC符号について使用し得る16QAM-2D-NUCの信号点の座標の例を示す図である。
 図71は、新LDPC符号について使用し得る64QAM-2D-NUCの信号点の座標の例を示す図である。
 図72及び図73は、新LDPC符号について使用し得る256QAM-2D-NUCの信号点の座標の例を示す図である。
 なお、図73は、図72に続く図である。
 図70ないし図73では、図55と同様に、信号点zsの座標は、複素数の形で表されており、jは、虚数単位を表す。
 図70ないし図73において、w#kは、図55と同様に、コンスタレーションの第1象限の信号点の座標を表す。
 ここで、図55で説明したように、mビットのシンボルを、0ないし2m-1の整数値で表現することとし、b=2m/4とすると、0ないし2m-1の整数値で表現されるシンボルy(0),y(1),・・・,y(2m-1)は、シンボルy(0)ないしy(b-1),y(b)ないしy(2b-1),y(2b)ないしy(3b-1)、及び、y(3b)ないしy(4b-1)の4つに分類することができる。
 図70ないし図73では、図55と同様に、w#kのサフィックスkは、0ないしb-1の範囲の整数値をとり、w#kは、シンボルy(0)ないしy(b-1)の範囲のシンボルy(k)に対応する信号点の座標を表す。
 さらに、図70ないし図73では、図55と同様に、シンボルy(3b)ないしy(4b-1)の範囲のシンボルy(k+3b)に対応する信号点の座標は、-w#kで表される。
 但し、図55では、シンボルy(b)ないしy(2b-1)の範囲のシンボルy(k+b)に対応する信号点の座標は、-conj(w#k)で表され、シンボルy(2b)ないしy(3b-1)の範囲のシンボルy(k+2b)に対応する信号点の座標は、conj(w#k)で表されるが、図70ないし図73では、conjの符号が逆になる。
 すなわち、図70ないし図73では、シンボルy(b)ないしy(2b-1)の範囲のシンボルy(k+b)に対応する信号点の座標は、conj(w#k)で表され、シンボルy(2b)ないしy(3b-1)の範囲のシンボルy(k+2b)に対応する信号点の座標は、-conj(w#k)で表される。
 図74は、新LDPC符号について使用し得る1024QAM-1D-NUCの信号点の座標の例を示す図である。
 すなわち、図74は、1024QAM-1D-NUCの信号点zsの座標としての複素数のリアルパートRe(zs)及びイマジナリパートIm(zs)と、位置ベクトルu(のコンポーネントu#k)との関係を示す図である。
 図75は、1024QAMのシンボルyと、図74の位置ベクトルu(のコンポーネントu#k)との関係を示す図である。
 すなわち、いま、1024QAMの10ビットのシンボルyを、その先頭のビット(最上位ビット)から、y0,s,y1,s,y2,s,y3,s,y4,s,y5,s,y6,s,y7,s,y8,s,y9,sと表すこととする。
 図75のAは、10ビットのシンボルyの(先頭から)奇数番目の5ビットy0,s,y2,s,y4,s,y6,s,y8,sと、そのシンボルyに対応する信号点zs(の座標)のリアルパートRe(zs)を表す位置ベクトルu#kとの対応関係を表している。
 図75のBは、10ビットのシンボルyの偶数番目の5ビットy1,s,y3,s,y5,s,y7,s,y9,sと、そのシンボルyに対応する信号点zsのイマジナリパートIm(zs)を表す位置ベクトルu#kとの対応関係を表している。
 1024QAMの10ビットのシンボルyが、図74及び図75で規定される1024QAM-1D-NUCの信号点zsにマッピングされるときの、その信号点zsの座標の求め方は、図56及び図57で説明した場合と同様であるため、説明を省略する。
 図76は、新LDPC符号について使用し得る4096QAM-1D-NUCの信号点の座標の例を示す図である。
 すなわち、図76は、4096QAM-1D-NUCの信号点zsの座標としての複素数のリアルパートRe(zs)及びイマジナリパートIm(zs)と、位置ベクトルu(u#k)との関係を示す図である。
 図77及び図78は、4096QAMのシンボルyと、図76の位置ベクトルu(のコンポーネントu#k)との関係を示す図である。
 すなわち、いま、4096QAMの12ビットのシンボルyを、その先頭のビット(最上位ビット)から、y0,s,y1,s,y2,s,y3,s,y4,s,y5,s,y6,s,y7,s,y8,s,y9,s,y10,s,y11,sと表すこととする。
 図77は、12ビットのシンボルyの奇数番目の6ビットy0,s,y2,s,y4,s,y6,s,y8,s,y10,sと、そのシンボルyに対応する信号点zsのリアルパートRe(zs)を表す位置ベクトルu#kとの対応関係を表している。
 図78は、12ビットのシンボルyの偶数番目の6ビットy1,s,y3,s,y5,s,y7,s,y9,s,y11,sと、そのシンボルyに対応する信号点zsのイマジナリパートIm(zs)を表す位置ベクトルu#kとの対応関係を表している。
 4096QAMの12ビットのシンボルyが、図76ないし図78で規定される4096QAM-1D-NUCの信号点zsにマッピングされるときの、その信号点zsの座標の求め方は、図56及び図57で説明した場合と同様であるため、説明を省略する。
 なお、図70ないし図78のNUCの信号点(にマッピングされたデータ)の送信にあたって、コンスタレーション上の信号点の平均電力は正規化することができる。正規化は、コンスタレーション上の信号点(の座標)のすべてについての絶対値の自乗平均値をPaveと表すこととすると、その自乗平均値Paveの平方根√Paveの逆数1/(√Pave)を、コンスタレーション上の各信号点zsに乗算することによって行うことができる。また、上述の図57では、シンボルyの奇数番目のビットが信号点zsのイマジナリパートIm(zs)を表す位置ベクトルu#kに対応付けられているとともに、シンボルyの偶数番目のビットが信号点zsのリアルパートRe(zs)を表す位置ベクトルu#kに対応付けられているが、図75、並びに、図77及び図78では、逆に、シンボルyの奇数番目のビットが信号点zsのリアルパートRe(zs)を表す位置ベクトルu#kに対応付けられているとともに、シンボルyの偶数番目のビットが信号点zsのイマジナリパートIm(zs)を表す位置ベクトルu#kに対応付けられている。
 <ブロックインターリーバ25>
 図79は、図9のブロックインターリーバ25で行われるブロックインターリーブを説明する図である。
 ブロックインターリーブは、1符号語のLDPC符号を、その先頭から、パート1(part 1)と呼ばれる部分と、パート2(part 2)と呼ばれる部分とに分けて行われる。
 パート1の長さ(ビット数)を、Npart1を表すとともに、パート2の長さを、Npart2と表すこととすると、Npart1+Npart2は、符号長Nに等しい。
 観念的には、ブロックインターリーブでは、1方向としてのカラム(縦)方向に、Npart1/mビットを記憶する記憶領域としてのカラム(column)が、カラム方向と直交するロウ方向に、シンボルのビット数mに等しい数mだけ並べられ、各カラムが、上から、パラレルファクタPである360ビットの小単位に区切られる。この、カラムの小単位を、カラムユニットともいう。
 ブロックインターリーブでは、図79に示すように、1符号語のLDPC符号のパート1を、カラムの1番目のカラムユニットの上から下方向(カラム方向)に書き込むことが、左から右方向のカラムに向かって行われる。
 そして、右端のカラムの1番目のカラムユニットへの書き込みが終了すると、図79に示すように、左端のカラムに戻り、カラムの2番目のカラムユニットの上から下方向に書き込むことが、左から右方向のカラムに向かって行われ、以下、同様にして、1符号語のLDPC符号のパート1の書き込みが行われる。
 1符号語のLDPC符号のパート1の書き込みが終了すると、図79に示すように、m個すべてのカラムの1行目から、ロウ方向に、mビット単位で、LDPC符号のパート1が読み出される。
 このパート1のmビット単位は、mビットのシンボルとして、ブロックインターリーバ25からマッパ117(図8)に供給される。
 mビット単位でのパート1の読み出しは、m個のカラムの下の行に向かって順次行われ、パート1の読み出しが終了すると、パート2は、先頭から、mビット単位に分割され、mビットのシンボルとして、ブロックインターリーバ25からマッパ117に供給される。
 したがって、パート1は、インターリーブされながら、シンボル化され、パート2は、インターリーブされることなく、順次、mビットに区切って、シンボル化される。
 カラムの長さであるNpart1/mは、パラレルファクタPである360の倍数であり、そのようにNpart1/mが360の倍数になるように、1符号語のLDPC符号は、パート1とパート2とに分けられる。
 図80は、変調方式が、QPSK,16QAM,64QAM、及び、256QAMである場合それぞれの、符号長Nが17280ビットのLDPC符号のパート1及びパート2の例を示す図である。
 変調方式が、QPSK,16QAM,64QAM、及び、256QAMである場合、いずれの場合も、パート1が17280ビットで、パート2が0ビットになる。
 <グループワイズインターリーブ>
 図81は、図9のグループワイズインターリーバ24で行われるグループワイズインターリーブを説明する図である。
 グループワイズインターリーブでは、図81に示すように、1符号語のLDPC符号を、その先頭から、パラレルファクタPに等しい360ビット単位に区分した、その1区分の360ビットを、ビットグループとして、1符号語のLDPC符号が、ビットグループ単位で、所定のパターン(以下、GWパターンともいう)に従ってインターリーブされる。
 ここで、1符号語のLDPC符号をビットグループに区分したときの先頭からi+1番目のビットグループを、以下、ビットグループiとも記載する。
 パラレルファクタPが360である場合、例えば、符号長Nが1800ビットのLDPC符号は、ビットグループ0,1,2,3,4の5(=1800/360)個のビットグループに区分される。さらに、例えば、符号長Nが69120ビットのLDPC符号は、ビットグループ0,1,・・・,191の192(=69120/360)個のビットグループに区分される。また、例えば、符号長Nが17280ビットのLDPC符号は、ビットグループ0,1,・・・,47の48(=17280/360)個のビットグループに区分される。
 以下では、GWパターンを、ビットグループを表す数字の並びで表すこととする。例えば、符号長Nが1800ビットの、5個のビットグループ0,1,2,3,4のLDPC符号について、例えば、GWパターン4,2,0,3,1は、ビットグループ0,1,2,3,4の並びを、ビットグループ4,2,0,3,1の並びにインターリーブする(並び替える)ことを表す。なお、ビットグループの並びやGWパターンについては、ビットグループを表す番号のコンマ区切りの並び(例えば、4,2,0,3,1)で表す他、ビットグループを表す番号のスペース区切りの並び(例えば、4 2 0 3 1)で表す。
 例えば、いま、符号長Nが1800ビットのLDPC符号の先頭からi+1番目の符号ビットを、xiで表すこととする。
 この場合、GWパターン4,2,0,3,1のグループワイズインターリーブによれば、1800ビットのLDPC符号{x0,x1,...,x1799}は、{x1440,x1441,...,x1799},{x720,x721,...,x1079},{x0,x1,...,x359},{x1080,x1081,...,x1439},{x360,x361,...,x719}の並びにインターリーブされる。
 GWパターンは、LDPC符号の符号長Nごとや、符号化率rごと、変調方式ごと、コンスタレーションごと、さらには、符号長N、符号化率r、変調方式、及び、コンスタレーションの2以上の組み合わせごとに設定することができる。
 <LDPC符号に対するGWパターンの例>
 図82は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第1の例を示す図である。
 図82のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
 の並びにインターリーブされる。
 図83は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第2の例を示す図である。
 図83のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 19 33 45 22 43 23 46 32 11 40 13 34 14 47 0 12 6 26 37 4 5 17 25 30 39 29 27 28 10 21 36 9 3 20 24 42 7 41 44 38 15 8 31 16 2 1 35 18
 の並びにインターリーブされる。
 図84は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第3の例を示す図である。
 図84のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
 の並びにインターリーブされる。
 図85は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第4の例を示す図である。
 図85のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
 の並びにインターリーブされる。
 図86は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第5の例を示す図である。
 図86のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
 の並びにインターリーブされる。
 図87は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第6の例を示す図である。
 図87のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
 の並びにインターリーブされる。
 図88は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第7の例を示す図である。
 図88のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 0 34 30 6 11 35 5 24 4 13 15 16 3 31 39 40 37 47 28 12 36 42 33 22 20 8 9 44 29 18 25 21 23 10 14 26 45 7 27 46 1 2 17 41 19 43 38 32
 の並びにインターリーブされる。
 図89は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第8の例を示す図である。
 図89のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 33 16 0 26 35 31 21 34 42 43 32 29 7 47 37 28 5 9 30 25 3 17 23 24 41 45 20 12 27 39 8 4 1 6 2 38 10 40 18 19 46 11 36 13 22 14 15 44
 の並びにインターリーブされる。
 図90は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第9の例を示す図である。
 図90のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 41 10 21 37 9 8 11 27 16 23 25 2 34 7 29 28 5 15 31 45 4 43 33 22 18 13 35 30 6 12 44 1 20 40 42 39 19 17 36 38 26 0 32 3 47 14 24 46
 の並びにインターリーブされる。
 図91は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第10の例を示す図である。
 図91のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 15 21 29 10 12 32 1 9 31 47 23 30 26 18 0 28 7 20 43 44 3 45 5 17 16 46 40 39 6 38 34 36 22 33 27 24 25 13 14 37 19 8 42 11 4 2 35 41
 の並びにインターリーブされる。
 図92は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第11の例を示す図である。
 図92のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
 の並びにインターリーブされる。
 図93は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第12の例を示す図である。
 図93のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 31 23 1 42 36 25 47 3 12 30 32 8 11 27 21 40 16 13 34 4 26 35 46 20 29 28 5 43 18 39 24 14 0 10 7 41 37 9 38 33 2 6 19 45 17 15 22 44
 の並びにインターリーブされる。
 図94は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第13の例を示す図である。
 図94のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 46 11 23 33 10 0 17 47 20 5 38 29 28 16 41 27 2 31 43 37 34 12 35 24 21 44 40 36 32 39 4 19 26 6 30 9 42 1 22 8 3 45 14 15 13 7 25 18
 の並びにインターリーブされる。
 図95は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第14の例を示す図である。
 図95のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 16 32 33 43 3 29 0 22 40 24 44 8 20 13 15 45 7 34 39 42 25 28 18 26 38 10 11 41 47 23 6 1 14 4 12 31 21 19 37 36 30 5 46 27 35 2 9 17
 の並びにインターリーブされる。
 図96は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第15の例を示す図である。
 図96のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 23 42 33 17 37 2 22 14 21 0 12 44 30 1 25 35 46 13 10 24 20 15 45 31 41 43 28 36 16 4 32 18 3 6 34 11 40 5 38 27 29 8 26 7 39 9 47 19
 の並びにインターリーブされる。
 図97は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第16の例を示す図である。
 図97のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 7 0 8 39 17 3 32 2 13 19 16 14 5 10 27 35 45 26 44 43 11 24 28 34 20 29 22 41 18 9 37 12 21 4 46 33 15 36 42 1 40 25 23 30 6 38 31 47
 の並びにインターリーブされる。
 図98は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第17の例を示す図である。
 図98のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 1 28 12 35 23 36 24 17 10 14 15 37 18 13 41 38 33 29 16 21 27 4 9 31 45 40 0 46 7 43 30 34 8 44 47 2 20 6 42 3 22 39 5 32 11 19 25 26
 の並びにインターリーブされる。
 図99は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第18の例を示す図である。
 図99のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 9 8 3 40 27 4 7 45 28 29 14 41 20 6 21 5 36 12 31 39 30 15 37 10 34 25 1 47 26 13 32 43 44 24 33 16 42 2 22 19 18 35 23 46 11 17 38 0
 の並びにインターリーブされる。
 図100は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第19の例を示す図である。
 図100のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 12 42 40 41 20 18 27 24 39 6 0 15 8 31 10 3 13 46 4 37 33 25 44 2 16 23 28 14 17 43 45 1 35 38 26 21 36 22 47 11 34 29 30 32 19 7 5 9
 の並びにインターリーブされる。
 図101は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第20の例を示す図である。
 図101のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 33 18 21 29 14 4 35 32 26 15 11 6 1 47 38 17 45 27 2 5 16 12 23 25 3 0 42 13 41 46 9 24 40 43 7 31 39 34 30 20 8 36 22 10 19 28 37 44
 の並びにインターリーブされる。
 図102は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第21の例を示す図である。
 図102のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 7 28 41 8 6 12 14 47 4 38 32 37 23 33 15 46 22 0 34 24 40 45 27 19 43 11 36 9 17 21 31 44 2 1 26 13 42 30 35 5 29 25 16 20 39 10 18 3
 の並びにインターリーブされる。
 図103は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第22の例を示す図である。
 図103のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 30 14 40 26 21 5 12 3 18 17 11 38 4 46 7 31 0 1 27 36 8 10 2 22 13 9 37 42 41 32 15 39 23 25 34 24 35 28 20 16 19 33 6 43 29 45 47 44
 の並びにインターリーブされる。
 図104は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第23の例を示す図である。
 図104のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 23 20 14 9 44 41 19 36 38 13 16 28 0 8 2 39 31 29 21 10 11 33 32 27 46 7 5 35 26 1 43 40 37 17 47 30 6 18 15 42 3 25 4 22 24 12 45 34
 の並びにインターリーブされる。
 図105は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第24の例を示す図である。
 図105のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 37 30 14 13 2 31 27 9 46 41 47 18 23 28 43 10 39 42 16 22 36 8 33 32 4 1 45 19 12 6 35 0 24 25 15 38 44 7 26 21 34 40 29 20 11 5 17 3
 の並びにインターリーブされる。
 図106は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第25の例を示す図である。
 図106のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 6 28 25 38 43 11 21 31 47 8 17 39 23 27 30 32 3 35 12 7 1 16 18 36 10 24 41 4 44 22 5 33 46 29 0 26 9 42 37 45 15 40 2 19 14 20 34 13
 の並びにインターリーブされる。
 図107は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第26の例を示す図である。
 図107のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 39 11 12 7 3 1 40 31 27 0 45 42 6 5 24 36 46 19 34 22 29 13 35 2 17 33 20 14 15 25 38 9 41 30 44 18 8 28 37 4 32 47 16 43 21 23 26 10
 の並びにインターリーブされる。
 図108は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第27の例を示す図である。
 図108のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 7 19 31 20 36 35 2 4 46 12 28 21 39 43 26 23 32 5 37 3 11 34 18 45 24 1 13 47 10 27 0 9 33 25 8 40 6 16 22 29 42 38 14 44 41 17 30 15
 の並びにインターリーブされる。
 図109は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第28例を示す図である。
 図109のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 12 7 39 31 30 44 14 33 35 17 37 27 2 28 9 26 32 3 46 0 34 6 43 25 21 47 18 45 5 20 13 38 11 29 16 36 8 40 15 41 10 23 1 19 4 22 42 24
 の並びにインターリーブされる。
 図110は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第29の例を示す図である。
 図110のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 20 19 13 25 32 9 5 24 39 4 29 40 14 18 43 46 21 44 10 15 35 3 23 47 37 12 30 33 27 36 8 28 38 7 42 22 2 0 6 16 45 26 17 11 31 34 41 1
 の並びにインターリーブされる。
 図111は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第30の例を示す図である。
 図111のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 19 20 44 3 6 28 13 15 16 24 9 34 39 8 17 40 29 31 22 10 11 7 35 42 23 2 14 37 33 1 26 45 38 12 47 30 5 18 46 0 41 27 4 21 43 25 36 32
 の並びにインターリーブされる。
 図112は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第31の例を示す図である。
 図112のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 4 26 7 21 43 42 33 17 35 19 10 39 27 13 18 34 38 3 28 36 1 5 44 37 16 30 14 9 32 47 29 2 31 23 0 24 11 8 6 46 40 45 15 22 25 20 12 41
 の並びにインターリーブされる。
 図113は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第32の例を示す図である。
 図113のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 8 28 33 21 1 39 34 7 0 17 5 41 23 2 14 10 29 25 13 18 35 38 27 44 20 32 31 11 40 30 24 3 36 22 15 37 16 6 42 45 19 47 12 26 43 9 46 4
 の並びにインターリーブされる。
 図114は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第33の例を示す図である。
 図114のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 0 39 23 44 19 21 35 13 36 27 47 3 31 11 9 41 43 8 14 26 6 5 15 16 38 7 32 22 30 33 37 40 28 45 12 24 17 42 20 29 1 4 10 2 25 18 46 34
 の並びにインターリーブされる。
 図115は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第34の例を示す図である。
 図115のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 11 0 42 24 46 27 25 3 1 41 22 40 19 18 14 36 33 4 47 12 39 30 13 5 2 7 31 9 38 35 15 43 45 44 28 20 32 21 26 23 6 10 8 37 17 34 29 16
 の並びにインターリーブされる。
 図116は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第35の例を示す図である。
 図116のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 5 45 42 35 13 41 2 29 15 11 16 0 8 1 33 34 44 7 43 22 24 19 9 38 18 12 26 20 28 21 10 30 40 6 46 37 47 17 3 32 4 39 23 25 36 14 31 27
 の並びにインターリーブされる。
 図117は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第36の例を示す図である。
 図117のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 18 16 21 2 43 10 44 42 19 15 20 26 1 38 46 28 17 29 6 22 7 32 31 30 24 3 8 9 12 37 47 40 39 5 35 11 25 45 34 33 23 4 14 27 13 41 36 0
 の並びにインターリーブされる。
 図118は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第37の例を示す図である。
 図118のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 28 9 4 27 17 10 12 6 19 30 1 23 39 14 38 34 46 8 15 43 13 47 0 44 7 24 45 18 25 29 37 42 22 31 11 36 20 32 41 33 2 26 21 5 3 16 40 35
 の並びにインターリーブされる。
 図119は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第38の例を示す図である。
 図119のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 5 37 36 38 16 21 41 44 10 18 26 27 15 1 43 2 33 14 9 30 8 12 23 4 13 35 31 3 34 19 42 47 46 29 0 25 20 17 39 45 28 6 22 11 32 40 24 7
 の並びにインターリーブされる。
 図120は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第39の例を示す図である。
 図120のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 11 1 12 21 13 15 24 36 34 0 37 9 14 39 19 16 17 28 40 29 23 46 30 38 33 3 6 18 26 7 27 45 10 25 4 42 31 43 35 32 5 8 44 41 47 22 20 2
 の並びにインターリーブされる。
 図121は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第40の例を示す図である。
 図121のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 3 41 6 42 21 2 25 45 8 39 34 26 47 43 23 20 13 16 38 24 5 40 0 11 7 31 32 15 36 33 9 12 10 30 29 14 18 35 46 4 28 19 1 44 37 27 17 22
 の並びにインターリーブされる。
 図122は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第41の例を示す図である。
 図122のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 40 42 11 10 15 6 34 37 16 45 25 47 32 8 17 26 29 7 18 21 46 44 28 27 20 38 43 36 33 5 24 9 13 2 0 4 39 31 1 22 30 12 14 41 23 3 19 35
 の並びにインターリーブされる。
 図123は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第42の例を示す図である。
 図123のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 6 0 20 18 37 27 39 3 1 2 46 11 24 36 14 15 4 16 10 13 35 23 26 30 19 42 7 9 33 40 12 34 22 5 28 21 32 38 44 25 17 41 29 45 8 47 31 43
 の並びにインターリーブされる。
 図124は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第43の例を示す図である。
 図124のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 8 25 12 9 26 37 35 28 14 5 6 2 29 38 22 31 11 21 17 33 42 43 36 45 20 27 44 13 16 46 10 30 3 32 19 1 15 4 18 40 47 7 34 24 41 23 39 0
 の並びにインターリーブされる。
 図125は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第44の例を示す図である。
 図125のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 7 17 26 27 9 39 46 47 32 12 35 25 14 11 22 23 16 29 38 33 34 4 40 10 5 18 37 1 24 44 30 3 0 45 28 13 15 20 6 21 31 19 2 8 41 36 42 43
 の並びにインターリーブされる。
 図126は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第45の例を示す図である。
 図126のGWパターンによれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 11 14 32 27 44 43 0 47 1 8 35 33 7 2 41 15 13 4 23 30 16 42 46 24 9 17 21 20 18 5 19 12 3 34 28 40 39 37 31 38 45 36 6 22 26 10 25 29
 の並びにインターリーブされる。
 以上の、符号長Nが17280ビットのLDPC符号に対するGWパターンの第1ないし第45の例は、符号長Nが17280ビットの、任意の符号化率rのLDPC符号、任意の変調方式、及び、任意のコンスタレーションの組み合わせのいずれにも適用することができる。
 但し、グループワイズインターリーブについては、適用するGWパターンを、LDPC符号の符号長N、LDPC符号の符号化率r、変調方式、及び、コンスタレーションの組み合わせごとに設定することで、各組み合わせについて、エラーレートをより改善することができる。
 図82のGWパターンは、例えば、図31の(検査行列初期値テーブルに対応する)r=3/16のタイプA符号、QPSK、並びに、図58及び図59のQPSK-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図83のGWパターンは、例えば、図33のr=5/16のタイプA符号、QPSK、並びに、図58及び図59のQPSK-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図84のGWパターンは、例えば、図36のr=7/16のタイプB符号、QPSK、並びに、図58及び図59のQPSK-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図85のGWパターンは、例えば、図52のr=9/16の新タイプB符号、QPSK、並びに、図58及び図59のQPSK-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図86のGWパターンは、例えば、図40のr=11/16のタイプB符号、QPSK、並びに、図58及び図59のQPSK-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図87のGWパターンは、例えば、図42のr=13/16のタイプB符号、QPSK、並びに、図58及び図59のQPSK-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図88のGWパターンは、例えば、図31のr=3/16のタイプA符号、16QAM、並びに、図60及び図61の16QAM-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図89のGWパターンは、例えば、図33のr=5/16のタイプA符号、16QAM、並びに、図60及び図61の16QAM-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図90のGWパターンは、例えば、図36のr=7/16のタイプB符号、16QAM、並びに、図60及び図61の16QAM-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図91のGWパターンは、例えば、図52のr=9/16の新タイプB符号、16QAM、並びに、図60及び図61の16QAM-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図92のGWパターンは、例えば、図40のr=11/16のタイプB符号、16QAM、並びに、図60及び図61の16QAM-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図93のGWパターンは、例えば、図42のr=13/16のタイプB符号、16QAM、並びに、図60及び図61の16QAM-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図94のGWパターンは、例えば、図30のr=2/16のタイプA符号、16QAM、並びに、図70の16QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図95のGWパターンは、例えば、図50のr=4/16の新タイプA符号、16QAM、並びに、図70の16QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図96のGWパターンは、例えば、図34のr=6/16のタイプA符号、16QAM、並びに、図70の16QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図97のGWパターンは、例えば、図37のr=8/16のタイプB符号、16QAM、並びに、図70の16QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図98のGWパターンは、例えば、図39のr=10/16のタイプB符号、16QAM、並びに、図70の16QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図99のGWパターンは、例えば、図41のr=12/16のタイプB符号、16QAM、並びに、図70の16QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図100のGWパターンは、例えば、図43のr=14/16のタイプB符号、16QAM、並びに、図70の16QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図101のGWパターンは、例えば、図30のr=2/16のタイプA符号、64QAM、並びに、図62及び図63の64QAM-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図102のGWパターンは、例えば、図50のr=4/16の新タイプA符号、64QAM、並びに、図62及び図63の64QAM-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図103のGWパターンは、例えば、図34のr=6/16のタイプA符号、64QAM、並びに、図62及び図63の64QAM-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図104のGWパターンは、例えば、図37のr=8/16のタイプB符号、64QAM、並びに、図62及び図63の64QAM-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図105のGWパターンは、例えば、図39のr=10/16のタイプB符号、64QAM、並びに、図62及び図63の64QAM-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図106のGWパターンは、例えば、図41のr=12/16のタイプB符号、64QAM、並びに、図62及び図63の64QAM-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図107のGWパターンは、例えば、図43のr=14/16のタイプB符号、64QAM、並びに、図62及び図63の64QAM-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図108のGWパターンは、例えば、図31のr=3/16のタイプA符号、64QAM、並びに、図71の64QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図109のGWパターンは、例えば、図33のr=5/16のタイプA符号、64QAM、並びに、図71の64QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図110のGWパターンは、例えば、図36のr=7/16のタイプB符号、64QAM、並びに、図71の64QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図111のGWパターンは、例えば、図52のr=9/16の新タイプB符号、64QAM、並びに、図71の64QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図112のGWパターンは、例えば、図40のr=11/16のタイプB符号、64QAM、並びに、図71の64QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図113のGWパターンは、例えば、図42のr=13/16のタイプB符号、64QAM、並びに、図71の64QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図114のGWパターンは、例えば、図31のr=3/16のタイプA符号、256QAM、並びに、図64及び図65の256QAM-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図115のGWパターンは、例えば、図33のr=5/16のタイプA符号、256QAM、並びに、図64及び図65の256QAM-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図116のGWパターンは、例えば、図36のr=7/16のタイプB符号、256QAM、並びに、図64及び図65の256QAM-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図117のGWパターンは、例えば、図52のr=9/16の新タイプB符号、256QAM、並びに、図64及び図65の256QAM-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図118のGWパターンは、例えば、図40のr=11/16のタイプB符号、256QAM、並びに、図64及び図65の256QAM-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図119のGWパターンは、例えば、図42のr=13/16のタイプB符号、256QAM、並びに、図64及び図65の256QAM-UCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図120のGWパターンは、例えば、図30のr=2/16のタイプA符号、256QAM、並びに、図72及び図73の256QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図121のGWパターンは、例えば、図50のr=4/16の新タイプA符号、256QAM、並びに、図72及び図73の256QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図122のGWパターンは、例えば、図34のr=6/16のタイプA符号、256QAM、並びに、図72及び図73の256QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図123のGWパターンは、例えば、図37のr=8/16のタイプB符号、256QAM、並びに、図72及び図73の256QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図124のGWパターンは、例えば、図39のr=10/16のタイプB符号、256QAM、並びに、図72及び図73の256QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図125のGWパターンは、例えば、図41のr=12/16のタイプB符号、256QAM、並びに、図72及び図73の256QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 図126のGWパターンは、例えば、図43のr=14/16のタイプB符号、256QAM、並びに、図72及び図73の256QAM-2D-NUCの組み合わせに適用することにより、特に、良好なエラーレートを達成することができる。
 <GWパターンの他の例>
 図127は、符号長Nが17280ビットのLDPC符号に対するGWパターンの第46の例を示す図である。
 図127のGWパターン(以下、新GWパターンともいう)によれば、17280ビットのLDPC符号のビットグループ0ないし47の並びが、ビットグループ
 3 35 16 36 41 32 7 20 39 38 1 47 5 24 14 17 0 34 2 6 13 43 9 15 31 37 21 46 25 26 11 42 30 40 44 10 23 18 8 22 29 28 45 4 33 19 12 27
 の並びにインターリーブされる。
 新GWパターンは、例えば、図43の符号長Nが17280ビットのr=14/16のタイプB符号、16QAM、及び、図70の16QAM-2D-NUCの組み合わせに適用することにより、さらに、良好なエラーレートを達成することができる。
 すなわち、符号長Nが17280ビットのr=14/16のタイプB符号、及び、16QAM-2D-NUCの組み合わせについては、図100のGWパターン(以下、旧GWパターンともいう)を適用することにより、特に、AWGN通信路(チャネル)において良好なBERを確保することができるが、新GWパターンを適用することにより、さらに、レイリーフェージング通信路において良好なBERを確保することができる。
 図128は、符号長Nが17280ビットのr=14/16のタイプB符号、16QAM-2D-NUC、旧GWパターン及び新GWパターンの組み合わせのBERのシミュレーション結果を示す図である。
 図128において、横軸は、Es/N0(1シンボルあたりの信号電力対雑音電力比)を表し、縦軸は、BERを表す。
 図128は、図43の符号長Nが17280ビットのr=14/16のタイプB符号と、図70の16QAM-2D-NUCとの組み合わせに適用するGWパターンとして、図100の旧GWパターンを採用した場合のBER(点線)と、図127の新GWパターンを採用した場合のBER(実線)とのシミュレーション結果を示している。
 シミュレーションでは、LDPC符号の繰り返し復号回数(it)を50回とし、レイリーフェージング通信路を、通信路13として採用した。
 レイリーフェージング通信路は、マルチパス環境に類似するので、レイリーフェージング通信路でのBERが改善することにより、図7の伝送システムがマルチパス環境下で使用される場合の利得を改善することができる。
 図128によれば、旧GWパターンを適用した場合よりも、新GWパターンを適用した場合の方が、レイリーフェージング通信路において良好なBERが確保されること、すなわち、同一のEs/N0で、BERがより低くなることを確認することができる。
 図129は、符号長Nが17280ビットのr=14/16のタイプB符号、16QAM-2D-NUC、旧GWパターン及び新GWパターンの組み合わせの所要CNRのシミュレーション結果を示す図である。
 所要CNRとは、あるBERを達成することができる最小のCNRであり、ここでは、例えば、BER=1E-7を達成することができるCNRである。
 図129は、図43の符号長Nが17280ビットのr=14/16のタイプB符号と、図70の16QAM-2D-NUCとの組み合わせに、旧GWパターンを適用した場合の所要CNRと、新GWパターンを適用した場合の所要CNRとのシミュレーション結果を示している。
 図129によれば、旧GWパターンを適用した場合よりも、新GWパターンを適用した場合の方が、差分で示す0.146dBだけ、所要CNRを改善することができる。
 <受信装置12の構成例>
 図130は、図7の受信装置12の構成例を示すブロック図である。
 OFDM処理部(OFDM operation)151は、送信装置11(図7)からのOFDM信号を受信し、そのOFDM信号の信号処理を行う。OFDM処理部151が信号処理を行うことにより得られるデータは、フレーム管理部(Frame Management)152に供給される。
 フレーム管理部152は、OFDM処理部151から供給されるデータで構成されるフレームの処理(フレーム解釈)を行い、その結果得られる対象データの信号と、制御データの信号とを、周波数デインターリーバ(Frequency Deinterleaver)161と153とに、それぞれ供給する。
 周波数デインターリーバ153は、フレーム管理部152からのデータについて、シンボル単位での周波数デインターリーブを行い、デマッパ(Demapper)154に供給する。
 デマッパ154は、周波数デインターリーバ153からのデータ(コンスタレーション上のデータ)を、送信装置11側で行われる直交変調で定められる信号点の配置(コンスタレーション)に基づいてデマッピング(信号点配置復号)して直交復調し、その結果得られるデータ(LDPC符号(の尤度))を、LDPCデコーダ(LDPC decoder)155に供給する。
 LDPCデコーダ155(復号部)は、デマッパ154からのLDPC符号のLDPC復号を行い、その結果得られるLDPC対象データ(ここでは、BCH符号)を、BCHデコーダ(BCH decoder)156に供給する。
 BCHデコーダ156は、LDPCデコーダ155からのLDPC対象データのBCH復号を行い、その結果得られる制御データ(シグナリング)を出力する。
 一方、周波数デインターリーバ161は、フレーム管理部152からのデータについて、シンボル単位での周波数デインターリーブを行い、SISO/MISOデコーダ(SISO/MISO decoder)162に供給する。
 SISO/MISOデコーダ162は、周波数デインターリーバ161からのデータの時空間復号を行い、時間デインターリーバ(Time Deinterleaver)163に供給する。
 時間デインターリーバ163は、SISO/MISOデコーダ162からのデータについて、シンボル単位での時間デインターリーブを行い、デマッパ(Demapper)164に供給する。
 デマッパ164は、時間デインターリーバ163からのデータ(コンスタレーション上のデータ)を、送信装置11側で行われる直交変調で定められる信号点の配置(コンスタレーション)に基づいてデマッピング(信号点配置復号)して直交復調し、その結果得られるデータを、ビットデインターリーバ(Bit Deinterleaver)165に供給する。
 ビットデインターリーバ165は、デマッパ164からのデータのビットデインターリーブを行い、そのビットデインターリーブ後のデータであるLDPC符号(の尤度)を、LDPCデコーダ166に供給する。
 LDPCデコーダ166は、ビットデインターリーバ165からのLDPC符号のLDPC復号を行い、その結果得られるLDPC対象データ(ここでは、BCH符号)を、BCHデコーダ167に供給する。
 BCHデコーダ167は、LDPCデコーダ155からのLDPC対象データのBCH復号を行い、その結果得られるデータを、BBデスクランブラ(BB DeScrambler)168に供給する。
 BBデスクランブラ168は、BCHデコーダ167からのデータに、BBデスクランブルを施し、その結果得られるデータを、ヌル削除部(Null Deletion)169に供給する。
 ヌル削除部169は、BBデスクランブラ168からのデータから、図8のパダー112で挿入されたNullを削除し、デマルチプレクサ(Demultiplexer)170に供給する。
 デマルチプレクサ170は、ヌル削除部169からのデータに多重化されている1以上のストリーム(対象データ)それぞれを分離し、必要な処理を施して、アウトプットストリーム(Output stream)として出力する。
 なお、受信装置12は、図130に図示したブロックの一部を設けずに構成することができる。すなわち、例えば、送信装置11(図8)を、時間インターリーバ118、SISO/MISOエンコーダ119、周波数インターリーバ120、及び、周波数インターリーバ124を設けずに構成する場合には、受信装置12は、送信装置11の時間インターリーバ118、SISO/MISOエンコーダ119、周波数インターリーバ120、及び、周波数インターリーバ124にそれぞれ対応するブロックである時間デインターリーバ163、SISO/MISOデコーダ162、周波数デインターリーバ161、及び、周波数デインターリーバ153を設けずに構成することができる。
 <ビットデインターリーバ165の構成例>
 図131は、図130のビットデインターリーバ165の構成例を示すブロック図である。
 ビットデインターリーバ165は、ブロックデインターリーバ54、及びグループワイズデインターリーバ55から構成され、デマッパ164(図130)からのデータであるシンボルのシンボルビットの(ビット)デインターリーブを行う。
 すなわち、ブロックデインターリーバ54は、デマッパ164からのシンボルのシンボルビットを対象として、図9のブロックインターリーバ25が行うブロックインターリーブに対応するブロックデインターリーブ(ブロックインターリーブの逆の処理)、すなわち、ブロックインターリーブによって並び替えられたLDPC符号の符号ビット(の尤度)の位置を元の位置に戻すブロックデインターリーブを行い、その結果得られるLDPC符号を、グループワイズデインターリーバ55に供給する。
 グループワイズデインターリーバ55は、ブロックデインターリーバ54からのLDPC符号を対象として、図9のグループワイズインターリーバ24が行うグループワイズインターリーブに対応するグループワイズデインターリーブ(グループワイズインターリーブの逆の処理)、すなわち、例えば、図81で説明したグループワイズインターリーブによってビットグループ単位で並びが変更されたLDPC符号の符号ビットを、ビットグループ単位で並び替えることにより、元の並びに戻すグループワイズデインターリーブを行う。
 ここで、デマッパ164から、ビットデインターリーバ165に供給されるLDPC符号に、パリティインターリーブ、グループワイズインターリーブ、及びブロックインターリーブが施されている場合、ビットデインターリーバ165では、パリティインターリーブに対応するパリティデインターリーブ(パリティインターリーブの逆の処理、すなわち、パリティインターリーブによって並びが変更されたLDPC符号の符号ビットを、元の並びに戻すパリティデインターリーブ)、ブロックインターリーブに対応するブロックデインターリーブ、及び、グループワイズインターリーブに対応するグループワイズデインターリーブのすべてを行うことができる。
 但し、図131のビットデインターリーバ165では、ブロックインターリーブに対応するブロックデインターリーブを行うブロックデインターリーバ54、及び、グループワイズインターリーブに対応するグループワイズデインターリーブを行うグループワイズデインターリーバ55は、設けられているが、パリティインターリーブに対応するパリティデインターリーブを行うブロックは、設けられておらず、パリティデインターリーブは、行われない。
 したがって、ビットデインターリーバ165(のグループワイズデインターリーバ55)から、LDPCデコーダ166には、ブロックデインターリーブ、及び、グループワイズデインターリーブが行われ、かつ、パリティデインターリーブが行われていないLDPC符号が供給される。
 LDPCデコーダ166は、ビットデインターリーバ165からのLDPC符号のLDPC復号を、図8のLDPCエンコーダ115がLDPC符号化に用いたタイプB方式の検査行列Hに対して、パリティインターリーブに相当する列置換を少なくとも行って得られる変換検査行列や、タイプA方式の検査行列(図27)に行置換を行って得られる変換検査行列(図29)に基づいて行い、その結果得られるデータを、LDPC対象データの復号結果として出力する。
 図132は、図131のデマッパ164、ビットデインターリーバ165、及び、LDPCデコーダ166が行う処理を説明するフローチャートである。
 ステップS111において、デマッパ164は、時間デインターリーバ163からのデータ(信号点にマッピングされたコンスタレーション上のデータ)をデマッピングして直交復調し、ビットデインターリーバ165に供給して、処理は、ステップS112に進む。
 ステップS112では、ビットデインターリーバ165は、デマッパ164からのデータのデインターリーブ(ビットデインターリーブ)を行って、処理は、ステップS113に進む。
 すなわち、ステップS112では、ビットデインターリーバ165において、ブロックデインターリーバ54が、デマッパ164からのデータ(シンボル)を対象として、ブロックデインターリーブを行い、その結果得られるLDPC符号の符号ビットを、グループワイズデインターリーバ55に供給する。
 グループワイズデインターリーバ55は、ブロックデインターリーバ54からのLDPC符号を対象として、グループワイズデインターリーブを行い、その結果得られるLDPC符号(の尤度)を、LDPCデコーダ166に供給する。
 ステップS113では、LDPCデコーダ166が、グループワイズデインターリーバ55からのLDPC符号のLDPC復号を、図8のLDPCエンコーダ115がLDPC符号化に用いた検査行列Hに基づいて行い、すなわち、例えば、検査行列Hから得られる変換検査行列に基づいて行い、その結果得られるデータを、LDPC対象データの復号結果として、BCHデコーダ167に出力する。
 なお、図131でも、図9の場合と同様に、説明の便宜のため、ブロックデインターリーブを行うブロックデインターリーバ54と、グループワイズデインターリーブを行うグループワイズデインターリーバ55とを、別個に構成するようにしたが、ブロックデインターリーバ54とグループワイズデインターリーバ55とは、一体的に構成することができる。
 また、送信装置11において、グループワイズインターリーブを行わない場合には、受信装置12は、グループワイズデインターリーブを行うグループワイズデインターリーバ55を設けずに構成することができる。
 <LDPC復号>
 図130のLDPCデコーダ166で行われるLDPC復号について、さらに説明する。
 図130のLDPCデコーダ166では、上述したように、グループワイズデインターリーバ55からの、ブロックデインターリーブ、及び、グループワイズデインターリーブが行われ、かつ、パリティデインターリーブが行われていないLDPC符号のLDPC復号が、図8のLDPCエンコーダ115がLDPC符号化に用いたタイプB方式の検査行列Hに対して、パリティインターリーブに相当する列置換を少なくとも行って得られる変換検査行列や、タイプA方式の検査行列(図27)に行置換を行って得られる変換検査行列(図29)を用いて行われる。
 ここで、LDPC復号を、変換検査行列を用いて行うことで、回路規模を抑制しつつ、動作周波数を十分実現可能な範囲に抑えることが可能となるLDPC復号が先に提案されている(例えば、特許第4224777号を参照)。
 そこで、まず、図133ないし図136を参照して、先に提案されている、変換検査行列を用いたLDPC復号について説明する。
 図133は、符号長Nが90で、符号化率が2/3のLDPC符号の検査行列Hの例を示す図である。
 なお、図133では(後述する図134及び図135においても同様)、0を、ピリオド(.)で表現している。
 図133の検査行列Hでは、パリティ行列が階段構造になっている。
 図134は、図133の検査行列Hに、式(11)の行置換と、式(12)の列置換を施して得られる検査行列H'を示す図である。
 行置換:6s+t+1行目→5t+s+1行目
                        ・・・(11)
 列置換:6x+y+61列目→5y+x+61列目
                        ・・・(12)
 但し、式(11)及び(12)において、s,t,x,yは、それぞれ、0≦s<5,0≦t<6,0≦x<5,0≦y<6の範囲の整数である。
 式(11)の行置換によれば、6で割って余りが1になる1,7,13,19,25行目を、それぞれ、1,2,3,4,5行目に、6で割って余りが2になる2,8,14,20,26行目を、それぞれ、6,7,8,9,10行目に、という具合に置換が行われる。
 また、式(12)の列置換によれば、61列目以降(パリティ行列)に対して、6で割って余りが1になる61,67,73,79,85列目を、それぞれ、61,62,63,64,65列目に、6で割って余りが2になる62,68,74,80,86列目を、それぞれ、66,67,68,69,70列目に、という具合に置換が行われる。
 このようにして、図133の検査行列Hに対して、行と列の置換を行って得られた行列(matrix)が、図134の検査行列H'である。
 ここで、検査行列Hの行置換を行っても、LDPC符号の符号ビットの並びには影響しない。
 また、式(12)の列置換は、上述の、K+qx+y+1番目の符号ビットを、K+Py+x+1番目の符号ビットの位置にインターリーブするパリティインターリーブの、情報長Kを60と、パラレルファクタPを5と、パリティ長M(ここでは、30)の約数q(=M/P)を6と、それぞれしたときのパリティインターリーブに相当する。
 したがって、図134の検査行列H'は、図133の検査行列(以下、適宜、元の検査行列という)Hの、K+qx+y+1番目の列を、K+Py+x+1番目の列に置換する列置換を、少なくとも行って得られる変換検査行列である。
 図134の変換検査行列H'に対して、図133の元の検査行列HのLDPC符号に、式(12)と同一の置換を行ったものを乗じると、0ベクトルが出力される。すなわち、元の検査行列HのLDPC符号(1符号語)としての行ベクトルcに、式(12)の列置換を施して得られる行ベクトルをc'と表すこととすると、検査行列の性質から、HcTは、0ベクトルとなるから、H'c'Tも、当然、0ベクトルとなる。
 以上から、図134の変換検査行列H'は、元の検査行列HのLDPC符号cに、式(12)の列置換を行って得られるLDPC符号c'の検査行列になっている。
 したがって、元の検査行列HのLDPC符号cに、式(12)の列置換を行い、その列置換後のLDPC符号c'を、図134の変換検査行列H'を用いて復号(LDPC復号)し、その復号結果に、式(12)の列置換の逆置換を施すことで、元の検査行列HのLDPC符号を、その検査行列Hを用いて復号する場合と同様の復号結果を得ることができる。
 図135は、5×5の行列の単位に間隔を空けた、図134の変換検査行列H'を示す図である。
 図135においては、変換検査行列H'は、パラレルファクタPである5×5(=P×P)の単位行列、その単位行列の1のうち1個以上が0になった行列(以下、適宜、準単位行列という)、単位行列または準単位行列をサイクリックシフト(cyclic shift)した行列(以下、適宜、シフト行列という)、単位行列、準単位行列、またはシフト行列のうちの2以上の和(以下、適宜、和行列という)、5×5の0行列の組合わせで表されている。
 図135の変換検査行列H'は、5×5の単位行列、準単位行列、シフト行列、和行列、0行列で構成されているということができる。そこで、変換検査行列H'を構成する、これらの5×5の行列(単位行列、準単位行列、シフト行列、和行列、0行列)を、以下、適宜、構成行列という。
 P×Pの構成行列で表される検査行列のLDPC符号の復号には、チェックノード演算、及びバリアブルノード演算を、P個同時に行うアーキテクチャ(architecture)を用いることができる。
 図136は、そのような復号を行う復号装置の構成例を示すブロック図である。
 すなわち、図136は、図133の元の検査行列Hに対して、少なくとも、式(12)の列置換を行って得られる図135の変換検査行列H'を用いて、LDPC符号の復号を行う復号装置の構成例を示している。
 図136の復号装置は、6つのFIFO3001ないし3006からなる枝データ格納用メモリ300、FIFO3001ないし3006を選択するセレクタ301、チェックノード計算部302、2つのサイクリックシフト回路303及び308、18個のFIFO3041ないし30418からなる枝データ格納用メモリ304、FIFO3041ないし30418を選択するセレクタ305、受信データを格納する受信データ用メモリ306、バリアブルノード計算部307、復号語計算部309、受信データ並べ替え部310、復号データ並べ替え部311からなる。
 まず、枝データ格納用メモリ300と304へのデータの格納方法について説明する。
 枝データ格納用メモリ300は、図135の変換検査行列H'の行数30を構成行列の行数(パラレルファクタP)5で除算した数である6つのFIFO3001ないし3006から構成されている。FIFO300y(y=1,2,・・・,6)は、複数の段数の記憶領域からなり、各段の記憶領域については、構成行列の行数及び列数(パラレルファクタP)である5つの枝に対応するメッセージを同時に読み出すこと、及び、書き込むことができるようになっている。また、FIFO300yの記憶領域の段数は、図135の変換検査行列の行方向の1の数(ハミング重み)の最大数である9になっている。
 FIFO3001には、図135の変換検査行列H'の第1行目から第5行目までの1の位置に対応するデータ(バリアブルノードからのメッセージvi)が、各行共に横方向に詰めた形に(0を無視した形で)格納される。すなわち、第j行第i列を、(j,i)と表すこととすると、FIFO3001の第1段の記憶領域には、変換検査行列H'の(1,1)から(5,5)の5×5の単位行列の1の位置に対応するデータが格納される。第2段の記憶領域には、変換検査行列H'の(1,21)から(5,25)のシフト行列(5×5の単位行列を右方向に3つだけサイクリックシフトしたシフト行列)の1の位置に対応するデータが格納される。第3から第8段の記憶領域も同様に、変換検査行列H'と対応付けてデータが格納される。そして、第9段の記憶領域には、変換検査行列H'の(1,86)から(5,90)のシフト行列(5×5の単位行列のうちの1行目の1を0に置き換えて1つだけ左にサイクリックシフトしたシフト行列)の1の位置に対応するデータが格納される。
 FIFO3002には、図135の変換検査行列H'の第6行目から第10行目までの1の位置に対応するデータが格納される。すなわち、FIFO3002の第1段の記憶領域には、変換検査行列H'の(6,1)から(10,5)の和行列(5×5の単位行列を右に1つだけサイクリックシフトした第1のシフト行列と、右に2つだけサイクリックシフトした第2のシフト行列の和である和行列)を構成する第1のシフト行列の1の位置に対応するデータが格納される。また、第2段の記憶領域には、変換検査行列H'の(6,1)から(10,5)の和行列を構成する第2のシフト行列の1の位置に対応するデータが格納される。
 すなわち、重みが2以上の構成行列については、その構成行列を、重みが1であるP×Pの単位行列、単位行列の要素の1のうち1個以上が0になった準単位行列、又は単位行列もしくは準単位行列をサイクリックシフトしたシフト行列のうちの複数の和の形で表現したときの、その重みが1の単位行列、準単位行列、又はシフト行列の1の位置に対応するデータ(単位行列、準単位行列、又はシフト行列に属する枝に対応するメッセージ)は、同一アドレス(FIFO3001ないし3006のうちの同一のFIFO)に格納される。
 以下、第3から第9段の記憶領域についても、変換検査行列H'に対応付けてデータが格納される。
 FIFO3003ないし3006も同様に変換検査行列H'に対応付けてデータを格納する。
 枝データ格納用メモリ304は、変換検査行列H'の列数90を、構成行列の列数(パラレルファクタP)である5で割った18個のFIFO3041ないし30418から構成されている。FIFO304x(x=1,2,・・・,18)は、複数の段数の記憶領域からなり、各段の記憶領域については、構成行列の行数及び列数(パラレルファクタP)である5つの枝に対応するメッセージを同時に読み出すこと、及び、書き込むことができるようになっている。
 FIFO3041には、図135の変換検査行列H'の第1列目から第5列目までの1の位置に対応するデータ(チェックノードからのメッセージuj)が、各列共に縦方向に詰めた形に(0を無視した形で)格納される。すなわち、FIFO3041の第1段の記憶領域には、変換検査行列H'の(1,1)から(5,5)の5×5の単位行列の1の位置に対応するデータが格納される。第2段の記憶領域には、変換検査行列H'の(6,1)から(10,5)の和行列(5×5の単位行列を右に1つだけサイクリックシフトした第1のシフト行列と、右に2つだけサイクリックシフトした第2のシフト行列との和である和行列)を構成する第1のシフト行列の1の位置に対応するデータが格納される。また、第3段の記憶領域には、変換検査行列H'の(6,1)から(10,5)の和行列を構成する第2のシフト行列の1の位置に対応するデータが格納される。
 すなわち、重みが2以上の構成行列については、その構成行列を、重みが1であるP×Pの単位行列、単位行列の要素の1のうち1個以上が0になった準単位行列、又は単位行列もしくは準単位行列をサイクリックシフトしたシフト行列のうちの複数の和の形で表現したときの、その重みが1の単位行列、準単位行列、又はシフト行列の1の位置に対応するデータ(単位行列、準単位行列、又はシフト行列に属する枝に対応するメッセージ)は、同一アドレス(FIFO3041ないし30418のうちの同一のFIFO)に格納される。
 以下、第4及び第5段の記憶領域についても、変換検査行列H'に対応付けて、データが格納される。このFIFO3041の記憶領域の段数は、変換検査行列H'の第1列から第5列における行方向の1の数(ハミング重み)の最大数である5になっている。
 FIFO3042と3043も同様に変換検査行列H'に対応付けてデータを格納し、それぞれの長さ(段数)は、5である。FIFO3044ないし30412も同様に、変換検査行列H'に対応付けてデータを格納し、それぞれの長さは3である。FIFO30413ないし30418も同様に、変換検査行列H'に対応付けてデータを格納し、それぞれの長さは2である。
 次に、図136の復号装置の動作について説明する。
 枝データ格納用メモリ300は、6つのFIFO3001ないし3006からなり、前段のサイクリックシフト回路308から供給される5つのメッセージD311が、図135の変換検査行列H'のどの行に属するかの情報(Matrixデータ)D312に従って、データを格納するFIFOを、FIFO3001ないし3006の中から選び、選んだFIFOに5つのメッセージD311をまとめて順番に格納していく。また、枝データ格納用メモリ300は、データを読み出す際には、FIFO3001から5つのメッセージD3001を順番に読み出し、次段のセレクタ301に供給する。枝データ格納用メモリ300は、FIFO3001からのメッセージの読み出しの終了後、FIFO3002ないし3006からも、順番に、メッセージを読み出し、セレクタ301に供給する。
 セレクタ301は、セレクト信号D301に従って、FIFO3001ないし3006のうちの、現在データが読み出されているFIFOからの5つのメッセージを選択し、メッセージD302として、チェックノード計算部302に供給する。
 チェックノード計算部302は、5つのチェックノード計算器3021ないし3025からなり、セレクタ301を通して供給されるメッセージD302(D3021ないしD3025)(式(7)のメッセージvi)を用いて、式(7)に従ってチェックノード演算を行い、そのチェックノード演算の結果得られる5つのメッセージD303(D3031ないしD3035)(式(7)のメッセージuj)をサイクリックシフト回路303に供給する。
 サイクリックシフト回路303は、チェックノード計算部302で求められた5つのメッセージD3031ないしD3035を、対応する枝が変換検査行列H'において元となる単位行列(又は準単位行列)を幾つサイクリックシフトしたものであるかの情報を元にサイクリックシフトし、その結果をメッセージD304として、枝データ格納用メモリ304に供給する。
 枝データ格納用メモリ304は、18個のFIFO3041ないし30418からなり、前段のサイクリックシフト回路303から供給される5つのメッセージD304が変換検査行列H'のどの行に属するかの情報(Matrixデータ)D305に従って、データを格納するFIFOを、FIFO3041ないし30418の中から選び、選んだFIFOに5つのメッセージD304をまとめて順番に格納していく。また、枝データ格納用メモリ304は、データを読み出す際には、FIFO3041から5つのメッセージD3061を順番に読み出し、次段のセレクタ305に供給する。枝データ格納用メモリ304は、FIFO3041からのデータの読み出しの終了後、FIFO3042ないし30418からも、順番に、メッセージを読み出し、セレクタ305に供給する。
 セレクタ305は、セレクト信号D307に従って、FIFO3041ないし30418のうちの、現在データが読み出されているFIFOからの5つのメッセージを選択し、メッセージD308として、バリアブルノード計算部307と復号語計算部309に供給する。
 一方、受信データ並べ替え部310は、通信路13を通して受信した、図133の検査行列Hに対応するLDPC符号D313を、式(12)の列置換を行うことにより並べ替え、受信データD314として、受信データ用メモリ306に供給する。受信データ用メモリ306は、受信データ並べ替え部310から供給される受信データD314から、受信LLR(対数尤度比)を計算して記憶し、その受信LLRを5個ずつまとめて受信値D309として、バリアブルノード計算部307と復号語計算部309に供給する。なお、受信データD314が、既に、受信LLRである場合には、受信データ用メモリ306において受信LLRを計算する必要はない。
 バリアブルノード計算部307は、5つのバリアブルノード計算器3071ないし3075からなり、セレクタ305を通して供給されるメッセージD308(D3081ないしD3085)(式(1)のメッセージuj)と、受信データ用メモリ306から供給される5つの受信値D309(式(1)の受信値u0i)を用いて、式(1)に従ってバリアブルノード演算を行い、その演算の結果得られるメッセージD310(D3101ないしD3105)(式(1)のメッセージvi)を、サイクリックシフト回路308に供給する。
 サイクリックシフト回路308は、バリアブルノード計算部307で計算されたメッセージD3101ないしD3105を、対応する枝が変換検査行列H'において元となる単位行列(又は準単位行列)を幾つサイクリックシフトしたものであるかの情報を元にサイクリックシフトし、その結果をメッセージD311として、枝データ格納用メモリ300に供給する。
 以上の動作を1巡することで、LDPC符号の1回の復号(バリアブルノード演算及びチェックノード演算)を行うことができる。図136の復号装置は、所定の回数だけLDPC符号を復号した後、復号語計算部309及び復号データ並べ替え部311において、最終的な復号結果を求めて出力する。
 すなわち、復号語計算部309は、5つの復号語計算器3091ないし3095からなり、セレクタ305が出力する5つのメッセージD308(D3081ないしD3085)(式(5)のメッセージuj)と、受信データ用メモリ306から供給される5つの受信値D309(式(5)の受信値u0i)を用い、複数回の復号の最終段として、式(5)に基づいて、復号結果(復号語)を計算して、その結果得られる復号データD315を、復号データ並べ替え部311に供給する。
 復号データ並べ替え部311は、復号語計算部309から供給される復号データD315を対象に、式(12)の列置換の逆置換を行うことにより、その順序を並べ替え、最終的な復号結果D316として出力する。
 以上のように、検査行列(元の検査行列)に対して、行置換と列置換のうちの一方又は両方を施し、P×Pの単位行列、その要素の1のうち1個以上が0になった準単位行列、単位行列もしくは準単位行列をサイクリックシフトしたシフト行列、単位行列、準単位行列、もしくはシフト行列の複数の和である和行列、P×Pの0行列の組合せ、つまり、構成行列の組み合わせで表すことができる検査行列(変換検査行列)に変換することで、LDPC符号の復号を、チェックノード演算とバリアブルノード演算を、検査行列の行数や列数より小さい数のP個同時に行うアーキテクチャを採用することが可能となる。ノード演算(チェックノード演算とバリアブルノード演算)を、検査行列の行数や列数より小さい数のP個同時に行うアーキテクチャを採用する場合、ノード演算を、検査行列の行数や列数に等しい数だけ同時に行う場合に比較して、動作周波数を実現可能な範囲に抑えて、多数の繰り返し復号を行うことができる。
 図130の受信装置12を構成するLDPCデコーダ166は、例えば、図136の復号装置と同様に、チェックノード演算とバリアブルノード演算をP個同時に行うことで、LDPC復号を行うようになっている。
 すなわち、いま、説明を簡単にするために、図8の送信装置11を構成するLDPCエンコーダ115が出力するLDPC符号の検査行列が、例えば、図133に示した、パリティ行列が階段構造になっている検査行列Hであるとすると、送信装置11のパリティインターリーバ23では、K+qx+y+1番目の符号ビットを、K+Py+x+1番目の符号ビットの位置にインターリーブするパリティインターリーブが、情報長Kを60に、パラレルファクタPを5に、パリティ長Mの約数q(=M/P)を6に、それぞれ設定して行われる。
 このパリティインターリーブは、上述したように、式(12)の列置換に相当するから、LDPCデコーダ166では、式(12)の列置換を行う必要がない。
 このため、図130の受信装置12では、上述したように、グループワイズデインターリーバ55から、LDPCデコーダ166に対して、パリティデインターリーブが行われていないLDPC符号、つまり、式(12)の列置換が行われた状態のLDPC符号が供給され、LDPCデコーダ166では、式(12)の列置換を行わないことを除けば、図136の復号装置と同様の処理が行われる。
 すなわち、図137は、図130のLDPCデコーダ166の構成例を示す図である。
 図137において、LDPCデコーダ166は、図136の受信データ並べ替え部310が設けられていないことを除けば、図136の復号装置と同様に構成されており、式(12)の列置換が行われないことを除いて、図136の復号装置と同様の処理を行うため、その説明は省略する。
 以上のように、LDPCデコーダ166は、受信データ並べ替え部310を設けずに構成することができるので、図136の復号装置よりも、規模を削減することができる。
 なお、図133ないし図137では、説明を簡単にするために、LDPC符号の符号長Nを90と、情報長Kを60と、パラレルファクタ(構成行列の行数及び列数)Pを5と、パリティ長Mの約数q(=M/P)を6と、それぞれしたが、符号長N、情報長K、パラレルファクタP、及び約数q(=M/P)のそれぞれは、上述した値に限定されるものではない。
 すなわち、図8の送信装置11において、LDPCエンコーダ115が出力するのは、例えば、符号長Nを64800や、16200、69120、17280等と、情報長KをN-Pq(=N-M)と、パラレルファクタPを360と、約数qをM/Pと、それぞれするLDPC符号であるが、図137のLDPCデコーダ166は、そのようなLDPC符号を対象として、チェックノード演算とバリアブルノード演算をP個同時に行うことで、LDPC復号を行う場合に適用可能である。
 また、LDPCデコーダ166でのLDPC符号の復号後、その復号結果のパリティの部分が不要であり、復号結果の情報ビットだけを出力する場合には、復号データ並べ替え部311なしで、LDPCデコーダ166を構成することができる。
 <ブロックデインターリーバ54の構成例>
 図138は、図131のブロックデインターリーバ54で行われるブロックデインターリーブを説明する図である。
 ブロックデインターリーブでは、図79で説明したブロックインターリーバ25のブロックインターリーブと逆の処理が行われることで、LDPC符号の符号ビットの並びが元の並びに戻される(復元される)。
 すなわち、ブロックデインターリーブでは、例えば、ブロックインターリーブと同様に、シンボルのビット数mに等しいm個のカラムに対して、LDPC符号を書き込んで読み出すことにより、LDPC符号の符号ビットの並びが元の並びに戻される。
 但し、ブロックデインターリーブでは、LDPC符号の書き込みは、ブロックインターリーブにおいてLDPC符号を読み出す順に行われる。さらに、ブロックデインターリーブでは、LDPC符号の読み出しは、ブロックインターリーブにおいてLDPC符号を書き込む順に行われる。
 すなわち、LDPC符号のパート1については、図138に示すように、m個すべてのカラムの1行目から、ロウ方向に、mビットのシンボル単位になっているLDPC符号のパート1が書き込まれる。すなわち、mビットのシンボルとなっているLDPC符号の符号ビットが、ロウ方向に書き込まれる。
 mビット単位でのパート1の書き込みは、m個のカラムの下の行に向かって順次行われ、パート1の書き込みが終了すると、図138に示すように、カラムの1番目のカラムユニットの上から下方向に、パート1を読み出すことが、左から右方向のカラムに向かって行われる。
 右端のカラムまでの読み出しが終了すると、図138に示すように、左端のカラムに戻り、カラムの2番目のカラムユニットの上から下方向にパート1を読み出すことが、左から右方向のカラムに向かって行われ、以下、同様にして、1符号語のLDPC符号のパート1の読み出しが行われる。
 1符号語のLDPC符号のパート1の読み出しが終了すると、mビットのシンボル単位になっているパート2については、そのmビットのシンボル単位が、パート1の後に順次連結され、これにより、シンボル単位のLDPC符号は、元の1符号語のLDPC符号(ブロックインターリーブ前のLDCP符号)の符号ビットの並びに戻される。
 <ビットデインターリーバ165の他の構成例>
 図139は、図130のビットデインターリーバ165の他の構成例を示すブロック図である。
 なお、図中、図131の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
 すなわち、図139のビットデインターリーバ165は、パリティデインターリーバ1011が新たに設けられている他は、図131の場合と同様に構成されている。
 図139では、ビットデインターリーバ165は、ブロックデインターリーバ54、グループワイズデインターリーバ55、及び、パリティデインターリーバ1011から構成され、デマッパ164からのLDPC符号の符号ビットのビットデインターリーブを行う。
 すなわち、ブロックデインターリーバ54は、デマッパ164からのLDPC符号を対象として、送信装置11のブロックインターリーバ25が行うブロックインターリーブに対応するブロックデインターリーブ(ブロックインターリーブの逆の処理)、すなわち、ブロックインターリーブによって入れ替えられた符号ビットの位置を元の位置に戻すブロックデインターリーブを行い、その結果得られるLDPC符号を、グループワイズデインターリーバ55に供給する。
 グループワイズデインターリーバ55は、ブロックデインターリーバ54からのLDPC符号を対象として、送信装置11のグループワイズインターリーバ24が行う並び替え処理としてのグループワイズインターリーブに対応するグループワイズデインターリーブを行う。
 グループワイズデインターリーブの結果得られるLDPC符号は、グループワイズデインターリーバ55からパリティデインターリーバ1011に供給される。
 パリティデインターリーバ1011は、グループワイズデインターリーバ55でのグループワイズデインターリーブ後の符号ビットを対象として、送信装置11のパリティインターリーバ23が行うパリティインターリーブに対応するパリティデインターリーブ(パリティインターリーブの逆の処理)、すなわち、パリティインターリーブによって並びが変更されたLDPC符号の符号ビットを、元の並びに戻すパリティデインターリーブを行う。
 パリティデインターリーブの結果得られるLDPC符号は、パリティデインターリーバ1011からLDPCデコーダ166に供給される。
 したがって、図139のビットデインターリーバ165では、LDPCデコーダ166には、ブロックデインターリーブ、グループワイズデインターリーブ、及び、パリティデインターリーブが行われたLDPC符号、すなわち、検査行列Hに従ったLDPC符号化によって得られるLDPC符号が供給される。
 LDPCデコーダ166は、ビットデインターリーバ165からのLDPC符号のLDPC復号を、送信装置11のLDPCエンコーダ115がLDPC符号化に用いた検査行列Hを用いて行う。
 すなわち、LDPCデコーダ166は、タイプB方式については、ビットデインターリーバ165からのLDPC符号のLDPC復号を、送信装置11のLDPCエンコーダ115がLDPC符号化に用いた(タイプB方式の)検査行列Hそのものを用いて、又は、その検査行列Hに対して、パリティインターリーブに相当する列置換を少なくとも行って得られる変換検査行列を用いて行う。また、LDPCデコーダ166は、タイプA方式については、ビットデインターリーバ165からのLDPC符号のLDPC復号を、送信装置11のLDPCエンコーダ115がLDPC符号化に用いた(タイプA方式の)検査行列(図27)に列置換を施して得られる検査行列(図28)、又は、LDPC符号化に用いた検査行列(図27)に行置換を施して得られる変換検査行列(図29)を用いて行う。
 ここで、図139では、ビットデインターリーバ165(のパリティデインターリーバ1011)からLDPCデコーダ166に対して、検査行列Hに従ったLDPC符号化によって得られるLDPC符号が供給されるため、そのLDPC符号のLDPC復号を、送信装置11のLDPCエンコーダ115がLDPC符号化に用いたタイプB方式の検査行列Hそのもの、又は、LDPC符号化に用いたタイプA方式の検査行列(図27)に列置換を施して得られる検査行列(図28)を用いて行う場合には、LDPCデコーダ166は、例えば、メッセージ(チェックノードメッセージ、バリバブルノードメッセージ)の演算を1個のノードずつ順次行うフルシリアルデコーディング(full serial decoding)方式によるLDPC復号を行う復号装置や、メッセージの演算をすべてのノードについて同時(並列)に行うフルパラレルデコーディング(full parallel decoding)方式によるLDPC復号を行う復号装置で構成することができる。
 また、LDPCデコーダ166において、LDPC符号のLDPC復号を、送信装置11のLDPCエンコーダ115がLDPC符号化に用いたタイプB方式の検査行列Hに対して、パリティインターリーブに相当する列置換を少なくとも行って得られる変換検査行列、又は、LDPC符号化に用いたタイプA方式の検査行列(図27)に行置換を施して得られる変換検査行列(図29)を用いて行う場合には、LDPCデコーダ166は、チェックノード演算、及びバリアブルノード演算を、P(又はPの1以外の約数)個同時に行うアーキテクチャの復号装置であって、変換検査行列を得るための列置換(パリティインターリーブ)と同様の列置換を、LDPC符号に施すことにより、そのLDPC符号の符号ビットを並び替える受信データ並べ替え部310を有する復号装置(図136)で構成することができる。
 なお、図139では、説明の便宜のため、ブロックデインターリーブを行うブロックデインターリーバ54、グループワイズデインターリーブを行うグループワイズデインターリーバ55、及び、パリティデインターリーブを行うパリティデインターリーバ1011それぞれを、別個に構成するようにしたが、ブロックデインターリーバ54、グループワイズデインターリーバ55、及び、パリティデインターリーバ1011の2以上は、送信装置11のパリティインターリーバ23、グループワイズインターリーバ24、及び、ブロックインターリーバ25と同様に、一体的に構成することができる。
 <受信システムの構成例>
 図140は、受信装置12を適用可能な受信システムの第1の構成例を示すブロック図である。
 図140において、受信システムは、取得部1101、伝送路復号処理部1102、及び、情報源復号処理部1103から構成される。
 取得部1101は、番組の画像データや音声データ等のLDPC対象データを、少なくともLDPC符号化することで得られるLDPC符号を含む信号を、例えば、地上ディジタル放送、衛星ディジタル放送、CATV網、インターネットその他のネットワーク等の、図示せぬ伝送路(通信路)を介して取得し、伝送路復号処理部1102に供給する。
 ここで、取得部1101が取得する信号が、例えば、放送局から、地上波や、衛星波、CATV(Cable Television)網等を介して放送されてくる場合には、取得部1101は、チューナやSTB(Set Top Box)等で構成される。また、取得部1101が取得する信号が、例えば、webサーバから、IPTV(Internet Protocol Television)のようにマルチキャストで送信されてくる場合には、取得部1101は、例えば、NIC(Network Interface Card)等のネットワークI/F(Inter face)で構成される。
 伝送路復号処理部1102は、受信装置12に相当する。伝送路復号処理部1102は、取得部1101が伝送路を介して取得した信号に対して、伝送路で生じる誤りを訂正する処理を少なくとも含む伝送路復号処理を施し、その結果得られる信号を、情報源復号処理部1103に供給する。
 すなわち、取得部1101が伝送路を介して取得した信号は、伝送路で生じる誤りを訂正するための誤り訂正符号化を、少なくとも行うことで得られた信号であり、伝送路復号処理部1102は、そのような信号に対して、例えば、誤り訂正処理等の伝送路復号処理を施す。
 ここで、誤り訂正符号化としては、例えば、LDPC符号化や、BCH符号化等がある。ここでは、誤り訂正符号化として、少なくとも、LDPC符号化が行われている。
 また、伝送路復号処理には、変調信号の復調等が含まれることがある。
 情報源復号処理部1103は、伝送路復号処理が施された信号に対して、圧縮された情報を元の情報に伸張する処理を少なくとも含む情報源復号処理を施す。
 すなわち、取得部1101が伝送路を介して取得した信号には、情報としての画像や音声等のデータ量を少なくするために、情報を圧縮する圧縮符号化が施されていることがあり、その場合、情報源復号処理部1103は、伝送路復号処理が施された信号に対して、圧縮された情報を元の情報に伸張する処理(伸張処理)等の情報源復号処理を施す。
 なお、取得部1101が伝送路を介して取得した信号に、圧縮符号化が施されていない場合には、情報源復号処理部1103では、圧縮された情報を元の情報に伸張する処理は行われない。
 ここで、伸張処理としては、例えば、MPEGデコード等がある。また、伝送路復号処理には、伸張処理の他、デスクランブル等が含まれることがある。
 以上のように構成される受信システムでは、取得部1101において、例えば、画像や音声等のデータに対して、MPEG符号化等の圧縮符号化が施され、さらに、LDPC符号化等の誤り訂正符号化が施された信号が、伝送路を介して取得され、伝送路復号処理部1102に供給される。
 伝送路復号処理部1102では、取得部1101からの信号に対して、例えば、受信装置12が行うのと同様の処理等が、伝送路復号処理として施され、その結果得られる信号が、情報源復号処理部1103に供給される。
 情報源復号処理部1103では、伝送路復号処理部1102からの信号に対して、MPEGデコード等の情報源復号処理が施され、その結果得られる画像、又は音声が出力される。
 以上のような図140の受信システムは、例えば、ディジタル放送としてのテレビジョン放送を受信するテレビチューナ等に適用することができる。
 なお、取得部1101、伝送路復号処理部1102、及び、情報源復号処理部1103は、それぞれ、1つの独立した装置(ハードウェア(IC(Integrated Circuit)等)、又はソフトウエアモジュール)として構成することが可能である。
 また、取得部1101、伝送路復号処理部1102、及び、情報源復号処理部1103については、取得部1101と伝送路復号処理部1102とのセットや、伝送路復号処理部1102と情報源復号処理部1103とのセット、取得部1101、伝送路復号処理部1102、及び、情報源復号処理部1103のセットを、1つの独立した装置として構成することが可能である。
 図141は、受信装置12を適用可能な受信システムの第2の構成例を示すブロック図である。
 なお、図中、図140の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
 図141の受信システムは、取得部1101、伝送路復号処理部1102、及び、情報源復号処理部1103を有する点で、図140の場合と共通し、出力部1111が新たに設けられている点で、図140の場合と相違する。
 出力部1111は、例えば、画像を表示する表示装置や、音声を出力するスピーカであり、情報源復号処理部1103から出力される信号としての画像や音声等を出力する。すなわち、出力部1111は、画像を表示し、あるいは、音声を出力する。
 以上のような図141の受信システムは、例えば、ディジタル放送としてのテレビジョン放送を受信するTV(テレビジョン受像機)や、ラジオ放送を受信するラジオ受信機等に適用することができる。
 なお、取得部1101において取得された信号に、圧縮符号化が施されていない場合には、伝送路復号処理部1102が出力する信号が、出力部1111に供給される。
 図142は、受信装置12を適用可能な受信システムの第3の構成例を示すブロック図である。
 なお、図中、図140の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
 図142の受信システムは、取得部1101、及び、伝送路復号処理部1102を有する点で、図140の場合と共通する。
 但し、図142の受信システムは、情報源復号処理部1103が設けられておらず、記録部1121が新たに設けられている点で、図140の場合と相違する。
 記録部1121は、伝送路復号処理部1102が出力する信号(例えば、MPEGのTSのTSパケット)を、光ディスクや、ハードディスク(磁気ディスク)、フラッシュメモリ等の記録(記憶)媒体に記録する(記憶させる)。
 以上のような図142の受信システムは、テレビジョン放送を録画するレコーダ等に適用することができる。
 なお、図142において、受信システムは、情報源復号処理部1103を設けて構成し、情報源復号処理部1103で、情報源復号処理が施された後の信号、すなわち、デコードによって得られる画像や音声を、記録部1121で記録することができる。
 <コンピュータの一実施の形態>
 次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
 そこで、図143は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
 プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク705やROM703に予め記録しておくことができる。
 あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体711に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体711は、いわゆるパッケージソフトウエアとして提供することができる。
 なお、プログラムは、上述したようなリムーバブル記録媒体711からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部708で受信し、内蔵するハードディスク705にインストールすることができる。
 コンピュータは、CPU(Central Processing Unit)702を内蔵している。CPU702には、バス701を介して、入出力インタフェース710が接続されており、CPU702は、入出力インタフェース710を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部707が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)703に格納されているプログラムを実行する。あるいは、また、CPU702は、ハードディスク705に格納されているプログラム、衛星若しくはネットワークから転送され、通信部708で受信されてハードディスク705にインストールされたプログラム、又はドライブ709に装着されたリムーバブル記録媒体711から読み出されてハードディスク705にインストールされたプログラムを、RAM(Random Access Memory)704にロードして実行する。これにより、CPU702は、上述したフローチャートに従った処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU702は、その処理結果を、必要に応じて、例えば、入出力インタフェース710を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部706から出力、あるいは、通信部708から送信、さらには、ハードディスク705に記録等させる。
 ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
 また、プログラムは、1つのコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
 なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、上述した新LDPC符号(の検査行列初期値テーブル)やGWパターンは、衛星回線や、地上波、ケーブル(有線回線)、その他の通信路13(図7)について用いることができる。さらに、新LDPC符号やGWパターンは、ディジタル放送以外のデータ伝送にも用いることができる。
 また、本明細書では、説明を分かりやすくするため、LDPCエンコーダ115(図8)が、検査行列に基づいて、LDPC符号への符号化を行うこととしたが、検査行列と、検査行列初期値テーブルとは等価な情報であり、検査行列に基づいて、LDPC符号への符号化を行うことには、検査行列初期値テーブルに基づいて、LDPC符号への符号化を行うことが含まれる。同様に、LDPCデコーダ166(図130)において、検査行列に基づいて、LDPC符号の復号を行うことには、検査行列初期値テーブルに基づいて、LDPC符号の復号を行うことが含まれる。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 11 送信装置, 12 受信装置, 23 パリティインターリーバ, 24 グループワイズインターリーバ, 25 ブロックインターリーバ, 54 ブロックデインターリーバ, 55 グループワイズデインターリーバ, 111 モードアダプテーション/マルチプレクサ, 112 パダー, 113 BBスクランブラ, 114 BCHエンコーダ, 115 LDPCエンコーダ, 116 ビットインターリーバ, 117 マッパ, 118 時間インターリーバ, 119 SISO/MISOエンコーダ, 120 周波数インターリーバ, 121 BCHエンコーダ, 122 LDPCエンコーダ, 123 マッパ, 124 周波数インターリーバ, 131 フレームビルダ/リソースアロケーション部 132 OFDM生成部, 151 OFDM処理部, 152 フレーム管理部, 153 周波数デインターリーバ, 154 デマッパ, 155 LDPCデコーダ, 156 BCHデコーダ, 161 周波数デインターリーバ, 162 SISO/MISOデコーダ, 163 時間デインターリーバ, 164 デマッパ, 165 ビットデインターリーバ, 166 LDPCデコーダ, 167 BCHデコーダ, 168 BBデスクランブラ, 169 ヌル削除部, 170 デマルチプレクサ, 300 枝データ格納用メモリ, 301 セレクタ, 302 チェックノード計算部, 303 サイクリックシフト回路, 304 枝データ格納用メモリ, 305 セレクタ, 306 受信データ用メモリ, 307 バリアブルノード計算部, 308 サイクリックシフト回路, 309 復号語計算部, 310 受信データ並べ替え部, 311 復号データ並べ替え部, 601 符号化処理部, 602 記憶部, 611 符号化率設定部, 612 初期値テーブル読み出し部, 613 検査行列生成部, 614 情報ビット読み出し部, 615 符号化パリティ演算部, 616 制御部, 701 バス, 702 CPU, 703 ROM, 704 RAM, 705 ハードディスク, 706 出力部, 707 入力部, 708 通信部, 709 ドライブ, 710 入出力インタフェース, 711, リムーバブル記録媒体, 1001 逆入れ替え部, 1002 メモリ, 1011 パリティデインターリーバ, 1101 取得部, 1101 伝送路復号処理部, 1103 情報源復号処理部, 1111 出力部, 1121 記録部

Claims (4)

  1.  符号長Nが17280ビットであり、符号化率rが14/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化部と、
     前記LDPC符号を、360ビットのビットグループ単位でインターリーブするグループワイズインターリーブを行うグループワイズインターリーブ部と、
     前記LDPC符号を、4ビット単位で、16QAMの2D-NUC(Non-Uniform Constellation)の16個の信号点のうちのいずれかにマッピングするマッピング部と
     を備え、
     前記グループワイズインターリーブでは、前記LDPC符号の先頭からi+1番目のビットグループを、ビットグループiとして、前記17280ビットのLDPC符号のビットグループ0ないし47の並びを、ビットグループ
     3 35 16 36 41 32 7 20 39 38 1 47 5 24 14 17 0 34 2 6 13 43 9 15 31 37 21 46 25 26 11 42 30 40 44 10 23 18 8 22 29 28 45 4 33 19 12 27
     の並びにインターリーブし、
     前記LDPC符号は、情報ビットとパリティビットを含み、
     前記検査行列は、前記情報ビットに対応する情報行列部及び前記パリティビットに対応するパリティ行列部を含み、
     前記情報行列部は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記情報行列部の1の要素の位置を360列ごとに表すテーブルであって、
     337 376 447 504 551 864 872 975 1136 1225 1254 1271 1429 1478 1870 2122
     58 121 163 365 515 534 855 889 1083 1122 1190 1448 1476 1635 1691 1954
     247 342 395 454 479 665 674 1033 1041 1198 1300 1484 1680 1941 2096 2121
     80 487 500 513 661 970 1038 1095 1109 1133 1416 1545 1696 1992 2051 2089
     32 101 205 413 568 712 714 944 1329 1669 1703 1826 1904 1908 2014 2097
     142 201 491 838 860 954 960 965 997 1027 1225 1488 1502 1521 1737 1804
     453 1184 1542
     10 781 1709
     497 903 1546
     1080 1640 1861
     1198 1616 1817
     771 978 2089
     369 1079 1348
     980 1788 1987
     1495 1900 2015
     27 540 1070
     200 1771 1962
     863 988 1329
     674 1321 2152
     807 1458 1727
     844 867 1628
     227 546 1027
     408 926 1413
     361 982 2087
     1247 1288 1392
     1051 1070 1281
     325 452 467
     1116 1672 1833
     21 236 1267
     504 856 2123
     398 775 1912
     1056 1529 1701
     143 930 1186
     553 1029 1040
     303 653 1308
     877 992 1174
     1083 1134 1355
     298 404 709
     970 1272 1799
     296 1017 1873
     105 780 1418
     682 1247 1867
     である
     送信装置。
  2.  符号長Nが17280ビットであり、符号化率rが14/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化ステップと、
     前記LDPC符号を、360ビットのビットグループ単位でインターリーブするグループワイズインターリーブを行うグループワイズインターリーブステップと、
     前記LDPC符号を、4ビット単位で、16QAMの2D-NUC(Non-Uniform Constellation)の16個の信号点のうちのいずれかにマッピングするマッピングステップと
     を備え、
     前記グループワイズインターリーブでは、前記LDPC符号の先頭からi+1番目のビットグループを、ビットグループiとして、前記17280ビットのLDPC符号のビットグループ0ないし47の並びを、ビットグループ
     3 35 16 36 41 32 7 20 39 38 1 47 5 24 14 17 0 34 2 6 13 43 9 15 31 37 21 46 25 26 11 42 30 40 44 10 23 18 8 22 29 28 45 4 33 19 12 27
     の並びにインターリーブし、
     前記LDPC符号は、情報ビットとパリティビットを含み、
     前記検査行列は、前記情報ビットに対応する情報行列部及び前記パリティビットに対応するパリティ行列部を含み、
     前記情報行列部は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記情報行列部の1の要素の位置を360列ごとに表すテーブルであって、
     337 376 447 504 551 864 872 975 1136 1225 1254 1271 1429 1478 1870 2122
     58 121 163 365 515 534 855 889 1083 1122 1190 1448 1476 1635 1691 1954
     247 342 395 454 479 665 674 1033 1041 1198 1300 1484 1680 1941 2096 2121
     80 487 500 513 661 970 1038 1095 1109 1133 1416 1545 1696 1992 2051 2089
     32 101 205 413 568 712 714 944 1329 1669 1703 1826 1904 1908 2014 2097
     142 201 491 838 860 954 960 965 997 1027 1225 1488 1502 1521 1737 1804
     453 1184 1542
     10 781 1709
     497 903 1546
     1080 1640 1861
     1198 1616 1817
     771 978 2089
     369 1079 1348
     980 1788 1987
     1495 1900 2015
     27 540 1070
     200 1771 1962
     863 988 1329
     674 1321 2152
     807 1458 1727
     844 867 1628
     227 546 1027
     408 926 1413
     361 982 2087
     1247 1288 1392
     1051 1070 1281
     325 452 467
     1116 1672 1833
     21 236 1267
     504 856 2123
     398 775 1912
     1056 1529 1701
     143 930 1186
     553 1029 1040
     303 653 1308
     877 992 1174
     1083 1134 1355
     298 404 709
     970 1272 1799
     296 1017 1873
     105 780 1418
     682 1247 1867
     である
     送信方法。
  3.  符号長Nが17280ビットであり、符号化率rが14/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化ステップと、
     前記LDPC符号を、360ビットのビットグループ単位でインターリーブするグループワイズインターリーブを行うグループワイズインターリーブステップと、
     前記LDPC符号を、4ビット単位で、16QAMの2D-NUC(Non-Uniform Constellation)の16個の信号点のうちのいずれかにマッピングするマッピングステップと
     を備え、
     前記グループワイズインターリーブでは、前記LDPC符号の先頭からi+1番目のビットグループを、ビットグループiとして、前記17280ビットのLDPC符号のビットグループ0ないし47の並びを、ビットグループ
     3 35 16 36 41 32 7 20 39 38 1 47 5 24 14 17 0 34 2 6 13 43 9 15 31 37 21 46 25 26 11 42 30 40 44 10 23 18 8 22 29 28 45 4 33 19 12 27
     の並びにインターリーブし、
     前記LDPC符号は、情報ビットとパリティビットを含み、
     前記検査行列は、前記情報ビットに対応する情報行列部及び前記パリティビットに対応するパリティ行列部を含み、
     前記情報行列部は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記情報行列部の1の要素の位置を360列ごとに表すテーブルであって、
     337 376 447 504 551 864 872 975 1136 1225 1254 1271 1429 1478 1870 2122
     58 121 163 365 515 534 855 889 1083 1122 1190 1448 1476 1635 1691 1954
     247 342 395 454 479 665 674 1033 1041 1198 1300 1484 1680 1941 2096 2121
     80 487 500 513 661 970 1038 1095 1109 1133 1416 1545 1696 1992 2051 2089
     32 101 205 413 568 712 714 944 1329 1669 1703 1826 1904 1908 2014 2097
     142 201 491 838 860 954 960 965 997 1027 1225 1488 1502 1521 1737 1804
     453 1184 1542
     10 781 1709
     497 903 1546
     1080 1640 1861
     1198 1616 1817
     771 978 2089
     369 1079 1348
     980 1788 1987
     1495 1900 2015
     27 540 1070
     200 1771 1962
     863 988 1329
     674 1321 2152
     807 1458 1727
     844 867 1628
     227 546 1027
     408 926 1413
     361 982 2087
     1247 1288 1392
     1051 1070 1281
     325 452 467
     1116 1672 1833
     21 236 1267
     504 856 2123
     398 775 1912
     1056 1529 1701
     143 930 1186
     553 1029 1040
     303 653 1308
     877 992 1174
     1083 1134 1355
     298 404 709
     970 1272 1799
     296 1017 1873
     105 780 1418
     682 1247 1867
     である
     送信方法
     により送信されてくるデータから得られる、グループワイズインターリーブ後の前記LDPC符号の並びを元の並びに戻すグループワイズデインターリーブを行うグループワイズデインターリーブ部を備える
     受信装置。
  4.  符号長Nが17280ビットであり、符号化率rが14/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化ステップと、
     前記LDPC符号を、360ビットのビットグループ単位でインターリーブするグループワイズインターリーブを行うグループワイズインターリーブステップと、
     前記LDPC符号を、4ビット単位で、16QAMの2D-NUC(Non-Uniform Constellation)の16個の信号点のうちのいずれかにマッピングするマッピングステップと
     を備え、
     前記グループワイズインターリーブでは、前記LDPC符号の先頭からi+1番目のビットグループを、ビットグループiとして、前記17280ビットのLDPC符号のビットグループ0ないし47の並びを、ビットグループ
     3 35 16 36 41 32 7 20 39 38 1 47 5 24 14 17 0 34 2 6 13 43 9 15 31 37 21 46 25 26 11 42 30 40 44 10 23 18 8 22 29 28 45 4 33 19 12 27
     の並びにインターリーブし、
     前記LDPC符号は、情報ビットとパリティビットを含み、
     前記検査行列は、前記情報ビットに対応する情報行列部及び前記パリティビットに対応するパリティ行列部を含み、
     前記情報行列部は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記情報行列部の1の要素の位置を360列ごとに表すテーブルであって、
     337 376 447 504 551 864 872 975 1136 1225 1254 1271 1429 1478 1870 2122
     58 121 163 365 515 534 855 889 1083 1122 1190 1448 1476 1635 1691 1954
     247 342 395 454 479 665 674 1033 1041 1198 1300 1484 1680 1941 2096 2121
     80 487 500 513 661 970 1038 1095 1109 1133 1416 1545 1696 1992 2051 2089
     32 101 205 413 568 712 714 944 1329 1669 1703 1826 1904 1908 2014 2097
     142 201 491 838 860 954 960 965 997 1027 1225 1488 1502 1521 1737 1804
     453 1184 1542
     10 781 1709
     497 903 1546
     1080 1640 1861
     1198 1616 1817
     771 978 2089
     369 1079 1348
     980 1788 1987
     1495 1900 2015
     27 540 1070
     200 1771 1962
     863 988 1329
     674 1321 2152
     807 1458 1727
     844 867 1628
     227 546 1027
     408 926 1413
     361 982 2087
     1247 1288 1392
     1051 1070 1281
     325 452 467
     1116 1672 1833
     21 236 1267
     504 856 2123
     398 775 1912
     1056 1529 1701
     143 930 1186
     553 1029 1040
     303 653 1308
     877 992 1174
     1083 1134 1355
     298 404 709
     970 1272 1799
     296 1017 1873
     105 780 1418
     682 1247 1867
     である
     送信方法
     により送信されてくるデータから得られる、グループワイズインターリーブ後の前記LDPC符号の並びを元の並びに戻すグループワイズデインターリーブを行うグループワイズデインターリーブステップを備える
     受信方法。
PCT/JP2023/002351 2022-02-07 2023-01-26 送信装置、送信方法、受信装置、及び、受信方法 WO2023149318A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022016936 2022-02-07
JP2022-016936 2022-02-07

Publications (1)

Publication Number Publication Date
WO2023149318A1 true WO2023149318A1 (ja) 2023-08-10

Family

ID=87552256

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/002351 WO2023149318A1 (ja) 2022-02-07 2023-01-26 送信装置、送信方法、受信装置、及び、受信方法

Country Status (1)

Country Link
WO (1) WO2023149318A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019125951A (ja) * 2018-01-18 2019-07-25 ソニー株式会社 送信方法及び受信装置
JP2019146146A (ja) * 2017-11-07 2019-08-29 日本放送協会 インターリーバ、デインターリーバ、送信装置、受信装置、及びこれらのプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019146146A (ja) * 2017-11-07 2019-08-29 日本放送協会 インターリーバ、デインターリーバ、送信装置、受信装置、及びこれらのプログラム
JP2019125951A (ja) * 2018-01-18 2019-07-25 ソニー株式会社 送信方法及び受信装置

Similar Documents

Publication Publication Date Title
JP7120397B2 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP7338754B2 (ja) 受信装置、及び、受信方法
JP2023078379A (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP2022136204A (ja) 受信装置、及び、受信方法
JP2022169746A (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP2022159357A (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP7135344B2 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP7119431B2 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP2023075349A (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP2023075347A (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP2023075348A (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP7251678B2 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP7283611B2 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP7283612B2 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP7283610B2 (ja) 送信装置、送信方法、受信装置、及び、受信方法
WO2023149318A1 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP7272492B2 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP7226618B2 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP7226619B2 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP7180802B2 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP7226620B2 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP7180803B2 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP7226617B2 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP7338753B2 (ja) 受信装置、及び、受信方法
JP7338752B2 (ja) 受信装置、及び、受信方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23749634

Country of ref document: EP

Kind code of ref document: A1