IP Library Granted Patent US 7,769,088
Granted Patent B2
US 7,769,088 · App. 10/854,592 · Granted Aug 3, 2010

Context adaptive binary arithmetic code decoding engine

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 7,769,088
App. No.
10/854,592
Granted
Aug 3, 2010
Kind
B2
Abstract

A CABAC decoding engine is devised to cover all aspects of decoding all CABAC-coded syntax elements for AVC. This CABAC decoding engine acts like a Co-processor to another Processor (CPU), which guides the decoding of the bit stream. The CABAC decoding engine or Co-processor has the following highlights: unique context model retrieving and storing method is developed to allow a complete syntax element to be decoded in one hardware (H/W) execution cycle (not necessarily one clock cycle.); H/W assisted approach is provided to accelerate context model initialization; H/W based approach is incorporated to allow fast de-binarization; H/W based approach is provided to allow a block of syntax elements to be decoded instead of one by one; and dedicated H/W accelerators are incorporated to decode special syntax elements.

Claims (40)

1. A decoder for decoding arithmetic code, said decoder comprising:

a first circuit for accelerating probability model initialization;

a second circuit for decoding at least one bin from an encoded video stream to obtain at least one decoded bin value;

a third circuit for recovering at least one syntax element from the at least one decoded bin value;

a fourth circuit for selecting a probability model, the probability model used in the decoding of the at least one bin by the second circuit; and

memory for storing one or more instructions, wherein the one or more instructions cause the decoder to decode a complete syntax element in one hardware execution cycle.

2. The decoder of claim 1 , wherein the probability model initialization by the first circuit is performed after recovering a plurality of syntax elements by the third circuit, wherein initialization comprises setting the probability model to a preset state.

3. The decoder of claim 1 , wherein the second circuit decodes one bin for each hardware execution cycle, the decoded bin corresponding to one syntax element.

4. The decoder of claim 1 , wherein the second circuit decodes a plurality of bins in each hardware execution cycle, the plurality of bins corresponding to a plurality of syntax elements.

5. The decoder of claim 1 , wherein selecting the probability model by the fourth circuit is based on adaptive frame field properties of current and adjacent macroblock pairs.

6. The decoder of claim 1 , wherein the encoded video stream comprises at least one of encoded syntax elements of a first type and encoded syntax elements of a second type.

7. The decoder of claim 6 , wherein selecting the probability model by the fourth circuit is based on the type of encoded syntax elements in the encoded video stream.

8. The decoder of claim 1 , wherein the fourth circuit updates the probability model after decoding of the at least one bin has been completed by the second circuit.

9. The decoder of claim 1 , further comprising:

a second memory for storing a plurality of probability models.

10. The decoder of claim 1 , wherein at least one of the first circuit, the second circuit, the third circuit, and the memory are hardwired.

11. The decoder of claim 1 , wherein the one or more instructions cause the decoder to decode a complete entropy encoded syntax element in one hardware execution cycle.

12. The decoder of claim 11 , wherein the one or more instructions causing the decoder to decode a complete entropy encoded syntax element in one hardware execution cycle further comprises:

calculation a context model during the hardware execution cycle; and

updating probability estimates during the hardware execution cycle.

13. A decoder for decoding arithmetic code encoded video streams, said decoder comprising:

a first circuit for decoding one bin of a first type from the encoded video stream to obtain a decoded bin value; and

a second circuit for decoding a plurality of bins of a second type from the encoded video stream to obtain a decoded bin value,

wherein an external circuit selects the first circuit or the second circuit to perform arithmetic code decoding, the selection based on the type of bins in the encoded video stream.

14. A method for decoding arithmetic code, said method comprising:

initializing a plurality of probability models;

receiving an encoded video stream;

selecting a probability model from the plurality of probability models;

decoding at least one bin from the encoded video stream using the selected probability model with a decoder; and

recovering at least one syntax element from the at least one decoded bin; and

wherein the selecting is based on adaptive frame field properties of current and adjacent macroblock pairs.

15. The method of claim 14 , further comprising:

receiving one or more instructions to initiate decoding prior to initializing the plurality of probability models.

16. The method of claim 14 , wherein the decoding comprises decoding of one bin, said bin corresponding to one syntax element in the encoded video stream.

17. The method of claim 14 , wherein the decoding comprises decoding of a plurality of bins, said plurality of bins corresponding to a plurality of syntax elements in the encoded video stream.

18. The method of claim 14 , further comprising:

updating the selected probability model after decoding of the at least one bin has been completed.

19. The method of claim 18 , further comprising:

communicating the recovered at least one syntax element to an external circuit.

20. The method of claim 14 , wherein the selecting is based on at least one type of encoded syntax elements in the encoded video stream.

Assignments (3)
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 →