IP Library Granted Patent US 8,422,552
Granted Patent B2
US 8,422,552 · App. 11/693,567 · Granted Apr 16, 2013

Entropy coding for video processing applications

Inventors: James Au (Richmond, CA); Stephen Farley (Newmarket, CA); Kenn Heinrich (Oshawa, CA)
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,422,552
App. No.
11/693,567
Granted
Apr 16, 2013
Kind
B2
Abstract

An entropy coding apparatus. In a specific embodiment, the entropy coding apparatus includes a renormalization process and an encode-decision process that communicates with the renormalization process. The encode-decision process is adapted to run in parallel with the renormalization process without the renormalization process being nested therein. In a more specific embodiment, the entropy coding apparatus includes an entropy encoder that is H.264 compliant. The encode-decision process includes a first mechanism for pre-computing certain parameters to eliminate the need to nest the renormalization process within the encode-decision process. The renormalization process and the encode-decision process are components of a Context Adaptive Binary Arithmetic Coding (CABAC) module.

Claims (43)

1. An apparatus comprising:

a memory; and

a processor operative to execute:

a renormalization process module adapted to determine output bit based on an interval range and a loop parameter, wherein the loop parameter represents a number of leading zero bits in the interval range, and

an encode-decision process module in communication with the renormalization process module, wherein the encode-decision process is adapted to run in parallel with the renormalization process, wherein the encode decision process module is adapted to update the interval range of an interval and a beginning position of the interval in a code based on the loop parameter.

2. The apparatus of claim 1 , wherein the renormalization processes is not nested within the encode-decision process.

3. The apparatus of claim 2 , wherein the encode-decision process module includes: a first software module operative to pre-compute the interval range and a beginning position of the interval and the loop parameter to eliminate nesting of the renormalization process within the encode-decision process.

4. The apparatus of claim 3 , wherein the renormalization process and the encode-decision process are components of a Context Adaptive Binary Arithmetic Code (CABAC) module.

5. The apparatus of claim 1 , wherein the entropy coding software module is H.264 compliant.

6. The apparatus of claim 1 , wherein the processor operative to further execute a pulse code modulation module, wherein the pulse code modulation module is adapted to prepare received macroblock pixels for transmission instead of performing entropy coding.

7. The apparatus of claim 6 , wherein the Bit instruct a PutBit module to insert either zero or one into a bitstream.

8. The apparatus of claim 1 , wherein the determined output bit comprises a Bit and an Outstanding Bit.

9. The apparatus of claim 1 , wherein the loop parameter determines number of cycles the renormalization process module should run before receiving additional information from the encode decision module.

10. A pipeline processor operative to implement an entropy coding module comprising:

an encode-decision process module adapted to implement an encode-decision function for a Context Adaptive Binary Arithmetic Coding (CABAC) module, wherein the encode decision function comprises updating an interval range and a beginning position of an interval in a code based on a loop parameter, wherein the loop parameter represents a number of leading zero bits in the interval range.

11. The module of claim 10 , wherein the pipelined processor includes: first means for implementing one or more nested loops specified in H.264 standards for an encode-decision process via a process lacking the one or more nested loops.

12. The module of claim 11 , wherein the first means includes: second means for computing certain parameters in another function or location than within a loop nested within the encode-decision processes.

13. The module of claim 11 , wherein the process includes: a parallel process.

14. The module of claim 11 , wherein the first means includes at least three stages of a single-cycle pipeline.

15. The module of claim 10 , wherein the encode-decision module includes: a look-up function adapted to preload a recently used context value to facilitate implementing a context function via a one-cycle process.

16. The module of claim 15 , wherein the context value includes: a context state and a context Most Probable Bit (MPB) value.

17. An apparatus comprising:

a memory; and

a processor operative to execute:

an entropy coding software module comprising a renormalization module; and

an encode-decision software module in communication with the renormalization module and lacking sufficient dependency on output from the renormalization module to enable the encode-decision module to run in parallel with the renormalization module, wherein the encode decision software module is adapted to update an interval range and a beginning position of an interval in a code based on a loop parameter, wherein the loop parameter represents a number of leading zero bits in the interval range.

18. The apparatus of claim 17 , further including: a predetermined parameter adapted to facilitate eliminating a dependency between the encode-decision module and the renormalization module, the predetermined parameter comprising at least one of the statistic value and the probability value.

19. The apparatus of claim 18 , wherein the predetermined parameter includes: a value affecting a duration of processing implemented by the renormalization module.

20. The apparatus of claim 18 , further including: a buffer positioned between the renormalization module and the encode-decision module, wherein the buffer is adapted to hold information to facilitate enabling the renormalization module to run in parallel with the encode-decision module.

21. The apparatus of claim 17 , further including: a PutBit module coupled to the renormalization module and adapted to run in parallel with the renormalization module and the encode-decision module.

22. An entropy-coding apparatus comprising:

a memory;

a processor connected to the memory and operative to:

an encode-decision software module;

a renormalization module coupled to the encode-decision software module; and

first means for enabling the encode-decision module to operate independent of feedback from the renormalization module, wherein the first mean is adapted to determine a loop parameter (S) representing a number of leading zero bits in an interval range.

23. The apparatus of claim 22 , further including: a PutBit module coupled to an output of the renormalization module.

24. The apparatus of claim 22 , further including: a first pipelined processor adapted to implement the encode-decision module and the renormalization module in parallel.

25. The apparatus of claim 24 , wherein the encode-decision includes: a parallel process.

26. The apparatus of claim 25 , wherein the parallel process includes: means for computing an interval offset value (L) and an interval range value (R).

27. The apparatus of claim 26 , wherein the renormalization module includes: one or more instructions for employing L and R to determine a value of an output bit (B).

28. The apparatus of claim 27 , wherein the renormalization module includes: one or more instructions for employing L and R to determine a first Outstanding Bit (OB) value and a second Outstanding Bit (OB2) value.

29. The apparatus of claim 25 , wherein the encode-decision module further includes: one or more instructions for determining a context state; determining an interval offset value (L); and determining an interval range value (R) via the parallel process.

Assignments (4)
CHANGE OF NAME Recorded Nov 19, 2014
From: SCIENTIFIC-ATLANTA, INC.
To: SCIENTIFIC-ATLANTA, LLC
Reel/Frame 034299/0440 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2014
From: SCIENTIFIC-ATLANTA, LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 034300/0001 →
CHANGE OF NAME Recorded Jul 27, 2009
From: SCIENTIFIC-ATLANTA, INC.
To: SCIENTIFIC-ATLANTA, LLC
Reel/Frame 023012/0703 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2007
From: AU, JAMES; FARLEY, STEPHEN; HEINRICH, KENN
To: SCIENTIFIC ATLANTA, INC.
Reel/Frame 019867/0538 →
Continuity (1)
Related Publication 20080240233A1 · Oct 2, 2008