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