Przenośna mapa pikseli (.ppm)

Netpbm Štandard

Portable Pixmap Format (PPM) je štandard plnofarebného RGB formátu z grafickej rodiny Netpbm, ktorý poskytuje najjednoduchšiu možnú nekomprimovanú reprezentáciu Truecolor digitálnych snímok.

Preskúmať a metadáta

Operačné systémy a analyzátory súborov identifikujú súbory PPM kontrolou počiatočnej binárnej bajtovej sekvencie:

Vyberte alebo presuňte súbory sem

100 % súkromná konverzia v prehliadači - súbory nikdy neopustia vaše zariadenie

alebo prilepiť Ctrl+V
Záruka súkromia s nulovým prenosom do siete: 0 bajtov odovzdaných na externé servery. Všetko spracovanie prebehlo lokálne v pieskovisku vášho prehliadača.

Podpis hlavičky na úrovni bajtov (Magic Bytes)

Operačné systémy a analyzátory súborov identifikujú súbory PPM kontrolou počiatočnej binárnej bajtovej sekvencie:

HEXADECIMÁLNY PODPIS (OFFSET 0):

50 33 / 50 36

ASCII REPREZENTÁCIA: P3 / P6

Štandardizácia: Netpbm Library Standard

Technické špecifikácie

Architektúra kontajneraASCII (P3) or binary (P6) Netpbm format with width, height, maximum color value, and RGB triplet stream
KompresiaUncompressed raw binary bytes or human-readable ASCII text triplets
Poradie bajtov (Endianness)Big-Endian (for 48-bit 16-bit/channel samples in P6 mode)
Farebné priestoryLinear RGB or standard sRGB
Kanály a štruktúra3 channels RGB (24-bit or 48-bit Truecolor)
Max. rozmeryPractically unlimited (supports arbitrary 64-bit coordinate space)
PriehľadnosťNone (standard PPM is strictly opaque RGB)
Streamovanie a postupné načítavanieSequential row-by-row streaming playback

Technická porovnávacia matica: PPM vs konkurenti

Technický atribútPPM (Aktuálne)BMPPNGTIFF
Farebná hĺbka24-bit / 48-bit RGB Truecolor1-bit až 32-bit RGBA24-bit / 48-bit RGBA8-bit až 64-bit RGBA
Súrodenec NetpbmPPM (Portable Pixmap)Formát mimo NetpbmFormát W3C mimo NetpbmFormát Adobe mimo Netpbm
Magické bajtyP3 (ASCII) / P6 (Binárne)BM (0x42 0x4D)‰PNG....II*\0 alebo MM\0*
KompresiaNekomprimovanéNekomprimované / RLEBezstratový Deflate (~o 70 % menší)LZW / Deflate / Zip

Bežné režimy poškodenia a príručka na obnovu v hexadecimálnom kóde

Obrázok sa vykresľuje s diagonálnym skosením farebných kanálov.

Hlavná príčina: Skrátený bajt v prúde trojíc RGB, čo spôsobuje posun následných červených, zelených a modrých bajtov.

Obnova: Znovu zarovnajte offsety trojíc RGB alebo konvertujte pomocou Netpbm konvertora File2File.

Bezpečnostná analýza a vektory útokov na parser

Dekodéry PPM sa musia chrániť pred pretečením celého čísla pri výpočte veľkostí vyrovnávacej pamäte 3-bajtových trojíc RGB.

Známe vektory útokov

  • Pretečenie celého čísla počas alokácie vyrovnávacej pamäte width * height * 3.
  • Nadmerné čítanie vyrovnávacej pamäte pri čítaní chybných tokenov ASCII v režime P3.
  • Odopretie služby prostredníctvom nadmerných deklarácií alokácie pamäte.

Najlepšie obranné postupy:

Historický pôvod a míľniky

2000Do špecifikácie Netpbm P6 bola pridaná 48-bitová farebná hĺbka (16 bitov na kanál).
1993Stáva sa univerzálnou lingua franca pre unikátne grafické konverzné potrubia v súprave Netpbm.
1989Jef Poskanzer dokončuje triumvirát Netpbm (PBM, PGM, PPM) s plnofarebným formátom PPM.

Kľúčové výhody a prednosti

  • Absolútna architektonická jednoduchosť: nevyžaduje žiadne kompresné knižnice na čítanie, zápis ani manipuláciu.
  • Režim ASCII (P3) umožňuje programátorom prezerať, kopírovať a upravovať surové hodnoty farieb RGB priamo v textovom editori.
  • Štandardný medziformát používaný v univerzitných kurzoch počítačovej grafiky a projektoch raytracerov.

Technické obmedzenia a nevýhody

  • Obrovské veľkosti súborov kvôli absencii kompresie (4K fotografia má približne 25 megabajtov).
  • Neefektívne pre webovú distribúciu alebo sieťový prenos.
  • Žiadna podpora pre alfa priehľadnosť alebo vložené farebné profily.

Zaujímavé technické drobnosti

  • Prakticky každý študent informatiky, ktorý píše softvérový raytracer, vydáva svoje prvé rendery vo formáte PPM.
  • V ASCII PPM ('P3') je obrázok doslova textovým súborom čísel: '255 0 0' pre červenú, '0 255 0' pre zelenú, '0 0 255' pre modrú.
  • Sada Netpbm bola pôvodne distribuovaná na páskových vydaniach 4.3BSD Unix koncom 80. rokov.

Často kladené technické otázky

Prečo kurzy informatiky používajú PPM?

Pretože PPM nevyžaduje žiadne externé knižnice ani zložité kompresné algoritmy, čo študentom umožňuje učiť sa princípy počítačovej grafiky pomocou čistej matematiky surových pixelov.

Aký je rozdiel medzi P3 a P6 PPM?

P3 ukladá trojice RGB ako obyčajné textové čísla ASCII, zatiaľ čo P6 ukladá trojice RGB ako surové binárne bajty.

Ako môžem konvertovať súbor PPM na JPG alebo PNG?

Súbory PPM môžete konvertovať na PNG alebo JPG priamo vo vašom prehliadači pomocou aplikácie File2File.app, pričom z vášho zariadenia neodosielate žiadne dáta.