A method of encoding a watermark into a digital image. The method includes partitioning
an original image into blocks and then determining a variance value of each block.
The blocks are then arranged according to the variance values. A number of selected
blocks are identified, where the number depends upon the size of the watermark.
The blocks selected are then arranged by their location. Data from the watermark
is used to replace bits in a representation of each of the selected blocks with
data from the watermark. A method of decoding is also discussed.