Jaką jakość wybrać przy konwersji na JPG?

37

Podczas eksportowania obrazu do JPG można zwykle wybrać jego jakość w skali 1-100. Lubię zachować dobrą jakość, ale nie ma sensu utrzymywać pliku JPG, który będzie prawie tak duży jak oryginalny plik RAW, więc czy istnieją jakieś wytyczne dotyczące wyboru określonej jakości JPG do określonych zastosowań? Najbardziej interesuje mnie udostępnianie Internetu i zamawianie odbitek online.

Santiagozky
źródło
Zależy to od używanego oprogramowania (np. Zalecenia Lightroom w odpowiedzi jrista nie są takie same w innych aplikacjach); jaki jest twój przepływ pracy?
Reid,
1
„... zachowaj JPG, który będzie prawie tak duży jak oryginalny RAW ...” +1 dla odpowiedzi Olin, która pokazuje, że nawet 100% JPEG może / powinno być zauważalnie mniejsze niż RAW.
Martin

Odpowiedzi:

37

Szczerze mówiąc, jest całkowicie anegdotyczne, że obraz JPEG powinien być cały czas eksportowany z pewnym poziomem kompresji. Stopień kompresji JPEG powinien naprawdę zależeć od przeznaczenia pliku JPEG i jego zawartości.

Poziom jakości, jaki należy wybrać podczas eksportowania obrazu do JPEG, zależy w dużej mierze od rodzaju szczegółów zawartych w obrazie. Obraz gładkiego niebieskiego nieba lub zachodu słońca z dużymi obszarami pomarańczowego gradientu powinien prawdopodobnie mieć ustawienie wysokiej jakości, 90-100. Obraz, który nie zawiera nic oprócz skomplikowanych szczegółów, prawdopodobnie mógłby uciec z ustawieniem jakości 50–60, a może nawet niższym. Nie ma jednego „najlepszego” ustawienia kompresji JPEG, a w zależności od rodzaju i złożoności szczegółów (lub braku złożoności i szczegółów) może się okazać, że stosujesz 40-60, 70-80 lub 90-100 odpowiednio dla zdjęcia, które eksportujesz.

Doskonałe źródło informacji na temat wpływu kompresji JPEG na IQ można znaleźć tutaj:

Analiza ustawień jakości eksportu Lightroom JPEG

Ta strona demonstruje kompresję JPEG od najniższych do najwyższych ustawień w dyskretnych zakresach dla serii przykładowych obrazów o różnej zawartości. Obserwując każdy obraz na każdym poziomie kompresji, można wyraźnie zobaczyć, dlaczego w niektórych przypadkach może być wymagane wyższe ustawienie, takie jak 90-100, a niższe ustawienie, takie jak 40-60, jest całkowicie akceptowalne dla innych.

Na marginesie, jeśli zapisujesz plik JPEG do dowolnego celu drukowania lub do oglądania na ekranie w dużym rozmiarze (tj. Jako tapetę na ekranie 30 "2560 x 1600), nie ma powodu, aby nie używać najlepszego dostępne ustawienie jakości. Podczas zapisywania w Internecie kompresuj jak najwięcej, bez wprowadzania widocznych artefaktów kompresji. Różne klasy obrazów będą regularnie podlegać pewnym poziomom kompresji JPEG (strona, do której prowadzi link powyżej, może pomóc dowiedzieć się, gdzie się mieszczą) ... więc to może szybko stać się drugą naturą, aby wiedzieć, jakiego poziomu kompresji należy użyć podczas zapisywania różnych obrazów w Internecie.

jrista
źródło
1
Nie wiedziałem, jak działa kompresja jpg. Twoja odpowiedź (i link) zapewniła dobry wgląd. Wcześniej myślałem, że zdjęcia z większą ilością szczegółów wymagają wyższej jakości. twoja odpowiedź była bardzo pomocna.
santiagozky
9

Dyski są obecnie dość tanie, więc pliki JPEG mają zalety, nawet jeśli są tak duże jak oryginalny RAW, natychmiastowy podgląd obrazu, który można wyświetlać na komputerach bez oprogramowania RAW.

Parametr „jakość” określa macierz kwantyzacji używaną do kompresji danych. Bez wchodzenia w zbyt wiele szczegółów określa to stopień przybliżenia częstotliwości zawartych w obrazie w celu uzyskania kompresji. Należy zauważyć, że nie ma bezpośredniej zgodności między „jakością” a ostatecznym rozmiarem.

Dlatego jakość określa jedynie, jaka część informacji o obrazie zostanie utracona, jeśli obraz, który zawiera więcej informacji na początek (w zakresie szczegółów wysokiej częstotliwości), otrzyma większy plik JPEG, nawet przy tych samych ustawieniach jakości. Dlatego nie ma ustawienia globalnego, którego można użyć, jeśli chcesz pliki o określonym rozmiarze, musisz dostosować jakość każdego obrazu.

Alternatywnie możesz użyć wyższego ustawienia dla obrazów z bardziej szczegółowymi szczegółami (lub szumem - szum nie kompresuje się dobrze, więc może powodować więcej artefaktów). Jeśli robisz jednorazowy obraz, użyłbym dowolnego programu, który dał ci podgląd skompresowanego obrazu (robi to Photoshop) i grał z tą wartością, aż uzyskasz pożądaną jakość przy rozsądnym rozmiarze.

Nigdy nie archiwizuję w formacie JPEG, zawsze zachowuję oryginalne pliki RAW, więc za każdym razem, gdy tworzę plik JPEG, jest on wyświetlany na ekranie. W Photoshopie zaczynałem od jakości 7 (z 12), chyba że zauważyłem artefakty, wtedy ją zwiększałem. Potem przeniosłem się na 9/12 jako moją domyślną jakość. Ponieważ prędkości połączeń internetowych i pamięci masowej rosły znacznie szybciej niż rozdzielczości ekranu, obecnie używam po prostu 11 (jeden krok w dół od maksimum, gdy wybierzesz 12), i nie martw się o to.

Wysyłając zdjęcia do wydruku, jeśli muszą to być pliki JPEG, używam najwyższej jakości, jaką mogę, chyba że drukarnia narzeka. Ciężko pracowałeś nad obrazem, nie ma sensu obniżać jakości, aby skrócić czas przesyłania o kilka minut.

Matt Grum
źródło
1
Nie jestem pewien, co dokładnie masz na myśli przez to, że „Dyski są obecnie dość tanie, więc istnieją zalety plików JPEG ...” Wygląda na to, że mogła być literówka?
dreszcze42
@ chills42 Bez literówki pytający zapytał, czy warto zachować JPEG wysokiej jakości, nawet jeśli był prawie tak duży jak plik RAW. Jeśli martwisz się o miejsce na dysku, powinieneś zachować tylko plik RAW i generować wysokiej jakości plik JPEG, gdy tylko go potrzebujesz (do drukowania itp.), Ale ponieważ ilość miejsca na dysku stanowi obecnie mniejszy problem, myślę, że istnieją zalety pliku JPEG + RAW, ponieważ format archiwalny.
Matt Grum,
6

Użyj 90, a najlepiej 95. Z mojego doświadczenia wynika, że ​​zwiększenie rozmiaru przy użyciu czegokolwiek poniżej 90 w większości przypadków nie jest już korzystne w stosunku do zauważalnej utraty jakości i powinno być stosowane tylko na bardzo specyficznych obrazach, które mogą skorzystać z kompresji JPEG i / lub musisz pozostać poniżej maksymalnego rozmiaru pliku (np. obrazy użyte podczas budowy strony internetowej).

Kompresja JPEG niższa niż około 75 z pewnością pokaże widoczne artefakty.

pleinolijf
źródło
1
To naprawdę zależy od zawartości obrazu. Zgadzam się, że jeśli istnieją znaczne gładkie gradienty lub płaskie powierzchnie, 90 jest prawdopodobnie granicą. Jednak na obrazach pełnych skomplikowanych szczegółów można uzyskać znacznie mniej niż 90 ... nawet 75 lub mniej, bez łatwo zauważalnych strat w IQ.
jrista
Jakość jest różna w różnych programach; czy możesz dodać część tego kontekstu do swojej odpowiedzi?
Reid,
@OlafM: rzeczywiście nie byłoby. I nie byłoby też pytania. Dlatego właśnie wspomniałem: „z własnego doświadczenia”; to subiektywne pytanie.
pleinolijf
3

Utrzymuję suwak jakości jpeg na poziomie 100% dla moich „zmian” i dlatego stracę mniej szczegółów, zanim strona internetowa i tak go skompresuje. Jeśli umieszczę go na własnej stronie za pośrednictwem ftp, mogę wybrać 90% i podać miniaturę. 80% osób oglądających zdjęcia online ma szybką DSL.

Oto test jakości od lewej do prawej: 10,20,30,40,55,70,80,90,90,100% Pokazuję uprawy z każdego pliku.

Rozmiary plików dla pełnych plików to: 210k, 278k, 347k, 477k, 601k, 709k, 987k, 1,7M, 7M.

Surowy plik miał rozmiar 8 MB, ale pamiętaj, że jest to w zasadzie obraz monochromatyczny i mniejsza miniatura oraz trochę metadanych. BMP wynosi 30,5 Mb!

Dla mnie różnica między 100 a 90 jest zauważalna, ale bardzo niewielka. Ale nigdy nie zejdę poniżej 100%, jeśli istnieje szansa, że ​​chciałbym go otworzyć i dalej przetwarzać. poniżej 100% to umowa „na zawsze”.

Od 90 do 80 różnica jest większa, a 70% zaczyna wyglądać jak bzdury. Więc mój wniosek jest taki: dla kopii zapasowej i ewentualnego ponownego otwarcia 100%, jeśli chcesz zaoszczędzić trochę miejsca / czas przesyłania / DL i nie zostanie przepakowany: 80-90%.

Test JPEG

Spójrz na różnice w szczegółach w pliku BMP

Michael Nielsen
źródło
Czy jest jakaś szansa na zrobienie tego z obrazami różnych typów? Jedyny powód, dla którego 70% zaczyna (nie powiedziałbym, że to bzdura), aby wykazać utratę IQ, to z powodu gradientu nieba w tle ... które są najgorszymi rodzajami regionów dla stratnej kompresji w stylu jpeg. Obrazy, które zawierają złożone szczegóły i mało gładkich powierzchni lub nie mają ich wcale, można kompresować w znacznie większym stopniu i nadal wydają się one całkowicie akceptowalne.
jrista
1
ale kadr obrazu zawiera dwie skrajności, dzięki czemu można ocenić straty na gradiencie, a także słomki. I dla mnie nawet łaty trawy wyglądają na zdegradowane w 70%. Po co akceptować niepokojące artefakty w świecie, w którym nie trzeba nigdy oszczędzać 100 KB? Cóż ... może jeśli stworzysz witrynę z telefonami komórkowymi specjalnie dla osób korzystających z roamingu za granicą. Ale nawet wtedy zyskujesz więcej, zmniejszając rozdzielczość.
Michael Nielsen,
2

To, co powiedział Matt, ale chcę dodać, że JPEG ma wbudowane dwa schematy kompresji. Pierwszy oparty jest na dyskretnym cosinusie , który pozwala na wyrzucenie niektórych składników częstotliwości obrazu. Jest to kompresja stratna z parametrem „jakość”, która może kompresować kompresję z wiernością. Przy maksymalnej jakości ten schemat kompresji jest w większości wyeliminowany.

JPEG wykorzystuje również kodowanie huffmana dla dodatkowej kompresji. Jest to schemat bezstratny, więc zawsze istnieje, bez potrzeby kontrolowania go.

Tak więc nawet przy maksymalnej „jakości” JPEG będzie miał przydatną kompresję. Właśnie porównałem rozmiary jednego przykładowego obrazu zwykłej sceny. Surowy plik Nikon NEF ma rozmiar 26 Mb, który zawiera 14 bitów / piksel i jest nieskompresowany. Moja przetworzona wersja JPEG zapisana z maksymalną jakością to 9,1 Mb. Zawiera 24 bity / piksel, chociaż oczywiście niektóre informacje są tracone, a inne informacje interpolowane na podstawie wartości z pierwotnego surowego obrazu. Ten sam post-przetworzony obraz przekonwertowany do pliku TIFF z LZW i kompresją różnicowania w przód (oba bezstratne) spowodował 20,3 Mb.

W ostatnim eksperymencie skopiowałem przetworzony plik 9,1 Mb i wynikowy z niego plik TIFF do plików JPEG z ustawieniem maksymalnej jakości. Oba powstałe pliki JPEG mają dokładnie ten sam rozmiar do bajtu około 8,5 Mb. To pokazuje, że nawet przy maksymalnej jakości trwa tylko trochę stratnej kompresji, ale niewiele. Dowodzi to również tego, że żadne informacje nie zostały w ogóle utracone podczas przechodzenia do pliku TIFF.

Podobnie jak Matt, archiwizuję oryginalne pliki RAW z aparatu. Zarchiwizowałem również moją wersję ogólnego przeznaczenia jako JPEG z maksymalną jakością. Nawet podglądanie pikseli przy wysokim kontraście i ostrych krawędziach nie ujawnia artefaktów kompresji ludzkiej gałce ocznej. Lubię mieć przetworzone zdjęcie w formacie JPEG, ponieważ jest to prawdopodobnie najbardziej użyteczny format. Jeśli występuje problem i chcę czegoś innego, zawsze mam nieprzetworzony plik, aby uzyskać inną wersję po przetworzeniu z różnymi kompromisami.

Kiedyś używałem 80 jako domyślnego poziomu jakości moich zdjęć JPEG (moje oprogramowanie ma 0-100 dla swojego zakresu jakości), ale ostatnio używam 100 jako domyślnego, chyba że istnieje szczególna potrzeba mniejszego rozmiaru pliku. Zwykle nie ma. Poszedłem tak daleko, jak zmieniłem domyślny sterownik obrazu JPG w kodzie źródłowym, więc nie muszę ciągle określać poziomu jakości. To nie jest tak, jak w dawnych czasach, gdy Gb było dużo pamięci. (Właściwie jestem wystarczająco dorosły, aby pamiętać, że 1 Mb to przyzwoita ilość miejsca na dysku, ale wtedy też nie robiliśmy zdjęć cyfrowych).

Olin Lathrop
źródło
3
„dyskretny cosinus” sam w sobie nie jest formą kompresji, jest transformacją w przestrzeń częstotliwości. W JPEG współczynniki częstotliwości są następnie poddawane kwantyzacji (dzielenie liczb całkowitych), które zerują niektóre z nich, przed bezstratną kompresją z kodowaniem długości przebiegu, a następnie kodowaniem Huffmana. Chodzi o to, że dyskretna transformacja kosinusowa sama w sobie jest bezstratna, wszystkie straty występują podczas kwantyzacji. Przy ustawianiu jakości na maksimum kwantyzacja skutecznie zaokrągla jedynie współczynniki (które są liczbami rzeczywistymi) z DCT, jednak dane są nadal tracone (aczkolwiek prawie niewidocznie).
Matt Grum,
@Matt: Tak, masz mnie. Byłem niedbały z matematyką i przerobiłem zdanie. Jestem pod wrażeniem, że tutaj, na stronie z fotografią, jest wystarczająca techniczna kontrola, aby to złapać. Zwykle nie spotykam fotografów, którzy zwracali uwagę na zajęciach z przetwarzania sygnałów, jeśli w ogóle uczestniczyli w nich. Mój błąd.
Olin Lathrop,
Jestem prawie pewien, że nieprzetworzony plik nie zawiera 14 bitów / piksel. Gdyby tak było, przejście na RGB z ośmioma bitami na kanał (24 bity / piksel) dodałoby możliwą wierność kolorów, a RAW straciłby swoją największą zaletę. Może jednak zawierać 14 bitów danych na fotoreceptor . Jest również prawdopodobnie bezstratnie skompresowany. (Można to łatwo zweryfikować, patrząc na rozmiary plików różnych ujęć: jeśli nie są one bardzo zbliżone, wiąże się to z pewnym poziomem kompresji. Surowe pliki z mojego EOS 50D mogą łatwo różnić się między ~ 18 a ~ 25 MB , wskazując, że kompresja została wykonana.)
CVn,
@Michael: Nie rozumiem, jak możesz być tak pewny mojego pliku RAW, skoro nie wiesz, jakich ustawień używam, a nawet z jakiego aparatu pochodzą. Dane obrazu w tych nieprzetworzonych plikach są nieskompresowane i zawierają 14-bitową informację czujnika dla każdego piksela. Każdy piksel ma tylko jeden kolor. Wyszukaj coś, co nazywa się „matrycą Bayera”. 14-bitowe piksele są w rzeczywistości przechowywane jako 16-bitowe słowa, więc obraz 4288 x 2844 jest przechowywany w 24,4 MB. Pliki te zawierają inne informacje o zmiennej długości i zwykle mają rozmiar blisko 26 MB.
Olin Lathrop,
Wiem o matematyce Bayera i ich zastosowaniu w kolorowej fotografii cyfrowej. Chodzi mi o to, że jeśli nieprzetworzony plik zawiera 14 bitów na piksel , wówczas JPEG lub TIFF 24 bity na piksel byłyby w stanie przechwycić wszystkie te informacje, ponieważ zwiększyłyby dostępną przestrzeń kolorów - i nawet nie wiedząc, jaki aparat używasz, czuję, że to dość bezpieczny zakład, że tak nie jest. I mam ~ 18 MiB 4770 × 3177px surowych plików z 14-bitowej kamery ADC, co wymagałoby co najmniej ~ 25,3 MiB do przechowywania nieskompresowanego (4770 × 3177 × 14/8). 30% oszczędności znajduje się w obrębie boiska dla pewnej formy bezstratnej kompresji.
CVn
1

Aby uzyskać najlepszy możliwy kompromis między kompresją a jakością, musisz wypróbować każdy obraz z różnymi kompresjami, aby sprawdzić, gdzie jakość jest akceptowalna. Jeśli nie chcesz tego robić dla każdego obrazu, możesz wypróbować kilka obrazów, a następnie przejść z tym poziomem kompresji i zaakceptować, że poziom jest wystarczająco zbliżony.

Jako punkt wyjścia:

  • jakość 60: dobra do Internetu
  • jakość 80: dobra do drukowania online

Na co zwrócić uwagę, aby znaleźć artefakty kompresji JPEG:

  • Każdy blok 2x2 pikseli ma ten sam odcień koloru, więc wzdłuż bardzo ostrych granic między kontrastującymi kolorami można uzyskać krwawienie kolorów przez granicę.
  • Kompresja opiera się na blokach gradientów 8x8, więc przy mniejszej kompresji widać, że bloki zaczynają się pojawiać.
  • Gdy ostry kontrast pojawia się w pobliżu gładkiego obszaru, na przykład linii drzew na tle nieba, kompresja jest najbardziej widoczna, w postaci zmarszczek w gładkim obszarze.
Guffa
źródło
Bardzo subiektywne. Z łatwością widzę każdą kompresję poniżej 85, więc tego używam do korzystania z Internetu. Do druku co najmniej 96.
Itai
@Itai: Jeśli nie chcesz, aby kompresja była w jakikolwiek sposób widoczna, nie powinieneś używać kompresji JPEG. Nawet na poziomie 100 nadal masz artefakty kompresji.
Guffa,
Przy 100 są mierzalne, ale nieistotne. Nie widzę ich w wieku 96 lat i więcej bez przyjrzenia się zdjęciu. Do korzystania z Internetu jest to naprawdę potrzebne, w przeciwnym razie obrazy stają się zbyt ciężkie, a strony wolniej.
Itai
jeśli Twoja witryna i tak go zapakuje, prześlij plik źródłowy o jakości 90–100%.
Michael Nielsen,
@Itai: Wygląda na to, że sam sobie przeczysz. Użycie wysokiego poziomu jakości zwiększy rozmiar pliku, co spowalnia działanie witryny.
Guffa,