A coding apparatus for embedding second data into first data without
deteriorating the first data includes a memory for storing at least
partial data of the first data. An embedding coder embeds the second data
into the first data by rearranging, according to the second data, at
least partial data of the first data stored in the memory. A decoding
apparatus for decoding coded data in to the original first data and the
original second data without deteriorating the quality of the data
includes a relation calculating unit for calculating a relation between
first partial data and second partial data of the coded data. A decoder
decodes the coded data into the original first data by moving the first
partial data and the second partial data of the coded data based on the
relation calculated by the relation calculating unit, and decodes the
second data that is embedded in the coded data according to the movement.