imageimage-processingpixelsteganographydata-hiding

How many bits(maximum number of bits) can be embedded in a pixel?


I have an gray scale image of sixe 512x512. Thus, each pixel contains 8 bits. Can I embed a total of 8 bits into the pixels I wish to embed data in? Is this possible? (I require the image only for embedding data). In case I want to embed data in 10,000 pixels out of the total 512*512 pixels, can I then in total embed 80,000 bits of data or 10kB of data?


Solution

  • A standard grayscale image with 256 levels for each pixel requires 8 bits per pixel. This is because 8 bits are required to encode 256 different levels. If you have an image with dimensions 512 x 512 then the total number of pixels in the entire image is 262,144 pixels. So, the entire image contains 8 bits * 262,144 = 2,097,152 bits worth of information.

    If you were to take a subset of these pixels and encode 8 bits of "different" information, note that the resulting image would likely change in appearance. The 8 bits of information at each pixel coordinate previously encoded the pixel intensity (from 0 to 255). If you are replacing this value with some other value then the intensity will be different and the overall image will appear different.