US2010322307A1PendingUtilityA1

Dct compression using golomb-rice coding

Assignee: QUALCOMM INCPriority: Jun 29, 2001Filed: Aug 12, 2010Published: Dec 23, 2010
Est. expiryJun 29, 2021(expired)· nominal 20-yr term from priority
H04N 19/14H04N 19/60H04N 19/176H04N 19/186H04N 19/61H04N 19/13H04N 19/119H04N 19/129H04N 19/126H04N 19/93H04N 19/18G06T 9/007H04N 19/124
54
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
1 . A processor for encoding quantized frequency represented data, the data comprising zero and non-zero data, the processor configured to:
 for zero data:
 determine a zero run length (n); 
 determine a Golomb parameter (m) as a function of the zero run length, wherein the Golomb parameter (m) is determined by using an equation m=┌ log 2  n┐; 
 encode a quotient (Q) as a function of the zero run length and the Golomb parameter; 
 encode a remainder (R) as a function of the zero run length, the Golomb parameter and the quotient; and 
 concatenate the coded quotient and coded remainder; and 
   for non-zero data:   encode the nonzero data as a function of a value of the non-zero data and a sign of the non-zero data.   
     
     
         2 . The processor set forth in  claim 1 , wherein the quotient (Q) is determined by using an equation Q=└n/2 m ┘. 
     
     
         3 . The processor set forth in  claim 1 , wherein the remainder (R) is determined by using an equation R=n−2 m Q. 
     
     
         4 . The processor set forth in  claim 1 , wherein the processor encodes the non-zero data by using an equation 
       
         
           
             
               y 
               = 
               
                 { 
                 
                   
                     
                       
                         
                           2 
                            
                           x 
                         
                         , 
                       
                     
                     
                       
                         
                           if 
                            
                           
                               
                           
                            
                           x 
                         
                         ≥ 
                         0 
                       
                     
                   
                   
                     
                       
                         
                           
                             2 
                              
                             
                                
                               x 
                                
                             
                           
                           - 
                           1 
                         
                         , 
                       
                     
                     
                       otherwise 
                     
                   
                 
               
             
           
         
       
       where x is the amplitude of the non-zero data to be encoded. 
     
     
         5 . The processor set forth in  claim 1 , further configured to count the zero run-length and non-zero amplitude values and the corresponding number of times such values occur. 
     
     
         6 . A computer readable medium embodying a method for encoding quantized frequency represented data, the data comprising zero and non-zero data, the method comprising:
 for zero data:
 determining a zero run length (n); 
 determining a Golomb parameter (m) as a function of the zero run length, wherein the Golomb parameter (m) is determined by using an equation m=┌ log 2  n┐; 
 encoding a quotient (Q) as a function of the zero run length and the Golomb parameter; 
 encoding a remainder (R) as a function of the zero run length, the Golomb parameter and the quotient; and 
 concatenating the coded quotient and coded remainder; and 
   for non-zero data:   encoding the nonzero data as a function of a value of the non-zero data and a sign of the non-zero data.   
     
     
         7 . The computer readable medium set forth in  claim 6 , wherein the quotient (Q) is determined by using an equation Q=└n/2 m ┘. 
     
     
         8 . The computer readable medium set forth in  claim 6 , wherein the remainder (R) is determined by using an equation R=n−2 m Q. 
     
     
         9 . The computer readable medium set forth in  claim 6 , wherein encoding of the non-zero data comprises using an equation 
       
         
           
             
               y 
               = 
               
                 { 
                 
                   
                     
                       
                         
                           2 
                            
                           x 
                         
                         , 
                       
                     
                     
                       
                         
                           if 
                            
                           
                               
                           
                            
                           x 
                         
                         ≥ 
                         0 
                       
                     
                   
                   
                     
                       
                         
                           
                             2 
                              
                             
                                
                               x 
                                
                             
                           
                           - 
                           1 
                         
                         , 
                       
                     
                     
                       otherwise 
                     
                   
                 
               
             
           
         
       
       where x is the amplitude of the non-zero data to be encoded. 
     
     
         10 . The computer readable medium set forth in  claim 6 , wherein the method further comprises counting the zero run-length and non-zero amplitude values and the corresponding number of times such values occur. 
     
     
         11 . 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. 
       
     
     
         12 . The computer readable medium set forth in  claim 11 , wherein run-length coding is a function of the cumulative value and the corresponding number of times that a particular value occurs. 
     
     
         13 . The computer readable medium set forth in  claim 11 , 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. 
     
     
         14 . The computer readable medium set forth in  claim 11 , wherein transforming further comprises performing a Discrete Cosine Transform. 
     
     
         15 . The computer readable medium set forth in  claim 11 , wherein transforming further comprises performing a Discrete Cosine Transform followed by a Differential Quad-tree Transform. 
     
     
         16 . 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. 
       
     
     
         17 . The processor set forth in  claim 16 , wherein the processor run-length codes as a function of the cumulative value and the corresponding number of times that a particular value occurs. 
     
     
         18 . The processor set forth in  claim 16 , 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. 
     
     
         19 . The processor set forth in  claim 16 , wherein the processor transforms by performing a Discrete Cosine Transform. 
     
     
         20 . The processor set forth in  claim 16 , wherein the processor transforms by performing a Discrete Cosine Transform followed by a Differential Quad-tree Transform. 
     
     
         21 . 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. 
       
     
     
         22 . The apparatus set forth in  claim 21 , 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. 
     
     
         23 . The apparatus set forth in  claim 21 , 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. 
     
     
         24 . The apparatus set forth in  claim 21 , wherein means for transforming performs a Discrete Cosine Transform. 
     
     
         25 . The apparatus set forth in  claim 21 , wherein means for transforming performs a Discrete Cosine Transform followed by a Differential Quad-tree Transform. 
     
     
         26 . 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. 
       
     
     
         27 . The apparatus set forth in  claim 26 , wherein the coder run-length codes as function of the cumulative value and the corresponding number of times that a particular value occurs. 
     
     
         28 . The apparatus set forth in  claim 26 , 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. 
     
     
         29 . The apparatus set forth in  claim 26 , wherein the transform element comprises a Discrete Cosine Transform element. 
     
     
         30 . The apparatus set forth in  claim 26 , wherein the transform element comprises a Discrete Cosine Transform element and a Differential Quad-tree Transform element.

Join the waitlist — get patent alerts

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

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