Jakie są zalety korzystania z określonego formatu pliku obrazu?


11

Jeśli edytuję plik obrazu za pomocą aplikacji, takich jak GIMP, Photoshop lub MS Paint , podczas zapisywania będę poproszony o wybranie wymaganego formatu pliku. Dostępne są różne formaty, najczęściej są to JPEG , PNG i BMP , GIF i TIFF . W przypadku niektórych programów istnieje jeszcze więcej formatów, takich jak JP2 .

Którą opcję powinienem wybrać? Jakie są zalety i wady używania określonego formatu pliku?


Mam nadzieję, że moja edycja nie narusza niczego, co zostało powiedziane w „Czy granie w system polega na edycji pytania, na które również odpowiedziałeś?” - Jeśli tak, możesz go wycofać. Cel edycji: To dobre pytanie, które miało zbyt szczegółowy tytuł (IMHO), zwłaszcza, że ​​HEIF i inne formaty zaczynają się rozpowszechniać.
flolilo

@flolilolilo Nie sądzę, że jest to problem tutaj. Jestem trochę zaniepokojony, że spowoduje to mniej organicznego ruchu związanego z wyszukiwaniem i że będziemy musieli wykonać więcej ręcznego zamykania duplikatów, ale, eh.
Proszę przeczytać mój profil

@mattdm Przepraszam, nie chciałem tu wprowadzać dalszej pracy! Myślałem tylko, że „powinienem użyć JPEG, BMP lub PNG” pozostawił otwarte drzwi dla… cóż, dla wszystkich innych kodeków. Jeśli to tylko ja, nie ma takiej potrzeby.
flolilo

Odpowiedzi:


12

JPEG

JPEG jest stratny, co oznacza, że ​​kompresuje obraz (częściowo) przez odrzucanie danych. Dane, które odrzuca, są (normalnie) wybierane, aby zminimalizować wpływ na jakość obrazu, ale (praktycznie) zawsze tracą co najmniej odrobinę jakości - a w zależności od wybranego poziomu jakości może nieco stracić. W przypadku większości zdjęć należy go traktować jako format tylko do wyświetlania - po przekonwertowaniu czegoś na JPEG nie trzeba już na nim edytować. Jeśli musisz wprowadzić zmiany, uruchom ponownie od innego formatu, wprowadź zmiany i wykonaj kolejną konwersję JPEG.

JPEG 2000, JPEG XR

Istnieją nowsze wersje specyfikacji JPEG. Definiują nowe formy kompresji obrazu, które mogą ogólnie dać lepszy kompromis między rozmiarem pliku a jakością obrazu - wybór tej samej jakości przy mniejszym pliku lub lepszej jakości przy mniej więcej tym samym rozmiarze. Obsługują również wyższą rozdzielczość kolorów (np. 16 bitów na kanał i formaty zmiennoprzecinkowe w celu obsługi wysokiego zakresu dynamicznego). Z technicznego punktu widzenia są niezwykle atrakcyjne. Dużą wadą jest to, że nie tak wiele programów wie, jak je czytać, wyświetlać, manipulować lub pisać.

HEIF

Podobnie jak TIFF, HEIF to tak naprawdę format kontenera, który może zawierać obrazy zakodowane różnymi metodami (przede wszystkim h.265, ale także h.264 i JPEG). Zapewnia lepszy stosunek jakości do rozmiaru pliku niż oryginalny JPEG. Podobnie jak TIFF (lub GIF), możesz spakować całą sekwencję zdjęć do jednego pliku. Chociaż pojawił się znaczny rozgłos, kiedy HEIF został wprowadzony w 2014 r., A wiele obwieszczeń o tym, w jaki sposób będzie ostatecznie formatem, który zabił JPEG, wydaje się, że większość podekscytacji zamarła bez znacznego przesunięcia JPEG.

BPG

BPG to format zaprojektowany przez zawsze płodnego programistę Fabrice'a Bellarda. Jest podobny do HEIF, ponieważ w zasadzie jest pojemnikiem na obraz zakodowany za pomocą h.265. Jednak opakowanie jest nieco inne, więc nie są ze sobą kompatybilne. Jednak z fotograficznego punktu widzenia BPG ma dość znaczącą zaletę: bezpośrednio obsługuje osadzanie danych EXIF ​​w pliku obrazu.

Bezstratny JPEG

Chociaż to, co zwykle nazywamy JPEG, jest stratne, specyfikacje JPEG definiują formaty plików, które również używają kompresji bezstratnej. Ponieważ kompresja jest bezstratna, zwykle nie generują prawie tak małych plików, jak zwykła kompresja JPEG, ale w rzeczywistości radzą sobie bardzo dobrze w przypadku kompresji bezstratnej - znacznie lepszej niż kompresja ogólnego przeznaczenia, taka jak LZW lub kodowanie Huffmana, które zwykle liczą nawet na na zdjęciach. Podobnie jak JPEG 2000 i JPEG XR, działają one dobrze, ale cierpią na brak wsparcia.

GIF

GIF używa tylko bezstratnej kompresji, ale jest ograniczony do 8-bitowych (256) kolorów, co jest dość ograniczające dla zdjęć.

PNG

PNG został zaprojektowany jako zamiennik GIF-a i najczęściej się udaje. Obsługuje 24-bitowy kolor (8 bitów dla czerwonego, zielonego i niebieskiego) i wykorzystuje bezstratną kompresję. Ma rozdzielczość kolorów niezbędną do zdjęć, ale stosowana kompresja jest zwykle nieskuteczna w przypadku większości zdjęć, więc pliki są dość duże. Inną dużą wadą PNG jest to, że nie definiuje on sposobu przechowywania danych EXIF ​​(lub podobnych), więc jeśli używasz go do przechowywania zdjęć, musisz przechowywać metadane osobno. Może to być w porządku na własny użytek, ale oznacza, że ​​ogólnie zostanie utracone, jeśli użyjesz go na stronie internetowej lub coś w tym rodzaju.

SPRZECZKA

TIFF to tak naprawdę format kontenera, który pozwala wstawiać do niego różnego rodzaju dane. Chociaż jest używany głównie do obrazów, jest prawie podobny do systemu plików, więc teoretycznie można go używać do prawie każdego rodzaju danych. Ma to kilka konsekwencji. Jednym z nich jest to, że nawet jeśli program obsługuje pliki TIFF, może nie obsługiwać wszystkich plików TIFF - np. Wiele nie obsługuje obrazów skompresowanych w LZW. W rzeczywistości niewiele programów obsługuje wszystkie możliwe pliki TIFF. Inną konsekwencją jest to, że TIFF ma zwykle narzut, a pisanie kodu do obsługi TIFF (w ogóle dobrze) jest uciążliwe (dlatego tak wiele programów obsługuje go niecałkowicie).

BMP

BMP jest w zasadzie tylko bitmapą niezależną od urządzenia Windows zapisaną na dysku. Ma tylko bardzo ograniczoną obsługę kompresji (a większość BMP nie jest w ogóle kompresowana). Programy napisane dla systemu Windows potrafią bardzo łatwo odczytywać / zapisywać BMP , ale nie ma nic innego, co by go polecało (w szczególności pliki BMP są zwykle dość duże w stosunku do ilości przechowywanych danych). BMP nie ma możliwości przechowywania metadanych EXIF ​​(lub podobnych). BMP jest trochę jak PNG, ale bardziej specyficzny dla systemu Windows.

Wniosek

JPEG jest przydatny jako format wyjściowy (np. Do wyświetlania rzeczy na stronach internetowych jest dobry, ponieważ jest kompaktowy i praktycznie każdy może go odczytać).

TIFF jest często używany jako format pośredni do (na przykład) przechowywania pliku, który może być później edytowany.

Ograniczenie 256 kolorów sprawia, że ​​GIF jest prawie bezużyteczny dla zdjęć. BMP i PNG są w zasadzie nieszkodliwe dla samego zdjęcia, ale nie mogą przechowywać metadanych, a stosowana przez nich kompresja rzadko jest bardzo skuteczna w przypadku zdjęć (choć ceny przechowywania są teraz na tyle niskie, że sporo osób może się tym nie przejmować).


4
PNG faktycznie obsługuje 32 bity, ponieważ obsługuje również 8 bitów kanału alfa. Nie jest to ważne w przypadku przechowywania pełnych zdjęć, ale jeśli na przykład generowanie obrazu do wykorzystania na stronie internetowej, 8-bitowy kanał alfa może być naprawdę ważny.
Pete,

Dlaczego PNG nie jest przydatny do zdjęć?
Clickety Ricket

1
@ClicketyRicket: Zredagowałem, aby dodać trochę więcej informacji, które, mam nadzieję, lepiej wyjaśnią sytuację.
Jerry Coffin

@JerryCoffin Czy uważasz, że możesz dodać coś o JPEG XR, a może HEIF?
Proszę przeczytać mój profil

@mattdm: Wydaje się uzasadnione.
Jerry Coffin

5

Ogólnie rzecz biorąc, powiedziałbym, że prawdopodobnie chcesz zapisać w formacie obsługującym metadane, chyba że masz ważny powód, aby zrobić inaczej. Pod tym względem jpeg i tiff są dwoma najpopularniejszymi formatami dla fotografii poza RAW + XMP lub DNG.

Użyłem PNG w niektórych moich internetowych portfelach, ponieważ zabrałem się do zaokrąglania rogów moich pomniejszonych zdjęć w celu uzyskania ładniejszej wystawy i zrobienia czegoś, co odróżniłoby moją pracę od innych. Wadą tego jest to, że PNG nie obsługuje metadanych. Ograniczyło mnie to pod wieloma względami, ponieważ większość lepszych witryn ze zdjęciami online obsługuje automatyczną ekstrakcję i wyświetlanie metadanych (np. Flickr).

Mówiąc ściślej ... kiedy wyświetlasz zmniejszone wersje swojej sztuki online, takie jak na Flickr, DeviantArt, 1x, RedBubble itp. ... prawdopodobnie najlepiej jest użyć JPEG jako ostatecznego formatu wyjściowego. Te pliki są dobrej jakości, ale bardzo kompaktowe i obsługują metadane. Do długoterminowego przechowywania oryginałów polecam RAW + XMP, DNG lub TIFF, ponieważ wszystkie te formaty zapewniają bezstratną kompresję, a także zachowują metadane. TIFF może być najlepszym wyborem dla Ciebie, jeśli używasz Gimp. Sam korzystałem z RAW + XMP, ponieważ lubię mieć oryginalne pliki RAW ... ale rozważałem też konwersję wszystkiego na DNG, aby uprościć zarządzanie plikami.


5

Przygotuj się na ogromny post - tak, wymknęło się to spod kontroli ...

Obowiązkowe xkcd:

xkcd # 927 „Standardy”

Niestety nie ma prostego „najlepszego” formatu. Niektóre są bardzo dobrze obsługiwane, niektóre oferują ekstremalną wszechstronność, niektóre oferują bezstratną kompresję, ...

Pierwsza część tej odpowiedzi („Funkcje” i „Krótki przegląd formatów”) będzie dotyczyć szczegółów technicznych, natomiast druga część („(Inne) rzeczy do rozważenia”) jest bardziej ukierunkowana na praktyczne aspekty wyboru formatu .


Funkcje:

Należy pamiętać , że włączenie każdego hacka do każdego formatu jest prawie niemożliwe - np. Pliki GIF można zapisać bez kompresji, ignorując tabelę LZW. Dlaczego nie wspominam o tym poniżej? Ponieważ 99% wszystkich GIF-ów, jakie kiedykolwiek spotkałem, używało LZW, ponieważ LZW dzisiaj nie ma wątpliwości co do mocy obliczeniowej, i ponieważ ten post próbuje wyjaśnić sytuację w popularnych sytuacjach, a nie w dziale badań i rozwoju ILM. Fotografowie będą wykorzystywać swoje pliki do archiwizacji, publikowania i drukowania, więc rozważam tutaj te kwestie.

Informacje sprawdzone krzyżowo między odpowiednimi artykułami z Wikipedii, specyfikacjami, porównaniem Wiki i listą wsparcia metadanych exiftool .

               |  Bits per  |                          |     Supported by 
 Codec | Lossy |  Channel   |   Metadata    | Channels |       Programs       | Good for (IMHO)
-------------------------------------------------------------------------------------------------
  BMP  |   n   |    <= 8    |      -        |   RGBA   | Most propr. & free   | Archival
  BPG  |   y   |   <= 14    |   EXIF+XMP    |   RGBA   |                      | 
  EXR  |   o   |   <= 32    |     y(?)      |  RGBAD   |                      | VFX workflow
  FLIF |   o*  |   <= 16    |   EXIF+XMP    |   RGBA   |                      | To be seen
  GIF  |   n   |   <= 8*    |      XMP      |   RGB    | Most propr. & free   | GIFs ;-)
  HEIF |   o*  |   <= 16    |   EXIF+XMP    | RGB(A/D) |                      | To be seen
  JPEG |   y*  |    <= 8    | EXIF+IPTC+XMP |   RGB    | ~ all propr. & free  | Online; Easy access
  JP2K |   o   |   <= 32    | EXIF+IPTC+XMP |   RGBA   |                      | 
  JXR  |   o   |   <= 32    | EXIF+IPTC+XMP |   RGBA   |                      | 
  PNG  |   n   |   <= 16    | EXIF+IPTC+XMP*|   RGBA   | Most propr. & free   | CAD-drawings; Online
  TGA  |   n   |    <= 8    |     y(?)      |   RGBA   |                      | 
  TIFF |   o   |   <= 32    |   EXIF+XMP    |   RGBA   | Most propr. & free   | Archival; Editing
  WebP |   o   |    <= 8    |   EXIF+XMP    |   RGBA   |                      | 

Legenda : o... Opcjonalne; n... niedostępne; y... dostępny; D... głębokość; *... Spójrz poniżej na odpowiedni tekst.


Krótki przegląd formatów:

BMP

 Feature      | 
-----------------------------------------------------------------
 Introduced   | 1990
 Open + Free  | Both per Microsoft's Open Specification Promise
 Colorspace   | R:G:B[:A] (4:4:4[:4])
 b/c/p        | 1:0:0[:0], 5:6:5, 8:8:8[:8]
 Compression  | None [RLE in 5:6:4] (so: lossless)
 Maximum Size | 4 GiB
 Metadata     | [ICC]
 OS support   | Virtually all OSs with a graphical interface

Legenda : b/c/p... bitów na kanał (np. R, G, B) na piksel. rzeczy w [ ]są opcjonalne; ?... wykształcone zgadywanie / brak wskazówek.

Pliki „bitmap” są kodowane w wierszach i zwykle nie są kompresowane, więc pojedyncze odwrócenie bitów zniszczy tylko jedną linię obrazu, o ile nie odwróci nagłówka, co utrudni dekodowanie - spróbuj sam z HEX redaktor! . Ponieważ nie oferuje (dobrej) kompresji, rozmiary plików są ogromne, ponieważ muszą zapisywać pełne informacje dla każdego piksela. Ze względu na swoją sztywność może być przydatny do długoterminowej archiwizacji.


BPG

 Feature      | 
---------------------------------------------------------------------
 Introduced   | 2014
 Open + Free  | Yes (but HEVC patents might be problematic)
 Colorspace   | R:G:B[:A] (4:4:4[:4]); Y:Cb:CR[:A] (4:2:0[:4] - 4:4:4[:4]);
              | Y:Cg:Co[:A] (4:2:0[:4] - 4:4:4[:4]); C:M:Y:K (4:4:4:4)
 b/c/p        | 8 - 14
 Compression  | HEVC (lossy / lossless)
 Maximum Size | ?
 Metadata     | [EXIF]; [ICC]; [XMP]
 OS support   | Linux, Mac, Windows (at least through browser decoding)

Legenda : b/c/p... bitów na kanał (np. R, G, B) na piksel. rzeczy w [ ]są opcjonalne; ?... wykształcone zgadywanie / brak wskazówek.

„Better Portable Graphics” (BPG) wykorzystuje HEVC, które możesz znać z kodeka wideo h.265 . Miał być następcą JPEG, ale nigdy nie stał się wystarczająco popularny. Wraz ze wzrostem HEIF, który jest pod pewnymi względami podobny, ale bardziej popularny, prawdopodobne jest, że HEIF będzie preferowany. HEVC jest znacznie lepszy pod względem kompresji w porównaniu z DCT JPEG - jednak nie wypada dobrze we wszystkich, z wyjątkiem niższych przepływności, ponieważ zwykle jest rozmazany.


EXR

 Feature      | 
---------------------------------------------------------------------
 Introduced   | 1999
 Open + Free  | Yes
 Colorspace   | R:G:B[:A][:D] (4:4:4[:4][:4])
 b/c/p        | <= 32
 Compression  | [RLE]; [ZIP]; [PIZ]; ... [lossless (usual) / lossy]
 Maximum Size | > 4 GiB
 Metadata     | [Yes (XMP-style)]
 OS support   | Linux, Mac, Windows (through library)

Legenda : b/c/p... bitów na kanał (np. R, G, B) na piksel. rzeczy w [ ]są opcjonalne; ?... wykształcone zgadywanie / brak wskazówek.

OpenEXR został zaprojektowany przez Industrial Lights and Magic (ILM) jako pośredni format dla przepływów pracy VFX. Może przechowywać wiele kanałów na bardzo dużych głębokościach bitów, wiele obrazów i metadanych w jednym pliku. Oferuje różne algorytmy kompresji - lub wcale. EXR można porównać z TIFF - EXR oferuje więcej opcji, podczas gdy TIFF jest zdecydowanie bardziej popularny.


FLIF

 Feature      | 
---------------------------------------------------------------------
 Introduced   | 2015
 Open + Free  | Yes
 Colorspace   | R:G:B[:A] (4:4:4[:4]) (CMYK and YCbCr in ToDo-List)
 b/c/p        | <= 16
 Compression  | MANIAC (variant of CABAC, used in AVC/HEVC) (lossless / lossy (1st generation))
 Maximum Size | > 4 GiB
 Metadata     | [EXIF]; [ICC]; [XMP]
 OS support   | Linux, Mac, Windows (through provided viewer)

Legenda : b/c/p... bitów na kanał (np. R, G, B) na piksel. rzeczy w [ ]są opcjonalne; ?... wykształcone zgadywanie / brak wskazówek.

„Free Lossless Image Format” (FLIF) wykorzystuje bezstratną pochodną kompresji HEVC. FLIF twierdzi, że ma ekstremalne współczynniki kompresji w porównaniu do wszystkich innych formatów w tamtych czasach - podczas gdy moje własne testy sprawiły, że w to uwierzyłem, naprawdę potrzebuje mocy obliczeniowej, aby był użyteczny (kilka minut czasu kodowania dla pojedynczego obrazu 24 MP z hiperwątkiem Heksakor 4,3 GHz nie jest tak dobry: D) . Ponieważ jednak jest to młody kodek, mogą pojawić się ulepszenia. Oferuje wsparcie dla animacji, kanałów alfa, progresywnego dekodowania, a nawet kodowania stratnego (bez utraty generacji po pierwszym kodowaniu). Tylko czas pokaże, czy się powiedzie, i szczerze mówiąc, mam taką nadzieję, ponieważ wydaje się, że oferuje jedno rozwiązanie wielu problemów.


GIF

 Feature      | 
---------------------------------------------------------------------
 Introduced   | 1987
 Open + Free  | Yes
 Colorspace   | R:G:B[:A] (4:4:4[:4])
 b/c/p        | 2 (palette of 256 colors in total)
 Compression  | LZW (lossless)
 Maximum Size | < 4 GiB
 Metadata     | [XMP]
 OS support   | Virtually all OSs with a graphical interface

Legenda : b/c/p... bitów na kanał (np. R, G, B) na piksel. rzeczy w [ ]są opcjonalne; ?... wykształcone zgadywanie / brak wskazówek.

Podczas gdy „Graphics Interchange Format” (GIF) oferuje 8 bitów na kanał na piksel, zredukuje je do palety 256 kolorów (które mogą obejmować „kolor tła”). Jest on głównie używany do animacji - jedyne, czego PNG nie może zrobić lepiej, ponieważ PNG samo w sobie nie oferuje wsparcia animacji.


HEIF

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 2015
 Open + Free  | No (patents)
 Colorspace   | ? Y:Cb:Cr[:A/:D] (4:2:0[:4]) ?
 b/c/p        | <= 16
 Compression  | HEVC (lossy)
 Maximum Size | < 4 GiB
 Metadata     | [EXIF]; [XMP]
 OS support   | Linux, Mac, Windows

Legenda : b/c/p... bitów na kanał (np. R, G, B) na piksel. rzeczy w [ ]są opcjonalne; ?... wykształcone zgadywanie / brak wskazówek.

„High Efficiency Image Format” (HEIF) również wykorzystuje kompresję HEVC. Oprócz kanałów kolorów może także zawierać kanał alfa lub mapę głębi (używane w późniejszych programowych efektach głębi ostrości ). Ponadto podstawowa edycja może odbywać się bezstratnie. Zgodnie ze specyfikacjami ma również tryb bezstratnej kompresji. Ponieważ wszystkie główne systemy operacyjne go obsługują, wydaje się, że jest to najbardziej prawdopodobny pretendent do serii JPEG (jeśli taki istnieje).


JPEG

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 1991
 Open + Free  | Sort of (free library, but patent might apply)
 Colorspace   | Y:Cb:Cr (4:2:0 (typical) - 4:4:4)
 b/c/p        | 8
 Compression  | DCT (lossy)
 Maximum Size | < 2 GiB
 Metadata     | [EXIF]; [ICC]; [IPTC]; [XMP]
 OS support   | Virtually all OSs with a graphical interface

Legenda : b/c/p... bitów na kanał (np. R, G, B) na piksel. rzeczy w [ ]są opcjonalne; ?... wykształcone zgadywanie / brak wskazówek.

„Joint Photographic Experts Group” (JPEG) jest prawdopodobnie najczęściej używanym formatem obrazu na świecie. Wykorzystuje dyskretną transformację cosinus (DCT), która jest stratna. Istnieje bezstratna specyfikacja, ale nie jest używana zbyt często. Niektóre programy mogą bezproblemowo wykonywać pewne podstawowe działania (np. Obrót), ale wymaga to również, aby szerokość i wysokość obrazu były podzielne przez 8 (rozmiar bloku JPEG) - np. 800x640 będzie działać, 804x643 nie. JPEG nie ma opcji zapisywania obrazów w RGB - przekształca obraz w przestrzeń kolorów YCbCr i często zmniejsza informacje o pikselach z 4: 4: 4 (każdy piksel ma wszystkie kanały) do 4: 2: 0 (każdy kanał ma luminancję, ale tylko co 4- ty piksel otrzymuje wartość Cb / Cr). Podobnie jak w przypadku większości konwersji przestrzeni kolorów, może to prowadzić do zauważalnych różnic, szczególnie w ekstremalnych kolorach. JPEG można szybko zakodować i nie jest źle w ustawieniach wysokiej jakości, ale dla mnie powyższe rzeczy nie spowodowałyby, żebym rozpłakał się, gdyby kiedykolwiek zniknął - dobrze nam to służył, ale użyte formaty zdjęć mogą być nieco więcej ... niedawny. W końcu komputery ewoluowały dobrze od 1991 roku.


JP2k

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 2000 (duh...)
 Open + Free  | No (patents)
 Colorspace   | ? Y:Cb:Cr[:A] (4:4:4[:4]) ?
 b/c/p        | 8 - 32
 Compression  | Wavelet (lossy / lossless)
 Maximum Size | ?
 Metadata     | [EXIF]; [ICC]; [IPTC]; [XMP]
 OS support   | Linux, Mac, Windows (at least through viewer programs)

Legenda : b/c/p... bitów na kanał (np. R, G, B) na piksel. rzeczy w [ ]są opcjonalne; ?... wykształcone zgadywanie / brak wskazówek.

„JPEG 2000” (JP2k lub JP2) jest oficjalnym następcą JPEG. Używa falek zamiast DCT, które oferują mniej blokowych artefaktów i są ogólnie bardziej wszechstronne niż JPEG. Mimo to nigdy tak naprawdę nie dogonił JPEG.


JXR

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 2009
 Open + Free  | Yes (Microsoft Open Specification Promise)
 Colorspace   | Y:Cb:Cr[:A] (4:2:0[:4] - 4:4:4[:4]); Y:Cg:Co[:A] (? 4:2:0[:4] - 4:4:4[:4] ?);
              | C:M:Y:K [4:4:4:4]
 b/c/p        | 8 - 32 (16 for CMYK)
 Compression  | DCT (lossy / lossless)
 Maximum Size | ?
 Metadata     | [EXIF]; [ICC]; [IPTC]; [XMP]
 OS support   | Linux, Mac, Windows (at least through viewer programs)

Legenda : b/c/p... bitów na kanał (np. R, G, B) na piksel. rzeczy w [ ]są opcjonalne; ?... wykształcone zgadywanie / brak wskazówek.

„Rozszerzony zakres JPEG” (JPEG XR, JXR) to kolejna próba sukcesu JPEG. Przestrzeń kolorów YCgCo jest lepsza niż YCbCr, ponieważ jest całkowicie odwracalna. Chociaż niektóre programy obsługują to, to też nigdy nie zbliżyło się do sławy innych formatów.


PNG

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 1996
 Open + Free  | Yes
 Colorspace   | R:G:B[:A] (4:4:4[:4])
 b/c/p        | 8 - 16
 Compression  | DEFLATE (lossless)
 Maximum Size | ?
 Metadata     | [EXIF]; [ICC]; [IPTC]; [XMP]
 OS support   | Virtually all OSs with a graphical interface

Legenda : b/c/p... bitów na kanał (np. R, G, B) na piksel. rzeczy w [ ]są opcjonalne; ?... wykształcone zgadywanie / brak wskazówek.

„Portable Network Graphics” (PNG) wprowadzono jako następcę formatu GIF. Chociaż jest to projekt bezstratny, pliki PNG można zoptymalizować za pomocą kilku narzędzi, z których niektóre będą kompresować plik w stratny sposób. PNG korzysta z kompresji DEFLATE, więc jest dość wydajny w przypadku grafiki (jak rysunki CAD, zrzuty ekranu, ...), ale mniej wydajny w przypadku zdjęć. Chociaż oferuje obsługę metadanych, niektóre programy mają problemy z ich odczytaniem. Dzięki za heads-up, @mattdm !


TGA

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 1984
 Open + Free  | ? Yes
 Colorspace   | R:G:B[:A] (4:4:4[:4])
 b/c/p        | <= 8
 Compression  | RLE (lossless)
 Maximum Size | ? < 2 GiB
 Metadata     | Rudimentary
 OS support   | ? Virtually all OSs with a graphical interface

Legenda : b/c/p... bitów na kanał (np. R, G, B) na piksel. rzeczy w [ ]są opcjonalne; ?... wykształcone zgadywanie / brak wskazówek.

„Truevision TGA” / „TARGA” (TGA) to format fie, który załączyłem tylko dlatego, że wszyscy go znają. Został wprowadzony w 1984 roku. Obsługuje bezstratną kompresję (RLE), która będzie działać dobrze w przypadku grafiki, ale nie tak dobrze w przypadku zdjęć.


SPRZECZKA

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 1986
 Open + Free  | ? Yes
 Colorspace   | R:G:B[:A] (4:4:4[:4]); Y:Cb:Cr[:A] (? 4:2:0[:4] - 4:4:4[:4] ?);
              | C:M:Y:K (? 4:4:4:4 ?); L:a:b[:A] (? 4:4:4:[A] ?)
 b/c/p        | 8 - 32
 Compression  | [LZW (lossless)]; [ZIP (lossless)]; [JPEG (lossy)]
 Maximum Size | ?
 Metadata     | [EXIF]; [ICC]; [XMP]
 OS support   | Virtually all OSs with a GUI support >= 1 of the compression types

Legenda : b/c/p... bitów na kanał (np. R, G, B) na piksel. rzeczy w [ ]są opcjonalne; ?... wykształcone zgadywanie / brak wskazówek.

Format „Tagged Image File Format” (TIF lub TIF) istnieje już od dłuższego czasu. Oferuje obsługę warstw (tzn. Wiele obrazów RGBA ułożonych w stos). Pliki TIFF są często używane jako pliki pośrednie, ponieważ są one szeroko obsługiwane i dość elastyczne pod względem swoich możliwości.


WebP

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 2010
 Open + Free  | Yes
 Colorspace   | R:G:B:A (4:4:4[:4]) lossless; Y:Cb:Cr[:A] (4:2:0[:4]) lossy
 b/c/p        | 8
 Compression  | VP8 (lossless / lossy)
 Maximum Size | ?
 Metadata     | [EXIF]; [ICC]; [XMP]
 OS support   | Linux, Mac, Windows (at least through browser decoding)

Legenda : b/c/p... bitów na kanał (np. R, G, B) na piksel. rzeczy w [ ]są opcjonalne; ?... wykształcone zgadywanie / brak wskazówek.

„WebP” wykorzystuje VP8 (rywalizujący z AVC format open source). Podobnie jak w przypadku BPG, nigdy nie zrobił skoku na urządzenia konsumenckie, choć wydaje się, że jest używany przez wiele usług internetowych.


(Inne) Rzeczy do rozważenia:

Ponowne kodowanie (utrata generacji)

Ponowne kodowanie pliku bezstratnego niczego nie zmieni - ponowne kodowanie pliku stratnego prawie na pewno doprowadzi do powstania artefaktów. JPEG poradzi sobie z tym całkiem dobrze, jeśli zapiszesz plik w tym samym ustawieniu jakości, co wcześniej.

Ten film pokazuje całkiem dobrze utratę generacji - pierwsza klatka pokazuje oryginalny plik, podczas gdy wszystkie inne pokazują kompresję przy różnych ustawieniach jakości. (Pamiętaj, że FLIF jest w trybie stratnym, więc pierwsza klatka będzie wyglądać inaczej).

Artefakty niekoniecznie muszą być wyrokiem śmierci - np. W przypadku szybkiego publikowania w Internecie lub podglądu na urządzeniach mobilnych może nie być tak źle.

Długowieczność kodeka

Pisząc tę ​​odpowiedź, pomyślałem sobie: „kto zresztą dziś używałby TARGA?” i sprawiło, że pomyślałem: nigdy nie zawahałbym się prowadzić samochodu wyprodukowanego w latach 80-tych. Nie zawahałbym się spojrzeć na zdjęcia wykonane w latach 80-tych. Użyłbym kamer wyprodukowanych w tym czasie. Ale nie używałbym tak starego kodeka. Czemu?

Ostatecznie nie ma pewności, czy jeden kodek przetrwa określony okres czasu. Gdyby HEIF jutro zastąpił JPEG na wszystkich urządzeniach konsumenckich, ile czasu zajęłoby programom zaprzestanie obsługi JPEG? Ile pokoleń komputerów - a co ważniejsze: systemów operacyjnych - będzie, zanim nie będzie można ich już otwierać?

Z drugiej strony stosunkowo proste kodeki, takie jak TARGA, wymagają jedynie stosunkowo prostych programów do ich odczytu, podczas gdy współczesne kodeki i ich dekodery mają wiele zależności. Tak więc chociaż prostota jest niekorzystna dla kompresji, może być dobra do archiwizacji w apokaliptycznym scenariuszu. Dzięki @lijat za zwrócenie na to uwagi!

Moim zdaniem, należy wziąć pod uwagę kilka aspektów: Który kodek jest wystarczająco popularny, aby obsługa nie spadła natychmiast? Który kodek jest obsługiwany przez społeczność open source (ponieważ nikt nie zachowa zastrzeżonych formatów z bankrutującej firmy)? Wydaje się również, że przynajmniej co dekadę należy sprawdzić, czy istnieje potrzeba przejścia na nowy, lepiej obsługiwany kodek (patrz „Ponowne kodowanie (utrata generacji)”) - na przykład nie chciałbyś twoja kolekcja TARGA będzie jutro nieczytelna, prawda?

Nawiasem mówiąc, jest to szczególnie niepokojące, gdy myślimy o plikach RAW .

Wsparcie programu (Longevity # 2)

Najpopularniejszy, najlepszy kodek nie będzie wystarczająco dobry, jeśli nie będziesz mógł go używać. I chociaż nie używałbym gorszych kodeków tylko dlatego, że określony program ich nie obsługuje, może być źle używać kodeków obsługiwanych tylko przez jeden program.

Jakich funkcji potrzebuję?

Osobiście nadal koduję większość moich plików w formacie JPEG - mogę je odczytać na dowolnym urządzeniu i ledwo (jeśli w ogóle) widzę artefakty. 8bit jest wystarczający dla większości urządzeń, a kanały alfa nie są tak naprawdę potrzebne podczas oglądania zdjęć.

Dla wszystkich plików, które nie są w stylu „raz edytuj”, zachowuję moje pliki RAW lub co najmniej 16-bitowe pliki TIFF, aby można je było nadal używać w przyszłości.

PSD? DNG?

„Photoshop Document” (PSD) to format w stylu TIFF programu Photoshop. Technicznie jest dość podobny do TIF. Istnieje również PSB, który jest taki sam tylko dla plików o wielkości powyżej 4 GiB. Nie ma nic złego w korzystaniu z niego, ale osobiście wolę TIFF, o ile to możliwe.

„Digital Negative” (DNG) to próba stworzenia otwartego standardu RAW. Chociaż podoba mi się ten pomysł i działa całkiem dobrze, zauważ, że niektóre edytory RAW mają z nimi problemy - np. Capture One zwykle zapomina o balansie bieli aparatu, ustawiając suwak na 5000K, bez względu na to, jaka jest rzeczywista wartość. Inne programy w przeszłości pokazały je jako jednolite białe lub różowe obrazy lub nadały im purpurowy odcień. Jeśli rozmiar pliku nie jest dla Ciebie ważny, możesz dołączyć oryginalny plik RAW do DNG - jeśli kiedykolwiek będziesz go potrzebować, możesz po prostu wyodrębnić go ponownie. Moje 2 centy? Wypróbuj go ze swoim ulubionym oprogramowaniem - a jeśli działa dobrze, użyj go.

Inne formaty?

Ponieważ wymknęło się to spod kontroli, nie chciałem zajmować się jeszcze większą liczbą formatów obrazów. Nie oznacza to jednak, że te, których nie ma na liście, nie są warte rozważenia.


Ciekawostki: Właśnie zdałem sobie sprawę, że „Nasz procesor DSP nie jest zoptymalizowany do kodeków innych niż JPEG” to dziś leniwa wymówka, ponieważ większość kamer oferuje pewne zaawansowane kodeki (AVC / HEVC) ze względu na swoje możliwości wideo.
flolilo

1
Kiedy pisałeś o obsłudze formatu, myślę, że warto wspomnieć, że im prostszy format, tym łatwiej jest go obsługiwać. Jest to duża zaleta dla rzeczy takich jak nieskompresowane targa, które są na tyle proste, że student programujący może napisać dekoder po południu (co oznacza, że ​​nawet jeśli całe oprogramowanie wspierające zostanie utracone, można je łatwo odtworzyć tanio).
lijat

2

Zapisane przeze mnie obrazy zapisuję jako TIFF z kompresją LZW. Korzystam z Gimpa do edycji i mam skrypty oparte na ImageMagick, które konwertują pliki TIFF do JPG o różnych rozmiarach i poziomach jakości do użytku w Internecie, drukowania itp. Spodziewam się, że PNG będzie również działać; Wybrałem między nimi wybór kilka lat temu i zapomniałem, dlaczego wybrałem TIFF. (Być może był to problem metadanych, o którym wspominali inni respondenci, a może dane wyjściowe PNG ufraw były zbyt wolne).

Kiedy chcę zachować warstwy do przyszłej edycji, zapisuję jako .xcf.gz (natywny format Gimp z kompresją gzip). Oczywiście, jeśli korzystasz z programów innych niż Gimp, może to nie być pomocne.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.