Compresia de Date

Seminar
7/10 (1 vot)
Conține 2 fișiere: doc, cpp
Pagini : 8 în total
Cuvinte : 2281
Mărime: 77.18KB (arhivat)
Publicat de: Gherasim Sima
Puncte necesare: 0

Extras din seminar

Definire:

Compresia datelor este procedeul prin care se realizează reducerea spaţiului ocupat pe suport de un fişier sau de un set de date. Prin compresie datele iniţiale sunt transformate obţinându-se reprezentări echivalente numite şi date compresate.

Decompresia este procedeul care asigură revenirea la forma iniţială a unui fişier, adică datele compresate sunt aduse la o formă cât mai apropiată sau chiar identică cu forma pe care au avut-o înaintea compresiei.

Algoritmi de compresie:

Există numeroase criterii de clasificare şi un algoritm trecut prin fiecare dintre aceste criterii îşi defineşte de fapt caracteristicile. După momentul în care se face compresia algoritmii sunt :

 algoritmi de compresie printr-o singură trecere, sau algoritmi dinamici: pe măsură ce se parcurge fişierul are loc şi compresia;

 algoritmi de compresie prin mai multe treceri, sau algoritmi statici: la prima trecere se analizează alfabetul, frecvenţele simbolurilor, se identifică subşirurile care se repetă, iar la următoarele treceri are loc particularizarea alfabetului destinaţie strict la particularităţile pe care le prezintă subalfabetul fişierului sursă.

Prin definiţie, algoritmii statici de compresie sunt acei algoritmi care presupun traversarea în întregime a fişierului ce urmează a fi compresat, înaintea realizării compresiei. Din această clasă fac parte algoritmul Huffman standard, Compresia aritmetică şi algoritmul Fano-Shannon.

Algoritmul Huffman:

Algoritmul Huffman constă în înregistrarea simbolurilor întâlnite într-un fişier prin coduri de lungime variabilă. Prin definiţie, algoritmul Huffman este un cod de tip bloc - variabil. Pentru un fişier text cu o lungime destul de mare, frecvenţele simbolurilor din alfabetul asociat fişierului au o lege de distribuţie diferită de legea normală.

Într-un fişier F de lungime n, având un alfabet de m simboluri, se identifică amin, simbolul cu frecvenţa cea mai mică de apariţie şi amax ca fiind simbolul cu frecvenţa cea mai mare de apariţie. Algoritmul Huffman asociază simbolului amin o configuraţie de biţi de lungime mare în timp ce pentru amax vom avea cea mai mică configuraţie de biţi posibilă în cazul fişierului F.

Paşii algoritmului Huffman standard sunt sintetizaţi astfel :

1. se traversează fişierul;

2. se construieşte stiva simbolurilor distincte şi a frecvenţei de apariţie a acestora;

3. se construieşte arborele binar, ale cărui simboluri le reprezintă simbolurile din stivă, astfel :

- se aranjează simbolurile în stivă în ordinea descrescătoare a frecvenţelor şi se consideră nodurile frunză ale arborelui;

- atât timp cât există mai mult de un nod, se asamblează nodurile cu cele mai mici frecvenţe, pentru a forma un nou nod a cărui frecvenţă este egală cu suma nodurilor asamblate;

- se asignează valorile 0 pentru fiecare ramură dreapta şi 1 pentru fiecare ramură stângă ;

- se citeşte secvenţial, începând de la nodul rădăcină către frunze, atribuindu-se fiecăruia codul corespunzător.

4. la a doua traversare a fişierului se folosesc codurile de lungime variabilă generate şi asociate simbolurilor din stivă pentru compresia fişierului sursă şi obţinerea fişierului comprimat.

Una din caracteristicile principale ale compresiei Huffman este aceea că un cod nu poate fi întâlnit ca prefix al unui alt cod. Datorită acestui fapt, prin citirea bit cu bit a fişierului compresat se poate decompresa fişierul iniţial folosind aceeaşi tabelă de compresie. În faza de decompresie, această tabelă poartă denumirea de tabelă de decompresie.

Compresia Huffman este o codare cu lungime variabilă a cuvântului de cod, care presupune construirea unui dicţionar de cuvinte de cod (Look-Up Table), în care se află cuvintele de cod ce corespund unui anumit mesaj al sursei. Codarea înseamnă construirea dicţionarului de codare.

Principiul de codare presupune ca cuvintele de cod de lungime mica (scurte) sa se aloce simbolurilor mai probabile, iar cuvintele de cod de lungime mare (lungi) sa se aloce simbolurilor mai putin probabile Algoritmul presupune construirea de surse de informatie restranse prin reunirea simbolurilor cele mai putin probabile ale sursei anterioare.

Se consideră o sursa de informaţie S = [s1 ; s2 ; s3 ; s4 ; s5 ; s6], care emite 6 simboluri, cu probabilitatile P = [0.25 ; 0.3 ; 0.2 ; 0.1 ; 0.1 ; 0.05]. Algoritmul Huffman presupune următoarele etape:

- se ordonează simbolurile sursei în ordine descrescatoare a probabilitatilor:

- ultimele doua simboluri (cele mai putin probabile) sunt reunite într-un singur simbol, formând o sursă restrânsă:

- continua procedeul de restrangere pana la obtinerea unei surse restranse cu 2 simboluri:

Preview document

Compresia de Date - Pagina 1
Compresia de Date - Pagina 2
Compresia de Date - Pagina 3
Compresia de Date - Pagina 4
Compresia de Date - Pagina 5
Compresia de Date - Pagina 6
Compresia de Date - Pagina 7
Compresia de Date - Pagina 8

Conținut arhivă zip

  • Compresia de Date
    • ex1.cpp
    • Seminar_11.doc

Alții au mai descărcat și

Baze de Date pentru Anul IV Inginerie Economică

2. Sistemul MS – Access de gestionare de baze de date Obiectivele acestui modul sunt: - Cunoasterea sistemului de gestionare de baze de date...

Baze de Date - Meniu în VFP

perspectiva contactului cu utilizatorul, punctul de plecare sau poarta către funcţionalitatea practică a unei aplicaţii, prin obiecte cum sunt...

Grafuri

Definire: Graful, asemenea arborelui, este o structura în care relatia dintre nodul parinte si nodul fiu este una ierarhica, dar care este mai...

Hackeri

Hackerii sunt pasionati ai informaticii, care, de obicei au ca scop „spargerea” anumitor coduri, baze de date, pagini web etc. Ei sunt considerati...

Inginerie Software

• Modele de proces software • Metode ale ingineriei software • Modelarea sistemelor software folosind UML • Metode de testare a sistemelor...

Baze de Date

1. Sa se realizeze în Visual FoxPro o aplicatie care sa permita afisarea unui meniu cu optiuni de creare a unei tabele, de adaugare a unei...

Baze de Date2

Sa se creeze o forma cu un grup de trei butoane de comanda care vor permite: " Adaugarea unor noi clienti ai bancii; " O cautare a unui client si...

Te-ar putea interesa și

Arbori Huffman - Implementare în C++

INTRODUCERE În lucrarea de fața tratez metodele Huffman de codificare și comprimare a datelor, necesare pentru elaborarea unor algoritmi optimi...

Evidența salariaților - Access

1. INTRODUCERE. 1.1 Scurta descriere a institutiei sau ariei vizate. Programul reprezinta un sistem de informatizare pentru „Evidenta...

Casa de schimb valutar - Raiffeisen Roman - Access

1. INTRODUCERE. 1.1 Scurta descriere a institutiei sau ariei vizate. Scurt istoric Prezenta Raiffeisen Zentralbank Oesterreich (RZB) în România...

Compresia Datelor - Compresia în Formatele Grafice

1.INTRODUCERE Interesul pentru reducerea spatiului ocupat de fisiere pe suportii magnetici a impus constituirea algoritmilor de comprimare....

Compresia Imaginilor

CAPITOLUL 1 NOTIUNI GENERALE DE COMPRESIE A IMAGINILOR Compresia imaginilor se poate realiza în mai multe moduri. Metodele cele mai cunoscute...

Compresia Datelor

COMPRESIA DATELOR 1. Compresia de date: Istoric, evolutie si scurta prezentare a unor metode elementare de compresie 1.1 Istoria compresiei de...

Algoritmul de Compresie Huffman

1.1 Noţiuni introductive 1.1.1 Terminologie Pentru a evita eventualele neînţelegeri ce ar putea rezulta din utilizarea unor termeni care sunt...

Tehnici Fractale - Compresia Datelor

Fractalul.Definitie.Caracteristici Un fractal este o figură geometrică fragmentată sau frântă care poate fi divizată în părți, astfel încât...

Ai nevoie de altceva?