A bit interleaving method for interleaving bits of a codeword generated based on a repeat-accumulate quasi-cyclic low-density parity check coding scheme, the bit interleaving method comprising: a parity interleaving step of permuting parity bits of the codeword such that the parity bits have a quasi-cyclic structure; a cyclic block permutation step of applying a cyclic block permutation process to the codeword after the parity interleaving step, the codeword being made up of N cyclic blocks each consisting of Q bits, to reorder the cyclic blocks in accordance with a cyclic block permutation rule defining a reordering of the cyclic blocks; a bit permutation step of applying a bit permutation process to the codeword after the cyclic block permutation process, to reorder the bits of the codeword in accordance with a bit permutation rule defining a reordering of the bits; and a dividing step of dividing the codeword after the bit permutation process into a plurality of constellation words, each of the constellation words being made up of M bits, wherein N is not a multiple of M, the bit permutation rule defines the reordering of the bits of the codeword after the cyclic block permutation process, such that the Q bits in each of N'=N-X cyclic blocks among the N cyclic blocks are each allocated to a bit of an identical bit index in Q constellation words and said Q constellation words are each made up of one bit from each of M different cyclic blocks, said M different cyclic blocks being common to said Q constellation words, where X is the remainder of N divided by M, and the bit index of the bit in each of the Q constellation words to which the bits in each of the N'=N-X cyclic blocks are each allocated is determined in accordance with the cyclic block permutation rule. a parity interleaving step of permuting parity bits of the codeword such that the parity bits have a quasi-cyclic structure; a cyclic block permutation step of applying a cyclic block permutation process to the codeword after the parity interleaving step, the codeword being made up of N cyclic blocks each consisting of Q bits, to reorder the cyclic blocks in accordance with a cyclic block permutation rule defining a reordering of the cyclic blocks; a bit permutation step of applying a bit permutation process to the codeword after the cyclic block permutation process, to reorder the bits of the codeword in accordance with a bit permutation rule defining a reordering of the bits; and a dividing step of dividing the codeword after the bit permutation process into a plurality of constellation words, each of the constellation words being made up of M bits, wherein N is not a multiple of M, the bit permutation rule defines the reordering of the bits of the codeword after the cyclic block permutation process, such that the Q bits in each of N'=N-X cyclic blocks among the N cyclic blocks are each allocated to a bit of an identical bit index in Q constellation words and said Q constellation words are each made up of one bit from each of M different cyclic blocks, said M different cyclic blocks being common to said Q constellation words, where X is the remainder of N divided by M, and the bit index of the bit in each of the Q constellation words to which the bits in each of the N'=N-X cyclic blocks are each allocated is determined in accordance with the cyclic block permutation rule. <EOS>