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

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

Info

Publication number
WO2019087780A1
WO2019087780A1 PCT/JP2018/038609 JP2018038609W WO2019087780A1 WO 2019087780 A1 WO2019087780 A1 WO 2019087780A1 JP 2018038609 W JP2018038609 W JP 2018038609W WO 2019087780 A1 WO2019087780 A1 WO 2019087780A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
parity check
check matrix
code
ldpc code
Prior art date
Application number
PCT/JP2018/038609
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 ソニー株式会社
Priority to KR1020207011129A priority Critical patent/KR102566180B1/ko
Priority to EP18871980.1A priority patent/EP3706318A4/en
Priority to US16/757,965 priority patent/US11228395B2/en
Priority to BR112020007935-9A priority patent/BR112020007935A2/pt
Publication of WO2019087780A1 publication Critical patent/WO2019087780A1/ja
Priority to PH12020550518A priority patent/PH12020550518A1/en

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/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1165QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/255Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] 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
    • H03M13/2703Coding, 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 the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • 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
    • H03M13/2778Interleaver using block-wise interleaving, e.g. the interleaving matrix is sub-divided into sub-matrices and the permutation is performed in blocks of sub-matrices
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • 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/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] 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

Definitions

  • the present technology relates to a transmission device, a transmission method, a reception device, and a reception method, and in particular, a transmission device and a transmission method that can ensure good communication quality, for example, in data transmission using an LDPC code. , A receiving apparatus, and a receiving method.
  • LDPC Low Density Parity Check codes
  • DVB Digital Video Broadcasting
  • DVB-T. 2 Digital Video Broadcasting
  • DVB-C. 2 Digital Broadcasting
  • ATSC Advanced Television Systems Committee
  • ATSC Standard Physical Layer Protocol (A / 322), 7 September 2016
  • the LDPC code is a symbol (symbolized) of orthogonal modulation (digital modulation) such as QPSK (Quadrature Phase Shift Keying), and the symbol is a signal point of orthogonal modulation. It is mapped and sent.
  • orthogonal modulation digital modulation
  • QPSK Quadrature Phase Shift Keying
  • the present technology has been made in view of such a situation, and aims to ensure good communication quality in data transmission using an LDPC code.
  • a first transmitting apparatus / transmission method is an encoding unit / step that performs LDPC encoding based on a parity check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 2/16.
  • the parity check matrix includes an upper left A matrix of the parity check matrix of M1 rows and K columns represented by a predetermined value M1 and an information length K of the LDPC code, and M1 rows and M1 columns
  • the step matrix B adjacent to the right of the A matrix, the Z matrix which is a zero matrix adjacent to the right of the B matrix of M1 row NK M1 column, and the NK matrix M1 row K + M1 column
  • the predetermined value M1 is 1800 including an A matrix and a C matrix adjacent below the B matrix, and a D matrix which is an identity matrix adjacent to the right of the C matrix of NK-M1 rows and NK-M1 columns, and the predetermined value M1 is 1800
  • the A matrix and the C matrix are represented by a parity check matrix initial value table, and the parity check matrix initial value table is a table representing the position of one element of the A matrix and the C matrix for every 360 columns.
  • LDPC encoding is performed based on a parity check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 2/16.
  • the parity check matrix includes an upper left A matrix of the parity check matrix of M1 row and K column represented by a predetermined value M1 and an information length K of the LDPC code, and the A matrix of M1 row and M1 column.
  • B matrix of a step structure adjacent to the right of the matrix Z matrix which is a zero matrix adjacent to the right of the B matrix of M1 row NK M1 column, and A matrix of NK-M1 row K + M1 column
  • C matrix adjacent to the bottom of the B matrix and D matrix which is an identity matrix adjacent to the right of the C matrix of NK-M1 rows and NK-M1 columns, and the predetermined value M1 is 1800.
  • the A matrix and the C matrix are represented by a parity check matrix initial value table, and the parity check matrix initial value table is a table representing the position of one element of the A matrix and the C matrix every 360 columns, 485 1444 1737 3762 7283 10663 181 1563 1623 3902 12647 1077 1216 1709 11264 13865 303 1225 1369 13470 14991 1067 1226 1795 2169 2507 2677 2727 2773 3609 3926 399 4192 5004 5921 6134 7385 7495 7821 8996 9413 10318 10557 10886 11307 11599 12641 13430 101 1264 1427 1860 2032 2063 3143 4156 4554 4732 5165 5902 6145 6721 7170 8660 9033 9801 10243 11723 12547 13124 14196 14723 3403 3678 5842 7967 8991 9220 9663 10299 10343 10550 1951 2354 3899 4774 7602
  • the first receiver / reception method of the present technology includes an encoding step of performing LDPC encoding based on a parity check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 2/16,
  • the parity check matrix includes an upper left A matrix of the parity check matrix of M1 row and K column represented by a predetermined value M1 and an information length K of the LDPC code, and the A matrix of M1 row and M1 column.
  • B matrix of a step structure adjacent to the right of the matrix Z matrix which is a zero matrix adjacent to the right of the B matrix of M1 row NK M1 column, and A matrix of NK-M1 row K + M1 column
  • C matrix adjacent to the bottom of the B matrix and D matrix which is an identity matrix adjacent to the right of the C matrix of NK-M1 rows and NK-M1 columns, and the predetermined value M1 is 1800.
  • the A matrix and the C matrix are represented by a parity check matrix initial value table, and the parity check matrix initial value table is a table representing the position of one element of the A matrix and the C matrix every 360 columns, 485 1444 1737 3762 7283 10663 181 1563 1623 3902 12647 1077 1216 1709 11264 13865 303 1225 1369 13470 14991 1067 1226 1795 2169 2507 2677 2727 2773 3609 3926 399 4192 5004 5921 6134 7385 7495 7821 8996 9413 10318 10557 10886 11307 11599 12641 13430 101 1264 1427 1860 2032 2063 3143 4156 4554 4732 5165 5902 6145 6721 7170 8660 9033 9801 10243 11723 12547 13124 14196 14723 3403 3678 5842 7967 8991 9220 9663 10299 10343 10550 1951 2354 3899 4774 7602
  • the LDPC code obtained from data transmitted by the first transmission method is decoded.
  • the second transmitting apparatus / transmission method uses an encoding unit / step that performs LDPC encoding based on a parity check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 3/16.
  • the parity check matrix includes an upper left A matrix of the parity check matrix of M1 rows and K columns represented by a predetermined value M1 and an information length K of the LDPC code, and M1 rows and M1 columns
  • the step matrix B adjacent to the right of the A matrix, the Z matrix which is a zero matrix adjacent to the right of the B matrix of M1 row NK M1 column, and the NK matrix M1 row K + M1 column
  • the predetermined value M1 is 1440, which includes an A matrix and a C matrix adjacent to the bottom of the B matrix, and a D matrix which is an identity matrix adjacent to the right of the C matrix of NK-M1 rows and NK-M1 columns.
  • the A matrix and the C matrix are represented by a parity check matrix initial value table, and the parity check matrix initial value table is a table representing the position of one element of the A matrix and the C matrix for every 360 columns.
  • LDPC encoding is performed based on a parity check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 3/16.
  • the parity check matrix includes an upper left A matrix of the parity check matrix of M1 row and K column represented by a predetermined value M1 and an information length K of the LDPC code, and the A matrix of M1 row and M1 column.
  • a matrix and the C matrix are represented by a parity check matrix initial value table, and the parity check matrix initial value table is a table representing the position of one element of the A matrix and the C matrix every 360 columns, 10 1155 1332 1608 8228 8253 11662 483 1297 1433 4678 5776 10410 13553 862 967 1036 1842 2950 10129 12042 258 872 1037 7129 9442 9491 10644 215 260 590 6003 7554 10499 197 521 1190 1670 3696 4410 4436 46
  • the second receiving apparatus / receiving method of the present technology includes an encoding step of performing LDPC encoding based on a parity check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 3/16,
  • the parity check matrix includes an upper left A matrix of the parity check matrix of M1 row and K column represented by a predetermined value M1 and an information length K of the LDPC code, and the A matrix of M1 row and M1 column.
  • a matrix and the C matrix are represented by a parity check matrix initial value table, and the parity check matrix initial value table is a table representing the position of one element of the A matrix and the C matrix every 360 columns, 10 1155 1332 1608 8228 8253 11662 483 1297 1433 4678 5776 10410 13553 862 967 1036 1842 2950 10129 12042 258 872 1037 7129 9442 9491 10644 215 260 590 6003 7554 10499 197 521 1190 1670 3696 4410 4436 46
  • the LDPC code obtained from data transmitted by the second transmission method is decoded.
  • a third transmitting apparatus / transmission method is an encoding unit / step for performing LDPC encoding based on a parity check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 4/16.
  • the parity check matrix includes an upper left A matrix of the parity check matrix of M1 rows and K columns represented by a predetermined value M1 and an information length K of the LDPC code, and M1 rows and M1 columns
  • the step matrix B adjacent to the right of the A matrix, the Z matrix which is a zero matrix adjacent to the right of the B matrix of M1 row NK M1 column, and the NK matrix M1 row K + M1 column
  • the predetermined value M1 is 1080 including an A matrix and a C matrix adjacent below the B matrix, and a D matrix which is an identity matrix adjacent to the right of the C matrix in NK-M1 rows and NK-M1 columns
  • the A matrix and the C matrix are represented by a parity check matrix initial value table, and the parity check matrix initial value table is a table representing the position of one element of the A matrix and the C matrix for every 360 columns.
  • LDPC encoding is performed based on a parity check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 4/16.
  • the parity check matrix includes an upper left A matrix of the parity check matrix of M1 row and K column represented by a predetermined value M1 and an information length K of the LDPC code, and the A matrix of M1 row and M1 column.
  • a matrix and the C matrix are represented by a parity check matrix initial value table, and the parity check matrix initial value table is a table representing the position of one element of the A matrix and the C matrix every 360 columns, 478 512 714 1103 3052 4701 6654 7690 7824 11154 11948 12493 73 155 855 1758 2467 4962 5168 5785 7323 11891 12232 41 433 636 1280 2182 2342 2768 3511 7654 8802 9938 196 434 672 5407 6013 7349 8268 8640
  • the third receiver / reception method of the present technology includes an encoding step of performing LDPC encoding based on a parity check matrix of an LDPC code having a code length N of 17280 bits and a coding rate r of 4/16,
  • the parity check matrix includes an upper left A matrix of the parity check matrix of M1 row and K column represented by a predetermined value M1 and an information length K of the LDPC code, and the A matrix of M1 row and M1 column.
  • a matrix and the C matrix are represented by a parity check matrix initial value table, and the parity check matrix initial value table is a table representing the position of one element of the A matrix and the C matrix every 360 columns, 478 512 714 1103 3052 4701 6654 7690 7824 11154 11948 12493 73 155 855 1758 2467 4962 5168 5785 7323 11891 12232 41 433 636 1280 2182 2342 2768 3511 7654 8802 9938 196 434 672 5407 6013 7349 8268 8640
  • the LDPC code obtained from data transmitted by the third transmission method is decoded.
  • the transmitting device and the receiving device may be independent devices or may be an internal block constituting one device.
  • FIG. 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. 6 is a block diagram showing an example of configuration of a bit interleaver 116. It is a figure which shows the example of a test matrix. It is a figure which shows the example of a parity matrix. It is a figure explaining the test matrix of the LDPC code prescribed
  • FIG. 1 is a diagram illustrating an example of a parity matrix H T of the parity check matrix H corresponding to the LDPC code after parity interleave.
  • 5 is a flowchart illustrating an example of processing performed by the bit interleaver 116 and the mapper 117.
  • FIG. 2 is a block diagram showing an example configuration of an LDPC encoder 115.
  • FIG. 18 is a flowchart for describing an example of processing of the LDPC encoder 115.
  • FIG. FIG. 18 is a diagram illustrating an example of a parity check matrix initial value table with a coding rate of 1/4 and a code length of 16200. It is a figure explaining the method to obtain
  • FIG. 10 is a diagram showing a parity check matrix in which column permutation is performed as parity deinterleaving for restoring parity interleaving. It is a figure which shows the conversion parity check matrix obtained by performing row permutation to a parity check matrix.
  • FIG. 10 is a diagram for explaining group-wise interleaving performed by the group-wise interleaver 24.
  • FIG. 2 is a block diagram showing a configuration example of a receiving device 12;
  • FIG. 16 is a block diagram illustrating an example configuration of a bit deinterleaver 165.
  • FIG. 16 is a flowchart describing an example of processing performed by the demapper 164, the bit deinterleaver 165, and the LDPC decoder 166.
  • FIG. It is a figure which shows the example of the test matrix of a LDPC code. It is a figure which shows the example of the matrix (conversion test matrix) which applied row permutation and column permutation to the parity check matrix.
  • FIG. 16 is a block diagram illustrating an example configuration of an LDPC decoder 166. It is a figure explaining the block de interleaving performed by the block de interleaver 54.
  • FIG. FIG. 20 is a block diagram illustrating another configuration example of the bit deinterleaver 165.
  • FIG. 7 is a block diagram showing a first configuration example of a receiving system to which the receiving device 12 is applicable.
  • FIG. 7 is a block diagram showing a second configuration example of a receiving system to which the receiving device 12 can be applied.
  • FIG. 16 is a block diagram showing a third configuration example of a receiving system to which the receiving device 12 can be applied.
  • Fig. 21 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present technology is applied.
  • the LDPC code is a linear code and does not have to be binary, but it will be described here as binary.
  • An LDPC code is most characterized in that a parity check matrix defining the LDPC code is sparse.
  • a sparse matrix is a matrix in which the number of “1” s of matrix elements is very small (a matrix in which most elements are 0).
  • FIG. 1 is a diagram illustrating an example of a parity check matrix H of an LDPC code.
  • the weight (column weight) (number of "1" s) (weight) of each column is "3"
  • the weight (row weight) of each row is "6” .
  • a generator matrix G is generated based on a parity check matrix H, and a code word (LDPC code) is generated by multiplying the generator matrix G with binary information bits. ) Is generated.
  • LDPC code code word
  • the generator matrix G is a K ⁇ N matrix
  • the codeword (LDPC code) generated by the coding device is received at the receiving side via a predetermined communication path.
  • the LDPC code decoding is an algorithm proposed by Gallager as probabilistic decoding, which is a variable node (also called a message node) and a check node. It can be done by a message passing algorithm with belief propagation on the so-called Tanner graph.
  • the variable node and the check node are also simply referred to as nodes.
  • FIG. 2 is a flowchart showing the procedure of decoding an LDPC code.
  • a real value (received LLR) expressing “0 likeliness of the value” of the i-th code bit of the LDPC code (1 code word) received by the receiving side as appropriate by a log likelihood ratio ) Is also called a 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 an LDPC code is received in step S11, and a message (check node message) u j is initialized to "0", and as a counter of repeated processing A variable k taking an integer of 0 is initialized to "0", and the process proceeds to step S12.
  • step S12 a message (variable node message) v i is obtained by performing the operation (variable node operation) shown in equation (1) based on the received value u 0i obtained by receiving the LDPC code, and further, Based on the message v i , the message u j is obtained by performing the operation (check node operation) shown in the equation (2).
  • Equation (1) and Equation (2) can be arbitrarily selected to indicate the number of “1” in the vertical direction (column) and the horizontal direction (row) of parity check matrix H, respectively.
  • variable node operation of equation (1) and the check node operation of (2) a message input from an edge (a line connecting a variable node and a check node) to output a message.
  • the range of the operation is 1 to d v ⁇ 1 or 1 to d c ⁇ 1, because
  • a table of the function R (v 1 , v 2 ) shown in the equation (3) defined by one output for two inputs v 1 and v 2 is actually created in advance This is done by using it continuously (recursively) 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 the variable k is larger than a predetermined number C of repeated decodings. If it is determined in step S13 that the variable k is not larger than C, the process returns to step S12, and the same processing is repeated.
  • step S13 If it is determined in step S13 that the variable k is larger than C, the process proceeds to step S14, and a message v i as a decoding result to be finally output is determined by performing the operation shown in equation (5). Then, the decoding process of the LDPC code is completed.
  • equation (5) is performed using messages u j from all the branches connected to the variable node.
  • FIG. 3 is a diagram showing an example of a parity check matrix H of a (3, 6) LDPC code (coding rate 1/2, code length 12).
  • the column weight is 3 and the row weight is 6.
  • FIG. 4 is a diagram showing a Tanner graph of the parity check matrix H of FIG.
  • the check nodes and variable nodes correspond to the rows and columns of the parity check matrix H, respectively.
  • the connection between the check node and the variable node is an edge and corresponds to “1” of an element of the parity check matrix.
  • FIG. 5 is a diagram showing a variable node operation performed at a variable node.
  • the message v i corresponding to the branch to be calculated is the message from the remaining branches connected to the variable node u 1 and u 2 and the variable node of the equation (1) using the received value u 0i It is obtained by calculation.
  • the messages corresponding to the other branches are likewise sought.
  • FIG. 6 is a diagram showing a check node operation performed at a check node.
  • 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 calculation of Expression (7) using 5 .
  • the messages corresponding to the other branches are likewise 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 a transmission system to which the present technology is applied (a system is a logical aggregation of a plurality of devices, regardless of whether devices of respective configurations are in the same case) It is a figure showing an example of composition of an embodiment.
  • the transmission system includes a transmitter 11 and a receiver 12.
  • the transmission device 11 transmits (broadcasts) (transmits), for example, a program of television broadcasting. 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 ground wave, a cable (wired line), etc. It transmits via the communication path 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 ground wave, a cable (wired line), etc. It transmits via the communication path 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 of FIG. 7 exhibits extremely high capability in an Additive White Gaussian Noise (AWGN) channel.
  • AWGN Additive White Gaussian Noise
  • burst errors or erasures may occur.
  • D / U Desired to Undesired Ratio
  • Desired main path power
  • the power of a particular symbol may be zero (0) depending on the delay of echo (path other than the main path).
  • the Doppler frequency makes it possible to use OFDM of a particular time.
  • the power of the entire symbol may be zero (erasure).
  • a burst error may occur due to the wiring condition from the receiving unit (not shown) such as an antenna or the like that receives the signal from the transmitting device 11 to the receiving device 12 and the receiving device 12 or the instability of the power supply of the receiving device 12. May occur.
  • the receiving unit such as an antenna or the like that receives the signal from the transmitting device 11 to the receiving device 12 and the receiving device 12 or the instability of the power supply of the receiving device 12. May occur.
  • the check node calculation of Expression (7) is performed using a message obtained by the variable node connected to the check node in the check node, so a plurality of connected variable nodes ( If the number of check nodes at which the code bits of the LDPC code corresponding to ⁇ ⁇ ⁇ cause errors (including erasures) at the same time increases, the decoding performance deteriorates.
  • the check node sends messages with equal probability that the probability that the value is 0 and the probability that the value is 1 to all variable nodes. return.
  • a check node returning an equal probability message will not contribute to one decoding process (one set of variable node operation and check node operation), and as a result, many decoding processes need to be repeated. As a result, the decoding performance is degraded, and the power consumption of the receiver 12 that decodes the LDPC code is increased.
  • FIG. 8 is a block diagram showing a configuration example of the transmission apparatus 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
  • the 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 resultant data to the padder 112. .
  • the padder 112 performs necessary zero padding (insertion of a null) on the data from the mode adaptation / multiplexer 111, and supplies the resulting data to a BB scrambler 113.
  • the BB scrambler 113 subjects the data from the padder 112 to BB scrambling (Base-Band Scrambling) and supplies the resulting data to a BCH encoder (BCH encoder) 114.
  • the BCH encoder 114 BCH encodes the data from the BB scrambler 113, and supplies the resultant data to an LDPC encoder (LDPC encoder) 115 as LDPC target data to be subjected to LDPC encoding.
  • LDPC encoder LDPC encoder
  • the LDPC encoder 115 (coding unit) is, for example, a parity check matrix in which a parity matrix, which is a portion corresponding to parity bits of the LDPC code, has a dual diagonal structure, for the LDPC target data from the BCH encoder 114.
  • LDPC encoding is performed according to the instruction, and an LDPC code is output, which uses data to be subjected to LDPC as information bits.
  • the LDPC encoder 115 defines the LDPC target data in a predetermined standard such as DVB-S.2, DVB-T.2, DVB-C.2, ATSC 3.0, etc. LDPC encoding is performed to encode the corresponding LDPC code and the other LDPC codes, and the resultant LDPC code is output.
  • the LDPC code specified in the DVB-S. 2 and ATSC 3.0 standards is an IRA (Irregular Repeat Accumulate) code, and (a part or all) of the parity matrix in the check matrix of the LDPC code , Has a staircase structure.
  • IRA codes 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 from the LDPC encoder 115 is supplied to a bit interleaver (Bit Interleaver) 116.
  • Bit Interleaver Bit Interleaver
  • the bit interleaver 116 performs bit interleaving described later on the LDPC code from the LDPC encoder 115, and supplies the LDPC code after the bit interleaving to the mapper (Mapper) 117.
  • the mapper 117 maps the LDPC code from the bit interleaver 116 into signal points representing one symbol of orthogonal modulation in units of one or more code bits (symbol units) of the LDPC code and performs orthogonal modulation (multiple Value modulation).
  • mapper 117 is a constellation on an IQ plane defined by an I-axis representing an I component in phase with the carrier and a Q-axis representing a Q component orthogonal to the carrier from the LDPC code from bit interleaver 116.
  • orthogonal modulation is performed by mapping to signal points determined by a modulation scheme that performs orthogonal modulation of an LDPC code.
  • the mapper 117 uses m code bits of the LDPC code as a symbol (one symbol).
  • the LDPC code from bit interleaver 116 is mapped on a symbol basis to a signal point representing a symbol out of 2 m signal points.
  • a modulation method of orthogonal modulation performed by the mapper 117 for example, a modulation method defined in the standards of DVB-S. 2 and ATSC 3.0, etc.
  • other modulation methods that is, for example, BPSK (Binary (Binary) Phase Shift Keying (QPSK), Quadrature Phase Shift Keying (QPSK), Phase-Shift Keying (8PSK), Amplitude Phase-Shift Keying (16APSK), 32APSK, Quadrature Amplitude Modulation (16QAM), 16QAM, 64QAM, 256QAM, 1024QAM, 4096QAM, 4PAM (Pulse Amplitude Modulation) and the like.
  • BPSK Binary (Binary) Phase Shift Keying
  • QPSK Quadrature Phase Shift Keying
  • 8PSK Phase-Shift Keying
  • Amplitude Phase-Shift Keying (16APSK)
  • 32APSK Quadrature Amplitude Modulation
  • 16QAM 16
  • Data obtained by the processing at the mapper 117 (the mapping result of mapping the symbols to the signal points) is supplied to a time interleaver 118.
  • the time interleaver 118 performs time interleaving (interleaving in the time direction) in symbol units on the data from the mapper 117, and the resulting data is converted to a SISO / MISO encoder (SISO / MISO (Single Input Single Output / Multiple).
  • SISO / MISO encoder SISO / MISO encoder
  • the SISO / MISO encoder 119 performs space-time coding on the data from the time interleaver 118 and supplies the data to a frequency interleaver (Frequency Interleaver) 120.
  • a frequency interleaver Frequency Interleaver
  • the frequency interleaver 120 performs frequency interleaving (interleaving in the frequency direction) on the data from the SISO / MISO encoder 119 in symbol units, and supplies the data to a frame builder & resource allocation unit (Frame Builder & Resource Allocation) 131.
  • a frame builder & resource allocation unit Fre Builder & Resource Allocation
  • control data (signalling) for transmission control such as BB signaling (Base Band Signaling) (BB Header) is supplied to the BCH encoder 121, for example.
  • the BCH encoder 121 BCH encodes the control data supplied thereto in the same manner as the BCH encoder 114, and supplies the resultant data to the LDPC encoder 122.
  • the LDPC encoder 122 performs LDPC encoding on the data from the BCH encoder 121 as LDPC target data, similarly to the LDPC encoder 115, and supplies the resulting LDPC code to the mapper 123.
  • the mapper 123 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 of the LDPC code (symbol unit). Quadrature modulation, and the resulting data is provided to frequency interleaver 124.
  • the frequency interleaver 124 performs frequency interleaving in symbol units on the data from the mapper 123, and supplies the data to the frame builder / resource allocation unit 131.
  • the frame builder / resource allocation unit 131 inserts symbols of pilots (Pilot) at necessary positions of data (symbols) from the frequency interleaver 120 and 124, and the predetermined data is obtained from the resulting data (symbols).
  • a frame for example, a PL (Physical Layer) frame, a T2 frame, a C2 frame, and the like
  • 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 the OFDM signal through the communication path 13 (FIG. 7).
  • the transmitting device 11 may be configured without providing a part 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, for example. Can.
  • FIG. 9 is a block diagram showing a configuration example of the bit interleaver 116 of FIG.
  • the bit interleaver 116 has a function of interleaving data, and is configured of a parity interleaver (Parity Interleaver) 23, a group-wise interleaver (Group-Wise Interleaver) 24, and a block interleaver (Block Interleaver) 25.
  • parity interleaver parity Interleaver
  • Group-Wise Interleaver group-wise interleaver
  • Block Interleaver Block Interleaver
  • the parity interleaver 23 performs parity interleaving in which the parity bits of the LDPC code from the LDPC encoder 115 are interleaved at the positions of other parity bits, and supplies the LDPC code after the parity interleaving to the group-wise interleaver 24.
  • the group-wise interleaver 24 performs group-wise interleaving on the LDPC code from the parity interleaver 23, and supplies the LDPC code after the group-wise interleaving to the block interleaver 25.
  • the parity interleaver 23 sets 360 bits of one section into which the LDPC code of one code is divided into 360 bit units equal to the parallel factor P described later from the head thereof. LDPC codes from are interleaved on a bit group basis.
  • the error rate can be improved as compared with the case where group-wise interleaving is not performed. 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, the symbol of an LDPC code of one code is converted into a symbol of m bits which is a unit of mapping. To the mapper 117 (FIG. 8).
  • a column as a storage area for storing a predetermined number of bits in the column (vertical) direction is equal to the number m of symbols in the row (horizontal) direction.
  • the LDPC code from the group-wise interleaver 24 is written in the column direction and read in the row direction with respect to the storage areas aligned in a row, whereby the LDPC code is symbolized into m-bit symbols.
  • FIG. 10 is a diagram showing an example of a parity check matrix H used for LDPC encoding in the LDPC encoder 115 of FIG.
  • the parity check matrix H has a low-density generation matrix (LDGM) structure, and an information matrix H A of a portion corresponding to an information bit among code bits of an LDPC code and a parity matrix H T corresponding to parity bits.
  • H [H A
  • 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 of M ⁇ N rows ⁇ columns (M-row N-column matrix).
  • the information matrix H A is an M ⁇ K matrix
  • the parity matrix H T is an M ⁇ M matrix.
  • FIG. 11 is a diagram showing an example of a parity matrix H T of a parity check matrix H used for LDPC encoding by the LDPC encoder 115 of FIG.
  • the parity matrix H T of the parity check matrix H used for LDPC encoding in the LDPC encoder 115 is, for example, a parity matrix H T similar to the parity check matrix H of an LDPC code specified in the standard such as DVB- T . It can be adopted.
  • the parity matrix H T of the parity check matrix H of the LDPC code defined in the standard such as DVB-T.2 is a matrix in which the elements of 1 are arranged in a step-like matrix (lower bidiagonal). It has become a matrix).
  • the row weights of the parity matrix H T are 1 for the first row and 2 for all the remaining rows.
  • the column weight is 1 for the last 1 column and 2 for all remaining columns.
  • the LDPC code of the parity check matrix H in which the parity matrix H T has a step structure can be easily generated using the parity check matrix H.
  • an LDPC code (one codeword), together represented by a row vector c, and column vector obtained by transposing the row vector is represented as c T. Further, in the row vector c which is an LDPC code, a portion of information bits is represented by a row vector A, and a portion of parity bits is represented by a row vector T.
  • FIG. 12 is a diagram for explaining a parity check matrix H of an LDPC code defined in a standard such as DVB-T.2.
  • the column weight is X, and for the subsequent K3 column, the column weight is 3 and then For the M ⁇ 1 columns, the column weights are 2 and for the last 1 column, the column weights are 1.
  • KX + K3 + M ⁇ 1 + 1 is equal to the 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 defined in the standard such as DVB-T.2.
  • LDPC codes with a code length N of 64800 bits and 16200 bits are defined.
  • the code length N of 64800 bits is also referred to as 64 k bits
  • the code length N of 16200 bits is also referred to as 16 k bits.
  • the error rate tends to be lower for code bits corresponding to columns with larger column weights of the parity check matrix H.
  • the column weight tends to be larger as the column on the head side (left side), and hence the parity check matrix
  • the first code bit is more resistant to errors (more resistant to errors), and the last code bit is more susceptible to errors.
  • parity interleaving by the parity interleaver 23 of FIG. 9 will be described with reference to FIGS. 14 to 16.
  • FIG. 14 is a diagram illustrating an example of (a part of) a Tanner graph of a parity check matrix of an LDPC code.
  • variable nodes such as (two corresponding bit bits) of variable nodes connected to the check node simultaneously cause an error such as erasure
  • all check nodes are connected to the check node, as shown in FIG.
  • the probability that the value is 0 and the probability that the value are 1 return messages with equal probability. For this reason, if multiple variable nodes connected to the same check node simultaneously become erasures etc., the decoding performance will deteriorate.
  • the LDPC code output from the LDPC encoder 115 in FIG. 8 is, for example, an IRA code, like the LDPC code defined in the standard such as DVB-T.2, and the parity matrix H T of the parity check matrix H is , As shown in FIG. 11, it has a staircase structure.
  • FIG. 11 is a diagram illustrating a parity matrix H T having a staircase structure, an example of a Tanner graph corresponding to the parity matrix H T.
  • a of FIG. 15 shows an example of the parity matrix H T having a step structure
  • B of FIG. 15 shows a Tanner graph corresponding to the parity matrix H T of A of FIG.
  • the value of the parity matrix H T corresponding to the columns of two adjacent elements are set to 1, the two variable nodes adjacent, connected to the same check node There is.
  • the parity interleaver 23 (FIG. 9) performs parity interleaving to interleave the parity bits of the LDPC code from the LDPC encoder 115 at the positions of other parity bits in order to prevent the deterioration of the decoding performance described above. .
  • FIG. 16 is a diagram showing a parity matrix H T of a parity check matrix H corresponding to an LDPC code after parity interleaving performed by the parity interleaver 23 of FIG.
  • the information matrix HA of the parity check matrix H corresponding to the LDPC code output from the LDPC encoder 115 is the same as the information matrix of the parity check matrix H corresponding to the LDPC code defined in the standard such as DVB-T. 2
  • the structure is cyclic.
  • a cyclic structure is a structure in which a certain column matches the cyclic shift of another column.
  • the position of 1 in each row of the P column is the first of the P column
  • the position of the column of is 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.
  • the P sequence in the cyclic structure is referred to as a parallel factor.
  • the parallel factor P is defined to 360, which is one of the divisors of parity length M except 1 and M.
  • the parity interleaver 23 assumes that the information length is K, and an integer between 0 and P is x, and an integer between 0 and q is y.
  • the K + qx + y + 1st code bit is interleaved at the position of the K + Py + x + 1st code bit.
  • the K + qx + y + 1st code bit and the K + Py + x + 1st code bit are both parity bits since they are the K + 1 and subsequent code bits, and hence parity According to the interleaving, the position of the parity bit of the LDPC code is moved.
  • the LDPC code after parity interleaving that interleaves the K + qx + y + 1st code bit at the position of the K + Py + x + 1st code bit is the K + qx + of the original parity check matrix H. It matches the LDPC code of a parity check matrix (hereinafter, also referred to as a transformed parity check matrix) obtained by performing column permutation in which the (y + 1) th column is replaced with the (K + Py + x + 1) th column.
  • a parity check matrix hereinafter, also referred to as a transformed parity check matrix
  • the pseudo cyclic structure means a structure in which a part excluding a part is a cyclic structure.
  • a converted parity check matrix obtained by performing column permutation corresponding to parity interleaving on a parity check matrix of an LDPC code defined in a standard such as DVB-T.2 has 360 rows of the upper right corner of the transform parity check matrix ⁇
  • a part of 360 columns (a shift matrix to be described later) does not have only one element (it is an element of 0), and in that respect it is not a (perfect) cyclic structure but a pseudo cyclic structure ing.
  • the transformation parity check matrix for the parity check matrix of the LDPC code output from the LDPC encoder 115 has, for example, a pseudo cyclic structure similar to the transformation parity check matrix for the parity check matrix of the LDPC code defined in the standard such as DVB-T.2. ing.
  • the transformed parity check matrix in FIG. 16 is a row permutation for causing the transformed parity check matrix to be configured by a configuration matrix described later, in addition to column permutation corresponding to parity interleaving with respect to the original parity check matrix H. It is a matrix that is also subjected to (row substitution).
  • FIG. 17 is a flowchart illustrating processing performed by the LDPC encoder 115, the bit interleaver 116, and the mapper 117 of FIG.
  • the LDPC encoder 115 waits for the LDPC target data to be supplied from the BCH encoder 114, and encodes the LDPC target data into an LDPC code in step S101, and supplies the LDPC code to the bit interleaver 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 a symbol 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 the LDPC code after the parity interleaving is processed as a group-wise interleave. It is supplied to the lever 24.
  • the group-wise interleaver 24 subjects the LDPC code from the parity interleaver 23 to group-wise interleaving and supplies the block interleaver 25 with the group-wise interleaving.
  • the block interleaver 25 performs block interleaving on the LDPC code after group-wise interleaving by the group-wise interleaver 24, and supplies the resulting m-bit symbols to the mapper 117.
  • step S103 the mapper 117 maps the symbols from the block interleaver 25 to any of 2 m signal points determined by the modulation scheme of the quadrature modulation performed by the mapper 117, and quadrature modulates the result.
  • the data is provided to time interleaver 118.
  • the parity interleaver 23, which is a block for performing parity interleaving, and the group-wise interleaver 24, which is a block for performing group-wise interleaving, are separately configured.
  • the parity interleaver 23 and the group-wise interleaver 24 can be integrally configured.
  • both parity interleaving and group-wise interleaving can be performed by writing and reading code bits to and from the memory, and an address for writing code bits (write address) is an address for reading code bits. It can be represented by a matrix that converts to (read address).
  • parity interleaving is performed by converting code bits by these matrices, and further, The result of group-wise interleaving of the LDPC code after parity interleaving 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 for converting the write address of the memory storing the LDPC code into the read address.
  • parity interleaving, group-wise interleaving, and block are performed according to those matrices. Interleaving can be performed collectively.
  • FIG. 18 is a block diagram showing a configuration example of the LDPC encoder 115 of FIG.
  • the LDPC encoder 122 of FIG. 8 is similarly configured.
  • the LDPC encoder 115 performs, for example, such coding (error correction coding) with an LDPC code of each code rate N of 64800 bits or 16200 bits for each code length N and for each code rate. It can be performed according to the prepared check matrix H.
  • the LDPC encoder 115 has a coding rate of 2/16, 3/16, 4/16, 5/16, 6/16, 7/16, where the code length N is 17280 bits or any other code length N.
  • the LDPC encoder 115 includes an encoding processing unit 601 and a storage unit 602.
  • the coding processing unit 601 includes a coding rate setting unit 611, an initial value table reading unit 612, a check matrix generation unit 613, an information bit reading unit 614, a coding parity calculation unit 615, and a control unit 616.
  • LDPC encoding of the LDPC target data supplied to 115 is performed, and the resulting LDPC code is supplied to the bit interleaver 116 (FIG. 8).
  • the coding rate setting unit 611 sets the code length N of the LDPC code, the coding rate r, and other specific information for specifying the LDPC code, for example, according to the operation of the operator.
  • the initial value table reading unit 612 reads a parity check matrix initial value table, which will be described later, representing a parity check matrix of the LDPC code specified by the specific information set by the coding rate setting unit 611 from the storage unit 602.
  • a check matrix H is generated by arranging one element at a period of 360 columns (parallel factor P) in the column direction, and stored in the storage unit 602.
  • the information bit reading unit 614 reads (extracts) information bits for the information length K from the LDPC target data supplied to the LDPC encoder 115.
  • the encoding parity operation unit 615 reads out the parity check matrix H generated by the parity check matrix generation unit 613 from the storage unit 602, and uses the parity check matrix H to specify parity bits for the information bits read out by the information bit read out unit 614
  • a code word (LDPC code) is generated by calculation based on a formula.
  • the control unit 616 controls each block constituting the encoding processing unit 601.
  • a plurality of parity check matrix initial value tables corresponding to the plurality of coding rates shown in FIGS. 12 and 13 for code lengths N such as 64800 bits and 16200 bits, and The coding rate is 2/16, 3/16, 4/16, 5/16, 6/16, 7/16, 8/16, 9/16, 10/16, 11 / for a length N of 17280 bits.
  • Parity check matrix initial value table corresponding to each of 16, 12/16, 13/16, 14/16, and parity check matrix initial value table of parity check matrix H of LDPC code of arbitrary code rate r with other arbitrary code length N Is stored.
  • the storage unit 602 temporarily stores data necessary for the processing of the encoding processing unit 601.
  • FIG. 19 is a flowchart for explaining an example of processing of the LDPC encoder 115 of FIG.
  • step S201 the coding rate setting unit 611 sets a code length N for performing LDPC encoding, a coding rate r, and other specific information for specifying an LDPC code.
  • step S202 the initial value table reading unit 612 determines a predetermined check matrix initial value table specified by the code length N as the specific information set by the coding rate setting unit 611, the coding rate r, and the like. , Read from the storage unit 602.
  • step S203 the parity check matrix generation unit 613 uses the parity check matrix initial value table read from the storage unit 602 by the initial value table reading unit 612, and sets 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 operation unit 615 sequentially operates the parity bits of the codeword c satisfying Expression (8) using the information bits from the information bit reading unit 614 and the parity check matrix H.
  • c represents a row vector as a codeword (LDPC code), and c T represents transposition of the row vector c.
  • step S206 the control unit 616 determines whether to end the LDPC encoding. If it is determined in step S206 that the end of LDPC encoding is not determined, that is, for example, there is still LDPC target data to be subjected to LDPC encoding, the process returns to step S201 (or step S204). The processes of S201 (or step S204) to S206 are repeated.
  • step S206 when it is determined in step S206 that the LDPC encoding is to be ended, that is, for example, there is no LDPC target data to be subjected to LDPC encoding, the LDPC encoder 115 ends the processing.
  • a parity check matrix initial value table (representing a parity check matrix) of LDPC codes of various code lengths N and coding rates r can be prepared in advance.
  • the LDPC encoder 115 can perform LDPC coding to 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 may be, for example, an information matrix H A (corresponding to an information length K corresponding to a code length N of an LDPC code (LDPC code defined by the parity check matrix H) and a coding rate r in parity check matrix H).
  • FIG. 10 is a table showing the position of the element 1 in 360 columns (parallel factor P), and is created in advance for each code length N and each parity check matrix H of each coding rate r.
  • the parity check matrix initial value table represents at least the position of one element of the information matrix H A for every 360 columns (parallel factor P).
  • parity check matrix H a parity check matrix in which all of the parity matrices H T have a staircase structure, and a part of the parity matrix H T have a staircase structure, and the remaining portions are diagonal matrices (unit matrix There is a check matrix that is).
  • a method of expressing a parity check matrix initial value table representing a parity check matrix in which a part of the parity matrix H T has a step structure and the remaining part is a diagonal matrix is also referred to as a type A method.
  • a method of expressing a parity check matrix initial value table representing a parity check matrix in which all of the parity matrices H T have a step structure is also referred to as a type B method.
  • the LDPC code for the parity check matrix represented by the type A parity check matrix initial value table is also referred to as type A code
  • the LDPC code for the parity check matrix represented by the type B parity check matrix initial value table is also referred to as type B code.
  • the designations "type A” and “type B” are designations in accordance with the ATSC 3.0 standard. For example, in ATSC 3.0, both Type A code and Type B code are adopted.
  • type B codes are adopted.
  • FIG. 20 is a diagram illustrating an example of a parity check matrix initial value table of the type B method.
  • FIG. 20 shows that the code rate N is 16200 bits and the coding rate (the coding rate on the notation of DVB-T. 2) r is 1 ⁇ 4, as defined in the DVB-T. 2 standard.
  • a parity check matrix initial value table (representing parity check matrix H) of type B code is shown.
  • the parity check matrix generation unit 613 obtains the parity check matrix H as follows using the parity check matrix initial value table of the type B method.
  • FIG. 21 is a diagram for 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 of a type B code having a code length N of 16200 bits and a coding rate r of 2/3 defined in the DVB-T. 2 standard.
  • the type B parity check matrix initial value table has 360 columns of positions of all 1 elements of the information matrix H A corresponding to the information length K according to the code length N of the LDPC code and the coding rate r (parallel factor P) is a table representing every row, in the i-th row, the row number of the 1 element of the 1 + 360 ⁇ (i ⁇ 1) column of the parity check matrix H (the row number of the first row of the parity check matrix H Row numbers to be 0) are arranged by 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 the step 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 of the type-B parity check matrix initial value table differs depending on the information length K.
  • Equation (9) holds between the information length K and the number of rows k + 1 of the parity check matrix initial value table.
  • the column weights of the parity check matrix H determined from the parity check matrix initial value table of FIG. 21 are 13 from the first column to 1 + 360 ⁇ (3-1) ⁇ 1th column, and 1 + 360 ⁇ (3-1) From the column to the K column are three.
  • the first row of the parity check matrix initial value table in FIG. 21 is 0, 2084, 1613, 1548, 1286, 1460, 3196, 4297, 2481, 3369, 3451, 4620, 2622, which corresponds to the parity check matrix H
  • the row number is 0, 2084, 1613, 1548, 1286, 1460, 3196, 4297, 2481, 3369, 3451, 4620, 2622
  • the element of the row is 1 (and the other elements Indicates that 0 is 0).
  • the second line of the parity check matrix initial value table in FIG. 21 is 1,122, 1516, 3448, 2880, 1407, 1847, 3799, 3529, 373, 971, 4358, 3108, which corresponds to 361 of parity check matrix H.
  • the row number is 1, 122, 1516, 3448, 2880, 1407, 1847, 3799, 3529, 373, 971, 4358, 3108, indicating that the element is 1 ing.
  • the parity check matrix initial value table represents the position of one element of the information matrix H A of the parity check matrix H for every 360 columns.
  • the columns other than the 1 + 360 ⁇ (i ⁇ 1) -th column of the parity check matrix H, that is, each column from the 2 + 360 ⁇ (i ⁇ 1) -th column to the 360 ⁇ ith column is a parity check matrix initial value table
  • the first element of the 1 + 360 ⁇ (i ⁇ 1) th column, which is determined by the above, is cyclically cyclically arranged in the downward direction (downward direction of the column) according to the parity length M.
  • the numerical value of the j-th column (j-th from the left) in the i-th row (i-th from the top) of the parity check matrix initial value table is denoted as h i, j and j in the w-th column of the parity check matrix H
  • the row number H of the element of column 1 in column w other than the column 1 + 360 ⁇ (i ⁇ 1) of parity check matrix H w j can be obtained by equation (10).
  • mod (x, y) means the remainder of dividing x by y.
  • P is the parallel factor described above, and in the present embodiment, it is 360, as in the DVB-T. 2 or the like and the ATSC 3.0 standard, for example.
  • the parity check matrix generation unit 613 (FIG. 18) specifies the row number of the element 1 in the (1 + 360 ⁇ (i ⁇ 1))-th column of the parity check matrix H using the parity check matrix initial value table.
  • the parity check matrix generation unit 613 (FIG. 18) generates the row number H wj of the element of 1 in the w-th column other than the 1 + 360 ⁇ (i ⁇ 1) -th column of the parity check matrix H According to 10), a parity check matrix H is generated in which the element of the row number obtained by the above is one.
  • FIG. 22 shows the structure of a parity check matrix H of the type A system.
  • the type A parity check matrix is composed of an A matrix, a B matrix, a C matrix, a D matrix, and a Z matrix.
  • the B matrix is a matrix with a staircase structure adjacent to the right of the A matrix, of M1 row and M1 column.
  • the C matrix is a matrix adjacent to the bottom of the A matrix and the B matrix of N ⁇ K ⁇ M1 rows and K + M1 columns.
  • the D matrix is an identity matrix adjacent to the right of the C matrix of N ⁇ K ⁇ M1 rows and N ⁇ K ⁇ M1 columns.
  • the Z matrix is a zero matrix (0 matrix) adjacent to the right of the B matrix of M1 rows and N-K-M1 columns.
  • the type A parity check matrix H configured by the above A matrix to D matrix and Z matrix
  • a part of the A matrix and the C matrix constitute an information matrix
  • the B matrix, The rest of the C matrix, the D matrix, and the Z matrix make up the parity matrix.
  • the B matrix is a matrix with a step structure
  • the D matrix is a unit matrix. Therefore, part (the portion of the B matrix) of the parity matrix of the parity check matrix H of type A has a step structure. , And the remaining part (part of D matrix) is a diagonal matrix (unit matrix).
  • the A matrix and the C matrix have a cyclic structure for each column (for example, 360 columns) of parallel factors P, similarly to the information matrix of the parity check matrix H of the type B scheme, and the parity check matrix initial value table of the type A scheme Represents the position of one element of the A matrix and the C matrix every 360 columns.
  • a type A parity check matrix representing positions of 1 elements of the A matrix and C matrix for every 360 columns
  • the initial value table can be said to represent at least positions of one element of the information matrix every 360 columns.
  • the type A parity check matrix initial value table represents the positions of 1 elements of the A matrix and C matrix for every 360 columns, the 1 element of part of the check matrix (the remaining part of the C matrix) 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 of the type A system.
  • FIG. 23 shows an example of a parity check matrix initial value table representing a parity check matrix H having 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 one element of the A matrix and the C matrix for each parallel factor P, and in its i-th row, 1 + P ⁇ (parity check matrix H) i-1)
  • a row number of an element of row 1 (row number where row number of row 1 of parity check matrix H is 0) is a column of the 1 + P ⁇ (i-1) th column It is arranged by the number of weights.
  • the parallel factor P is assumed to be 5, for example.
  • parity check matrix H of the type A system there are M1, M2, Q1, and Q2 as parameters.
  • M1 (FIG. 22) is a parameter for determining the size of the B matrix, and takes multiples of the parallel factor P.
  • M1 the performance of the LDPC code changes and is adjusted to a predetermined value when determining the parity check matrix H.
  • it is assumed that 15 which is three times the parallel factor P 5 is adopted as M1.
  • M2 (FIG. 22) takes a value M-M1 obtained by subtracting M1 from the parity length M.
  • each column is cyclically shifted by arranging the 1 element of the 1 + P ⁇ (i ⁇ 1) -th column determined downward by the parity check matrix initial value table in the downward direction (downward direction of the column).
  • Q 1 represents the number of shifts of that cyclic shift in the A matrix.
  • each column is cyclically shifted by arranging the 1 element of the 1 + P ⁇ (i ⁇ 1) -th column determined downward by the parity check matrix initial value table in the downward direction (downward direction of the column).
  • Q2 represents the number of shifts of that cyclic shift in the C matrix.
  • the parity check matrix initial value table of FIG. 23 three numerical values are arranged in the first and second lines, and one numerical value is arranged in the third to fifth lines.
  • the first row of the parity check matrix initial value table of FIG. 23 is 2, 6, 18 and this corresponds to the row of row 2, 6, 18 in the first column of parity check matrix H. It indicates that the element is 1 (and that the other elements are 0).
  • the A matrix (FIG. 22) is a matrix of 15 rows and 10 columns (M1 row and K columns), and the C matrix (FIG. 22) is 10 rows and 25 columns (NK-M1 row K + M1). Since the row of row numbers 0 to 14 of parity check matrix H is a row of matrix A, the row of row numbers 15 to 24 of parity check matrix H is a row of C matrix.
  • rows # 2 and # 6 among the rows with row numbers 2, 6 and 18 are rows of the A matrix, and rows # 18 is a row of the C matrix.
  • rows # 2 and # 10 among rows # 2, # 10, and # 19 are rows of A matrix.
  • row # 19 is a row of the C matrix.
  • row # 22 is a row of C matrix.
  • the (2 + 5 ⁇ (i ⁇ 1) th column is a cyclic shift downward by Q1).
  • the (2 + 5 ⁇ (i ⁇ 1) th column is a cyclic shift downward by Q2).
  • FIG. 24 is a diagram showing an 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 A matrix and B matrix after parity interleaving of 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 parity check matrix generation unit 613 (FIG. 18) generates a C matrix using the parity check matrix initial value table, and arranges the C matrix below the A matrix and the B matrix (after parity interleaving).
  • parity check matrix generation unit 613 arranges the Z matrix on the right of the B matrix, and arranges the D matrix on the right of the C matrix, and generates the parity check matrix H shown in FIG.
  • FIG. 27 is a diagram illustrating parity interleaving of the D matrix.
  • FIG. 27 shows the parity check matrix H after parity interleaving of the D matrix is performed on the parity check matrix H of FIG.
  • the LDPC encoder 115 (the encoding parity operation unit 615 (FIG. 18)) performs, for example, LDPC encoding (generation of an LDPC code) using the parity check matrix H of FIG.
  • the LDPC code generated using parity check matrix H in FIG. 27 is an LDPC code subjected to parity interleaving. Therefore, for the LDPC code generated using parity check matrix H in FIG. It is not necessary to perform parity interleaving in the parity interleaver 23 (FIG. 9). That is, since the LDPC code generated using parity check matrix H after parity interleaving of the D matrix becomes an LDPC code subjected to parity interleaving, parity interleaving in the parity interleaver 23 is performed for this LDPC code. Is skipped.
  • FIG. 28 shows that parity interleaving is restored to the B matrix of the parity check matrix H of FIG. 27, a part of the C matrix (the part of the C matrix located below the B matrix), and the D matrix. It is a figure which shows the test matrix H which performed column permutation (column permutation) as parity deinterleaving.
  • the LDPC encoder 115 can perform LDPC coding (LDPC code generation) using the parity check matrix H of FIG.
  • parity interleaving is performed in parity interleaver 23 (FIG. 9).
  • FIG. 29 is a view showing a transformed parity check matrix H obtained by performing row permutation on the parity check matrix H of FIG.
  • the transformation parity check matrix is a P ⁇ P unit matrix, a quasi unit matrix in which one or more of the unit matrices become 1 or 0, a shift matrix obtained by cyclically shifting the unit matrix or the quasi unit matrix, It is a sum matrix which is a sum of two or more of an identity matrix, a quasi identity matrix, or a shift matrix, and a matrix represented by a combination of P ⁇ P 0 matrices.
  • the type A code or type B code corresponding to the parity check matrix H of the cyclic structure may be adopted as the parallel factor P is 360 similar to DVB-T.2 or ATSC 3.0 etc. it can.
  • the LDPC encoder 115 (FIG. 8 and FIG. 18) has a code length N longer than 64 k bits, for example, 69120 bits, and a coding rate r of, for example, 2/16, 3/16, 4/16, 5
  • Checking 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 to an LDPC code can be performed using (a parity check matrix H obtained from) a matrix initial value table.
  • the LDPC encoder 115 has a code length N shorter than 64 k bits, for example, 17280 bits (17 k bits) as follows, and the coding rate r is, for example, 2/16, 3/16, 4 / 16, 5/16, 6/16, 7/16, 16/16, 9/16, 10/16, 11/16, 12/16, 13/16, or any of 14/16 LDPC encoding to a new LDPC code can be performed using (a parity check matrix H obtained from) a parity check matrix initial value table of the new LDPC code.
  • the storage unit 602 of the LDPC encoder 115 (FIG. 8) stores a parity check matrix initial value table of the new LDPC code.
  • a type A code of r 4/16
  • a type A code of r 7/16
  • a type B code of r 10/16
  • a type B code of r 11/16
  • a type B code of r 13/16
  • a type B code of r 14/16
  • the new LDPC code has become a high performance LDPC code.
  • a good-performance LDPC code is an LDPC code obtained from an appropriate parity check matrix H.
  • An appropriate parity check matrix H is, for example, when the LDPC code obtained from the parity check matrix H is transmitted at 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)) smaller, a check matrix satisfying a predetermined condition.
  • An appropriate parity check matrix H can be obtained, for example, by performing a simulation to measure BER when an LDPC code obtained from various parity check matrices satisfying a predetermined condition is transmitted at a low E s / N o .
  • the cycle 4 is an element of 1 There is no loop, etc.
  • parity check matrix H the minimum value of the loop length (loop length) formed by elements of 1 is called girth.
  • the absence of cycle 4 means that the girth is greater than four.
  • the predetermined condition to be satisfied by the appropriate parity check matrix H can be appropriately determined from the viewpoint of improvement in the decoding performance of the LDPC code, facilitation (simplification) of the decoding process of the LDPC code, and the like.
  • FIGS. 44 and 45 are diagrams for explaining density evolution in which an analysis result is obtained as a predetermined condition that an appropriate 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 later-described degree sequence (degree sequence). It is.
  • the variance of noise when the variance of noise is increased from 0, the expected value of error probability of an ensemble is initially 0, but the variance of noise is greater than or equal to a threshold When it becomes, it is not 0.
  • the performance of the ensemble is improved by comparing the noise variance threshold (hereinafter also referred to as performance threshold) where the expected value of the error probability is not 0. You can decide
  • a good-performance LDPC code can be found among the LDPC codes belonging to the ensemble, if a good-performance ensemble is found.
  • the above-described degree sequence indicates how many variable nodes or check nodes having weights of respective values are present with respect to the code length N of the LDPC code.
  • the weight (column weight) of all variable nodes is 3 and the weight (row weight) of all check nodes is 6 It belongs to the ensemble characterized by the sequence.
  • FIG. 44 shows a Tanner graph of such an ensemble.
  • Each variable node is connected with three edges equal to the column weight, so there are a total of only 3N branches connected to N variable nodes.
  • branches equal to the row weight are connected to each check node, so there are a total of 3N branches connected to N / 2 check nodes.
  • the interleaver randomly rearranges the 3N branches connected to the N variable nodes, and each branch after the rearrangement is connected to the N / 2 check nodes of the 3N branches. Connect to one of the houses.
  • an interleaver through which a branch connected to a variable node and a branch connected to a check node pass is divided into multiple (multi edges), whereby characterization of the ensemble is more Strictly done.
  • FIG. 45 shows an example of a Tanner graph of a multi-edge type ensemble.
  • the Tanner graph in FIG. 45 there is one branch connected to the first interleaver, and only one variable node connected to the second interleaver has 0 variable nodes, and one branch connected to the first interleaver.
  • the branch connected to the second interleaver has only two variable nodes with two branches, the branch connected to the first interleaver has zero branches, and the branch connected to the second interleaver has only two variable nodes v3 each Exists.
  • the Tanner graph of FIG. 45 there are two branches connected to the first interleaver, only one check node c connected to the second interleaver, and two branches connected to the first interleaver.
  • the branch connected to the second interleaver has only two check nodes c2
  • the branch connected to the first interleaver has zero branches
  • the branch connected to the second interleaver has only three check nodes c3 Exists.
  • the BER starts to fall (becomes smaller) E b / N 0 (signal power to noise power ratio per bit) by multi-edge type density evolution Find an ensemble whose performance threshold is less than or equal to a predetermined value, and select an LDPC code that reduces the BER when using one or more orthogonal modulations such as QPSK among LDPC codes belonging to the ensemble as a good LDPC code. Selected.
  • the new LDPC code (a parity check matrix initial value table representing the parity check matrix) was obtained by the above simulation.
  • FIG. 46 is a diagram for explaining column weights of a parity check matrix H of a type A code as a new LDPC code.
  • the column weights of the first column to the K1 column of the A matrix and the C matrix are X1
  • the column weights of the subsequent K2 columns of the A matrix and the C matrix Let X3 be the column weight of the K3 column after the X matrix and the A matrix and the C matrix, and XM1 be the column weight of the M1 column after the C matrix.
  • K1 + K2 + K3 is equal to the information length K
  • the column weight of the first column to the column M1-1 of the B matrix is 2, and the column weight of the M1 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 parameters of parity check matrix H of type A code (represented by parity check matrix initial value table) in FIG. 30 to FIG.
  • K, X1, K1, X2, X2, K2, X3, K3 as parameters of the parity check matrix H of the type A code of r 2/16, 3/16, 4/16, 5/16, 6/6, 16 and 17/16 , XM1, M1, and M2 are as shown in FIG.
  • the parameters X1, K1, X2, K2, X3, K3, XM1 and M1 are set so as to further improve the performance (for example, error rate etc.) of the LDPC code.
  • FIG. 48 is a diagram for explaining column weights of a parity check matrix H of a type B code as a new LDPC code.
  • the column weight of the first column to the KX1 column is X1
  • the column weight of the subsequent KX2 column is X2
  • the subsequent column weight of the KX3 column is X3.
  • the column weight of the subsequent KX4 column is represented by X4
  • the column weight of the subsequent KY1 column is represented by Y1.
  • KX1 + KX2 + KX3 + KX4 + KY1 is equal to the information length K
  • the column weight of the M-1 column excluding the last one of the last M columns is 2, and the column weight of the last one is 1.
  • FIG. 49 is a diagram showing parameters of the parity check matrix H of the type B code (represented by the parity check matrix initial value table) in FIGS.
  • the parameters X1, KX1, X2, KX2, X3, KX3, X4, KX4, Y1, and KY1 are set so as to further improve the performance of the LDPC code.
  • 50 to 74 show examples of constellations that can be employed in the transmission system of FIG.
  • a constellation used in MODCOD can be set for MODCOD which is a combination of a modulation scheme (MODulation) and an LDPC code (CODe).
  • MODCOD which is a combination of a modulation scheme (MODulation) and an LDPC code (CODe).
  • one or more constellations can be set.
  • the constellation includes UC (Uniform Constellation) in which the arrangement of signal points is uniform, and NUC (Non Uniform Constellation) in which the constellation of signal points is nonuniform.
  • UC Uniform Constellation
  • NUC Non Uniform Constellation
  • NUC for example, a constellation called 1D-NUC (1-dimensional (M 2 -QAM) non-uniform constellation) or a constellation called 2D-NUC (2-dimensional (Q QAM) non-uniform constellation).
  • 1D-NUC improves BER over UC
  • 2D-NUC improves BER over 1D-NUC
  • the constellation with modulation scheme QPSK is UC.
  • UC or 2D-NUC can be adopted as a modulation scheme of 16 QAM, 64 QAM, 256 QAM or the like, and UC or 1 D can be employed as a modulation scheme of 1024 QAM or 4096 QAM, for example.
  • -NUC can be adopted.
  • constellations defined in ATSC 3.0, DVB-C. 2 or the like, 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 16 QAM, 64 QAM, or 256 QAM, for example, the same UC can be used for each coding rate r of the LDPC code. Furthermore, when the modulation scheme is 16 QAM, 64 QAM, or 256 QAM, for example, different 2D-NUC can be used for each coding rate r of the LDPC code.
  • the modulation scheme is 1024 QAM or 4096 QAM, for example, the same UC can be used for each coding rate r of the LDPC code. Furthermore, when the modulation scheme is 1024 QAM or 4096 QAM, for example, different 1D-NUCs can be used for each coding rate r of the LDPC code.
  • the UC of QPSK described with QPSK-UC
  • the UC of 2 m QAM also referred to as 2 m QAM-UC
  • the 1D-NUC and 2D-NUC of 2 m QAM respectively, also referred to as 2 m QAM-1D-NUC and 2 m QAM-2D-NUC.
  • FIG. 50 is a diagram showing coordinates of QPSK-UC signal points used for all coding rates of the LDPC code defined 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 z s ” represents the coordinates of signal point z s .
  • the index s of the signal point z s (as well as the index q of the signal point z q described later) represents the discrete time of the symbol (time interval between one symbol and the next symbol).
  • the coordinates of the signal point z s are represented in the form of a complex number, and j represents an imaginary unit ( ⁇ ( ⁇ 1)).
  • FIG. 15 is a diagram showing coordinates of signal points of 16 QAM-2D-NUC used for 15, 7/15, 8/15, 9/15, 10/15, 11/15, 12, 15, 13/15.
  • the coordinates of the signal point z s are represented in the form of a complex number, and j represents an imaginary unit.
  • w # k represents the coordinates of the signal point in the first quadrant of the constellation.
  • the signal point in the second quadrant of the constellation is placed at a position where the signal point in the first quadrant is moved symmetrically with respect to the Q axis, and the signal point in the third quadrant of the constellation is The signal points in one quadrant are arranged at positions moved symmetrically with respect to the origin. Then, the signal point in the fourth quadrant of the constellation is placed at a position where the signal point in the first quadrant is moved symmetrically with respect to the I axis.
  • the modulation scheme is 2 m QAM
  • one symbol is mapped to a signal point corresponding to the symbol, with m bits as one symbol.
  • An m-bit symbol can be represented by, for example, an integer value of 0 to 2 m -1.
  • b 2 m / 4
  • a symbol represented by an integer value of 0 to 2 m -1 y (0), y (1),..., y (2 m -1) are symbols y (0) to y (b-1), y (b) to y (2b-1), y (2). 2b) to y (3b-1) and y (3b) to y (4b-1).
  • the suffix k of w # k takes an integer value in the range of 0 to b-1, and w # k indicates the symbol y (k) in the range of symbols y (0) to y (b-1). Represents the coordinates of the signal point corresponding to.
  • the coordinates of the signal point corresponding to the symbol y (k + b) in the range of symbols y (b) to y (2b-1) are represented by -conj (w # k), and the symbols y (2b) to y (2b)
  • the coordinates of the signal point corresponding to the symbol y (k + 2b) in the range of y (3b-1) are represented by conj (w # k).
  • the coordinates of the signal point corresponding to the symbol y (k + 3b) in the range of the symbols y (3b) to y (4b-1) are represented by -w # k.
  • conj (w # k) represents the complex conjugate of w # k.
  • the modulation scheme is 16QAM
  • the symbols y It is classified into four of (0) to y (3), y (4) to y (7), y (8) to y (11), and y (12) to y (15).
  • the coding rate r (CR) of the LDPC code is, for example, 9/15
  • FIG. 53 is a diagram showing the relationship between the symbol y of 1024 QAM and (the component u # k of) the position vector u.
  • a of FIG. 53 shows the even-numbered 5 bits y 1, s , y 3, s 5, y 5, s 7, y 7, s 9, y 9, s of the symbol y and the signal point z s corresponding to the symbol y.
  • FIG. 53 shows the odd-numbered 5 bits y 0, s , y 2, y 2, s , y 4, s 6, y 6, s , y 8, s of the symbol y and the signal point z s corresponding to the symbol y Represents the correspondence with u # k, which represents the imaginary part Im (z s ) of
  • a 10-bit symbol of 1024 QAM y (y 0, s , y 1, s , y 2, s , y 3, s , y 4, s , y 5, s , y 6, s , y 7, s , y If , for example, ( 8, s , y 9, s ) are ( 0, 0, 1, 0, 0, 1, 1, 1, 0, 0), then the odd-numbered 5 bits (y 0, s , y) 2, s , y 4, s , y 6, s 8, 8 ) are (0, 1, 0, 1, 0), and the even-numbered 5 bits (y 1, s , y 3, s) , Y 5, s , y 7, s , y 9, s ) are (0, 0 , 1 , 1, 0).
  • the modulation scheme is 1024 QAM and the coding rate r (CR) of the LDPC code is 6/15.
  • u3 is 0.1295 and u11 is 0.7196.
  • the signal points of the 1D-NUC are arranged in a lattice on a straight line parallel to the I axis or a straight line parallel to the Q axis in the constellation.
  • the interval between signal points is not constant.
  • the average power of the signal points on the constellation can be normalized for transmission of the signal points (the data mapped to them). Normalization the signal points on the constellation of the mean square value of the absolute values for all (coordinates) and is represented as P ave, the reciprocal of the square root ⁇ p ave mean square value P ave 1 / ( ⁇ It can be done by multiplying P ave ) by each signal point z s on the constellation.
  • the constellation defined in ATSC 3.0 as described above can be used.
  • FIG. 54 to 65 show coordinates of signal points of UC defined in DVB-C.2.
  • FIG. 54 to 65 show coordinates of signal points of UC defined in DVB-C.2.
  • FIG. 54 is a diagram showing the real part Re (z q ) of the coordinate z q of the signal point of QPSK-UC (UC in QPSK) defined in DVB-C.2.
  • FIG. 55 is a diagram showing an imaginary part Im (z q ) of coordinates z q of a signal point of QPSK-UC specified in DVB-C.2.
  • FIG. 56 is a diagram illustrating a real part Re (z q ) of coordinates z q of a signal point of 16 QAM-UC (UC of 16 QAM) defined in DVB-C.2.
  • FIG. 57 is a diagram showing an imaginary part Im (z q ) of coordinates z q of a 16 QAM-UC signal point defined in DVB-C.2.
  • FIG. 58 is a diagram illustrating a real part Re (z q ) of coordinates z q of a signal point of 64 QAM-UC (UC of 64 QAM) defined in DVB-C.2.
  • FIG. 59 is a diagram showing an imaginary part Im (z q ) of coordinates z q of a 64 QAM-UC signal point defined in DVB-C.2.
  • FIG. 60 is a diagram illustrating a real part Re (z q ) of coordinates z q of a signal point of 256 QAM-UC (UC of 256 QAM) defined in DVB-C.2.
  • FIG. 61 is a diagram showing an imaginary part Im (z q ) of coordinates z q of a 256 QAM-UC signal point defined in DVB-C.2.
  • FIG. 62 is a diagram illustrating a real part Re (z q ) of coordinates z q of a signal point of 1024 QAM-UC (UC of 1024 QAM) defined in DVB-C.2.
  • FIG. 63 is a diagram showing an imaginary part Im (z q ) of coordinates z q of a signal point of 1024 QAM-UC specified in DVB-C.2.
  • FIG. 64 is a diagram illustrating a real part Re (z q ) of coordinates z q of a signal point of 4096 QAM-UC (UC of 4096 QAM) defined in DVB-C.2.
  • FIG. 65 is a diagram showing an imaginary part Im (z q ) of coordinates z q of a 4096 QAM-UC signal point defined in DVB-C.2.
  • y i, q represents the i + 1 bit from the head of the 2 m QAM m bit (for example, 2 bits in QPSK) symbol.
  • the average power of the constellation points on the constellation can be normalized when transmitting (the data mapped to) the UC constellation points. Normalization the signal points on the constellation of the mean square value of the absolute values for all (coordinates) and is represented as P ave, the reciprocal of the square root ⁇ p ave mean square value P ave 1 / ( ⁇ It can be done by multiplying P ave ) by each signal point z q on the constellation.
  • the UC defined in DVB-C.2 as described above can be used.
  • the code length N is 17280 bits and the coding rate r is 2/16, 3/16, 4/16, 5/16, 6/16, 16/7, 16/16,
  • the new LDPC codes (corresponding to the parity check matrix initial value table) of 9/16, 10/16, 11/16, 12/16, 13/16, and 14/16 are shown in FIGS. 54 to 65. Can be used.
  • FIG. 66 is a diagram showing an example of coordinates of a signal point of 16 QAM-2D-NUC that can be used for the new LDPC code.
  • FIG. 67 is a diagram showing an example of coordinates of a signal point of 64 QAM-2D-NUC that can be used for a new LDPC code.
  • 68 and 69 are diagrams showing examples of coordinates of signal points of 256 QAM-2D-NUC that can be used for a new LDPC code.
  • FIG. 69 is a view following FIG. 68.
  • the coordinates of the signal point z s are represented in the form of a complex number, and j represents an imaginary unit.
  • w # k represents the coordinates of the signal point in the first quadrant of the constellation, as in FIG.
  • the symbols y (0), y (1),..., Y (2 m -1) represented by are symbols y (0) to y (b-1), y (b) to y (2b-). 1), y (2b) to y (3b-1), and y (3b) to y (4b-1).
  • the suffix k of w # k takes an integer value in the range of 0 to b-1, and w # k indicates symbols y (0) to y (b-1). Represents the coordinates of the signal point corresponding to the symbol y (k) in the range of.
  • the coordinates of the signal point corresponding to the symbol y (k + b) in the range of the symbols y (b) to y (2b-1) are represented by -conj (w # k), and the symbol y
  • the coordinates of the signal point corresponding to the symbol y (k + 2b) in the range from (2b) to y (3b-1) are represented by conj (w # k), but in FIG. 66 to FIG. The sign is reversed.
  • FIG. 70 is a diagram showing an example of coordinates of a signal point of 1024 QAM-1D-NUC that can be used for a new LDPC code.
  • FIG. 70 shows real part Re (z s ) and imaginary part Im (z s ) of a complex number as coordinates of signal point z s of 1024 QAM-1 D-NUC, and position vector u (component u # k of) FIG.
  • FIG. 71 is a diagram showing the relationship between the symbol y of 1024 QAM and (the component u # k of) the position vector u of FIG.
  • a of FIG. 71 shows five odd bits (from the top) of the 10-bit symbol y, y 0, s , y 2 , y 4, s 4 , y 6 , y, 8 and its symbol y Represents the correspondence between the signal point z s corresponding to (the coordinates of) and the position vector u # k representing the real part Re (z s ).
  • FIG. 71 shows the even-numbered 5 bits y 1, s , y 3, s 5, y 5, s , y 7, s , y 9, s of the 10-bit symbol y and the signal corresponding to the symbol y It shows the correspondence with the position vector u # k that represents the imaginary part Im (z s ) of the point z s .
  • FIG. 72 is a diagram showing an example of coordinates of a 4096 QAM-1D-NUC signal point that can be used for a new LDPC code.
  • FIG. 72 shows the relationship between the real part Re (z s ) and the imaginary part Im (z s ) of a complex number as coordinates of the signal point z s of 4096 QAM-1 D-NUC, and the position vector u (u # k)
  • FIG. 72 shows the relationship between the real part Re (z s ) and the imaginary part Im (z s ) of a complex number as coordinates of the signal point z s of 4096 QAM-1 D-NUC, and the position vector u (u # k)
  • 73 and 74 are diagrams showing the relationship between the symbol y of 4096 QAM and (the component u # k of) the position vector u of FIG.
  • FIG. 73 shows the odd-numbered 6 bits y 0, s , y 2, s 2 , y 4, s 6, y 6, s , y 8, s , y 10, s of the 12-bit symbol y and their symbols y. It represents the correspondence with the position vector u # k that represents the real part Re (z s ) of the corresponding signal point z s .
  • FIG. 74 shows the even-numbered 6 bits y 1, s , y 3, s , y 5, s , y 7, s , y 9, s , y 11, s of the 12-bit symbol y and its symbol y. It shows the correspondence between the corresponding signal point z s and the position vector u # k representing the imaginary part Im (z s ).
  • the average power of the signal point on the constellation can be normalized. Normalization the signal points on the constellation of the mean square value of the absolute values for all (coordinates) and is represented as P ave, the reciprocal of the square root ⁇ p ave mean square value P ave 1 / ( ⁇ It can be done by multiplying P ave ) by each signal point z s on the constellation. Further, in FIG.
  • the odd-numbered bits of the symbol y are associated with the position vector u # k representing the imaginary part Im (z s ) of the signal point z s and the even-numbered bits of the symbol y Is associated with the position vector u # k representing the real part Re (z s ) of the signal point z s , but in FIG. 71 and FIG. 73 and FIG. represent together is associated with the position vector u # k but representing the real part Re (z s) of the signal point z s, imaginary part Im of the even-numbered bit signal point z s symbol y a (z s) It is associated with the position vector u # k.
  • FIG. 75 is a diagram for explaining block interleaving performed by the block interleaver 25 of FIG.
  • the block interleaving is performed by dividing the LDPC code of one code word into a part called part 1 and a part called part 2 from the top thereof.
  • Npart 1 + Npart 2 is equal to the code length N.
  • a column as a storage area for storing Npart1 / m bits in the column direction as one direction, the number of bits of symbols in the row direction orthogonal to the column direction
  • the columns are arranged by a number m equal to m, and each column is divided into small units of 360 bits which is a parallel factor P from the top. This small unit of column is also called a column unit.
  • writing Part 1 of an LDPC code of one code word from the top to the bottom (column direction) of the first column unit of a column is from left to right. It will be done towards.
  • part 1 of the LDPC code is read out in units of m bits from the first row of all m columns in the row direction. .
  • the m-bit unit of this part 1 is supplied from the block interleaver 25 to the mapper 117 (FIG. 8) as an m-bit symbol.
  • Reading of part 1 in m bits is sequentially performed toward the lower row of m columns, and when reading of part 1 is completed, part 2 is divided into m bits from the beginning, m bits
  • the block interleaver 25 supplies the mapper 117 as a symbol of.
  • part 1 is symbolized while being interleaved
  • part 2 is symbolized by being sequentially divided into m bits without being interleaved.
  • Npart1 / m The length of the column, Npart1 / m, is a multiple of 360, which is a parallel factor P, and so the LDPC code of one code word is part 1 and part 2 so that Npart1 / m is a multiple of 360. Divided into
  • FIG. 76 is a diagram illustrating an example of Part 1 and Part 2 of an LDPC code whose code length N is 69120 bits when the modulation scheme is QPSK, 16 QAM, 64 QAM, 256 QAM, 1024 QAM, and 4096 QAM.
  • Part 1 when the modulation scheme is 1024 QAM, Part 1 is 68400 bits, Part 2 is 720 bits, and the modulation scheme is QPSK, 16 QAM, 64 QAM, 256 QAM, or 4096 QAM, whichever is the case. In this case as well, part 1 is 69,120 bits and part 2 is 0 bits.
  • FIG. 77 is a diagram for explaining group-wise interleaving performed by group-wise interleaver 24 in FIG.
  • one code is divided into 360 bits equal to the parallel factor P from the head of the LDPC code, and 360 bits of the one section are regarded as one bit group as one code.
  • the LDPC code of a word is interleaved in units of bit groups according to a predetermined pattern (hereinafter also referred to as a GW pattern).
  • bit group i the i + 1th bit group from the head when an LDPC code of one code word is divided into bit groups.
  • the GW pattern is represented by a sequence of numbers representing bit groups. For example, for LDPC codes of five bit groups 0, 1, 2, 3, 4 having a code length N of 1,800 bits, for example, GW patterns 4, 2, 0, 3, 1 have bit groups 0, 1, 0, 1 The sequence of 2, 3, 4 is to be interleaved (sorted) in the sequence of bit groups 4, 2, 0, 3, 1.
  • the i + 1st code bit from the head of the LDPC code having a code length N of 1800 bits is represented by x i .
  • bits of LDPC code ⁇ x 0 , x 1 ,..., X 1799 ⁇ are ⁇ x 1440 , x 1441 , ..., 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 has two or more of: LDPC code code length N, coding rate r, modulation scheme, constellation, code length N, coding rate r, modulation scheme, and constellation. It can be set for each combination.
  • FIG. 78 is a diagram showing an example of a GW pattern for an LDPC code with a code length N of 69120 bits.
  • the sequence of bit groups 0 to 191 of the LDPC code of 69,120 bits is the bit groups 191, 12, 188, 158, 173, 48, 75, 146, 113, 15, 51, 119, 132, 161, 91, 189, 142, 93, 120, 29, 156, 101, 100, 22, 65, 98, 153, 127, 74, 39, 80, 38, 130, 148, 81, 13, 24, 125, 0, 174, 140, 124, 5, 68, 3, 104, 136, 63, 162, 106, 8, 25, 182, 178, 90, 96, 79, 168, 172, 128, 64, 69, 102, 45, 66, 86, 155, 163, 6, 152, 164, 108, 9, 111, 16, 177, 53, 94, 85, 72, 32, 147, 184, 117, 30, 54, 34, 70, 149, 157, 109, 73,
  • FIG. 79 is a block diagram showing a configuration example of the receiving device 12 of FIG.
  • An OFDM processing unit (OFDM operation) 151 receives an OFDM signal from the transmitter 11 (FIG. 7) and performs signal processing of the OFDM signal. Data obtained by the OFDM processing unit 151 performing signal processing is supplied to a frame management unit (Frame Management) 152.
  • a frame management unit (Frame Management) 152 receives an OFDM signal from the transmitter 11 (FIG. 7) and performs signal processing of the OFDM signal.
  • Data obtained by the OFDM processing unit 151 performing signal processing is supplied to a frame management unit (Frame Management) 152.
  • the frame management unit 152 processes (frames interprets) a frame composed of data supplied from the OFDM processing unit 151, and obtains a signal of target data obtained as a result thereof and a signal of control data as a frequency deinterleaver. (Frequency Deinterleaver) 161 and 153, respectively.
  • the frequency deinterleaver 153 performs frequency deinterleaving in symbol units on the data from the frame management unit 152, and supplies the data to a demapper 154.
  • the demapper 154 demaps the data (data on the constellation) from the frequency deinterleaver 153 based on the constellation (constellation) of signal points determined by the orthogonal modulation performed on the transmitting device 11 side (signal constellation). Decode and orthogonally demodulate, and the resultant data ((the likelihood of the LDPC code)) is supplied to the LDPC decoder (LDPC decoder) 155.
  • LDPC decoder LDPC decoder
  • the LDPC decoder 155 (decoding unit) performs LDPC decoding of the LDPC code from the demapper 154, and supplies the resulting LDPC target data (here, BCH code) to a BCH decoder (BCH decoder) 156.
  • the BCH decoder 156 performs BCH decoding of the LDPC target data from the LDPC decoder 155, and outputs control data (signaling) obtained as a result.
  • the frequency deinterleaver 161 performs frequency deinterleaving in symbol units on the data from the frame management unit 152, and supplies the data to the SISO / MISO decoder (SISO / MISO decoder) 162.
  • SISO / MISO decoder SISO / MISO decoder
  • the SISO / MISO decoder 162 performs space-time decoding of the data from the frequency deinterleaver 161 and supplies it to a time deinterleaver (Time Deinterleaver) 163.
  • the time deinterleaver 163 deinterleaves the data from the SISO / MISO decoder 162 on a symbol basis and supplies the data to a demapper 164.
  • the demapper 164 demaps the data (data on the constellation) from the time deinterleaver 163 based on the constellation (constellation) of the signal points determined by the orthogonal modulation performed on the transmitting device 11 side (signal constellation). Decoding and quadrature demodulation, and the resulting data is supplied to a bit deinterleaver 165.
  • the bit deinterleaver 165 performs bit deinterleaving of the data from the demapper 164, and supplies (the likelihood of) the LDPC code that is the data after the bit deinterleaving to the LDPC decoder 166.
  • the LDPC decoder 166 performs the LDPC decoding of the LDPC code from the bit deinterleaver 165, and supplies the resulting LDPC target data (here, the BCH code) 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 resultant data to a BB descrambler 168.
  • the BB descrambler 168 subjects the data from the BCH decoder 167 to BB descrambling, and supplies the resulting data to a null deletion unit (Null Deletion) 169.
  • the null removing unit 169 removes the null inserted in the padder 112 of FIG. 8 from the data from the BB descrambler 168, and supplies the null to the demultiplexer (Demultiplexer) 170.
  • the demultiplexer 170 separates each of the one or more streams (target data) multiplexed into the data from the null removal unit 169, performs necessary processing, and outputs the result as an output stream (Output stream).
  • the receiving device 12 can be configured without providing a part of the block 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 respectively corresponding to the time interleaver 118, the SISO / MISO encoder 119, the frequency interleaver 120, and the frequency interleaver 124 of the transmission apparatus 11. And can be configured without providing the frequency deinterleaver 153.
  • FIG. 80 is a block diagram showing a configuration example of the bit de-interleaver 165 of FIG.
  • the bit deinterleaver 165 comprises a block deinterleaver 54 and a groupwise deinterleaver 55, and performs (bit) deinterleaving of symbol bits of symbols which are data from the demapper 164 (FIG. 79).
  • the block deinterleaver 54 performs block deinterleave (a reverse process of block interleaving) corresponding to block interleaving performed by the block interleaver 25 of FIG. 9 on symbol bits of symbols from the demapper 164, ie, block Block deinterleaving is performed to restore the position of (the likelihood of) the code bit of the LDPC code rearranged by interleaving to the original position, and the resulting LDPC code is supplied to the group-wise deinterleaver 55.
  • block deinterleave a reverse process of block interleaving
  • the group-wise deinterleaver 55 performs group-wise de-interleaving corresponding to the group-wise interleaving performed by the group-wise interleaver 24 in FIG. 9 on the LDPC code from the block de-interleaver 54 (a reverse process of the group-wise interleaving) That is, for example, the group-wise de-interleaving to restore the original order is performed by rearranging, in bit group units, the code bits of the LDPC code whose arrangement has been changed in bit group units by the group-wise interleaving described in FIG.
  • the bit deinterleaver 165 when parity interleaving, group-wise interleaving, and block interleaving are performed on the LDPC code supplied from the demapper 164 to the bit deinterleaver 165, the bit deinterleaver 165 generates parity corresponding to the parity interleaving.
  • De-interleaving inverse processing of parity interleaving, that is, parity de-interleaving for restoring code bits of an LDPC code rearranged by parity interleaving back to the original order
  • block de-interleaving corresponding to block interleaving, and group-wise interleaving All of the corresponding group-wise de-interleaving can be done.
  • the block deinterleaver 54 that performs block deinterleaving corresponding to block interleaving, and the group-wise deinterleaver 55 that performs group-wise deinterleaving that corresponds to group-wise interleaving are: Although provided, a block performing parity deinterleaving corresponding to parity interleaving is not provided, and parity deinterleaving is not performed.
  • bit de-interleaver 165 group-wise de-interleaver 55
  • LDPC decoder 166 an LDPC code in which block de-interleaving and group-wise de-interleaving are performed and parity de-interleaving is not performed. Is supplied.
  • the LDPC decoder 166 is a column permutation equivalent to parity interleaving for an LDPC decoding of the LDPC code from the bit deinterleaver 165 and a parity check matrix H of the type B method used by the LDPC encoder 115 of FIG. 8 for LDPC encoding.
  • FIG. 81 is a flowchart for describing processes performed by the demapper 164, the bit deinterleaver 165, and the LDPC decoder 166 in FIG.
  • step S111 the demapper 164 demaps and orthogonally demodulates the data from the time deinterleaver 163 (data on the constellation mapped to the signal point), supplies it to the bit deinterleaver 165, and the processing , And 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 data (symbols) from the demapper 164, and group code bits of the resulting LDPC code into groups. It is supplied to the Wise De interleaver 55.
  • the group-wise deinterleaver 55 subjects the LDPC code from the block de-interleaver 54 to group-wise deinterleaving, and supplies (the likelihood of) the resulting LDPC code to the LDPC decoder 166.
  • step S113 the LDPC decoder 166 performs LDPC decoding of the LDPC code from the group-wise deinterleaver 55 using the parity check matrix H used in the LDPC encoding by the LDPC encoder 115 of FIG. 8, ie, for example, The conversion check matrix obtained from the matrix H is used, and 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 for performing block deinterleaving and the groupwise deinterleaver 55 for performing groupwise deinterleaving are separately configured for the convenience of description.
  • the block de-interleaver 54 and the group-wise de-interleaver 55 can be integrally configured.
  • the receiver 12 can be configured without providing the group-wise de-interleaver 55 that performs group-wise de-interleaving.
  • the LDPC decoding performed by the LDPC decoder 166 in FIG. 79 will be further described.
  • LDPC of LDPC code in which block deinterleaving and group-wise deinterleaving from the group-wise de-interleaver 55 are performed and parity de-interleaving is not performed.
  • a converted parity check matrix obtained by performing at least a column permutation equivalent to parity interleaving on a parity check matrix H of type B method that the LDPC encoder 115 of FIG. This is performed using a transformed parity check matrix (FIG. 29) obtained by row permutation on the matrix (FIG. 27).
  • FIG. 82 is a diagram illustrating an example of a 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 step structure.
  • FIG. 83 is a diagram showing a parity check matrix H ′ obtained by subjecting the parity check matrix H of FIG. 82 to the row permutation of equation (11) and the column permutation of equation (12).
  • s, t, x and y are integers in the range of 0 ⁇ s ⁇ 5, 0 ⁇ t ⁇ 6, 0 ⁇ x ⁇ 5, 0 ⁇ t ⁇ 6, respectively. It is.
  • the remainder becomes 1 for the 61st and subsequent columns (parity matrix) by dividing by 6 into 61, 67, 73, 79, and 85th columns, respectively.
  • a matrix obtained by performing row and column permutation on the parity check matrix H of FIG. 82 is the parity check matrix H ′ of FIG.
  • the row permutation of the parity check matrix H does not affect the arrangement of code bits of the LDPC code.
  • the column permutation of equation (12) is the information length K of parity interleaving in which the above-described K + qx + y + 1st code bit is interleaved at the position of the K + Py + x + 1th code bit.
  • 60 as the parallel factor P, and 6 as the divisor q ( M / P) of the parity length M (here, 30), respectively correspond to parity interleaving.
  • the parity check matrix H ′ of FIG. 83 is the K + qx + y + 1 th column of the parity check matrix H of FIG. 82 (hereinafter, referred to as original parity check matrix as appropriate) H, K + Py + x + 1 th It is a transformed parity check matrix obtained by performing at least column permutation in which column permutation is performed.
  • the converted parity check matrix H ′ in FIG. 83 is a parity check matrix of the LDPC code c ′ obtained by performing column substitution of Equation (12) on the LDPC code c of the original parity check matrix H.
  • Equation (12) column permutation of equation (12) is performed on LDPC code c of original parity check matrix H, and LDPC code c ′ after column permutation is decoded using transformed check matrix H ′ in FIG. 83 (LDPC decoding) (12) to obtain the same decoding result as in the case of decoding the LDPC code of the original parity check matrix H using the parity check matrix H.
  • LDPC decoding LDPC decoding
  • FIG. 84 is a diagram showing the transformed parity check matrix H ′ of FIG. 83, which is spaced in units of a 5 ⁇ 5 matrix.
  • the transformed parity check matrix H ′ of FIG. 84 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 (unit matrix, quasi-unit matrix, shift matrix, sum matrix, 0 matrix) that form the transformed parity check matrix H ′ are hereinafter referred to as configuration matrices as appropriate.
  • FIG. 85 is a block diagram showing a configuration example of a decoding device that performs such decoding.
  • FIG. 85 decodes the LDPC code using the converted parity check matrix H ′ of FIG. 84 obtained by performing at least the column permutation of equation (12) on the original parity check matrix H of FIG.
  • the structural example of a decoding apparatus is shown.
  • Decoding device in FIG. 85 six FIFO 300 1 to the edge data storage memory 300 consisting of 300 6, FIFO 300 1 to the selector 301 for selecting 300 6, a check node calculation section 302,2 one cyclic shift circuit 303 and 308, 18 FIFOs 304 1 to 304 18 the edge data storage memory 304 consisting of, FIFOs 304 1 to 304 18 to select the selector 305, the reception data memory 306 for storing received data, a variable node calculation section 307, a decoded word calculation section 309 And a received data rearranging unit 310 and a decoded data rearranging unit 311.
  • the branch data storage memory 300 is composed of six FIFOs 300 1 to 300 6, which is the number obtained by dividing the number of rows 30 of the conversion parity check matrix H ′ of FIG. 84 by the number of rows of the configuration matrix (parallel factor P) 5.
  • the FIFO300 the data corresponding to the first position from the first row of the conversion parity check matrix H of FIG. 84 'to the fifth row (messages v i from variable nodes) were packed in each line both in the lateral direction Stored in a form (ignoring 0). That is, the j-th row and the i-th column, (j, i) When be expressed as, in the storage area of the first stage of the FIFO 300 1, the conversion parity check matrix H '(1,1) to (5,5) Data corresponding to the position of 1 in the 5 ⁇ 5 identity matrix of is stored.
  • shift matrices (1, 21) to (5, 25) of the transformation parity check matrix H ′ (shift matrices obtained by cyclically shifting the 5 ⁇ 5 unit matrix by three in the right direction) Data corresponding to the position of 1 is stored.
  • data is stored in association with the conversion parity check matrix H ′.
  • shift matrices of (1, 86) to (5, 90) of the transformed parity check matrix H ′ (1 in the first row of the 5 ⁇ 5 unit matrix are replaced with 0
  • the data corresponding to the position 1 of the shift matrix (which is cyclically shifted left by one) is stored.
  • FIFO300 The 2, data corresponding to one position from the sixth row of the conversion parity check matrix H of FIG. 84 'to the line 10 is stored. That, FIFO300 in the storage area of the first stage 2, only one cyclic shift unit matrix of the sum matrix (5 ⁇ 5 to the right of the conversion parity check matrix H 'from (6,1) (10,5) The data corresponding to the position of 1 of the first shift matrix constituting the first shift matrix and the sum matrix which is the sum of the second shift matrix cyclically shifted by two to the right are stored. In the second stage storage area, data corresponding to the position of 1 of the second shift matrix constituting the sum matrix of (6, 1) to (10, 5) of the transformed parity check matrix H ′ is stored. Ru.
  • the constituent matrix is a P ⁇ P unit matrix with a weight of 1, a quasi-unit matrix in which one or more of the elements of the unit matrix is 0, or
  • a unit matrix or a quasi-unit matrix is expressed in the form of a sum of a plurality of cyclically shifted shift matrices
  • data corresponding to the position of the unit matrix whose unit weight is 1, the unit matrix, or the shift matrix are stored in the same address (same FIFO from among the FIFO 300 1 to 300 6).
  • FIFO300 3 to 300 6 also stores the data in an associated relationship with the conversion parity check matrix H 'similarly.
  • Edge data storage memory 304, the column number 90 of the conversion parity check matrix H ', and a to 304 18 18 FIFOs 304 1 not divided by 5 is the column number of the component matrices (parallel factor P).
  • the FIFO304 1 the data corresponding to the first position from the first row of the conversion parity check matrix H of FIG. 84 'to the fifth column (messages u j from the check nodes) are packed vertically in each column both Are stored (in a form ignoring 0). That is, the storage area of the first stage of the FIFOs 304 1, the corresponding data is stored in the 1 position of the unit matrix of 5 ⁇ 5 of the conversion parity check matrix H 'from (1,1) (5,5) .
  • the sum matrix of (6, 1) to (10, 5) of the transformed parity check matrix H ′ (the first shift in which the 5.times.5 unit matrix is cyclically shifted to the right by one
  • Data corresponding to the position of 1 of the first shift matrix constituting the matrix and the sum matrix, which is the sum of the second shift matrix that is cyclically shifted to the right by two, is stored.
  • data corresponding to the position of 1 of the second shift matrix constituting the sum matrix of (6, 1) to (10, 5) of the transformed parity check matrix H ′ is stored.
  • the constituent matrix is a P ⁇ P unit matrix with a weight of 1, a quasi-unit matrix in which one or more of the elements of the unit matrix is 0, or
  • a unit matrix or a quasi-unit matrix is expressed in the form of a sum of a plurality of cyclically shifted shift matrices
  • data corresponding to the position of the unit matrix whose unit weight is 1, the unit matrix, or the shift matrix are stored in the same address (same FIFO from among the FIFOs 304 1 to 304 18).
  • data is stored also in the fourth and fifth storage areas in association with the conversion parity check matrix H ′.
  • the FIFO304 1 number of stages of the storage area is adapted to 5 which is a maximum number of 1 in the row direction in the fifth row from the first row of the conversion parity check matrix H '(Hamming weight).
  • FIFO304 2 and 304 3 also store data in an associated relationship with the conversion parity check matrix H 'similarly, respective lengths (number) is 5.
  • FIFO304 4 to 304 12 likewise store data in an associated relationship with the conversion parity check matrix H ', each of length 3.
  • FIFO304 13 to 304 18 similarly stores data in association with the conversion parity check matrix H ', each of length 2.
  • Edge data storage memory 300 consists of six FIFO 300 1 to 300 6, five messages D311 supplied from the preceding cyclic shift circuit 308, they belong to the rows of the conversion parity check matrix H 'throat in FIG. 84 according to the information (Matrix data) D312, a FIFO to store the data, select from among the FIFO300 1 to 300 6, will be stored in the order together five messages D311 to the selected FIFO. Also, the edge data storage memory 300, when reading data, sequentially reads five messages D300 1 from FIFO 300 1, supplied to the next stage of the selector 301. Edge data storage memory 300, after the end of the message read from the FIFO 300 1, from FIFO 300 2 to 300 6, in turn, reads the message, to the selector 301.
  • the selector 301 in accordance with the select signal D 301, of the FIFO 300 1 to 300 6, select the five messages from the FIFO currently data is read as a message D302, and supplies to the check node calculation section 302.
  • the cyclic shift circuit 303 processes the five messages D303 1 to D 3035 obtained by the check node calculation unit 302 into several unit matrices (or quasi-unit matrices) whose corresponding branches are original in the transformed parity check matrix H ′. It cyclically shifts based on information (Matrix data) D305 indicating whether it is click-shifted, and supplies the result as a message D304 to the branch data storage memory 304.
  • Edge data storage memory 304 consists of 18 FIFOs 304 1 to 304 18, according to whether the information D305 5 single message supplied from the preceding cyclic shift circuit 303 D304 belongs to the row of the conversion parity check matrix H 'throat , the FIFO to store the data, select from among the FIFO304 1 to 304 18, will be stored in the order together five messages D304 to the selected FIFO. Also, the edge data storage memory 304, when reading data, sequentially reads five messages D306 1 from FIFOs 304 1, supplied to the next stage of the selector 305. Edge data storage memory 304, after completion of the data read from the FIFOs 304 1, from FIFOs 304 2 to 304 18, sequentially reads out a message, to the selector 305.
  • the selector 305 in accordance with a select signal D307, FIFOs 304 of from 1 to 304 18, select the five messages from the FIFO currently data is read as a message D 308, the decoded word calculation section and the variable node calculation section 307 Supply to 309.
  • received data rearranging section 310 rearranges LDPC code D313 corresponding to parity check matrix H in FIG. 82 received through communication path 13 by performing column substitution of equation (12) to obtain received data D314,
  • the received data memory 306 is supplied.
  • the reception data memory 306 calculates and stores reception LLRs (log-likelihood ratios) from the reception data D314 supplied from the reception data rearranging unit 310, and collects the five reception LLRs together as a reception value D309.
  • the variable node calculation unit 307 and the decoded word calculation unit 309 are supplied.
  • the variable node calculation is performed according to the equation (1) using the five reception values D309 (the reception value u 0i of the equation (1)) supplied from the memory 306, and the message D310 (D310 1 to D310 5 ) (message v i of equation (1)) is supplied to the cyclic shift circuit 308.
  • Cyclic shift circuit 308 the D310 5 to messages D310 1 not calculated by the variable node calculation section 307, the corresponding unit matrix branch is based in the conversion parity check matrix H 'of (or quasi unit matrix) a number cyclic shift The information is cyclically shifted based on the information as to whether the result is stored, and the result is supplied as the message D 311 to the branch data storage memory 300.
  • one decoding (variable node operation and check node operation) of an LDPC code can be performed.
  • the decoding device in FIG. 85 obtains and outputs a final decoding result in the decoded word calculation unit 309 and the decoded data rearrangement unit 311.
  • the decoded word calculation section 309 consists of five decoded word calculators 309 1 to 309 5
  • the selector 305 is five messages D308 to output (to D308 1 D308 5) and (messages u j of the expression (5))
  • the five received values D 309 (received value u 0i of the equation (5)) supplied from the received data memory 306 as the final stage of the plurality of times of decoding based on the equation (5) Word) and supplies the decoded data D315 obtained as a result to the decoded data sorting unit 311.
  • the decoded data reordering unit 311 rearranges the order by performing reverse permutation of the column substitution of Expression (12) on the decoded data D 315 supplied from the decoded word calculation unit 309, and the final decoding result Output as D316.
  • one or both of row permutation and column permutation are applied to a parity check matrix (original check matrix), and a P ⁇ P unit matrix, one or more of 1 of its elements is set to 0
  • a combination matrix of P ⁇ P 0 matrices that is, a quasi identity matrix, a shift matrix in which the identity matrix or quasi identity matrix is cyclically shifted, an identity matrix, a quasi identity matrix, or a sum of shift matrices
  • node operations check node operations and variable node operations
  • the node operations are equal in number to the number of rows and columns
  • the number of iterations of decoding can be performed with the operating frequency kept within a feasible range.
  • the LDPC decoder 166 that configures the reception device 12 of FIG. 79 performs, for example, LDPC decoding by simultaneously performing P check node operations and P variable node operations, similarly to the decoding device of FIG.
  • the parity check matrix of the LDPC code output from the LDPC encoder 115 constituting the transmitting apparatus 11 of FIG. 8 has a step structure, for example, as shown in FIG.
  • the parity interleaver 23 of the transmission apparatus 11 interleaves the K + qx + y + 1st code bit at the position of the K + Py + x + 1th code bit.
  • the information length K is set to 60
  • the parallel factor P is set to 5
  • the group-wise deinterleaver 55 applies an LDPC code not subjected to parity deinterleaving to the LDPC decoder 166, that is, the column of Expression (12).
  • the LDPC code in a state in which the replacement has been performed is supplied, and the LDPC decoder 166 performs the same process as the decoding device in FIG. 85 except that the column replacement of Equation (12) is not performed.
  • FIG. 86 is a view showing a configuration example of the LDPC decoder 166 of FIG.
  • LDPC decoder 166 is configured the same as the decoding device of FIG. 85 except that reception data rearranging section 310 of FIG. 85 is not provided, and column replacement of equation (12) Since the same processing as the decoding device in FIG. 85 is performed except that the description is omitted.
  • the LDPC decoder 166 can be configured without providing the received data rearranging unit 310, the size can be reduced compared to 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 the number of columns of the configuration matrix) P is 5.
  • the LDPC code that performs factor P of 360 and divisor q of M / P the LDPC decoder 166 in FIG. 86 targets P check node operations and variable node operations for such an LDPC code. It is applicable to the case of performing LDPC decoding by performing simultaneously.
  • the parity part of the decoding result is unnecessary, and when only information bits of the decoding result are output, the LDPC decoder 166 is not provided without the decoded data rearrangement unit 311. Can be configured.
  • FIG. 87 is a diagram for explaining block deinterleaving performed by the block deinterleaver 54 in FIG.
  • the sequence of code bits of the LDPC code is returned (restored) to the original order by performing the reverse processing to the block interleaving of the block interleaver 25 described in FIG.
  • the LDPC code code sequence is the original sequence by writing and reading the LDPC code to m columns equal to the bit number m of the symbol. Will be returned.
  • the part 1 of the LDPC code in the symbol unit of m bits is written in the row direction from the first row of all m columns. That is, the code bits of the LDPC code, which are m-bit symbols, are written in the row direction.
  • Writing of part 1 in m-bit units is sequentially performed toward the lower row of m columns, and when writing of part 1 is completed, as shown in FIG. 87, the writing is performed on the first column unit of the column. From the left, reading out part 1 is performed towards the left-to-right column.
  • the LDPC code of (1) is returned as an array of code bits of an original LDPC code (LDCP code before block interleaving).
  • FIG. 88 is a block diagram showing another configuration example of the bit deinterleaver 165 of FIG.
  • bit deinterleaver 165 of FIG. 88 is configured in the same manner as the case of FIG. 80 except that a parity deinterleaver 1011 is newly provided.
  • the bit deinterleaver 165 is composed of a block deinterleaver 54, a group-wise deinterleaver 55, and a parity deinterleaver 1011 and performs bit deinterleaving of the LDPC code code bits from the demapper 164. .
  • the block de-interleaver 54 performs block de-interleaving (process reverse to block interleaving) corresponding to block interleaving performed by the block interleaver 25 of the transmitter 11 on the LDPC code from the demapper 164, ie, block interleaving Block deinterleaving is performed to return the position of the code bit replaced by B. to the original position, and the resulting LDPC code is supplied to the group-wise deinterleaver 55.
  • the group-wise deinterleaver 55 performs group-wise de-interleaving corresponding to group-wise interleaving as rearrangement processing performed by the group-wise interleaver 24 of the transmission apparatus 11 on the LDPC code from the block de-interleaver 54.
  • the LDPC code obtained as a result of group-wise de-interleaving is supplied from the group-wise de-interleaver 55 to the parity de-interleaver 1011.
  • the parity deinterleaver 1011 performs parity deinterleave corresponding to parity interleaving performed by the parity interleaver 23 of the transmitter 11 on code bits after group-wise deinterleaving in the group-wise deinterleaver 55 (reverse of parity interleaving). Processing, i.e., parity de-interleaving that restores the original ordered code bits of the LDPC code rearranged by parity interleaving.
  • the LDPC code obtained as a result of parity deinterleaving is supplied from the parity deinterleaver 1011 to the LDPC decoder 166.
  • LDPC decoder 166 is an LDPC code subjected to block de-interleaving, group-wise de-interleaving and parity de-interleaving, ie, LDPC encoding according to parity check matrix H
  • the LDPC decoder 166 performs the 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 transmission apparatus 11.
  • the LDPC decoder 166 uses LDPC decoding of the LDPC code from the bit de-interleaver 165 and a check matrix H (of the type-B method) used by the LDPC encoder 115 of the transmission apparatus 11 for LDPC coding. It is performed using 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 bit de-interleaver 165 (the parity de-interleaver 1011) supplies the LDPC code obtained by the LDPC coding according to the parity check matrix H to the LDPC decoder 166
  • Column permutation of the LDPC decoding of the code into the parity check matrix H of the type B scheme itself used for LDPC encoding by the LDPC encoder 115 of the transmission apparatus 11 or the parity check matrix of the type A scheme used for LDPC encoding (FIG. 27)
  • the parity check matrix (FIG. 28) obtained by performing the process of FIG.
  • the LDPC decoder 166 performs, for example, full serial decoding in which operations of messages (check node message, valid node message) are sequentially performed one node at a time.
  • Decoding device that performs LDPC decoding by full serial decoding method, and operation of messages simultaneously (parallelly) for all nodes Cormorants can be composed of a decoding device for performing LDPC decoding by full parallel decoding (full parallel decoding) scheme.
  • the LDPC decoder 166 at least column replacement equivalent to parity interleaving is performed on the parity check matrix H of the type B method that the LDPC encoder 115 of the transmission apparatus 11 uses for LDPC encoding.
  • the LDPC decoder 166 Is a decoding device of an architecture that simultaneously performs check node operation and variable node operation P (or submultiples of P other than 1), and is similar to column permutation (parity interleaving) for obtaining a conversion parity check matrix
  • the decoding apparatus (FIG. 85) including the received data reordering unit 310 that rearranges the code bits of the LDPC code is configured. It is possible.
  • block deinterleaver 54 that performs block deinterleaving
  • group-wise deinterleaver 55 that performs group-wise deinterleaving
  • parity de-interleaver 1011 that performs parity deinterleaving
  • two or more of the block deinterleaver 54, the groupwise deinterleaver 55, and the parity deinterleaver 1011 are separately configured, but the parity interleaver 23 of the transmitting apparatus 11, the groupwise interleaver 24, And, like the block interleaver 25, it can be configured integrally.
  • FIG. 89 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 includes an acquiring unit 1101, a transmission path decoding processing unit 1102, and an information source decoding processing unit 1103.
  • the acquisition unit 1101 may be, for example, a terrestrial digital broadcast, a satellite digital broadcast, a CATV network, the Internet, and the like, for example, a signal including an LDPC code obtained by at least LDPC encoding LDPC target data such as program image data and audio data. And a transmission path (processing path) (not shown) such as a network of FIG.
  • the acquisition unit 1101 may be a tuner or a tuner. It consists of STB (Set Top Box) etc.
  • the acquisition unit 1101 is, for example, a NIC (Network Interface Card) or the like.
  • Network I / F Inter face
  • the transmission path decoding processing unit 1102 corresponds to the receiving device 12.
  • the transmission path decoding processing unit 1102 subjects the signal acquired by the acquisition unit 1101 via the transmission path to transmission path decoding processing including at least processing for correcting an error occurring in the transmission path, and the resulting signal is
  • the information source decoding processing unit 1103 is supplied.
  • the signal acquired by the acquisition unit 1101 via the transmission path is a signal obtained by performing at least error correction coding for correcting an error occurring in the transmission path, and the transmission path decoding processing unit 1102 For example, transmission path decoding processing such as error correction processing is performed on such a signal.
  • error correction coding for example, there are LDPC coding, BCH coding, and the like.
  • at least LDPC encoding is performed as error correction encoding.
  • the transmission path decoding process may include demodulation of a modulated signal.
  • the information source decoding processing unit 1103 performs an information source decoding process including at least a process of decompressing the compressed information into the original information on the signal subjected to the transmission path decoding process.
  • 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 image and sound as the information.
  • the information source decoding processing unit 1103 performs information source decoding processing such as processing (expansion processing) of decompressing compressed information into original information, for a signal subjected to transmission path decoding processing.
  • the information source decoding processing unit 1103 performs processing for decompressing the compressed information into the original information. I can not do it.
  • the decompression processing for example, there is MPEG decoding and the like.
  • the transmission path decoding processing may include descrambling and the like.
  • compression coding such as MPEG coding is performed on data such as an image and sound in the acquisition unit 1101, and further, an error correction code such as LDPC coding
  • an error correction code such as LDPC coding
  • the signal that has been converted is acquired through the transmission line and supplied to the transmission line decoding processing unit 1102.
  • the transmission path decoding processing unit 1102 performs, for example, processing similar to that performed by the receiving device 12 on the signal from the acquisition unit 1101 as transmission path decoding processing, and the resulting signal is an information source. It is supplied to the decoding processing unit 1103.
  • the information source decoding processing unit 1103 subjects the signal from the transmission path decoding processing unit 1102 to information source decoding processing such as MPEG decoding, and outputs an image or sound obtained as a result.
  • information source decoding processing such as MPEG decoding
  • the reception system of FIG. 89 as described above can be applied to, for example, a television tuner that receives 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 each configured as one independent device (hardware (IC (Integrated Circuit) etc.) or software module). It is possible.
  • a set of the acquisition unit 1101 and the transmission path decoding processing unit 1102 or the transmission path decoding processing unit 1102 and the information source decoding processing can be configured as one independent device.
  • FIG. 90 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. 90 is common to the case of FIG. 89 in that it has an acquiring 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. This is different from the case of FIG.
  • the output unit 1111 is, for example, a display device for displaying an image or a speaker for outputting an audio, and outputs an image, audio or the like as a signal output from the information source decoding processing unit 1103. That is, the output unit 1111 displays an image or outputs an audio.
  • the reception system of FIG. 90 as described above can be applied to, for example, a TV (television receiver) that receives a television broadcast as a digital broadcast, a radio receiver that receives a radio broadcast, and the like.
  • a TV television receiver
  • a radio receiver that receives a radio broadcast
  • the signal output from the transmission path decoding processing unit 1102 is supplied to the output unit 1111.
  • FIG. 91 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 of FIG. 91 is common to the case of FIG. 89 in that it includes an acquisition unit 1101 and a transmission path decoding processing unit 1102.
  • the receiving system of FIG. 91 is different from the case of FIG. 89 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, TS packet of TS of MPEG) output by the transmission path decoding processing unit 1102 on a recording (storage) medium such as an optical disk, a hard disk (magnetic disk), or a flash memory ).
  • a recording (storage) medium such as an optical disk, a hard disk (magnetic disk), or a flash memory .
  • the reception system of FIG. 91 as described above can be applied to a recorder or the like that records television broadcasting.
  • the receiving system is configured by providing an information source decoding processing unit 1103, and the signal after the information source decoding processing is performed in the information source decoding processing unit 1103, that is, an image obtained by decoding or Audio can be recorded by the recording unit 1121.
  • FIG. 92 shows a configuration example of an 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 a hard disk 705 or a ROM 703 as a recording medium incorporated in the computer.
  • the program may be temporarily or in a removable recording medium 711 such as a flexible disc, a compact disc read only memory (CD-ROM), a magneto optical disc (MO), a digital versatile disc (DVD), a magnetic disc or a semiconductor memory. It can be stored (recorded) permanently.
  • a removable recording medium 711 such as a flexible disc, a compact disc read only memory (CD-ROM), a magneto optical disc (MO), a digital versatile disc (DVD), a magnetic disc or a semiconductor memory.
  • a removable recording medium 711 such as a flexible disc, a compact disc read only memory (CD-ROM), a magneto optical disc (MO), a digital versatile disc (DVD), a magnetic disc or a semiconductor memory. It can be stored (recorded) permanently.
  • Such removable recording medium 711 can be provided as so-called package software.
  • the program is installed in the computer from the removable recording medium 711 as described above, and is 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 by wire to a computer via a network such as the Internet, and the computer can receive the program transferred as such by the communication unit 708 and install it in the built-in hard disk 705.
  • the computer incorporates a CPU (Central Processing Unit) 702.
  • An input / output interface 710 is connected to the CPU 702 via a bus 701.
  • the CPU 702 operates an input unit 707 including a keyboard, a mouse, a microphone, and the like by the user via the input / output interface 710.
  • the program stored in the ROM (Read Only Memory) 703 is executed accordingly.
  • the CPU 702 may be a program stored in the hard disk 705, a program transferred from a satellite or network, received by the communication unit 708 and installed in the hard disk 705, or from the removable recording medium 711 mounted on the drive 709.
  • a program read out and installed in the hard disk 705 is loaded to a random access memory (RAM) 704 and executed.
  • RAM random access memory
  • 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. Then, the CPU 702 outputs the processing result from the output unit 706 configured of an LCD (Liquid Crystal Display), a speaker, or the like, for example, via the input / output interface 710 as needed, or from the communication unit 708. Transmission, and further recording on the hard disk 705 or the like.
  • the output unit 706 configured of an LCD (Liquid Crystal Display), a speaker, or the like
  • processing steps for describing a program for causing a computer to perform various processing do not necessarily have to be processed chronologically in the order described as a flowchart, and may be performed in parallel or individually. It also includes the processing to be performed (for example, parallel processing or processing by an object).
  • the program may be processed by one computer or may be distributed and processed by a plurality of computers. Furthermore, the program may be transferred to a remote computer for execution.
  • the above-described new LDPC code (test matrix initial value table) and GW pattern can be used for a satellite channel, a ground wave, a cable (wired channel), and the other communication channel 13 (FIG. 7). Furthermore, the new LDPC code and GW pattern can be used for data transmission other than digital broadcasting.

Landscapes

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

Abstract

本技術は、LDPC符号を用いたデータ伝送において、良好な通信品質を確保することができるようにする送信装置、送信方法、受信装置、及び、受信方法に関する。 符号長Nが17280ビットであり、符号化率rが2/16,3/16,4/16のLDPC符号の検査行列に基づき、LDPC符号化が行われる。検査行列は、所定値M1と、LDPC符号の情報長K=N×rとで表されるM1行K列のA行列と、M1行M1列の階段構造のB行列と、M1行N-K-M1列のゼロ行列であるZ行列と、N-K-M1行K+M1列のC行列と、N-K-M1行N-K-M1列の単位行列であるD行列とを含む。A行列及びC行列は、検査行列初期値テーブルによって表され、検査行列初期値テーブルは、A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであり、所定のテーブルになっている。本技術は、例えば、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符号を用いたデータ伝送において、良好な通信品質を確保することができるようにするものである。
 本技術の第1の送信装置/送信方法は、符号長Nが17280ビットであり、符号化率rが2/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化部/ステップを備え、前記検査行列は、所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列とを含み、前記所定値M1は、1800であり、前記A行列及びC行列は、検査行列初期値テーブルによって表され、前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
 485 1444 1737 3762 7283 10663
 181 1563 1623 3902 12647
 1077 1216 1709 11264 13865
 303 1225 1369 13470 14991
 1067 1226 1795 2169 2507 2677 2727 2773 3609 3926 3996 4192 5004 5921 6134 6385 7419 7595 7821 8996 9413 10318 10557 10886 11307 11599 12641 13430
 101 1264 1427 1860 2032 2063 3143 3156 4227 4554 4732 5165 5447 5902 6145 6721 7170 8660 8833 9081 9643 9800 10233 11723 12547 13124 14196 14723
 3403 3678 5842 7967 8991 9220 9663 10299 10343 10550
 1951 2354 3899 4774 7602 9120 9666 11048 14327 15089
 2588 3047 4252 4831 5220 5487 5626 6380 9410 10618
 2261 2295 5693 6711 6789 8342 11569 11943 12826 14312
 3441 5287 7665 7864 8134 8446 10920 11625 12710 13309
 である送信装置/送信方法である。
 本技術の第1の送信装置及び送信方法においては、符号長Nが17280ビットであり、符号化率rが2/16のLDPC符号の検査行列に基づき、LDPC符号化が行われる。前記検査行列は、所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列とを含み、前記所定値M1は、1800であり、前記A行列及びC行列は、検査行列初期値テーブルによって表され、前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
 485 1444 1737 3762 7283 10663
 181 1563 1623 3902 12647
 1077 1216 1709 11264 13865
 303 1225 1369 13470 14991
 1067 1226 1795 2169 2507 2677 2727 2773 3609 3926 3996 4192 5004 5921 6134 6385 7419 7595 7821 8996 9413 10318 10557 10886 11307 11599 12641 13430
 101 1264 1427 1860 2032 2063 3143 3156 4227 4554 4732 5165 5447 5902 6145 6721 7170 8660 8833 9081 9643 9800 10233 11723 12547 13124 14196 14723
 3403 3678 5842 7967 8991 9220 9663 10299 10343 10550
 1951 2354 3899 4774 7602 9120 9666 11048 14327 15089
 2588 3047 4252 4831 5220 5487 5626 6380 9410 10618
 2261 2295 5693 6711 6789 8342 11569 11943 12826 14312
 3441 5287 7665 7864 8134 8446 10920 11625 12710 13309
 になっている。
 本技術の第1の受信装置/受信方法は、符号長Nが17280ビットであり、符号化率rが2/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化ステップを備え、前記検査行列は、所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列とを含み、前記所定値M1は、1800であり、前記A行列及びC行列は、検査行列初期値テーブルによって表され、前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
 485 1444 1737 3762 7283 10663
 181 1563 1623 3902 12647
 1077 1216 1709 11264 13865
 303 1225 1369 13470 14991
 1067 1226 1795 2169 2507 2677 2727 2773 3609 3926 3996 4192 5004 5921 6134 6385 7419 7595 7821 8996 9413 10318 10557 10886 11307 11599 12641 13430
 101 1264 1427 1860 2032 2063 3143 3156 4227 4554 4732 5165 5447 5902 6145 6721 7170 8660 8833 9081 9643 9800 10233 11723 12547 13124 14196 14723
 3403 3678 5842 7967 8991 9220 9663 10299 10343 10550
 1951 2354 3899 4774 7602 9120 9666 11048 14327 15089
 2588 3047 4252 4831 5220 5487 5626 6380 9410 10618
 2261 2295 5693 6711 6789 8342 11569 11943 12826 14312
 3441 5287 7665 7864 8134 8446 10920 11625 12710 13309
 である送信方法により送信されてくるデータから得られる前記LDPC符号を復号する復号部/ステップを備える受信装置/受信方法である。
 本技術の第1の受信装置及び受信方法においては、第1の送信方法により送信されてくるデータから得られる前記LDPC符号が復号される。
 本技術の第2の送信装置/送信方法は、符号長Nが17280ビットであり、符号化率rが3/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化部/ステップを備え、前記検査行列は、所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列とを含み、前記所定値M1は、1440であり、前記A行列及びC行列は、検査行列初期値テーブルによって表され、前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
 10 1155 1332 1608 8228 8253 11662
 483 1297 1433 4678 5776 10410 13553
 862 967 1036 1842 2950 10129 12042
 258 872 1037 7129 9442 9491 10644
 215 260 590 6003 7554 10499
 197 521 1190 1670 3696 4410 4436 4686 5350 5651 7397 7503 8553 9844 10729 11421 11605 11742 11835 12338 12422
 288 560 1427 1492 1932 3255 4508 4628 5259 5881 6136 8019 8152 8192 8230 8669 8880 10289 11160 11665 12374
 694 1175 1205 2363 2756 2962 3097 3374 4268 4811 6072 6393 6942 9514 9733 10681 11081 11360 12386 13467 13980
 25 1200 1266 3036 3441 4940 5161 5254 7231 7585 8088 9414 10217 10349 10409 11177 12151 12497 12934 13123 14029
 2599 5475 6890 7755 8567 9088 11980
 2708 2836 6062 6328 8890 9831 11173
 2522 2634 4989 6831 9523 10731 12107
 4738 5653 7862 11986 12773 12839 13045
 である送信装置/送信方法である。
 本技術の第2の送信装置及び送信方法においては、符号長Nが17280ビットであり、符号化率rが3/16のLDPC符号の検査行列に基づき、LDPC符号化が行われる。前記検査行列は、所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列とを含み、前記所定値M1は、1440であり、前記A行列及びC行列は、検査行列初期値テーブルによって表され、前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
 10 1155 1332 1608 8228 8253 11662
 483 1297 1433 4678 5776 10410 13553
 862 967 1036 1842 2950 10129 12042
 258 872 1037 7129 9442 9491 10644
 215 260 590 6003 7554 10499
 197 521 1190 1670 3696 4410 4436 4686 5350 5651 7397 7503 8553 9844 10729 11421 11605 11742 11835 12338 12422
 288 560 1427 1492 1932 3255 4508 4628 5259 5881 6136 8019 8152 8192 8230 8669 8880 10289 11160 11665 12374
 694 1175 1205 2363 2756 2962 3097 3374 4268 4811 6072 6393 6942 9514 9733 10681 11081 11360 12386 13467 13980
 25 1200 1266 3036 3441 4940 5161 5254 7231 7585 8088 9414 10217 10349 10409 11177 12151 12497 12934 13123 14029
 2599 5475 6890 7755 8567 9088 11980
 2708 2836 6062 6328 8890 9831 11173
 2522 2634 4989 6831 9523 10731 12107
 4738 5653 7862 11986 12773 12839 13045
 になっている。
 本技術の第2の受信装置/受信方法は、符号長Nが17280ビットであり、符号化率rが3/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化ステップを備え、前記検査行列は、所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列とを含み、前記所定値M1は、1440であり、前記A行列及びC行列は、検査行列初期値テーブルによって表され、前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
 10 1155 1332 1608 8228 8253 11662
 483 1297 1433 4678 5776 10410 13553
 862 967 1036 1842 2950 10129 12042
 258 872 1037 7129 9442 9491 10644
 215 260 590 6003 7554 10499
 197 521 1190 1670 3696 4410 4436 4686 5350 5651 7397 7503 8553 9844 10729 11421 11605 11742 11835 12338 12422
 288 560 1427 1492 1932 3255 4508 4628 5259 5881 6136 8019 8152 8192 8230 8669 8880 10289 11160 11665 12374
 694 1175 1205 2363 2756 2962 3097 3374 4268 4811 6072 6393 6942 9514 9733 10681 11081 11360 12386 13467 13980
 25 1200 1266 3036 3441 4940 5161 5254 7231 7585 8088 9414 10217 10349 10409 11177 12151 12497 12934 13123 14029
 2599 5475 6890 7755 8567 9088 11980
 2708 2836 6062 6328 8890 9831 11173
 2522 2634 4989 6831 9523 10731 12107
 4738 5653 7862 11986 12773 12839 13045
 である送信方法により送信されてくるデータから得られる前記LDPC符号を復号する復号部/ステップを備える受信装置/受信方法である。
 本技術の第2の受信装置及び受信方法においては、第2の送信方法により送信されてくるデータから得られる前記LDPC符号が復号される。
 本技術の第3の送信装置/送信方法は、符号長Nが17280ビットであり、符号化率rが4/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化部/ステップを備え、前記検査行列は、所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列とを含み、前記所定値M1は、1080であり、前記A行列及びC行列は、検査行列初期値テーブルによって表され、前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
 478 512 714 1103 3052 4701 6654 7690 7824 11154 11948 12493
 73 155 855 1758 2467 4962 5168 5785 7323 11891 12232
 41 433 636 1280 2182 2342 2768 3511 7654 8802 9938
 196 434 672 5407 6013 7349 8268 8640 9257 9675 11987
 23 543 562 1355 2157 3037 6464 8139 10004 10047 12628
 743 900 982 3188 5095 7926 8936 10387 10419 11190 12422
 102 647 1000 3957 4826 5892 8640 8655 11125 11210 12955
 273 652 788 1958 2647 4003 5015 6364 9191 9966 10147
 372 566 772 7093 7353 8285 8592 9651 11787 12190 12376
 33 257 943 3805 5647
 196 681 983 9412 11567
 59 720 1009 2814 12177
 1148 1691 2098 2308 2328 3860 4055 6680 6822 7271 8041 8748 9723 10748 12636 12730 12865
 1827 2104 3047 3338 5151 5312 5452 6563 8783 8998 9056 10576 10679 10817 12032 12681 12822
 1948 2778 3225 4292 5260 5874 6550 6773 7369 7627 8500 9799 10247 11775 12207 12324 12891
 である送信装置/送信方法である。
 本技術の第3の送信装置及び送信方法においては、符号長Nが17280ビットであり、符号化率rが4/16のLDPC符号の検査行列に基づき、LDPC符号化が行われる。前記検査行列は、所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列とを含み、前記所定値M1は、1080であり、前記A行列及びC行列は、検査行列初期値テーブルによって表され、前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
 478 512 714 1103 3052 4701 6654 7690 7824 11154 11948 12493
 73 155 855 1758 2467 4962 5168 5785 7323 11891 12232
 41 433 636 1280 2182 2342 2768 3511 7654 8802 9938
 196 434 672 5407 6013 7349 8268 8640 9257 9675 11987
 23 543 562 1355 2157 3037 6464 8139 10004 10047 12628
 743 900 982 3188 5095 7926 8936 10387 10419 11190 12422
 102 647 1000 3957 4826 5892 8640 8655 11125 11210 12955
 273 652 788 1958 2647 4003 5015 6364 9191 9966 10147
 372 566 772 7093 7353 8285 8592 9651 11787 12190 12376
 33 257 943 3805 5647
 196 681 983 9412 11567
 59 720 1009 2814 12177
 1148 1691 2098 2308 2328 3860 4055 6680 6822 7271 8041 8748 9723 10748 12636 12730 12865
 1827 2104 3047 3338 5151 5312 5452 6563 8783 8998 9056 10576 10679 10817 12032 12681 12822
 1948 2778 3225 4292 5260 5874 6550 6773 7369 7627 8500 9799 10247 11775 12207 12324 12891
 になっている。
 本技術の第3の受信装置/受信方法は、符号長Nが17280ビットであり、符号化率rが4/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化ステップを備え、前記検査行列は、所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列とを含み、前記所定値M1は、1080であり、前記A行列及びC行列は、検査行列初期値テーブルによって表され、前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
 478 512 714 1103 3052 4701 6654 7690 7824 11154 11948 12493
 73 155 855 1758 2467 4962 5168 5785 7323 11891 12232
 41 433 636 1280 2182 2342 2768 3511 7654 8802 9938
 196 434 672 5407 6013 7349 8268 8640 9257 9675 11987
 23 543 562 1355 2157 3037 6464 8139 10004 10047 12628
 743 900 982 3188 5095 7926 8936 10387 10419 11190 12422
 102 647 1000 3957 4826 5892 8640 8655 11125 11210 12955
 273 652 788 1958 2647 4003 5015 6364 9191 9966 10147
 372 566 772 7093 7353 8285 8592 9651 11787 12190 12376
 33 257 943 3805 5647
 196 681 983 9412 11567
 59 720 1009 2814 12177
 1148 1691 2098 2308 2328 3860 4055 6680 6822 7271 8041 8748 9723 10748 12636 12730 12865
 1827 2104 3047 3338 5151 5312 5452 6563 8783 8998 9056 10576 10679 10817 12032 12681 12822
 1948 2778 3225 4292 5260 5874 6550 6773 7369 7627 8500 9799 10247 11775 12207 12324 12891
 である送信方法により送信されてくるデータから得られる前記LDPC符号を復号する復号部/ステップを備える受信装置/受信方法である。
 本技術の第3の受信装置及び受信方法においては、第3の送信方法により送信されてくるデータから得られる前記LDPC符号が復号される。
 なお、送信装置や受信装置は、独立した装置であっても良いし、1個の装置を構成している内部ブロックであっても良い。
 本技術によれば、LDPC符号を用いたデータ伝送において、良好な通信品質を確保することができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
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方式の検査行列を説明する図である。 変調方式が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が69120ビットのLDPC符号に対するGWパターンの例を示す図である。 受信装置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行目の15は、検査行列Hの21(=1+5×(5-1))列目において、行#15の要素が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))列目の行#15の要素が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ないし図74は、図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で規定されているコンスタレーションの幾つかについて説明する。
 図50は、変調方式がQPSKである場合に、ATSC3.0で規定されているLDPC符号のすべての符号化率について使用されるQPSK-UCの信号点の座標を示す図である。
 図50において、"Input Data cell y"は、QPSK-UCにマッピングする2ビットのシンボルを表し、"Constellation point zs"は、信号点zsの座標を表す。なお、信号点zsのインデクスsは(後述する信号点zqのインデクスqも同様)、シンボルの離散時間(あるシンボルと次のシンボルとの間の時間間隔)を表す。
 図50では、信号点zsの座標は、複素数の形で表されており、jは、虚数単位(√(-1))を表す。
 図51は、変調方式が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の信号点の座標を示す図である。
 図51では、図50と同様に、信号点zsの座標は、複素数の形で表されており、jは、虚数単位を表す。
 図51において、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つに分類することができる。
 図51において、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であるとすると、図51によれば、変調方式が16QAMで、符号化率rが、9/15である場合のw0は、0.2386+j0.5296であるので、シンボルy(12)に対応する信号点の座標-w0は、-(0.2386+j0.5296)となる。
 図52は、変調方式が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の信号点の座標の例を示す図である。
 図52において、u#kは、1D-NUCの信号点zsの座標としての複素数のリアルパートRe(zs)及びイマジナリパートIm(zs)を表し、位置ベクトルと呼ばれるベクトルu=(u0, u1,..., u#V-1)のコンポーネントである。位置ベクトルuのコンポーネントu#kの数Vは、式V=√(2m)/2で与えられる。
 図53は、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と表すこととする。
 図53のAは、シンボルyの偶数番目の5ビットy1,s,y3,s,y5,s,y7,s,y9,sと、そのシンボルyに対応する信号点zsの(座標の)リアルパートRe(zs)を表すu#kとの対応関係を表している。
 図53の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)である。
 図53のAでは、偶数番目の5ビット(0,0,1,1,0)は、u11に対応付けられており、したがって、シンボルy=(0,0,1,0,0,1,1,1,0,0)に対応する信号点zsのリアルパートRe(zs)は、u11になる。
 図53の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であるとすると、上述の図52によれば、変調方式が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で規定されているコンスタレーションを使用することができる。
 図54ないし図65は、DVB-C.2で規定されているUCの信号点の座標を示す図である。
 すなわち、図54は、DVB-C.2で規定されているQPSK-UC(QPSKのUC)の信号点の座標zqのリアルパートRe(zq)を示す図である。図55は、DVB-C.2で規定されているQPSK-UCの信号点の座標zqのイマジナリパートIm(zq)を示す図である。
 図56は、DVB-C.2で規定されている16QAM-UC(16QAMのUC)の信号点の座標zqのリアルパートRe(zq)を示す図である。図57は、DVB-C.2で規定されている16QAM-UCの信号点の座標zqのイマジナリパートIm(zq)を示す図である。
 図58は、DVB-C.2で規定されている64QAM-UC(64QAMのUC)の信号点の座標zqのリアルパートRe(zq)を示す図である。図59は、DVB-C.2で規定されている64QAM-UCの信号点の座標zqのイマジナリパートIm(zq)を示す図である。
 図60は、DVB-C.2で規定されている256QAM-UC(256QAMのUC)の信号点の座標zqのリアルパートRe(zq)を示す図である。図61は、DVB-C.2で規定されている256QAM-UCの信号点の座標zqのイマジナリパートIm(zq)を示す図である。
 図62は、DVB-C.2で規定されている1024QAM-UC(1024QAMのUC)の信号点の座標zqのリアルパートRe(zq)を示す図である。図63は、DVB-C.2で規定されている1024QAM-UCの信号点の座標zqのイマジナリパートIm(zq)を示す図である。
 図64は、DVB-C.2で規定されている4096QAM-UC(4096QAMのUC)の信号点の座標zqのリアルパートRe(zq)を示す図である。図65は、DVB-C.2で規定されている4096QAM-UCの信号点の座標zqのイマジナリパートIm(zq)を示す図である。
 なお、図54ないし図65において、yi,qは、2mQAMのmビット(例えば、QPSKでは2ビット)のシンボルの先頭から、i+1ビット目を表す。また、UCの信号点(にマッピングされたデータ)の送信にあたって、コンスタレーション上の信号点の平均電力は正規化することができる。正規化は、コンスタレーション上の信号点(の座標)のすべてについての絶対値の自乗平均値をPaveと表すこととすると、その自乗平均値Paveの平方根√Paveの逆数1/(√Pave)を、コンスタレーション上の各信号点zqに乗算することによって行うことができる。
 図7の伝送システムでは、以上のようなDVB-C.2で規定されているUCを使用することができる。
 すなわち、図30ないし図43の、符号長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符号については、図54ないし図65に示したUCを使用することができる。
 図66ないし図74は、図30ないし図43の、符号長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の信号点の座標の例を示す図である。
 すなわち、図66は、新LDPC符号について使用し得る16QAM-2D-NUCの信号点の座標の例を示す図である。
 図67は、新LDPC符号について使用し得る64QAM-2D-NUCの信号点の座標の例を示す図である。
 図68及び図69は、新LDPC符号について使用し得る256QAM-2D-NUCの信号点の座標の例を示す図である。
 なお、図69は、図68に続く図である。
 図66ないし図69では、図51と同様に、信号点zsの座標は、複素数の形で表されており、jは、虚数単位を表す。
 図66ないし図69において、w#kは、図51と同様に、コンスタレーションの第1象限の信号点の座標を表す。
 ここで、図51で説明したように、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つに分類することができる。
 図66ないし図69では、図51と同様に、w#kのサフィックスkは、0ないしb-1の範囲の整数値をとり、w#kは、シンボルy(0)ないしy(b-1)の範囲のシンボルy(k)に対応する信号点の座標を表す。
 さらに、図66ないし図69では、図51と同様に、シンボルy(3b)ないしy(4b-1)の範囲のシンボルy(k+3b)に対応する信号点の座標は、-w#kで表される。
 但し、図51では、シンボルy(b)ないしy(2b-1)の範囲のシンボルy(k+b)に対応する信号点の座標は、-conj(w#k)で表され、シンボルy(2b)ないしy(3b-1)の範囲のシンボルy(k+2b)に対応する信号点の座標は、conj(w#k)で表されるが、図66ないし図69では、conjの符号が逆になる。
 すなわち、図66ないし図69では、シンボルy(b)ないしy(2b-1)の範囲のシンボルy(k+b)に対応する信号点の座標は、conj(w#k)で表され、シンボルy(2b)ないしy(3b-1)の範囲のシンボルy(k+2b)に対応する信号点の座標は、-conj(w#k)で表される。
 図70は、新LDPC符号について使用し得る1024QAM-1D-NUCの信号点の座標の例を示す図である。
 すなわち、図70は、1024QAM-1D-NUCの信号点zsの座標としての複素数のリアルパートRe(zs)及びイマジナリパートIm(zs)と、位置ベクトルu(のコンポーネントu#k)との関係を示す図である。
 図71は、1024QAMのシンボルyと、図70の位置ベクトル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と表すこととする。
 図71のAは、10ビットのシンボルyの(先頭から)奇数番目の5ビットy0,s,y2,s,y4,s,y6,s,y8,sと、そのシンボルyに対応する信号点zs(の座標)のリアルパートRe(zs)を表す位置ベクトルu#kとの対応関係を表している。
 図71のBは、10ビットのシンボルyの偶数番目の5ビットy1,s,y3,s,y5,s,y7,s,y9,sと、そのシンボルyに対応する信号点zsのイマジナリパートIm(zs)を表す位置ベクトルu#kとの対応関係を表している。
 1024QAMの10ビットのシンボルyが、図70及び図71で規定される1024QAM-1D-NUCの信号点zsにマッピングされるときの、その信号点zsの座標の求め方は、図52及び図53で説明した場合と同様であるため、説明を省略する。
 図72は、新LDPC符号について使用し得る4096QAM-1D-NUCの信号点の座標の例を示す図である。
 すなわち、図72は、4096QAM-1D-NUCの信号点zsの座標としての複素数のリアルパートRe(zs)及びイマジナリパートIm(zs)と、位置ベクトルu(u#k)との関係を示す図である。
 図73及び図74は、4096QAMのシンボルyと、図72の位置ベクトル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と表すこととする。
 図73は、12ビットのシンボルyの奇数番目の6ビットy0,s,y2,s,y4,s,y6,s,y8,s,y10,sと、そのシンボルyに対応する信号点zsのリアルパートRe(zs)を表す位置ベクトルu#kとの対応関係を表している。
 図74は、12ビットのシンボルyの偶数番目の6ビットy1,s,y3,s,y5,s,y7,s,y9,s,y11,sと、そのシンボルyに対応する信号点zsのイマジナリパートIm(zs)を表す位置ベクトルu#kとの対応関係を表している。
 4096QAMの12ビットのシンボルyが、図72ないし図74で規定される4096QAM-1D-NUCの信号点zsにマッピングされるときの、その信号点zsの座標の求め方は、図52及び図53で説明した場合と同様であるため、説明を省略する。
 なお、図66ないし図74のNUCの信号点(にマッピングされたデータ)の送信にあたって、コンスタレーション上の信号点の平均電力は正規化することができる。正規化は、コンスタレーション上の信号点(の座標)のすべてについての絶対値の自乗平均値をPaveと表すこととすると、その自乗平均値Paveの平方根√Paveの逆数1/(√Pave)を、コンスタレーション上の各信号点zsに乗算することによって行うことができる。また、上述の図53では、シンボルyの奇数番目のビットが信号点zsのイマジナリパートIm(zs)を表す位置ベクトルu#kに対応付けられているとともに、シンボルyの偶数番目のビットが信号点zsのリアルパートRe(zs)を表す位置ベクトルu#kに対応付けられているが、図71、並びに、図73及び図74では、逆に、シンボルyの奇数番目のビットが信号点zsのリアルパートRe(zs)を表す位置ベクトルu#kに対応付けられているとともに、シンボルyの偶数番目のビットが信号点zsのイマジナリパートIm(zs)を表す位置ベクトルu#kに対応付けられている。
 <ブロックインターリーバ25>
 図75は、図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ビットの小単位に区切られる。この、カラムの小単位を、カラムユニットともいう。
 ブロックインターリーブでは、図75に示すように、1符号語のLDPC符号のパート1を、カラムの1番目のカラムユニットの上から下方向(カラム方向)に書き込むことが、左から右方向のカラムに向かって行われる。
 そして、右端のカラムの1番目のカラムユニットへの書き込みが終了すると、図75に示すように、左端のカラムに戻り、カラムの2番目のカラムユニットの上から下方向に書き込むことが、左から右方向のカラムに向かって行われ、以下、同様にして、1符号語のLDPC符号のパート1の書き込みが行われる。
 1符号語のLDPC符号のパート1の書き込みが終了すると、図75に示すように、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とに分けられる。
 図76は、変調方式が、QPSK,16QAM,64QAM,256QAM,1024QAM、及び、4096QAMである場合それぞれの、符号長Nが69120ビットのLDPC符号のパート1及びパート2の例を示す図である。
 図76では、変調方式が1024QAMである場合に、パート1が68400ビットで、パート2が720ビットになっており、変調方式が、QPSK,16QAM,64QAM,256QAM、及び、4096QAMである場合、いずれの場合も、パート1が69120ビットで、パート2が0ビットになっている。
 <グループワイズインターリーブ>
 図77は、図9のグループワイズインターリーバ24で行われるグループワイズインターリーブを説明する図である。
 グループワイズインターリーブでは、図77に示すように、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の並びにインターリーブする(並び替える)ことを表す。
 例えば、いま、符号長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パターンの例>
 図78は、符号長Nが69120ビットのLDPC符号に対するGWパターンの例を示す図である。
 図78のGWパターンによれば、69120ビットのLDPC符号のビットグループ0ないし191の並びが、ビットグループ
 191, 12, 188, 158, 173, 48, 75, 146, 113, 15, 51, 119, 132, 161, 91, 189, 142, 93, 120, 29, 156, 101, 100, 22, 165, 65, 98, 153, 127, 74, 39, 80, 38, 130, 148, 81, 13, 24, 125, 0, 174, 140, 124, 5, 68, 3, 104, 136, 63, 162, 106, 8, 25, 182, 178, 90, 96, 79, 168, 172, 128, 64, 69, 102, 45, 66, 86, 155, 163, 6, 152, 164, 108, 9, 111, 16, 177, 53, 94, 85, 72, 32, 147, 184, 117, 30, 54, 34, 70, 149, 157, 109, 73, 41, 131, 187, 185, 18, 4, 150, 92, 143, 14, 115, 20, 50, 26, 83, 36, 58, 169, 107, 129, 121, 43, 103, 21, 139, 52, 167, 19, 2, 40, 116, 181, 61, 141, 17, 33, 11, 135, 1, 37, 123, 180, 137, 77, 166, 183, 82, 23, 56, 88, 67, 176, 76, 35, 71, 105, 87, 78, 171, 55, 62, 44, 57, 97, 122, 112, 59, 27, 99, 84, 10, 134, 42, 118, 144, 49, 28, 126, 95, 7, 110, 186, 114, 151, 145, 175, 138, 133, 31, 179, 89, 46, 160, 170, 60, 154, 159, 47, 190
 の並びにインターリーブされる。
 <受信装置12の構成例>
 図79は、図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は、図79に図示したブロックの一部を設けずに構成することができる。すなわち、例えば、送信装置11(図8)を、時間インターリーバ118、SISO/MISOエンコーダ119、周波数インターリーバ120、及び、周波数インターリーバ124を設けずに構成する場合には、受信装置12は、送信装置11の時間インターリーバ118、SISO/MISOエンコーダ119、周波数インターリーバ120、及び、周波数インターリーバ124にそれぞれ対応するブロックである時間デインターリーバ163、SISO/MISOデコーダ162、周波数デインターリーバ161、及び、周波数デインターリーバ153を設けずに構成することができる。
 <ビットデインターリーバ165の構成例>
 図80は、図79のビットデインターリーバ165の構成例を示すブロック図である。
 ビットデインターリーバ165は、ブロックデインターリーバ54、及びグループワイズデインターリーバ55から構成され、デマッパ164(図79)からのデータであるシンボルのシンボルビットの(ビット)デインターリーブを行う。
 すなわち、ブロックデインターリーバ54は、デマッパ164からのシンボルのシンボルビットを対象として、図9のブロックインターリーバ25が行うブロックインターリーブに対応するブロックデインターリーブ(ブロックインターリーブの逆の処理)、すなわち、ブロックインターリーブによって並び替えられたLDPC符号の符号ビット(の尤度)の位置を元の位置に戻すブロックデインターリーブを行い、その結果得られるLDPC符号を、グループワイズデインターリーバ55に供給する。
 グループワイズデインターリーバ55は、ブロックデインターリーバ54からのLDPC符号を対象として、図9のグループワイズインターリーバ24が行うグループワイズインターリーブに対応するグループワイズデインターリーブ(グループワイズインターリーブの逆の処理)、すなわち、例えば、図77で説明したグループワイズインターリーブによってビットグループ単位で並びが変更されたLDPC符号の符号ビットを、ビットグループ単位で並び替えることにより、元の並びに戻すグループワイズデインターリーブを行う。
 ここで、デマッパ164から、ビットデインターリーバ165に供給されるLDPC符号に、パリティインターリーブ、グループワイズインターリーブ、及びブロックインターリーブが施されている場合、ビットデインターリーバ165では、パリティインターリーブに対応するパリティデインターリーブ(パリティインターリーブの逆の処理、すなわち、パリティインターリーブによって並びが変更されたLDPC符号の符号ビットを、元の並びに戻すパリティデインターリーブ)、ブロックインターリーブに対応するブロックデインターリーブ、及び、グループワイズインターリーブに対応するグループワイズデインターリーブのすべてを行うことができる。
 但し、図80のビットデインターリーバ165では、ブロックインターリーブに対応するブロックデインターリーブを行うブロックデインターリーバ54、及び、グループワイズインターリーブに対応するグループワイズデインターリーブを行うグループワイズデインターリーバ55は、設けられているが、パリティインターリーブに対応するパリティデインターリーブを行うブロックは、設けられておらず、パリティデインターリーブは、行われない。
 したがって、ビットデインターリーバ165(のグループワイズデインターリーバ55)から、LDPCデコーダ166には、ブロックデインターリーブ、及び、グループワイズデインターリーブが行われ、かつ、パリティデインターリーブが行われていないLDPC符号が供給される。
 LDPCデコーダ166は、ビットデインターリーバ165からのLDPC符号のLDPC復号を、図8のLDPCエンコーダ115がLDPC符号化に用いたタイプB方式の検査行列Hに対して、パリティインターリーブに相当する列置換を少なくとも行って得られる変換検査行列や、タイプA方式の検査行列(図27)に行置換を行って得られる変換検査行列(図29)を用いて行い、その結果得られるデータを、LDPC対象データの復号結果として出力する。
 図81は、図80のデマッパ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に出力する。
 なお、図80でも、図9の場合と同様に、説明の便宜のため、ブロックデインターリーブを行うブロックデインターリーバ54と、グループワイズデインターリーブを行うグループワイズデインターリーバ55とを、別個に構成するようにしたが、ブロックデインターリーバ54とグループワイズデインターリーバ55とは、一体的に構成することができる。
 また、送信装置11において、グループワイズインターリーブを行わない場合には、受信装置12は、グループワイズデインターリーブを行うグループワイズデインターリーバ55を設けずに構成することができる。
 <LDPC復号>
 図79のLDPCデコーダ166で行われるLDPC復号について、さらに説明する。
 図79のLDPCデコーダ166では、上述したように、グループワイズデインターリーバ55からの、ブロックデインターリーブ、及び、グループワイズデインターリーブが行われ、かつ、パリティデインターリーブが行われていないLDPC符号のLDPC復号が、図8のLDPCエンコーダ115がLDPC符号化に用いたタイプB方式の検査行列Hに対して、パリティインターリーブに相当する列置換を少なくとも行って得られる変換検査行列や、タイプA方式の検査行列(図27)に行置換を行って得られる変換検査行列(図29)を用いて行われる。
 ここで、LDPC復号を、変換検査行列を用いて行うことで、回路規模を抑制しつつ、動作周波数を十分実現可能な範囲に抑えることが可能となるLDPC復号が先に提案されている(例えば、特許第4224777号を参照)。
 そこで、まず、図82ないし図85を参照して、先に提案されている、変換検査行列を用いたLDPC復号について説明する。
 図82は、符号長Nが90で、符号化率が2/3のLDPC符号の検査行列Hの例を示す図である。
 なお、図82では(後述する図83及び図84においても同様)、0を、ピリオド(.)で表現している。
 図82の検査行列Hでは、パリティ行列が階段構造になっている。
 図83は、図82の検査行列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≦t<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列目に、という具合に置換が行われる。
 このようにして、図82の検査行列Hに対して、行と列の置換を行って得られた行列(matrix)が、図83の検査行列H'である。
 ここで、検査行列Hの行置換を行っても、LDPC符号の符号ビットの並びには影響しない。
 また、式(12)の列置換は、上述の、K+qx+y+1番目の符号ビットを、K+Py+x+1番目の符号ビットの位置にインターリーブするパリティインターリーブの、情報長Kを60と、パラレルファクタPを5と、パリティ長M(ここでは、30)の約数q(=M/P)を6と、それぞれしたときのパリティインターリーブに相当する。
 したがって、図83の検査行列H'は、図82の検査行列(以下、適宜、元の検査行列という)Hの、K+qx+y+1番目の列を、K+Py+x+1番目の列に置換する列置換を、少なくとも行って得られる変換検査行列である。
 図83の変換検査行列H'に対して、図82の元の検査行列HのLDPC符号に、式(12)と同一の置換を行ったものを乗じると、0ベクトルが出力される。すなわち、元の検査行列HのLDPC符号(1符号語)としての行ベクトルcに、式(12)の列置換を施して得られる行ベクトルをc'と表すこととすると、検査行列の性質から、HcTは、0ベクトルとなるから、H'c'Tも、当然、0ベクトルとなる。
 以上から、図83の変換検査行列H'は、元の検査行列HのLDPC符号cに、式(12)の列置換を行って得られるLDPC符号c'の検査行列になっている。
 したがって、元の検査行列HのLDPC符号cに、式(12)の列置換を行い、その列置換後のLDPC符号c'を、図83の変換検査行列H'を用いて復号(LDPC復号)し、その復号結果に、式(12)の列置換の逆置換を施すことで、元の検査行列HのLDPC符号を、その検査行列Hを用いて復号する場合と同様の復号結果を得ることができる。
 図84は、5×5の行列の単位に間隔を空けた、図83の変換検査行列H'を示す図である。
 図84においては、変換検査行列H'は、パラレルファクタPである5×5(=P×P)の単位行列、その単位行列の1のうち1個以上が0になった行列(以下、適宜、準単位行列という)、単位行列または準単位行列をサイクリックシフト(cyclic shift)した行列(以下、適宜、シフト行列という)、単位行列、準単位行列、またはシフト行列のうちの2以上の和(以下、適宜、和行列という)、5×5の0行列の組合わせで表されている。
 図84の変換検査行列H'は、5×5の単位行列、準単位行列、シフト行列、和行列、0行列で構成されているということができる。そこで、変換検査行列H'を構成する、これらの5×5の行列(単位行列、準単位行列、シフト行列、和行列、0行列)を、以下、適宜、構成行列という。
 P×Pの構成行列で表される検査行列のLDPC符号の復号には、チェックノード演算、及びバリアブルノード演算を、P個同時に行うアーキテクチャ(architecture)を用いることができる。
 図85は、そのような復号を行う復号装置の構成例を示すブロック図である。
 すなわち、図85は、図82の元の検査行列Hに対して、少なくとも、式(12)の列置換を行って得られる図84の変換検査行列H'を用いて、LDPC符号の復号を行う復号装置の構成例を示している。
 図85の復号装置は、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は、図84の変換検査行列H'の行数30を構成行列の行数(パラレルファクタP)5で除算した数である6つのFIFO3001ないし3006から構成されている。FIFO300y(y=1,2,・・・,6)は、複数の段数の記憶領域からなり、各段の記憶領域については、構成行列の行数及び列数(パラレルファクタP)である5つの枝に対応するメッセージを同時に読み出すこと、及び、書き込むことができるようになっている。また、FIFO300yの記憶領域の段数は、図84の変換検査行列の行方向の1の数(ハミング重み)の最大数である9になっている。
 FIFO3001には、図84の変換検査行列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には、図84の変換検査行列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には、図84の変換検査行列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である。
 次に、図85の復号装置の動作について説明する。
 枝データ格納用メモリ300は、6つのFIFO3001ないし3006からなり、前段のサイクリックシフト回路308から供給される5つのメッセージD311が、図84の変換検査行列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'において元となる単位行列(又は準単位行列)を幾つサイクリックシフトしたものであるかの情報(Matrixデータ)D305を元にサイクリックシフトし、その結果をメッセージD304として、枝データ格納用メモリ304に供給する。
 枝データ格納用メモリ304は、18個のFIFO3041ないし30418からなり、前段のサイクリックシフト回路303から供給される5つのメッセージD304が変換検査行列H'のどの行に属するかの情報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を通して受信した、図82の検査行列Hに対応するLDPC符号D313を、式(12)の列置換を行うことにより並べ替え、受信データD314として、受信データ用メモリ306に供給する。受信データ用メモリ306は、受信データ並べ替え部310から供給される受信データD314から、受信LLR(対数尤度比)を計算して記憶し、その受信LLRを5個ずつまとめて受信値D309として、バリアブルノード計算部307と復号語計算部309に供給する。
 バリアブルノード計算部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回の復号(バリアブルノード演算及びチェックノード演算)を行うことができる。図85の復号装置は、所定の回数だけ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個同時に行うアーキテクチャを採用する場合、ノード演算を、検査行列の行数や列数に等しい数だけ同時に行う場合に比較して、動作周波数を実現可能な範囲に抑えて、多数の繰り返し復号を行うことができる。
 図79の受信装置12を構成するLDPCデコーダ166は、例えば、図85の復号装置と同様に、チェックノード演算とバリアブルノード演算をP個同時に行うことで、LDPC復号を行うようになっている。
 すなわち、いま、説明を簡単にするために、図8の送信装置11を構成するLDPCエンコーダ115が出力するLDPC符号の検査行列が、例えば、図82に示した、パリティ行列が階段構造になっている検査行列Hであるとすると、送信装置11のパリティインターリーバ23では、K+qx+y+1番目の符号ビットを、K+Py+x+1番目の符号ビットの位置にインターリーブするパリティインターリーブが、情報長Kを60に、パラレルファクタPを5に、パリティ長Mの約数q(=M/P)を6に、それぞれ設定して行われる。
 このパリティインターリーブは、上述したように、式(12)の列置換に相当するから、LDPCデコーダ166では、式(12)の列置換を行う必要がない。
 このため、図79の受信装置12では、上述したように、グループワイズデインターリーバ55から、LDPCデコーダ166に対して、パリティデインターリーブが行われていないLDPC符号、つまり、式(12)の列置換が行われた状態のLDPC符号が供給され、LDPCデコーダ166では、式(12)の列置換を行わないことを除けば、図85の復号装置と同様の処理が行われる。
 すなわち、図86は、図79のLDPCデコーダ166の構成例を示す図である。
 図86において、LDPCデコーダ166は、図85の受信データ並べ替え部310が設けられていないことを除けば、図85の復号装置と同様に構成されており、式(12)の列置換が行われないことを除いて、図85の復号装置と同様の処理を行うため、その説明は省略する。
 以上のように、LDPCデコーダ166は、受信データ並べ替え部310を設けずに構成することができるので、図85の復号装置よりも、規模を削減することができる。
 なお、図82ないし図86では、説明を簡単にするために、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符号であるが、図86のLDPCデコーダ166は、そのようなLDPC符号を対象として、チェックノード演算とバリアブルノード演算をP個同時に行うことで、LDPC復号を行う場合に適用可能である。
 また、LDPCデコーダ166でのLDPC符号の復号後、その復号結果のパリティの部分が不要であり、復号結果の情報ビットだけを出力する場合には、復号データ並べ替え部311なしで、LDPCデコーダ166を構成することができる。
 <ブロックデインターリーバ54の構成例>
 図87は、図80のブロックデインターリーバ54で行われるブロックデインターリーブを説明する図である。
 ブロックデインターリーブでは、図75で説明したブロックインターリーバ25のブロックインターリーブと逆の処理が行われることで、LDPC符号の符号ビットの並びが元の並びに戻される(復元される)。
 すなわち、ブロックデインターリーブでは、例えば、ブロックインターリーブと同様に、シンボルのビット数mに等しいm個のカラムに対して、LDPC符号を書き込んで読み出すことにより、LDPC符号の符号ビットの並びが元の並びに戻される。
 但し、ブロックデインターリーブでは、LDPC符号の書き込みは、ブロックインターリーブにおいてLDPC符号を読み出す順に行われる。さらに、ブロックデインターリーブでは、LDPC符号の読み出しは、ブロックインターリーブにおいてLDPC符号を書き込む順に行われる。
 すなわち、LDPC符号のパート1については、図87に示すように、m個すべてのカラムの1行目から、ロウ方向に、mビットのシンボル単位になっているLDPC符号のパート1が書き込まれる。すなわち、mビットのシンボルとなっているLDPC符号の符号ビットが、ロウ方向に書き込まれる。
 mビット単位でのパート1の書き込みは、m個のカラムの下の行に向かって順次行われ、パート1の書き込みが終了すると、図87に示すように、カラムの1番目のカラムユニットの上から下方向に、パート1を読み出すことが、左から右方向のカラムに向かって行われる。
 右端のカラムまでの読み出しが終了すると、図87に示すように、左端のカラムに戻り、カラムの2番目のカラムユニットの上から下方向にパート1を読み出すことが、左から右方向のカラムに向かって行われ、以下、同様にして、1符号語のLDPC符号のパート1の読み出しが行われる。
 1符号語のLDPC符号のパート1の読み出しが終了すると、mビットのシンボル単位になっているパート2については、そのmビットのシンボル単位が、パート1の後に順次連結され、これにより、シンボル単位のLDPC符号は、元の1符号語のLDPC符号(ブロックインターリーブ前のLDCP符号)の符号ビットの並びに戻される。
 <ビットデインターリーバ165の他の構成例>
 図88は、図79のビットデインターリーバ165の他の構成例を示すブロック図である。
 なお、図中、図80の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
 すなわち、図88のビットデインターリーバ165は、パリティデインターリーバ1011が新たに設けられている他は、図80の場合と同様に構成されている。
 図88では、ビットデインターリーバ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に供給される。
 したがって、図88のビットデインターリーバ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)を用いて行う。
 ここで、図88では、ビットデインターリーバ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を有する復号装置(図85)で構成することができる。
 なお、図88では、説明の便宜のため、ブロックデインターリーブを行うブロックデインターリーバ54、グループワイズデインターリーブを行うグループワイズデインターリーバ55、及び、パリティデインターリーブを行うパリティデインターリーバ1011それぞれを、別個に構成するようにしたが、ブロックデインターリーバ54、グループワイズデインターリーバ55、及び、パリティデインターリーバ1011の2以上は、送信装置11のパリティインターリーバ23、グループワイズインターリーバ24、及び、ブロックインターリーバ25と同様に、一体的に構成することができる。
 <受信システムの構成例>
 図89は、受信装置12を適用可能な受信システムの第1の構成例を示すブロック図である。
 図89において、受信システムは、取得部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デコード等の情報源復号処理が施され、その結果得られる画像、又は音声が出力される。
 以上のような図89の受信システムは、例えば、ディジタル放送としてのテレビジョン放送を受信するテレビチューナ等に適用することができる。
 なお、取得部1101、伝送路復号処理部1102、及び、情報源復号処理部1103は、それぞれ、1つの独立した装置(ハードウェア(IC(Integrated Circuit)等))、又はソフトウエアモジュール)として構成することが可能である。
 また、取得部1101、伝送路復号処理部1102、及び、情報源復号処理部1103については、取得部1101と伝送路復号処理部1102とのセットや、伝送路復号処理部1102と情報源復号処理部1103とのセット、取得部1101、伝送路復号処理部1102、及び、情報源復号処理部1103のセットを、1つの独立した装置として構成することが可能である。
 図90は、受信装置12を適用可能な受信システムの第2の構成例を示すブロック図である。
 なお、図中、図89の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
 図90の受信システムは、取得部1101、伝送路復号処理部1102、及び、情報源復号処理部1103を有する点で、図89の場合と共通し、出力部1111が新たに設けられている点で、図89の場合と相違する。
 出力部1111は、例えば、画像を表示する表示装置や、音声を出力するスピーカであり、情報源復号処理部1103から出力される信号としての画像や音声等を出力する。すなわち、出力部1111は、画像を表示し、あるいは、音声を出力する。
 以上のような図90の受信システムは、例えば、ディジタル放送としてのテレビジョン放送を受信するTV(テレビジョン受像機)や、ラジオ放送を受信するラジオ受信機等に適用することができる。
 なお、取得部1101において取得された信号に、圧縮符号化が施されていない場合には、伝送路復号処理部1102が出力する信号が、出力部1111に供給される。
 図91は、受信装置12を適用可能な受信システムの第3の構成例を示すブロック図である。
 なお、図中、図89の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
 図91の受信システムは、取得部1101、及び、伝送路復号処理部1102を有する点で、図89の場合と共通する。
 但し、図91の受信システムは、情報源復号処理部1103が設けられておらず、記録部1121が新たに設けられている点で、図89の場合と相違する。
 記録部1121は、伝送路復号処理部1102が出力する信号(例えば、MPEGのTSのTSパケット)を、光ディスクや、ハードディスク(磁気ディスク)、フラッシュメモリ等の記録(記憶)媒体に記録する(記憶させる)。
 以上のような図91の受信システムは、テレビジョン放送を録画するレコーダ等に適用することができる。
 なお、図91において、受信システムは、情報源復号処理部1103を設けて構成し、情報源復号処理部1103で、情報源復号処理が施された後の信号、すなわち、デコードによって得られる画像や音声を、記録部1121で記録することができる。
 <コンピュータの一実施の形態>
 次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
 そこで、図92は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
 プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク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パターンは、ディジタル放送以外のデータ伝送にも用いることができる。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 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 (12)

  1.  符号長Nが17280ビットであり、符号化率rが2/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化部を備え、
     前記検査行列は、
      所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、
      M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、
      M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、
      N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、
      N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列と
     を含み、
     前記所定値M1は、1800であり、
     前記A行列及びC行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
     485 1444 1737 3762 7283 10663
     181 1563 1623 3902 12647
     1077 1216 1709 11264 13865
     303 1225 1369 13470 14991
     1067 1226 1795 2169 2507 2677 2727 2773 3609 3926 3996 4192 5004 5921 6134 6385 7419 7595 7821 8996 9413 10318 10557 10886 11307 11599 12641 13430
     101 1264 1427 1860 2032 2063 3143 3156 4227 4554 4732 5165 5447 5902 6145 6721 7170 8660 8833 9081 9643 9800 10233 11723 12547 13124 14196 14723
     3403 3678 5842 7967 8991 9220 9663 10299 10343 10550
     1951 2354 3899 4774 7602 9120 9666 11048 14327 15089
     2588 3047 4252 4831 5220 5487 5626 6380 9410 10618
     2261 2295 5693 6711 6789 8342 11569 11943 12826 14312
     3441 5287 7665 7864 8134 8446 10920 11625 12710 13309
     である
     送信装置。
  2.  符号長Nが17280ビットであり、符号化率rが2/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化ステップを備え、
     前記検査行列は、
      所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、
      M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、
      M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、
      N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、
      N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列と
     を含み、
     前記所定値M1は、1800であり、
     前記A行列及びC行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
     485 1444 1737 3762 7283 10663
     181 1563 1623 3902 12647
     1077 1216 1709 11264 13865
     303 1225 1369 13470 14991
     1067 1226 1795 2169 2507 2677 2727 2773 3609 3926 3996 4192 5004 5921 6134 6385 7419 7595 7821 8996 9413 10318 10557 10886 11307 11599 12641 13430
     101 1264 1427 1860 2032 2063 3143 3156 4227 4554 4732 5165 5447 5902 6145 6721 7170 8660 8833 9081 9643 9800 10233 11723 12547 13124 14196 14723
     3403 3678 5842 7967 8991 9220 9663 10299 10343 10550
     1951 2354 3899 4774 7602 9120 9666 11048 14327 15089
     2588 3047 4252 4831 5220 5487 5626 6380 9410 10618
     2261 2295 5693 6711 6789 8342 11569 11943 12826 14312
     3441 5287 7665 7864 8134 8446 10920 11625 12710 13309
     である
     送信方法。
  3.  符号長Nが17280ビットであり、符号化率rが2/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化ステップを備え、
     前記検査行列は、
      所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、
      M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、
      M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、
      N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、
      N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列と
     を含み、
     前記所定値M1は、1800であり、
     前記A行列及びC行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
     485 1444 1737 3762 7283 10663
     181 1563 1623 3902 12647
     1077 1216 1709 11264 13865
     303 1225 1369 13470 14991
     1067 1226 1795 2169 2507 2677 2727 2773 3609 3926 3996 4192 5004 5921 6134 6385 7419 7595 7821 8996 9413 10318 10557 10886 11307 11599 12641 13430
     101 1264 1427 1860 2032 2063 3143 3156 4227 4554 4732 5165 5447 5902 6145 6721 7170 8660 8833 9081 9643 9800 10233 11723 12547 13124 14196 14723
     3403 3678 5842 7967 8991 9220 9663 10299 10343 10550
     1951 2354 3899 4774 7602 9120 9666 11048 14327 15089
     2588 3047 4252 4831 5220 5487 5626 6380 9410 10618
     2261 2295 5693 6711 6789 8342 11569 11943 12826 14312
     3441 5287 7665 7864 8134 8446 10920 11625 12710 13309
     である
     送信方法
     により送信されてくるデータから得られる前記LDPC符号を復号する復号部を備える
     受信装置。
  4.  符号長Nが17280ビットであり、符号化率rが2/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化ステップを備え、
     前記検査行列は、
      所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、
      M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、
      M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、
      N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、
      N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列と
     を含み、
     前記所定値M1は、1800であり、
     前記A行列及びC行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
     485 1444 1737 3762 7283 10663
     181 1563 1623 3902 12647
     1077 1216 1709 11264 13865
     303 1225 1369 13470 14991
     1067 1226 1795 2169 2507 2677 2727 2773 3609 3926 3996 4192 5004 5921 6134 6385 7419 7595 7821 8996 9413 10318 10557 10886 11307 11599 12641 13430
     101 1264 1427 1860 2032 2063 3143 3156 4227 4554 4732 5165 5447 5902 6145 6721 7170 8660 8833 9081 9643 9800 10233 11723 12547 13124 14196 14723
     3403 3678 5842 7967 8991 9220 9663 10299 10343 10550
     1951 2354 3899 4774 7602 9120 9666 11048 14327 15089
     2588 3047 4252 4831 5220 5487 5626 6380 9410 10618
     2261 2295 5693 6711 6789 8342 11569 11943 12826 14312
     3441 5287 7665 7864 8134 8446 10920 11625 12710 13309
     である
     送信方法
     により送信されてくるデータから得られる前記LDPC符号を復号する復号ステップを備える
     受信方法。
  5.  符号長Nが17280ビットであり、符号化率rが3/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化部を備え、
     前記検査行列は、
      所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、
      M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、
      M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、
      N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、
      N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列と
     を含み、
     前記所定値M1は、1440であり、
     前記A行列及びC行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
     10 1155 1332 1608 8228 8253 11662
     483 1297 1433 4678 5776 10410 13553
     862 967 1036 1842 2950 10129 12042
     258 872 1037 7129 9442 9491 10644
     215 260 590 6003 7554 10499
     197 521 1190 1670 3696 4410 4436 4686 5350 5651 7397 7503 8553 9844 10729 11421 11605 11742 11835 12338 12422
     288 560 1427 1492 1932 3255 4508 4628 5259 5881 6136 8019 8152 8192 8230 8669 8880 10289 11160 11665 12374
     694 1175 1205 2363 2756 2962 3097 3374 4268 4811 6072 6393 6942 9514 9733 10681 11081 11360 12386 13467 13980
     25 1200 1266 3036 3441 4940 5161 5254 7231 7585 8088 9414 10217 10349 10409 11177 12151 12497 12934 13123 14029
     2599 5475 6890 7755 8567 9088 11980
     2708 2836 6062 6328 8890 9831 11173
     2522 2634 4989 6831 9523 10731 12107
     4738 5653 7862 11986 12773 12839 13045
     である
     送信装置。
  6.  符号長Nが17280ビットであり、符号化率rが3/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化ステップを備え、
     前記検査行列は、
      所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、
      M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、
      M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、
      N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、
      N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列と
     を含み、
     前記所定値M1は、1440であり、
     前記A行列及びC行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
     10 1155 1332 1608 8228 8253 11662
     483 1297 1433 4678 5776 10410 13553
     862 967 1036 1842 2950 10129 12042
     258 872 1037 7129 9442 9491 10644
     215 260 590 6003 7554 10499
     197 521 1190 1670 3696 4410 4436 4686 5350 5651 7397 7503 8553 9844 10729 11421 11605 11742 11835 12338 12422
     288 560 1427 1492 1932 3255 4508 4628 5259 5881 6136 8019 8152 8192 8230 8669 8880 10289 11160 11665 12374
     694 1175 1205 2363 2756 2962 3097 3374 4268 4811 6072 6393 6942 9514 9733 10681 11081 11360 12386 13467 13980
     25 1200 1266 3036 3441 4940 5161 5254 7231 7585 8088 9414 10217 10349 10409 11177 12151 12497 12934 13123 14029
     2599 5475 6890 7755 8567 9088 11980
     2708 2836 6062 6328 8890 9831 11173
     2522 2634 4989 6831 9523 10731 12107
     4738 5653 7862 11986 12773 12839 13045
     である
     送信方法。
  7.  符号長Nが17280ビットであり、符号化率rが3/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化ステップを備え、
     前記検査行列は、
      所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、
      M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、
      M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、
      N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、
      N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列と
     を含み、
     前記所定値M1は、1440であり、
     前記A行列及びC行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
     10 1155 1332 1608 8228 8253 11662
     483 1297 1433 4678 5776 10410 13553
     862 967 1036 1842 2950 10129 12042
     258 872 1037 7129 9442 9491 10644
     215 260 590 6003 7554 10499
     197 521 1190 1670 3696 4410 4436 4686 5350 5651 7397 7503 8553 9844 10729 11421 11605 11742 11835 12338 12422
     288 560 1427 1492 1932 3255 4508 4628 5259 5881 6136 8019 8152 8192 8230 8669 8880 10289 11160 11665 12374
     694 1175 1205 2363 2756 2962 3097 3374 4268 4811 6072 6393 6942 9514 9733 10681 11081 11360 12386 13467 13980
     25 1200 1266 3036 3441 4940 5161 5254 7231 7585 8088 9414 10217 10349 10409 11177 12151 12497 12934 13123 14029
     2599 5475 6890 7755 8567 9088 11980
     2708 2836 6062 6328 8890 9831 11173
     2522 2634 4989 6831 9523 10731 12107
     4738 5653 7862 11986 12773 12839 13045
     である
     送信方法
     により送信されてくるデータから得られる前記LDPC符号を復号する復号部を備える
     受信装置。
  8.  符号長Nが17280ビットであり、符号化率rが3/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化ステップを備え、
     前記検査行列は、
      所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、
      M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、
      M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、
      N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、
      N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列と
     を含み、
     前記所定値M1は、1440であり、
     前記A行列及びC行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
     10 1155 1332 1608 8228 8253 11662
     483 1297 1433 4678 5776 10410 13553
     862 967 1036 1842 2950 10129 12042
     258 872 1037 7129 9442 9491 10644
     215 260 590 6003 7554 10499
     197 521 1190 1670 3696 4410 4436 4686 5350 5651 7397 7503 8553 9844 10729 11421 11605 11742 11835 12338 12422
     288 560 1427 1492 1932 3255 4508 4628 5259 5881 6136 8019 8152 8192 8230 8669 8880 10289 11160 11665 12374
     694 1175 1205 2363 2756 2962 3097 3374 4268 4811 6072 6393 6942 9514 9733 10681 11081 11360 12386 13467 13980
     25 1200 1266 3036 3441 4940 5161 5254 7231 7585 8088 9414 10217 10349 10409 11177 12151 12497 12934 13123 14029
     2599 5475 6890 7755 8567 9088 11980
     2708 2836 6062 6328 8890 9831 11173
     2522 2634 4989 6831 9523 10731 12107
     4738 5653 7862 11986 12773 12839 13045
     である
     送信方法
     により送信されてくるデータから得られる前記LDPC符号を復号する復号ステップを備える
     受信方法。
  9.  符号長Nが17280ビットであり、符号化率rが4/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化部を備え、
     前記検査行列は、
      所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、
      M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、
      M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、
      N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、
      N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列と
     を含み、
     前記所定値M1は、1080であり、
     前記A行列及びC行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
     478 512 714 1103 3052 4701 6654 7690 7824 11154 11948 12493
     73 155 855 1758 2467 4962 5168 5785 7323 11891 12232
     41 433 636 1280 2182 2342 2768 3511 7654 8802 9938
     196 434 672 5407 6013 7349 8268 8640 9257 9675 11987
     23 543 562 1355 2157 3037 6464 8139 10004 10047 12628
     743 900 982 3188 5095 7926 8936 10387 10419 11190 12422
     102 647 1000 3957 4826 5892 8640 8655 11125 11210 12955
     273 652 788 1958 2647 4003 5015 6364 9191 9966 10147
     372 566 772 7093 7353 8285 8592 9651 11787 12190 12376
     33 257 943 3805 5647
     196 681 983 9412 11567
     59 720 1009 2814 12177
     1148 1691 2098 2308 2328 3860 4055 6680 6822 7271 8041 8748 9723 10748 12636 12730 12865
     1827 2104 3047 3338 5151 5312 5452 6563 8783 8998 9056 10576 10679 10817 12032 12681 12822
     1948 2778 3225 4292 5260 5874 6550 6773 7369 7627 8500 9799 10247 11775 12207 12324 12891
     である
     送信装置。
  10.  符号長Nが17280ビットであり、符号化率rが4/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化ステップを備え、
     前記検査行列は、
      所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、
      M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、
      M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、
      N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、
      N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列と
     を含み、
     前記所定値M1は、1080であり、
     前記A行列及びC行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
     478 512 714 1103 3052 4701 6654 7690 7824 11154 11948 12493
     73 155 855 1758 2467 4962 5168 5785 7323 11891 12232
     41 433 636 1280 2182 2342 2768 3511 7654 8802 9938
     196 434 672 5407 6013 7349 8268 8640 9257 9675 11987
     23 543 562 1355 2157 3037 6464 8139 10004 10047 12628
     743 900 982 3188 5095 7926 8936 10387 10419 11190 12422
     102 647 1000 3957 4826 5892 8640 8655 11125 11210 12955
     273 652 788 1958 2647 4003 5015 6364 9191 9966 10147
     372 566 772 7093 7353 8285 8592 9651 11787 12190 12376
     33 257 943 3805 5647
     196 681 983 9412 11567
     59 720 1009 2814 12177
     1148 1691 2098 2308 2328 3860 4055 6680 6822 7271 8041 8748 9723 10748 12636 12730 12865
     1827 2104 3047 3338 5151 5312 5452 6563 8783 8998 9056 10576 10679 10817 12032 12681 12822
     1948 2778 3225 4292 5260 5874 6550 6773 7369 7627 8500 9799 10247 11775 12207 12324 12891
     である
     送信方法。
  11.  符号長Nが17280ビットであり、符号化率rが4/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化ステップを備え、
     前記検査行列は、
      所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、
      M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、
      M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、
      N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、
      N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列と
     を含み、
     前記所定値M1は、1080であり、
     前記A行列及びC行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
     478 512 714 1103 3052 4701 6654 7690 7824 11154 11948 12493
     73 155 855 1758 2467 4962 5168 5785 7323 11891 12232
     41 433 636 1280 2182 2342 2768 3511 7654 8802 9938
     196 434 672 5407 6013 7349 8268 8640 9257 9675 11987
     23 543 562 1355 2157 3037 6464 8139 10004 10047 12628
     743 900 982 3188 5095 7926 8936 10387 10419 11190 12422
     102 647 1000 3957 4826 5892 8640 8655 11125 11210 12955
     273 652 788 1958 2647 4003 5015 6364 9191 9966 10147
     372 566 772 7093 7353 8285 8592 9651 11787 12190 12376
     33 257 943 3805 5647
     196 681 983 9412 11567
     59 720 1009 2814 12177
     1148 1691 2098 2308 2328 3860 4055 6680 6822 7271 8041 8748 9723 10748 12636 12730 12865
     1827 2104 3047 3338 5151 5312 5452 6563 8783 8998 9056 10576 10679 10817 12032 12681 12822
     1948 2778 3225 4292 5260 5874 6550 6773 7369 7627 8500 9799 10247 11775 12207 12324 12891
     である
     送信方法
     により送信されてくるデータから得られる前記LDPC符号を復号する復号部を備える
     受信装置。
  12.  符号長Nが17280ビットであり、符号化率rが4/16のLDPC符号の検査行列に基づき、LDPC符号化を行う符号化ステップを備え、
     前記検査行列は、
      所定値M1と、前記LDPC符号の情報長K=N×rとで表されるM1行K列の、前記検査行列の左上のA行列と、
      M1行M1列の、前記A行列の右に隣接する階段構造のB行列と、
      M1行N-K-M1列の、前記B行列の右に隣接するゼロ行列であるZ行列と、
      N-K-M1行K+M1列の、前記A行列及び前記B行列の下に隣接するC行列と、
      N-K-M1行N-K-M1列の、前記C行列の右に隣接する単位行列であるD行列と
     を含み、
     前記所定値M1は、1080であり、
     前記A行列及びC行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及びC行列の1の要素の位置を360列ごとに表すテーブルであって、
     478 512 714 1103 3052 4701 6654 7690 7824 11154 11948 12493
     73 155 855 1758 2467 4962 5168 5785 7323 11891 12232
     41 433 636 1280 2182 2342 2768 3511 7654 8802 9938
     196 434 672 5407 6013 7349 8268 8640 9257 9675 11987
     23 543 562 1355 2157 3037 6464 8139 10004 10047 12628
     743 900 982 3188 5095 7926 8936 10387 10419 11190 12422
     102 647 1000 3957 4826 5892 8640 8655 11125 11210 12955
     273 652 788 1958 2647 4003 5015 6364 9191 9966 10147
     372 566 772 7093 7353 8285 8592 9651 11787 12190 12376
     33 257 943 3805 5647
     196 681 983 9412 11567
     59 720 1009 2814 12177
     1148 1691 2098 2308 2328 3860 4055 6680 6822 7271 8041 8748 9723 10748 12636 12730 12865
     1827 2104 3047 3338 5151 5312 5452 6563 8783 8998 9056 10576 10679 10817 12032 12681 12822
     1948 2778 3225 4292 5260 5874 6550 6773 7369 7627 8500 9799 10247 11775 12207 12324 12891
     である
     送信方法
     により送信されてくるデータから得られる前記LDPC符号を復号する復号ステップを備える
     受信方法。
PCT/JP2018/038609 2017-10-31 2018-10-17 送信装置、送信方法、受信装置、及び、受信方法 WO2019087780A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020207011129A KR102566180B1 (ko) 2017-10-31 2018-10-17 송신 장치, 송신 방법, 수신 장치 및 수신 방법
EP18871980.1A EP3706318A4 (en) 2017-10-31 2018-10-17 TRANSMISSION DEVICE AND PROCESS, RECEPTION DEVICE AND METHOD
US16/757,965 US11228395B2 (en) 2017-10-31 2018-10-17 Transmission device, transmission method, reception device, and reception method
BR112020007935-9A BR112020007935A2 (pt) 2017-10-31 2018-10-17 dispositivo e método de transmissão, e, dispositivo e método de recepção
PH12020550518A PH12020550518A1 (en) 2017-10-31 2020-04-29 Transmission device, transmission method, reception device, and reception method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-209873 2017-10-31
JP2017209873A JP6930372B2 (ja) 2017-10-31 2017-10-31 送信装置及び送信方法

Publications (1)

Publication Number Publication Date
WO2019087780A1 true WO2019087780A1 (ja) 2019-05-09

Family

ID=66332576

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/038609 WO2019087780A1 (ja) 2017-10-31 2018-10-17 送信装置、送信方法、受信装置、及び、受信方法

Country Status (8)

Country Link
US (1) US11228395B2 (ja)
EP (1) EP3706318A4 (ja)
JP (4) JP6930372B2 (ja)
KR (1) KR102566180B1 (ja)
BR (1) BR112020007935A2 (ja)
PH (1) PH12020550518A1 (ja)
TW (1) TWI763941B (ja)
WO (1) WO2019087780A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7049095B2 (ja) * 2017-06-29 2022-04-06 日本放送協会 符号化器、復号器、送信装置及び受信装置
JP6930373B2 (ja) * 2017-10-31 2021-09-01 ソニーグループ株式会社 送信装置及び送信方法
JP7119431B2 (ja) * 2018-01-18 2022-08-17 ソニーグループ株式会社 送信装置、送信方法、受信装置、及び、受信方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4224777B2 (ja) 2003-05-13 2009-02-18 ソニー株式会社 復号方法および復号装置、並びにプログラム
WO2015182102A1 (ja) * 2014-05-30 2015-12-03 パナソニックIpマネジメント株式会社 送信装置、受信装置、送信方法および受信方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260764B2 (en) * 2002-11-26 2007-08-21 Qualcomm Incorporated Multi-channel transmission and reception with block coding in a communication system
US7596743B2 (en) * 2005-09-28 2009-09-29 Ati Technologies Inc. Method and apparatus for error management
US8402341B2 (en) 2010-02-18 2013-03-19 Mustafa Eroz Method and system for providing low density parity check (LDPC) encoding and decoding
JP5500379B2 (ja) 2010-09-03 2014-05-21 ソニー株式会社 データ処理装置、及びデータ処理方法
JP5637393B2 (ja) * 2011-04-28 2014-12-10 ソニー株式会社 データ処理装置、及び、データ処理方法
JP5648852B2 (ja) * 2011-05-27 2015-01-07 ソニー株式会社 データ処理装置、及び、データ処理方法
US8887024B2 (en) * 2013-02-10 2014-11-11 Hughes Network Systems, Llc Apparatus and method for improved modulation and coding schemes for broadband satellite communications systems
JP2015156530A (ja) * 2014-02-19 2015-08-27 ソニー株式会社 データ処理装置、及び、データ処理方法
JP2015156534A (ja) * 2014-02-19 2015-08-27 ソニー株式会社 データ処理装置、及び、データ処理方法
US9602137B2 (en) * 2014-02-19 2017-03-21 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US9602136B2 (en) 2014-03-06 2017-03-21 Electronics And Telecommunications Research Institute Bit interleaver for low-density parity check codeword having length of 64800 and code rate of 4/15 and 256-symbol mapping, and bit interleaving method using same
JP6628124B2 (ja) 2014-05-30 2020-01-08 パナソニックIpマネジメント株式会社 送信装置、受信装置、送信方法および受信方法
CA2864630C (en) 2014-08-14 2017-05-30 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 64800 and code rate of 4/15, and low density parity check encoding method using the same
KR102240745B1 (ko) * 2015-01-20 2021-04-16 한국전자통신연구원 길이가 64800이며, 부호율이 4/15인 ldpc 부호어 및 qpsk를 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR102240728B1 (ko) * 2015-01-27 2021-04-16 한국전자통신연구원 길이가 64800이며, 부호율이 4/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4224777B2 (ja) 2003-05-13 2009-02-18 ソニー株式会社 復号方法および復号装置、並びにプログラム
WO2015182102A1 (ja) * 2014-05-30 2015-12-03 パナソニックIpマネジメント株式会社 送信装置、受信装置、送信方法および受信方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
ATSC STANDARD: PHYSICAL LAYER PROTOCOL (A/322, 7 September 2016 (2016-09-07)
H. JINA. KHANDEKARR. J. MCELIECE: "Irregular Repeat-Accumulate Codes", PROCEEDINGS OF 2ND INTERNATIONAL SYMPOSIUM ON TURBO CODES AND RELATED TOPICS, September 2000 (2000-09-01), pages 1 - 8
JERRY WHITAKER: "ATSC Standard: Physical Layer Protocol (A/322)", ADVANCED TELEVISION SYSTEMS COMMITTEE (ATSC), 6 June 2017 (2017-06-06), pages 1 - 262, XP055555175, Retrieved from the Internet <URL:https://www.atsc.org/wp-content/uploads/2016/10/A322-2017a-Physical-Layer-Protocol-3.pdf> *
MYUNG SEHO ET AL.: "Offset and Normalized Min-Sum Algorithms for ATSC 3.0 LDPC Decoder", IEEE TRANSACTIONS ON BROADCASTING, vol. 63, no. 4, 12 April 2017 (2017-04-12), pages 734 - 739, XP011674328, Retrieved from the Internet <URL:https://ieeexplore.ieee.org/document/7898488> DOI: 10.1109/TBC.2017.2686011 *
S. Y. CHUNGG. D. FORNEYT. J. RICHARDSONR. URBANKE: "On the Design of Low-Density Parity-Check Codes within 0.0045 dB of the Shannon Limit", IEEE COMMUNICATIONS LEGGERS, vol. 5, no. 2, February 2001 (2001-02-01)

Also Published As

Publication number Publication date
KR20200075838A (ko) 2020-06-26
PH12020550518A1 (en) 2021-04-26
EP3706318A4 (en) 2020-11-11
TW201924232A (zh) 2019-06-16
JP2021168519A (ja) 2021-10-21
JP2022136204A (ja) 2022-09-15
BR112020007935A2 (pt) 2020-10-20
TWI763941B (zh) 2022-05-11
JP2023158098A (ja) 2023-10-26
JP7347601B2 (ja) 2023-09-20
US20200344002A1 (en) 2020-10-29
JP7115603B2 (ja) 2022-08-09
JP6930372B2 (ja) 2021-09-01
US11228395B2 (en) 2022-01-18
EP3706318A1 (en) 2020-09-09
JP2019083416A (ja) 2019-05-30
KR102566180B1 (ko) 2023-08-14

Similar Documents

Publication Publication Date Title
JP6424888B2 (ja) データ処理装置、及び、データ処理方法
JP6425100B2 (ja) データ処理装置、及び、データ処理方法
WO2015133321A1 (ja) データ処理装置、及び、データ処理方法
JP2018082368A (ja) 送信装置、送信方法、受信装置、及び、受信方法
WO2015133322A1 (ja) データ処理装置、及び、データ処理方法
JP6424837B2 (ja) データ処理装置、及び、データ処理方法
JP2018082367A (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP2018082364A (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP6424836B2 (ja) データ処理装置、及び、データ処理方法
JP7347601B2 (ja) 受信装置、及び、受信方法
JP2018082365A (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP2018082369A (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP2018082366A (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP2023153282A (ja) 送受信システム、及び、送受信方法
WO2019142683A1 (ja) 送信方法及び受信装置
JP6425098B2 (ja) データ処理装置、及び、データ処理方法
JP2019126017A (ja) 送信方法及び受信装置
JP2023158099A (ja) 受信装置、及び、受信方法
JP2019016852A (ja) 送信方法、及び、受信装置
JP2018207198A (ja) 送信装置、送信方法、受信装置、及び、受信方法
WO2019142680A1 (ja) 送信方法及び受信装置
WO2019142686A1 (ja) 送信方法及び受信装置
WO2019142681A1 (ja) 送信方法及び受信装置
WO2019039284A1 (ja) 送信方法、及び、受信装置
JP2019126015A (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: 18871980

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018871980

Country of ref document: EP

Effective date: 20200602

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112020007935

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112020007935

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20200422