1
votes

I would like to store a tracking ID in a JPEG image that can survive recompression by Facebook, Instagram, etc. Ideally this would be a 64bit integer, but I am open to keeping it to 32bit if the chances of survival greatly increase.

Is steganography the best way to go about this?

I am assuming that a large amount of redundancy would be needed to increase the chances of survival.

I have also read that storing the data in "noisy" areas of the photograph also decrease the chance of the pixels being modified by recompression.

Privacy is not really a concern, if someone finds my ID # there is almost nothing they could do with that number, or at least nothing that I would care about. My primary concern is being able to find these images in the wild and then locating my tracking ID in them.

Facebook and Instagram both perform recompression on the jpg when it is uploaded to the platform. I would like my ID to persist through that recompression.

Can someone point me in the right direction for an algorithm or basis of an algorithm to accomplish this?

1
Is it just recompression or resizing as well? Could you possibly figure out the compression quality? Maybe by saving an image locally with various quality settings and comparing the byte size to the downloaded file from the services? Also, where did you read that noisy areas are less susceptible to recompression? I understand noise to be quickly and drastically changing features, which means high frequency coefficients are involved. Jpeg is good at filtering those out.Reti43

1 Answers

0
votes

There's a difference between Steganography and Digital Watermarking. The aim of Steganography is to hide a secret message, along with the suspicion a secret message exists. It aims to transmit the secret message, undetectably.

Digital watermarking is implemented with the main purpose of authentication. In your case you can choose to implement either a Visible Watermark (one which is clearly shown on the image), or an Invisible Watermark (one which would require an encoding and extracting algorithm to retrieve the hidden information). Both types will affect the visual quality of the image. However, the Invisible Watermark will not be seen by the naked eye.

Here is a link to a journal paper which explains some basic watermarking techniques that you can easily implement. With a more in depth view of those techniques here.