IP Library Granted Patent US 9,813,711
Granted Patent B2
US 9,813,711 · App. 14/302,940 · Granted Nov 7, 2017

Hybrid transform-based compression

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 9,813,711
App. No.
14/302,940
Granted
Nov 7, 2017
Kind
B2
Abstract

A system implements a hybrid coding mode. The hybrid coding mode may implement a transform to decompose an input stream into frequency components. The frequency components may include frequency bands such as those resulting from a wavelet transform. The frequency components may have associated coefficients which may be determined via the transform. The hybrid coding mode may also implement a predictor-based coding mode. A predictor-based coding mode uses a set of values as predictors for another set of values. The hybrid mode may be implemented by using predictor-based coding to code a portion of the coefficients. For example, a coefficient may be used as a predictor for another coefficient of same frequency component. In some implementations, dynamic selection between a hybrid coding mode and a point coding mode may be used.

Claims (59)

1. An encoding method, comprising:

receiving an input stream comprising a first sample;

determining a non-transform coding size estimate, the non-transform coding size estimate indicating an estimated number of bits to encode the first sample without decomposing the first sample using a transform;

determining a transform coding size estimate, the transform coding size estimate indicating an estimated number of bits to encode the first sample while decomposing the first sample using the transform; and

when the transform coding size estimate is larger than the non-transform coding size estimate, encoding the first sample without decomposing the first sample using the transform, otherwise:

decomposing the first sample via the transform to produce a first coefficient for a first frequency component and a second coefficient for a second frequency component;

encoding the first coefficient using a first coding scheme, the first coding scheme using a predictor based on a third coefficient from the first frequency component; and

encoding the second coefficient using a second coding scheme different from the first coding scheme.

2. The method of claim 1 , wherein encoding the first coefficient using the predictor comprises applying a median adaptive predictor.

3. The method of claim 1 , wherein the third coefficient comprises a vertically displaced coefficient, a horizontally displaced coefficient, or a vertically and horizontally displaced coefficient.

4. The method of claim 1 , further comprising applying rate control to the encoding of the first coefficient and the encoding of the second coefficient.

5. The method of claim 4 , wherein:

a first quantization level is applied for the encoding of the first coefficient; and

a second quantization level is applied for the encoding of the second coefficient, the second quantization level being different from the first quantization level.

6. The method of claim 1 , wherein the second coding scheme comprises a coding scheme that does not rely on correlation.

7. The method of claim 1 , wherein the transform comprises a wavelet transform.

8. The method of claim 1 , wherein the first frequency component comprises a lower frequency band than the second frequency component.

9. The method of claim 8 , wherein the first coefficient corresponds to a lowest frequency component.

10. The method of claim 8 , wherein the second coefficient corresponds to a highest frequency component.

11. The method of claim 1 , wherein decomposing the first sample comprises decomposing the input stream using a multi-dimensional wavelet transformation.

12. The method of claim 1 , wherein:

the input stream further comprises a second sample; and

the method further comprises:

determining an additional non-transform coding size estimate for encoding the second sample without decomposing the second sample using the transform; and

determining an additional transform coding size estimate for encoding while decomposing the second sample using the transform.

13. The method of claim 12 , further comprising:

responsive to the non-transform coding size estimates and the transform coding size estimates:

encoding the second sample without decomposing the second sample using the transform by applying a point coding mode to the second sample; and

encoding the first sample while decomposing the first sample using the transform.

14. The method of claim 13 , wherein the point coding mode comprises an index color history coding mode.

15. The method of claim 12 , wherein:

the input stream comprises an image; and

the first and second samples comprise groups of pixels.

16. A device, comprising:

an input interface configured to receive an input stream comprising a sample; and control circuitry configured to:

determine a non-transform coding size estimate, the non-transform coding size estimate indicating an estimated number of bits to encode the sample without decomposing the sample using a transform;

determine a transform coding size estimate for coding while decomposing the sample using the transform;

when the transform coding size estimate is smaller than the non-transform coding size estimate:

apply the transform to the sample to generate a first coefficient of a first frequency component and a second coefficient of a second frequency component;

determining a predictor for the first coefficient for the first frequency component, the predictor being based on a third coefficient from the first frequency component;

code the first coefficient using a first coding scheme, the first coding scheme using the predictor; and

code the second coefficient using a second coding scheme different from the first; and

when the transform coding size estimate is larger than the non-transform coding size estimate, code the sample without decomposing the sample using the transform.

17. The device of claim 16 , wherein the control circuitry is further configured to code the first coefficient using differential pulse code modulation based coding.

18. The device of claim 16 , wherein the control circuitry is further configured to omit, from an encoded output stream, a fourth coefficient for the second frequency component to indicate a zero value for the fourth coefficient.

19. An encoding method, comprising:

receiving an input stream comprising a sample;

determining a non-transform coding size estimate, the non-transform coding size estimate indicating an estimated number of bits to encode the sample without decomposing the sample using a wavelet transform;

determining a transform coding size estimate for encoding while decomposing the sample using the wavelet transform;

when the transform coding size estimate is smaller than the non-transform coding size estimate:

applying the wavelet transformation to decompose the input stream into a high frequency component and a low frequency component; and

at encoding circuitry:

selecting a first quantization level for rate-controlled encoding of a first coefficient for the low frequency component;

determining a prediction for the first coefficient;

selecting a second quantization level for encoding a second coefficient for the high frequency component;

coding, via differential pulse code modulation, the first coefficient using the first quantization level and the prediction; and

coding the second coefficient using the second quantization level; and

when the transform coding size estimate is larger than the non-transform coding size estimate, encoding, at the encoding circuitry, the sample without decomposing the sample using the transform.

20. The method of claim 19 , wherein the wavelet transformation comprises a multi-dimensional wavelet transformation.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2014
From: MACINNIS, ALEXANDER GARLAND; WALLS, FREDERICK GEORGE
To: BROADCOM CORPORATION
Reel/Frame 033091/0102 →