Context-Adaptive Binary Arithmetic Coding

from Wikipedia, the free encyclopedia

CABAC ( Context-based Adaptive Binary Arithmetic Coding ) describes an effective way of lossless compression of binary files. The reference algorithm for CABAC was developed by ITU-T and ISO / IEC as part of the standardization of the video codec MPEG-4 / Part10 (H.264 / AVC) .

As the name suggests, CABAC is an arithmetic coder that specializes in binary data and can change its coding tables depending on the context. Like all arithmetic coders, CABAC is an entropy coder . Compared to the well-known entropy coding according to Huffman , CABAC performs much better, but is also many times more computationally intensive.

The letters CABAC broken down

Context-based adaptive ( CA BAC) coding refers to the ability of the coder to dynamically adapt his coding tables to the coding material during the coding process.

Binary (CA B AC) coding indicates that this encoder only works for binary data. Data that is in a different format must first be converted to a binary representation.

Arithmetic Coding (CAB AC ) is an extremely effective type of entropy coding.

CABAC and H.264

In the "Main Profile" and "High Profile" profiles of the MPEG-4 / Part10 (H.264 / AVC) video standard , CABAC is used and is responsible for the good image quality, the high compression rate and the high computing effort.

The simpler CAVLC (Context-Adaptive Variable Length Coding) coding method is used in the lower profiles of the H.264 video standard .

literature

  • Iain EG Richardson: H.264 and MPEG-4 Video Compression: Video Coding for Next-generation Multimedia . John Wiley & Sons Ltd., Chichester 2003.

Web links