JPEGGUI
JPEGGUI jest prostym i szybkim narzędziem służącym wszystkim spragnionym wiedzy o tym, jak działa kompresja JPEG.
Słownik
- JPEG - system kompresji statycznych obrazów rastrowych, przeznaczonego głównie do przetwarzania obrazów naturalnych (zdjęć satelitarnych, pejzaży, portretów itp.), a więc takich, które nie mają zbyt wielu ostrych krawędzi i małych detali. Motywacją do powstania tego systemu była standaryzacja algorytmów kompresji obrazów monochromatycznych i kolorowych,
- Kompresja danych - polega na zmianie sposobu zapisu informacji w taki sposób, aby zmniejszyć redundancję i tym samym objętość zbioru, nie zmieniając przenoszonych informacji. Innymi słowy chodzi o wyrażenie tego samego zestawu informacji, lecz za pomocą mniejszej liczby bitów. Działaniem przeciwnym do kompresji jest dekompresja,
- Kompresja bezstratna - ogólna nazwa takich metod upakowywania informacji do postaci zawierającej zmniejszoną liczbę bitów tak, aby całą informację dało się z tej postaci odtworzyć do identycznej postaci pierwotnej,
- Kompresja stratna - metoda zmniejszania ilości bitów potrzebnych do wyrażenia danej informacji, które nie daje gwarancji, że odtworzona informacja będzie identyczna z oryginałem. Dla niektórych danych algorytm kompresji stratnej może odtworzyć informację w sposób identyczny,
- Downsampling - proces redukcji częstotliwości próbkowania,
- DCT - Dyskretna transformata kosinusowa to jedna z najpopularniejszych blokowych transformat danych. Jest szczególnie popularna w stratnej kompresji danych,
Moduły programu
Program sklada sie z kilku podstawowych modułów:
- Tools - podstawowy moduł, za pomocą którego można określić parametry kompresji,
- Images - moduł pomocniczy, służący do podglądu obrazka wejściowego i wyjściowego, oraz wartości kompresji,
- Quantization, Downsampling - moduły pomocnicze, dzięki którym można wprowadzić niestandardowe tablice kwantyzacji itp.
Otwieranie plików
W celu otworzenia pliku do kompresji należy w module Images wybrać Open w menu File, a następnie wskazać miejsce przechowywania pliku. Wśród obsługiwanych w tej chwili znajdują się: BMP, DDS, Dr. Halo, GIF, HDR, ICO, IFF, JNG, JPEG/JIF, KOALA, LBM, Kodak PhotoCD, MNG, PCX, PBM, PGM, PNG, PPM, PhotoShop, Sun RAS, TARGA, TIFF, WBMP, XBM, XPM.
Kompresja
Tryby kompresji
W obecnej wersji program pozwala na korzystanie z dwóch trybów kompresji: Baseline oraz Extended. Oba tryby są trybami kompresji stratnej. Tryb Baseline jest trybem podstawowym i nie umożliwia progresywnego trybu opreacji. Extended to tryb rozszerzony, który jest wzmocnieniem trybu bazowego (podstawowego). Umożliwia on większą precyzję i lepszą kompresję niż tryb bazowy. Opcja Progressive pozwala skompresować obrazek w trybie progresywnym. Obrazek zostanie zakodowany w trakcie kilku przebiegów, z których każdy kolejny doda do kompresowanego obrazka nowe informacje, poprawiające ostateczny jego wygląd. Plik wyjściowy zostanie wygenerowany z przeplotem. Obrazek taki może być potem odczytywany w wielu krokach poprawiających ostateczną jakość obrazka.
Tablice kwantyzacji
Po naciśnięciu przycisku Quantization pokaże się moduł, w którym mogą zostać zdefiniowane tablice kwantyzacji.Domyślne tablice dla luminancji i chrominancji zostaną wprowadzone po wybraniu opcji Preset w menu Table. Tablice mogą zostac wprowadzone także z pliku tekstowego - kolejne wartości danej tablicy powinny zostać oddzielone dowolnym białym znakiem.
UWAGA! Wprowadzone wartości danej tablicy zostaną zapisane dopiero po naciśnieciu przycisku Set.
Downsampling
Po naciśnięciu przycisku Downsampling otworzy się nowy moduł, w którym może zostać zdefiniowane próbkowanie.
Regulacja jakości
Regulacja jakości odbywa sie przy użyciu opcji Adjust quality. Parametr przyjmuje wartości od 0 do 100. Ta opcja pozwala na zmniejszenie rozmiaru pliku wynikowego kosztem jednak jakości. Przeważnie zadowalajaca jest wartość 75 (co jest wartością domyślną). Wartości powyzej 95 nie sa zalecane - rozmiar pliku gwałtownie rośnie przy znikomej poprawie jakości obrazu.
Zaznaczając tę opcję, nie będą mogły zostać użyte przyciski Quantization, Downsampling oraz DCT.
Optymalizacja tablic Huffmana
Optymalizacja tablic Huffmana nie wpływa na jakosc obrazka wynikowego, a jedynie na jego rozmiar. Po zaznaczeniu opcji Optimize Huffman zostana zoptymalizowane parametry kodowania entropii. Proces kompresji będzie działał wolniej, ale obrazek będzie miał mniejszy rozmiar. Bez tej opcji używane sa domyślne parametry.
DCT
Dyskretna transformata kosinusowa to algorytm używany w kompresji JPEG. Dzięki liscie wybieralnej mozemy okreslic typ algorytmu:
- int - całkowitoliczbowa metoda DCT (wartość domyślna)
- fast - szybka całkowitoliczbowa metoda DCT (niższa jakość)
- float - zmiennoprzecinkowa metoda DCT. Jest odrobinę dokładniejsza niż metoda całkowitoliczbowa, lecz dużo wolniejsza.
Obrazek monochromatyczny
Zaznaczanie opcji Grayscale output spowoduje utworzenie monochromatycznego (w odcieniach szarości) obrazka z barwnego pliku wejściowego.
Wygładzanie
Wygładzanie obrazka wejściowego w celu wyeliminowania zakłóceń odbywa sie poprzez ustawienie wartości w polu Smoothing. Wartość od 0 do 100 opisuje poziom wygładzania. 0 (wartość domyślna) to brak wygładzania.
Po zdefiniowaniu parametrów kompresji należy nacisnąć przycisk Compress. Po chwili, obok obrazka wejściowego, pojawi się obrazek skompresowany.
Skompresowany obrazek może zostać zapisany w formacie JPEG.
Praca z obrazkiem.
Obok obrazka wyjściowego znajdują się przyciski służące dokładniejszemu podglądowi obrazka.
- zmiana sposobu ułożenia obrazków wejściowego i wyjściowego
- ponowne załadowanie obrazka po kompresji
- różnica kolorów pomiędzy obrazkiem oryginalnym a skompresowanym
- błąd kompresji - różnica pomiędzy obrazkiem oryginalnym a skompresowanym
- składowa luminancji
- składowa chrominancji Cb
- składowa chrominancji Cr
Pod obrazkami znajdują się następujące wskaźniki:
- CR - stopień kompresji (rozmiar obrazka przed kompresją do rozmiaru obrazka po kompresji),
- CP - procent kompresji (stopień kompresji wyrażony procentowo),
- BR - średnia bitowa (8 * rozmiar obrazka skompresowanego / (wysokość * szerokość))
Obrazki można oddalać bądź przybliżać przy użyciu przycisków lupy
albo kółeczka na myszce (wskaźnik nie może znajdować się nad żadnym z obrazków).