A transmission method for transmitting, in a communication system employing D-dimensional rotated constellations, a codeword generated based on a quasi-cyclic low-density parity-check coding scheme including a repeat-accumulate quasi-cyclic low-density parity-check coding scheme, the codeword consisting of N quasi-cyclic blocks, the quasi-cyclic blocks each consisting of Q bits, and real-valued symbols each being obtained by mapping B bits, the transmission method comprising the steps of: dividing the codeword into N/(B×D) sections, N/(B×D) being an integer number, each section consisting of M = B×D quasi-cyclic blocks, applying a bit permutation to M×Q = (B×D)×Q bits of each of the sections, and grouping the permuted (B×D)×Q bits of each of the sections into Q groups of bits each consisting of M bits, the bit permutation being adapted such that the Q bits of each of the quasi-cyclic blocks are mapped to Q different groups of bits; mapping B bits of each of the groups of bits to a real-valued symbol; transforming a D-dimensional vector having D real-valued symbols generated from the groups of bits as elements into a D-dimensional rotated constellation block having D transformed real-valued symbols as elements by multiplying the D-dimensional vector by an orthogonal matrix with D columns and D rows, the orthogonal matrix being a matrix for spreading values of elements in each dimension of the D-dimensional vector over at least two dimensions, constellation blocks each consisting of D-dimensional vectors that are generated from the same B×D quasi-cyclic blocks; mapping N×Q/B transformed real-valued symbols to N×Q/(2×B) complex symbols such that 2×D transformed real-valued symbols for each of the constellation blocks are mapped to D complex symbols and the D transformed real-valued symbols of each of the D-dimensional rotated constellations are mapped to D different complex symbols; and transmitting the N×Q/(2×B) complex symbols. dividing the codeword into N/(B×D) sections, N/(B×D) being an integer number, each section consisting of M = B×D quasi-cyclic blocks, applying a bit permutation to M×Q = (B×D)×Q bits of each of the sections, and grouping the permuted (B×D)×Q bits of each of the sections into Q groups of bits each consisting of M bits, the bit permutation being adapted such that the Q bits of each of the quasi-cyclic blocks are mapped to Q different groups of bits; mapping B bits of each of the groups of bits to a real-valued symbol; transforming a D-dimensional vector having D real-valued symbols generated from the groups of bits as elements into a D-dimensional rotated constellation block having D transformed real-valued symbols as elements by multiplying the D-dimensional vector by an orthogonal matrix with D columns and D rows, the orthogonal matrix being a matrix for spreading values of elements in each dimension of the D-dimensional vector over at least two dimensions, constellation blocks each consisting of D-dimensional vectors that are generated from the same B×D quasi-cyclic blocks; mapping N×Q/B transformed real-valued symbols to N×Q/(2×B) complex symbols such that 2×D transformed real-valued symbols for each of the constellation blocks are mapped to D complex symbols and the D transformed real-valued symbols of each of the D-dimensional rotated constellations are mapped to D different complex symbols; and transmitting the N×Q/(2×B) complex symbols.