Адаптивное кодирование
Адаптивное кодирование относится к вариантам методов энтропийного кодирования для сжатия данных без потерь . Они особенно подходят для потоковой передачи данных , поскольку адаптируются к локализованным изменениям характеристик данных и не требуют первого прохода данных для расчета вероятностной модели. Платой за эти преимущества является то, что кодер и декодер должны быть более сложными, чтобы поддерживать синхронизацию своих состояний, и требуется больше вычислительной мощности для постоянной адаптации состояния кодера/декодера.
Почти все методы сжатия данных предполагают использование модели — прогнозирования состава данных. Когда данные соответствуют прогнозу, сделанному моделью, кодер обычно может передать содержимое данных с меньшими затратами на информацию, ссылаясь на модель.Это общее утверждение немного вводит в заблуждение, поскольку общие алгоритмы сжатия данных включают популярные алгоритмы LZW и LZ77 .которые вряд ли можно сравнить с методами сжатия, обычно называемыми адаптивными . Кодирование серий и типичное сжатие JPEG с кодированием серий и предопределенными кодами Хаффмана не передают модель.Многие другие методы адаптируют свою модель к текущему файлу и должны передавать ее в дополнение к закодированным данным, поскольку и кодер, и декодер должны использовать модель.
При адаптивном кодировании кодер и декодер вместо этого оснащены заранее определенной метамоделью о том, как они будут изменять свои модели в ответ на фактическое содержание данных, а в противном случае начинают с чистого листа, что означает, что никакая исходная модель не требуется. передано. По мере передачи данных и кодер, и декодер адаптируют свои модели, так что, если характер данных не изменится радикально, модель становится лучше адаптированной к данным, которые она обрабатывает, и сжимает их более эффективно, приближаясь к эффективности статического кодирования.
Адаптивный метод [ править ]
Кодер [ править ]
- Инициализируйте модель данных в соответствии с соглашением.
- Пока есть еще данные для отправки
- Закодируйте следующий символ, используя модель данных, и отправьте его.
- Измените модель данных на основе последнего символа.
Декодер [ править ]
- Инициализируйте модель данных в соответствии с соглашением.
- Пока есть больше данных для получения
- Декодируйте следующий символ, используя модель данных, и выведите его.
- Измените модель данных на основе декодированного символа.
Любой метод адаптивного кодирования имеет соответствующий метод статической модели , в котором модель данных предварительно рассчитывается, а затем передается вместе с данными.
Статический метод [ править ]
Кодер [ править ]
- Инициализируйте модель данных на основе первого прохода данных.
- Передайте модель данных.
- Пока есть еще данные для отправки
- Закодируйте следующий символ, используя модель данных, и отправьте его.
Декодер [ править ]
- Получите модель данных.
- Пока есть больше данных для получения
- Декодируйте следующий символ, используя модель данных, и выведите его.
Примеры [ править ]
Адаптивное кодирование изображений использовалось аппаратом Кассини-Гюйгенс для передачи изображений Сатурна . Лишь около 5% изображений демонстрируют какие-либо визуальные признаки повреждений. Поскольку космический корабль оснащен флэш-накопителем с функцией исправления ошибок и между съемками изображений проходят большие промежутки времени, такие поврежденные изображения могут присутствовать. Предполагается, что количество поврежденных, но не подлежащих восстановлению изображений миссии Кассини составляет около 0,01% или меньше. [ нужно обновить ]

Сжатие без потерь Кассини [ править ]
- Как преобразованные (8-битные), так и неконвертированные (12-битные) данные можно сжимать без потерь. Аппаратный компрессор данных Cassini использует модифицированную схему кодирования Хаффмана как часть своего адаптивного компрессора.
- Каждое сжатое изображение может быть восстановлено на местности без потери информативности изображения при условии, что энтропия изображения не превышает порога, при котором достигается сжатие 2:1.
- Из-за проблем с камерой и необходимости уменьшить размер файла в схему кодирования изображения вносятся небольшие изменения, так что полоса пропускания каждой сжатой строки фактически ограничивается количеством бит, доступных для ее кодирования.