At the time of carrying out a DHO, a DHO execution unit encodes data to be transmitted and interleaves it, followed by dividing it into segment data and sending out from respective transmission paths. When receiving data, the unit receives pieces of segment data from the respective transmission paths, combines them together, de-interleaves them and receives data by decoding it. When dividing into segment data, it allocates segment data with larger amount of data to a transmission path with a high transmission quality, and that with smaller amount of data to a transmission path with a low transmission quality, in accordance with the transmission quality.