Two Binary Number Coding Systems

PBC and CGC are related by Exclusive OR operation as follows.

The following pictures illustrate the difference of the views of one single bmp picture. The left side is in PBC, and the right in CGC.

 PBC CGC

.

In BPCS-Steganography embedding operation is executed after the vessel image has been transformed from PBC to CGC. This is because CGC is better than PBC in producing a "better looking (or, blocking-less)" stego image. The reason is as follows.

Let  an "n-th least plane" be the n-th Least Significant bit-plane. (For example, the 3rd least plane in PBC as above is the b2 bit-plane.)

"Embedding a file-block in an n-th least PBC plane" actually means "changing the colors of several pixels in that block by the value 2n-1 "uniformly." In this case the "blocking effect" likely to emerge on the stego image.

<Example>

If a bit in the 3rd least plane is changed from "0" to "1", it actually changes 0 (=0000) ->4 (=0100),  1 (=0001) ->5 (=0101),  2 (=0010) ->6 (=0110),  3 (=0011) ->7 (=0111), and 8 (=1000) ->12 (=1100), ... . The amount of the change is always 4, and will cause a blocking effect.

While in the CGC embedding, the color change "differs pixel by pixel" in the block ranging from 1 to 2n-1. The average change in the block is 2n-1.

<Example>

The change occurs like, 0 (=0000) ->7 (=0100),  1 (=0001) ->6 (=0101),  2 (=0011) ->5 (=0111),  3 (=0010) ->4 (=0110), and 12 (=1010)->11 (=1110), ... . The amount of the change in this case differs case by case, but the average is 4. This will not produce a blocking effect remarkably.

Consequently, we conclude that CGC is better than PBC.

Back to Home

(Updated on Jun. 18, 2015, by Eiji Kawaguchi)