Texture Block Coding

Texture Block Coding was developed by Bender et alii and published on the IBM Systems Journal in 1996 [Ben96].

It is a very low bit rate technique, fairly resistant to affine manipulations of the image, but its major drawback is that it needs human intervention for the coding process.

Technique Basics

Texture block coding works by copying a region from a random texture pattern found in a picture to an area that has similar texture.

The coding process works by manually choosing the region on which to operate, and then using some mask to choose the area for copying, for example a graphic text, so that after decoding the mask can become visible.

The decoding process has this steps:

  1. Autocorrelate the image with itself. this will produce peaks at every point in the autocorrelation where identical regions of the image overlap. If large enough areas are copied, this will produce an additional large autocorrelation peak at the correct alignment for decoding.
  2. Shift the image as indicated by the peaks in Step 1.
    Now subtract the image from its shifted copy, padding the edges with zeros as needed.
  3. Square the result and threshold it to recover only those values quite close to zero. The copied regions will be visible as theses values.

Data Rate

One can easily see that since the copied areas must be fairly large (at least 16x16 pixels), and they usually bear some mask on them, then the amount of hidden information is small. In fact, we can't modify in this way many parts of an image without it becoming visible.

Moreover, not all parts of an image are suitable for this technique, like solid color areas, because they would magnify their changes.


If the block size for the copying operation is large enough (16x16 pixel at least), then the blocks' inner part changes in the same way as the image under most nongeometric transformations, such as filtering, compression and rotation. The embedded mask will still become visible, only it will be rotated or filtered with respect to the original.

Cropping will destroy texture block coding if one of the two copies is out of the cropped area. Affine transformations will usually transform the mask, too, maybe rendering it unintelligible.

If only one of the two equal regions is modified by a malicious attacker, then the embedded data can be destroyed.

Ease of detection/extraction

The decoding algorithm is quite easy to apply and doesn't include any key-coded step, so the embedded data can be extracted by anyone.

Suitability for steganography or watermarking

Due to its very low data rate, its fair robustness to non malicious modifications and its ease of extraction make this technique almost only suitable for watermarking images.

Problems and possible solutions

The major drawback with this technique is the need for human support in choosing the areas from which to copy and paste. A solution would be to instruct a computer to do the same job, maybe with human monitoring.

Further studies include the possibility of cutting an pasting blocks from only part of the image frequency spectrum, moving around less noticeable blocks and rendering it more robust to various compression algorithms.



Previous: spread spectrum

Next: patchwork

Matteo Fortini