Digital image recompression
AssigneeDropbox, Inc.
InventorsDaniel Horn, Ken Elkabany, Keith Winstein
Life of this patent
Estimating the term…
Abstract
Techniques for image recompression. In one implementation, the techniques are implemented to recompress a baseline joint photographic experts group (JPEG) image with compression savings. The techniques replace the Huffman coding of baseline JPEG with an arithmetic coding that uses a sophisticated adaptive probability model. The arithmetic coding techniques avoid global operations such as global sorting that would prevent distributed and multithreaded decompression operations when recovering the original JPEG image from the recompressed image. At the same time, the techniques realize substantial compression savings relative to baseline JPEG, on average 23% compressing savings in some implementations.
Claims20
A method comprising:
- obtaining first compressed image data that includes a first entropy coded representation of a digital image, the first entropy coded representation produced according to a first lossless entropy coding technique;
- using the first compressed image data, generating and storing second compressed image data that includes a second entropy coded representation of the digital image, the second entropy coded representation produced according to a second lossless entropy coding technique;
- reproducing the first compressed image data by processing a plurality of segments of the second compressed image data in a plurality of threads to obtain a plurality of processed segments, wherein the plurality of processed segments comprises the first compressed image data;
- and
- wherein the method is performed by a computing system having a plurality of processors and storage media storing one or more programs, the one or more programs including instructions configured to perform the method.
A computing system comprising:
- one or more processors;
- storage media;
- one or more programs stored in the storage media and configured for execution by the one or more processors, the one or more programs including instructions configured for:
- obtaining first compressed image data that includes a first entropy coded representation of a digital image, the first entropy coded representation produced according to a first lossless entropy coding technique;
- using the first compressed image data, generating and storing second compressed image data that includes a second entropy coded representation of the digital image, the second entropy coded representation produced according to a second lossless entropy coding technique;
- and
- reproducing the first compressed image data by processing a plurality of segments of the second compressed image data in a plurality of threads to obtain a plurality of processed segments, wherein the plurality of processed segments comprises the first compressed image data.
One or more non-transitory computer-readable media storing one or more programs, the one or more programs including instructions configured for:
- obtaining first compressed image data that includes a Huffman coded representation of a digital image;
- using the first compressed image data, generating and storing second compressed image data that includes an arithmetic coded representation of the digital image;
- and
- reproducing the first compressed image data by processing a plurality of segments of the second compressed image data in a plurality of threads to obtain a plurality of processed segments, wherein the plurality of processed segments comprises the first compressed image data.
Dependencies are inferred from the claim text.