

















Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Una introduzione alla teoria dell'informazione, spiegando concetti come canali di comunicazione, codifica e decodifica. della importanza del canale nella trasmissione di segnali, della destinazione o destinatario come ricevente del messaggio e della codifica come insieme di regole che definiscono le corrispondenze tra messaggi e contenuti.
Tipologia: Dispense
1 / 25
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!


















Nonostante il concetto di informazione sia da noi utilizzato quotidianamente senza difficoltà, fornire una sua definizione non risulta semplice. In termini colloquiali per informazione si intende un contenuto conoscitivo che viene trasmesso, ricevuto, manipolato o archiviato. Si vede quindi che gli aspetti coinvolti sono diversi ed è possibile valutarli da molteplici prospettive. Il concetto quindi non può essere risolto riferendosi ad una singola entità, ad esempio al contenuto conoscitivo, ma richiede di considerare un complesso diacronico di elementi: un processo con le sue fasi, le sue trasformazioni e i suoi attori. Il processo che manipola l’informazione è spesso indicato come processo di comunicazione in quanto l’informazione viene veicolata attraverso un messaggio che due attori si scambiano. Chiariamo quindi gli aspetti essenziali del processo di comunicazione. Per dare ordine alla nostra comprensione ci limiteremo, per ora, al punto di vista della teoria dell'informazione che studia la comunicazione relativamente agli aspetti di trasmissione di segnali. La comunicazione è il processo di trasferimento di un messaggio (informazione codificata), attraverso un mezzo trasmissivo (canale), da un sistema emittente (sorgente) a un sistema ricevente (destinazione). Gli elementi che concorrono al processo di comunicazione sono illustrati nella Figura 1 e presentati di seguito.
Questo approccio alla codifica è utilizzato in alcuni contesti, che sfruttano spie e segnaletiche, ma impone diverse limitazioni. Il destinatario deve conoscere tutti i possibili messaggi prima di interpretarli, serve disporre di un segnale per ogni messaggio, il numero di messaggi è finito e non può essere modificato dagli attori della comunicazione. Per superare questo limite è possibile utilizzare un numero ristretto di segnali e riuscire allo stesso tempo a codificare un numero molto elevato di messaggi. Un messaggio può infatti essere ottenuto componendo più segnali. Le regole di composizione possono essere di diversa complessità. Nelle telecomunicazioni la composizione è semplicemente ottenuta attraverso sequenze di segnali ; l’ordine sequenziale è direttamente derivato dagli intervalli temporali che separano la trasmissione dei segnali. Ad esempio, nel codice Morse due tipi di segnale, suono lungo e suono corto, sono organizzati in sequenze per codificare l’alfabeto inglese. Il fatto che il messaggio possa essere articolato componendo un insieme di segnali rappresenta un'importante caratteristica del processo di comunicazione e dei sistemi Prescrive l'obbligo di arrestarsi in ogni caso in corrispondenza della striscia trasversale di arresto ad un incrocio e di dare precedenza. Vieta a tutti i veicoli di entrare in una strada. Preavvisa che la sola direzione consentita al conducente è quella di andare a destra. Fig. 2. Nel codice della strada ogni segnale è messo in corrispondenza con un contenuto. Fig. 3. Nel codice Morse sequenze di linee e punti sono in corrispondenza con le lettere dell’alfabeto.
semiotici in generale. Il segnale rappresenta l’unità minima della comunicazione in quanto la sua forma è stabile (o si vorrebbe restasse stabile sul canale) e questa stabilità è garanzia della sua identificazione. I diversi modi di comporre i segnali, la loro diversa disposizione, possono invece dare luogo a messaggi diversi, fornendo la possibilità di poter variare i messaggi e di poterne generare di nuovi. Il numero di composizioni che si possono ottenere è regolato da alcune formule del calcolo combinatorio che discuteremo più avanti, ma sotto certe condizioni il numero di messaggi è potenzialmente infinito (è limitato unicamente dai limiti fisici del sistema). Possiamo comunque notare che un codice con molti segnali distinti comporta sequenze di composizione più semplici, come nel caso della segnaletica stradale; mentre un codice con pochi segnali comporta sequenze di composizione più lunghe e quindi maggiore sforzo di decodifica, come nel caso del codice Morse. I sistemi di scrittura fonografica (come gli alfabeti latini) cercano un compromesso tra questi due aspetti definendo un numero ristretto di simboli grafici (segnali) per i fonemi che poi sono composti in sequenze non troppo lunghe, per formare le parole. Quando nella comunicazione vengono introdotti processi meccanici diventa invece più conveniente ridurre il numero di segnali, per semplificare il processo di identificazione. Possiamo quindi dire che un codice è dato da un insieme di simboli , detto anche alfabeto , e un insieme di regole di composizione da seguire per creare messaggi, che infatti possono essere anche riferiti come sequenze. I messaggi sono poi messi in corrispondenza con dei contenuti.
Il segnale è la variazione, lo stato, di una grandezza fisica del canale, i simboli grafici usati nella scrittura sono in questo senso segnali in quanto modificano lo stato del supporto materiale per rendere i diversi simboli distinguibili. A nessun segnale o simbolo può essere attribuito un contenuto senza conoscere il codice con il quale è stato generato. Questo rende la codifica intrinsecamente ambigua in quanto lo stesso segnale, lo stesso simbolo o lo stesso messaggio, potrebbero appartenere a codifiche differenti. Prendiamo ad esempio il messaggio: 6.000 - 11. Potrebbe essere legittimamente interpretato come una coordinata geografica del golfo di Guinea oppure come il range di punti hype che caratterizzano una divisione del videogioco Fortnite. Il messaggio codificato come 15:40 può essere decodificato come orario ma anche come punteggio tennistico. Naturalmente è anche vero che uno stesso contenuto può essere codificato in modi diversi. L’orario quindici e trenta può essere codificato nel formato a 24
In sintesi, quello che osserviamo è che nelle codifiche digitali è possibile applicare diversi livelli di codifica : la stessa informazione può essere codificata più volte prima di giungere al destinatario. Abbiamo inizialmente detto che il processo di codifica definisce le corrispondenze tra le possibili composizioni di un insieme di segnali e un insieme di messaggi. In realtà nel caso della codifica digitale, il processo può mettere in corrispondenza un insieme di messaggi con un altro insieme di messaggi. Ad esempio, sarà possibile ridurre la qualità di un’immagine salvandone una nuova versione con risoluzione ridotta, codificando un nuovo file a partire dal file iniziale. Un file di testo, codificato attraverso un insieme di byte, può essere compresso, e quindi essere codificato attraverso un insieme ridotto di byte, poi decompresso, per riottiene l’insieme di byte iniziali. Un file criptato sarà invece un file codificato in modo da poter essere decodificato solo attraverso una chiave. Nel 2006 in Italia è stato completato il passaggio delle trasmissioni televisive al digitale terrestre. In Italia è in uso lo standard del consorzio europeo DVB, attualmente lo standard DVB-T, da settembre 2021 il DVB T2. Osservando le caratteristiche delle trasmissioni televisive analogiche e digitali, si può realizzare con chiarezza la differenza tra questi due approcci alla codifica. La televisione analogica offre una riproduzione dell’immagine di minore qualità, tuttavia al degradare della qualità del segnale viene mantenuta la capacità di riproduzione, anche se disturbata da rumore. Nella televisione digitale i disturbi del segnale possono essere corretti attraverso tecniche di interpolazione, tuttavia se il disturbo supera una certa soglia la riproduzione viene del tutto compromessa. La televisione digitale è caratterizzata da un maggior numero di canali, la grandezza fisica del canale non è infatti associata direttamente alla riproduzione audiovisiva ma interpretata come trasmissione di una sequenza numerica che il decoder interpreterà come rappresentazione audiovisiva. La qualità del segnale analogico può essere migliorata attraverso modifiche incrementali degli apparecchi di ricezione. Un vecchio apparecchio può essere meno efficace di uno nuovo ma è comunque in grado di rappresentare il segnale. Al cambiare dello standard di trasmissione del sistema digitale un vecchio decoder risulterà invece del tutto inadatto alla ricezione. La trasmissione digitale è multimediale, include audio video e testo su canali differenti, è quindi possibile aggiungere o togliere i sottotitoli o cambiare la lingua durante la fruizione. La qualità della televisione digitale può essere modulata, esistono canali con livelli di definizione diversa (canali HD). Il segnale della televisione digitale può essere criptato, impedendo la ricezione ai decoder che non dispongono di una chiave di accesso privata (pay per view). TV analogica
Caratterizzare il processo di comunicazione attraverso le fasi di codifica e decodifica ci mostra che il trasferimento di informazione può essere progettato per incontrare specifici obiettivi. Quando progettiamo un codice possiamo ragionare su come comporre i simboli per produrre messaggi, sul numero di messaggi da codificare, su come i messaggi potranno essere processati. Un messaggio è una composizione di segnali o simboli. Il modo più semplice per realizzare una composizione è attraverso una sequenza. La composizione, ad esempio l’ ordine dei simboli nel messaggio, è significativa perché distingue tra loro i diversi messaggi del codice e definisce quali siano legalmente appartenenti al codice. ➡ (^) Esempio. In italiano, il messaggio LEGO è diverso dal messaggio GELO. I due messaggi sono composti dagli stessi simboli ma sono distinti nell’ordine con il quale questi sono presentati. Altre regole di composizione possono riguardare la definizione di sequenze non ammesse che riducono lo spazio delle possibili composizioni. ➡ (^) Esempio. La sequenza RSN non è ammessa in italiano. Un primo modo per progettare un codice è quindi quello di definire l’alfabeto del codice e le sue regole di composizione. ➡ (^) Esempio. Creiamo il codice LUCE. Per prima cosa TV digitale Fig. 4.Sequenze del codice LUCE.
In generale, un codice di n simboli ( n stati) e messaggi di lunghezza l ( l variabili) ha un numero m di messaggi che possiamo esprimere combinando fra loro gli n simboli l volte. Questo si traduce nella seguente formula matematica: M = NL. ➡ (^) Esempio. Rappresentiamo i mesi dell’anno con un sistema binario. Sappiamo che il numero di simboli è 2 (0 e 1); conosciamo il numero di messaggi da produrre, almeno 12; ricaviamo la lunghezza dei messaggi. Sappiamo quindi che M≥12, N=2, dobbiamo calcolare L. Procediamo per tentativi: 2^3 =8, ma 8 è minore di 12, non è quindi sufficiente; 24 =16, è maggiore di 12 quindi è sufficiente, L=4. Bisogna sempre lavorare con i numeri interi, non si possono frazionare i simboli o la lunghezza dei messaggi, spesso è quindi necessario approssimare per eccesso. La matematica combinatoria ci mostra che il modo per ottenere il maggior numero di raggruppamenti di k elementi da un insieme di n elementi è di prevedere che un raggruppamento sia distinto dagli altri sia per la composizione che per l'ordine degli elementi e che gli elementi possano essere ripetuti. Sotto queste condizioni i raggruppamenti che possiamo ottenere sono nk , la formula è la stessa che abbiamo usato studiando la codifica. Questa strategia di raggruppamento è spesso utilizzata per le regole di composizione dei codici in quanto risponde a un principio di economicità: dato un numero n di simboli si può ottenere il numero massimo di messaggi, ovvero di composizioni degli elementi. Più in generale, per calcolare il numero di raggruppamenti che si possono ottenere bisogna considerare alcune condizioni e si distingue tra disposizioni , permutazioni e combinazioni.
La formula M=NL, che abbiamo visto nei paragrafi precedenti, ci fornisce un primo strumento per misurare l’informazione. Dati i simboli e le regole di composizione di un
k
k
codice possiamo definire il numero di informazioni diverse, di messaggi, che siamo in grado di comunicare. L’informazione è quindi quantificabile. Questa idea fu per la prima volta introdotta da Claude Shannon nella sua opera A Mathematical Theory of Communication del 1948. Shannon parte dalla considerazione che un’osservazione è informativa se riduce il nostro grado di incertezza. Di conseguenza, quando è massima la probabilità che ci sia nota la situazione che osserviamo allora è nulla la quantità di informazione prodotta dall’osservazione. Al contrario, quando è bassa la probabilità che sia nota la situazione che osserviamo allora è alta la quantità di informazione prodotta dall’osservazione. Possiamo riassumere questa considerazione dicendo che la quantità di informazione di ogni osservazione è inversamente proporzionale alla probabilità che si verifichi il fatto osservato. ➡ Esempio. Supponiamo di giocare alla roulette insieme a un folletto che legge il futuro, il folletto, si sa, è dispettoso e, anche se non sbaglia mai, spesso ci fornisce previsioni poco utili. Una volta ci ha detto che sarebbe uscito un numero compreso fra 0 e 36 , un’altra volta sarebbe uscito un numero pari , solo una volta ci ha detto che sarebbe uscito il numero 6 ma eravamo andati a bere una cosa e non abbiamo fatto in tempo a tornare per fare la nostra puntata. Lasciando perdere il folletto, che intende solo farci arrabbiare, chiediamoci quali di queste previsioni contiene più informazione. Sappiamo che la quantità di informazione di ogni osservazione è inversamente proporzionale alla probabilità che si verifichi il fatto previsto. Tale probabilità è 1 nel primo caso, 1/2 nel secondo e 1/36 nel terzo. La quantità di informazione sarà pari a 0 nel primo caso, siamo infatti sicuri che uscirà un numero compreso tra 0 e 36, il nostro grado di conoscenza non cambia. Nel secondo caso il valore dell’informazione è medio, possiamo scartare il 50% delle opzioni. Nell’ultimo caso il grado di informazione è alto, massimo se le opzioni possibili sono in totale 36, non ci servono altre informazioni per decidere la nostra puntata. Da questa considerazione capiamo anche che la quantità minima di informazione che può essere codificata è la quantità di informazione che si ottiene selezionando una configurazione da un insieme che ne contiene due equiprobabili. Questa quantità è detta bit , un’unità di misura binaria che si esprime attraverso due simboli (0, 1). Quando non sappiamo nulla sullo stato del sistema sappiamo che entrambe le configurazioni possibili avranno probabilità 1/2, quando osserviamo una della due configurazioni possiamo scartare il 50% delle altre. ➡ Esempio. Se prendiamo l’albero binario di Figura 5, leggendo il valore del primo bit, ad esempio 0, possiamo scartare metà dei possibili messaggi, leggendo due bit, ad esempio
Vediamo ora come la codifica binaria è stata utilizzata dagli informatici per codificare le più importanti classi di contenuti. In particolare per codificare i testi , i numeri , le immagini , i contenuti audio e video. Come detto i codici binari utilizzeranno due soli simboli (0, 1), le regole di composizione adottate invece cambiano in relazione alle funzioni di manipolazione del contenuto che si vogliono ottenere. Abbiamo visto che per progettare un codice è necessario realizzare alcune scelte progettuali. Le riproponiamo in relazione ad un esempio: la codifica della classifica del campionato di serie A di rugby.
00 _ _ _ _ _ _ _ errore di codifica 01 _ _ _ _ _ _ _ Girone 1 10 _ _ _ _ _ _ _ Girone 2 11 _ _ _ _ _ _ _ Girone 3 _ _ 00001 _ _ Squadra 1 _ _ 00010 _ _ Squadra 2 … _ _ _ _ _ _ _ 00 codice non assegnato _ _ _ _ _ _ _ 01 Posizione _ _ _ _ _ _ _ 10 Punti _ _ _ _ _ _ _ 01 Partite Giocate
4. Interpretazione del codice. Una volta definita l’associazione tra i messaggi e i contenuti possiamo usare il codice per trasferire informazione. Ad esempio, attraverso la sequenza 100000110 ci riferiamo al punteggio della Squadra 1 che gioca nel Girone 2. Un codice naturalmente può essere integrato con altri. Ad esempio, nel nostro caso possiamo stabilire che i messaggi del nostro codice sono seguiti da una sequenza numerica che indica il valore dell’attributo che vogliamo rappresentare. Il primo compito della codifica è quello di distinguere i diversi segni che vengono codificati, tuttavia la codifica può esprimere anche relazioni tra i contenuti. Sfruttando le proprietà di ordine, proporzione e composizione degli oggetti matematici possiamo ad esempio esprimere l’ordine tra i gironi attraverso l’ordine delle sequenze binarie assegnate ai gironi. Similmente, nelle codifiche dei testi la posizione nell’ordine alfabetico di un carattere può essere ottenuta direttamente dalla sequenza che lo codifica. Diciamo quindi che una codifica in grado di esprimere relazioni è maggiormente espressiva di una codifica che si limita a mettere in corrispondenza messaggi e contenuti in modo stocastico.
Il testo è uno dei formati di dato più utilizzati nei processi di comunicazione. L'obiettivo di questo tipo di codifica è rappresentare i singoli caratteri che compongono un testo. I primi calcolatori furono progettati per lavorare con codifiche dell’alfabeto inglese. Nel 1964 ASCII (che si pronuncia ASKI) rappresentò il primo significativo sforzo di standardizzazione [2]. Questa codifica include 26 lettere minuscole, 26 lettere maiuscole, 10 cifre decimali, 30 caratteri di uso comune (., *, %, etc.), più alcuni caratteri di controllo (spazi, interruzione di riga). In pratica, si stabilì che per gli usi dell’informatica di allora fosse sufficiente codificare 120 caratteri. Sappiamo che per codificare 120 messaggi sono necessari 7 bit, poiché 27 =128≥120.
universale” nasce nel 1987 su iniziativa di Joe Becker di Xerox e Lee Collins e Mark Davis di Apple. Il loro progetto si concretizzò attraverso l’iniziativa del consorzio Unicode che pubblicò una prima versione dello standard nel 1991. Da allora sono stati diffusi aggiornamenti con regolarità. L'ultima versione dello standard, la versione 13.0, è stata rilasciata nel marzo 2020 e comprende 143859 caratteri. Lo Standard Unicode definisce tre codifiche che consentono a uno stesso carattere di essere codificato usando 1, 2 o 4 byte. UTF-8 usa 1 byte per i caratteri più frequenti, mentre per i meno frequenti usa composizioni di 2, 3 o 4 byte. Questo tipo di codifica è adatta quando si lavora con gli alfabeti più diffusi, come l’alfabeto latino, in quanto molti caratteri potranno essere rappresentati con il minimo consumo di memoria. Comporta tuttavia un certo costo computazionale in fase di decodifica in quanto ogni sequenza deve essere valutata in relazione a quelle che la precedono, per definire la corretta composizione dei byte. Si tratta della soluzione più appropriata per le lingue occidentali. UTF-32 usa 4 byte per tutti i caratteri. Implica quindi un maggior consumo di memoria ma minori costi computazionali in fase di decodifica, non si deve infatti decidere come comporre le sequenze. Può essere usato quando non si ritiene di avere problemi di memoria oppure se si fa uso di alfabeti poco frequenti che richiederebbero in ogni caso 4 byte. UTF-16 rappresenta una soluzione intermedia. I caratteri più frequenti sono codificati attraverso coppie di byte, per i caratteri meno frequenti sono utilizzate due coppie. Questa codifica si dimostra appropriata nelle situazioni in cui è utile bilanciare l'uso della memoria con la velocità di accesso ai dati. La Figura 6 propone un confronto tra le diverse codifiche Unicode, prendendo un carattere con alta frequenza di utilizzo e un carattere carattere con frequenza di utilizzo media. Fig. 6. Confronto tra le codifiche
Codificare dati numerici significa tradurre delle quantità in successioni ordinate di simboli. La rappresentazione decimale posizionale con cifre indo-arabiche è la più comunemente utilizzata. Come sappiamo si basa su un alfabeto di 10 simboli 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 organizzati secondo una notazione posizionale. Questo significa che il significato delle cifre è modificato dalla posizione che assumono nel messaggio. ➡ (^) Esempio. La sequenza 16 indica 1 decina e 6 unità; nel numero 163 abbiamo 1 centinaio, 6 decine e 3 unità. In entrambi i casi vengono utilizzate le cifre (simboli) 1 e 6, ma il significato che assumono è determinato dalla loro posizione. Più in generale, possiamo dire che un numero espresso tramite notazione posizionale si legge da destra a sinistra moltiplicando ogni cifra per una potenza crescente della base. Il numero rappresentato da ciascuna cifra, in questo caso, è moltiplicato per una potenza di
La codifica delle immagini si basa sulla rappresentazione dell’immagine come un insieme di punti di colore. A questo scopo, l’immagine viene suddivisa per mezzo di una griglia, detta anche bitmap o pixmap, in sotto-porzioni, dette pixel (contrazione di picture element ). I dispositivi di acquisizione come scanner e macchine fotografiche digitali campionano le immagini attribuendo un colore ad ogni pixel della griglia. Il calcolatore riproduce l’immagine mostrando sullo schermo i pixel che la compongono. Il pixel è quindi l’unità minima di una griglia e definisce l’unità di misura della sua qualità. Data una stessa area di superficie, maggiore è il numero di pixel che compongono una griglia minore sarà la dimensione dei pixel e maggiore la qualità dell’immagine. Questo grado di qualità è detto risoluzione in quanto descrive il livello di dettaglio che un’immagine può raggiungere. Ingrandendo un'immagine possiamo notare i pixel di cui è composta come una serie di celle, di quadrati, della griglia. In base al numero di pixel che utilizziamo per costruire l'immagine il numero di ingrandimenti necessari per percepirli sarà maggiore. Similmente, come mostrato in Figura 7, aumentando il numero di pixel migliora la nitidezza di un’immagine. Secondo lo scienziato e fotografo Roger Clark, la risoluzione dell’occhio umano è di 576 megapixel. Si tratta di un numero molto elevato se si pensa che le fotocamere dei più recenti smartphone hanno risoluzioni di alcune decine di megapixel, anche se bisogna sottolineare che le dimensioni del campo visivo dell’occhio superano ampiamente quelle di uno schermo. La qualità di un’immagine è infatti data dal numero di pixel usati a rappresentarla in relazione all’area della sua superficie. Per creare uno schermo con un’immagine veramente nitida per l’occhio servirebbero schermi capaci di colorare 576 megapixel nell’area delle dimensioni del campo visivo. La risoluzione di un’immagine è spesso espressa attraverso il numero di pixel che compongono larghezza e altezza di una griglia. Esempi di risoluzione di schermi sono 1280×1024, pari a circa 1 megapixel, 1920×1080, pari a circa 2 megapixel, 3840×2160, pari a circa 8 megapixel. In realtà bisogna sempre ricordare che considerando unicamente il numero di pixel non è possibile definire la qualità che dipende dalla superficie della griglia. Per questo si usano unità di misura, come ad esempio i PPI, che esprimono la densità dei pixel in un’area, utilizzando il numero di pixel lungo la diagonale della griglia. La carta stampata ha una risoluzione che può variare dai 200 ai 600 PPI, uno schermo di buona qualità dai 150 ai 450 PPI. Ad esempio, l’iPhone 12 mini ha 476 PPI, lo schermo DELP2415Q ha 185 PP1. Un’immagine può essere vista come l’insieme dei pixel di cui è composta. Associando a ogni pixel un bit si potrebbe codificare l’immagine attraverso la sequenza di bit che ricalca la sua griglia. Essendo un bit in grado di codificare 2 stati, associando il pixel a un bit potremmo Fig. 7. Diverse risoluzioni per la stessa immagine.
rappresentare solo immagini in bianco e nero. La Figura 8 mostra la rappresentazione di un triangolo in una griglia 7 ×4. La sequenza binaria 000100000110001111100000000 codifica l’immagine nella griglia facendo corrispondere ad ogni 0 il colore bianco e a ogni 1 il colore nero. La scelta di associare un bit a ogni pixel non è necessariamente la migliore. È infatti possibile progettare codifiche con diversi livelli di efficienza. L’efficienza è tipicamente misurata come lunghezza media di un messaggio. L’immagine della Figura 8 è stata infatti codificata usando ridondanza di informazione ed esistono diversi modi attraverso i quali potremmo codificare la stessa informazione utilizzato meno variabili. ➡ (^) Esempio. Stabiliamo di descrivere l’immagine di Figura 8 indicando punto di inizio e di fine di ogni sequenza di pixel di colore nero, utilizzando una codifica numerica per il numero di colonna, quindi con 3 variabili per rappresentare le 7 colonne, e la sequenza 00 per indicare l’inizio di una nuova riga della griglia. L’immagine può quindi essere rappresentata come: 00 100100 00 011101 00 010110 00. Nella prima colonna il quarto pixel è primo e ultimo pixel nero. Nella seconda colonna il terzo pixel inizia la sequenza nera che termina al quinto pixel. Nella terza colonna il secondo pixel inizia la sequenza che termina al sesto pixel. Abbiamo utilizzato 20 bit in luogo dei 28 usati in precedenza. Il lettore può provare a ideare codifiche ancora più efficienti. È da notare che lo schema di codifica applicato non è l’unico elemento a incidere sull’efficienza. La struttura dell’informazione da codificare incide in modo altrettanto significativo e in generale molto dipende dal come l’informazione si distribuisce all’interno della griglia, se in aree omogenee o sparse. Riprendendo l’esempio precedente, se avessimo avuto sequenze di pixel neri anche nell’ultima riga lo schema di codifica usato nell’esempio avrebbe generato una sequenza di 24 bit. Immagini con sequenze interrotte di pixel di colore Fig. 8. Rappresentazione di un triangolo con una risoluzione 7×4.