Przenośna mapa pikseli (.ppm)
Netpbm StandardFormat 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:
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 36REPREZENTACIJA ASCII: P3 / P6
Standardizacija: Netpbm Library Standard
Tehnične specifikacije
| Arhitektura vsebnika | ASCII (P3) or binary (P6) Netpbm format with width, height, maximum color value, and RGB triplet stream |
| Stiskanje | Uncompressed raw binary bytes or human-readable ASCII text triplets |
| Vrstni red bajtov | Big-Endian (for 48-bit 16-bit/channel samples in P6 mode) |
| Barvni prostori | Linear RGB or standard sRGB |
| Kanali in struktura | 3 channels RGB (24-bit or 48-bit Truecolor) |
| Največje dimenzije | Practically unlimited (supports arbitrary 64-bit coordinate space) |
| Prosojnost | None (standard PPM is strictly opaque RGB) |
| Pretočno in progresivno predvajanje | Sequential row-by-row streaming playback |
Tehnična primerjalna matrika: PPM proti konkurenci
| Tehnični atribut | PPM (Trenutno) | BMP | PNG | TIFF |
|---|---|---|---|---|
| Barvna globina | 24-bitni / 48-bitni RGB Truecolor | 1-bitni do 32-bitni RGBA | 24-bitni / 48-bitni RGBA | 8-bitni do 64-bitni RGBA |
| Sorodnik v Netpbm | PPM (Portable Pixmap) | Format, ki ni del Netpbm | Format W3C, ki ni del Netpbm | Format Adobe, ki ni del Netpbm |
| Čarobni bajti (Magic Bytes) | P3 (ASCII) / P6 (Binarno) | BM (0x42 0x4D) | ‰PNG.... | II*\0 ali MM\0* |
| Stiskanje | Nestisnjeno | Nestisnjeno / RLE | Brez 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
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.