US2013170748A1PendingUtilityA1

Dct compression using golomb-rice coding

Assignee: QUALCOMM INCPriority: Jun 29, 2001Filed: Feb 21, 2013Published: Jul 4, 2013
Est. expiryJun 29, 2021(expired)· nominal 20-yr term from priority
H04N 19/186H04N 19/124H04N 19/119H04N 19/60H04N 19/126H04N 19/176H04N 19/129H04N 19/14G06T 9/007H04N 19/18H04N 19/61H04N 19/93H04N 19/13
59
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An apparatus and method for encoding quantized frequency represented data, the data comprising zero and non-zero represented data is claimed. For zero represented data, a zero run length is determined. A Golomb parameter is determined as a function of the zero run length. A quotient is encoded as a function of the zero run length and the Golomb parameter. A remainder is encoded as a function of the zero run length, the Golomb parameter and the quotient. The coded quotient and the coded remainder are concatenated. For non-zero represented data, the nonzero data is encoded as a function of the non-zero data value and the sign of the non-zero data value.

Claims

exact text as granted — not AI-modified
What we claim is: 
     
         1 . A computer readable medium embodying a method of compressing a digital image comprising pixel data, said pixel data being separated into color components, said method comprising:
 reading a group of a color component of pixel data;   generating a block size assignment to divide the group of a color component of pixel into sub-blocks of pixel data;   transforming the sub-blocks of pixel data into corresponding frequency domain representations;   scaling the frequency domain representations into a stream of data, wherein scaling is based on a quality metric correlating with the quality of the image;   compiling at least one group of data from the stream data that may be represented as a 16×16 block;
 dividing the 16×16 group of data into groups that may be represented as four 8×8 blocks; 
 serializing each of the four 8×8 blocks of data; and 
   run-length coding the serialized data using an exponential distribution, wherein the run-length code is determined using the equation   
       
         
           
             
               ⌈ 
               
                 
                   log 
                   2 
                 
                  
                 
                   
                     R 
                     rl 
                   
                   
                     N 
                     rl 
                   
                 
               
               ⌉ 
             
           
         
         where R rl  is the cumulative value of the elements and N rl  is the corresponding number of times that the particular value occurs. 
       
     
     
         2 . The computer readable medium set forth in  claim 1 , wherein run-length coding is a function of the cumulative value and the corresponding number of times that a particular value occurs. 
     
     
         3 . The computer readable medium set forth in  claim 1 , wherein scaling further comprises providing a frequency weighted mask to said sub-blocks of pixel data, such that the frequency weighting mask provides emphasis to the portions of the image that the human visual system is more sensitive, and provides less emphasis to the portions of the image that the human visual system is less sensitive. 
     
     
         4 . The computer readable medium set forth in  claim 1 , wherein transforming further comprises performing a Discrete Cosine Transform. 
     
     
         5 . The computer readable medium set forth in  claim 1 , wherein transforming further comprises performing a Discrete Cosine Transform followed by a Differential Quad-tree Transform. 
     
     
         6 . A processor for compressing a digital image comprising pixel data, said pixel data being separated into color components, said processor being configured to:
 read a group of a color component of pixel data;   generate a block size assignment to divide the group of a color component of pixel into sub-blocks of pixel data;   transform the sub-blocks of pixel data into corresponding frequency domain representations; and   scale the frequency domain representations into a stream of data, wherein the processor scales based on a quality metric correlating with the quality of the image;   compile at least one group of data from the stream data that may be represented as a 16×16 block;
 divide the 16×16 group of data into groups that may be represented as four 8×8 blocks; 
 serialize each of the four 8×8 blocks of data; and 
   run-length code the serialized data using an exponential distribution, wherein the run-length code is determined using the equation   
       
         
           
             
               ⌈ 
               
                 
                   log 
                   2 
                 
                  
                 
                   
                     R 
                     rl 
                   
                   
                     N 
                     rl 
                   
                 
               
               ⌉ 
             
           
         
         where R rl  is the cumulative value of the elements and N rl  is the corresponding number of times that the particular value occurs. 
       
     
     
         7 . The processor set forth in  claim 6 , wherein the processor run-length codes as a function of the cumulative value and the corresponding number of times that a particular value occurs. 
     
     
         8 . The processor set forth in  claim 6 , wherein the processor scales by providing a frequency weighted mask to said sub-blocks of pixel data, such that the frequency weighting mask provides emphasis to the portions of the image that the human visual system is more sensitive, and provides less emphasis to the portions of the image that the human visual system is less sensitive. 
     
     
         9 . The processor set forth in  claim 6 , wherein the processor transforms by performing a Discrete Cosine Transform. 
     
     
         10 . The processor set forth in  claim 6 , wherein the processor transforms by performing a Discrete Cosine Transform followed by a Differential Quad-tree Transform. 
     
     
         11 . An apparatus for compressing a digital image comprising pixel data, said pixel data being separated into color components, comprising:
 means for reading a group of a color component of pixel data;   means for generating a block size assignment to divide the group of a color component of pixel into sub-blocks of pixel data;   means for transforming the sub-blocks of pixel data into corresponding frequency domain representations;   means for scaling the frequency domain representations into a stream of data, wherein means for scaling scales based on a quality metric correlating with the quality of the image;   means for compiling at least one group of data from the stream data that may be represented as a 16×16 block;
 means for dividing the 16×16 group of data into groups that may be represented as four 8×8 blocks; 
 means for serializing each of the four 8×8 blocks of data; and 
   means for run-length coding the serialized data using an exponential distribution, wherein the run-length code is determined using the equation   
       
         
           
             
               ⌈ 
               
                 
                   log 
                   2 
                 
                  
                 
                   
                     R 
                     rl 
                   
                   
                     N 
                     rl 
                   
                 
               
               ⌉ 
             
           
         
         where R rl  is the cumulative value of the elements and N rl  is the corresponding number of times that the particular value occurs. 
       
     
     
         12 . The apparatus set forth in  claim 11 , wherein means for run-length coding codes as a function of the cumulative value and the corresponding number of times that a particular value occurs. 
     
     
         13 . The apparatus set forth in  claim 11 , wherein means for scaling provides a frequency weighted mask to said sub-blocks of pixel data, such that the frequency weighting mask provides emphasis to the portions of the image that the human visual system is more sensitive, and provides less emphasis to the portions of the image that the human visual system is less sensitive. 
     
     
         14 . The apparatus set forth in  claim 11 , wherein means for transforming performs a Discrete Cosine Transform. 
     
     
         15 . The apparatus set forth in  claim 11 , wherein means for transforming performs a Discrete Cosine Transform followed by a Differential Quad-tree Transform. 
     
     
         16 . An apparatus for compressing a digital image comprising pixel data, said pixel data being separated into color components, comprising:
 a block size assignment element configured to read a group of a color component of pixel data and to generate a block size assignment to divide the group of a color component of pixel into sub-blocks of pixel data;   a transform element configured to transform the sub-blocks of pixel data into corresponding frequency domain representations;   a quantizer configured to scale the frequency domain representations into a stream of data, wherein the quantizer scales based on a quality metric correlating with the quality of the image;   a compiler configured to compile at least one group of data from the stream data that may be represented as a 16×16 block, wherein the block size assignment element divides the 16×16 group of data into groups that may be represented as four 8×8 blocks;
 a serializer configured to serialize each of the four 8×8 blocks of data; and 
   a coder configured to run-length code the serialized data using an exponential distribution, wherein the run-length code is determined using the equation   
       
         
           
             
               ⌈ 
               
                 
                   log 
                   2 
                 
                  
                 
                   
                     R 
                     rl 
                   
                   
                     N 
                     rl 
                   
                 
               
               ⌉ 
             
           
         
         where R rl  is the cumulative value of the elements and N rl  is the corresponding number of times that the particular value occurs. 
       
     
     
         17 . The apparatus set forth in  claim 16 , wherein the coder run-length codes as function of the cumulative value and the corresponding number of times that a particular value occurs. 
     
     
         18 . The apparatus set forth in  claim 16 , wherein the quantizer scales by providing a frequency weighted mask to said sub-blocks of pixel data, such that the frequency weighting mask provides emphasis to the portions of the image that the human visual system is more sensitive, and provides less emphasis to the portions of the image that the human visual system is less sensitive. 
     
     
         19 . The apparatus set forth in  claim 16 , wherein the transform element comprises a Discrete Cosine Transform element. 
     
     
         20 . The apparatus set forth in  claim 16 , wherein the transform element comprises a Discrete Cosine Transform element and a Differential Quad-tree Transform element.

Join the waitlist — get patent alerts

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

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