In the counter control unit 101, the block represented by the matrix two-dimensional array is interleaved, the row number and the column number of the two-dimensional array are incremented, and output as a read address value, and in the bit inverting device 102, the read address value is The address value is used as an input to perform bit inversion. In the column conversion device 103, the address value corresponding to the bit inversion output value and the column number from the counter control unit 101 is output as a column conversion value. In the register 104, the output value of the bit inversion device 102 is shifted and output as an address offset value, and in the adder 105, the address offset value and the column exchange value are added, and in the size comparison unit 106 , compare the added value with the interleave size, and output the data within the interleave size as an address value.