IP Library Granted Patent US 10,812,829
Granted Patent B2
US 10,812,829 · App. 14/044,599 · Granted Oct 20, 2020

2D block image encoding

Inventor: Alexander Garland MacInnis (Los Altos, CA)
Assignee: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
H04N19/61
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 10,812,829
App. No.
14/044,599
Granted
Oct 20, 2020
Kind
B2
Abstract

A coder (e.g., an encoder or decoder) implements coding of two dimensional blocks of image data using two dimensional differential pulse code modulation (2D DPCM). The coder may switch between DPCM and other types of coding, such as transform coding on a block by block basis. The 2D DPCM may obtain a reconstructed pixel within the two dimensional bloc and code a second, different, pixel within the two dimensional block using the reconstructed pixel. The coder may also create a bitstream of entropy encoded residuals that supports hybrid implicit/explicit specification of coding parameters.

Claims (70)

1. A method comprising:

determining a two dimensional mxn block of pixels within an image for coding the image;

coding the pixels in the two dimensional mxn block of pixels using two dimensional differential pulse code modulation to generate coded pixels, wherein the coding comprises:

obtaining a first reconstructed pixel within the two dimensional mxn block; and

coding a second, different, pixel within the two dimensional mxn block using the reconstructed pixel;

implicitly determine a value of a coding variable for the two dimensional mxn block of pixels;

expressly signaling an adjustment value for the implicitly determined value of the coding variable for the two dimensional mxn block using an indicator, wherein the coding variable comprises a quantization level for the coding of the two dimensional mxn block;

amortizing a coding cost of the indicator over each pixel of the two dimensional mxn block of pixels by controlling the coding in accord with the indicator for each pixel of the two dimensional mxn block of pixels; and

inserting the coded pixels and the indicator into a bitstream.

2. The method of claim 1 , where coding comprises:

obtaining a second reconstructed pixel from a different two dimensional block of pixels in the image; and

coding a third, different, pixel within the two dimensional mxn block using the second reconstructed pixel.

3. The method of claim 1 , where coding comprises:

obtaining a second reconstructed pixel from a different two dimensional block of pixels in the image; and

coding a third, different, pixel within the two dimensional mxn block using the reconstructed pixel.

4. The method of claim 1 , where coding comprises:

determining entropy coded residual values during the coding; and

creating a bitstream comprising the entropy coded residual values.

5. The method of claim 4 , where creating a bitstream comprises:

creating a hybrid implicit/explicit coding bitstream.

6. The method of claim 5 , where creating a hybrid implicit/explicit bitstream comprises:

inserting an operational mode bit in the bitstream that differentiates between implicit coding parameter determination and explicit coding parameter determination.

7. The method of claim 6 , where inserting the operational mode bit comprises:

inserting an operational mode bit with a selected value in the bitstream to select explicit coding parameter determination.

8. The method of claim 1 , further comprising:

coding a different two dimensional block of pixels in the image using a two dimensional coding technique other than two dimensional differential pulse code modulation.

9. The method of claim 1 , where coding comprising encoding the two dimensional mxn block of pixels, decoding the two dimensional mxn block of pixels, or both.

10. A system comprising:

a buffer configured to store image data of an image; and

coding circuitry in communication with the buffer and configured to:

determine, among the image data, a first two dimensional mxn block of pixels;

code the first two dimensional mxn block of pixels using two dimensional differential pulse code modulation, the coding comprising:

obtain a reconstructed pixel within the first two dimensional mxn block; and

code a second, different, pixel within the first two dimensional mxn block using the reconstructed pixel;

implicitly determine a value of a coding variable for the two dimensional mxn block of pixels;

explicitly signal an adjustment value for the implicitly determined value of the coding variable for the first two dimensional mxn block of pixels using an indicator, the coding variable comprising a quantization level;

amortize a coding cost of the indicator over each pixel of the first two dimensional mxn block of pixels by controlling the coding in accord with the indicator for each pixel of the first two dimensional mxn block of pixels; and

insert the coded pixels and the indicator into a bitstream.

11. The system of claim 10 , where:

the first two dimensional mxn block of pixels comprises multiple rows and multiple columns; and

m comprises the same integer value as n.

12. The system of claim 10 , where the coding circuitry is further configured to:

obtain a second reconstructed pixel from a second, different, two dimensional block of pixels in the image; and

code a third, different, pixel within the first two dimensional mxn block using the reconstructed pixel.

13. The system of claim 10 , where the coding circuitry is further configured to:

create a bitstream comprising:

coding results obtained by the two dimensional differential pulse code modulation; and

an operational mode bit that differentiates between implicit coding parameter determination and explicit coding parameter determination.

14. The system of claim 10 , wherein the indicator for a second two dimensional mxn block in the bitstream comprises an explicit coding parameter indicator that specifies a change with respect to the quantization level of the first two dimensional mxn block.

15. A system comprising:

a buffer configured to store image data of an image; and

coding circuitry in communication with the buffer and configured to:

determine, among the image data, a first two dimensional block of pixels;

code the first two dimensional block of pixels using two dimensional differential pulse code modulation, including:

obtaining a reconstructed pixel within the first two dimensional block; and

coding a second, different, pixel within the first two dimensional block using the reconstructed pixel;

determine, among the image data, a second two dimensional mxn block of pixels;

code the second two dimensional mxn block of pixels using a transform coding technique;

determine entropy coded residual values for the two dimensional differential pulse code modulation coding and for the transform coding;

implicitly determine a value of a coding variable for the second two dimensional mxn block of pixels;

explicitly signal an adjustment value for the implicitly determined value of the coding variable for the second two dimensional mxn block of pixels using an indicator, the coding variable comprising a quantization level;

amortize a coding cost of the indicator over each pixel of the second two dimensional mxn block of pixels by controlling the coding in accord with the indicator for each pixel of the second two dimensional mxn block of pixels; and

create a bitstream comprising the entropy coded residual values and the indicator.

16. The system of claim 15 , where the bitstream comprises:

a first operational mode bit for the first two dimensional block, the first operational mode configured to select implicit mode determination of coding parameters; and

a second operation mode bit for the second two dimensional mxn block, the second operational mode bit configured to select explicit mode determination of coding parameters; and

where the indicator comprises a coding parameter indicator associated with the second two dimensional mxn block.

17. The system of claim 15 , where the indicator comprises:

a first coding indicator specifying two dimensional differential pulse code modulation for the first two dimensional block of pixels; and

a second coding indicator specifying transform coding for the second two dimensional mxn block of pixels.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF THE MERGER AND APPLICATION NOS. 13/237,550 AND 16/103,107 FROM THE MERGER PREVIOUSLY RECORDED ON REEL 047231 FRAME 0369. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048549/0113 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047231/0369 →
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 Oct 3, 2013
From: MACINNIS, ALEXANDER GARLAND
To: BROADCOM CORPORATION
Reel/Frame 031336/0161 →