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 into 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.