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.