Kompresja danych

Transkrypt

Kompresja danych
Kompresja danych wprowadzenie
1.
2.
3.
4.
Konieczność kompresji
Definicja, typy kompresji
Modelowanie
Kodowanie
Konieczność kompresji danych
• DuŜe rozmiary danych
• Niewystarczające przepustowości sieci
Przykład – encyklopedia multimedialna
Tekst – 200.000
200000* 1KB
4000 obrazów (kolor)
4000*512*512*24bit
400 mapek
400*512*512*16bit
20 krótkich animacji
20*512*512*16bit*16fps*100s
4000 sek. dźwięku
4000s*175KB/s
40 filmów po 100 sek.
40*512*512*24bit*30fps*100s
RAZEM
200 MB
3 GB
200 MB
16 GB
700 MB
90 GB
110.1 GB
Konieczność kompresji danych – c.d.
Tekst
2:1
ZIP
200 MB
100 MB
Obraz kolor
15:1
JPEG
3 GB
200 MB
Mapa
10:1
JPEG
200 MB
20 MB
Animacja
50:1
MPEG
16 GB
320 MB
Dźwięk
7:1
MP3
700 MB
100 MB
Film
45:1
MPEG
90 GB
2 GB
110.1 GB
2.74 GB
RAZEM
Kompresja czyni projekt realnym.
Konieczność kompresji danych – c.d.
Ograniczenia na przepustowość
Video-konferencje; format CIF
Wymagana przepustowość (bez kompresji):
352*288 pikseli/ramkę*1.5 byte/piksel * 30 ramek/s = 34.8 Mbps
Realizacja: norma ITU-T H.261 – przepustowość n*64 kbps, dla n=2
działa dobrze
Radio FM przez Internet:
Wymagana przepustowość (bez kompresji):
22.05 kHz * 16 bit/próbkę * 2 = 689.06 kbps
Ale radio działa poprawnie przy przepustowości 56 kbps
Kompresja przezwycięŜa ograniczenia przepustowości
Definicja kompresji
Kompresja – sztuka reprezentowania danych w zwięzłej
formie
Dane – znaki w pliku tekstowym, próbki mowy, muzyki, reprezentacje
pikseli obrazu itp.
Kompresja moŜliwa, bo w danych jest nadmiar informacji
(redundancja)
Jeden z pierwszych przykładów – alfabet Morse’a
Zasada: znaki często występujące – krótkie kody, znaki rzadsze –
długie kody
e
•
a
• –—
q
–— –— • –—
j
• –— –— –—
Definicja kompresji – c.d.
Kompresja – podanie dwóch algorytmów:
co: Xin
XC
dec: XC
Xout
Xin
XC
Przechowywanie, transmisja
Xout
XC
Typy kompresji
WyróŜnik – relacja między Xin i Xout
JeŜeli wymagamy, by Xin = Xout – kompresja bezstratna
Stosowana tam, gdzie nie moŜna dopuścić do róŜnicy między
danymi a ich rekonstrukcją
Typowe zastosowanie – tekst, rekordy bazy danych a takŜe obrazy,
które podlegają dalszej obróbce (zdjęcia rentgenowskie, zdjęcia
satelitarne itp.)
JeŜeli dopuszczamy, by Xin = Xout – kompresja stratna
Zwykle pozwala na znacznie wyŜszy poziom upakowania
Typowe zastosowania: mowa, dźwięk, obraz, sekwencje video
Miary jakości kompresji
MoŜliwe kryteria
ZłoŜoność algorytmu
Ilość potrzebnej pamięci
Szybkość działania na komputerze danego typu
Stopień kompresji
Podobieństwo danych wyjściowych i ich rekonstrukcji
Kompresja bezstratna
Stopień kompresji = rozmiar(Xin)/rozmiar(XC)
Miara redukcji = (rozmiar(Xin) – rozmiar(XC))/rozmiar(Xin) %
Kompresja stratna
Dodatkowo rozwaŜamy zniekształcenia
Optymalizujemy stopień kompresji przy danych zniekształceniach
(lub zniekształcenia przy zadanym poziomie kompresji)
Fazy konstruowania algorytmu
Kompresja – usunięcie redundancji z opisu danych. Aby to
było moŜliwe musimy rozumieć strukturę danych
Pierwsza faza procesu kompresji to modelowanie –
stworzenie zbioru reguł opisujących dane
Druga faza – kodowanie. Kodujemy zarówno opis modelu
jak teŜ opis informacji jak dane róŜnią się od modelu
Modelowanie - przykłady
Przykład 1
Dany jest ciąg danych xn:
9 11 11 11 14 13 15 17 16 17 20 21
Model:
xn = n + 8
en = xn - xn
Ciąg odchyleń:
0
1
0 -1 1 -1 0
1 -1 -1 1
1
Modelowanie – przykłady c.d.
Przykład 2
RozwaŜamy następujący ciąg:
ALA MA KOTA LAMOTA A OLA MA ASA MOTASA
8 róŜnych znaków – 3 bity/znak, 38 znaków, 114 bitów
Kodowanie o zmiennej długości; długość zaleŜna od częstości
A
13
00
26
L
3
110
9
_
8
01
16
M
4
100
12
K
1
11111
5
O
4
101
12
T
3
1110
12
S
2
11110
10
102
Model
probalistyczny;
śr. bitowa = 2.68
st. kompresji =
1.12 : 1
Kodowanie
Kodowanie – przyporządkowanie elementom alfabetu
ciągów binarnych, tak by zredukować całkowitą ilość
bitów potrzebną do reprezentacji
Średnia ilość bitów na symbol waŜna, ale nie najwaŜniejsza – kody muszą być jednoznacznie dekodowalne
Litera Prawdop.
Kod 1
Kod 2
Kod 3
Kod 4
a1
0.5
0
0
0
0
a2
0.25
0
1
10
01
a3
0.125
00
00
110
011
a4
0.125
11
11
111
0111
Śr.
długość
1.125
1.25
1.75
1.875
Kody 1 i 2 – nie są jednoznacznie dekodowalne.