TIFF

Wikipedia
Loikkaa: valikkoon, hakuun
TIFF
Tiedostopääte: .tiff, .tif
Mediatyyppi: image/tiff,[1] image/tiff-fx[2]
Tyypin koodi: TIFF
Ulkomuodon tyypin ID: public.tiff
Magic: 4D 4D 00 2A (big endian)
49 49 2A 00 (little endian)
Kehittäjä: Aldus
Omistaja: Adobe Systems
Tiedoston tyyppi: kuvatiedosto
Laajennus: Exif, DCF, TIFF/EP

TIFF (lyhenne sanoista Tagged Image File Format ja Tag Image File Format) on kuvien tallennukseen käytetty häviötön tiedostomuoto. Sen on kehittänyt Aldus, ja nykyään sitä hallinnoi Adobe Systems. Formaatti on laajasti tuettu niin kuvankäsittely-, taitto- kuin tekstinkäsittelyohjelmissakin. Sen rakenne ei ole juurikaan muuttunut vuonna 1992 julkaistun TIFF 6.0 -standardin jälkeen.

Historia[muokkaa | muokkaa wikitekstiä]

TIFF kehitettiin 1980-luvun puolivälissä erimerkkisten työpöytäskannereiden yhteiseksi tiedostomuodoksi. Koska senaikaiset kuvanlukijat tuottivat binäärikuvia, myös TIFF tuki aluksi vain kahta arvoa pikseliä kohden. Tietokoneiden ja kuvanlukijoiden kehityksen myötä siihen sisällytettiin sittemmin harmaasävyt ja lopulta värit. Tulostin- ja kuvanlukijavalmistajien lisäksi Aldus teki formaatin lanseerauksessa yhteistyötä myös Microsoftin kanssa, joka ei kuitenkaan osallistunut tekniseen kehitystyöhön.

Versio 6.0 jätti pois aiemmin käytetyt Tagged Image File Format ja Tag Image File Format -määreet, ja tiedostomuodon nimi on nykyään pelkkä TIFF.[3]

Rakenne[muokkaa | muokkaa wikitekstiä]

TIFF on monipuolinen tiedostomuoto, jota käyttävät tiedostot voivat sisältää monentyyppistä otsaketiedoin järjestettyä tietoa. Yksi TIFF-tiedosto voi esimerkiksi sisältää useita JPEG- ja RLE-pakattuja kuvia ja vektorimuotoista tietoa niiden rajauksesta. Standardi tukee myös häviötöntä LZW-pakkausta ja kuvatasoja.

Tiedoston kaksi ensimmäistä tavua kertovat aina käytössä olevan tavujärjestyksen: II (heksoissa 49) on little endian ja MM (4D) big endian. TIFF 6.0 edellyttää lukijaohjelmilta tukea molemmille. Seuraavat kaksi tavua esittävät luvun 42, joka on valittu sen ”syvän filosofisen merkityksen” vuoksi.[4]

Standardin avoimuus on aiheuttanut alkuaikoina yhteensopivuusongelmia. Vapaa tagien ja määreiden käyttö johti ohjelmat käsittelemään tiedostoja eri tavoilla. Tämän takia tyypillisestä TIFF-toteutuksesta tuli varsin riisuttu, ja nykyäänkin lähes kaikki TIFF-kuvat ovat pakkaamattomia 32-bittisiä CMYK- tai 24-bittisiä RGB-kuvia. Graafisen alan ammattilaisten kesken tiedostomuodolle syntyi leikkimielinen nimitys ”TIFF: Thousands of Incompatible File Formats”, suom. ”TIFF: tuhansia yhteensopimattomia tiedostomuotoja”.[5][6][7] Päällekkäisyyksien välttämiseksi sovelluskehittäjät voivat nykyään varata Adobelta yksityisiä tageja.

Käyttö[muokkaa | muokkaa wikitekstiä]

TIFF:n etuna on kyky tallentaa useita kuvia samaan tiedostoon. Tämä helpottaa esimerkiksi kuvasarjojen ja monisivuisten asiakirjojen käsittelyä. Tiedostomuoto onkin ollut laajasti käytössä erityisesti asiakirjojen jäljennyksessä ja arkistoinnissa, esimerkiksi faksipalvelimissa. TIFF-tiedostoja voidaan lisäksi käyttää häviöttömästi, jolloin niiden uudelleentallentaminen muokkaamisen jälkeen ei aiheuta kuvatiedon katoamista toisin kuin JPEG:n kaltaisissa pakkausmenetelmissä.

Versio 6.0:n käyttämän SampleFormat-tagin myötä kuvadata voidaan tallentaa myös liukuluvuin, ja kokonaislukumuodossa sille pystytään varaamaan yli 8 bittiä kanavaa kohden. Tämän seurauksena TIFF-formaattia on käytetty erityistä tarkkuutta vaativissa kohteissa kuten tieteellisissä sovelluksissa.

Tietoturvaongelmat[muokkaa | muokkaa wikitekstiä]

TIFF-tiedostoja luetaan kuvadatan sijaintiin osoittavien lyhyiden kuvausosioiden avulla. Tämä poikkeuksellinen rakenne on aiheuttanut joitakin tietoturvaongelmia. Väärät kuvaustiedot voivat saada huonosti suunnitellun ohjelman yrittämään tiedoston lukemista väärästä kohdasta tai kokonaan sen muistialueen ulkopuolelta.

TIFF-kuvien avaamiseen laajasti käytetystä LibTIFF-kirjastosta on löydetty useita puskurin ylivuotovirheitä.[8][9][10] Niiden avulla on muun muassa pystytty ajamaan epävirallista koodia erilaisilla kannettavilla laitteilla kuten PlayStation Portablella.[11]

Viitteet[muokkaa | muokkaa wikitekstiä]

  1. RFC 3302
  2. RFC 3950
  3. TIFF Revision 6.0 (pdf) 3. kesäkuuta 1992. Adobe Systems. Viitattu 6.9.2008. (englanniksi)
  4. TIFF Revision 5.0 (html) (”In fact, the TIFF version number (42) has never changed, and probably never will. If it ever does, it means that TIFF has changed in some way so radical that a TIFF reader should give up immediately. The number 42 was chosen for its deep philosophical significance.”) Aldus/Microsoft. Viitattu 6.9.2008. (englanniksi)
  5. http://www.isomatic.co.uk/WBGlossary.htm
  6. http://records.viu.ca/~soules/CMC290/290wk3.htm
  7. http://www.faxswitch.com/Definitions/TaggedImageFileFormat-Definition.htm
  8. libTIFF BitsPerSample Tag Buffer Overflow Vulnerability (html) 11. toukokuuta 2005. Secunia. Viitattu 6.9.2008. (englanniksi)
  9. CVE-2005-1544 (html) Common Vulnerabilities and Exposures. 14. toukokuuta 2005. US Department of Homeland Security. Viitattu 6.9.2008. (englanniksi)
  10. libTIFF Multiple Vulnerabilities (html) 2. elokuuta 2006. Secunia. Viitattu 6.9.2008. (englanniksi)
  11. Sony PSP TIFF Image Viewing Code Execution Vulnerability (html) 31. elokuuta 2006. Secunia. Viitattu 6.9.2008. (englanniksi)

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]