Контекстно-адаптивное двоичное арифметическое кодирование

Контекстно-адаптивное двоичное арифметическое кодирование Контекстно-адаптивное двоичное арифметическое кодирование (CABAC) CABAC — это метод энтропийного сжатия без потерь, используемый в стандартах […]

Контекстно-адаптивное двоичное арифметическое кодирование

  • Контекстно-адаптивное двоичное арифметическое кодирование (CABAC)

    • CABAC — это метод энтропийного сжатия без потерь, используемый в стандартах H.264/MPEG-4 AVC и HEVC. 
    • Он обеспечивает лучшее сжатие по сравнению с другими алгоритмами энтропийного кодирования и является ключевым элементом для улучшения возможностей сжатия H.264/AVC. 
    • В H.264/MPEG-4 AVC CABAC используется только в основных и более высоких профилях, но не в расширенном профиле, из-за сложности декодирования. 
    • CABAC трудно распараллелить и векторизовать, но может сочетаться с другими формами параллелизма. 
    • В HEVC CABAC используется во всех профилях стандарта. 
  • Алгоритм CABAC

    • CABAC основан на арифметическом кодировании с некоторыми нововведениями и адаптацией к видеокодекам. 
    • Он кодирует двоичные символы, что упрощает моделирование вероятностей и позволяет адаптивно выбирать контекстные модели. 
    • CABAC использует деление диапазона без умножения и квантованные вероятностные состояния. 
    • Он имеет несколько вероятностных режимов для разных контекстов и использует арифметическое кодирование для сжатия данных. 
  • Этапы кодирования символа данных

    • Бинаризация: преобразование недвоичных символов в двоичные. 
    • Выбор контекстной модели: выбор вероятностной модели на основе статистики закодированных символов. 
    • Арифметическое кодирование: кодирование каждой ячейки в соответствии с выбранной контекстной моделью. 
    • Обновление вероятности: обновление контекстных моделей на основе фактического значения закодированной ячейки. 
  • Пример кодирования

    • Преобразование значения MVDx в двоичную форму и выбор контекстной модели для каждой ячейки. 
    • Кодирование каждой ячейки с использованием выбранной контекстной модели и обновление контекстных моделей при необходимости. 
  • Механизм арифметического декодирования

    • Арифметический декодер использует процесс перехода между 64 вероятностными состояниями и квантование диапазона для вычисления нового диапазона. 
    • Для символов с равномерным распределением вероятностей предусмотрен упрощенный процесс кодирования и декодирования. 
  • История и развитие CABAC

    • Алгоритм CABAC был запатентован в 1986 году и представлен в 1988 году. 
    • Он был использован в формате JPEG в 1992 году, но JPEG обычно поддерживает только кодирование по Хаффману. 
    • CABAC был коммерчески внедрен в H.264/MPEG-4 AVC в 2003 году. 
  • Смотрите также

    • Арифметическое кодирование, сжатие данных, сжатие без потерь, CAVLC. 

Полный текст статьи:

Контекстно-адаптивное двоичное арифметическое кодирование — Википедия

Оставьте комментарий

Прокрутить вверх