CABAC (Context Adaptive Binary Arithmetic Coding)


CABAC, which stands for Context Adaptive Binary Arithmetic Coding, is a method of entropy coding used in the H.264/AVC (Advanced Video Coding) video compression standard. It is one of the more sophisticated features of H.264/AVC, offering higher compression efficiency compared to older entropy coding methods. Here’s a concise overview of CABAC:

Arithmetic Coding: At its core, CABAC is based on binary arithmetic coding. Instead of assigning fixed-length codes (like in Huffman coding) or variable-length codes (like in VLC methods) to symbols, arithmetic coding represents a sequence of symbols as a single fraction in the range [0,1). This results in more efficient coding and higher compression.

Context Adaptiveness: The “context adaptive” aspect of CABAC refers to its ability to adjust the probability models for encoding based on the surrounding data (context). By adapting to the context, CABAC can achieve better compression because it can more accurately model and predict the data it’s encoding.

Operational Steps:

  • Bin EncodingIn CABAC, symbols are first transformed into one or more binary decisions, often referred to as “bins.”
  • Context ModelingDepending on the local context (e.g., neighboring coded values), a probability model is selected for each bin. This model is used to estimate the probability that the bin takes a value of 1.
  • Arithmetic EncodingUsing the selected probability model, the bin’s value is arithmetically encoded.

Comparison with CAVLC: CABAC generally provides better compression than CAVLC (Context Adaptive Variable Length Coding), another entropy coding method used in H.264/AVC. However, CABAC is computationally more demanding. Hence, while it’s used in the Main and High profiles of H.264/AVC (which prioritize compression efficiency), it’s typically not used in the Baseline profile, where computational simplicity is more critical.

Applications: Due to its efficiency, CABAC is crucial for high-quality video compression in scenarios such as HD broadcasting, Blu-ray disc storage, and other high-resolution video applications using the H.264/AVC standard.

In summary, CABAC is a sophisticated entropy coding technique that offers significant compression advantages in the H.264/AVC video codec. Its adaptive nature, combined with the efficiency of arithmetic coding, provides improved compression rates compared to older methods, albeit at the cost of increased computational complexity.


Key terms in plain language

Open a term for a concise explanation of language used on this page.

Cloud Computing

Computing resources—such as applications, servers, storage, or databases—delivered from remote infrastructure and scaled as requirements change.

Infrastructure as a Service (IaaS)

Cloud-based servers, storage, and networking that customers configure and manage without owning the underlying data-center hardware.

Software as a Service (SaaS)

Software accessed as an online service instead of being installed and maintained entirely on the customer’s own computers or servers.

Disaster Recovery (DRaaS)

A plan and service for restoring applications, data, and operations after an outage or disruption. DRaaS provides recovery infrastructure through a managed cloud service.

Identity and Access Management (IAM)

The systems and policies that determine who a user is, what resources they may access, and how that access is authenticated and reviewed.

API

An application programming interface is a defined way for software systems to exchange data or request functions from one another.