Kompresia dát. dĺžka kompresovaného súboru dĺžka pôvodného súboru. Kompresný pomer k = Niekedy sa ako kompresný pomer uvádza hodnota 1- k.

Σχετικά έγγραφα
Start. Vstup r. O = 2*π*r S = π*r*r. Vystup O, S. Stop. Start. Vstup P, C V = P*C*1,19. Vystup V. Stop

Obvod a obsah štvoruholníka

1. Limita, spojitost a diferenciálny počet funkcie jednej premennej

Matematika Funkcia viac premenných, Parciálne derivácie

Gramatická indukcia a jej využitie

Matematika NPS. Výraz. je pre všetky xy, R splňujúce podmienky. xy 0 rovný: (B) 1 (E) (A) 56 (B) 144 (C) 512 (D) (E) Také čísla neexistujú.

Margita Vajsáblová. ρ priemetňa, s smer premietania. Súradnicová sústava (O, x, y, z ) (O a, x a, y a, z a )

7. FUNKCIE POJEM FUNKCIE

Úvod do lineárnej algebry. Monika Molnárová Prednášky

Ekvačná a kvantifikačná logika

Matematika prednáška 4 Postupnosti a rady 4.5 Funkcionálne rady - mocninové rady - Taylorov rad, MacLaurinov rad

ARMA modely čast 2: moving average modely (MA)

Komplexné čísla, Diskrétna Fourierova transformácia 1

6 Limita funkcie. 6.1 Myšlienka limity, interval bez bodu

Motivácia Denícia determinantu Výpo et determinantov Determinant sú inu matíc Vyuºitie determinantov. Determinanty. 14. decembra 2010.

22 Špeciálne substitúcie, postupy a vzorce používané pri výpočte

Prechod z 2D do 3D. Martin Florek 3. marca 2009

6. Mocniny a odmocniny

KATEDRA DOPRAVNEJ A MANIPULAČNEJ TECHNIKY Strojnícka fakulta, Žilinská Univerzita

Deliteľnosť a znaky deliteľnosti

ARMA modely čast 2: moving average modely (MA)

M6: Model Hydraulický systém dvoch zásobníkov kvapaliny s interakciou

1 Prevod miestneho stredného slnečného času LMT 1 na iný miestny stredný slnečný čas LMT 2

1. písomná práca z matematiky Skupina A

PDF created with pdffactory Pro trial version ZOBRAZOVANIE LOMOM. ŠOŠOVKY AKO ZOBRAZOVACIE SÚSTAVY alebo O spojkách a rozptylkách

Kompilátory. Cvičenie 6: LLVM. Peter Kostolányi. 21. novembra 2017

TECHNICKÁ UNIVERZITA V KOŠICIACH MATEMATIKA II. Dušan Knežo, Miriam Andrejiová, Zuzana Kimáková

Cvičenie č. 4,5 Limita funkcie

Tomáš Madaras Prvočísla

Riešenie sústavy lineárnych rovníc. Priame metódy.

Pevné ložiská. Voľné ložiská

Obsah. 1.1 Reálne čísla a ich základné vlastnosti Komplexné čísla... 8

HASLIM112V, HASLIM123V, HASLIM136V HASLIM112Z, HASLIM123Z, HASLIM136Z HASLIM112S, HASLIM123S, HASLIM136S

Rozsah hodnotenia a spôsob výpočtu energetickej účinnosti rozvodu tepla

Metódy vol nej optimalizácie

Výpočet. grafický návrh

4. Výrokové funkcie (formy), ich definičný obor a obor pravdivosti

1. písomná práca z matematiky Skupina A. 1. písomná práca z matematiky Skupina B

Vlastnosti nekonečných slov generovaných pomocou DGSM (diplomová práca)

Definícia parciálna derivácia funkcie podľa premennej x. Definícia parciálna derivácia funkcie podľa premennej y. Ak existuje limita.

,Zohrievanie vody indukčným varičom bez pokrievky,

ZADANIE 1_ ÚLOHA 3_Všeobecná rovinná silová sústava ZADANIE 1 _ ÚLOHA 3

Získať nejaké body v tejto úlohe je ľahké: stačí vygenerovať všetky trojice a usporiadať ich podľa súčtu:

3. Striedavé prúdy. Sínusoida

Goniometrické rovnice a nerovnice. Základné goniometrické rovnice

AerobTec Altis Micro

Číslo 6 Letný semester 41. ročníka (2016/2017) vaši STROMisti. 10 p+q q p

Kódovanie a dekódovanie

Integrovanie racionálnych funkcií

Život vedca krajší od vysnívaného... s prírodou na hladine α R-P-R

Príklady a úlohy z krivkových integrálov

18. listopada listopada / 13

Chí kvadrát test dobrej zhody. Metódy riešenia úloh z pravdepodobnosti a štatistiky

Numerické metódy Učebný text pre bakalárske štúdium

1 Kinematika hmotného bodu

Zrýchľovanie vesmíru. Zrýchľovanie vesmíru. o výprave na kraj vesmíru a čo tam astronómovia objavili

LR(0) syntaktické analyzátory. doc. RNDr. Ľubomír Dedera

Cieľom cvičenia je zvládnuť riešenie diferenciálnych rovníc pomocou Laplaceovej transformácie,

24. Základné spôsoby zobrazovania priestoru do roviny

Kontrolné otázky na kvíz z jednotiek fyzikálnych veličín. Upozornenie: Umiestnenie správnej a nesprávnych odpovedí sa môže v teste meniť.

Ispitivanje toka i skiciranje grafika funkcija

Goniometrické funkcie

Pravdivostná hodnota negácie výroku A je opačná ako pravdivostná hodnota výroku A.

Teória grafov III stromy ako modely, vlastnosti stromov, binárne prehľadávanie, prefixové kódy, stromy algebraických výrazov, hry

PRIEMER DROTU d = 0,4-6,3 mm

Kódovanie prenosu I.

met la disposition du public, via de la documentation technique dont les rιfιrences, marques et logos, sont

Το άτομο του Υδρογόνου

Moderné vzdelávanie pre vedomostnú spoločnosť Projekt je spolufinancovaný zo zdrojov EÚ M A T E M A T I K A

MATEMATIKA. (zbierka úloh) Matematika. 2. ročník. PaedDr. K. Petergáčová

Računarska grafika. Rasterizacija linije

Planárne a rovinné grafy

VLASTNÉ ČÍSLA A JORDANOV KANONICKÝ TVAR. Michal Zajac. 3 T b 1 = T b 2 = = = 2b

Podnikateľ 90 Mobilný telefón Cena 95 % 50 % 25 %

FURIJEOVI REDOVI ZADACI ( II

Modelovanie dynamickej podmienenej korelácie kurzov V4

Riešenie úloh v simulačnom jazyku MATLAB s využitím skriptov a funkcií

Riešenie rovníc s aplikáciou na elektrické obvody


Reálna funkcia reálnej premennej

Randomized Algorithms

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

Jednotkový koreň (unit root), diferencovanie časového radu, unit root testy

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

Goniometrické substitúcie

Matematika 2. časť: Funkcia viac premenných Letný semester 2013/2014

Princíp kompresných techník pre obrazový signál

at 3 at 13 (r1=1 r2=1)

5. Rovnice, nerovnice a ich sústavy

Funkcie - základné pojmy

2. prednáška. Teória množín I. množina operácie nad množinami množinová algebra mohutnosť a enumerácia karteziánsky súčin

MOSTÍKOVÁ METÓDA 1.ÚLOHA: 2.OPIS MERANÉHO PREDMETU: 3.TEORETICKÝ ROZBOR: 4.SCHÉMA ZAPOJENIA:

Eliminacijski zadatak iz Matematike 1 za kemičare

1. Trojuholník - definícia

Matematika Test M-1, 1. časť

A N A L I S I S K U A L I T A S A I R D I K A L I M A N T A N S E L A T A N S E B A G A I B A H A N C A M P U R A N B E T O N

difúzne otvorené drevovláknité izolačné dosky - ochrana nie len pred chladom...

Lineárne kódy. Ján Karabáš. Kódovanie ZS 13/14 KM FPV UMB. J. Karabáš (FPV UMB) Lineárne kódy Kodo ZS 13/14 1 / 19

p(α 1 ) = u 1. p(α n ) = u n. Definícia (modulárna reprezentácia polynómu). Zobrazenie

Akumulátory. Membránové akumulátory Vakové akumulátory Piestové akumulátory

Transcript:

Kompresi dát Zdroje redundncie: priveľ znkov frekvencie výskytu znkov sú rôzne podmienené prvdepodobnosti rôznych postupností znkov sú rôzne dá s vyjdriť vzorcom lebo lgoritmom (mlá kolmogorovská zložitosť) možnosti interpolácie proximácie Kompresný pomer k = dĺžk kompresovného súboru dĺžk pôvodného súboru Niekedy s ko kompresný pomer uvádz hodnot 1- k. Kompresi dát 1

Vlstnosti kódov Jednoznčná dekódovteľnosť ( Kždú postupnosť vieme jednoznčne rozdeliť n kódové slová.) Prefixová vlstnosť ( Židne kódové slovo nie je prefixom iného kódového slov.) Vlstnosť okmžitej rozhodnuteľnosti ( Pri prečítní posledného znku poznáme koniec kódového slov.) Príkld: kód 1 kód 2 A 0 0 B 10 01 C 110 011 D 1110 0111 Kód 1 má prefixovú vlstnosť. Kód 2 je jednoznčne dekódovteľný, le nemá prefixovú vlstnosť, ni vlstnosť okmžitej rozhodnuteľnosti. Prefixová vlstnosť implikuje obe osttné vlstnosti. Kompresi dát 2

Kompresi rozptýlených záznmov Opkovcí znk počet opkovní Bitová mp Sepráci konštánt Príkld: d 1 d 2 000000d 3 d 4 d 5 d 6 000d 7 d 8 d 9 000 Opkovcí znk: d 1 d 2 R6d 3 d 4 d 5 d 6 R3d 7 d 8 d 9 R3 Bitová mp: 110000001111000111000: d 1 d 2 d 3 d 4 d 5 d 6 d 7 d 8 d 9 Sepráci: 26699(12): d 1 d 2 d 3 d 4 d 5 d 6 d 7 d 8 d 9 Distribučný vektor N nepárnych miestch počet dátových položiek. N párnych miestch počet konštánt. Súčet znmená celkový počet predchádzjúcich. Nájdenie L-tej položky z pôvodných dát v kompresovnom súbore: Nájdeme njmenšie i tké, že L v i-1 +v i. Ak i je párne konštnt. Ak i je nepárne p = L- v i-1. Kompresi dát 3

Diferenčné metódy kompresie Princíp pmätá s len rozdiel od predchádzjúceho záznmu. Metód je vhodná n menné zoznmy, bibliogrfické údje, slovníky, tbuľky hodnôt funkcií. Možno ju kombinovť so slovníkovou metódou. Nevýhodou je citlivosť n chyby. Pr.: Michlčík 0 Michlčík (0,3) Michlč Michn 4 n (4,0) n Mikelk 2 kelk (2,4) kel Mikletič 3 letič (3,2) let Mikulcová 3 ulcová (3,7) ul Mikulič 4 lič (4,2) l Mikuličová 7 ová (7,7) Mikulová 5 ová (5,7) Pridáním slovník 15 njbežnejších koncoviek mien: er, ič, ík, k, ná, ný, ová, zlepší s kompresný pomer. Kompresi dát 4

Frekvenčná nlýz Huffmnové kódy Princíp minimlizáci očkávnej dĺžky kódu. Nech p i je prvdepodobnosť výskytu i - tého kódového znku l i je dĺžk. Potom očkávná dĺžk kódu H je dná vzorcom: H = n i = 1 p i l i, kde n je počet znkov. Algoritmus konštrukcie Huffmnovho kódu (Knuth): Utriedíme znky podľ p i. Zlúčime znky dv znky s njmenšími hodnotmi p i. Riešíme problém pre n-1 hodnôt. Algoritmus nie je jednoznčný. V niektorých prípdoch s môžeme rozhodnúť, ktoré uzly budeme spájť. Možno je výhodne v tkomto prípde minmlizovť súčet vnútorných ciest. Dostneme tk kódy, ktoré s dĺžkou njmenej odlišujú. Kompresi dát 5

Konštrukci Huffmnovho kódu znk, p i ; znk, p i ; znk, p i ; znk, p i ; znk, p i ; s 1 0.4 0.4 0.4 s 3452 0.6 s 34521 1 s 2 0.2 0.2 s 345 0.4 s 1 0.4 s 3 0.2 0.2 s 2 0.2 s 4 0.1 s 45 0.2 s 5 0.1 Kód 1 01 000 0010 0011 s 2 s 3 s4 s5 s 1 s 1 s 2 s 3 Iný strom kód s 4 s 5 00 01 10 110 111 Kompresi dát 6

Väčší príkld Kompresi dát 7

Run length coding Niekedy s stáv, že prvdepodobnosti výskytu znkov sú približne rovnké, le je veľká prvdepodobnosť, že nsledujúci údj bude ko predošlý. Vznikjú dlhé sekvencie (runs) rovnkých znkov. (Je to typické pre grfické dát.) Kódovnie pomocou znku opkovni počtu opkovní. Príkld: bbbbcccbcccccbbb l=25 R4bR4cR3bcR5bR3R4 l=20 Účinnosť tejto metódy je tým väčši, čím sú sekvencie dlhšie. Qud trees oct trees v počítčovej grfike sú zložené n podobnom princípe. Kompresi dát 8

Kompresi s využitím kódového slovník Dný text t máme kompresovť pomocou slovník n fráz d={ p i : 1 i n}. Predpokldáme, že slovník obshuje všetky elementárne (jednoznkové) frázy. Nech t = N oznčuje dĺžku vstupného textu t j j-tý symbol vstupného textu. Oznčme B(j)={p i : ( 0 k < p i ) t j+k = p ik }, kde p ik je k-tý symbol frázy p i. Nech ω i je cen frázy p i. (Obvykle ω i = 1 pre všetky i. ) Cenu F(1) minimálneho pokryti textu t dostneme, ko riešenie systému rekuretných rovníc: F(j) je cen pokryti textu od F ( N + 1) = 0 pozície j (včítne) do konc. F ( j) = min { F ( j + p i ) + ωi} N pokrytie použijeme tie p i B( j ) frázy, pomocou ktorých s F(1) vypočítlo. Kompresi dát 9

Príkld - kompresi pomocou slovník Slovník: { A, AR, ARG, E, EN, G, GU, M, ME, MENT, N, R, U, UM, T } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Text: ARGUMENT B(1)={1,2,3} B(2)={12} B(3)={6,7} B(4)={13,14} B(5)={8,9,10} B(6)={4,5} B(7)={11} B(8)={15} F(9)=0, F(8)=1, F(7)=2, F(6)=2, F(5)=1, F(4)=2, 15 15,8 15,14 10 10, 13 F(3)=2, F(2)=3, F(1)=3 10,7 12,10,7 10,7,2 (10,13,3) AR-GU-MENT 2,7,10; ARG-U-MENT 3,13,10. Npriek zdnlivej zložitosti, kompresovť podľ sttického slovník s dá v lineárnom čse. Konštrukci optimálneho slovník, k dnému textu je NP ťžký problém. Kompresi dát 10

Adptívne metódy kompresie Hoci optimálne pokrývnie s dá robiť efektívne, vyžduje njprv prečítnie celého vstupu. Konštrukci slovník je tk, či tk ťžký problém. Nápd vzdť s optimálnosti, použiť nejký pžrvý (greedy) lgoritmus robiť všetko z letu (on the fly). Algoritmus: while not koniec do begin zkóduj čo njdlhší úsek vstupu; modifikuj slovník end; Výhodou týchto metód je, že pri dekódovní s použije ten istý lgoritmus modifikácie slovník slovník nie je potrebné prenášť uchovávť s dátmi. Kompresi dát 11

Ziv Lempel Welch Slovník je strom zostvený z podreťzcov prečítného úseku textu. Mximáln výšk tohoto stromu h njväčší možný počet vrcholov n sú prmetre metódy. Vrcholy sú oznčené číslmi kódmi hrny symbolmi vstupnej becedy. N počitku sú všetky symboly listy v hĺbke 1. Tieto postupne rozširujeme o suffixy prečítného textu (dĺžky menšej lebo rovnej h ) pokiľ strom nemá n vrcholov. Uzol stromu je kód pre cestu od vrcholu k nemu. Ak s strom nplní nemusíme ho už ďlej modifikovť, le môžeme ho reorgnizovť prečíslovť vrcholy. Kódovnie s robí tk, že nájdeme njdlhšiu cestu od koreň k uzlu stromu, ktorej hrny s zhodujú so vstupom. Kompresi dát 12

Príkld konštrukcie dptívneho slovníku Σ={,b,c}, h=4, n=16, t=bbcbbbbbbcb b 3 b 0 b 5 b b c 1 c c 7 2 b b 13 0,1,1,2,4,5,5,2,1 9 Počitočný strom b 4 11 6 8 12 10 Kompresi dát 13

Njjednoduchší spôsob LZ kódovni Inicilizuj slovník; /* znky becedy */ Nstv s n zčitok vstupného slov W; repet Z dnej pozície njdi njdlhší úsek u slov W, ktorý je v slovníku; Zkóduj u indexom v slovníku; Nstv s nsledujúcu pozíciu vstupného slov W[next]; Ak v slovniku je ešte miesto pridj uw[next] do slovník; until koniec vstupu; Posledný príkz môžeme rôzne modifikovť. Npr. obmedziť dĺžku pridávného slov, lebo pridávť všetky sufixy uw[next]. Aj činnosť v prípde, že slovník je plný môže byť rôzn. Môžeme pokrčovť bez pridávni, lebo vyprázdniť všetko ž po prvú úroveň zčť znov, lebo vynechť len nejkú čsť. Kompresi dát 14

Aritmetické kódovnie Huffmnovo kódovnie nie je optimálne pretože dĺžk kódu musí byť celé číslo. Ide kódovť pomocou intervlov podintervlov <0, 1). Celý text jeden intervl. Symbol prvdepodobnosť intervl 0.2 <0, 0.2) e 0.3 <0.2, 0.5) i 0.1 <0.5, 0.6) o 0.2 <0.6, 0.8) u 0.1 <0.8, 0.9)! 0.1 <0.9, 1 ) Text je eii!. Pri kompresii i dekompresii zčínme s intervlom <0, 1). Vždy po nčítní symbolu zúžime intervl. Kompresi dát 15

Aritmetické kódovnie - pokrčovnie Proces kódovni (kompresie) <0, 1) e <0.2, 0.5) Ak posledný znk je znk konc <0.2, 0.26) textu, môžeme kompresovný i <0.23, 0.236) text zkódovť ľubovolným i <0.233, 0.2336) číslom z výsledného intervlu.! <0.23354, 0.2336) Proces dekódovni (dekompresie)! u o i e! u o i e! u o i e! u o i e! u o i e Kompresi dát 16! u o i e

Technické detily ritmetického kódovni Presná ritmetik (integer, fixed) kumultívne frekvencie nmiesto prvdepodobností underflows - scling Metód bude dptívn, keď po kždom prečítní symbolu, ktulizujeme kumultívne frekvencie, či prvdepodobnosti. Metód je vhodná n: dptívnu kompresiu textu kompresiu postupností celých čísiel kompresiu čierno-bielých obrázkov Kompresi dát 17

Trnsformácie zmenšujúce entropiu Entropi H je očkávný počet bitov potrebný n zkó- dovnie znku i s prvdepobnosť ou výskytu p( i ). n H = i=1 p i log 2 p i Dobré kódy sú blízske tejto hrnici: Aritmetické kódovnie Huffmn Pred kompresiou zkódujeme text nejkou trnsformáciou, ktorá zmenší jeho entropiu tým umožní jeho lepšiu kompresiu. Kompresi dát 18

Presun n zčitok MTF Njprv znky zkódujeme do slovník v nejkom pordí. Znky kódujeme pordovým číslom. Použitý znk presunieme n zčitok. Príkld: b b b c c b b c c c c b d b c c 0 1 2 0 1 2 3 0 1 2 3 0 1 2 3 b c d b c d c b d Výsledok: 0 1 1 1 1 0 1 2 0 1 0 1 0 00 1 3 1 2 0 Frekvencie znkov: b c d 0 1 2 3 4 7 8 1 8 9 2 1 Entropi: 1.74 1.6 Extrém: b b b b b c c c c c d d d d d Výsledok: 0 0 0 0 0 1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 Entropi: 2 0.85 Kompresi dát 19

Burrows Wheelerov trnsformáci Algoritmus 1 (kódovnie): Z reťzc r dĺžky n vytvoríme všetkých n jeho cyklických posuvov o jeden znk vľvo tieto utriedíme. Výstup L sú posledné znky kždého reťzc index (pozíci) pôvodného reťzc v utriedenej postupnosti. Algoritmus 2 (inverzná trnsformáci dekódovnie): Znky zkódovného reťzc L utriedime. Dostneme reťzec F. Vytvoríme dekódovcí vektor T[ i ] = j, práve vtedy k symbol F[ i ] je n j tej pozícii L[ j ]. Pritom predpokldáme, že triedenie bolo stbílne. Prirdíme i počitočný index dekodujeme lgoritmom: repet output(f[ i ] ) ; i : = T [ i ] until EOF; Kompresi dát 20

Príkld Kódovnie: 0 brkdbr 1 brkdbr 2 rkdbrb 3 kdbrbr 4 kdbrbr 5 dbrbrk 6 dbrbrk 7 brbrkd 8 brbrkd 9 rbrkdb 10 brkdbr A 0 brkdb r 1 brbrk d 2 brkdbr 3 dbrbr k 4 kdbrb r 5 brbrkd 6 brkdbr 7 dbrbrk 8 kdbrbr 9 rbrkd b 10 rkdbr b Výstup po trnsformácii: 2;rdkrbb Kompresi dát 21

Dekódovnie 012345678910 L = rdkrbb F = bbdkrr T = 256789101304 Že dekódovnie funguje. Posuňme ridky mtice cyklicky o jedno doprv dostneme mticu A s. Bude zčínť stĺpcmi LF. Prvý symbol A[T[ i]] je druhý symbol A[ i], pretože A s [T[ i]] = A[ i]. I = 2 I = T[2] = 6 I = T[6]=10 I = T[10]=4 I = T[4] = 8 I = T[8] = 3 I = T[3] = 7 I = T[7] = 1 I = T[1] = 5 I = T[5] = 9 I = T[9] = 0 T[ I ] b r k d b r Kompresi dát 22

Použitie Burrows Wheelerov trnsformáci nekompresuje, le triedením presúv rovnké symboly do zhľukov. Umožňuje ted lepšiu kompresiu. BZip, BZip2: Rozdelí text n rozumne veľké bloky pevnej dĺžky Čím väčší blok, tým lepši kompresi N blok plikuje Burrows Wheelerovu trnsformáciu Potom plikuje presun n zčitok Kompresuje ritmetickým kódovním Množstvo vylepšení progrmátorských trikov Triedenie len n záklde prefixu Netreb skutočne robiť cyklické posuvy Umiernený posun n zčitok Kompresi dát 23