128 191 046 filer
4,6 Trustpilot
siden 2013

Alt om PBM-filer

0.0/5(0 stemmer)

PBM er trolig verdens enkleste bildeformat. Det består kun av 0-er og 1-er, og hvert tall tilsvarer en piksel. Radene og kolonnene i teksten bestemmer posisjonen i bildet. På denne måten kan man til og med lage bilder med en tekstredigerer. Nesten akkurat som å fargelegge rutepapir med en blyant. PBM støtter ikke komprimering, ikke alfakanaler, ikke farger. Ikke engang gråtoner. Det kan bare tegne en piksel (1) eller ikke (0).

TLDR:

PBM-filer er en del av en større formatfamilie. Formatet og dets søsken brukes fortsatt i dag, men de er ikke spesielt godt egnet for deling og permanent arkivering. De er store, støttes av få programvarer, men de er svært fleksible og ytelsessterke. Den som finner en PBM-fil, har sannsynligvis et mellomprodukt eller et bilde laget for undervisningsformål. PBM-formatet egner seg nemlig svært godt til illustrasjon, det er praktisk talt selvforklarende.

Historien om PBM-filene

PBM ble oppfunnet på 1980-tallet av Jef Poskanzer, en programmerer fra Berkeley som ønsket å løse et enkelt problem: å sende bilder via e-post. På 1980-tallet var e-post ikke så utviklet som i dag. Det var bare ASCII-tegn som kunne sendes på en pålitelig måte, mens binære filer som bilder ofte ble ødelagt underveis. Poskanzer utviklet derfor PBM, et bildeformat som løste nettopp dette problemet.

Den tekniske oppbygningen

Et PBM-bilde består i sin enkle variant (P1) av nøyaktig tre deler: magisk tall, dimensjoner og selve pikseldataene. Eventuelt kan kommentarer brukes, f.eks. for innholdet.

Komponent Eksempel Betydning
Magisk tall P1 Plain PBM (ASCII-variant)
Kommentar # mein bild Valgfritt, innledet med # innledet
Bredde Høyde 24 7 Dimensjoner i piksler
Rasterdata 0 1 1 0 ... 1 = svart, 0 = hvit

Følgende eksempel viser et komplett bilde fra dokumentasjonen:

P1
# feep.pbm
24 7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0
0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0
0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

(0-ene er bare vist litt mørkere for bedre visualisering)

Mellom nullene og enene kan man tydelig se teksten FEEP. PBM tilsvarer altså binær ASCII-kode ;).

Plain vs. Raw: P1 og P4

Poskanzer introduserte senere en binær variant og gjorde den til standardutdata for Netpbm-verktøyene. Plain-varianten (P1) kom historisk sett først, men ble erstattet på grunn av sitt mye større plassbehov («lavishly wasteful» – «ekstremt sløsende»).

Egenskap Plain PBM (P1) Raw PBM (P4)
Pikseldata ASCII-tegn 0 og 1 Bits, pakket med 8 per byte
Lesbar for mennesker Ja, fullstendig Bare overskriften
Lagringsplass per piksel ~2 byte (tegn + mellomrom) 1/8 byte (1 bit)
Maks. linjelengde 70 tegn anbefales Ingen begrensning
Bilder per fil Nøyaktig 1 Flere mulig (siden juli 2000)

I dag brukes hele PBM-familien, spesielt PPM, ofte som mellomformat. I det enkleste og korteste av alle bruksområder eksisterer det bare i en pipe mellom to programmer, altså bare i selve kjøretiden. Dermed kommer vi også til formatets styrker:

Styrker ved PBM-filer

  • Ingen avhengigheter: Ingen dekoder, ingen bibliotek. Noen få linjer med C, Python eller Shell er nok til å lese og skrive.
  • Unix-filosofi: PBM-verktøy er filtre. Man kobler dem sammen med pipe: cat bild.pbm | pbmtopgm | ppmtojpeg > out.JPG. Over 330 programmer i Netpbm-pakken fungerer på denne måten.
  • Pedagogikk: Den som vil forstå bildebehandling (ikke bildredigering), bør ideelt sett begynne med PBM.
  • Robust: Ingen ødelagt header, ingen korrupt chunk. Det er så lite som kan stå der inne at nesten ingenting kan gå galt. Og hvis en bit likevel går tapt, forblir bildet lesbart.

PBM-familien

PBM står ikke alene. I slutten av 1988 utvidet Poskanzer familien med PGM (Portable Gray Map, gråtoner, Magic Number P2/P5) og PPM (Portable Pixel Map, RGB-farge, P3/P6). Sammen danner de PNM: Portable Any Map. Senere kom PAM (P7) som en universell utvidelse.

PBM er grunnlaget og også den «radikaleste» representanten i familien, og gir bare to muligheter: lys på eller lys av – piksel der eller ikke. Ingen farge, ingen gjennomsiktighet, ingen gråtoner. Bare et svart-hvitt-bilde som kan leses direkte i kildekoden.

Pbmplus og Netpbm

Poskanzer vedlikeholdt Pbmplus frem til den siste utgivelsen i slutten av 1991. Etter det ble prosjektet ikke lenger vedlikeholdt. I 1993 oppstod Netpbm som en community-fork, i grunnen en ny innpakning av Pbmplus med feilrettinger og utvidelser fra utviklere over hele verden. Siden 1999 har Netpbm blitt vedlikeholdt av Bryan Henderson og er i dag inkludert i praktisk talt alle Linux-distribusjoner.

PBM som sådan er utdatert. E-postservere kan uten problemer håndtere JPG-er, PNG-er og også videoer. Den «fargerike» varianten ppm brukes imidlertid daglig, i pipes, på Linux-systemer. For PBM gjenstår den pedagogiske delen: det lar seg forklare på en fantastisk måte, forstå på en fantastisk måte og – så enkelt er PBM – forklare på rutepapir.

Kilder

Netpbm PBM-formatspesifikasjon
Netpbm-historie – en svært lesverdig artikkel om historien til pbm
Wiki: Jef Poskanzer

0.0/5(0 stemmer)

Konvertere, åpne og redigere PBM filer

Detaljer om PBM filer

Programvare for åpning av PBM filer
Programvare for redigering av PBM filer
MIME-type for PBM

Alle konverteringsprogrammer fra eller til PBM

Ingen kommentarer

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *


Legg filer her...