I want to hide data inside the bit planes of a bitmap. I have a few questions:
1. I obviously only want to hide the data in noisy parts, but what's the best way to determine which parts are noisy enough? Should I use some statistical calculation of the pixels, or what?
2. I suppose I should divide the image into small segments (like 8x8 or 16x16), so I can separate, and then flag each noisy segment. What's a good size to use? It seems like the larger the size is, the more likely it will contain shapes that are not noisy enough to hide data (like if I used a quarter of the image as a segment), but if they're too small, they may not tell me anything useful.
3. Here's a tough one. How do I retain the information about which segments are actually being used? If I just store data wherever I want, and then when I try to read it out, I measure the noise of the segments the same way, I've already altered the data in the image by storing hidden data into it, so I might not get the same results, and it wouldn't correctly know where my data is stored. Alternatively, it seems like I could take the flags I've made to tell me that information, and store them into the file, so I can read them out first, and that would tell me where the actual hidden data is stored. But if I do this, where should I store the flags? If I just store them in some arbitrary part of the image, wouldn't I have the same problem of risking storing them somewhere that isn't noisy enough? Also, might the flags use a significant amount of the space that I have for storing the data?