ILBM

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
ILBM

ILBM — разновидность файлов формата IFF, используемая для хранения данных растровой графики. Форматом поддерживается чересстрочная развёртка, цветное изображение представлено совокупностью однобитных массивов, каждый из которых хранит 1 бит данных для одного пикселя в изображении. Такие массивы называют бит-планами (англ. bitplanes), или битмапами (англ. bitmaps). Также, форматом поддерживается горизонтальное и вертикальное сжатие данных изображения алгоритмом RLE.

Формат ILBM был разработан для наиболее полного раскрытия возможностей чипсета классической Amiga.

Чипсеты OCS и ECS имеют 32 регистра палитры и поддерживают до 6 бит-планов, что теоретически должно ограничивать число одновременно отображаемых цветов: 26=64. Однако, это верно только при использовании формата «в лоб», согласно канонической схеме принятой сегодня для всей PC-совместимой техники. 32 регистра палитры на Amiga не позволяли бы выводить больше 32 цветов, если бы 6-й бит-план не хранил данные о яркости изображения (так называемый режим Half-Bright), что увеличивает число отображаемых цветов до 64. Другой возможностью чипсета классической Amiga является технология Hold and Modify (дословно: «Придержи и Измени», технология прорисовки только действительно изменённых частей изображения вместо всего экрана) позволяющая одновременно отображать на экран до 4096 цветов при использовании только 16 регистров палитры.

Чипсет AGA позволяет использовать до 8 бит-планов и имеет 256 регистров палитры. Таким образом, «в лоб» он позволяет отображать 28=256 цветов, а в модифицированном режиме HAM8 — до 262144 цветов из палитры в 16,8 млн цветов (24-битная графика).

Все эти возможности наиболее полно поддерживаются форматом ILBM, так как базируясь на Interchange File Format он использует понятие «чанка». Чанк в ILBM состоит 4-байтного заголовка указывающего на тип данных, 4 байтов хранящих длину блока данных и структуры зависящих от типа данных. Это даёт возможность расширения формата хранения данных и пропуска нераспознанных данных, так как длина их блоков заранее известна.

Формат ILBM описывает следующие типы чанков:

  • BMHD (BitMapHeaDer) — заголовок, описывающий бит-план;
  • CMAP (ColorMAP) — стандартный чанк, хранящий данные регистров палитры;
  • GRAB (GRAB) — сохранённый указатель на данные в режиме HAM;
  • CAMG (Commodore AMiGa computer) — зарезервирован;
  • BODY — данные всех бит-планов и их масок, с чередованием.

Разумеется, файлы формата ILBM могут содержать в чанках любые данные формата IFF: информацию об авторе, версии, копирайте и т. д. Например, файлы созданные в растровом графическом редакторе DPaint, содержат чанк:

  • DPAN (DPAiNt) — сохранённые настройки DPaint.

Существует расширение формата ILBM носящее название ANIM и предназначенное для сохранения анимированных изображений. В этом формате были добавлены следующие дополнительные чанки:

  • ANHD (ANimation HeaDer) — заголовок хранящий данные об анимации;
  • DLTA — разница (дельта) в размере структур компрессированных кадров анимации.

Ссылки