The F5 steganography algorithm hides information in images using binary codes. But when hiding a bit, the affected DCT coefficient becomes zero, it is necessary to hide the same bit again. This is because the receiver ignores DCT coefficients with a value of zero, and otherwise would not be able to read that bit. As this phenomenon usually occurs, the capacity is considerably reduced, at the same time as the number of alterations made to the image is increased.

I wonder if there is any way to deal with this problem thus increasing the capacity of the method.


1 Answer 1


The problem of zeros can be solved by using Wet Paper Codes (WPC). WPCs allow you to hide information by marking some elements as "wet", that is, they cannot be modified.

The interesting thing about this technique is that it does not require the receiver to know what elements have been modified in order to read the message. So he doesn't have to worry about zeros.

This modification of F5 already exists and is known as nsF5.

Also note that today's JPEG steganography algorithms are much more advanced than this. They use cost functions that allow you to indicate how detectable each modification is, combined with advanced embedding schemes that insert a message while minimizing cost. You can refer to J-UNIWARD or J-MiPOD as cost functions and STC as embedding method.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.