[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

ITRM20110228A1 - METHOD FOR MULTI-LEVEL DATA CODING AND / OR DECODER. - Google Patents

METHOD FOR MULTI-LEVEL DATA CODING AND / OR DECODER. Download PDF

Info

Publication number
ITRM20110228A1
ITRM20110228A1 IT000228A ITRM20110228A ITRM20110228A1 IT RM20110228 A1 ITRM20110228 A1 IT RM20110228A1 IT 000228 A IT000228 A IT 000228A IT RM20110228 A ITRM20110228 A IT RM20110228A IT RM20110228 A1 ITRM20110228 A1 IT RM20110228A1
Authority
IT
Italy
Prior art keywords
primary
colors
data
elements
coding
Prior art date
Application number
IT000228A
Other languages
Italian (it)
Inventor
Francesco Cammeresi
Pietro Stefano Di
Claudio Dosio
Marco Polsi
Original Assignee
Land S R L
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Land S R L filed Critical Land S R L
Priority to IT000228A priority Critical patent/ITRM20110228A1/en
Publication of ITRM20110228A1 publication Critical patent/ITRM20110228A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K2019/06215Aspects not covered by other subgroups
    • G06K2019/06225Aspects not covered by other subgroups using wavelength selection, e.g. colour code

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Description

"METODO PER LA CODIFICA E/O DECODIFICA MULTILIVELLO DI DATI" "METHOD FOR MULTILEVEL DATA ENCODING AND / OR DECODING"

DESCRIZIONE DESCRIPTION

La presente invenzione si riferisce ad un metodo di codifica e di decodifica di dati, in particolare per la realizzazione di codici grafici, in particolare codici a barre, ad esempio di tipo bidimensionale. The present invention relates to a method of coding and decoding data, in particular for the realization of graphic codes, in particular bar codes, for example of the two-dimensional type.

Esistono molti tipi di codici a barre bidimensionali e, tra questi, i più utilizzati sono: • codici a barre bidimensionali Stackable come ad esempio i PDF417; There are many types of two-dimensional barcodes and, among these, the most used are: • Stackable two-dimensional barcodes such as PDF417;

• codici a barre bidimensionali a matrice come ad esempio i Datamatrix ed i QR-Code. • two-dimensional matrix barcodes such as Datamatrix and QR-Codes.

In particolare i Datamatrix ed i QR-Code hanno caratteristiche di capienza e codifiche molto simili ed attualmente sono quanto di più efficiente per capienza dati e robustezza si possa trovare allo stato della tecnica. In particular, the Datamatrix and QR-Codes have very similar capacity and coding characteristics and are currently the most efficient in terms of data capacity and robustness that can be found in the state of the art.

Le rispettive codifiche sono rilasciate gratuitamente e sono definite e pubblicate come standard ISO. The respective encodings are released free of charge and are defined and published as an ISO standard.

Ambedue hanno un limite dovuto alla loro capacità di contenere dati, capacità limitata soprattutto dalla codifica dei dati in elementi da stampare in bianco e nero. Nel corso degli anni, ci sono stati dei tentativi per superare questo limite, ma nessuno di questi tentativi è riuscito a superare i problemi dovuti alla non uniforme qualità e fedeltà dei colori delle stampanti e dei lettori degli scanner, necessari rispettivamente per la codifica e decodifica dei codici a barre. Both have a limit due to their capacity to contain data, a capacity limited above all by the encoding of the data into elements to be printed in black and white. Over the years, there have been attempts to overcome this limitation, but none of these attempts have succeeded in overcoming the problems due to the uneven quality and fidelity of the colors of the printers and scanner readers, necessary for encoding and decoding respectively. barcodes.

Pertanto, lo scopo della presente invenzione è quello di risolvere i problemi lasciati ancora aperti dalla tecnica nota e ciò è ottenuto attraverso un metodo di codifica multilivello come definito nella rivendicazione n. 1. Therefore, the object of the present invention is to solve the problems still left open by the known art and this is achieved through a multilevel coding method as defined in claim n. 1.

Ulteriore oggetto della presente invenzione è un codice a barre come definito nella rivendicazione 8. A further object of the present invention is a bar code as defined in claim 8.

Ancora ulteriore oggetto della presente invenzione è un metodo di decodifica come definito nella rivendicazione n. 10. Still further object of the present invention is a decoding method as defined in claim n. 10.

Ulteriori caratteristiche del dispositivo dell’invenzione in oggetto sono definite nelle corrispondenti rivendicazioni dipendenti. Further characteristics of the device of the invention in question are defined in the corresponding dependent claims.

La presente invenzione, superando i problemi della tecnica nota, comporta numerosi ed evidenti vantaggi. The present invention, overcoming the problems of the known art, entails numerous and evident advantages.

In particolare, la presente invenzione permette di realizzare codici a barre bidimensionali di tipo multistrato, che chiameremo L.Code (Layered Code). Tra i tanti vantaggi, ciò costituisce una soluzione al problema della fedeltà di stampa delle stampanti Laser ed Ink-Jet, introducendo un sistema che, grazie ad una palette di colori interna al codice a barre stesso, permette l’allineamento del colore per una corretta interpretazione, indipendente dalla fedeltà colore della stampante (fase di stampa) e dalla qualità dello scanner utilizzato (fase di decodifica). In particular, the present invention allows to realize two-dimensional multilayer type bar codes, which we will call L.Code (Layered Code). Among the many advantages, this constitutes a solution to the problem of printing fidelity of Laser and Ink-Jet printers, introducing a system which, thanks to a color palette inside the barcode itself, allows the alignment of the color for a correct interpretation, independent of the color fidelity of the printer (printing phase) and the quality of the scanner used (decoding phase).

Inoltre è importante sottolineare che con il codice L.Code viene preservata la struttura matriciale di qualsiasi codice a barre bidimensionale, mantenendo invariata la struttura ISO utilizzata per il riconoscimento e puntamento del codice utilizzato, qualsiasi esso sia. Furthermore, it is important to underline that with the L.Code code, the matrix structure of any two-dimensional barcode is preserved, keeping unchanged the ISO structure used for the recognition and pointing of the code used, whatever it is.

Questi ed altri vantaggi, assieme alle caratteristiche ed alle modalità di impiego della presente invenzione, risulteranno evidenti dalla seguente descrizione dettagliata di sue forme di realizzazione preferite, presentate a scopo esemplificativo e non limitativo, facendo riferimento alle figure dei disegni allegati, in cui: These and other advantages, together with the characteristics and methods of use of the present invention, will become evident from the following detailed description of its preferred embodiments, presented by way of non-limiting example, with reference to the figures of the attached drawings, in which:

la figura 1 è la rappresentazione di un QR-code di tipo noto; Figure 1 is the representation of a known QR-code;

le figure 2A e 2B illustrano un esempio di elementi primari ed elementi secondari; Figures 2A and 2B illustrate an example of primary elements and secondary elements;

la figura 3 rappresenta una tabella di associazione di valori numerici agli elementi primari e/o secondari; figure 3 represents a table of association of numerical values to the primary and / or secondary elements;

le figure 4A e 4B raffigurano due riproduzioni dei due passi di codifica di un metodo secondo la presente invenzione; Figures 4A and 4B show two reproductions of the two coding steps of a method according to the present invention;

la figura 5 mostra alcune possibilità per la memorizzazione dei dati; e figure 5 shows some possibilities for storing the data; And

la figura 6 mostra un codice a barre bidimensionale prodotto secondo la presente invenzione. Figure 6 shows a two-dimensional barcode produced according to the present invention.

La presente invenzione sarà nel seguito descritta nel dettaglio facendo riferimento alle figure suindicate. The present invention will be described in detail below with reference to the figures indicated above.

Nella presente descrizione, i termini che seguono saranno utilizzati con il significato di seguito definito. In this description, the following terms will be used with the meaning defined below.

Primi e secondi dati: I dati da codificare verranno suddivisi, ai fini della presente invenzione, in due blocchi distinguibili (primi dati e secondi dati). Questo perché, come si vedrà, i dati vengono codificati a diversi livelli. Perciò, per chiarezza, ad ogni livello di codifica viene fatto corrispondere un diverso blocco di dati. E’ inoltre da intendersi che, qualora i livelli di codifica fossero più di due, altrettanti blocchi di dati dovrebbero essere previsti. First and second data: The data to be encoded will be divided, for the purposes of the present invention, into two distinguishable blocks (first data and second data). This is because, as you will see, the data is encoded at different levels. Therefore, for clarity, a different data block is made to correspond to each coding level. It is also to be understood that, if the coding levels were more than two, an equal number of data blocks should be provided.

Elemento primario: Qualsiasi cosa utilizzabile per codificare dati, quindi valori numerici, caratteri, colori, simboli, trame, ecc. Primary element: Anything that can be used to encode data, i.e. numerical values, fonts, colors, symbols, textures, etc.

Elemento secondario: Qualsiasi cosa utilizzabile per codificare dati, quindi valori numerici, caratteri, colori, simboli, trame, ecc. Secondary element: Anything that can be used to encode data, i.e. numerical values, fonts, colors, symbols, textures, etc.

Dot: E’ un punto elementare di un codice grafico, che rappresenta uno degli elementi di codifica. Dot: It is an elementary point of a graphic code, which represents one of the coding elements.

ECC: Acronimo di Error Correction Code. E’ un sistema utile per recuperare eventuali errori contenuti nell'informazione memorizzata tramite dei meccanismi capaci di correggere l'errore riscontrato. Questo è possibile registrando informazioni aggiuntive che occupano spazio ma permettono di recuperare errori nell’intera rappresentazione dei dati. ECC: Acronym for Error Correction Code. It is a useful system for recovering any errors contained in the information stored through mechanisms capable of correcting the error found. This is possible by recording additional information that takes up space but allows you to recover errors in the entire data representation.

Soglia: E’ un valore predefinito utilizzabile per discriminare tra più elementi, ad esempio una soglia di grigio per discriminare tra diverse tonalità di grigio oppure tra bianco e nero. Threshold: It is a default value that can be used to discriminate between multiple elements, for example a gray threshold to discriminate between different shades of gray or between black and white.

Tabella di soglia: E’ una tabella di conversione che permette di dare il giusto peso alle tonalità di colore identificate come bianco o nero. Threshold table: It is a conversion table that allows you to give the right weight to the color tones identified as white or black.

Stream: flusso di dati. Stream: data stream.

In generale, l’obiettivo della presente invenzione è quello di fornire un metodo di codifica, in particolare per la realizzazione di codici grafici, ad esempio di tipo bidimensionali. In general, the aim of the present invention is to provide a coding method, in particular for the creation of graphic codes, for example of the two-dimensional type.

Nel seguito della presente descrizione, si continuerà a far riferimento ad un codice a barre bidimensionale di tipo QR-code. E’ tuttavia da intendersi che la presente invenzione potrà essere vantaggiosamente applicata ogni volta che le esigenze suggeriscono l’opportunità di codificare i dati secondo il metodo previsto, per ottenerne i vantaggi descritti. Ciò sarà possibile per la realizzazione di altri tipi di codici, ma anche per applicazioni diverse, ovunque ci sia l’esigenza di memorizzare dati codificati. In the remainder of the present description, reference will continue to be made to a two-dimensional QR-code type barcode. However, it should be understood that the present invention can be advantageously applied whenever the needs suggest the opportunity to encode the data according to the expected method, to obtain the advantages described. This will be possible for the creation of other types of codes, but also for different applications, wherever there is a need to store coded data.

Per chiarezza, si darà una breve descrizione delle principali caratteristiche di un QR-code di tipo noto, a cui fa riferimento la figura 1. For clarity, a brief description will be given of the main characteristics of a known QR-code, to which figure 1 refers.

Ogni codice a barre bidimensionale ha dei puntatori (tecnicamente, per un QR-code, vengono definiti come Position Detection Patterns) che ne permettono l’individuazione all’interno della pagina, per la successiva decodifica del contenuto. In particolare un QR-code prevede delle porzioni dedicate ad alcuni pattern utilizzati l’identificazione della posizione del codice, del suo allineamento, del timing. Each two-dimensional barcode has pointers (technically, for a QR-code, they are defined as Position Detection Patterns) that allow their identification within the page, for subsequent decoding of the content. In particular, a QR-code provides portions dedicated to some patterns used to identify the position of the code, its alignment, timing.

Altre regioni, sempre evidenziate in figura 1, sono dedicate alla memorizzazione di informazioni proprie del codice (versione, formato o altro). Infine una porzione del codice è dedicata alla memorizzazione dei dati (sia utili che per la correzione degli errori). Other regions, again highlighted in figure 1, are dedicated to storing information specific to the code (version, format or other). Finally, a portion of the code is dedicated to storing data (both useful and for correcting errors).

I codici a barre bidimensionali normalmente utilizzano il dot (punto o insieme di punti che formano un quadratino o modulo, che è l’unità elementare in grado di portare l'informazione) come modo per trasportare l'informazione e, a seconda che il dot stesso sia più o meno luminoso e quindi bianco o nero, la componente di decodifica lo estrae come contenuto informativo in bit, quindi come codice numerico binario, 0 oppure 1. Nei codici a barre tradizionali la componente cromatica non viene presa in considerazione. Two-dimensional barcodes normally use the dot (point or set of dots that form a small square or module, which is the elementary unit capable of carrying information) as a way to transport information and, depending on whether the dot itself is more or less bright and therefore white or black, the decoding component extracts it as information content in bits, therefore as a binary numeric code, 0 or 1. In traditional bar codes the chromatic component is not taken into consideration.

Secondo la presente invenzione, viene utilizzato un innovativo metodo di codifica multilivello di dati. According to the present invention, an innovative multilevel data coding method is used.

In particolare, secondo il presente metodo di codifica, deve innanzitutto essere definito un insieme di almeno tre elementi di codifica primari tra loro distinguibili. In particular, according to the present coding method, a set of at least three primary coding elements distinguishable from each other must first be defined.

Tali elementi primari sono quindi raggruppati in almeno due sottoinsiemi disgiunti e, a ciascuno di tali sottoinsiemi viene associato un corrispondente elemento di codifica secondario. Naturalmente, anche gli elementi secondari dovranno essere tra loro distinguibili. These primary elements are then grouped into at least two disjoint subsets and a corresponding secondary coding element is associated with each of these subsets. Of course, the secondary elements must also be distinguishable from each other.

Quindi, secondo la presente invenzione, viene eseguita una prima codifica di primi dati in un primo livello di codifica. Tale prima codifica farà uso degli elementi secondari, utilizzando appunto tali elementi secondari per codificare i primi dati. Then, according to the present invention, a first coding of first data is performed in a first coding level. This first encoding will make use of the secondary elements, using precisely these secondary elements to encode the first data.

Successivamente, viene eseguita una seconda codifica di secondi dati in un secondo livello di codifica. Per tale seconda codifica, si farà uso, per ciascuno degli elementi secondari già utilizzati nella prima codifica, degli elementi primari appartenenti al corrispondente sottoinsieme. Subsequently, a second encoding of second data is performed in a second encoding level. For this second coding, for each of the secondary elements already used in the first coding, use will be made of the primary elements belonging to the corresponding subset.

Naturalmente, la scelta del tipo di elementi primari e secondari, e del tipo di codifica applicata, prescinde in maniera assoluta dal principio che sta alla base della presente invenzione. Naturally, the choice of the type of primary and secondary elements, and of the type of coding applied, absolutely prescinds from the principle underlying the present invention.

A titolo puramente esemplificativo, come già detto, si continuerà a descrivere la metodologia di codifica, con particolare riferimento alla realizzazione di un codice grafico. By way of example only, as already mentioned, the coding methodology will continue to be described, with particular reference to the creation of a graphic code.

Per questo, gli elementi primari e secondari, potranno essere identificati come colori. In maniera del tutto esemplificativa, il tipo di codifica scelto può essere tale che preveda l'associazione di rispettivi valori numerici a ciascuno degli elementi primari e secondari, in particolare a ciascun colore, detti valori numerici essendo rappresentabili in un sistema numerico binario. For this, the primary and secondary elements can be identified as colors. In a wholly exemplary manner, the type of coding chosen can be such that it provides for the association of respective numerical values to each of the primary and secondary elements, in particular to each color, said numerical values being representable in a binary numerical system.

Preferibilmente, il raggruppamento dei colori primari in due o più sottoinsiemi è eseguito riportando detti colori primari in tonalità di grigio. Determinando uno o più valori di soglia di grigio, si potrà quindi definire per ogni colore primario, il sottoinsieme di appartenenza in base all’appartenenza della sua trasformazione in tonalità di grigio ad uno degli intervalli definiti da dette soglie di grigio. Preferably, the grouping of the primary colors into two or more subsets is carried out by reporting said primary colors in shades of gray. By determining one or more gray threshold values, it will then be possible to define for each primary color, the subset to which it belongs based on the belonging of its transformation into shades of gray to one of the intervals defined by said gray thresholds.

Le figure 2A e 2B illustrano, un esempio di definizione dei suindicati elementi primari e secondari, dei relativi sottoinsiemi e della codifica dei dati, in particolare nel caso di uso di colori e codifica binaria. Figures 2A and 2B illustrate an example of definition of the aforementioned primary and secondary elements, of the relative subsets and of the data coding, in particular in the case of use of colors and binary coding.

In particolare, viene definito un insieme di otto colori primari. Nella figura, necessariamente in bianco e nero, i colori sono sostituiti dal loro nome. Specifically, a set of eight primary colors is defined. In the figure, necessarily in black and white, the colors are replaced by their name.

Gli otto colori primari di figura 2A, sono raggruppati in due sottoinsiemi, a ciascuno dei quali è associato un colore secondario, in questo caso il bianco ed il nero, come mostrato in figura 2B. The eight primary colors of figure 2A are grouped into two subsets, each of which is associated with a secondary color, in this case white and black, as shown in figure 2B.

Infatti, si possono raggruppare i colori primari in sottoinsiemi, le cui tonalità possono essere interpretate diversamente se riportate in tonalità di grigio. Pertanto, viene individuata una tabella di soglia che consentirà di suddividere il codice in due sottoinsiemi. In fact, the primary colors can be grouped into subsets, whose shades can be interpreted differently if reported in shades of gray. Therefore, a threshold table is found that will allow you to divide the code into two subsets.

Verrà quindi associato il colore secondario bianco a tutti i colori primari la cui trasformazione in tonalità di grigio è al di sotto 51% ed il colore secondario nero a tutti i colori primari la cui trasformazione in tonalità di grigio è al di sopra 51%. The white secondary color will then be associated with all the primary colors whose transformation into shades of gray is below 51% and the secondary black color with all primary colors whose transformation into shades of gray is above 51%.

Pertanto, all’utilizzo dei colori primari, si aggiunge un livello di reinterpretazione dei colori stessi in bianco e nero, suddividendo di fatto la codifica in due livelli distinti. Therefore, to the use of primary colors, a level of reinterpretation of the colors themselves in black and white is added, dividing the coding into two distinct levels.

La rappresentazione a colori dei dati è effettuata, nel caso esposto nelle figure sopracitate, identificando ogni dot con due bit ed inserendo un ulteriore bit per identificare la parte di codice bianco o nero che abbiamo individuato inserendo la soglia relativa alla scala di grigi, per un totale di 3 bit ogni dot (Figura 3). The color representation of the data is carried out, in the case shown in the aforementioned figures, by identifying each dot with two bits and inserting an additional bit to identify the part of the black or white code that we have identified by inserting the threshold relating to the gray scale, for a total of 3 bits each dot (Figure 3).

A questo punto, tale metodo di codifica può essere vantaggiosamente utilizzato per la realizzazione di un codice grafico, in particolare un codice a barre bidimensionale policromatico. At this point, this coding method can be advantageously used for the realization of a graphic code, in particular a polychromatic two-dimensional bar code.

L’insieme dei dati da codificare nel codice, sono quindi suddivisi su due livelli di codifica, una prima codifica basata sui colori secondari (bianco e nero nell’esempio) ed una seconda codifica di secondi dati basata sui colori primari (gli otto colori di partenza). The set of data to be encoded in the code are therefore divided into two coding levels, a first coding based on the secondary colors (black and white in the example) and a second coding of second data based on the primary colors (the eight colors of departure).

Naturalmente, le due codifiche sono tra loro legate dalla funzione di raggruppamento e di associazione dei colori secondari ai sottoinsiemi di colori primari. Naturally, the two encodings are linked together by the function of grouping and association of the secondary colors to the subsets of primary colors.

Le figure 4A e 4B mostrano, a titolo esemplificativo, il risultato dei due passi di codifica del metodo secondo la presente invenzione. Figures 4A and 4B show, by way of example, the result of the two coding steps of the method according to the present invention.

E’ evidente che, il risultato finale, sarà l’esito della seconda codifica, basata sui colori primari, di figura 4A. Infatti questa sarà sufficiente, come sarà chiaro nel seguito, per decodificare anche i primi dati codificati sulla base dei colori secondari (fig. 4B). It is clear that the final result will be the outcome of the second coding, based on primary colors, in figure 4A. In fact this will be sufficient, as will become clear in the following, to decode also the first data encoded on the basis of the secondary colors (fig. 4B).

Ciò è possibile interpretando i colori primari sulla base della tabella di soglia definita in fase di codifica. This is possible by interpreting the primary colors on the basis of the threshold table defined during the coding phase.

Questa modalità permette una separazione vera a propria dei dati (in primi e secondi dati) e permette diverse tipologie di codifica, ad esempio: This mode allows a real separation of the data (in first and second data) and allows different types of coding, for example:

Soluzione a due livelli con rispettivi dati indipendenti: Two-tier solution with respective independent data:

Questa soluzione permette di separare il contenuto dati su due livelli completamente separati e distinti. Il primo a colori, più capiente, ed il secondo in B/N, meno capiente. Ciò consente la stampa sia con stampanti a colori (ink jet, laser o led), sia con stampanti in bianco e nero. This solution allows you to separate the data content on two completely separate and distinct levels. The first in color, more capacious, and the second in B / W, less capacious. This allows printing both with color printers (ink jet, laser or led), and with black and white printers.

E’ importante sottolineare che con l’utilizzo di questa modalità si aumenta la fruibilità della tecnologia che, nel caso dei codici a barre a colori, non consentirebbe la stampa ai possessori di stampanti in bianco e nero. It is important to underline that the use of this mode increases the usability of the technology which, in the case of color barcodes, would not allow printing to owners of black and white printers.

Altresì, è possibile suddividere la fruibilità della parte riguardante la decodifica del codice in Bianco e Nero in ulteriori due tipologie: Furthermore, it is possible to divide the usability of the part concerning the decoding of the code in Black and White into two further types:

I. Modalità che prevede la compatibilità a QR Code in B/N e quindi possibilità di lettura con qualsiasi software di decodifica; I. Mode that provides for compatibility with QR Code in B / W and therefore the possibility of reading with any decoding software;

II. Modalità proprietaria che non prevede una compatibilità con i QR Code in B/N e quindi necessita dello sviluppo di software di decodifica proprietario. II. Proprietary mode that does not provide for compatibility with QR Codes in B / W and therefore requires the development of proprietary decoding software.

Soluzione a 2 livelli con dati in “Cluster”: 2-level solution with data in "Cluster":

In questo caso viene utilizzata la sommatoria dei dati estratti dai due livelli (3 bit). Questa modalità permette di inserire un solo stream, migliorando la robustezza del codice stesso. In this case the sum of the data extracted from the two levels is used (3 bits). This mode allows you to insert only one stream, improving the robustness of the code itself.

Questa soluzione può essere utilizzata secondo diverse modalità di utilizzo, ad esempio illustrate in figura 5. This solution can be used in different ways of use, for example illustrated in figure 5.

SOMMA DIRETTA DEI LIVELLI: il totale dei dati rappresentati è ottenuto dalla somma diretta tra i dati contenuti nel livello a colori e quelli contenuti nel livello bianco/nero. Questa modalità consente di rappresentare nominalmente la stessa quantità di dati rappresentata in un codice a colori a tre bit (otto colori), ma il vantaggio sta nel fatto che, oltre al meccanismo di Error Correction nativa del livello a colori e di quello bitonale, la parte di dati contenuta nel livello bianco/nero ha un grado di robustezza intrinsecamente più elevato, aumentando così la probabilità di ricostruzione del dato totale. DIRECT SUM OF LEVELS: the total of the data represented is obtained from the direct sum between the data contained in the color level and those contained in the black / white level. This mode allows to nominally represent the same amount of data represented in a three-bit (eight-color) color code, but the advantage lies in the fact that, in addition to the native Error Correction mechanism of the color and bi-tonal layer, the part of the data contained in the black / white level has an intrinsically higher degree of robustness, thus increasing the probability of reconstruction of the total data.

DATI ECC: questa modalità consente di rappresentare la totalità dei dati nel livello colore, demandando al livello bianco/nero la totalità dei dati di Error Correction. In questo modo la robustezza aumenterebbe grazie alla rappresentazione bitonale del livello contenente l'Error Correction Code. ECC DATA: this mode allows the totality of the data to be represented in the color level, leaving the totality of the Error Correction data to the black / white level. In this way the robustness would increase thanks to the bi-tonal representation of the level containing the Error Correction Code.

DATI-ECC ECC-DATI: questa modalità consente di rappresentare nel livello a colori le informazioni e i dati di Error Correction, mentre nel livello bianco/nero un grado di Error Correction dell'ECC contenuto nel livello a colori, ed una serie di informazioni secondarie (potenzialmente di recovery). Questo meccanismo consente un elevato irrobustimento del meccanismo di correzione dell’errore, nonché la possibilità di utilizzare un meccanismo di fallback delle informazioni garantito dalla presenza delle informazioni secondarie. DATA-ECC EXC-DATA: this mode allows you to represent the information and data of Error Correction in the color level, while in the black / white level a degree of Error Correction of the ECC contained in the color level, and a series of secondary information (potentially recovery). This mechanism allows a high strengthening of the error correction mechanism, as well as the possibility of using an information fallback mechanism guaranteed by the presence of secondary information.

Soluzione a due livelli, uno contenente dati (colore) ed uno estetico (B/N): I livello a colori contiene i dati utili (due bit) il livello in B/N può essere disposto per raffigurare loghi, lettere o qualsiasi immagine si possa rappresentare. Two-level solution, one containing data (color) and one aesthetic (B / W): The color level contains the useful data (two bits) the B / W level can be arranged to represent logos, letters or any image can represent.

Un’ulteriore particolarità del metodo di codifica secondo la presente invenzione è quella di prevedere, in detto codice a barre, una porzione di calibrazione comprendente la riproduzione dei colori primari e/o dei colori secondari. A further particularity of the coding method according to the present invention is that of providing, in said bar code, a calibration portion comprising the reproduction of primary colors and / or secondary colors.

La figura 6 mostra un esempio di codice grafico secondo la presente invenzione, comprendente tale porzione di calibrazione, o maschera colorimetrica. Figure 6 shows an example of a graphic code according to the present invention, comprising this calibration portion, or colorimetric mask.

Tale porzione di calibrazione ha la funzione di correggere le distorsioni cromatiche introdotte nel processo di stampa e nella successiva scansione. Questo pattern può essere ad esempio replicato sui quattro lati di un codice a barre bidimensionale per avere una robustezza maggiore e per avere un confronto tra gli stessi, prima di essere utilizzata per creare una tabella colorimetrica di riferimento, cioè per definire i colori primari e secondari. This calibration portion has the function of correcting the chromatic distortions introduced in the printing process and in the subsequent scanning. This pattern can for example be replicated on the four sides of a two-dimensional barcode to have a greater robustness and to have a comparison between them, before being used to create a reference colorimetric table, i.e. to define the primary and secondary colors. .

E’ evidente che, oltre che al metodo di codifica ed ad un codice realizzato secondo tale metodo, la presente invenzione si rivolge anche ad un corrispondente metodo di decodifica di dati codificati come finora descritto. It is evident that, in addition to the coding method and a code implemented according to this method, the present invention also addresses a corresponding method of decoding coded data as described so far.

Tale metodo di decodifica, comprende innanzitutto un passo di determinare, per ciascun elemento primario da decodificare, il corrispondente elemento secondario. Quindi, è prevista l’esecuzione di una prima decodifica degli elementi secondari determinati, al fine di ottenere primi dati. This decoding method first of all comprises a step of determining, for each primary element to be decoded, the corresponding secondary element. Therefore, the execution of a first decoding of the determined secondary elements is envisaged, in order to obtain first data.

Questo già permette quindi di estrarre primi dati, quindi prime informazioni utili, da un codice realizzato come finora descritto. In particolare, nel caso si utilizzino colori come elementi primari e secondari, come nell’esempio prima illustrato, si estraggono le informazioni contenute nel “livello in b/n”. This already makes it possible to extract first data, therefore first useful information, from a code created as described so far. In particular, if colors are used as primary and secondary elements, as in the example shown above, the information contained in the "b / w level" is extracted.

Vantaggiosamente, la decodifica può prevedere un passo di eseguire una seconda decodifica degli elementi primari, al fine di ottenere secondi dati. Advantageously, the decoding can provide a step of carrying out a second decoding of the primary elements, in order to obtain second data.

Quindi, rimanendo sempre nell’esempio di otto colori primari e due colori secondari, tale seconda decodifica permette di estrarre ulteriori e diverse informazioni contenute nel “livello a colori”. Therefore, always remaining in the example of eight primary colors and two secondary colors, this second decoding allows to extract further and different information contained in the "color level".

Vantaggiosamente, il metodo di decodifica può prevedere un passo di acquisizione dell'insieme di colori primari e/o dei colori secondari. Advantageously, the decoding method can provide an acquisition step of the set of primary colors and / or of the secondary colors.

Ciò, ad esempio è ottenuto leggendo la porzione di calibrazione (maschera colorimetrica) riprodotta nel codice grafico in fase di realizzazione. This, for example, is obtained by reading the calibration portion (colorimetric mask) reproduced in the graphic code under construction.

Ciò permette di confrontare ogni dot estratto dalla regione di memorizzazione dei dati, con quelli della maschera colorimetrica di riferimento. Grazie alla maschera colorimetrica di riferimento, se uno dei colori in fase di stampa viene rappresentato più chiaro, più scuro oppure anche di un altro colore (ad esempio per difetti di stampa), questa differenza verrebbe automaticamente riallineata e decodificata in modo corretto. Utilizzando questa tecnica ci si può astrarre completamente dalla qualità e dalla fedeltà nella riproduzione dei colori sia da parte di stampanti che di scanner utilizzati rispettivamente per la stampa o la scansione. This allows to compare each dot extracted from the data storage region with those of the reference colorimetric mask. Thanks to the reference colorimetric mask, if one of the colors being printed is represented lighter, darker or even of another color (for example due to print defects), this difference would be automatically realigned and decoded correctly. Using this technique you can completely abstract yourself from the quality and fidelity in color reproduction by both printers and scanners used for printing or scanning respectively.

Quindi, il metodo di decodifica può prevedere l'associazione di rispettivi valori numerici a ciascuno degli elementi primari (colori primari) e secondari (colori secondari). Ad esempio tali valori numerici possono essere indicati in un sistema numerico binario e quindi rappresentare i primi ed i secondi dati estratti dal codice, Therefore, the decoding method can provide for the association of respective numerical values to each of the primary (primary colors) and secondary (secondary colors) elements. For example, these numerical values can be indicated in a binary numerical system and therefore represent the first and second data extracted from the code,

Da un punto di vista pratico, deve essere notato che il presente metodo di codifica/decodifica è compatibile con gli standard già esistenti per la realizzazione di codici a barre in bianco e nero. From a practical point of view, it should be noted that the present coding / decoding method is compatible with the already existing standards for the realization of black and white barcodes.

In particolare, nel caso di realizzazioni di codici bidimensionali secondo la presente invenzione, si può mantenere ad esempio una struttura sostanzialmente identica a quella di un QR-code, modificando solamente la modalità di memorizzazione dei dati. E’ da intendersi che, sebbene tutti gli esempi che sono stati illustrati prevedono l'utilizzo di otto colori primari e due colori secondari, quindi un solo valore di soglia di grigio (50%), la modalità può essere modificata aumentando la gamma di colori e di conseguenza aumentando le tonalità di grigio, questo permetterebbe di aumentare il numero di livelli in cui la codifica è stratificata, di conseguenza il numero di bit per ogni dot, aumentando quindi la capacità di memorizzazione del dot stesso e quindi del codice nel suo complesso. Ad esempio, utilizzando sedici colori e tre soglie di grigio (25%, 50% e 75%) invece di tre bit per dot avremo a disposizione sei bit per dot, e così via. In particular, in the case of embodiments of two-dimensional codes according to the present invention, a structure substantially identical to that of a QR-code can be maintained, for example, by only modifying the data storage mode. It is to be understood that, although all the examples that have been illustrated involve the use of eight primary colors and two secondary colors, therefore only one gray threshold value (50%), the mode can be changed by increasing the range of colors. and consequently increasing the shades of gray, this would allow to increase the number of levels in which the encoding is stratified, consequently the number of bits for each dot, thus increasing the storage capacity of the dot itself and therefore of the code as a whole . For example, using sixteen colors and three gray thresholds (25%, 50% and 75%) instead of three bits per dot we will have six bits per dot, and so on.

E’ altresì possibile cambiare il rapporto tra il numero dei colori ed il numero di tonalità, a seconda delle esigenze, utilizzando ad esempio sedici colori e due gruppi di tonalità. It is also possible to change the ratio between the number of colors and the number of shades, depending on your needs, using for example sixteen colors and two groups of shades.

La presente invenzione è stata fin qui descritta con riferimento a sue forme di realizzazione preferite. È da intendersi che possono esistere altre forme di realizzazione che afferiscono al medesimo nucleo inventivo, tutte rientranti neN’ambito di protezione delle rivendicazioni qui di seguito riportate. The present invention has been described up to now with reference to its preferred embodiments. It is to be understood that there may be other embodiments that pertain to the same inventive core, all falling within the scope of the claims set out below.

Claims (15)

RIVENDICAZIONI 1. Metodo di codifica multilivello di dati, comprendente i passi di: • definire un insieme di almeno tre elementi primari tra loro distinguibili; • raggruppare detti almeno tre elementi primari in almeno due sottoinsiemi disgiunti ed associare a ciascuno di detti sottoinsiemi un corrispondente elemento secondario, detti elementi secondari essendo tra loro distinguibili; • eseguire una prima codifica di primi dati in un primo livello di codifica utilizzando detti elementi secondari; ed ■ eseguire una seconda codifica di secondi dati in un secondo livello di codifica utilizzando, per ciascuno degli elementi secondari utilizzati nella prima codifica, gli elementi primari appartenenti al corrispondente sottoinsieme. CLAIMS 1. Multilevel data coding method, comprising the steps of: • define a set of at least three primary elements that are distinguishable from each other; • grouping said at least three primary elements into at least two disjoint subsets and associating a corresponding secondary element to each of said subsets, said secondary elements being distinguishable from each other; • carrying out a first coding of first data in a first coding level using said secondary elements; and ■ perform a second coding of second data in a second coding level using, for each of the secondary elements used in the first coding, the primary elements belonging to the corresponding subset. 2. Metodo secondo la rivendicazione 1, in cui detti elementi primari e detti elementi secondari sono colori, rispettivamente primari e secondari. Method according to claim 1, wherein said primary elements and said secondary elements are colors, respectively primary and secondary. 3. Metodo secondo la rivendicazione 2, in cui detto raggruppamento dei colori primari in due o più sottoinsiemi è eseguito riportando detti colori primari in tonalità di grigio e determinando uno o più valori di soglia di grigio, i colori primari la cui trasformazione in tonalità di grigio è compresa tra due di dette soglie di grigio rappresentando uno di detti sottoinsiemi. Method according to claim 2, wherein said grouping of the primary colors into two or more subsets is carried out by returning said primary colors to shades of gray and determining one or more gray threshold values, the primary colors whose transformation into shades of gray is comprised between two of said gray thresholds representing one of said subsets. 4. Metodo secondo una delle rivendicazioni precedenti, comprendente inoltre un passo di riprodurre detta seconda codifica per realizzare un codice grafico. Method according to one of the preceding claims, further comprising a step of reproducing said second coding to produce a graphic code. 5. Metodo secondo la rivendicazione 4 quando dipendente dalla 2 o 3, in cui detto codice grafico è un codice a barre policromatico. 5. Method according to claim 4 when dependent on 2 or 3, wherein said graphic code is a polychromatic bar code. 6. Metodo secondo la rivendicazione 5, comprendente inoltre un passo di fornire in detto codice a barre, una porzione di calibrazione comprendente la riproduzione di detti colori primari e/o detti colori secondari. The method according to claim 5, further comprising a step of providing in said bar code, a calibration portion comprising the reproduction of said primary colors and / or said secondary colors. 7. Metodo secondo una delle rivendicazioni precedenti, in cui dette prima e seconda codifica prevedono l’associazione di rispettivi valori numerici a ciascuno di detti elementi primari e secondari, detti valori numerici essendo rappresentabili in un sistema numerico binario. 7. Method according to one of the preceding claims, in which said first and second coding provide for the association of respective numerical values to each of said primary and secondary elements, said numerical values being representable in a binary numerical system. 8. Codice a barre policromatico caratterizzato dal fatto di comprendere almeno una porzione di memorizzazione dati codificata con un metodo secondo una qualsiasi delle rivendicazioni da 1 a 6. 8. Polychromatic bar code characterized in that it comprises at least a data storage portion encoded with a method according to any one of claims 1 to 6. 9. Codice a barre policromatico secondo la rivendicazione 8, bidimensionale. 9. Two-dimensional polychromatic barcode according to claim 8. 10. Metodo per la decodifica di dati codificati secondo la rivendicazione 1 , comprendente i passi di: • determinare, per ciascun elemento primario da decodificare, il corrispondente elemento secondario; • eseguire una prima decodifica di detti elementi secondari determinati, ottenendo primi dati. Method for decoding coded data according to claim 1, comprising the steps of: • determine, for each primary element to be decoded, the corresponding secondary element; • perform a first decoding of said determined secondary elements, obtaining first data. 11. Metodo per la decodifica secondo la rivendicazione 10, comprendente inoltre un passo di eseguire una seconda decodifica di detti elementi primari, ottenendo secondi dati. Method for decoding according to claim 10, further comprising a step of performing a second decoding of said primary elements, obtaining second data. 12. Metodo per la decodifica secondo la rivendicazione 10 o 11, in cui detti elementi primari e detti elementi secondari sono colori, rispettivamente primari e secondari. Method for decoding according to claim 10 or 11, wherein said primary elements and said secondary elements are colors, respectively primary and secondary. 13. Metodo per la decodifica secondo la rivendicazione 12, comprendente inoltre un passo di acquisire detto insieme di colori primari e/o detti colori secondari da un codice grafico comprendente una porzione di calibrazione, che riproduce detti colori primari e/o detti colori secondari. 13. Method for decoding according to claim 12, further comprising a step of acquiring said set of primary colors and / or said secondary colors from a graphic code comprising a calibration portion, which reproduces said primary colors and / or said secondary colors. 14. Metodo secondo la rivendicazione 13, in cui detto codice grafico è un codice a barre policromatico. The method according to claim 13, wherein said graphic code is a polychromatic bar code. 15. Metodo secondo una delle rivendicazioni da 10 a 14, in cui dette prima e/o seconda decodifica prevedono l’associazione di rispettivi valori numerici a ciascuno di detti elementi primari e secondari, detti valori numerici essendo rappresentabili in un sistema numerico binario.15. Method according to one of claims 10 to 14, in which said first and / or second decoding provide for the association of respective numerical values to each of said primary and secondary elements, said numerical values being representable in a binary numerical system.
IT000228A 2011-05-06 2011-05-06 METHOD FOR MULTI-LEVEL DATA CODING AND / OR DECODER. ITRM20110228A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
IT000228A ITRM20110228A1 (en) 2011-05-06 2011-05-06 METHOD FOR MULTI-LEVEL DATA CODING AND / OR DECODER.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT000228A ITRM20110228A1 (en) 2011-05-06 2011-05-06 METHOD FOR MULTI-LEVEL DATA CODING AND / OR DECODER.

Publications (1)

Publication Number Publication Date
ITRM20110228A1 true ITRM20110228A1 (en) 2012-11-07

Family

ID=44554364

Family Applications (1)

Application Number Title Priority Date Filing Date
IT000228A ITRM20110228A1 (en) 2011-05-06 2011-05-06 METHOD FOR MULTI-LEVEL DATA CODING AND / OR DECODER.

Country Status (1)

Country Link
IT (1) ITRM20110228A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060098241A1 (en) * 2004-11-05 2006-05-11 Colorzip Media, Inc. Method and apparatus for decoding mixed code
US20090103803A1 (en) * 2007-10-22 2009-04-23 Anil Kumar Machine readable documents and reading methods
EP2105868A1 (en) * 2008-03-27 2009-09-30 Denso Wave Incorporated Two-dimensional code having rectangular region provided with specific patterns for specification of cell positions and distinction from background

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060098241A1 (en) * 2004-11-05 2006-05-11 Colorzip Media, Inc. Method and apparatus for decoding mixed code
US20090103803A1 (en) * 2007-10-22 2009-04-23 Anil Kumar Machine readable documents and reading methods
EP2105868A1 (en) * 2008-03-27 2009-09-30 Denso Wave Incorporated Two-dimensional code having rectangular region provided with specific patterns for specification of cell positions and distinction from background

Similar Documents

Publication Publication Date Title
TWI693551B (en) Two-dimensional code generation method, decoding method and device
US5818032A (en) Encoded color halftone micro-dots for high density digital information storage
EP1612724B1 (en) System and method for encoding high density geometric symbol set
US8194976B2 (en) Machine readable documents and reading methods
US7478746B2 (en) Two-dimensional color barcode and method of generating and decoding the same
Grillo et al. High capacity colored two dimensional codes
US9311584B2 (en) Multidimensional color barcode
US8544748B2 (en) Creation and placement of two-dimensional barcode stamps on printed documents for storing authentication information
TWI507909B (en) Data-bearing encoding system and data-bearing decoding system
WO2013168305A1 (en) Mobile phone information embedding code generation method, information embedding method and reading method for same
US7118041B2 (en) Two-dimensional color barcode with preserved plane and lossy plane layers
Galiyawala et al. To increase data capacity of QR code using multiplexing with color coding: An example of embedding speech signal in QR code
JP6590335B2 (en) Two-dimensional code and method for reading the two-dimensional code
WO2015140157A1 (en) A decoder and encoder for a digital fingerprint code
JP4054339B2 (en) Information embedded code, information embedded code generation method, and information embedded code generation apparatus
US7909254B2 (en) Document with indexes and associated document reader system
John et al. Designing a 2D color barcode
ITRM20110228A1 (en) METHOD FOR MULTI-LEVEL DATA CODING AND / OR DECODER.
JP5120152B2 (en) 2D code
CN1770177A (en) System and method for encoding high density geometric symbol set
JP6099258B2 (en) Optical code and method for generating the optical code
US9202155B2 (en) Bidirectional graphic matrix code
RU2007107402A (en) MATRIX PRINT MEMORY AND DATA CODING METHOD
RU2823438C1 (en) Method of generating and decoding two-dimensional code of data medium
CN114254719B (en) Anti-counterfeiting two-dimensional code generation method and device