Portable Bitmap (.pbm)
Стандарт СтандартPortable Bitmap Format (PBM): це базовий 1-бітний чорно-білий графічний формат із набору Netpbm, створений для максимальної простоти, читабельності людиною та програмної генерації.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли PBM, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли PBM, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):
50 31 / 50 34ПОДАННЯ В ASCII: P1 / P4
Стандартизація: Стандарт бібліотеки Netpbm
Технічні характеристики
| Архітектура контейнера | ASCII (P1) або двійковий (P4) формат Netpbm, що визначає ширину, висоту та 1-бітний масив пікселів |
| Стиснення | Нестиснене представлення у вигляді сирих двійкових або ASCII-символів |
| Порядок байтів (Endianness) | Пакування бітів від старшого до молодшого (у двійковому режимі 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 |
Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі
Зображення відображається зі зсунутими горизонтальними рядками або пропущеними пікселями.
Першопричина: Неекрановані коментарі ('#') або відсутність роздільників пробілів у заголовку ASCII.
Відновлення: Перевірте форматування заголовка та розриви рядків за допомогою конвертера Netpbm від File2File.app.
Аналіз безпеки та векторів атак на парсери
Засоби розбору PBM, які читають рядки з розмірами ASCII, вразливі до переповнення цілого числа, якщо розміри перевищують ліміти платформи.
Відомі вектори атак
- Переповнення цілих чисел під час виділення бітового буфера ширина * висота.
- Читання за межами буфера під час читання пошкоджених потоків даних із пробілами ASCII.
- Відмова в обслуговуванні через надмірно великі оголошення розмірів у крихітних файлах.
Рекомендації щодо захисту: Обмежуйте максимально допустимі розміри PBM та перевіряйте межі бітового буфера перед декодуванням.
Історичне походження та віхи
Основні переваги
- Компактна структура може спростити реалізацію базових засобів читання й запису PBM, хоча обсяг коду залежить від мови та вимог.
- Режим ASCII (P1) на 100% зрозумілий людині і може бути створений або відредагований у стандартних текстових редакторах на кшталт Блокнота.
- PBM можна використовувати в деяких процесах обробки зображень, комп’ютерного зору й 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 без завантаження даних на будь-який сервер.