Przenośna mapa pikseli (.ppm)
Netpbm StandardnoPortable Pixmap Format (PPM) je RGB standard u punoj boji iz Netpbm grafičke obitelji, koji pruža najjednostavniju moguću nekomprimiranu reprezentaciju Truecolor digitalnih slika.
Pregledaj i metapodaci
Operativni sustavi i alati za analizu datoteka identificiraju PPM datoteke provjerom početnog niza binarnih bajtova:
Potpis zaglavlja na razini bajtova (Magic Bytes)
Operativni sustavi i alati za analizu datoteka identificiraju PPM datoteke provjerom početnog niza binarnih bajtova:
HEX POTPIS (POMAK 0):
50 33 / 50 36ASCII PRIKAZ: P3 / P6
Standardizacija: Netpbm Library Standard
Tehničke specifikacije
| Arhitektura spremnika | ASCII (P3) or binary (P6) Netpbm format with width, height, maximum color value, and RGB triplet stream |
| Kompresija | Uncompressed raw binary bytes or human-readable ASCII text triplets |
| 字节序 | Big-Endian (for 48-bit 16-bit/channel samples in P6 mode) |
| Prostori boja | Linear RGB or standard sRGB |
| Kanali i struktura | 3 channels RGB (24-bit or 48-bit Truecolor) |
| Maksimalne dimenzije | Practically unlimited (supports arbitrary 64-bit coordinate space) |
| Prozirnost | None (standard PPM is strictly opaque RGB) |
| Streaming i progresivno | Sequential row-by-row streaming playback |
Tehnička matrica usporedbe: PPM vs Konkurencija
| Tehnički atribut | PPM (Trenutno) | BMP | PNG | TIFF |
|---|---|---|---|---|
| Dubina boja | 24-bitni / 48-bitni RGB Truecolor | 1-bitni do 32-bitni RGBA | 24-bitni / 48-bitni RGBA | 8-bitni do 64-bitni RGBA |
| Netpbm srodnik | PPM (Portable Pixmap) | Format izvan Netpbm-a | W3C format izvan Netpbm-a | Adobe format izvan Netpbm-a |
| Magični bajtovi | P3 (ASCII) / P6 (Binarni) | BM (0x42 0x4D) | ‰PNG.... | II*\0 ili MM\0* |
| Kompresija | Nekomprimirano | Nekomprimirano / RLE | Deflate bez gubitaka (~70% manja veličina) | LZW / Deflate / Zip |
Uobičajeni načini oštećenja i vodič za heksadecimalni oporavak
Slika se iscrtava s dijagonalnim pomakom kanala boja.
Temeljni uzrok: Skraćeni bajt u nizu RGB trojki koji uzrokuje neusklađenost naknadnih crvenih, zelenih i plavih bajtova.
Oporavak: Ponovno poravnajte pomake RGB trojki ili izvršite konverziju pomoću File2File Netpbm pretvarača.
Sigurnosna analiza i vektori napada na parser
PPM dekoderi se moraju čuvati preljevanja cijelih brojeva (integer overflow) pri izračunavanju veličine međuspremnika trobajtne RGB trojke.
Poznati vektori napada
- Preljevanje cijelih brojeva tijekom dodjele međuspremnika širina * visina * 3.
- Pretjerano čitanje iz međuspremnika pri čitanju zlonamjernih ASCII tokena u P3 načinu rada.
- Ukrađivanje usluge (DoS) putem pretjeranih deklaracija alokacije memorije.
Najbolje obrambene prakse:
Povijesni izvori i prekretnice
Ključne prednosti
- Apsolutna arhitektonska jednostavnost: zahtijeva nula biblioteka za kompresiju za čitanje, pisanje ili manipulaciju.
- ASCII način rada (P3) omogućuje programerima izravan pregled, kopiranje i uređivanje sirovih RGB vrijednosti boja u uređivaču teksta.
- Standardni međufirmat koji se koristi na sveučilišnim kolegijima računalne grafike i projektima iscrtavanja zraka (raytracer).
Tehnička ograničenja i nedostaci
- Goleme veličine datoteka zbog nedostatka kompresije (4K fotografija ima otprilike 25 megabajta).
- Neučinkovito za distribuciju na webu ili prijenos preko mreže.
- Nema podrške za alfa prozirnost ili ugrađene profile boja.
Zanimljive tehničke činjenice
- Gotovo svaki student računarstva koji napiše softverski raytracer svoje prve rendere izvozi u PPM formatu.
- U ASCII PPM-u ('P3'), slika je doslovno tekstualna datoteka brojeva: '255 0 0' za crvenu, '0 255 0' za zelenu, '0 0 255' za plavu.
- Netpbm paket je izvorno distribuiran na 4.3BSD Unix Tape izdanjima kasnih 1980-ih.
Često postavljana tehnička pitanja
Zašto računalni kolegiji koriste PPM?
Zato što PPM zahtijeva nula vanjskih biblioteka ili složenih algoritama sažimanja, što učenicima omogućuje učenje principa računalne grafike s čistom matematikom sirovih piksela.
Koja je razlika između P3 i P6 PPM-a?
P3 pohranjuje RGB triplete kao obične ASCII tekstualne brojeve, dok P6 pohranjuje RGB triplete kao sirove binarne bajtove.
Kako mogu pretvoriti PPM datoteku u JPG ili PNG?
Možete pretvoriti PPM datoteke u PNG ili JPG izravno u svom pregledniku pomoću File2File.app bez da podaci napuste vaš uređaj.