Patent ID: 8910014

Claim:
A coding device for structuring a quasi-cyclic low-density-parity-check code, generating a code word from an inputted message by using the quasi-cyclic low-density-parity-check code, and outputting the code word, the coding device comprising: an inspection matrix generating module which generates a block inspection matrix of the quasi-cyclic low-density-parity-check code that has a cyclic permutation matrix where a number of rows and a number of columns are both q−1 or a zero matrix as components, wherein q is an integer of 4 or larger and a power of 2, a number of row blocks is r and a number of column blocks is q+1, wherein r is an integer between 4 and q, inclusive, and i-th row block and j-th column block components match a zero matrix or a cyclic permutation matrix whose degree is a value of a function λ(j−i) which is prescribed by a coefficient of a self-reciprocal polynomial having q−1 pieces of elements of a Galois field GF (q^2) as roots, having an integer j−i as an argument wherein i is an integer between 0 and r−1, j is an integer between 0 and q, a left-end column of the matrix is defined as a 0th column, and a top-end row is defined as a 0th row; and a coding module which generates and outputs a code word by using the block inspection matrix from an inputted message, wherein the inspection matrix generating module further comprises: a degree allocation unit which prescribes the function value λ(j−i) of the block inspection matrix; a weight distribution determination unit which prescribes a number of components to be a nonzero matrix among components of each column block of the block inspection matrix and a number of components to be a nonzero matrix among components of each row block of the block inspection matrix by using a mask pattern defined in advance; a first degree-altering unit which takes a sum total of components of a k_r-th block of the block inspection matrix as a cyclic permutation matrix, wherein k_r is an integer part (q+1−r)/2; and a second degree-altering unit which prescribes a row block number of each of the components to be a nonzero matrix among the components of each column block excluding the k_r-th column block of the block inspection matrix.