Exploring Hidden JPEG Features

The lossy compression algorithm used by JPEG was useful for those on the early Internet not only because it enabled pictures to be shared easier, but because it allows a low-resolution version of the image to load first. This meant that users could make out the gist of an image before it finished downloading. This was a great feature for those on slow connections, but it hides some other capabilities of this image format as well.

Rather than effectively splitting up the image into chunks, each with successive amounts of detail, [maurycyz]’s project shows that this can be exploited to load more than one picture. The first is loaded into this lower-resolution area, with a second unrelated picture showing up once the higher-resolution information is available. Essentially this makes a one-way .gif of sorts. Though this method is only capable of loading about nine frames, which is not enough for much animation. Further limiting things is that there’s no way to encode timing data, so on fast computers with fast connections the animation could load faster than a user could see.

Still, it’s an interesting quirk of this older image standard, one which still is in widespread use today. And it’s also true that it’s hard to say in what ways various technologies will be used in the future. JPEG images have also been the subject of some artistic projects that might not have been possible without the JPEG standard itself, and even as other formats have tried to supplant it, it still maintains its firm grip on the images on the Internet. More JPEG, please!

21 thoughts on “Exploring Hidden JPEG Features

          1. +

            In the 90s, in times of Telekom’s D1 and Mannesmann Mobilfunk’s D2 network, we also once called a handy a “Mobiltelefon”.
            Or “Mobilfunktelefon”, more correctly. Both were an upgrade to “Autotelefon” (car phone).

            https://www.dwds.de/wb/Mobilfunktelefon

            In the 90s, the old spelling allowed ph, still.
            So there might been variations at some point (“Mobilfunktelephon”, “Autotelephon”‘ etc).
            For example, there was both “Telefon” and “Telephon”, still.

            In East Germany it was mostly “Telefon”, though.
            East Germans liked simple spelling. No phs. No “Phantasie” to tjem.

            In Germany, the term “Handy” originally refered to a walkie-talkie, btw.
            Such as the 2-way radio handies used in amateur radio or CB radio.
            But when the cellphones got popular, it changed meaning.
            Then “Smartphone” replaced “Handy” throughout the 2010s, I guess.

      1. We’re all guilty of erasing the proud Hispanic heritage of a member of the original JPEG team.
        It is of course pronounced – in line with the ‘J’ sound in Juan or José – “hey-peg”.

        🙂

  1. It was already a thing at 4chan over 20 years ago. Thumbnail would show what is apparently a loli, but when opened it would turn to notice from FBI that you are under investigation (aka getting V&). A great trolling tactic that made plenty of computer illiterate anons shat their bricks.

  2. I’m surprised that you can do entirely different images. I barely know much about the format but I know it has to do with using cosine to represent image information.

    I’d have expected it to load by sending low frequency info first and slowly adding higher frequencies over time. And that doesn’t seem conducive to two entirely different images.

    Though now that I think about It, I could sorta see it working by modifying the original age so that it has some low resolution image encoded over it.

    Anyone more familiar with the way it works to explain would be a boon. (Or maybe the OG post contains these details and I just need to actually read it)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.