Compressione dell Informazione (Parte II) Marco Gori

Documenti analoghi
Compressione dell Informazione (Parte I) Marco Gori

Tecniche di compressione senza perdita

1 Esercizio - caso particolare di ottimalità

LA CODIFICA. CANALE IDEALE E REALE

Basi Dati Multimediali - 68A6 Midterm 3 giugno 2004

Algoritmi e Strutture Dati Laboratorio 15/12/2008. Daniele Loiacono

Algoritmi Greedy. Tecniche Algoritmiche: tecnica greedy (o golosa) Un esempio

UNIVERSITÀ DEGLI STUDI DI TRIESTE

Teoria dell informazione

Modello di sistema di comunicazione

METODI DI BASE PER LA COMPRESSIONE. Multimedia: Nicole R. Andrea C. Gianluca G

Sistemi a microprocessore

La codifica di sorgente

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 di Huffman e Lempel-Ziv-Welch

Esercitazione 0. Alberto Marchesi Informatica A Ingegneria Matematica (sez. 2) 25 Settembre 2019

Introduzione alla codifica entropica

STII/Teoria dell Informazione

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

Rappresentazione dei numeri. Rappresentazione di insiemi numerici mediante insiemi finiti di stringhe di bit Problemi:

La codifica di sorgente

ARCHITETTURA DEGLI ELABORATORI CLASSE 2 A.A. 2014/15. Docente: Vincenzo Auletta RAPPRESENTAZIONE DELL INFORMAZIONE

Rappresentazione dei dati

Informatica 3. LEZIONE 16: Heap - Codifica di Huffmann. Modulo 1: Heap e code di priorità Modulo 2: Esempio applicativo: codifica di Huffmann

TEORIA DELL INFORMAZIONE ED ENTROPIA FEDERICO MARINI

La codifica. dell informazione. (continua) Codifica dei numeri. Codifica dei numeri. Sono stati pertanto studiati codici alternativi per

La codifica. dell informazione. Codifica dei numeri. (continua) Codifica dei numeri. Codifica dei numeri: il sistema decimale

Tecniche Algoritmiche: tecnica greedy (o golosa)

Comunicazioni Elettriche II

RETI INTERNET MULTIMEDIALI. Codifica Numerica & Trasformate Discrete

Architettura degli elaboratori - 2 -

La codifica binaria: concetti fondamentali

Rappresentazione dei dati

Rappresentazione in complemento a 2: caratteristiche generali

Unità aritmetica e logica

LA CODIFICA LORENZO BRACCIALE

La codifica. dell informazione

Informazione e Registri - 2

CODIFICA DI SORGENTE. Schematizzazione generale sistema di comunicazione

Comunicazioni Elettriche II

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

INFORMAZIONE E COMPLESSITA

Rappresentazione dei dati

Unita aritmetica e logica. Input e output della ALU. Rappresentazione degli interi. Rappresentazione in modulo e segno. Aritmetica del calcolatore

Somma di numeri binari

Teoria dell Informazione

Elementi di informatica

Architettura di un elaboratore. Informatica Architettura di un elaboratore 1

Comunicazioni Elettriche II

Teoria dell informazione

Elementi di informatica

Compressione di dati: testi, immagini, suoni e video

Problema Posto s = n 2 a) calcolare la somma s per n=30 b) determinare il più piccolo intero n tale che s>30000

12BHD - Informatica - soluzioni Appendice B del quaderno di testo - v. 1.05

Sorgenti discrete e informazione

Codifica dei numeri interi con segno

Comunicazioni Elettriche Esercizi

Definizioni. Soluzione ottima: migliore soluzione possibile Soluzione ottima localmente: soluzione ottima in un dominio contiguo. Il paradigma greedy

Compressione di Testo

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

Codifica dei Numeri. Informatica ICA (LC) 12 Novembre 2015 Giacomo Boracchi

La codifica. dell informazione

Elementi di Informatica. Introduzione. Cos è l informatica. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing.

RETI INTERNET MULTIMEDIALI. Esercitazione 4

Caratteristiche di un calcolatore elettronico

Rappresentazione dell informazione

Il Modello di von Neumann (2) Prevede 3 entità logiche:

Rappresentazione delle frazioni proprie Aritmetica in binario Barbara Masucci

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

1 L algoritmo LZ Descrizione generale

Codifica dell informazione numerica. Matteo Re, Nicola Basilico,

2) Codici univocamente decifrabili e codici a prefisso.

Informazione binaria: - codici binari, notazione binaria/ottale/esadecimale -

L'Informazione e la sua Codifica. Maurizio Palesi

Rappresentazione binaria

Comunicazioni Elettriche II

Rappresentazione dei Numeri

CONVERSIONE ANALOGICO/DIGITALE

Calcolatori: Sistemi di Numerazione

Lezione 3. I numeri relativi

Compressione Parte 2. Prof. Filippo Milotta Informatica Musicale

Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio

Compressione Parte 1. Prof. Filippo Milotta Informatica Musicale

Capitolo 3 Compressione sorgenti statiche

Codifica dell informazione

Corso di Fondamenti di Informatica Rappresentazione dei dati numerici Aritmetica dei registri Anno Accademico 2011/2012 Francesco Tortorella

LZ e il formato GIF. Chiara Epifanio. LZ e GIF

Codifica binaria: - numeri naturali -

RETI INTERNET MULTIMEDIALI

Teoria dell Informazione

Rappresentazione dell informazione

Nell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi:

Codifiche di Lempel Ziv.

Rappresentazione dell informazione

Fondamenti di Informatica T-1 Modulo 2

carattere a b c d e f cod. var

10 Proprietà di Equipartizione Asintotica

Quale polinomio locatore ottiene il decodificatore? Quale parola propone in uscita? Commentare la scelta del decodificatore.

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

Transcript:

ompressione di testo Marco Gori, Università di Siena 1 Compressione dell Informazione (Parte II) Arithmetic Coding e Codifica di Testo Marco Gori marco@dii.unisi.it

log 1 p ompressione di testo Marco Gori, Università di Siena 2 Codifica di Huffman: Il Campione in Esilio! Secondo il lower bound dell entropia il numero minimo di simboli a carattere ffl (presente con probabilità p) è Ma, la codifica di Huffman conduce a codici interi! p = 1=7 Se 2:81::: servono bit. Con Huffman devo usare o 2 o 3 bit e questo porta ad uno spreco. ffl Caso limite di spreco: caratteri ad alta (bassa) probabilità. Se p = 0:9 servono 0:15::: bit... e quindi con Hufman si spreca molto. ffl Caso in cui Huffman è realmente ottimo : p = 2 m Da oltre un decennio la codifica c è una valida alternativa

ompressione di testo Marco Gori, Università di Siena 3 Arithmetic Coding Esempio: Voglio codificare BILL GATES. Le probabilità dei simboli sono Simbolo Probabilità spazio 0.1 A 0.1 B 0.1 E 0.1 G 0.1 I 0.1 L 0.2 S 0.1 T 0.1

ompressione di testo Marco Gori, Università di Siena 4 Allocazione del Range Simbolo Probabilità Range spazio 0.1 0.00-0.10 A 0.1 0.10-0.20 B 0.1 0.20-0.30 E 0.1 0.30-0.40 G 0.1 0.40-0.50 I 0.1 0.50-0.60 L 0.2 0.60-0.80 S 0.1 0.80-0.90 T 0.1 0.90-1.00

ompressione di testo Marco Gori, Università di Siena 5 Costruzione Intervalli di Codifica Carattere Estremo Inferiore Estremo Superiore B 0.2 0.3 I 0.25 0.26 L 0.256 0.258 L 0.2572 0.2576 spazio 0.25720 0.25724 G 0.257216 0.257220 A 0.2572164 0.2572168 T 0.25721676 0.2572168 E 0.257216772 0.257216776 S 0.2572167752 0.2572167756

ompressione di testo Marco Gori, Università di Siena 6 Algoritmo di Codifica low:=0 high:=0 While there are still input symbols do get an input symbol range:=high - low high:= low + range*high_range(symbol) low:= low + range*low_range(symbol) End of While Output low

ompressione di testo Marco Gori, Università di Siena 7 Algoritmo di Decodifica get encoded number Do find symbol whose range straddles to the encoded numb output the symbol range:=symbol high value - symbol low value encoded_number:= encoded number - low_value_code encoded_number:= encoded_number/range Until no more symbols

0:256 = 0:0100000110::: 0:258 = 0:010000100001::: ompressione di testo Marco Gori, Università di Siena 8 E necessaria rappresentazione dei numeri reali? Ovviamente no! RAPPRESENTAZIONE DELL INTERVALLO DI CODIFICA ffl Considera [0:256; l intervallo 0:258). Nota 8x 2 [0:256; 0:258) che soddisfa. Prendiamo allora il PIÙ PICCOLO NUMERO IN CODIFICA BINARIA DELL INTERVALLO. Si ha: Dunque 0:010000 = 0:0100001 soddisfa! Bastano 7 bit. Codifica e decodifica si possono eseguire per approssimazione con le operazioni ffl su interi... il tutto grazie al fatto che mi basta un intervallo!

ompressione di testo Marco Gori, Università di Siena 9 Riflessioni sulla Codifica Aritmetica Cosa succede n con simboli equiprobabili? La codifica aritmetica si riduce alla FORMA POLINOMIA. Sviluppare per esercizio: Nota che il range assume una forma di potenza... Si tocca il limite dell entropia (massima)

ompressione di testo Marco Gori, Università di Siena 10 Riflessioni sulla Codifica Aritmetica Perchè comprime? Considera il seguente caso limite: Un messaggio è composto da un s simbolo ad alta p probabilità e da simboli rimanenti con q = 1 probabilità p. Che codifica ha il messaggio s:::s ripetuto n volte? Qual è l effetto della probabilità p sulla lunghezza del codice? La codifica aritmetica A(s)è

A(s) = p + p (1 p) + p (1 p) 2 + ::: = p nx k=1 q k 1 q n+1 1 q = 1 q n+1 ompressione di testo Marco Gori, Università di Siena 11 = p

A(s) = 1 q n+1 ompressione di testo Marco Gori, Università di Siena 12 Riflessioni sulla Codifica Aritmetica (con t) Sono più piccoli quando cresce p... Considera ad esempio p = 1 2 e p = 1 4 Per p = 1=2 il messaggio si codifica con n + 1 bit, per p = 1=4 ne servono il doppio. Due interessanti problemi: 1. PARADOSSO DEL SIMBOLO TERMINALE:Che succede se il messaggio ha lungh. infinita? Si ha A(s)! 0. La codifica ha lunghezza nulla!? 2. Che codifica avrebbe avuto il messaggio sss... se avessi deciso di piazzare il simbolo s nell intervallo [0; p)? In particolare che codifica per ss e sss?