Context-adaptive binary arithmetic coding

Context-adaptive binary arithmetic coding (CABAC) is a form of entropy encoding used in the H.264/MPEG-4 AVC[1][2] 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.[3]

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.

Algorithm

CABAC is based on arithmetic coding, with a few innovations and changes to adapt it to the needs of video encoding standards:[4]

  • It encodes binary symbols, which keeps the complexity low and allows probability modelling for more frequently used bits of any symbol.
  • The probability models are selected adaptively based on local context, allowing better modelling of probabilities, because coding modes are usually locally well correlated.
  • It uses a multiplication-free range division by the use of quantized probability ranges and probability states.

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 finally applied to compress the data.

CABAC method of entropy encoding used within H264 video compression standard in English

The context modeling provides estimates of conditional probabilities of the coding symbols. Utilizing suitable context models, a given inter-symbol redundancy can be exploited by switching between different probability models according to already-coded symbols in the neighborhood of the current symbol to encode. The context modeling is responsible for most of CABAC's roughly 10% savings in bit rate over the CAVLC entropy coding method.

Coding a data symbol involves the following stages.

  • Binarization: CABAC uses Binary Arithmetic Coding which means that only binary decisions (1 or 0) are encoded. A non-binary-valued symbol (e.g. a transform coefficient or motion vector) is "binarized" or converted into a binary code prior to arithmetic coding. This process is similar to the process of converting a data symbol into a variable length code but the binary code is further encoded (by the arithmetic coder) prior to transmission.
  • Stages are repeated for each bit (or "bin") of the binarized symbol.
  • Context model selection: A "context model" is a probability model for one or more bins of the binarized symbol. This model may be chosen from a selection of available models depending on the statistics of recently coded data symbols. The context model stores the probability of each bin being "1" or "0".
  • Arithmetic encoding: An arithmetic coder encodes each bin according to the selected probability model. Note that there are just two sub-ranges for each bin (corresponding to "0" and "1").
  • Probability update: The selected context model is updated based on the actual coded value (e.g. if the bin value was "1", the frequency count of "1"s is increased).

Example

MVDx Binarization
0 0
1 10
2 110
3 1110
4 11110
5 111110
6 1111110
7 11111110
8 111111110

1. Binarize the value MVDx, the motion vector difference in the x direction.

The first bit of the binarized codeword is bin 1; the second bit is bin 2; and so on.

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:

Bin Context model
1 0, 1 or 2 depending on ek
2 3
3 4
4 5
5 and higher 6

If ek is small, then there is a high probability that the current MVD will have a small magnitude; conversely, if ek is large then it is more likely that the current MVD will have a large magnitude. We select a probability table (context model) accordingly. The remaining bins are coded using one of 4 further context models:

3. Encode each bin. The selected context model supplies two probability estimates: the probability that the bin contains "1" and the probability that the bin contains "0". These estimates determine the two sub-ranges that the arithmetic coder uses to encode the bin.

4. Update the context models. For example, if context model 2 was selected for bin 1 and the value of bin 1 was "0", the frequency count of "0"s is incremented. This means that the next time this model is selected, the probability of a "0" will be slightly higher. When the total number of occurrences of a model exceeds a threshold value, the frequency counts for "0" and "1" will be scaled down, which in effect gives higher priority to recent observations.

The arithmetic decoding engine

The arithmetic decoder is described in some detail in the Standard. It has three distinct properties:

  1. Probability estimation is performed by a transition process between 64 separate probability states for "Least Probable Symbol" (LPS, the least probable of the two binary decisions "0" or "1").
  2. The range 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).
  3. 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

In 1986, IBM researchers Kottappuram M. A. Mohiuddin and Jorma Johannes Rissanen filed a patent for a multiplication-free binary arithmetic coding algorithm.[5][6] 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.[7][8]

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.[5] 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[9] have since expired due to the age of the JPEG standard.[10] 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.[11][12] 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.[13] The modern context-adaptive binary arithmetic coding (CABAC) algorithm was commercially introduced with the H.264/MPEG-4 AVC format in 2003.[14] The majority of patents for the AVC format are held by Panasonic, Godo Kaisha IP Bridge and LG Electronics.[15]

See also

References

  1. ^ Richardson, Iain E. G., H.264 / MPEG-4 Part 10 White Paper, 17 October 2002.
  2. ^ Richardson, Iain E. G. (2003). H.264 and MPEG-4 Video Compression: Video Coding for Next-generation Multimedia. Chichester: John Wiley & Sons Ltd.
  3. ^ Ze-Nian Li; Mark S. Drew; Jiangchuan Liu (9 April 2014). Fundamentals of Multimedia. Springer Science & Business Media. ISBN 978-3-319-05290-8.
  4. ^ Marpe, D., Schwarz, H., and Wiegand, T., 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.
  5. ^ a b "T.81 – DIGITAL COMPRESSION AND CODING OF CONTINUOUS-TONE STILL IMAGES – REQUIREMENTS AND GUIDELINES" (PDF). CCITT. September 1992. Retrieved 12 July 2019.
  6. ^ U.S. patent 4,652,856
  7. ^ Arps, R. B.; Truong, T. K.; Lu, D. J.; Pasco, R. C.; Friedman, T. D. (November 1988). "A multi-purpose VLSI chip for adaptive data compression of bilevel images". IBM Journal of Research and Development. 32 (6): 775–795. doi:10.1147/rd.326.0775. ISSN 0018-8646.
  8. ^ 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.
  9. ^ "Recommendation T.81 (1992) Corrigendum 1 (01/04)". Recommendation T.81 (1992). International Telecommunication Union. 9 November 2004. Retrieved 3 February 2011.
  10. ^ JPEG Still Image Data Compression Standard, W. B. Pennebaker and J. L. Mitchell, Kluwer Academic Press, 1992. ISBN 0-442-01272-1
  11. ^ DCT Coding for Motion Video Storage using Adaptive Arithmetic Coding, C. A. Gonzales. L. Allman, T. McCarthy, P. Wendt and A. N. Akansu, Signal Processing: Image Communication, 2, 145, 1990.
  12. ^ Encoding of motion video sequences for the MPEG environment using arithmetic coding, E. Viscito and C. Gonzales, SPIE Visual Communications and Image Processing '90, October 2–4, 1990.
  13. ^ Ortega, A. (October 1999). "Embedded image-domain compression using context models". Proceedings 1999 International Conference on Image Processing (Cat. 99CH36348). Vol. 1. pp. 477–481 vol.1. doi:10.1109/ICIP.1999.821655. ISBN 0-7803-5467-2. S2CID 27303716.
  14. ^ "Context-Based Adaptive Binary Arithmetic Coding (CABAC)". Fraunhofer Heinrich Hertz Institute. Retrieved 13 July 2019.
  15. ^ "AVC/H.264 – Patent List" (PDF). MPEG LA. Retrieved 6 July 2019.

Read other articles:

Listes de films américains 1903 1904 1905 1906 1907 1908 1909 1910 1911 ►► Liste (non exhaustive) de films américains sortis en 1907. Titre Réalisateur Distribution Genre Notes Amateur Night; or, Get the Hook Ben-Hur Sidney Olcott Reconstitution historique Daniel Boone Wallace McCutcheon, Edwin S. Porter William Craven, Florence Lawrence Biographie The Hypnotist's Revenge Joseph A. Golden Laughing Gas Edwin Stanton Porter Bertha Regustus, Edward Boulden Comédie Terrible Ted Joseph A....

 

MusikLukisan sebuah vas Yunani kuno yang menggambarkan pelajaran musik (c. 510 SM)MediumsuaraJenisgenre-genreBudaya awalbervariasiAwal berkembangPaleolitikum Portal Musik Genre musik adalah pengelompokan musik sesuai dengan kemiripannya satu sama lain. Sebuah genre dapat didefinisikan oleh teknik musik, gaya, konteks, dan tema musik. Musik juga dapat dikelompokkan sesuai dengan kriteria lain, misalnya geografi. Pengelompokan secara aliran atau gaya Secara umum, musik dikelompokkan menurut keg...

 

Railway station in Liverpool, England Mossley HillGeneral informationLocationMossley Hill, LiverpoolEnglandCoordinates53°22′44″N 2°54′54″W / 53.379°N 2.915°W / 53.379; -2.915Grid referenceSJ392873Managed byNorthern TrainsTransit authorityMerseytravelPlatforms4Other informationStation codeMSHFare zoneC1ClassificationDfT category EPassengers2018/19 0.126 million2019/20 0.157 million2020/21 44,9502021/22 0.143 million2022/23 0.166 million NotesPassenger statis...

Nagari Kasultanan Ngayogyakarta[1]ꦏꦱꦸꦭ꧀ꦠꦤ꧀ꦤꦤ꧀ꦔꦪꦺꦴꦒꦾꦏꦂꦠꦲꦢꦶꦤꦶꦁꦫꦠ꧀Kasultanan Ngayogyakarta Adiningrat1755–sekarang Bendera Kesultanan (Gula Klapa)[2][3][4][5] Lambang Kesultanan (Praja Cihna) Lagu kerajaan: Gendhing MonggangGendhing Raja ManggalaGendhing Prabu MataramWilayah Kesultanan Ngayogyakarta Hadiningrat saat iniIbu kotaKota YogyakartaBahasa resmiJawaBahasa yang umum digunakanBela...

 

Prevalence of religiously-motivated violence in Islam Part of a series onIslam Beliefs Oneness of God Angels Revealed Books Prophets Day of Resurrection Predestination Practices Profession of Faith Prayer Almsgiving Fasting Pilgrimage TextsFoundations Quran Sunnah (Hadith, Sirah) Tafsir (exegesis) Aqidah (creed) Qisas al-Anbiya (Stories of the Prophets) Mathnawi (Poems) Fiqh (jurisprudence) Sharia (law) History Timeline Muhammad Ahl al-Bayt Sahabah Rashidun Caliphate Imamate Medieval Islamic ...

 

Lockheed Martin Atlas III adalah kendaraan peluncuran orbital Amerika, digunakan antara 2000 dan 2005.[1] Ini adalah anggota pertama dari keluarga Atlas sejak Atlas A untuk fitur metode pementasan normal, dibandingkan dengan anggota keluarga Atlas sebelumnya, yang dilengkapi dengan mesin jettisonable pada tahap pertama (penopang). Referensi ^ Atlas IIIA. Encyclopedia Astronautica.  Artikel bertopik astronomi ini adalah sebuah rintisan. Anda dapat membantu Wikipedia dengan mengem...

Ayat Cahyadi Wakil Wali Kota Pekanbaru ke-2Masa jabatan22 Mei 2017 – 22 Mei 2022PresidenJoko WidodoGubernurArsyadjuliandi RachmanWan Thamrin HasyimSyamsuarWalikotaFirdaus (wali kota)PenggantiKosongMasa jabatan25 Januari 2012 – 25 Januari 2017PresidenSusilo Bambang YudhoyonoJoko WidodoGubernurRusli ZainalAnnas MaamunArsyadjuliandi RachmanPendahuluErizal MulukPenggantiPetahana Informasi pribadiLahir22 Juli 1971 (umur 52)Bekasi, Jawa BaratPartai politikPKSSuami/ist...

 

Disambiguazione – Se stai cercando altri significati, vedi Conclave (disambigua). La Cappella Sistina: vi fu celebrato il primo conclave nel 1492; dal 1878 è sede stabile di ogni conclave. Conclave è un termine che deriva dal latino cum clave, cioè (chiuso) con la chiave o sottochiave che usualmente indica sia la sala in cui si riuniscono i cardinali della Chiesa cattolica per eleggere un nuovo papa, sia la riunione vera e propria. Viene spesso riferito allegoricamente anche a riunioni ...

 

Sports competition in North America International athletics championship eventNACAC U23 & U18 ChampionshipsOrganisersWorld Athletics,North American, Central American and Caribbean Athletic AssociationEdition12thDates21–23 JulyHost citySan José, Costa RicaVenueEstadio Nacional de Costa RicaLevelUnder 23Under 18TypeOutdoorEvents88Participation31 nationsOfficial websiteNACAC U18 & U23 Championship July 21 - 23, 2023 Estadio Nacional, San José, CRC← San José, Costa Rica 2021 TB...

Class of enzymes receptor protein-tyrosine kinaseIdentifiersEC no.2.7.10.1DatabasesIntEnzIntEnz viewBRENDABRENDA entryExPASyNiceZyme viewKEGGKEGG entryMetaCycmetabolic pathwayPRIAMprofilePDB structuresRCSB PDB PDBe PDBsumGene OntologyAmiGO / QuickGOSearchPMCarticlesPubMedarticlesNCBIproteins IdentifiersSymbolPkinase_TyrPfamPF07714OPM superfamily186OPM protein2k1kMembranome3Available protein structures:Pfam  structures / ECOD  PDBRCSB PDB; PDBe; PDBjPDBsumstructure summary Receptor t...

 

العلاقات المغربية النيجيرية المغرب نيجيريا   المغرب   نيجيريا تعديل مصدري - تعديل   العلاقات المغربية النيجيرية هي العلاقات الثنائية التي تجمع بين المغرب ونيجيريا.[1][2][3][4][5] وقد شهدت العلاقات بين المغرب ونيجيريا خلال السنوات الأخيرة تطور�...

 

У этого термина существуют и другие значения, см. функция. Запрос «Отображение» перенаправляется сюда; см. также другие значения. График функции f ( x ) = ( 4 x 3 − 6 x 2 + 1 ) x + 1 3 − x {\displaystyle {\begin{aligned}&\scriptstyle \\&\textstyle f(x)={\frac {(4x^{3}-6x^{2}+1){\sqrt {x+1}}}{3-x}}\end{aligned}}} . Фу́нкция — соответ...

Basilika Santo Bartolomeus di atas Pulau Basilica di San Bartolomeo all'IsolaBasilica S. Bartholomaei in InsulaBagian depan San Bartolomeo all'Isola di Pulau TiberAgamaAfiliasiKatolik RomaRitusRitus OrientalEcclesiastical or organizational statusBasilika minor, Gereja rektoriKepemimpinanKardinal Blase Joseph Cupich[1]DiberkatiAbad ke-10LokasiLokasi Roma, ItaliaKoordinat41°53′25″N 12°28′42″E / 41.89028°N 12.47833°E / 41.89028; 12.47833ArsitekturTipeG...

 

突尼西亞地理洲Africa地区Northern Africa坐标34°00′N 9°00′E / 34.000°N 9.000°E / 34.000; 9.000面积第92nd名 • 总计163,610平方公里(63,170平方英里) • 陆地95% • 水域5%海岸线1,148公里(713英里)毗邻Total land borders:1,424 km Algeria 965 km, Libya 459 km最高点Jebel ech Chambi1,544 m最低点Chott el Djerid-17 m最长河流Medjerda River450 km 突尼西亞�...

 

Tour de Lombardie 1951GénéralitésCourse 45e Tour de LombardieCompétition Challenge Desgrange-Colombo 1951Date 21 octobre 1951Distance 226 kmPays traversé(s) ItalieLieu de départ MilanLieu d'arrivée MilanCoureurs au départ 139Coureurs à l'arrivée 76Vitesse moyenne 38,627 km/hRésultatsVainqueur Louison BobetDeuxième Giuseppe MinardiTroisième Fausto CoppiTour de Lombardie 1950Tour de Lombardie 1952modifier - modifier le code - modifier Wikidata Le Tour de Lombardie 1951 es...

У этого топонима есть и другие значения, см. Сура.Сурачуваш. Сăр, гор.-мар. Шур, эрз. Сура лей Сура около Алатыря Характеристика Длина 841 км Бассейн 67 500 км² Расход воды 260 м³/с (в устье) Водоток Исток   (Т) (B)    • Местоположение село Сурские Вершин...

 

Musical form and music genre This article is about the music genre. For other uses, see Blues (disambiguation). BluesAmerican blues musician Mississippi Fred McDowell in 1960Stylistic origins Work songs Spirituals folk music[1] Cultural origins1860s,[2] Deep South, U.S.Derivative forms Bluegrass country jazz jug band ragtime rhythm and blues rock and roll SubgenresSubgenres Boogie-woogie classic female blues country blues Delta blues dirty blues electric blues hokum blues jump...

 

Standards organization This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages) This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: ASTM International – news · newspapers · books · scholar · JSTOR (April 2014) (Learn how and when to remove this message) The topic of this...

اضغط هنا للاطلاع على كيفية قراءة التصنيف غرسنية صمغية حالة الحفظ   أنواع غير مهددة أو خطر انقراض ضعيف جدا [1] المرتبة التصنيفية نوع  التصنيف العلمي النطاق: حقيقيات النوى المملكة: نباتات غير مصنف: حقيقيات الأوراق غير مصنف: البذريات غير مصنف: كاسيات البذور غير مصنف: ث�...

 

Process of oxidative damage of deoxyribonucleic acid This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages) This article may be too technical for most readers to understand. Please help improve it to make it understandable to non-experts, without removing the technical details. (May 2018) (Learn how and when to remove this message) This article needs additional citations for verification. Please help imp...