Portable Bitmap (.pbm)

Стандарт Стандарт

Portable Bitmap Format (PBM): це базовий 1-бітний чорно-білий графічний формат із набору Netpbm, створений для максимальної простоти, читабельності людиною та програмної генерації.

Аналіз та метадані

Операційні системи та аналізатори файлів ідентифікують файли PBM, перевіряючи початкову послідовність бінарних байтів:

Виберіть або перетягніть файли сюди

Приватно - файли ніколи не залишають ваш пристрій

або вставте Ctrl+V
Гарантія конфіденційності без передавання даних мережею: Жодного байта не передано на зовнішні сервери. Уся обробка відбувалася локально в ізольованому середовищі браузера.

Сигнатура заголовка на байтовому рівні (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 (Поточний)PGMPPMBMP
Глибина кольору1-бітний монохром (тільки Ч/Б)Від 8 до 16 біт у відтінках сірогоВід 24 до 48 біт кольору RGBВід 1 до 32 біт RGBA
Споріднений формат NetpbmPBM (Портативна бітова мапа)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 та перевіряйте межі бітового буфера перед декодуванням.

Історичне походження та віхи

1993Netpbm об’єднав PBM, PGM і PPM у переносний набір графічних інструментів для Unix та інших систем.
1991Впроваджено двійковий режим PBM (магічний байт 'P4') для підвищення ефективності зберігання.
1988Джеф Посканзер винайшов PBM (магічний байт 'P1') для передачі бітмапів мережами електронної пошти.

Основні переваги

  • Компактна структура може спростити реалізацію базових засобів читання й запису 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 без завантаження даних на будь-який сервер.