KOMPRESJA
KOMPRESJA
KOMPRESJA
KOMPRESJA
I. Pojęcie - kompresja danych
I. Pojęcie - kompresja danych
II. Rodzaje kompresji
II. Rodzaje kompresji
III. Kompresja bezstratna
III. Kompresja bezstratna
IV. Kompresja stratna
IV. Kompresja stratna
V. Podział algorytmów kompresji
V. Podział algorytmów kompresji
VI. Kwartyzacja
VI. Kwartyzacja
(Jako przykład metody kompresji dzwięków
(Jako przykład metody kompresji dzwięków
zaliczanych do metod stratnych)
zaliczanych do metod stratnych)
VII. Kodowanie Huffman’a
VII. Kodowanie Huffman’a
(Jako przykład metody kompresji dzwięków
(Jako przykład metody kompresji dzwięków
zaliczanych do metod bezstratnej kodowania
zaliczanych do metod bezstratnej kodowania
statystycznego)
statystycznego)
I.
Kompresja danych
(ang. data compression) – polega na
zmianie sposobu zapisu
tak,
aby zmniejszyć
i tym
samym objętość zbioru. Innymi słowy
chodzi o wyrażenie tego samego
zestawu informacji, lecz za pomocą
mniejszej liczby
.
II. Z pomocą potrzebom przesyłania muzyki
II. Z pomocą potrzebom przesyłania muzyki
przez Internet przychodzi
przez Internet przychodzi
kompresja
kompresja
, czyli
, czyli
"pakowanie" danych dźwiękowych.
"pakowanie" danych dźwiękowych.
Wyróżniamy dwa rodzaje kompresji:
Wyróżniamy dwa rodzaje kompresji:
-kompresja bezstratna
-kompresja bezstratna
-kompresja stratna
-kompresja stratna
III. Kompresja bezstratna
III. Kompresja bezstratna
→zachowuje pełną informację o przebiegu sygnału
→zachowuje pełną informację o przebiegu sygnału
dźwiękowego
dźwiękowego
→polega na sprytnej zmianie sposobu zapisu danych,
→polega na sprytnej zmianie sposobu zapisu danych,
dzięki czemu zapis jest oszczędniejszy
dzięki czemu zapis jest oszczędniejszy
→możliwość stosowania tego rodzaju kompresji
→możliwość stosowania tego rodzaju kompresji
wynika z faktu, że standardowe sposoby zapisu
wynika z faktu, że standardowe sposoby zapisu
dźwięku (np. pliki wav) są dość "rozrzutne" pod
dźwięku (np. pliki wav) są dość "rozrzutne" pod
względem wykorzystania pamięci. Dlatego
względem wykorzystania pamięci. Dlatego
zmieniając sposób zapisu da się sporo danych
zmieniając sposób zapisu da się sporo danych
"upakować".
"upakować".
Zwykle kompresja bezstratna pozwala przeciętnie w
Zwykle kompresja bezstratna pozwala przeciętnie w
np. w jednym bajcie danych skompresowanych
np. w jednym bajcie danych skompresowanych
zapisać więcej niż 1 bajt danych wyjściowych.
zapisać więcej niż 1 bajt danych wyjściowych.
Możliwe do zastosowanie metody to m.in. dlatego
Możliwe do zastosowanie metody to m.in. dlatego
że:
że:
- można np. oznaczać obszary ciszy i zapisywać je
- można np. oznaczać obszary ciszy i zapisywać je
oszczędniej niż w 16 bitach na kanał i na jedną
oszczędniej niż w 16 bitach na kanał i na jedną
próbkę sygnału (w końcu większość rozpiętości
próbkę sygnału (w końcu większość rozpiętości
przedziału od 0 do 32 768 dla cichych dźwięków się
przedziału od 0 do 32 768 dla cichych dźwięków się
"marnuje")
"marnuje")
- dla muzyki w której różnice między kanałami
- dla muzyki w której różnice między kanałami
stereo są nieznaczne można zapisywać dokładnie
stereo są nieznaczne można zapisywać dokładnie
zsumowany sygnał (mono), a różnice (które będą
zsumowany sygnał (mono), a różnice (które będą
niewielkie) kodować oszczędniejszym sposobem.
niewielkie) kodować oszczędniejszym sposobem.
- i inne, jakie tylko wymyślą mądrzy naukowcy...
- i inne, jakie tylko wymyślą mądrzy naukowcy...
Formaty kompresji bezstratnej są różne. Przykładem
Formaty kompresji bezstratnej są różne. Przykładem
może być tu np.
może być tu np.
monkey's audio
monkey's audio
LPAC
LPAC
RKAU
RKAU
FLAC
FLAC
WavPack
WavPack
jeden z podformatów quicktime'a
jeden z podformatów quicktime'a
Niestety, kompresja bezstratna zazwyczaj nie daje
Niestety, kompresja bezstratna zazwyczaj nie daje
dużych możliwości zmniejszenia rozmiaru plików - zysk
dużych możliwości zmniejszenia rozmiaru plików - zysk
na pojemności pamięci oscyluje w okolicy 2 razy (w
na pojemności pamięci oscyluje w okolicy 2 razy (w
najlepszych warunkach 3-4). Dlatego stosuje się nieco
najlepszych warunkach 3-4). Dlatego stosuje się nieco
gorszą jeśli chodzi o wierność zapisu, ale znacznie
gorszą jeśli chodzi o wierność zapisu, ale znacznie
wydajniejszą -
wydajniejszą -
kompresję stratną
kompresję stratną
.
.
IV. Kompresja stratna
IV. Kompresja stratna
→
→
wykorzystuje kilka uzupełniających się efektów i
wykorzystuje kilka uzupełniających się efektów i
technik:
technik:
1)
1)
ten typ kompresji może wykorzystać prawie
ten typ kompresji może wykorzystać prawie
wszystkie metody kompresji bezstratnej
wszystkie metody kompresji bezstratnej
2) ponieważ ludzki narząd słuchu nie jest
2) ponieważ ludzki narząd słuchu nie jest
stuprocentowo dokładny, to wiele dźwięków jest
stuprocentowo dokładny, to wiele dźwięków jest
przezeń "gubionych" i można ich po prostu nie
przezeń "gubionych" i można ich po prostu nie
zapisywać, oszczędzając przy tym pasmo pamięci.
zapisywać, oszczędzając przy tym pasmo pamięci.
→
→
ta druga metoda - wykorzystanie niedokładności
ta druga metoda - wykorzystanie niedokładności
słuchu jest właśnie kluczem do wydajności
słuchu jest właśnie kluczem do wydajności
kompresji stratnej.
kompresji stratnej.
W jej ramach sygnał dźwiękowy jest analizowany
W jej ramach sygnał dźwiękowy jest analizowany
pod kątem owych niedostrzeganych słuchem
pod kątem owych niedostrzeganych słuchem
elementów - np. maskowanie dźwięków cichych
elementów - np. maskowanie dźwięków cichych
przez głośne, lub maskowanie gorzej słyszalnych
przez głośne, lub maskowanie gorzej słyszalnych
dźwięków
dźwięków
→dzięki kompresji stratnej daje się (bez
→dzięki kompresji stratnej daje się (bez
wyraźnego pogorszenia jakości dźwięku)
wyraźnego pogorszenia jakości dźwięku)
upakować dane audio 10-cio, a nawet 20-to
upakować dane audio 10-cio, a nawet 20-to
krotnie.
krotnie.
→ typowe nagranie zajmuje nie kilkadziesiąt, a
→ typowe nagranie zajmuje nie kilkadziesiąt, a
kilka megabajtów pamięci
kilka megabajtów pamięci
Kompresję stratną stosuje się w następujących
Kompresję stratną stosuje się w następujących
formatach zapisu dźwięku:
formatach zapisu dźwięku:
mp3 (także mp3 pro - twórca Instytut
mp3 (także mp3 pro - twórca Instytut
Fraunhoffera)
Fraunhoffera)
wma, asf (MICROSOFT)
wma, asf (MICROSOFT)
mpeg
mpeg
ogg (Vorbis - projekt open source)
ogg (Vorbis - projekt open source)
atrac (SONY)
atrac (SONY)
aac, ac3 (APPLE)
aac, ac3 (APPLE)
vqf (YAMAHA)
vqf (YAMAHA)
i inne
i inne
V. Algorytmy kompresji dzieli się na algorytmy
V. Algorytmy kompresji dzieli się na algorytmy
zastosowania ogólnego, oraz algorytmy do danego
zastosowania ogólnego, oraz algorytmy do danego
typu danych.
typu danych.
Większość algorytmów
Większość algorytmów
bezstratnych to
bezstratnych to
algorytmy zastosowania
algorytmy zastosowania
ogólnego oraz ich
ogólnego oraz ich
drobne przeróbki, dzięki
drobne przeróbki, dzięki
którym lepiej działają z
którym lepiej działają z
określonymi typami
określonymi typami
danych. Nawet drobne
danych. Nawet drobne
poprawki mogą
poprawki mogą
znacząco polepszyć
znacząco polepszyć
wyniki dla pewnych
wyniki dla pewnych
typów danych.
typów danych.
Algorytmy kompresji
Algorytmy kompresji
stratnej często jako
stratnej często jako
ostatniej fazy używają
ostatniej fazy używają
kompresji bezstratnej.
kompresji bezstratnej.
W takim przypadku
W takim przypadku
poprzednie fazy mają
poprzednie fazy mają
za zadanie nie tyle
za zadanie nie tyle
kompresować ile
kompresować ile
przygotować dane do
przygotować dane do
łatwiejszej kompresji
łatwiejszej kompresji
.
.
VI. Kwartyzacja
VI. Kwartyzacja
to najprostsza metoda, zaliczana do metod stratnych. metoda,
to najprostsza metoda, zaliczana do metod stratnych. metoda,
zaliczana do metod stratnych.
zaliczana do metod stratnych.
błąd kwantyzacji jest łatwy do zmierzenia i zależy od liczby
błąd kwantyzacji jest łatwy do zmierzenia i zależy od liczby
poziomów kwantyzacji.
poziomów kwantyzacji.
w systemach cyfrowych kwantyzacja jest używana do konwersji
w systemach cyfrowych kwantyzacja jest używana do konwersji
sygnałów analogowych na postać cyfrową przed zasadniczym
sygnałów analogowych na postać cyfrową przed zasadniczym
procesem przetwarzania lub zastosowaniem bardziej
procesem przetwarzania lub zastosowaniem bardziej
zaawansowanych metod kompresji
zaawansowanych metod kompresji
większość przypadków kwantyzacji podlega tylko jedna próbka
większość przypadków kwantyzacji podlega tylko jedna próbka
w danej chwili czasu.
w danej chwili czasu.
Metoda ta opiera się silnie na liniowych, nieliniowych i
Metoda ta opiera się silnie na liniowych, nieliniowych i
probabilistycznych zależnościach pomiędzy kolejnymi próbkami
probabilistycznych zależnościach pomiędzy kolejnymi próbkami
W przypadku dźwięku osiąga się w ten sposób wysoki stopień
W przypadku dźwięku osiąga się w ten sposób wysoki stopień
kompresji.
kompresji.
VII.
VII.
to bezstratna metoda kodowania statystycznego,
to bezstratna metoda kodowania statystycznego,
przedstawiona przez Davida A. Huffman�a w roku 1952
przedstawiona przez Davida A. Huffman�a w roku 1952
wykorzystuje fakt, ze pewne wartości danych występują
wykorzystuje fakt, ze pewne wartości danych występują
częściej niż inne
częściej niż inne
Istnieją trzy możliwe warianty kodowania metodą
Istnieją trzy możliwe warianty kodowania metodą
Huffman'a:
Huffman'a:
1. statyczny- tabela częstotliwości symboli ustalana jest z góry,
1. statyczny- tabela częstotliwości symboli ustalana jest z góry,
niezależnie od tego jakie dane są kodowane.
niezależnie od tego jakie dane są kodowane.
2. dynamiczny- w celu wypełnienia tabeli częstotliwościami,
2. dynamiczny- w celu wypełnienia tabeli częstotliwościami,
dokładnie dla tych danych które są kodowane, przed
dokładnie dla tych danych które są kodowane, przed
rozpoczęciem kodowania dokonywana jest analiza
rozpoczęciem kodowania dokonywana jest analiza
częstotliwości symboli w strumieniu wejściowym.
częstotliwości symboli w strumieniu wejściowym.
3. adaptacyjny -Wstępne założenia o częstotliwości występowania
3. adaptacyjny -Wstępne założenia o częstotliwości występowania
symboli zostają w trakcie kodowania dostosowane do
symboli zostają w trakcie kodowania dostosowane do
częstotliwości rzeczywiście występujących.
częstotliwości rzeczywiście występujących.