Przejdź do treści

Blog “Zakasane rękawy”

Jpeg2000: ciekawy format do archiwizacji skanów i zdjęć dokumentów

Data publikacji:
Aktualizacja:

Aktualizacja, 22.08.2017: na ten moment przesiadłem się z opisywanego niżej formatu JPEG 2000 na WebP. Przy bardzo podobnych wynikach kompresji i jakości ma obecnie większe wsparcie oprogramowania, w szczególności ze strony Google i przeglądarki Chrome. Wygląda, jakby miał przed sobą lepszą przyszłość :)

Czy brak miejsca na dysku jest jeszcze problemem?

Żeby utrzymać w swoich dokumentach porządek, staram się digitalizować dosłownie wszystko, czego nie potrzebuję na papierze: faktury, ręczne notatki, paragony i papierową korespondencję. Niedawno pisałem więcej o motywacjach stojących za trzymaniem takiego porządku i narzędziach do digitalizacji jakich w tym celu używam.

Stanąłem ostatnio przed mikro-dylematem: w jakim formacie przechowywać takie dokumenty? Skany czy zdjęcia potrafią zająć sporo miejsca na dysku. Zdjęcie niezbyt bogatej w treść ręcznie zrobionej notatki wykonane moim smartfonem potrafi zajmować 1-2 megabajty.

Przestrzeń na dyskach talerzowych jest niby tania, ale rozrzutność ma swoje wady. Gdy kolekcja zdjęć zaczęła u mnie osiągać rozmiary powyżej 100 GB, zaczęło się to robić niewygodne. Skończyło się miejsce na SSD, zaczęło go brakować na dysku backupowym, przestałem łapać się na darmowe plany dysków w chmurze, a synchronizacja OneDrive na innych moich maszynach zwolniła.

Postanowiłem więc trochę zoptymalizować składowanie danych.

Mój wybór: Jpeg2000

Wyszedłem od formatu JPEG, w którym typowo zachowywane są zdjęcia na smartfonie. Poszukując czegoś, co zapewni lepszy stopień kompresji dla skanów, dość szybko trafiłem na standard JPEG2000. Już kilka cytowanych niżej zdań zabrzmiało zachęcająco.

Some of the cultural institutions finding JPEG2000 to be the best current solution for their archiving needs include The Library of Congress, the Harvard University Library, Library and Archives Canada, Chronicling America website and the Google Library Project.

Źródło: dpbestflow.org/file-format/archive-file-formats#jpeg

Skoro tak duże instytucje wybrały ten format, to musi on mieć parę zalet.

Tym co sprawia, że JPEG 2000 szczególnie nadaje się do archiwizacji dokumentów, jest jego przewaga przy wysokim stopniu kompresji. Nie występują np. artefakty blokowe, które są tak charakterystyczne dla klasycznego JPEG-a operującego na blokach 8x8 pikseli.

W przypadku zdjęć zależy nam zwykle na zachowaniu jak najlepszej jakości obrazu. Jeśli jednak archiwizujemy paragony, albo stare notatki ze studiów, to zwykle wystarczy nam zachowanie czytelności tekstu lub innych danych które są na dokumencie. Można więc znacznie mocniej "przykręcić śrubę" i poszukać optymalnego poziomu kompresji blisko maksimum możliwości, nie przejmując się zbytnio artefaktami.

Chcesz poeksperymentować?

Jeśli masz ochotę wypróbować jak ten format kompresji sprawdzi się na Twoich zdjęciach lub dokumentach, wystarczy zainstalować narzędzie ImageMagick i przekonwertować kilka plików z różnymi współczynnikami kompresji.

Poniżej podaję przykładowe polecenia konwertujące obrazek do formatu JP2:

# Convert to JPEG2000
magick convert input.jpg -define jp2:quality=37 output.jp2

# Convert to JPEG2000, reduce number of channels to 1 (grayscale)
magick convert input.jpg -colorspace gray output-gray.jp2

# Convert to JPEG (for reference)
magick convert input.jpg -quality 20 output.jpg

Podsumowanie

Opisany format całkiem dobrze sprawdza się w zadaniu archiwizacji. Co prawda JPEG2000 był projektowany dla znacznie szerszej gamy zastosowań niż archiwizacja, ale mimo to w tym wąskim zastosowaniu też na dzisiaj nie znalazłem dla niego lepszej alternatywy.

Wśród zalet mogę wymienić:

  • znacznie lepsza czytelność obrazu w porównaniu z klasycznym algorytmem JPEG dla zadanej wielkości skompresowanego pliku
  • istniejące wsparcie dla tego formatu w narzędziach z których korzystam: IrfanView do przeglądania (wsparcie jako plug-in), ImageMagick do konwersji
  • możliwość zastosowania w tworzonych aplikacjach. Standard jest solidnie zaprojektowany i bierze pod uwagę wiele scenariuszy wykorzystania które wspiera, np. optymalne dostarczanie obrazu przez Internet.

Wśród wad zauważam natomiast:

  • ryzyko, że za kilka lat może być ciężko o narzędzia czytające ten format,
  • brak wsparcia w popularnych aplikacjach graficznych, czy przeglądarkach internetowych. Zanim podzielimy się zarchiwizowanymi plikami, będzie je trzeba przekonwertować na coś popularnego.

Dziękuję za odwiedziny na blogu! A może Ty znasz jakąś inną dobrą alternatywę dla JPEG-a?

Komentarze