Portable Bitmap format (.pbm)

Standard Standard

Portable 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:

Izaberite ili prevucite datoteke ovde

Privatno - datoteke nikada ne napuštaju vaš uređaj

ili nalepite Ctrl+V
Garancija privatnosti: bez prenosa podataka preko mreže 0 bajtova poslato spoljnim serverima. Sva obrada je izvršena lokalno u bezbednom okruženju vašeg pregledača.

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 34

ASCII REPREZENTACIJA: P1 / P4

Standardizacija: Standard biblioteke Netpbm

Tehničke specifikacije

Arhitektura kontejneraASCII (P1) ili binarni (P4) Netpbm format koji navodi širinu, visinu i niz 1-bitnih piksela
KompresijaNekomprimovani 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 bojaMonohromatski (1-bitni crno-beli prikaz)
Kanali i strukturaJedan kanal, 1-bitni monohromatski (0 = belo, 1 = crno)
Maksimalne dimenzijePraktično neograničene (dimenzije zapisane kao ASCII brojevi)
TransparentnostNema
Strimovanje i progresivno učitavanjeSekvencijalni prikaz u strimu, red po red

Tehnička matrica poređenja: PBM u odnosu na konkurente

Tehnički atributPBM (Trenutno)PGMPPMBMP
Dubina boja1-bitni monohromatski (samo crno-belo)Od 8-bitnih do 16-bitnih nijansi sive24-bitna do 48-bitna RGB boja1-bitna do 32-bitna RGBA
Netpbm srodnikPBM (Portable Bitmap)PGM (Portable Graymap)PPM (Portable Pixmap)Format koji nije iz Netpbm paketa
Magični bajtoviP1 (ASCII) / P4 (Binarno)P2 (ASCII) / P5 (binarno)P3 (ASCII) / P6 (binarno)BM (0x42 0x4D)
Primarna upotrebaOCR i obrada faks dokumenataMedicinsko snimanje i sivi tonoviObrazovanje iz računarske grafikeWindows 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

1993Netpbm je objedinio PBM, PGM i PPM u prenosivi skup alata za slike koji se koristi na Unixu i drugim sistemima.
1991Uveden PBM binarni režim (magični bajt „P4") radi poboljšanja efikasnosti skladištenja.
1988Džef Poskanzer izmišlja PBM (magični bajt „P1") za prenos bitmapi preko imejl mreža.

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.