JPEG
W informatyce, format pliku JPEG jest formatem pliku, który jest używany do kompresji obrazów cyfrowych. Stopień kompresji może być zmieniany. Jeśli obraz jest wysokiej jakości, będzie zajmował dużą ilość miejsca na dysku. Jeśli jest niskiej jakości, zajmie niewielką ilość pamięci masowej. Format plików JPEG jest powszechnie spotykany w sieci WWW. Słowo JPEG jest skrótem od Joint Photographic Experts Group, która stworzyła ten format. Rozszerzenia plików JPEG to .jpg
, .jpeg
, .jpe
i inne.
Zdjęcie żbika z malejącą od lewej do prawej strony wielkością kompresji
Jak to działa?
YPbPr
Pierwszą godną uwagi rzeczą w kompresji JPEG jest sposób przechowywania koloru każdego piksela. Do każdego piksela obrazu przypisane są 3 bajty określające jego kolor. Wszystkie trzy bajty mogą mieć dowolną wartość z zakresu od 0 do 255, a każda możliwa kombinacja tych trzech bajtów oznacza inny kolor. W większości formatów plików, do definiowania koloru używany jest format RGB. RGB to skrót od Red Green Blue. Nazwano go w ten sposób, ponieważ pierwszy z trzech bajtów mówi, ile czerwieni jest w kolorze piksela. Drugi bajt mówi, ile zieleni jest w kolorze, a trzeci bajt, ile niebieskiego. Im wyższą wartość ma pierwszy bajt, tym bardziej czerwony jest piksel.
JPEG również używa trzech bajtów dla każdego piksela, ale używa formatu YPbPr (znanego również jako YCbCr). Tutaj pierwszy bajt mówi nam, jak jasny jest piksel. Drugi bajt mówi nam, jak niebieski jest piksel. Trzeci bajt mówi nam, jak czerwony jest piksel. Używając tego formatu kolorów, jasność jest przechowywana niezależnie od koloru. Jest to przydatne, ponieważ zamierzamy skompresować obraz. Ponieważ ludzkie oko lepiej widzi jasność niż kolor, możemy zastosować większą kompresję do bajtów koloru (bajt Pb i bajt Pr). Ponieważ lepiej widzimy jasność, stosujemy mniejszą kompresję dla bajtu Y, aby obraz po kompresji wyglądał lepiej.
Ponieważ obrazy najczęściej zapisywane są w formacie RGB, pierwszym krokiem kompresji JPEG jest zazwyczaj prawidłowa zamiana formatu RGB na format YPbPr.
Dyskretna transformata kosinusowa
JPEG używa funkcji cosinusowych do reprezentowania obrazu. Dlatego porozmawiamy trochę o funkcjach cosinusowych. Oto jak może wyglądać funkcja cosinusowa:
Aby funkcja cosinusowa reprezentowała kolor piksela, mówimy, że im wyższa wartość funkcji cosinusowej, tym jaśniejszy piksel. Gdybyśmy mieli zestaw pikseli, które świecą jasno - ciemno - jasno, moglibyśmy użyć powyższej funkcji do ich zdefiniowania.
Funkcja może mieć również wyższą częstotliwość. Na przykład tak:
Ale tutaj robi się ciekawie. Możemy również tworzyć różne funkcje poprzez wyciąganie średniej z różnych funkcji cosinusowych. Oto jak by to wyglądało, gdybyśmy wzięli średnią z dwóch powyższych funkcji:
W JPEG, DCT jest stosowane do bloków 8 × 8 pikseli.
Quantisation
Do tej pory żadna informacja nie została utracona w procesie kompresji obrazu. W tym kroku, filtrujemy informacje. Z tego powodu jest to krok, który obniża jakość obrazu. Dla każdego bloku 8 × 8 pikseli funkcje kosinusowe o wysokich częstotliwościach są ustawiane na 0. Oznacza to, że nie mogą one już mieć żadnego wpływu na wygląd obrazu podczas dekompresji.
Wiele wartości będzie teraz wynosić 0, co oznacza, że można to bardzo łatwo skompresować. Odbywa się to za pomocą kodowania Huffmana. Kodowanie Huffmana jest ostatnim etapem kompresji JPEG. Jest to również jedyny krok, w którym dane są faktycznie kompresowane.
cos(2x)
(cos(x) + cos(2x)) / 2
cos(x)
Pytania i odpowiedzi
P: Co to jest format pliku JPEG?
O: Format pliku JPEG jest formatem pliku, który służy do kompresji obrazów cyfrowych.
P: Jak można zmienić stopień kompresji?
O: Stopień kompresji można zmienić w zależności od pożądanej jakości.
P: Co się dzieje, jeżeli obraz ma wysoką jakość?
O: Jeżeli obraz ma wysoką jakość, będzie zajmował dużo miejsca w pamięci.
P: Gdzie powszechnie występuje format plików JPEG?
O: Format pliku JPEG jest powszechnie spotykany w sieci WWW.
P: Co oznacza słowo "JPEG"?
O: Słowo "JPEG" oznacza Joint Photographic Experts Group, która stworzyła ten format.
P: Jakie są popularne rozszerzenia plików JPEG?
O: Typowe rozszerzenia plików JPEG to między innymi .jpg, .jpeg i .jpe.