• Nie Znaleziono Wyników

• oszczędzamy miejsce, pieniądze, czas transmisji, itp.

N/A
N/A
Protected

Academic year: 2021

Share "• oszczędzamy miejsce, pieniądze, czas transmisji, itp."

Copied!
43
0
0

Pełen tekst

(1)
(2)

Kompresja – metoda reprezentowania danych w zwartej postaci Po co stosować kompresję?

• oszczędzamy miejsce, pieniądze, czas transmisji, itp.

• wyszukiwanie w tekście skompresowanym odpowiednim algorytmem może być szybsze niż wyszukiwanie w oryginalnym tekście („tekst”

rozumiany szeroko, np. jako kod DNA)

(3)

Kompresja „intuicyjnie” – alfabet Morse’a

Kompresja „naukowo” –

http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf

(4)

Źródła

analogowe:

termometr, barometr, struny głosowe, instrumenty muzyczne

Źródła cyfrowe:

klawiatura , telegraf

(5)
(6)
(7)
(8)
(9)
(10)
(11)

Zalety:

Wady:

(12)

RLE (ang. Run Length Encoding)

1) Znajdź w sekwencji fragmenty powtarzających się symboli (serie) 2) Każdą serię o długości min.2 zamień na podwójne wystąpienie

powtarzanego symbolu i długość serii (nie trzeba już wliczać do niej tych 2 symboli)

(13)

Pierwszy opis – Golomb (1966) Zastosowania:

- niektóre formaty graficzne (np. PCX, TIFF)

- część składowa niektórych bardziej skomplikowanych algorytmów kompresji

(14)

•Gotowe zestawy danych testowych - korpusy

•Własne dane testowe

Dane testowe

•Współczynnik kompresji

•Prędkość kompresji

•Prędkość dekompresji

Kryteria oceny jakości kompresji

•Wiele kryteriów

• Trudno wybrać jeden najlepszy algorytm

Problem

(15)

Stopień kompresji

•Stosunek rozmiaru pliku przed kompresją do rozmiaru pliku po kompresji, np. 4:1

Współczynnik kompresji

•Wyrażony w procentach stosunek rozmiaru pliku po kompresji do rozmiary pliku przed kompresją, np. 75%

Średnia bitowa

•Stosunek rozmiaru pliku po kompresji wyrażonego w bitach do rozmiaru pliku przed kompresją wyrażonego w symbolach (np. bajtach), np. 2.56 bit/symbol

(16)

Czym są korpusy?

Są to zestawy danych testowych stosowane do oceny efektywności kompresji.

Są przygotowane przez naukowców zajmujących się daną dziedziną i są stosowane w publikacjach wielu autorów.

Po co je stosujemy?

Dają możliwość porównania różnych metod kompresji bez konieczności implementowania wszystkich.

Możemy w trakcie prowadzenia badań zorientować się, jak nasz algorytm wypada na tle innych

(17)
(18)
(19)

Zalety:

• duża popularność – stosowany w wielu publikacjach

• łatwość porównywania z algorytmami, dla których są wyniki dla tego korpusu

Wady:

• trochę przestarzały (niektóre pliki są w formatach dziś już nie

stosowanych)

• małe rozmiary plików

• brak plików we współczesnych formatach

(20)

Zalety:

• dane o większych rozmiarach

• lepsze odzwierciedlenie typów danych obecnie kompresowanych

Wady:

• mała popularność

• współczynniki kompresji często znane tylko dla niektórych metod

• źle dobrane dane (np. korpus Canterbury)

(21)

Metody specjalizowane:

• lepszy współczynnik kompresji

• potrzeba stworzenia

algorytmu dla konkretnych danych

• koszty opracowania

algorytmu mogą przewyższyć zyski z jego stosowania

Metody uniwersalne:

• gorszy współczynnik kompresji (często tylko nieznacznie)

• możliwość stosowania

jednego algorytmu dla danych różnych typów

(22)

Przykład metody specjalizowanej

(23)

Metody stratne:

• po dekompresji nie

otrzymujemy dokładnie tego, co kompresowaliśmy

• lepsze współczynniki kompresji

• ograniczony zakres zastosowań

Metody bezstratne:

• po dekompresji

otrzymujemy dokładnie to, co kompresowaliśmy

• gorsze współczynniki kompresji

• szeroki zakres zastosowań

(24)

Metody stratne: Metody bezstratne:

Może zawsze kompresować stratnie?

(25)

Definicja

Istnieje zbiór zdarzeń A={a1, a2 … an} nazywany alfabetem. Elementy tego zbioru nazywamy symbolami.

Elementy zbioru A są używane do konstruowania sekwencji (komunikatów), tzn. sekwencja składa się z symboli.

Dla każdego symbolu ai znane jest prawdopodobieństwo p(ai) jego otrzymania, takie, że

n

i

a

i

p

1

1 )

(

(26)

Definicja

Autoinformacja (informacja) związana z wygenerowaniem symbolu ai, którego prawdopodobieństwo wystąpienia wynosi p(ai ), jest określana jako:

l ( a

i

) log

k p(1a )

log

k

p ( a

i

)

i

 

Jednostka, w której mierzona jest autoinformacja, zależy od podstawy logarytmu:

k =2 –bit (ang. bit [binary digit]) k = e – nat (ang. nat [natural digit])

k = 10 – hartley (od nazwiska Ralpha Hartleya, jednego z pionierów teorii informacji) Domyślnie będziemy przyjmowali

jednostkę bit, a domyślną podstawą logarytmów będzie 2.

(27)

Definicja

Autoinformacja (informacja) związana z wygenerowaniem symbolu ai, którego prawdopodobieństwo wystąpienia wynosi p(ai ), jest określana jako:

) (

log log

)

( a

i k p(1a ) k

p a

i

l

i

 

Przykład rzutu monetą: Przykład rzutu fałszywą monetą:

(28)

Definicja

Entropia stowarzyszona ze zbiorem n niezależnych zdarzeń A={a1, a2 … an}

i ze zbiorem prawdopodobieństw ich zajścia P={p(a1, p(a2 ), … p(an )}

jest definiowana jako

) ( log )

( )

( ) ( )

(

1 1

i n

i

i n

i

i

i

l a p a p a

a p a

H  

(29)

Definicja

Entropia

( ) ( ) ( ) ( ) log ( )

1 1

i n

i

i n

i

i

i

l a p a p a

a p a

H  

Przykład rzutu monetą Przykład rzutu fałszywą monetą

(30)

Entropia – wykres dla alfabetu binarnego

(31)

Cechy funkcji entropii:

• Funkcja ciągła

• Funkcja symetryczna

• Dolne ograniczenie: 0 bit

• Górne ograniczenie : log(n) bit

(32)

Definicja

Entropia stowarzyszona ze zbiorem n niezależnych zdarzeń A={a1, a2 … an}

i ze zbiorem prawdopodobieństw ich zajścia P={p(a1, p(a2 ), … p(an )}

jest definiowana jako

) ( log )

( )

( ) ( )

(

1 1

i n

i

i n

i

i

i

l a p a p a

a p a

H  

(33)

Eksperyment Pewne źródło generuje symbole ai ze zbioru A Entropia

eksperymentu Entropia wyrażona w bitach jest miarą określającą średnią liczbę symboli binarnych potrzebnych do zakodowania ciągu utworzonego z symboli kolejno wygenerowanych przez źródło

Okazuje się, że najlepszym wynikiem, jaki można otrzymać, stosując kompresję bezstratną, jest zakodowanie sekwencji symboli tak, aby średnia liczba bitów przypadająca na symbol była równa entropii źródła.

Wynik Shannona

(34)

Definicja

Entropia źródła S generującego ciąg symboli należących do alfabetu wynosi:

gdzie:

Jeśli wszystkie elementy mają rozkład identyczny i niezależny, to

Mamy wtedy entropię pierwszego rzędu źródła

lub entropię zerowego rzędu

(35)

Komentarz:

Co wiemy o entropii źródła?

(36)

Przykład.

Dana jest sekwencja symboli:

1,1,2,3,4,5,6,5,6,7,8,8,9,8,9,10 Obliczymy entropię pierwszego rzędu:

p(1)=p(5)=p(6)=p(9)=2/16 p(2)=p(3)=p(4)=p(7)=p(10)=1/16

p(8)=3/16

Jeśli pomiędzy symbolami istnieje korelacja, to ją usuwamy, zastępując wartość symboli różnicą między nimi:

1,0,1,1,1,1,-1,1,1,1,0,1,-1,1,1 p(-1)=2/16,

p(0)=2/16, p(1)=12/16

(37)

Czym jest model?

Modelem ciągu nazywamy założenia dotyczące korelacji pomiędzy kolejnymi symbolami

(38)
(39)

Modelowanie - pierwszy etap kompresji (wydobywanie informacji o redundacji i występującej w danych i zapisywanie jej za pomocą

modelu)

Kodowanie – drugi etap kompresji (kodowanie opisu modelu oraz informacji o tym, jak dane odbiegają od niego)

(40)

Modelowanie - pierwszy etap kompresji (wydobywanie informacji o redundacji i występującej w danych i zapisywanie jej za pomocą

modelu)

(41)

Model: nic nie wiemy o źródle i zakładamy, że każdy symbol jest generowany z jednakowym prawdopodobieństwem.

Model jest niewiele wart, bo nie pozwala na

uzyskanie jakiejkolwiek kompresji (ale może się zdarzyć, że opisuje źródło dokładnie

Model probabilistyczny: dla każdego symbolu znamy prawdopodobień- stwo jego występowania, przy czym nie zależy ono od poprzednio

wygenerowanych symboli

Jeśli prawdopodobieństwa wygenerowania symboli są niezależne, to model jest bardzo dobry i

pozwala na konstrukcję całkiem wydajnych kodów.

(42)

Definicja

Wiedza o ostatnich k symbolach jest równoważna wiedzy o całej historii procesu.

Definicja

Dla alfabetu rozmiaru m liczba stanów wynosi mk Najczęstszym modelem jest model

Markowa pierwszego rzędu:

(43)

Cytaty

Powiązane dokumenty

Do wszystkich klas definiujących stopnie, czyli do klasy bazowej Stopien_walu oraz do klas pochodnych StopienFazaZLewej, StopienFazaZPrawej dodamy metodę XMLZapisz –

„Statystyk”. Korzystając z informacji zawartych w pliku pesel-dane.txt oraz dostępnych narzędzi informatycznych, wykonaj poniższe polecenia. Odpowiedzi do poszczególnych

- opracowując kod nowych funkcji można posłużyć się zawartością pliku wzorce ze strony przedmiotu.

Zadanie polega na zapoznaniu się z metodą Paris’a i rolą poszczególnych parametrów – ich wpływem na wynik końcowy. Uruchomić proces Multiresolution

• Pewnych wskazówek, „natchnienia” - jak można rozwiązać różne problemy związane ze składnią znajdziecie państwo również w skrypcie water.sml, który ma inny cel niż

• Możliwość wykonania danej operacji na określonych rastrach może być uzależniona od głębokości piksela, typu kodowania danych, (np. rastry typu „ze znakiem” nie

Widać, że w grupie CIU proporcja pozytywnych wyników SC5% jest wyższa niż w pozostałych grupach, które nie różnią się istotnie między sobą. Iloraz szans pozytywnego

Włącz konspekt numerowany (numerację rozdziałów) tak, by akapity złożone stylem "Nagłówek 1" były numerowane jako kolejne rozdziały, a te złożone stylem