A technique for hiding of data, including watermarks, in human-perceptible images, that is, image host data, is disclosed. In one embodiment a method comprises three steps. In the first step, data to be embedded is inputted. In the case of a
watermark, this data is a unique signature, and may be a pseudo-
noise (PN) code. In the case of
hidden data to be embedded in the host data, this data is the
hidden data itself, or the
hidden data as spread against the
frequency spectrum by a pseudo-
noise (PN) code. In the second step, the inputted data is embedded within the host data, in accordance with a perceptual
mask of the host data. The perceptual
mask determines the optimal locations within the host data to insert the inputted data. In the case of images, these optimal locations are determined by reference to the human
visual system. In the third step, the host data, with the embedded data, is further masked by a non-frequency
mask. In the case of image data, the non-frequency mask is a spatial mask.