CABAC (ang. Context-Adaptive Binary Arithmetic Coding) – kodowanie entropijne użyte w kodeku obrazu AVC jako opcjonalne względem CAVLC (Context-Adaptive Variable Length Coding). W wyniku zastosowania CABAC można uzyskać nawet do 20% mniejszy strumień binarny względem kodowania CAVLC.

Jednym z głównych twórców CABAC-a jest Detlev Marpe z Instytutu Fraunhofera z siedzibą w Berlinie.

Algorytm edytuj

CABAC opiera się na adaptacyjnym kodowaniu kontekstowym ciągu symboli binarnych. Dane wyjściowe kodera obrazu (dane sterujące, współczynniki transformaty błędu predykcji, wektory ruchu) poddawane są procesowi binaryzacji za pomocą zdefiniowanych w standardzie książek kodowych, zależnie od kontekstu (poprzednich symboli) w jakim wystąpiły. Następnie takie dane binarne podawane są na koder arytmetyczny ze zdefiniowanym progiem renormalizacji oraz modelem prawdopodobieństwa wystąpienia danego symbolu binarnego. Wynikowe symbole kodera arytmetycznego zapisywane są w końcu do strumienia binarnego.

 

Bibliografia edytuj

  • H.264/MPEG-4 Part 10 White Paper. 10-2002. - dwie strony podsumowania na temat MPEG CABAC.
  • Iain E. G. Richardson: H.264 and MPEG-4 Video Compression: Video Coding for Next-generation Multimedia. John Wiley & Sons Ltd., 2003.
  • D.Marpe,H.Schwarz, T.Weigand: Context-Based Adaptive Binary Arithmatic Coding in H.264/AVC Video Compression Standard. 07-2003.

Linki zewnętrzne edytuj