CABAC
Контекстно-адаптивное двоичное арифметическое кодирование (КАДАК; CABAC от англ. Context-adaptive binary arithmetic coding) — форма энтропийного (статистического) кодирования, которое используется в видеокодеках стандарта H.264/MPEG-4 AVC. Используется техника сжатия без потерь для получения более высокой степени сжатия, чем большинство алгоритмов, которые доступны в кодировании видео.
Является одним из основных преимуществ кодека H.264/AVC. CABAC поддерживается только в основном (Main) и более высоких профилях кодека, а также требует затрачивать достаточно большое количество рабочих циклов процессора в чисто программной реализации, как с точки зрения циклов, так и с точки зрения мощности системы для декодирования (просмотра) видео, закодированного с использованием этой технологии. Также, труден в векторизации и распараллеливании. Стоит отметить, что существует контекстно-адаптивное неравномерное кодирование (англ. Context-adaptive variable-length coding, CAVLC), более низкоэффективная схема статистического кодирования, которая используется для повышения производительности на более слабых системах декодирования.
Алгоритм
[править | править код]КАДАК имеет несколько режимов предсказания для разного контекста. Сначала конвертируются все небинарные символы в бинарные; далее, для каждого бита кодек выбирает, которую модель предсказания использовать; после этого он использует полученную от ближайших элементов информацию для оптимизации степени возможности предсказаний. Арифметическое кодирование является финальным шагом сжатия данных.
См. также
[править | править код]- Арифметическое кодирование
- Сжатие данных
- Сжатие без потерь
- Контекстно-адаптивное неравномерное кодирование (КАНК)
Литература
[править | править код]- 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 (англ.)
Это заготовка статьи по информатике. Помогите Википедии, дополнив её. |