IP Library Granted Patent US 11,722,682
Granted Patent B2
US 11,722,682 · App. 17/137,465 · Granted Aug 8, 2023

Simplified binary arithmetic coding engine

Inventors: Vivienne Sze (Cambridge, MA); Madhukar Budagavi (Plano, TX)
Assignee: Texas Instruments Incorporated
H04N19/436H04N19/13
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 11,722,682
App. No.
17/137,465
Granted
Aug 8, 2023
Kind
B2
Abstract

A method of entropy coding in a video encoder is provided that includes assigning a first bin to a first single-probability bin encoder based on a probability state of the first bin, wherein the first single-probability bin encoder performs binary arithmetic coding based on a first fixed probability state, assigning a second bin to a second single-probability bin encoder based on a probability state of the second bin, wherein the second single-probability bin encoder performs binary arithmetic coding based on a second fixed probability state different from the first fixed probability state, and coding the first bin in the first single-probability bin encoder and the second bin in the second single-probability bin encoder in parallel, wherein the first single-probability bin encoder uses a first rLPS table for the first fixed probability state and the second single-probability bin encoder uses a second rLPS table for the second fixed probability state.

Claims (28)

1. A method, comprising:

comparing a number of encoded bits with a threshold value;

in response to the number of encoded bits being larger than the threshold value:

assigning a first binary symbol to a first single probability binary encoder of a plurality of encoders;

assigning a second binary symbol to a second single probability binary encoder of the plurality of encoders; and

coding the first binary symbol in the first single probability binary encoder in parallel with coding the second binary symbol in the second single probability binary encoder, wherein the first single probability binary encoder uses a first range least probable symbol (rLPS) table and the second single probability binary encoder uses a second rLPS table different than the first rLPS table.

2. The method of claim 1 , wherein rLPS values for the first rLPS table and rLPS values for the second rLPS table are based on rLPS values defined in H.264/AVC.

3. The method of claim 1 , wherein the first rLPS table and the second rLPS table each consist of four rLPS values.

4. The method of claim 1 , wherein the plurality of encoders consists of twelve single-probability binary symbol encoders, wherein each single-probability binary symbol encoder performs binary arithmetic coding based on a different probability state.

5. The method of claim 1 , wherein the first binary symbol and the second binary symbol include respective probability states associated with different ones of sixty-four probability states.

6. The method of claim 1 , wherein the first rLPS table consists of a first set of rLPS values and the second rLPS table consists of a second set of rLPS values.

7. The method of claim 1 , wherein the first set of rLPS values is different than the second set of rLPS values.

8. The method of claim 1 , wherein the first rLPS table is smaller than 64×4 and the second rLPS table is smaller than 64×4.

9. A decoder, comprising:

a first demultiplexer configured to receive a number of encoded bits;

a size monitor coupled to the first demultiplexer of a plurality of demultiplexers, the size monitor configured to determine a size comparison by comparing the number of encoded bits with a threshold value; and

in response to the size comparison indicating the number of encoded bits is larger than the threshold value, the size monitor configures the first demultiplexer to output the number of encoded bits to a second demultiplexer of the plurality of demultiplexers, wherein the second demultiplexer is configured to:

provide a first part of the number of encoded bits to a first single probability binary decoder of a plurality of decoders; and

provide a second part of the number of encoded bits to a second single probability binary decoder of the plurality of decoders,

wherein the first single probability binary decoder decodes in parallel with the second single probability binary decoder, and

wherein the first single probability binary decoder uses a first range least probable symbol (rLPS) table and the second single probability binary decoder uses a second rLPS table different than the first rLPS table.

10. The decoder of claim 9 , wherein rLPS values for the first rLPS table and rLPS values for the second rLPS table are based on rLPS values defined in H.264/AVC.

11. The decoder of claim 9 , wherein the first rLPS table and the second rLPS table each consist of four rLPS values.

12. The decoder of claim 9 , wherein the plurality of decoders consists of twelve single-probability binary symbol decoders, wherein each single-probability binary symbol decoder performs binary arithmetic decoding based on a different probability state.

13. The decoder of claim 9 , wherein a first binary symbol of the first part of the number of encoded bits and a first binary symbol of the second part of the number of encoded bits include respective probability states associated with different ones of sixty-four probability states.

14. The decoder of claim 9 , wherein the first rLPS table consists of a first set of rLPS values and the second rLPS table consists of a second set of rLPS values.

15. The decoder of claim 9 , wherein the first set of rLPS values is different than the second set of rLPS values.

16. The decoder of claim 9 , wherein the first rLPS table is smaller than 64×4 and the second rLPS table is smaller than 64×4.

Continuity (5)
Continuation 16417785 · May 21, 2019
Continuation 13250749 · Sep 30, 2011
Provisional Application 61390072 · Oct 5, 2010
Provisional Application 61388523 · Sep 30, 2010
Related Publication 20210120260A1 · Apr 22, 2021