IP Library Granted Patent US 8,363,969
Granted Patent B1
US 8,363,969 · App. 12/534,632 · Granted Jan 29, 2013

Systems and methods for image coding and processing

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,363,969
App. No.
12/534,632
Granted
Jan 29, 2013
Kind
B1
Abstract

Embodiments of the present invention include systems and methods for processing and coding image data. In one embodiment, image data is coded using a first image coding process. If a bit rate constraint is satisfied, the image data is output. If the bit rate constraint is not satisfied, the image data is coded using a second different coding process. In one embodiment, the second coding process is a layered coding process. In another embodiment, if the constraint is satisfied, quantization data may be included in the output, and may be coded using layered coding. Variable length coding processes and hardware implementations are further disclosed for efficient image processing.

Claims (44)

1. A method for compressing image data, the method comprising:

receiving image data as a plurality of arrays of pixels;

transforming the arrays of pixels to produce corresponding matrices of coefficients;

coding the matrices of coefficients using a first image coding process to produce a coded bit stream; and

comparing the coded bit stream to a bit rate constraint,

wherein if the coded bit stream satisfies the bit rate constraint, then the coded bit stream is produced as an output, and

wherein if the coded bit stream does not satisfy the bit rate constraint, then the matrices of coefficients are coded using a second image coding process to produce the coded bit stream.

2. The method of claim 1 , wherein the first image coding process is a variable length coding process.

3. The method of claim 1 , wherein the second image coding process is a layered coding process.

4. The method of claim 3 , wherein the layered coding process associates different coefficients with different coding layers, and wherein different coding layers are coded with different priorities.

5. The method of claim 1 , wherein:

receiving image data comprises receiving a plurality of different image data inputs in a plurality of different formats; and

the method further comprises converting the different image data inputs to a common format.

6. The method of claim 1 , further comprising converting a scan order of the coefficients.

7. The method of claim 1 , further comprising quantizing the coefficients.

8. The method of claim 7 , wherein if the coded bit stream satisfies the bit rate constraint, then the method further comprises including quantization bits in the bit stream.

9. The method of claim 8 , further comprising coding the quantization bits using a layered coding process.

10. The method of claim 1 , wherein coding the matrices of coefficients using the first image coding process comprises coding a DC coefficient in each matrix using a first variable length code, and coding AC coefficients in each matrix using a second variable length code.

11. The method of claim 10 , further comprising classifying each matrix of coefficients into one of a plurality of pattern types based on a number of coefficients in each matrix having values that are less than one or more specified values.

12. The method of claim 11 , wherein coefficient values that are less than said specified values are coded using a first variable length code, and coefficient values that are greater than said specified values are coded using a second variable length code.

13. The method of claim 11 , wherein the one or more specified values comprises a first range and a second range.

14. The method of claim 13 , wherein,

if a first matrix of coefficients has a first number of AC coefficients that are within the first range, then said first number of AC coefficients are coded using a first variable length code, and

if a second matrix of coefficients has a second number of AC coefficients that are within the second range, then said second number of AC coefficients are coded using a second variable length code.

15. The method of claim 1 , further comprising encoding a quantization parameter and a compression ratio as compression attributes, and producing the compression attributes with said coded bit stream.

16. The method of claim 1 , further comprising generating compression attributes, wherein the compression attributes specify either the first image coding process or the second image coding process.

17. An image processing system comprising:

a memory; and

an image processor to store and retrieve image data from the memory, the image processor further to:

receive image data as a plurality of arrays of pixels;

transform the arrays of pixels to produce corresponding matrices of coefficients;

code the matrices of coefficients using a first image coding process to produce a coded bit stream; and

compare the coded bit stream to a bit rate constraint,

wherein if the coded bit stream satisfies the bit rate constraint, then the coded bit stream is produced as an output, and

wherein if the coded bit stream does not satisfy the bit rate constraint, then the matrices of coefficients are coded using a second image coding process to produce the coded bit stream.

18. The image processing system of claim 17 , wherein the second image coding process is a layered coding process.

19. The image processing system of claim 18 , wherein the layered coding process associates different coefficients with different coding layers, and wherein different coding layers are coded with different priorities.

20. An image processing system comprising:

a coder-decoder;

an image processing block; and

one or more pins to communicate image data between an external memory and the coder-decoder and image processing block,

wherein image data is received in the coder-decoder on the one or more pins and is coded using a first image coding process,

wherein said coder-decoder decodes the image data, and

wherein the coder-decoder encodes the image data using a second image coding process and stores the coded image data in the memory for access by the image processing block.

Assignments (4)
SECURITY INTEREST Recorded Sep 27, 2017
From: SYNAPTICS INCORPORATED
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 044037/0896 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2017
From: MARVELL INTERNATIONAL LTD.
To: SYNAPTICS INCORPORATED; SYNAPTICS LLC
Reel/Frame 043853/0827 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2009
From: WANG, HAOHONG; SHA, LI
To: MARVELL SEMICONDUCTOR, INC.
Reel/Frame 023228/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2009
From: MARVELL SEMICONDUCTOR, INC.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 023228/0594 →