128.191.240 -filer
4,6 Trustpilot
siden 2013

Alt om PBM filer

0.0/5(0 stemmer)

PBM er nok verdens enkleste billedformat. Det består udelukkende af 0'er og 1'er, og hvert tal svarer til en pixel. Linjen og kolonnen i teksten bestemmer placeringen i billedet. Man kan således endda oprette billeder med en teksteditor. Næsten ligesom når man farvelægger rutepapir med en blyant. PBM understøtter hverken komprimering, alfakanaler eller farver. Ikke engang gråtoner. Det kan kun tegne en pixel (1) eller lade være (0).

TLDR:

PBM-filer er en del af en større formatfamilie. Formatet og dets søskende bruges stadig i dag, men de er ikke særlig velegnede til deling og permanent arkivering. De er store og understøttes kun af få programmer, men de er meget fleksible og ydeevne. Hvis du finder en PBM-fil, har du sandsynligvis et mellemprodukt eller et billede, der er oprettet til undervisningsformål. PBM-formatet er nemlig meget velegnet til illustration, da det praktisk talt er selvforklarende.

Historien om PBM-filer

PBM blev opfundet i 1980'erne af Jef Poskanzer, en programmør fra Berkeley, der ønskede at løse et simpelt problem: at sende billeder via e-mail. I 1980'erne var e-mailen dog endnu ikke så udviklet som i dag. Kun ASCII-tegn kunne sendes pålideligt, mens binære filer som billeder ofte gik i stykker undervejs. Poskanzer udviklede derfor PBM, et billedformat, der løste netop dette problem.

Den tekniske opbygning

Et PBM-billede består i sin plain-variant (P1) af nøjagtigt tre dele: magic-nummeret, dimensionerne og selve pixeldataene. Der kan eventuelt bruges kommentarer, f.eks. til indholdet.

Komponent Eksempel Betydning
Magic Number P1 Plain PBM (ASCII-variant)
Kommentar # mein bild Valgfrit, indledt med # indledt
Bredde Højde 24 7 Dimensioner i pixels
Rasterdata 0 1 1 0 ... 1 = sort, 0 = hvid

Følgende eksempel viser et komplet billede fra dokumentationen:

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'erne er kun vist lidt mørkere for bedre visualisering)

Mellem nullerne og ettallerne kan man tydeligt se teksten FEEP. PBM svarer altså til binær ASCII-kodning ;).

Plain vs. Raw: P1 og P4

Poskanzer indførte senere en binær variant og gjorde den til standardudgangen for Netpbm-værktøjerne. Plain-varianten (P1) kom historisk set først, men blev afløst på grund af sit meget større pladsbehov ("lavishly wasteful" – "ekstremt spildt").

Egenskab Plain PBM (P1) Raw PBM (P4)
Pixeldata ASCII-tegn 0 og 1 bits, pakket 8 pr. byte
Læseligt for mennesker Ja, fuldstændigt Kun overskriften
Plads pr. pixel ~2 byte (tegn + mellemrum) 1/8 byte (1 bit)
Maks. linjelængde 70 tegn anbefales Ingen begrænsning
Billeder pr. fil Præcis 1 Flere mulige (siden juli 2000)

I dag bruges hele PBM-familien, især PPM, ofte som mellemformat. I det enkleste og korteste af alle anvendelsestilfælde findes det kun i en pipe mellem to programmer, altså kun i selve kørselstiden. Dermed kommer vi også til formatets styrker:

Styrker ved PBM-filer

  • Ingen afhængigheder: Ingen dekoder, ingen bibliotek. Et par linjer C, Python eller Shell er nok til at læse og skrive.
  • Unix-filosofi: PBM-værktøjer er filtre. Man forbinder dem med hinanden via pipes: cat bild.pbm | pbmtopgm | ppmtojpeg > out.JPG. Over 330 programmer i Netpbm-pakken fungerer på denne måde.
  • Pædagogik: Hvis man vil forstå billedbehandling (ikke billedredigering), starter man ideelt set med PBM.
  • Robust: Ingen ødelagt header, ingen korrupt chunk. Der er så lidt indhold, at der næsten ikke kan gå noget galt. Og hvis der alligevel går en bit tabt, forbliver billedet læsbart.

PBM-familien

PBM står ikke alene. I slutningen af 1988 udvidede Poskanzer familien med PGM (Portable Gray Map, gråtoner, Magic Number P2/P5) og PPM (Portable Pixel Map, RGB-farve, P3/P6). Sammen udgør de PNM: Portable Any Map. Senere kom PAM (P7) som en universel udvidelse.

PBM er fundamentet og også den "mest radikale" repræsentant for familien og giver kun to muligheder: lys tændt eller lys slukket – pixel til stede eller ikke. Ingen farve, ingen gennemsigtighed, ingen gråtoner. Kun et sort-hvidt billede, der kan læses direkte i kildekoden.

Pbmplus og Netpbm

Poskanzer vedligeholdt Pbmplus indtil den sidste udgivelse i slutningen af 1991. Derefter blev projektet ikke længere vedligeholdt. I 1993 opstod Netpbm som en community-fork, i grunden en ny udgave af Pbmplus med fejlrettelser og udvidelser fra udviklere over hele verden. Siden 1999 har Netpbm været vedligeholdt af Bryan Henderson og er i dag inkluderet i stort set alle Linux-distributioner.

PBM som sådan er forældet. Mail-servere kan uden problemer håndtere JPG'er, PNG'er og også videoer. Den "farverige" variant ppm bruges dog dagligt i pipes på Linux-systemer. For PBM forbliver den pædagogiske del: det kan forklares vidunderligt, forstås vidunderligt og – så enkelt er PBM – forklares på rutepapir.

Kilder

Netpbm PBM-formatspecifikation
Netpbm-historie – meget læseværdig artikel om pbm's historie
Wiki: Jef Poskanzer

0.0/5(0 stemmer)

Sidst opdateret den 6. april 2026 af Sören med erfaring fra mere end 128.191.209 konverterede filer siden 2013.

Konverter, åbn og rediger PBM filer

Detaljer om PBM filer

Software til åbning af PBM filer
Software til redigering af PBM filer
MIME-type i PBM

Ingen kommentarer

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *


Slip filer her...