Przenośna mapa pikseli (.ppm)
Netpbm StandardníPortable Pixmap Format (PPM) je plnobarevný RGB standard rodiny grafických formátů Netpbm, který poskytuje nejjednodušší možnou nekomprimovanou reprezentaci Truecolor digitálních obrázků.
Zkontrolovat a metadata
Operační systémy a analyzátory souborů identifikují soubory PPM kontrolou počáteční binární sekvence bajtů:
Podpis hlavičky na úrovni bajtů (Magic Bytes)
Operační systémy a analyzátory souborů identifikují soubory PPM kontrolou počáteční binární sekvence bajtů:
HEXADECIMÁLNÍ PODPIS (OFFSET 0):
50 33 / 50 36ASCII REPREZENTACE: P3 / P6
Standardizace: Netpbm Library Standard
Technické specifikace
| Architektura kontejneru | ASCII (P3) or binary (P6) Netpbm format with width, height, maximum color value, and RGB triplet stream |
| Komprese | Uncompressed raw binary bytes or human-readable ASCII text triplets |
| Endiantita bajtů | Big-Endian (for 48-bit 16-bit/channel samples in P6 mode) |
| Barevné prostory | Linear RGB or standard sRGB |
| Kanály a struktura | 3 channels RGB (24-bit or 48-bit Truecolor) |
| Max. rozměry | Practically unlimited (supports arbitrary 64-bit coordinate space) |
| Průhlednost | None (standard PPM is strictly opaque RGB) |
| Streamování a progresivní načítání | Sequential row-by-row streaming playback |
Technická srovnávací matice: PPM vs konkurence
| Technický atribut | PPM (Aktuální) | BMP | PNG | TIFF |
|---|---|---|---|---|
| Barevná hloubka | 24bitový / 48bitový RGB Truecolor | 1bitový až 32bitový RGBA | 24bitový / 48bitový RGBA | 8bitový až 64bitový RGBA |
| Příbuzný v Netpbm | PPM (Portable Pixmap) | Formát mimo Netpbm | Formát W3C mimo Netpbm | Formát Adobe mimo Netpbm |
| Magické bajty | P3 (ASCII) / P6 (Binární) | BM (0x42 0x4D) | ‰PNG.... | II*\0 nebo MM\0* |
| Komprese | Nekomprimováno | Nekomprimováno / RLE | Bezztrátová komprese Deflate (~o 70 % menší) | LZW / Deflate / Zip |
Běžné režimy poškození a příručka pro obnovení v hex
Obrázek se vykresluje s diagonálním zkosením barevných kanálů.
Hlavní příčina: Oříznutý bajt v proudu RGB trojic, který způsobuje rozladění následujících červených, zelených a modrých bajtů.
Obnovení: Znovu zarovnejte posuny RGB trojic nebo proveďte konverzi pomocí nástroje File2File Netpbm Converter.
Bezpečnostní analýza a vektory útoků na parser
Dekodéry PPM se musí chránit před přetečením celého čísla při výpočtu velikostí vyrovnávací paměti pro 3bajtové RGB trojice.
Známé vektory útoků
- Přetečení celého čísla během alokace vyrovnávací paměti šířka * výška * 3.
- Čtení za hranicemi vyrovnávací paměti při čtení chybně formátovaných tokenů ASCII v režimu P3.
- Odepření služby (DoS) prostřednictvím nadměrných deklarací alokace paměti.
Doporučené bezpečnostní postupy:
Historický vývoj a milníky
Klíčové výhody a přednosti
- Naprostá architektonická jednoduchost: pro čtení, zápis nebo manipulaci nevyžaduje žádné kompresní knihovny.
- Režim ASCII (P3) umožňuje programátorům prohlížet, kopírovat a upravovat surové hodnoty barev RGB přímo v textovém editoru.
- Standardní mezilehlý formát používaný v univerzitních kurzech počítačové grafiky a projektech raytracerů.
Technická omezení a nevýhody
- Obrovské velikosti souborů kvůli absenci komprese (fotografie v rozlišení 4K zabírá přibližně 25 megabajtů).
- Neefektivní pro webovou distribuci nebo přenos po síti.
- Žádná podpora pro alfa průhlednost nebo vložené barevné profily.
Zajímavé technické drobnosti
- Prakticky každý student informatiky, který píše softwarový raytracer, exportuje své první rendery ve formátu PPM.
- V ASCII PPM ('P3') je obrázek doslova textovým souborem čísel: '255 0 0' pro červenou, '0 255 0' pro zelenou, '0 0 255' pro modrou.
- Sada Netpbm byla původně distribuována na páskách 4.3BSD Unix koncem 80. let.
Často kladené technické otázky
Proč kurzy informatiky používají formát PPM?
Protože formát PPM nevyžaduje žádné externí knihovny ani složité kompresní algoritmy, cožstudentům umožňuje osvojit si principy počítačové grafiky pomocí čisté matematiky pixelů.
Jaký je rozdíl mezi formáty PPM typu P3 a P6?
P3 ukládá trojice RGB jako prostá textová čísla ASCII, zatímco P6 ukládá trojice RGB jako surové binární bajty.
Jak mohu převést soubor PPM do formátu JPG nebo PNG?
Soubory PPM můžete převést do formátu PNG nebo JPG přímo ve svém prohlížeči pomocí aplikace File2File.app, aniž by vaše zařízení opustila jakákoliv data.