Dlaczego większość kamer nie obsługuje formatu PNG?

56

Wolę format PNG od JPG, ponieważ JPG używa kompresji stratnej .

Kiedy robię zrzut ekranu na komputerze lub skanuję obraz lub dokument w skanerze, zawsze zapisuję je w formacie PNG.
Gdyby aparat mógł zapisać dane w formacie PNG, skorzystałbym z tej funkcji, nawet gdybym musiał kupić więcej kart pamięci.

Ale nie widziałem żadnej kamery, która by to zrobiła. Dlaczego nie? Dlaczego większość (lub dowolne) aparaty nie obsługują formatu PNG?

PS Mój aparat nie obsługuje RAW.

Benzoes
źródło
7
Wiele obsługuje TIFF, który również obsługuje bezstratną kompresję. Ale wtedy pojawia się pytanie „Dlaczego większość przeglądarek internetowych nie obsługuje TIFF?”
mattdm
3
Wolisz PNG niż JPG dla fotografii? Nie widziałem wcześniej takiego argumentu.
dpollitt
1
To ironiczne, że podany link używa png jako przykład stratnej kompresji :)
Toby Allen
6
@JZL Chociaż PNG obsługuje palety kolorów (kolor indeksowany), nie wymaga ich. Jestem pewien, że mówimy tutaj o starym dobrym 24- lub 48-bitowym kolorze RGB. Z kolei GIF obsługuje tylko indeksowany kolor i jest ograniczony do 256 kolorów w palecie.
coneslayer
2
@Pacerier Większość z nich. Zamiast wpisu sprawdź tabelę na wikipedii .
mattdm,

Odpowiedzi:

58

Format JPEG ma tę zaletę, że daje małe pliki. Zalety formatów RAW polega na zachowaniu wszystkich danych zebranych podczas ujęcia.

Format PNG nie daje żadnej z tych zalet, więc nie dostajesz nawet kompromisu między innymi formatami, masz prawie tylko wady obu formatów.

Guffa
źródło
3
Należy tutaj zauważyć, że nie ma „formatu RAW”. Więc jeśli Benjamin chciał standardu, musiałby przekonwertować swój RAW na DNG.
Leonidas
Tak, RAW oznacza tylko wewnętrzny format aparatu i różni się w zależności od aparatu. Niedawno użyłem kamery, której surowy format obejmował dwa bajty na piksel i kilka tysięcy dodatkowych bajtów nagłówka / stopki (ugh).
John Robertson,
Zgadzam się tutaj z Leonidasem. Prawdziwy problem polega na tym, że DNG nie jest adoptowany przez większą liczbę producentów aparatów. Jako fotografowie jesteśmy właścicielami naszych negatywów, ale nasze cyfrowe negatywy są zamknięte w zastrzeżonych formatach plików, często ze szczegółami ukrytymi pod NDA. Przyjęcie DNG zarówno przez firmę Canon, jak i Nikon może znacznie rozwiązać ten problem. Ale tak się nie stanie.
RBerteig
2
@John, użycie 2 bajtów / piksel jest nienormalne? Jak inaczej dopasowałbyś wartość 12 lub 14 bitów, jaką czujnik zapewnia dla każdego piksela? Możesz potem zrobić trochę kompresji, ale w przypadku mniej lub bardziej losowych danych może to nawet nie być tego warte.
Nick T
1
@John Robertson: Większość układów zapisuje tylko jeden kolor na piksel, a nie trzy, więc 14-bitowy RAW odpowiada 42-bitowemu RGB, po interpolacji dwóch składników koloru na piksel z otaczających pikseli.
Guffa
44

Pomijając uwagi na temat rozmiaru obrazu, głównym powodem jest to, że PNG nie ma standardowych metod osadzania EXIF, co natychmiast zniechęci twórców aparatu. W wyniku tego konwersja obrazu do formatu PNG w aparacie straciłaby wiele informacji, a większość fotografów prawdopodobnie postrzegałaby go jako negatywny.

John Cavan
źródło
7
+1 Nigdy nie zdawałem sobie sprawy, że nie było standardowego osadzania EXIF ​​dla PNG. Dobrze wiedzieć.
coneslayer
5
Najbardziej prawdopodobny powód. Metadane są fajne.
Leonidas
3
Wiki : iTXt zawiera tekst UTF-8, skompresowany lub nie, z opcjonalnym znacznikiem językowym. Fragment iTXt ze słowem kluczowym „XML: com.adobe.xmp” może zawierać Extensible Metadata Platform (XMP).
Kevin Peno,
6
Brak danych EXIF ​​byłby „postrzegany jako negatywny” przez fotografów? Bah! Ci młodzi fotografowie-bicze! Za moich czasów fotografowie używali filmu i wiedzieli, jak naprawdę wygląda negatyw! :-)
Dziwne,
4
@Oddthinking Przynajmniej negatyw miał trochę metadanych na krawędziach!
coneslayer
27

PNG może wykorzystywać bezstratny algorytm kompresji, ale jest stratny w porównaniu do surowych danych. Tracisz głębię bitów, aparat może wprowadzać artefakty odszlamiające, możesz piec w złym balansie kolorów, aparat może stosować niewłaściwe wyostrzanie, redukcja szumów w aparacie może zmyć szczegóły itp. Nie sądzę, że jest duże zapotrzebowanie dla formatu tak dużego jak surowy, ale mniej podatnego na przetwarzanie końcowe.

coneslayer
źródło
3
.Png prawie na pewno byłby większy niż surowy, ponieważ png musiałby przechowywać trzy wartości kolorów na piksel zamiast jednej surowej próbki, więc dla 8-bitowego png to 24 bity na piksel w porównaniu z 12 lub 14 bpp dla surowego.
Matt Grum,
3
@John Ale to gorsze niż surowe, z czego powinieneś korzystać do edycji. PNG wydaje się po prostu niezadowolonym medium pomiędzy JPEG a rawem.
coneslayer
5
@Matt Ponieważ PNG również używa kompresji (również), wynik wcale nie musi być większy (zależy od algorytmów). Aby zadać ci pytanie: jeśli konwertujesz plik ASCII (8 bitów na znak) na plik UTF16, czy skompresowany wynik powinien stać się znacznie większy? Jeśli odpowiesz „tak”, ponownie przeczytaj algorytmy kompresji.
Leonidas
1
@Leonidas Masz rację, ale spodziewam się, że każdy, kto poprosi o wyjście PNG (zamiast surowego), spodziewa się, że wynik będzie natychmiast przydatny poza kamerą, co oznacza, że ​​chcesz takich rzeczy, jak wyostrzanie, aby złagodzić filtr antyaliasingu i prawdopodobnie redukcję szumów. Nie jest to technicznie konieczne, ale jeśli twoje pliki PNG wymagają dalszej edycji, to znowu nie widzę przewagi nad raw.
coneslayer
2
@coneslayer Wydaje mi się, że Benjanmin ma ten sam problem, który miałem / miałem przy przerabianiu zdjęć: (1) JPG utraciło już trochę danych obrazu i (2a) RAW jest zastrzeżony (oprogramowanie dostępne od jakiegoś czasu), (2b) nie każdy aparat oferuje RAW. Kilka lat temu zbyt rozpaczliwie pragnąłem TIFF lub PNG w moim kompaktowym urządzeniu.
Leonidas
2

PNG to przenośna grafika sieciowa . Jest skierowany do Internetu i raczej prostych (kolorowych) obrazów. Jego kompresja jest bardzo nieskuteczna dla realistycznej grafiki, ponieważ będziesz strzelać aparatem, więc wyniki są prawie nieskompresowane. Jako taki możesz wtedy po prostu użyć plików RAW, które mają tę zaletę, że nie ma stratnej konwersji do przestrzeni kolorów RGB.

Powodem użycia JPEG jest po prostu to, że jego kompresja jest bardzo dobra i działa bardzo dobrze z bardziej realistyczną grafiką, w której poszczególne artefakty są niewidoczne dla ludzkiego oka. Ponadto JPEG jest obsługiwany przez prawie każde urządzenie i oferuje wiele sposobów dodawania dodatkowych metadanych, w tym profili kolorów.

Żaden pojedynczy format pliku RGB nie jest w stanie zapisać obrazu dokładnie tak, jak go widzi czujnik aparatu; zawsze następuje jakaś strata w tym nawróceniu. W związku z tym warto stosować format o dobrej kompresji, który tak naprawdę nie szkodzi obrazowi w całości. Jeśli szukasz prawdziwego formatu bezstratnego, RAW aparatu jest jedynym możliwym kierunkiem, z którego możesz następnie utworzyć dowolny plik.

szturchać
źródło
Strata konwersji do przestrzeni kolorów RGB? Jak to? Co dokładnie tracisz, konwertując dane czujnika Bayera (dane dodatkowe) do jednej postaci wersji RGB? (Przy okazji: PNG również zasadniczo oferuje profile ICC, FF planuje je wspierać, czytam.)
Leonidas
@Leonidas: Nie ma „przestrzeni barw” RGB. Aparat zbiera znacznie więcej informacji niż to, co jest interpretowane przez dowolną przestrzeń kolorów RGB (sRGB, Adobe RGB itp.). W związku z tym, gdy konwersja jest przeprowadzana do pliku RGB, zawsze traci się trochę informacji / kolorów. Jedynym sposobem na zachowanie tego jest zapisanie danych w sposób, w jaki postrzega je aparat, tj. RAW.
poke
@poke Czy możesz wyjaśnić, w jaki sposób typowy czujnik RGGB wytwarza dane, których nie można przekonwertować bezstratnie w żadnym formacie RGB? (Zdaję sobie sprawę, że istnieje wiele, zwróć uwagę na „jedną formę wersji RGB”.)
Leonidas
@Leonidas: Mogę się z tym mylić, a jeśli wiesz lepiej (lub oszukasz mnie, aby powiedzieć coś złego tutaj), popraw mnie, ale biorąc pod uwagę, że czujnik nie rozdziela światła, które widzi w 256 krokach dla każdego koloru , Nie sądzę, że jakikolwiek normalny format pliku RGB lub przestrzeń kolorów RGB może zawierać wszystkie te informacje. Wiem, że czujnik przechwytuje dane jako informacje RGB, więc teoretycznie mogłaby istnieć przestrzeń kolorów RGB, gdyby istniała taka, która mogłaby pomieścić tyle informacji, ile faktycznie zawiera obraz.
poke
@poke Żadna sztuczka tutaj, po prostu poważnie wątpię, że nie będzie żadnego formatu RGB oferującego gamę czujnika. Jeśli chodzi o dyskryminację - myślę, że formaty 16-bitowe / kanałowe oferują wystarczająco dużo miejsca, aby ją odebrać. Na przykład w photo.stackexchange.com/questions/8707/raw-processing-software/… jrista wspomina o demozaikacji o nazwie Bayer Drizzle, która wydaje się być zaprojektowana tak, aby zapewnić dostępność jakichkolwiek danych.
Leonidas
1

Oba formaty mają swoje zalety i wady.

Ale prawdziwym powodem, dla którego JPEG jest bardziej rozpowszechniony niż PNG, jest fakt, że osoby stojące za JPEG- em udzielają agresywnych licencji, których brakuje w PNG. (www.libpng.org/pub/png/)

Jest to bardzo podobne do MP3 vs. OGG vs. FLAC. MP3 Creators na początku agresywnie licencjonowało ... co doprowadziło do popularności. Z tego powodu producenci zwracają się do MP3 o licencje!

MyPreciousss
źródło
0

IMO zawsze powinieneś robić zdjęcia w formacie RAW, jeśli nie martwisz się kosztami pamięci, RAW jest najlepszym rozwiązaniem. Daje to najlepszą okazję do poprawienia zdjęć podczas przetwarzania końcowego.

Poniżej cytat z: http://www.hackerfactor.com/blog/index.php?/archives/252-PNG-and-Cameras.html

PNG jest absolutnie wspaniały do ​​przechowywania prawdziwych 24-bitowych kolorowych obrazów. Przetwarzanie plików PNG jest bardzo proste i nie wymaga pól specyficznych dla aplikacji. Jest to jednak kosztowne obliczeniowo, nie ma możliwości przechowywania wielu obrazów i nie ma wielu standardowych pól tekstowych do zarządzania metadanymi.

JPEG to marnotrawny format plików wypełniony specjalistycznymi polami. Jest to również zły wybór dla prawdziwego odwzorowania kolorów. Jest to jednak niedrogie obliczeniowo, obsługuje przechowywanie wielu obrazów, a skalowanie obrazów jest banalne. I niestety, jest powszechnie akceptowany jako standard de facto.

Ronald Olds III
źródło