Transcript Capitolul 1
UNIVERSITY POLITEHNICA of BUCHAREST DEPARTMENT OF COMPUTER SCIENCE Conf. Dr. Ing. Costin-Anton Boiangiu <[email protected]> Notare (1) [60%] Activitate in timpul semestrului (laborator/proiect) [05%] Faza documentare si raport preliminar [10%] Documentatie proiect [50%] Implementare, optimizari, paralelizari [05%] Validarea rezultatelor obtinute (scenarii de test) [30%] Raport final, articol revista [10%] Activitate in timpul semestrului (curs) [50%] Prezenta [50%] Grad de participare la discutii in cadrul prezentarilor colegilor Notare (2) [10%] Prezentare in cadrul cursului [60%] Calitatea prezentarii si claritatea expunerii [40%] Calitatea cercetarii depuse in domeniul prezentat si abilitatea de a raspunde intrebarilor conexe [20%] Examen Final (cu orice fel de documentatie scrisa pe masa) – o idee/abordare originala plus algoritmul aferent pentru rezolvarea unei probleme practice din cadrul ariilor definite de curs [50%] Descriere idee/abordare [25%] Demonstratie matematica [25%] Algoritm (pseudocod apropiat de un limbaj de programare) Criterii Promovare Pentru promovare trebuie sa: Obtineti: 50% din punctajul din timpul anului 50% din punctajul final Sustineti o prezentare in fata colegilor, in cadrul cursului, pe baza unei programari preliminare Precizari Importante (1) Alegerea prezentarii: Deadline: 16 octombrie, ora 22:00, cerere pozitii pe site-ul cursului si alocare in ordinea sosirii cererilor Se pot alege teme din cadrul articolelor upload-ate pe site sau altceva in domeniul cursului, de comun acord Prezentarea va fi trimisa in fiecare luni de dinaintea cursului pana la ora 22:00, pe e-mail-ul [email protected],ro, urmand a fi postata pe site-ul de curs pentru a putea fi vizualizata de toti cei interesati. Prezentarile din prima saptamana vor beneficia de un bonus de 1 punct, iar in cea de a doua de 0.5 puncte Alegerea proiectului Deadline: 16 octombrie, ora 22:00 Pentru fiecare saptamana intarziere se scade 1 punct din nota de proiect Precizari Importante (2) Predarea proiectului (implementare) Pentru cei care nu echivaleaza examen: ultimul laborator Pentru cei care echivaleaza examen: preziua examenului Predarea proiectului (raport cercetare, articol conferinta/revista) Pentru cei care nu echivaleaza examen: ultimul laborator Pentru cei care echivaleaza examen: preziua examenului Pentru predare inainte de termen se acorda bonus de 0.5 puncte pe saptamana in cadrul activitatii de laborator/proiect Cei care sunt acceptati cu un articol la o conferinta/revista importanta (necesita validare) primesc 10 la aceasta materie! Ce este compresia? Definitia 1: Compresia este stiinta reprezentarii datelor intr-o forma compacta Definitia 2: Compresia este procesul de minimizare a spaţiului ocupat sau a timpului necesar transmiterii unei anumite cantităţi de informaţie Analogie fizica: impachetarea unei valize 7 De ce compresie? In lumea fizica Insuficienta spatiului In lumea digitala Intrebare: Capacitatea de stocare/transmitere creste exponential. Merita efortul? Raspuns: Da, mai multa viteza. Exemple: 1 sec de audio CDDA: 1 sec de audio HD: 44100 samples x 2 channels x 16 bits/sample = 1,411,200 bits 192,000 x 2 x 24/32 = 9,216,000/12,288,000 bits 1 sec de video CCIR 601 = 20+ MB 1 frame VGA (RGB): 1024 x 768 x 24 = 18,874,368 bits 8 De ce compresie? Alte exemple HDTV: Pana la 2,985 Mbps (1920 x 1080 x 24 x 60) Cablu HDMI 5-10 Gpbs NHK’s 8K: 7680 x 4320 x 24 x 30 = 23,880 Gpbs (!) Compresie Audio 28Mbps 7-28Mbps Video 24Gbps 180-600 Mbps 9 De ce compresie? Concluzie – fara compresie: Multe aplicatii/servicii nu ar fi functionale Ex., streaming video Alte servicii ar fi mult mai scumpe Ex. Telefonie analogica vs. digitala De ce nu am tine datele compresate mereu? Majoritatea formatelor de date sunt proiectate pentru achizitie/consum nu si pentru stocare eficienta 10 Terminologie original x compresat Compresie y decompresat Decompresie x’ Metodele de compresie pot fi împărţite în: metode de compresie cu pierdere metode de compresie fără pierdere 11 Terminologie Factorul de compresie:|x|/|y| |x| reprezinta lungimea in biti a mesajului initial, iar |y| reprezinta lungimea in biti a mesajului codificat Ex.: |x| = 65,536, |y| = 16384, compresie = 4:1 sau, marimea datelor a fost redusa la (|x|-|y|)/|y| = 75% Alte marimi ale codificarii Biti / esantion (bits per sample) Ex. ASCII: 8 bits/char, RGB: 24/48/72 bits/pixel Distorsiune (metode cu pierderi) Raportul dintre diferenta dintre x si x’ perceputa de om si diferenta matematica dintre x si x’ 12 Compresia cu pierdere Metodele de compresie cu pierdere de informaţie sunt folosite în special în transmisia semnalului audio şi video, unde pierderea de informaţie au ca rezultat o scădere a calităţii sunetului, respectiv imaginii 13 Compresia fara pierdere Conceptul de compresie de date fără pierdere pare imposibil la prima vedere, dar o analiză mai atentă face ca această idee, de compresie fără pierdere, să aibă sens Dacă ne gândim la prescurtările din viaţa de zi cu zi (abrevieri: prof., etc., CEC, ş.a.) acestea apar ca o formă primitivă a compresiei de date Compresia de date fără pierdere, prezentă în programele de arhivare, în sistemele de transmisiune a datelor, a evoluat de-a lungul timpului pornind de la algoritmi simpli (suprimarea zerourilor, codarea pe şiruri) şi ajungând la algoritmii complecşi folosiţi în prezent 14 Compresia fara pierdere Metodele de compresie fără pierderi au la bază ideea că, în general, cantitatea de informaţie prelucrată (transmisă, depozitată) conţine o anumită redundanţă care se datorează: distribuţiei caracterelor (unele caractere au o frecvenţă de apariţie mult mai mare decât altele) repetării consecutive a unor caractere; distribuţiei grupurilor de caractere (unele grupuri sunt mult mai frecvente decât altele şi în plus există grupuri care nu apar deloc) distribuţiei poziţiei (unele caractere sau grupuri ocupă poziţii preferenţiale, predictibile în anumite blocuri de date) 15 Avantajele compresiei Avantajele compresiei sunt: reducerea spaţiului necesar depozitării unei cantităţi de informaţie; scăderea timpului de transmitere a unor mesaje, ceea ce duce la scăderea costului per mesaj şi posibiltatea creşterii traficului într-o reţea de transmisiuni această scădere a timpului este efectul direct al micşorării cantităţii de informaţie, dar şi efectul indirect al micşorării pierderilor de timp datorate protocoalelor de comunicaţie scăderea timpului de rulare a unui program datorită timpului de acces la disc 16 Clasificarea algoritmilor de compresie fără pierderi algoritmi statici - se bazează pe o statistică bine cunoscută a sursei şi dau rezultate bune în cazul în care sursele au o statistică asemănătoare cu cea presupusă in caz contrar, rezultatul poate fi o extensie în loc de o compresie algoritmi semiadaptivi (sau în două treceri) - algoritmi care folosesc statistica simbolurilor mesajului, statistică ce se obţine printr-o parcurgere iniţială a întregului mesaj aceşti algoritmi oferă rezultate pentru orice tip de sursă, dar nu pot fi folosiţi într-o transmisiune algoritmi adaptivi - sunt de obicei cei mai potriviti pentru orice tip de sursă tehnicile adaptive au ca idee construirea unui "dicţionar de codare" al simbolurilor mesajului, paralel cu codarea pentru compresie a mesajului. acest dicţionar se va construi identic la recepţie, pe baza informaţiei recepţionate 17 Modelare si codificare Cerinţele reconstrucţiei sunt cele ce impun dacă compresia este cu sau fără pierderi, schema exactă depinzând de un număr de factori Unii din cei mai importanţi sunt impuşi de caracteristicile datelor destinate compresiei, de exemplu, o tehnică de compresie poate fi eficientă pentru compresia unui text, dar total ineficientă pentru imagini Fiecare aplicaţie prezintă particularităţi specifice Dezvoltarea algoritmilor de compresie pentru o varietate de date cuprinde două faze: prima fază se referă de obicei la modelare, când se încearcă extragerea informaţiei despre orice redundanţă din date şi descrierea acesteia sub forma unui model a doua fază este codarea. Diferenţa dintre date şi model se numeşte secvenţă reziduală sau reziduu. 18 Modelare si Codificare. Exemplul 1 Se considera secventa: Sn = 9, 11, 11, 11, 14, 13, 15, 17, 16, 17, 20, 21 Codificare binara necesita 5 bits/sample Se considera modelul: Ŝn = n + 8: 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 Reziduu en = Sn - Ŝn: 0, 1, 0, -1, 1, -1, 0, 1, -1, -1, 1, 1 Ex. codificare: ‘00’ <=> -1, ‘01’ <=> 0, ‘10’ <=> 1 2 bits/sample Schema de compresie = model + reziduu Obs. Modelul trebuie sa fie codificat de asemenea (de obicei in cadrul algoritmului) 19 Modelare si Codificare. Exemplul 2 Se considera secventa: Sn = 27, 28, 29, 30, 30, 32, 31, 31, 29, 28, 27 Se considera modelul: Ŝ1 = 0; Ŝn = Sn-1 for n > 1 0, 27, 28, 29, 30, 30, 32, 31, 31, 29, 28 Reziduul {en}= 27, 1, 1, 1, 0, 2, -1, 0, -2, -1, -1 Poate fi codificat cu mult mai putini biti Codificare predictiva Folosirea datelor precedente pentru a calcula date viitoare. Foarte folositor pentru exploatarea redundantei temporale Ex. in audio si video 20 Codificare in lumea reala: Braille (1821) “Be nice to others” 21 Codificare in lumea reala: Morse (1844) Observati diferentele in lungimele codurilor 22 Codul Morse vs. Frecventa literelor In general, frecventa mare/mica => cod scurt/lung Acesta este ideea in spatele schemei de codificare ce exploateaza redundanta statistica. 23 Reprezentarea datelor Date analogice (continue) Reprezentate de numere reale Observatie: nu pot fi stocate in calculatoare Date digitale (discrete) Valori intr-un set finit {a1, a2, …, an}, Toate datele sunt reprezentate ca siruri de simboluri din acest set. Ex.: {a,b,c,d,r} => abc, car, bar, abracadabra, … Folosim date digitale pentru a aproxima date analogice 24 Seturi de simboluri Alfabetul roman si semnele de punctuatie ASCII - 256 simboluri Braille, Morse Binar- {0,1} 0 si 1 se numesc biti Toate datele digitale pot fi reprezentate eficient cu biti Ex.: {a, b, c, d}, reprezentare binara cu lungime fixa (2 bits/simbol): Simbol Binar a 00 b 01 c 10 d 11 25 Surse de informaţie si codificare Sursele de informatie pot fi analogice sau discrete Majoritatea surselor de informatie din domeniul calculatorelor si al aplicatiilor internet sunt discrete Pentru a descrie o sursă discretă fără memorie (SDFM) sunt necesare două mărimi: alfabetul sursei şi probabilităţile de furnizare a fiecărui simbol: s1 S : p 1 s2 ... p2 ... sN p N N p(s k ) 1 k 1 26 Surse de informaţie si codificare dacă numărul de simboluri este finit, sursa se numeşte discretă dacă la un moment dat se emite sigur un simbol atunci sursa este completă sursa este fără memorie dacă evenimentele sk sunt independente, adică furnizarea unui simbol la un moment dat nu depinde de simbolurile furnizate anterior totalitatea simbolurilor unei surse formează alfabetul sursei orice succesiune finită de simboluri, în particular un singur simbol, se numeşte cuvânt totalitatea cuvintelor formate cu un anumit alfabet se numeşte limbaj 27 Teoria informatiei Dezvoltata formal de Claude Shannon la Bell Labs in 1940-1950 Explica limitele de codificare/transmisie folosind teoria probabilitatilor Informatia furnizata de un simbol A al unei surse de informatii este: P(A) reprezinta probabilitatea de aparitie a simbolului A i ( A ) log 1 b P ( A) log b PA 28 Surse de informaţie si codificare 6 Observatii 5 P(A) mic => i(A) mare 4 P(A) mare => i(A) mic 3 Idee: Simbolurile cu probabilitate mica (surpriza) contin mai multa informatie Daca A si B sunt independente atunci: i(AB) = i(A) + i(B) log 2 2 x 1 0 0 0.1 0.2 i ( AB ) log log 0.3 0.5 1 b 1 b 0.4 P ( A) 0.6 log P ( AB ) log 0.7 1 b 0.8 0.9 1 b 1 P ( A) P ( B ) i( A) i( B ) P(B) 29 Exemplu: aruncarea monezii Moneda ideala Fie H si T rezultatele aruncarii Daca P(H) = P(T) = 1/2, atunci i(H) = i(T) = -1/log2(1/2) = 1 bit Moneda masluita Fie P(H) = 1/8, P(T) = 7/8 i(H) = 3 biti i(T) = 0.193 biti Obs. ca P(H) + P(T) = 1 30 Entropie Entropia este informaţia medie pe simbol sau, altfel formulat, este incertitudinea medie asupra simbolurilor sursei S, sau informatia medie furnizata de un simbol Unitatea de masura pentru entropie este biti/simbol Daca experimentul genereaza simboluri, atunci (pentru log2) H este numarul mediu de simboluri binare necesare pentru codificare Shannon: Nici un algoritm fara pierderi nu poate compresa mai bine N N H ( S ) p ( s i ) i ( s i ) p ( s i ) log( p ( s i )) i 1 i 1 31 Exemplul 1 Se considera secventa: 1 2 3 2 3 4 5 4 5 6 7 8 9 8 9 10 P(1) = P(6) = P(7) = p(10) = 1/16 P(2) = P(3) = P(4) = P(5) = P(8) = P(9) = 2/16 Presupunand ca secventa este iid (Independent & Identically Distributed): H 10 i 1 P ( i ) log 2 P (i ) 4 2 1 2 log 2 log 2 6 3 . 25 bits 16 16 16 16 1 32 Exemplul 2 Consideram secventa 12123333123333123312 P(1) = P(2) = 1/4, P(3) = 1/2, H = 1.5 bits/simbol Total biti: 20 x 1.5 = 30 Reconsideram secventa (1 2) (1 2) (3 3) (3 3) (1 2) (3 3) (3 3) (1 2) (3 3) (1 2) P(1 2) = 1/2, P(3 3) = 1/2 H = 1 bit/simbol x 10 simboluri = 10 biti In teorie, se poate extrage o structura luand esantioane mai mari In realitate, ne trebuie un model corect, pentru ca de obicei nu este practic sa observam sursa prea mult timp 33 Modele Un model bun pentru date conduce la algoritmi de compresie eficienţi Pentru a dezvolta algoritmi care efectuează operaţii matematice asupra datelor, acestea trebuie modelate matematic Modele fizice Dacă se cunoaşte ceva despre mecanismul de generare a datelor, se poate folosi această informaţie pentru construirea modelului De exemplu, în aplicaţiile referitoare la vorbire, cunoaşterea mecanismului de producere a vorbirii poate fi folosit la construirea unui model matematic pentru procesul vorbirii eşantionate. 34 Modele Modele probabilistice Cel mai simplu model statistic pentru sursă este de a presupune că fiecare mesaj furnizat de sursă este independent de celelalte şi fiecare se produce cu aceeaşi probabilitate Acesta este numit model de ignoranţă si ar putea fi util când nu se cunoaşte nimic despre sursă Următorul pas în creşterea complexităţii modelului este de a păstra presupunerea asupra independenţei, dar de a înlătura presupunerea de probabilitate egală pentru mesaje În acest caz se alocă fiecărui mesaj o probabilitate în funcţie de frecvenţa de furnizare a mesajului respectiv. 35 Modele Modele probabilistice (cont) Pentru o sursă care generează mesaje dintr-un alfabet S = {s ,..., s } 1 M se poate folosi modelul de probabilitate Cu acest model se poate calcula entropia sursei şi pot fi construite coduri eficiente pentru reprezentarea mesajelor din S, adică se poate folosi un număr mediu minim de biţi pentru fiecare mesaj Dacă se renunţă la presupunerea de independenţă, se pune problema găsirii unui mod de a descrie dependenţa datelor, aşa cum este în cazul modelelor Markov 36 Modele Model de surse compuse În multe aplicaţii nu este potrivit a se folosi un singur model pentru a descrie sursa, caz în care se poate defini o sursă compusă, care poate fi văzută ca o combinaţie de diverse surse, din care una este activă la un moment dat Fiecare din acestea este descrisă de un model propriu Source 1 Source 2 … Source n 37 Modele Model Markov Unul dintre cele mai răspândite moduri de reprezentare a dependenţei între date este folosirea modelului Markov Pentru modelarea datelor, în compresia fără pierderi se foloseşte un model particular numit lanţ Markov discret Fie {xn } secvenţa observată. Aceasta secvenţă se zice că este un model Markov de ordin k, dacă: P x n x n 1 , , x n k P x n x n 1 , , x n k , adică simbolul xn depinde numai de ultimele k mesaje xn-1, ..., xn-k 38 Modele Multimile {xi-1, …, xi-k}, i=n, n-1,…, reprezinta starile procesului Dacă mărimea alfabetului sursei este l, numărul de stări este lk Cel mai des folosit model Markov este cel de ordinul 1, pentru care: P x n x n 1 P x n x n 1 , , x n k , 39 Modele Folosirea modelului Markov nu necesită prezumţia de liniaritate De exemplu, fie o imagine binară, care are numai două feluri de pixeli - albi şi negri Se ştie că apariţia unui pixel alb la observarea următoare depinde în oarecare măsură dacă pixelul curent este alb sau negru Prin urmare, se poate modela succesiunea de pixeli cu un lanţ Markov 40 Modele Se defines doua stari: Sb & Sw pentru valoarea pixelului curent Se defines probabilitatile: P(Sb) = prob. ca pixelul sa fie negru P(Sw) = prob. Ca pixelul sa fie alb Probabilitatile de tranzitie sunt: P(b|b), P(b|w) P(w|b), P(w|w) 41 P(w|w) P(b|b) P(b|w) Sw P(w|b) Sb H S w P b / w log b / w P w / w log w / w H S b P w / b log b / w P b / b log b / b P w / w 1 P b / w , P b / b 1 P w / b H P S b H S b P S w H S w Exemplu Fie P S w 30 / 31 P S b 1 / 31 P w / w 0 . 99 P b / w 0 . 01 P b / b 0 . 7 P w / b 0 .3 Pentru modelul iid (Independently and Identically Distributed): H iid 0 . 8 log 0 . 8 0 . 2 log 0 . 2 0 . 206 Pentru modelul Markov: H S b 0 . 3 log 0 . 3 0 . 7 log 0 . 7 0 . 881 H S w 0 . 01 log 0 . 01 0 . 99 log 0 . 99 0 . 081 H Markov 42 30 31 0 . 081 1 31 0 . 881 0 . 107 Folosirea modelelor Markov in compresia textelor Modelele Markov sunt utile în compresia textelor, deoarece probabiltatea de apariţie a unei litere este influenţată de precedentele Fie cuvântul “ornitoring”: Se presupune că s-a procesat deja ornitorin şi urmează a se coda următoarea literă Dacă nu se ţine seama de context şi se tratează litera ca o surpriză, probabilitatea să apară litera g este relativ scăzută Dacă se foloseşte un model Markov de ordinul Ι, probabilitatea să urmeze g creşte considerabil Cu creşterea ordinului modelului Markov (de la “n” la “in”, la “rin” ş.a.m.d.) probabilitatea literei g devine mai mare, ceea ce conduce la o entropie scăzută. 43 Coduri unic decodificabile Codificarea sursei S, prin alfabetul X, inseamnă găsirea unei corespondenţe biunivoce (S,X) între cuvintele de cod {ci | i=1,2,...,N} şi simbolurile sursei S Fiecare cuvânt de cod este o succesiune finită de litere din alfabetul codului Probabilitatea unui cuvânt de cod este dată de probabilitatea simbolului care trebuie transmis Definiţie: Un cod se numeşte unic decodabil dacă fiecărei succesiuni de cuvinte de cod îi corespunde o singură succesiune de mesaje (simboluri) ale sursei. Definiţie: Dacă un cuvânt de cod ci este format din succesiunea xi1xi2xim, atunci succesiunea xi1...xik, km se numeşte prefix al cuvântului respectiv Dacă nici un cuvânt de cod nu este prefix pentru alt cuvânt de cod se spune că acel cod are proprietatea de prefix. 44 Coduri unic decodificabile Exemple Alfabet = {a1, a2, a3, a4} P(a1) = 1/2, P(a2) = 1/4, P(a3) = P(a4) = 1/8 H = 1.75 bits n(ai) = lungime(cuvant cod(ai)), i=1..4 Lungime medie l = i=1..4P(ai) n(ai) Coduri posibile: Probabilitate Cod 1 Cod 2 Cod 3 Cod 4 a1 0.500 0 0 0 0 a2 0.250 0 1 10 01 a3 0.125 1 00 110 011 a4 0.125 10 11 111 0111 1.125 1.250 1.750 l 1.875 45 Coduri unic decodificabile Probabilitate Cod 1 Cod 2 Cod 3 Cod 4 a1 0.500 0 0 0 0 a2 0.250 0 1 10 01 a3 0.125 1 00 110 011 a4 0.125 10 11 111 0111 1.125 1.250 1.750 l 1.875 Cod 1 Coduri identice pentru a1 si a2==> decode(‘00’) = ??? Cod 2 Coduri unice dar ambigue: decode( ‘00’/’11’) = ??? Cod 3 Unic decodificabil, instantaneu Code 4 Unic decodificabil, aproape instantaneu 46 Coduri unic decodificabile Decodificare unica: Pentru orice secventa de cuvinte cod exista o unica decodificare pentru ea Unica != instantanee Ex.: a1 0 a2 01 a3 11 decode(0111111111) = a1a3… or a2a3… ? Nu se stie pana la sfarsitul secventei 0111111111 01111111a3 011111a3a3 0111a3a3a3 01a3a3a3a3 a2a3a3a3a3a3 47 Test de Decodificare Unica Prefix si sufix Fie a = a1…ak, b = b1…bn coduri binare si k < n Daca a1…ak = b1…bk atunci a este prefix al lui b si bk+1…bn este sufix (dangling suffix) al lui a: ds(a, b) Algoritm Fie C = {cn} setul tuturor cuvintelor cod Pentru toate perechile (ci, cj) in C repeta: Daca ds(ci, cj) C // sufixul NU este cuvant cod C = C U ds(ci, cj) Altfel // sufixul este cuvant cod return NOT_UNIQUE pana cand nu mai exista perechi unice return UNIQUE 48 Coduri Prefix Cod prefix: Niciun cuvant cod nu este prefix al altuia Arborii binari = decodificatori de prefix: symbol code a 00 b 01 c 1 0 1 0 1 a b c repeat curr = root repeat if get_bit(input) = 1 curr = curr.right else curr = curr.left until is_leaf(curr) output curr.symbol until eof(input) 49 Decodificarea coduril prefix. Exemplu simbol cod a 0 b 10 c 110 d 1110 r 1111 1 0 a 0 b 1 0 c 1 0 1 d r abracadabra = 010111101100111001011110 50 Exemplu decodificare 1 0 a 0 b 1 0 c Input 1 0 1 d r = 010111101100111001011110 Output = ----------51 Exemplu decodificare 1 0 a 0 b 1 0 c Input 1 0 1 d r = 010111101100111001011110 Output = a---------52 Exemplu decodificare 1 0 a 0 b 1 0 c Input 1 0 1 d r = -10111101100111001011110 Output = a---------53 Exemplu decodificare 1 0 a 0 b 1 0 c Input 1 0 1 d r = -10111101100111001011110 Output = a---------54 Exemplu decodificare 1 0 a 0 b 1 0 c Input 1 0 1 d r = --0111101100111001011110 Output = ab--------55 Exemplu decodificare 1 0 a 0 b 1 0 c Input 1 0 1 d r = ---111101100111001011110 Output = ab--------56 Exemplu decodificare 1 0 a 0 b 1 0 c Input 1 0 1 d r = ---111101100111001011110 Output = ab--------57 Exemplu decodificare 1 0 a 0 b 1 0 c Input 1 0 1 d r = ----11101100111001011110 Output = ab--------58 Exemplu decodificare 1 0 a 0 b 1 0 c Input 1 0 1 d r = -----1101100111001011110 Output = ab--------59 Exemplu decodificare 1 0 a 0 b 1 0 c Input 1 0 1 d r = ------101100111001011110 Output = abr-------60 Exemplu decodificare 1 0 a 0 b 1 0 c Input 1 0 1 d r = -------01100111001011110 Output = abr-------61 Exemplu decodificare 1 0 a 0 b 1 0 c Input 1 0 1 d r = -------01100111001011110 Output = abra------62 Exemplu decodificare 1 0 a 0 b 1 0 c Input 1 0 1 d r = --------1100111001011110 Output = abra------63 Exemplu decodificare 1 0 a 0 b 1 0 c Input 1 0 1 d r = --------1100111001011110 Output = abra------64 Exemplu decodificare 1 0 a 0 b 1 0 c Input 1 0 1 d r = ---------100111001011110 Output = abra------65 Exemplu decodificare 1 0 a 0 b 1 0 c Input 1 0 1 d r = ----------00111001011110 Output = abrac-----66 Exemplu decodificare 1 0 a 0 b 1 0 c Input 1 0 1 d r = -----------0111001011110 Output = abrac-----67 Exemplu decodificare 1 0 a 0 b 1 0 c Input 1 0 1 d r = -----------0111001011110 Output = abraca----68 Exemplu decodificare 1 0 a 0 b 1 0 c Input Si tot asa… 1 0 1 d r = ------------111001011110 Output = abraca----69 Concluzii In compresia datelor un rol important il are teoria codarii si teoria informatiei Compresia se refera la micsorarea redundantei mesajului de transmis Compresia de poate face: cu pierdere de informatie, asa cum este cazul surselor continue (analogice) discretizate, reprezentate numeric in calculator fara pierdere de informatie, asa cum este in cazul textelor Ca masura a compresiei se foloseste - cel mai des – marimea numira raportul de compresie, ca raport intre marimea fisierului comprimat si marimea fisireului initial, necomprimat Un criteriu complet al calitatii compresiei trebuie sa considere insa si complexitatea algoritmilor de codare/decodare 70