← Poradniki fotograficzne

Gdzie przechowywane są dane EXIF w zdjęciu? (JPEG, PNG, HEIC)

Gdzie EXIF faktycznie żyje wewnątrz pliku zdjęciowego? Nagłówek APP1, drzewo IFD, przesunięcia bajtów oraz jak JPEG, HEIC, PNG, TIFF i WebP go przechowują.

Szybka odpowiedź: EXIF jest przechowywany wewnątrz samego pliku obrazu, nie w osobnym pliku pomocniczym. W JPEG żyje w segmencie markera APP1, bloku nagłówka zaczynającym się od bajtów 0xFFE1 blisko początku pliku, z tagami ułożonymi wewnątrz jako drzewo TIFF/IFD (IFD0, sub-IFD Exif i GPS IFD). W HEIC te same tagi siedzą w boksach metadanych kontenera; w PNG mogą żyć w chunku eXIf; TIFF przechowuje je natywnie. Ponieważ dane są osadzone, podróżują ze zdjęciem za każdym razem, gdy je kopiujesz lub wysyłasz. Upuść dowolne zdjęcie w naszej Przeglądarce EXIF, by zobaczyć, co tam jest; nic nie jest wysyłane.

Ludzie często zakładają, że metadane żyją w ukrytej bazie danych w ich telefonie lub w małym pliku obok zdjęcia. Tak nie jest. "Kiedy, gdzie i jak" jest zapisane bezpośrednio w bajtach pliku obrazu, w zarezerwowanym obszarze blisko początku. Ten przewodnik wyjaśnia, gdzie znajduje się ten obszar i co dzieje się, gdy edytujesz lub udostępniasz zdjęcie.

Wersja krótka: jest w pliku, blisko góry

Otwórz dowolny JPEG prosto z aparatu i spójrz na pierwsze kilkaset bajtów. Po markerze początku obrazu (0xFFD8) jedną z pierwszych rzeczy, na które trafiasz, jest segment markera APP1, który zawiera cały blok EXIF. Skompresowane piksele są po nim. Tak więc typowy JPEG z aparatu przebiega tak: marker początku 0xFFD8, marker APP1 0xFFE1 zawierający EXIF, opcjonalne nagłówki (profil ICC APP2, IPTC APP13, XMP), dane pikseli, a potem marker końca 0xFFD9. Ponieważ EXIF siedzi w nagłówku blisko góry, oddzielnie od pikseli, czysta edycja EXIF nie kompresuje obrazu ponownie; narzędzie przepisuje tylko obszar nagłówka.

Drzewo IFD: IFD0, sub-IFD Exif, GPS IFD

Segment APP1 otwiera się znacznikiem 0xFFE1, dwubajtową długością i identyfikatorem Exif\0\0. Zaraz po tym ładunek zaczyna się od maleńkiego nagłówka TIFF: EXIF jest wewnętrznie małym plikiem TIFF osadzonym wewnątrz JPEG. Ten nagłówek deklaruje kolejność bajtów (II little-endian lub MM big-endian) oraz przesunięcie do pierwszego katalogu tagów.

Stamtąd tagi są zorganizowane jako drzewo IFD (Image File Directory), a nie jako jedna płaska lista. Każde ma swoje zadanie:

  • IFD0 (katalog "zerowy" lub "TIFF"): pola na poziomie aparatu i obrazu, jak Make, Model, Software, Orientation i Copyright. Zawiera też dwa tagi wskaźnikowe prowadzące do podkatalogów poniżej.
  • sub-IFD Exif: techniczne dane z chwili wykonania. DateTimeOriginal, ustawienia ekspozycji, obiektyw, ISO, przestrzeń kolorów.
  • GPS IFD: szerokość, długość geograficzna, wysokość oraz znaczniki czasu pochodzące z GPS, obecne tylko wtedy, gdy zapisano lokalizację.
  • IFD1 (katalog "pierwszy"): osadzona miniatura wygenerowana przez aparat.

Czytnik przechodzi przez drzewo: zaczyna od nagłówka TIFF, skacze do IFD0, podąża za wskaźnikiem Exif po ustawienia wykonania, podąża za wskaźnikiem GPS po lokalizację. Nasza Przeglądarka EXIF robi dokładnie to i rozkłada każdy katalog we własnej tabeli; referencja tagów EXIF to pełny słownik każdego pola. Wartości mieszczące się w czterech bajtach siedzą bezpośrednio w wpisie tagu; większe, jak współrzędna GPS, są przechowywane gdzie indziej w segmencie, a wpis zawiera przesunięcie bajtowe do nich.

Jak inne formaty przechowują te same tagi

Tagi EXIF są w dużej mierze takie same w różnych formatach. Różni się kontener, w który tagi zostają wsunięte.

  • JPEG / JPG: segment markera APP1 opisany powyżej.
  • TIFF: przechowuje EXIF natywnie. Plik TIFF jest strukturą IFD, więc EXIF nie jest doczepiony, jest częścią formatu bazowego. EXIF w JPEG to zapożyczona kopia tego układu TIFF.
  • HEIC: domyślny format iPhone od iOS 11. Jego kontener HEIF zbudowany jest z zagnieżdżonych "boksów", a tagi EXIF żyją w boksie metadanych elementu, a nie w markerze w stylu JPEG. Te same tagi, inne ułożenie.
  • PNG: może nieść EXIF w dedykowanym chunku eXIf; prostsze narzędzia czasem używają zamiast tego chunków tekstowych tEXt lub iTXt. Wiele plików PNG eksportowanych dla sieci nie niesie żadnego.
  • WebP: przechowuje EXIF w chunku EXIF wewnątrz swojego kontenera RIFF.

Referencja tagów szczegółowo omawia zastrzeżenia dotyczące edycji w poszczególnych formatach.

Dlaczego "osadzony" ma znaczenie: metadane podróżują z plikiem

Ponieważ EXIF żyje wewnątrz pliku, podąża za zdjęciem wszędzie, dokąd trafia plik. Skopiuj JPEG na pendrive, dołącz go do e-maila lub upuść w udostępnionym folderze, a współrzędne GPS i czas wykonania pojadą razem. Dokładnie dlatego metadane są tak przydatne jako dowód i tak ryzykowne dla prywatności: dowód, i wyciek, są wbudowane.

Wyjaśnia to też, dlaczego usuwanie EXIF nie jest jednolinijkowym kasowaniem. Tagi są wplecione w strukturę nagłówka pliku, więc ich usunięcie oznacza przepisanie pliku bez tego obszaru. Nasz Usuwacz EXIF robi to w Twojej przeglądarce.

Co dzieje się, gdy edytujesz, robisz zrzut ekranu lub przesyłasz

Ponieważ EXIF jest częścią pliku, to co przetrwa, zależy od tego, czy plik zostanie ponownie zakodowany:

  • Kopiowanie, przenoszenie, zmiana nazwy: bajty pozostają niezmienione, więc EXIF jest zachowany.
  • Kadrowanie, obrót, lekkie edycje: większość edytorów zachowuje blok i tylko aktualizuje tagi wymiarów i orientacji. Niektóre go przepisują; sprawdź potem przeglądarką.
  • Zrzut ekranu: zrzut ekranu to zupełnie nowy obraz z własnym minimalnym EXIF i bez żadnych danych aparatu lub GPS oryginału. To w praktyce wyczyszczenie metadanych.
  • Upload na platformy społecznościowe: Instagram, Facebook, X i WhatsApp usuwają EXIF przy uploadzie przez ponowne kodowanie. Narzędzia do udostępniania plików, jak e-mail, Dropbox i AirDrop, zachowują go.

Szerszy obraz tego, co EXIF zapisuje i dlaczego ludzie go sprawdzają, znajdziesz w artykule czym są dane EXIF.

FAQ

Czy EXIF jest przechowywany w osobnym pliku obok zdjęcia? Nie, jest osadzony wewnątrz samego pliku obrazu. (Niektóre profesjonalne procesy RAW używają plików pomocniczych .xmp, ale standardowy EXIF w JPEG, HEIC, PNG lub TIFF żyje wewnątrz obrazu.)

Jaka jest różnica między blokiem APP1 a IFD? APP1 to slot JPEG, który zawiera EXIF. IFD (IFD0, sub-IFD Exif, GPS IFD) to drzewo katalogów wewnątrz tego slotu.

Podsumowanie

EXIF nie jest trzymany w ukrytej bazie danych aplikacji ani w pliku pomocniczym. Jest osadzony w obrazie: w JPEG oznacza to segment markera APP1 blisko góry, zorganizowany jako drzewo TIFF/IFD (IFD0, sub-IFD Exif, GPS IFD). HEIC, PNG, WebP i TIFF przechowują te same tagi we własnych kontenerach. Ponieważ jest wbudowany, metadane podróżują z każdą kopią.

Aby zobaczyć, gdzie żyją metadane Twojego zdjęcia: Przeglądarka EXIF. Aby je usunąć przed udostępnieniem: Usuwacz EXIF. Po znaczenie każdego tagu: referencja tagów EXIF. Wszystko w Twojej przeglądarce, nic nie jest wysyłane.

Wypróbuj narzędzia

Ostempluj zdjęcie wprost w przeglądarce albo zainstaluj aplikację iOS, by robić zdjęcia na żywo z GPS i czasem atomowym.

Download on theApp Store
Otwórz narzędzie web →Podgląd EXIF →