Sommario. Lempel-Ziv coding e varianti Run-length encoding. 1 Introduzione. 2 Codifica mediante predittori (Lossless JPEG, PNG, ecc.

Documenti analoghi
UNIVERSITÀ DEGLI STUDI DI TRIESTE

Codifica di Huffman e Lempel-Ziv-Welch A L B E R T O B E L U S S I A N N O A C C A D E M I C O /

Codifica CCITT Fax. Introduzione Codifica monodimensionale Codifica bidimensionale. Codifica CCITT Fax. Codifica JBIG2

Compressione di dati: testi, immagini, suoni e video

1.2d: La codifica Digitale dei caratteri

1 Esercizio - caso particolare di ottimalità

La codifica di sorgente

LE IMMAGINI DIGITALI 3 formati. Università IUAV di venezia

Esistono delle trasformazioni standard fra i diversi formati che abbiamo discusso

La codifica dell informazione. Rappresentazione binaria. Rappresentazione posizionale in base 10

La codifica dell informazione

Compressione di dati: testi, immagini, suoni e video. B. Cipolla

Indice. 1 Introduzione 2. 2 Algoritmo di compressione LZ78 3

Compressione di dati: testi, immagini, suoni e video. B. Cipolla

1 L algoritmo LZ Descrizione generale

Memorizzazione delle immagini. Metodi e Formati

INFORMATICA GENERALE E BASI DI DATI PER ARCHIVI AUDIOVISIVI (PRIMO MODULO) Claudio Piciarelli A.A. 2013/2014

UNIVERSITÀ DEGLI STUDI DI TRIESTE

L algoritmo di decodifica è semplice e computazionalmente meno oneroso rispetto a quello di codifica.

CODIFICA DI SORGENTE. Schematizzazione generale sistema di comunicazione

Tecniche di compressione senza perdita

Compressione dati. Capitolo 11. Leonora Bianchi IDSIA-DTI-SUPSI Leonora Bianchi

Suono digitale. Ø Un secondo di musica stereo richiede 44'100 campioni di 16 bit (2 byte) ciascuno per due canali, quindi 176'400 byte.

Rappresentazione dell Informazione

Rappresentazione di immagini a colori. Rappresentazione dei colori. Rappresentazione dei colori LA RAPPRESENTAZIONE DELL INFORMAZIONE - II

L informazione e la sua codifica. Prof. Maurizio Naldi A.A. 2015/16

La compressione video. Analis i in multiris oluzione Wavelet La compres s ione di immag ini C ompres s ione JPEG S tandard MPEG

Introduzione alla codifica entropica

Segnale analogico. Analogico vs digitale. Segnale digitale. Trasformazione da analogico a digitale

L'Informazione e la sua Codifica. Maurizio Palesi

RETI INTERNET MULTIMEDIALI

TECNICHE DI COMPRESSIONE DATI

Analogico vs digitale

Abbiamo visto nella lezione precedente che le immagini possono essere compresse in vari modi, per ridurne l'occupazione di memoria (su disco o rete)

Codici convoluzionali

Numeri interi. Laboratorio di Calcolo Paola Gallo

Teoria dell informazione

Capitolo 3 Compressione sorgenti statiche

Codifica dell Informazione

1.2d: La codifica Digitale dei caratteri

Modulo 1: Le I.C.T. UD 1.2d: La codifica Digitale dei caratteri

Formati e compressioni

Codifica dell Informazione

Compressione dei dati. Appunti di Sistemi A cura del prof. Ing. Mario Catalano

Corso di Informatica

TEORIA DELL INFORMAZIONE ED ENTROPIA FEDERICO MARINI

Corso di Informatica

Sistemi di Elaborazione delle Informazioni

Compressione delle immagini (codifica JPEG)

La codifica video. Il codificatore ibrido. Principi di base Compressione spaziale Tecniche di predizione temporale Stima e compensazione del movimento

CODIFICA DI CARATTERI

UNIVERSITÀ - OSPEDALE di PADOVA MEDICINA NUCLEARE 1. Lezione 5: Formati di immagine: JPEG. D. Cecchin, F. Bui FORMATO GRAFICO JPEG

Codifica Immagini Fisse

L'Informazione e la sua Codifica. Maurizio Palesi

RETI INTERNET MULTIMEDIALI. Codifica Numerica & Trasformate Discrete

UNIVERSITÀ DEGLI STUDI DI TRIESTE

La codifica del testo

La codifica. dell informazione

La codifica binaria. Informatica B. Daniele Loiacono

Informatica grafica e Multimedialità. 4 Immagini grafiche

carattere a b c d e f cod. var

Σ i p(s i)i(s i)= -Σ i p(s i)log(p(s i)) Lezione 03: Compressione - Formati. Compressione

Compressione delle immagini (codifica JPEG)

10.. Codici correttori d errore. Modulo TLC:TRASMISSIONI Codici correttori d errore

La codifica. dell informazione

RETI INTERNET MULTIMEDIALI. JPEG, TIFF, Facsimile

STII/Teoria dell Informazione

La codifica digitale

1) Codici ciclici. 2) Esempi di codici ciclici. 3) Algoritmi di codifica e decodifica. 4) Circuiti di codifica

Def. La lunghezza media L(C) di un codice C per una v.c. Obiettivo: Codice ottimo rispetto alla lunghezza media. Lunghezza media di un codice

CODIFICA DI CARATTERI

Immagini Digitali Immagini digitali

Codifica binaria. Rappresentazioni medianti basi diverse

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Laboratorio di Informatica. delle informazioni. Pagina 1

Sistemi Informativi Multimediali La codifica dell informazione multimediale

Codifica binaria dell informazione

Sistemi di Elaborazione delle Informazioni 6 CFU

INFORMATICA SANITARIA Domande ed Esercizi di Preparazione all Esame (Parti 8-17)

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Sistemi di Elaborazione delle Informazioni 6 CFU

Calcolatori Elettronici A a.a. 2008/2009

Introduzione alla progettazione grafica

Inizio. Istruzione che implica la scelta tra. Fine. Inserimento ed emissione dei dati. Istruzione da eseguire. Capitolo I - Fondamenti.

Indice. A Riassunto formule principali sulla Teoria dell Informazione per sorgenti135

Rappresentazione dell informazione. Argomenti trattati: Codifica: Teoria generale. Proprietà di una codifica:

Concetti di base. Riferimenti

Codifica di canale. (dalle dispense e dalle fotocopie) Trasmissione dell Informazione

Architettura di un elaboratore. Rappresentazione dell informazione digitale

1) Codici convoluzionali. 2) Circuito codificatore. 3) Diagramma a stati e a traliccio. 4) Distanza libera. 5) Algoritmo di Viterbi

Comunicazioni Elettriche Esercizi

Rappresentazione delle Immagini. Corso di Informatica. Rappresentazione delle Immagini. Rappresentazione delle Immagini

Lunghezza media. Teorema Codice D-ario prefisso per v.c. X soddisfa. L H D (X). Uguaglianza vale sse D l i. = p i. . p.1/27

Le immagini digitali

La Rappresentazione dell Informazione

Appunti sugli Algoritmi LZ

Steganografia in un. Corso di Sicurezza dei sistemi informatici Michelangelo Rinelli Anno Accademico 2005/06

Elementi di informatica

La codifica dell informazione

H.264/SVC (Scalable video coding)

Transcript:

Sommario Lempel-Ziv coding e varianti 1 2 Codifica mediante predittori (Lossless JPEG, PNG, ecc.) 3 Lempel-Ziv coding e varianti 4

Lempel-Ziv coding e varianti Il codice di Huffman visto prima sfrutta soltanto la diversa probabilità dei simboli e non le loro relazioni Ogni simbolo viene codificato separatamente dagli altri Il codice è costruito a partire dalle sole probabilità dei simboli Esistono codici che sfruttano le relazioni tra i simboli, e in particolare tentano di individuare e codificare in modo efficiente le sequenze di simboli ripetute Uno dei primi codici di questo tipo (tuttora usato con alcune varianti) è stato proposto da Lempel e Ziv nel 1977 LZ77 Jacob Ziv and Abraham Lempel A Universal Algorithm for Sequential Data Compression, IEEE Transactions on Information Theory, 23(3), pp. 337 343, May 1977.

Codifica LZ77 Lempel-Ziv coding e varianti Il codificatore riceve in ingresso una sequenza di caratteri, che vengono elaborati uno dopo l altro. Non è necessario conoscere la loro probabilità Ad ogni passo, il codificatore verifica se i caratteri successivi della sequenza erano già apparsi in precedenza Ad ogni passo, il codificatore produce 3 simboli Lunghezza (eventualmente nulla) della sequenza ripetuta Distanza della sequenza ripetuta (può sovrapporsi all ingresso) Carattere seguente Tipicamente si limita la distanza, per ridurre il numero di bit necessari per codificarla Sliding window

Codifica DEFLATE/ZLIB Esistono diverse varianti dell algoritmo LZ77, che usano diversi metodi per codificare la terna di simboli prodotta ad ogni passo L algoritmo DEFLATE/ZLIB utilizza un codice di Huffman (+ extra bits), con due dizionari distinti Caratteri (literal), lunghezze, simbolo EOB Distanze (possono apparire solo dopo una lunghezza) I dati vengono divisi in blocchi, di lunghezza variabile (< 65 kb), che possono essere trattati in modi diversi Senza compressione Codice di Huffman predefinito (non trasmesso) Codice di Huffman su misura (trasmesso)

Lempel-Ziv-Welch coding Metodo di codifica basato su dizionario, usato ad esempio nei formati GIF, TIFF e PDF, coperto da brevetto (scaduto nel 2003). Miglioramento di un metodo sviluppato da Lempel e Ziv nel 1978 Il codificatore e il decodificatore costruiscono, seguendo regole comuni, un dizionario con diversi simboli Caratteri singoli (literal) Clear-table marker End-of-data marker Sequenze di più caratteri già incontrate in precedenza Il dizionario viene inizializzato con i literal e i marker, le sequenze vengono aggiunte in seguito durante la codifica e decodifica Terry Welch, A Technique for High-Performance Data Compression, IEEE Computer, June 1984, p. 8 19.

Lempel-Ziv-Welch coding Ad ogni passo il codificatore Cerca nel dizionario la sequenza più lunga uguale ai caratteri successivi dell ingresso Emette il codice corrispondente Aggiunge al dizionario una nuova sequenza ottenuta concatenando la sequenza trovata prima e il carattere successivo (che non è necessario trasmettere!) Quando il dizionario è pieno, il codificatore emette un clear-table marker e ricomincia

Lempel-Ziv-Welch coding Sono state proposte diverse tecniche per codificare i simboli del dizionario Lunghezza fissa (clear-table quando il dizionario è pieno) Lunghezza variabile (bit ingresso + 1, aumentati quando il dizionario è pieno, clear-table quando si raggiunge una lunghezza massima) Metodo usato nel PDF Talvolta conviene azzerare il dizionario prima che sia pieno, ad esempio se le proprietà statistiche dei dati cambiano

Lempel-Ziv coding e varianti Esempio Rappresenta in modo compatto sequenze ( run ) di valori uguali, che appaiono ad esempio in immagini sintetiche (grafici, disegni) con aree di colore uniforme Abbiamo visto una forma particolare di RLE nello standard JPEG (codifica dei coefficienti DCT-AC). Quel metodo però ha alcune limitazioni Il simbolo ripetuto è fisso (0) Ogni coefficiente non nullo è preceduto da un simbolo RRRR Il metodo si può generalizzare per renderlo adatto alla codifica di immagini generiche

Lempel-Ziv coding e varianti Esempio Un codificatore RLE divide i dati in ingresso in blocchi di 2 categorie Sequenze di m simboli diversi ( non-run ) Sequenze di n simboli uguali ( run ) Una sequenza non-run viene rappresentata con un (unico) simbolo N m che ne indica la lunghezza, seguito dagli m simboli della sequenza Una sequenza run viene rappresentata da un simbolo R m che ne indica la lunghezza, seguito dal simbolo ripetuto I simboli N m e R m si trovano in posizioni note, e quindi non è necessario delimitarli

Esempio Esempio: codifica RLE usata nel formato PDF I dati in ingresso sono sequenze di byte. I blocchi non-run e run possono avere una lunghezza 128 byte (blocchi più lunghi vengono spezzati) Ogni blocco è preceduto da un byte che identifica il tipo di blocco e la lunghezza Prestazioni limite Valore (k) Significato 0 127 Non-run lungo k + 1 byte 129 255 Run lungo 257 k byte 128 End of data Run di 128 byte 2 byte trasmessi Non-run di 128 byte 129 byte trasmessi