Strona główna Fora Foto Obróbka i archiwizacja zdjęć Edycja plikow JPEG jako RAW – wady i zalety

Edycja plikow JPEG jako RAW – wady i zalety

Obróbka i archiwizacja zdjęć

Member

Naturalnie mowa o sytuacji gdzie mamy dostepny jedynie plik JPEG jako oryginal i chcemy otowrzyc go np. w Photoshopie jako plik RAW aby uzyskac dostep do interfejsu korekty dla plikow RAW. Osobiscie preferuje ten sposob przy edycji balansu bieli ale zastanawialem sie czy sa jakies szczegolne przeciwskazania dla tej metody. Czy pliki ulegaja dalszej kompresji (a wiec stracie informacji) przy zapisie/wywolaniu ponownie do formatu JPEG po zakonczeniu edycji?

Member

Każda edycja JPEG’a wpływa na jego jakość bo ten format jest kompresowany stratnie – przy zapisie część informacji jest bezpowrotnie tracona. Nie ma znaczenia czy robisz z niego bmp, tiff czy raw pewne informacje będą mogły być co najwyżej zgadnięte, mniej lub bardziej trafnie.

A co do metody: JPG -> RAW -> JPG to wg mnie działanie nieco na około. Są edytory, które potrafią zmienić temperaturę barwową zdjęcia w jpg (nawet Picasa ma wygodny suwak). Jakości to nie poprawi, ale może będzie wygodniej.

BTW: Czym robisz konwersję jpg->raw? Co powstaje? DNG?

Member

W photoshopie otwieram komenda Open As i w menu wybieram format Camera Raw ktory uwzglednia rozne formaty raw. Wyglada na to ze Photoshop sam pobiera informacje z EXIF i konwertuje plik do formatu uzywanego przez danego producenta aparatu. Ale sprawdze to ostatnie jeszcze.

Keymaster

Nie ma takiej magii. RAW jest formatem, gdzie dane są niezdemozaikowane i 16-bitowe (tak naprawdę 12- lub 14-bitowe), a JPEG jest zdemozaikowany i 8-bitowy. Nie ma możliwości odtworzenia w JPEG-u informacji, których tam nie było. Edytujesz dane z JPEG-a, co najwyżej za pomocą narzędzi w CameraRAW – co może być wygodne, jeśli lubisz i znasz suwaczki w rawerze, ale nie daje Ci większych możliwości, niż masz przy edycji JPEG-a.

Member

Piotrze, ja doskonale rozumiem ze nie mozna odzyskac zafnych informacji otwierajac JPEG jako RAW. Pytanie bylo raczej czy po ukonczeniu edytowania takiego zdjecia przy probie zapisu z powrotem do formatu JPEG nie zostaje ono ponownie skompresowane przy uzyciu tych samych algorytmow. Innymi slowy czy koncowy wynik bedzie lepszy jesli na przyklad otworze JPEG jako JPEG zamiast RAW i tak bede go edytowac czy w tym przypadku jest to bez znaczenia.

Member

W tą stronę nie ma problemu. Nic mniej nie oddasz przy ponownym zapisie na jpg. W drugą stronę to kaszana… Zmaściłem nie dawno sesję dla klienta, a zapis robiłem na jpg. Wszystko wyciągnąłem w rawerze. Choć to tylko z powodu wygody i przyzwyczajenia, wolę suwaczki przy takiej korekcie niż zabawę na wykresach… szybciej. Fotki w dużym powiększeniu były jak żyleta… Najważniejsze, by klient był zadowolony ;)

Member

Nie zapominajmy rowniez o tym, ze nie wszystkie funkcje w Camera RAW sa dostepne przy obrobce plikow jpg.

Member
Jerry wrote:
Nie zapominajmy rowniez o tym, ze nie wszystkie funkcje w Camera RAW sa dostepne przy obrobce plikow jpg.

nie zauważyłem… raczej problem z otwarciem ich w rawerze występował, gdy ich waga była po niżej pewnego progu, wówczas zapis jpg na tiff był lekarstwem na tę bolączkę.

Member

Chodzi mi o konkretne funkcje. Np. balans bieli. Nie wszystkie automatyczne ustawienia balansu bieli sa dostepne dla plikow JPG. No i jeszcze pare innych.

Member
Jerry wrote:
Chodzi mi o konkretne funkcje. Np. balans bieli. Nie wszystkie automatyczne ustawienia balansu bieli sa dostepne dla plikow JPG. No i jeszcze pare innych.

Nie wiem, u mnie chodzi

Member
ogotaj wrote:
czy koncowy wynik bedzie lepszy jesli na przyklad otworze JPEG jako JPEG zamiast RAW i tak bede go edytowac czy w tym przypadku jest to bez znaczenia.

I tak otwierasz jpeg jako jpeg, tyle że w programie do rawów. Czyli: bez znaczenia.

Member

No to ja się podepnę do tego tematu z pytaniem które mnie męczy. Czy robiąć kopię oryginału jpeg i z tej kopi kolejną kopię jpeg to czy ta kolejna kopia zapisuje sie bez strat?

Member
eteter wrote:
No to ja się podepnę do tego tematu z pytaniem które mnie męczy. Czy robiąć kopię oryginału jpeg i z tej kopi kolejną kopię jpeg to czy ta kolejna kopia zapisuje sie bez strat?

Jeśli kopiujesz pliki jpeg bez dekompresji i ponownej kompresji (eksplorator Windows, Total Commander itp. itd.) – nie tracisz jakości.
Jeśli otwierasz plik jpeg (*.jpg) w edytorze graficznym i zapisujesz go za pomocą File -> Save as (czyli tworząc nową kopię obrazu w postaci pliku na dysku) – dokonujesz kompresji i “kopia” zapisuje się ze stratami.

Member
marek.puszczalo wrote:
eteter wrote:
No to ja się podepnę do tego tematu z pytaniem które mnie męczy. Czy robiąć kopię oryginału jpeg i z tej kopi kolejną kopię jpeg to czy ta kolejna kopia zapisuje sie bez strat?

Jeśli kopiujesz pliki jpeg bez dekompresji i ponownej kompresji (eksplorator Windows, Total Commander itp. itd.) – nie tracisz jakości.
Jeśli otwierasz plik jpeg (*.jpg) w edytorze graficznym i zapisujesz go za pomocą File -> Save as (czyli tworząc nową kopię obrazu w postaci pliku na dysku) – dokonujesz kompresji i “kopia” zapisuje się ze stratami.

No dobrze Marku ale mysle ze musimy to troche sprecyzowac. Tzn. gdybysmy wzieli plik JPEG przedstawiajacy slonia i zdekompresowali go i zkompresowali tysiac razy to obrazek nie bedzie przedstawial w efekcie kwiatka. Tak wiec realna strata informacji (zakladajac te same parametry kompresji i dekompresji) objawia sie tylko na samym poczatku a pozniej to juz w zasadzie np roznice przy interpolacji pojedynczych pikseli ktore nie wplywaja w znaczacym stopniu na jakosc pliku.

Member

Kwiatka na pewno nie, tylko pytanie, czy to nie będzie słonica ;)
Sprawdzałeś to naocznie? Mnie się nie chciało, ale znajomy kiedyś robił próbę z 20-krotnym zapisem i odczytem jpega. No i wyszła mu niezła kaszana, nawet przy minimalnej i zawsze tej samej kompresji. W sumie, “tysiąc razy” to czysta teoria – normalnie przecież chodzi raczej o rekompresję najwyżej kilkukrotną.

Member
Ewa wrote:
Kwiatka na pewno nie, tylko pytanie, czy to nie będzie słonica ;)
Sprawdzałeś to naocznie? Mnie się nie chciało, ale znajomy kiedyś robił próbę z 20-krotnym zapisem i odczytem jpega. No i wyszła mu niezła kaszana, nawet przy minimalnej i zawsze tej samej kompresji. W sumie, “tysiąc razy” to czysta teoria – normalnie przecież chodzi raczej o rekompresję najwyżej kilkukrotną.

Ewo, przyznaje ze nie sprawdzalem ale jesli jest tak jak mowisz to wskazywaloby na to ze niejako entropia ukladu wzrasta przy kadej kolejnej kompresji. Moze mam zbyt wyidealizowane wyobrazenie o algorytmach kompresji ale w takim razie oznaczaloby ze sa one dosc niedopracowane.

Member

Przydałby się ktoś bardziej “wewnętrznie” zaznajomiony z algorytmami kompresji i specyfikacją JPEG. Z moich ostatnich, trochę mimowolnych doświadczeń (automatyczne zapisywanie pliku z kompresją 20, gdzie 1 to najlepsza jakość, a 100 – największa kompresja) wynika, że po trzech takich zapisach zdjęcie około 2,5 megapikselowe nadaje się tylko do skasowania.

Member

Cześć.
Zrobiłem następujący eksperyment: napisałem w PHP (v 5.3.8, GD2 v 2.0.34) skrypt, który rekompresuje w pętli dany plik jpeg z zadaną jakością.
Pełni on rolę analogiczną do wykonywania w kółko dwóch funkcji edytorów graficznych: Otwórz – Zapisz jako…
Skrypt w podwójnej pętli wykonał następującą czynność: dla dwóch plików źródłowych (zdjęcie 200×300 px powstałe z przeskalowania zdjęcia 2848×4272 z canona EOS 450D, Średnia Jakość, oraz grafikę syntetyczną 200×300 px przedstawiającą zielony, powtarzający się napis na żółtym tle, zapisaną pierwotnie z domyślną wartością biblioteki GD2, ok. 75) zapisał na dysk 1, 10, 100 i 1000 iterację cyklu odczyt-zapis z wartościami jakości zapisu: 10, 50, 90, 100. W wyniku powstały dwie dwuwymiarowe matryce plików, które sobie wyświetliłem w tabelce HTML.
Efekt możecie zobaczyć pod tym adresem

Wyniki moich obserwacji są następujące:

1. Zdjęcie Maciek.jpg.
Obserwacje:
Dla niskich wartości jakości (10, 50) decydujący jest pierwszy zapis. Praktycznie od pierwszej iteracji plik przyjął ostateczny wygląd i ostateczny rozmiar w bajtach.
Wraz ze wzrostem jakości (90, 100) jakość wizualna i wielkość pliku stabilizowała się na ok. 10 iteracji. Pojawia się “blokowa pikseloza” (charakterystyczna dla kompresji opartej na Dyskretnej Transformacie Kosinusowej – DCT).
Istotne jest, że dla jakości 90 wielkość pliku jest znacznie mniejsza niż dla jakości 100 przy niezauważalnym spadku jakości wizualnej zdjęcia.
Wnioski:
– przy jakości >=90 nie dostrzegam różnic wizualnych aż do 1000 iteracji,
– dla niskich wartości jakości istotna jest utrata jakości wizualnej przy pierwszej iteracji.
– spadek jakości znacznie redukuje wielkość pliku (dla jakości 10): 14x w stosunku do pliku oryginalnego, 51x w stosunku do odpowiedniej bitmapy, 180kB,
– dla jakości 100 spadek wielkości jest znacznie mniejszy: 1,15x w stosunku do oryginału.

2. Plik syntetyczny.
Obserwacje:
Przy niskich wartościach jakości (10, 50) stabilizacja wielkości i jakości wizualnej nastąpiła przy 10 iteracji.
Zwiększając wartość jakości do 90 i 100 stabilizację uzyskałem przy iteracji 100.
Tu również można dostrzec zasadniczą zależność między wielkością pliku a jakością jpeg.
Wnioski:
– dla jakości 100 dostrzegam stały spadek jakości wizualnej obrazu (spadek kontrastu i nasycenia tekstu, z delikatnymi artefaktami typu “mgiełka”),
– przy jakości 90 spadek kontrastu i nasycenia tekstu jest mniejszy, ale pojawiają się artefakty gruboziarniste,
– jakość 50 daje znaczny udział artefaktów gruboziarnistych (ocierających się o “pikselozę”) z minimalną utratą kontrastu i nasycenia,
– jakość 10 odznacza się zdecydowaną zawartością artefaktów grubych z jednoczesnym nieznacznym spadkiem kontrastu i nasycenia.
Ciekawostka:
– wg mnie w kolejnych iteracjach wygląd obrazu jest lepszy przy niższej jakości (90) w stosunku do obrazów o jakości 100,
– czytelność tekstu jest zachowana nawet przy bardzo niskich wartościach jakości plików jpeg.

Oczywiście analiza powyższa jest bardzo wybiórczym i jednostronnym spojrzeniem na zagadnienie wielokrotnej rekompresji plików jpeg i wiele jej można zarzucić. Z przyjemnością poznam uwagi, wnioski i propozycje dotyczące tego testu. Zdaję sobie sprawę, że różne programy stosują różne wersje algorytmu kompresji i dekompresji jpeg i powyższe testy mogą wyglądać zdecydowanie inaczej w różnych konfiguracjach software-owych, ale jej zaletą jest łatwe osiągnięcie bardzo dużych ilości iteracji. Jeśli uznacie, że w opis ten wkradł się “bełkot”, proszę również o zwrócenie mi na to uwagi.

Zastanawiam się nad:
– przeprowadzeniem podobnego testu dla plików png,
– wystawieniem formularza HTML umożliwiającego samodzielne przeprowadzenie testu, ale muszę uważać na wykorzystanie zasobów serwera (hosting home.pl), ponieważ wygenerowanie w/w testu na komputerze lokalnym (laptop, Intel Core 2 T5500 1,66 GHz, 2GB RAM) zajęło 282 sekundy,

Chętnym udostępnię skrypt do samodzielnych eksperymentów.

Pozdrawiam.

Member

O rany, dzielny jesteś.
Moje wnioski z oglądu obrazków:
1. zdjęcie
Zdjęcie jest za małe. Mógłbyś wrzucić w ten skrypt zdjęcie w jakiejś w miarę normalnej rozdzielczości aparatowej i zobaczyć, co wtedy wyjdzie? Chodzi o drobne detale (włosy, tekstury) ale też o zachowanie gładkich powierzchni oraz to, co wychodzi zwykle przy kompresji wokół krawędzi. Na malutkich plikach zmiany mogą mieć inne znaczenie, niż na dużych. A zmiany są widoczne, nawet przy jakości 90. Przy 100 już bym się nie przejmowała, choć też trochę są.
Zdjęcie “oryginalne” jest już skompresowane jpeg-owo, FastStone twierdzi, że z kompresją (jakością) 92. Wydaje mi się, że to utrudnia dalsze porównywanie. Jak się je dobrze powiększy, to widać artefakty :)
2. literki na tle
Jeśli ktoś potrzebuje dowodu, że obrazki zmieniają się w miarę zwiększania liczby zapisów jpg, to tu widać to świetnie. Nawet przy jakości 100. Potwierdza się zalecenie, żeby grafiki zawierające tekst zapisywać raczej jako GIF.

Wnioski ogólne: w praktyce fotograficznej istotny jest raczej nie setny zapis, tylko pierwszy, drugi, no może do piątego. I to, do którego punktu można się posunąć bez strachu o zniszczenie pliku? Sprawdzanie do tysiąca zapisów jest ciekawe, ale właśnie raczej jako ciekawostka.

Member

Acha, no i jeszcze jest wniosek, że niskie wartości Jakości są nieakceptowalne już od pierwszego zapisu :) ale to dość oczywiste.

Member

Wow,no marek.puszczalo “odwaliłeś” kawał roboty. Zdjęcia “mówią” same za siebie. Wynika mi z nich że nie należy kombinować z wielokrotnymi zapisami jpeg i basta.

Member

w poligrafii stosuje się wyłącznie pliki tif (czasem z kompresją LZW) Ostatnio zacząłem to olewać, i też nie było źle… ale po tym eksperymencie wracam do tifów… dzięki Marek za uświadomienie i przypomnienie o problemie… ;)

Member
all wrote:
Jerry wrote:
Chodzi mi o konkretne funkcje. Np. balans bieli. Nie wszystkie automatyczne ustawienia balansu bieli sa dostepne dla plikow JPG. No i jeszcze pare innych.

Nie wiem, u mnie chodzi

Jak np. otworzysz plik w JPG w Camera Raw to przy funkcji White Balance masz tylko trzy mozliwosci: As shot, Auto, Custom, natomiast przy plikach RAW dochodzi jeszcze: Daylight, Cloudy Shade, Tungsten, Fluorescent i Flash.
Ja mam Camera Raw 6.2. To tylko jeden z przykladow.

Member
Ewa wrote:
O rany, dzielny jesteś….

Witam.
Ewo, jeśli chodzi o plik z tekstem, jak widać, większego pliku już nie potrzebujemy do demonstracji. W związku z tym pominąłem go w kolejnym eksperymencie.

Co do pliku z “normalnym obrazem”, wywołałem dwa RAW-y (ściślej: odpowiednio jeden sRAW i jeden RAW) (z jakością jpeg 10/10, lekkie wyostrzanie i podrasowanie, a także przeskalowanie) i poddałem je “stress testom”.

Niestety, musiałem zejść z rozdzielczością do 1200×800 ponieważ przy natywnych rozdzielczościach wariował zarówno komputer podczas iteracji, jak i przeglądarki, które miały wyświetlać tabelkę (przynajmniej u mnie). Prezentacja nie wygląda już tak ładnie, jak poprzednia, ale może bystre oko zauważy różnice między oryginałami a efektami iteracji. Na jpeg-ach z jakością 50 widoczne są one bardzo wyraźnie (szczególnie na niebie).

Generalnie wygląda na to, że przy wywoływaniu RAW-ów, jeśli nie planujemy dalszej edycji zdjęć, to można sobie pozwolić na jpeg-a na wyjściu (przy maksymalnej dostępnej jakości jpeg w rawerze). Problem polega na tym, że zejście z jakością e 100 do 95 zdecydowanie zmniejsza objętość pliku wynikowego z nieznacznym spadkiem jakości wizualnej (co jest niebagatelne, jeśli nasze zbiory zdjęć są, powiedzmy, bardzo duże).
Jeśli jednak planujemy postprodukcję, to zdecydowanie warto wywoływać do tiff-ów, a dopiero w celu prezentacji konwertować do jpeg (czym potwierdzam uwagi kol. Etetera i Alla, oraz twoje, oczywiście).

Inna sprawa, gdy materiałem wejściowym jest jpeg. Wtedy wygląda na to, że warto wejść w ustawieniach kamery na najwyższe rozdzielczości i najwyższe jakości jpeg-ów (nawet kosztem szybkości zapisu na kartę i/lub długości serii – większe pliki, chyba że jakość nie jest kluczowa, a szybkostrzelność – krytyczna)

Gdyby ktoś miał ochotę przetestować swoje zdjęcie w różnych kombinacjach jakości i ilości iteracji – zapraszam do korespondencji.

Dobranoc :-)

Viewing 23 reply threads
  • You must be logged in to reply to this topic.