Metode de compresie bazate pe dicționar - codarea Lempel-Ziv

Curs
8.7/10 (3 voturi)
Domeniu: Electronică
Conține 1 fișier: doc
Pagini : 7 în total
Cuvinte : 1314
Mărime: 24.77KB (arhivat)
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Aiordachioaiei Dorel

Cuprins

  1. Cuprins
  2. Introducere
  3. Ideea compresiei bazate pe dictionar. Exemplu.
  4. Algoritmul Lempel-Ziv
  5. Algoritmul Lempel-Ziv-Welch
  6. Implementare si Exemple
  7. Concluzii

Extras din curs

Introducere

Folosit in compress -uncompress, gzip-gunzip din UNIX , sau WinZip din Windows.

Algoritmul de compresie este de tipul lungime variabila - lungime fixa. Exista si variante lungime variabila-lungime variabila.

Textul se imparte in siruri (cuvinte) distincte. Acestea definesc un dictionar. Se codifica pozitia sirului in dictionar.

Dictionarele pot fi statice sau adaptive.

Un dictionar static este construit si transmis odata cu textul comprimat si este folosit ca referintele citate intr-o lucrare stiintifica. Un dictionar static este construit inaintea efectuariii compresiei si ramane neschimbat pe toata durata acesteia.

Dictionarul static are avantajul ca poate fi ales (acordat) in vederea codarii, inregistrarile care apar cu cea mai mare frecventa putand fi codate cu numarul cel mai mic de biti, in conformitate cu regulile de codare entropica.

Dezavantajul folosirii unui dictionar static apare la compresia fisierelor mici, cand, din cauza transmisiei/memorarii atat a dictionarului cat si a fisierului comprimat, raportul de compresie nu este foarte bun, de multe ori chiar subunitar. De aceea, cei mai raspanditi sunt algoritmii de compresie bazati pe dictionare adaptive.

Un dictionar adaptiv consta in adaugarea unei abrevieri pe langa anumite grupe de simboluri, cand apar prima oara, si utilizarea in continuare doar a abrevierilor.

Cel mai folosit algoritm de compresie bazat pe dictionar este cel propus de Jacob Ziv si Abraham Lempel, in doua variante: prima din 1977, cunoscuta sub numele de LZ77, si  a doua, din 1978, cunoscuta sub numele de LZ78.

Un exemplu: Fie mesajul Titlul acestui capitol este compresia datelor.

Fie conventia reprezentarii unui cuvant dintr-o carte prin doua atribute, sub forma:

(Numarul_paginii) / (numarul_cuvantului_din_pagina).

Mesajul codat dupa aceasta conventie-regula este

500/3 1/5 10/2 15/9 10/6 12/1

Cuvantul Titlul este inlocuit prin 500/3, ceea ce reprezinta al treilea cuvant de pe pagina 500.

Cuvantul compresia este al 6 cuvant de pe pagina 10.

Marimea mesajului comprimat depinde de marimea dictionarului, deci de numarul de pagini si de numarul de inregistrari pe pagina.

Fie NP (numarul de pagini) si NR (numarul de inregistrari pe pagina) atunci numarul de biti pentru reprezentarea (codarea) unui cuvant din dictionar este

n = [log2(NP)] + [log2(NR)].

Intrucat trebuie considerat si marimea mesajului de la intrare, exprimat prin numarul de simboluri, NS, rezulta un raport de compresie

Exemplu numeric: Fie NP = 2200 pagini; sunt necesari log2(2200) = 11.03 -> 12 biti pentru a coda numarul paginii.

Fie NR = 256. Pentru reprezentarea binara a unui cuant este nevoie de log2(256) = 8 biti.

Un cuvant oarecare din dictionar este codat pe 20 (12+8) biti.

Mesajul comprimat va avea lungimea 20 biti * 6 cuvinte = 120 biti.

In reprezentarea ASCII, cele 6 cuvinte au 46 de caractere si necesita 46 * 8 = 368 biti.

Raportul de compresie este .

Preview document

Metode de compresie bazate pe dicționar - codarea Lempel-Ziv - Pagina 1
Metode de compresie bazate pe dicționar - codarea Lempel-Ziv - Pagina 2
Metode de compresie bazate pe dicționar - codarea Lempel-Ziv - Pagina 3
Metode de compresie bazate pe dicționar - codarea Lempel-Ziv - Pagina 4
Metode de compresie bazate pe dicționar - codarea Lempel-Ziv - Pagina 5
Metode de compresie bazate pe dicționar - codarea Lempel-Ziv - Pagina 6
Metode de compresie bazate pe dicționar - codarea Lempel-Ziv - Pagina 7

Conținut arhivă zip

  • Metode de Compresie Bazate pe Dictionar - Codarea Lempel - Ziv.doc

Alții au mai descărcat și

Dispozitive și Circuite Electronice - Partea 1

Jonctiunea p-n la echilibru termic. În practica se utilizeaza numeroase dispozitive electronice obtinute prin alaturarea de regiuni...

Traductoare de Vibrații și Accelerații

Vibratiile sunt fenomene dinamice care iau nastere în medii elastice sau cvasielastice, datorita unei excitatii locale, care se manifesta prin...

Traductoare de Viteză și Turație

Notiuni fundamentale : Viteza, prin definitie, este o marime vectoriala. Daca directia (suportul) de deplasare a corpului în miscare este data,...

Traductoare pentru Controlul Dimensional

Elemente sensibile pneumatice pentru controlul dimensional Controlul dimensional este un domeniu în care utilizarea dispozitivelor pneumatice...

Traductoare pentru Forțe și Cuplu

9.2.2 Tipuri de marci tensometrice si caracteristicile acestora Principalele caracteristici ale MT sunt determinate de natura materialului din...

Traductoare pentru mărimi electrice

c) Transformatoare de curent. În practica aceste transformatoare se mai nu-mesc “reductoare de curent”si sunt folosite pentru prelucrarea...

Traductoare pentru Mărimi Geometrice

Notiuni fundamentale: Deplasarea este o marime ce caracterizeaza schimbarile de pozitie ale unui corp sau ale unui punct caracteristic fata de un...

Microcontrolere

1.3 CLASIFICARI SI VARIANTE CONSTRUCTIVE Exista la ora actuala un numar extrem de mare de tipuri constructive de microcontrolere. Un criteriu de...

Te-ar putea interesa și

Compresia Datelor

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

Compresia și Securitatea Datelor

1. Introducere Notiunea de compresia datelor a aparut pe la 1940 prin lucrarile lui Shanon si Fano care au dezvoltat un algoritm eficient de...

Compresia Datelor

1. INTRODUCERE Un sistem de compresie este alcatuit dintr-un bloc de codare (codor) şi un bloc de decodare (decodor). Codorul formeaza cuvantul de...

Ai nevoie de altceva?