Portable Pixmap (.ppm)

Netpbm Standardi

Portable Pixmap Format (PPM) on Netpbm-grafikkaperheen täysvärinen RGB-standardi, joka tarjoaa yksinkertaisimman mahdollisen pakkaamattoman esitystavan Truecolor-digitaalikuville.

Tarkastele ja metatiedot

Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat PPM-tiedostot tarkistamalla tiedoston alun binäärisarjan:

Valitse tai pudota tiedostot tähän

100 % yksityinen selaimen sisäinen muunnos - tiedostot eivät poistu laitteeltasi

tai liitä Ctrl+V
Tietosuojatakuu: 0 % verkkosiirtoa 0 tavua ladattu ulkoisille palvelimille. Kaikki käsittely tapahtui paikallisesti selaimen hiekkalaatikossa.

Tavutason otsikon allekirjoitus (Magic Bytes)

Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat PPM-tiedostot tarkistamalla tiedoston alun binäärisarjan:

HEX-ALLEKIRJOITUS (OFFSET 0):

50 33 / 50 36

ASCII-ESITYSTAPA: P3 / P6

Standardointi: Netpbm Library Standard

Tekniset tiedot

SäiliöarkkitehtuuriASCII (P3) or binary (P6) Netpbm format with width, height, maximum color value, and RGB triplet stream
PakkausUncompressed raw binary bytes or human-readable ASCII text triplets
Tavujärjestys (Endianness)Big-Endian (for 48-bit 16-bit/channel samples in P6 mode)
VäriavaruudetLinear RGB or standard sRGB
Kanavat ja rakenne3 channels RGB (24-bit or 48-bit Truecolor)
Suurimmat mitatPractically unlimited (supports arbitrary 64-bit coordinate space)
LäpinäkyvyysNone (standard PPM is strictly opaque RGB)
Suoratoisto ja progressiivinen latausSequential row-by-row streaming playback

Tekninen vertailumatriisi: PPM vs. kilpailijat

Tekninen attribuuttiPPM (Nykyinen)BMPPNGTIFF
Värisyvyys24-bittinen / 48-bittinen RGB Truecolor1-bittinen - 32-bittinen RGBA24-bittinen / 48-bittinen RGBA8-bittinen - 64-bittinen RGBA
Netpbm-sisarusPPM (Portable Pixmap)Muu kuin Netpbm-muotoMuu kuin Netpbm W3C -muotoMuu kuin Netpbm Adobe -muoto
TunnistetavutP3 (ASCII) / P6 (Binääri)BM (0x42 0x4D)‰PNG....II*\0 tai MM\0*
PakkausPakkaamatonPakkaamaton / RLEHäviötön Deflate (~70 % pienempi)LZW / Deflate / Zip

Yleiset korruptiotilat ja heksatietojehdotusopas

Kuva renderöityy vinottaisella värikanavan vääristymällä.

Perussyy: Katkennut tavu RGB-kolmikkovirrassa, mikä aiheuttaa myöhempien punaisten, vihreiden ja sinisten tavujen kohdistusvirheen.

Korjaus: Kohdista RGB-kolmikon siirtymät uudelleen tai muunna File2File Netpbm Converter -muunnosohjelmalla.

Turvallisuusanalyysi ja jäsenninhyökkäysvektorit

PPM-dekoodereiden on suojattava kokonaisluvun ylivuodolta laskettaessa 3-tavuisen RGB-kolmikkopuskurin kokoja.

Tunnetut hyökkäysvektorit

  • Kokonaisluvun ylivuoto leveys * korkeus * 3 -puskurin varauksen aikana.
  • Puskurin yli lukeminen luettaessa viallisia ASCII-osia P3-tilassa.
  • Palvelunestohyökkäys liiallisten muistinvarausilmoitusten kautta.

Parhaat puolustuskäytännöt:

Historia ja virstanpylväät

200048 bitin värisyvyys (16 bittiä kanavaa kohti) lisättiin Netpbm P6 -määrittelyyn.
1993Muuttuu Unix-grafiikan muunnosputkien yleiseksi yhteiskieleksi Netpbm-työkalupakissa.
1989Jef Poskanzer viimeistelee Netpbm-triumviraatin (PBM, PGM, PPM) täysvärisellä PPM-muodolla.

Tärkeimmät edut

  • Absoluuttinen arkkitehtoninen yksinkertaisuus: ei vaadi lainkaan pakkauskirjastoja lukemiseen, kirjoittamiseen tai muokkaamiseen.
  • ASCII-tila (P3) mahdollistaa sen, että ohjelmoijat voivat tarkastella, kopioida ja muokata raakoja RGB-väriarvoja suoraan tekstieditorissa.
  • Vakiona käytettävä välimuoto yliopistojen tietokonegrafiikkakursseilla ja säteenseurantaprojekteissa.

Tekniset rajoitukset

  • Valtavat tiedostokoot pakkauksen puuttumisen vuoksi (4K-valokuva on noin 25 megatavua).
  • Tehoton verkkolevitykseen tai tiedonsiirtoon verkossa.
  • Ei tukea alfaprosessoinnille tai upotetuille väriprofiileille.

Mielenkiintoisia teknisiä faktoja

  • Lähes jokainen ohjelmistosäteenjäljitystä tekevä tietojenkäsittelytieteen opiskelija tuottaa ensimmäiset renderöintinsä PPM-muodossa.
  • ASCII PPM:ssä ('P3') kuva on kirjaimellisesti tekstitiedosto täynnä numeroita: '255 0 0' punaiselle, '0 255 0' vihreälle, '0 0 255' siniselle.
  • Netpbm-ohjelmistopaketti julkaistiin alun perin 4.3BSD Unix -nauhajulkaisuissa 1980-luvun lopulla.

Usein kysytyt tekniset kysymykset

Miksi tietojenkäsittelytieteen kursseilla käytetään PPM-muotoa?

Koska PPM ei vaadi ulkoisia kirjastoja tai monimutkaisia pakkausalgoritmeja, minkä ansiosta opiskelijat voivat oppia tietokonegrafiikan periaatteet pelkän raakapselimatematiikan avulla.

Mikä ero on P3- ja P6 PPM -tiedostoilla?

P3 tallentaa RGB-kolmikot pelkkänä ASCII-tekstimuotoisena numerona, kun taas P6 tallentaa RGB-kolmikot raakoina binääritavuina.

Miten voin muuntaa PPM-tiedoston JPG- tai PNG-muotoon?

Voit muuntaa PPM-tiedostot PNG- tai JPG-muotoon suoraan selaimessasi File2File.app-palvelulla niin, että laitteestasi ei poistu mitään tietoja.