ICER — формат сжатия изображений с использованием вейвлет-преобразования. Используется в миссиях NASA, в частности, в марсианских. Имеет режимы сжатия с потерями и без потерь. Похож на формат JPEG2000. ICER разрабатывался с целью получения высокой степени сжатия для фотоснимков, получаемых в дальнем космосе.[1]
Формат используется марсоходами «Spirit» (MER-A) и «Opportunity» (MER-B) практически для всех двумерных изображений. Около 10 % изображений сжималось при помощи LOCO (на начало 2004 года).[2][3]
Формат ICER позволяет пользователю выбрать два параметра, влияющих на степень сжатия и качество полученного изображения.
Задается максимальный допустимый размер файла и численный уровень качества, которое может быть понижено, чтобы не превысить заданный размер. Кодер ICER прекращает работу либо по превышении размера файла, либо по достижении заданного качества — в зависимости от того, какое условие выполнится раньше.
В случае, когда требуется получить максимальное качество при ограниченном размере файла, можно установить уровень качества lossless (без потерь).
Сжатый битовый поток ICER состоит из нескольких частей (сегментов), которые могут декодироваться независимо. Сегменты соответствуют прямоугольным частям изображения. Границы между ними могут быть заметны при использовании режима сжатия с потерями.
Для сжатия битового потока используется recursive interleaved entropy coding и Коды Голомба.
Сравнение с JPEG 2000
ICER так же, как и JPEG 2000, основан на вейвлетах и обеспечивает:
прогрессивное кодирование,
сжатие без потерь (в отличие от JPEG 2000, ICER в этом режиме использует модифицированный компрессор LOCO, англ.Low Complexity Lossless Compression),
сжатие с потерями,
коррекцию ошибок, позволяющую ограничить эффект потери данных в канале связи.
ICER в целом обеспечивает сжатие, сравнимое с JPEG 2000.
Функциональные возможности ICER, сходные с JPEG 2000, состоят в том, что оба компрессора:
обеспечивают разбиение изображения на блоки для увеличения эффективности сжатия, позволяя более эффективно использовать канал связи, оперативную память и процессорное время;
позволяют варьировать степень сжатия в зависимости от размера изображения (в байтах);
позволяют варьировать степень сжатия в зависимости от качества (хотя ICER варьирует степень сжатия с 1%-й погрешностью).
Различия между ICER и JPEG 2000:
JPEG 2000 использует арифметику с плавающей запятой, ICER — только целочисленную арифметику (для упрощения использования формата на простых процессорах, предназначенных для космических применений);
ICER использует модифицированный LOCO-компрессор для сжатия без потерь;
JPEG 2000 использует несколько разных моделей сжатия без потерь, с помощью переключения вейвлет-компрессора в режим сжатия без потерь;