Encyklopedia w Markpol

Reklama: rolety tekstylne

JPEG to jeden z formatów plików graficznych i jednocześnie nazwa algorytmu kompresji danych zastosowanego w tym formacie oraz skrót niezależnej grupy ekspertów, która wymyśliła ten algorytm (poprawna "zwyczajowa" wymowa "dżej-peg" pochodzi od "Joint Photographic Experts Group"). Pliki zapisywane w tym formacie mają rozszerzenia "jpg" lub "jpeg". JPEG jest formatem plików stworzonym do przechowywania obrazów, które wymagają "pełnego koloru", ale nie mają zbyt wielu ostrych krawędzi i małych detali - a więc zdjęć pejzaży, portretów i innych "naturalnych" obiektów. Format JPEG, obok formatów GIF i PNG, jest najczęściej stosowanym formatem grafiki na stronach WWW.

Algorytm JPEG

Algorytm kompresji używany przez JPEG jest algorytmem stratnym, tzn. w czasie jego wykonywania tracona jest bezpowrotnie część pierwotnej informacji. Algorytm przebiega następująco: (część danych zaczerpnięto z hasła kompresja bezstratna)
  • obraz jest konwertowany z kanałów czerwony-zielony-niebieski (RGB) na jasność (luminancję) i 2 kanały barwy (chrominancje). Ludzie znacznie dokładniej postrzegają drobne różnice jasności od drobnych różnic barwy, a więc użyteczne jest tutaj użycie różnych parametrów kompresji. Krok nie jest obowiązkowy (opcjonalnie można go pominąć).
  • wstępnie odrzucana jest część pikseli kanałów barwy, ponieważ ludzkie oko ma znacznie niższą rozdzielczość barwy niż rozdzielczość jasności. Można nie redukować wcale, redukować 2 do 1 lub 4 do 1.
  • kanały są dzielone na bloki 8x8. W przypadku kanałów kolorów, jest to 8x8 aktualnych danych, a więc zwykle 16x8.
  • na blokach wykonywana jest dyskretna transformacja kosinusowa (DCT). Zamiast wartości pixeli mamy teraz średnią wartość wewnątrz bloku oraz częstotliwości zmian wewnątrz bloku, obie wyrażone przez liczby zmiennoprzecinkowe. Transformata DCT jest odwracalna, więc na razie nie tracimy żadnych danych.
  • Zastąpienie średnich wartości bloków przez różnice wobec wartości poprzedniej. Poprawia to w pewnym stopniu współczynnik kompresji.
  • Kwantyzacja, czyli zastąpienie danych zmiennoprzecinkowych przez liczby całkowite. To właśnie tutaj występują straty danych. Zależnie od parametrów kompresora, odrzuca się mniej lub więcej danych. Zasadniczo większa dokładność jest stosowana do danych dotyczących niskich częstotliwości niż wysokich.
  • współczynniki DCT są uporządkowywane zygzakowato, aby zera leżały obok siebie.
  • współczynniki niezerowe są kompresowane algorytmem Huffmana. Są specjalne kody dla ciągów zer. Użyta transformata powoduje efekty blokowe w przypadku mocno skompresowanych obrazków. Wielką innowacją algorytmu JPEG była możliwość kontroli stopnia kompresji w jej trakcie, co umożliwia dobranie jego stopnia do danego obrazka, tak aby uzyskać jak najmniejszy plik, ale o zadowalającej jakości.

    Przykłady

    Uwaga: wszystkie powiększenia są dwukrotne, aby uniknąć przekłamań. Wszystkie grafiki skompresowano do formatu PNG.
    Obrazek podstawowy, przed skompresowaniem zajmuje 196662b.
    Obrazek potraktowany silną kompresją. Wg. programu kompresującego po DCT dane zostają upakowane do poziomu ok. 25%. Rozmiar po kompresji: 4070b. Efekt pocięcia raczej niewidoczny, ale widać przekłamania w kolorach.
    Obrazek potraktowany bardzo silną kompresją. Wg. programu kompresującego po DCT dane zostają upakowane do poziomu ok.5% Rozmiar po kompresji: 1741b. Widoczne silne "pocięcie" obrazka na kwadraty oraz dużo przekłamań w kolorach.

    Jak algorytmy okłamują nasze oko

    Po lewej stronie mamy dwukrotnie powiększony środek spirali. Z prawej strony nałożony na niego efekt "wykrywanie krawędzi". Filtr wykrywa krawędzie tylko na przejściach między kolorami.
    Po lewej stronie mamy dwukrotnie powiększony środek spirali, która wcześniej została silnie skompresowana. Z prawej strony nałożony na niego efekt "wykrywanie krawędzi". Filtr zaczyna się gubić, wykrywa krawędzie wszędzie tam gdzie zachodzi podział na kwadraty, działanie filtra ujawnia także zwiększoną liczbę przekłamań w kolorach.

    Słabe strony algorytmu JPEG


    Nieskompresowany napis nie ujawni żadnych błędów. Rozmiar 196662b, po kompresji, ale bez kwantyfikacji danych (czyli przy ustawieniu, że dane mają być przycięte do 100% dokładności, czyli nie mają być przycięte) zajmuje 5094b.

    Na pierwszy rzut oka nie widać przekłamań w kolorach itp. Po powiększeniu ujawniają się "przebarwienia" wynikające z usunięcia pewnej części danych (kompresja 75%, usunięto ok.25%). Rozmiar: 3116b.

    Zauważalne bez powiększania przebarwienia, po powiększeniu widać ich więcej. Wychodzą na jaw niedostatki jeśli chodzi o uproszczenia. (kompresja 25%, usunięto ok.75% danych) Rozmiar: 2040b.

    Bez powiększania widać przebarwienia i rozmazanie tekstu, jednakże widać także pewną cechę naszego oka, a mianowicie pewne uproszczenia itp. które pozwalają nam odczytać co tu jest napisane. (Kompresja 5%, usunięto ok.95%) Rozmiar: 1253b.

    Chcesz wypromować swoją stronę w internecie?? - nie zwlekaj pozycjonowanie w Luman.biz to rozsądny wybór
    2005 Encyklopedia
    These materials are based onWikipedia and licensed under the GNU FDL
    Loans|Loans|Mortgage|Free Ringtones|Mortgages