Контекстно-адаптивное двоичное арифметическое кодирование (КАДАК; CABAC от ) — форма энтропийного (статистического) кодирования, которое используется в видеокодеках стандарта H.264/MPEG-4 AVC. Используется техника сжатия без потерь для получения более высокой степени сжатия, чем большинство алгоритмов, которые доступны в кодировании видео.

Является одним из основных преимуществ кодека H.264/AVC. CABAC поддерживается только в основном (Main) и более высоких профилях кодека, а также требует затрачивать достаточно большое количество рабочих циклов процессора в чисто программной реализации, как с точки зрения циклов, так и с точки зрения мощности системы для декодирования (просмотра) видео, закодированного с использованием этой технологии. Также, труден в векторизации и распараллеливании. Стоит отметить, что существует контекстно-адаптивное неравномерное кодирование (, ), более низкоэффективная схема статистического кодирования, которая используется для повышения производительности на более слабых системах декодирования.

Алгоритм КАДАК имеет несколько режимов предсказания для разного контекста. Сначала конвертируются все небинарные символы в бинарные; далее, для каждого бита кодек выбирает, которую модель предсказания использовать; после этого он использует полученную от ближайших элементов информацию для оптимизации степени возможности предсказаний. Арифметическое кодирование является финальным шагом сжатия данных.

См. также Арифметическое кодирование Сжатие данных Сжатие без потерь Контекстно-адаптивное неравномерное кодирование (КАНК)

Литература H.264/MPEG-4 Part 10 White Paper, руководство для MPEG CABAC, октябрь 2002 (англ.)

Ссылки H.264 / MPEG-4 Part 10 White Paper "Introduction to CABAC" / vcodex.com, Iain E G Richardson, 2002

Категория:MPEG Категория:Сжатие видео Категория:Алгоритмы сжатия без потерь