Битовая карта
Битовая карта (также битмап, от англ. bitmap) — это способ организации данных в памяти компьютера или на запоминающем устройстве, при котором каждому элементу множества (пикселю, атрибуту, состоянию) ставится в соответствие один или несколько битов, непосредственно описывающих его состояние. В отличие от векторных форматов, где изображение описывается математическими кривыми, битовая карта представляет собой прямоугольную сетку (растр) элементов, каждый из которых имеет фиксированное положение и значение.
Основные понятия и терминология
В контексте компьютерной графики битовая карта является синонимом растрового изображения. Однако термин «битовая карта» шире и применяется в различных областях информатики, где требуется компактное представление множества двоичных состояний.
Пиксель
Пиксель (от англ. pixel, picture element) — минимальный неделимый элемент растрового изображения. Каждый пиксель характеризуется координатами (x, y) и цветом, который кодируется определённым количеством битов. В чёрно-белых изображениях (1-битная глубина) пиксель может быть только чёрным или белым. В цветных изображениях глубина цвета может составлять 8, 16, 24 или 32 бита на пиксель.
Глубина цвета
Глубина цвета (битность) определяет количество битов, отводимых на кодирование цвета одного пикселя. Чем больше битов, тем больше возможных оттенков может быть отображено:
- 1 бит — 2 цвета (монохромное изображение);
- 8 бит — 256 цветов (палитровые изображения, например, GIF);
- 16 бит — 65 536 цветов (High Color);
- 24 бита — 16 777 216 цветов (True Color, полноцветное изображение);
- 32 бита — 24 бита цвета + 8 бит альфа-канала (прозрачность).
Разрешение
Разрешение битовой карты — это количество пикселей по ширине и высоте, например, 1920×1080. Чем выше разрешение, тем больше деталей может быть сохранено, но тем больше объём памяти требуется для хранения изображения. Разрешение также может выражаться в точках на дюйм (dpi) для печатных устройств.
История
Принцип представления изображения в виде матрицы точек известен с древности — мозаики, вышивка крестом, ткачество. Однако в цифровом виде битовая карта впервые была реализована в середине XX века с развитием электронно-вычислительных машин.
Первые растровые дисплеи
В 1950-х годах для вывода графики на электронно-лучевые трубки (ЭЛТ) использовались векторные методы (рисование линий по координатам). Первые растровые дисплеи появились в 1960-х годах. Одним из ранних примеров является система TX-2 в Массачусетском технологическом институте (MIT), где использовалась битовая карта для отображения текста и простых фигур.
Эпоха персональных компьютеров
С появлением персональных компьютеров в 1970-1980-х годах битовые карты стали стандартом для отображения графики. Первый коммерчески успешный компьютер с растровым графическим интерфейсом — Apple Macintosh (1984) — использовал монохромную битовую карту с разрешением 512×342 пикселя. В СССР растровые дисплеи применялись в бытовых компьютерах серии «Электроника» и «БК-0010», где видеопамять представляла собой битовую карту, отображаемую на телевизоре.
Развитие форматов
В 1980-е годы были разработаны основные форматы хранения битовых карт: BMP (Windows Bitmap), PCX, GIF. В 1990-е годы появились форматы сжатия без потерь (PNG) и с потерями (JPEG), что позволило уменьшить объём файлов при сохранении приемлемого качества.
Способы хранения и сжатия
Битовая карта в «сыром» виде (несжатая) занимает объём, равный произведению ширины, высоты и глубины цвета. Например, изображение 1920×1080 с глубиной 24 бита занимает 1920 × 1080 × 3 байта = 6 220 800 байт (около 6 МБ).
Сжатие без потерь
Используется для точного восстановления исходных данных. Алгоритмы (RLE, LZW, Deflate) ищут повторяющиеся последовательности пикселей и кодируют их более компактно. Примеры форматов: PNG, GIF, BMP (с опцией сжатия RLE).
Сжатие с потерями
Применяется для фотографических изображений, где незначительная потеря деталей незаметна для глаза. Алгоритмы (JPEG, WebP) отбрасывают информацию, менее заметную человеческому зрению (высокочастотные детали). Степень сжатия регулируется параметром качества (от 0 до 100).
Палитровые изображения
Для экономии памяти используется цветовая палитра — таблица из 256 (или менее) цветов. Каждый пиксель хранит не сам цвет, а индекс в палитре. Такой подход применяется в форматах GIF и PNG-8.
Применение
Компьютерная графика и дизайн
Битовые карты являются основой для цифровых фотографий, сканированных изображений, скриншотов. Графические редакторы (Adobe Photoshop, GIMP, Krita) работают с растровыми слоями, позволяя редактировать каждый пиксель.
Печать
Для печати на принтерах и в типографиях используются битовые карты с высоким разрешением (300 dpi и выше). Процесс растрирования преобразует непрерывные тона в точки разного размера (амплитудно-модулированное или частотно-модулированное растрирование).
Видео и анимация
Кадр видеофайла представляет собой битовую карту. Современные кодеки (H.264, H.265) сжимают последовательность битовых карт, используя межкадровое предсказание.
Медицина и наука
Рентгеновские снимки, снимки МРТ и КТ хранятся в виде битовых карт (часто в формате DICOM). В астрономии битовые карты используются для представления спектральных данных и карт звёздного неба.
Компьютерные игры
Спрайты, текстуры, фоны в играх — это битовые карты. В современных играх используется текстурирование — наложение битовой карты на трёхмерные модели.
Преимущества и недостатки
Преимущества
- Простота реализации: каждый пиксель хранится независимо, что упрощает чтение и запись.
- Высокая детализация: можно передать мельчайшие нюансы цвета и формы.
- Широкая совместимость: практически все устройства и программы поддерживают растровые форматы.
Недостатки
- Большой объём данных: при высоком разрешении и глубине цвета файлы занимают много места.
- Зависимость от разрешения: при увеличении (масштабировании) битовой карты происходит потеря качества (пикселизация).
- Сложность редактирования отдельных элементов: изменение формы или цвета объекта требует ручной обработки каждого пикселя.
Сравнение с векторной графикой
Векторная графика описывает изображение математическими формулами (линии, кривые, фигуры). В отличие от битовой карты, векторные изображения не теряют качества при масштабировании и занимают меньше места для простых форм. Однако для фотореалистичных изображений (фотографий, сложных текстур) векторные форматы неприменимы — они требуют битового представления.
Интересные факты
- Термин «bitmap» впервые был использован в 1960-х годах в компании Digital Equipment Corporation (DEC) для описания видеопамяти.
- В операционной системе Windows формат BMP (Bitmap) является одним из самых старых и простых — он поддерживается с версии 1.0 (1985 год).
- Самая большая битовая карта в мире (по состоянию на 2023 год) — панорама Млечного Пути, созданная из 37 000 отдельных снимков, общим размером более 3 миллиардов пикселей (3 гигапикселя).
- В ранних компьютерных играх (например, Pac-Man, 1980) спрайты были битовыми картами малого размера (8×8 или 16×16 пикселей), что позволяло экономить память.
Источники
- Фоли Дж., ван Дам А. «Основы интерактивной машинной графики». — М.: Мир, 1985.
- Гонсалес Р., Вудс Р. «Цифровая обработка изображений». — М.: Техносфера, 2012.
- Документация Microsoft по формату BMP (MSDN).
- Стандарт ISO/IEC 15948:2004 (PNG).
- История развития компьютерной графики (материалы Музея компьютерной истории, США).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →