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

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

Info

Publication number
WO2024080110A1
WO2024080110A1 PCT/JP2023/034649 JP2023034649W WO2024080110A1 WO 2024080110 A1 WO2024080110 A1 WO 2024080110A1 JP 2023034649 W JP2023034649 W JP 2023034649W WO 2024080110 A1 WO2024080110 A1 WO 2024080110A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
columns
rows
check matrix
ldpc code
Prior art date
Application number
PCT/JP2023/034649
Other languages
English (en)
French (fr)
Inventor
雄二 篠原
真紀子 山本
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2024080110A1 publication Critical patent/WO2024080110A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Definitions

  • This technology relates to a transmitting device, a transmitting method, a receiving device, and a receiving method, and in particular to a transmitting device, a transmitting method, a receiving device, and a receiving method that can ensure good communication quality, for example, in data transmission using LDPC codes.
  • LDPC Low Density Parity Check codes have high error correction capabilities, and in recent years have been widely adopted in transmission methods for digital broadcasting, such as DVB (Digital Video Broadcasting)-S.2 in Europe, DVB-T.2, DVB-C.2, and ATSC (Advanced Television Systems Committee) 3.0 in the United States (Non-Patent Document 1).
  • the LDPC codes are made into symbols (symbolized) for orthogonal modulation (digital modulation) such as QPSK (Quadrature Phase Shift Keying), and the symbols are then mapped to the signal points of the orthogonal modulation and transmitted.
  • orthogonal modulation digital modulation
  • QPSK Quadrature Phase Shift Keying
  • This technology was developed in light of these circumstances, and makes it possible to ensure good communication quality in data transmission using LDPC codes.
  • LDPC coding is performed based on a check matrix of an LDPC code with a code length N of 1224 bits and a coding rate r of 252/1224.
  • the LDPC code obtained from the data transmitted by the first transmission method is decoded.
  • LDPC coding is performed based on a check matrix of an LDPC code with a code length N of 2448 bits and a coding rate r of 252/2448.
  • the LDPC code obtained from the data transmitted by the second transmission method is decoded.
  • the transmitting device and receiving device may be independent devices or may be internal blocks that make up a single device.
  • the transmitting device and receiving device may be configured with a single semiconductor chip or multiple semiconductor chips.
  • the functionality of the transmitting device or receiving device, in part or in whole, can be realized by having a computer execute a program.
  • the program can be provided by transmitting it via a transmission medium or by recording it on a recording medium.
  • FIG. 1 is a diagram illustrating an example of the configuration of an embodiment of a transmission system to which the present technology is applied.
  • 2 is a block diagram showing a configuration example of a transmitting device 11.
  • FIG. 13 is a diagram illustrating an example of a check matrix.
  • FIG. 13 is a diagram illustrating an example of a parity matrix.
  • 1 is a diagram illustrating a check matrix of an LDPC code defined in the DVB-T.2 standard.
  • 10 is a flowchart illustrating an example of a process of a transmitting device 11.
  • 10 is a flowchart illustrating an example of processing performed by an encoding unit 21.
  • 11 is a diagram for explaining a method of obtaining a check matrix H from a check matrix initial value table.
  • FIG. 2 is a diagram illustrating a structure of a check matrix.
  • FIG. 13 is a diagram illustrating an example of a check matrix initial value table. 13 is a diagram illustrating a matrix A generated from a check matrix initial value table.
  • FIG. FIG. 1 is a diagram for explaining parity interleaving of a B matrix. 11 is a diagram for explaining a C matrix generated from a check matrix initial value table.
  • FIG. FIG. 1 is a diagram for explaining parity interleaving of a D matrix. This is a diagram showing a check matrix in which column permutation has been performed as parity deinterleaving to restore the parity interleaving. This figure shows the transformed check matrix obtained by performing row permutation on the check matrix.
  • FIG. FIG. 1 is a diagram for explaining parity interleaving of a
  • FIG. 11 is a diagram showing a first example of a check matrix initial value table for a new LDPC code.
  • FIG. 13 is a diagram showing a second example of a check matrix initial value table for a new LDPC code.
  • FIG. 13 is a diagram showing an example of a Tanner graph of an ensemble of degree sequences with column weight 3 and row weight 6.
  • FIG. 13 is a diagram showing an example of a Tanner graph of a multi-edge type ensemble.
  • FIG. 1 is a diagram illustrating a parity check matrix of the Type A method.
  • FIG. 1 is a diagram showing parameters of a Type A code.
  • 2 is a block diagram showing an example of the configuration of a receiving device 12.
  • FIG. 10 is a flowchart illustrating an example of processing of a receiving device 12.
  • FIG. 2 is a diagram illustrating an example of a check matrix of an LDPC code.
  • 11 is a diagram showing an example of a matrix (transformed parity check matrix) obtained by performing row permutation and column permutation on a parity check matrix;
  • FIG. 13 is a diagram showing an example of a transformed check matrix divided into 5 ⁇ 5 units.
  • FIG. 11 is a block diagram showing an example of the configuration of a decoding device that performs P node operations collectively.
  • FIG. 13 is a block diagram showing another example configuration of a decoding device that performs P node operations collectively.
  • Figure 1 shows an example of the configuration of one embodiment of a transmission system to which this technology is applied (a system refers to a logical collection of multiple devices, regardless of whether the devices are in the same housing or not).
  • the transmission system is composed of a transmitting device 11 and a receiving device 12.
  • the transmitting device 11 transmits (broadcasts) (transmits), for example, television broadcast programs. That is, the transmitting device 11 encodes the target data to be transmitted, such as image data and audio data as a program, into an LDPC code, and transmits it via a communication path 13, such as a satellite line, terrestrial wave, or cable (wired line).
  • a communication path 13 such as a satellite line, terrestrial wave, or cable (wired line).
  • the receiving device 12 receives the LDPC code transmitted from the transmitting device 11 via the communication path 13, decodes it into the target data, and outputs it.
  • the transmission method to which this technology is applied is not limited to the advanced terrestrial broadcasting method.
  • this technology can be applied to data transmission, for example, via satellite broadcasting, cable TV (television), the Internet, mobile communication networks such as 5G, etc.
  • FIG. 2 is a block diagram showing an example of the configuration of the transmitting device 11 in FIG. 1.
  • the transmitting device 11 has an encoding unit 21, a mapping unit 22, and an OFDM (orthogonal frequency-division multiplexing) signal generating unit 23.
  • the encoding unit 21 is supplied with LL data, which is data transmitted via a low-latency transmission channel (hereinafter also referred to as LLch) for low-latency transmission.
  • LL data is data transmitted via a low-latency transmission channel (hereinafter also referred to as LLch) for low-latency transmission.
  • LL data includes L0 data transmitted on a channel (L0ch) within a partial reception band where partial reception is possible, out of the frequency band allocated to one channel over which the transmitter 11 transmits an OFDM signal, and L1 data transmitted on a channel (L1ch) outside the partial reception band.
  • LL data can include emergency information such as emergency earthquake alerts and other information that requires low-latency transmission.
  • L0 data transmitted on a channel (L0ch) within the partial reception band is more rapid than L1 data transmitted on a channel (L1ch) outside the partial reception band. Therefore, when a disaster occurs, for example, L0 data is useful for transmitting information of particularly high urgency, such as the fact that a disaster has occurred and the type of disaster.
  • the encoding unit 21 is supplied with main data, such as image and audio data of the TV program content, and TMCC (transmission and multiplexing configuration control) information, etc.
  • main data such as image and audio data of the TV program content, and TMCC (transmission and multiplexing configuration control) information, etc.
  • the TMCC information includes at least the transmission control information required to restore the main data, and can include, for example, TMCC information and AC (auxiliary channel) information of ISDB-T (Integrated Services Digital Broadcasting-Terrestrial), as well as information equivalent to part or all of the preamble of DVB-T.2 or ATSC3.0.
  • TMCC information and AC (auxiliary channel) information of ISDB-T Integrated Services Digital Broadcasting-Terrestrial
  • the encoding unit 21 treats each of the LL data, TMCC information, main data, etc. supplied thereto as LDPC target data that is the subject of LDPC encoding, and performs LDPC encoding on the LDPC target data in accordance with a predetermined check matrix, such as a check matrix in which (all or part of) the parity matrix, which is the portion corresponding to the parity bits of the LDPC code, has a dual diagonal structure, and outputs an LDPC code in which the LDPC target data is information bits.
  • a predetermined check matrix such as a check matrix in which (all or part of) the parity matrix, which is the portion corresponding to the parity bits of the LDPC code, has a dual diagonal structure
  • Different LDPC codes can be used for the LDPC coding of LL data, TMCC information, main data, etc.
  • an IRA (irregular repeat accumulate) code can be used, similar to the LDPC codes defined in standards such as DVB-S.2 and ATSC3.0.
  • the LDPC codes for the LL data, TMCC information, main data, etc. output by the encoding unit 21 are supplied to the mapping unit 22.
  • the mapping unit 22 performs mapping on the LDPC code from the encoding unit 21 in accordance with a predetermined (orthogonal) modulation, such as BPSK modulation or QPSK modulation, and outputs the resulting LL data, TMCC information, main data, etc. as carriers (signal points on the IQ constellation) (subcarriers) (symbols) of the LDPC code.
  • a predetermined (orthogonal) modulation such as BPSK modulation or QPSK modulation
  • Different modulation can be used for the modulation of each LDPC code, such as LL data, TMCC information, and main data.
  • the LDPC code carrier output by the mapping unit 22 is supplied to the OFDM signal generation unit 23.
  • the OFDM signal generation unit 23 constructs an OFDM frame including the LDPC code carrier from the mapping unit 22, and performs IFFT (inverse fast Fourier transform) and adds a GI (guard interval) to generate an OFDM signal.
  • IFFT inverse fast Fourier transform
  • GI guard interval
  • the transmitting device 11 transmits the OFDM signal generated by the OFDM signal generating unit 23.
  • FIG. 3 is a diagram showing an example of a check matrix H used for LDPC encoding in the encoding unit 21 in FIG. 2.
  • H [H A
  • the check matrix H is a matrix with M x N rows and N columns (a matrix with M rows and N columns).
  • the information matrix H A is an M x K matrix
  • the parity matrix H T is an M x M matrix.
  • FIG. 4 is a diagram showing an example of a parity matrix H T of the check matrix H used for LDPC encoding in the encoding unit 21 of FIG.
  • parity matrix H T of the check matrix H used for LDPC encoding in the encoding unit 21 for example, a parity matrix H T similar to the check matrix H of the LDPC code defined in standards such as DVB-T.2 can be adopted.
  • the parity matrix H T of the check matrix H of the LDPC code defined in standards such as DVB-T.2 is a lower bidiagonal matrix in which elements of 1 are arranged in a staircase structure, as shown in Fig. 4.
  • the row weight of the parity matrix H T is 1 for the first row and 2 for all the remaining rows.
  • the column weight is 1 for the last column and 2 for all the remaining columns.
  • an LDPC code for a check matrix H in which the parity matrix H T has a staircase structure can be easily generated by using that check matrix H.
  • an LDPC code (one code word) is represented by row vector c, and the column vector obtained by transposing the row vector is represented by c T.
  • the information bit portion of row vector c which is the LDPC code, is represented by row vector A, and the parity bit portion is represented by row vector T.
  • the check matrix H and the row vector c [A
  • the parity matrix HT of the check matrix H [H A
  • H T ] is the staircase structure shown in Fig. 4
  • the row vector T as the parity bit that constitutes the row vector c [A
  • Figure 5 is a diagram explaining the check matrix H of the LDPC code defined in standards such as DVB-T.2.
  • the first KX columns of the check matrix H of the LDPC code defined in standards such as DVB-T.2 have a column weight of X
  • the next K3 columns have a column weight of 3
  • the next M-1 columns have a column weight of 2
  • the last column has a column weight of 1.
  • KX + K3 + M-1 + 1 is equal to the code length N.
  • FIG. 6 is a flowchart illustrating an example of processing by the transmitting device 11 in FIG. 2.
  • the encoding unit 21 is supplied with LL data, TMCC information, main data, etc.
  • step S101 the encoding unit 21 treats each of the LL data, TMCC information, main data, etc. as LDPC target data and performs LDPC encoding on the LDPC target data in accordance with a predetermined check matrix.
  • the encoding unit 21 supplies the LDPC codes for each of the LL data, TMCC information, main data, etc. obtained as a result of the LDPC encoding to the mapping unit 22.
  • step S101 the process proceeds from step S101 to step S102, and the mapping unit 22 performs mapping corresponding to a predetermined modulation for each of the LDPC codes of the LL data, TMCC information, main data, etc. from the encoding unit 21.
  • the mapping unit 22 supplies the carriers of the LDPC codes of the LL data, TMCC information, main data, etc. obtained by mapping to the OFDM signal generation unit 23, and the process proceeds from step S102 to step S103.
  • step S103 the OFDM signal generating unit 23 generates and transmits an OFDM signal including the carrier from the mapping unit 22.
  • FIG. 7 is a flowchart illustrating an example of the processing performed by the encoding unit 21 in FIG. 2.
  • step S111 the encoding unit 21 generates the check matrix H using a check matrix initial value table described below, and the process proceeds to step S112.
  • step S113 the encoding unit 21 uses the information bits of the information length K and the check matrix H to sequentially calculate the parity bits of the codeword c that satisfies equation (1).
  • c represents a row vector as a codeword (LDPC code), and cT represents the transpose of row vector c.
  • row vector c [A
  • the check matrix H and the row vector c [A
  • the parity matrix H T of the check matrix H [H A
  • the encoding unit 21 repeatedly obtains bits of information length K in chronological order from the LDPC target data as information bits and calculates the parity bits of the information bits until there are no more bits to obtain as information bits from the LDPC target data.
  • the encoding unit 21 can prepare in advance check matrix initial value tables (representing check matrices) for LDPC codes with various code lengths N and coding rates r.
  • the encoding unit 21 can generate a check matrix H from a check matrix initial value table corresponding to an external specification from an operator, etc., among the check matrix initial value tables prepared in advance, and can perform LDPC encoding using the check matrix H.
  • the encoding unit 21 can perform parity interleaving on the LDPC code obtained by LDPC encoding, in which the parity bits of the LDPC code are interleaved with the positions of other parity bits.
  • the information matrix H A of the check matrix H corresponding to the LDPC code obtained by the encoding unit 21 performing LDPC encoding has a cyclic structure, similar to the information matrix of the check matrix H corresponding to the LDPC code defined in standards such as DVB-T.2.
  • a cyclic structure is one in which a column is equal to the cyclic shift of another column.
  • it includes a structure in which the position of 1 in each row of each of P columns is cyclically shifted in the column direction by a predetermined value, such as a value proportional to the value q obtained by dividing the first column of P columns by the parity length M.
  • a predetermined value such as a value proportional to the value q obtained by dividing the first column of P columns by the parity length M.
  • the parallel factor P is defined as 360, which is one of the divisors of the parity length M excluding 1 and M.
  • the K+qx+y+1th code bit and the K+Py+x+1th code bit are both parity bits because they are code bits after the K+1th bit. Therefore, according to parity interleaving, the position of the parity bit of the LDPC code is moved.
  • decoding of LDPC codes can be performed by an algorithm proposed by Gallager called Probabilistic Decoding, namely, the Sum Product Algorithm, which is a message passing algorithm using belief propagation on a so-called Tanner graph consisting of variable nodes (also called message nodes) and check nodes.
  • Probabilistic Decoding namely, the Sum Product Algorithm
  • Tanner graph consisting of variable nodes (also called message nodes) and check nodes.
  • variable nodes and check nodes will be referred to simply as nodes, where appropriate.
  • the received LLR (log likelihood ratio) of each bit of the LDPC code received on the receiving side that is, a real value that expresses the likelihood that the value of each bit is "0" as a log likelihood ratio, is used as an initial value, and a variable node calculation is performed as a specified calculation at the variable node.
  • variable node outputs the result of the variable node operation as message v.
  • the check node performs a check node operation as a specified operation using the message v output by the variable node, and outputs the result of the check node operation as a message u.
  • variable node performs a variable node calculation using the message u output by the check node, and outputs the result of the variable node calculation as a message u.
  • variable nodes and check nodes are connected by edges that correspond to the parity check matrix.
  • variable node corresponds to each column of the parity check matrix
  • a check node corresponds to each row of the parity check matrix.
  • the variable node corresponding to the column of an element that is 1 and the check node corresponding to the row of that element are connected by edges.
  • variable node calculations and check node calculations After the set of variable node calculations and check node calculations is repeated a predetermined number of times, a predetermined calculation similar to the variable node calculation is performed in the variable node using the message u last output by the check node, and the decoded result of the LDPC code is obtained.
  • variable nodes (and their corresponding parity bits) connected to the same check node are separated by the parallel factor P. Therefore, if the burst length is less than the parallel factor P, it is possible to avoid a situation in which multiple variable nodes connected to the same check node experience an error at the same time, improving tolerance to burst errors.
  • the LDPC code after parity interleaving in which the K+qx+y+1th code bit is interleaved at the K+Py+x+1th code bit position, matches the LDPC code of the check matrix (hereinafter also referred to as the transformed check matrix) obtained by performing column permutation, in which the K+qx+y+1th column of the original check matrix H is replaced with the K+Py+x+1th column.
  • the transformed check matrix obtained by performing column permutation, in which the K+qx+y+1th column of the original check matrix H is replaced with the K+Py+x+1th column.
  • the parity matrix of the conversion check matrix has a quasi-cyclic structure with P columns as units.
  • a pseudo-cyclic structure means a structure in which all but a few parts are cyclic.
  • the check matrix used in the encoding unit 21 can be a matrix that has a quasi-cyclic structure, similar to the conversion check matrix for the check matrix of the LDPC code defined in standards such as DVB-T.2.
  • the transformed check matrix is a matrix that has undergone column permutation equivalent to parity interleaving with respect to the original check matrix H, as well as row permutation so that the transformed check matrix is composed of the constituent matrices described below.
  • Figure 8 explains how to find the check matrix H from the check matrix initial value table for the Type B method.
  • the check matrix initial value table is a table that represents the position of element 1 of information matrix H A (Fig. 3) corresponding to the code length N of LDPC code (LDPC code defined by check matrix H) and the information length K according to the coding rate r of check matrix H, for each P column that is a parallel factor, and is created in advance for each check matrix H.
  • the check matrix initial value table indicates at least the positions of elements of 1 in the information matrix H A for each of the P columns.
  • the parity check matrix H may be a parity check matrix in which the entire parity matrix H T has a staircase structure, or a parity check matrix in which a part of the parity matrix H T has a staircase structure and another part is a diagonal matrix (unit matrix).
  • the expression method of the parity check matrix initial value table representing the parity check matrix in which a part of the parity matrix H T has a staircase structure and the other part is a diagonal matrix is also referred to as Type A method.
  • the expression method of the parity check matrix initial value table representing the parity check matrix in which the entire parity matrix H T has a staircase structure is also referred to as Type B method.
  • an LDPC code for a check matrix represented by a Type A check matrix initial value table is also called a Type A code
  • an LDPC code for a check matrix represented by a Type B check matrix initial value table is also called a Type B code.
  • Type A and Type B conform to the ATSC 3.0 standard.
  • ATSC 3.0 uses both Type A and Type B codes.
  • DVB-T.2 and other standards use Type B codes.
  • Figure 8 shows a check matrix initial value table for a Type B code with a code length N of 16200 bits and a coding rate r of 2/3, as specified in the DVB-T.2 standard.
  • the encoding unit 21 uses a type B check matrix initial value table to determine the check matrix H as follows:
  • the Type B method check matrix initial value table is a table that indicates, for each P columns, the positions of all elements of 1 in the information matrix H A corresponding to the information length K according to the code length N and coding rate r of the LDPC code.
  • the parallel factor P of the Type B code defined in the DVB-T.2 standard is 360, and in the i-th row of the parity check matrix initial value table, the row numbers of elements with a value of 1 in the 1+360 ⁇ (i-1)th column of the parity check matrix H (row numbers where the row number of the 1st row of the parity check matrix H is 0) are arranged in the same number of column weights as the 1+360 ⁇ (i-1)th column.
  • the parity matrix H T (FIG. 3) corresponding to the parity length M of the check matrix H of the Type B method is determined to have a staircase structure as shown in FIG. 4, so if the information matrix H A (FIG. 3) corresponding to the information length K can be obtained using the check matrix initial value table, the check matrix H can be obtained.
  • the number of rows, k+1, in the check matrix initial value table for Type B method varies depending on the information length, K.
  • the parallel factor P in equation (2) is 360 for Type B code defined in the DVB-T.2 standard, as mentioned above.
  • the column weight of the check matrix H obtained from the check matrix initial value table in Figure 8 is 13 from the 1st column to the 1+360 ⁇ (3-1)-1th column, and 3 from the 1+360 ⁇ (3-1)th column to the Kth column.
  • the first row of the parity check matrix initial value table in Figure 8 is 0, 2084, 1613, 1548, 1286, 1460, 3196, 4297, 2481, 3369, 3451, 4620, 2622, which indicates that in the first column of parity check matrix H, the elements of the rows with row numbers 0, 2084, 1613, 1548, 1286, 1460, 3196, 4297, 2481, 3369, 3451, 4620, 2622 are 1 (and the other elements are 0).
  • the parity check matrix initial value table indicates the positions of elements of 1 in the information matrix H A of the parity check matrix H for every 360 columns.
  • Columns other than the 1+360 ⁇ (i-1)th column of the parity check matrix H that is, columns 2+360 ⁇ (i-1)th to 360 ⁇ ith, are arranged by periodically cyclically shifting the element 1 in the 1+360 ⁇ (i-1)th column determined by the parity check matrix initial value table downward (downward in the column) according to the parity length M.
  • the row index H wj of the element of 1 in the w-th column which is a column other than the 1+360 ⁇ (i ⁇ 1)-th column of the parity check matrix H, can be obtained by Equation (3).
  • mod(x, y) means the remainder when x is divided by y.
  • the check matrix initial value table specifies the row number of the element of 1 in the 1+360 ⁇ (i-1)-th column of the check matrix H. Furthermore, the row number Hwj of the element of 1 in the w-th column, which is a column other than the 1+360 ⁇ (i-1)-th column of the check matrix H, is specified according to formula (3).
  • a check matrix H is generated in which the elements of the row numbers identified above are set to 1.
  • Figure 9 shows the structure of check matrix H for Type A.
  • the check matrix for Type A is composed of matrix A, matrix B, matrix C, matrix D, and matrix Z.
  • the B matrix is a step-structured matrix adjacent to the right of the A matrix, with M1 rows and M1 columns.
  • the C matrix is the matrix adjacent to the bottom of the A and B matrices, with N-K-M1 rows and K+M1 columns.
  • the D matrix is an identity matrix with N-K-M1 rows and N-K-M1 columns, adjacent to the right of the C matrix.
  • the Z matrix is the zero matrix adjacent to the right of the B matrix, with M1 rows and N-K-M1 columns.
  • the C matrix can be expressed as a matrix with M2 rows and K + M1 columns, the D matrix as an identity matrix with M2 rows and M2 columns, and the Z matrix as a zero matrix with M1 rows and M2 columns.
  • the A matrix and a part of the C matrix make up the information matrix, and the remaining parts of the B matrix, the C matrix, the D matrix, and the Z matrix make up the parity matrix.
  • matrix B is a staircase-structured matrix and matrix D is a unit matrix
  • part of the parity matrix of check matrix H in Type A method has a staircase-structured matrix
  • the other part is a diagonal matrix (unit matrix).
  • the A and C matrices like the information matrix of the parity check matrix H of the Type B method, have a cyclic structure for each P columns, which is the parallel factor, and the parity check matrix initial value table of the Type A method indicates the positions of elements of 1 in the A and C matrices for each P columns.
  • the parallel factor of the Type A code specified in the ATSC 3.0 standard is 360.
  • the Type A method's parity check matrix initial value table represents the positions of elements that are 1 in the A and C matrices of the parity check matrix for each P columns, so it can be said that it represents the positions of some of the elements that are 1 in the parity check matrix for each P columns.
  • the Type A method parity check matrix initial value table which represents the positions of elements of 1 in the A matrix and the C matrix for each P columns, at least represents the positions of elements of 1 in the information matrix for each P columns.
  • FIG. 10 shows an example of a check matrix initial value table for the Type A method.
  • FIG. 10 shows an example of a check matrix initial value table that represents a check matrix H with a code length N of 35 bits and a coding rate r of 2/7.
  • the Type A method check matrix initial value table is a table that indicates the positions of elements of 1 in the A and C matrices for each parallel factor P, and in the i-th row, the row numbers of elements of 1 in the 1+P ⁇ (i-1)th column of check matrix H (row numbers assuming that the row number of the first row of check matrix H is 0) are listed for the same number of column weights as the 1+P ⁇ (i-1)th column.
  • the parallel factor P is 5.
  • the parameters other than the parallel factor P are M1, M2, Q1, and Q2.
  • M1 ( Figure 9) is a parameter that determines the size of the B matrix, and takes a value that is a multiple of the parallel factor P.
  • M1 the performance of the LDPC code changes, and it is adjusted to a specified value when the check matrix H is determined.
  • a value of 15, three times the parallel factor P 5, is used as M1.
  • M2 ( Figure 9) is the parity length M minus M1, i.e. M-M1.
  • the columns other than the 1+P ⁇ (i-1)th column of the A matrix of the Type A method check matrix H that is, each column from the 2+P ⁇ (i-1)th column to the P ⁇ ith column, are arranged by periodically cyclically shifting the element 1 in the 1+P ⁇ (i-1)th column determined by the check matrix initial value table downward (downward in the column), and Q1 represents the number of cyclic shifts in the A matrix.
  • columns other than the 1+P ⁇ (i-1)th column of the C matrix of the Type A method check matrix H that is, each column from the 2+P ⁇ (i-1)th column to the P ⁇ ith column, are arranged by periodically cyclically shifting the element 1 in the 1+P ⁇ (i-1)th column determined by the check matrix initial value table downward, and Q2 represents the number of cyclic shifts in the C matrix.
  • the first row of the parity check matrix initial value table in Figure 10 is 2, 6, 18, which indicates that in the first column of parity check matrix H, the elements in the rows with row numbers 2, 6, 18 are 1 (and the other elements are 0).
  • the A matrix ( Figure 9) is a matrix with 15 rows and 10 columns (M1 rows and K columns)
  • the C matrix ( Figure 9) is a matrix with 10 rows and 25 columns (N-K-M1 rows and K+M1 columns), so the rows with row numbers 0 to 14 of the check matrix H are the rows of the A matrix, and the rows with row numbers 15 to 24 of the check matrix H are the rows of the C matrix.
  • rows #2, #6, #18 are rows of the A matrix
  • row #18 is a row of the C matrix.
  • rows #2 and #10 are rows of the A matrix
  • row #19 is a row of the C matrix.
  • row #22 is a row of the C matrix.
  • FIG. 11 shows the A matrix generated from the check matrix initial value table in FIG. 10.
  • Figure 12 shows the parity interleaving of the B matrix.
  • Figure 12 shows the A and B matrices after parity interleaving of the B matrix in Figure 11.
  • FIG. 13 shows the C matrix generated from the check matrix initial value table in FIG. 10.
  • the check matrix C is generated using the check matrix initial value table, and the C matrix is placed below the A matrix and the B matrix (after parity interleaving).
  • the Z matrix is placed to the right of the B matrix, and the D matrix is placed to the right of the C matrix, generating the check matrix shown in Figure 13.
  • Figure 14 shows the parity interleaving of the D matrix.
  • Figure 14 shows the check matrix H obtained by performing parity interleaving of the D matrix on the check matrix in Figure 13.
  • the LDPC code generated using the check matrix H in FIG. 14 is an LDPC code that has been parity interleaved. Therefore, for the LDPC code generated using the check matrix H in FIG. 14, there is no need to perform separate parity interleaving after the LDPC code is generated.
  • FIG. 15 shows a parity check matrix in which column permutation has been performed on the B matrix, part of the C matrix (the part of the C matrix that is placed under the B matrix), and the D matrix of the parity check matrix H in FIG. 14 as parity deinterleaving to restore the parity interleaving.
  • LDPC coding can be performed using the check matrix in Figure 15 instead of the check matrix H in Figure 14.
  • FIG. 16 shows the transformed check matrix obtained by performing row permutation on the check matrix H in FIG. 14.
  • the conversion check matrix is a matrix expressed as a combination of a P ⁇ P unit matrix, a quasi-unit matrix in which one or more of the 1's in the unit matrix are changed to 0, a shift matrix obtained by cyclically shifting a unit matrix or a quasi-unit matrix, a sum matrix which is the sum of two or more of the unit matrix, the quasi-unit matrix, or the shift matrix, and a P ⁇ P 0 matrix.
  • FIG. 17 shows a first example of a check matrix initial value table that represents a check matrix of a new LDPC code.
  • FIG. 18 shows a second example of a check matrix initial value table that represents a check matrix of a new LDPC code.
  • One way to ensure good communication quality in data transmission using LDPC codes is to use high-performance LDPC codes.
  • check matrix initial value tables in Figures 17 and 18 are check matrix initial value tables for a type A code (check matrix initial value tables for the type A method).
  • the number of information bits (number of bits) of the LDPC code per codeword is required to be, for example, about 256 bits.
  • the information bits must be a multiple of the parallel factor P, so a number close to 256 bits, for example 252 bits, will be adopted.
  • a code length of 1000 bits or more improves performance over turbo codes, and the longer the code length, the better the performance.
  • the code length is long, the time required to decode the LDPC code increases depending on the code length.
  • the code length N of the LDPC code of the TMCC information is better for the code length N of the LDPC code of the TMCC information to be longer.
  • the decoding time of the LDPC code of the TMCC information must be short, and from this perspective, it is better for the code length N of the LDPC code of the TMCC information to be shorter.
  • FIG. 17 shows an example of a check matrix initial value table that represents the check matrix of a new LDPC code with a code length N of 1224 bits and an information length K of 252 bits, and therefore a coding rate r of 252/1224.
  • FIG. 18 shows an example of a check matrix initial value table that represents the check matrix of a new LDPC code with a code length N of 2448 bits and an information length K of 252 bits, and therefore a coding rate r of 252/2448.
  • the new LDPC code corresponding to the check matrix initial value tables in Figures 17 and 18 can be applied to any LDPC coding in addition to LDPC coding of TMCC information.
  • the parallel factor P of the new LDPC code is 36, which is a large value compared to the code length N, and the check matrix of the new LDPC code is expressed as a P ⁇ P configuration matrix, which will be described later.
  • a high-performance LDPC code is one that is obtained from an appropriate check matrix H.
  • An appropriate check matrix H is, for example, a check matrix that satisfies a predetermined condition and reduces the bit error rate (BER ) (and frame error rate (FER)) when the LDPC code obtained from the check matrix H is transmitted at a low signal power to noise power ratio ( Es / N0 ) per symbol or a low signal power to noise power ratio (Eb/N0) per bit.
  • BER bit error rate
  • FER frame error rate
  • An appropriate check matrix H can be found, for example, by performing a simulation to measure the BER when LDPC codes obtained from various check matrices that satisfy predetermined conditions are transmitted at a low E s /N o .
  • the predetermined conditions that an appropriate check matrix H must satisfy include, for example, good analytical results obtained using a method for analyzing the performance of the code called Density Evolution, and the absence of a loop of elements of 1, called cycle 4.
  • the minimum length of a loop made up of elements of 1 is called the girth.
  • the absence of cycle 4 means that the girth is greater than 4.
  • the predetermined conditions that an appropriate check matrix H must satisfy can be determined appropriately from the perspective of improving the decoding performance of the LDPC code, facilitating (simplifying) the decoding process of the LDPC code, etc.
  • Figures 19 and 20 are diagrams explaining density evolution that obtain analysis results as predetermined conditions that an appropriate check matrix H must satisfy.
  • Density evolution is a code analysis method that calculates the expected error probability for an ensemble of LDPC codes with code length N of ⁇ , characterized by a degree sequence (described below).
  • AWGN additive white Gaussian noise
  • the performance of the ensemble (the appropriateness of the check matrix) can be determined by comparing the noise variance threshold (hereafter referred to as the performance threshold) at which the expected value of the error probability is no longer zero.
  • the noise variance threshold hereafter referred to as the performance threshold
  • the degree sequence mentioned above indicates the proportion of variable nodes and check nodes with each weight value for the code length N of the LDPC code.
  • a regular(3,6) LDPC code with a code rate of 1/2 belongs to an ensemble characterized by a degree sequence in which all variable nodes have a weight (column weight) of 3 and all check nodes have a weight (row weight) of 6.
  • Figure 19 shows the Tanner graph of such an ensemble.
  • Each variable node has three edges connected to it, equal to the column weight, so there are a total of 3N edges connecting to the N variable nodes.
  • each check node has 6 edges connected to it, equal to the row weight, so there are a total of 3N edges connecting to the N/2 check nodes.
  • the interleaver randomly rearranges the 3N branches connected to the N variable nodes, and then connects each rearranged branch to one of the 3N branches connected to the N/2 check nodes.
  • a multi-edge type ensemble can be used in density evolution.
  • the interleaver through which the branches connected to the variable nodes and the branches connected to the check nodes pass is divided into multiple (multi-edge), which allows for more precise characterization of the ensemble.
  • Figure 20 shows an example of a Tanner graph for a multi-edge type ensemble.
  • an ensemble is found where the performance threshold, E b /N 0 , at which the BER starts to drop (become smaller), is below a predetermined value using multi-edge type density evolution, and from among the LDPC codes belonging to that ensemble, an LDPC code that reduces the BER when using one or more orthogonal modulation methods such as DBPSK can be selected as an LDPC code with good performance.
  • the new LDPC code (the check matrix initial value table that represents the check matrix) an LDPC code with good performance determined by the above simulation can be used.
  • the new LDPC code obtained through such simulations can ensure good communication quality in data transmission.
  • Figure 21 explains the column weights of the check matrix H of a type A code, which is a new LDPC code.
  • the column weight of the first K1 columns of the A matrix and the C matrix is represented as X1
  • the column weight of the subsequent K2 columns of the A matrix and the C matrix is represented as X2
  • the column weight of the further subsequent K3 columns of the A matrix and the C matrix is represented as X3
  • the column weight of the further subsequent M1 columns of the C matrix is represented as XM1.
  • K1 + K2 + K3 is equal to the information length K.
  • the column weight of the 1st column to the M1-1th column of the B matrix is 2, and the column weight of the M1th column (the last column) of the B matrix is 1. Furthermore, the column weight of the D matrix is 1, and the column weight of the Z matrix is 0.
  • FIG. 22 is a diagram showing parameters of the type A code (of the check matrix) as the new LDPC code (represented by the check matrix initial value table) in FIGS. 17 and 18.
  • Q1 and Q2 represent the number of cyclic shifts, as explained in Fig. 10.
  • the information bits of the TMCC information are LDPC-encoded into a new LDPC code, and the new LDPC code is then mapped to a QPSK signal point on the IQ constellation, performing QPSK modulation to generate a carrier for the LDPC code of the TMCC information.
  • the frame containing the LDPC code carrier is then passed through an AWGN channel and a Rayleigh channel (a channel with Rayleigh fading), after which it is demapped and LDPC decoded to restore the information bits as TMCC information.
  • a Rayleigh channel a channel with Rayleigh fading
  • erasure-free channels in which there is no erasure of the LDPC code carrier (symbol)
  • erasure channels in which there is erasure.
  • the erasure-free channel was used.
  • the FER which is an index for evaluating the performance of the new LDPC code, is calculated by comparing the restored information bits as TMCC information with the original information bits.
  • the information bit recovery result is 10 ⁇ 10 (10 to the power of 10) bits
  • the observation of the frame is terminated, and the FER is calculated as the number of error frames divided by the number of observed frames at the time of termination.
  • the FER is set to a uniform value, for example, 10 ⁇ -9.
  • circles represent the FER in the case of an AWGN channel
  • triangles represent the FER in the case of a Rayleigh channel.
  • the required CNR is approximately -5.4 dB for an AWGN channel, and approximately -4.8 dB for a Rayleigh channel.
  • a check matrix is found from a check matrix initial value table, and LDPC encoding is performed using the check matrix.
  • the check matrix initial value table is information equivalent to a check matrix
  • LDPC encoding (calculation of parity bits of the LDPC code) can be performed by a predetermined calculation using the check matrix initial value table, without finding a check matrix.
  • FIG. 25 is a block diagram showing an example configuration of the receiving device 12 in FIG. 1.
  • the receiving device 12 has an OFDM demodulation unit 61, a demapping unit 62, and a decoding unit 63.
  • the OFDM demodulation unit 61 receives the OFDM signal from the transmission device 11.
  • the OFDM demodulation unit 61 demodulates the OFDM signal by AD (analog to digital) conversion, orthogonal demodulation, FFT, etc., and outputs the resulting demodulated signal.
  • AD analog to digital
  • the demodulated signal output by the OFDM demodulation unit 61 is supplied to the demapping unit 62 and also to a circuit not shown.
  • the circuit not shown processes carriers other than the LDPC code carrier of the TMCC information contained in the demodulated signal, such as the LDPC code carriers of LL data and main data.
  • the demapping unit 62 extracts the carrier of the LDPC code of the TMCC information from the demodulated signal from the OFDM demodulation unit 61.
  • the demapping unit 62 performs demapping (demodulation) of the carrier of the LDPC code of the TMCC information, and supplies the likelihood (received LLR) of each bit of the LDPC code of the TMCC information obtained by the demapping to the decoding unit 63.
  • the decoding unit 63 performs LDPC decoding of the LDPC code using the likelihood of each bit of the LDPC code of the TMCC information from the demapping unit 62, and outputs the resulting TMCC information.
  • the LDPC decoding in the decoding unit 63 can be performed using the check matrix used for the LDPC encoding itself, or it can be performed using a transformed check matrix obtained by performing at least column permutation equivalent to parity interleaving on the Type B check matrix used for the LDPC encoding, or a transformed check matrix ( Figure 16) obtained by performing row permutation on the Type A check matrix ( Figure 14) used for the LDPC encoding.
  • an architecture can be adopted in which check node calculations and variable node calculations are performed simultaneously up to a number equal to or less than the parallel factor P.
  • FIG. 26 is a flowchart illustrating an example of processing by the receiving device 12 in FIG. 25.
  • step S201 the OFDM demodulation unit 61 receives and demodulates the OFDM signal from the transmission device 11.
  • the OFDM demodulation unit 61 supplies the demodulated signal obtained as a result of demodulating the OFDM signal to the demapping unit 62 (and a circuit not shown), and the process proceeds from step S201 to step S202.
  • step S202 the demapping unit 62 extracts the carrier of the LDPC code of the TMCC information from the demodulated signal from the OFDM demodulation unit 61 and performs demapping.
  • the demapping unit 62 supplies the likelihood of each bit of the LDPC code of the TMCC information obtained by demapping to the decoding unit 63, and the process proceeds from step S202 to step S203.
  • step S203 the decoding unit 63 performs LDPC decoding using the likelihood (received LLR) of each bit of the LDPC code of the TMCC information from the demapping unit 62, and outputs the resulting TMCC information.
  • FIGS. 27 to 30 are diagrams explaining LDPC decoding using a conversion check matrix performed by the decoding unit 63 in FIG. 25.
  • LDPC decoding can be performed using a transformed check matrix obtained by performing at least column permutation equivalent to parity interleaving on the type B check matrix H used for LDPC encoding by the encoding unit 21 in FIG. 2, or a transformed check matrix (FIG. 16) obtained by performing row permutation on the type A check matrix (FIG. 14).
  • FIG. 27 shows an example of a check matrix H for an LDPC code as a Type B code with a code length N of 90 and a coding rate of 2/3.
  • the parity matrix has a staircase structure.
  • FIG. 28 shows the check matrix H' obtained by applying the row permutation of equation (4) and the column permutation of equation (5) to the check matrix H in FIG. 27.
  • s, t, x, and y are integers in the ranges 0 ⁇ s ⁇ 5, 0 ⁇ t ⁇ 6, 0 ⁇ x ⁇ 5, and 0 ⁇ y ⁇ 6, respectively.
  • columns 61, 67, 73, 79, and 85 which have a remainder of 1 when divided by 6, are permuted to columns 61, 62, 63, 64, and 65, respectively, and columns 62, 68, 74, 80, and 86, which have a remainder of 2 when divided by 6, are permuted to columns 66, 67, 68, 69, and 70, respectively.
  • the matrix obtained by permuting rows and columns of the check matrix H in FIG. 27 in this way is the check matrix H' in FIG. 28.
  • the check matrix H' in FIG. 28 is a transformed check matrix obtained by at least performing column permutation to replace the K+qx+y+1-th column of the check matrix H in FIG. 27 (hereinafter referred to as the original check matrix, as appropriate) with the K+Py+x+1-th column.
  • the converted check matrix H' in Figure 28 is the check matrix of the LDPC code c' obtained by performing the column permutation of equation (5) on the LDPC code c of the original check matrix H.
  • FIG. 29 shows the conversion check matrix H' in FIG. 28, with spacing spaced at 5x5 matrix units.
  • PxP 5x5 unit matrix
  • the conversion check matrix H' in FIG. 29 can be said to be composed of a 5x5 identity matrix, quasi-identity matrix, shift matrix, sum matrix, and 0 matrix. Therefore, these 5x5 matrices (identity matrix, quasi-identity matrix, shift matrix, sum matrix, and 0 matrix) that compose the conversion check matrix H' will be referred to as constituent matrices below, where appropriate.
  • FIG. 30 is a block diagram showing an example of the configuration of a decoding device that performs such node operations simultaneously for P nodes.
  • FIG. 30 shows an example of the configuration of a decoding device that decodes an LDPC code using the transformed check matrix H' in FIG. 29 obtained by performing at least the column permutation of equation (5) on the original check matrix H in FIG. 27.
  • the decoding device of FIG. 30 comprises an edge data storage memory 300 consisting of six FIFOs 3001 to 3006 , a selector 301 which selects the FIFOs 3001 to 3006 , a check node calculation unit 302, two cyclic shift circuits 303 and 308, an edge data storage memory 304 consisting of 18 FIFOs 3041 to 30418, a selector 305 which selects the FIFOs 3041 to 30418 , a received data memory 306 which stores received data, a variable node calculation unit 307, a decoded word calculation unit 309, a received data rearrangement unit 310, and a decoded data rearrangement unit 311.
  • the edge data storage memory 300 is composed of six FIFOs 3001 to 3006 , which is the number of rows of the conversion check matrix H' in Fig. 29, 30, divided by the number of rows of the constituent matrix (parallel factor P), 5.
  • the number of stages of the storage area of the FIFO 300y is 9, which is the maximum number of 1s (Hamming weight) in the row direction of the conversion check matrix in Fig. 29.
  • FIFO 300 1 data (message v from variable node) corresponding to the position of 1 from the first row to the fifth row of the conversion check matrix H' in Fig. 29 is stored in a form in which each row is packed horizontally (ignoring 0). That is, if the jth row and the ith column are represented as (j, i), the first-stage storage area of FIFO 300 1 stores data corresponding to the position of 1 in the 5x5 unit matrix (1,1) to (5,5) of the conversion check matrix H'.
  • the second-stage storage area stores data corresponding to the position of 1 in the shift matrix (the shift matrix that cyclically shifts the 5x5 unit matrix to the right by three) from (1,21) to (5,25) of the conversion check matrix H'.
  • data is stored in the third to eighth stages of the storage area according to the conversion check matrix H'. Then, in the memory area of the 9th stage, data corresponding to the positions of 1 in the shift matrix from (1,86) to (5,90) of the conversion check matrix H' (a shift matrix in which the 1 in the first row of a 5 x 5 unit matrix is replaced with 0 and cyclically shifted by one position to the left) is stored.
  • FIFO3002 stores data corresponding to the position of 1 from the 6th row to the 10th row of the conversion check matrix H' in Fig. 29. That is, the first-stage storage area of FIFO3002 stores data corresponding to the position of 1 of the first shift matrix that constitutes the sum matrix of (6,1) to (10,5) of conversion check matrix H' (the sum matrix is the first shift matrix that cyclically shifts 5x5 unit matrix to the right by one, and the second shift matrix that cyclically shifts 2 to the right). In addition, the second-stage storage area stores data corresponding to the position of 1 of the second shift matrix that constitutes the sum matrix of (6,1) to (10,5) of conversion check matrix H'.
  • a constituent matrix with a weight of 2 or more when the constituent matrix is expressed as a sum of a P ⁇ P unit matrix with a weight of 1, a quasi-unit matrix in which one or more of the 1 elements of the unit matrix have become 0, or a shift matrix obtained by cyclically shifting the unit matrix or the quasi-unit matrix, data corresponding to the position of 1 in the unit matrix, quasi-unit matrix, or shift matrix with a weight of 1 (a message corresponding to an edge belonging to the unit matrix, quasi-unit matrix, or shift matrix) is stored in memory areas of different stages at the same address (the same FIFO among FIFOs 3001 to 3006 ).
  • Data is stored in the memory areas from the third to ninth stages according to the conversion check matrix H'.
  • FIFOs 3003 to 3006 store data according to the conversion check matrix H'.
  • the edge data storage memory 304 is composed of 18 FIFOs 3041 to 30418 , which is obtained by dividing the number of columns of the conversion check matrix H', 90, by the number of columns of the constituent matrix (parallel factor P), 5.
  • FIFO 304 1 data (message u from check node) corresponding to the position of 1 from the first column to the fifth column of conversion check matrix H' in Fig. 29 is stored in a form in which each column is packed vertically (ignoring 0). That is, in the first-stage storage area of FIFO 304 1 , data corresponding to the position of 1 of the 5x5 unit matrix (1,1) to (5,5) of conversion check matrix H' is stored.
  • the second-stage storage area data corresponding to the position of 1 of the first shift matrix constituting the sum matrix (the sum matrix of the first shift matrix obtained by cyclically shifting the 5x5 unit matrix to the right by one place and the second shift matrix obtained by cyclically shifting the 5x5 unit matrix to the right by two places) of conversion check matrix H' is stored.
  • the third-stage storage area data corresponding to the position of 1 of the second shift matrix constituting the sum matrix (6,1) to (10,5) of conversion check matrix H' is stored.
  • a constituent matrix with a weight of 2 or more when the constituent matrix is expressed as a sum of a P ⁇ P unit matrix with a weight of 1, a quasi-unit matrix in which one or more of the 1 elements of the unit matrix have become 0, or a shift matrix obtained by cyclically shifting the unit matrix or quasi-unit matrix, data corresponding to the position of 1 in the unit matrix, quasi-unit matrix, or shift matrix with a weight of 1 (a message corresponding to an edge belonging to the unit matrix, quasi-unit matrix, or shift matrix) is stored in memory areas of different stages at the same address (the same FIFO among FIFOs 304-1 to 304-18 ).
  • data is stored in the fourth and fifth storage areas according to the conversion check matrix H'.
  • the number of storage areas in this FIFO 3041 is five, which is the maximum number of 1's (column weight) in the column direction in the first to fifth columns of the conversion check matrix H'.
  • FIFOs 3042 and 3043 similarly store data according to the conversion check matrix H', and each has a length (number of stages) of 5.
  • FIFOs 3044 to 30412 similarly store data according to the conversion check matrix H', and each has a length of 3.
  • FIFOs 30413 to 30418 similarly store data according to the conversion check matrix H', and each has a length of 2.
  • the edge data storage memory 300 is composed of six FIFOs 3001 to 3006 , and selects a FIFO from the FIFOs 3001 to 3006 to store data according to information (Matrix data) D312 indicating which row of the conversion check matrix H' in Fig. 29 the five messages D311 supplied from the cyclic shift circuit 308 in the previous stage belong to, and stores the five messages D311 in the selected FIFO in order.
  • the edge data storage memory 300 reads the five messages D3001 in order from the FIFO 3001 and supplies them to the selector 301 in the next stage. After finishing reading the messages from the FIFO 3001 , the edge data storage memory 300 also reads messages in order from the FIFOs 3002 to 3006 and supplies them to the selector 301.
  • the selector 301 selects five messages from the FIFO from which data is currently being read out of the FIFOs 300 1 to 300 6 in accordance with the select signal D 301 , and supplies them to the check node calculation unit 302 as message D 302 .
  • the check node calculation unit 302 is made up of five check node calculators 302-1 to 302-5 , and performs check node calculations using messages D302 ( D302-1 to D302-5 ) (messages v from the variable node) supplied via the selector 301.
  • the check node calculation unit 302 supplies five messages D303 ( D303-1 to D303-5 ) (messages u from the check node) obtained as a result of the check node calculations to a cyclic shift circuit 303.
  • the cyclic shift circuit 303 cyclically shifts the five messages D303-1 to D303-5 calculated by the check node calculation unit 302, based on information indicating how many cyclic shifts the original unit matrix (or quasi-unit matrix) in the converted parity check matrix H' that the corresponding edge is obtained by, and supplies the result to the edge data storage memory 304 as a message D304.
  • the edge data storage memory 304 is made up of 18 FIFOs 3041 to 30418 , and selects a FIFO from FIFOs 3041 to 30418 to store data according to information D305 (Matrix data) indicating which row of the conversion check matrix H' the five messages D304 supplied from the previous stage cyclic shift circuit 303 belong to, and stores the five messages D304 in the selected FIFO in order.
  • D305 Microx data
  • the edge data storage memory 304 reads five messages D3061 from FIFO 3041 in order and supplies them to the selector 305 in the next stage.
  • the edge data storage memory 304 After finishing reading data from FIFO 3041 , the edge data storage memory 304 also reads messages from FIFOs 3042 to 30418 in order and supplies them to the selector 305.
  • the selector 305 selects five messages from the FIFO from which data is currently being read out of the FIFOs 304 1 to 304 18 in accordance with the select signal D 307 , and supplies them to the variable node calculation unit 307 and the decoded word calculation unit 309 as message D 308 .
  • the received data rearrangement unit 310 rearranges (the received LLRs of) the LDPC code D313 corresponding to the check matrix H in FIG. 27, which is supplied to the decoding device, by performing column permutation according to equation (5), and supplies the result as received data D314 to the received data memory 306.
  • the received data memory 306 stores the received LLRs, which are the received data D314 supplied from the received data rearrangement unit 310, and supplies these received LLRs in groups of five as received values D309 to the variable node calculation unit 307 and the decoded word calculation unit 309.
  • the variable node calculation unit 307 consists of five variable node calculators 3071 to 3075 , and performs variable node calculations using messages D308 ( D3081 to D3085 ) (messages u from the check node) supplied through the selector 305 and five received values D309 supplied from the received data memory 306, and supplies messages D310 ( D3101 to D3105 ) (messages v from the variable node) obtained as a result of the calculations to a cyclic shift circuit 308.
  • the cyclic shift circuit 308 cyclically shifts the messages D3101 to D3105 calculated by the variable node calculation unit 307 based on information indicating how many cyclic shifts the original unit matrix (or quasi-unit matrix) in the converted parity check matrix H' that the corresponding edge is obtained by, and supplies the result to the edge data storage memory 300 as a message D311.
  • one decoding of the LDPC code (variable node calculation and check node calculation) can be performed.
  • the decoded word calculation unit 309 and the decoded data rearrangement unit 311 determine and output the final decoding result.
  • the decoded word calculation unit 309 is made up of five decoded word calculators 3091 to 3095 , and uses the five messages D308 ( D3081 to D3085 ) (message u from the check node) output by the selector 305 and five received values D309 supplied from the received data memory 306 to calculate a decoding result (decoded word) by performing an operation similar to a variable node operation as the final stage of multiple decoding operations, and supplies the decoded data D315 obtained as a result to the decoded data rearrangement unit 311.
  • the decoded data rearrangement unit 311 rearranges the order of the decoded data D315 supplied from the decoded word calculation unit 309 by performing the inverse permutation of the column permutation in equation (5), and outputs the final decoded result D316.
  • the decoding unit 63 constituting the receiving device 12 in FIG. 25 can perform LDPC decoding by simultaneously executing P node operations, for example, in the same manner as the decoding device in FIG. 30.
  • the check matrix of the LDPC code output by the encoding unit 21 constituting the transmission device 11 is, for example, the check matrix H shown in FIG. 27, and parity interleaving is performed in the encoding unit 21.
  • this parity interleaving corresponds to the column permutation in equation (5), so the LDPC code that is LDPC coded using the check matrix H and has undergone parity interleaving has already undergone the column permutation in equation (5).
  • the decoding unit 63 can be configured in the same manner as the decoding device in FIG. 30. On the other hand, if parity interleaving is performed on the LDPC code, the decoding unit 63 can be configured in the decoding device in FIG. 30 so as not to perform the column permutation of equation (5) on the LDPC code.
  • Type B codes as an example, but the same applies to Type A codes.
  • FIG. 31 is a block diagram showing another example configuration of a decoding device that performs P node operations at once.
  • FIG. 31 shows an example of the configuration of a decoding device that performs P node operations at once when parity interleaving is applied to an LDPC code.
  • the decoding device is configured in the same way as the decoding device in FIG. 30, except that the received data rearrangement unit 310 in FIG. 30 is not provided, and performs the same processing as the decoding device in FIG. 30, except that the column permutation in equation (5) is not performed, so a description of that will be omitted.
  • the decoding device when parity interleaving is applied to an LDPC code, the decoding device can be configured without the received data rearrangement unit 310. Therefore, the size can be reduced compared to the decoding device in FIG. 30.
  • the decoding unit 63 can be configured in the same manner as the decoding device in FIG. 31.
  • the code length N of the LDPC code is set to 90
  • the information length K is set to 60
  • the parallel factor (number of rows and columns of the constituent matrix) P is set to 5, but the code length N, information length K, and parallel factor P are not limited to the values mentioned above.
  • the LDPC code output by the encoding unit 21 is the new LDPC code described in FIG. 17 and FIG. 18, but the decoding device of FIG. 31 is applicable to cases where LDPC decoding is performed by simultaneously (collectively) performing P node operations on such a new LDPC code.
  • the decoding device can be configured without the decoded data rearrangement unit 311.
  • FIG. 32 is a diagram showing a schematic example of a check matrix.
  • FIG. 32 shows a schematic example of a P ⁇ P constituent matrix, i.e., a (transform) check matrix consisting of a collection of one or more types of P ⁇ P identity matrices, quasi-identity matrices, shift matrices, sum matrices, and zero matrices.
  • a P ⁇ P constituent matrix i.e., a (transform) check matrix consisting of a collection of one or more types of P ⁇ P identity matrices, quasi-identity matrices, shift matrices, sum matrices, and zero matrices.
  • the small rectangles represent the PxP component matrix
  • the diagonal lines in the component matrix represent the positions of elements that are 1.
  • the number of diagonal lines in a sum matrix is equal to the sum of the number of identity, quasi-identity, and shift matrices that make up the sum matrix.
  • the number of diagonal lines in a parity check matrix composed of constituent matrices can be expressed as [number of elements of the parity check matrix that are 1 + 1]/P.
  • the number of diagonal lines in the parity check matrix increases as the number of elements of 1 in the parity check matrix increases. Furthermore, the smaller the parallel factor P is, the greater the number of diagonal lines in the parity check matrix.
  • a node operation is performed for each diagonal line of the check matrix.
  • the number of operating clocks required by the decoding device to perform one node calculation for the entire check matrix i.e., the number of decoding cycles per decoding iteration, is roughly proportional to the number of diagonal lines in the check matrix.
  • the number of diagonal lines in a parity check matrix increases as the number of elements that are 1 in the parity check matrix increases and as the parallel factor P decreases.
  • the new LDPC code has a large parallel factor P of 36, which reduces the number of decoding cycles per iterative decoding, shortening the decoding time.
  • the new LDPC code has better performance than a given LDPC code with a code length N of about 1000 to 2000 bits and a parallel factor P of 4, i.e., the required CNR is improved, for example.
  • the above-mentioned series of processes can be performed by hardware or by software.
  • the programs that make up the software are installed on a general-purpose computer or the like.
  • FIG. 33 shows an example of the configuration of one embodiment of a computer on which a program that executes the series of processes described above is installed.
  • the program can be pre-recorded on the hard disk 705 or ROM 703 as a recording medium built into the computer.
  • the program can be temporarily or permanently stored (recorded) on a removable recording medium 711 such as a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, or a semiconductor memory.
  • a removable recording medium 711 can be provided as so-called packaged software.
  • the program can also be transferred wirelessly from a download site to the computer via an artificial satellite for digital satellite broadcasting, or transferred wired to the computer via a network such as a LAN (Local Area Network) or the Internet, and the computer can receive the program transferred in this way via the communications unit 708 and install it on the built-in hard disk 705.
  • a network such as a LAN (Local Area Network) or the Internet
  • the computer has a built-in CPU (Central Processing Unit) 702.
  • An input/output interface 710 is connected to the CPU 702 via a bus 701.
  • the CPU 702 executes a program stored in a ROM (Read Only Memory) 703 in accordance with the command.
  • ROM Read Only Memory
  • the CPU 702 loads into a RAM (Random Access Memory) 704 and executes a program stored in a hard disk 705, a program transferred from a satellite or network, received by a communication unit 708 and installed on the hard disk 705, or a program read from a removable recording medium 711 attached to a drive 709 and installed on the hard disk 705.
  • a RAM Random Access Memory
  • the CPU 702 performs processing according to the above-mentioned flowchart or processing performed by the configuration of the above-mentioned block diagram.
  • the CPU 702 outputs the processing results from an output unit 706 consisting of an LCD (Liquid Crystal Display) and a speaker, etc., via an input/output interface 710, or transmits them from a communication unit 708, or even records them on a hard disk 705, as necessary.
  • an output unit 706 consisting of an LCD (Liquid Crystal Display) and a speaker, etc.
  • processing steps that describe a program for causing a computer to perform various processes do not necessarily have to be processed chronologically in the order described in the flowchart, and also include processes that are executed in parallel or individually (for example, parallel processing or object-based processing).
  • the program may be processed by one computer, or may be distributed among multiple computers. Furthermore, the program may be transferred to a remote computer for execution.
  • the new LDPC code (its check matrix initial value table) described above can be used for satellite lines, terrestrial waves, cables (wired lines), and other communication paths 13 ( Figure 1). Furthermore, the new LDPC code can be used for data transmission other than digital broadcasting, for example, via the Internet or mobile communication networks.
  • 11 transmitting device 12 receiving device, 13 communication path, 21 encoding unit, 22 mapping unit, 23 OFDM signal generating unit, 61 OFDM demodulation unit, 62 demapping unit, 63 decoding unit, 300 branch data storage memory, 301 selector, 302 check node calculation unit, 303 cyclic shift circuit, 304 branch data storage memory, 305 selector, 306 received data memory, 307 variable node calculation unit, 308 cyclic shift circuit, 309 decoded word calculation unit, 310 received data rearrangement unit, 311 decoded data rearrangement unit, 701 bus, 702 CPU, 703 ROM, 704 RAM, 705 hard disk, 706 output unit, 707 input unit, 708 communication unit, 709 drive, 710 input/output interface, 711 removable recording medium

Landscapes

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

Abstract

本技術は、LDPC符号を用いたデータ伝送において、良好な通信品質を確保することができるようにする送信装置、送信方法、受信装置、及び、受信方法に関する。 符号長Nが1224又は2448ビットであり、符号化率rが252/1224又は252/2448の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の要素の位置を36列ごとに表すテーブルであり、所定のテーブルになっている。本技術は、例えば、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)。
ATSC Standard:Physical Layer Protocol(A/322), 7 September 2016
 LDPC符号を用いたデータ伝送では、例えば、LDPC符号が、QPSK(Quadrature Phase Shift Keying)等の直交変調(ディジタル変調)のシンボルとされ(シンボル化され)、そのシンボルが、直交変調の信号点にマッピングされて送信される。
 以上のようなLDPC符号を用いたデータ伝送は、世界的に拡がりつつあり、良好な通信(伝送)品質を確保することが要請されている。
 本技術は、このような状況に鑑みてなされたものであり、LDPC符号を用いたデータ伝送において、良好な通信品質を確保することができるようにするものである。
 本技術の第1の送信装置/方法は、符号長Nが1224ビットであり、符号化率rが252/1224の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は、540であり、前記A行列及び前記C行列は、検査行列初期値テーブルによって表され、前記検査行列初期値テーブルは、前記A行列及び前記C行列の1の要素の位置を36列ごとに表すテーブルであって、
 13 233 262 544 545 547 559 574 597 615 628 639 657 661 674 678 695 696 706 750 783 788 816 824 851 869 878 913
 146 350 477 731 904 960
 156 310 509 546 691 872
 31 257 453 625 650 742
 60 199 414 641 830 849
 196 264 409 551 804 855
 26 208 518 559 841 916
 629
 597
 740
 898
 930
 592
 622
 774
 781
 662
 720
 965
 551
 775
 729
 である送信装置/方法である。
 本技術の第1の送信装置/方法においては、符号長Nが1224ビットであり、符号化率rが252/1224の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は、540であり、前記A行列及び前記C行列は、検査行列初期値テーブルによって表され、前記検査行列初期値テーブルは、前記A行列及び前記C行列の1の要素の位置を36列ごとに表すテーブルであって、
 13 233 262 544 545 547 559 574 597 615 628 639 657 661 674 678 695 696 706 750 783 788 816 824 851 869 878 913
 146 350 477 731 904 960
 156 310 509 546 691 872
 31 257 453 625 650 742
 60 199 414 641 830 849
 196 264 409 551 804 855
 26 208 518 559 841 916
 629
 597
 740
 898
 930
 592
 622
 774
 781
 662
 720
 965
 551
 775
 729
 になっている。
 本技術の第1の受信装置/方法は、符号長Nが1224ビットであり、符号化率rが252/1224の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は、540であり、前記A行列及び前記C行列は、検査行列初期値テーブルによって表され、前記検査行列初期値テーブルは、前記A行列及び前記C行列の1の要素の位置を36列ごとに表すテーブルであって、
 13 233 262 544 545 547 559 574 597 615 628 639 657 661 674 678 695 696 706 750 783 788 816 824 851 869 878 913
 146 350 477 731 904 960
 156 310 509 546 691 872
 31 257 453 625 650 742
 60 199 414 641 830 849
 196 264 409 551 804 855
 26 208 518 559 841 916
 629
 597
 740
 898
 930
 592
 622
 774
 781
 662
 720
 965
 551
 775
 729
 である
 送信方法により送信されてくるデータから得られる前記LDPC符号を復号する復号部/ステップを備える受信装置/方法である。
 本技術の第1の受信装置/方法においては、第1の送信方法により送信されてくるデータから得られる前記LDPC符号が復号される。
 本技術の第2の送信装置/方法は、符号長Nが2448ビットであり、符号化率rが252/2448の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は、72であり、前記A行列及び前記C行列は、検査行列初期値テーブルによって表され、前記検査行列初期値テーブルは、前記A行列及び前記C行列の1の要素の位置を36列ごとに表すテーブルであって、
 1 10 67 108 181 208 364 544 720 768 936 984 1088 1112 1150 1153 1178 1309 1385 1569 1638 1911 1952 2154
 19 46 58 80 98 125 233 251 598 819 867 873 1027 1040 1135 1226 1293 1452 1559 1635 1714 1846 1882
 1 8 39 75 215 402 422 722 786 825 885 905 1080 1089 1202 1459 1568 1700 1953 1980 2008 2168 2179
 12 32 61 110 120 195 310 522 571 595 691 702 745 776 944 982 1092 1103 1272 1355 1445 1497 1519
 4 39 57 115 197 204 216 270 271 550 696 939 990 1093 1412 1540 1614 1787 1957 2019 2068 2123 2173
 18 32 55 91 288 318 320 484 541 673 862 913 987 1125 1162 1163 1191 1257 1461 1678 1771 1845 2072 2073
 26 45 70 222 355 515 621 760 837 970 1112 1188 1200 1301 1370 1448 1452 1465 1825 1893 1903 1971 2013 2031
 263 531 693 1068 1210 1410 1430 1438 1538 1543 1762 1816 1904
 117 156 179 307 977 1214 1287 1333 1503 1574 1734 1827 1927
 である送信装置/方法である。
 本技術の第2の送信装置/方法においては、符号長Nが2448ビットであり、符号化率rが252/2448の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は、72であり、前記A行列及び前記C行列は、検査行列初期値テーブルによって表され、前記検査行列初期値テーブルは、前記A行列及び前記C行列の1の要素の位置を36列ごとに表すテーブルであって、
 1 10 67 108 181 208 364 544 720 768 936 984 1088 1112 1150 1153 1178 1309 1385 1569 1638 1911 1952 2154
 19 46 58 80 98 125 233 251 598 819 867 873 1027 1040 1135 1226 1293 1452 1559 1635 1714 1846 1882
 1 8 39 75 215 402 422 722 786 825 885 905 1080 1089 1202 1459 1568 1700 1953 1980 2008 2168 2179
 12 32 61 110 120 195 310 522 571 595 691 702 745 776 944 982 1092 1103 1272 1355 1445 1497 1519
 4 39 57 115 197 204 216 270 271 550 696 939 990 1093 1412 1540 1614 1787 1957 2019 2068 2123 2173
 18 32 55 91 288 318 320 484 541 673 862 913 987 1125 1162 1163 1191 1257 1461 1678 1771 1845 2072 2073
 26 45 70 222 355 515 621 760 837 970 1112 1188 1200 1301 1370 1448 1452 1465 1825 1893 1903 1971 2013 2031
 263 531 693 1068 1210 1410 1430 1438 1538 1543 1762 1816 1904
 117 156 179 307 977 1214 1287 1333 1503 1574 1734 1827 1927
 になっている。
 本技術の第2の受信装置/方法は、符号長Nが2448ビットであり、符号化率rが252/2448の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は、72であり、前記A行列及び前記C行列は、検査行列初期値テーブルによって表され、前記検査行列初期値テーブルは、前記A行列及び前記C行列の1の要素の位置を36列ごとに表すテーブルであって、
 1 10 67 108 181 208 364 544 720 768 936 984 1088 1112 1150 1153 1178 1309 1385 1569 1638 1911 1952 2154
 19 46 58 80 98 125 233 251 598 819 867 873 1027 1040 1135 1226 1293 1452 1559 1635 1714 1846 1882
 1 8 39 75 215 402 422 722 786 825 885 905 1080 1089 1202 1459 1568 1700 1953 1980 2008 2168 2179
 12 32 61 110 120 195 310 522 571 595 691 702 745 776 944 982 1092 1103 1272 1355 1445 1497 1519
 4 39 57 115 197 204 216 270 271 550 696 939 990 1093 1412 1540 1614 1787 1957 2019 2068 2123 2173
 18 32 55 91 288 318 320 484 541 673 862 913 987 1125 1162 1163 1191 1257 1461 1678 1771 1845 2072 2073
 26 45 70 222 355 515 621 760 837 970 1112 1188 1200 1301 1370 1448 1452 1465 1825 1893 1903 1971 2013 2031
 263 531 693 1068 1210 1410 1430 1438 1538 1543 1762 1816 1904
 117 156 179 307 977 1214 1287 1333 1503 1574 1734 1827 1927
 である
 送信方法により送信されてくるデータから得られる前記LDPC符号を復号する復号部/ステップを備える受信装置/方法である。
 本技術の第2の受信装置/方法においては、第2の送信方法により送信されてくるデータから得られる前記LDPC符号が復号される。
 なお、送信装置や受信装置は、独立した装置であっても良いし、1個の装置を構成している内部ブロックであっても良い。また、送信装置や受信装置は、1チップ又は複数チップの半導体チップで構成することができる。
 送信装置や受信装置の一部又は全部は、コンピュータにプログラムを実行させることにより機能的に実現することができる。プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
本技術を適用した伝送システムの一実施の形態の構成例を示す図である。 送信装置11の構成例を示すブロック図である。 検査行列の例を示す図である。 パリティ行列の例を示す図である。 DVB-T.2の規格に規定されているLDPC符号の検査行列を説明する図である。 送信装置11の処理の例を説明するフローチャートである。 符号化部21の処理の例を説明するフローチャートである。 検査行列初期値テーブルから検査行列Hを求める方法を説明する図である。 検査行列の構造を示す図である。 検査行列初期値テーブルの例を示す図である。 検査行列初期値テーブルから生成されるA行列を説明する図である。 B行列のパリティインターリーブを説明する図である。 検査行列初期値テーブルから生成されるC行列を説明する図である。 D行列のパリティインターリーブを説明する図である。 検査行列に、パリティインターリーブを元に戻すパリティデインターリーブとしての列置換(column permutation)を行った検査行列を示す図である。 検査行列に、行置換(row permutation)を行うことにより得られる変換検査行列を示す図である。 新LDPC符号の検査行列初期値テーブルの第1の例を示す図である。 新LDPC符号の検査行列初期値テーブルの第2の例を示す図である。 列重みが3で、行重みが6であるデグリーシーケンスのアンサンブルのタナーグラフの例を示す図である。 マルチエッジタイプのアンサンブルのタナーグラフの例を示す図である。 タイプA方式の検査行列を説明する図である。 タイプA符号のパラメータを示す図である。 符号化率r=252/1224の新LDPC符号を用いた場合のFERのシミュレーション結果を示す図である。 符号化率r=252/2448の新LDPC符号を用いた場合のFERのシミュレーション結果を示す図である。 受信装置12の構成例を示すブロック図である。 受信装置12の処理の例を説明するフローチャートである。 LDPC符号の検査行列の例を示す図である。 検査行列に行置換と列置換を施した行列(変換検査行列)の例を示す図である。 5×5単位に分割した変換検査行列の例を示す図である。 ノード演算をP個まとめて行う復号装置の構成例を示すブロック図である。 ノード演算をP個まとめて行う復号装置の他の構成例を示すブロック図である。 検査行列の例を模式的に示す図である。 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
 <本技術を適用した伝送システムの構成例>
 図1は、本技術を適用した伝送システム(システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは、問わない)の一実施の形態の構成例を示す図である。
 図1において、伝送システムは、送信装置11と受信装置12とから構成される。
 送信装置11は、例えば、テレビジョン放送の番組等の送信(放送)(伝送)を行う。すなわち、送信装置11は、例えば、番組としての画像データや音声データ等の、送信の対象である対象データをLDPC符号に符号化し、例えば、衛星回線や、地上波、ケーブル(有線回線)等の通信路13を介して送信する。
 受信装置12は、送信装置11から通信路13を介して送信されてくるLDPC符号を受信し、対象データに復号して出力する。
 以下、図1の伝送システムでは、特に言及する事項を除き、地上放送高度化方式で、情報の伝送が行われることとする。但し、本技術を適用する伝送方式は、地上放送高度化方式に限定されるものではない。すなわち、本技術は、例えば、衛星放送や、ケーブルTV(television)、インターネット、5G等の携帯通信網等でのデータ伝送に適用することができる。
 <送信装置11の構成例>
 図2は、図1の送信装置11の構成例を示すブロック図である。
 図2において、送信装置11は、符号化部21、マッピング部22、及び、OFDM(orthogonal frequency-division multiplexing)信号生成部23を有する。
 符号化部21には、低遅延の伝送を行うための低遅延伝送チャネル(以下、LLchともいう)で伝送されるデータであるLLデータが供給される。
 LLデータとしては、送信装置11がOFDM信号を送信する1つのチャネルに割り当てられた周波数帯域のうちの、部分受信が可能な部分受信帯域内のチャネル(L0ch)で伝送されるL0データと、部分受信帯域以外の帯域のチャネル(L1ch)で伝送されるL1データとがある。
 LLデータとしては、緊急地震速報等の緊急情報、その他、低遅延伝送が要求される情報を採用することができる。
 LLデータのうちの、部分受信帯域内のチャネル(L0ch)で伝送されるL0データは、部分受信帯域以外の帯域のチャネル(L1ch)で伝送されるL1データに比較して、速報性に優れる。したがって、L0データは、例えば、災害が発生した場合に、災害が発生したこと自体や、災害の種類等の、特に、緊急性が高い情報の伝送に有用である。
 符号化部21には、LLデータの他、TV番組のコンテンツの画像や音声等のデータである主データや、TMCC(transmission and multiplexing configuration control)情報等が供給される。
 本技術において、TMCC情報は、主データの復元に必要な伝送制御情報を少なくとも含み、例えば、ISDB-T(Integrated Services Digital Broadcasting-Terrestrial)のTMCC情報やAC(auxiliary channel)情報、その他、DVB-T.2やATSC3.0のプリアンブル等の一部や全部に相当する情報を含めることができる。
 符号化部21は、そこに供給されるLLデータ、TMCC情報、及び、主データ等それぞれを、LDPC符号化の対象であるLDPC対象データとして、そのLDPC対象データについて、例えば、LDPC符号のパリティビットに対応する部分であるパリティ行列(の一部又は全部)が階段(dual diagonal)構造になっている検査行列等の所定の検査行列に従ったLDPC符号化を行い、LDPC対象データを情報ビットとするLDPC符号を出力する。
 LLデータ、TMCC情報、及び、主データ等それぞれのLDPC符号化においては、異なるLDPC符号(検査行列)を用いることができる。
 符号化部21でのLDPC符号化の結果得られるLDPC符号としては、例えば、DVB-S.2やATSC3.0等の規格に規定されているLDPC符号と同様に、IRA(irregular repeat accumulate)符号を採用することができる。
 符号化部21が出力するLLデータ、TMCC情報、及び、主データ等それぞれのLDPC符号は、マッピング部22に供給される。
 マッピング部22は、符号化部21からのLDPC符号について、BPSK変調やQPSK変調等の所定の(直交)変調に対応するマッピングを行い、その結果得られるLLデータ、TMCC情報、及び、主データ等それぞれのLDPC符号のキャリア(IQコンスタレーション上の信号点)(サブキャリア)(シンボル)を出力する。
 LLデータ、TMCC情報、及び、主データ等それぞれのLDPC符号についての変調には、異なる変調を用いることができる。
 マッピング部22が出力するLDPC符号のキャリアは、OFDM信号生成部23に供給される。
 OFDM信号生成部23は、マッピング部22からのLDPC符号のキャリアを含むOFDMフレームを構成し、IFFT(inverse fast Fourier transform)、及び、GI(guard interval)の付加等を行って、OFDM信号を生成する。
 送信装置11では、OFDM信号生成部23で生成されたOFDM信号が送信される。
 <LDPC符号の検査行列の概要>
 図3は、図2の符号化部21で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符号の符号化率rは、式r=K/(K+M)=K/Nで表される。また、検査行列Hは、行×列がM×Nの行列(M行N列の行列)となる。検査行列Hにおいて、情報行列HAは、M×Kの行列となり、パリティ行列HTは、M×Mの行列となる。
 図4は、図2の符号化部21でLDPC符号化に用いられる検査行列Hのパリティ行列HTの例を示す図である。
 符号化部21でLDPC符号化に用いられる検査行列Hのパリティ行列HTとしては、例えば、DVB-T.2等の規格に規定されているLDPC符号の検査行列Hと同様のパリティ行列HTを採用することができる。
 DVB-T.2等の規格に規定されているLDPC符号の検査行列Hのパリティ行列HTは、図4に示すように、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が、図4に示した階段構造になっている場合には、式HcT=0における列ベクトルHcTの1行目の要素から順に、各行の要素を0にしていくことで、逐次的(順番)に計算することができる。
 図5は、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に等しい。
 <送信装置11の処理>
 図6は、図2の送信装置11の処理の例を説明するフローチャートである。
 符号化部21には、LLデータ、TMCC情報、及び、主データ等が供給される。
 ステップS101において、符号化部21が、LLデータ、TMCC情報、及び、主データ等それぞれを、LDPC対象データとして、そのLDPC対象データについて、所定の検査行列に従ったLDPC符号化を行う。符号化部21は、LDPC符号化の結果得られる、LLデータ、TMCC情報、及び、主データ等それぞれのLDPC符号を、マッピング部22に供給する。
 その後、処理は、ステップS101からステップS102に進み、マッピング部22は、符号化部21からのLLデータ、TMCC情報、及び、主データ等それぞれのLDPC符号それぞれについて、所定の変調に対応するマッピングを行う。マッピング部22は、マッピングにより得られるLLデータ、TMCC情報、及び、主データ等それぞれのLDPC符号のキャリアを、OFDM信号生成部23に供給し、処理は、ステップS102からステップS103に進む。
 ステップS103では、OFDM信号生成部23は、マッピング部22からのキャリアを含むOFDM信号を生成して送信する。
 図7は、図2の符号化部21の処理の例を説明するフローチャートである。
 ステップS111において、符号化部21は、後述する検査行列初期値テーブルを用いて、検査行列Hを生成し、処理は、ステップS112に進む。
 ステップS112では、符号化部21は、LDPC対象データから、検査行列Hに対応するLDPC符号の符号長N及び符号化率rに対応する情報長K(=N×r)のビット列を、情報ビットとして取得し、処理は、ステップS113に進む。
 ステップS113では、符号化部21は、情報長Kの情報ビットと検査行列Hとを用い、式(1)を満たす符号語cのパリティビットを順次演算する。
   HcT=0
                        ・・・(1)
 式(1)において、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が、図4に示した階段構造になっている場合には、式HcT=0における列ベクトルHcTの1行目の要素から順に、各行の要素を0にしていくことで、逐次的に計算することができる。
 符号化部21は、情報ビットAに対して、パリティビットTを計算し、その情報ビットAとパリティビットTとによって表される符号語c =[A|T]を、情報ビットAのLDPC符号として出力する。
 符号化部21は、LDPC対象データから、時系列に、情報長Kのビットを情報ビットとして取得し、その情報ビットのパリティビットを計算することを、LDPC対象データから、情報ビットとして取得するビットがなくなるまで、繰り返す。
 符号化部21には、様々な符号長Nや符号化率rのLDPC符号の(検査行列を表す)検査行列初期値テーブルをあらかじめ用意することができる。符号化部21では、あらかじめ用意された検査行列初期値テーブルのうちの、オペレータ等の外部からの指定に応じた検査行列初期値テーブルから検査行列Hを生成し、その検査行列Hを用いて、LDPC符号化を行うことができる。
 なお、符号化部21では、LDPC符号化で得られるLDPC符号について、そのLDPC符号のパリティビットを、他のパリティビットの位置にインターリーブするパリティインターリーブを行うことができる。
 符号化部21がLDPC符号化を行うことにより得られるLDPC符号に対応する検査行列Hの情報行列HAは、DVB-T.2等の規格に規定されているLDPC符号に対応する検査行列Hの情報行列と同様に、巡回構造になっている。
 巡回構造とは、ある列が、他の列をサイクリックシフトしたものと一致している構造をいい、例えば、P列ごとに、そのP列の各行の1の位置が、そのP列の最初の列を、パリティ長Mを除算して得られる値qに比例する値等の所定の値だけ、列方向にサイクリックシフトした位置になっている構造も含まれる。以下、適宜、巡回構造におけるP列を、パラレルファクタという。
 DVB-T.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となる)。
 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符号のパリティビットの位置が移動される。
 ここで、LDPC符号の復号は、Gallagerが確率復号(Probabilistic Decoding)と称して提案したアルゴリズム、すなわち、バリアブルノード(variable node)(メッセージノード(message node)とも呼ばれる)と、チェックノード(check node)とからなる、いわゆるタナーグラフ(Tanner graph)上での確率伝播(belief propagation)によるメッセージパッシングアルゴリズムであるサムプロダクトアルゴリズム(Sum Product Algorithm)によって行うことができる。以下、適宜、バリアブルノードとチェックノードを、単に、ノードともいう。
 サムプロダクトアルゴリズムでは、受信側で受信したLDPC符号の各ビットの受信LLR(log likelihood ratio)、すなわち、各ビットの値の"0"らしさを対数尤度比で表現した実数値を初期値として用いて、バリアブルノードにおいて、所定の演算としてのバリアブルノード演算が行われる。
 バリアブルノードは、バリアブルノード演算の結果を、メッセージvとして出力する。
 チェックノードは、バリアブルノードが出力するメッセージvを用いて、所定の演算としてのチェックノード演算を行い、チェックノード演算の結果を、メッセージuとして出力する。
 バリアブルノードは、チェックノードが出力するメッセージuを用いて、バリアブルノード演算を行い、バリアブルノード演算の結果を、メッセージuとして出力する。
 バリアブルノードとチェックノードとは、検査行列に応じた枝(edge)によって接続される。
 バリアブルノードは、検査行列の各列に対応し、チェックノードは、検査行列の各行に対応する。検査行列において、1になっている要素の列に対応するバリアブルノードと、その要素の行に対応するチェックノードとが、枝で繋がれる。
 メッセージv及びuは、枝で繋がれたバリアブルノードとチェックノードとの間でやりとされる。
 バリアブルノード演算及びチェックノード演算とのセットが、あらかじめ決められた繰り返し復号回数だけ繰り返された後、バリアブルノードにおいて、チェックノードが最後に出力したメッセージuを用いて、バリアブルノード演算に類似する所定の演算が行われ、LDPC符号の復号結果が求められる。
 上述のパリティインターリーブによれば、同一のチェックノードに繋がれるバリアブルノード(に対応するパリティビット)が、パラレルファクタPだけ離れる。したがって、バースト長が、パラレルファクタP未満である場合には、同一のチェックノードに繋がっているバリアブルノードの複数が同時にエラーになる事態を避けることができ、バースト誤りに対する耐性を改善することができる。
 なお、K+qx+y+1番目の符号ビットを、K+Py+x+1番目の符号ビットの位置にインターリーブするパリティインターリーブ後のLDPC符号は、元の検査行列Hの、K+qx+y+1番目の列を、K+Py+x+1番目の列に置換する列置換を行って得られる検査行列(以下、変換検査行列ともいう)のLDPC符号に一致する。
 また、変換検査行列のパリティ行列には、P列を単位とする擬似巡回構造が現れる。
 ここで、擬似巡回構造とは、一部を除く部分が巡回構造になっている構造を意味する。
 DVB-T.2等の規格に規定されているLDPC符号の検査行列に対して、パリティインターリーブに相当する列置換を施して得られる変換検査行列は、変換検査行列の右上隅部分のP行×P列=360行×360列の部分(後述するシフト行列)に、1の要素が1つだけ足らず(0の要素になっており)、その点で、(完全な)巡回構造ではなく、擬似巡回構造になっている。
 符号化部21で用いられる検査行列としては、変換検査行列が、例えば、DVB-T.2等の規格に規定されているLDPC符号の検査行列に対する変換検査行列と同様に、擬似巡回構造になる行列を採用することができる。
 なお、変換検査行列は、元の検査行列Hに対して、パリティインターリーブに相当する列置換の他、変換検査行列が、後述する構成行列で構成されるようにするための行の置換(行置換)も施された行列になっている。
 <検査行列初期値テーブル>
 図8は、タイプB方式の検査行列初期値テーブルから検査行列Hを求める方法を説明する図である。
 検査行列初期値テーブルは、例えば、検査行列Hのうちの、LDPC符号(検査行列Hによって定義されるLDPC符号)の符号長N及び符号化率rに応じた情報長Kに対応する情報行列HA(図3)の1の要素の位置をパラレルファクタであるP列ごとに表すテーブルであり、検査行列Hごとに、あらかじめ作成される。
 検査行列初期値テーブルは、少なくとも、情報行列HAの1の要素の位置を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符号が採用されている。
 図8は、DVB-T.2の規格に規定されている、符号長Nが16200ビットの、符号化率rが2/3のタイプB符号の検査行列初期値テーブルを示している。
 符号化部21において、タイプB符号が採用される場合、符号化部21は、タイプB方式の検査行列初期値テーブルを用いて、以下のように、検査行列Hを求める。
 タイプB方式の検査行列初期値テーブルは、LDPC符号の符号長N及び符号化率rに応じた情報長Kに対応する情報行列HAの全体の1の要素の位置を、P列ごとに表すテーブルになっている。
 DVB-T.2の規格に規定されているタイプB符号のパラレルファクタPは、360であり、検査行列初期値テーブルのi行目には、検査行列Hの1+360×(i-1)列目の1の要素の行番号(検査行列Hの1行目の行番号を0とする行番号)が、その1+360×(i-1)列目の列が持つ列重みの数だけ並んでいる。
 ここで、タイプB方式の検査行列Hの、パリティ長Mに対応するパリティ行列HT(図3)は、図4に示したように階段構造に決まっているので、検査行列初期値テーブルにより、情報長Kに対応する情報行列HA(図3)を求めることができれば、検査行列Hを求めることができる。
 タイプB方式の検査行列初期値テーブルの行数k+1は、情報長Kによって異なる。
 情報長Kと、検査行列初期値テーブルの行数k+1との間には、式(2)の関係が成り立つ。
   K=(k+1)×P
                        ・・・(2)
 ここで、式(2)のパラレルファクタPは、DVB-T.2の規格に規定されているタイプB符号については、上述のように、360である。
 図8の検査行列初期値テーブルでは、1行目から3行目までに、13個の数値が並び、4行目からk+1行目(図8では、30行目)までに、3個の数値が並んでいる。
 したがって、図8の検査行列初期値テーブルから求められる検査行列Hの列重みは、1列目から、1+360×(3-1)-1列目までは、13であり、1+360×(3-1)列目から、K列目までは、3である。
 図8の検査行列初期値テーブルの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であること)を示している。
 また、図8の検査行列初期値テーブルの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/P=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は、式(3)で求めることができる。
   Hw-j=mod(hi,j+mod((w-1),P)×q,M)
                        ・・・(3)
 ここで、mod(x,y)はxをyで割った余りを意味する。qは、パリティ長Mを、パラレルファクタP(=360)で除算することにより得られる値M/360である。
 図8の検査行列初期値テーブルを用いた検査行列の生成では、検査行列初期値テーブルによって、検査行列Hの1+360×(i-1)列目の1の要素の行番号が特定される。さらに、検査行列Hの1+360×(i-1)列目以外の列であるw列目の、1の要素の行番号Hw-jが、式(3)に従って特定される。
 そして、以上のように特定された行番号の要素を1とする検査行列Hが生成される。
 図9は、タイプ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行列)である。
 M2=N-K-M1とおくと、C行列は、M2行K+M1列の行列と、D行列は、M2行M2列の単位行列と、Z行列は、M1行M2列のゼロ行列と、それぞれ表現することができる。
 以上のようなA行列ないしD行列、及び、Z行列で構成されるタイプA方式の検査行列Hでは、A行列、及び、C行列の一部が、情報行列を構成しており、B行列、C行列の残りの部分、D行列、及び、Z行列が、パリティ行列を構成している。
 なお、B行列は、階段構造の行列であり、D行列は、単位行列であるので、タイプA方式の検査行列Hのパリティ行列は、一部(B行列の部分)が階段構造になっており、他の一部(D行列の部分)が対角行列(単位行列)になっている。
 A行列及びC行列は、タイプB方式の検査行列Hの情報行列と同様に、パラレルファクタであるP列ごとの巡回構造になっており、タイプA方式の検査行列初期値テーブルは、A行列及びC行列の1の要素の位置をP列ごとに表す。例えば、ATSC 3.0の規格に規定されているタイプA符号のパラレルファクタは、360になっている。
 ここで、タイプA方式の検査行列初期値テーブルは、検査行列のA行列及びC行列の1の要素の位置をP列ごとに表すから、検査行列の一部の1の要素の位置をP列ごとに表している、ということができる。
 さらに、A行列、及び、C行列の一部は、情報行列を構成するから、A行列及びC行列の1の要素の位置をP列ごとに表すタイプA方式の検査行列初期値テーブルは、少なくとも、情報行列の1の要素の位置をP列ごとに表している、ということができる。
 図10は、タイプA方式の検査行列初期値テーブルの例を示す図である。
 すなわち、図10は、符号長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については、パラレルファクタP等以外のパラメータとして、M1,M2,Q1、及び、Q2がある。
 M1(図9)は、B行列のサイズを決めるパラメータであり、パラレルファクタPの倍数の値をとる。M1を調整することで、LDPC符号の性能は変化し、検査行列Hを決定するときに、所定の値に調整される。ここでは、M1として、パラレルファクタP=5の3倍の15が採用されている。
 M2(図9)は、パリティ長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である。
 図10の検査行列初期値テーブルでは、1行目と2行目に、3個の数値が並び、3行目から5行目までに、1個の数値が並んでおり、かかる数値の並びによれば、図10の検査行列初期値テーブルから求められる検査行列HのA行列及びC行列の部分の列重みは、1=1+5×(1-1)列目から、10=5×2列目までは、3であり、11=1+5×(3-1)列目から、25=5×5列目までは、1である。
 図10の検査行列初期値テーブルの1行目は、2,6,18となっており、これは、検査行列Hの1列目において、行番号が、2,6,18の行の要素が1であること(かつ、他の要素が0であること)を示している。
 ここで、いまの場合、A行列(図9)は、15行10列(M1行K列)の行列であり、C行列(図9)は、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行列の行である。
 図10の検査行列初期値テーブルの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行列の行である。
 図10の検査行列初期値テーブルの3行目は、22となっており、これは、検査行列Hの11(=1+5×(3-1))列目において、行#22の要素が1であることを示している。
 ここで、検査行列Hの11(=1+5×(3-1))列目において、行#22は、C行列の行である。
 以下同様に、図10の検査行列初期値テーブルの4行目の19は、検査行列Hの16(=1+5×(4-1))列目において、行#19の要素が1であることを示しており、図10の検査行列初期値テーブルの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だけ下方向にサイクリックシフトしたもの)となっている。
 図11は、図10の検査行列初期値テーブルから生成されるA行列を示す図である。
 図11のA行列では、図10の検査行列初期値テーブルの1行目にしたがい、1(=1+5×(1-1))列目の行#2及び#6の要素が1になっている。
 そして、2(=2+5×(1-1))列目から5(=5+5×(1-1))列目までの各列は、直前の列を、Q1=3だけ下方向にサイクリックシフトしたものになっている。
 さらに、図11のA行列では、図10の検査行列初期値テーブルの2行目にしたがい、6(=1+5×(2-1))列目の行#2及び#10の要素が1になっている。
 そして、7(=2+5×(2-1))列目から10(=5+5×(2-1))列目までの各列は、直前の列を、Q1=3だけ下方向にサイクリックシフトしたものになっている。
 図12は、B行列のパリティインターリーブを示す図である。
 タイプAの検査行列初期値テーブルを用いた検査行列の生成では、検査行列初期値テーブルを用いて、A行列が生成され、そのA行列の右隣に、階段構造のB行列が配置される。そして、B行列がパリティ行列とみなされ、階段構造のB行列の隣接する1の要素が、行方向に、パラレルファクタP=5だけ離れるように、パリティインターリーブが行われる。
 図12は、図11のB行列のパリティインターリーブ後のA行列及びB行列を示している。
 図13は、図10の検査行列初期値テーブルから生成されるC行列を示す図である。
 図13のC行列では、図10の検査行列初期値テーブルの1行目にしたがい、検査行列Hの1(=1+5×(1-1))列目の行#18の要素が1になっている。
 そして、C行列の2(=2+5×(1-1))列目から5(=5+5×(1-1))列目までの各列は、直前の列を、Q2=2だけ下方向にサイクリックシフトしたものになっている。
 さらに、図13のC行列では、図10の検査行列初期値テーブルの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だけ下方向にサイクリックシフトしたものになっている。
 タイプAの検査行列初期値テーブルを用いた検査行列の生成では、検査行列初期値テーブルを用いて、C行列が生成され、そのC行列が、A行列及び(パリティインターリーブ後の)B行列の下に配置される。
 さらに、B行列の右隣に、Z行列が配置されるとともに、C行列の右隣に、D行列が配置され、図13に示す検査行列が生成される。
 図14は、D行列のパリティインターリーブを示す図である。
 タイプAの検査行列初期値テーブルを用いた検査行列の生成では、図13の検査行列を生成した後、D行列をパリティ行列とみなして、単位行列のD行列の奇数行と次の偶数行との1の要素が、行方向に、パラレルファクタP=5だけ離れるように、(D行列のみの)パリティインターリーブが行われる。
 図14は、図13の検査行列について、D行列のパリティインターリーブを行って得られる検査行列Hを示している。
 図14の検査行列Hを用いて生成されるLDPC符号は、パリティインターリーブを行ったLDPC符号になっている。したがって、図14の検査行列Hを用いて生成されるLDPC符号については、そのLDPC符号の生成後に、別途、パリティインターリーブを行う必要はない。
 図15は、図14の検査行列HのB行列、C行列の一部(C行列のうちの、B行列の下に配置されている部分)、及び、D行列に、パリティインターリーブを元に戻すパリティデインターリーブとしての列置換(column permutation)を行った検査行列を示す図である。
 LDPC符号化は、図14の検査行列Hに代えて、図15の検査行列を用いて行うことができる。
 図15の検査行列Hを用いて、LDPC符号化を行う場合、パリティインターリーブを行っていないLDPC符号が得られる。したがって、パリティインターリーブが必要な場合、図15の検査行列を用いて、LDPC符号化を行うときには、そのLDPC符号化によるLDPC符号の生成後に、そのLDPC符号を対象に、パリティインターリーブを行う必要がある。
 図16は、図14の検査行列Hに、行置換(row permutation)を行うことにより得られる変換検査行列を示す図である。
 変換検査行列は、後述するように、P×Pの単位行列、その単位行列の1のうち1個以上が0になった準単位行列、単位行列又は準単位行列をサイクリックシフトしたシフト行列、単位行列、準単位行列、又はシフト行列のうちの2以上の和である和行列、及び、P×Pの0行列の組合わせで表される行列になっている。
 変換検査行列を、LDPC符号の復号に用いることにより、LDPC符号の復号において、後述するように、チェックノード演算、及びバリアブルノード演算を、P個同時に行うアーキテクチャを採用することができる。
 <新LDPC符号>
 図17は、新LDPC符号の検査行列を表す検査行列初期値テーブルの第1の例を示す図である。
 図18は、新LDPC符号の検査行列を表す検査行列初期値テーブルの第2の例を示す図である。
 LDPC符号を用いたデータ伝送において、良好な通信品質を確保する方法の1つとして、性能の良いLDPC符号を用いる方法がある。
 以下では、性能の良い新たなLDPC符号(以下、新LDPC符号ともいう)について説明する。
 ここでは、例えば、TMCC情報のLDPC符号として採用し得る新LDPC符号について説明する。
 新LDPC符号としては、巡回構造の検査行列Hに対応するタイプA符号及びタイプB符号のいずれをも採用することができる。図17及び図18の検査行列初期値テーブルは、タイプA符号の検査行列初期値テーブル(タイプA方式の検査行列初期値テーブル)である。
 TMCC情報については、1符号語のLDPC符号の情報ビット(のビット数)として、例えば、256ビット程度が要請される。
 TMCC情報のLDPC符号のパラレルファクタPとして、例えば、36を採用することとすると、情報ビットは、パラレルファクタPの倍数である必要があるので、256ビットに近い、例えば、252ビットを採用することとする。
 LDPC符号については、1000ビット以上の符号長とすることで、ターボ符号よりも性能が向上し、符号長が長いほど性能が向上する。一方、符号長が長いと、LDPC符号の復号に要する時間は、符号長に応じて、符号長が長いほど長くなる。
 したがって、TMCC情報のLDPC符号の符号長Nについては、性能の観点からは長い方が良い。同時に、TMCC情報は、主データの復元に必要な伝送制御情報を含むことから、TMCC情報のLDPC符号の復号時間は短時間にする必要があり、かかる観点からは、TMCC情報のLDPC符号の符号長Nについては、短い方が良い。
 そこで、TMCC情報のLDPC符号の性能と復号時間の短時間化とをバランスさせるために、TMCC情報のLDPC符号としての新LDPC符号の符号長Nとして、パラレルファクタP=36の倍数であって、1000ビット以上の値である、例えば、1224ビット又は2448ビットを採用することとする。
 図17は、符号長Nが1224ビットで、情報長Kが252ビットのLDPC符号、したがって、符号化率rが252/1224の新LDPC符号の検査行列を表す検査行列初期値テーブルの例を示している。
 図18は、符号長Nが2448ビットで、情報長Kが252ビットのLDPC符号、したがって、符号化率rが252/2448の新LDPC符号の検査行列を表す検査行列初期値テーブルの例を示している。
 なお、図17及び図18の検査行列初期値テーブルに対応する新LDPC符号は、TMCC情報のLDPC符号化の他、任意のLDPC符号化に適用することができる。
 新LDPC符号のパラレルファクタPは、符号長Nの割に大きな値である36になっており、新LDPC符号の検査行列は、後述するP×Pの構成行列で表される。かかる検査行列のLDPC符号の復号では、チェックノード演算、及び、バリアブルノード演算を、最大でP=36個同時に行うアーキテクチャを用いることができ、LDPC符号の復号時間を短時間化することができる。
 ここで、性能の良いLDPC符号とは、適切な検査行列Hから得られるLDPC符号である。
 適切な検査行列Hとは、例えば、検査行列Hから得られるLDPC符号を、低いEs/N0(1シンボルあたりの信号電力対雑音電力比)、又は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符号の復号処理の容易化(単純化)等の観点から適宜決定することができる。
 図19及び図20は、適切な検査行列Hが満たすべき所定の条件としての解析結果が得られるデンシティエボリューションを説明する図である。
 デンシティエボリューションとは、後述するデグリーシーケンス(degree sequence)で特徴付けられる符号長Nが∞のLDPC符号全体(アンサンブル(ensemble))に対して、そのエラー確率の期待値を計算する、符号の解析法である。
 例えば、AWGN(additive white Gaussian noise)チャネル上で、ノイズの分散値を0からどんどん大きくしていくと、あるアンサンブルのエラー確率の期待値は、最初は0であるが、ノイズの分散値が、ある閾値(threshold)以上となると、0ではなくなる。
 デンシティエボリューションによれば、そのエラー確率の期待値が0ではなくなる、ノイズの分散値の閾値(以下、性能閾値ともいう)を比較することで、アンサンブルの性能(検査行列の適切さ)の良し悪しを決めることができる。
 なお、具体的なLDPC符号に対して、そのLDPC符号が属するアンサンブルを決定し、そのアンサンブルに対してデンシティエボリューションを行うと、そのLDPC符号のおおまかな性能を予想することができる。
 したがって、性能の良いLDPC符号は、性能の良いアンサンブルを見つければ、そのアンサンブルに属するLDPC符号の中から見つけることができる。
 ここで、上述のデグリーシーケンスとは、LDPC符号の符号長Nに対して、各値の重みをもつバリアブルノードやチェックノードがどれくらいの割合だけあるかを表す。
 例えば、符号化率が1/2のregular(3,6)LDPC符号は、すべてのバリアブルノードの重み(列重み)が3で、すべてのチェックノードの重み(行重み)が6であるというデグリーシーケンスによって特徴付けられるアンサンブルに属する。
 図19は、そのようなアンサンブルのタナーグラフ(Tanner graph)を示している。
 図19のタナーグラフでは、図中丸印(○印)で示すバリアブルノードが、符号長Nに等しいN個だけ存在し、図中四角形(□印)で示すチェックノードが、符号長Nに符号化率1/2を乗算した乗算値に等しいN/2個だけ存在する。
 各バリアブルノードには、列重みに等しい3本の枝(edge)が接続されており、したがって、N個のバリアブルノードに接続している枝は、全部で、3N本だけ存在する。
 また、各チェックノードには、行重みに等しい6本の枝が接続されており、したがって、N/2個のチェックノードに接続している枝は、全部で、3N本だけ存在する。
 さらに、図19のタナーグラフでは、1つのインターリーバが存在する。
 インターリーバは、N個のバリアブルノードに接続している3N本の枝をランダムに並べ替え、その並べ替え後の各枝を、N/2個のチェックノードに接続している3N本の枝のうちのいずれかに繋げる。
 インターリーバでの、N個のバリアブルノードに接続している3N本の枝を並べ替える並べ替えパターンは、(3N)!(=(3N)×(3N-1)×・・・×1)通りだけある。したがって、すべてのバリアブルノードの重みが3で、すべてのチェックノードの重みが6であるというデグリーシーケンスによって特徴付けられるアンサンブルは、(3N)!個のLDPC符号の集合となる。
 性能の良いLDPC符号(適切な検査行列)を求めるシミュレーションでは、デンシティエボリューションにおいて、マルチエッジタイプ(multi-edge type)のアンサンブルを用いることができる。
 マルチエッジタイプでは、バリアブルノードに接続している枝と、チェックノードに接続している枝とが経由するインターリーバが、複数(multi edge)に分割され、これにより、アンサンブルの特徴付けが、より厳密に行われる。
 図20は、マルチエッジタイプのアンサンブルのタナーグラフの例を示している。
 図20のタナーグラフでは、第1インターリーバと第2インターリーバとの2つのインターリーバが存在する。
 また、図20のタナーグラフでは、第1インターリーバに繋がる枝が1本で、第2インターリーバに繋がる枝が0本のバリアブルノードがv1個だけ、第1インターリーバに繋がる枝が1本で、第2インターリーバに繋がる枝が2本のバリアブルノードがv2個だけ、第1インターリーバに繋がる枝が0本で、第2インターリーバに繋がる枝が2本のバリアブルノードがv3個だけ、それぞれ存在する。
 さらに、図20のタナーグラフでは、第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である性能閾値が、所定値以下になるアンサンブルを見つけ、そのアンサンブルに属するLDPC符号の中から、DBPSK等の1以上の直交変調を用いた場合のBERを小さくするLDPC符号を、性能の良いLDPC符号として選択することができる。
 新LDPC符号(の検査行列を表す検査行列初期値テーブル)としては、以上のようなシミュレーションにより求められる性能の良いLDPC符号を採用することができる。
 かかるシミュレーションにより求められる新LDPC符号によれば、データ伝送において、良好な通信品質を確保することができる。
 図21は、新LDPC符号としてのタイプA符号の検査行列Hの列重みを説明する図である。
 タイプA符号の検査行列Hについては、図21に示すように、A行列及びC行列の1列目からK1列の列重みをX1と、A行列及びC行列のその後のK2列の列重みをX2と、A行列及びC行列のさらにその後のK3列の列重みをX3と、C行列のさらにその後のM1列の列重みをXM1と、それぞれ表すこととする。
 なお、K1+K2+K3は、情報長Kに等しい。
 また、タイプA符号の検査行列Hについては、B行列の1列目からM1-1列の列重みは2であり、B行列のM1列目(最後の列)の列重みは1である。さらに、D行列の列重みは1であり、Z行列の列重みは0である。
 図22は、図17及び図18の(検査行列初期値テーブルが表す)新LDPC符号としてのタイプA符号(の検査行列)のパラメータを示す図である。
 図17の符号化率r(Rate)=252/1224の新LDPC符号、及び、図18の符号化率r=252/2448の新LDPC符号のパラメータとしての情報長K、符号長N、X1,K1,X2,K2,X3,K3,XM1,M1,M2、パラレルファクタP、Q1=M1/P,Q2=M2/Pは、図22に示す通りになっている。Q1及びQ2は、図10で説明したように、サイクリックシフトのシフト数を表す。
 すなわち、符号化率r=252/1224の新LDPC符号については、情報長K=252、符号長N=1224、X1=28,K1=36,X2=6,K2=216,X3=0,K3=0,XM1=1,M1=540,M2=432、パラレルファクタP=36、Q1=15,Q2=12になっている。
 符号化率r=252/2448の新LDPC符号については、情報長K=252、符号長N=2448、X1=24,K1=36,X2=23,K2=144,X3=24,K3=72,XM1=13,M1=72,M2=2124、パラレルファクタP=36、Q1=2,Q2=59になっている。
 <新LDPC符号の性能>
 図23は、図17の符号化率r=252/1224の新LDPC符号を用いた場合のFERのシミュレーション結果を示す図である。
 図24は、図18の符号化率r=252/2448の新LDPC符号を用いた場合のFERのシミュレーション結果を示す図である。
 図23及び図24において、横軸は、CNRを表し、縦軸は、FERを表す。
 シミュレーションでは、TMCC情報としての情報ビットを、新LDPC符号にLDPC符号化し、その新LDPC符号を、IQコンスタレーション上のQPSKの信号点にマッピングすることで、QPSK変調を行って、TMCC情報のLDPC符号のキャリアが生成される。
 シミュレーションでは、さらに、LDPC符号のキャリアを含むフレームを、AWGNチャネル及びレイリーチャネル(Rayleighフェージングのあるチャネル)それぞれを経由させた後にデマッピング、及び、LDPC復号を行って、TMCC情報としての情報ビットが復元される。シミュレーションにおいて、LDPC復号での繰り返し復号回数は50回を採用した。
 なお、レイリーチャネルとしては、LDPC符号のキャリア(シンボル)の消失がない消失なしチャネルと、消失がある消失ありチャネルとがあるが、シミュレーションでは、消失なしチャネルが採用された。
 シミュレーションでは、TMCC情報としての情報ビットの復元結果と、元の情報ビットとの比較により、新LDPC符号の性能を評価する指標となるFERが算出される。
 すなわち、シミュレーションでは、情報ビットの復元結果に誤りがあったフレーム(エラーフレーム)が50フレーム以上となるまで、フレームが観測(測定)される。そして、エラーフレームが50フレーム以上となった時点の[エラーフレーム数]/[観測されたフレーム数]が、FERとして算出される。
 但し、情報ビットの復元結果が10^10(10の10乗)ビットになった場合には、フレームの観測は打ち切られ、その打ち切りの時点の[エラーフレーム数]/[観測されたフレーム数]が、FERとして算出される。
 また、情報ビットの復元結果が10^10(10の10乗)ビットになった場合に、エラーフレームが0フレームである場合には、FERは一律に、例えば、10^-9とされる。
 図23及び図24において、丸印は、AWGNチャネルの場合のFERを表し、三角印は、レイリーチャネルの場合のFERを表す。例えば、FER=10^-4を達成する所要CNRは、図17の符号化率r=252/1224の新LDPC符号については、AWGNチャネルの場合、約-1.8dBで、レイリーチャネルの場合、約-0.7dBである。図18の符号化率r=252/2448の新LDPC符号については、所要CNRは、AWGNチャネルの場合、約-5.4dBで、レイリーチャネルの場合、約-4.8dBである。
 いずれの新LDPC符号も、符号長Nに鑑みて、良好な所要CNRを達成することができることを確認することができる。
 なお、本実施の形態では、説明を分かりやすくするため、検査行列初期値テーブルから、検査行列を求め、その検査行列を用いてLDPC符号化を行うこととしたが、検査行列初期値テーブルは、検査行列と等価な情報であるため、LDPC符号化(LDPC符号のパリティビットの計算)は、検査行列を求めずに、検査行列初期値テーブルを用いた所定の演算により行うことができる。
 <受信装置12の構成例>
 図25は、図1の受信装置12の構成例を示すブロック図である。
 受信装置12は、OFDM復調部61、デマッピング部62、及び、復号部63を有する。
 OFDM復調部61は、送信装置11からのOFDM信号を受信する。OFDM復調部61は、AD(analog to digital)変換や、直交復調、FFT等によって、OFDM信号を復調し、その結果得られる復調信号を出力する。
 OFDM復調部61が出力する復調信号は、デマッピング部62に供給されるとともに、図示せぬ回路に供給される。図示せぬ回路では、復調信号に含まれるTMCC情報のLDPC符号のキャリア以外のキャリア、例えば、LLデータや主データ等のLDPC符号のキャリアが処理される。
 デマッピング部62は、OFDM復調部61からの復調信号から、TMCC情報のLDPC符号のキャリアを抽出する。
 デマッピング部62は、TMCC情報のLDPC符号のキャリアのデマッピング(復調)を行い、そのデマッピングにより得られるTMCC情報のLDPC符号の各ビットの尤度(受信LLR)を、復号部63に供給する。
 復号部63は、デマッピング部62からのTMCC情報のLDPC符号の各ビットの尤度を用いて、そのLDPC符号のLDPC復号を行い、その結果得られるTMCC情報を出力する。
 なお、復号部63でのLDPC復号は、LDPC符号化に用いられた検査行列そのものを用いて行うこともできるし、LDPC符号化に用いられたタイプB方式の検査行列に対して、パリティインターリーブに相当する列置換を少なくとも行って得られる変換検査行列、又は、LDPC符号化に用いられたタイプA方式の検査行列(図14)に行置換を行って得られる変換検査行列(図16)を用いて行うこともできる。
 変換検査行列を用いてLDPC復号を行う場合、LDPC復号には、チェックノード演算、及びバリアブルノード演算を、パラレルファクタであるP個以下の数だけ同時に行うアーキテクチャを採用することができる。
 図26は、図25の受信装置12の処理の例を説明するフローチャートである。
 ステップS201において、OFDM復調部61は、送信装置11からのOFDM信号を受信して復調する。OFDM復調部61は、OFDM信号の復調の結果得られる復調信号を、デマッピング部62(及び図示せぬ回路)に供給して、処理は、ステップS201からステップS202に進む。
 ステップS202では、デマッピング部62は、OFDM復調部61からの復調信号から、TMCC情報のLDPC符号のキャリアを抽出し、デマッピングを行う。
 デマッピング部62は、デマッピングにより得られるTMCC情報のLDPC符号の各ビットの尤度を、復号部63に供給して、処理は、ステップS202からステップS203に進む。
 ステップS203では、復号部63は、デマッピング部62からのTMCC情報のLDPC符号の各ビットの尤度(受信LLR)を用いてLDPC復号を行い、その結果得られるTMCC情報を出力する。
 <LDPC復号>
 図27ないし図30は、図25の復号部63で行われる変換検査行列を用いたLDPC復号を説明する図である。
 図25の復号部63では、LDPC復号を、図2の符号化部21がLDPC符号化に用いたタイプB方式の検査行列Hに対して、パリティインターリーブに相当する列置換を少なくとも行って得られる変換検査行列や、タイプA方式の検査行列(図14)に行置換を行って得られる変換検査行列(図16)を用いて行うことができる。
 ここで、LDPC復号を、変換検査行列を用いて行うことで、回路規模を抑制しつつ、動作周波数を十分実現可能な範囲に抑えることが可能となるLDPC復号が先に提案されている(例えば、特許第4224777号を参照)。
 図27ないし図30を参照して、先に提案されている、変換検査行列を用いたLDPC復号について説明する。
 図27は、符号長Nが90で、符号化率が2/3のタイプB符号としてのLDPC符号の検査行列Hの例を示す図である。
 なお、図27では(後述する図28及び図29においても同様)、0を、ピリオド(.)で表現している。
 図27の検査行列Hでは、パリティ行列が階段構造になっている。
 図28は、図27の検査行列Hに、式(4)の行置換と、式(5)の列置換を施して得られる検査行列H'を示す図である。
 行置換:6s+t+1行目→5t+s+1行目
                        ・・・(4)
 列置換:6x+y+61列目→5y+x+61列目
                        ・・・(5)
 但し、式(4)及び(5)において、s,t,x,yは、それぞれ、0≦s<5,0≦t<6,0≦x<5,0≦y<6の範囲の整数である。
 式(4)の行置換によれば、6で割って余りが1になる1,7,13,19,25行目を、それぞれ、1,2,3,4,5行目に、6で割って余りが2になる2,8,14,20,26行目を、それぞれ、6,7,8,9,10行目に、という具合に置換が行われる。
 また、式(5)の列置換によれば、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列目に、という具合に置換が行われる。
 このようにして、図27の検査行列Hに対して、行と列の置換を行って得られた行列(matrix)が、図28の検査行列H'である。
 ここで、検査行列Hの行置換を行っても、LDPC符号の符号ビットの並びには影響しない。
 また、式(5)の列置換は、上述の、K+qx+y+1番目の符号ビットを、K+Py+x+1番目の符号ビットの位置にインターリーブするパリティインターリーブにおいて、情報長Kを60と、パラレルファクタPを5と、パリティ長M(ここでは、30)の約数q(=M/P)を6と、それぞれしたときのパリティインターリーブに相当する。
 図28の検査行列H'は、図27の検査行列(以下、適宜、元の検査行列という)Hの、K+qx+y+1番目の列を、K+Py+x+1番目の列に置換する列置換を、少なくとも行って得られる変換検査行列である。
 図28の変換検査行列H'に対して、図27の元の検査行列HのLDPC符号に、式(5)と同一の置換を行ったものを乗じると、0ベクトルが出力される。すなわち、元の検査行列HのLDPC符号(1符号語)としての行ベクトルcに、式(5)の列置換を施して得られる行ベクトルをc'と表すこととすると、検査行列の性質から、HcTは、0ベクトルとなるから、H'c'Tも、当然、0ベクトルとなる。
 以上から、図28の変換検査行列H'は、元の検査行列HのLDPC符号cに、式(5)の列置換を行って得られるLDPC符号c'の検査行列になっている。
 したがって、元の検査行列HのLDPC符号cに、式(5)の列置換を行い、その列置換後のLDPC符号c'を、図28の変換検査行列H'を用いて復号(LDPC復号)し、その復号結果に、式(5)の列置換の逆置換を施すことで、元の検査行列HのLDPC符号を、その検査行列Hを用いて復号する場合と同様の復号結果を得ることができる。
 図29は、5×5の行列の単位に間隔を空けた、図28の変換検査行列H'を示す図である。
 図29においては、変換検査行列H'は、パラレルファクタPである5×5(=P×P)の単位行列、その単位行列の1のうち1個以上が0になった行列(以下、適宜、準単位行列という)、単位行列又は準単位行列をサイクリックシフト(cyclic shift)した行列(以下、適宜、シフト行列という)、単位行列、準単位行列、又はシフト行列のうちの2以上の和(以下、適宜、和行列という)、5×5の0行列の組合わせで表されている。
 図29の変換検査行列H'は、5×5の単位行列、準単位行列、シフト行列、和行列、0行列で構成されているということができる。そこで、変換検査行列H'を構成する、これらの5×5の行列(単位行列、準単位行列、シフト行列、和行列、0行列)を、以下、適宜、構成行列という。
 P×Pの構成行列で表される検査行列のLDPC符号の復号には、チェックノード演算、及びバリアブルノード演算を、P個同時に行うアーキテクチャ(architecture)を用いることができる。
 図30は、そのようなノード演算をP個まとめて行う復号装置の構成例を示すブロック図である。
 すなわち、図30は、図27の元の検査行列Hに対して、少なくとも、式(5)の列置換を行って得られる図29の変換検査行列H'を用いて、LDPC符号の復号を行う復号装置の構成例を示している。
 図30の復号装置は、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は、図29の変換検査行列H'の行数30を構成行列の行数(パラレルファクタP)5で除算した数である6つのFIFO3001ないし3006から構成されている。FIFO300y(y=1,2,・・・,6)は、複数の段数の記憶領域からなり、各段の記憶領域については、構成行列の行数及び列数(パラレルファクタP)である5つの枝に対応するメッセージを同時に読み出すこと、及び、書き込むことができる。また、FIFO300yの記憶領域の段数は、図29の変換検査行列の行方向の1の数(ハミング重み)の最大数である9になっている。
 FIFO3001には、図29の変換検査行列H'の第1行目から第5行目までの1の位置に対応するデータ(バリアブルノードからのメッセージv)が、各行共に横方向に詰めた形に(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には、図29の変換検査行列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には、図29の変換検査行列H'の第1列目から第5列目までの1の位置に対応するデータ(チェックノードからのメッセージu)が、各列共に縦方向に詰めた形に(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である。
 次に、図30の復号装置の動作について説明する。
 枝データ格納用メモリ300は、6つのFIFO3001ないし3006からなり、前段のサイクリックシフト回路308から供給される5つのメッセージD311が、図29の変換検査行列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)(バリアブルノードからのメッセージv)を用いて、チェックノード演算を行い、そのチェックノード演算の結果得られる5つのメッセージD303(D3031ないしD3035)(チェックノードからのメッセージu)をサイクリックシフト回路303に供給する。
 サイクリックシフト回路303は、チェックノード計算部302で求められた5つのメッセージD3031ないしD3035を、対応する枝が変換検査行列H'において元となる単位行列(又は準単位行列)を幾つサイクリックシフトしたものであるかの情報を元にサイクリックシフトし、その結果をメッセージD304として、枝データ格納用メモリ304に供給する。
 枝データ格納用メモリ304は、18個のFIFO3041ないし30418からなり、前段のサイクリックシフト回路303から供給される5つのメッセージD304が変換検査行列H'のどの行に属するかの情報D305(Matrixデータ)に従って、データを格納する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は、復号装置に供給される、図27の検査行列Hに対応するLDPC符号(の受信LLR)D313を、式(5)の列置換を行うことにより並べ替え、受信データD314として、受信データ用メモリ306に供給する。受信データ用メモリ306は、受信データ並べ替え部310から供給される受信データD314である受信LLRを記憶し、その受信LLRを5個ずつまとめて受信値D309として、バリアブルノード計算部307と復号語計算部309に供給する。
 バリアブルノード計算部307は、5つのバリアブルノード計算器3071ないし3075からなり、セレクタ305を通して供給されるメッセージD308(D3081ないしD3085)(チェックノードからのメッセージu)と、受信データ用メモリ306から供給される5つの受信値D309を用いて、バリアブルノード演算を行い、その演算の結果得られるメッセージD310(D3101ないしD3105)(バリアブルノードからのメッセージv)を、サイクリックシフト回路308に供給する。
 サイクリックシフト回路308は、バリアブルノード計算部307で計算されたメッセージD3101ないしD3105を、対応する枝が変換検査行列H'において元となる単位行列(又は準単位行列)を幾つサイクリックシフトしたものであるかの情報を元にサイクリックシフトし、その結果をメッセージD311として、枝データ格納用メモリ300に供給する。
 以上の動作を1巡することで、LDPC符号の1回の復号(バリアブルノード演算及びチェックノード演算)を行うことができる。図30の復号装置は、所定の繰り返し復号回数だけLDPC符号を復号した後、復号語計算部309及び復号データ並べ替え部311において、最終的な復号結果を求めて出力する。
 すなわち、復号語計算部309は、5つの復号語計算器3091ないし3095からなり、セレクタ305が出力する5つのメッセージD308(D3081ないしD3085)(チェックノードからのメッセージu)と、受信データ用メモリ306から供給される5つの受信値D309を用い、複数回の復号の最終段として、バリアブルノード演算に類似する演算を行うことにより、復号結果(復号語)を計算して、その結果得られる復号データD315を、復号データ並べ替え部311に供給する。
 復号データ並べ替え部311は、復号語計算部309から供給される復号データD315を対象に、式(5)の列置換の逆置換を行うことにより、その順序を並べ替え、最終的な復号結果D316として出力する。
 以上のように、検査行列(元の検査行列)に対して、行置換と列置換のうちの一方又は両方を施し、P×Pの構成行列で表すことができる検査行列(変換検査行列)に変換することで、LDPC復号において、ノード演算(チェックノード演算及びバリアブルノード演算)を、検査行列の行数や列数より小さい数のP個同時に行うアーキテクチャを採用することが可能となる。ノード演算を、検査行列の行数や列数より小さい数のP個同時に行うアーキテクチャを採用する場合、動作周波数を実現可能な範囲に抑えて、多数の繰り返し復号を行うことができる。
 図25の受信装置12を構成する復号部63は、例えば、図30の復号装置と同様に、ノード演算をP個同時に実行するLDPC復号を行うことができる。
 ここで、送信装置11を構成する符号化部21が出力するLDPC符号の検査行列が、例えば、図27に示した検査行列Hであり、符号化部21において、パリティインターリーブが行われることとする。
 この場合、符号化部21で行われるパリティインターリーブは、情報長Kを60に、パラレルファクタPを5に、パリティ長Mの約数q(=M/P)を6に、それぞれ設定して行われる、K+qx+y+1番目の符号ビットを、K+Py+x+1番目の符号ビットの位置にインターリーブするパリティインターリーブである。
 このパリティインターリーブは、式(5)で説明したように、式(5)の列置換に相当するから、検査行列Hを用いてLDPC符号化され、パリティインターリーブが施されたLDPC符号には、既に式(5)の列置換が施されている。
 したがって、検査行列Hを用いてLDPC符号化され、パリティインターリーブが施されたLDPC符号のLDPC復号を、式(5)の列置換を行って得られる変換検査行列H'を用いて行う場合には、LDPC符号に、式(5)の列置換を行う必要がない。
 さらに、LDPC復号の前に、LDPC符号のパリティインターリーブを元に戻すパリティデインターリーブを行う必要もない。
 LDPC符号に、パリティインターリーブが施されない場合には、復号部63は、図30の復号装置と同様に構成することができる。一方、LDPC符号に、パリティインターリーブが施される場合には、復号部63は、図30の復号装置において、LDPC符号について、式(5)の列置換を行わないように構成することができる。
 以上、タイプB符号を例に説明したが、タイプA符号についても同様である。
 図31は、ノード演算をP個まとめて行う復号装置の他の構成例を示すブロック図である。
 すなわち、図31は、LDPC符号にパリティインターリーブが施される場合に、ノード演算をP個まとめて行う復号装置の構成例を示している。
 図31において、復号装置は、図30の受信データ並べ替え部310が設けられていないことを除けば、図30の復号装置と同様に構成されており、式(5)の列置換が行われないことを除いて、図30の復号装置と同様の処理を行うため、その説明は省略する。
 以上のように、LDPC符号にパリティインターリーブが施される場合、復号装置は、受信データ並べ替え部310を設けずに構成することができる。したがって、図30の復号装置よりも、規模を削減することができる。
 LDPC符号にパリティインターリーブが施される場合、復号部63は、図31の復号装置と同様に構成することができる。
 なお、図27ないし図31では、説明を簡単にするために、LDPC符号の符号長Nを90と、情報長Kを60と、パラレルファクタ(構成行列の行数及び列数)Pを5と、それぞれしたが、符号長N、情報長K、及び、パラレルファクタPのそれぞれは、上述した値に限定されるものではない。
 すなわち、図2の送信装置11において、符号化部21が出力するLDPC符号は、図17及び図18で説明した新LDPC符号であるが、図31の復号装置は、そのような新LDPC符号を対象として、ノード演算をP個同時に(まとめて)行うことで、LDPC復号を行う場合に適用可能である。
 また、図31の復号装置でのLDPC符号の復号後、その復号結果のパリティの部分が不要であり、復号結果の情報ビットだけを出力する場合には、復号データ並べ替え部311なしで、復号装置を構成することができる。
 <復号時間>
 図32は、検査行列の例を模式的に示す図である。
 図32は、P×Pの構成行列、すなわち、P×Pの単位行列、準単位行列、シフト行列、和行列、及び、0行列の1種類以上の集まりで構成される(変換)検査行列の例を模式的に示している。
 図32において、小さい矩形は、P×Pの構成行列を表し、構成行列内の斜め線は、1の要素の位置を表す。
 構成行列のうちの単位行列、準単位行列、及び、シフト行列それぞれの1の要素の並びを、1本の斜め線とすると、和行列の斜め線の数は、その和行列を構成する単位行列、準単位行列、及び、シフト行列の数の総和に等しい。
 構成行列で構成される検査行列の斜め線の数は、[検査行列の1の要素の数+1]/Pで表すことができる。
 したがって、検査行列の斜め線の数は、検査行列の1の要素の数が多いほど多くなる。
また、検査行列の斜め線の数は、パラレルファクタPが小さいほど多くなる。
 ノード演算をP個同時に(並列に)行うアーキテクチャでは、検査行列の1本の斜め線ごとに、ノード演算が行われる。
 検査行列の全体についての1回のノード演算に要する復号装置の動作クロック数、すなわち、繰り返し復号回数1回あたりの復号サイクル数は、概ね、検査行列の斜め線の数に比例する。
 上述したように、検査行列の斜め線の数は、検査行列の1の要素の数が多いほど、また、パラレルファクタPが小さいほど、多くなる。
 LDPC符号の性能をある程度良くするためには、検査行列の1の要素の数をある程度多くする必要がある(重みを大きくする必要がある)。
 新LDPC符号の符号長と同程度の符号長、例えば、1000ビットないし2000ビット程度の符号長のLDPC符号について、フロア領域での性能(誤り訂正性能)を追求すると、すなわち、FERの低下が高い値で緩やかにならないようにすると、パラレルファクタPを、例えば、4等の小さい値にせざるを得ないLDPC符号が得られることがある。
 ある程度の性能のLDPC符号であっても、パラレルファクタPが4と小さいと、繰り返し復号回数1回あたりの復号サイクル数が多くなり、復号時間が長くなる。
 新LDPC符号は、パラレルファクタPが36と大きいので、繰り返し復号回数1回あたりの復号サイクル数が少なくなり、復号時間を短時間化することができる。
 仮に、パラレルファクタPが4のLDPC符号と、新LDPC符号との検査行列の1の要素の数が同一であれば、新LDPC符号の復号時間は、パラレルファクタPが4のLDPC符号の復号時間の4/36=1/9となる。
 一方、新LDPC符号の復号時間を、パラレルファクタPが4のLDPC符号の復号時間と同一にして良い場合には、新LDPC符号の繰り返し復号回数を、パラレルファクタPが4のLDPC符号の繰り返し復号回数の9=36/4倍にすることができる。
 なお、新LDPC符号については、符号長Nが1000ビットないし2000ビット程度で、パラレルファクタPが4の所定のLDPC符号よりも性能が良いこと、すなわち、例えば、所要CNRが改善されることが確認されている。
 <コンピュータの一実施の形態>
 次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
 そこで、図33は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
 プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク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符号(の検査行列初期値テーブル)は、衛星回線や、地上波、ケーブル(有線回線)、その他の通信路13(図1)について用いることができる。さらに、新LDPC符号は、ディジタル放送以外の、例えば、インターネットや携帯通信網等を介したデータ伝送に用いることができる。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 11 送信装置, 12 受信装置, 13 通信路, 21 符号化部, 22 マッピング部, 23 OFDM信号生成部, 61 OFDM復調部, 62 デマッピング部, 63 復号部, 300 枝データ格納用メモリ, 301 セレクタ, 302 チェックノード計算部, 303 サイクリックシフト回路, 304 枝データ格納用メモリ, 305 セレクタ, 306 受信データ用メモリ, 307 バリアブルノード計算部, 308 サイクリックシフト回路, 309 復号語計算部, 310 受信データ並べ替え部, 311 復号データ並べ替え部, 701 バス, 702 CPU, 703 ROM, 704 RAM, 705 ハードディスク, 706 出力部, 707 入力部, 708 通信部, 709 ドライブ, 710 入出力インタフェース, 711, リムーバブル記録媒体

Claims (12)

  1.  符号長Nが1224ビットであり、符号化率rが252/1224の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は、540であり、
     前記A行列及び前記C行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及び前記C行列の1の要素の位置を36列ごとに表すテーブルであって、
     13 233 262 544 545 547 559 574 597 615 628 639 657 661 674 678 695 696 706 750 783 788 816 824 851 869 878 913
     146 350 477 731 904 960
     156 310 509 546 691 872
     31 257 453 625 650 742
     60 199 414 641 830 849
     196 264 409 551 804 855
     26 208 518 559 841 916
     629
     597
     740
     898
     930
     592
     622
     774
     781
     662
     720
     965
     551
     775
     729
     である
     送信装置。
  2.  前記LDPC符号は、TMCC(transmission and multiplexing configuration control)情報のLDPC符号である
     請求項1に記載の送信装置。
  3.  符号長Nが1224ビットであり、符号化率rが252/1224の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は、540であり、
     前記A行列及び前記C行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及び前記C行列の1の要素の位置を36列ごとに表すテーブルであって、
     13 233 262 544 545 547 559 574 597 615 628 639 657 661 674 678 695 696 706 750 783 788 816 824 851 869 878 913
     146 350 477 731 904 960
     156 310 509 546 691 872
     31 257 453 625 650 742
     60 199 414 641 830 849
     196 264 409 551 804 855
     26 208 518 559 841 916
     629
     597
     740
     898
     930
     592
     622
     774
     781
     662
     720
     965
     551
     775
     729
     である
     送信方法。
  4.  符号長Nが1224ビットであり、符号化率rが252/1224の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は、540であり、
     前記A行列及び前記C行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及び前記C行列の1の要素の位置を36列ごとに表すテーブルであって、
     13 233 262 544 545 547 559 574 597 615 628 639 657 661 674 678 695 696 706 750 783 788 816 824 851 869 878 913
     146 350 477 731 904 960
     156 310 509 546 691 872
     31 257 453 625 650 742
     60 199 414 641 830 849
     196 264 409 551 804 855
     26 208 518 559 841 916
     629
     597
     740
     898
     930
     592
     622
     774
     781
     662
     720
     965
     551
     775
     729
     である
     送信方法により送信されてくるデータから得られる前記LDPC符号を復号する復号部を備える
     受信装置。
  5.  前記LDPC符号は、TMCC(transmission and multiplexing configuration control)情報のLDPC符号である
     請求項4に記載の受信装置。
  6.  符号長Nが1224ビットであり、符号化率rが252/1224の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は、540であり、
     前記A行列及び前記C行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及び前記C行列の1の要素の位置を36列ごとに表すテーブルであって、
     13 233 262 544 545 547 559 574 597 615 628 639 657 661 674 678 695 696 706 750 783 788 816 824 851 869 878 913
     146 350 477 731 904 960
     156 310 509 546 691 872
     31 257 453 625 650 742
     60 199 414 641 830 849
     196 264 409 551 804 855
     26 208 518 559 841 916
     629
     597
     740
     898
     930
     592
     622
     774
     781
     662
     720
     965
     551
     775
     729
     である
     送信方法により送信されてくるデータから得られる前記LDPC符号を復号する復号ステップを備える
     受信方法。
  7.  符号長Nが2448ビットであり、符号化率rが252/2448の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は、72であり、
     前記A行列及び前記C行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及び前記C行列の1の要素の位置を36列ごとに表すテーブルであって、
     1 10 67 108 181 208 364 544 720 768 936 984 1088 1112 1150 1153 1178 1309 1385 1569 1638 1911 1952 2154
     19 46 58 80 98 125 233 251 598 819 867 873 1027 1040 1135 1226 1293 1452 1559 1635 1714 1846 1882
     1 8 39 75 215 402 422 722 786 825 885 905 1080 1089 1202 1459 1568 1700 1953 1980 2008 2168 2179
     12 32 61 110 120 195 310 522 571 595 691 702 745 776 944 982 1092 1103 1272 1355 1445 1497 1519
     4 39 57 115 197 204 216 270 271 550 696 939 990 1093 1412 1540 1614 1787 1957 2019 2068 2123 2173
     18 32 55 91 288 318 320 484 541 673 862 913 987 1125 1162 1163 1191 1257 1461 1678 1771 1845 2072 2073
     26 45 70 222 355 515 621 760 837 970 1112 1188 1200 1301 1370 1448 1452 1465 1825 1893 1903 1971 2013 2031
     263 531 693 1068 1210 1410 1430 1438 1538 1543 1762 1816 1904
     117 156 179 307 977 1214 1287 1333 1503 1574 1734 1827 1927
     である
     送信装置。
  8.  前記LDPC符号は、TMCC(transmission and multiplexing configuration control)情報のLDPC符号である
     請求項7に記載の送信装置。
  9.  符号長Nが2448ビットであり、符号化率rが252/2448の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は、72であり、
     前記A行列及び前記C行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及び前記C行列の1の要素の位置を36列ごとに表すテーブルであって、
     1 10 67 108 181 208 364 544 720 768 936 984 1088 1112 1150 1153 1178 1309 1385 1569 1638 1911 1952 2154
     19 46 58 80 98 125 233 251 598 819 867 873 1027 1040 1135 1226 1293 1452 1559 1635 1714 1846 1882
     1 8 39 75 215 402 422 722 786 825 885 905 1080 1089 1202 1459 1568 1700 1953 1980 2008 2168 2179
     12 32 61 110 120 195 310 522 571 595 691 702 745 776 944 982 1092 1103 1272 1355 1445 1497 1519
     4 39 57 115 197 204 216 270 271 550 696 939 990 1093 1412 1540 1614 1787 1957 2019 2068 2123 2173
     18 32 55 91 288 318 320 484 541 673 862 913 987 1125 1162 1163 1191 1257 1461 1678 1771 1845 2072 2073
     26 45 70 222 355 515 621 760 837 970 1112 1188 1200 1301 1370 1448 1452 1465 1825 1893 1903 1971 2013 2031
     263 531 693 1068 1210 1410 1430 1438 1538 1543 1762 1816 1904
     117 156 179 307 977 1214 1287 1333 1503 1574 1734 1827 1927
     である
     送信方法。
  10.  符号長Nが2448ビットであり、符号化率rが252/2448の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は、72であり、
     前記A行列及び前記C行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及び前記C行列の1の要素の位置を36列ごとに表すテーブルであって、
     1 10 67 108 181 208 364 544 720 768 936 984 1088 1112 1150 1153 1178 1309 1385 1569 1638 1911 1952 2154
     19 46 58 80 98 125 233 251 598 819 867 873 1027 1040 1135 1226 1293 1452 1559 1635 1714 1846 1882
     1 8 39 75 215 402 422 722 786 825 885 905 1080 1089 1202 1459 1568 1700 1953 1980 2008 2168 2179
     12 32 61 110 120 195 310 522 571 595 691 702 745 776 944 982 1092 1103 1272 1355 1445 1497 1519
     4 39 57 115 197 204 216 270 271 550 696 939 990 1093 1412 1540 1614 1787 1957 2019 2068 2123 2173
     18 32 55 91 288 318 320 484 541 673 862 913 987 1125 1162 1163 1191 1257 1461 1678 1771 1845 2072 2073
     26 45 70 222 355 515 621 760 837 970 1112 1188 1200 1301 1370 1448 1452 1465 1825 1893 1903 1971 2013 2031
     263 531 693 1068 1210 1410 1430 1438 1538 1543 1762 1816 1904
     117 156 179 307 977 1214 1287 1333 1503 1574 1734 1827 1927
     である
     送信方法により送信されてくるデータから得られる前記LDPC符号を復号する復号部を備える
     受信装置。
  11.  前記LDPC符号は、TMCC(transmission and multiplexing configuration control)情報のLDPC符号である
     請求項10に記載の受信装置。
  12.  符号長Nが2448ビットであり、符号化率rが252/2448の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は、72であり、
     前記A行列及び前記C行列は、検査行列初期値テーブルによって表され、
     前記検査行列初期値テーブルは、前記A行列及び前記C行列の1の要素の位置を36列ごとに表すテーブルであって、
     1 10 67 108 181 208 364 544 720 768 936 984 1088 1112 1150 1153 1178 1309 1385 1569 1638 1911 1952 2154
     19 46 58 80 98 125 233 251 598 819 867 873 1027 1040 1135 1226 1293 1452 1559 1635 1714 1846 1882
     1 8 39 75 215 402 422 722 786 825 885 905 1080 1089 1202 1459 1568 1700 1953 1980 2008 2168 2179
     12 32 61 110 120 195 310 522 571 595 691 702 745 776 944 982 1092 1103 1272 1355 1445 1497 1519
     4 39 57 115 197 204 216 270 271 550 696 939 990 1093 1412 1540 1614 1787 1957 2019 2068 2123 2173
     18 32 55 91 288 318 320 484 541 673 862 913 987 1125 1162 1163 1191 1257 1461 1678 1771 1845 2072 2073
     26 45 70 222 355 515 621 760 837 970 1112 1188 1200 1301 1370 1448 1452 1465 1825 1893 1903 1971 2013 2031
     263 531 693 1068 1210 1410 1430 1438 1538 1543 1762 1816 1904
     117 156 179 307 977 1214 1287 1333 1503 1574 1734 1827 1927
     である
     送信方法により送信されてくるデータから得られる前記LDPC符号を復号する復号ステップを備える
     受信方法。
PCT/JP2023/034649 2022-10-13 2023-09-25 送信装置、送信方法、受信装置、及び、受信方法 WO2024080110A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-164934 2022-10-13
JP2022164934 2022-10-13

Publications (1)

Publication Number Publication Date
WO2024080110A1 true WO2024080110A1 (ja) 2024-04-18

Family

ID=90669157

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/034649 WO2024080110A1 (ja) 2022-10-13 2023-09-25 送信装置、送信方法、受信装置、及び、受信方法

Country Status (1)

Country Link
WO (1) WO2024080110A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015072146A1 (ja) * 2013-11-15 2015-05-21 日本放送協会 変調器、復調器、送信装置及び受信装置
WO2019142686A1 (ja) * 2018-01-18 2019-07-25 ソニー株式会社 送信方法及び受信装置
JP2021093727A (ja) * 2019-12-06 2021-06-17 日本放送協会 符号化器、復号器、送信装置及び受信装置、並びにチップ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015072146A1 (ja) * 2013-11-15 2015-05-21 日本放送協会 変調器、復調器、送信装置及び受信装置
WO2019142686A1 (ja) * 2018-01-18 2019-07-25 ソニー株式会社 送信方法及び受信装置
JP2021093727A (ja) * 2019-12-06 2021-06-17 日本放送協会 符号化器、復号器、送信装置及び受信装置、並びにチップ

Similar Documents

Publication Publication Date Title
JP6517313B2 (ja) ディジタル放送受信装置、及びディジタル放送受信方法
EP2660983B1 (en) Encoding and decoding for rate 4/15, 7/15 and 8/15 16k ldpc codes
JP5664919B2 (ja) データ処理装置、及び、データ処理方法
US9071276B2 (en) Data-processing device and data-processing method
JP5273055B2 (ja) データ処理装置、及びデータ処理方法、並びに、符号化装置、及び符号化方法
JP5672489B2 (ja) データ処理装置、及び、データ処理方法
JP5648852B2 (ja) データ処理装置、及び、データ処理方法
JP5601182B2 (ja) データ処理装置、及びデータ処理方法
TWI497920B (zh) Data processing device and data processing method
US9184768B2 (en) Data-processing device and data-processing method
KR102322523B1 (ko) 데이터 처리 장치 및 데이터 처리 방법
WO2009104319A1 (ja) 符号化装置、及び符号化方法
JP7468734B2 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP7468731B2 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP7468733B2 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP7468732B2 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP2019126017A (ja) 送信方法及び受信装置
JP2019125949A (ja) 送信方法及び受信装置
JP2019083416A (ja) 送信装置、送信方法、受信装置、及び、受信方法
WO2024080110A1 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP2019126015A (ja) 送信方法及び受信装置
WO2023079986A1 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP2019125951A (ja) 送信方法及び受信装置
JP2019125950A (ja) 送信方法及び受信装置
JP2019083418A (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: 23877116

Country of ref document: EP

Kind code of ref document: A1