FazBrowse Wikipedia Viewer | Main Page |
Search Wikipedia:
|
Viewing: https://en.wikipedia.org/wiki/Context-adaptive_binary_arithmetic_coding

Context-adaptive binary arithmetic coding

Contents
History
See also
References

Context-adaptive binary arithmetic coding (CABAC) is a form of entropy encoding used in the H.264/MPEG-4 AVC and High Efficiency Video Coding (HEVC) standards. It is a lossless compression technique, although the video coding standards in which it is used are typically for lossy compression applications. CABAC is notable for providing much better compression than most other entropy encoding algorithms used in video encoding, and it is one of the key elements that provides the H.264/AVC encoding scheme with better compression capability than its predecessors.

In H.264/MPEG-4 AVC, CABAC is only supported in the Main and higher profiles (but not the extended profile) of the standard, as it requires a larger amount of processing to decode than the simpler scheme known as context-adaptive variable-length coding (CAVLC) that is used in the standard's Baseline profile. CABAC is also difficult to parallelize and vectorize, so other forms of parallelism (such as spatial region parallelism) may be coupled with its use. In HEVC, CABAC is used in all profiles of the standard.

ek Context model for bin 1
0 ≤ ek < 3 Model 0
3 ≤ ek < 33 Model 1
33 ≤ ek Model 2

2. Choose a context model for each bin. One of 3 models is selected for bin 1, based on previous coded MVD values. The L1 norm of two previously-coded values, ek, is calculated:

R representing the current state of the arithmetic coder is quantized to a small range of pre-set values before calculating the new range at each step, making it possible to calculate the new range using a look-up table (i.e. multiplication-free).
  • A simplified encoding and decoding process is defined for data symbols with a near uniform probability distribution.
  • The definition of the decoding process is designed to facilitate low-complexity implementations of arithmetic encoding and decoding. Overall, CABAC provides improved coding efficiency compared with CAVLC-based coding, at the expense of greater computational complexity.

    History

    edit

    In 1986, IBM researchers Kottappuram M. A. Mohiuddin and Jorma Johannes Rissanen filed a patent for a multiplication-free binary arithmetic coding algorithm. In 1988, an IBM research team including R.B. Arps, T.K. Truong, D.J. Lu, W. B. Pennebaker, L. Mitchell and G. G. Langdon presented an adaptive binary arithmetic coding (ABAC) algorithm called Q-Coder.

    The above patents and research papers, along several others from IBM and Mitsubishi Electric, were later cited by the CCITT and Joint Photographic Experts Group as the basis for the JPEG image compression format's adaptive binary arithmetic coding algorithm in 1992. However, encoders and decoders of the JPEG file format, which has options for both Huffman encoding and arithmetic coding, typically only support the Huffman encoding option, which was originally because of patent concerns, although JPEG's arithmetic coding patents have since expired due to the age of the JPEG standard. The first reported use of adaptive binary arithmetic coding in motion video compression was in a proposal by IBM researchers to the MPEG group in 1989. This proposal extended the use of arithmetic coding from intraframe JPEG to interframe video coding.

    In 1999, Youngjun Yoo (Texas Instruments), Young Gap Kwon and Antonio Ortega (University of Southern California) presented a context-adaptive form of binary arithmetic coding. The modern context-adaptive binary arithmetic coding (CABAC) algorithm was commercially introduced with the H.264/MPEG-4 AVC format in 2003. The majority of patents for the AVC format are held by Panasonic, Godo Kaisha IP Bridge and LG Electronics.

    See also

    edit

    References

    edit
    Richardson, Iain E. G., [https://web.archive.org/web/20051104184031/http://www.rgu.ac.uk/files/h264_cabac.pdf H.264 / MPEG-4 Part 10 White Paper], 17 October 2002.</ref>\n<ref name=\"H.264_book\">{{cite book | last = Richardson | first = Iain E. G. | title = H.264 and MPEG-4 Video Compression: Video Coding for Next-generation Multimedia | publisher = John Wiley & Sons Ltd. | year = 2003 | location = Chichester}}</ref>\n<ref name=\"CABAC_paper\">Marpe, D., Schwarz, H., and Wiegand, T., [http://iphome.hhi.de/marpe/download/cabac_ieee03.pdf Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard], ''IEEE Trans. Circuits and Systems for Video Technology'', Vol. 13, No. 7, pp. 620–636, July, 2003.</ref>"}},"i":0}}]}'>
    "T.81 – DIGITAL COMPRESSION AND CODING OF CONTINUOUS-TONE STILL IMAGES – REQUIREMENTS AND GUIDELINES" (PDF). CCITT. September 1992. Retrieved 12 July 2019.
  • ↑ Pennebaker, W. B.; Mitchell, J. L.; Langdon, G. G.; Arps, R. B. (November 1988). "An overview of the basic principles of the Q-Coder adaptive binary arithmetic coder". IBM Journal of Research and Development. 32 (6): 717–726. doi:10.1147/rd.326.0717. ISSN 0018-8646.
  • ↑ "AVC/H.264 – Patent List" (PDF). MPEG LA. Retrieved 6 July 2019.
  • Data compression methods
    Lossless
    type
    Entropy
    Dictionary
    Other
    Hybrid
    Lossy
    type
    Transform
    Predictive
    Audio
    Concepts
    Codec
    parts
    Image
    Concepts
    Methods
    Video
    Concepts
    Codec
    parts
    Theory
    Community
    People

    View original on Wikipedia | Back | FazBrowse Home