Residue calculating sections respectively obtain residues which take a
plurality of integers as modulus, with respect to a user ID. The
plurality of integers are stored in modulus storage sections and are
prime to each other. Based on these residues and parameters stored in a
coding parameter storage section, component codes constructed by
continuous sequences of 1 and 0 using a predetermined number of bits as a
unit are respectively generated by component code generating sections.
These component codes are concatenated by a concatenating section,
thereby to obtain a code to be embedded, which constructs watermark
information.