IP Library › Granted Patent US 9,094,686
Granted Patent B2
US 9,094,686 · App. 11/850,219 · Granted Jul 28, 2015

Systems and methods for faster throughput for compressed video data decoding

Inventor: Alexander MacInnis (Los Altos, CA)
Assignee: BROADCOM CORPORATION
H04N19/44H04N19/43
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,094,686
App. No.
11/850,219
Granted
Jul 28, 2015
Kind
B2
Abstract

Presented herein are system(s) and method(s) for faster throughput for video decoding. In one embodiment, there is presented a pixel reconstructor for generating reconstructed pixels. The pixel reconstructor comprises a SIMD processor, a data access unit, and a circuit. The SIMD processor applies at least one prediction error to at least one block of prediction pixels. The data access unit provides the at least one prediction error and the at least one block of prediction pixels. A circuit determines whether two or more prediction errors and two or more prediction pixels can be concurrently processed by the SIMD processor.

Claims (32)

1. A system comprising:

a single instruction, multiple data (SIMD) processor, the SIMD processor comprising an instruction memory for storing a set of instructions and a plurality of processing elements configured to concurrently execute an instruction from the set of instructions on a corresponding plurality of pixels from a row in at least one prediction error and a corresponding plurality of pixels from a row in at least one block of prediction pixels; and

a data access circuitry for providing the at least one prediction error and the at least one block of prediction pixels; and

a circuit for determining whether two or more prediction errors and two or more prediction pixels can be concurrently processed by the SIMD processor.

2. The system of claim 1 , wherein the plurality of processing elements comprises at least 16 processing elements configured to perform an operation dictated by the instruction from the set of instructions.

3. A system comprising:

a single instruction, multiple data (SIMD) processor the SIMD processor comprising an instruction memory for storing a set of instructions and a plurality of processing elements configured to concurrently execute an instruction from the set of instructions on a corresponding plurality of pixels from a row in at least one prediction error and a corresponding plurality of pixels from a row in at least one block of prediction pixels; and

a data access circuitry for providing the one or more blocks of pixels; and

a circuit for determining whether one or more blocks associated with two or more partitions can be concurrently processed by the SIMD processor.

4. The system of claim 3 , wherein the plurality of processing elements comprises at least 16 processing elements configured to perform an operation dictated by the instruction from the set of instructions.

5. The system of claim 3 , wherein processing one or more blocks associated with at least one partition comprises interpolating reference pixels from the one or more blocks.

6. The system of claim 3 , wherein processing one or more blocks associated with at least one partition comprises applying a first weight to a first one of the one or more blocks and a second weight to a second one of the one or more blocks.

7. The system of claim 3 , further comprising:

a direct memory access circuitry for fetching a plurality of words from a memory, wherein the plurality of words comprise the one or more blocks of pixels and additional pixels.

8. system of claim 7 , wherein the data access circuitry selects at least a portion of the one or more blocks of pixels from the words from the memory.

9. A method for generating reconstructed pixels, said method comprising:

determining whether two or more prediction errors and two or more prediction pixels can be concurrently processed by a single instruction, multiple data (SIMD) processor;

if the two or more prediction errors and the two or more prediction pixels can be concurrently processed:

consolidating the two or more prediction errors and the two or more prediction pixels;

concurrently applying the two or more prediction errors to the two or more prediction pixels by concurrently executing an instruction of a set of instructions on a plurality of pixels from a row in the at least one prediction error and a corresponding plurality of pixels from a row in the at least one block of prediction pixels.

10. The method of claim 9 , wherein the plurality of pixels from the row in the at least one prediction error comprises 16 pixels.

11. A method for generating prediction pixels, said method comprising:

determining whether a first block of prediction pixels and a second block of prediction pixels can be concurrently generated, by a single instruction, multiple data (SIMD) processor, from a first one or more blocks of pixels associated with a first partition and a second one or more blocks associated with a second partition;

if the first block of prediction pixels and the second block of prediction pixels can be concurrently generated:

consolidating the first one or more blocks and the second one or more blocks; and

concurrently processing, by the SIMD processor, a plurality of pixels from a row in the first one or more blocks and a plurality of pixels from a row in the second one or more blocks.

12. The method of claim 11 , wherein the plurality of pixels in the row of the first block comprise at least 19 pixels.

13. The method of claim 11 , wherein processing further comprises interpolating.

14. The method of claim 11 , wherein processing one or more blocks associated with at least one partition comprises processing two or more blocks.

15. The method of claim 11 , further comprising:

fetching a plurality of words from a memory, wherein the plurality of words comprise the one or more blocks of pixels and additional pixels.

16. The method of claim 15 , further comprising selecting the one or more blocks of pixels from the words from the memory.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 9,385,856 TO 9,385,756 PREVIOUSLY RECORDED AT REEL: 47349 FRAME: 001. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 22, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 051144/0648 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE PREVIOUSLY RECORDED ON REEL 047229 FRAME 0408. ASSIGNOR(S) HEREBY CONFIRMS THE THE EFFECTIVE DATE IS 09/05/2018. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047349/0001 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047229/0408 →
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 Jul 24, 2014
From: MACINNIS, ALEXANDER
To: BROADCOM CORPORATION
Reel/Frame 033381/0807 →
Continuity (2)
Provisional Application 60824637 · Sep 6, 2006
Related Publication 20140307793A1 · Oct 16, 2014