Zapewne większość osób zajmująca się tworzeniem grafiki, kolekcjonowaniem zdjęć lub ich robieniem próbowała kiedyś je w jakiś sposób uporządkować. Dobrym sposobem jest użycie mechanizmu tagowania, który pozwalaja dodać do zdjęcia wybrane przez nas słowa kluczowe. Metod tagowania powstało wiele, jedno z nich polega na gromadzeniu w oddzielnej bazie opisów naszych zdjęć. Minusem tego rozwiązania jest to, że po przeniesieniu jakiegokolwiek zdjęcia na inny komputer tracimy te informacje. Drugim sposobem o wiele lepszym jest zamieszczanie tagów w pliku ze zdjęciem. W Windowsie Vista została zaimplementowana druga metoda, a konkretnie opracowany przez firmę Adobe standard XMP (Extensible Metadata Platform). Pozwala on dodawać metadane do wielu popularnych formatów dokumentów, zdjęć i plików wideo, m.in. JPEG, PSD, TIFF, AVI, WAV, MPEG, MP3, MOV, INDD, PS, EPS oraz PNG.
Piszę tutaj o tym, ponieważ zostałem zapytany czy po dodaniu jakiegoś nowego znaczniku do zdjęcia pogarsza się jego jakość. Weźmy na przykład kompresję stratną JPEG. Teoretycznie po każdym ponownym zapisaniu zdjęcia w z jakością mniejszą od najwyższej zawsze tracimy jakieś dane. A dodanie metadanych wiąże się przecież z zapisaniem pliku na nowo, tylko pytanie z jakim stopniem jakości?
Na stronach Adobe dotyczącym XMP można znaleźć informację, że ich aplikacja Adobe Bridge potrafi to robić bez straty na jakości, a jak sobie z tym radzi Photo Gallery z Windows Vista? No cóż.. Niestety nie udało mi się znaleźć bezpośrednio informacji na ten temat (czyżby jedynym rozwiązaniem było wciągnięcie PhotoGallery do .NET Reflectora?), ale postanowiłem wykonać kilka testów. W przypadku gdyby zdjęcie było zapisane z kolejnymi stratami odjęcie zdjęcia oryginalnego od kopii powinno dać w wyniku duży jednokolorowy obszar z plamami. Tak więc wybrałem kilka zdjeć w wysokiej rozdzielczości, a następnie zrobiłem po dwie kopie każdego z nich. Do pierwszej kopii dodałem jakieś znaczniki, a drugą otwarłem w programie do obróbki zdjęć i zapisałem z jakością rzędu 70%.
Następnie otworzyłem program graficzny i po kolei pododawałem na różne warstwy każdą z trójek zdjęć (oryginał, otagowaną kopię i skompresowaną kopię). Następnie wybrałem opcję odejmowania warstw. Kolorem podstawowym był kolor czarny. W przypadku odjęcia oryginału i pierwszej kopii nie dało się gołym okiem zauważyć żadnego piksela odmiennego koloru. Tak więc dla pewności scaliłem wszystkie warstwy i przeszedłem w tryb palety indeksowanej. Po zerknięciu na całą paletę ukazały się tylko dwa kolory biały i czarny, z czego białego piksela nie było ani jednego, ale to jest z kolei związany z tym, że zawsze istnieją co najmniej dwa kolory
. Tak więć pewnym jest to, że kompresji stratnej nie odnotujemy przy tagowaniu zdjęcia. Następną parą do odstrzału był oryginał oraz wersja skompresowana. Po wykonaniu powyższej operacji już gołym okiem można było zauważyć smugi pikseli o kolorach innych niż czarny. Co kończy dowód;). Druga kopia znacznie różni się od oryginału.
Czytając co nie co na temat standardu XMP natknąłem się na informację, że metadane są trzymane w formacie RDF co w przyszłości pozwoli na dalszy rozwój (a może „umożliwi rozwój”?) Web3.0, czyli semantycznego Internetu. Ale to jest tylko jako ciekawostka