Context-adaptive binary arithmetic coding

From Wikipedia, the free encyclopedia

Context-adaptive binary arithmetic coding (CABAC) is a form of entropy coding used in H.264/MPEG-4 AVC video encoding. As such it is an inherently lossless compression technique. It is notable for providing considerably better compression than most other encoding algorithms used in video encoding and is considered one of the primary advantages of the H.264/AVC encoding scheme. CABAC is only supported in Main and higher profiles and requires a considerable amount of processing to decode compared to other similar algorithms. As a result, Context-adaptive variable-length coding (CAVLC), a lower efficiency entropy encoding scheme, is sometimes used instead to increase performance on slower playback devices.

Contents

[edit] Algorithm

CABAC has multiple probability modes for different contexts. It first converts all non-binary symbols to binary. Then, for each bit, the coder selects which probability model to use, then uses information from nearby elements to optimize the probability estimate. Arithmetic coding is then applied to compress the data.

[edit] References

  • H.264/MPEG-4 Part 10 White Paper, two page summary of MPEG CABAC, October 2002 []
  • E. G. Richardson, Iain (2003). H.264 and MPEG-4 Video Compression: Video Coding for Next-generation Multimedia. Chichester: John Wiley & Sons Ltd.. 

[edit] External links

[edit] See also


Languages