CABAC

Z Wikipedii, wolnej encyklopedii

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 | edytuj kod]

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 | edytuj kod]

  • 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 | edytuj kod]