Watermark data that indicate additional information, such as copyright
information, are optimized in accordance with the contents of object
data, and the watermark data is embedded in image data. An image divider
200 divides image data Vi into image blocks Iij, and corresponds a
selected basic pattern Phij with each of the image blocks Iij. Orthogonal
transformation units 24 and 202 generate DFT coefficients I'ij and P'hij,
and power element calculators 208 and 264 generate power elements I''ij
and P''ij. A basic pattern adjustment unit 26 adjusts the coefficient of
P'hij to generate P'hij1 to P'hijn. A watermark pattern generator 28
calculates variations before and after P'hij1 to P'hijn are embedded in
I''ij, and selects, from P'hij1 to P'hijn, P'''hij1 to P'''hij1 that
provide variations equal to or smaller than the threshold value e. Then,
the watermark pattern generator 28 selects, as a watermark pattern P'ij,
the pattern that is most easily detectable, and a pattern embedding unit
204 that adds P'ij to I'ij.