PSYCH221: A survey of digital watermarking techniques      
Itai Katz, March 2006
           

Introduction: Methods: Conclusion: Contacts:

Methods
Bit Plane Complexity Segmentation (BPCS)
BPCS attempts to address the shortcomings of LSB insertion by searching an image for noise-like regions. These regions are replaced with watermark data, while informative regions are undisturbed. The algorithm works as follows:
  1. Convert a 2m x 2m N-bit/pixel image from natural binary into N-bit Gray Code.
  2. Decompose the N-bit Gray code into N single-bit planes. Each plane forms a binary image.
  3.   Divide each bit plane into 8x8 tiles.
  4.     For each tile, compute the complexity &alpha.
  5.     If &alpha is above a threshold, replace the tile with watermark data.
  6. The bit-planes are recombined to form an N-bit channel in Gray code
  7. The Gray code is converted back to natural binary

    A bit plane tile being examined [6]

    The complexity metric is defined as:
    &alpha = k / (2 x 2m x (2m - 1 ))
    where a tile has size 2m x 2m and k is the sum of xor-ing adjacent bits in a tile, both in the horizontal and vertical direction. The valid range for &alpha is 0 < &alpha < 1. With this measumrent, an all white or all black tile would have an &alpha of 0, while a checkerboard pattern would have an &alpha of 1.

    In the results below, the BPCS algorithm was run with the threshold &alpha=0.3. Notice how the sky, car, and grass seem relatively unaltered compared to the original image, while the tree in the foreground contains a relatively large amount of distortion. From a standard viewing distance, however, this distortion does not appear artificial. The tiled nature of the watermark is only evident on close inspection.

    original image


    BPCS with &alpha=0.3
    capacity: 45.0%
    psnr: 27.11
    (click on the images for a larger version)