IP Library Granted Patent US 11,336,921
Granted Patent B2
US 11,336,921 · App. 17/103,024 · Granted May 17, 2022

Acceleration of context adaptive binary arithmetic coding (CABAC) in video codecs

Inventors: Padmassri Chandrashekar (Bangalore, IN); Padmagowri Pichumani (Bangalore, IN); Vinay Kulkarni (Bangalore, IN); Shailesh Ramamurthy (Bengaluru, IN); Anil Kumar Nellore (Bangalore, IN); Chetan Kumar Viswanath Gubbi (Bangalore, IN)
Assignee: ARRIS Enterprises LLC
H04N19/91H04N19/13H04N19/70
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,336,921
App. No.
17/103,024
Filed
Nov 24, 2020
Granted
May 17, 2022
Kind
B2
Art Unit
2482
USPC
375/240.03
Abstract

A method is provided for determining a context-index when performing Context-based Adaptive Binary Arithmetic Coding (CABAC) for video compression or decompression includes initializing to an initialized value each of a plurality of context-indexes of chosen syntax elements associated with a given block (e.g., a macroblock). The context-index of dependent neighboring blocks of the given block is evaluated. The dependent neighboring blocks are blocks that have a context-index that depends on coding of a current bin position. The context-index of the dependent neighboring blocks is updated if and only if their context-index changes from the initialized values.

Claims (31)

1. A method of determining a context-index when performing Context-based Adaptive Binary Arithmetic Coding (CABAC) for video compression or decompression, the method comprising:

initializing to an initialized value each of a plurality of context-indexes of chosen syntax elements associated with given blocks, the given blocks including at least two next rows of blocks to be coded;

evaluating the context-index of dependent neighboring blocks of a first block in the given blocks prior to coding or decoding of the neighboring blocks, the dependent neighboring blocks being blocks that have a context-index that depends on the coding of a current bin position within the first block; and

updating the context-index of the dependent neighboring blocks from the initialized values which coding or decoding the first block and prior to coding or decoding of the dependent neighboring blocks.

2. The method of claim 1 , wherein the selected syntax elements are specified in an H.264/MPEG 4 AVC standard and are selected from the group consisting of a mb_type, mb_skip_flag, transform_size_8×8_flag, mb_qp_delta, mb_field_decoding_flag, intra_chroma_pred_mode, mvd (horizontal)_10, mvd (vertical)_10, mvd (horizontal)_11, mvd (vertical)_11, ref_idx_10 and ref_idx_11, coded_block_pattern and coded_block_flag.

3. The method of claim 1 , wherein the selected syntax elements are specified in a HEVC standard and are selected from the group consisting of a split_cu_flag, cu_skip_flag, sig_coeff_flag if the video compression or decompression performed using HEVC.

4. The method of claim 1 , wherein the context-index of the dependent neighboring blocks only depends on the coding of the current bin position within the given blocks when at least one specified condition is satisfied, one of the specified conditions being dependent on the block type.

5. The method of claim 1 , wherein initializing the plurality of context-indexes includes selectively initializing all context-indexes to a minimum possible context-index for the selected syntax element being coded or decoded or to a maximum possible context-index for the selected syntax element being coded or decoded.

6. The method of claim 5 , wherein initializing and updating the context-index of the dependent neighboring blocks includes incrementing the context-index based on block type and a bit rate of a video stream being compressed or decompressed.

7. The method of claim 5 , wherein initializing and updating the context-index of the dependent neighboring blocks includes decrementing the context-index based on block type and a bit rate of a video stream being compressed or decompressed.

8. The method of claim 1 , wherein initializing the plurality of context indexes includes initializing up to two rows of context index samples.

9. A method of debinarizing Context-based Adaptive Binary Arithmetic Coding (CABAC) data during video compression or decompression, the method comprising:

identifying all syntax elements in an arrangement, and which are coded with a specific bit pattern and bit length that is pre-defined by a protocol;

rearranging the codes of the syntax elements that are identified such that the codes with an equal number of bits are arranged sequentially without any intervening codes having a different number of bits; and

performing de-binarization using the arranged codes of the syntax elements.

10. The method of claim 9 , wherein performing the de-binarization comprises:

checking if a number of decoded bins in a bin string formed during the decoding of one of the syntax elements can result in a valid syntax element;

if the said number of decoded bins can potentially yield a valid syntax element, searching only those sequentially arranged codes that contain the given number of bins; and

identifying a valid syntax element that matches the bin string formed during the decoding of the syntax element.

11. The method of claim 9 , wherein the protocol conforms to an H.264/MPEG 4 AVC standard.

12. A CABAC included within an encoder or decoder, comprising:

a binarization module for converting a syntax element into a sequence of bins;

a context-index module for obtaining one or more context models for the syntax element based on the sequence of bins, each of the context models being associated with a context model, wherein the context-index module obtains the one or more context models by initializing a context-index of the syntax element associated with given blocks including at least one of two next rows of blocks to be coded or decoded and evaluates the context-index of dependent neighboring blocks of a first block in the given blocks prior to coding or decoding of the dependent neighboring blocks, the dependent neighboring blocks being blocks that have a context-index that depends on coding of a current bin position within the first block of the given blocks; and

an arithmetic encoder or decoder for updating the one or more context models based on the sequence of bins and using the one or more context models to encode or decode each of the bins in the sequence, wherein the arithmetic encoder updates the one or more context models by updating the associated context-indices of the dependent neighboring blocks while coding or decoding the first block and prior to coding or decoding of the dependent neighboring blocks, when their context-indices changes from the initialized values.

13. The CABAC of claim 12 , wherein the context-index module is further configured to assign a context model to each bin the sequence of bins.

14. The CABAC of claim 12 , wherein the context-index of the dependent neighboring blocks only depends on the coding of the current bin position within the given blocks when at least one specified condition is satisfied, one of the specified conditions being dependent on the block type.

15. The CABAC of claim 12 , wherein the context-index module is further configured to initialize the plurality of context-indexes by selectively initializing all context-indexes to a minimum possible context-index for the selected syntax element being coded.

16. The CABAC of claim 15 , wherein the context-index module is further configured to initialize and update the context-index of the dependent neighboring blocks by incrementing the context-index based on macroblock type and a bit rate of a video stream being compressed or decompressed.

17. The CABAC of claim 12 , wherein the context-index module is further configured to initialize the plurality of context-indexes by initializing all context-indexes to a maximum possible context-index for the selected syntax element being coded.

18. The CABAC of claim 17 , wherein the context-index module is further configured to initialize and update the context-index of the dependent neighboring blocks by decrementing the context-index based on block type and a bit rate of a video stream being compressed or decompressed.

19. The CABAC of claim 12 , wherein the context-index module is further configured to initialize the plurality of context indexes by initializing up to two rows of context index samples.

Assignments (7)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 058843/0712 Recorded Jan 12, 2026
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC; COMMSCOPE NORTH CAROLINA, LLC (F/K/A COMMSCOPE, INC. OF NORTH CAROLINA); COMMSCOPE TECHNOLOGIES LLC
Reel/Frame 074591/0389 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 058875/0449 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC
Reel/Frame 069743/0057 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2022
From: CHANDRASHEKAR, PADMASSRI; PICHUMANI, PADMAGOWRI; KULKARNI, VINAY; RAMAMURTHY, SHAILESH; NELLORE, ANIL KUMAR; GUBBI, CHETAN KUMAR VISWANATH
To: ARRIS ENTERPRISES LLC
Reel/Frame 059604/0053 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
ABL SECURITY AGREEMENT Recorded Nov 15, 2021
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 058843/0712 →
TERM LOAN SECURITY AGREEMENT Recorded Nov 15, 2021
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 058875/0449 →
Continuity (3)
Continuation 14723786 · May 28, 2015
Provisional Application 62003711 · May 28, 2014
Related Publication 20210084342A1 · Mar 18, 2021