Przenośna mapa pikseli (.ppm)

Netpbm Standard

Format Portable Pixmap (PPM) je polnobarvni RGB standard grafične družine Netpbm, ki omogoča najpreprostejšo možno stisnjeno predstavitev digitalnih slik v polni barvni globini (Truecolor).

Pregled in metapodatki

Operacijski sistemi in analizatorji datotek identificirajo datoteke PPM s pregledom vodilnega binarnega zaporedja bajtov:

Izberite ali povlecite datoteke sem

100-odstotno zasebna pretvorba v brskalniku - datoteke nikoli ne zapustijo vaše naprave

ali prilepi Ctrl+V
Jamstvo o zasebnosti brez prenosa podatkov v omrežje: 0 bajtov naloženih na zunanje strežnike. Vsa obdelava je potekala lokalno v varnem območju vašega brskalnika.

Podpis glave na ravni bajtov (Čarobni bajti)

Operacijski sistemi in analizatorji datotek identificirajo datoteke PPM s pregledom vodilnega binarnega zaporedja bajtov:

PODPIS HEX (ZAMIK 0):

50 33 / 50 36

REPREZENTACIJA ASCII: P3 / P6

Standardizacija: Netpbm Library Standard

Tehnične specifikacije

Arhitektura vsebnikaASCII (P3) or binary (P6) Netpbm format with width, height, maximum color value, and RGB triplet stream
StiskanjeUncompressed raw binary bytes or human-readable ASCII text triplets
Vrstni red bajtovBig-Endian (for 48-bit 16-bit/channel samples in P6 mode)
Barvni prostoriLinear RGB or standard sRGB
Kanali in struktura3 channels RGB (24-bit or 48-bit Truecolor)
Največje dimenzijePractically unlimited (supports arbitrary 64-bit coordinate space)
ProsojnostNone (standard PPM is strictly opaque RGB)
Pretočno in progresivno predvajanjeSequential row-by-row streaming playback

Tehnična primerjalna matrika: PPM proti konkurenci

Tehnični atributPPM (Trenutno)BMPPNGTIFF
Barvna globina24-bitni / 48-bitni RGB Truecolor1-bitni do 32-bitni RGBA24-bitni / 48-bitni RGBA8-bitni do 64-bitni RGBA
Sorodnik v NetpbmPPM (Portable Pixmap)Format, ki ni del NetpbmFormat W3C, ki ni del NetpbmFormat Adobe, ki ni del Netpbm
Čarobni bajti (Magic Bytes)P3 (ASCII) / P6 (Binarno)BM (0x42 0x4D)‰PNG....II*\0 ali MM\0*
StiskanjeNestisnjenoNestisnjeno / RLEBrez izgube Deflate (~70 % manjše)LZW / Deflate / Zip

Pogosti načini okvar in vodič za heksadecimalno obnovo

Slika se izriše z diagonalnim zamikom barvnih kanalov.

Glavni vzrok: Okrnjen bajt v toku trojčkov RGB povzroči napačno poravnavo naknadnih rdečih, zelenih in modrih bajtov.

Sanacija: Ponovno poravnajte zamike trojčkov RGB ali pretvorite z uporabo pretvornika File2File Netpbm Converter.

Varnostna analiza in napadalni vektorji razčlenjevalnika

Dekodirniki PPM se morajo zaščititi pred prekoračitvijo celoštevilskih vrednosti (integer overflow) pri izračunavanju velikosti medpomnilnika za 3-bajtne trojčke RGB.

Znani vektorji napada

  • Prekoračitev celoštevilskih vrednosti med dodeljevanjem medpomnilnika širina * višina * 3.
  • Preseganje meja medpomnilnika pri branju nepravilno oblikovanih žetonov ASCII v načinu P3.
  • Zavrnitev storitve (DoS) z deklaracijami prekomerne dodelitve pomnilnika.

Obrambne najboljše prakse:

Zgodovinski izvor in mejniki

2000Specifikaciji Netpbm P6 je dodana 48-bitna barvna globina (16 bitov na kanal).
1993Postane splošni pogovorni jezik (lingua franca) za pretvorbene cevovode Unixove grafike v orodjarni Netpbm.
1989Jef Poskanzer dokonča trojico Netpbm (PBM, PGM, PPM) s polnobarvnim formatom PPM.

Ključne prednosti

  • Absolutna arhitekturna preprostost: za branje, pisanje ali obdelavo ne potrebuje nobenih knjižnic za stiskanje.
  • Način ASCII (P3) programerjem omogoča neposreden ogled, kopiranje in urejanje surovih RGB barvnih vrednosti v urejevalniku besedila.
  • Standardni vmesni format, ki se uporablja pri univerzitetnih predmetih računalniške grafike in projektih sledilnikov žarkov (raytracer).

Tehnične omejitve in slabosti

  • Ogromne velikosti datotek zaradi odsotnosti stiskanja (fotografija ločljivosti 4K meri približno 25 megabajtov).
  • Neučinkovitost za distribucijo preko spleta ali omrežni prenos.
  • Brez podpore za prosojnost alfa ali vgrajene barvne profile.

Zanimive tehnične malenkosti

  • Skoraj vsak študent računalništva, ki napiše programski sledilnik žarkov (raytracer), svoje prve upodobitve izpiše v formatu PPM.
  • V zapisu ASCII PPM ('P3') je slika dobesedno besedilna datoteka števil: '255 0 0' za rdečo, '0 255 0' za zeleno, '0 0 255' za modro.
  • Zbirka Netpbm je bila prvotno razširjena na trakovih sistema 4.3BSD Unix v poznih 80. letih prejšnjega stoletja.

Pogosta tehnična vprašanja

Zakaj tečaji računalništva uporabljajo format PPM?

Ker PPM ne zahteva nobenih zunanjih knjižnic ali zapletenih algoritmov stiskanja, kar študentom omogoča učenje načel računalniške grafike s čisto surovo matematiko slikovnih pik.

Kakšna je razlika med formatoma PPM P3 in P6?

P3 shranjuje trojke RGB kot števila v navadnem besedilu ASCII, medtem ko P6 shranjuje trojke RGB kot surove binarne bajte.

Kako lahko datoteko PPM pretvorim v JPG ali PNG?

Datoteke PPM lahko pretvorite v PNG ali JPG neposredno v brskalniku z uporabo aplikacije File2File.app, pri čemer nobena informacija ne zapusti vaše naprave.