← Fotóútmutatók

Hol tárolódik az EXIF-adat egy fotóban? (JPEG, PNG, HEIC)

Hol él valójában az EXIF egy fotófájl belsejében? Az APP1 fejléc, az IFD-fa, a bájtoffszetek, és hogyan tárolja mindezt a JPEG, HEIC, PNG, TIFF és WebP.

Gyors válasz: Az EXIF magában a képfájlban tárolódik, nem egy különálló kísérőfájlban. Egy JPEG-ben az APP1 marker szegmensben él, egy fejlécblokkban, amely a fájl eleje közelében a 0xFFE1 bájtokkal kezdődik, a címkékkel belül TIFF/IFD-faként elrendezve (IFD0, egy Exif al-IFD és egy GPS IFD). A HEIC-ben ugyanezek a címkék a konténer metaadat-dobozaiban ülnek, a PNG-ben egy eXIf chunkban élhetnek, a TIFF pedig natívan tárolja őket. Mivel az adat be van ágyazva, a fotóval utazik, valahányszor másolod vagy elküldöd. Húzz bármilyen fotót az EXIF-megjelenítőnkbe, hogy lásd, mi van benne. Semmi sem töltődik fel.

Az emberek gyakran azt feltételezik, hogy a metaadat egy rejtett adatbázisban él a telefonjukon, vagy egy kis fájlban a fotó mellett. Nem így van. A "mikor, hol és hogyan" közvetlenül a képfájl bájtjaiba van írva, egy fenntartott területen az eleje közelében. Ez az útmutató elmagyarázza, hol van ez a terület, és mi történik, amikor szerkeszted vagy megosztod a fotót.

A rövid változat: a fájlban van, a tetejéhez közel

Nyiss meg bármilyen JPEG-et frissen a kamerából, és nézd meg az első néhány száz bájtot. A kép kezdetét jelző marker (0xFFD8) után az egyik első dolog, amibe belefutsz, az APP1 marker szegmens, amely a teljes EXIF-blokkot tartja. A tömörített pixelek utána jönnek. Tehát egy tipikus kamera-JPEG így fut: 0xFFD8 kezdőmarker, a 0xFFE1 APP1 marker, amely az EXIF-et tartja, opcionális fejlécek (APP2 ICC-profil, APP13 IPTC, XMP), a pixeladat, majd a 0xFFD9 zárómarker. Mivel az EXIF egy fejlécben ül a tetejéhez közel, a pixelektől elkülönítve, egy tiszta EXIF-szerkesztés nem tömöríti újra a képet, az eszköz csak a fejlécterületet írja át.

Az IFD-fa: IFD0, Exif al-IFD, GPS IFD

Az APP1 szegmens a 0xFFE1 markerrel, egy kétbájtos hosszal és az Exif\0\0 azonosítóval nyit. Közvetlenül ezután a hasznos teher egy apró TIFF-fejléccel kezdődik: az EXIF belsőleg egy kis TIFF-fájl, amely a JPEG-be van ágyazva. Ez a fejléc deklarálja a bájtsorrendet (II little-endian vagy MM big-endian) és egy offszetet a címkék első könyvtárához.

Innentől a címkék IFD-k (Image File Directory-k) fájaként vannak szervezve, nem egyetlen lapos listaként. Mindegyiknek megvan a maga feladata:

  • IFD0 (a "nulladik" vagy "TIFF" könyvtár): kamera- és képszintű mezők, mint Make, Model, Software, Orientation és Copyright. Két mutatócímkét is tart, amelyek az alábbi alkönyvtárakhoz vezetnek.
  • Exif al-IFD: felvételkori technikai adatok. DateTimeOriginal, expozíciós beállítások, objektív, ISO, színtér.
  • GPS IFD: szélesség, hosszúság, magasság és GPS-ből származó időbélyegek, csak akkor jelen, ha helyszínt rögzítettek.
  • IFD1 (az "első" könyvtár): egy beágyazott bélyegkép, amelyet a kamera generált.

Egy olvasó bejárja a fát: kezd a TIFF-fejléccel, ugrik az IFD0-ra, követi az Exif-mutatót a felvételi beállításokért, követi a GPS-mutatót a helyszínért. Az EXIF-megjelenítőnk pontosan ezt teszi, és minden könyvtárat a saját táblázatában jelenít meg. Az EXIF-címkereferencia az egyes mezők teljes szótára. A négy bájtba beleférő értékek a címkebejegyzésen belül ülnek, a nagyobbak, mint egy GPS-koordináta, a szegmens máshol tárolódnak, és a bejegyzés egy hozzájuk vezető bájtoffszetet tart.

Hogyan tárolják más formátumok ugyanezeket a címkéket

Az EXIF-címkék nagyrészt azonosak a formátumok között. Ami eltér, az a konténer, amelybe a címkék bekerülnek.

  • JPEG / JPG: a fentebb leírt APP1 marker szegmens.
  • TIFF: natívan tárolja az EXIF-et. Egy TIFF-fájl maga IFD-k szerkezete, így az EXIF nincs ráerőszakolva, hanem az alapformátum része. A JPEG EXIF-je ennek a TIFF-elrendezésnek a kölcsönvett másolata.
  • HEIC: az iPhone alapértelmezett formátuma az iOS 11 óta. A HEIF-konténere egymásba ágyazott "dobozokból" épül, és az EXIF-címkék egy elem-metaadat dobozban élnek, nem JPEG-stílusú markerben. Ugyanazok a címkék, más polcozás.
  • PNG: hordozhat EXIF-et egy dedikált eXIf chunkban, az egyszerűbb eszközök néha tEXt vagy iTXt szöveges chunkokat használnak helyette. Sok webre exportált PNG egyáltalán nem hordoz semmit.
  • WebP: az EXIF-et egy EXIF chunkban tárolja a RIFF-konténerén belül.

A címkereferencia részletesen lefedi a formátumonkénti szerkesztési kikötéseket.

Miért számít a "beágyazott": a metaadat a fájllal utazik

Mivel az EXIF a fájlon belül él, mindenhová követi a fotót, ahova a fájl megy. Másold a JPEG-et egy USB-stickre, csatold egy e-mailhez, vagy húzd egy megosztott mappába, és a GPS-koordináták és a felvételi idő vele jönnek. Pontosan ezért olyan hasznos a metaadat bizonyítékként, és olyan kockázatos az adatvédelem szempontjából: a bizonyíték és a szivárgás is bele van sütve.

Ez magyarázza azt is, miért nem egysoros törlés az EXIF eltávolítása. A címkék bele vannak szőve a fájl fejlécszerkezetébe, így az eltávolításuk azt jelenti, hogy újraírjuk a fájlt azon terület nélkül. Az EXIF-eltávolítónk ezt a böngésződben végzi.

Mi történik, amikor szerkesztesz, képernyőképet készítesz vagy feltöltesz

Mivel az EXIF a fájl része, az, hogy mi marad meg, attól függ, hogy a fájl újrakódolódik-e:

  • Másolás, áthelyezés, átnevezés: a bájtok változatlanok, így az EXIF megmarad.
  • Vágás, forgatás, könnyű szerkesztések: a legtöbb szerkesztő megtartja a blokkot, és csak a méret- és tájolási címkéket frissíti. Néhány újraírja, ellenőrizd utána a megjelenítővel.
  • Képernyőkép: a képernyőkép egy vadonatúj kép a saját minimális EXIF-jével, és az eredeti kamera- vagy GPS-adatainak egyike sem. Gyakorlatilag egy metaadat-törlés.
  • Feltöltés közösségi platformokra: az Instagram, Facebook, X és WhatsApp feltöltéskor eltávolítja az EXIF-et az újrakódolással. A fájlmegosztó eszközök, mint az e-mail, a Dropbox és az AirDrop megtartják.

Annak nagyobb képéhez, hogy mit rögzít az EXIF, és miért ellenőrzik az emberek, lásd: mi az EXIF-adat.

GYIK

Egy különálló fájlban tárolódik az EXIF a fotó mellett? Nem, magában a képfájlban van beágyazva. (Néhány profi RAW-munkafolyamat .xmp kísérőfájlokat használ, de a szabványos EXIF egy JPEG-ben, HEIC-ben, PNG-ben vagy TIFF-ben a képen belül él.)

Mi a különbség az APP1 blokk és az IFD-k között? Az APP1 a JPEG-rekesz, amely az EXIF-et tartja. Az IFD-k (IFD0, Exif al-IFD, GPS IFD) a könyvtárfa azon a rekeszen belül.

Összegzés

Az EXIF nem egy rejtett alkalmazás-adatbázisban vagy egy kísérőfájlban tárolódik. A képbe van beágyazva: egy JPEG-ben ez az APP1 marker szegmenst jelenti a tetejéhez közel, TIFF/IFD-faként strukturálva (IFD0, Exif al-IFD, GPS IFD). A HEIC, PNG, WebP és TIFF ugyanezeket a címkéket a saját konténereikben tárolják. Mivel bele van sütve, a metaadat minden másolattal utazik.

Hogy lásd, hol él a fotód metaadata: EXIF-megjelenítő. Megosztás előtti eltávolításához: EXIF-eltávolító. Minden címke jelentéséhez: EXIF-címkereferencia. Minden a böngésződben, semmi sem töltődik fel.

Próbáld ki az eszközöket

Bélyegezz egy fotót közvetlenül a böngészőben, vagy telepítsd az iOS-appot, hogy élő fotókat készíts GPS-szel és atomórával.

Download on theApp Store
Nyisd meg a webes eszközt →EXIF-megtekintő →