A developer has demonstrated an unconventional use of progressive JPEG files: packing a sequence of changing pictures into a single image that appears to animate while data is delivered. The experiment exploits how decoders update a partially received JPEG rather than introducing a new image or video format.
Ordinary progressive JPEGs divide compressed information into scans. Early scans carry low-frequency image components, allowing a coarse preview to appear before later data improves precision and detail. The format works in YCbCr, separating luminance from chrominance so color information can often be stored at lower spatial resolution than brightness without an equally visible loss.
Maurycy’s project asks what happens when later scans do not merely refine one picture. By combining data derived from multiple same-sized images and removing selected start, frame and end markers, the file can cause a decoder to replace previously rendered content as new scans arrive. On a sufficiently slow connection, those updates resemble a sequence of frames.
Decoder safeguards create an important constraint. Browsers stop processing after some number of scans, a limit the developer believes may defend against decompression-bomb-style abuse. A straightforward multi-scan version therefore cannot sustain a long animation. Baseline JPEGs use a single scan, but a baseline decoder finishes after that first unit and does not continue through the constructed sequence.
The workaround uses minimal progressive frames containing only DC coefficients, which represent the lowest-frequency component of each block. Because the transform operates over blocks, those frames retain a coarse, recognizable image rather than becoming one flat color. Avoiding AC refinement also prevents ghosting from earlier pictures. The author reports that Chrome renders about 90 such scans before stopping, while Firefox tolerates more; a 90-scan file worked across the browsers tested.
This is a technical curiosity rather than a practical video codec. The file carries no timing data, so the apparent playback speed depends on network delivery. Image quality is intentionally limited, and decoder behavior constrains the number of frames. Even so, the demonstration highlights an overlooked property of incremental formats: a standards-compliant partial representation can be manipulated to create behavior far beyond the conventional use of a progressively sharpening photograph.


