CODIFICA



Per la codifica dell’informazione si è fatto riferimento allo standard Data Matrix esistente (standard ISO/IEC16022: 2006) e sono stati in primo luogo definiti i caratteri d’interesse ed il numero di colori da utilizzare.
L’introduzione di altri colori per la composizione della scacchiera comporta il passaggio da una base di dimensione n= 2 ad una più grande, aumentando così la profondità del codice. In questo modo il codice occupa meno superficie, ed a parità di superficie permette di inserire una quantità di informazione che cresce esponenzialmente al crescere della base. Nelle tabelle sottostanti vengono riportate le combinazioni realizzabili al variare della base utilizzando un byte di 8 bit:

N° di bit 8
Base 2 3 4 5
Combinazioni 256 6561 65536 390625


Alternativamente, nella tabella sottostante, viene mostrato il numero di bit necessario alla codifica di 256 caratteri al variare delle dimensioni della base:

Base 2 3 4 5
Bit necessari /256 caratteri 8 6 4 4


Si è iniziato definendo una codifica a 5 colori, che sembrava adeguata per la realizzazione di un codice in grado di condensare adeguatamente l’informazione senza diventare eccessivamente complesso dal punto di vista della codifica.
ASCII è l'acronimo di American Standard Code for Information Interchange (ovvero Codice Standard Americano per lo Scambio di Informazioni).
È un sistema di codifica dei caratteri a 7 bit (in realtà 8 bit, di cui uno usato come bit di parità per rilevare eventuali errori) comunemente utilizzato nei calcolatori, proposto dall'ingegnere dell'IBM Bob Bemer nel 1961, e successivamente accettato come standard dall'ISO (ISO 646). Alla specifica iniziale basata su codici di 7 bit fecero seguito negli anni molte proposte di estensione ad 8 bit, con lo scopo di raddoppiare il numero di caratteri rappresentabili. Nei pc si fa per l'appunto uso di una di queste estensioni, ormai standard di fatto, chiamata extended ASCII. In questo ASCII esteso, i caratteri aggiunti sono vocali accentate, simboli semigrafici e altri simboli di uso meno comune. I caratteri extended ASCII sono codificati nei cosiddetti codepage.
Il codice ASCII è il punto di partenza dell’algoritmo di codifica del DataMatrix a n bit.
La sequenza di operazioni effettuate dall’algoritmo di codifica è la seguente:



Come abbiamo visto, la codifica di tutti i caratteri ASCII utilizzando una base di dimensione 5 comporta l’uso di 4 bit. L’algoritmo di correzione degli errori esegue le somme parziali dei bit di codice per l’aggiunta di 3 bit di controllo per ogni carattere.
In questo modo si è quasi raddoppiata la lunghezza del codice, raddoppiando di fatto anche la possibilità di commettere errori, al fine di poterne correggere soltanto uno. Le valutazioni di questi aspetti hanno portato alla decisione di cambiare il sistema di codifica unitamente ad una sostanziale riduzione del set di caratteri codificabili. Tramite una routine software sono stati generati codici di 5 bit in base 5 in modo che avessero almeno 3 cifre diverse in identiche posizioni: i codici generati in tal modo ammontano a 74 unità, che sono sufficienti alla codifica di tutte le lettere, sia maiuscole che minuscole, dei numeri e dei simboli di punteggiatura più frequentemente utilizzati.
Utilizzando lo stesso sistema di confronto realizzato in precedenza per i codici a 7 bit, il software è in grado di individuare e correggere tutti gli errori singoli e di individuare gli errori doppi. In questo modo, riducendo il set di caratteri a quelli essenziali, si riesce a ridurre la lunghezza dei byte del 28% mantenendo lo stesso numero di errori correggibili (ed aumentandolo in percentuale dal 14% al 20%), avendo comunque un insieme di simboli estremamente versatile.



Intervento cofinanziato POR CReO FESR 2007-2013 Linee 1.5 e 1.6


Sinerlab s.r.l. | Via Trento 12 - 51039 – Quarrata (PT) | Tel. e Fax 0573 73039 www.sinerlab.it