BPCS Steganography A typical 24-bit image can be thought of as containing 24 different bitplanes, 8 for each of the 3 colors (R, G, B). For each color, there is a hierarchy ranging from the most significant bitplane (MSB) to the least significant bitplane (LSB). The patterns that make up the original color image can be easily discerned from an MSB, and in a natural image this "legibility" decreases progressively through the bitplanes so that the LSB will appear as almost entirely noise. For an example of how a 24-bit color image can be deconstructed (in this case using MATLAB) into 24 bitplanes of increasing noise, see here. BPCS does not, however, simply replace the LSB pixels. Instead it analyzes each of the 24 bitplanes for complexity, segmenting planes into regions that are either "shape-informative" or "noise-like"; the former are made up of simple patterns, while the latter consist of complex patterns. The noise-like regions are candidates for replacement, and they are not limited to the LSB. This is why BPCS is able to offer such a high embedding capacity. Before embedding data in the cover/vessel image, the latter is mathematically converted from PBC (Pure Binary Code) to CGC (Canonical Gray Code). This is to ensure that the embedding process does not itself produce discernible patterns: the final result looks better (with less "blocking"). In 1997 Eiji Kawaguchi and Richard O. Eason made available an experimental BPCS program called Digital Picture Envelope. This was later completely redesigned, resulting in a more powerful application called Qtech-Hide&View, which is made available free for research purposes. Note that this downloadable version (Qtech-HV v01) lacks full functionality in that the access key function is disabled. |