IP Library Granted Patent US 8,451,892
Granted Patent B2
US 8,451,892 · App. 12/495,092 · Granted May 28, 2013

Method and system for linear quantization and dequantization

Inventors: Yan Ryan Zhang (Beijing, CN); Clifford Reader (Saratoga, CA); Peter Farkas (Santa Cruz, CA)
Assignee: Oracle America, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,451,892
App. No.
12/495,092
Granted
May 28, 2013
Kind
B2
Abstract

A method including receiving a set of input data in a first matrix format. The method further includes compressing the set of input data to obtain a first set of compressed data in a second matrix format, where compressing the set of input data includes using a quantization equation, the quantization equation including Yq(i,j)=[(Y(i,j)+offset)<<n]/qs, where Yq(i,j) represents a coefficient in a matrix of the first set of compressed data having a coordinate (i,j), Y(i,j) represents a coefficient in a matrix of the set of input data having the coordinate (i,j), offset is an integer, << is a first bit-wise shift operator, n is an integer, qs is a real number. The method also includes sending the first set of compressed data to a first destination.

Claims (67)

1. A computer readable medium comprising instructions executable by a processor to perform a method, the method comprising:

receiving a set of input data in a first matrix format;

compressing the set of input data to obtain a first set of compressed data in a second matrix format, wherein compressing the set of input data comprises using a quantization equation, the quantization equation comprising:

Yq ( i,j )=[( Y ( i,j )+offset)<< n]/qs, wherein

Yq(i,j) represents a coefficient in a matrix of the first set of compressed data having a coordinate (i,j);

Y(i,j) represents a coefficient in a matrix of the set of input data having the coordinate (i,j);

offset is an integer;

<< is a first bit-wise shift operator;

n is an integer; and

qs is a real number; and

sending the first set of compressed data to a first destination.

2. The computer readable medium of claim 1 , the method further comprising:

receiving a second set of compressed data in the second matrix format;

decompressing the second set of compressed data to obtain a set of decompressed data, wherein decompressing the second set of compressed data comprises using a dequantization equation, the dequantization equation comprising:

Ydq ( i,j )=( Yq ( i,j )× qs )>> n , wherein

Ydq(i,j) represents a coefficient in a matrix of the set of decompressed data having a coordinate (i,j); and

>> is a second bit-wise shift operator; and

sending the set of decompressed data to a second destination.

3. The computer readable medium of claim 2 , wherein an inverse discrete cosine transformation is applied to each coefficient in the matrix of the set of decompressed data prior to sending the set of decompressed data.

4. The computer readable medium of claim 1 , wherein the set of input data is associated with at least one of a group consisting of video and a data stream.

5. The computer readable medium of claim 1 , wherein a discrete cosine transformation is applied to the set of input data prior to receiving the set of input data.

6. The computer readable medium of claim 1 , wherein n determines the magnitude of the first bit-wise shift operator.

7. The computer readable medium of claim 6 , wherein n is 10.

8. The computer readable medium of claim 1 , wherein qs is a first configuration parameter.

9. The computer readable medium of claim 1 , wherein the offset is determined using experimental data.

10. The computer readable medium of claim 1 , wherein the offset is an adjustment used to reduce the loss of input data when compressing the first set of input data.

11. The computer readable medium of claim 1 , wherein the offset is determined by the formula:

Offset=1+(quantOffset[ OMSQP % m ])>>( n - OMSQP ), wherein

quantOffset is an array of a quantization operation;

OMSQP%m is a remainder of a quotient of OMSQP and m, wherein m is an integer and OMSQP is an integer; and

>> is a third bit-wise shift operator.

12. The computer readable medium of claim 11 , wherein OMSQP is a second configuration parameter.

13. The computer readable medium of claim 12 , wherein OMSQP is greater than 9.

14. The computer readable medium of claim 13 , wherein OMSQP is less than 57.

15. The computer readable medium of claim 11 , wherein m is the number of members within the quantOffset array.

16. A data compression module comprising:

a processor;

a memory comprising software instructions which, when executed by the processor, enable the data compression module to compress input data in a first matrix format to obtain compressed data in a second matrix format, wherein compressing the input data comprises using a quantization equation, the quantization equation comprising:

Yq ( i,j )=[( Y ( i,j )+offset)<< n]/qs , wherein

Yq(i,j) represents a coefficient in a matrix of the compressed data having a coordinate (i,j);

Y(i,j) represents a coefficient in a matrix of the input data having the coordinate (i,j);

offset is an integer;

<< is a first bit-wise shift operator;

n is an integer; and

qs is a real number; and

a data interface configured to:

receive the input data in the first matrix format from a video source; and

send the compressed data in the second matrix format to a destination.

17. The data compression module of claim 16 , wherein the processor is further configured to apply a discrete cosine transformation to each coefficient in the matrix of the input data before compressing the input data.

18. The data compression module of claim 16 , wherein the offset is determined by the formula:

Offset=1+(quantOffset[ OMSQP % m ])>>( n - OMSQP ), wherein

quantOffset is an offset of a quantization operation;

OMSQP%m is a remainder of a quotient of OMSQP and m, wherein m is an integer and OMSQP is an integer; and

>> is a third bit-wise shift operator.

19. A data decompression module comprising:

a processor;

a memory comprising software instructions which, when executed by the processor, enable the data decompression module to decompress compressed data in a first matrix format to obtain decompressed data in a second matrix format, wherein decompressing the compressed data comprises using a dequantization equation, the dequantization equation comprising:

Ydq ( i,j )=( Yq ( i,j )× qs )>> n, wherein

Ydq(i,j) represents a coefficient in a matrix of the decompressed data having a coordinate (i,j);

Yq(i,j) represents a coefficient in a matrix of the compressed data having a coordinate (i,j);

qs is a real number;

n is an integer; and

>> is a second bit-wise shift operator; and

a data interface configured to:

receive the compressed data in the first matrix format from a network; and

send the decompressed data in the second matrix format to a destination.

20. The data decompression module of claim 19 , wherein an inverse discrete cosine transformation is applied to each coefficient in the matrix of the decompressed data after decompressing the compressed data.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0195 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2009
From: ZHANG, YAN RYAN; READER, CLIFFORD
To: SUN MICROSYSTEMS, INC.
Reel/Frame 023201/0873 →
Continuity (1)
Related Publication 20100329332A1 · Dec 30, 2010