Portable Bitmap format (.pbm)
Standard StandardPortable Bitmap Format (PBM) je osnovni 1-bitni crno-beli grafički format Netpbm paketa, dizajniran za maksimalnu jednostavnost, čitljivost od strane ljudi i programsko generisanje.
Pregled i metapodaci
Operativni sistemi i analizatori datoteka identifikuju PBM datoteke proverom početnog binarnog niza bajtova:
Potpis zaglavlja na nivou bajtova (magični bajtovi)
Operativni sistemi i analizatori datoteka identifikuju PBM datoteke proverom početnog binarnog niza bajtova:
HEKSADECIMALNI POTPIS (OFFSET 0):
50 31 / 50 34ASCII REPREZENTACIJA: P1 / P4
Standardizacija: Standard biblioteke Netpbm
Tehničke specifikacije
| Arhitektura kontejnera | ASCII (P1) ili binarni (P4) Netpbm format koji navodi širinu, visinu i niz 1-bitnih piksela |
| Kompresija | Nekomprimovani sirovi binarni podaci ili ASCII tekstualni prikaz |
| Bajtni redosled (Endianness) | Pakovanje bitova po redosledu od najznačajnijeg ka najmanje značajnom bitu (u binarnom režimu P4) |
| Prostori boja | Monohromatski (1-bitni crno-beli prikaz) |
| Kanali i struktura | Jedan kanal, 1-bitni monohromatski (0 = belo, 1 = crno) |
| Maksimalne dimenzije | Praktično neograničene (dimenzije zapisane kao ASCII brojevi) |
| Transparentnost | Nema |
| Strimovanje i progresivno učitavanje | Sekvencijalni prikaz u strimu, red po red |
Tehnička matrica poređenja: PBM u odnosu na konkurente
| Tehnički atribut | PBM (Trenutno) | PGM | PPM | BMP |
|---|---|---|---|---|
| Dubina boja | 1-bitni monohromatski (samo crno-belo) | Od 8-bitnih do 16-bitnih nijansi sive | 24-bitna do 48-bitna RGB boja | 1-bitna do 32-bitna RGBA |
| Netpbm srodnik | PBM (Portable Bitmap) | PGM (Portable Graymap) | PPM (Portable Pixmap) | Format koji nije iz Netpbm paketa |
| Magični bajtovi | P1 (ASCII) / P4 (Binarno) | P2 (ASCII) / P5 (binarno) | P3 (ASCII) / P6 (binarno) | BM (0x42 0x4D) |
| Primarna upotreba | OCR i obrada faks dokumenata | Medicinsko snimanje i sivi tonovi | Obrazovanje iz računarske grafike | Windows desktop grafika |
Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak
Slika se prikazuje sa nagnutim horizontalnim redovima ili nedostajućim pikselima.
Osnovni uzrok: Neeskejpovani komentari („#“) ili nedostajući separatori razmaka u ASCII zaglavlju.
Oporavak: Proverite formatiranje zaglavlja i prelome redova pomoću Netpbm konvertera aplikacije File2File.app.
Bezbednosna analiza i vektori napada parsera
PBM parseri koji čitaju nizove dimenzija u ASCII formatu podložni su prelivanju celobrojnih vrednosti ako dimenzije premašuju ograničenja platforme.
Poznati vektori napada
- Prelivanje celobrojne vrednosti tokom alokacije bitnog bafera za širinu * visinu.
- Prekoračenje čitanja bafera pri čitanju nepravilnih ASCII tokova sa razmacima.
- Uskraćivanje usluge (DoS) putem prekomerno velikih deklaracija dimenzija u malim datotekama.
Najbolje prakse za zaštitu: Ograničite maksimalno dozvoljene PBM dimenzije i validirajte granice bitnog bafera pre dekodiranja.
Istorijat i prekretnice
Ključne prednosti
- Zahvaljujući sažetoj strukturi, osnovni PBM čitači i upisivači mogu jednostavno da se implementiraju, mada dužina koda zavisi od jezika i zahteva.
- ASCII režim (P1) je 100% čitljiv za ljude i može se kreirati ili uređivati u standardnim uređivačima teksta poput Beležnice (Notepad).
- PBM se može koristiti u nekim tokovima obrade slika, računarskog vida i OCR-a, naročito kada je potreban jednostavan monohromatski bitmap prikaz.
Tehnička ograničenja i nedostaci
- Strogo ograničeno na 1-bitni monohromatski prikaz (nema nijansi sive niti boje).
- ASCII režim je izuzetno neefikasan, jer koristi jedan bajt ASCII teksta („0" ili „1") po svakom pojedinačnom bitu podatka slike.
- Nedostaju mu metapodaci, profili boja ili podrška za slojeve.
Zanimljivosti
- U ASCII PBM formatu („P1"), beli piksel je predstavljen sa „0", a crni piksel sa „1" (što je suprotno od intuitivnih modernih RGB konvencija).
- Možete doslovno kreirati validnu PBM sliku tako što ćete uneti „P1 2 2 1 0 0 1" u tekstualnu datoteku i sačuvati je.
- Format je osmišljen da bi računarski naučnici mogli da razmenjuju skenirane dokumente preko diskusionih grupa Useneta.
Često postavljana tehnička pitanja
Koja je razlika između PBM, PGM i PPM?
PBM je 1-bitni monohromatski format (samo crno-belo), PGM je u nijansama sive (grayscale), a PPM je u punoj 24-bitnoj RGB boji.
Šta znače P1 i P4 u PBM datotekama?
'P1' označava da je slika sačuvana u običnom ASCII tekstualnom obliku, dok 'P4' označava da je slika sačuvana kao kompaktni binarni bajtovi.
Kako mogu da konvertujem PBM datoteku u PNG?
Možete da konvertujete PBM datoteke u moderne PNG ili JPG slike direktno u pretraživaču koristeći File2File.app bez otpremanja podataka na bilo koji server.