Kompresja bezstratna
Bezstratna kompresja nie powoduje utraty danych. Wszystko, co jest wprowadzane, można uzyskać idealnie. Działa to dobrze w przypadku plików tekstowych lub binarnych, w których zostanie zauważony najmniejszy błąd.
Kompresja plików polega na pobieraniu plików i skanowaniu wzorców oraz przekładaniu tych wzorców na coś, co zajmuje mniej miejsca.
Na przykład „AAAAAAAA” można przekształcić w „8A”.
Przyznaje, że nie tak to działa dokładnie, ponieważ wtedy masz problem, co jeśli „8A” było w jawnym tekście. Zdekompresujesz plik i byłoby źle. Dobrym miejscem do rozpoczęcia jest Wikipedia lub Algorytm kompresji danych LZW .
Poniżej został skopiowany prosty kod pseudo-kod:
STRING = get input character
WHILE there are still input characters DO
CHARACTER = get input character
IF STRING+CHARACTER is in the string table then
STRING = STRING+character
ELSE
output the code for STRING
add STRING+CHARACTER to the string table
STRING = CHARACTER
END of IF
END of WHILE
output the code for STRING
Cała kompresja wykorzystuje słownik wyszukiwania, który służy do kompresji i dekompresji pliku. Im większy słownik, tym bardziej możesz go skompresować, chociaż trafisz na Prawo malejących zwrotów .
Warto również zauważyć, że kompresja nie zawsze daje mniejszy plik. Są sytuacje (z małymi plikami lub podczas kompresji danych losowych ) to zrobisz nie uzyskać mniejszy plik po kompresji. Było trochę zabawy wyzwania odnoszące się do możliwości kompresji losowych danych.
"Kompresja stratna
Powyższe dotyczy głównie kompresja bezstratna . Inne typy kompresji używane w aplikacjach wideo / audio, takich jak MP3, JPG i h.264, są przykładami Kompresja stratna .
Kompresja stratna polega na odrzuceniu najmniej prawdopodobnych danych. W audio brzmi to około 30 000 Hz i poniżej 100 Hz, wraz z innymi różnymi rzeczami. W obrazie (statycznym) usuwa różne rzeczy i łączy piksele razem, a także odrzuca dane.
Kompresja stratna jest formą kodowanie transformacji . Uśrednia dane w celu zmniejszenia ogólnego rozmiaru. Na przykład blok 10 pikseli w obrazie, wszystkie nieco inne kolory mogą zostać połączone w jeden kolor, a tym samym skompresowane.
W kompresji wideo często umieszczane są instrukcje dotyczące tylko przerysowywania pikseli, które zmieniły się od ostatniej klatki, lub klatka kluczowa .