Wszędzie widzę obrazy JPG. Ale dlaczego?
Pliki PNG mają nieprzezroczystość, podczas gdy pliki JPG nie. Próbowałem wyeksportować niektóre obrazy do PNG i JPG, aby porównać rozmiar, i oba albo pasują do siebie, albo PNG jest mniejszy (w zależności od obrazu oczywiście).
To jest obraz JPG o wymiarach 512 x 512, z napisem „JPG”
I to jest obraz PNG 512x512 z napisem „PNG”.
JPG miał 31,7 kb, a PNG 25,9 kb
Co więc daje?
png
image-format
jpg
JediBurrell
źródło
źródło
Odpowiedzi:
Ponieważ są znacznie lepsze w kompresji zdjęć o dużej liczbie kolorów i nieregularnych kształtach, takich jak zdjęcia.
Czy próbowałeś tego samego epxeriment, co zrobiłeś, ale potem ze zdjęciem? .Png najprawdopodobniej będzie zauważalnie większy niż jakikolwiek .jpg, niezależnie od współczynnika kompresji .jpg.
Przykład:
.png obraz, 110 tys
.jpg w 100% jakości, 63 tys
.jpg przy 30% jakości, marne 9k
Jeśli przyjrzysz się uważnie, zobaczysz pewne artefakty na 30% jakości pliku .jpg, ale głównie dlatego, że twarda krawędź żarówki na gładkim zielonym tle nie nadaje się zbyt dobrze algorytmowi kompresji. Możesz mieć regularne zdjęcia zmniejszone nawet do 10 lub 5% jakości bez żadnych strat, które zauważysz na pierwszy rzut oka.
źródło
JPEG ma wsparcie ze strony przemysłu fotograficznego i wyprzedza PNG o około kilkadziesiąt lat, podczas gdy PNG został zaprojektowany jako zamiennik dla GIF, który był raczej gorliwie chroniony przez CompuServe. Ludzie zostali pozwani za używanie GIF-ów na swoich stronach internetowych, na przykład po prostu dlatego, że nie używali programu licencjonowanego przez CompuServe do robienia tych obrazów.
Od samego początku JPEG zaprojektowano tak, aby odzyskać trochę miejsca, zmniejszając pliki kosztem doskonałej jakości pikseli. Nawet ustawienie Q na 100 spowoduje drobne, w większości niewidoczne artefakty - uszkodzenie zostanie wykonane, a za każdym razem, gdy plik zostanie zmodyfikowany i zapisany, wystąpią dalsze uszkodzenia. Jednak, jeśli nie zrobisz tego wiele razy, prawdopodobnie nigdy nie zauważysz efektu, chyba że zaczniesz go szukać.
Z drugiej strony PNG jest całkowicie bezstratny. Każdy piksel jest wiernie odtwarzany za każdym razem, bez względu na to, ile razy plik jest modyfikowany i zapisywany. Istnieje jednak limit tego, jak dobrze można kompresować dane bez utraty, chociaż PNG stosuje kilka sztuczek, aby spakować jak najwięcej informacji do jak najmniejszej liczby bajtów danych. JPEG wysokiej jakości będzie prawdopodobnie mniej więcej tego samego rozmiaru co PNG bez optymalizacji lub nawet większy. Gdy PNG zaczyna optymalizować, powiedzmy, za pomocą filtrów lub dostosowując rozmiary okien, plik staje się mniejszy bez strat, podczas gdy JPEG musi zacząć odrzucać informacje wizualne, aby nadążyć.
Dlaczego więc używany jest JPEG? W końcu jest ogólnie gorszy pod względem wierności i miejsca do przechowywania. Głównym powodem jest oczywiście to, że jest to standard branżowy i ma bardzo szerokie poparcie. Praktycznie każdy aparat na świecie używa formatu RAW (dosłownie dane surowe) lub JPEG. W tych aparatach wbudowane są sprzętowe procesory danych, które kompresują dane JPEG tak szybko, jak to możliwe itp.
Przekonasz się, że jest to ten sam powód, dla którego GIF wciąż jest wszędzie. Większość programów obsługuje GIF, podczas gdy PNG ma mniejsze wsparcie w starszych programach (np. Starsze wersje Internet Explorera wymagały wtyczki do wyświetlania plików PNG). Mimo że ma kiepską obsługę kolorów, obsługuje animacje, coś czego nie robi PNG (istnieje podobny format pliku, APNG, który nigdy nie odbierał tak jak PNG). GIF nadal pozostaje mistrzem animowanych obrazów, ponieważ jest to jedyny format pliku, który może to zrobić przy szerokim wsparciu.
Koszt zmiany z JPEG na PNG byłby niemożliwy z perspektywy sprzętu. Aparaty będą wymagały na przykład zbudowania nowych procesorów do obsługi szybkiej kompresji PNG, ponieważ są teraz zakodowane na stałe do obsługi JPEG. Stare aparaty byłyby bezwartościowe, ponieważ trzeba by było kupić nowy z wbudowanym układem PNG. Oznaczałoby to również, że musiałbyś przekonać producenta do przestrzegania standardów branżowych i rozpocząć produkcję takich urządzeń, co oznacza, że musiałoby być wystarczające zapotrzebowanie, aby to uzasadnić, a takie aparaty byłyby początkowo droższe niż ich oparte na JPEG odpowiedniki. Bardzo trudno jest zmienić branżę.
źródło
Nie wspominając o szczegółach, jest sposób działania tych algorytmów kompresji. JPEG jest kierowane bezpośrednio na zdjęcia, na których nie zauważono niewielkich zmian koloru pikseli. PNG jest bardziej ukierunkowany na sfabrykowane obrazy, które zawierają duże obszary jednego koloru, przy czym kompresja jest w pełni wykorzystywana, jak na przykładzie ogromnego, całkowicie białego zdjęcia z czystym czarnym napisem. Jeśli zrobisz to samo zdjęcie i umieścisz równomiernie białe tło z białego na szary w poprzek obrazu na bok, rozmiar png drastycznie wzrośnie, a jpg prawdopodobnie nie zmieni się zbytnio. Zrobiłem kodowanie około 10 lat temu bezpośrednio przy użyciu obu tych formatów, aby zdekompresować te typy plików na bmps. JPEG jest bardzo wyrafinowany i złożony. PNG jest bardzo prosty i naprawdę skuteczny tylko na niektórych zdjęciach, na których kolor nie zmienia się w poziomych liniach
źródło