Codificação de Huffman Huffman-Kodierung Codage de Huffman Código Huffman Huffman coding

La codifica di Huffman

David Huffman ha proposto nel 1952 un metodo statistico che permette di attribuire una parola di codice binario ai diversi simboli da comprimere (pixel o caratteri ad esempio). La lunghezza di ogni parola del codice non è identica per tutti i simboli: i simboli più frequenti (che appaiono più spesso) sono codificati con delle piccole parole di codice, mentre i simboli più rari ricevono dei codici binari più lunghi. Si parla allora di codifica a lunghezza variabile (in inglese VLC per variable code length)prefissata per designare questo tipo di codifica dato che nessun codice è il prefisso di un altro. Così, la serie finale di parole codificate a lunghezza variabile sarà in media più piccolo rispetto ad un codice di dimensione costante.

Il codificatore di Huffman crea un arborescenza partendoo da tutti i simboli e dalla loro frequenza di comparsa. I rami sono costruiti all'occorrenza partendo dai simboli meno frequenti.

La costruzione dell'albero avviene ordinando in un primo tempo i simboli per frequenza di comparsa. Successivamente i due simboli che appaiono meno di frequente sono ritirati dalla lista e collegati ad un nodo il cui peso è uguale alla somma delle frequenze dei due simboli. Il simbolo di peso minore è assegnato al ramo 1, l'altro al ramo 0 e così via considerando ogni nodo formato come un nuovo simbolo, fino ad ottenere un nodo genitore detto radice.
Il codice di ogni simbolo corrisponde alla serie dei codici lungo il percordo che vanno da questo carattere alla radice. Quindi, più il simbolo è "profond" nell'albero, più la parola del codice sarà lunga.

Prendiamo la frase seguente: "KIOSKEA". Eccco le frequenze di apparizione delle lettere

MACE_HONTR
3222211111

Ed ecco l'albero corrispondente :

albero di huffman

I codici corrispondenti ad ogni carattere sono tali che i codici dei caratteri più frequenti sono corti e quelli corrispondenti ai simboli meno frequenti sono lunghi :

MACE_HONTR
001001100100111110111110101011010111

Le compressioni basate su questo tipo di codifica danno dei buoni tassi di compressione, in particolare per le immagini monocromatiche (i fax ad esempio). Lo si usa soprattutto nelle raccomandazioni T4 e T5 dell'ITU-T

Ultime modificazione ilvenerdì 6 febbraio 2009 alle 16:52:02.Questo documento intitolato «  » da Kioskea (it.kioskea.net) è reso disponibile sotto la licenza Creative Commons. È possibile copiare, modificare le copie di questa pagina, alle condizioni previste dalla licenza, come questa nota appare chiaramente.

Migliori risposte per « Codifica di Huffman » in :
La codifica BinHex Vedi La codifica BinHex La codifica BinHex (contrazione di binary-to-hexadecimal) è un algoritmo proprietario di Apple che permette di convertire dei dati binari codificati su 8 bits in un formato di codifica su 7 bits. La codifica BinHex, prevista per...
La tabella dei colori Vedi La codifica dei colori I colori in HTML sono definiti da 3 numeri esadecimali che rappresentano i tono del Rosso, del Verde e del Blu (secondo la codifica RGB (Red Green Blue, in italiano RVB) del colore scelto. Così la sintassi della codifica di...
Codifica Base64 Vedi La codifica Base64 Il principio della codifica Base 64 consiste nell'utilizzare dei caratteri US-ASCII (caratteri non accentuati) per codificare tutti i tipi di caratteri ad 8 bits.In effetti, i protocolli di posta elettronica sono stati...
Creazione di un'immagine Sistema (Ghost) VediCreare un'immagine (ghost) di partizione 1 - Interesse 2 - Prerequisiti 2.1 - Spiegazione 2.2 - Opportunità delle partizioni 2.3 - Aggiornamento delle immagini 2.3.1 - Immagine Incrementali: interessante, ma pericoloso! 2.3.2 - Immagine...
[Windows XP] Punto di ripristino Vedi*1 - Punti di ristrutturazione e dati personali *2 - Verificare il service *3 - Impostare le partizioni da ripristinare *4 - Nota *5 - Dimensione del backup e pulizia *6 - Creare un punto di ripristino *7 - Ripristinare un punto di...
La codifica Uuencode/Uudecode VediLa codifica Uuencode La codifica Uuencode (abbreviazione di Unix-to-Unix encode) è un algoritmo che permette di convertire dei dati binari codificati su 8 bits in un formato di codifica su 7 bits.La codifica Uuencode è stata creata in origine per...
Trasmissione di dati – Introduzione VediRappresentazione dei dati Lo scopo di una rete e' di trasmettere delle informazioni da un computer ad un altro. Per questo bisogna in un primo tempo decidere il tipo di codifica del dato da inviare, cioe' la sua rappresentazione informatica. Questa...
Condivisione di file su Windows XP VediVantaggi La condivisione di file consiste nel rendere disponibile il contenuto di una o più rubriche attraverso la rete. Tutti i sistemi Windows possiedono dei meccanismi standard che permettono di mettere facilmente in condivisione il contenuto di...