DotCode - Biblioteka.sk

Upozornenie: Prezeranie týchto stránok je určené len pre návštevníkov nad 18 rokov!
Zásady ochrany osobných údajov.
Používaním tohto webu súhlasíte s uchovávaním cookies, ktoré slúžia na poskytovanie služieb, nastavenie reklám a analýzu návštevnosti. OK, súhlasím


Panta Rhei Doprava Zadarmo
...
...


A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

DotCode
 ...
Example of DotCode

DotCode is two-dimensional (2D) matrix barcode invented in 2008[1] by Hand Held Products company to replace outdated Code 128. At this time, it is issued by Association for Automatic Identification and Mobility (AIM) as “ISS DotCode Symbology Specification 4.0”.[2] DotCode consists of sparse black round dots and white spaces on white background. In case of black background round dots, creating barcode, can be white. DotCode was developed to use with high-speed industrial printers[3] where printing accuracy can be low. Because DotCode by the standard does not require complicated elements like continuous lines or special shapes it can be applied with laser engraving or industrial drills.

DotCode can be represented as rectangular array with minimal size of each side 5X dots. Maximal size of DotCode is not limited by the standard[4] (as Code 128 is not limited) but practical limit is recommended as 100x99[2]: 5.2.1.4  which can encode around 730 digits, 366 alphanumeric characters or 304 bytes.

As an extension of Code 128 barcode, DotCode allows more compact encoding of 8-bit data array and Unicode support with Extended Channel Interpretation feature. Additionally, DotCode provides much more data density and Reed–Solomon error correction which allows to restore partially damaged barcode. However, the main DotCode implementation, the same as Code 128, is effective encoding of GS1 data[5] which is used in worldwide shipping and packaging industry.

History and standards

DotCode barcode was invented in 2008[1] by Dr. Andrew Longacre from Hand Held Products company and standardized in 2009[6] by AIM as “Bar code symbology specification - DotCode”.[7] In 2019 DotCode was reviewed as “ISS DotCode Symbology Specification 4.0”.[2]

Set of patents is registered, which are related with DotCode encoding and decoding:

  • United States Patent US20090200386A1 by Hand Held Products Inc "Machine readable 2D symbology printable on demand"[1]
  • United States Patent US20090200386A1 by Datalogic IP Tech SRL "System and method for extracting bitstream data in two-dimensional optical codes"[8]
  • Chinese Patent CN113297872A by Fuzhou Symbol Information Technology Co ltd "Dotcode identification method and equipment"[9]

Application

DotCode barcode can be used in the same way as Code 128 or any (2D) matrix barcode. At this time, it is used mostly to encode GS1 data in tobacco,[10][11] alcoholic and non-alcoholic beverage,[12] pharmaceutical and grocery industries. The main implementation at this time is in tobacco industry.[13][14]

Main advantages of DotCode are:[15]

Barcode design

DotCode represents data in rectangular structure which consists from black round dots and white spaces on white background or white round dots on black background. DotCode does not have finder pattern, like other 2D barcodes and it must be detected with slow blob detection algorithms like Gabor filter or Circle Hough Transform.[citation needed] All data, metadata and error correction codewords are encoded in the same dots array which does not have any visual difference.

Here are some samples of DotCode:

DotCode symbol structure

DotCode symbol is constructed from the following elements:[2]: 5.1 

  • Two mask bits which are represented on diagram as two green points;
  • Data bits (data and error correction bits) which must be read from up to down (even barcode side) and from left to right (odd barcode side);
  • Corner points, marked as red on diagram, which can be used as data bits or padding bits (black dots);
  • Quiet zone at least 3X size of the dots.

The DotCode bits array is represented as:
(Two mask bits: M2, M1)(Data bits)(Corner bits, can be data or padding bits: C1 – C6)

The data codewords in 0 – 112 range are encoded in 5-of-9 binary dot patterns[2]: 5.2  which are encoded from 9 dots where 5 black dots and 4 white spaces. The rest of barcode matrix (rest from division on 9) is padded with black padding bits.[2]: 5.2.3  The padding bits can be from 0 to 8. The logically DotCode bits array is represented as:
(2 mask bits)(Data codewords 9 bits each)(Padding bits 0 – 8 bits)

DotCode size has the following requirements:[2]: 5.1 

  • Sum of DotCode width and height must be odd: ;
  • Minimal size of each side must be 5, maximal is not limited;
  • It is recommended to use width and height to have at least 6 padding black bits where data bits capacity rest from division on 9 more or equal 6:[2]: 5.2.1.4 

Data masking

To minimize DotCode problematic symbols, the data codewords are masked to create others visual sequences. The mask pattern is applied only to data sequence and does not affect error correction codewords. DotCode standard has 4 mask pattern which are codded into 2 bits and placed as the first 2 bits of symbol bits array.[2]: 5.2.4 

DotCode Mask selection bits
Mask Bits Masking operation
Example:099 099 099 099 099 099 099 099 106
0 00 Adds successive multiples of 0 to each value, i.e., no change
(000) 099 099 099 099 099 099 099 099 106
1 01 Adds successive multiples of 3 to each value, modulo 113
(001) 099 102 105 108 111 001 004 007 017
2 10 Adds successive multiples of 7 to each value, modulo 113
(002) 099 106 000 007 014 021 028 035 049
3 11 Adds successive multiples of 17 to each value, modulo 113
(003) 099 003 020 037 054 071 088 105 016

Error correction

DotCode uses Reed–Solomon error correction[2]: 5.3  with prime power of 3 and finite field or GF(113). The data codewords is represented with values from 0 to 112 and mask value is counted as leading data codeword from 0 to 3. In this way the data protected array length is (1 + ND). But amount of error correction codewords is calculated only from ND:
,
where ND is data codewords and NC - error correction codewords.

The resulting codewords NW with error correction codewords is:
,
where NW is all encoding codewords: 1 mask codeword + data codewords(ND) + error correction codewords(NC).

Because Reed–Solomon error correction cannot correct amount of codewords which are more than polynomial, if NW happens to exceed 112, the data is split into error correction blocks:
,
where B is block counts.

The data can be split into block in the following way, for each block ‘’’n’’’, for n equals 1 to B:

The error correction data is written after single data block in scrambled mode:[16]
(ND)(NC1_1)(NC2_1)(NC3_1)...(NC1_n)(NC2_m)(NC3_k)

Encoding

DotCode encoding size is not limited by standard, but practical encoding size in 100x99 version which includes 4950 dots can encode 366 raw data codewords, 730 digits, 365 alphanumeric characters, or 304 bytes. The data message in DotCode is represented with data codewords from 0 to 112 which are encoded with 5-of-9 binary dot patterns.

DotCode supports the following features:[2]: 5.2.1 

  • Natively encodes digits or ASCII charset (between 0 and 127) with A, B and C code sets and extended ASCII values (128 to 255) with Upper Shift;
  • Effectively encodes bytes (5 bytes into 6 codewords) with Binary Latch;
  • Encodes GS1 data;[5]
  • Encodes Unicode symbols with Extended Channel Interpretation feature;
  • Supports Structured append encoding (logically using multiple barcode symbols as single data stream);
  • Supports “Macro” encoding.
Zdroj:https://en.wikipedia.org?pojem=DotCode
Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok. Podrobnejšie informácie nájdete na stránke Podmienky použitia.






Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok.
Podrobnejšie informácie nájdete na stránke Podmienky použitia.

Your browser doesn’t support the object tag.

www.astronomia.sk | www.biologia.sk | www.botanika.sk | www.dejiny.sk | www.economy.sk | www.elektrotechnika.sk | www.estetika.sk | www.farmakologia.sk | www.filozofia.sk | Fyzika | www.futurologia.sk | www.genetika.sk | www.chemia.sk | www.lingvistika.sk | www.politologia.sk | www.psychologia.sk | www.sexuologia.sk | www.sociologia.sk | www.veda.sk I www.zoologia.sk


DotCode character set
Data symbol Data symbol
Code Word Code Set A Code Set B Code Set C Dot Pattern Code Word Code Set A Code Set B Code Set C Dot Pattern
Char ASCII Char ASCII Char ASCII Char ASCII
0 SP 32 SP 32 00 101010101 57 Y 89 Y 89 57 110101100
1 ! 33 ! 33 01 010101011 58 Z 90 Z 90 58 110110010
2 " 34 " 34 02 010101101 59 91 59 110110100
3 # 35 # 35 03 010110101 60 \ 92 \ 92 60 111001010
4 $ 36 $ 36 04 011010101 61 93 93 61 111010010
5 % 37 % 37 05 101010110 62 ^ 94 ^ 94 62 111010100
6 & 38 & 38 06 101011010 63 _ 95 _ 95 63 001011110
7 ' 39 ' 39 07 101101010 64 NUL 00 ` 96 64 001101110
8 ( 40 ( 40 08 110101010 65 SOH 01 a 97 65 001110110
9 ) 41 ) 41 09 010101110 66 STX 02 b 98 66 001111010
10 * 42 * 42 10 010110110 67 ETX 03 c 99 67 010011110
11 + 43 + 43 11 010111010 68 EOT 04 d 100 68 010111100
12 , 44 , 44 12 011010110 69 ENQ 05 e 101 69 011001110
13 - 45 - 45 13 011011010 70 ACK 06 f 102 70 011011100
14 . 46 .