Portable Bitmap (.pbm)
Netpbm СтандартPortable Bitmap Format (PBM) - это базовый 1-битный черно-белый графический формат из пакета Netpbm, созданный для максимальной простоты, удобочитаемости человеком и программной генерации.
Анализ и метаданные
Операционные системы и анализаторы файлов идентифицируют файлы PBM по начальной двоичной последовательности байтов:
Сигнатура заголовка на уровне байтов (Magic Bytes)
Операционные системы и анализаторы файлов идентифицируют файлы PBM по начальной двоичной последовательности байтов:
HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):
50 31 / 50 34ПРЕДСТАВЛЕНИЕ ASCII: P1 / P4
Стандартизация: Netpbm Library Standard
Технические спецификации
| Архитектура контейнера | Формат Netpbm в текстовом (ASCII, P1) или двоичном (P4) виде с указанием ширины, высоты и 1-битного массива пикселей |
| Сжатие | Несжатое представление в виде исходных двоичных или ASCII-символов |
| Порядок байтов (Endianness) | Упаковка бит с прямым порядком байтов от старшего к младшему (Big-Endian в двоичном режиме P4) |
| Цветовые пространства | Монохромный (1-битный черно-белый) |
| Каналы и структура | 1 канал, 1-битный монохромный (0 = белый, 1 = черный) |
| Макс. габариты | Практически не ограничено (строка числовых размеров ASCII) |
| Прозрачность | Отсутствует |
| Потоковая передача и прогрессивная загрузка | Потоковое воспроизведение построчно |
Техническая матрица сравнения: PBM против конкурентов
| Технический атрибут | PBM (Текущий) | PGM | PPM | BMP |
|---|---|---|---|---|
| Глубина цвета | 1-битный монохромный (только Ч/Б) | От 8-битных до 16-битных оттенков серого | От 24-битного до 48-битного цвета RGB | От 1-битного до 32-битного RGBA |
| Родственный формат Netpbm | PBM (Портативный растровый формат) | PGM (Портативный формат полутоновых изображений) | PPM (Портативный формат пиксельных изображений) | Формат вне семейств Netpbm |
| Сигнатурные байты | P1 (ASCII) / P4 (Двоичный) | P2 (ASCII) / P5 (Двоичный) | P3 (ASCII) / P6 (Двоичный) | BM (0x42 0x4D) |
| Основное назначение | Обработка OCR и факсимильных документов | Медицинская визуализация и оттенки серого | Обучение компьютерной графике | Настольная графика Windows |
Типичные режимы повреждения и руководство по восстановлению в HEX
Изображение отображается со смещенными горизонтальными строками или пропущенными пикселями.
Первопричина: Неэкранированные комментарии ('#') или отсутствующие разделители пробелов в заголовке ASCII.
Восстановление: Проверьте форматирование заголовка и разрывов строк с помощью конвертера Netpbm от File2File.
Анализ безопасности и векторы атак на парсер
Анализаторы PBM, считывающие строки размеров в формате ASCII, уязвимы к переполнению целых чисел, если размеры превышают ограничения платформы.
Известные векторы атак
- Переполнение целых чисел при выделении памяти под битовый буфер ширины на высоту.
- Чтение за пределами буфера при чтении поврежденных потоков пробелов ASCII.
- Отказ в обслуживании из-за чрезмерно больших объявлений размеров в крошечных файлах.
Защитные лучшие практики: Ограничьте максимально допустимые размеры PBM и проверяйте границы битового буфера перед декодированием.
Исторические истоки и вехи
Ключевые преимущества и плюсы
- Предельная алгоритмическая простота: файл можно прочитать или записать всего за 10 строк кода на любом языке программирования.
- Режим ASCII (P1) полностью понятен человеку, его можно создавать или редактировать в стандартных текстовых редакторах, таких как Блокнот.
- Универсальный эталон обмена данными в академических конвейерах компьютерного зрения и распознавания текста (OCR).
Технические ограничения и минусы
- Строго ограничен 1-битным монохромным режимом (никаких оттенков серого или цвета).
- Режим ASCII крайне неэффективен: на каждый отдельный бит данных изображения тратится один байт текста ASCII ('0' или '1').
- Отсутствуют метаданные, цветовые профили и поддержка слоев.
Интересные технические факты
- В формате ASCII PBM ('P1') белый пиксель обозначается как '0', а черный - как '1' (что противоречит современным соглашениям RGB).
- Вы буквально можете создать корректный файл PBM, введя 'P1 2 2 1 0 0 1' в текстовый файл и сохранив его.
- Формат был изобретен для того, чтобы ученые-компьютерщики могли обмениваться отсканированными документами через группы новостей Usenet.
Часто задаваемые технические вопросы
В чем разница между PBM, PGM и PPM?
PBM - это 1-битный монохромный формат (только черный и белый цвета), PGM - это оттенки серого, а PPM - полноцветный 24-битный RGB.
Что означают P1 и P4 в файлах PBM?
'P1' указывает на то, что изображение сохранено в виде простого текста ASCII, а 'P4' означает, что изображение сохранено в виде компактных двоичных байтов.
Как преобразовать файл PBM в PNG?
Вы можете конвертировать файлы PBM в современные изображения PNG или JPG прямо в своем браузере с помощью File2File.app, не выгружая данные ни на какой сервер.