US2010322305A1PendingUtilityA1

Arbitrary-resolution, extreme-quality video codec

Assignee: APPLE INCPriority: Jun 22, 2004Filed: May 24, 2010Published: Dec 23, 2010
Est. expiryJun 22, 2024(expired)· nominal 20-yr term from priority
H04N 19/90H04N 19/149H04N 19/63H04N 19/126H04N 19/194H04N 19/85
49
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Image data to be compressed is first converted from the RGB domain into a gamma-powered YUV domain. A wavelet transform then separates image data into high- and low-detail sectors, incorporating a dynamic scaling method, allowing for optimal resolution. The output data from the wavelet transform is then quantized according to an entropy-prediction algorithm that tightly controls the final size of the processed image. An adaptive Golomb engine compresses the data using an adaptive form of Golomb encoding in which mean values are variable across the data. Using variable mean values reduces the deleterious effects found in conventional Golomb encoding in which localized regions of similar data are inefficiently coded if their bit values are uncommon in the data as a whole. Inverse functions are applied to uncompress the image, and a fractal dithering engine can additionally be applied to display an image on a display of lower color depth.

Claims

exact text as granted — not AI-modified
1 . A computer-implemented method for compressing data, the method comprising:
 nonlinearly transforming the data from a first domain to a second domain;   applying a dynamically-scaled wavelet transform to the data in the second domain;   quantizing selected sectors of the transformed data;   applying a Golomb coding function to the quantized data to yield compressed data; and   outputting the compressed data.   
     
     
         2 . The computer-implemented method of  claim 1  wherein the first domain is an RGB domain and the second domain is a YUV domain. 
     
     
         3 . The computer-implemented method of  claim 2  wherein a Y channel of the image data in the YUV domain is gamma-powered. 
     
     
         4 . The computer-implemented method of  claim 1  wherein applying a dynamically scaled wavelet transform further comprises:
 receiving a stage of a forward wavelet; 
 determining a minimum and a maximum value of the data; 
 estimating a maximum resulting output value of the wavelet transform; and 
 scaling the wavelet coefficients responsive to the estimated output value. 
 
     
     
         5 . The computer-implemented method of  claim 1  wherein the wavelet transformed data has a Laplacian distribution. 
     
     
         6 . The computer-implemented method of  claim 1  wherein the wavelet transformed data includes nonscalar sectors and a scalar sector, and the scalar sector is not quantized. 
     
     
         7 . The computer-implemented method of  claim 6  wherein the scalar sector is processed by a predictor-corrector function and subjected to the Golomb coding function. 
     
     
         8 . The computer-implemented method of  claim 1  wherein quantizing the transformed data further comprises quantizing the transformed data according to a specified compression ratio. 
     
     
         9 . The computer-implemented method of  claim 8  wherein the compression ratio is applied to each frame. 
     
     
         10 . The computer-implemented method of  claim 1  further comprising uncompressing the compressed data by:
 applying an inverse Golomb coding function to the compressed data to obtain uncompressed quantized data; 
 applying an inverse quantization to the uncompressed quantized data to obtain wavelet-transformed data; 
 applying an inverse wavelet transform to obtain uncompressed data in the second domain; 
 transforming the uncompressed data from the second domain to the first domain; and 
 outputting the uncompressed data. 
 
     
     
         11 . The computer-implemented method of  claim 10  further comprising applying a fractal dithering function to the uncompressed data in the first domain prior to outputting the uncompressed data. 
     
     
         12 . The computer-implemented method of  claim 11  wherein the uncompressed data is output on a 48-bit virtual display. 
     
     
         13 . A system for compressing data, the system comprising:
 a pre-processing engine for receiving data from a data source and transforming the data nonlinearly from a first domain to a second domain;   a wavelet transformer, communicatively coupled to the pre-processing engine, for applying a dynamically-scaled wavelet transform to the data in the second domain;   a quantizer, communicatively coupled to the wavelet transformer, for quantizing selected sectors of the wavelet-transformed data; and   an adaptive Golomb engine, communicatively coupled to the quantizer, for compressing the quantized data.   
     
     
         14 . The system of  claim 13  wherein the first domain is an RGB domain and the second domain is a YUV domain. 
     
     
         15 . The system of  claim 14  wherein a Y channel of the image data in the YUV domain is gamma-powered. 
     
     
         16 . The system of  claim 13  wherein the wavelet transformer dynamically scales the wavelet transform by:
 receiving a stage of a forward wavelet; 
 determining a minimum and a maximum value of the data; 
 estimating a maximum resulting output value of the wavelet transform; and 
 scaling the wavelet coefficients responsive to the estimated output value. 
 
     
     
         17 . The system of  claim 13  wherein the wavelet-transformed data has a Laplacian distribution. 
     
     
         18 . The system of  claim 13  wherein the wavelet-transformed data includes nonscalar sectors and a scalar sector, and the quantizer does not quantize the scalar sector. 
     
     
         19 . The system of  claim 18  further comprising a predictor-corrector module that processes the scalar sector, and wherein the adaptive Golomb engine additionally compresses the processed scalar sector. 
     
     
         20 . The system of  claim 13  wherein the quantizer quantizes the transformed data according to a specified compression ratio. 
     
     
         21 . The system of  claim 20  wherein the compression ratio is applied to each frame. 
     
     
         22 . The system of  claim 13  wherein:
 the adaptive Golomb engine is further configured to apply an inverse Golomb coding function to the compressed data to obtain uncompressed quantized data; 
 the quantizer is further configured to apply an inverse quantization to the uncompressed quantized data to obtain wavelet-transformed data; 
 the wavelet transformer is further configured to apply an inverse wavelet transform to obtain uncompressed data in the second domain; and 
 the pre-processing engine is further configured to transform the uncompressed data from the second domain to the first domain. 
 
     
     
         23 . The system of  claim 22  further comprising a fractal dithering engine, communicatively coupled to the pre-processing engine, for dithering an image from a higher color depth to a lower color depth. 
     
     
         24 . A computer program product for compressing data, the computer program product stored on a computer-readable medium and including instructions for causing a processor of a computer to execute the steps of:
 nonlinearly transforming the data from a first domain to a second domain;   applying a dynamically-scaled wavelet transform to the data in the second domain;   quantizing selected sectors of the transformed data;   applying a Golomb coding function to the quantized data to yield compressed data; and   outputting the compressed data   
     
     
         25 . A system for compressing data, the system comprising:
 transforming means, for nonlinearly transforming the data from a first domain to a second domain;   wavelet transforming means, communicatively coupled to the transforming means, for applying a dynamically-scaled wavelet transform to the data in the second domain;   quantizing means, communicatively coupled to the wavelet transforming means, for quantizing selected sectors of the transformed data;   Golomb coding means, communicatively coupled to the quantizing means, for applying a Golomb coding function to the quantized data to yield compressed data; and   outputting means, communicatively coupled to the Golomb coding means, for outputting the compressed data.

Join the waitlist — get patent alerts

Track US2010322305A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.